diff --git a/frontend/src/components/Arena.tsx b/frontend/src/components/Arena.tsx
index 85f81c4..8186b40 100644
--- a/frontend/src/components/Arena.tsx
+++ b/frontend/src/components/Arena.tsx
@@ -261,13 +261,20 @@ export default function Arena({
{predictions.map((p) => {
- const hit = p.outcome === match.result!.outcome;
+ const r = match.result!;
+ const exact = p.scoreA === r.scoreA && p.scoreB === r.scoreB;
+ const outcomeHit = p.outcome === r.outcome;
+ // 3단계: 정확(스코어까지) / 적중(승패만) / 빗나감
+ const label = exact ? t.exactHit : outcomeHit ? t.hit : t.miss;
+ const cls = exact
+ ? "rounded bg-[var(--green)]/15 px-1.5 py-0.5 font-extrabold text-[var(--green)]"
+ : outcomeHit
+ ? "font-bold text-[var(--green)]"
+ : "text-white/45";
return (
{p.model}
-
- {hit ? t.hit : t.miss}
-
+ {label}
);
})}
diff --git a/frontend/src/lib/i18n.ts b/frontend/src/lib/i18n.ts
index ca35972..0ccd1de 100644
--- a/frontend/src/lib/i18n.ts
+++ b/frontend/src/lib/i18n.ts
@@ -85,6 +85,7 @@ type Dict = {
rulesCloseBtn: string;
crowdSub: string;
finalResult: string;
+ exactHit: string;
hit: string;
miss: string;
matchEnded: string;
@@ -154,6 +155,7 @@ export const DICT: Record
= {
rulesCloseBtn: "확인",
crowdSub: "| 참여자들의 선택",
finalResult: "최종 결과",
+ exactHit: "정확 ✓",
hit: "적중 ✓",
miss: "빗나감",
matchEnded: "경기 종료 · 최종 결과",
@@ -222,6 +224,7 @@ export const DICT: Record = {
rulesCloseBtn: "Got it",
crowdSub: "| What the crowd picked",
finalResult: "Final result",
+ exactHit: "Exact ✓",
hit: "Hit ✓",
miss: "Miss",
matchEnded: "Match ended · Final",