/* 시즌 화면 — 리그 허브. 토큰(tokens.css)만 쓰고, 공통 크롬(sitebar·breadcrumb·footer·버튼)은 styles.css 를 그대로 쓴다.
   구성: 시즌 머리(이름·23경기 진행 띠) → 지금 경기 보드(방송 스코어 버그 문법) → 대진표 | 순위표 두 단.
   팀 색 규칙: 지금 경기의 앞 구단(team-a)은 --color-home, 뒤 구단(team-b)은 --color-away. 중계 화면과 같다. */

.season-page .shell{max-width:1320px;margin:0 auto}
.season-page .breadcrumb{margin-bottom:var(--sp-4)}
.season-view,.setup-view{display:grid;gap:var(--sp-5)}
.season-page .primary{background:var(--color-accent);color:var(--color-accent-ink);border:0;font-family:var(--font-emphasis);font-weight:700;min-width:168px;border-radius:var(--r-1)}
.season-page .primary:hover:not(:disabled){background:var(--color-accent);filter:brightness(1.08)}
.season-page button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.ghost-btn{min-height:34px;padding:4px 12px;font-size:var(--fs-12);border-radius:var(--r-1);color:var(--color-ink-2);justify-self:start}
.link-btn{min-height:0;padding:0;border:0;color:var(--color-accent);text-decoration:underline;font-size:inherit}

.tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;font:700 var(--fs-10)/1 var(--font-emphasis);letter-spacing:.04em;background:var(--color-surface-3);color:var(--color-ink-2);border-radius:var(--r-1);white-space:nowrap}
.tag.first{background:var(--color-signal);color:var(--color-ink);transform:skew(var(--skew))}
.tag.seed{background:transparent;border:1px solid var(--color-line-strong);color:var(--color-ink-2)}
.prime-tag.is-live{background:var(--color-signal)}

/* 상태 안내 띠 */
.season-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-left:3px solid var(--color-signal);background:var(--color-surface-2);font-size:var(--fs-13);color:var(--color-ink-2);margin-bottom:var(--sp-4)}
.season-status span{flex:1 1 280px;min-width:0}
.season-status button{min-height:34px;padding:4px 12px;font-size:var(--fs-12)}

/* ---------------------------------------------------------------- 시즌 머리 */
.season-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:var(--sp-6);align-items:end;padding-bottom:var(--sp-5);border-bottom:1px solid var(--color-line)}
.season-head-text{display:grid;gap:var(--sp-2);min-width:0}
.season-head h1,.setup-head h1{margin:0;font:400 var(--fs-40)/var(--lh-tight) var(--font-display);letter-spacing:var(--ls-display);text-wrap:balance;overflow-wrap:anywhere}
.season-sub{margin:0;color:var(--color-muted);font-size:var(--fs-13);max-width:62ch}
.season-progress{display:grid;gap:var(--sp-2)}
.progress-label{display:flex;justify-content:space-between;font:700 var(--fs-12) var(--font-emphasis);color:var(--color-ink-2);font-variant-numeric:tabular-nums}
.progress-label span:last-child{color:var(--color-accent)}
.progress-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(21,1fr) 1.6fr 2.2fr;gap:3px;height:14px}
.seg{background:var(--color-surface-3);transform:skew(var(--skew))}
.seg.round-end{margin-right:4px}
.seg.is-done{background:var(--color-ink-2)}
.seg.is-playoff,.seg.is-final{background:transparent;border:1px solid var(--color-line-strong)}
.seg.is-playoff.is-done,.seg.is-final.is-done{background:var(--color-accent);border-color:var(--color-accent)}
.seg.is-current{background:var(--color-accent);box-shadow:var(--glow-accent);animation:seg-pulse 1.6s var(--ease-out) infinite}
@keyframes seg-pulse{50%{opacity:.55}}

/* ---------------------------------------------------------------- 우승 */
.champion[hidden],.now[hidden],.journey[hidden]{display:none}

/* ---------------------------------------------------------------- 지금 경기 보드 */
.now{position:relative;display:grid;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);background:linear-gradient(115deg,var(--color-surface) 0%,var(--color-surface) 60%,var(--color-surface-2) 100%);border:1px solid var(--color-line-strong);border-radius:var(--r-frame);box-shadow:var(--shadow-hard),var(--shadow-frame)}
.now:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-line-strong)}
.now[data-state="live"]:before{background:var(--color-signal)}
.now[data-state="recover"]:before,.now[data-state="hold"]:before{background:var(--color-home)}
.now-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);font-size:var(--fs-12);color:var(--color-muted)}
.now-kicker b{font:400 var(--fs-14) var(--font-display);letter-spacing:.06em;color:var(--color-ink)}
.now-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent)}
.now[data-state="fulltime"]:before{background:var(--color-ink-2)}
.now[data-state="live"] .now-dot{background:var(--color-signal);animation:seg-pulse 1.2s infinite}
.now[data-state="fulltime"] .now-dot{background:var(--color-ink-2)}
.now[data-state="recover"] .now-dot,.now[data-state="hold"] .now-dot{background:var(--color-home)}
.now-board{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--sp-5)}
.now-team{display:flex;align-items:center;gap:var(--sp-4);min-width:0}
.now-team.away{flex-direction:row-reverse;text-align:right}
.now-team.away .now-tags{justify-content:flex-end}
.now-team-text{display:grid;gap:2px;min-width:0}
.now-team-text b{font:700 var(--fs-23)/1.2 var(--font-emphasis);overflow-wrap:anywhere}
.now-team-text small{color:var(--color-muted);font-size:var(--fs-12);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.now-tags{display:flex;gap:6px;margin-top:4px;min-height:20px}
.now-team .crest{width:64px;height:64px;flex:none;display:grid;place-items:center;font:700 var(--fs-28) var(--font-emphasis);clip-path:polygon(0 0,100% 0,100% 74%,50% 100%,0 74%)}
.now-team .crest{background:var(--club,var(--color-home));color:var(--team-ink,#121418)}
.now-team.away .crest{background:var(--club,var(--color-away))}
.now-team .crest.is-builtin,.mini-crest-txt.is-builtin{background:transparent;clip-path:none;object-fit:contain}
/* 리그 여정 (F-014 마감, docs/04 #league-journey-finish): 직전 경기 점수 줄 + 시즌 길. 우승 무대는 journey.css. */
.champion{display:block}
.journey{display:grid;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-3);box-shadow:var(--shadow-soft)}
.journey p{margin:0;color:var(--color-ink-2);font-size:var(--fs-13);line-height:var(--lh-ui)}
.journey p[hidden]{display:none}
.journey-result{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--color-line)}
.journey-result small{font:600 var(--fs-12)/1.4 var(--font-ui);color:var(--color-muted)}
.journey-result .saved{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-12);font-weight:600;color:var(--color-good-ink)}
.journey-result .saved:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--color-good)}
.scoreline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font:600 var(--fs-14)/1.3 var(--font-ui);font-variant-numeric:tabular-nums;min-width:0}
.scoreline .crest-tile{width:24px;height:24px;font-size:var(--fs-11)}
.scoreline span.crest-tile{border-radius:6px}
.scoreline .bar{width:4px;height:16px;border-radius:2px;background:var(--club,var(--color-line-strong))}
.scoreline strong{padding:4px 10px;margin:0 2px;background:var(--color-ink);color:#fff;border-radius:var(--r-1);font:400 var(--fs-14)/1 var(--font-display);letter-spacing:.04em}
.scoreline .is-win{font-weight:700;color:var(--color-ink)}
.scoreline .is-lose{color:var(--color-muted)}
.stations{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:2.4fr 1fr 1fr .8fr}
.stations.is-short{grid-template-columns:2.6fr 1.4fr .8fr}
.stations li{position:relative;display:grid;align-content:start;gap:4px;padding-top:24px;min-width:0}
.stations li:before{content:'';position:absolute;left:0;right:0;top:6px;height:3px;background:var(--color-line)}
.stations li:after{content:'';position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:var(--color-surface);border:3px solid var(--color-line-strong)}
.stations li.done:before{background:var(--color-ink)}
.stations li.done:after{background:var(--color-ink);border-color:var(--color-ink)}
.stations li.here:before{background:linear-gradient(90deg,var(--color-accent) var(--fill,0%),var(--color-line) var(--fill,0%))}
.stations li.here:after{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 0 5px #1f3dff26}
.stations li.is-hold:after{background:var(--color-home);border-color:var(--color-home);box-shadow:none}
.stations li:last-child:before{display:none}
.stations li.crown:after{width:13px;height:13px;border-radius:3px;rotate:45deg}
.stations b{font:700 var(--fs-14)/1.3 var(--font-emphasis);color:var(--color-ink)}
.stations li.here b{color:var(--color-accent)}
.stations span{font-size:var(--fs-12);line-height:1.4;color:var(--color-muted);overflow-wrap:anywhere}
.journey-links{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);flex-wrap:wrap}
.journey-links a,.journey-links button{font-size:var(--fs-13)}
.journey-links .link-btn{color:var(--color-accent);font-weight:700}
.journey-links button{border-radius:var(--r-1)}
.journey-links[hidden],.journey-result[hidden]{display:none}

/* 플레이오프·결승 카드: 시즌의 큰 경기라 방송 프레임으로 올린다 */
.now.is-bigmatch{padding:var(--sp-6) var(--sp-7);color:var(--color-stage-ink);border:0;
  background:radial-gradient(60% 120% at 50% 0%,color-mix(in srgb,var(--color-pitch) 80%,transparent),transparent 70%),repeating-linear-gradient(90deg,var(--color-pitch-grid) 0 1px,transparent 1px 44px),repeating-linear-gradient(0deg,var(--color-pitch-grid) 0 1px,transparent 1px 44px),var(--color-stage)}
.now.is-bigmatch:before{display:none}
.now.is-bigmatch .now-kicker{color:var(--color-stage-muted)}
.now.is-bigmatch .now-kicker b{font-size:var(--fs-19);letter-spacing:.1em;color:#fff}
.now.is-bigmatch.is-final .now-kicker b{color:var(--color-cast)}
.now.is-bigmatch .now-dot{background:var(--color-signal);box-shadow:0 0 0 4px #ff3c2e2e}
.now.is-bigmatch .now-team-text b{color:#fff;font-size:var(--fs-28)}
.now.is-bigmatch .now-team-text small{color:var(--color-stage-muted)}
.now.is-bigmatch .now-team .crest{width:84px;height:84px}
.now.is-bigmatch .now-team .crest.is-builtin{width:96px;height:96px;filter:drop-shadow(0 10px 16px #00000080)}
.now.is-bigmatch .now-score{background:transparent;border-color:transparent;color:#fff;font-size:var(--fs-48);text-shadow:0 0 24px #6f9bff99}
.now.is-bigmatch .now-score b{color:#fff}
.now.is-bigmatch .now-foot{border-color:var(--color-stage-line)}
.now.is-bigmatch .now-note{color:var(--color-stage-muted)}
.now.is-bigmatch .tag{background:#ffffff1f;color:var(--color-stage-ink)}
.now.is-bigmatch .tag.first{background:var(--color-signal);color:#fff}
.now.is-bigmatch .tag.seed-tag{background:var(--club,var(--color-accent));color:var(--team-ink)}
.now.is-bigmatch #nowSecondary{background:#0b132699;color:var(--color-stage-ink);border-color:#ffffff38}
.now.is-bigmatch #nowSecondary:hover:not(:disabled){background:#14213dcc;border-color:#ffffff80}
.now.is-bigmatch #nowPrimary{min-height:52px;box-shadow:0 10px 30px #1f3dff66}
/* The light shell uses ink for text; team identity remains in crests and colour bars. */
.now-team .now-team-text b{color:var(--color-ink)}
.now-score{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);background:var(--color-bg);border:1px solid var(--color-line);font:400 var(--fs-28) var(--font-display);color:var(--color-muted);transform:skew(var(--skew-soft));font-variant-numeric:tabular-nums}
.now-score b{font:700 var(--fs-40)/1 var(--font-emphasis);color:var(--color-ink);min-width:1ch;text-align:center}
.now-score i{font-style:normal;color:var(--color-muted)}
.now-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--color-line)}
.now-note{flex:1 1 360px;margin:0;color:var(--color-ink-2);font-size:var(--fs-13);max-width:72ch;min-width:0}
.now-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.now-actions button{border-radius:var(--r-1)}
.recovery{display:grid;gap:4px;padding:var(--sp-3) var(--sp-4);background:color-mix(in srgb,var(--color-home) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-home) 33%,transparent);border-radius:var(--r-1)}
.recovery b{color:var(--color-ink);font:700 var(--fs-13) var(--font-emphasis)}
.recovery p{margin:0;font-size:var(--fs-13);color:var(--color-ink-2);max-width:80ch}
.now-ack{display:flex;gap:var(--sp-2);align-items:center;font-size:var(--fs-12);color:var(--color-ink-2)}
.now-ack input{accent-color:var(--color-signal);width:16px;height:16px}
.tie-list{display:flex;flex-wrap:wrap;gap:6px}

/* ---------------------------------------------------------------- 두 단 */
.season-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--sp-5);align-items:start}
.panel{display:grid;gap:var(--sp-4);padding:var(--sp-5);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-0);min-width:0}
.panel.table{box-shadow:var(--shadow-hard)}
.panel-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}
.panel-head h2{margin:0;font:700 var(--fs-16) var(--font-emphasis)}
.panel-head small{color:var(--color-muted);font-size:var(--fs-11)}

.round-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}
.round-tabs button{min-height:34px;min-width:44px;padding:4px 10px;border-radius:0;border-color:var(--color-line);font:700 var(--fs-12) var(--font-emphasis);color:var(--color-muted);transform:skew(var(--skew))}
.round-tabs button.is-done{color:var(--color-ink-2)}
.round-tabs button.is-current{border-color:var(--color-accent);color:var(--color-accent)}
.round-tabs button[aria-selected="true"]{background:var(--color-surface-3);color:var(--color-ink);border-color:var(--color-line-strong)}
.round-tabs button.is-current[aria-selected="true"]{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}

.fixture-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fixture{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr) 72px;align-items:center;gap:var(--sp-3);min-height:48px;padding:0 var(--sp-3);background:var(--color-surface-2);border:1px solid transparent}
.fixture.is-current{border-color:var(--color-accent);background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 6%,transparent),var(--color-surface-2) 40%)}
.fixture.is-bye{grid-template-columns:minmax(0,1fr) 72px;background:transparent;border:1px dashed var(--color-line);color:var(--color-muted)}
.fx-club{display:flex;align-items:center;gap:var(--sp-2);min-width:0;color:var(--color-ink-2)}
.fx-club.away{flex-direction:row-reverse;text-align:right}
.fx-club.is-win{color:var(--color-ink)}
.fx-club.is-win .fx-name{font-weight:700}
.fx-first{flex:none;font:700 9px var(--font-emphasis);color:var(--color-signal);white-space:nowrap}
.fx-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-13)}
.mini-crest-txt{width:24px;height:24px;flex:none;display:grid;place-items:center;background:var(--club,var(--color-surface-3));color:var(--team-ink,#121418);font:700 var(--fs-11) var(--font-emphasis);clip-path:polygon(0 0,100% 0,100% 74%,50% 100%,0 74%)}
.fx-score{display:flex;justify-content:center;gap:6px;font:700 var(--fs-16) var(--font-emphasis);color:var(--color-muted);font-variant-numeric:tabular-nums}
.fx-score b{color:var(--color-ink)}
.fx-state{justify-self:end;font:700 var(--fs-10) var(--font-emphasis);letter-spacing:.04em;padding:3px 8px;border-radius:var(--r-1);background:var(--color-surface-3);color:var(--color-muted);white-space:nowrap}
.fx-state.live{background:var(--color-signal);color:var(--color-ink)}
.fx-state.next{background:var(--color-accent);color:var(--color-accent-ink)}
.fx-state.done{background:transparent;color:var(--color-muted);border:1px solid var(--color-line)}
.fx-state.bye{background:transparent}

/* PO 사다리 */
.ladder{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,.8fr);align-items:center}
.rung{display:grid;gap:6px;padding:var(--sp-3);background:var(--color-surface-2);border:1px solid var(--color-line);min-width:0}
.rung.is-current{border-color:var(--color-accent)}
.rung-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2)}
.rung-head b{font:400 var(--fs-12) var(--font-display);letter-spacing:.06em}
.rung-club{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);min-height:30px;color:var(--color-ink-2)}
.rung-club b{font:700 var(--fs-16) var(--font-emphasis);font-variant-numeric:tabular-nums;color:var(--color-ink)}
.rung-club.is-win{color:var(--color-ink)}
.rung-club.is-win .fx-name{font-weight:700;color:var(--color-ink)}
.rung-club.is-first .fx-name:after{content:'선공';margin-left:6px;font:700 9px var(--font-emphasis);color:var(--color-signal)}
.rung-seed{font:700 var(--fs-10) var(--font-emphasis);color:var(--color-muted);text-align:center;border:1px solid var(--color-line);padding:2px 0}
.rung small{color:var(--color-muted);font-size:var(--fs-11)}
.rung-link{height:2px;background:var(--color-line-strong)}
.rung-crown{text-align:center;border-color:var(--color-line-strong)}
.rung-crown .rung-club{grid-template-columns:1fr;justify-items:center}
.rung-crown.is-done{border-color:var(--color-ink-2)}

/* 순위표 */
.table-wrap{overflow-x:auto}
.standings{width:100%;border-collapse:collapse;font-size:var(--fs-13);font-variant-numeric:tabular-nums}
.standings th{font:700 var(--fs-10) var(--font-emphasis);letter-spacing:.04em;color:var(--color-muted);text-align:center;padding:0 6px 8px;border-bottom:1px solid var(--color-line-strong)}
.standings td{text-align:center;padding:0 6px;height:44px;border-bottom:1px solid var(--color-line);color:var(--color-ink-2)}
.standings .club-col{text-align:left;width:46%}
.standings .club-cell{display:flex;align-items:center;gap:var(--sp-2);min-width:0}
.standings td.club-col{max-width:0}
.standings td.rank{font:700 var(--fs-14) var(--font-emphasis);color:var(--color-muted);width:32px}
.standings tr.is-top td.rank{color:var(--color-ink)}
.standings td.pts{font:700 var(--fs-16) var(--font-emphasis);color:var(--color-ink)}
.standings tr.cut td{border-bottom:2px solid var(--color-line-strong)}
.standings tr.cut + tr td{padding-top:2px}
.standings tr.is-playing td{background:var(--color-surface-2)}
.standings tr.is-playing .fx-name{color:var(--color-ink);font-weight:600}
.standings tr.is-tied td.rank{color:var(--color-ink)}
.standings tr.is-champion .fx-name{color:var(--color-ink);font-weight:700}
.standings .mvp-col{text-align:left;color:var(--color-muted);font-size:var(--fs-12);white-space:nowrap}
.standings th.mvp-col{text-align:left}
.table-note{margin:0;font-size:var(--fs-12);color:var(--color-muted)}

/* ---------------------------------------------------------------- 새 시즌 */
.setup-head{display:grid;gap:var(--sp-2);padding-bottom:var(--sp-5);border-bottom:1px solid var(--color-line)}
.resume-list ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-2)}
.season-pick{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:var(--sp-3);text-align:left;border-radius:var(--r-1);background:var(--color-surface-2);padding:var(--sp-3) var(--sp-4)}
.season-pick b{font:700 var(--fs-14) var(--font-emphasis);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.season-pick small{grid-column:1;color:var(--color-muted);font-size:var(--fs-11)}
.season-pick .go{grid-row:1 / span 2;grid-column:2;align-self:center;font:700 var(--fs-12) var(--font-emphasis);color:var(--color-accent)}
.season-pick.is-done .go{color:var(--color-muted)}
/* 저장된 시즌 삭제: 카드 오른쪽 휴지통 → 같은 자리에서 확인(빨간 '시즌 삭제'). 8개 상한은 머리에 숫자로. */
.season-item{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:4px}
.season-trash{min-height:0;padding:0;border-radius:var(--r-1);background:var(--color-surface-2);color:var(--color-muted);display:grid;place-items:center}
.season-trash:before{content:'';width:15px;height:15px;background:currentColor;-webkit-mask:var(--icon-trash) center/contain no-repeat;mask:var(--icon-trash) center/contain no-repeat}
.season-trash:hover:not(:disabled){color:var(--color-bad);background:color-mix(in srgb,var(--color-bad) 10%,var(--color-surface-2))}
.season-remove{display:grid;gap:6px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-1);border:1px solid color-mix(in srgb,var(--color-bad) 45%,transparent);background:color-mix(in srgb,var(--color-bad) 6%,var(--color-surface))}
.season-remove p{margin:0;font-size:var(--fs-13)}
.season-remove p b{font-family:var(--font-emphasis)}
.season-remove small{color:var(--color-ink-2);font-size:var(--fs-11);line-height:1.5}
.season-remove-actions{display:flex;justify-content:flex-end;gap:var(--sp-2)}
.season-page .danger-btn,.danger-btn{min-height:34px;padding:4px 14px;border:0;border-radius:var(--r-1);background:var(--color-bad);color:#fff;font:700 var(--fs-12) var(--font-emphasis)}
.season-page .danger-btn:hover:not(:disabled){background:var(--color-bad);filter:brightness(1.08)}
.season-count{font-variant-numeric:tabular-nums}
.season-count.is-full{color:var(--color-bad);font-weight:700}
.resume-list{--icon-trash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 1.5h4l.5 1H14v1.5H2V2.5h3.5zM3.2 5h9.6l-.7 9a1 1 0 0 1-1 .9H4.9a1 1 0 0 1-1-.9zm3 1.6v6h1.3v-6zm2.3 0v6h1.3v-6z'/%3E%3C/svg%3E")}
/* 새 시즌 개막: 시즌 머리의 가장 강한 버튼. 중계 GO!처럼 기운 울트라마린 판 + 시그널 레드 'SEASON OPENING' 딱지
   + 금빛 테두리 + 오른쪽 팀 색 꽃가루, 몇 초마다 빛이 한 번 훑는다. */
.opening-btn{--gold:#ffd66b;justify-self:start;margin-left:8px;position:relative;min-height:0;padding:0;border:0;background:none;transform:skewX(-8deg);border-radius:var(--r-1);cursor:pointer;filter:drop-shadow(0 10px 18px color-mix(in srgb,var(--color-accent) 40%,transparent));transition:transform .18s cubic-bezier(.2,.9,.3,1.3)}
.opening-face{position:relative;display:grid;justify-items:start;gap:2px;padding:12px 64px 11px 22px;border-radius:var(--r-1);overflow:hidden;color:#fff;text-align:left;
  background:radial-gradient(circle at 88% 20%,var(--team-8,#f5d63d) 0 3px,transparent 4px),radial-gradient(circle at 95% 52%,var(--team-3,#ff7aa8) 0 3px,transparent 4px),radial-gradient(circle at 86% 78%,var(--team-13,#8ff0cf) 0 2.5px,transparent 3.5px),radial-gradient(circle at 93% 32%,var(--team-14,#b4e04a) 0 2px,transparent 3px),radial-gradient(circle at 97% 86%,var(--team-1,#e8a317) 0 2.5px,transparent 3.5px),radial-gradient(circle at 90% 66%,var(--team-18,#9a68ff) 0 2px,transparent 3px),
    linear-gradient(115deg,var(--color-accent) 0 58%,#1428c8);box-shadow:inset 0 0 0 2px var(--gold),inset 0 0 0 4px color-mix(in srgb,var(--gold) 25%,transparent)}
.opening-face>*{transform:skewX(8deg)}
.opening-tag{margin-bottom:3px;padding:3px 7px 2px;background:var(--color-signal);color:#fff;font:400 10px/1 var(--font-display);letter-spacing:.12em;border-radius:2px}
.opening-face b{font:400 26px/1.05 var(--font-display);letter-spacing:.01em;text-shadow:0 2px 0 #0004}
.opening-face small{font-size:var(--fs-11);color:#ffffffd0}
.opening-face:after{content:'';position:absolute;inset:0 auto 0 -50%;width:34%;background:linear-gradient(90deg,transparent,#ffffff66,transparent);transform:skewX(-12deg);animation:opening-sweep 3.2s ease-in-out 1s infinite}
@keyframes opening-sweep{0%,55%{left:-50%}100%{left:130%}}
.opening-btn:hover:not(:disabled){transform:skewX(-8deg) scale(1.04);background:none}
.opening-btn:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}
@media (max-width:560px){.opening-face{padding:10px 48px 9px 18px}.opening-face b{font-size:22px}}
@media (prefers-reduced-motion: reduce){.opening-btn{transition:none}.opening-btn:hover:not(:disabled){transform:skewX(-8deg)}.opening-face:after{animation:none;display:none}}
.head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3) var(--sp-4)}
/* 연습경기: 개막 버튼 옆 동생 버튼. 같은 기울기의 어두운 경기장 판에 흰 분필 점선(연습 구장 라인) + 노란 PRACTICE 딱지.
   개막보다 작고 빛 훑기는 없다. */
.practice-btn{justify-self:start;margin-left:8px;position:relative;min-height:0;padding:0;border:0;background:none;transform:skewX(-8deg);border-radius:var(--r-1);cursor:pointer;filter:drop-shadow(0 8px 14px color-mix(in srgb,var(--color-stage) 30%,transparent));transition:transform .18s cubic-bezier(.2,.9,.3,1.3)}
.practice-face{position:relative;display:grid;justify-items:start;gap:2px;padding:9px 40px 8px 18px;border-radius:var(--r-1);overflow:hidden;color:var(--color-stage-ink,#eef2f8);text-align:left;
  background:radial-gradient(circle at 100% 50%,transparent 0 17px,#ffffff59 17px 18.5px,transparent 19.5px),linear-gradient(90deg,transparent calc(100% - 1.5px),#ffffff59 0) right 28px top 0/100% 100% no-repeat,
    linear-gradient(115deg,var(--color-stage,#0b1326) 0 60%,#1d2a4d);box-shadow:inset 0 0 0 1.5px #ffffff2e}
.practice-face:before{content:'';position:absolute;inset:4px;border:1.5px dashed #ffffff40;border-radius:2px;pointer-events:none}
.practice-face>*{transform:skewX(8deg)}
.practice-tag{margin-bottom:2px;padding:3px 7px 2px;background:var(--color-cast,#f5c33b);color:#121418;font:400 10px/1 var(--font-display);letter-spacing:.12em;border-radius:2px}
.practice-face b{font:400 20px/1.05 var(--font-display);letter-spacing:.01em}
.practice-face small{font-size:var(--fs-11);color:#ffffffb8}
.practice-btn:hover:not(:disabled){transform:skewX(-8deg) scale(1.04);background:none}
.practice-btn:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}
.practice-btn[hidden],.season-only[hidden]{display:none!important}
.practice-vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;background:var(--color-stage,#0b1326);color:var(--color-stage-ink,#eef2f8);border-radius:var(--r-1);overflow:hidden}
.vs-slot{display:flex;align-items:center;gap:var(--sp-3);min-width:0;padding:var(--sp-3) var(--sp-4);border-left:6px solid var(--club,#ffffff30);background:linear-gradient(90deg,color-mix(in srgb,var(--club,transparent) 28%,transparent),transparent 80%)}
.vs-slot.away{flex-direction:row-reverse;text-align:right;border-left:0;border-right:6px solid var(--club,#ffffff30);background:linear-gradient(270deg,color-mix(in srgb,var(--club,transparent) 28%,transparent),transparent 80%)}
.vs-slot span{display:grid;min-width:0}
.vs-slot small{font-size:var(--fs-11);color:#ffffffa0}
.vs-slot b{font:400 var(--fs-20,20px)/1.2 var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vs-slot.is-empty b{font:var(--fs-14) var(--font-ui);color:#ffffff80}
.vs-crest{width:44px;height:44px;flex:none;object-fit:contain}
.vs-mark{align-self:center;padding:0 var(--sp-3);font:400 28px/1 var(--font-display);font-style:normal;color:var(--color-cast,#f5c33b);transform:skewX(-8deg)}
.practice-vs[hidden]{display:none}
@media (max-width:560px){.vs-slot{padding:var(--sp-2) var(--sp-3);gap:var(--sp-2)}.vs-crest{width:32px;height:32px}.vs-slot b{font-size:14px;white-space:normal;line-height:1.15;word-break:keep-all}.vs-slot{flex-direction:column;align-items:flex-start;text-align:left}.vs-slot.away{flex-direction:column;align-items:flex-end;text-align:right}.vs-mark{font-size:20px;padding:0 6px}}
.setup-view.is-practice .setup-row{grid-template-columns:minmax(0,360px)}
@media (prefers-reduced-motion: reduce){.practice-btn{transition:none}.practice-btn:hover:not(:disabled){transform:skewX(-8deg)}}
#pickCount{font:700 var(--fs-12) var(--font-emphasis);color:var(--color-muted)}
#pickCount.is-full{color:var(--color-accent)}
#pickCount.is-over{color:var(--color-bad)}
/* Season format (C-015): five clubs by default, seven with the playoff. Fixed once the season opens. */
.format-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}
.format-pick{border-radius:var(--r-0)!important;display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--sp-3);row-gap:var(--sp-2);align-items:center;text-align:left;padding:var(--sp-3) var(--sp-4);background:var(--color-surface-2);border:1px solid var(--color-line);color:var(--color-ink)}
.format-pick .fp-num{grid-row:1 / span 2;width:56px;height:64px;display:grid;place-items:center;border:2px solid var(--color-line-strong);font:400 40px/1 var(--font-display);transform:skew(var(--skew));color:var(--color-ink-2)}
.format-pick .fp-text{display:grid;gap:2px;min-width:0}
.format-pick .fp-text b{font:700 var(--fs-16) var(--font-emphasis)}
.format-pick .fp-text em{margin-left:6px;padding:1px 6px;font:700 var(--fs-11) var(--font-emphasis);font-style:normal;background:var(--color-ink);color:var(--color-surface);vertical-align:2px}
.format-pick .fp-text small{color:var(--color-muted);font-size:var(--fs-12)}
.fp-route{display:flex;gap:3px;min-width:0}
.fp-route i{height:20px;display:grid;place-items:center;padding:0 8px;font:700 var(--fs-11)/1 var(--font-emphasis);font-style:normal;white-space:nowrap;background:var(--color-surface-3);color:var(--color-ink-2);border:1px solid var(--color-line)}
.fp-route .reg{flex:1}
.fp-route .po{background:var(--color-surface);border-style:dashed}
.fp-route .fin{background:var(--color-stage);color:var(--color-stage-ink);border-color:transparent}
.fp-route .cup{background:var(--color-cast);color:#121418;border-color:transparent}
.format-pick[aria-checked="true"]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 9%,transparent),var(--color-surface-2) 70%)}
.format-pick[aria-checked="true"] .fp-num{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}
.format-pick:hover:not(:disabled):not([aria-checked="true"]){background:var(--color-surface-3);border-color:var(--color-line-strong)}
.format-pick:disabled{opacity:.45;cursor:not-allowed}
.format-pick:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.setup-over{margin:0;padding:var(--sp-3) var(--sp-4);border-left:3px solid var(--color-bad);background:color-mix(in srgb,var(--color-bad) 7%,transparent);font-size:var(--fs-13);color:var(--color-ink)}
.club-browser{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:var(--sp-4);align-items:start}
.club-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));align-content:start;gap:var(--sp-2)}
/* 참가 구단 타일: 한눈에 고르는 판. 누르면 옆 상세(스카우팅 리포트)가 열리고, 다시 누르거나 오른쪽 위 칸으로 선택. */
.club-tile{position:relative;min-width:0}
.tile-open{border-radius:var(--r-0)!important;width:100%;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:var(--sp-3);text-align:left;min-height:76px;padding:var(--sp-2) 44px var(--sp-2) var(--sp-3);background:var(--color-surface-2);border:1px solid var(--color-line);box-shadow:inset 3px 0 0 var(--club,var(--color-line-strong));color:var(--color-ink)}
.tile-crest{width:44px;height:44px;display:grid;place-items:center;background:var(--club,var(--color-surface-3));color:var(--team-ink,#121418);font:700 var(--fs-19) var(--font-emphasis);clip-path:polygon(0 0,100% 0,100% 74%,50% 100%,0 74%)}
.tile-crest.is-builtin{background:transparent;clip-path:none;object-fit:contain}
.tile-text{display:grid;min-width:0}
.tile-text b{font:700 var(--fs-14) var(--font-emphasis);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile-text small{color:var(--color-muted);font-size:var(--fs-11);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile-text .actors{color:var(--color-ink-2)}
.tile-open:hover{background:var(--color-surface-3)}
/* '내 구단 만들기': 구단 타일과 같은 크기·자리, 점선 테두리와 + 마크로 빈 자리임을 보인다. */
.make-tile .tile-open{text-decoration:none;background:transparent;border:1.5px dashed var(--color-accent);box-shadow:none;padding-right:var(--sp-3)}
.make-tile .tile-crest{background:var(--color-accent-soft);color:var(--color-accent);font:400 var(--fs-23) var(--font-emphasis)}
.make-tile .tile-text b{color:var(--color-accent)}
.make-tile .tile-open:hover{background:var(--color-accent-soft);border-style:solid}
.tile-open:focus-visible,.tile-check:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}
.tile-check{position:absolute;top:8px;right:8px;width:26px;height:26px;min-height:0;padding:0;display:grid;place-items:center;border-radius:var(--r-0)!important;background:var(--color-surface);border:1.5px solid var(--color-line-strong);font:700 var(--fs-12) var(--font-emphasis);color:var(--color-accent-ink)}
.tile-check:hover:not(:disabled){border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface))}
.tile-check:disabled{opacity:.35;cursor:not-allowed}
.club-tile.is-open .tile-open{border-color:var(--color-ink);box-shadow:inset 3px 0 0 var(--club,var(--color-line-strong)),0 0 0 1px var(--color-ink);background:var(--color-surface)}
.club-tile.is-on .tile-open{border-color:var(--color-accent);background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 8%,transparent),var(--color-surface-2) 60%)}
.club-tile.is-on.is-open .tile-open{box-shadow:inset 3px 0 0 var(--club,var(--color-line-strong)),0 0 0 1px var(--color-accent)}
.club-tile.is-on .tile-check{background:var(--color-accent);border-color:var(--color-accent)}
.club-tile.is-extra .tile-open{border-color:var(--color-bad);border-style:dashed;background:color-mix(in srgb,var(--color-bad) 6%,var(--color-surface-2))}
.club-tile.is-extra .tile-check{background:transparent;color:var(--color-bad);border-color:var(--color-bad)}
/* 스카우팅 리포트 */
.scout-panel{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--sp-4));display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 2 * var(--sp-4));background:var(--color-surface);border:1.5px solid var(--color-ink);box-shadow:inset 0 4px 0 var(--club,var(--color-ink))}
.scout-panel.is-empty{display:block;border:1px dashed var(--color-line-strong);box-shadow:none;background:transparent}
.scout-empty{margin:0;padding:var(--sp-5) var(--sp-4);font-size:var(--fs-13);line-height:1.7;color:var(--color-muted)}
.scout-head{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:var(--sp-3);align-items:center;padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--color-line)}
.scout-crest{width:72px;height:72px;display:grid;place-items:center;background:var(--club,var(--color-surface-3));color:var(--team-ink,#121418);font:700 var(--fs-28) var(--font-emphasis);clip-path:polygon(0 0,100% 0,100% 74%,50% 100%,0 74%)}
.scout-crest.is-builtin{background:transparent;clip-path:none;object-fit:contain}
.scout-name{display:grid;gap:2px;min-width:0}
.scout-name small{font:700 var(--fs-10) var(--font-emphasis);letter-spacing:.1em;color:var(--color-muted)}
.scout-name h3{margin:0;font:700 var(--fs-19)/1.25 var(--font-emphasis);overflow-wrap:anywhere}
.scout-name p{margin:0;font-size:var(--fs-12);line-height:1.4;color:var(--color-muted)}
.scout-close{align-self:start;min-height:0;padding:4px 10px;font-size:var(--fs-12)}
.scout-body{overflow:auto;padding:var(--sp-3) var(--sp-4);display:grid;align-content:start;gap:var(--sp-3);overscroll-behavior:contain}
.scout-facts{margin:0;display:grid;gap:8px}
.scout-facts div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--sp-2)}
.scout-facts dt{font:700 var(--fs-11)/1.7 var(--font-emphasis);color:var(--color-muted)}
.scout-facts dd{margin:0;font-size:var(--fs-13);line-height:1.6;color:var(--color-ink)}
.scout-sub{margin:var(--sp-2) 0 0;padding-top:var(--sp-3);border-top:1px solid var(--color-line);font:700 var(--fs-12) var(--font-emphasis);color:var(--color-muted)}
.scout-roster{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3)}
.scout-roster li{display:grid;gap:4px}
.scout-roster p{margin:0;font-size:var(--fs-12);line-height:1.6;color:var(--color-ink-2)}
.scout-roster em{font-style:normal;font:700 var(--fs-11) var(--font-emphasis);color:var(--color-muted);margin-right:6px}
.scout-player{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.scout-player b{font:700 var(--fs-14) var(--font-emphasis)}
.scout-player .cc-avatar{width:26px;height:26px;font-size:var(--fs-12)}
.scout-player .cc-sprite{width:32px;height:32px;margin:-3px 0;border-radius:var(--r-2);background:var(--color-stage) no-repeat 0 0/200% 400%;image-rendering:pixelated}
.scout-temper{color:var(--color-ink)!important;font-size:var(--fs-13)!important}
.scout-meta{color:var(--color-muted)!important}
.scout-muted{margin:0;font-size:var(--fs-13);color:var(--color-muted)}
.scout-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--color-line);background:var(--color-surface-2)}
.scout-foot span{font-size:var(--fs-12);color:var(--color-ink-2);min-width:0}
.scout-pick{flex:none;min-height:42px;padding:0 var(--sp-4)}
.cc-avatar{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--club,var(--color-surface-3)) 55%,var(--color-surface));color:var(--team-ink,#121418);font:700 var(--fs-14) var(--font-emphasis)}
.cc-chip{padding:1px 7px;font:700 var(--fs-11)/1.6 var(--font-emphasis);background:var(--color-ink);color:var(--color-surface)}
.setup-empty{margin:0;padding:var(--sp-3) var(--sp-4);border:1px dashed var(--color-line-strong);color:var(--color-ink-2);font-size:var(--fs-13)}
.setup-empty a{color:var(--color-accent)}
.setup-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--sp-4)}
.field{display:grid;gap:6px;font-size:var(--fs-12);color:var(--color-muted)}
.field input,.field select{min-height:44px;padding:0 var(--sp-3);background:var(--color-surface-3);color:var(--color-ink);border:1px solid var(--color-line);border-radius:var(--r-1);font:var(--fs-14) var(--font-ui)}
.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}
.setup-hint{margin:0;font-size:var(--fs-12);color:var(--color-ink-2)}
.setup-error{margin:0;padding:var(--sp-3) var(--sp-4);border-left:3px solid var(--color-bad);background:color-mix(in srgb,var(--color-bad) 8%,transparent);font-size:var(--fs-13)}
.setup-actions{display:flex;justify-content:flex-end;gap:var(--sp-2)}

.season-page.booting .shell main{visibility:hidden}

@media (max-width: 960px){
  .season-head{grid-template-columns:1fr}
  .season-grid{grid-template-columns:1fr}
}
@media (max-width: 600px){
  .season-head h1,.setup-head h1{font-size:var(--fs-28)}
  .now{padding:var(--sp-4)}
  .now-board{grid-template-columns:1fr;gap:var(--sp-3)}
  .now-team.away{flex-direction:row;text-align:left}
  .now-team.away .now-tags{justify-content:flex-start}
  .now-team .crest{width:44px;height:44px;font-size:var(--fs-19)}
  .now-team-text b{font-size:var(--fs-19)}
  .now.is-bigmatch{padding:var(--sp-5)}
  .now.is-bigmatch .now-team .crest{width:56px;height:56px}
  .now.is-bigmatch .now-team-text b{font-size:var(--fs-19)}
  .journey{padding:var(--sp-4)}
  .journey-result .saved{margin-left:0}
  .stations{grid-template-columns:1.6fr 1fr 1fr .7fr}
  .stations.is-short{grid-template-columns:1.8fr 1.2fr .7fr}
  .stations span{display:none}
  .now-score{justify-self:start;padding:var(--sp-1) var(--sp-4)}
  .now-score b{font-size:var(--fs-28)}
  .now-actions{width:100%}
  .season-page .demo-pill{display:none}
  .now-actions button{flex:1 1 auto}
  .fixture{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);row-gap:0;padding:var(--sp-2)}
  .fixture .fx-state{grid-column:1 / -1;justify-self:start;margin-top:4px}
  .fixture.is-bye{grid-template-columns:minmax(0,1fr) auto}
  .fixture.is-bye .fx-state{grid-column:auto;margin:0}
  .ladder{grid-template-columns:1fr;gap:0}
  .rung-link{width:2px;height:16px;justify-self:center}
  .setup-row{grid-template-columns:1fr}
  .format-picks{grid-template-columns:1fr}
  .club-browser{grid-template-columns:1fr}
  .scout-panel.is-empty{display:none}
  .scout-panel{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:30;max-height:72vh;border-width:1.5px 0 0;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:inset 0 4px 0 var(--club,var(--color-ink)),0 -18px 40px #0b132640}
  .scout-head{padding-left:max(var(--sp-4),env(safe-area-inset-left,0px));padding-right:max(var(--sp-4),env(safe-area-inset-right,0px))}
  .standings th:nth-child(3),.standings td:nth-child(3){display:none}
}
@media (prefers-reduced-motion: reduce){
  .seg.is-current,.now[data-state="live"] .now-dot{animation:none}
}

/* 구단 색 막대 — 순위표·대진의 구단 이름 앞 3px (디자인 시스템 TeamPalette) */
.fx-club .fx-name,.standings .club-cell .fx-name{border-left:3px solid var(--club,transparent);padding-left:6px}
.fx-club.away .fx-name{border-left:0;padding-left:0;border-right:3px solid var(--club,transparent);padding-right:6px}

/* 득점 순위 */
.scorers{display:grid;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--color-line)}
.scorers h3{margin:0;font:700 var(--fs-14) var(--font-emphasis)}
.scorers ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.scorers li{display:grid;grid-template-columns:24px minmax(0,1fr) repeat(3,64px);align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-2);background:var(--color-surface-2);border-left:3px solid var(--club,var(--color-line))}
.sc-rank{font:700 var(--fs-14) var(--font-emphasis);color:var(--color-muted);text-align:center}
.sc-name{display:grid;min-width:0}
.sc-name b{font:700 var(--fs-13) var(--font-emphasis);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-name small{font-size:var(--fs-11);color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-num{display:grid;justify-items:end;font-variant-numeric:tabular-nums}
.sc-num b{font:700 var(--fs-16) var(--font-emphasis)}
.sc-num small{font-size:var(--fs-10);color:var(--color-muted)}
@media (max-width: 600px){
  .scorers li{grid-template-columns:20px minmax(0,1fr) 44px 52px}
  .scorers li .sc-num:last-child{display:none}
  .standings .mvp-col{display:none}
}
/* 문제 해결 · 초기화: 페이지 맨 아래 접힌 작은 글줄. 열면 두 줄, 누르면 그 줄에서 확인. */
.troubleshoot{margin-top:var(--sp-5);color:var(--color-muted);font-size:var(--fs-12)}
.troubleshoot summary{cursor:pointer;width:max-content;padding:4px 0;color:var(--color-muted)}
.troubleshoot summary:hover{color:var(--color-ink-2)}
.troubleshoot-body{display:grid;gap:var(--sp-2);margin-top:var(--sp-2);max-width:720px}
.troubleshoot-body>p{margin:0}
.reset-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--color-line);border-radius:var(--r-1);background:var(--color-surface)}
.reset-row>div:first-child{display:grid;gap:2px;min-width:0}
.reset-row b{color:var(--color-ink);font-size:var(--fs-13)}
.reset-row small{font-size:var(--fs-11);line-height:1.5}
.reset-row.is-asking{border-color:color-mix(in srgb,var(--color-bad) 45%,transparent);background:color-mix(in srgb,var(--color-bad) 6%,var(--color-surface))}
.reset-actions{display:flex;gap:var(--sp-2);flex:none}
@media (max-width:560px){.reset-row{flex-direction:column;align-items:stretch}.reset-actions{justify-content:flex-end}}
