:root {
  color-scheme: dark;
  --ink: #090b0d;
  --ink-2: #0d1013;
  --surface: #11151a;
  --surface-2: #151a20;
  --surface-3: #1b2128;
  --line: #2a3139;
  --line-soft: rgba(255, 255, 255, 0.085);
  --gold: #d9a43b;
  --gold-bright: #efbd57;
  --gold-dark: #8f6725;
  --cream: #f3eee3;
  --muted: #9ca5af;
  --green: #55c995;
  --red: #e77b70;
  --blue: #79aee7;
  --radius: 10px;
  --shadow: 0 18px 54px rgba(0, 0, 0, 0.32);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html { background: var(--ink); }

body {
  margin: 0;
  min-width: 0;
  min-height: 100vh;
  color: var(--cream);
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px),
    radial-gradient(circle at 72% 4%, rgba(217,164,59,.08), transparent 30rem),
    #090b0d;
  background-size: 48px 48px, 48px 48px, auto;
  -webkit-font-smoothing: antialiased;
}

button, input, select { font: inherit; }
button { color: inherit; }
button:disabled { cursor: not-allowed; filter: saturate(.55); opacity: .55; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible {
  outline: 2px solid var(--gold-bright);
  outline-offset: 3px;
}

.skip-link {
  position: absolute;
  top: -60px;
  left: 16px;
  z-index: 10;
  padding: 10px 14px;
  color: var(--ink);
  background: var(--gold-bright);
}
.skip-link:focus { top: 12px; }

.site-header {
  width: min(1280px, calc(100% - 40px));
  min-height: 78px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid var(--line-soft);
}

.brand-lockup, .game-bar-title { display: flex; align-items: center; gap: 13px; }
.brand-lockup img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; }
.brand-lockup p, .game-bar-title span { margin: 0; }
.brand-name { font-size: .76rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.mode-name { margin-top: 3px !important; color: var(--gold-bright); font-size: 1rem; font-weight: 750; letter-spacing: .07em; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.concept-badge { color: var(--muted); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }

.quiet-button, .secondary-button, .wide-button, .text-button, .filter-chip, .screen-tab {
  border: 1px solid var(--line);
  background: var(--surface);
}
.quiet-button { min-height: 44px; padding: 0 17px; border-radius: 7px; color: var(--muted); }

.preview-shell { width: min(1280px, calc(100% - 40px)); margin: 32px auto 64px; }
.prototype-intro { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 24px; }
.prototype-intro > div:first-child { max-width: 760px; }
.prototype-intro h1 { margin: 4px 0 10px; max-width: 720px; font-size: clamp(2rem, 4vw, 4.4rem); line-height: .98; letter-spacing: -.055em; }
.prototype-intro p:not(.eyebrow) { margin: 0; max-width: 680px; color: var(--muted); line-height: 1.6; }
.eyebrow, .section-kicker { margin: 0; color: var(--gold-bright); font-size: .7rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.prototype-status { display: flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 7px; color: #c7cdd4; font-size: .8rem; white-space: nowrap; background: rgba(17,21,26,.72); }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold-bright); box-shadow: 0 0 0 4px rgba(217,164,59,.12); }

.screen-switcher { display: grid; grid-template-columns: repeat(7, 1fr); gap: 7px; margin-bottom: 10px; }
.screen-tab { min-height: 46px; padding: 8px 10px; border-radius: 7px; color: var(--muted); cursor: pointer; transition: border-color .18s ease, color .18s ease, background .18s ease; }
.screen-tab:hover { border-color: #4b5661; color: var(--cream); }
.screen-tab.is-active { color: var(--ink); border-color: var(--gold-bright); background: var(--gold-bright); font-weight: 800; }

.screen-frame { overflow: hidden; border: 1px solid #313841; border-radius: 12px; background: var(--ink-2); box-shadow: var(--shadow); }
.game-bar { min-height: 70px; padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); background: rgba(11,14,17,.96); }
.shield-mark { width: 40px; height: 44px; display: grid; place-items: center; color: var(--gold-bright); border: 1px solid var(--gold-dark); clip-path: polygon(50% 0, 94% 16%, 86% 76%, 50% 100%, 14% 76%, 6% 16%); background: linear-gradient(145deg, #20180c, #0d1013); font-size: .72rem; font-weight: 900; }
.game-bar-title strong { display: block; font-size: .96rem; letter-spacing: .02em; }
.game-bar-title div > span { display: block; margin-top: 3px; color: var(--gold); font-size: .66rem; letter-spacing: .13em; text-transform: uppercase; }
.game-bar-meta { display: flex; align-items: center; gap: 18px; color: var(--muted); font-size: .75rem; }
.save-state { display: inline-flex; align-items: center; gap: 7px; }
.save-state i { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }

.prototype-screen { min-height: 700px; padding: clamp(18px, 3.2vw, 42px); }
.prototype-screen[hidden] { display: none; }
.prototype-screen.is-active { animation: panel-in .22s ease-out; }
@keyframes panel-in { from { opacity: .55; transform: translateY(4px); } to { opacity: 1; transform: none; } }

.entry-hero {
  min-height: 240px;
  padding: clamp(22px, 3vw, 38px);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  align-items: center;
  gap: 32px;
  overflow: hidden;
  border: 1px solid #333a42;
  border-radius: var(--radius);
  background:
    linear-gradient(90deg, rgba(11,14,17,.98) 0%, rgba(11,14,17,.91) 52%, rgba(11,14,17,.2) 100%),
    repeating-linear-gradient(115deg, transparent 0 40px, rgba(217,164,59,.055) 41px 42px),
    radial-gradient(circle at 85% 52%, rgba(217,164,59,.2), transparent 18rem),
    #13181d;
}
.entry-copy h2 { margin: 10px 0 14px; max-width: 650px; font-size: clamp(2.2rem, 4.2vw, 4.1rem); line-height: .95; letter-spacing: -.055em; }
.entry-copy > p:not(.section-kicker) { max-width: 610px; margin: 0; color: #bbc2c9; line-height: 1.62; }
.hero-actions { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 10px; }
.primary-button, .secondary-button, .wide-button {
  min-height: 46px;
  padding: 0 20px;
  border-radius: 7px;
  font-weight: 800;
  cursor: pointer;
}
.primary-button { border: 1px solid var(--gold-bright); color: #171004; background: linear-gradient(180deg, var(--gold-bright), #ca9128); }
.primary-button:hover { filter: brightness(1.06); }
.secondary-button, .wide-button { color: var(--cream); }
.secondary-button:hover, .wide-button:hover { border-color: #56616d; background: var(--surface-2); }
.era-graphic { position: relative; min-height: 210px; display: grid; place-content: center; text-align: center; isolation: isolate; }
.era-graphic::before { content: ""; position: absolute; inset: 4% 10%; z-index: -1; border: 1px solid rgba(217,164,59,.44); transform: skewX(-8deg); background: linear-gradient(135deg, rgba(217,164,59,.08), transparent 55%); }
.era-year { font-size: clamp(5.5rem, 12vw, 10rem); line-height: .76; font-weight: 950; letter-spacing: -.1em; color: transparent; -webkit-text-stroke: 1px rgba(239,189,87,.8); }
.era-graphic > span:nth-child(2) { margin-top: 14px; color: var(--gold-bright); font-size: .76rem; font-weight: 800; letter-spacing: .32em; text-transform: uppercase; }
.era-lines { position: absolute; left: 2%; right: 2%; top: 50%; z-index: -2; height: 1px; background: linear-gradient(90deg, transparent, rgba(239,189,87,.9), transparent); }

.entry-grid { margin-top: 14px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 14px; }
.entry-grid.is-career-only { grid-template-columns: 1fr; }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(23,28,34,.94), rgba(15,19,23,.97)); }
.career-card, .new-career-card, .glance-card, .briefing-card, .selection-check, .reserves-card, .contract-workspace, .cap-card, .priorities-card, .momentum-card, .stat-card { padding: 22px; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.panel-heading h3, .board-tools h3, .commentary-card h3, .next-action-card h3, .selection-card h3, .needs-card h3 { margin: 5px 0 0; font-size: 1.25rem; letter-spacing: -.02em; }
.state-pill { padding: 6px 9px; border: 1px solid rgba(85,201,149,.35); border-radius: 999px; color: var(--green); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.career-summary { margin: 20px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.career-summary div { min-width: 0; padding: 12px; border: 1px solid var(--line-soft); border-radius: 6px; }
.career-summary div:last-child { grid-column: 1 / -1; }
.career-summary span, .career-summary strong { display: block; }
.career-summary span { color: var(--muted); font-size: .72rem; }
.career-summary strong { margin-top: 4px; overflow-wrap: anywhere; }
.wide-button { width: 100%; }
.new-career-toggle { width: 100%; min-height: 44px; margin-top: 8px; border: 0; color: var(--muted); background: transparent; font-size: .72rem; font-weight: 750; cursor: pointer; }
.new-career-toggle:hover { color: var(--cream); }
.number-stamp { color: #4a535d; font-size: 1.8rem; font-weight: 900; letter-spacing: -.08em; }
.form-grid { margin: 19px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-grid > label { display: grid; gap: 7px; color: var(--muted); font-size: .74rem; font-weight: 700; }
.form-grid > label > input, .form-grid > label > select { width: 100%; min-height: 46px; padding: 0 12px; border: 1px solid #333b45; border-radius: 6px; color: var(--cream); background: #0d1115; }
.form-grid small { color: #7f8993; font-weight: 500; line-height: 1.45; }
.full-field { grid-column: 1 / -1; }
.draft-control-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.draft-control-fieldset legend { margin-bottom: 7px; padding: 0; color: var(--muted); font-size: .74rem; font-weight: 700; }
.draft-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.draft-choice { min-width: 0; min-height: 84px; padding: 13px; display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: start; gap: 10px; border: 1px solid #333b45; border-radius: 7px; color: var(--cream); background: #0d1115; cursor: pointer; }
.draft-choice:hover { border-color: #56616d; }
.draft-choice.is-selected { border-color: var(--gold); background: rgba(217, 164, 59, .07); box-shadow: inset 0 0 0 1px rgba(217, 164, 59, .12); }
.draft-choice input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--gold-bright); }
.draft-choice span, .draft-choice strong, .draft-choice small { min-width: 0; display: block; }
.draft-choice strong { font-size: .79rem; }
.draft-choice small { margin-top: 5px; color: var(--muted); font-size: .66rem; }
.draft-choice b { padding: 4px 6px; border-radius: 4px; color: var(--muted); background: #181d22; font-size: .55rem; letter-spacing: .07em; text-transform: uppercase; }
.draft-choice.is-selected b { color: #171004; background: var(--gold-bright); }
.full-action { width: 100%; }

.page-title-row { margin-bottom: 22px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.page-title-row h2 { margin: 6px 0 0; font-size: clamp(2rem, 4vw, 3.8rem); line-height: .98; letter-spacing: -.05em; }
.pick-clock, .record-chip, .selection-state, .weather, .offseason-count { min-width: 116px; padding: 10px 13px; border-left: 2px solid var(--gold); background: var(--surface); }
.pick-clock span, .record-chip span, .selection-state span, .weather span, .offseason-count span { display: block; color: var(--muted); font-size: .66rem; text-transform: uppercase; letter-spacing: .1em; }
.pick-clock strong, .record-chip strong, .selection-state strong, .weather strong, .offseason-count strong { display: block; margin-top: 3px; font-size: 1.15rem; }

.draft-status { margin-bottom: 12px; display: grid; grid-template-columns: repeat(3, 1fr) 1.4fr; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.draft-status > div { min-width: 0; padding: 12px 15px; border-right: 1px solid var(--line); }
.draft-status > div:last-child { border-right: 0; }
.draft-status span, .draft-status strong { display: block; }
.draft-status span { color: var(--muted); font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; }
.draft-status strong { margin-top: 5px; font-size: .85rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.draft-progress b { display: block; height: 4px; margin-top: 10px; overflow: hidden; border-radius: 3px; background: #272d34; }
.draft-progress i { display: block; height: 100%; background: var(--gold); }
.draft-live-note { min-height: 42px; margin-bottom: 12px; padding: 9px 13px; display: flex; align-items: center; gap: 9px; color: #c9cfd5; border: 1px solid var(--line); border-radius: 7px; background: #0c1013; font-size: .73rem; }
.draft-live-note strong { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.draft-live-note.is-user-turn { color: var(--gold-bright); border-color: rgba(217,164,59,.45); background: rgba(217,164,59,.055); }
.draft-live-note.is-complete { color: var(--green); border-color: rgba(85,201,149,.38); background: rgba(85,201,149,.055); }
.live-pulse { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px currentColor; opacity: .65; }
.draft-live-note.is-simulating .live-pulse { animation: live-pulse 1s ease-in-out infinite; }
@keyframes live-pulse { 50% { opacity: .22; transform: scale(.78); } }
.draft-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .34fr); gap: 12px; }
.player-board { padding: 18px; }
.board-tools { margin-bottom: 14px; display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.draft-search { width: min(260px, 100%); }
.draft-search input { width: 100%; min-height: 44px; padding: 0 12px; color: var(--cream); border: 1px solid #333b45; border-radius: 6px; background: #0d1115; }
.draft-search input::placeholder { color: #707a84; }
.draft-board-actions { margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.filter-row { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; }
.filter-chip { min-height: 36px; padding: 0 12px; border-radius: 5px; color: var(--muted); font-size: .72rem; font-weight: 800; cursor: pointer; }
.filter-chip.is-active { color: var(--ink); border-color: var(--gold); background: var(--gold); }
.pool-note { color: #77818b; font-size: .62rem; letter-spacing: .04em; text-align: right; }
.player-list { max-height: 510px; padding-right: 4px; display: grid; align-content: start; gap: 6px; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #49515a #11151a; }
.player-row { width: 100%; min-height: 68px; padding: 8px 10px; display: grid; grid-template-columns: 35px minmax(0, 1fr) 52px 78px 72px; align-items: center; gap: 10px; text-align: left; border: 1px solid var(--line-soft); border-radius: 6px; background: #101419; }
.draft-ratings{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:0;text-align:center}
.draft-sort{display:block;max-width:100%;margin:5px 0}
.draft-sort select{max-width:100%;min-height:44px;padding:6px 9px;color:var(--cream);background:var(--ink-2,#101419);border:1px solid var(--line);border-radius:5px;font-size:16px}
.player-row:hover { border-color: #3d4650; background: #13181d; }
.player-rank { color: #626c76; font-size: .74rem; font-weight: 800; }
.player-identity { min-width: 0; }
.player-identity strong, .player-identity small { display: block; overflow-wrap: anywhere; }
.player-identity small { margin-top: 3px; color: var(--muted); font-size: .68rem; line-height: 1.35; }
.player-identity small b { display: none; color: var(--gold-bright); }
.position-tag { min-width: 43px; padding: 5px 6px; display: inline-block; text-align: center; border: 1px solid currentColor; border-radius: 4px; font-size: .65rem; font-weight: 900; }
.position-tag.mid { color: var(--blue); }
.position-tag.fwd { color: #e58d72; }
.position-tag.def { color: var(--green); }
.position-tag.ruc { color: #ba95e5; }
.ovr { display: grid; justify-items: end; font-size: 1.2rem; font-weight: 900; }
.ovr small { color: var(--muted); font-size: .52rem; letter-spacing: .08em; }
.row-draft-button { min-width: 68px; min-height: 44px; padding: 0 11px; color: #171004; border: 1px solid var(--gold-bright); border-radius: 5px; background: linear-gradient(180deg, var(--gold-bright), #ca9128); font-size: .7rem; font-weight: 900; cursor: pointer; }
.row-draft-button:hover:not(:disabled) { filter: brightness(1.07); }
.draft-empty { min-height: 132px; padding: 24px; display: grid; place-items: center; color: var(--muted); border: 1px dashed var(--line); border-radius: 7px; text-align: center; font-size: .78rem; line-height: 1.5; }
.draft-board-footer { min-height: 44px; margin-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .68rem; }
.draft-board-footer .text-button { min-height: 40px; padding-inline: 13px; border-radius: 5px; cursor: pointer; }
.draft-decision { display: grid; align-content: start; gap: 10px; }
.draft-complete-card { padding: 18px; border: 1px solid rgba(85,201,149,.48); border-radius: var(--radius); background: radial-gradient(circle at 85% 0, rgba(85,201,149,.12), transparent 12rem), #111419; }
.draft-complete-card[hidden] { display: none; }
.draft-complete-card h3 { margin: 7px 0 8px; font-size: 1.2rem; }
.draft-complete-card > p:not(.section-kicker) { margin: 0 0 15px; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.needs-card { padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.needs-card > div:first-child { display: flex; justify-content: space-between; gap: 12px; font-size: .73rem; }
.needs-card > div:first-child span { color: var(--muted); }
.needs-card p { margin: 9px 0 0; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.roster-targets { margin-top: 11px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
.roster-target { min-width: 0; padding: 7px 4px; display: grid; justify-items: center; gap: 2px; color: var(--muted); border: 1px solid var(--line-soft); border-radius: 5px; font-size: .58rem; }
.roster-target strong { color: var(--cream); font-size: .72rem; }
.roster-target.is-filled { color: var(--green); border-color: rgba(85,201,149,.32); }
.draft-feed-card { padding: 13px 14px; border: 1px solid var(--line); border-radius: 8px; background: #0d1115; }
.draft-feed-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; }
.draft-feed-heading strong { color: var(--gold); }
.draft-feed-card ol { margin: 9px 0 0; padding: 0; list-style: none; }
.draft-feed-card li { min-height: 32px; padding: 7px 0; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 8px; border-top: 1px solid var(--line-soft); color: #c8ced4; font-size: .65rem; }
.draft-feed-card li span { color: #68737d; }
.draft-feed-card li strong { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.draft-feed-card li small { color: var(--muted); font-size: .58rem; }

.next-action-card { padding: 22px; display: grid; grid-template-columns: 1fr 1.25fr auto; align-items: center; gap: 24px; border: 1px solid var(--gold-dark); border-radius: var(--radius); background: linear-gradient(100deg, rgba(217,164,59,.08), transparent 46%), var(--surface); }
.fixture-copy > p:last-child { margin: 7px 0 0; color: var(--muted); font-size: .76rem; }
.matchup { display: flex; align-items: center; justify-content: center; gap: 18px; }
.matchup > div { min-width: 86px; display: grid; justify-items: center; text-align: center; }
.club-disc { width: 42px; height: 42px; margin-bottom: 7px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); font-size: .63rem; font-weight: 900; background: #18140c; }
.club-disc.muted { color: #c1c7cd; border-color: #56606a; background: #15191d; }
.matchup strong { font-size: .8rem; }
.matchup small { margin-top: 2px; color: var(--muted); font-size: .66rem; }
.matchup > span { color: #68727c; font-size: .65rem; text-transform: uppercase; }
.hq-grid { margin-top: 12px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 12px; }
.metric-grid { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line-soft); border-radius: 7px; overflow: hidden; }
.metric-grid div { min-width: 0; padding: 14px; border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.metric-grid div:nth-child(2n) { border-right: 0; }
.metric-grid div:nth-last-child(-n+2) { border-bottom: 0; }
.metric-grid span, .metric-grid strong, .metric-grid small { display: block; }
.metric-grid span, .metric-grid small { color: var(--muted); font-size: .66rem; }
.metric-grid strong { margin: 5px 0 3px; font-size: .95rem; }
.briefing-list { margin: 16px 0 0; padding: 0; display: grid; list-style: none; }
.briefing-list li { min-height: 61px; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 11px; border-top: 1px solid var(--line-soft); }
.brief-icon { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--gold); font-size: .7rem; }
.briefing-list strong, .briefing-list small { display: block; }
.briefing-list strong { font-size: .78rem; }
.briefing-list small { margin-top: 3px; color: var(--muted); font-size: .67rem; }
.briefing-list button, .contract-row button { min-height: 36px; padding: 0 11px; border: 1px solid var(--line); border-radius: 5px; color: var(--cream); background: transparent; cursor: pointer; }
.quick-nav { margin-top: 12px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.quick-nav button { min-height: 86px; padding: 14px; display: grid; grid-template-columns: 28px 1fr; grid-template-rows: auto auto; align-items: center; column-gap: 10px; text-align: left; border: 1px solid var(--line); border-radius: 7px; background: #11151a; cursor: pointer; }
.quick-nav button:hover { border-color: #52606b; }
.quick-nav span { grid-row: 1 / 3; color: var(--gold); font-size: .7rem; }
.quick-nav strong { font-size: .82rem; }
.quick-nav small { color: var(--muted); font-size: .68rem; }

.hq-ready-card { grid-template-columns: minmax(0, 1fr) auto; }
.hq-position-summary { display: grid; grid-template-columns: repeat(4, minmax(58px, 1fr)); gap: 6px; }
.hq-position-summary span { min-width: 0; padding: 8px; display: grid; justify-items: center; gap: 3px; color: var(--muted); border: 1px solid var(--line-soft); border-radius: 5px; font-size: .59rem; font-weight: 800; }
.hq-position-summary strong { color: var(--cream); font-size: .85rem; }
.hq-list-card { padding: 22px; }
.hq-leaders { margin-top: 13px; display: grid; }
.hq-leader-row { min-height: 43px; display: grid; grid-template-columns: 24px minmax(0, 1fr) 44px 30px; align-items: center; gap: 9px; border-top: 1px solid var(--line-soft); }
.hq-leader-row > span:first-child { color: #66717b; font-size: .65rem; font-weight: 800; }
.hq-leader-row strong { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: .74rem; }
.hq-leader-row .position-tag { min-width: 40px; padding: 4px; font-size: .56rem; }
.hq-leader-row b { color: var(--gold-bright); text-align: right; font-size: .76rem; }

.text-button { min-height: 36px; padding: 0 10px; border-radius: 5px; color: var(--gold-bright); font-size: .7rem; cursor: pointer; }
.squad-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(255px, .34fr); gap: 12px; }
.mobile-segmented, .mobile-current-stage { display: none; }
.squad-picker { min-width: 0; padding: 16px; }
.squad-picker-heading { margin-bottom: 10px; align-items: end; }
.squad-picker-heading h3 { margin: 5px 0 0; }
.squad-picker-heading > span { color: var(--muted); font-size: .66rem; }
.squad-player-list { max-height: 484px; padding-right: 4px; display: grid; align-content: start; gap: 5px; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #49515a #11151a; }
.squad-player-row { min-height: 54px; padding: 5px 7px 5px 10px; display: grid; grid-template-columns: minmax(0, 1fr) 48px 42px 82px; align-items: center; gap: 8px; border: 1px solid var(--line-soft); border-radius: 6px; background: #0f1317; }
.squad-player-row.is-selected { border-color: rgba(85,201,149,.35); background: rgba(85,201,149,.045); }
.squad-player-name { min-width: 0; min-height: 44px; padding: 0; display: flex; align-items: center; border: 0; color: var(--cream); background: transparent; text-align: left; cursor: pointer; }
.squad-player-name strong { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: .76rem; }
.squad-player-name:hover strong { color: var(--gold-bright); }
.squad-player-row .position-tag { min-width: 40px; padding: 4px; font-size: .57rem; }
.squad-player-row .ovr { font-size: 1rem; }
.squad-player-row .ovr small { display: none; }
.squad-toggle { min-width: 76px; min-height: 44px; padding: 0 9px; color: var(--cream); border: 1px solid #3b444d; border-radius: 5px; background: #171c21; font-size: .66rem; font-weight: 850; cursor: pointer; }
.squad-toggle:hover { border-color: var(--gold-dark); }
.squad-player-row.is-selected .squad-toggle { color: #0a120f; border-color: var(--green); background: var(--green); }
.squad-sidebar { display: grid; align-content: start; gap: 12px; }
.selection-check { padding: 16px; transition: border-color .18s ease; }
.selection-check.is-ready { border-color: rgba(85,201,149,.38); }
.selection-check.is-incomplete { border-color: rgba(217,164,59,.35); }
.selection-check-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.selection-check h3 { margin: 5px 0 0; font-size: 1.12rem; }
.selection-ready-mark { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; color: var(--green); border: 1px solid rgba(85,201,149,.42); border-radius: 50%; background: rgba(85,201,149,.08); font-size: .86rem; font-weight: 900; }
.selection-check.is-incomplete .selection-ready-mark { color: var(--gold-bright); border-color: rgba(217,164,59,.4); background: rgba(217,164,59,.08); }
.selection-check.is-incomplete .selection-ready-mark { font-size: 0; }
.selection-check.is-incomplete .selection-ready-mark::before { content: "!"; font-size: .86rem; }
.squad-check-copy { margin: 9px 0 0; color: var(--muted); font-size: .69rem; line-height: 1.45; }
.selection-check.is-incomplete h3 { color: var(--gold-bright); }
.selection-check.is-ready h3 { color: var(--green); }
.lineup-breakdown { margin: 12px 0 9px; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.lineup-breakdown span { min-height: 44px; padding: 6px 8px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1px 7px; color: var(--muted); border: 1px solid var(--line-soft); border-radius: 5px; }
.lineup-breakdown b { color: var(--cream); font-size: .64rem; }
.lineup-breakdown strong { grid-row: 1 / 3; grid-column: 2; color: var(--cream); font-size: .93rem; }
.lineup-breakdown small { font-size: .54rem; text-transform: uppercase; letter-spacing: .06em; }
.lineup-breakdown span.is-missing { color: var(--gold-bright); border-color: rgba(217,164,59,.35); }
.selection-tools { margin-bottom: 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.selection-tools .secondary-button, .selection-tools .text-button { min-width: 0; min-height: 44px; padding: 0 8px; font-size: .63rem; }
.squad-requirements { margin-bottom: 9px; border-top: 1px solid var(--line-soft); }
.squad-requirements summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .64rem; font-weight: 750; cursor: pointer; list-style: none; }
.squad-requirements summary::-webkit-details-marker { display: none; }
.squad-requirements summary::after { content: "+"; color: var(--gold-bright); font-size: .9rem; }
.squad-requirements[open] summary::after { content: "−"; }
.squad-requirements p { margin: -2px 0 10px; color: #8d969f; font-size: .61rem; line-height: 1.5; }
.player-dialog { width: min(420px, calc(100% - 28px)); padding: 22px; color: var(--cream); border: 1px solid var(--gold-dark); border-radius: 9px; background: #11151a; box-shadow: 0 24px 80px rgba(0,0,0,.65); }
.player-dialog::backdrop { background: rgba(2,4,6,.78); }
.player-dialog h3 { margin: 8px 0 14px; font-size: 1.45rem; }
.player-dialog > p:last-child { margin: 14px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.dialog-close { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: #0c1013; font-size: 1.2rem; cursor: pointer; }
.dialog-player-meta { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
.dialog-player-meta span { min-height: 52px; padding: 9px; display: grid; gap: 3px; color: var(--muted); border: 1px solid var(--line-soft); border-radius: 5px; font-size: .61rem; }
.dialog-player-meta strong { color: var(--cream); font-size: .78rem; }

.match-command { margin-bottom: 10px; padding: 11px 13px; display: grid; grid-template-columns: minmax(200px, .72fr) minmax(300px, 1fr) auto; align-items: center; gap: 14px; }
.match-strengths { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) 18px minmax(0,1fr); align-items: center; gap: 7px; }
.match-strengths > div { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 2px 7px; }
.match-strengths > div:last-child { text-align: right; }
.match-strengths span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--muted); font-size: .61rem; }
.match-strengths strong { grid-row: 1 / 3; grid-column: 2; color: var(--gold-bright); font-size: 1.18rem; }
.match-strengths small { font-size: .51rem; letter-spacing: .08em; text-transform: uppercase; color: #68727c; }
.match-strengths > b { color: #626c75; text-align: center; font-size: .62rem; text-transform: uppercase; }
.game-plan-picker { min-width: 0; margin: 0; padding: 0; border: 0; }
.game-plan-picker legend { float: left; width: 72px; height: 44px; display: flex; align-items: center; color: var(--muted); font-size: .62rem; font-weight: 800; }
.game-plan-picker > div { height: 44px; padding: 3px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; border: 1px solid var(--line); border-radius: 6px; background: #0b0f12; }
.game-plan-picker button { min-width: 0; min-height: 36px; padding: 0 8px; border: 0; border-radius: 4px; color: var(--muted); background: transparent; font-size: .63rem; font-weight: 800; cursor: pointer; }
.game-plan-picker button.is-active { color: #151005; background: var(--gold-bright); }
.game-plan-picker button:disabled { opacity: .68; }
.game-plan-picker small { display: block; margin: 4px 0 0 76px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #747e87; font-size: .56rem; }
.match-primary-action { min-width: 128px; }
.match-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(270px, .65fr); gap: 12px; }
.match-stage { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #0b0e11; }
.scoreboard { min-height: 66px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; }
.scoreboard > div:not(.match-clock) { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: baseline; gap: 10px; }
.scoreboard > div:last-child { direction: rtl; }
.scoreboard > div:last-child > * { direction: ltr; }
.scoreboard span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #c7cdd2; font-size: .72rem; font-weight: 750; }
.scoreboard strong { font-size: 1.02rem; }
.scoreboard b { min-width: 28px; color: var(--gold-bright); font-size: 1.7rem; }
.match-clock { min-width: 66px; text-align: center; }
.match-clock span, .match-clock strong { display: block; }
.match-clock span { color: var(--gold); font-size: .61rem; letter-spacing: .1em; }
.match-clock strong { margin-top: 3px; font-size: .86rem; }
.stadium-shell { position: relative; max-width: 660px; margin: 2px auto; padding: 19px; aspect-ratio: 1.72; display: grid; place-items: center; overflow: hidden; border: 1px solid #2a3036; border-radius: 50%; background: repeating-radial-gradient(ellipse at center, #191d21 0 11px, #13171b 12px 23px); box-shadow: inset 0 0 50px rgba(0,0,0,.48); }
.crowd-ring { position: absolute; inset: 10px; border: 7px dotted rgba(239,189,87,.15); border-radius: 50%; }
.field { position: relative; width: 88%; height: 82%; overflow: hidden; border-radius: 50%; background: repeating-linear-gradient(90deg, #203e30 0 34px, #274a38 35px 68px); box-shadow: inset 0 0 42px rgba(0,0,0,.38); }
.boundary { position: absolute; inset: 4%; border: 2px solid rgba(235,238,222,.72); border-radius: 50%; }
.centre-square { position: absolute; width: 22%; height: 37%; left: 39%; top: 31.5%; border: 1px solid rgba(235,238,222,.58); }
.centre-circle { position: absolute; width: 9%; aspect-ratio: 1; left: 45.5%; top: 43%; border: 1px solid rgba(235,238,222,.58); border-radius: 50%; }
.arc { position: absolute; width: 27%; height: 74%; top: 13%; border: 1px solid rgba(235,238,222,.5); border-radius: 50%; }
.arc-left { left: -10%; }
.arc-right { right: -10%; }
.posts { position: absolute; top: 34%; width: 14px; height: 32%; display: flex; flex-direction: column; align-items: center; justify-content: space-between; }
.posts::before { content: ""; position: absolute; top: 2px; bottom: 2px; left: 50%; width: 1px; background: rgba(240,235,220,.58); transform: translateX(-50%); }
.posts-left { left: 2.7%; }
.posts-right { right: 2.7%; }
.posts i { position: relative; z-index: 1; width: 5px; height: 5px; border: 1px solid #f0ebdc; border-radius: 50%; background: #78857b; box-shadow: 0 0 0 1px rgba(8,12,10,.7); }
.posts i:nth-child(2), .posts i:nth-child(3) { width: 7px; height: 7px; background: #f0ebdc; }
.ball-marker { position: absolute; z-index: 4; left: 50%; top: 50%; width: 8px; height: 5px; border-radius: 50%; background: var(--gold-bright); transform: translate(-50%,-50%) rotate(-20deg); box-shadow: 0 0 9px rgba(239,189,87,.85); transition: left .6s cubic-bezier(.2,.75,.3,1), top .6s cubic-bezier(.2,.75,.3,1); }
.player-dot { position: absolute; z-index: 2; width: clamp(5px, .65vw, 8px); height: clamp(5px, .65vw, 8px); border: 1px solid rgba(255,255,255,.85); border-radius: 50%; transform: translate(-50%, -50%); pointer-events: none; }
.player-dot.home { background: var(--gold); }
.player-dot.away { background: #7d8995; }
.player-dot.is-carrier { z-index: 3; box-shadow: 0 0 0 2px rgba(255,255,255,.24); }
.score-flash { position: absolute; inset: 0; z-index: 5; display: grid; place-items: center; color: var(--gold-bright); background: radial-gradient(circle, rgba(8,11,9,.12), rgba(8,11,9,.72)); font-size: clamp(1.35rem, 4vw, 2.6rem); font-weight: 950; letter-spacing: .12em; opacity: 0; pointer-events: none; }
.score-flash.is-visible { animation: score-call .72s ease both; }
@keyframes score-call { 0% { opacity: 0; transform: scale(.86); } 28% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(1.05); } }
.quarter-progress { margin: 8px auto 0; max-width: 430px; display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; }
.quarter-progress span { min-height: 5px; overflow: hidden; color: transparent; border-radius: 3px; background: #252b31; font-size: 0; }
.quarter-progress span.is-current { background: var(--gold); }
.quarter-progress span.is-complete { background: var(--green); }
.match-controls { margin-top: 10px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.match-controls button { min-height: 44px; padding-inline: 10px; }
.match-sidebar { min-width: 0; display: grid; align-content: start; gap: 10px; }
.commentary-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-left: 3px solid var(--gold); border-radius: var(--radius); background: #181b1e; }
.commentary-card h3 { margin: 6px 0 0; overflow-wrap: anywhere; }
.commentary-card p:not(.section-kicker) { margin: 9px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.event-time { margin-top: 11px; color: var(--gold); font-size: .63rem; font-weight: 800; }
.match-event-feed { max-height: 132px; margin: 12px 0 0; padding: 0; overflow-y: auto; list-style: none; }
.match-event-feed li { padding: 7px 0; color: #9099a2; border-top: 1px solid var(--line-soft); font-size: .62rem; line-height: 1.35; }
.match-event-feed li:first-child { color: #d3d8dc; }
.momentum-card .panel-heading { align-items: end; }
.momentum-card .panel-heading > strong { color: var(--gold); font-size: .68rem; }
.momentum-track, .cap-track { height: 5px; margin-top: 14px; border-radius: 5px; background: #252b31; }
.momentum-track span, .cap-track span { display: block; height: 100%; border-radius: inherit; background: var(--gold); transition: width .3s ease; }
.momentum-labels, .cap-labels { margin-top: 7px; display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .59rem; }
.stat-card { display: grid; gap: 0; }
.stat-card div { min-height: 40px; display: grid; grid-template-columns: minmax(0,1fr) 42px 42px; align-items: center; border-top: 1px solid var(--line-soft); font-size: .69rem; }
.stat-card div:first-child { border-top: 0; }
.stat-card span { color: var(--muted); }
.stat-card strong { color: var(--gold-bright); text-align: right; }
.stat-card b { text-align: right; }
.stat-card .stat-card-head { min-height: 31px; color: #737d86; font-size: .54rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.match-final-card { padding: 17px; border-color: rgba(85,201,149,.35); }
.match-final-card h3 { margin: 6px 0 12px; }
.match-final-lists { display: grid; gap: 10px; }
.match-final-lists > div > span { color: var(--muted); font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.match-final-lists ol { margin: 5px 0 0; padding: 0; list-style: none; }
.match-final-lists li { min-height: 29px; display: flex; justify-content: space-between; align-items: center; gap: 8px; border-top: 1px solid var(--line-soft); color: #cbd1d6; font-size: .62rem; }
.match-final-lists li b { color: var(--gold-bright); font-size: .62rem; }

.stage-track { margin: 0 0 13px; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 8px; list-style: none; background: var(--surface); }
.stage-track li { min-width: 0; min-height: 64px; padding: 10px 12px; display: flex; align-items: center; gap: 9px; border-right: 1px solid var(--line); }
.stage-track li:last-child { border-right: 0; }
.stage-track span { width: 24px; height: 24px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid #424b55; border-radius: 50%; color: #7e8993; font-size: .57rem; }
.stage-track strong { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--muted); font-size: .67rem; }
.stage-track .is-complete span { color: var(--ink); border-color: var(--green); background: var(--green); }
.stage-track .is-complete strong { color: #bfc9c4; }
.stage-track .is-current { box-shadow: inset 0 -2px var(--gold); background: rgba(217,164,59,.06); }
.stage-track .is-current span { color: var(--ink); border-color: var(--gold); background: var(--gold); }
.stage-track .is-current strong { color: var(--cream); }
.offseason-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .6fr); gap: 12px; }
.task-count { padding: 6px 9px; border: 1px solid var(--line); border-radius: 5px; color: var(--gold); font-size: .68rem; }
.workspace-intro { margin: 12px 0 16px; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.contract-list { display: grid; }
.contract-row { min-height: 66px; display: grid; grid-template-columns: 38px minmax(0,1fr) 74px 105px 62px; align-items: center; gap: 10px; border-top: 1px solid var(--line-soft); }
.player-initials { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--gold-dark); border-radius: 50%; color: var(--gold); font-size: .63rem; font-weight: 900; }
.contract-row > div { min-width: 0; }
.contract-row > div strong, .contract-row > div small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.contract-row > div strong { font-size: .78rem; }
.contract-row > div small { margin-top: 3px; color: var(--muted); font-size: .64rem; }
.salary { text-align: right; font-size: .72rem; font-weight: 800; }
.decision { font-size: .64rem; }
.decision.pending { color: var(--gold); }
.decision.resolved { color: var(--green); }
.workspace-actions { margin-top: 18px; display: flex; justify-content: flex-end; gap: 8px; }
.offseason-sidebar { display: grid; align-content: start; gap: 12px; }
.cap-card h3, .priorities-card h3 { margin: 6px 0 0; }
.priorities-card > div { min-height: 52px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 8px; border-top: 1px solid var(--line-soft); }
.priorities-card > div:first-of-type { margin-top: 13px; }
.priorities-card > div span { color: var(--gold); font-size: .62rem; }
.priorities-card > div strong { font-size: .72rem; }
.priorities-card > div small { color: var(--muted); font-size: .61rem; }

.prototype-note { margin: 13px 2px 0; color: #6f7881; font-size: .7rem; line-height: 1.5; }

.data-title-row { align-items: end; }
.page-intro { max-width: 760px; margin: 10px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.data-count { min-width: 132px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 7px; text-align: right; background: var(--surface); }
.data-count span, .data-count strong { display: block; }
.data-count span { color: var(--muted); font-size: .61rem; letter-spacing: .08em; text-transform: uppercase; }
.data-count strong { margin-top: 3px; color: var(--gold-bright); font-size: .88rem; }
.data-principles { margin-bottom: 12px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.data-principle { min-width: 0; min-height: 74px; padding: 12px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.data-principle strong, .data-principle small { display: block; }
.data-principle strong { font-size: .73rem; }
.data-principle small { margin-top: 4px; color: var(--muted); font-size: .62rem; line-height: 1.35; }
.data-key { min-width: 58px; padding: 6px 7px; border: 1px solid var(--gold-dark); border-radius: 5px; color: var(--gold-bright); text-align: center; font-size: .57rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.data-key.system { color: #0b1712; border-color: var(--green); background: var(--green); }
.data-key.no-art { color: #ced4da; border-color: #48515a; }
.data-layout { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(260px, .55fr); gap: 12px; align-items: start; }
.data-board { min-width: 0; padding: 18px; }
.data-board-heading { margin-bottom: 12px; }
.approval-pill { padding: 6px 9px; border: 1px solid var(--gold-dark); border-radius: 5px; color: var(--gold); font-size: .62rem; font-weight: 800; }
.data-table-wrap { overflow-x: auto; border: 1px solid var(--line-soft); border-radius: 7px; }
.player-data-table { width: 100%; border-collapse: collapse; font-size: .7rem; }
.player-data-table th { padding: 9px 10px; color: #77818b; text-align: left; font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; background: #0c1013; }
.player-data-table td { min-width: 0; padding: 8px 10px; border-top: 1px solid var(--line-soft); color: #cbd1d6; vertical-align: middle; }
.player-data-table td:first-child { min-width: 158px; }
.player-data-table td:nth-child(2) { min-width: 108px; color: var(--muted); }
.player-data-table td:last-child { width: 50px; text-align: right; }
.player-data-table td strong, .player-data-table td small { display: block; }
.player-data-table td strong { color: var(--cream); font-size: .73rem; }
.player-data-table td small { margin-top: 3px; color: #747e87; font-size: .58rem; }
.player-data-table .position-tag { min-width: 38px; padding: 4px 5px; display: inline-grid; place-items: center; font-size: .55rem; }
.rating { display: inline-grid; min-width: 34px; min-height: 30px; place-items: center; border: 1px solid var(--line); border-radius: 5px; font-size: .78rem; }
.rating.elite { color: #160f04; border-color: var(--gold-bright); background: var(--gold-bright); }
.rating.high { color: var(--gold-bright); border-color: var(--gold-dark); background: rgba(217,164,59,.08); }
.rating.strong { color: #d8dee3; }
.rating.developing { color: #aeb7bf; border-color: #39424b; }
.data-footnote { margin: 13px 2px 0; color: var(--muted); font-size: .66rem; line-height: 1.5; }
.data-sidebar { display: grid; gap: 10px; }
.rating-card, .cohort-card, .source-card { padding: 17px; }
.rating-card h3, .cohort-card h3, .source-card h3 { margin: 7px 0 12px; }
.rating-band { min-height: 38px; display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 8px; border-top: 1px solid var(--line-soft); }
.rating-band b { color: var(--gold-bright); font-size: .68rem; }
.rating-band span { color: var(--muted); font-size: .64rem; }
.cohort-card ol { margin: 0; padding: 0; list-style: none; }
.cohort-card li { min-height: 43px; display: flex; justify-content: space-between; align-items: center; gap: 10px; border-top: 1px solid var(--line-soft); }
.cohort-card li span { color: var(--muted); font-size: .61rem; }
.cohort-card li strong { text-align: right; font-size: .65rem; }
.cohort-card > p, .source-card > p { margin: 12px 0 0; color: var(--muted); font-size: .65rem; line-height: 1.5; }
.source-links { margin-top: 12px; display: grid; gap: 6px; }
.source-links a { min-height: 44px; padding: 8px 10px; display: flex; align-items: center; color: var(--gold-bright); border: 1px solid var(--line); border-radius: 5px; background: #0c1013; font-size: .63rem; text-decoration: none; }
.source-links a:hover { border-color: var(--gold-dark); }

@media (max-width: 920px) {
  .screen-switcher { grid-template-columns: repeat(4, 1fr); }
  .entry-hero { grid-template-columns: 1fr .55fr; }
  .entry-grid, .hq-grid { grid-template-columns: 1fr; }
  .draft-layout, .squad-layout, .match-layout, .offseason-layout { grid-template-columns: minmax(0, 1fr) 260px; }
  .match-command { grid-template-columns: minmax(190px, .72fr) minmax(290px, 1fr); }
  .match-primary-action { grid-column: 1 / -1; width: 100%; }
  .next-action-card { grid-template-columns: 1fr 1fr; }
  .next-action-card > button { grid-column: 1 / -1; width: 100%; }
  .draft-status { grid-template-columns: repeat(2, 1fr); }
  .draft-status > div:nth-child(2) { border-right: 0; }
  .draft-status > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .stage-track { grid-template-columns: repeat(3, 1fr); }
  .stage-track li:nth-child(3) { border-right: 0; }
  .stage-track li:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .data-layout { grid-template-columns: minmax(0, 1fr) 250px; }
  .data-principles { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .site-header, .preview-shell { width: min(100% - 24px, 1280px); }
  .site-header { min-height: 70px; }
  .brand-lockup img { width: 42px; height: 42px; }
  .concept-badge { display: none; }
  .preview-shell { margin-top: 22px; }
  .prototype-intro { display: block; }
  .prototype-intro h1 { font-size: clamp(2.1rem, 11vw, 3.6rem); }
  .prototype-intro p:not(.eyebrow) { font-size: .86rem; }
  .prototype-status { width: fit-content; margin-top: 16px; }
  .screen-switcher { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; }
  .screen-tab { flex: 0 0 auto; min-width: 92px; }
  .game-bar { padding: 10px 13px; }
  .game-bar-meta > span:first-child { display: none; }
  .prototype-screen { min-height: 0; padding: 16px; }
  .entry-hero { min-height: auto; padding: 22px 20px; display: block; }
  .entry-copy h2 { font-size: clamp(2.35rem, 13vw, 4rem); }
  .era-graphic { display: none; }
  .entry-grid { grid-template-columns: 1fr; }
  .career-card, .new-career-card, .glance-card, .briefing-card, .hq-list-card, .selection-check, .reserves-card, .contract-workspace, .cap-card, .priorities-card, .momentum-card, .stat-card { padding: 17px; }
  .form-grid { grid-template-columns: 1fr; }
  .full-field { grid-column: auto; }
  .draft-choice-grid { grid-template-columns: 1fr; }
  .page-title-row { align-items: flex-start; }
  .page-title-row h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .pick-clock, .record-chip, .selection-state, .weather, .offseason-count { min-width: 94px; padding: 8px 10px; }
  .draft-layout, .squad-layout, .match-layout, .offseason-layout { grid-template-columns: 1fr; }
  .match-command { grid-template-columns: 1fr; padding: 12px; }
  .match-primary-action { grid-column: auto; }
  .match-strengths { padding-bottom: 10px; border-bottom: 1px solid var(--line-soft); }
  .draft-status { grid-template-columns: 1fr 1fr; }
  .draft-status > div { padding: 10px; }
  .board-tools { align-items: flex-start; flex-direction: column; }
  .draft-search { width: 100%; }
  .draft-board-actions { align-items: flex-start; flex-direction: column; }
  .pool-note { text-align: left; }
  .filter-row { justify-content: flex-start; }
  .filter-chip, .briefing-list button, .contract-row button, .text-button { min-height: 44px; }
  .draft-decision { display: contents; }
  .draft-complete-card { order: -1; }
  .needs-card { display: none; }
  .draft-feed-card { order: 2; }
  .player-list { max-height: 430px; }
  .next-action-card { grid-template-columns: 1fr; padding: 18px; }
  .next-action-card > button { grid-column: auto; }
  .hq-position-summary { grid-template-columns: repeat(4, 1fr); }
  .briefing-list li:nth-child(n+2) { display: none; }
  .quick-nav { grid-template-columns: repeat(3, 1fr); }
  .quick-nav button { min-height: 62px; padding: 9px; display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto; justify-items: center; text-align: center; }
  .quick-nav span { grid-row: auto; }
  .quick-nav small { display: none; }
  .mobile-segmented { margin-bottom: 9px; padding: 3px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; border: 1px solid var(--line); border-radius: 7px; background: #0c1013; }
  .mobile-segmented button { min-width: 0; min-height: 44px; padding: 0 5px; border: 0; border-radius: 5px; color: var(--muted); background: transparent; font-size: .68rem; font-weight: 850; cursor: pointer; }
  .mobile-segmented button.is-active { color: #161005; background: var(--gold-bright); }
  .squad-layout { display: flex; flex-direction: column; }
  .squad-sidebar { order: -1; }
  .squad-player-list { max-height: 52vh; }
  .match-title-row { align-items: end; }
  .scoreboard { gap: 8px; }
  .scoreboard > div:not(.match-clock) { grid-template-columns: 1fr auto; gap: 6px; }
  .scoreboard > div:not(.match-clock) strong { display: none; }
  .scoreboard b { font-size: 1.45rem; }
  .stadium-shell { padding: 15px; aspect-ratio: 1.48; }
  .match-view-tabs { grid-template-columns: 1fr 1fr; }
  [data-match-view]:not(.is-mobile-active) { display: none; }
  .mobile-current-stage { min-height: 58px; margin-bottom: 10px; padding: 10px 12px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 2px 12px; border: 1px solid var(--gold-dark); border-radius: 7px; background: rgba(217,164,59,.06); }
  .mobile-current-stage span { grid-column: 1 / -1; color: var(--gold); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
  .mobile-current-stage strong { font-size: .95rem; }
  .mobile-current-stage small { color: var(--muted); font-size: .66rem; }
  .stage-track { display: none; }
  .offseason-sidebar { order: -1; }
  .offseason-sidebar .priorities-card { display: none; }
  .offseason-sidebar .cap-card { padding: 13px 15px; }
  .offseason-sidebar .cap-card .section-kicker { display: none; }
  .offseason-sidebar .cap-card h3 { margin: 0; font-size: 1rem; }
  .offseason-sidebar .cap-track { margin-top: 9px; }
  .contract-row { padding: 10px 0; grid-template-columns: 38px minmax(0,1fr) auto; grid-template-rows: auto auto; }
  .salary { text-align: right; }
  .decision { grid-column: 2; }
  .contract-row button { grid-column: 3; }
  .workspace-actions { display: grid; grid-template-columns: 1fr; }
  .data-layout { grid-template-columns: 1fr; }
  .data-sidebar { grid-template-columns: 1fr 1fr; }
  .source-card { grid-column: 1 / -1; }
  .data-table-wrap { overflow: visible; border: 0; }
  .player-data-table, .player-data-table tbody { display: block; }
  .player-data-table thead { display: none; }
  .player-data-table tr { min-height: 54px; padding: 7px 8px; display: grid; grid-template-columns: minmax(0, 1fr) 50px 42px; align-items: center; gap: 4px 7px; border: 1px solid var(--line-soft); border-radius: 6px; background: #0c1013; }
  .player-data-table tr + tr { margin-top: 5px; }
  .player-data-table td { min-width: 0 !important; padding: 0; border: 0; }
  .player-data-table td:first-child { grid-column: 1; grid-row: 1 / 3; }
  .player-data-table td:nth-child(2) { grid-column: 1; grid-row: 3; }
  .player-data-table td:nth-child(3) { grid-column: 2; grid-row: 1 / 3; }
  .player-data-table td:last-child { grid-column: 3; grid-row: 1 / 3; width: auto; }
  .player-data-table td small { display: none; }
}

@media (max-width: 430px) {
  .site-header, .preview-shell { width: min(100% - 16px, 1280px); }
  .quiet-button { display: none; }
  .brand-name { font-size: .68rem; }
  .mode-name { font-size: .88rem; }
  .prototype-intro h1 { max-width: 330px; }
  .screen-frame { border-radius: 9px; }
  .game-bar { min-height: 62px; }
  .shield-mark { width: 35px; height: 39px; }
  .game-bar-meta { font-size: .67rem; }
  .prototype-screen { padding: 12px; }
  .entry-copy h2 { font-size: clamp(2.25rem, 12.5vw, 3rem); }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions button { width: 100%; }
  .career-summary { grid-template-columns: 1fr; }
  .career-summary div:last-child { grid-column: auto; }
  .draft-status { grid-template-columns: 1fr; }
  .draft-status > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .draft-status > div:last-child { border-bottom: 0; }
  .player-board { padding: 12px; }
  .player-row { min-height: 78px; grid-template-columns: minmax(0, 1fr) 68px 58px; gap: 7px; }
  .player-rank, .player-row > .position-tag { display: none; }
  .player-identity small { display: block; font-size: .61rem; }
  .player-identity small b { display: inline; }
  .row-draft-button { min-width: 64px; padding-inline: 8px; }
  .draft-board-footer { align-items: flex-start; flex-direction: column; }
  .draft-board-footer .text-button { width: 100%; }
  .page-title-row { margin-bottom: 16px; }
  .page-title-row h2 { font-size: 2rem; }
  .page-title-row .selection-state, .page-title-row .weather { min-width: 78px; }
  .match-title-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
  .match-title-row h2 { font-size: 1.68rem; }
  .match-title-row .weather { max-width: 104px; }
  .game-plan-picker legend { float: none; width: auto; height: auto; margin-bottom: 6px; }
  .game-plan-picker small { margin-left: 0; white-space: normal; line-height: 1.35; }
  .game-plan-picker button { padding-inline: 4px; font-size: .58rem; }
  .selection-check .lineup-breakdown { margin: 12px 0 10px; }
  .squad-player-row { min-height: 56px; padding-left: 7px; grid-template-columns: minmax(0, 1fr) 40px 34px 68px; gap: 5px; }
  .squad-player-name strong { font-size: .69rem; }
  .squad-player-row .position-tag { min-width: 36px; padding-inline: 3px; font-size: .53rem; }
  .squad-player-row .ovr { font-size: .9rem; }
  .squad-toggle { min-width: 64px; padding-inline: 5px; font-size: .59rem; }
  .briefing-list li { grid-template-columns: 30px minmax(0,1fr); padding: 8px 0; }
  .briefing-list button { grid-column: 2; width: fit-content; }
  .scoreboard span { max-width: 76px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .scoreboard { min-height: 58px; }
  .scoreboard > div:not(.match-clock) { gap: 5px; }
  .scoreboard strong { font-size: .82rem; }
  .scoreboard b { min-width: 22px; font-size: 1.35rem; }
  .stadium-shell { aspect-ratio: 1.34; }
  .field { width: 94%; height: 78%; }
  .match-controls { gap: 5px; }
  .match-controls button { padding-inline: 5px; font-size: .63rem; }
  .contract-row { grid-template-columns: 34px minmax(0,1fr) auto; gap: 7px; }
  .player-initials { width: 30px; height: 30px; }
  .salary { font-size: .67rem; }
  .priorities-card > div { grid-template-columns: 25px minmax(0,1fr); padding: 7px 0; }
  .priorities-card > div small { grid-column: 2; }
  .data-title-row { display: block; }
  .data-count { width: fit-content; margin-top: 12px; text-align: left; }
  .data-principle { min-height: 68px; }
  .data-sidebar { grid-template-columns: 1fr; }
  .source-card { grid-column: auto; }
}

.season-actions { display: grid; gap: 4px; min-width: 0; }
.season-actions .text-button { min-height: 44px; }
.season-notice, .season-last-result, .season-match-impact { font-size: .76rem; color: var(--muted); line-height: 1.5; }
.season-notice { margin: 9px 0 12px; }
.season-last-result { margin: 10px 0; color: var(--cream); }
.season-match-impact { color: var(--gold-bright); }
.season-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); padding: 11px 0; }
.season-metrics > div { min-width: 0; padding-inline: 12px; border-right: 1px solid var(--line); }
.season-metrics > div:first-child { padding-left: 0; }
.season-metrics > div:last-child { border-right: 0; }
.season-metrics span { display: block; color: var(--muted); font-size: .65rem; }
.season-metrics strong { display: block; margin-top: 4px; font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.season-board { margin-top: 14px; padding: 0 18px 8px; min-width: 0; }
.season-board-tabs { display: flex; gap: 16px; border-bottom: 1px solid var(--line); }
.season-board-tabs button { min-height: 48px; padding: 9px 4px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font: inherit; font-size: .85rem; cursor: pointer; }
.season-board-tabs button.is-active { border-bottom-color: var(--gold); color: var(--gold-bright); }
.season-caption { text-align: left; color: var(--muted); padding: 12px 0 9px; font-size: .68rem; line-height: 1.5; }
.season-table-wrap { min-width: 0; width: 100%; }
.season-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .78rem; font-variant-numeric: tabular-nums; }
.season-table th, .season-table td { border-bottom: 1px solid var(--line-soft); padding: 10px 5px; text-align: right; }
.season-table thead th { color: var(--muted); font-weight: 600; white-space: nowrap; }
.season-table th:first-child, .season-table td:first-child { width: 30px; text-align: left; }
.season-table th:nth-child(2) { width: auto; text-align: left; }
.season-table thead th:nth-child(3) { width: 32px; }
.season-table thead th:nth-child(4) { width: 36px; }
.season-table thead th:nth-child(5) { width: 54px; }
.season-table tbody th { text-align: left; font-weight: 600; overflow-wrap: normal; word-break: normal; }
.season-table .is-your-club, .season-result-row.is-your-club { background: rgba(217,164,59,.09); color: var(--gold-bright); }
.season-expand { min-height: 44px; }
.season-select-label { display: flex; align-items: center; gap: 12px; margin: 12px 0; color: var(--muted); font-size: .75rem; }
.season-select-label select { max-width: 180px; }
.season-board select { min-height: 44px; padding: 7px 10px; min-width: 0; width: 100%; border: 1px solid var(--line); background: var(--ink-2); color: var(--cream); border-radius: 5px; font: inherit; }
.season-result-row { display: grid; grid-template-columns: minmax(0, 1fr) 66px minmax(0, 1fr); align-items: center; min-height: 44px; gap: 8px; padding: 10px 5px; border-top: 1px solid var(--line-soft); font-size: .76rem; }
.season-result-row span { min-width: 0; overflow-wrap: normal; }
.season-result-row span:last-child { text-align: right; }
.season-result-row strong { text-align: center; font-variant-numeric: tabular-nums; }
.season-stat-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.season-stat-filters label { min-width: 0; display: grid; gap: 5px; font-size: .72rem; color: var(--muted); }
.season-player-table th:first-child { width: auto; }
.season-player-table thead th:nth-child(2) { width: 36px; text-align: right; }
.season-player-table thead th:nth-child(3) { width: 90px; }
.season-player-table small { display: block; margin-top: 4px; color: var(--muted); font-size: .65rem; font-weight: 400; }
.season-list-details { margin-top: 12px; }
.season-list-details > summary { min-height: 44px; padding-block: 13px; color: var(--muted); cursor: pointer; font-size: .8rem; }
.season-list-details .hq-position-summary { margin-top: 12px; }
@media (max-width: 650px) {
  [data-panel="hq"] .page-title-row { margin-bottom: 12px; }
  [data-panel="hq"] .page-title-row h2 { font-size: clamp(1.6rem, 7vw, 2.25rem); line-height: 1.1; }
  .hq-ready-card { padding: 16px; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .season-actions { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
  .season-actions .primary-button { padding-inline: 10px; font-size: .8rem; }
  .season-actions .text-button { font-size: .72rem; max-width: 110px; }
  .season-board { padding-inline: 10px; }
  .season-table { font-size: .7rem; }
  .season-table th, .season-table td { padding-inline: 3px; }
  .season-table thead th:nth-child(3) { width: 26px; }
  .season-table thead th:nth-child(4) { width: 29px; }
  .season-table thead th:nth-child(5) { width: 46px; }
  .season-table th:first-child, .season-table td:first-child { width: 22px; }
  .season-player-table th:first-child { width: auto; }
  .season-player-table thead th:nth-child(2) { width: 27px; }
  .season-player-table thead th:nth-child(3) { width: 78px; }
  .season-result-row { grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr); gap: 5px; font-size: .7rem; }
  .season-metrics span { font-size: .6rem; }
  .season-metrics > div { padding-inline: 8px; }
  .season-metrics > div:first-child { padding-left: 0; }
  .season-metrics > div:last-child { padding-right: 0; }
  .season-metrics strong { font-size: .95rem; white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
/* Private finals stage: compact, original Footy Forge presentation. */
.season-wrap, .season-finals { margin-bottom: 14px; padding: 16px; min-width: 0; }
.season-wrap { border-color: #8d7036; background: linear-gradient(115deg, #20201b, #11171b 65%); }
.season-wrap-heading { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.season-wrap h3 { margin: 0; font-size: clamp(1.3rem, 3vw, 1.9rem); overflow-wrap: normal; }
.season-finish { display: grid; gap: 3px; text-align: right; flex-shrink: 0; }
.season-finish strong { color: #f3c662; font-size: 1.15rem; white-space: nowrap; }
.season-finish span, .season-finish small, .season-standouts span, .season-standouts small { color: #b8bcc1; font-size: .75rem; }
.season-standouts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; border-top: 1px solid #ffffff1a; padding-top: 12px; }
.season-standouts > div { display: grid; gap: 4px; min-width: 0; }
.season-standouts strong { font-size: .92rem; }
.season-finals summary { cursor: pointer; min-height: 44px; align-content: center; font-weight: 700; }
.season-finals summary span { font-size: .75rem; font-weight: 400; color: #d4bb7e; margin-left: 8px; }
.season-finals h4 { font-size: .78rem; color: #d4bb7e; margin: 18px 0 6px; }
.season-finals .season-result-row strong small { display: block; font-size: .65rem; }
.season-wrap.is-premier { box-shadow: inset 3px 0 #edbc58; }
.is-grand-final #match-stadium { border-color: #d1a64d; box-shadow: 0 0 28px #dca63822; }
.is-grand-final #match-round-label { color: #f3c662; letter-spacing: .12em; }
#match-crowd { color: #d4bb7e; font-size: .75rem; }
@media (max-width: 650px) {
  .season-wrap, .season-finals { padding: 12px; }
  .season-wrap-heading { gap: 8px; }
  .season-finish small { max-width: 110px; }
  .season-finals summary span { display: block; margin: 5px 0 0; }
  .season-standouts strong { font-size: .82rem; }
}
