*{box-sizing:border-box;margin:0;padding:0}:root{--font-heading:"Space Grotesk", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--font-body:"Space Grotesk", system-ui, sans-serif;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--bg:#151010;--surface:#1e1714;--surface-hover:#2a211d;--border:#2e2520;--border-subtle:#1e1714;--text:#fdf8f5;--text-secondary:#8a7365;--text-muted:#5c4f45;--accent:#c8935a;--accent-dim:#c8935a26;--win:#3a5a40;--win-text:#6bbf73;--loss:#5a2a2a;--loss-text:#e06060;--gold:#c8935a;--gold-dim:#c8935a0f;--gold-border:#c8935a40;--accent-border:#c8935a4d;--accent-subtle:#c8935a1f;--win-dim:#6bbf731a;--win-border:#6bbf734d;--loss-dim:#e060601a;--loss-border:#e060604d;--skeleton:#1e1714;--amber:#ffead0;--amber-strong:#d4a373;--amber-dim:#d4a3731f;--amber-border:#d4a3734d}.theme-neon{--bg:#050505;--surface:#0e0e12;--surface-hover:#16161c;--border:#1c1c24;--border-subtle:#0e0e12;--text:#fff;--text-secondary:#6b6b78;--text-muted:#3c3c48;--accent:#ff2a2a;--accent-dim:#ff2a2a1f;--skeleton:#0e0e12;--neon-red:#ff2a2a;--neon-blue:#00c8dd;--neon-glow-red:0 0 8px #ff2a2a66;--neon-glow-blue:0 0 8px #00c8dd66;--gold:#ffea00;--gold-dim:#ffea000f;--gold-border:#ffea0040;--accent-border:#ff2a2a4d;--accent-subtle:#ff2a2a1f;--win-text:#4a4;--loss-text:#f44;--win-dim:#44aa441a;--win-border:#44aa444d;--loss-dim:#ff44441a;--loss-border:#ff44444d;--amber:#ffead0;--amber-strong:#d4a373;--amber-dim:#d4a3731f;--amber-border:#d4a3734d}html,body{background:var(--bg);width:100%;height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-size:15px;line-height:1.4;overflow:hidden}#root{width:100%;height:100%;overflow-y:auto}input,button{font-family:inherit}.input-amber{background:var(--surface);border-radius:var(--radius-sm);width:100%;color:var(--text);box-sizing:border-box;font-size:14px;font-family:var(--font-body);border:1px solid #0000;outline:none;padding:10px 14px}.input-amber:focus{border-color:var(--accent)}.input-amber::placeholder{color:var(--text-muted)}h1,h2,h3{font-family:var(--font-heading)}.lobby-screen,.create-profile-screen,.leaderboard-screen,.profile-screen,.postgame-screen,.onboarding-screen,.stats-screen,.compare-screen,.friends-screen,.history-screen{animation:.25s pageFadeIn}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.home-screen{background:var(--bg);min-height:100vh;color:var(--text);padding-bottom:80px}.home-hero{background:var(--surface);border-bottom:1px solid var(--border);padding:20px 16px 16px}.home-hero-top{justify-content:space-between;align-items:center;display:flex}.home-settings-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;display:flex}.home-settings-btn:active{background:var(--border);color:var(--text)}.home-hero-player{align-items:center;gap:12px;margin-top:12px;display:flex}.home-avatar{background:var(--accent);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;font-weight:800;display:flex}.home-hero-info{flex:1;min-width:0}.home-player-name{font-size:20px;font-weight:800;font-family:var(--font-heading)}.home-rank-row{align-items:center;gap:8px;margin-top:2px;display:flex}.home-rank-badge{font-size:12px;font-weight:700}.home-elo{color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);font-weight:600}.home-quick-stats{gap:12px;margin-top:14px;display:flex}.home-stat{background:var(--bg);border-radius:var(--radius-md);border:1px solid var(--border);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 4px;display:flex}.home-stat-val{font-size:18px;font-weight:800;font-family:var(--font-mono)}.home-stat-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);font-size:9px;font-weight:600}.home-form-dots{align-items:center;gap:4px;height:22px;display:flex}.form-dot{border-radius:50%;width:10px;height:10px}.form-dot.form-win{background:#4ade80}.form-dot.form-loss{background:#f87171}.home-actions{flex-direction:column;gap:10px;padding:16px;display:flex}.home-action-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:left;color:var(--text);align-items:center;gap:14px;padding:16px;transition:all .1s;display:flex}.home-action-card:active{background:var(--surface-hover);transform:scale(.98)}.action-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.action-play .action-icon{color:#4ade80;background:#4ade801f}.action-session .action-icon{color:#60a5fa;background:#60a5fa1f}.action-tournament .action-icon{color:#fbbf24;background:#fbbf241f}.action-text{flex-direction:column;gap:2px;display:flex}.action-title{font-size:16px;font-weight:800;font-family:var(--font-heading)}.action-desc{color:var(--text-secondary);font-size:12px}.home-recent{padding:0 16px 16px}.home-section-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.home-recent-list{flex-direction:column;gap:6px;display:flex}.home-game-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:10px 12px;display:flex}.game-result-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:flex}.game-won .game-result-badge{color:#4ade80;background:#4ade8026}.game-lost .game-result-badge{color:#f87171;background:#f8717126}.game-card-info{flex:1;min-width:0}.game-card-teams{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.game-card-meta{color:var(--text-secondary);margin-top:1px;font-size:10px}.home-friends{padding:0 16px 16px}.home-friends-strip{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.home-friend-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;-webkit-tap-highlight-color:transparent;color:var(--text);border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;display:flex}.home-friend-chip:active{background:var(--surface-hover)}.home-friend-avatar{background:var(--accent);color:#000;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:800;display:flex}.home-friend-name{font-size:12px;font-weight:600}.home-friend-elo{color:var(--text-secondary);font-size:10px;font-family:var(--font-mono)}.home-loading{text-align:center;color:var(--text-muted);padding:40px;font-size:13px}.player-picker{width:100%;position:relative}.picker-dropdown{background:var(--surface-hover);border:1px solid var(--border);z-index:50;-webkit-overflow-scrolling:touch;border-radius:8px;max-height:min(200px,40vh);margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0009}.picker-section-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:8px 12px 4px;font-size:10px;font-weight:600}.picker-option{width:100%;color:var(--text);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;font-size:14px;font-family:var(--font-body);background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.picker-option:active{background:var(--border)}.picker-name{flex-direction:column;gap:1px;font-weight:500;display:flex}.picker-username{color:var(--text-secondary);font-size:11px;font-weight:400}.picker-elo{color:var(--accent);font-size:12px;font-family:var(--font-mono);font-weight:700}.recent-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.recent-chip{background:var(--bg);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:12px;font-weight:500;font-family:var(--font-body);border-radius:16px;padding:5px 10px}.recent-chip:active{background:var(--surface-hover);color:var(--text);border-color:var(--accent-border)}.lobby-screen{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;align-items:center;gap:16px;padding:24px 16px;display:flex}.lobby-back{color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:13px;font-weight:600;font-family:var(--font-body);background:0 0;border:none;align-self:flex-start;padding:4px 0}.lobby-back:active{color:var(--text)}.lobby-grid{grid-template-columns:1fr 1.1fr 1fr;align-items:start;gap:14px;width:100%;max-width:820px;display:grid}.lobby-col{flex-direction:column;gap:10px;display:flex}.lp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:10px;padding:12px;display:flex;position:relative}.lp-card-you{border-color:var(--accent-border);background:linear-gradient(135deg, var(--surface), var(--accent-dim))}.lp-card-opp{border-color:#3355c44d}.lp-card-opp-border{border-style:dashed;border-color:#3355c433}.lp-card-add{border-style:dashed;border-color:var(--border);background:0 0;padding:4px}.lp-card-add .player-picker-input{background:0 0;border:none}.lp-avatar{background:var(--border);width:40px;height:40px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.lp-avatar-you{background:var(--accent-dim);color:var(--accent);border:2px solid var(--accent-border)}.lp-avatar-opp{color:#57c;background:#3355c41f;border:2px solid #3355c440}.lp-info{flex:1;min-width:0}.lp-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.lp-rank{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.lp-remove{color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px;line-height:1;position:absolute;top:6px;right:8px}.lp-remove:hover{color:var(--loss-text);background:var(--loss-dim)}.lmode-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.lmode-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:10px;font-size:10px;font-weight:600}.lmode-options{gap:6px;display:flex}.lmode-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;align-items:center;gap:6px;padding:12px 6px 8px;transition:all .15s;display:flex}.lmode-btn:active{transform:scale(.96)}.lmode-active{border-color:var(--accent-border);background:var(--accent-dim);box-shadow:0 0 12px var(--accent-dim)}.lmode-diagram{align-items:center;gap:4px;height:28px;display:flex}.lmode-stack{flex-direction:column;align-items:center;gap:2px;display:flex}.lmode-dot{border-radius:50%;width:12px;height:12px}.lmode-dot-sm{opacity:.6;width:8px;height:8px}.lmode-dot-you{background:var(--accent)}.lmode-dot-opp{background:#57c}.lmode-vs{color:var(--text-muted);font-size:9px;font-weight:700;font-family:var(--font-mono)}.lmode-name{color:var(--text);font-size:11px;font-weight:700}.lmode-active .lmode-name{color:var(--accent)}.lmode-phone-row{border-top:1px solid var(--border);gap:4px;margin-top:10px;padding-top:10px;display:flex}.lphone-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font-body);-webkit-tap-highlight-color:transparent;background:0 0;border-radius:6px;flex:1;padding:7px 0;transition:all .15s}.lphone-active{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent)}.lrules-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.lrules-head{align-items:center;margin-bottom:8px;display:flex}.lrules-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-size:10px;font-weight:600}.lrules-grid{grid-template-columns:1fr 1fr;gap:4px 12px;display:grid}.lrule-row{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:6px;padding:6px 0;display:flex}.lrule-row input{opacity:0;width:0;height:0;position:absolute}.lrule-cb{border:1.5px solid var(--border);background:var(--bg);border-radius:4px;flex-shrink:0;width:16px;height:16px;transition:all .15s;position:relative}.lrule-on{background:var(--accent);border-color:var(--accent)}.lrule-on:after{content:"✓";color:#151010;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:flex;position:absolute;inset:0}.lrule-txt{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.lrule-stepper{cursor:default}.lrule-stepper-btns{align-items:center;gap:6px;margin-left:auto;display:flex}.lrule-stepper-btns button{background:var(--border);width:22px;height:22px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:14px;font-weight:700;display:flex}.lrule-stepper-btns button:active{background:var(--surface-hover)}.lrule-stepper-btns span{font-size:13px;font-weight:700;font-family:var(--font-mono);text-align:center;min-width:14px}.lprediction{margin-top:2px}.lprediction-bar{height:20px;font-size:10px;font-weight:700;font-family:var(--font-mono);border-radius:10px;display:flex;overflow:hidden}.lprediction-fill{justify-content:center;align-items:center;min-width:36px;transition:width .3s;display:flex}.lprediction-t1{background:var(--accent);color:#151010}.lprediction-t2{color:#fff;background:#3355c4}.lprediction-label{text-align:center;color:var(--text-muted);margin-top:4px;font-size:10px}.laction-row{gap:8px;margin-top:auto;display:flex}.lrematch-btn{color:var(--accent);border:1px solid var(--accent-border);border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;flex-shrink:0;padding:12px 14px;font-size:18px;line-height:1;transition:all .12s}.lrematch-btn:active{background:var(--accent-dim);transform:scale(.95)}.lquickadd{flex-direction:column;gap:6px;margin-top:4px;display:flex}.lquickadd-section{flex-direction:column;gap:4px;display:flex}.lquickadd-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);font-size:9px;font-weight:600}.lquickadd-chips{flex-wrap:wrap;gap:4px;display:flex}.lquickadd-chip{background:var(--surface);border:1px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:var(--font-body);border-radius:20px;align-items:center;gap:4px;padding:4px 8px 4px 4px;transition:all .12s;display:flex}.lquickadd-chip:active{background:var(--surface-hover);border-color:var(--accent-border);transform:scale(.95)}.lquickadd-chip.lquickadd-fav{border-color:var(--gold)}.lquickadd-avi{background:var(--border);width:20px;height:20px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.lquickadd-name{color:var(--text);white-space:nowrap;font-size:11px;font-weight:600}.lrematch-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:14px;display:flex}.lrematch-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:600}.lrematch-game{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:8px;display:flex}.lrematch-game-info{flex:1;min-width:0}.lrematch-teams{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.lrematch-won{color:var(--win-text)}.lrematch-vs{color:var(--text-muted);font-size:10px;font-weight:700}.lrematch-meta{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);margin-top:2px}.lrematch-actions{flex-shrink:0;gap:4px;display:flex}.lrematch-action{background:var(--accent-dim);border:1px solid var(--accent-border);width:32px;height:32px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:all .12s;display:flex}.lrematch-action:active{background:var(--accent);color:#151010;transform:scale(.92)}.lrematch-shuffle{color:#57c;background:#3355c41f;border-color:#3355c44d}.lrematch-shuffle:active{color:#fff;background:#3355c4}.lstart-btn{background:var(--accent);color:#151010;border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;font-size:15px;font-weight:800;font-family:var(--font-heading);letter-spacing:.5px;text-transform:uppercase;border:none;margin-top:4px;padding:14px;transition:all .12s}.lstart-btn:active{filter:brightness(.9);transform:scale(.97)}.lstart-btn:disabled{background:var(--border);color:var(--text-muted);cursor:default;opacity:.6}.friend-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;flex-shrink:0;align-items:center;gap:3px;min-width:64px;padding:8px 10px;transition:all .12s;display:flex}.friend-chip:active{background:var(--surface-hover);border-color:var(--accent-border);transform:scale(.95)}.friend-chip-avatar{background:var(--border);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.friend-chip-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:60px;font-size:11px;font-weight:600;overflow:hidden}.friend-chip-elo{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);font-weight:600}.feed-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:8px;font-size:10px;font-weight:600}.feed-item{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:4px;padding:8px 0;font-size:13px;display:flex}.feed-item:last-child{border-bottom:none}.feed-result{color:var(--text);font-weight:600}.feed-vs{color:var(--text-muted)}.feed-score{color:var(--accent);font-weight:700;font-family:var(--font-mono);margin-left:auto}.feed-ago{color:var(--text-muted);white-space:nowrap;margin-left:8px;font-size:11px}.lobby-waiting{gap:16px}.lobby-header{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.lobby-header h1{letter-spacing:-.5px;font-size:24px;font-weight:800;font-family:var(--font-heading);margin:0}.lobby-subtitle{color:var(--text-secondary);margin:0;font-size:13px}.lobby-qr{border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;align-items:center;gap:10px;width:100%;max-width:280px;padding:20px;display:flex}.lobby-qr-title{color:var(--text);text-align:center;font-size:13px;font-weight:700}.lobby-code{color:var(--accent);font-size:14px;font-family:var(--font-mono);letter-spacing:2px;margin:0;font-weight:700}.team-box{border-radius:var(--radius-md);background:var(--surface);flex:1;padding:14px}.team-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:10px;font-size:10px;font-weight:600}.player-joined{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:6px;margin-bottom:6px;padding:8px 12px;font-size:14px;display:flex}.player-joined .player-elo-tag{font-size:12px;font-family:var(--font-mono);color:var(--accent);margin-left:auto;font-weight:700}.teams-setup-legacy{gap:12px;width:100%;max-width:500px;display:flex;position:relative}.teams-vs{color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;z-index:2;background:var(--bg);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.friend-suggestions{width:100%;max-width:500px}.friend-chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.friend-chips::-webkit-scrollbar{display:none}.start-btn{background:var(--accent);color:#151010;border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;font-size:15px;font-weight:800;font-family:var(--font-heading);letter-spacing:.5px;text-transform:uppercase;border:none;padding:16px;transition:all .12s}.start-btn:active{filter:brightness(.9);transform:scale(.97)}.start-btn:disabled{background:var(--border);color:var(--text-muted);cursor:default;opacity:.6}.waiting-text{color:var(--text-muted);margin:0;font-size:13px}.lobby-error{background:var(--loss-dim);border:1px solid var(--loss-border);border-radius:var(--radius-sm);width:100%;max-width:820px;color:var(--loss-text);text-align:center;padding:12px 16px;font-size:14px;font-weight:600;animation:.4s errorShake}@keyframes errorShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.lobby-spacer{height:20px}@media (width<=700px){.lobby-grid{grid-template-columns:1fr;max-width:400px}.lobby-col-center{order:-1}.lrules-grid{grid-template-columns:1fr 1fr}.teams-setup-legacy{flex-direction:column}.teams-vs{display:none}}@media (width<=380px){.lmode-options{gap:4px}.lmode-btn{padding:10px 4px 6px}.lrules-grid{grid-template-columns:1fr}}.settings-backdrop{z-index:50;background:#00000080;position:fixed;inset:0}.settings-panel{background:var(--bg);border-left:1px solid var(--border);z-index:51;flex-direction:column;width:260px;animation:.2s slideIn;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.settings-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.settings-title{font-size:14px;font-weight:800;font-family:var(--font-heading);letter-spacing:.5px}.settings-close{background:var(--surface);border:1px solid var(--border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;display:flex}.settings-rows{flex:1;padding:8px 0}.settings-row{width:100%;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:12px;padding:14px 16px;font-size:13px;display:flex}.settings-row:active{background:var(--surface)}.settings-row-icon{color:var(--text-secondary);align-items:center;display:flex}.settings-row-label{text-align:left;flex:1;font-weight:600}.settings-toggle{background:var(--border);border-radius:10px;width:36px;height:20px;transition:background .2s;position:relative}.settings-toggle.toggle-on{background:var(--accent)}.toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle-on .toggle-thumb{transform:translate(16px)}.settings-danger{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:16px;display:flex}.settings-cancel-btn{border-radius:var(--radius-md);color:#f44;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ff3c3c1f;border:1px solid #ff3c3c4d;width:100%;padding:12px;font-size:13px;font-weight:700}.settings-cancel-btn:active{background:#ff3c3c40}.settings-cancel-hint{color:var(--text-muted);text-align:center;font-size:10px}.hype-toast{border:1px solid var(--border);color:var(--text);pointer-events:none;z-index:40;white-space:nowrap;font-size:18px;font-weight:800;font-family:var(--font-heading);letter-spacing:1px;background:#000000d9;border-radius:16px;padding:12px 28px;animation:.3s hypeOverlayIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.hype-toast.hype-glow{color:#fff;text-shadow:0 0 12px #fff9;letter-spacing:3px;background:#ff2a2aeb;border-color:#0000;padding:20px 40px;font-size:28px;animation:4s forwards hypeGlowBurst}@keyframes hypeOverlayIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes hypeGlowBurst{0%{opacity:1;transform:translate(-50%,-50%)scale(.6);box-shadow:0 0 40px #ff2a2acc}15%{transform:translate(-50%,-50%)scale(1.15);box-shadow:0 0 60px #ff2a2a}30%{transform:translate(-50%,-50%)scale(1)}40%{transform:translate(-50%,-50%)scale(1.05);box-shadow:0 0 40px #ff2a2a99}50%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1}to{opacity:0;box-shadow:none;transform:translate(-50%,-50%)scale(.9)}}.game-screen{background:var(--bg);width:100vw;height:100vh;color:var(--text);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;overflow:hidden}.nachwurf-banner{color:#000;text-align:center;letter-spacing:1.5px;text-transform:uppercase;font-size:12px;font-weight:800;font-family:var(--font-heading);background:linear-gradient(135deg,#d97706 0%,#b45309 100%);flex-shrink:0;padding:5px 16px;animation:1.5s ease-in-out infinite nachwurf-pulse}@keyframes nachwurf-pulse{0%,to{opacity:1}50%{opacity:.7}}.gear-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;z-index:20;-webkit-tap-highlight-color:transparent;background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;top:5px;right:5px}.gear-btn:active{color:var(--text);background:#ffffff1a}.mini-score{flex-shrink:0;justify-content:center;align-items:center;gap:0;padding:4px 12px;display:flex}.mini-score-team{opacity:.4;flex:1;align-items:center;transition:opacity .2s;display:flex}.mini-score-team:first-child{justify-content:flex-end}.mini-score-team:last-child{justify-content:flex-start}.mini-score-team.mini-active{opacity:1}.mini-team-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;max-width:30vw;font-size:12px;font-weight:700;font-family:var(--font-heading);overflow:hidden}.mini-active .mini-team-name{color:var(--text);text-shadow:0 0 8px #ffffff4d}.mini-score-nums{flex-shrink:0;align-items:center;gap:4px;padding:0 12px;display:flex}.mini-cups{font-size:20px;font-weight:900;font-family:var(--font-mono);color:var(--text);text-align:center;min-width:20px;transition:transform .15s}.mini-cups.score-changed{animation:.35s scorePop}@keyframes scorePop{0%{transform:scale(1)}40%{color:var(--accent);transform:scale(1.3)}to{transform:scale(1)}}.mini-divider{color:var(--text-muted);font-size:16px;font-weight:300;font-family:var(--font-mono)}.sync-warning{background:var(--gold-dim);border-bottom:1px solid var(--gold-border);color:var(--gold);text-align:center;flex-shrink:0;padding:3px;font-size:10px;font-weight:600}.game-body{flex:1;min-height:0;display:flex}.left-panel{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;justify-content:center;gap:6px;width:100px;padding:6px;transition:opacity .3s;display:flex}.left-panel.defending{opacity:.2;pointer-events:none}.center-column{flex-direction:column;flex:1;min-width:0;display:flex}.bottom-actions{border-top:1px solid var(--border);flex-shrink:0;gap:6px;padding:6px;display:flex}.btn-miss{border-radius:var(--radius-md);border:3px solid var(--text-muted);background:var(--surface-hover);height:48px;color:var(--text);letter-spacing:4px;cursor:pointer;font-size:20px;font-weight:900;font-family:var(--font-heading);-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex:2;transition:all .1s}.btn-miss:active{background:var(--border);transform:scale(.95)}.btn-miss:disabled{opacity:.3;cursor:default}.btn-bounce{border-radius:var(--radius-md);height:48px;color:var(--gold);letter-spacing:.5px;cursor:pointer;font-size:11px;font-weight:800;font-family:var(--font-heading);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#ffea000f;border:2px solid #ffea004d;flex:1;justify-content:center;align-items:center;transition:all .1s;display:flex}.btn-bounce.bounce-active{border-color:var(--gold);background:#ffea0033}.btn-bounce:active{transform:scale(.93)}.bounce-sheet{background:#ffea0014;border-top:1px solid #ffea0059;flex-shrink:0;align-items:center;gap:6px;padding:6px;animation:.15s ease-out sheetSlideUp;display:flex}@keyframes sheetSlideUp{0%{opacity:0;transform:translateY(30%)}to{opacity:1;transform:translateY(0)}}.bounce-sheet-text{text-align:center;height:48px;color:var(--gold);letter-spacing:.5px;font-size:13px;font-weight:800;font-family:var(--font-heading);flex:1;justify-content:center;align-items:center;display:flex}.bounce-sheet-cancel{border-radius:var(--radius-md);border:2px solid var(--border);min-width:88px;height:48px;color:var(--text-secondary);letter-spacing:1px;cursor:pointer;font-size:12px;font-weight:800;font-family:var(--font-heading);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#ffffff0a;flex:none}.bounce-sheet-cancel:active{background:var(--surface-hover);color:var(--text);transform:scale(.95)}.bounce-sheet.sheet-penalty{background:#ff2a2a1a;border-top-color:#ff2a2a66}.bounce-sheet.sheet-penalty .bounce-sheet-text{color:var(--neon-red,#ff2a2a)}.btn-bounce:disabled{opacity:.3;cursor:default}.thrower-box{border-radius:var(--radius-md);border:2px solid var(--neon-red,#ff2a2a);background:#ff2a2a1f;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;padding:14px 8px;transition:all .25s;animation:2s ease-in-out infinite throwerPulse;display:flex;box-shadow:0 0 16px #ff2a2a4d,inset 0 0 8px #ff2a2a0f}@keyframes throwerPulse{0%,to{box-shadow:0 0 16px #ff2a2a4d,inset 0 0 8px #ff2a2a0f}50%{box-shadow:0 0 24px #ff2a2a80,inset 0 0 12px #ff2a2a1a}}.thrower-box.thrower-team2{border-color:var(--neon-blue,#00c8dd);background:#00c8dd1f;animation:2s ease-in-out infinite throwerPulseBlue;box-shadow:0 0 16px #00c8dd4d,inset 0 0 8px #00c8dd0f}@keyframes throwerPulseBlue{0%,to{box-shadow:0 0 16px #00c8dd4d,inset 0 0 8px #00c8dd0f}50%{box-shadow:0 0 24px #00c8dd80,inset 0 0 12px #00c8dd1a}}.thrower-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:800;display:flex}.thrower-avatar.av-team1{color:var(--neon-red,#ff2a2a);background:#ff2a2a4d;box-shadow:0 0 8px #ff2a2a4d}.thrower-avatar.av-team2{color:var(--neon-blue,#00c8dd);background:#00c8dd4d;box-shadow:0 0 8px #00c8dd4d}.thrower-info{flex-direction:column;align-items:center;width:100%;min-width:0;display:flex}.thrower-name{font-size:12px;font-weight:800;font-family:var(--font-heading);white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:100%;overflow:hidden}.thrower-tag{text-transform:uppercase;letter-spacing:1.5px;color:var(--neon-red,#ff2a2a);font-size:8px;font-weight:700}.thrower-team2 .thrower-tag{color:var(--neon-blue,#00c8dd)}.on-fire-badge{letter-spacing:.5px;color:#fff;white-space:nowrap;background:#0000004d;border-radius:20px;flex-shrink:0;padding:2px 6px;font-size:8px;font-weight:800;animation:.6s ease-in-out infinite alternate pulse}@keyframes pulse{0%{opacity:.8}to{opacity:1;transform:scale(1.08)}}.cup-center{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;padding:2px 8px;display:flex;position:relative}.cup-center:before{content:"";pointer-events:none;background:radial-gradient(at 50% 42%,#ffffff0b 0%,#ffffff04 45%,#0000 72%);border-radius:50%;width:min(96%,420px);height:min(94%,320px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 60px #0000008c}.cup-center:after{content:"";background:radial-gradient(ellipse, var(--table-glow,transparent) 0%, transparent 70%);opacity:.5;pointer-events:none;border-radius:50%;width:min(80%,340px);height:min(70%,230px);transition:background .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cup-center:has(.cup-red):after{--table-glow:#ff2a2a1a}.cup-center:has(.cup-blue):after{--table-glow:#00c8dd1a}.cup-grid{z-index:1;--cup-spacing:min(25%, 86px);width:100%;max-width:380px;height:min(100%,290px);position:relative;container-type:size}@supports (width:1cqw){.cup-grid{--cup-spacing:min(24cqw, 25cqh, 86px)}}.cup{--cup-size:min(54px, calc(var(--cup-spacing) - 6px));width:var(--cup-size);height:var(--cup-size);border:3px solid var(--cup-color);background: radial-gradient(circle at 32% 24%, #ffffff47 0%, #ffffff0f 26%, transparent 40%), linear-gradient(to bottom, #d4a37373 0%, #d4a37326 100%), radial-gradient(circle at 35% 35%, var(--cup-fill-strong) 0%, var(--cup-fill-dim) 70%);box-shadow:0 0 14px var(--cup-glow), 0 8px 14px -6px #000000a6, inset 0 -4px 8px #00000059, inset 0 2px 3px #ffffff1a;color:var(--cup-color);font-size:clamp(10px, calc(var(--cup-size) * .28), 15px);text-shadow:0 1px 3px #000000b3;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-weight:800;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;transition:all .12s;display:flex;position:absolute;overflow:hidden}.cup.cup-red{--cup-color:var(--neon-red,#ff2a2a);--cup-fill-strong:#ff2a2a40;--cup-fill-dim:#ff2a2a14;--cup-glow:#ff2a2a33;--cup-active-fill-strong:#ff2a2a80;--cup-active-fill-dim:#ff2a2a4d;--cup-active-glow:#ff2a2a80}.cup.cup-blue{--cup-color:var(--neon-blue,#00c8dd);--cup-fill-strong:#00c8dd40;--cup-fill-dim:#00c8dd14;--cup-glow:#00c8dd33;--cup-active-fill-strong:#00c8dd80;--cup-active-fill-dim:#00c8dd4d;--cup-active-glow:#00c8dd80}.cup:after{content:"";border-radius:50%;position:absolute;inset:-10px}.cup:active:not(.cup-hit){background:linear-gradient(to bottom, #d4a37399 0%, #d4a3734d 100%), radial-gradient(circle at 35% 35%, var(--cup-active-fill-strong) 0%, var(--cup-active-fill-dim) 70%);box-shadow:0 0 20px var(--cup-active-glow), inset 0 -3px 6px #0000004d;transform:scale(.88)}.cup.bounce-mode:not(.cup-hit){border-color:var(--gold);color:var(--gold);background:linear-gradient(#e0d26459 0%,#e0c0501a 100%),radial-gradient(circle at 35% 35%,#e0d26433 0%,#e0c0500f 70%);box-shadow:0 0 12px #e0c05033,inset 0 -3px 6px #0000004d}.cup.bounce-mode:active:not(.cup-hit){background:linear-gradient(#e0d26480 0%,#e0c05040 100%),radial-gradient(circle at 35% 35%,#e0d26466 0%,#e0c05033 70%);box-shadow:0 0 20px #e0c05080,inset 0 -3px 6px #0000004d}.cup-removing{pointer-events:none;animation:.35s ease-out forwards cupRecorded}@keyframes cupRecorded{0%{background:radial-gradient(circle at 50% 50%, var(--cup-active-fill-strong,#ff2a2a8c) 0%, var(--cup-active-fill-dim,#ff2a2a4d) 80%);border-color:var(--cup-color,#e63333);box-shadow:0 0 0 0 var(--cup-active-glow,#ff2a2a99);opacity:1;transform:scale(1.18)}45%{transform:scale(1.05);box-shadow:0 0 0 16px #0000}to{background:var(--surface);border-color:var(--border);opacity:.3;transform:scale(.78);box-shadow:0 0 0 16px #0000}}.cup-penalty-selected{transform:scale(1.1);border-color:var(--cup-color,#e63333)!important;box-shadow:0 0 12px var(--cup-active-glow,#e6333399)!important;background:#e6333380!important}.cup-hit{background:var(--surface);border:2px dashed var(--border);color:var(--text-muted);opacity:.3;cursor:default;box-shadow:none;transform:scale(.78)}.cup-pending{opacity:.5;border-color:var(--cup-color,#e63333);background:linear-gradient(to bottom, #d4a37333 0%, #d4a3730f 100%), radial-gradient(circle at 35% 35%, var(--cup-fill-dim,#e633331f) 0%, transparent 70%);box-shadow:0 0 8px var(--cup-glow,#e633334d);animation:1.2s ease-in-out infinite cupPendingPulse}@keyframes cupPendingPulse{0%,to{opacity:.5}50%{opacity:.7}}.btn-switch{border-radius:var(--radius-md);border:2px solid var(--border);width:100%;color:var(--text-secondary);letter-spacing:.3px;cursor:pointer;font-size:9px;font-weight:800;font-family:var(--font-heading);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#ffffff08;flex-direction:column;flex:0 0 48px;justify-content:center;align-items:center;gap:2px;transition:all .1s;display:flex}.btn-switch:active{background:var(--surface-hover);color:var(--text);transform:scale(.93)}.btn-switch:disabled{opacity:.3;cursor:default}.btn-switch svg{opacity:.6}.defending-overlay{z-index:30;pointer-events:none;background:#0000008c;display:none;position:absolute;inset:0}.defending-overlay.active{display:block}.defending-center{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.defending-title{letter-spacing:3px;color:#ffffffb3;font-size:16px;font-weight:900;font-family:var(--font-heading)}.defending-sub{color:#fff6;font-size:11px;font-weight:600}.ghost-cups{z-index:1;--cup-spacing:min(22%, 70px);width:100%;max-width:380px;height:min(100%,290px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);container-type:size}@supports (width:1cqw){.ghost-cups{--cup-spacing:min(24cqw, 25cqh, 86px)}}.ghost-cup{--cup-size:min(40px, calc(var(--cup-spacing) - 6px));width:var(--cup-size);height:var(--cup-size);font-size:11px;font-weight:700;font-family:var(--font-mono);opacity:.15;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.ghost-cup.ghost-red{border:2px solid var(--neon-red,#ff2a2a);color:var(--neon-red,#ff2a2a);background:#ff2a2a14}.ghost-cup.ghost-blue{border:2px solid var(--neon-blue,#00c8dd);color:var(--neon-blue,#00c8dd);background:#00c8dd14}.sidebar{border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:186px;display:flex;overflow:hidden}.sb-timer{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;padding:5px;display:flex}.sb-timer-val{font-size:16px;font-weight:800;font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:1px}.sb-actions{flex-shrink:0;gap:4px;padding:5px 5px 3px;display:flex}.btn-sm{border:1.5px solid var(--border);text-align:center;cursor:pointer;font-size:9px;font-weight:800;font-family:var(--font-heading);-webkit-tap-highlight-color:transparent;color:var(--text-muted);background:0 0;border-radius:8px;flex:1;padding:7px 4px;transition:all .1s}.btn-sm:active{transform:scale(.93)}.btn-sm:disabled{opacity:.3;cursor:default}.btn-rerack{color:#50e0b0;background:#50e0b00a;border-color:#50e0b040}.btn-undo{border-color:var(--border);color:var(--text-muted)}.sb-stats{flex-direction:column;flex:1;gap:3px;padding:3px 5px;display:flex;overflow-y:auto}.sb-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:0 2px;font-size:7px;font-weight:700}.player-stat{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:5px;padding:4px 5px;transition:all .2s;display:flex}.player-stat.active-thrower{border-color:var(--neon-red,#ff2a2a);background:#ff2a2a0f}.player-stat.ps-team2.active-thrower{border-color:var(--neon-blue,#00c8dd);background:#00c8dd0f}.ps-arrow{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid var(--neon-red,#ff2a2a);opacity:0;flex-shrink:0;width:0;height:0;transition:opacity .2s}.ps-team2 .ps-arrow{border-left-color:var(--neon-blue,#00c8dd)}.active-thrower .ps-arrow{opacity:1}.ps-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:800;display:flex}.ps-avatar.ps-av-team1{color:var(--neon-red,#ff2a2a);background:#ff2a2a26}.ps-avatar.ps-av-team2{color:var(--neon-blue,#00c8dd);background:#00c8dd26}.ps-info{flex:1;min-width:0}.ps-name{white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:700;line-height:1.1;overflow:hidden}.ps-detail{color:var(--text-secondary);font-size:8px;font-family:var(--font-mono);font-weight:600}.ps-acc{font-size:12px;font-weight:800;font-family:var(--font-mono);text-align:right;min-width:28px}.ps-acc-good{color:#4a4}.ps-acc-mid{color:var(--gold)}.ps-acc-low{color:var(--text-secondary)}.sb-ticker{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:2px;padding:4px 7px 6px;display:flex}.ticker-row{opacity:.45;align-items:center;gap:5px;min-width:0;font-size:10px;display:flex}.ticker-row.ticker-latest{opacity:1;animation:.25s ease-out tickerIn}.ticker-row:nth-child(3){opacity:.7}@keyframes tickerIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.ticker-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.ticker-t1{background:var(--neon-red,#ff2a2a);box-shadow:0 0 4px #ff2a2a99}.ticker-t2{background:var(--neon-blue,#00c8dd);box-shadow:0 0 4px #00c8dd99}.ticker-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.ticker-result{font-family:var(--font-mono);white-space:nowrap;font-weight:700}.ticker-hit{color:#4ec77a}.ticker-miss{color:var(--text-muted)}.ticker-bounce{color:var(--gold)}.team-divider{background:var(--border);height:1px;margin:1px 4px}.match-rating{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:5px;padding:4px 5px;display:flex}.mr-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-size:7px;font-weight:700}.mr-bar-wrap{background:var(--border);border-radius:3px;flex:1;height:5px;position:relative;overflow:hidden}.mr-bar-fill{border-radius:3px;height:100%;transition:width .3s}.mr-fill-team1{background:var(--neon-red,#ff2a2a)}.mr-fill-team2{background:var(--neon-blue,#00c8dd);position:absolute;top:0;right:0}.mr-value{font-size:9px;font-family:var(--font-mono);text-align:right;min-width:24px;font-weight:700}.bounce-hint{color:#000;border-radius:var(--radius-md);pointer-events:none;z-index:40;font-size:15px;font-weight:700;font-family:var(--font-heading);background:#ffea00eb;padding:10px 24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.cancel-overlay{z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cancel-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:280px;padding:24px}.cancel-dialog-title{font-size:18px;font-weight:800;font-family:var(--font-heading);margin-bottom:8px}.cancel-dialog-desc{color:var(--text-secondary);margin-bottom:20px;font-size:13px}.cancel-dialog-actions{flex-direction:column;gap:8px;display:flex}.cancel-dialog-btn{border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;padding:14px;font-size:14px;font-weight:700}.cancel-keep{background:var(--accent);color:#151010;border:none}.cancel-confirm{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.cancel-confirm:active{background:var(--surface-hover);color:var(--text)}.rerack-dialog{max-width:340px}.rerack-options{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.rerack-option{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;color:var(--text);align-items:center;gap:12px;padding:12px;display:flex}.rerack-option:active{background:var(--border);border-color:#50e0b0}.rerack-preview{flex-shrink:0;width:80px;height:80px;position:relative}.rerack-dot{background:#50e0b0;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%)}.rerack-name{font-size:14px;font-weight:700}.rotate-overlay{z-index:100;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.rotate-icon{font-size:48px;animation:1.5s ease-in-out infinite rotate-hint}@keyframes rotate-hint{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.rotate-text{color:var(--text);font-size:16px;font-weight:700;font-family:var(--font-heading);text-align:center}.rotate-dismiss{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:13px;font-family:var(--font-body);background:0 0;margin-top:8px;padding:8px 20px}.rotate-dismiss:active{background:var(--surface);color:var(--text)}.reaction-layer{pointer-events:none;z-index:70;position:fixed;inset:0;overflow:hidden}.reaction-float{will-change:transform, opacity;font-size:34px;animation:2.6s ease-out forwards reactionFloat;position:absolute;bottom:6%}@keyframes reactionFloat{0%{opacity:0;transform:translateY(0)scale(.6)rotate(-8deg)}10%{opacity:1;transform:translateY(-6vh)scale(1.15)rotate(4deg)}60%{opacity:1;transform:translateY(-34vh)scale(1)rotate(-4deg)}to{opacity:0;transform:translateY(-58vh)scale(.9)rotate(6deg)}}.streak-pips{align-items:center;gap:4px;display:flex}.pip{background:#ffffff1f;border-radius:50%;width:7px;height:7px;transition:all .25s}.pip.pip-on{background:var(--gold);box-shadow:0 0 6px #ffd700b3}.pip.pip-fire{opacity:.35;background:0 0;width:auto;height:auto;font-size:9px}.fire-edge{pointer-events:none;z-index:15;animation:1.4s ease-in-out infinite fireEdgePulse;position:fixed;inset:0}.fire-edge-t1{box-shadow:inset 0 0 60px 4px #ff641e47}.fire-edge-t2{box-shadow:inset 0 0 60px 4px #00c8dd3d}@keyframes fireEdgePulse{0%,to{opacity:.55}50%{opacity:1}}.handoff-overlay{z-index:60;pointer-events:none;background:#000000d1;flex-direction:column;justify-content:center;align-items:center;gap:6px;animation:1.4s ease-in-out forwards handoffIn;display:flex;position:fixed;inset:0}.handoff-overlay.handoff-t1{background:radial-gradient(#ff2a2a38 0%,#000000e0 70%)}.handoff-overlay.handoff-t2{background:radial-gradient(#00c8dd33 0%,#000000e0 70%)}.handoff-sub{letter-spacing:4px;color:var(--text-secondary);font-size:13px;font-weight:800;font-family:var(--font-heading)}.handoff-name{font-size:clamp(34px,9vw,56px);font-weight:900;font-family:var(--font-heading);color:#fff;text-shadow:0 0 24px #ffffff59;animation:.35s cubic-bezier(.2,1.6,.4,1) handoffNamePop}.handoff-t1 .handoff-name{color:#ffb3b3}.handoff-t2 .handoff-name{color:#b3f0f7}@keyframes handoffIn{0%{opacity:0}12%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes handoffNamePop{0%{transform:scale(.6)}to{transform:scale(1)}}.game-screen{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.portrait-mode .bottom-actions,.portrait-mode .sidebar{padding-bottom:env(safe-area-inset-bottom)}.game-screen.party-contrast{background:#000}.game-screen.party-contrast .cup-grid{filter:saturate(1.35)brightness(1.2)}.game-screen.party-contrast .cup:not(.cup-hit){color:#fff;border-width:4px;font-size:17px}.game-screen.party-contrast .mini-team-name,.game-screen.party-contrast .mini-cups{color:#fff}.game-screen.party-contrast .mini-cups{font-size:24px}.game-screen.party-contrast .btn-miss{color:#fff;border-color:#ffffffb3}.game-screen.party-contrast .thrower-name,.game-screen.party-contrast .ps-name{color:#fff}.game-screen.party-contrast .cup-center:before,.game-screen.party-contrast .cup-center:after{display:none}.portrait-mode .game-body{flex-direction:column}.portrait-mode .left-panel{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;order:1;gap:6px;width:100%;height:auto;padding:4px 8px}.portrait-mode .thrower-box{flex-direction:row;flex:1;gap:8px;padding:8px}.portrait-mode .btn-switch{flex:none;width:auto;padding:0 14px}.portrait-mode .thrower-info{align-items:flex-start}.portrait-mode .bottom-actions{border-top:1px solid var(--border);order:3}.portrait-mode .center-column{order:2}.portrait-mode .cup-center{flex:1;padding:4px 12px}.portrait-mode .cup-grid{--cup-spacing:min(26%, 96px);width:min(94vw,380px);height:min(52vh,400px)}@supports (width:1cqw){.portrait-mode .cup-grid{--cup-spacing:min(24cqw, 25cqh, 96px)}}.portrait-mode .cup{--cup-size:min(56px, calc(var(--cup-spacing) - 6px));border-width:2px}.portrait-mode .sidebar{border-left:none;border-top:1px solid var(--border);flex-direction:row;order:4;align-items:center;width:100%;max-height:64px;overflow:hidden}.portrait-mode .sb-timer{border-bottom:none;border-right:1px solid var(--border);padding:4px 8px}.portrait-mode .sb-timer-val{font-size:12px}.portrait-mode .sb-ticker{display:none}.portrait-mode .sb-actions{flex-direction:row;flex-shrink:0;align-items:center;width:auto;padding:4px}.portrait-mode .sb-stats{flex-direction:row;gap:4px;padding:4px;overflow-x:auto}.portrait-mode .player-stat{flex-shrink:0;min-width:120px}.portrait-mode .match-rating{flex-shrink:0;min-width:100px}.portrait-mode .mini-score{padding:2px 8px}.portrait-mode .mini-cups{font-size:16px}.portrait-mode .mini-team-name{max-width:25vw;font-size:10px}.portrait-mode .mini-score-nums{padding:0 8px}@media (height<=500px){.mini-score{padding:2px 8px}.mini-team-name{font-size:10px}.mini-cups{font-size:16px}.mini-score-nums{padding:0 8px}}@media (height<=400px){.mini-score{padding:1px 6px}.mini-team-name{font-size:9px}.mini-cups{font-size:14px}.cup{--cup-size:min(42px, calc(var(--cup-spacing) - 6px))}.cup-grid{--cup-spacing:min(22%, 65px);height:min(100%,200px)}@supports (width:1cqw){.cup-grid{--cup-spacing:min(24cqw, 25cqh, 65px)}}.left-panel{gap:4px;width:80px;padding:4px}.btn-miss{letter-spacing:2px;height:40px;font-size:16px}.btn-bounce{height:40px;font-size:10px}.sidebar{width:160px}.thrower-name{font-size:9px}.thrower-avatar{width:28px;height:28px;font-size:12px}.bottom-actions{gap:4px;padding:4px}}@media (width>=769px){.cup{--cup-size:min(58px, calc(var(--cup-spacing) - 6px));font-size:clamp(10px, calc(var(--cup-size) * .28), 16px)}.left-panel{width:120px}.btn-miss{font-size:24px}.sidebar{width:220px}}.create-profile-screen{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:32px 20px;display:flex}.create-profile-header{text-align:center}.create-profile-header h1{letter-spacing:-.5px;font-size:36px;font-weight:800;font-family:var(--font-heading);margin:0}.create-profile-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:14px}.choose-buttons{flex-direction:column;gap:12px;width:100%;max-width:300px;display:flex}.login-btn{border-radius:var(--radius-md);letter-spacing:1px;cursor:pointer;width:100%;color:var(--text-secondary);border:1px solid var(--border);background:0 0;padding:16px;font-size:15px;font-weight:700;transition:background .15s,color .15s}.login-btn:active{background:var(--surface-hover);color:var(--text);transform:scale(.97)}.create-profile-card{border-radius:var(--radius-md);background:var(--surface);width:100%;max-width:340px;padding:20px}.create-profile-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:8px;font-size:11px}.create-profile-label:not(:first-child){margin-top:16px}.username-input-wrap{background:var(--surface-hover);border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:0;display:flex;overflow:hidden}.username-at{color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:12px 0 12px 14px;font-size:16px;font-weight:600}.username-field{background:0 0!important;border:none!important;border-radius:0!important;padding-left:4px!important}.username-hint{color:var(--text-muted);margin:4px 0 0;font-size:12px}.username-hint.checking{color:var(--text-secondary)}.username-hint.available{color:var(--win-text)}.username-hint.taken{color:var(--loss-text)}.pin-hint{color:var(--text-muted);margin:4px 0 0;font-size:12px}.create-profile-error{background:var(--loss-dim);border:1px solid var(--loss-border);color:var(--loss-text);text-align:center;border-radius:10px;margin-top:12px;padding:14px;font-size:15px;font-weight:600;animation:.4s errorShake}.switch-mode-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:14px}.switch-mode-btn:active{color:var(--text)}.ob-screen{background:var(--bg);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:100dvh;position:relative;overflow:hidden}.ob-slider{will-change:transform;width:100%;height:100%;transition:transform .42s cubic-bezier(.4,0,.2,1);display:flex}.ob-slide{flex-direction:column;width:100%;min-width:100%;height:100%;display:flex;position:relative}.ob-topbar{z-index:10;justify-content:flex-end;align-items:center;padding:16px 20px;display:flex;position:absolute;top:0;left:0;right:0}.ob-skip{font-family:var(--font-body);letter-spacing:.04em;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:600;transition:color .2s}.ob-skip:active{color:var(--text)}.ob-vis{flex:1;justify-content:center;align-items:center;padding:52px 0 0;display:flex;position:relative}.ob-copy{padding:0 24px 10px}.ob-eyebrow{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);opacity:.85;margin-bottom:6px;font-size:10px;font-weight:600}.ob-headline{font-family:var(--font-heading);letter-spacing:-.01em;text-transform:uppercase;color:var(--text);margin-bottom:10px;font-size:36px;font-weight:800;line-height:.95}.ob-body{color:var(--text-secondary);max-width:300px;font-size:14px;font-weight:400;line-height:1.55}.ob-dots{align-items:center;gap:6px;padding:14px 24px 28px;display:flex}.ob-dot{background:var(--border);border-radius:3px;width:6px;height:6px;transition:all .3s}.ob-dot-active{background:var(--accent);width:22px}.ob-nav-row{z-index:20;justify-content:space-between;align-items:center;padding:0 20px 28px;display:flex;position:absolute;bottom:0;left:0;right:0}.ob-btn-ghost{font-family:var(--font-body);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s}.ob-btn-ghost:active{color:var(--text);border-color:var(--text-secondary)}.ob-btn-ghost[disabled]{opacity:0;pointer-events:none}.ob-btn-next{font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;color:#151010;background:var(--accent);cursor:pointer;border:none;border-radius:50px;padding:12px 26px;font-size:15px;font-weight:800;transition:all .2s;box-shadow:0 4px 16px #c8935a4d}.ob-btn-next:active{transform:scale(.97)}.ob-pyramid-wrap{flex-direction:column;align-items:center;gap:24px;display:flex}.ob-pyramid{flex-direction:column;align-items:center;gap:10px;display:flex}.ob-cup-row{gap:10px;display:flex}.ob-cup{border:2px solid var(--border);cursor:pointer;background:#ffffff0a;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:all .18s;display:flex;position:relative}.ob-cup:after{content:"";background:#ffffff12;border-radius:50%;width:16px;height:16px;transition:all .18s}.ob-cup-hit{background:#e0606033;border-color:#e060608c;box-shadow:0 0 12px #e0606033}.ob-cup-hit:after{background:var(--loss-text);width:12px;height:12px;box-shadow:0 0 8px var(--loss-text)}.ob-cup:active:not(.ob-cup-hit){border-color:var(--text-secondary);transform:scale(.9)}.ob-tap-hint{color:#ffffff80;white-space:nowrap;background:#c8935a1f;border:1px solid #c8935a40;border-radius:20px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;animation:2s ease-in-out infinite obPulse;display:flex}@keyframes obPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}.ob-slide:first-child .ob-vis:after{content:"";pointer-events:none;background:radial-gradient(#e060600f 0%,#0000 70%);width:240px;height:140px;position:absolute;bottom:20%;left:50%;transform:translate(-50%)}.ob-ranks{flex-direction:column;gap:8px;width:320px;max-width:calc(100% - 40px);display:flex}.ob-rank-row{background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:center;gap:12px;padding:11px 14px;transition:all .3s;display:flex}.ob-rank-active{background:var(--accent-dim);border-color:var(--accent-border);transform:scale(1.02)}.ob-rank-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:19px;display:flex}.ob-rank-meta{flex:1}.ob-rank-name{font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;font-size:15px;font-weight:800}.ob-rank-range{color:var(--text-muted);margin-top:2px;font-size:11px}.ob-elo-bar-wrap{background:#ffffff0d;border-radius:2px;width:46px;height:3px;overflow:hidden}.ob-elo-bar{border-radius:2px;height:100%}.ob-slide:nth-child(2):after{content:"";pointer-events:none;z-index:0;background:radial-gradient(#ffd7000a,#0000 70%);width:260px;height:260px;position:absolute;bottom:-60px;left:-60px}.ob-badges{flex-direction:column;align-items:center;gap:12px;width:320px;max-width:calc(100% - 40px);display:flex}.ob-badge-row{gap:10px;display:flex}.ob-badge{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:6px;width:90px;padding:14px 8px 12px;transition:all .2s;display:flex}.ob-badge-icon{border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.ob-badge-name{font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-size:12px;font-weight:800}.ob-badge-desc{color:var(--text-muted);font-size:10px;line-height:1.35}.ob-badge-locked{opacity:.28;filter:grayscale()}.ob-count-pill{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);letter-spacing:.04em;border-radius:50px;padding:7px 18px;font-size:12px;font-weight:600}.ob-slide:nth-child(3):after{content:"";pointer-events:none;z-index:0;background:radial-gradient(#6bbf730a,#0000 70%);width:220px;height:220px;position:absolute;top:30px;left:-40px}.ob-lb-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;width:320px;max-width:calc(100% - 40px);overflow:hidden}.ob-lb-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.ob-lb-title{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:13px;font-weight:800}.ob-lb-period{color:var(--text-muted);font-size:11px}.ob-lb-entry{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 16px;display:flex}.ob-lb-entry:last-child{border-bottom:none}.ob-lb-you{background:var(--accent-dim)}.ob-lb-pos{width:20px;color:var(--text-muted);text-align:center;flex-shrink:0;font-size:12px;font-weight:800}.ob-lb-pos-gold{color:var(--gold)}.ob-lb-avi{background:#ffffff0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.ob-lb-info{flex:1}.ob-lb-name{font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:600}.ob-lb-name-you{color:var(--accent)}.ob-lb-elo{color:var(--text-muted);margin-top:1px;font-size:10.5px}.ob-sparkline{width:50px;height:26px}.ob-slide:nth-child(4):after{content:"";pointer-events:none;z-index:0;background:radial-gradient(#c8935a0d,#0000 70%);width:220px;height:220px;position:absolute;top:-40px;right:-40px}.ob-slide-final{background:linear-gradient(160deg, var(--surface) 0%, var(--bg) 100%)}.ob-final-content{flex-direction:column;flex:1;justify-content:center;padding:0 28px;display:flex}.ob-final-logo{margin-bottom:24px;font-size:52px;animation:1.5s ease-in-out infinite obBounce}@keyframes obBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.ob-final-headline{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:-.01em;color:var(--text);margin-bottom:10px;font-size:36px;font-weight:800;line-height:1.05}.ob-final-sub{color:var(--text-secondary);max-width:300px;margin-bottom:36px;font-size:14px;line-height:1.55}.ob-play-btn{background:var(--accent);border-radius:var(--radius-md);width:100%;max-width:320px;font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;color:#151010;cursor:pointer;border:none;padding:18px;font-size:20px;font-weight:800;transition:all .18s;position:relative;overflow:hidden;box-shadow:0 6px 24px #c8935a59}.ob-play-btn:before{content:"";background:linear-gradient(135deg,#ffffff26 0%,#0000 55%);position:absolute;inset:0}.ob-play-btn:active{transform:scale(.98)}.ob-slide:first-child:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(#e060600a,#0000 70%);width:240px;height:240px;position:absolute;top:-80px;right:-80px}.bottom-nav{background:var(--surface);border-top:1px solid var(--border);padding:4px 0 env(safe-area-inset-bottom,6px);z-index:100;-webkit-backdrop-filter:blur(12px);align-items:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-tab{color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;transition:color .15s;display:flex}.bottom-nav-tab.active{color:var(--accent)}.bottom-nav-icon{font-size:18px;line-height:1}.bottom-nav-label{text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.bottom-nav-play{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:0;display:flex;position:relative;top:-12px}.play-btn-inner{background:var(--accent);color:#000;width:52px;height:52px;box-shadow:0 2px 12px #0000004d, 0 0 0 3px var(--bg);border-radius:50%;justify-content:center;align-items:center;transition:transform .1s,box-shadow .1s;display:flex}.bottom-nav-play:active .play-btn-inner{transform:scale(.92)}.bottom-nav-play.active .play-btn-inner{box-shadow:0 2px 16px rgba(var(--accent-rgb,255, 200, 50), .4), 0 0 0 3px var(--bg)}
