:root{--ink-950: #070b14;--ink-900: #0c1322;--ink-800: #121c30;--ink-700: #1b2a45;--ink-line: #26375a;--text-hi: #f2f6fc;--text-mid: #9fb0cc;--text-low: #5e6f8f;--accent: #23d2e2;--accent-ink: #062229;--gold: #e9c556;--grass-hi: #4e9c55;--grass-lo: #417f47;--chalk: rgba(255, 255, 255, .85);--team-home: #e24545;--team-home-dark: #7a2323;--team-away: #4179e2;--team-away-dark: #1f3a7a;--win: #38c172;--loss: #e24545;--foul: #ff8a3d;--caution: #f4d03f;--rarity-bronze-a: #6e421f;--rarity-bronze-b: #b87a42;--rarity-silver-a: #7e868d;--rarity-silver-b: #dde2e6;--rarity-gold-a: #9c7108;--rarity-gold-b: #ffdf7e;--rarity-special-a: #8a1fa0;--rarity-special-b: #2fe0d0;--rarity-special-a-rgb: 138, 31, 160;--rarity-elite-a: #2d3fae;--rarity-elite-b: #63b3ff;--rarity-megaElite-a: #1b0f5c;--rarity-megaElite-b: #b26bff;--gem: #8ab4ff;--font-display: "Oswald", "Arial Narrow", sans-serif;--font-body: "Inter", system-ui, sans-serif;--radius-chrome: 3px;--radius-card: 10px;--radius-token: 7px;--shadow-token: 0 1px 3px rgba(0, 0, 0, .5);--shadow-float: 0 8px 24px rgba(0, 0, 0, .45);--glow-special: 0 0 8px var(--rarity-special-b), 0 0 16px rgba(var(--rarity-special-a-rgb), .55);--bevel-hi: rgba(255, 255, 255, .09);--bevel-hi-strong: rgba(255, 255, 255, .14);--bevel-lo: rgba(0, 0, 0, .4);--shadow-btn-rest: 0 1px 2px rgba(0, 0, 0, .4), 0 3px 8px rgba(0, 0, 0, .3);--shadow-btn-hover: 0 2px 4px rgba(0, 0, 0, .45), 0 10px 20px rgba(0, 0, 0, .4);--shadow-panel: 0 2px 6px rgba(0, 0, 0, .35), 0 16px 32px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html{overflow-x:hidden}body{font-family:var(--font-body);background:var(--ink-950);color:var(--text-hi);margin:0;padding:max(16px,calc(16px + env(safe-area-inset-top))) max(16px,calc(16px + env(safe-area-inset-right))) max(16px,calc(16px + env(safe-area-inset-bottom))) max(16px,calc(16px + env(safe-area-inset-left)));-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}h1{font-size:18px;margin:0 0 8px}button,input,select,textarea{font-family:inherit;color:inherit}:where(button:not(.token):not(.pack-card-flip)){background:linear-gradient(180deg,var(--ink-700) 0%,var(--ink-800) 100%);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);padding:8px 12px;font-family:var(--font-body);font-size:13px;box-shadow:inset 0 1px 0 var(--bevel-hi),inset 0 -1px 0 var(--bevel-lo),var(--shadow-btn-rest);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,filter .12s ease,background .12s ease}:where(button:not(.token):not(.pack-card-flip)):hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px 0 var(--bevel-hi-strong),inset 0 -1px 0 var(--bevel-lo),var(--shadow-btn-hover)}:where(button:not(.token):not(.pack-card-flip)):active:not(:disabled){transform:translateY(0);box-shadow:inset 0 2px 4px var(--bevel-lo);filter:brightness(.96)}:where(button:not(.token):not(.pack-card-flip)):disabled{cursor:not-allowed}:where(button:not(.token):not(.pack-card-flip)):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.layout{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.top-bar{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 4px;margin-bottom:12px;border-bottom:1px solid var(--ink-line)}.top-bar-wordmark{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid)}.top-bar-coins{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--gold);background:none;border:none;padding:4px 8px;border-radius:var(--radius-chrome);cursor:pointer}.top-bar-coins:hover{background:var(--ink-800)}.top-bar-coins:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.top-bar-gems{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--gem);background:none;border:none;padding:4px 8px;border-radius:var(--radius-chrome);cursor:pointer}.top-bar-gems:hover{background:var(--ink-800)}.top-bar-gems:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.top-bar-account{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--accent);background:none;border:none;padding:4px 8px;border-radius:var(--radius-chrome);cursor:pointer}.top-bar-account:hover{background:var(--ink-800)}.top-bar-account:focus-visible{outline:2px solid var(--accent);outline-offset:2px}span.top-bar-account.is-online{color:var(--text-mid);font-weight:500;cursor:default;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bar-right{display:flex;align-items:center;gap:4px}.top-bar-settings{background:none;border:none;font-size:16px;line-height:1;padding:6px 8px;border-radius:var(--radius-chrome);cursor:pointer;color:var(--text-mid)}.top-bar-settings:hover{background:var(--ink-800);color:var(--text-hi)}.top-bar-settings:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell-screen{max-width:640px;margin:0 auto;padding:24px 4px}.home-screen{position:relative;padding-top:64px}.home-screen:before{content:"";position:absolute;top:-80px;left:-120px;width:640px;height:640px;background:radial-gradient(circle,rgba(35,210,226,.14) 0%,rgba(35,210,226,.05) 45%,transparent 72%);pointer-events:none;z-index:0}.home-screen>*{position:relative;z-index:1}.hero-eyebrow{display:block;font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.hero-title{font-family:var(--font-display);font-weight:600;font-size:56px;line-height:.95;text-transform:uppercase;letter-spacing:.01em;margin:0 0 10px;color:var(--text-hi);background:linear-gradient(180deg,#fff,#c9d6ea);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 12px 40px rgba(35,210,226,.18)}.hero-tagline{font-size:14px;color:var(--text-mid);margin:0 0 32px;max-width:46ch}.mode-select-screen h2{font-family:var(--font-display);font-weight:500;font-size:18px;text-transform:uppercase;letter-spacing:.04em;margin:16px 0 12px;color:var(--text-hi)}.back-link{background:none;border:none;color:var(--accent);font-size:13px;font-family:var(--font-body);font-weight:600;cursor:pointer;padding:4px 0;margin-bottom:8px}.back-link:hover{text-decoration:underline}.back-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tile-row{display:flex;gap:14px;flex-wrap:wrap}.tile{flex:1 1 220px;min-width:200px;text-align:left;background:linear-gradient(165deg,var(--ink-700) 0%,var(--ink-800) 55%);border:1px solid var(--ink-line);border-left:3px solid transparent;border-radius:var(--radius-chrome);padding:20px 18px;cursor:pointer;color:var(--text-hi);transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.tile:hover:not(:disabled){background:linear-gradient(165deg,var(--ink-700) 0%,#182643 60%);border-left-color:var(--accent)}.tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tile-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:12px;border-radius:var(--radius-chrome);font-size:18px;background:#23d2e21a;box-shadow:inset 0 0 0 1px #23d2e240}.tile-title{display:block;font-family:var(--font-display);font-weight:600;font-size:18px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.tile-desc{display:block;font-size:13px;color:var(--text-mid)}.tile:disabled{opacity:.45;cursor:not-allowed}.tile:disabled:hover{background:linear-gradient(165deg,var(--ink-700) 0%,var(--ink-800) 55%);border-left-color:transparent}.online-auth-card{max-width:360px;margin:16px 0 0;padding:24px;background:linear-gradient(165deg,var(--ink-800) 0%,var(--ink-900) 100%);border:1px solid var(--ink-line);border-radius:var(--radius-card);box-shadow:inset 0 1px 0 var(--bevel-hi),var(--shadow-panel)}.online-auth-card h2{font-family:var(--font-display);font-weight:500;font-size:18px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;color:var(--text-hi)}.online-auth-card .tile-desc{margin:0 0 18px}.online-auth-google{display:flex;justify-content:center;margin-bottom:16px;min-height:40px}.online-auth-divider{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--text-low);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.online-auth-divider:before,.online-auth-divider:after{content:"";flex:1;height:1px;background:var(--ink-line)}.online-auth-field{margin-bottom:14px}.online-auth-field label{display:block;font-family:var(--font-display);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mid);margin-bottom:6px}.online-auth-field-hint{text-transform:none;letter-spacing:normal;color:var(--text-low)}.online-auth-field input{display:block;width:100%;background:var(--ink-950);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-hi);font-family:var(--font-body);font-size:14px;padding:10px 12px;box-shadow:inset 0 1px 3px #0006;transition:border-color .12s ease,box-shadow .12s ease}.online-auth-field input::placeholder{color:var(--text-low)}.online-auth-field input:focus-visible{outline:none;border-color:var(--accent);box-shadow:inset 0 1px 3px #0006,0 0 0 2px #23d2e240}.online-auth-actions{display:flex;gap:10px;margin-top:20px}.online-auth-btn-primary,.online-auth-btn-secondary{flex:1;padding:11px 14px;font-family:var(--font-display);font-weight:500;font-size:13px;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-chrome);cursor:pointer}.online-auth-btn-primary{background:linear-gradient(180deg,var(--accent) 0%,#16a3b0 100%);border:1px solid var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #0000004d,0 4px 12px #23d2e240}.online-auth-btn-primary:hover{filter:brightness(1.08)}.online-auth-btn-secondary{background:var(--ink-800);border:1px solid var(--ink-line);color:var(--text-mid)}.online-auth-btn-secondary:hover{color:var(--text-hi);border-color:var(--text-mid)}.auth-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:16px;background:#04070eb8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.auth-modal-card{position:relative;width:100%;max-width:360px}.auth-modal-card .online-auth-card{margin:0}.auth-modal-close{position:absolute;top:-14px;right:-14px;width:32px;height:32px;border-radius:50%;background:var(--ink-800);border:1px solid var(--ink-line);color:var(--text-hi);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.auth-modal-close:hover{border-color:var(--text-mid)}.card-zoom-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:16px;background:#04070eb8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card-zoom-card{position:relative}.card-zoom-close{position:absolute;top:-14px;right:-14px;width:32px;height:32px;border-radius:50%;background:var(--ink-800);border:1px solid var(--ink-line);color:var(--text-hi);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}.card-zoom-close:hover{border-color:var(--text-mid)}.tutorial-backdrop-panel{position:fixed;z-index:800;background:#04070e9e;pointer-events:auto}.tutorial-spotlight-ring{position:fixed;z-index:801;border:3px solid var(--gold);border-radius:var(--radius-card);box-shadow:0 0 0 3px #04070e66,0 0 18px #d4af378c;pointer-events:none;animation:tutorial-spotlight-in .2s ease-out}@keyframes tutorial-spotlight-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tutorial-character{position:fixed;z-index:802;object-fit:contain;pointer-events:none;filter:drop-shadow(0 14px 22px rgba(0,0,0,.55));-webkit-mask-image:radial-gradient(closest-side,black 56%,transparent 100%);mask-image:radial-gradient(closest-side,black 56%,transparent 100%);animation:tutorial-character-float 3.4s ease-in-out infinite}@keyframes tutorial-character-float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-16px) rotate(2deg)}}.tutorial-speech-bubble{position:fixed;z-index:803;padding:16px 20px;border-radius:26px;background:#fbfbf6;color:#17181c;border:3px solid #17181c;font-size:15px;line-height:1.5;font-weight:600;box-shadow:0 12px 30px #00000080;pointer-events:auto}.tutorial-speech-bubble:before,.tutorial-speech-bubble:after{content:"";position:absolute;width:0;height:0;border-style:solid;left:var(--tutorial-tail-offset, 40px);transform:translate(-50%)}.tutorial-speech-bubble--tail-down:before{bottom:-20px;border-width:20px 14px 0 14px;border-color:#17181c transparent transparent transparent}.tutorial-speech-bubble--tail-down:after{bottom:-14px;border-width:16px 10px 0 10px;border-color:#fbfbf6 transparent transparent transparent}.tutorial-speech-bubble--tail-up:before{top:-20px;border-width:0 14px 20px 14px;border-color:transparent transparent #17181c transparent}.tutorial-speech-bubble--tail-up:after{top:-14px;border-width:0 10px 16px 10px;border-color:transparent transparent #fbfbf6 transparent}.tutorial-bubble-text{margin:0 0 10px}.tutorial-bubble-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.tutorial-bubble-next{border-radius:var(--radius-chrome);background:#17181c;color:#fbfbf6;border:none;padding:7px 16px;font-weight:700;cursor:pointer}.tutorial-bubble-skip{background:none;border:none;color:#55575e;font-size:12px;font-weight:500;text-decoration:underline;cursor:pointer;padding:4px}.tutorial-bubble-skip:hover{color:#17181c}.matchmaking-screen{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:40px}.matchmaking-screen h2{font-family:var(--font-display);font-weight:500;font-size:20px;text-transform:uppercase;letter-spacing:.03em;margin:28px 0 10px;color:var(--text-hi)}.matchmaking-screen .division-label{margin-bottom:14px}.matchmaking-screen .tile-desc{margin-bottom:18px}.radar{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.radar-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:radar-ping 2.4s cubic-bezier(.2,.6,.4,1) infinite}.radar-ring--1{animation-delay:0s}.radar-ring--2{animation-delay:.8s}.radar-ring--3{animation-delay:1.6s}@keyframes radar-ping{0%{transform:scale(.35);opacity:.65}to{transform:scale(1);opacity:0}}.radar-core{position:relative;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;background:radial-gradient(circle at 35% 30%,var(--ink-700) 0%,var(--ink-900) 100%);box-shadow:inset 0 0 0 1px #23d2e266,0 0 18px #23d2e259}.searching-dots span{display:inline-block;opacity:.2;animation:dot-pulse 1.4s ease-in-out infinite}.searching-dots span:nth-child(2){animation-delay:.2s}.searching-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,80%,to{opacity:.2}40%{opacity:1}}.online-cancel-btn{background:none;border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-mid);font-family:var(--font-display);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:10px 22px;cursor:pointer;transition:border-color .14s ease,color .14s ease}.online-cancel-btn:hover{color:var(--text-hi);border-color:var(--loss)}.online-cancel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lobby-split{display:flex;align-items:stretch;gap:18px;margin-top:20px}.lobby-path{flex:1 1 0;display:flex;flex-direction:column;padding:24px;background:linear-gradient(165deg,var(--ink-800) 0%,var(--ink-900) 100%);border:1px solid var(--ink-line);border-radius:var(--radius-card);box-shadow:inset 0 1px 0 var(--bevel-hi),var(--shadow-panel)}.lobby-path-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:14px;border-radius:50%;font-size:20px;background:#23d2e21a;box-shadow:inset 0 0 0 1px #23d2e24d}.lobby-path h3{font-family:var(--font-display);font-weight:500;font-size:16px;text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;color:var(--text-hi)}.lobby-path .tile-desc,.lobby-path .market-price-input-wrap{margin-bottom:18px}.lobby-cta{margin-top:auto;padding:12px 16px;font-family:var(--font-display);font-weight:500;font-size:13px;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-chrome);cursor:pointer;background:linear-gradient(180deg,var(--accent) 0%,#16a3b0 100%);border:1px solid var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #0000004d,0 4px 12px #23d2e240;transition:filter .14s ease}.lobby-cta:hover{filter:brightness(1.08)}.lobby-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lobby-divider{display:flex;align-items:center;justify-content:center;position:relative;width:1px;background:var(--ink-line)}.lobby-divider span{position:absolute;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ink-900);border:1px solid var(--ink-line);color:var(--text-low);font-family:var(--font-display);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.room-ticket{display:flex;flex-direction:column;align-items:center;gap:6px;margin:24px 0 18px;padding:22px 32px;background:linear-gradient(165deg,var(--ink-800) 0%,var(--ink-900) 100%);border:1px solid var(--ink-line);border-radius:var(--radius-card);box-shadow:inset 0 1px 0 var(--bevel-hi),var(--shadow-panel),0 0 0 1px #23d2e226}.room-ticket-label{font-family:var(--font-display);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-mid)}.room-ticket-code{font-family:var(--font-display);font-weight:600;font-size:40px;letter-spacing:.18em;color:var(--gold);font-variant-numeric:tabular-nums}.room-status{display:flex;align-items:center;gap:8px;color:var(--text-mid);font-size:13px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--foul);animation:status-dot-pulse 1.6s ease-in-out infinite}.room-status.is-ready .status-dot{background:var(--win);animation:none}@keyframes status-dot-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.scoreboard{display:flex;align-items:center;gap:8px;padding:7px 14px;margin-bottom:4px;max-width:420px;background:linear-gradient(180deg,var(--ink-700) 0%,var(--ink-800) 100%);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);box-shadow:inset 0 1px 0 var(--bevel-hi),0 4px 14px #00000059}.score-chip{width:4px;height:20px;border-radius:2px;flex:none}.score-chip.home{background:var(--team-home)}.score-chip.away{background:var(--team-away)}.score-abbr{display:flex;align-items:center;gap:4px;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--text-mid)}.poss-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.score-num{font-family:var(--font-display);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-hi)}.score-sep{color:var(--text-low);font-size:14px}.score-clock{margin-left:auto;display:flex;align-items:center;gap:6px;padding-left:10px;border-left:1px solid var(--ink-line)}.score-phase{font-family:var(--font-display);font-size:11px;font-weight:600;color:var(--gold)}.score-time{font-size:12px;color:var(--text-mid);font-variant-numeric:tabular-nums}.possession-line{font-size:11px;color:var(--text-low);margin-bottom:12px;max-width:420px}.match-screen{max-width:420px;text-align:center;padding:16px;margin-bottom:12px;border-radius:var(--radius-chrome);background:linear-gradient(180deg,var(--ink-700) 0%,var(--ink-800) 100%);border:1px solid var(--ink-line);box-shadow:inset 0 1px 0 var(--bevel-hi),var(--shadow-panel)}.match-screen.fulltime{border-color:var(--gold);box-shadow:inset 0 1px 0 var(--bevel-hi),0 0 0 1px #e9c55640,var(--shadow-panel)}.match-screen h2{font-family:var(--font-display);margin:0 0 6px;font-size:18px;text-transform:uppercase;letter-spacing:.03em}.match-screen .big-score{font-family:var(--font-display);font-size:32px;font-weight:600;margin:6px 0}.match-screen p:not(.big-score){margin:4px 0;font-size:13px;color:var(--text-mid)}.match-screen button{margin-top:10px;padding:8px 16px;cursor:pointer;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-chrome);font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:13px}.match-screen button:focus-visible{outline:2px solid var(--text-hi);outline-offset:2px}.pitch-surface{position:relative;width:min(100%,760px);aspect-ratio:var(--cols) / var(--rows);border-radius:4px;overflow:hidden;box-shadow:var(--shadow-panel)}.pitch-surface:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.22) 100%);pointer-events:none;z-index:5}.pitch-markings{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;overflow:visible}.pitch{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:repeat(var(--rows),1fr)}.pitch-row{display:grid;grid-template-columns:repeat(var(--cols),1fr)}.zone{background:transparent;border:none;cursor:default;position:relative}.zone.reachable{background:radial-gradient(ellipse at center,rgba(35,210,226,.35) 0%,rgba(35,210,226,.14) 65%,transparent 100%);cursor:pointer}.zone-badge{position:absolute;top:1px;left:2px;font-family:var(--font-display);font-size:9px;color:var(--accent);font-weight:600;pointer-events:none}.token small{display:block;font-size:11px;color:var(--accent)}.token-name-short{display:none}.token-name-full{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.token-inner{display:block;transform-origin:center;pointer-events:none}.anim-pass{animation:act-pass .42s ease}@keyframes act-pass{0%{transform:rotate(0) translate(0)}35%{transform:rotate(-12deg) translate(-2px)}60%{transform:rotate(14deg) translate(4px)}to{transform:rotate(0) translate(0)}}.anim-reposition{animation:act-reposition .52s ease-in-out}@keyframes act-reposition{0%{transform:skew(0) scale(1)}20%{transform:skew(-14deg) scaleX(1.15) scaleY(.95)}45%{transform:skew(-6deg) translate(3px)}70%{transform:skew(-11deg) translate(1px)}to{transform:skew(0) scale(1)}}.anim-shot{animation:act-shot .52s cubic-bezier(.3,0,.2,1)}@keyframes act-shot{0%{transform:rotate(0) scale(1)}30%{transform:rotate(-20deg) scale(1.22)}50%{transform:rotate(16deg) scale(.92)}70%{transform:rotate(-4deg) scale(1.05)}to{transform:rotate(0) scale(1)}}.anim-dribble{animation:act-dribble .52s ease-in-out}@keyframes act-dribble{0%{transform:translate(0) rotate(0)}18%{transform:translate(-5px) rotate(-8deg)}40%{transform:translate(5px) rotate(8deg)}60%{transform:translate(-4px) rotate(-6deg)}80%{transform:translate(3px) rotate(4deg)}to{transform:translate(0) rotate(0)}}.token{position:absolute;transform:translate(-50%,-50%);font-family:var(--font-body);font-size:13px;line-height:1.15;border-radius:var(--radius-token);padding:4px 6px;cursor:pointer;width:90px;border:3px solid transparent;outline:2px solid transparent;outline-offset:1px;text-align:center;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85);box-shadow:var(--shadow-token)}.token.team-home{border-color:var(--team-home);outline-color:var(--team-home);background:var(--team-home-dark)}.token.team-away{border-color:var(--team-away);outline-color:var(--team-away);background:var(--team-away-dark)}.token.team-home .token-ovr{background:var(--team-home-dark);border-color:var(--team-home);color:#fff}.token.team-away .token-ovr{background:var(--team-away-dark);border-color:var(--team-away);color:#fff}.token.selected{box-shadow:0 0 0 3px var(--accent)}.token.rarity-bronze{background:linear-gradient(160deg,var(--rarity-bronze-a),var(--rarity-bronze-b))}.token.rarity-silver{background:linear-gradient(160deg,var(--rarity-silver-a),var(--rarity-silver-b));color:#1a1a1a;text-shadow:none}.token.rarity-gold{background:linear-gradient(160deg,var(--rarity-gold-a),var(--rarity-gold-b));color:#1a1a1a;text-shadow:none}.token.rarity-special{background:linear-gradient(160deg,var(--rarity-special-a),var(--rarity-special-b));box-shadow:var(--glow-special),0 1px 3px #00000080}.token.rarity-special.selected{box-shadow:var(--glow-special),0 0 0 3px var(--accent)}.token-ovr{position:absolute;top:-9px;left:-9px;background:var(--ink-900);border:1px solid var(--gold);border-radius:4px;font-family:var(--font-display);font-size:10px;line-height:1;padding:1px 4px;color:var(--gold);pointer-events:none}.token.has-ball:after{content:"⚽";position:absolute;left:50%;bottom:-9px;transform:translate(-50%);font-size:15px;line-height:1;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.5)}body.ballfx-flying .token.has-ball:after{visibility:hidden}.token.eligible-target{outline:2px solid var(--accent)}.trait-badge{position:absolute;top:-6px;right:-6px;font-size:13px;color:var(--gold);text-shadow:0 0 3px #000,0 0 6px rgba(233,197,86,.6);pointer-events:none;animation:trait-badge-pop 1.5s ease-out forwards}@keyframes trait-badge-pop{0%{transform:scale(.3) rotate(-15deg);opacity:0}20%{transform:scale(1.3) rotate(8deg);opacity:1}35%{transform:scale(1) rotate(0);opacity:1}80%{transform:scale(1) rotate(0);opacity:1}to{transform:scale(.9) rotate(0);opacity:0}}.token:disabled{cursor:default;opacity:.85}.panel{min-width:240px;font-size:13px;color:var(--text-hi)}.actions button{display:block;width:100%;margin-bottom:6px;padding:8px 10px;cursor:pointer;background:var(--ink-800);border:1px solid var(--ink-line);border-left:3px solid transparent;border-radius:var(--radius-chrome);color:var(--text-hi);font-family:var(--font-body);font-size:13px;text-align:left;transition:background .12s ease,border-color .12s ease}.actions button:hover:not(:disabled){background:var(--ink-700);border-left-color:var(--accent)}.actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.actions button:disabled{opacity:.4;cursor:not-allowed}.error{color:var(--loss);font-size:12px;min-height:1.2em}.commentary{background:linear-gradient(180deg,var(--ink-700) 0%,var(--ink-800) 100%);border-left:3px solid var(--accent);padding:11px 14px;margin-bottom:12px;font-size:15px;font-weight:600;color:var(--text-hi);min-height:1.4em;box-shadow:inset 0 1px 0 var(--bevel-hi),0 3px 10px #0000004d}.commentary.pulse{animation:commentary-pulse .5s ease}@keyframes commentary-pulse{0%{background:var(--ink-700);transform:scale(1.015)}to{background:var(--ink-800);transform:scale(1)}}.log{max-height:240px;overflow-y:auto;background:var(--ink-900);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);padding:6px 8px;font-size:12px;color:var(--text-mid);margin-top:8px}.log p{margin:2px 0}.reaction-panel{padding:14px;background:linear-gradient(180deg,var(--ink-700) 0%,var(--ink-800) 100%);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);margin-bottom:8px;box-shadow:inset 0 1px 0 var(--bevel-hi),var(--shadow-panel)}.reaction-panel h2{font-family:var(--font-display);margin:0 0 6px;font-size:15px;text-transform:uppercase;letter-spacing:.02em}.reaction-panel p{margin:4px 0;font-size:12px;color:var(--text-mid)}.reaction-panel .odds{color:var(--accent);margin:10px 0}.reaction-panel .actions button{display:block;width:100%;margin-bottom:6px;padding:8px}.penalty-aim-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:3px;background:var(--ink-950);border:3px solid var(--text-hi);border-bottom:none;border-radius:2px;padding:4px}.penalty-aim-grid--inline{max-width:220px;aspect-ratio:3 / 2;margin:4px 0 8px}.penalty-aim-grid--full{width:min(72vw,420px);aspect-ratio:3 / 2;margin:0 auto}.penalty-aim-crossbar{display:none}.penalty-aim-zone{background:var(--ink-800);border:1px solid var(--ink-line);border-radius:3px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.penalty-aim-zone:hover:not(:disabled){background:var(--ink-700);border-color:var(--accent)}.penalty-aim-zone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.penalty-aim-zone:disabled{cursor:default;opacity:.6}.league-screen{max-width:480px}.league-screen h2{font-family:var(--font-display);font-size:24px;text-transform:none;letter-spacing:.01em;margin:12px 0 4px}.league-screen input#club-name-input{display:block;width:100%;box-sizing:border-box;background:var(--ink-900);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-hi);font-family:var(--font-body);font-size:14px;padding:11px 12px;margin:12px 0;box-shadow:inset 0 1px 3px #0006}.league-screen input#club-name-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.badge-picker{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 20px}.badge-option{font-size:24px;line-height:1;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--ink-700) 0%,var(--ink-800) 100%);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);cursor:pointer}.badge-option.selected{border-color:var(--accent);box-shadow:inset 0 1px 0 var(--bevel-hi),0 0 0 1px var(--accent),0 0 12px #23d2e259}.division-label{display:inline-block;color:var(--gold);font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:12px;padding:4px 10px;border-radius:3px;background:#e9c5561a;box-shadow:inset 0 0 0 1px #e9c5564d;margin:4px 0 14px}.season-progress{position:relative;height:10px;border-radius:5px;background:var(--ink-950);box-shadow:inset 0 1px 3px #00000080;margin:10px 0 6px;overflow:visible}.season-progress-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--accent) 0%,var(--gold) 100%);box-shadow:0 0 8px #23d2e280;transition:width .4s ease}.season-progress-marker{position:absolute;top:-3px;width:2px;height:16px;background:var(--text-low)}.season-progress-marker:after{content:attr(data-label);position:absolute;top:18px;left:50%;transform:translate(-50%);font-size:10px;color:var(--text-low);white-space:nowrap}.season-progress-marker.marker--promotion:after{color:var(--win)}.season-progress-marker.marker--relegation:after{color:var(--loss)}.league-hint{color:var(--text-low);font-size:12px;margin-top:22px}.division-panel-row{display:flex;flex-direction:column;gap:16px;margin-top:12px}.division-panel{padding:18px 20px;background:linear-gradient(165deg,var(--ink-800) 0%,var(--ink-900) 100%);border:1px solid var(--ink-line);border-radius:var(--radius-card);box-shadow:inset 0 1px 0 var(--bevel-hi),var(--shadow-panel)}.division-panel h3{font-family:var(--font-display);font-weight:500;font-size:15px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;color:var(--text-hi)}.division-panel .league-hint{margin-top:14px}.cup-result{margin:12px 0;font-size:16px}.cup-result--won{color:var(--rarity-gold-b);font-family:var(--font-display);font-weight:600}.cup-result--eliminated{color:var(--text-mid)}.cup-bracket-scroll{overflow-x:auto;margin:10px -4px 0;padding:4px}.cup-bracket{display:flex;gap:40px;width:max-content;min-width:100%}.cup-bracket-col{display:flex;flex-direction:column;width:168px;flex-shrink:0}.cup-bracket-col-heading{margin:0 0 10px;font-family:var(--font-display);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-low);text-align:center}.cup-bracket-round{position:relative;display:flex;flex-direction:column;justify-content:space-around;height:448px}.cup-bracket-match{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-chrome);border:1px solid var(--ink-line);background:var(--ink-900)}.cup-bracket-col:not(:last-child) .cup-bracket-match:after{content:"";position:absolute;top:50%;left:100%;width:24px;height:1px;background:var(--ink-line)}.cup-bracket-slot{padding:6px 10px;font-size:12px;color:var(--text-low);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cup-bracket-slot:first-child{border-bottom:1px solid var(--ink-line)}.cup-bracket-slot.is-winner{color:var(--text-hi);font-weight:600}.cup-bracket-slot.is-loser{color:var(--text-low);text-decoration:line-through;text-decoration-color:#a3b1c259}.cup-bracket-match--shadow{opacity:.55;transform:scale(.94)}.cup-bracket-match--you{border-color:var(--accent);background:linear-gradient(165deg,var(--ink-800) 0%,var(--ink-900) 100%)}.cup-bracket-col:not(:last-child) .cup-bracket-match--you:after{background:var(--accent);box-shadow:0 0 6px #23d2e299}.cup-bracket-match--you .cup-bracket-slot.is-winner{color:var(--accent)}.cup-bracket-match--current{box-shadow:0 0 0 1px var(--accent),0 0 14px #23d2e273;animation:cup-current-pulse 2.2s ease-in-out infinite}@keyframes cup-current-pulse{0%,to{box-shadow:0 0 0 1px var(--accent),0 0 10px #23d2e259}50%{box-shadow:0 0 0 1px var(--accent),0 0 18px #23d2e2a6}}.cup-up-next{display:flex;align-items:center;gap:14px;margin-top:22px;padding:18px 20px;background:linear-gradient(165deg,var(--ink-800) 0%,var(--ink-900) 100%);border:1px solid var(--accent);border-radius:var(--radius-card);box-shadow:inset 0 1px 0 var(--bevel-hi),var(--shadow-panel),0 0 20px #23d2e233}.cup-up-next-label{font-family:var(--font-display);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.cup-up-next-opponent{color:var(--text-hi);font-size:15px}.cup-up-next button{margin-left:auto}.shootout-screen{text-align:center}.shootout-scoreboard{display:flex;align-items:center;justify-content:center;gap:16px;margin:12px 0 20px;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);padding:12px}.shootout-team{display:flex;flex-direction:column;align-items:center;gap:4px}.shootout-team-score{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--text-hi)}.shootout-kicks{color:var(--accent);font-size:14px;letter-spacing:.15em;min-height:1em}.shootout-vs{color:var(--text-low);font-family:var(--font-display);font-size:12px;text-transform:uppercase}.penalty-goal-scene{position:relative;background:radial-gradient(ellipse 70% 55% at 50% 8%,rgba(35,210,226,.1) 0%,transparent 70%),linear-gradient(180deg,var(--ink-950) 0%,var(--grass-hi, #4e9c55) 220%);border-radius:var(--radius-chrome);padding:24px 12px 12px;margin-bottom:12px;overflow:hidden}.penalty-goal-net{width:60%;aspect-ratio:3 / 1;margin:0 auto 16px;border:3px solid var(--text-hi);border-bottom:none;background-image:repeating-linear-gradient(0deg,transparent 0 7px,var(--ink-line) 7px 8px),repeating-linear-gradient(90deg,transparent 0 7px,var(--ink-line) 7px 8px);opacity:.85}.shootout-status{display:inline-block;font-family:var(--font-display);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);padding:6px 16px;border-radius:14px;background:#23d2e21a;box-shadow:inset 0 0 0 1px #23d2e240}.zone.contested{outline:3px solid var(--foul);outline-offset:-4px;animation:contested-pulse 1s ease-in-out infinite}@keyframes contested-pulse{0%,to{background:#ff8a3d1a}50%{background:#ff8a3d59}}.formation-picker{max-width:640px;padding:18px;margin-bottom:12px;border-radius:var(--radius-chrome);background:linear-gradient(180deg,var(--ink-700) 0%,var(--ink-800) 100%);border:1px solid var(--ink-line);box-shadow:inset 0 1px 0 var(--bevel-hi),var(--shadow-panel)}.formation-picker h2{font-family:var(--font-display);margin:0 0 6px;font-size:16px;text-transform:uppercase;letter-spacing:.02em}.formation-hint{font-size:12px;color:var(--text-mid);margin:0 0 16px}.formation-group{margin-bottom:18px}.formation-group>p{margin:0 0 10px;font-size:12px;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mid)}.formation-group>p strong{color:var(--accent)}.formation-readonly-tag{text-transform:none;letter-spacing:normal;font-family:var(--font-body);font-weight:400;color:var(--text-low);font-size:11px}.formation-option-row{display:flex;gap:10px;flex-wrap:wrap}.formation-option{display:flex;flex-direction:column;align-items:center;gap:6px;width:110px;padding:8px 8px 10px;background:var(--ink-900);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);cursor:pointer}.formation-option:hover:not(:disabled){border-color:var(--accent)}.formation-option.is-chosen,.formation-option:disabled{border-color:var(--accent);box-shadow:inset 0 1px 0 var(--bevel-hi),0 0 0 1px var(--accent),var(--shadow-btn-rest);cursor:default}.formation-option.is-readonly{cursor:default}.formation-diagram{position:relative;width:100%;aspect-ratio:var(--cols, 7) / var(--rows, 9);border-radius:3px;background:linear-gradient(180deg,var(--grass-hi) 0%,var(--grass-lo) 100%);overflow:hidden}.formation-diagram:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid rgba(255,255,255,.3)}.formation-dot{position:absolute;width:12%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--text-hi);box-shadow:0 1px 2px #00000080}.formation-dot--gk{background:var(--gold)}.formation-option-name{font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.02em;color:var(--text-hi)}.squad-picker{max-width:560px;padding:18px;margin-bottom:12px;border-radius:var(--radius-chrome);background:linear-gradient(180deg,var(--ink-700) 0%,var(--ink-800) 100%);border:1px solid var(--ink-line);box-shadow:inset 0 1px 0 var(--bevel-hi),var(--shadow-panel)}.squad-picker h2{font-family:var(--font-display);margin:0 0 6px;font-size:16px;text-transform:uppercase;letter-spacing:.02em}.squad-picker>.formation-hint{margin-bottom:12px}.squad-picker>button{margin-top:10px;padding:8px 14px;cursor:pointer;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-chrome);font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:13px}.squad-picker>button:disabled{background:var(--ink-line);color:var(--text-low);cursor:not-allowed}.squad-slot-row{display:flex;align-items:center;gap:12px;padding:7px 4px;border-bottom:1px solid var(--ink-line);font-size:13px;border-radius:2px;transition:background .12s ease}.squad-slot-row:hover{background:#ffffff05}.squad-slot-swatch{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;font-family:var(--font-display);font-weight:600;font-size:12px;color:#1a1a1a;text-shadow:none;box-shadow:inset 0 1px 0 var(--bevel-hi),0 1px 2px #0006}.squad-slot-swatch.rarity-bronze,.squad-slot-swatch.rarity-special{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.squad-slot-swatch--empty{background:var(--ink-900);color:var(--text-low);box-shadow:inset 0 0 0 1px var(--ink-line)}.squad-slot-label{flex:0 0 110px;color:var(--text-mid)}.squad-slot-summary{flex:1;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.squad-slot-rarity,.squad-slot-focus{font-size:11px;color:var(--text-mid);text-transform:uppercase;letter-spacing:.04em}.squad-slot-summary .out-of-position{color:var(--foul);font-size:11px}.squad-slot-row button{padding:5px 12px;font-size:12px}.squad-candidate-list p{font-size:12px;color:var(--text-mid);margin:0 0 10px}.squad-candidate-list .actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.squad-candidate-list .actions button{width:auto;padding:6px 10px;cursor:pointer;font-size:12px}.squad-candidate-list .actions button.out-of-position-option{border-color:var(--foul);color:var(--foul)}.squad-candidate-rows{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto;margin-bottom:10px}.squad-candidate-row{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 12px 6px 10px;background:var(--ink-800);border:1px solid var(--ink-line);border-left:4px solid var(--rarity-gold-b);border-radius:4px;cursor:pointer;text-align:left;color:var(--text-hi)}.squad-candidate-row.rarity-bronze{border-left-color:var(--rarity-bronze-b)}.squad-candidate-row.rarity-silver{border-left-color:var(--rarity-silver-b)}.squad-candidate-row.rarity-gold{border-left-color:var(--rarity-gold-b)}.squad-candidate-row.rarity-special{border-left-color:var(--rarity-special-b);box-shadow:0 0 6px rgba(var(--rarity-special-a-rgb),.35)}.squad-candidate-row:hover{border-color:var(--accent)}.squad-candidate-row.out-of-position-option{border-left-color:var(--foul)}.squad-candidate-ovr{flex:none;width:30px;font-family:var(--font-display);font-weight:700;font-size:15px;text-align:center}.squad-candidate-name{flex:1;font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.squad-candidate-meta{flex:none;font-size:11px;color:var(--text-mid);text-transform:uppercase;letter-spacing:.03em}.squad-candidate-row.out-of-position-option .squad-candidate-meta{color:var(--foul)}.load-saved-squad{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.load-saved-squad-label{font-size:12px;color:var(--text-mid);text-transform:uppercase;letter-spacing:.03em}.preset-load-chip{display:flex;align-items:baseline;gap:6px;padding:5px 12px;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:999px;color:var(--text-hi);font-size:12px;cursor:pointer}.preset-load-chip:hover{border-color:var(--accent)}.preset-load-chip-formation{font-size:10px;color:var(--text-mid);text-transform:uppercase}.squad-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.squad-preset-tile{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome)}.squad-preset-tile .formation-diagram{width:100%}.squad-preset-tile--new{align-items:center;justify-content:center;min-height:160px;color:var(--text-mid);font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:13px;cursor:pointer;border-style:dashed}.squad-preset-tile--new:hover{border-color:var(--accent);color:var(--text-hi)}.squad-preset-info{display:flex;flex-direction:column;gap:2px}.squad-preset-name{font-family:var(--font-display);font-size:14px;color:var(--text-hi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.squad-preset-meta{font-size:11px;color:var(--text-mid);text-transform:uppercase;letter-spacing:.03em}.squad-preset-actions{display:flex;flex-wrap:wrap;gap:6px}.squad-preset-actions button{padding:5px 10px;font-size:11px;cursor:pointer}.preset-delete-confirm{font-size:11px;color:var(--foul);display:flex;align-items:center;gap:6px}.preset-name-input{display:block;width:100%;max-width:320px;margin-bottom:10px;padding:8px 10px;background:var(--ink-900);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-hi);font-size:14px}.preset-name-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.store-screen{max-width:920px;margin:0 auto;padding:16px 4px 32px}.store-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--ink-line)}.store-tab{padding:10px 18px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-mid);font-family:var(--font-display);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.store-tab:hover{color:var(--text-hi)}.store-tab.is-active{color:var(--text-hi);border-bottom-color:var(--accent)}.store-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.store-screen .error{color:var(--foul);font-size:13px;margin:0 0 12px}.store-close{margin-top:20px;padding:8px 16px;cursor:pointer;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-hi);font-family:var(--font-body)}.store-close:hover{background:var(--ink-700)}.pack-shop{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.pack-tile{position:relative;width:200px;display:flex;flex-direction:column;text-align:left;padding:0;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-panel)}.pack-tile:before{content:"";display:block;height:68px}.pack-tile:after{content:"";position:absolute;top:0;left:0;right:0;height:68px;background:linear-gradient(35deg,#ffffff40,#fff0 55%);pointer-events:none}.pack-tile--bronze:before{background:linear-gradient(160deg,var(--rarity-bronze-a),var(--rarity-bronze-b))}.pack-tile--silver:before{background:linear-gradient(160deg,var(--rarity-silver-a),var(--rarity-silver-b))}.pack-tile--gold:before{background:linear-gradient(160deg,var(--rarity-gold-a),var(--rarity-gold-b))}.pack-tile--elite:before{background:linear-gradient(160deg,var(--rarity-elite-a),var(--rarity-elite-b))}.pack-tile--megaElite:before{background:linear-gradient(160deg,var(--rarity-megaElite-a),var(--rarity-megaElite-b))}.pack-tile-name{font-family:var(--font-display);font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.02em;padding:12px 14px 2px;color:var(--text-hi)}.pack-tile-odds{font-size:11px;color:var(--text-mid);padding:4px 14px;line-height:1.6}.pack-tile-price{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--gold);padding:10px 14px 16px;margin-top:auto;border-top:1px solid var(--ink-line)}.pack-tile:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow-panel),0 0 0 1px #23d2e24d}.pack-tile--gold:hover:not(:disabled){box-shadow:var(--shadow-panel),0 0 0 1px #e9c55680,0 0 20px #e9c55633;border-color:var(--gold)}.pack-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pack-tile:disabled{opacity:.5;cursor:not-allowed}.pack-tile--elite .pack-tile-price,.pack-tile--megaElite .pack-tile-price{color:var(--gem)}.pack-tile--elite:hover:not(:disabled),.pack-tile--megaElite:hover:not(:disabled){box-shadow:var(--shadow-panel),0 0 0 1px #8ab4ff80,0 0 20px #8ab4ff33;border-color:var(--gem)}.pack-tile-pity{font-size:10px;color:var(--text-mid);padding:0 14px 6px;opacity:.8}.pack-shop--premium h3{font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-mid);margin:0 0 10px}.pack-shop-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.gem-bundles h3{font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-mid);margin:0 0 10px}.gem-bundles-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.gem-bundle-tile{display:flex;flex-direction:column;align-items:center;gap:4px;width:120px;padding:12px 10px;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome)}.gem-bundle-amount{font-family:var(--font-display);font-weight:600;color:var(--gem)}.gem-bundle-price{font-size:12px;color:var(--text-mid)}.gem-bundle-tile button{margin-top:6px;width:100%;font-size:11px;padding:6px 4px;opacity:.5;cursor:not-allowed;background:var(--ink-700);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-mid)}.achievements-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.achievement-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);opacity:.7}.achievement-row.is-unlocked{opacity:1;border-color:var(--gem)}.achievement-status{font-size:18px;width:20px;text-align:center}.achievement-body{display:flex;flex-direction:column;flex:1}.achievement-desc{font-size:12px;color:var(--text-mid)}.achievement-progress{font-size:11px;color:var(--text-mid);opacity:.8}.achievement-reward{font-family:var(--font-display);font-weight:600;color:var(--gem);white-space:nowrap}.duplicate-counter{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-mid);margin-bottom:8px}.duplicate-counter button{width:auto;padding:6px 10px;cursor:pointer;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-hi);font-family:var(--font-body)}.duplicate-counter button:disabled{opacity:.4;cursor:not-allowed}.myclub-subnav{display:inline-flex;gap:4px;padding:4px;margin:2px 0 18px;background:var(--ink-950);border:1px solid var(--ink-line);border-radius:999px;box-shadow:inset 0 1px 3px #0006}.myclub-subtab{display:flex;align-items:center;gap:7px;padding:8px 18px;background:none;border:none;border-radius:999px;color:var(--text-mid);font-family:var(--font-display);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background .14s ease,color .14s ease}.myclub-subtab:hover{color:var(--text-hi)}.myclub-subtab.is-active{background:linear-gradient(180deg,var(--accent) 0%,#16a3b0 100%);color:var(--accent-ink);box-shadow:0 2px 8px #23d2e24d}.myclub-subtab-badge{min-width:18px;padding:1px 5px;border-radius:999px;background:#ffffff29;font-size:10px;line-height:1.4;text-align:center}.myclub-subtab.is-active .myclub-subtab-badge{background:#06222940}.myclub-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.myclub-filter-select{padding:6px 10px;font-size:12px;cursor:pointer;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-hi);font-family:var(--font-body)}.myclub-filter-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.myclub-grid{display:flex;flex-wrap:wrap;gap:14px}.myclub-cell{width:140px;display:flex;flex-direction:column;gap:6px}.myclub-cell-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-mid)}.myclub-cell-meta button{width:auto;padding:4px 8px;font-size:11px;cursor:pointer;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-hi);font-family:var(--font-body)}.myclub-cell-meta button:disabled{opacity:.4;cursor:not-allowed}.myclub-card-open{width:100%;padding:0;background:none;border:none;cursor:pointer}.myclub-card-open .card{transition:transform .14s ease,box-shadow .14s ease}.myclub-card-open:hover .card{transform:translateY(-3px);box-shadow:var(--shadow-float),0 0 0 2px var(--accent)}.card{position:relative;aspect-ratio:5 / 7;border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-float);flex:none}.card:has(.card-face-inner.rarity-special){box-shadow:var(--shadow-float),var(--glow-special)}.card--hero{width:220px}.card--grid{width:140px}.card--zoom{width:min(320px,82vw)}.card-face-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:6% 7%;font-family:var(--font-body)}.card-face-inner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(30deg,#ffffff2e,#fff0 45%);pointer-events:none}.card-face-inner.rarity-bronze{background:linear-gradient(160deg,var(--rarity-bronze-a),var(--rarity-bronze-b))}.card-face-inner.rarity-silver{background:linear-gradient(160deg,var(--rarity-silver-a),var(--rarity-silver-b))}.card-face-inner.rarity-gold{background:linear-gradient(160deg,var(--rarity-gold-a),var(--rarity-gold-b))}.card-face-inner.rarity-elite{background:linear-gradient(160deg,var(--rarity-elite-a),var(--rarity-elite-b))}.card-face-inner.rarity-megaElite{background:linear-gradient(160deg,var(--rarity-megaElite-a),var(--rarity-megaElite-b))}.card-face-inner.rarity-special{background:linear-gradient(160deg,var(--rarity-special-a),var(--rarity-special-b));box-shadow:inset var(--glow-special)}.card-text-light{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.card-text-dark{color:#1a1a1a}.card-top{display:flex;align-items:flex-start;justify-content:space-between}.card-ovr{font-family:var(--font-display);font-weight:600;line-height:1}.card--hero .card-ovr{font-size:32px}.card--grid .card-ovr{font-size:20px}.card--zoom .card-ovr{font-size:46px}.card-pips{color:var(--gold);letter-spacing:2px}.card--hero .card-pips{font-size:14px}.card--grid .card-pips{font-size:10px}.card--zoom .card-pips{font-size:20px}.card-position{font-family:var(--font-body);font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.card--hero .card-position{font-size:12px}.card--grid .card-position{font-size:9px}.card--zoom .card-position{font-size:17px}.card-position-row{display:flex;align-items:center;justify-content:space-between}.card-flag{display:block;height:auto;border-radius:2px;border:1px solid rgba(0,0,0,.35);box-shadow:0 1px 2px #0006}.card-flag--fallback{line-height:1;display:block}.card--hero .card-flag{width:20px}.card--hero .card-flag--fallback{font-size:14px}.card--grid .card-flag{width:14px}.card--grid .card-flag--fallback{font-size:10px}.card--zoom .card-flag{width:30px}.card--zoom .card-flag--fallback{font-size:20px}.card-art{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0}.card-shirt{width:46%;opacity:.55;display:none}.card-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top center}.card-photo.card-photo-missing{display:none}.card-art:has(.card-photo.card-photo-missing) .card-shirt{display:block}.card-art--no-photo .card-shirt{display:block}.card-name-rule{text-align:center;border-top:1px solid currentColor;padding-top:6%;margin-top:2%;opacity:.92}.card-name-rule span{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.card--hero .card-name-rule span{font-size:15px}.card--zoom .card-name-rule span{font-size:22px}.card--grid .card-name-rule span{font-size:10px}.card-focus{display:block;text-align:center;opacity:.75;text-transform:uppercase;letter-spacing:.03em}.card--hero .card-focus{font-size:10px;margin-top:2%}.card--grid .card-focus{font-size:7px;margin-top:1%}.card--zoom .card-focus{font-size:14px;margin-top:2%}.card-stats{display:grid;grid-template-columns:1fr 1fr;gap:2% 6%;margin-top:5%}.card-stats span{display:flex;justify-content:space-between}.card-stats b{font-weight:600;opacity:.7}.card--hero .card-stats{font-size:12px}.card--grid .card-stats{font-size:8.5px}.card--zoom .card-stats{font-size:17px}.card-back-inner{align-items:center;justify-content:center;gap:10px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.card-back-glyph{font-size:32px}.card-back-tier{font-family:var(--font-display);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.market-screen{max-width:880px}.market-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:8px}.market-hero h2{font-family:var(--font-display);font-weight:600;font-size:26px;text-transform:uppercase;letter-spacing:.02em;margin:0 0 4px;color:var(--text-hi);background:linear-gradient(180deg,#fff,#c9d6ea);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.market-hero .tile-desc{margin:0;max-width:40ch}.market-balance{display:flex;flex-direction:column;align-items:center;min-width:96px;padding:8px 18px;background:linear-gradient(165deg,var(--ink-800) 0%,var(--ink-900) 100%);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);box-shadow:inset 0 1px 0 var(--bevel-hi),var(--shadow-panel)}.market-balance-value{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.1;color:var(--gold)}.market-balance-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-mid)}.market-lobby-link{display:block;margin:8px 0 4px}.market-subnav{display:inline-flex;gap:4px;padding:4px;margin:18px 0 16px;background:var(--ink-950);border:1px solid var(--ink-line);border-radius:999px;box-shadow:inset 0 1px 3px #0006}.market-subtab{display:flex;align-items:center;gap:7px;padding:8px 16px;background:none;border:none;border-radius:999px;color:var(--text-mid);font-family:var(--font-display);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background .14s ease,color .14s ease}.market-subtab:hover{color:var(--text-hi)}.market-subtab.is-active{background:linear-gradient(180deg,var(--accent) 0%,#16a3b0 100%);color:var(--accent-ink);box-shadow:0 2px 8px #23d2e24d}.market-subtab-badge{min-width:18px;padding:1px 5px;border-radius:999px;background:#ffffff29;font-size:10px;line-height:1.4;text-align:center}.market-subtab.is-active .market-subtab-badge{background:#06222940}.market-panel{min-height:160px}.market-grid{display:flex;flex-wrap:wrap;gap:18px}.market-card-cell{width:140px;display:flex;flex-direction:column;align-items:center;gap:8px}.market-card-cell .card{transition:transform .16s ease,box-shadow .16s ease}.market-card-cell:hover .card{transform:translateY(-3px);box-shadow:var(--shadow-float),0 0 0 1px #23d2e259,0 10px 20px #23d2e226}.market-price-tag{display:flex;align-items:baseline;gap:4px;padding:3px 12px;background:var(--ink-900);border:1px solid var(--ink-line);border-radius:999px;box-shadow:inset 0 1px 0 var(--bevel-hi)}.market-price-value{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--gold)}.market-price-unit{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mid)}.market-cta{width:100%;padding:8px 10px;font-family:var(--font-display);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-chrome);cursor:pointer}.market-cta-buy{background:linear-gradient(180deg,var(--accent) 0%,#16a3b0 100%);border:1px solid var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #0000004d,0 4px 12px #23d2e240}.market-cta-buy:hover{filter:brightness(1.08)}.market-cta-cancel{background:var(--ink-800);border:1px solid rgba(226,69,69,.4);color:#f0a8a8}.market-cta-cancel:hover{border-color:var(--loss);color:#fff}.market-cta-list{width:auto;padding:11px 22px;background:linear-gradient(180deg,var(--gold) 0%,#c9a13f 100%);border:1px solid var(--gold);color:#2a1f04;box-shadow:0 1px 2px #0000004d,0 4px 14px #e9c5564d}.market-cta-list:hover{filter:brightness(1.06)}.market-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:40px 20px;border:1px dashed var(--ink-line);border-radius:var(--radius-card);color:var(--text-mid)}.market-empty-icon{font-size:28px;opacity:.6;margin-bottom:4px}.market-empty-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-hi)}.market-empty-body{margin:0;font-size:12px;max-width:40ch}.market-sell-layout{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}.market-sell-picker{display:flex;flex-wrap:wrap;gap:14px;flex:2 1 320px;max-height:480px;overflow-y:auto;padding:4px}.market-pickable-card{width:108px;padding:0;background:none;border:none;cursor:pointer}.market-pickable-card .card{transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.market-pickable-card:hover .card{transform:translateY(-2px)}.market-pickable-card.is-selected .card{box-shadow:var(--shadow-float),0 0 0 2px var(--accent),0 0 16px #23d2e266}.market-pickable-card:not(.is-selected) .card{filter:saturate(.75) brightness(.85)}.market-sell-confirm{display:flex;gap:18px;flex:1 1 260px;padding:18px;background:linear-gradient(165deg,var(--ink-800) 0%,var(--ink-900) 100%);border:1px solid var(--ink-line);border-radius:var(--radius-card);box-shadow:inset 0 1px 0 var(--bevel-hi),var(--shadow-panel)}.market-sell-confirm .card--grid{width:108px;flex:none}.market-sell-confirm-detail{display:flex;flex-direction:column;gap:10px;min-width:0}.market-sell-confirm-detail h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.02em;color:var(--text-hi)}.market-price-band{margin:-6px 0 0;font-size:12px;color:var(--text-mid)}.market-price-input-label{display:block;font-family:var(--font-display);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mid)}.market-price-input-wrap{display:flex;align-items:center;margin-top:6px;background:var(--ink-950);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);box-shadow:inset 0 1px 3px #0006;transition:border-color .12s ease,box-shadow .12s ease}.market-price-input-wrap:focus-within{border-color:var(--accent);box-shadow:inset 0 1px 3px #0006,0 0 0 2px #23d2e240}.market-price-input-wrap input{flex:1;min-width:0;background:none;border:none;color:var(--text-hi);font-family:var(--font-body);font-size:16px;font-weight:600;padding:10px 4px 10px 12px}.market-price-input-wrap input:focus-visible{outline:none}.market-price-input-wrap input::-webkit-inner-spin-button,.market-price-input-wrap input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.trade-room-code-wrap input{text-transform:uppercase;letter-spacing:.15em;text-align:center}.market-price-input-suffix{padding:0 12px 0 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mid)}.market-sell-hint{flex:1 1 260px;color:var(--text-mid);font-size:13px;align-self:center;text-align:center;padding:20px}.market-sell-back{display:none;align-self:flex-start;padding:6px 10px;font-size:13px;background:none;border:none;color:var(--accent);font-family:var(--font-body);cursor:pointer}.market-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.market-search-input{padding:7px 12px;font-size:13px;font-family:var(--font-body);background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-hi);min-width:180px}.market-search-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.market-filter-toggle,.market-sell-type-toggle{display:flex;gap:4px;padding:3px;background:var(--ink-900);border:1px solid var(--ink-line);border-radius:var(--radius-chrome)}.market-sell-type-toggle{margin:6px 0 12px;align-self:flex-start}.market-toggle-btn{padding:6px 14px;font-family:var(--font-display);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em;background:transparent;border:none;border-radius:var(--radius-chrome);color:var(--text-mid);cursor:pointer}.market-toggle-btn:hover{color:var(--text-hi)}.market-toggle-btn.is-active{background:linear-gradient(180deg,var(--accent) 0%,#16a3b0 100%);color:var(--accent-ink)}.market-loan-tag{padding:0 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gold);border-left:1px solid var(--ink-line)}.market-loan-note{margin:0;font-size:11px;color:var(--text-mid);text-align:center}.market-section-title{margin:20px 0 12px;font-family:var(--font-display);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-mid)}.trade-screen{max-width:880px}.trade-room-code-value{font-size:18px;letter-spacing:.1em}.trade-columns{display:flex;gap:24px;flex-wrap:wrap;margin:20px 0}.trade-column{flex:1 1 280px;min-width:0}.trade-column h3{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-hi);margin:0 0 12px}.trade-confirmed-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:var(--win);color:#05200f;font-size:11px;font-weight:700}.trade-column-empty{color:var(--text-mid);font-size:13px;padding:20px 0}.trade-offer-static{width:100%;padding:8px 10px;text-align:center;font-family:var(--font-display);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mid);background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome)}.trade-add-picker{max-height:260px;margin-bottom:16px}.trade-actions{display:flex;gap:12px;margin-top:8px}.trade-confirm-btn{flex:2}.trade-leave-btn{flex:1}.pack-reveal-ceremony{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px 0}.ballfx-ball{line-height:1;text-align:center;-webkit-user-select:none;user-select:none}.ballfx-flight{position:fixed;z-index:90;width:0;height:0;pointer-events:none}.ballfx-flight-ball{position:absolute;left:0;top:0;font-size:24px;transform:translate(-50%,-50%)}.ballfx-flight-shadow{position:absolute;left:0;top:0;width:26px;height:10px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse at center,#0000006b,#0000 70%)}.ballfx-impact{position:fixed;z-index:90;pointer-events:none;width:12px;height:12px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--impact-color, #fff);animation:ballfx-impact .42s ease-out forwards}@keyframes ballfx-impact{0%{transform:translate(-50%,-50%) scale(.4);opacity:.9}to{transform:translate(-50%,-50%) scale(3.4);opacity:0}}.ballfx-goal-burst{position:fixed;z-index:90;pointer-events:none;width:40px;height:40px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#7becffd9,#7becff00 70%);animation:ballfx-goal-burst .9s ease-out forwards}@keyframes ballfx-goal-burst{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(-50%,-50%) scale(4.5);opacity:0}}@media (prefers-reduced-motion: reduce){.ballfx-flight,.ballfx-flight-ball,.ballfx-flight-shadow,.ballfx-impact,.ballfx-goal-burst{animation-duration:1ms!important}}.pack3d-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:none;background:#000;cursor:pointer}.pack3d-host canvas{display:block;width:100%;height:100%}.pack-open-intro{display:flex;flex-direction:column;align-items:center;gap:16px;padding:44px 0 24px;cursor:pointer}.pack-open-stage{position:relative;perspective:1200px;display:flex;align-items:center;justify-content:center;width:220px;aspect-ratio:5 / 7}.pack-open-flash{position:absolute;top:-50px;right:-50px;bottom:-50px;left:-50px;border-radius:50%;background:radial-gradient(circle,#fffffff2,#fff0 62%);opacity:0;pointer-events:none}.pack-open-flash.is-playing{animation:pack-open-flash .21s ease-out .9s both}@keyframes pack-open-flash{0%{opacity:0;transform:scale(.3)}35%{opacity:1;transform:scale(1.3)}to{opacity:0;transform:scale(2)}}.pack-open-object{width:100%;height:100%;border-radius:var(--radius-card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:var(--shadow-float);transform-style:preserve-3d;opacity:1;transform:scale(1.15) rotateY(0) rotateX(0)}.pack-open-object.rarity-bronze{background:linear-gradient(160deg,var(--rarity-bronze-a),var(--rarity-bronze-b))}.pack-open-object.rarity-silver{background:linear-gradient(160deg,var(--rarity-silver-a),var(--rarity-silver-b))}.pack-open-object.rarity-gold{background:linear-gradient(160deg,var(--rarity-gold-a),var(--rarity-gold-b))}.pack-open-object.rarity-elite{background:linear-gradient(160deg,var(--rarity-elite-a),var(--rarity-elite-b))}.pack-open-object.rarity-megaElite{background:linear-gradient(160deg,var(--rarity-megaElite-a),var(--rarity-megaElite-b))}.pack-open-object.is-playing{animation:pack-open-wobble .9s cubic-bezier(.3,0,.2,1) both,pack-open-burst .22s ease-in .9s both}@keyframes pack-open-wobble{0%{opacity:0;transform:scale(.6) rotateY(0) rotateX(0)}12%{opacity:1;transform:scale(1) rotateY(-22deg) rotateX(8deg)}32%{transform:scale(1.02) rotateY(20deg) rotateX(-6deg)}52%{transform:scale(1.04) rotateY(-14deg) rotateX(5deg)}72%{transform:scale(1.08) rotateY(10deg) rotateX(-10deg)}to{opacity:1;transform:scale(1.15) rotateY(0) rotateX(0)}}@keyframes pack-open-burst{0%{opacity:1;transform:scale(1.15) rotateY(0)}to{opacity:0;transform:scale(2.4) rotateY(35deg)}}.pack-open-glyph{font-size:34px}.pack-open-label{font-family:var(--font-display);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.pack-reveal-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.pack-card-slot.is-dealing{animation:pack-card-deal .48s cubic-bezier(.2,.8,.2,1) both}@keyframes pack-card-deal{0%{transform:translateY(-36px) scale(.5) rotate(var(--fan-rot, 0deg));opacity:0}70%{transform:translateY(4px) scale(1.03) rotate(calc(var(--fan-rot, 0deg) * .15));opacity:1}to{transform:translateY(0) scale(1) rotate(0);opacity:1}}.pack-card-flip{width:220px;padding:0;border:none;background:none;cursor:pointer;display:block}.pack-card-flip:disabled{cursor:default}.pack-card-flip:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-card)}.pack-card-back-wrap,.pack-card-front-wrap{position:relative;display:block}.pack-card-reveal-anim{animation:pack-card-reveal .42s cubic-bezier(.3,0,.2,1);transform-origin:center}@keyframes pack-card-reveal{0%{transform:scaleX(.05)}60%{transform:scaleX(1.06)}to{transform:scaleX(1)}}.walkout-glow-a .card-back-inner,.walkout-glow-b .card-back-inner{transition:box-shadow 90ms linear}.walkout-glow-a .card-back-inner{box-shadow:var(--glow-special)}.walkout-glow-b .card-back-inner{box-shadow:0 0 18px var(--rarity-special-b),0 0 36px rgba(var(--rarity-special-a-rgb),.85)}.pack-tease-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#070b1459;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}.pack-tease-position{font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.9}.pack-tease-ovr{font-family:var(--font-display);font-weight:600;font-size:40px;font-variant-numeric:tabular-nums}.pack-dup-chip{position:absolute;top:8px;right:8px;background:var(--gold);color:var(--ink-950);font-family:var(--font-display);font-weight:600;font-size:12px;padding:2px 8px;border-radius:10px}.pack-reveal-actions{display:flex;gap:10px}.pack-reveal-actions button{padding:10px 18px;cursor:pointer;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-chrome);font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:13px}.pack-reveal-actions button:disabled{background:var(--ink-line);color:var(--text-low);cursor:not-allowed}.pack-reveal-actions button:last-child{background:var(--ink-800);color:var(--text-hi)}@media (prefers-reduced-motion: reduce){.pack-card-reveal-anim,.pack-card-slot.is-dealing{animation:none}.walkout-glow-a .card-back-inner,.walkout-glow-b .card-back-inner{transition:none}.pack-open-flash.is-playing{display:none}.pack-open-object.is-playing{animation:none;opacity:1;transform:scale(1.15) rotateY(0) rotateX(0)}.radar-ring{animation:none;opacity:.3;transform:scale(1)}.searching-dots span{animation:none;opacity:1}.status-dot{animation:none}}button,.zone,.token{touch-action:manipulation}@media (max-width: 760px),(pointer: coarse){.layout{flex-direction:column}.layout>.pitch-surface{width:min(100%,760px);min-width:0}.layout>.panel{width:min(100%,760px);min-width:0}.lobby-split{flex-direction:column}.lobby-divider{width:100%;height:1px}.room-ticket-code{font-size:30px;letter-spacing:.12em}.panel-controls{position:sticky;bottom:0;background:var(--ink-900);padding-top:8px;padding-bottom:8px;margin-top:8px;z-index:10;box-shadow:0 -8px 16px -8px #0009;max-height:46vh;overflow-y:auto}.panel-controls>.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.panel-controls>.actions button{margin-bottom:0}.actions button,.reaction-panel .actions button,.match-screen button,.penalty-aim-zone{min-height:44px;padding:12px 14px}.top-bar-coins,.top-bar-gems,.top-bar-account,.top-bar-settings,.back-link,.tile{min-height:44px}.store-tabs{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.store-tabs::-webkit-scrollbar{display:none}.store-tab{flex:0 0 auto;white-space:nowrap;padding:10px 14px}.market-sell-picker{max-height:none;overflow-y:visible;flex-basis:100%}.market-sell-layout.has-selection .market-sell-picker{display:none}.market-sell-layout.has-selection .market-sell-back{display:inline-flex}.market-sell-confirm{flex-basis:100%}.myclub-cell,.card--grid{width:108px}.myclub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));justify-items:center}.card--grid .card-ovr{font-size:16px}.card--grid .card-pips{font-size:8px}.card--grid .card-position{font-size:7px}.card--grid .card-name-rule span{font-size:8px}.card--grid .card-focus{font-size:6px}.card--grid .card-stats{font-size:7px}.card--grid .card-flag{width:11px}.card--grid .card-flag--fallback{font-size:8px}.card--hero,.pack-card-flip{width:160px}.card--hero .card-ovr{font-size:24px}.card--hero .card-pips{font-size:10px}.card--hero .card-position{font-size:9px}.card--hero .card-name-rule span{font-size:11px}.card--hero .card-focus{font-size:8px}.card--hero .card-stats{font-size:9px}.card--hero .card-flag{width:15px}.card--hero .card-flag--fallback{font-size:11px}.token{font-size:10px;padding:3px 4px;border-width:2px;outline-width:1px;outline-offset:1px;width:36px}.token small{font-size:9px}.token-ovr{font-size:8px;top:-7px;left:-7px;padding:1px 3px}.token-name-full{display:none}.token-name-short{display:inline}}.settings-screen h2{font-family:var(--font-display);margin:12px 0 16px;font-size:20px;text-transform:uppercase;letter-spacing:.03em}.settings-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--ink-line)}.settings-section h3{font-family:var(--font-display);margin:0 0 4px;font-size:14px;text-transform:uppercase;letter-spacing:.02em;color:var(--text-hi)}.settings-hint{margin:0 0 12px;font-size:12px;color:var(--text-mid)}.half-length-picker{display:flex;flex-wrap:wrap;gap:8px}.half-length-option{padding:10px 16px;min-height:44px;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-hi);font-family:var(--font-body);font-size:13px;cursor:pointer}.half-length-option.is-active{border-color:var(--accent);color:var(--accent);background:#23d2e21a}.half-length-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-sign-out{padding:10px 16px;min-height:44px;background:var(--ink-800);border:1px solid var(--ink-line);border-radius:var(--radius-chrome);color:var(--text-hi);font-family:var(--font-body);font-size:13px;cursor:pointer}.settings-reset-request{padding:10px 16px;min-height:44px;background:var(--ink-800);border:1px solid var(--loss);border-radius:var(--radius-chrome);color:var(--loss);font-family:var(--font-body);font-size:13px;cursor:pointer}.settings-reset-warning{font-size:13px;color:var(--loss);margin:0 0 10px}.settings-reset-actions{display:flex;gap:8px}.settings-reset-actions button{padding:10px 16px;min-height:44px;border-radius:var(--radius-chrome);font-family:var(--font-body);font-size:13px;cursor:pointer;border:1px solid var(--ink-line);background:var(--ink-800);color:var(--text-hi)}.settings-reset-confirm{border-color:var(--loss)!important;background:var(--loss)!important;color:var(--text-hi)!important}.settings-section--dev{border-bottom:none}.dev-grant-gems{padding:10px 16px;min-height:44px;background:var(--ink-800);border:1px dashed var(--gem);border-radius:var(--radius-chrome);color:var(--gem);font-family:var(--font-body);font-size:13px;cursor:pointer}.intro-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--ink-950);overflow:hidden;cursor:pointer;transition:opacity .35s ease}.intro-stage--exiting{opacity:0}.intro-stage canvas,.intro-stage video{position:absolute;top:0;right:0;bottom:0;left:0}.intro-skip-hint{position:absolute;left:50%;bottom:max(6%,calc(6% + env(safe-area-inset-bottom)));transform:translate(-50%);color:var(--text-low);font-family:var(--font-body);font-size:13px;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;animation:intro-hint-fade-in .5s ease forwards}@keyframes intro-hint-fade-in{0%{opacity:0}to{opacity:1}}.intro-reduced-fade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--ink-950);animation:intro-reduced-fade-in 1s ease forwards}.intro-reduced-fade-logo{font-family:var(--font-display);font-weight:600;font-size:clamp(32px,8vw,64px);letter-spacing:.06em;color:var(--gold)}@keyframes intro-reduced-fade-in{0%{opacity:0}to{opacity:1}}
