:root{color-scheme:dark;--bg: #0f1613;--bg-soft: #17211c;--paper: #efe4c8;--card: rgba(19, 28, 23, .26);--card-strong: rgba(13, 21, 17, .36);--card-soft: rgba(25, 36, 29, .2);--line: rgba(228, 212, 171, .18);--line-strong: rgba(228, 212, 171, .34);--text: #f4ecd8;--muted: #b8ad93;--accent: #d5b36a;--accent-soft: #f1d8a0;--exact: #8fb988;--good: #d6c37e;--miss: #bb7f69;--current: #f0e4c8;--shadow: 0 30px 80px rgba(3, 8, 5, .42);font-family:Instrument Sans,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{position:relative;margin:0;min-width:320px;color:var(--text);background:radial-gradient(circle at top,rgba(213,179,106,.14),transparent 22%),radial-gradient(circle at 75% 18%,rgba(255,255,255,.05),transparent 18%),linear-gradient(#090e0bad,#090e0bd1),url(/assets/stadium-crowd-xG0bo_H0.png) center top / cover no-repeat,linear-gradient(180deg,#17211c,#101814 56%,#0b100d);font-family:Instrument Sans,Segoe UI,sans-serif;background-attachment:fixed}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none}body:before{opacity:.12;background:linear-gradient(#ffffff0a,#ffffff0a),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.18'/%3E%3C/svg%3E");mix-blend-mode:soft-light}body:after{opacity:.18;background:radial-gradient(circle at 50% 10%,rgba(213,179,106,.14),transparent 24%),repeating-linear-gradient(90deg,transparent 0,transparent 68px,rgba(213,179,106,.03) 68px,rgba(213,179,106,.03) 69px)}button,input{font:inherit}button{border:0}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{position:relative;width:min(1320px,calc(100% - 24px));margin:0 auto;padding:20px 0 32px;overflow-x:clip}.app-shell-complete{display:grid;min-height:100vh;place-items:center}.background-wash{position:absolute;inset:0;background:radial-gradient(circle at 50% 16%,rgba(255,250,241,.05),transparent 24%),radial-gradient(circle at 100% 42%,rgba(213,179,106,.08),transparent 24%);pointer-events:none}.game-header,.progress-rail,.match-card,.completion-screen{position:relative;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,250,241,.04),transparent 28%),var(--card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.game-header:before,.progress-rail:before,.match-card:before,.completion-screen:before{content:"";position:absolute;inset:10px;border:1px solid rgba(239,228,200,.06);border-radius:inherit;pointer-events:none}.game-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:22px 26px;border-radius:30px;overflow:hidden}.header-copy{max-width:620px}.header-kicker{margin:14px 0 0;color:var(--muted);font-size:.96rem;letter-spacing:.05em}.header-meta{display:grid;justify-items:end;gap:14px}.tab-row{display:inline-flex;gap:8px;padding:6px;border-radius:999px;background:#efe4c80a;border:1px solid rgba(213,179,106,.18)}.tab-row-floating{margin-bottom:18px}.tab-button{border-radius:999px;padding:11px 18px;color:var(--muted);background:transparent;font-size:.92rem;font-weight:600;letter-spacing:.03em}.tab-button.is-active{background:linear-gradient(180deg,#e2c787,#c79f57);color:#111814;box-shadow:inset 0 1px #fffaf159}.screen-title{margin:0;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.3em;text-transform:uppercase}.hero-title{margin:10px 0 0;font-family:Fraunces,serif;font-size:clamp(3rem,7vw,5.6rem);line-height:.88;font-weight:600;letter-spacing:.01em}.match-counter{margin:0;padding:12px 18px;border:1px solid rgba(213,179,106,.2);border-radius:999px;background:#080c0a42;font-family:Fraunces,serif;font-size:clamp(1.35rem,3vw,1.95rem);font-weight:600;letter-spacing:.02em}.game-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;margin-top:16px;align-items:stretch}.leaderboard-screen{margin-top:16px}.leaderboard-screen-card{width:min(900px,100%);margin:0 auto}.progress-rail{padding:18px 18px 20px;border-radius:26px;background:linear-gradient(180deg,rgba(213,179,106,.08),transparent 22%),var(--card-soft)}.rail-heading,.match-card-header,.practice-face-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.archive-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(213,179,106,.22);border-radius:999px;background:#d5b36a14;color:var(--accent-soft);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.progress-copy{display:flex;flex-direction:column;gap:8px}.progress-copy span{color:var(--muted);font-size:.86rem;text-transform:uppercase;letter-spacing:.12em}.progress-copy strong{font-family:Fraunces,serif;font-size:1.55rem;font-weight:600}.progress-bar{margin-top:20px;height:8px;border-radius:999px;background:#fff8e80f;overflow:hidden}.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8ea482,var(--accent))}.fixture-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:22px}.fixture-cell{aspect-ratio:1;border-radius:8px;background:#fff8e814;box-shadow:inset 0 0 0 1px #d5b36a0a}.fixture-cell.pending{background:#ffffff14}.fixture-cell.current{background:var(--current);box-shadow:0 0 0 1px #f0ebe033}.fixture-cell.exact{background:var(--exact)}.fixture-cell.good{background:var(--good)}.fixture-cell.miss{background:var(--miss)}.match-stage{min-width:0}.practice-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;margin-top:16px}.practice-rail{align-self:start}.practice-note{margin:14px 0 0;color:var(--muted);line-height:1.5;font-size:.9rem;max-width:22ch}.practice-stats-grid{display:grid;gap:10px}.practice-stat-card{display:grid;gap:10px;padding:13px 14px 12px;border-radius:18px;border:1px solid rgba(213,179,106,.14);background:#fff8e809}.practice-stat-card.is-weak{background:linear-gradient(180deg,#d989891a,#ffffff08)}.practice-stat-card.is-active{background:linear-gradient(180deg,#efe2a614,#ffffff08)}.practice-stat-card.is-stable{background:linear-gradient(180deg,#8ecf981a,#ffffff08)}.practice-stat-bar{height:8px;border-radius:999px;overflow:hidden;background:#ffffff0f}.practice-stat-bar span{display:block;height:100%;border-radius:inherit}.practice-stat-bar.is-neutral span{background:linear-gradient(90deg,#ffffff52,#ffffff2e)}.practice-stat-bar.is-weak span{background:linear-gradient(90deg,#d98989,#efb36b)}.practice-stat-bar.is-active span{background:linear-gradient(90deg,#efe2a6,#d7d089)}.practice-stat-bar.is-stable span{background:linear-gradient(90deg,#72c887,#8ecf98)}.practice-card{min-height:auto;align-content:start;justify-items:center;gap:12px;padding-top:20px;padding-bottom:6px}.practice-empty{display:grid;gap:14px;justify-items:center;text-align:center}.practice-empty h2{margin:0;font-family:Fraunces,serif;font-size:clamp(2.8rem,6vw,4.8rem);line-height:.92}.practice-empty p{margin:0;max-width:34ch;color:var(--muted);line-height:1.5}.practice-flip-card{width:min(760px,100%);min-height:340px;padding:0;border:0;background:transparent;perspective:1400px;cursor:pointer}.practice-flip-inner{position:relative;min-height:340px;transition:transform .52s cubic-bezier(.22,.74,.18,1);transform-style:preserve-3d}.practice-flip-card.is-flipped .practice-flip-inner{transform:rotateY(180deg)}.practice-face{position:absolute;inset:0;display:grid;align-content:center;gap:24px;padding:28px;border-radius:30px;border:1px solid rgba(213,179,106,.18);background:linear-gradient(180deg,rgba(255,248,232,.06),transparent 18%),linear-gradient(180deg,#111b16e6,#0b120ef5);backface-visibility:hidden;box-shadow:inset 0 1px #fff8e814,0 22px 48px #0000003d}.practice-face.is-front{background:radial-gradient(circle at top,rgba(213,179,106,.14),transparent 28%),linear-gradient(180deg,#16221ceb,#0b120ef5)}.practice-face.is-back{transform:rotateY(180deg);background:radial-gradient(circle at top,rgba(143,185,136,.16),transparent 30%),linear-gradient(180deg,#18251ef0,#0c130ffa)}.practice-face p{margin:0;max-width:34ch;justify-self:center;color:var(--muted);line-height:1.5}.practice-matchup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center;min-height:190px}.practice-team{display:grid;gap:10px;justify-items:center;text-align:center}.practice-team strong{font-family:Fraunces,serif;max-width:8ch;font-size:clamp(2.1rem,3.8vw,3.25rem);line-height:.92;text-wrap:balance}.practice-meta-block{display:grid;gap:6px;justify-items:center}.practice-meta{margin:0;color:var(--text);font-size:.94rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.practice-flag{font-size:clamp(2.8rem,5.5vw,4rem)}.practice-versus{color:var(--accent);font-family:Fraunces,serif;font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;letter-spacing:.08em}.practice-versus.is-score{font-size:clamp(2.2rem,6vw,4.6rem);color:var(--text);line-height:.92;text-shadow:0 8px 24px rgba(0,0,0,.28)}.practice-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;width:min(760px,100%);margin-top:16px;margin-bottom:0}.practice-actions button.is-selected{box-shadow:0 0 0 2px #d7d08980;transform:translateY(-1px)}.match-card{display:grid;min-height:min(72vh,680px);padding:28px 32px 32px;border-radius:32px;place-items:center;background:radial-gradient(circle at top,rgba(213,179,106,.12),transparent 30%),linear-gradient(180deg,rgba(239,228,200,.04),transparent 16%),var(--card-strong)}.match-card.practice-card{min-height:auto;align-content:start;justify-items:center;padding-top:20px;padding-bottom:6px}.match-card.is-revealing{padding:32px}.match-stage-label{margin:0 0 24px;color:var(--accent);font-size:clamp(1.2rem,2.4vw,1.8rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-align:center}.score-row{display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);gap:24px;width:100%;align-items:center}.team-block{display:grid;gap:22px;justify-items:center;min-width:0}.team-nameplate{display:grid;gap:10px;justify-items:center;text-align:center;min-width:0}.team-label{color:var(--muted);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}.team-nameplate h2{margin:0;font-family:Fraunces,serif;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:600;line-height:.92;text-wrap:balance;overflow-wrap:anywhere}.team-flag{font-size:clamp(2rem,4vw,2.75rem);filter:saturate(.82)}.score-box{width:min(220px,100%);height:clamp(120px,22vw,170px);border:1px solid rgba(213,179,106,.18);border-radius:28px;background:linear-gradient(180deg,#fffaf10f,#fffaf108),#ffffff05;color:var(--text);text-align:center;font-family:Fraunces,serif;font-size:clamp(3.6rem,8vw,5.8rem);font-weight:600;outline:none;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.score-box:focus{border-color:#d5b36a8c;background:#fffaf114;box-shadow:0 0 0 3px #d5b36a1f;transform:translateY(-1px)}.match-divider{display:grid;place-items:center;width:112px;height:112px;margin:0 auto;border-radius:999px;color:var(--muted);font-family:Fraunces,serif;font-size:1.6rem;font-weight:600;letter-spacing:.2em;border:1px solid rgba(213,179,106,.18);background:radial-gradient(circle at top,#d5b36a14,#ffffff05)}.primary-button,.secondary-button{border-radius:999px;padding:15px 28px;font-size:.95rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform .18s ease,opacity .18s ease,background .18s ease,border-color .18s ease}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button{background:linear-gradient(180deg,#e1c98f,#c8a15d);color:#131813;box-shadow:inset 0 1px #fffaf157}.secondary-button{background:transparent;color:var(--text);border:1px solid rgba(213,179,106,.18)}.submit-button{margin-top:28px;min-width:170px}.play-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.reveal-card{display:grid;gap:18px;justify-items:center;text-align:center;animation:reveal-in .26s ease}.reveal-card p,.completion-rank,.completion-note,.share-feedback{margin:0}.reveal-card p{font-size:.88rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.reveal-card h1{margin:0;max-width:18ch;font-family:Fraunces,serif;font-size:clamp(2.6rem,5.2vw,5rem);line-height:.94;font-weight:600;text-wrap:balance}.reveal-card strong{font-family:Fraunces,serif;font-size:clamp(2rem,4vw,3.3rem);font-weight:600}.reveal-card.exact{color:var(--exact)}.reveal-card.good{color:var(--good)}.reveal-card.miss{color:var(--miss)}.completion-screen{width:min(760px,100%);padding:32px;border-radius:32px;text-align:center;background:var(--card)}.completion-screen h1{margin:18px 0 0;font-family:Fraunces,serif;font-size:clamp(3.4rem,9vw,6.2rem);line-height:.88;font-weight:600}.completion-points-label{margin:18px 0 0;color:var(--muted);font-size:.85rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.completion-rank{margin-top:12px;color:var(--accent);font-family:Fraunces,serif;font-size:1.55rem;font-weight:600}.completion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.completion-grid div{padding:20px 16px;border-radius:22px;background:#fff8e808;border:1px solid rgba(213,179,106,.12)}.completion-grid span{display:block;color:var(--muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.completion-grid strong{display:block;margin-top:10px;font-family:Fraunces,serif;font-size:1.45rem;font-weight:600}.completion-note{max-width:48ch;margin:24px auto 0;color:var(--muted);line-height:1.5}.leaderboard-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:28px;text-align:left}.save-score-spotlight{margin-top:30px}.save-score-badge{display:inline-flex;margin-bottom:12px;padding:9px 14px;border-radius:999px;background:linear-gradient(180deg,#e1c98f47,#c8a15d29);border:1px solid rgba(225,201,143,.44);color:var(--accent-soft);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.leaderboard-save,.leaderboard-list{padding:22px;border-radius:24px;background:#fff8e808;border:1px solid rgba(213,179,106,.12)}.leaderboard-save-hero{position:relative;padding:28px;background:radial-gradient(circle at top,rgba(225,201,143,.2),transparent 38%),linear-gradient(180deg,#fff8e812,#fff8e808),#1b261fe0;border:1px solid rgba(225,201,143,.34);box-shadow:inset 0 1px #fff8e814,0 20px 60px #0000003d;animation:save-score-pulse 2.8s ease-in-out infinite}.leaderboard-save-row{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:14px;align-items:end;margin-top:22px}.leaderboard-form-hero{margin-top:0}.leaderboard-button-hero{min-height:110px;font-size:1.08rem;letter-spacing:.12em}.leaderboard-copy h3{margin:10px 0 0;font-family:Fraunces,serif;font-size:2rem;font-weight:600}.leaderboard-copy p,.leaderboard-empty,.leaderboard-feedback{margin:10px 0 0;color:var(--muted);line-height:1.5}.leaderboard-form{display:grid;gap:12px;margin-top:18px}.leaderboard-input{width:100%;padding:14px 16px;border:1px solid rgba(213,179,106,.14);border-radius:16px;background:#fff8e808;color:var(--text);outline:none}.leaderboard-input:focus{border-color:#d5b36a8c;background:#fff8e80f}.leaderboard-button{width:100%}.leaderboard-rows{display:grid;gap:10px;margin-top:18px}.leaderboard-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid rgba(213,179,106,.12)}.leaderboard-row:first-child{border-top:0;padding-top:0}.leaderboard-rank{color:var(--accent);font-weight:800;font-family:Fraunces,serif;font-size:1.4rem}.leaderboard-person,.leaderboard-score{display:grid;gap:4px}.attempt-review-screen{width:min(920px,100%)}.attempt-review-list{display:grid;gap:10px;margin-top:18px}.attempt-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.attempt-review-section-toggle{flex-shrink:0;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(213,179,106,.18);background:#fff8e80a;color:var(--accent-soft);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.attempt-review-summary{display:grid;grid-template-columns:minmax(260px,1.8fr) minmax(120px,.8fr) minmax(120px,auto) auto;gap:20px;align-items:start}.attempt-review-row{display:grid;grid-template-columns:minmax(260px,1.8fr) minmax(120px,.8fr) minmax(120px,auto);gap:20px;align-items:start;padding:14px 16px;border-radius:18px;border:1px solid rgba(213,179,106,.12);background:transparent}.attempt-review-row-collapsible{grid-template-columns:1fr}.attempt-review-detail{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(213,179,106,.12)}.attempt-review-detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.attempt-review-detail-row span{color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.attempt-review-detail-row strong{text-align:right;font-size:.95rem}.attempt-review-row.is-exact,.attempt-review-row.is-good,.attempt-review-row.is-miss{border-color:#d5b36a1f}.attempt-review-match,.attempt-review-score,.attempt-review-points{display:grid;gap:4px;min-width:0}.attempt-review-match{grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:12px}.attempt-review-match-copy{display:grid;gap:4px}.attempt-review-match-copy strong{font-size:1.05rem;line-height:1.2;text-wrap:balance}.attempt-review-stage{color:var(--muted);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.attempt-review-index{color:var(--accent);font-family:Fraunces,serif;font-size:1.1rem;font-weight:600;line-height:1.1;padding-top:2px}.attempt-review-match span,.attempt-review-score span,.attempt-review-points span{color:var(--muted);font-size:.9rem}.attempt-review-match strong,.attempt-review-score strong,.attempt-review-points strong{line-height:1.2}.attempt-review-points{text-align:right;justify-items:end}.attempt-review-status{display:inline-flex;align-items:center;justify-content:flex-end;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(213,179,106,.14);background:#0a0f0c3d}.attempt-review-toggle{display:inline-flex;align-items:center;gap:8px;align-self:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(213,179,106,.14);color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;background:#0a0f0c2e;cursor:pointer}.attempt-review-toggle:after{content:"▾";font-size:.95rem;line-height:1;transition:transform .16s ease}.attempt-review-toggle[aria-expanded=true]{background:#d5b36a29;color:var(--accent-soft)}.attempt-review-toggle[aria-expanded=true]:after{transform:rotate(180deg)}.attempt-review-score strong,.attempt-review-points strong{font-size:1.05rem}.leaderboard-person span,.leaderboard-score span{color:var(--muted);font-size:.9rem}.completion-actions{display:flex;justify-content:center;gap:12px;margin-top:28px;flex-wrap:wrap}.site-footer{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;width:min(1320px,calc(100% - 24px));margin:28px auto;padding:0 0 12px}.footer-link{padding:0;border:0;background:transparent;color:var(--muted);font-size:.92rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.legal-screen{width:min(840px,100%);text-align:left}.legal-title{margin:10px 0 0;font-family:Fraunces,serif;font-size:clamp(2.6rem,6vw,4.4rem);line-height:.9;font-weight:600}.legal-intro{margin-left:0;margin-right:0;max-width:54ch}.legal-sections{display:grid;gap:16px;margin-top:28px}.legal-section{padding:20px 18px;border-radius:22px;border:1px solid rgba(213,179,106,.12);background:#fff8e808}.legal-section h2{margin:0;font-family:Fraunces,serif;font-size:1.4rem;font-weight:600}.legal-section p{margin:12px 0 0;color:var(--muted);line-height:1.6}.share-feedback{margin-top:14px;color:var(--muted);min-height:1.3em}@keyframes reveal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes save-score-pulse{0%,to{transform:translateY(0);box-shadow:inset 0 1px #fff8e814,0 20px 60px #0000003d}50%{transform:translateY(-2px);box-shadow:inset 0 1px #fff8e81f,0 26px 70px #0000004d}}@media(max-width:980px){.game-layout,.practice-shell,.practice-matchup,.leaderboard-panel,.score-row,.completion-grid{grid-template-columns:1fr}.game-layout,.practice-shell{gap:16px}.progress-rail{order:2}.match-card{min-height:auto}.fixture-grid{grid-template-columns:repeat(11,1fr)}.score-row{gap:18px}.match-divider{width:92px;height:92px}.practice-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leaderboard-save-row{grid-template-columns:1fr}.leaderboard-button-hero{min-height:54px}.attempt-review-row{grid-template-columns:1fr;justify-items:start}.attempt-review-summary{grid-template-columns:1fr}.attempt-review-header{flex-direction:column;align-items:stretch}.attempt-review-section-toggle{align-self:flex-start}.attempt-review-match{width:100%}.attempt-review-score,.attempt-review-points{text-align:left;justify-items:start}.attempt-review-status{justify-content:center}.attempt-review-toggle{justify-self:start}.attempt-review-detail-row{flex-direction:column;align-items:flex-start;gap:4px}.attempt-review-detail-row strong{text-align:left}}@media(max-width:720px){.app-shell{width:calc(100% - 16px);padding:12px 0 22px}.game-header,.progress-rail,.match-card,.completion-screen{padding:18px;border-radius:22px}.game-header{align-items:flex-start;flex-direction:column;gap:14px}.header-meta{justify-items:start;width:100%;gap:10px}.tab-row{width:100%;gap:6px;padding:5px}.tab-button{flex:1;min-height:44px;padding:10px 12px;font-size:.9rem}.hero-title{margin-top:8px;font-size:clamp(1.7rem,10vw,2.5rem);line-height:.96}.match-counter{font-size:1rem}.practice-flip-card,.practice-flip-inner{min-height:320px}.practice-face{padding:18px;gap:14px}.practice-matchup{min-height:172px}.practice-stats-grid{grid-template-columns:1fr}.practice-team strong{font-size:clamp(1.55rem,8vw,2.35rem)}.practice-meta{font-size:.8rem}.practice-note{margin-top:10px;font-size:.86rem}.match-card,.match-card.is-revealing{padding:22px 16px}.match-stage-label{margin-bottom:18px;font-size:clamp(1rem,5vw,1.35rem);letter-spacing:.08em}.score-row{gap:16px}.team-block{width:100%;gap:16px}.team-nameplate{gap:10px}.team-nameplate h2{font-size:clamp(1.45rem,8.8vw,2.25rem)}.score-box{width:100%;max-width:180px;height:86px;border-radius:22px;font-size:2.8rem}.match-divider{width:72px;height:72px;font-size:1rem;letter-spacing:.12em}.submit-button{width:100%;margin-top:24px;min-width:0}.reveal-card h1{font-size:clamp(1.7rem,8.5vw,2.5rem)}.reveal-card strong{font-size:1.5rem}.completion-screen h1{font-size:clamp(2.4rem,14vw,4rem)}.completion-grid{gap:10px;margin-top:22px}.completion-grid div,.leaderboard-save,.leaderboard-list{padding:16px;border-radius:18px}.leaderboard-copy h3{font-size:1.25rem}.leaderboard-row{grid-template-columns:1fr;gap:6px;justify-items:start;padding:12px 0}.leaderboard-score{width:100%;grid-auto-flow:column;justify-content:space-between;align-items:baseline}.completion-actions{flex-direction:column;gap:10px}.site-footer{width:calc(100% - 16px);gap:12px;margin-bottom:22px}.primary-button,.secondary-button,.practice-actions .primary-button,.practice-actions .secondary-button{width:100%;min-height:48px;padding:14px 20px}.fixture-grid{grid-template-columns:repeat(8,1fr)}}@media(max-width:480px){.app-shell{width:calc(100% - 12px);padding-top:8px}.game-layout,.practice-shell,.leaderboard-screen{margin-top:14px}.game-header,.progress-rail,.match-card,.completion-screen{padding:16px 14px;border-radius:20px}.site-footer{width:calc(100% - 12px)}.screen-title{font-size:.72rem;letter-spacing:.18em}.hero-title{font-size:clamp(1.55rem,10vw,2rem)}.progress-copy strong{font-size:1rem}.fixture-grid{gap:6px;margin-top:18px;grid-template-columns:repeat(6,1fr)}.fixture-cell{border-radius:5px}.practice-flip-card,.practice-flip-inner{min-height:280px}.practice-card{padding-top:16px;padding-bottom:4px}.practice-face{padding:16px 14px}.practice-matchup{gap:12px;min-height:148px}.practice-team strong{max-width:7ch}.practice-flag{font-size:2rem}.practice-versus.is-score{font-size:clamp(1.8rem,10vw,2.7rem)}.match-stage-label{margin-bottom:14px}.score-row{gap:14px}.team-flag{font-size:1.7rem}.team-nameplate h2{font-size:clamp(1.25rem,8vw,1.8rem)}.score-box{max-width:152px;height:76px;font-size:2.35rem}.match-divider{width:62px;height:62px;font-size:.88rem}.legal-section{padding:16px 14px;border-radius:18px}.completion-note,.leaderboard-copy p,.leaderboard-empty,.leaderboard-feedback,.share-feedback{font-size:.92rem}}
