[data-theme=light]{--color-bg:#f5f5f5;--color-surface:rgba(0, 0, 0, 0.04);--color-surface-elevated:rgba(0, 0, 0, 0.06);--color-glass:rgba(0, 0, 0, 0.03);--color-glass-border:rgba(0, 0, 0, 0.1);--color-border:rgba(0, 0, 0, 0.1);--color-border-hover:rgba(249, 115, 22, 0.4);--color-text:#1a1a1a;--color-text-secondary:#333;--color-text-muted:#666}[data-theme=light] body{background:var(--color-bg)}[data-theme=light] .complete-card,[data-theme=light] .countdown-card,[data-theme=light] .question-card,[data-theme=light] .results-card,[data-theme=light] .room-card{background:rgba(255,255,255,.95);border-color:rgba(0,0,0,.1);box-shadow:0 4px 24px rgba(0,0,0,.08)}[data-theme=light] .choice-btn{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.12);color:var(--color-text)}[data-theme=light] .choice-btn:hover:not(.disabled){background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.2)}[data-theme=light] .category-card,[data-theme=light] .daily-card,[data-theme=light] .leaderboard-card,[data-theme=light] .lobby-card,[data-theme=light] .profile-card{background:rgba(255,255,255,.9);border-color:rgba(0,0,0,.08);box-shadow:0 2px 12px rgba(0,0,0,.06)}[data-theme=light] .lobby-join-input{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.12);color:var(--color-text)}[data-theme=light] .play-page{background:var(--color-bg)}[data-theme=light] .waiting-qr-canvas{filter:invert(1)}[data-theme=light] .connection-overlay,[data-theme=light] .game-quit-dialog{background:rgba(245,245,245,.92)}[data-theme=light] .complete-breakdown-row,[data-theme=light] .results-breakdown-row{background:rgba(0,0,0,.03)}[data-theme=light] .toast--info{background:rgba(0,0,0,.88)}[data-theme=light] .toast--error{background:rgba(60,10,10,.88)}[data-theme=light] .toast--action{border-left-color:#2563eb}[data-theme=light] .breakdown-row{background:rgba(0,0,0,.03)}[data-theme=light] .breakdown-row.breakdown-wrong{border-left-color:var(--color-error)}[data-theme=light] .game-session-bar{background:rgba(255,255,255,.85);border-color:rgba(0,0,0,.08)}[data-theme=light] .game-tally-overlay{background:rgba(245,245,245,.9)}[data-theme=light] .play-header{background:rgba(245,245,245,.85);backdrop-filter:blur(12px)}[data-theme=light] .leaderboard-tabs{background:rgba(0,0,0,.03)}[data-theme=light] .nickname-card{background:rgba(255,255,255,.95);border-color:rgba(0,0,0,.1)}.theme-toggle{background:0 0;border:none;color:var(--color-text-muted);cursor:pointer;padding:.375rem;border-radius:var(--radius-sm);display:flex;align-items:center;transition:color .2s}.theme-toggle:hover{color:var(--color-accent)}.theme-icon-moon{display:none}.theme-icon-sun{display:block}[data-theme=light] .theme-icon-sun{display:none}[data-theme=light] .theme-icon-moon{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.play-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0);touch-action:pan-y;overscroll-behavior:none}.play-header{padding:0 1.5rem;border-bottom:1px solid var(--color-border);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;background:rgba(5,5,5,.8);transition:transform .3s ease,opacity .3s ease}.play-header-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}.play-header.header-hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.game-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:150;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.game-overlay.active{display:block}[data-theme=light] .game-overlay{background:rgba(0,0,0,.3)}.play-logo{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text);text-decoration:none}.play-logo img{border-radius:6px}.play-logo span{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.play-header-actions{display:flex;align-items:center;gap:.75rem}.play-header-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:50%;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.play-header-icon:hover{background:rgba(255,255,255,.15);color:var(--color-text)}.play-credits{position:relative;display:flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:700;color:var(--color-accent);background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.2);border-radius:999px;padding:.25rem .6rem;cursor:pointer;transition:background .15s ease}.play-credits:hover{background:rgba(249,115,22,.2)}.play-credits.empty{color:#991b1b;background:rgba(153,27,27,.15);border-color:rgba(153,27,27,.3);animation:credit-pulse 1.5s ease-in-out infinite}.play-credits.low{color:#f87171;background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.2);animation:credit-pulse 2s ease-in-out infinite}.play-credits.high{color:#22c55e;background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.2)}.play-credits.rich{color:#fbbf24;background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.2)}@keyframes credit-pulse{0%,100%{opacity:1}50%{opacity:.6}}.credit-flyout{position:absolute;top:-.25rem;right:-.5rem;font-size:.75rem;font-weight:800;color:#ef4444;pointer-events:none;animation:credit-fly 1.2s ease-out forwards;z-index:10}@keyframes credit-fly{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-1.5rem)}}.credit-flyout-plus{color:#34d399}.play-user-info{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.play-user-avatar{width:32px;height:32px;min-width:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#fff}.play-user-avatar svg{display:block;width:32px;height:32px}.play-sign-in{font-size:.8125rem;color:var(--color-text-muted);text-decoration:none;padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:background .2s,border-color .2s,transform .2s,opacity .2s;cursor:pointer;background:0 0}.play-sign-in:hover{border-color:var(--color-accent);color:var(--color-accent)}.play-content{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow-y:auto}.screen.no-intro-anim{animation:none!important}.screen{display:none;width:100%;max-width:720px;margin:0 auto;animation:fadeInUp .3s ease;contain:layout style}.screen.active{display:block}#screen-complete.active,#screen-countdown.active,#screen-question.active,#screen-waiting.active{position:relative;z-index:160}#screen-countdown.active,#screen-question.active{max-width:440px}#screen-waiting.active{max-width:720px}@media (min-width:768px){#screen-waiting.active{max-width:1200px}}#screen-complete.active{max-width:540px}.screen-exit{animation:fadeOut .3s ease forwards}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.lobby-stats{display:flex;gap:1.5rem;margin-bottom:2rem;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);justify-content:space-around}.lobby-stat{flex:1;text-align:center}.lobby-stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text);min-height:1.5em}.lobby-stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.freeze-indicator{font-size:.75rem;opacity:.7;margin-left:.15em;cursor:default;vertical-align:baseline}.recommended-card{position:relative;background:linear-gradient(135deg,rgba(249,115,22,.08),rgba(249,115,22,.03));border:1px solid rgba(249,115,22,.2);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem;text-align:center}.recommended-badge{display:inline-block;font-size:.625rem;font-weight:800;letter-spacing:.1em;color:#fff;background:var(--color-accent);padding:.2rem .6rem;border-radius:999px;margin-bottom:.5rem}.recommended-title{font-size:1.125rem;font-weight:700;color:var(--color-text);margin-bottom:.25rem}.recommended-subtitle{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.75rem}.recommended-tag-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.recommended-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:rgba(249,115,22,.12);border:1px solid rgba(249,115,22,.3);border-radius:999px;color:var(--color-accent);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,transform .15s}.recommended-pill:focus-visible,.recommended-pill:hover{background:rgba(249,115,22,.2);border-color:rgba(249,115,22,.5)}.recommended-pill:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.recommended-pill:active{transform:scale(.95)}.recommended-pill.loading{opacity:.6;pointer-events:none}.recommended-pill.used{opacity:.45;pointer-events:none;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);color:var(--color-text-muted);text-decoration:line-through}.recommended-pill svg{width:14px;height:14px;flex-shrink:0}.lobby-section-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em;text-align:center}.lobby-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2rem}.lobby-category-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:background .2s,border-color .2s,transform .2s,opacity .2s;text-align:center;width:calc((100% - 2.25rem)/ 4);min-width:100px}.lobby-category-card:hover{border-color:var(--cat-color,var(--color-accent));background:var(--color-surface-elevated);transform:translateY(-2px);box-shadow:0 0 20px color-mix(in srgb,var(--cat-color,var(--color-accent)) 20%,transparent)}.lobby-category-card:active{transform:translateY(0) scale(.97);transition-duration:50ms}.lobby-category-card.loading{border-color:var(--cat-color,var(--color-accent));box-shadow:0 0 20px color-mix(in srgb,var(--cat-color,var(--color-accent)) 25%,transparent);animation:catPulse 1s ease-in-out infinite}@keyframes catPulse{0%,100%{opacity:1}50%{opacity:.7}}.lobby-cat-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.lobby-cat-icon svg{width:24px;height:24px}.lobby-cat-name{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);line-height:1.3}.mode-toggle{display:flex;position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:3px;margin-bottom:1.25rem}.mode-toggle-btn{flex:1;padding:.6rem 1rem;font-size:.875rem;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;border-radius:999px;color:var(--color-text-muted);cursor:pointer;transition:color .2s,background .2s;position:relative;z-index:1}.mode-toggle-btn.active{color:#fff}.mode-toggle-btn[data-mode=solo].active{background:#34d399}.mode-toggle-btn[data-mode=duel].active{background:#ef4444}.mode-toggle-btn[data-mode=public].active{background:#60a5fa}.mode-toggle-btn[data-mode=private].active{background:#8b5cf6}.mode-toggle-btn:not(.active):hover{color:var(--color-text)}.lobby-actions{display:flex;gap:.75rem;margin-bottom:1.5rem}.lobby-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;font-size:1rem;font-weight:600;font-family:var(--font-sans);border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s,border-color .2s,transform .2s,opacity .2s}.lobby-btn-play{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));color:#fff}.lobby-btn-play:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(249,115,22,.4)}.lobby-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.lobby-play-frame{position:relative;border:1px solid var(--color-glass-border,rgba(255,255,255,.08));border-radius:var(--radius,16px);padding:1.25rem;padding-top:2.5rem;margin-bottom:1.5rem;background:var(--color-surface,rgba(255,255,255,.04))}.lobby-play-badge{position:absolute;top:-.7rem;left:1rem;padding:.2rem .75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--color-accent,#f97316);border-radius:999px}.difficulty-toggle{display:flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:3px;margin-bottom:1.25rem}.difficulty-toggle-btn{flex:1;padding:.5rem .5rem;font-size:.8rem;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;border-radius:999px;color:var(--color-text-muted);cursor:pointer;transition:color .2s,background .2s,opacity .2s;position:relative;z-index:1;white-space:nowrap}.difficulty-toggle-btn.active{color:#fff;background:#94a3b8}.difficulty-toggle-btn[data-difficulty=all].active{background:#94a3b8}.difficulty-toggle-btn[data-difficulty=chill].active{background:#60a5fa}.difficulty-toggle-btn[data-difficulty=challenge].active{background:#f97316}.difficulty-toggle-btn[data-difficulty=genius].active{background:#ef4444}.difficulty-toggle-btn.disabled{opacity:.5;cursor:not-allowed;color:var(--color-text-secondary)}.difficulty-toggle-btn.disabled::after{content:"Soon";position:absolute;top:-.4rem;right:-.1rem;font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.play-step{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.play-settings-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem 0;margin-bottom:.35rem}.play-settings-current{font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.play-settings-change{font-size:.75rem;font-weight:600;color:var(--color-accent);background:0 0;border:1px solid rgba(249,115,22,.3);border-radius:6px;padding:.25rem .6rem;cursor:pointer;transition:background .2s}.play-settings-change:hover{background:rgba(249,115,22,.08)}.play-settings-row{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0}.play-settings-label{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.play-settings-sep{color:var(--color-text-muted);opacity:.4}.settings-pill{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;vertical-align:middle}.play-settings-sheet-backdrop{position:fixed;inset:0;z-index:9990;background:rgba(0,0,0,0);pointer-events:none;transition:background .3s ease}.play-settings-sheet-backdrop.active{background:rgba(0,0,0,.6);pointer-events:auto}.play-settings-sheet{position:fixed;left:12px;right:12px;bottom:12px;z-index:9991;background:#1c1c1e;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:.75rem 1.25rem 1.25rem;max-width:480px;margin:0 auto;transform:translateY(calc(100% + 24px));transition:transform .35s cubic-bezier(.32, .72, 0, 1);box-shadow:0 -8px 40px rgba(0,0,0,.5)}.play-settings-sheet.active{transform:translateY(0)}.play-settings-sheet-handle{width:36px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin:0 auto .75rem}.play-settings-sheet-title{font-size:.9rem;font-weight:700;text-align:center;margin-bottom:1rem;color:var(--color-text)}.play-settings-sheet-section{margin-bottom:1rem}.play-settings-sheet-section .play-step{margin-bottom:.5rem}.play-settings-sheet-section .difficulty-toggle,.play-settings-sheet-section .mode-toggle{width:100%}.play-settings-sheet-done{display:block;width:100%;padding:.65rem;background:var(--color-accent);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;margin-top:.5rem;transition:background .2s}.play-settings-sheet-done:hover{background:#fb923c}.play-step-label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.play-step-num{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:#fff;background:var(--color-accent);border-radius:50%;flex-shrink:0}.play-step-help{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--color-text-muted);background:0 0;border:1px solid var(--color-border);border-radius:50%;cursor:pointer;transition:all .15s;padding:0;font-family:var(--font-sans)}.play-step-help:hover{border-color:var(--color-accent);color:var(--color-accent)}.play-help-popup{position:absolute;right:0;top:calc(100% + 8px);z-index:10;width:260px;padding:.875rem 1rem;background:#1a1a1a;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04);font-size:.8rem;font-weight:400;line-height:1.6;color:var(--color-text-secondary);text-transform:none;letter-spacing:normal;animation:helpPopIn .2s ease}.play-help-popup strong{color:var(--color-text);font-weight:600}.play-help-popup::before{content:"";position:absolute;top:-5px;right:6px;width:10px;height:10px;background:#1a1a1a;border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12);transform:rotate(45deg)}.play-help-popup.pop-up{top:auto;bottom:calc(100% + 8px)}.play-help-popup.pop-up::before{top:auto;bottom:-5px;transform:rotate(225deg)}@keyframes helpPopIn{from{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.lobby-play-frame .lobby-grid{margin-bottom:0}.lobby-play-frame .lobby-section-title{margin-bottom:.75rem}.lobby-mode-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.lobby-mode-row .mode-toggle{flex:1;margin-bottom:0}.lobby-join-input{width:5.5rem;flex-shrink:0;padding:.6rem .5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);font-family:var(--font-sans);font-size:.875rem;font-weight:600;letter-spacing:.2em;text-align:center}.lobby-join-input::placeholder{letter-spacing:normal;color:var(--color-text-muted);font-weight:400}.lobby-join-input:focus{outline:0;border-color:var(--color-accent)}.lobby-join-btn{padding:.5rem .75rem;border-radius:999px;background:var(--color-accent);color:#fff;border:none;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;min-height:2.5rem;flex-shrink:0;transition:opacity .15s}.lobby-join-btn:disabled{opacity:.4;pointer-events:none}.lobby-join-btn:active{opacity:.85}.lobby-scan-btn{display:flex;width:2.5rem;height:2.5rem;flex-shrink:0;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);cursor:pointer;transition:border-color .2s,color .2s}.lobby-scan-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.lobby-join-frame{position:relative;margin-top:1rem;border:1px solid var(--color-glass-border,rgba(255,255,255,.08));border-radius:var(--radius,16px);padding:1rem 1.25rem;padding-top:2rem;margin-bottom:1.25rem;background:var(--color-surface,rgba(255,255,255,.04))}.lobby-join-badge{position:absolute;top:-.7rem;left:1rem;padding:.2rem .75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#8b5cf6;border-radius:999px}.lobby-join-row{display:flex;align-items:center;justify-content:center;gap:.5rem}.lobby-join-row .lobby-join-input{flex:1;max-width:12rem}.lobby-recent{margin-bottom:1rem}.lobby-recent .lobby-section-title{margin-bottom:.5rem;text-align:left;font-size:.8rem}.lobby-recent-row{display:flex;gap:.625rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 0 4px;cursor:grab}.lobby-recent-row:active{cursor:grabbing}.lobby-recent-row::-webkit-scrollbar{display:none}.lobby-recent-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;transition:border-color .2s,box-shadow .2s;white-space:nowrap;flex-shrink:0;min-width:0}.lobby-recent-card:hover{border-color:var(--cat-color,var(--color-accent));box-shadow:0 0 12px color-mix(in srgb,var(--cat-color,var(--color-accent)) 15%,transparent)}.lobby-recent-card:active{transform:scale(.97)}.lobby-recent-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lobby-recent-icon svg{width:20px;height:20px}.lobby-recent-info{display:flex;flex-direction:column;gap:2px;min-width:0}.lobby-recent-cat{font-size:.85rem;font-weight:600;color:var(--color-text);line-height:1.2}.lobby-recent-score{font-size:.7rem;font-weight:600;color:var(--color-text-secondary);line-height:1.2}.lobby-recent-meta{display:flex;align-items:center;gap:.375rem;font-size:.7rem;color:var(--color-text-muted);line-height:1.2}.lobby-recent-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:4px;line-height:1.3}.lobby-recent-badge.badge-arena{background:rgba(139,92,246,.15);color:#a78bfa}.lobby-recent-badge.badge-solo{background:rgba(52,211,153,.15);color:#34d399}.lobby-recent-badge.badge-public{background:rgba(96,165,250,.15);color:#60a5fa}.lobby-recent-badge.badge-private{background:rgba(249,115,22,.15);color:#f97316}.bp-track,.credits-tier-cards,.leaderboard-tabs,.lobby-recent-row,.profile-heatmap-wrap,.room-player-grid,.tier-comparison-wrap,.time-heatmap-wrap{cursor:grab}.bp-track:active,.credits-tier-cards:active,.leaderboard-tabs:active,.lobby-recent-row:active,.profile-heatmap-wrap:active,.room-player-grid:active,.tier-comparison-wrap:active,.time-heatmap-wrap:active{cursor:grabbing}.scroll-arrows-wrap{position:relative;overflow:visible}.scroll-arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border:none;border-radius:50%;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);color:var(--color-text);font-size:1.2rem;line-height:1;cursor:pointer;z-index:2;transition:background .2s,opacity .2s;opacity:0;padding:0}.scroll-arrow:hover{background:rgba(255,255,255,.2)}.scroll-arrow-prev{left:-8px}.scroll-arrow-next{right:-8px}@media (hover:hover) and (min-width:640px){.scroll-arrow{display:block}.scroll-arrows-wrap:hover .scroll-arrow{opacity:1}}.qr-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;animation:fadeInUp .3s ease}.qr-overlay-header{display:flex;align-items:center;gap:1rem;font-size:1.125rem;font-weight:600;color:var(--color-text)}.qr-overlay-close{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50%;color:var(--color-text);font-size:1.5rem;cursor:pointer;transition:background .2s}.qr-overlay-close:hover{background:rgba(255,255,255,.15)}.qr-viewfinder{position:relative;width:280px;height:280px;border-radius:16px;overflow:hidden}.qr-viewfinder video{width:100%;height:100%;object-fit:cover}.qr-corners{position:absolute;inset:0;border:2px solid transparent;border-radius:16px;pointer-events:none}.qr-corners::after,.qr-corners::before{content:"";position:absolute;width:40px;height:40px;border-color:var(--color-accent);border-style:solid}.qr-corners::before{top:0;left:0;border-width:3px 0 0 3px;border-radius:16px 0 0 0}.qr-corners::after{top:0;right:0;border-width:3px 3px 0 0;border-radius:0 16px 0 0}.qr-viewfinder::after,.qr-viewfinder::before{content:"";position:absolute;width:40px;height:40px;border-color:var(--color-accent);border-style:solid;z-index:1;pointer-events:none}.qr-viewfinder::before{bottom:0;left:0;border-width:0 0 3px 3px;border-radius:0 0 0 16px}.qr-viewfinder::after{bottom:0;right:0;border-width:0 3px 3px 0;border-radius:0 0 16px 0}.qr-hint{font-size:.8125rem;color:var(--color-text-muted)}.lobby-footer{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.lobby-copyright{font-size:.75rem;color:var(--color-text-muted)}.lobby-copyright a{color:var(--color-text-muted);text-decoration:none}.lobby-copyright a:hover{color:var(--color-text)}.lobby-online-status{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--color-text-muted);padding:.5rem 0}.lobby-online-dot{width:7px;height:7px;border-radius:50%;background:#34d399;display:inline-block;animation:lobby-dot-pulse 2s ease-in-out infinite}@keyframes lobby-dot-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(52,211,153,.4)}50%{opacity:.7;box-shadow:0 0 0 3px rgba(52,211,153,0)}}.lobby-leaderboard-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:1.25rem}.lobby-leaderboard-btn:hover{border-color:var(--color-accent);background:rgba(249,115,22,.08)}.lobby-leaderboard-btn svg{color:var(--color-accent)}.lobby-sponsored-btn{margin-top:-.75rem}.lobby-sponsored-btn svg{color:#34d399}.lobby-sponsored-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:rgba(52,211,153,.15);color:#34d399;padding:2px 8px;border-radius:8px;margin-left:4px}.nickname-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;text-align:center}.nickname-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.nickname-subtitle{font-size:.9375rem;color:var(--color-text-muted);margin-bottom:1.5rem}.nickname-input{width:100%;max-width:320px;padding:.875rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-sans);font-size:1.125rem;text-align:center;margin-bottom:1rem}.nickname-input:focus{outline:0;border-color:var(--color-accent)}.nickname-btn{padding:.875rem 2rem;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,transform .2s,opacity .2s}.nickname-btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(249,115,22,.4)}.nickname-skip{display:block;margin-top:1rem;font-size:.8125rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-family:var(--font-sans)}.room-card{background:rgba(10,10,10,.9);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);box-shadow:0 0 0 1px rgba(255,255,255,.04),0 20px 60px rgba(0,0,0,.5),0 0 80px rgba(249,115,22,.06);display:flex;flex-direction:column;padding:1.25rem 1.5rem 1.5rem;gap:1rem;height:calc(100vh - 6rem);min-height:500px;overflow:hidden}.waiting-fact{flex-shrink:0;padding:.75rem 1rem;background:linear-gradient(135deg,rgba(249,115,22,.06),rgba(249,115,22,.02));border:1px solid rgba(249,115,22,.08);border-left:3px solid var(--color-accent);border-radius:10px;font-size:.8rem;line-height:1.5;color:var(--color-text-secondary);opacity:0;transform:translateY(4px);transition:opacity .4s ease,transform .4s ease}.waiting-fact-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:.2rem;opacity:.7}.waiting-fact.visible{opacity:1;transform:translateY(0)}.fact-modal-trigger{display:inline-block;background:0 0;border:none;color:var(--color-accent);font-size:.75rem;cursor:pointer;padding:.5rem;opacity:.8;transition:opacity .2s;text-align:center;width:100%}.fact-modal-trigger:hover{opacity:1}.complete-actions+.fact-modal-trigger{margin-top:1.5rem}.fact-modal-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);padding:1rem}.fact-modal-card{width:100%;max-width:400px;background:var(--color-bg,#050505);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius,16px);overflow:hidden;animation:factModalIn .2s ease-out}@keyframes factModalIn{from{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.fact-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.fact-modal-title{font-size:.9rem;font-weight:600;color:var(--color-text)}.fact-modal-close{background:0 0;border:none;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;padding:0 .25rem;line-height:1}.fact-modal-body{display:flex;flex-direction:column;gap:.625rem;padding:1rem}.fact-input-wrap{position:relative}.fact-source-input,.fact-text-input{width:100%;padding:.5rem .625rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--color-text);font-size:.85rem;font-family:inherit;box-sizing:border-box}.fact-category-select:focus,.fact-source-input:focus,.fact-text-input:focus{outline:0;border-color:var(--color-accent)}.fact-char-counter{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font-size:.65rem;color:var(--color-text-muted);pointer-events:none}.fact-char-counter.over{color:#ef4444}.fact-category-select{width:100%;padding:.5rem .625rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--color-text);font-size:.85rem;font-family:inherit}.fact-submit-btn{padding:.625rem 1rem;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s}.fact-submit-btn:hover{opacity:.9}.fact-submit-btn:disabled{opacity:.5;cursor:not-allowed}.fact-form-fields{transition:opacity .2s}.fact-submit-status{font-size:.8rem;padding:.375rem .5rem;border-radius:6px;text-align:center}.fact-status-success{color:#34d399;background:rgba(52,211,153,.1)}.fact-status-error{color:#ef4444;background:rgba(239,68,68,.1)}.fact-status-info{color:#60a5fa;background:rgba(96,165,250,.1)}[data-theme=light] .fact-modal-card{background:#f5f5f5;border-color:rgba(0,0,0,.1)}[data-theme=light] .fact-modal-header{border-color:rgba(0,0,0,.08)}[data-theme=light] .fact-modal-overlay{background:rgba(0,0,0,.4)}[data-theme=light] .fact-category-select,[data-theme=light] .fact-source-input,[data-theme=light] .fact-text-input{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.12)}.room-header{text-align:center}.room-category-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:700;margin-bottom:.75rem}.room-code-section{display:flex;flex-direction:column;align-items:center;gap:.5rem}.room-code-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted)}.room-code-tiles{display:flex;gap:.375rem;justify-content:center}.room-code-tile{width:2.25rem;height:2.75rem;display:flex;align-items:center;justify-content:center;font-size:1.375rem;font-weight:800;font-family:'Courier New',monospace;background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.25);border-radius:8px;color:#f97316}.room-code-tile.room-code-gap{width:.5rem;background:0 0;border:none}.room-code-actions{display:flex;gap:.5rem}.room-code-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .75rem;font-size:.7rem;color:var(--color-text-muted);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);transition:background .2s,border-color .2s,color .2s}.room-code-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.waiting-qr-canvas{display:block;margin:1rem auto 0;border-radius:8px;width:min(160px,50vw);height:min(160px,50vw)}.waiting-qr-canvas.skeleton-loading{background:var(--color-surface,rgba(255,255,255,.04));border:1px solid var(--color-border,rgba(255,255,255,.08))}.room-pack-info{padding:.75rem 1rem;background:rgba(255,255,255,.03);border-left:3px solid var(--cat-color,var(--color-accent));border-radius:0 8px 8px 0}.room-pack-title{font-size:.9375rem;font-weight:700;color:var(--color-text);margin-bottom:.25rem}.room-pack-meta{font-size:.75rem;color:var(--color-text-muted)}.room-players{flex-shrink:0;min-height:0}.room-players-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.room-players-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.room-players-count{font-size:.75rem;font-weight:600;color:var(--color-text-muted);opacity:.7}.room-player-grid{display:flex;justify-content:flex-start;gap:.625rem;overflow-x:auto;overflow-y:hidden;padding:.5rem 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.12) transparent;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.room-player-grid::-webkit-scrollbar{height:4px}.room-player-grid::-webkit-scrollbar-track{background:0 0}.room-player-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:2px}.room-player-tile{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .375rem;background:rgba(255,255,255,.04);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:12px;position:relative;animation:roomPlayerEnter .3s ease-out;flex-shrink:0;min-width:64px;max-width:72px;scroll-snap-align:start}.room-player-tile.host{border-color:rgba(249,115,22,.4);background:rgba(249,115,22,.06)}.room-player-tile.you{border-color:rgba(96,165,250,.4);background:rgba(96,165,250,.06)}.room-player-avatar{position:relative;width:32px;height:32px;border-radius:50%;overflow:visible}.room-player-name{font-size:.6875rem;font-weight:600;color:var(--color-text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.room-player-badge{font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .375rem;border-radius:4px}.room-player-badge.badge-host{background:rgba(249,115,22,.15);color:var(--color-accent)}.room-player-badge.badge-you{background:rgba(96,165,250,.15);color:#60a5fa}.room-player-tile.room-overflow{justify-content:center;font-size:.875rem;font-weight:700;color:var(--color-text-muted);min-width:52px}.room-empty-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .375rem;flex-shrink:0;min-width:64px;max-width:72px;border:1px dashed rgba(255,255,255,.1);border-radius:12px;min-height:72px;animation:roomEmptyPulse 2s ease-in-out infinite}.room-reactions-bar{display:flex;justify-content:center;gap:.625rem;padding:.5rem 0;margin-bottom:1rem}.room-reaction-btn{position:relative;overflow:visible;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;font-size:1.125rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;cursor:pointer;transition:transform .15s,background .15s,border-color .15s}.room-reaction-btn:hover{transform:scale(1.15);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}.room-reaction-btn:active{transform:scale(.9)}.room-reaction-btn.sent{animation:reactionPop .4s ease}.room-reactions-bar.on-cooldown .room-reaction-btn{opacity:.35;pointer-events:none;cursor:default;transform:none}@keyframes reactionPop{0%{transform:scale(1)}30%{transform:scale(1.4)}100%{transform:scale(1)}}.room-reaction-float{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:1.25rem;pointer-events:none;animation:roomReactionFloat 1.4s ease-out forwards;z-index:10;will-change:transform,opacity}.reaction-count{position:absolute;top:-8px;right:-10px;min-width:16px;height:16px;z-index:12;padding:0 4px;background:rgba(255,255,255,.15);color:var(--color-text);font-size:.55rem;font-weight:700;line-height:16px;text-align:center;border-radius:8px;white-space:nowrap;pointer-events:none;opacity:0;transform:scale(.5);transition:opacity .2s,transform .2s;backdrop-filter:blur(4px)}.reaction-count.visible{opacity:1;transform:scale(1)}[data-theme=light] .reaction-count{background:rgba(0,0,0,.1)}.reaction-increment{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.7rem;font-weight:700;color:var(--color-text);pointer-events:none;white-space:nowrap;animation:reactionIncrement 1s ease-out forwards;z-index:11;will-change:transform,opacity;text-shadow:0 0 4px rgba(0,0,0,.8),0 1px 6px rgba(0,0,0,.6),0 0 12px rgba(0,0,0,.3)}@keyframes reactionIncrement{0%{transform:translate(-50%,-50%);opacity:1}50%{opacity:1}100%{transform:translate(-50%,calc(-50% - 50px));opacity:0}}.room-actions{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex-shrink:0}.room-start-btn{width:100%;padding:.875rem;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));color:#fff;border:none;border-radius:var(--radius);font-family:var(--font-sans);font-size:1.125rem;font-weight:800;letter-spacing:.05em;cursor:pointer;transition:transform .2s,box-shadow .2s;animation:roomStartPulse 2s ease-in-out infinite}.room-start-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 24px rgba(249,115,22,.5)}.room-start-btn:disabled{opacity:.5;cursor:default;transform:none}.waiting-hint{font-size:.8125rem;color:var(--color-text-muted)}.waiting-cancel-btn{padding:.5rem 1.5rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);background:0 0;color:var(--color-text-muted);font-size:.8125rem;font-family:var(--font-sans);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.waiting-cancel-btn:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.waiting-lobby-timer{text-align:center}.lobby-timer-number{font-size:4rem;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem}.lobby-timer-label{font-size:.8125rem;color:var(--color-text-muted)}.sched-timer-number{font-size:3.5rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem}.sched-timer-number.sched-timer-starting{animation:getReadyPulse .6s ease-out}.sched-timer-label{font-size:.85rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.sched-timer-bonus{display:inline-block;padding:4px 12px;border-radius:20px;background:rgba(249,115,22,.12);color:var(--color-accent);font-size:.85rem;font-weight:700}.waiting-player-count{font-size:1rem;font-weight:600;color:var(--color-text-secondary);text-align:center}.waiting-get-ready{animation:getReadyPulse .6s ease-out;text-align:center}.get-ready-title{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.75rem;animation:getReadyBounce .6s ease-out}.get-ready-pack{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.get-ready-desc{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.75rem}.get-ready-tags{display:flex;flex-wrap:wrap;gap:.375rem;justify-content:center}@keyframes roomPlayerEnter{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}@keyframes roomEmptyPulse{0%,100%{border-color:rgba(255,255,255,.08)}50%{border-color:rgba(255,255,255,.18)}}@keyframes roomStartPulse{0%,100%{box-shadow:0 0 0 0 rgba(249,115,22,0)}50%{box-shadow:0 0 20px 4px rgba(249,115,22,.2)}}@keyframes roomReactionFloat{0%{transform:translate(-50%,-50%);opacity:1}50%{opacity:1}100%{transform:translate(-50%,calc(-50% - 70px));opacity:0}}@keyframes getReadyPulse{0%{transform:scale(.95);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes getReadyBounce{0%{transform:scale(.5)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.game-session-bar{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1.25rem;background:color-mix(in srgb,var(--cat-color,var(--color-accent)) 4%,rgba(255,255,255,.03));border:1px solid color-mix(in srgb,var(--cat-color,var(--color-accent)) 10%,rgba(255,255,255,.06));border-radius:50px;margin-bottom:1rem}.game-session-category{font-size:.75rem;font-weight:600;color:var(--cat-color,var(--color-accent));text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:.25rem}.game-session-difficulty{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .5rem;border-radius:999px;color:#fff}.game-session-difficulty[data-diff=all]{background:#8b5cf6}.game-session-difficulty[data-diff=chill]{background:#22c55e}.game-session-difficulty[data-diff=challenge]{background:#f59e0b}.game-session-difficulty[data-diff=genius]{background:#ef4444}.game-session-title{font-size:.875rem;font-weight:700;color:var(--color-text-secondary)}.countdown-card{background:rgba(10,10,10,.9);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:2rem 1.75rem;text-align:center;box-shadow:0 0 0 1px rgba(255,255,255,.04),0 20px 60px rgba(0,0,0,.5),0 0 80px rgba(249,115,22,.06);transition:box-shadow .3s ease;height:580px;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.countdown-card.cd-beat-3{box-shadow:0 0 60px rgba(249,115,22,.08),0 20px 60px rgba(0,0,0,.5)}.countdown-card.cd-beat-2{box-shadow:0 0 80px rgba(249,115,22,.14),0 20px 60px rgba(0,0,0,.5)}.countdown-card.cd-beat-1{box-shadow:0 0 100px rgba(249,115,22,.22),0 20px 60px rgba(0,0,0,.5)}.countdown-card.cd-beat-go{box-shadow:0 0 120px rgba(52,211,153,.25),0 0 60px rgba(96,165,250,.15),0 20px 60px rgba(0,0,0,.5)}.cd-info{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-bottom:1.25rem;padding-top:.75rem}.cd-number-zone{flex:1;display:flex;align-items:center;justify-content:center}.countdown-desc{font-size:1.2rem;font-weight:500;color:var(--color-text-secondary);line-height:1.4;width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);padding:.875rem 1.25rem;text-align:center}.countdown-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.75rem}.countdown-author{font-size:.875rem;color:var(--color-text-muted);margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.25rem}.countdown-round{font-size:.8rem;font-weight:700;color:#22d3ee;text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}.complete-author{font-size:.875rem;color:var(--color-text-muted);margin-top:-.25rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.25rem}.countdown-tag{padding:.4rem .9rem;font-size:.9375rem;font-weight:500;background:color-mix(in srgb,var(--cat-color,var(--color-accent)) 8%,transparent);border:1px solid color-mix(in srgb,var(--cat-color,var(--color-accent)) 15%,transparent);border-radius:999px;color:var(--cat-color,var(--color-accent));letter-spacing:.02em}.countdown-number{font-weight:800;line-height:1;text-shadow:0 0 40px rgba(249,115,22,.4),0 0 80px rgba(249,115,22,.2)}.cd-cancel-btn{margin-top:1rem;padding:.5rem 1.25rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:opacity .3s}.cd-cancel-btn:hover{color:var(--color-text);border-color:rgba(255,255,255,.2)}.countdown-number.cd-num-3{font-size:6.5rem;animation:cdSlam .35s cubic-bezier(.34,1.56,.64,1)}.countdown-number.cd-num-2{font-size:8rem;animation:cdSlam .3s cubic-bezier(.34,1.56,.64,1)}.countdown-number.cd-num-1{font-size:10rem;animation:cdSlam .25s cubic-bezier(.34,1.56,.64,1)}@keyframes cdSlam{0%{transform:scale(2);opacity:0}60%{transform:scale(.95);opacity:1}100%{transform:scale(1)}}.countdown-number.cd-go{font-size:9rem;text-shadow:0 0 50px rgba(52,211,153,.5),0 0 100px rgba(96,165,250,.3);background:linear-gradient(135deg,#34d399,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:cdGoBurst .5s cubic-bezier(.16,1,.3,1)}@keyframes cdGoBurst{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15);opacity:1}70%{transform:scale(.97)}100%{transform:scale(1)}}.countdown-number.cd-loading{text-shadow:none;display:flex;align-items:center;justify-content:center}.countdown-number.cd-ready{font-size:1.25rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-shadow:none;animation:cdSlam .4s cubic-bezier(.34,1.56,.64,1)}.question-card{position:relative;background:rgba(10,10,10,.9);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:1.25rem 1.5rem 1rem;transition:box-shadow .2s;box-shadow:0 0 0 1px rgba(255,255,255,.04),0 20px 60px rgba(0,0,0,.5),0 0 80px rgba(249,115,22,.06);height:620px;display:flex;flex-direction:column;gap:.75rem;-webkit-user-select:none;user-select:none}.question-header{display:flex;align-items:center;justify-content:center;gap:.5rem}.question-counter{font-size:.7rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.question-progress{display:flex;gap:.375rem;align-items:center;width:100%}.progress-dot{flex:1;max-width:2.5rem;height:4px;border-radius:2px;background:rgba(255,255,255,.1);transition:background .3s,transform .2s}.progress-dot.done{background:rgba(255,255,255,.25)}.progress-dot.active{background:var(--cat-color,var(--color-accent));box-shadow:0 0 8px color-mix(in srgb,var(--cat-color,var(--color-accent)) 40%,transparent);transform:scaleY(1.5)}.progress-dot.wrong{background:var(--color-error)}.question-score{display:none}.question-text{font-size:1.125rem;font-weight:600;line-height:1.4;height:6.5rem;flex-shrink:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);padding:.875rem 1.25rem;display:flex;align-items:center;overflow:hidden}.choices-list{display:flex;flex-direction:column;gap:.5rem;flex:1;justify-content:center;padding:0 0 .5rem}.choice-btn{width:100%;flex:1 1 0;min-height:2.75rem;max-height:4.125rem;padding:.95rem 1.25rem;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-sans);font-size:.9375rem;text-align:left;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.3;position:relative}.choices-list.long-choices .choice-btn{font-size:.8125rem;padding:.625rem 1rem}.kbd-hint{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:4px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.35);font-size:.6875rem;font-family:var(--font-sans);font-weight:600;pointer-events:none;animation:kbdFadeIn .4s ease .3s both}@keyframes kbdFadeIn{from{opacity:0;transform:translateY(-50%) scale(.8)}to{opacity:1;transform:translateY(-50%) scale(1)}}@media (hover:hover){.choice-btn:hover:not(:disabled){border-color:rgba(249,115,22,.4);background:rgba(249,115,22,.08);transform:translateY(-1px);box-shadow:0 2px 12px rgba(249,115,22,.1)}}@media (hover:hover){.choice-btn:active:not(:disabled){transform:scale(.98)}}@media (hover:none){.choice-btn:active:not(:disabled){transform:scale(.97);transition:transform 0s}}.gp-focus{outline:2px solid var(--color-accent);outline-offset:2px}.choice-btn.gp-focus:not(:disabled){border-color:rgba(249,115,22,.4);background:rgba(249,115,22,.08)}.gp-indicator{position:fixed;bottom:1rem;right:1rem;width:2rem;height:2rem;display:none;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border-radius:50%;color:var(--color-text-muted);font-size:1.125rem;z-index:100;pointer-events:none;opacity:.6}.choice-btn.selected{border-color:var(--cat-color,var(--color-accent));background:color-mix(in srgb,var(--cat-color,var(--color-accent)) 12%,transparent);animation:choicePop .15s ease,choicePulse 1.2s ease-in-out .15s infinite}@keyframes choicePop{0%{transform:scale(1)}50%{transform:scale(1.02)}100%{transform:scale(1)}}@keyframes choicePulse{0%,100%{border-color:var(--cat-color,var(--color-accent))}50%{border-color:color-mix(in srgb,var(--cat-color,var(--color-accent)) 40%,transparent)}}.choice-btn.correct{border-color:var(--color-success);background:rgba(52,211,153,.12);color:var(--color-success)}.choice-btn.wrong{border-color:var(--color-error);background:rgba(248,113,113,.12);color:var(--color-error)}@keyframes qSlideOut{to{transform:translateX(-30px);opacity:0}}@keyframes qSlideIn{from{transform:translateX(30px);opacity:0}to{transform:translateX(0);opacity:1}}#question-card.q-exit{animation:qSlideOut .2s ease-in forwards}#question-card.q-enter{animation:qSlideIn .2s ease-out forwards}.choice-btn:disabled{cursor:default;opacity:.7}.timer-bar{height:5px;background:var(--color-border);border-radius:2px;overflow:hidden}.timer-fill{height:100%;width:100%;background:var(--color-success);border-radius:2px;transition:background-color .3s;will-change:width}.timer-fill.warning{background:var(--color-accent-2)}.timer-fill.danger{background:var(--color-danger)}.timer-text{text-align:center;font-size:1.25rem;font-weight:700;color:var(--color-text-muted);margin-top:.5rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.complete-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;position:relative;overflow:hidden}.complete-confetti-canvas{position:absolute;inset:0;pointer-events:none}.complete-title{text-align:center;font-size:1.75rem;font-weight:800;margin-bottom:.5rem}.complete-pb-badge{text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);padding:.375rem 1rem;background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.3);border-radius:999px;display:block;width:fit-content;margin:0 auto .5rem;margin:0 auto .5rem;animation:choicePop .3s ease}.complete-lb-cta{text-align:center;font-size:.875rem;color:var(--color-text-secondary);padding:.75rem 1rem;margin:.75rem 0;background:linear-gradient(135deg,rgba(249,115,22,.08),rgba(251,191,36,.08));border:1px solid rgba(249,115,22,.2);border-radius:12px;animation:choicePop .4s ease}.complete-lb-cta .lb-cta-icon{margin-right:.25rem}.lb-cta-btn{display:inline-block;margin-top:.5rem;padding:.6rem 1.5rem;border-radius:999px;border:none;background:var(--color-accent);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s}.lb-cta-btn:focus-visible,.lb-cta-btn:hover{opacity:.85}.complete-score{text-align:center;font-size:4rem;font-weight:900;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.375rem}.complete-correct-count{text-align:center;font-size:1.1rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.25rem;letter-spacing:.02em}.complete-feedback{text-align:center;font-size:1rem;color:var(--color-text-muted);margin-bottom:.5rem}.complete-rank{text-align:center;font-size:.9375rem;color:var(--color-accent);font-weight:600;margin-bottom:1.5rem}.complete-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem}.complete-stat{text-align:center;padding:.75rem;background:rgba(255,255,255,.03);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.complete-stat-value{font-size:1.25rem;font-weight:700}.complete-stat-label{font-size:.6875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.complete-breakdown{margin-bottom:1.5rem}.complete-breakdown-toggle{display:none}@media (max-width:480px){.complete-breakdown-toggle{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid var(--color-border);border-radius:8px;width:100%;margin-bottom:.5rem;font-family:var(--font-sans)}.complete-breakdown.collapsed #c-breakdown-rows{display:none}}#c-breakdown-rows{display:flex;flex-direction:column;gap:.375rem}.complete-breakdown-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.75rem}.breakdown-row{border-radius:8px;border-left:3px solid var(--color-success);background:rgba(52,211,153,.06);transition:background .15s;cursor:pointer;overflow:hidden;animation:breakdownSlideIn .3s ease-out both}@keyframes breakdownSlideIn{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.breakdown-row.breakdown-wrong{border-left-color:var(--color-error);background:rgba(248,113,113,.06)}.breakdown-summary{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.875rem}.breakdown-detail{flex:1;min-width:0}.breakdown-chevron{font-size:1.1rem;color:var(--color-text-muted);transition:transform .2s;flex-shrink:0}.breakdown-row.expanded .breakdown-chevron{transform:rotate(90deg)}.breakdown-expand{display:none;padding:0 .75rem .75rem 2.65rem;flex-direction:column;gap:.375rem}.breakdown-row.expanded .breakdown-expand{display:flex}.breakdown-expand-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.breakdown-answer{font-size:.8125rem;font-weight:400;padding:.375rem .625rem;border-radius:6px;display:inline-block}.breakdown-answer.correct{color:var(--color-success);background:rgba(52,211,153,.12)}.breakdown-answer.wrong{color:var(--color-error);background:rgba(248,113,113,.12)}.breakdown-answer.timeout{color:var(--color-text-muted);background:rgba(255,255,255,.05)}.breakdown-choices{display:flex;flex-direction:column;gap:.3rem;margin:.5rem 0}.breakdown-choice{font-size:.8rem;padding:.4rem .65rem;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);color:var(--color-text-secondary)}.breakdown-choice.chosen.correct{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.3);color:#34d399;font-weight:600}.breakdown-choice.chosen.wrong{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.3);color:#f87171;font-weight:600}.breakdown-num{width:1.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.breakdown-icon.correct{color:var(--color-success)}.breakdown-icon.wrong{color:var(--color-error)}.breakdown-icon.timeout{color:var(--color-text-muted)}.breakdown-q{color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breakdown-qnum{color:var(--color-text-muted);font-weight:600;margin-right:.15em}.breakdown-row.expanded .breakdown-q{white-space:normal;overflow:visible}.breakdown-score{font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600;flex-shrink:0;text-align:right}.breakdown-time{color:var(--color-text-muted);font-size:.75rem;font-variant-numeric:tabular-nums;flex-shrink:0;margin-right:1.1rem}.breakdown-expand-bottom{display:flex;align-items:center;gap:.75rem}.breakdown-expand-bottom .breakdown-report-btn{margin-left:auto}.breakdown-source{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-text-muted);font-size:.7rem;text-decoration:none;transition:all .15s;padding:.25rem .5rem;border-radius:4px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}.breakdown-source svg{flex-shrink:0;opacity:.6}.breakdown-source:hover{color:var(--color-accent);background:rgba(249,115,22,.08);border-color:rgba(249,115,22,.15)}.breakdown-source:hover svg{opacity:1}.breakdown-row:not(.breakdown-wrong) .breakdown-score{color:var(--color-success)}.breakdown-row.breakdown-wrong .breakdown-score{color:var(--color-error)}.complete-standings{margin-bottom:1.5rem}.complete-standings-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.75rem}.standings-row{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius-sm);font-size:.9375rem;position:relative;overflow:visible}.standings-row.you{background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.2)}.standings-rank{width:2rem;font-weight:800;font-size:1.125rem}.standings-rank.gold{color:#fbbf24}.standings-rank.silver{color:#9ca3af}.standings-rank.bronze{color:#cd7f32}.standings-separator{text-align:center;color:var(--color-text-muted);font-size:1.25rem;letter-spacing:.3em;padding:.25rem 0}.standings-name{flex:1;font-weight:500}.standings-correct{font-size:.75rem;color:var(--color-text-muted);font-weight:500;white-space:nowrap}.standings-score-val{font-weight:700;font-variant-numeric:tabular-nums}.pack-rating{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem 0}.pack-rating-label{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.pack-rating-btns{display:flex;gap:.375rem}.pack-rating-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:all .2s}.pack-rating-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.pack-rating-btn[data-rating=down].active{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.4);color:#ef4444}.pack-rating-btn[data-rating=up].active{background:rgba(52,211,153,.15);border-color:rgba(52,211,153,.4);color:#34d399}.pack-rating-btn[data-rating=love].active{background:rgba(249,115,22,.15);border-color:rgba(249,115,22,.4);color:#f97316}.pack-rating-love{gap:-4px}.pack-rating-love svg:last-child{margin-left:-8px}.complete-actions{display:flex;gap:1rem;flex-wrap:wrap}.complete-actions+.complete-actions{margin-top:1rem}.complete-btn{flex:1;min-width:140px;padding:.875rem 1rem;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,transform .2s,opacity .2s;text-align:center;border:none}.complete-btn-share{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff;flex:1}.complete-btn-share:hover{opacity:.9}.complete-btn-play{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));color:#fff}.complete-btn-play:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(249,115,22,.4)}.complete-btn-secondary{background:var(--color-surface-elevated);color:var(--color-text);border:1px solid var(--color-border)}.rematch-ready{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;border:none!important;animation:rematch-pulse 1.5s ease-in-out infinite}@keyframes rematch-pulse{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.5)}50%{box-shadow:0 0 0 8px rgba(37,99,235,0)}}.complete-btn-secondary:hover{border-color:var(--color-accent)}.share-dropdown-wrap{position:relative;flex:1;min-width:140px}.share-dropdown-wrap>.complete-btn{width:100%}.share-dropdown{display:none;position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;z-index:20;box-shadow:0 8px 32px rgba(0,0,0,.5)}.share-dropdown.open{display:block;animation:fadeInUp .15s ease-out}.share-dropdown-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;background:0 0;border:none;color:var(--color-text);font-family:var(--font-sans);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s;text-align:left}.share-dropdown-item:hover{background:rgba(255,255,255,.06)}.share-dropdown-item+.share-dropdown-item{border-top:1px solid var(--color-border)}.share-dropdown-item svg{flex-shrink:0;opacity:.7}#screen-leaderboard.active{display:flex;flex-direction:column;height:calc(100vh - 80px);height:calc(100svh - 80px);min-height:0}.leaderboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.leaderboard-title{font-size:1.5rem;font-weight:700}.leaderboard-back{font-size:.875rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-family:var(--font-sans)}.leaderboard-back:hover{color:var(--color-accent)}.lb-groups{display:flex;justify-content:center;gap:.375rem;margin-bottom:.75rem}.lb-group-pill{padding:.4rem .875rem;font-size:.8rem;font-weight:600;font-family:var(--font-sans);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);cursor:pointer;transition:all .2s;white-space:nowrap}.lb-group-pill:hover{border-color:var(--color-accent);color:var(--color-text)}.lb-group-pill.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.leaderboard-tabs{display:flex;gap:.375rem;overflow-x:auto;margin-bottom:1.25rem;padding-bottom:.25rem;scrollbar-width:none}@media (min-width:769px){.leaderboard-tabs{flex-wrap:wrap;overflow-x:visible}}.leaderboard-tabs::-webkit-scrollbar{display:none}.leaderboard-tab{display:flex;align-items:center;gap:.375rem;padding:.4375rem .75rem;font-size:.8125rem;font-weight:500;color:var(--color-text-muted);background:rgba(255,255,255,.03);border:1px solid var(--color-border);border-radius:999px;cursor:pointer;white-space:nowrap;font-family:var(--font-sans);transition:background .2s,border-color .2s,transform .2s,opacity .2s}.leaderboard-tab .tab-icon{display:inline-flex;align-items:center;flex-shrink:0;font-size:.875rem;line-height:1}.leaderboard-tab .tab-icon svg{width:14px;height:14px}.leaderboard-tab:hover{color:var(--color-text);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}.leaderboard-tab.active{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.leaderboard-tab.active .tab-icon svg{stroke:#fff}.lb-country-trigger.active{color:var(--color-text);background:rgba(249,115,22,.1);border-color:rgba(249,115,22,.3)}.lb-country-dropdown{position:fixed;z-index:9990;min-width:220px;max-height:320px;overflow-y:auto;background:var(--color-surface,#1a1a1a);border:1px solid var(--color-border);border-radius:var(--radius,16px);padding:.375rem;display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 32px rgba(0,0,0,.4);backdrop-filter:blur(12px)}.lb-country-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);background:0 0;border:none;border-radius:calc(var(--radius,16px) - 4px);cursor:pointer;font-family:var(--font-sans);transition:background .15s;text-align:left;width:100%}.lb-country-option:hover{background:rgba(255,255,255,.06);color:var(--color-text)}.lb-country-option.active{background:var(--color-accent);color:#fff}.lb-country-option.own-country:not(.active){background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.2)}.lb-country-flag{font-size:1.125rem;flex-shrink:0}.lb-country-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-country-players{font-size:.6875rem;color:var(--color-text-muted);background:rgba(255,255,255,.06);padding:.125rem .4375rem;border-radius:999px;flex-shrink:0}.lb-country-option.active .lb-country-players{background:rgba(255,255,255,.2);color:#fff}.lb-podium{display:flex;align-items:flex-end;justify-content:center;gap:.75rem;margin-bottom:1.25rem;height:240px}.lb-podium-slot{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;max-width:140px}.lb-podium-avatar{position:relative;overflow:visible}.lb-podium-slot[data-rank="1"] .lb-podium-avatar{width:64px;height:64px;filter:drop-shadow(0 0 8px rgba(251, 191, 36, .5))}.lb-podium-slot[data-rank="1"] .lb-podium-name{font-size:.875rem;font-weight:800;color:#fbbf24}.lb-podium-slot[data-rank="1"] .lb-podium-score{font-size:1.125rem;font-weight:800;color:#fbbf24}.lb-podium-slot[data-rank="2"] .lb-podium-avatar{width:48px;height:48px}.lb-podium-slot[data-rank="3"] .lb-podium-avatar{width:48px;height:48px}.lb-podium-crown{position:absolute;top:-6px;right:-6px;font-size:14px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));pointer-events:none;z-index:2}.lb-podium-name{font-size:.75rem;font-weight:600;color:var(--color-text);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-podium-score{font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums}.lb-podium-title{font-size:.625rem;font-weight:500;padding:.125rem .375rem;border-radius:999px;background:rgba(255,255,255,.05)}.lb-podium-date{font-size:.625rem;color:var(--color-text-muted);opacity:.7}.lb-podium-bar{width:100%;border-radius:12px 12px 4px 4px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.5rem;position:relative;overflow:hidden}.lb-podium-bar .podium-rank{font-size:1.5rem;font-weight:800;opacity:.7;text-shadow:0 1px 3px rgba(0,0,0,.4)}.lb-podium-slot[data-rank="1"] .lb-podium-bar{height:100px;background:linear-gradient(180deg,#fbbf24,#f59e0b)}.lb-podium-slot[data-rank="1"] .lb-podium-score{color:#fbbf24}.lb-podium-slot[data-rank="2"] .lb-podium-bar{height:75px;background:linear-gradient(180deg,#94a3b8,#64748b)}.lb-podium-slot[data-rank="2"] .lb-podium-score{color:#94a3b8}.lb-podium-slot[data-rank="3"] .lb-podium-bar{height:58px;background:linear-gradient(180deg,#d97706,#92400e)}.lb-podium-slot[data-rank="3"] .lb-podium-score{color:#d97706}@keyframes podiumSlideUp{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.lb-podium-bar{transform-origin:bottom;animation:podiumSlideUp .5s cubic-bezier(.34,1.56,.64,1) both}.lb-podium-slot[data-rank="2"] .lb-podium-bar{animation-delay:0s}.lb-podium-slot[data-rank="1"] .lb-podium-bar{animation-delay:150ms}.lb-podium-slot[data-rank="3"] .lb-podium-bar{animation-delay:.3s}.lb-podium-slot[data-rank="1"]::before{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:160px;height:160px;background:radial-gradient(circle,rgba(251,191,36,.12) 0,transparent 70%);pointer-events:none;z-index:0}.lb-podium-slot{position:relative;z-index:1}.lb-podium-empty{opacity:.45}.lb-podium-empty .lb-podium-bar{background:0 0;border:2px dashed rgba(255,255,255,.25)}.lb-podium-alltime .lb-podium-slot[data-rank="1"] .lb-podium-avatar{box-shadow:0 0 18px rgba(251,191,36,.5),0 0 6px rgba(251,191,36,.3);border:2px solid #fbbf24;border-radius:50%}.lb-podium-alltime .lb-podium-slot[data-rank="2"] .lb-podium-avatar{box-shadow:0 0 12px rgba(148,163,184,.4);border:2px solid #94a3b8;border-radius:50%}.lb-podium-alltime .lb-podium-slot[data-rank="3"] .lb-podium-avatar{box-shadow:0 0 12px rgba(217,119,6,.4);border:2px solid #d97706;border-radius:50%}.lb-podium-alltime .lb-podium-slot[data-rank="1"] .lb-podium-name{color:#fbbf24}.alltime-avatar-wrap{position:relative;display:inline-block;border-radius:50%}.alltime-avatar-wrap svg{display:block}.alltime-gold{box-shadow:0 0 10px rgba(251,191,36,.45);border:2px solid #fbbf24;border-radius:50%}.alltime-silver{box-shadow:0 0 8px rgba(148,163,184,.4);border:2px solid #94a3b8;border-radius:50%}.alltime-bronze{box-shadow:0 0 8px rgba(217,119,6,.35);border:2px solid #d97706;border-radius:50%}.alltime-badge{position:absolute;top:-6px;right:-6px;font-size:12px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));pointer-events:none;z-index:2}.alltime-badge-num{font-size:9px;font-weight:800;background:rgba(0,0,0,.7);color:#fff;padding:1px 3px;border-radius:6px;top:-4px;right:-4px}.alltime-gold>.alltime-badge-num{background:#b45309;color:#fef3c7}.alltime-silver>.alltime-badge-num{background:#475569;color:#e2e8f0}.alltime-bronze>.alltime-badge-num{background:#78350f;color:#fde68a}.lb-stats-banner{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:rgba(249,115,22,.06);border:1px solid rgba(249,115,22,.15);border-radius:var(--radius);margin-bottom:1rem;font-size:.8125rem}.lb-stats-rank-text{flex:1;color:var(--color-text-secondary)}.lb-stats-rank-text strong{color:var(--color-accent);font-weight:700}.lb-stats-bar-wrap{width:80px;height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}.lb-stats-bar-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width .6s ease}.lb-stats-best{font-weight:600;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.lb-table-wrap{width:100%;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);position:relative;contain:content}.lb-table-wrap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:4px;background:repeating-linear-gradient(180deg,var(--color-text-muted) 0,var(--color-text-muted) 4px,transparent 4px,transparent 8px);opacity:.3;z-index:2;pointer-events:none}.lb-row{display:grid;grid-template-columns:2.5rem 28px 1fr auto auto;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;align-items:center;border-bottom:1px solid var(--color-border);transition:background .15s;opacity:0;animation:lbRowFadeIn .3s ease forwards;position:relative;overflow:hidden}.lb-row:last-child{border-bottom:none}.lb-row:nth-child(2n){background:rgba(255,255,255,.015)}.lb-row:hover{background:rgba(255,255,255,.05)}.lb-row.you{background:rgba(249,115,22,.06);border-left:3px solid var(--color-accent)}[data-theme=light] .lb-row:nth-child(2n){background:rgba(0,0,0,.02)}[data-theme=light] .lb-row:hover{background:rgba(0,0,0,.04)}.lb-row-empty{opacity:0;animation:lbRowFadeIn .3s ease forwards;border-style:dashed;border-color:rgba(255,255,255,.08)}.lb-row-empty .lb-name-empty,.lb-row-empty .lb-rank-num,.lb-row-empty .lb-score-val{opacity:.3}.lb-row-empty .lb-name-empty{font-style:italic}.lb-avatar-empty{width:28px;height:28px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.15);background:rgba(255,255,255,.03)}.lb-row-empty:hover{background:rgba(255,255,255,.02)}.lb-rank{font-weight:700;font-size:.75rem;text-align:center;z-index:1}.lb-rank-medal{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:.6875rem;font-weight:800}.lb-rank-medal.gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#451a03}.lb-rank-medal.silver{background:linear-gradient(135deg,#94a3b8,#64748b);color:#0f172a}.lb-rank-medal.bronze{background:linear-gradient(135deg,#d97706,#92400e);color:#fffbeb}.lb-rank-num{color:var(--color-text-muted);display:inline-block;min-width:1.25rem;text-align:right}.lb-avatar{position:relative;width:28px;height:28px;overflow:visible;flex-shrink:0;z-index:1}.lb-name{font-weight:500;overflow:hidden;min-width:0;z-index:1}.lb-name-title{font-size:.6875rem;font-weight:600;text-align:right;white-space:nowrap;z-index:1}.lb-row-date{display:block;font-size:.625rem;color:var(--color-text-muted);opacity:.7;font-weight:400}.lb-score-cell{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;position:relative;padding:.125rem .5rem;z-index:1;min-width:3.5rem}.lb-row-fill{position:absolute;top:2px;left:0;bottom:2px;width:var(--score-pct,0%);background:linear-gradient(90deg,rgba(96,165,250,.12) 0,rgba(96,165,250,.25) 100%);border-right:3px solid rgba(96,165,250,.5);border-radius:0 4px 4px 0;z-index:0;transition:width var(--race-dur, .8s) cubic-bezier(.25, .46, .45, .94);pointer-events:none}.lb-row-fill.you{background:linear-gradient(90deg,rgba(249,115,22,.12) 0,rgba(249,115,22,.25) 100%);border-right-color:rgba(249,115,22,.5)}[data-theme=light] .lb-row-fill{background:linear-gradient(90deg,rgba(59,130,246,.06) 0,rgba(59,130,246,.14) 100%);border-right-color:rgba(59,130,246,.25)}[data-theme=light] .lb-row-fill.you{background:linear-gradient(90deg,rgba(249,115,22,.08) 0,rgba(249,115,22,.18) 100%);border-right-color:rgba(249,115,22,.4)}.lb-score-bar{display:none}.lb-score-val{position:relative;z-index:1;font-size:.9375rem;font-weight:700;color:var(--color-text)}@keyframes lbRowFadeIn{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.tier-badge{display:inline-block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px;color:#fff;margin-left:4px;vertical-align:middle;line-height:1.4}.tier-ring-expert svg{border:2px solid #f472b6;border-radius:50%}.tier-ring-master svg{border:2px solid #fb923c;border-radius:50%}.tier-ring-sage svg{border:2px solid #14b8a6;border-radius:50%;box-shadow:0 0 6px #14b8a640}.tier-ring-legend svg{border:2px solid #ef4444;border-radius:50%;box-shadow:0 0 8px #ef444440}.tier-ring-grandmaster svg{border:3px solid #c084fc;border-radius:50%;box-shadow:0 0 10px #c084fc50}.tier-ring-immortal svg{border:3px solid #fbbf24;border-radius:50%;box-shadow:0 0 12px #fbbf2450;animation:pulse-gold 2s ease-in-out infinite}.tier-ring-transcendent svg{border:3px solid #e2e8f0;border-radius:50%;box-shadow:0 0 16px #e2e8f040;animation:prismatic-glow 3s linear infinite}.lb-row.tier-glow-sage{box-shadow:inset 3px 0 0 #14b8a6,0 0 6px #14b8a615}.lb-row.tier-glow-legend{box-shadow:inset 3px 0 0 #ef4444,0 0 8px #ef444420}.lb-row.tier-glow-grandmaster{box-shadow:inset 3px 0 0 #c084fc,0 0 10px #c084fc25}.lb-row.tier-glow-immortal{box-shadow:inset 3px 0 0 #fbbf24,0 0 14px #fbbf2430;animation:pulse-row-gold 2.5s ease-in-out infinite}.lb-row.tier-glow-transcendent{box-shadow:inset 3px 0 0 #e2e8f0,0 0 18px #e2e8f020;animation:prismatic-row 4s linear infinite}@keyframes pulse-gold{0%,100%{box-shadow:0 0 8px #fbbf2440}50%{box-shadow:0 0 16px #fbbf2470}}@keyframes pulse-row-gold{0%,100%{box-shadow:inset 3px 0 0 #fbbf24,0 0 10px #fbbf2430}50%{box-shadow:inset 3px 0 0 #fbbf24,0 0 20px #fbbf2450}}@keyframes prismatic-glow{0%{box-shadow:0 0 12px #ef444440;border-color:#ef4444}25%{box-shadow:0 0 12px #fbbf2440;border-color:#fbbf24}50%{box-shadow:0 0 12px #34d39940;border-color:#34d399}75%{box-shadow:0 0 12px #60a5fa40;border-color:#60a5fa}100%{box-shadow:0 0 12px #ef444440;border-color:#ef4444}}@keyframes prismatic-row{0%{box-shadow:inset 3px 0 0 #ef4444,0 0 14px #ef444420}25%{box-shadow:inset 3px 0 0 #fbbf24,0 0 14px #fbbf2420}50%{box-shadow:inset 3px 0 0 #34d399,0 0 14px #34d39920}75%{box-shadow:inset 3px 0 0 #60a5fa,0 0 14px #60a5fa20}100%{box-shadow:inset 3px 0 0 #ef4444,0 0 14px #ef444420}}.lb-diff-badge{display:inline-block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle}.lb-diff-all{background:rgba(148,163,184,.25);color:#cbd5e1}.lb-diff-chill{background:rgba(96,165,250,.25);color:#60a5fa}.lb-diff-challenge{background:rgba(249,115,22,.25);color:#f97316}.lb-diff-genius{background:rgba(239,68,68,.25);color:#ef4444}.lb-filter-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0 .5rem;flex-wrap:wrap}.lb-filter-btn{font-size:.75rem;font-weight:600;padding:.3rem .65rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:border-color .2s,background .2s;white-space:nowrap}.lb-filter-btn:hover:not(:disabled){border-color:var(--color-accent)}.lb-filter-btn:disabled{opacity:.35;cursor:default}.lb-filter-btn.active{border-color:var(--color-accent);background:rgba(249,115,22,.08);color:var(--color-accent)}.lb-time-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:.25rem;z-index:200;box-shadow:0 4px 16px rgba(0,0,0,.3);min-width:120px}.lb-time-option{display:block;width:100%;text-align:left;padding:.5rem .75rem;font-size:.8rem;font-weight:500;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.lb-time-option:hover{background:rgba(255,255,255,.06)}.lb-time-option.active{color:var(--color-accent);font-weight:700}.lb-scope-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:.25rem;z-index:200;box-shadow:0 4px 16px rgba(0,0,0,.3);min-width:160px}.lb-scope-option{display:block;width:100%;text-align:left;padding:.5rem .75rem;font-size:.8rem;font-weight:500;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.lb-scope-option:hover{background:rgba(255,255,255,.06)}.lb-scope-option.active{color:var(--color-accent);font-weight:700}.lb-scope-option.own-country{font-weight:600;color:var(--color-text)}.lb-scope-divider{height:1px;background:var(--color-border);margin:.25rem .5rem}.lb-description{text-align:center;font-size:.75rem;color:var(--color-text-muted);padding:.75rem 1rem .25rem;line-height:1.5}.lb-percentile{text-align:center;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);padding:.5rem;margin-top:.5rem}.lb-percentile strong{color:var(--color-accent)}@media (prefers-reduced-motion:reduce){.lb-row.tier-glow-immortal,.lb-row.tier-glow-transcendent,.tier-ring-immortal svg,.tier-ring-transcendent svg{animation:none!important}}@keyframes lbContentFade{from{opacity:0}to{opacity:1}}.lb-content-enter{animation:lbContentFade .2s ease forwards}.lb-empty{text-align:center;padding:3rem 1rem}.lb-empty-icon{font-size:3rem;margin-bottom:.75rem;opacity:.5}.lb-empty-text{color:var(--color-text-muted);font-size:.9375rem}.lb-empty-sub{color:var(--color-text-muted);font-size:.8125rem;margin-top:.25rem;opacity:.6}.passkey-banner{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;background:rgba(249,115,22,.06);border:1px solid rgba(249,115,22,.2);border-radius:var(--radius);margin-bottom:1.5rem}.passkey-banner-text{flex:1;font-size:.875rem;color:var(--color-text-secondary)}.passkey-banner-btn{padding:.5rem 1rem;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.8125rem;font-weight:600;cursor:pointer;white-space:nowrap}.passkey-banner-dismiss{background:0 0;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.25rem;padding:.25rem;line-height:1}.ws-status{position:fixed;bottom:12px;left:12px;display:none;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:.6875rem;color:var(--color-text-muted);z-index:500;transition:opacity .3s}.ws-status.visible{display:flex}.ws-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ws-status.connected .ws-status-dot{background:#34d399}.ws-status.reconnecting .ws-status-dot{background:#f59e0b;animation:ws-pulse 1.2s ease-in-out infinite}.ws-status.warning .ws-status-dot{background:#f59e0b}.ws-status.offline .ws-status-dot{background:#ef4444}@keyframes ws-pulse{0%,100%{opacity:1}50%{opacity:.3}}[data-theme=light] .ws-status{background:rgba(255,255,255,.7)}.connection-overlay{position:fixed;inset:0;background:rgba(5,5,5,.9);display:none;align-items:center;justify-content:center;z-index:1000;flex-direction:column;gap:1rem}.connection-overlay.active{display:flex}.connection-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.connection-text{font-size:1rem;color:var(--color-text-secondary)}.connection-btn{padding:.75rem 1.5rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-sans);font-size:.875rem;cursor:pointer;display:none}.daily-card,.lobby-rank-bar,.lobby-stats{opacity:1;transition:opacity .4s ease}.daily-card .daily-card-btn,.daily-card .daily-card-subtitle,.lobby-rank-bar .lobby-rank-title,.lobby-rank-bar .lobby-rank-xp,.lobby-stats .lobby-stat-value{transition:opacity .4s ease,background .4s ease,color .3s ease}.lobby-skeleton{opacity:.4;pointer-events:none}.lobby-skeleton .skeleton{display:inline-block;min-width:3rem;color:transparent}.lobby-skeleton .daily-card-btn{opacity:.4}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-elevated) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-loading{position:relative;overflow:hidden;pointer-events:none}.skeleton-loading::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.06) 50%,transparent 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:inherit}.skeleton-loading .room-code-tile{color:transparent;background:rgba(255,255,255,.05)}.loading-spinner-wrap{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--color-text-muted)}.toast-stack{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column-reverse;gap:.5rem;z-index:2000;pointer-events:none;width:max-content;max-width:min(90vw,420px)}.toast{padding:.65rem 1.1rem;border-radius:12px;font-size:.8125rem;font-weight:500;line-height:1.4;color:#fff;pointer-events:auto;cursor:pointer;opacity:0;transform:translateY(12px) scale(.95);transition:opacity .3s ease,transform .3s ease;box-shadow:0 4px 20px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.06) inset;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.toast--visible{opacity:1;transform:translateY(0) scale(1)}.toast--exit{opacity:0;transform:translateY(-8px) scale(.95);pointer-events:none}.toast--info{background:rgba(30,30,30,.92);border-left:3px solid var(--color-accent)}.toast--error{background:rgba(50,20,20,.92);border-left:3px solid var(--color-error)}.toast--action{background:rgba(20,35,50,.94);border-left:3px solid #60a5fa}.lobby-rank-bar{margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:border-color .2s}.lobby-rank-bar:hover{border-color:var(--color-accent)}.lobby-rank-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.lobby-rank-title{font-size:1rem;font-weight:700}.lobby-rank-xp{font-size:.875rem;font-weight:600;color:var(--color-accent,#f97316);font-variant-numeric:tabular-nums}.lobby-xp-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.lobby-xp-fill{height:100%;border-radius:3px;transition:width .6s ease;background:var(--color-accent)}.lobby-battlepass{margin-bottom:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,rgba(139,92,246,.08),rgba(249,115,22,.08));border:1px solid rgba(139,92,246,.2);border-radius:var(--radius);cursor:pointer;transition:border-color .2s}.lobby-battlepass:hover{border-color:rgba(139,92,246,.4)}.lobby-battlepass-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.lobby-battlepass-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#a78bfa}.lobby-battlepass-tier{font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.lobby-battlepass-bar{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.lobby-battlepass-meta{font-size:.75rem;color:var(--color-text-secondary);margin-top:.25rem}.lobby-battlepass-fill{height:100%;border-radius:3px;transition:width .6s ease;background:linear-gradient(90deg,#8b5cf6,#f97316)}.lobby-streak-banner{padding:.65rem .85rem;border-radius:10px;font-size:.85rem;font-weight:600;margin-bottom:.75rem;text-align:center}.lobby-streak-banner.streak-active{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.25);color:#34d399}.lobby-streak-banner.streak-risk{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.3);color:#f87171;animation:pulse 2s ease-in-out infinite}.lobby-progress-frame{position:relative;border:1px solid var(--color-glass-border,rgba(255,255,255,.08));border-radius:var(--radius,16px);padding:1.25rem;padding-top:2rem;margin-bottom:1.5rem;background:var(--color-surface,rgba(255,255,255,.04))}.lobby-progress-badge{position:absolute;top:-.7rem;left:1rem;padding:.2rem .75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#34d399;border-radius:999px}.lobby-progress-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin-bottom:.25rem}.lobby-progress-frame .lobby-stats{margin-bottom:.75rem}.lobby-progress-frame .lobby-battlepass,.lobby-progress-frame .lobby-league,.lobby-progress-frame .lobby-rank-bar{margin-bottom:.75rem;padding:.625rem .75rem;background:rgba(255,255,255,.02);border:1px solid transparent;border-radius:10px;cursor:pointer;transition:background .2s,border-color .2s,transform .1s}.lobby-progress-frame .lobby-league{margin-bottom:0}.lobby-progress-frame .lobby-rank-bar:hover{background:rgba(249,115,22,.06);border-color:rgba(249,115,22,.25)}.lobby-progress-frame .lobby-battlepass:hover{background:rgba(139,92,246,.06);border-color:rgba(139,92,246,.25)}.lobby-progress-frame .lobby-league:hover{background:rgba(251,191,36,.06);border-color:rgba(251,191,36,.25)}.lobby-progress-frame .lobby-battlepass:active,.lobby-progress-frame .lobby-league:active,.lobby-progress-frame .lobby-rank-bar:active{transform:scale(.98)}.lobby-quests-frame{position:relative;border:1px solid var(--color-glass-border,rgba(255,255,255,.08));border-radius:var(--radius,16px);padding:1.25rem;padding-top:2rem;margin-bottom:1.5rem;background:var(--color-surface,rgba(255,255,255,.04))}.lobby-quests-badge{position:absolute;top:-.7rem;left:1rem;padding:.2rem .75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#60a5fa;border-radius:999px}.lobby-league{margin-bottom:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,rgba(251,191,36,.06),rgba(249,115,22,.06));border:1px solid rgba(251,191,36,.2);border-radius:var(--radius);cursor:pointer;transition:border-color .2s}.lobby-league:hover{border-color:rgba(251,191,36,.4)}.lobby-league-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.lobby-league-name{font-size:.85rem;font-weight:700;color:#fbbf24}.lobby-league-rank{font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.lobby-league-bar{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden;margin-bottom:.25rem}.lobby-league-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#fbbf24,#f97316);transition:width .4s ease}.lobby-league-meta{font-size:.75rem;color:var(--color-text-secondary)}.lobby-quests{margin-bottom:1rem}.lobby-quests-list{display:flex;flex-direction:column;gap:.5rem}.lobby-quest{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.lobby-quest.quest-done{border-color:rgba(52,211,153,.3);background:rgba(52,211,153,.04)}.lobby-quest.quest-claimed{opacity:.5}.lobby-quest-info{flex:1;min-width:0}.lobby-quest-title{font-size:.8rem;font-weight:600;color:var(--color-text);display:block}.lobby-quest-progress{font-size:.7rem;color:var(--color-text-muted)}.lobby-quest-bar{width:60px;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;flex-shrink:0}.lobby-quest-fill{height:100%;border-radius:2px;background:var(--color-accent);transition:width .4s ease}.lobby-quest-reward{font-size:.7rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.lobby-quest-claim{padding:.25rem .5rem;font-size:.7rem;font-weight:700;color:#fff;background:var(--color-accent);border:none;border-radius:6px;cursor:pointer}.lobby-quests-timer{margin-top:.5rem;font-size:.75rem;color:var(--color-text-secondary);text-align:center}.earn-carousel{position:relative;margin-bottom:2.25rem;overflow:hidden;padding-top:8px}.earn-carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0}.earn-carousel-track::-webkit-scrollbar{display:none}.earn-card{flex:0 0 100%;scroll-snap-align:start;box-sizing:border-box}.earn-carousel-dots{display:flex;justify-content:center;gap:.375rem;margin-top:.75rem;padding-bottom:.5rem}.earn-carousel-dots:empty{display:none}.earn-dot{width:6px;height:6px;border-radius:50%;background:var(--color-text-muted);opacity:.3;transition:opacity .2s,transform .2s}.earn-dot.active{opacity:1;transform:scale(1.3);background:var(--color-accent)}.earn-carousel-arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;border-radius:50%;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);color:var(--color-text);font-size:1.4rem;line-height:1;cursor:pointer;z-index:2;transition:background .2s,opacity .2s;opacity:0}.earn-carousel-arrow:hover{background:rgba(255,255,255,.2)}.earn-carousel-prev{left:8px}.earn-carousel-next{right:8px}@media (hover:hover) and (min-width:640px){.earn-carousel-arrow{display:block}.earn-carousel:hover .earn-carousel-arrow{opacity:1}}.earn-card-generic{position:relative;padding:1.25rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);text-align:center}.earn-card-icon{font-size:1.75rem;margin-bottom:.375rem}.earn-card-title{font-size:1rem;font-weight:700;margin-bottom:.25rem}.earn-card-desc{font-size:.8125rem;color:var(--color-text-muted);line-height:1.4}.earn-card-highlight{font-size:1.375rem;font-weight:800;color:var(--color-accent);margin:.375rem 0}.lobby-picks{margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.lobby-picks-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.lobby-picks-title{font-size:.95rem;font-weight:700;color:var(--color-text)}.lobby-picks-badge{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:linear-gradient(135deg,#8b5cf6,#a78bfa);padding:.15rem .5rem;border-radius:999px}.lobby-picks-list{display:flex;flex-direction:column;gap:.5rem}.lobby-pick-card{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:rgba(255,255,255,.02);border:1px solid transparent;border-radius:10px;transition:background .2s,border-color .2s}.lobby-pick-card:hover{background:rgba(139,92,246,.06);border-color:rgba(139,92,246,.2)}.lobby-pick-info{flex:1;min-width:0}.lobby-pick-title{font-size:.85rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby-pick-cat{font-size:.7rem;color:var(--color-text-muted)}.lobby-pick-btn{padding:.35rem .75rem;font-size:.75rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#8b5cf6,#a78bfa);border:none;border-radius:8px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:opacity .15s}.lobby-pick-btn:hover{opacity:.85}.lobby-pick-btn:disabled{opacity:.4;cursor:default}.lobby-pick-btn.pick-played{background:rgba(52,211,153,.15);color:#34d399}.lobby-pick-lock{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.daily-card{position:relative;padding:1.25rem;background:linear-gradient(135deg,rgba(249,115,22,.08),rgba(234,179,8,.08));border:1px solid rgba(249,115,22,.25);border-radius:var(--radius);text-align:center}.daily-card-badge,.earn-card-badge{position:absolute;top:0;left:1.25rem;padding:.125rem .625rem;background:var(--color-accent);color:#fff;font-size:.625rem;font-weight:800;letter-spacing:.1em;border-radius:0 0 8px 8px}.daily-card-title{font-size:1.125rem;font-weight:700;margin-bottom:.25rem}.daily-card-subtitle{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.75rem;min-height:1.25em}.daily-card-btn{padding:.75rem 2rem;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,transform .2s,opacity .2s}.daily-card-btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(249,115,22,.4)}.daily-card-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.daily-card-countdown{font-size:.8125rem;color:var(--color-text-muted);margin-top:.5rem;min-height:1.25em}.recommended-countdown{font-size:.8125rem;color:var(--color-text-muted);margin-top:.5rem;min-height:1.25em}.complete-xp{text-align:center;margin-bottom:1.25rem;padding:1rem;background:var(--color-bg);border-radius:var(--radius-sm)}.complete-xp.xp-fade-in{animation:xpFadeIn .5s ease}@keyframes xpFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.complete-xp-earned{font-size:1.25rem;font-weight:700;color:var(--color-accent);margin-bottom:.25rem}.complete-xp-rank{font-size:.875rem;font-weight:600;margin-bottom:.5rem}.complete-xp-bar-wrap{position:relative}.complete-xp-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.complete-xp-fill{height:100%;border-radius:4px;transition:width 1s ease}.complete-xp-label{font-size:.6875rem;color:var(--color-text-muted);margin-top:.25rem;text-align:right}.complete-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.25rem}.complete-badge-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:999px;font-size:.8125rem;font-weight:600;animation:badgePop .4s ease}@keyframes badgePop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}.streak-flash{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;font-weight:800;pointer-events:none;z-index:500;opacity:0;transition:none}.streak-flash.active{animation:streakFlash 1s ease forwards}@keyframes streakFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}40%{transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-60%) scale(.9)}}.streak-fire-border{box-shadow:0 0 30px rgba(249,115,22,.5),0 0 60px rgba(249,115,22,.2)!important;transition:box-shadow .3s}.streak-flawless{animation:flawlessPulse .6s ease}@keyframes flawlessPulse{0%{box-shadow:0 0 0 rgba(52,211,153,0)}50%{box-shadow:0 0 40px rgba(52,211,153,.4),0 0 80px rgba(52,211,153,.2)}100%{box-shadow:0 0 0 rgba(52,211,153,0)}}.badge-notification{position:fixed;top:1.5rem;right:1.5rem;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);z-index:1500;animation:slideInRight .3s ease;box-shadow:0 8px 32px rgba(0,0,0,.3)}@keyframes slideInRight{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}.badge-notification-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.badge-notification-title{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.badge-notification-name{font-size:.9375rem;font-weight:600}.level-up-notification{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:1500;pointer-events:none;animation:levelUpFlash 2s ease forwards}.level-up-text{font-size:1.5rem;font-weight:800;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.25rem}.level-up-rank{font-size:2.5rem;font-weight:800}@keyframes levelUpFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}40%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-60%) scale(.9)}}.profile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.profile-title{font-size:1.5rem;font-weight:700}.profile-back{font-size:.875rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-family:var(--font-sans)}.profile-back:hover{color:var(--color-accent)}.profile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:0;text-align:center;margin-bottom:1.5rem;overflow:hidden;position:relative}.profile-banner{height:64px;background:linear-gradient(135deg,var(--rank-color-dim,rgba(148,163,184,.15)) 0,var(--rank-color,#94a3b8) 250%);position:relative}.profile-banner::after{content:'';position:absolute;bottom:0;left:0;right:0;height:24px;background:linear-gradient(to top,var(--color-surface),transparent)}.profile-card-body{padding:0 2rem 1.5rem;margin-top:-8px;position:relative}.profile-follow-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;gap:.5rem}.profile-follow-btn{padding:.5rem 1.5rem;border-radius:999px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease;border:2px solid var(--color-accent);background:0 0;color:var(--color-accent)}.profile-follow-btn:hover{background:var(--color-accent);color:#fff}.profile-follow-btn.following{background:var(--color-accent);color:#fff}.profile-follow-btn.following:hover{background:0 0;color:var(--color-accent)}.profile-follow-actions{display:flex;gap:.5rem;justify-content:center}.profile-gift-btn{padding:.5rem 1.5rem;border-radius:999px;font-size:.875rem;font-weight:600;cursor:pointer;background:0 0;border:1px solid var(--color-success);color:var(--color-success);transition:all .2s}.profile-gift-btn:hover{background:var(--color-success);color:#fff}.profile-gift-panel{margin-top:.75rem;padding:.75rem;background:rgba(255,255,255,.05);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.gift-amount-row{display:flex;gap:.5rem;justify-content:center;margin-bottom:.75rem}.gift-amount-btn{width:3rem;height:2.25rem;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:0 0;color:var(--color-text);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.gift-amount-btn.selected,.gift-amount-btn:hover{background:var(--color-success);color:#fff;border-color:var(--color-success)}.gift-send-row{display:flex;gap:.5rem;justify-content:center}.gift-send-btn{padding:.5rem 1.25rem;border-radius:999px;font-size:.875rem;font-weight:600;cursor:pointer;background:var(--color-success);color:#fff;border:none;transition:all .2s}.gift-send-btn:disabled{opacity:.4;cursor:not-allowed}.gift-cancel-btn{padding:.5rem 1.25rem;border-radius:999px;font-size:.875rem;cursor:pointer;background:0 0;border:1px solid rgba(255,255,255,.15);color:var(--color-text-muted)}.profile-follow-counts{font-size:.8rem;color:var(--color-text-muted)}.follow-num{font-weight:700;color:var(--color-text)}.follow-count-link{cursor:pointer;transition:color .15s}.follow-count-link:hover{color:var(--color-accent)}.follow-list-overlay{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .2s;pointer-events:none}.follow-list-overlay.active{opacity:1;pointer-events:auto}.follow-list-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);width:90%;max-width:360px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.follow-list-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.follow-list-title{font-weight:700;font-size:1rem}.follow-list-close{background:0 0;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.follow-list-body{overflow-y:auto;padding:.5rem 0}.follow-list-row{display:flex;align-items:center;gap:.75rem;padding:.625rem 1.25rem;cursor:pointer;transition:background .15s}.follow-list-row:hover{background:var(--color-surface)}.follow-list-avatar{position:relative;flex-shrink:0;width:36px;height:36px;overflow:visible}.follow-list-info{min-width:0}.follow-list-name{font-weight:600;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.follow-list-rank{font-size:.75rem}.follow-list-empty{padding:2rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.follow-list-load-more{display:block;width:calc(100% - 1.5rem);margin:.5rem auto 1rem;padding:.6rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;transition:background-color .15s}.follow-list-load-more:hover:not(:disabled){background:rgba(255,255,255,.1)}.follow-list-load-more:disabled{opacity:.5;cursor:wait}.profile-avatar{position:relative;width:88px;height:88px;margin:-44px auto .5rem;cursor:pointer;transition:transform .15s ease;border-radius:50%;border:3px solid var(--color-bg);background:var(--color-bg)}.profile-avatar [role=button]{pointer-events:none}.profile-avatar:active{transform:scale(.92)}.profile-avatar.entrance{animation:avatarEntrance .6s cubic-bezier(.34,1.56,.64,1) both}@keyframes avatarEntrance{0%{transform:scale(0) rotate(-15deg);opacity:0}60%{transform:scale(1.15) rotate(3deg);opacity:1}80%{transform:scale(.95) rotate(-1deg)}100%{transform:scale(1) rotate(0)}}.avatar-zoom-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);transition:background .3s ease;pointer-events:none}.avatar-zoom-overlay.active{background:rgba(0,0,0,.75);pointer-events:auto;cursor:pointer}.avatar-zoom-inner{position:relative;width:250px;height:250px;transform:scale(.3);opacity:0;transition:transform .4s cubic-bezier(.34, 1.56, .64, 1),opacity .25s ease}.avatar-zoom-overlay.active .avatar-zoom-inner{transform:scale(1);opacity:1;animation:avatarShowoff 2.5s ease .35s both}@keyframes avatarShowoff{0%{transform:scale(1) rotate(0)}8%{transform:scale(1.12) rotate(-6deg)}16%{transform:scale(1.12) rotate(6deg)}24%{transform:scale(1.08) rotate(-4deg)}32%{transform:scale(1.08) rotate(4deg)}40%{transform:scale(1.05) rotate(-2deg)}48%{transform:scale(1.05) rotate(0)}60%{transform:scale(1.15) rotate(0)}70%{transform:scale(1) rotate(0)}80%{transform:scale(1.08) rotate(0)}100%{transform:scale(1) rotate(0)}}.avatar-zoom-overlay.closing .avatar-zoom-inner{transform:scale(.3);opacity:0}.avatar-zoom-inner .alltime-badge{font-size:32px;top:-14px;right:-14px}.avatar-zoom-inner .alltime-badge-num{font-size:22px;padding:2px 8px;border-radius:14px;top:-10px;right:-10px}.avatar-zoom-inner .alltime-avatar-wrap{border-width:4px;box-shadow:0 0 24px rgba(251,191,36,.5)}.avatar-zoom-inner.crest-zoom{width:220px;height:264px;filter:drop-shadow(0 0 30px rgba(251, 191, 36, .25))}.avatar-zoom-inner.crest-zoom svg{width:100%;height:auto}.crest-save-btn{display:block;margin:12px auto 0;padding:6px 20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;font-size:.85rem;cursor:pointer;transition:background .2s}.crest-save-btn:hover{background:rgba(255,255,255,.2)}.crest-rarity-label{text-align:center;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-top:6px}.crest-rarity-legendary{color:#fbbf24;text-shadow:0 0 8px rgba(251,191,36,.5)}.crest-rarity-mythic{color:#a855f7;text-shadow:0 0 8px rgba(168,85,247,.5)}.crest-reveal-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);transition:background .4s ease;pointer-events:none}.crest-reveal-overlay.active{background:rgba(0,0,0,.85);pointer-events:auto}.crest-reveal-content{text-align:center;transform:scale(0);opacity:0;transition:transform .6s cubic-bezier(.34, 1.56, .64, 1),opacity .3s ease}.crest-reveal-overlay.active .crest-reveal-content{transform:scale(1);opacity:1}.crest-reveal-overlay.closing .crest-reveal-content{transform:scale(.3);opacity:0}.crest-reveal-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted);margin-bottom:12px}.crest-reveal-sigil{display:inline-block;filter:drop-shadow(0 0 40px rgba(251, 191, 36, .3));animation:reveal-entrance 1.2s ease-out .3s both}@keyframes reveal-entrance{0%{transform:scale(.4) rotate(-15deg);opacity:0;filter:brightness(3)}40%{transform:scale(1.15) rotate(3deg);opacity:1;filter:brightness(1.5)}60%{transform:scale(.95) rotate(-1deg);filter:brightness(1.1)}80%{transform:scale(1.05) rotate(0);filter:brightness(1)}100%{transform:scale(1) rotate(0);filter:brightness(1)}}.crest-reveal-name{font-size:1.1rem;font-weight:700;color:var(--color-accent);margin-top:12px;animation:fadeIn .5s ease .8s both}.crest-reveal-btn{margin-top:20px;padding:8px 32px;background:var(--color-accent);color:#000;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;animation:fadeIn .5s ease 1.2s both;transition:background .2s}.crest-reveal-btn:hover{background:#fb923c}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.clan-crest,.lb-avatar[data-clan-id],.lb-podium-avatar[data-clan-id]{position:relative;overflow:hidden}.clan-crest::after,.lb-avatar[data-clan-id]::after,.lb-podium-avatar[data-clan-id]::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.15) 45%,rgba(255,255,255,.25) 50%,rgba(255,255,255,.15) 55%,transparent 70%);transform:translateX(-120%);pointer-events:none;z-index:1}.clan-crest:hover::after,.lb-avatar[data-clan-id]:hover::after,.lb-podium-avatar[data-clan-id]:hover::after{animation:sigil-shimmer .8s ease-out}@keyframes sigil-shimmer{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}.clan-sigil-legendary{filter:drop-shadow(0 0 6px rgba(251, 191, 36, .5))}.clan-sigil-legendary::before{content:"";position:absolute;inset:-3px;border-radius:4px;background:linear-gradient(135deg,rgba(251,191,36,.3),rgba(245,158,11,.1),rgba(251,191,36,.3));z-index:-1;animation:legendary-pulse 3s ease-in-out infinite}@keyframes legendary-pulse{0%,100%{opacity:.4}50%{opacity:.8}}.clan-sigil-mythic{filter:drop-shadow(0 0 8px rgba(168, 85, 247, .5))}.clan-sigil-mythic::before{content:"";position:absolute;inset:-3px;border-radius:4px;background:linear-gradient(135deg,rgba(168,85,247,.3),rgba(236,72,153,.15),rgba(168,85,247,.3));z-index:-1;animation:legendary-pulse 3s ease-in-out infinite}.profile-name-row{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:.35rem}.profile-name{font-size:1.35rem;font-weight:800;letter-spacing:-.01em}.profile-country{font-size:1.3rem;line-height:1}.profile-rank-badge{display:inline-block;padding:.3rem .9rem;border-radius:999px;font-size:.8rem;font-weight:700;margin-bottom:.6rem;animation:rankGlow 3s ease-in-out infinite}@keyframes rankGlow{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 12px 2px var(--rank-glow,rgba(148,163,184,.15))}}.profile-xp-bar-wrap{max-width:280px;margin:0 auto}.profile-xp-bar{height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden}.profile-xp-fill{height:100%;border-radius:4px;width:0;transition:width .8s cubic-bezier(.34, 1.2, .64, 1) .2s}.profile-xp-label{font-size:.75rem;color:var(--color-text-secondary);margin-top:.35rem}.profile-xp-label .xp-pct{font-weight:700;color:var(--color-text)}.profile-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.profile-stat{flex:1 1 calc(25% - 0.75rem);min-width:100px;max-width:calc(25% - .75rem);text-align:center;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);border-top:3px solid var(--stat-color,var(--color-border));transition:box-shadow .2s ease,transform .2s ease;animation:statStagger .4s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i, 0) * 50ms)}@keyframes statStagger{from{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-stat:hover{box-shadow:0 4px 12px rgba(0,0,0,.2);transform:translateY(-1px)}.profile-stat-value{font-size:1.25rem;font-weight:700}.profile-stat-label{font-size:.6875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.profile-section-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:1.5rem;margin-bottom:.75rem}.profile-section-title:first-of-type{margin-top:0}.profile-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-rows:1fr;gap:.5rem;margin-bottom:1.5rem}.profile-badge{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;transition:background .2s,border-color .2s,transform .2s,opacity .2s;animation:badgeFadeIn .3s ease both;animation-delay:calc(var(--i, 0) * 30ms)}@keyframes badgeFadeIn{from{opacity:0;transform:scale(.85) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.profile-badge:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.profile-badge.earned{border-color:var(--badge-color,var(--color-border))}.profile-badge.locked{opacity:.35;filter:grayscale(1)}.profile-badge-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}.profile-badge-name{font-size:.6875rem;font-weight:600;line-height:1.2}.profile-badge-tier{font-size:.5625rem;text-transform:uppercase;letter-spacing:.05em}.profile-badge-level{display:flex;gap:3px;justify-content:center;margin-top:2px}.level-dot{width:6px;height:6px;border-radius:50%;border:1.5px solid}.level-dot.filled{border-color:transparent!important}.profile-categories{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.profile-cat-card{flex:1 1 200px;max-width:320px}.profile-settings{margin-bottom:1.5rem}.profile-setting-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.profile-setting-btn{background:0 0;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:.4rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;transition:all .2s}.profile-setting-btn:hover{background:rgba(255,255,255,.05);color:var(--color-text)}.profile-setting-btn-danger{color:#f87171;border-color:rgba(248,113,113,.3)}.profile-setting-btn-danger:hover{background:rgba(248,113,113,.1);color:#f87171}.signout-btn{color:#f87171}.signout-btn:hover{color:#ef4444}.complete-btn-report{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--color-text-muted);font-size:.75rem;cursor:pointer;padding:.4rem .75rem;border-radius:6px;margin-top:.75rem;transition:all .15s}.complete-btn-report:hover{color:#f97316;background:rgba(249,115,22,.08);border-color:rgba(249,115,22,.2)}.complete-btn-report:disabled{opacity:.4;cursor:default}.complete-btn-report svg{flex-shrink:0;opacity:.7}.complete-btn-report:hover svg{opacity:1}.theme-toggle-label{font-size:.75rem;margin-left:.25rem}.profile-cat-card{display:flex;align-items:center;gap:12px;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.profile-cat-icon{flex-shrink:0;width:24px;height:24px}.profile-cat-icon svg{width:24px;height:24px}.profile-cat-info{min-width:0}.profile-cat-name{font-size:.875rem;font-weight:600;margin-bottom:.375rem}.profile-cat-stats{font-size:.75rem;color:var(--color-text-muted)}@media (max-width:640px){.play-content{padding:.5rem .75rem;align-items:flex-start}.play-header-inner{height:52px}.play-header{padding:0 1rem}.play-logo img{width:24px;height:24px}.play-logo span{font-size:1rem}.lobby-rank-bar{margin-bottom:1rem;padding:.75rem 1rem}.lobby-rank-title{font-size:.8125rem}.daily-card{padding:1rem}.daily-card-title{font-size:1rem}.lobby-grid{gap:.5rem}.lobby-category-card{width:calc((100% - 1rem)/ 3);min-width:0;padding:.875rem .5rem;gap:.375rem}.lobby-cat-icon{width:36px;height:36px;border-radius:10px}.lobby-cat-icon svg{width:20px;height:20px}.lobby-cat-name{font-size:.6875rem}.lobby-stats{gap:.5rem;padding:.75rem .875rem;margin-bottom:1.25rem}.lobby-stat-value{font-size:1.25rem}.lobby-actions{flex-direction:column}.mode-toggle{margin-bottom:1rem}.mode-toggle-btn{padding:.5rem .75rem;font-size:.8125rem}.lobby-mode-row{gap:.5rem;margin-bottom:1rem}.lobby-mode-row{flex-wrap:wrap}.lobby-mode-row .mode-toggle{flex:1 1 100%}.lobby-join-input{flex:1;min-width:0;padding:.5rem .75rem;font-size:.875rem}.lobby-section-title{font-size:.75rem;margin-bottom:.75rem}.lobby-leaderboard-btn{padding:.625rem 1rem;font-size:.9375rem}.game-session-bar{padding:.5rem 1rem;margin-bottom:.5rem}.game-session-category{font-size:.6875rem}.game-session-title{font-size:.8125rem}.question-card{height:calc(100svh - 5rem);max-height:700px;min-height:420px;padding:.875rem .875rem .75rem;gap:.625rem;border-radius:12px}.countdown-card{height:calc(100svh - 8rem);max-height:600px;min-height:400px;padding:1.25rem 1rem;border-radius:12px}.room-card{height:calc(100svh - 4.5rem);max-height:none;min-height:440px;padding:1rem .875rem 1.25rem;border-radius:12px;gap:.75rem}.question-text{font-size:.9375rem;height:5.5rem;padding:.625rem .875rem;border-radius:10px}.timer-text{font-size:.9375rem;margin-top:.375rem}.timer-bar{height:4px}.choice-btn{padding:.8125rem 1rem;font-size:.875rem;border-radius:10px;-webkit-tap-highlight-color:transparent}.choices-list.long-choices .choice-btn{font-size:.75rem;padding:.5625rem .75rem}.choice-btn:hover:not(:disabled){transform:none;box-shadow:none;border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.03)}.progress-dot{height:3px}.countdown-number.cd-num-3{font-size:4.5rem}.countdown-number.cd-num-2{font-size:6rem}.countdown-number.cd-num-1{font-size:7.5rem}.countdown-number.cd-go{font-size:6.5rem}.complete-card{padding:1.25rem .875rem;border-radius:12px}.complete-title{font-size:1.5rem}.complete-score{font-size:3rem}.complete-feedback{font-size:.875rem}.complete-stats{grid-template-columns:repeat(2,1fr);gap:.5rem}.complete-stat{padding:.625rem}.complete-stat-value{font-size:1.125rem}.complete-actions{flex-direction:column;gap:.75rem}.complete-btn{min-width:0;padding:.75rem;font-size:.875rem}.breakdown-score{font-size:.75rem}.breakdown-summary{padding:.4375rem .625rem;font-size:.8125rem}.complete-xp{padding:.75rem}#screen-leaderboard.active{height:calc(100svh - 52px)}.leaderboard-header{margin-bottom:.75rem}.leaderboard-title{font-size:1.25rem}.leaderboard-tabs{gap:.25rem;margin-bottom:1rem;padding-bottom:.125rem}.leaderboard-tab{padding:.375rem .625rem;font-size:.75rem;gap:.25rem}.leaderboard-tab .tab-icon{font-size:.75rem}.leaderboard-tab .tab-icon svg{width:12px;height:12px}.lb-podium{gap:.5rem;min-height:150px;margin-bottom:.75rem}.lb-podium-slot{max-width:105px}.lb-podium-slot[data-rank="1"] .lb-podium-avatar{width:42px;height:42px;font-size:.875rem}.lb-podium-slot[data-rank="2"] .lb-podium-avatar,.lb-podium-slot[data-rank="3"] .lb-podium-avatar{width:36px;height:36px;font-size:.8125rem}.lb-podium-slot[data-rank="1"] .lb-podium-bar{height:72px}.lb-podium-slot[data-rank="2"] .lb-podium-bar{height:54px}.lb-podium-slot[data-rank="3"] .lb-podium-bar{height:40px}.lb-podium-name{font-size:.625rem}.lb-podium-score{font-size:.6875rem}.lb-stats-banner{flex-wrap:wrap;gap:.5rem;font-size:.75rem}.lb-row{grid-template-columns:1.75rem 22px 1fr auto auto;gap:.375rem;font-size:.8125rem;padding:.4375rem .625rem}.lb-name-title{font-size:.6rem}.waiting-room-code{font-size:1.75rem}.waiting-title{font-size:1.25rem}.waiting-qr-btn,.waiting-share-btn{padding:.4375rem .75rem;font-size:.75rem}.profile-card-body{padding:0 1.25rem 1.25rem}.profile-stat{flex:1 1 calc(50% - 0.75rem);max-width:calc(50% - .75rem)}.profile-badges{grid-template-columns:repeat(3,1fr)}.profile-title{font-size:1.25rem}.badge-notification{right:.75rem;top:.75rem;left:.75rem}.streak-flash{font-size:1.5rem}.passkey-banner{padding:.75rem 1rem;margin-bottom:1rem}.passkey-banner-text{font-size:.8125rem}.game-quit-btn{width:40px;height:40px;font-size:1.375rem}#user-display-name{display:none}.play-user-info{flex-shrink:0;min-width:32px}}@media (max-width:380px){.play-content{padding:.5rem}.lobby-grid{grid-template-columns:repeat(2,1fr)}.lobby-category-card{width:auto;padding:.75rem .5rem}.question-card{padding:.875rem .625rem;gap:.625rem}.question-text{height:5rem;font-size:.875rem;padding:.5rem .75rem}.choice-btn{padding:.6875rem .75rem;font-size:.8125rem}.countdown-number.cd-num-3{font-size:3.5rem}.countdown-number.cd-num-2{font-size:5rem}.countdown-number.cd-num-1{font-size:6rem}.countdown-number.cd-go{font-size:5.5rem}.lobby-stat-value{font-size:1.125rem}.lobby-stat-label{font-size:.625rem}.complete-score{font-size:2.5rem}.complete-title{font-size:1.25rem}.leaderboard-tab{padding:.3125rem .5rem;font-size:.6875rem}}@media (max-height:700px){.room-card{height:calc(100svh - 6rem);min-height:360px}.question-card{height:calc(100svh - 6rem);min-height:360px;gap:.625rem}.countdown-card{height:calc(100svh - 6rem);min-height:360px}.question-text{height:5rem}.timer-text{font-size:.875rem;margin-top:.25rem}.cd-info{padding-top:.25rem;padding-bottom:.75rem;gap:.25rem}.choice-btn{padding:.5rem .875rem}}@media (max-height:550px){.play-header-inner{height:44px}.room-card{height:calc(100svh - 4.5rem);min-height:300px}.question-card{height:calc(100svh - 4.5rem);min-height:300px;padding:.625rem;gap:.375rem}.question-text{height:4rem;font-size:.8125rem}.choice-btn{padding:.375rem .75rem;font-size:.75rem}.progress-dot{height:2px}}#screen-countdown,#screen-question,#screen-waiting{display:none;flex-direction:column}@media (max-width:640px){#screen-waiting .room-card{height:calc(100svh - 4.5rem);height:calc(100dvh - 4.5rem);max-height:none;min-height:0;border-radius:0;border-left:none;border-right:none;margin:0 -1rem;padding:1rem;width:calc(100% + 2rem)}}#screen-countdown.active,#screen-question.active,#screen-waiting.active{display:flex}.game-quit-btn{align-self:flex-end;margin-bottom:.25rem;width:36px;height:36px;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:rgba(255,255,255,.06);color:var(--color-text-muted);font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,border-color .2s;backdrop-filter:blur(8px)}.game-quit-btn:hover{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.4);color:#ef4444}.game-quit-dialog{display:none;position:fixed;inset:0;z-index:200;align-items:center;justify-content:center;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.game-quit-dialog.active{display:flex}.game-quit-card h3{font-size:1.25rem;font-weight:800;color:var(--color-text);margin:0 0 .375rem}.game-quit-card p{font-size:.875rem;color:var(--color-text-muted);margin:0 0 1.25rem}.game-quit-stay{width:100%;padding:.75rem 1.5rem;border:none;border-radius:var(--radius);background:var(--color-accent);color:#fff;font-size:.9375rem;font-weight:700;cursor:pointer;transition:opacity .2s}.game-quit-stay:hover{opacity:.9}.game-quit-leave{width:100%;padding:.625rem 1.5rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);background:0 0;color:var(--color-text-muted);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.game-quit-leave:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.game-tally-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:rgba(5,5,5,.85);backdrop-filter:blur(8px);border-radius:var(--radius)}.game-tally-overlay .tally-count{font-size:.875rem;color:var(--color-text-muted);margin-top:-.5rem}.tally-content{display:flex;flex-direction:column;align-items:center;gap:2rem}.tally-rings{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.tally-ring{position:absolute;border-radius:50%;border:2px solid transparent}.tally-ring-outer{width:120px;height:120px;border-top-color:var(--color-accent);border-right-color:rgba(249,115,22,.2);border-bottom-color:rgba(249,115,22,.05);border-left-color:rgba(249,115,22,.2);animation:tallySpinOuter 1.8s cubic-bezier(.45,.05,.55,.95) infinite}.tally-ring-inner{width:80px;height:80px;border-top-color:rgba(96,165,250,.15);border-right-color:rgba(96,165,250,.6);border-bottom-color:rgba(96,165,250,.15);border-left-color:transparent;animation:tallySpinInner 1.2s cubic-bezier(.45,.05,.55,.95) infinite}.tally-icon{position:relative;font-size:2rem;color:var(--color-accent);animation:tallyPulse 2s ease-in-out infinite}.tally-text{font-size:1.25rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.04em}.tally-dots span{animation:tallyDot 1.4s ease-in-out infinite;opacity:0}.tally-dots span:first-child{animation-delay:0s}.tally-dots span:nth-child(2){animation-delay:.2s}.tally-dots span:nth-child(3){animation-delay:.4s}@keyframes tallySpinOuter{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tallySpinInner{from{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes tallyPulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.15);opacity:1}}@keyframes tallyDot{0%,100%,60%{opacity:0}30%{opacity:1}}.game-quit-actions{display:flex;flex-direction:column;gap:1rem}.game-quit-actions .game-quit-leave,.game-quit-actions .game-quit-stay{width:100%}.badge-notification-text{display:flex;flex-direction:column;gap:.125rem}.waiting-quit-btn{position:absolute;top:1rem;right:1rem;z-index:10}.mode-toggle-indicator{position:absolute;bottom:0;left:0;height:2px;background:var(--color-accent);border-radius:1px;transition:left .25s ease,width .25s ease}.clickable-avatar{cursor:pointer;display:inline-flex;align-items:center;border-radius:50%;transition:transform .15s ease,filter .15s ease}.clickable-avatar:hover{transform:scale(1.15);filter:brightness(1.2)}.clickable-avatar:active{transform:scale(.95)}.btn-primary:focus-visible,.btn-secondary:focus-visible,.category-card:focus-visible,.choice-btn:focus-visible,.clickable-avatar:focus-visible,.daily-card:focus-visible,.lb-tab:focus-visible,.mode-toggle button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.mystery-xp-badge{display:inline-block;background:rgba(139,92,246,.2);color:#8b5cf6;font-size:.6rem;font-weight:700;padding:1px 5px;border-radius:6px;margin-left:4px;vertical-align:middle}.featured-event-banner{background:linear-gradient(135deg,rgba(249,115,22,.15),rgba(249,115,22,.05));border:1px solid rgba(249,115,22,.3);border-radius:var(--radius);padding:16px 20px;margin-bottom:16px;position:relative;overflow:hidden}.featured-event-banner::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-accent),#f59e0b,var(--color-accent))}.featured-event-tier{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);font-weight:700;margin-bottom:4px}.featured-event-title{font-size:1.1rem;font-weight:700;color:var(--color-text);margin-bottom:4px}.featured-event-desc{font-size:.8rem;color:var(--color-text-muted);margin-bottom:8px}.featured-event-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.featured-event-xp{background:rgba(249,115,22,.2);color:var(--color-accent);font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:8px}.featured-event-prizes{font-size:.75rem;color:var(--color-text-secondary)}.featured-event-status{font-size:.8rem;font-weight:600;color:#34d399;margin-bottom:.75rem}.featured-event-actions{display:flex;gap:.5rem;margin-top:.5rem}.featured-event-btn{flex:1;padding:.65rem;font-size:.85rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--color-accent),#fbbf24);border:none;border-radius:10px;cursor:pointer;transition:opacity .15s}.featured-event-btn:hover{opacity:.85}.featured-event-btn:disabled{opacity:.5;cursor:default}.featured-event-btn.rsvpd{background:rgba(52,211,153,.15);color:#34d399}.featured-event-share{padding:.65rem 1rem;font-size:.85rem;font-weight:700;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;white-space:nowrap;transition:border-color .2s}.featured-event-share:hover{border-color:var(--color-accent)}.lobby-locked{position:relative;pointer-events:none}.lobby-locked>:not(.lobby-locked-overlay){opacity:.35;filter:blur(1px)}.lobby-locked .lobby-locked-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;z-index:2;pointer-events:auto;border-radius:var(--radius,16px)}.lobby-locked-icon{font-size:1.5rem}.lobby-locked-text{font-size:.85rem;font-weight:600;color:var(--color-text);text-align:center}.lobby-locked-btn{padding:.45rem 1rem;font-size:.8rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--color-accent),#fbbf24);border:none;border-radius:8px;cursor:pointer;transition:opacity .15s}.lobby-locked-btn:hover{opacity:.85}.lobby-locked-btn.pro-btn{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.lobby-friends{margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.lobby-friends-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.lobby-friends-title{font-size:.95rem;font-weight:700;color:var(--color-text)}.lobby-friends-invite{font-size:.75rem;font-weight:700;color:var(--color-accent);background:0 0;border:1px solid rgba(249,115,22,.3);border-radius:8px;padding:.3rem .65rem;cursor:pointer;transition:background .2s}.lobby-friends-invite:hover{background:rgba(249,115,22,.08)}.lobby-friends-list{display:flex;flex-direction:column;gap:.5rem}.lobby-friend-row{display:flex;align-items:center;gap:.65rem;padding:.5rem .6rem;background:rgba(255,255,255,.02);border-radius:10px;border:1px solid transparent;transition:background .2s,border-color .2s}.lobby-friend-row:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.06)}.lobby-friend-info{flex:1;min-width:0}.lobby-friend-name{font-size:.85rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby-friend-meta{font-size:.7rem;color:var(--color-text-muted)}.lobby-friend-challenge{padding:.3rem .6rem;font-size:.7rem;font-weight:700;color:var(--color-accent);background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.2);border-radius:6px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .2s}.lobby-friend-challenge:hover{background:rgba(249,115,22,.15)}.lobby-friends-empty{font-size:.8rem;color:var(--color-text-muted);text-align:center;padding:.75rem}.featured-event-banner.halloween{background:linear-gradient(135deg,rgba(249,115,22,.2),rgba(139,69,19,.1))}.featured-event-banner.christmas{background:linear-gradient(135deg,rgba(239,68,68,.15),rgba(34,197,94,.1))}.featured-event-banner.valentines{background:linear-gradient(135deg,rgba(244,114,182,.15),rgba(239,68,68,.08))}.featured-event-banner.new-years{background:linear-gradient(135deg,rgba(250,204,21,.15),rgba(168,85,247,.08))}.scheduled-games{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.scheduled-card{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:14px 16px;cursor:pointer;background:var(--color-surface,rgba(255,255,255,.04));border:1px solid var(--color-border,rgba(255,255,255,.08));border-radius:var(--radius,16px);cursor:pointer;transition:border-color .2s,background .2s}.scheduled-card:hover{border-color:var(--color-accent);background:var(--color-surface-elevated,rgba(255,255,255,.06))}.scheduled-card-icon{font-size:1.5rem;flex-shrink:0}.scheduled-card-info{flex:1;min-width:0}.scheduled-card-title{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scheduled-card-meta{font-size:.8rem;color:var(--color-text-muted);margin-top:2px}.scheduled-card-bonus{font-size:.75rem;color:var(--color-accent);font-weight:600}.scheduled-card-countdown{font-size:.85rem;font-weight:600;color:var(--color-text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.scheduled-card-join{padding:6px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.8rem;cursor:pointer;white-space:nowrap}.scheduled-card-join:disabled{opacity:.5;cursor:not-allowed}.scheduled-card-join[data-rsvped]{background:0 0;border:1px solid var(--color-text-muted);color:var(--color-text-muted);font-size:.72rem}.scheduled-card-chevron{font-size:1.2rem;color:var(--color-text-muted);transition:transform .2s;flex-shrink:0}.scheduled-card.expanded .scheduled-card-chevron{transform:rotate(90deg)}.scheduled-card-expand{display:none;width:100%;padding:0 0 .25rem;font-size:.85rem;color:var(--color-text-secondary)}.scheduled-card.expanded .scheduled-card-expand{display:block}.scheduled-card-desc{margin:0 0 .25rem}.scheduled-card-players{font-size:.8rem;color:var(--color-text-muted)}.scheduled-card-join.scheduled-card-enter{background:var(--color-accent);color:#fff;border:none;animation:sched-enter-pulse 1.5s ease-in-out infinite}.scheduled-card-join.scheduled-card-enter:disabled{animation:none}@keyframes sched-enter-pulse{0%,100%{box-shadow:0 0 0 0 rgba(249,115,22,.5)}50%{box-shadow:0 0 0 6px rgba(249,115,22,0)}}.scheduled-locked{opacity:.55;filter:grayscale(.4)}.scheduled-locked .scheduled-card-join{background:var(--color-text-muted,#888);font-size:.75rem}:root{--color-success:#34d399;--color-error:#ef4444}[role=button]:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}input:focus,select:focus{outline:0}input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.room-code-btn{min-height:44px}.game-quit-btn{min-width:44px;min-height:44px}@media (max-width:480px){.mode-toggle-btn{min-height:44px}}.credits-balance{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;text-align:center;margin-bottom:1.5rem}.credits-big-number{font-size:3rem;font-weight:800;line-height:1;color:var(--color-accent)}.credits-big-label{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.credits-slots{max-width:320px;margin:.75rem auto 1rem;text-align:left}.credits-slot-row{display:flex;align-items:center;gap:8px;padding:6px 0}.credits-slot-row+.credits-slot-row{border-top:1px solid rgba(255,255,255,.06)}.credits-slot-label{font-size:.75rem;color:var(--color-text-muted);width:90px;flex-shrink:0}.credits-slot-bar{flex:1;height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}.credits-slot-fill{height:100%;border-radius:4px;transition:width .4s ease}.slot-fill-regen{background:var(--color-accent)}.slot-fill-bonus{background:#34d399}.credits-slot-count{font-size:.75rem;color:var(--color-text-secondary);font-weight:600;min-width:36px;text-align:right}.credits-countdown{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.5rem;min-height:1.2em}.credits-tier-label{font-size:.8rem;color:var(--color-text-muted)}.credits-buy-btn{margin-top:1rem;padding:.6rem 1.5rem;border-radius:999px;font-size:.875rem;font-weight:700;font-family:var(--font-sans);cursor:pointer;background:var(--color-accent);color:#fff;border:none;transition:opacity .15s ease,transform .15s ease}.credits-buy-btn:hover{opacity:.9;transform:scale(1.02)}.credits-buy-btn:active{transform:scale(.98)}.credits-upgrade-card{background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.3);border-radius:var(--radius);padding:1rem 1.25rem;font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1.5rem;text-align:center}.credits-earn-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}.credits-earn-item{display:flex;align-items:center;gap:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:.75rem;font-size:.8rem}.credits-earn-icon{font-size:1.1rem;flex-shrink:0}.credits-earn-label{flex:1;color:var(--color-text-secondary)}.credits-earn-value{font-weight:700;color:var(--color-accent);white-space:nowrap}.credits-cost-list{margin-bottom:1.5rem}.credits-cost-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px dashed var(--color-border);font-size:.875rem;color:var(--color-text-secondary)}.credits-cost-row:last-child{border-bottom:none}.credits-cost-value{font-weight:600}.credits-cost-value.free{color:#34d399}.credits-stat-row{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem}.credits-stat{text-align:center}.credits-stat-value{font-size:1.5rem;font-weight:700}.credits-stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.credits-tier-cards{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:1.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.credits-tier-cards::-webkit-scrollbar{display:none}.credits-tier-card{flex:0 0 140px;scroll-snap-align:start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1rem .75rem;text-align:center}.credits-tier-card.current{border-color:var(--color-accent);background:rgba(249,115,22,.08)}.credits-tier-name{font-weight:700;font-size:.875rem;margin-bottom:.25rem}.credits-tier-detail{font-size:.75rem;color:var(--color-text-muted)}.credits-earn-item.claimed{opacity:.5;border-color:#34d399}.credits-earn-item.clickable{cursor:pointer}.credits-earn-item.clickable:hover{border-color:var(--color-accent)}.credits-subs-empty{border:2px dashed var(--color-border);border-radius:12px;background:rgba(255,255,255,.03);padding:1.5rem;text-align:center}.credits-subs-empty p{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:.75rem;line-height:1.5}.credits-subs-empty button{background:var(--color-accent);color:#fff;border:none;border-radius:8px;padding:.5rem 1.5rem;font-weight:600;cursor:pointer;font-size:.875rem}@media (max-width:480px){.credits-earn-grid{grid-template-columns:1fr}.credits-tier-cards{flex-wrap:nowrap}.credits-tier-card{flex:0 0 120px}}.purchase-overlay{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;animation:fadeInUp .2s ease;padding:1rem}.purchase-popup{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;max-width:400px;width:100%;max-height:85vh;overflow-y:auto}.purchase-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.purchase-title{font-size:1.25rem;font-weight:700}.purchase-close{background:0 0;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;padding:0 .25rem;line-height:1}.purchase-close:hover{color:var(--color-text)}.purchase-tabs{display:flex;gap:0;margin-bottom:1rem;border-radius:10px;overflow:hidden;border:1px solid var(--color-border)}.purchase-tab{flex:1;padding:.5rem;background:0 0;border:none;color:var(--color-text-muted);font-size:.85rem;font-weight:600;cursor:pointer;font-family:var(--font-sans);transition:background .15s ease,color .15s ease}.purchase-tab.active{background:var(--color-accent);color:#fff}.purchase-tab:not(.active):hover{background:rgba(255,255,255,.05);color:var(--color-text)}.purchase-packages{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.purchase-card{position:relative;background:rgba(255,255,255,.04);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;transition:border-color .2s ease,background .2s ease}.purchase-card:hover{border-color:rgba(249,115,22,.4)}.purchase-card.featured{border-color:var(--color-accent);background:rgba(249,115,22,.06)}.purchase-card.expanded{border-color:var(--color-accent);background:rgba(249,115,22,.08)}.purchase-tag{position:absolute;top:-1px;right:12px;background:var(--color-accent);color:#fff;font-size:.6rem;font-weight:700;padding:2px 8px;border-radius:0 0 8px 8px;text-transform:uppercase;letter-spacing:.03em}.purchase-tag.tag-popular{background:#8b5cf6}.purchase-card-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;cursor:pointer;user-select:none}.purchase-card-credits{font-size:1.35rem;font-weight:800;color:var(--color-accent);min-width:2rem}.purchase-doubled{font-size:.85rem;color:#34d399;font-weight:700;margin-left:.25rem}.purchase-card-label{flex:1;font-size:.85rem;color:var(--color-text-secondary)}.purchase-card-price{font-size:.95rem;font-weight:700;color:var(--color-text)}.purchase-card-details{max-height:0;overflow:hidden;transition:max-height .25s ease,padding .25s ease;padding:0 1rem}.purchase-card.expanded .purchase-card-details{max-height:200px;padding:0 1rem 1rem}.purchase-card-desc{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.5rem}.purchase-card-per{font-size:.75rem;color:var(--color-text-muted);margin-bottom:.75rem}.purchase-card-buy{width:100%;padding:.625rem;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:var(--font-sans);transition:opacity .15s ease,transform .1s ease}.purchase-card-buy:hover{opacity:.9}.purchase-card-buy:active{transform:scale(.97)}.purchase-card-buy:disabled{opacity:.5;cursor:not-allowed}.purchase-perks{list-style:none;padding:0;margin:0 0 .75rem}.purchase-perks li{font-size:.8rem;color:var(--color-text-secondary);padding:.2rem 0}.purchase-perks li::before{content:"\2713";color:#34d399;font-weight:700;margin-right:.5rem}.purchase-card.active-sub{border-color:#34d399;background:rgba(52,211,153,.06);opacity:.8}.purchase-tag.tag-active{background:#34d399}.purchase-already-active{font-size:.8rem;color:#34d399;font-weight:600;text-align:center;padding:.5rem}.purchase-card.sub .purchase-card-credits{font-size:.95rem;min-width:auto;flex:1}.purchase-first-bonus{font-size:.85rem;color:#34d399;text-align:center;margin-bottom:.75rem;padding:.5rem;background:rgba(52,211,153,.08);border-radius:8px;font-weight:600}.purchase-footer{font-size:.7rem;color:var(--color-text-muted);text-align:center}@media (max-width:480px){.purchase-popup{padding:1rem}.purchase-card-credits{font-size:1.1rem}}.play-user-avatar{position:relative}.avatar-sub-badge{position:absolute;bottom:-3px;font-size:.7rem;line-height:1;z-index:2}.avatar-sub-badge.badge-bp{left:-5px;filter:drop-shadow(0 0 2px rgba(249, 115, 22, .6))}.avatar-sub-badge.badge-pro{right:-5px;filter:drop-shadow(0 0 2px rgba(139, 92, 246, .6))}.avatar-zoom-badge,.lb-sub-badge,.profile-avatar-sub{position:absolute;bottom:-3px;line-height:1;z-index:2}.avatar-zoom-badge.bp,.lb-sub-badge.bp,.profile-avatar-sub.bp{left:-5px;filter:drop-shadow(0 0 2px rgba(249, 115, 22, .6))}.avatar-zoom-badge.pro,.lb-sub-badge.pro,.profile-avatar-sub.pro{right:-5px;filter:drop-shadow(0 0 2px rgba(139, 92, 246, .6))}.lb-sub-badge{font-size:.55rem}.lb-podium-avatar .lb-sub-badge{font-size:.7rem}.profile-avatar-sub{font-size:.9rem}.avatar-zoom-badge{font-size:1.8rem;bottom:4px}.avatar-zoom-badge.bp{left:-8px}.avatar-zoom-badge.pro{right:-8px}.profile-sub-badges{display:flex;gap:.5rem;justify-content:center;margin-bottom:.5rem}.profile-sub-tag{font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.02em}.profile-sub-tag.pro{background:rgba(139,92,246,.15);color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.profile-sub-tag.bp{background:rgba(249,115,22,.15);color:#fb923c;border:1px solid rgba(249,115,22,.3)}.credits-subscriptions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.credits-sub-card{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:rgba(255,255,255,.04);border:1px solid var(--color-border);border-radius:12px}.credits-sub-name{font-size:.9rem;font-weight:700}.credits-sub-detail{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.credits-sub-cancel{background:0 0;border:1px solid rgba(239,68,68,.4);color:#f87171;font-size:.75rem;font-weight:600;padding:.35rem .75rem;border-radius:8px;cursor:pointer;font-family:var(--font-sans);transition:background .15s ease;white-space:nowrap}.credits-sub-cancel:hover{background:rgba(239,68,68,.1)}.credits-sub-resume{background:0 0;border:1px solid rgba(34,197,94,.4);color:#4ade80;font-size:.75rem;font-weight:600;padding:.35rem .75rem;border-radius:8px;cursor:pointer;font-family:var(--font-sans);transition:background .15s ease}.credits-sub-resume:hover{background:rgba(34,197,94,.1)}.credits-sub-status{font-size:.75rem;font-weight:600;white-space:nowrap}.pro-perk-tag{font-size:.6rem;font-weight:700;color:#a78bfa;background:rgba(139,92,246,.15);padding:1px 5px;border-radius:4px;margin-left:4px;vertical-align:middle}.credits-sub-status.canceling{color:#fbbf24}.celebration-container{position:fixed;inset:0;z-index:9500;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-10px;border-radius:2px;opacity:0;animation:confettiFall ease-out forwards}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) translateX(0) rotate(0)}100%{opacity:0;transform:translateY(100vh) translateX(var(--drift)) rotate(var(--spin))}}.celebration-overlay{position:fixed;inset:0;z-index:9400;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.7);animation:fadeInUp .3s ease;cursor:pointer}.celebration-card{text-align:center;animation:celebrationPop .5s cubic-bezier(.175,.885,.32,1.275) forwards}.celebration-icon{font-size:3rem;margin-bottom:.5rem;animation:celebrationBounce .6s ease .3s}.tier-medium .celebration-icon{font-size:4rem}.tier-large .celebration-icon{font-size:5rem}.celebration-title{font-size:1.75rem;font-weight:800;color:#fff;margin-bottom:.25rem}.tier-medium .celebration-title{font-size:2.25rem}.tier-large .celebration-title{font-size:2.75rem}.celebration-subtitle{font-size:1rem;color:var(--color-text-secondary)}.tier-large .celebration-subtitle{font-size:1.25rem;color:var(--color-accent)}@keyframes celebrationPop{0%{opacity:0;transform:scale(.5)}100%{opacity:1;transform:scale(1)}}@keyframes celebrationBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}.backup-codes-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px}.backup-codes-modal{background:var(--color-surface,#1a1a1a);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;max-width:400px;width:100%;text-align:center}.backup-codes-modal h3{margin:0 0 8px;font-size:1.2rem;color:var(--color-text)}.backup-codes-desc{font-size:.85rem;color:var(--color-text-secondary);margin:0 0 16px;line-height:1.4}.backup-codes-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.backup-code{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px;font-family:monospace;font-size:.95rem;letter-spacing:.05em;color:var(--color-text);user-select:all}.backup-codes-actions{display:flex;gap:8px}.backup-codes-actions button{flex:1;padding:10px;border:none;border-radius:10px;font-weight:600;font-size:.85rem;cursor:pointer}.backup-codes-copy,.backup-codes-download{background:rgba(255,255,255,.1);color:var(--color-text)}.backup-codes-done{background:var(--color-accent);color:#fff}.disc{color:var(--color-text-muted);font-size:.8em;opacity:.6}.leaderboard-tab:focus-visible,.lobby-category-card:focus-visible,[class*=btn]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.challenge-banner{margin:0 0 16px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(239,68,68,.1),rgba(249,115,22,.1));border:1px solid rgba(239,68,68,.3);overflow:hidden}.challenge-banner-content{display:flex;align-items:center;gap:12px;padding:14px 16px}.challenge-banner-icon{font-size:1.5rem;flex-shrink:0}.challenge-banner-text{flex:1;font-size:.9rem;line-height:1.4}.challenge-banner-cat{display:inline-block;background:rgba(255,255,255,.08);border-radius:6px;padding:2px 8px;font-size:.75rem;margin-left:6px}.challenge-accept-btn{flex-shrink:0;padding:8px 18px;border-radius:10px;background:var(--color-accent);color:#000;font-weight:700;font-size:.85rem;border:none;cursor:pointer;transition:opacity .2s}.challenge-accept-btn:hover{opacity:.85}.challenge-compare{margin:16px 0;padding:16px;border-radius:var(--radius);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.challenge-compare-title{text-align:center;font-size:1.1rem;font-weight:700;margin-bottom:12px}.challenge-compare-scores{display:flex;align-items:center;justify-content:center;gap:20px}.challenge-score-col{text-align:center;padding:8px 16px;border-radius:10px;background:rgba(255,255,255,.04)}.challenge-score-col.winner{background:rgba(249,115,22,.15);border:1px solid rgba(249,115,22,.3)}.challenge-score-label{font-size:.8rem;color:var(--color-text-muted);margin-bottom:4px}.challenge-score-val{font-size:1.3rem;font-weight:700}.challenge-vs{font-size:.9rem;color:var(--color-text-muted);font-weight:600}.complete-btn-challenge{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin:.75rem 0;padding:.875rem 1rem;border-radius:var(--radius-sm);background:var(--color-surface-elevated);border:1px solid rgba(239,68,68,.25);color:var(--color-text);font-family:var(--font-sans);font-weight:600;font-size:.9375rem;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.complete-btn-challenge:hover{border-color:rgba(239,68,68,.5);transform:translateY(-1px);box-shadow:0 4px 15px rgba(239,68,68,.15)}.tournament-banner{margin:0 0 12px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(251,191,36,.08),rgba(249,115,22,.08));border:1px solid rgba(251,191,36,.25);cursor:pointer;transition:border-color .2s}.tournament-banner:hover{border-color:rgba(251,191,36,.5)}.championship-banner-content,.tournament-banner-content{display:flex;align-items:center;gap:12px;padding:14px 16px}.championship-banner-icon,.tournament-banner-icon{font-size:1.5rem;flex-shrink:0}.championship-banner-body,.tournament-banner-body{flex:1;min-width:0}.championship-banner-title,.tournament-banner-title{font-size:.9rem;font-weight:700;color:var(--color-text)}.championship-banner-detail,.tournament-banner-detail{font-size:.75rem;color:var(--color-text-secondary);margin-top:.15rem}.championship-banner{margin:0 0 12px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(139,92,246,.08),rgba(236,72,153,.08));border:1px solid rgba(139,92,246,.25);cursor:pointer;transition:border-color .2s}.championship-banner:hover{border-color:rgba(139,92,246,.5)}.championship-banner-day{font-size:.75rem;padding:4px 10px;border-radius:6px;background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;font-weight:700;flex-shrink:0}.championship-banner-rsvp{font-size:.7rem;padding:4px 10px;border-radius:6px;background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;font-weight:700;border:none;cursor:pointer;transition:opacity .15s}.championship-banner-rsvp:hover{opacity:.85}.championship-banner-rsvp.rsvpd{background:rgba(52,211,153,.15);color:#34d399}.championship-header{text-align:center;margin-bottom:1.5rem}.championship-title{font-size:1.5rem;font-weight:800;margin-bottom:.25rem}.championship-tag{font-size:.85rem;color:#a78bfa;font-weight:600}.championship-days-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:1.5rem}.championship-day{text-align:center;padding:.75rem .25rem;border-radius:10px;background:var(--color-surface);border:1px solid var(--color-border);font-size:.75rem}.championship-day.day-played{border-color:rgba(52,211,153,.3);background:rgba(52,211,153,.06)}.championship-day.day-available{border-color:rgba(139,92,246,.4);background:rgba(139,92,246,.08);cursor:pointer;animation:pulse 2s ease-in-out infinite}.championship-day.day-missed{opacity:.4}.championship-day.day-locked{opacity:.3}.championship-day-num{font-weight:700;font-size:.85rem;color:var(--color-text);margin-bottom:.15rem}.championship-day-score{font-size:.65rem;color:var(--color-text-muted)}.championship-play-btn{display:block;width:100%;padding:.85rem;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#8b5cf6,#a78bfa);border:none;border-radius:var(--radius);cursor:pointer;margin-bottom:1rem;transition:opacity .15s}.duel-queue-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:50vh;padding:2rem}.duel-queue-icon{font-size:3rem;margin-bottom:1rem}.duel-queue-title{font-size:1.5rem;font-weight:800;color:var(--color-text);margin-bottom:.5rem}.duel-queue-spinner{margin-bottom:1rem}.duel-queue-meta{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:1.5rem}.duel-queue-cancel{padding:.6rem 1.5rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;transition:border-color .2s}.duel-queue-cancel:hover{border-color:var(--color-text-muted)}.duel-result{text-align:center;padding:1rem 0}.duel-result-text{font-size:1.5rem;font-weight:800;margin-bottom:1rem}.duel-win .duel-result-text{color:#34d399}.duel-loss .duel-result-text{color:#f87171}.duel-tie .duel-result-text{color:#fbbf24}.duel-versus{display:flex;align-items:center;justify-content:center;gap:1.5rem}.duel-player{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:90px}.duel-player-name{font-size:.85rem;font-weight:600;color:var(--color-text)}.duel-player-score{font-size:1.25rem;font-weight:800;color:var(--color-accent)}.duel-player-correct{font-size:.75rem;color:var(--color-text-muted)}.duel-vs{font-size:1.25rem;font-weight:800;color:var(--color-text-muted);opacity:.5}.clan-war-banner{margin:0 0 12px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(239,68,68,.08),rgba(249,115,22,.08));border:1px solid rgba(239,68,68,.25);cursor:pointer;transition:border-color .2s}.clan-war-banner:hover{border-color:rgba(239,68,68,.5)}.clan-war-banner-content{display:flex;align-items:center;gap:10px;padding:10px 14px}.clan-war-banner-icon{font-size:1.2rem}.clan-war-banner-text{flex:1;font-size:.85rem;font-weight:600}.clan-war-banner-status{font-size:.75rem;padding:3px 8px;border-radius:6px;font-weight:700}.clan-war-banner-status.winning{background:rgba(52,211,153,.15);color:#34d399}.clan-war-banner-status.losing{background:rgba(248,113,113,.15);color:#f87171}.clan-war-banner-status.tied{background:rgba(251,191,36,.15);color:#fbbf24}.clan-war-card{padding:1rem;border-radius:10px;margin:.75rem 0;text-align:center;border:1px solid}.clan-war-card.winning{background:rgba(52,211,153,.06);border-color:rgba(52,211,153,.2)}.clan-war-card.losing{background:rgba(248,113,113,.06);border-color:rgba(248,113,113,.2)}.clan-war-card.tied{background:rgba(251,191,36,.06);border-color:rgba(251,191,36,.2)}.clan-war-card-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin-bottom:.25rem}.clan-war-card-vs{font-size:.9rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.clan-war-card-scores{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem}.clan-war-card-score{font-size:1.5rem;font-weight:800;color:var(--color-text)}.clan-war-card-divider{font-size:1rem;color:var(--color-text-muted)}.clan-war-card-meta{font-size:.75rem;color:var(--color-text-secondary)}.championship-play-btn:hover{opacity:.85}.championship-play-btn:disabled{opacity:.4;cursor:default}.championship-actions{display:flex;gap:.5rem;margin-bottom:1rem}.championship-actions .championship-play-btn,.championship-actions .tournament-play-btn{flex:1;margin-bottom:0}.championship-share-btn{padding:.85rem 1.25rem;font-size:.9rem;font-weight:700;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;transition:border-color .2s,background .2s}.championship-share-btn:hover{border-color:var(--color-accent);background:rgba(249,115,22,.06)}.beat-score-banner{margin:0 0 12px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(249,115,22,.1));border:1px solid rgba(99,102,241,.3);overflow:hidden;animation:beatScorePulse 2s ease-in-out infinite}@keyframes beatScorePulse{0%,100%{border-color:rgba(99,102,241,.3)}50%{border-color:rgba(249,115,22,.4)}}.beat-score-content{display:flex;align-items:center;gap:12px;padding:14px 16px}.beat-score-icon{font-size:1.5rem;flex-shrink:0}.beat-score-text{flex:1}.beat-score-title{font-size:.9rem;font-weight:700;line-height:1.3}.beat-score-subtitle{font-size:.8rem;color:var(--color-text-muted);margin-top:2px}.beat-score-btn{flex-shrink:0;padding:8px 18px;border-radius:10px;background:var(--color-accent);color:#000;font-weight:700;font-size:.85rem;border:none;cursor:pointer;transition:opacity .2s}.beat-score-btn:hover{opacity:.85}.tournament-header{text-align:center;margin-bottom:20px}.tournament-title{font-size:1.3rem;font-weight:700;margin:0}.tournament-meta{display:flex;justify-content:center;gap:12px;margin-top:8px}.tournament-category,.tournament-timer{font-size:.8rem;padding:3px 10px;border-radius:6px;background:rgba(255,255,255,.06)}.tournament-timer{color:#fbbf24}.tournament-prizes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px}.tournament-prize{padding:8px 14px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-size:.85rem;font-weight:600}.tournament-prize.gold{border-color:rgba(251,191,36,.3)}.tournament-prize.silver{border-color:rgba(156,163,175,.3)}.tournament-prize.bronze{border-color:rgba(205,127,50,.3)}.tournament-your-entry{padding:12px 16px;border-radius:10px;background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.2);margin-bottom:20px;font-size:.9rem;text-align:center}.tournament-qualify-note{color:var(--color-text-muted);font-size:.8rem}.tournament-play-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:14px 20px;border:none;border-radius:12px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;margin-bottom:16px;box-shadow:0 4px 15px rgba(249,115,22,.3)}.tournament-play-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(249,115,22,.4)}.tournament-play-btn:active{transform:translateY(0)}.tournament-play-btn:disabled{background:rgba(255,255,255,.08);color:var(--color-text-muted);cursor:default;box-shadow:none}.tournament-play-btn:disabled:hover{transform:none}.tournament-play-btn svg{flex-shrink:0}.tournament-rules{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;padding:12px 14px;background:rgba(255,255,255,.03);border-radius:10px;border:1px solid rgba(255,255,255,.06)}.tournament-rule{font-size:.78rem;color:var(--color-text-muted);display:flex;align-items:center;gap:6px}.tournament-rule::before{content:"•";color:#f97316;font-weight:700}.tournament-rule strong{color:var(--color-text-secondary)}.tournament-leaderboard h3{font-size:1rem;margin:0 0 12px}.tournament-leaderboard .lb-row{margin-bottom:4px}.tournament-game-count{font-size:.7rem;color:var(--color-text-muted);margin-left:4px}.tournament-games{font-size:.75rem;color:var(--color-text-muted)}.tournament-empty,.tournament-error{text-align:center;padding:40px 20px}.tournament-empty-icon{font-size:3rem;margin-bottom:12px}.profile-actions-row{display:flex;gap:8px;margin-top:8px}.profile-share-btn{display:block;flex:1;padding:10px;margin:12px 0;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--color-text);font-weight:600;font-size:.85rem;cursor:pointer;transition:background .2s,border-color .2s}.profile-share-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(249,115,22,.3)}.tournament-empty-lb{text-align:center;padding:20px;color:var(--color-text-muted);font-size:.85rem}.profile-highlights{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.5rem}.profile-hl-card{flex:1 1 auto;min-width:100px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-left:3px solid var(--hl-color,var(--color-accent));border-radius:10px;text-align:center;transition:transform .2s ease,box-shadow .2s ease;animation:hlStagger .45s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--hi, 0) * 60ms + 200ms)}@keyframes hlStagger{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.profile-hl-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.3)}.profile-hl-icon{font-size:1.25rem;line-height:1}.profile-hl-value{font-size:.9rem;font-weight:800;color:var(--hl-color,var(--color-accent))}.profile-hl-label{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.profile-chart-card{background:rgba(255,255,255,.03);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px}.chart-card-title{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:10px}.chart-card-sub{font-weight:400;color:var(--color-text-muted);font-size:11px}.speed-dist-bars{display:flex;flex-direction:column;gap:5px}.speed-bar-row{display:flex;align-items:center;gap:8px}.speed-bar-label{font-size:11px;color:var(--color-text-muted);width:28px;text-align:right;flex-shrink:0}.speed-bar-track{flex:1;height:14px;background:rgba(255,255,255,.05);border-radius:7px;overflow:hidden}.speed-bar-fill{height:100%;border-radius:7px;transition:width .4s ease}.speed-bar-pct{font-size:11px;color:var(--color-text-muted);width:32px;text-align:right;flex-shrink:0}.dvr-legend{font-size:11px;color:var(--color-text-muted);margin-bottom:8px;display:flex;align-items:center;gap:4px}.dvr-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dvr-bars{display:flex;flex-direction:column;gap:8px}.dvr-row{display:flex;align-items:center;gap:8px}.dvr-label{font-size:11px;color:var(--color-text-muted);width:65px;flex-shrink:0}.dvr-pair{flex:1;display:flex;flex-direction:column;gap:3px}.dvr-bar{height:10px;border-radius:5px;min-width:2px;transition:width .4s ease}.dvr-vals{font-size:11px;color:var(--color-text-muted);width:60px;text-align:right;flex-shrink:0}.cat-trend-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:4px;height:80px;padding-top:8px}.cat-trend-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.cat-trend-bar{width:100%;max-width:30px;border-radius:4px 4px 0 0;transition:height .4s ease}.cat-trend-label{font-size:9px;text-align:center}.acc-donut{display:block;margin:0 auto}.profile-heatmap-wrap{padding:12px;background:rgba(255,255,255,.03);border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.heatmap-grid{display:flex;gap:3px}.heatmap-day-labels{display:flex;flex-direction:column;gap:3px;margin-right:2px}.heatmap-day-label{font-size:10px;color:var(--color-text-muted);width:14px;text-align:right;padding-right:4px}.heatmap-week{display:flex;flex-direction:column;gap:3px}.heatmap-cell{width:14px;height:14px;border-radius:3px;background:rgba(255,255,255,.04)}.heatmap-cell.empty{background:0 0}.heatmap-cell.level-1{background:rgba(249,115,22,.25)}.heatmap-cell.level-2{background:rgba(249,115,22,.5)}.heatmap-cell.level-3{background:rgba(249,115,22,.75)}.heatmap-cell.level-4{background:#f97316}.heatmap-months{position:relative;height:16px;margin-top:4px;font-size:10px;color:var(--color-text-muted)}.heatmap-months span{position:absolute;top:0}.heatmap-legend{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;color:var(--color-text-muted)}.heatmap-scale{display:flex;align-items:center;gap:3px}.heatmap-scale .heatmap-cell{width:12px;height:12px;display:inline-block}.profile-badge.hidden-badge .profile-badge-icon{font-size:1.2rem;font-weight:700}.profile-badge-count{grid-column:1/-1;text-align:center;font-size:.75rem;color:var(--color-text-muted);padding-bottom:4px}.badge-progress{width:100%;height:3px;background:rgba(255,255,255,.08);border-radius:2px;margin-top:4px;overflow:hidden}.badge-progress-fill{height:100%;border-radius:2px;transition:width .6s ease}.badge-progress-text{font-size:.6rem;color:var(--color-text-muted);text-align:center;margin-top:2px}.badge-rarity{font-size:.55rem;color:var(--color-text-muted);text-align:center;margin-top:2px;opacity:.7}.profile-badge:hover .badge-rarity{opacity:1}.profile-pinned-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.profile-pinned-badges .profile-badge-count{width:100%;padding-bottom:2px}.profile-badge.pinned{transform:scale(1.08);box-shadow:0 0 12px rgba(var(--badge-color),.2)}.profile-radar-wrap{display:flex;justify-content:center;padding:8px 0 4px}.profile-radar-wrap svg{max-width:100%;height:auto}.tutorial-banner{background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(139,92,246,.05));border:1px solid rgba(139,92,246,.3);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px}.tutorial-banner-content{display:flex;align-items:center;gap:12px}.tutorial-banner-icon{font-size:1.5rem;flex-shrink:0}.tutorial-banner-text{flex:1;min-width:0}.tutorial-banner-title{font-size:.9rem;font-weight:700;color:var(--color-text)}.tutorial-banner-desc{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.tutorial-banner-btn{flex-shrink:0;padding:8px 16px;background:#8b5cf6;color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:700;font-family:var(--font-sans);cursor:pointer;transition:opacity .15s;white-space:nowrap}.tutorial-banner-btn:hover{opacity:.85}#screen-tutorial{overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 64px);padding-bottom:2rem}.tut-progress-bar{height:4px;background:rgba(255,255,255,.08);border-radius:2px;margin:.25rem 1.25rem 0;overflow:hidden}.tut-progress-fill{height:100%;background:var(--color-accent,#f97316);border-radius:2px;transition:width .3s ease}.tut-slide{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.75rem 1.5rem 1rem;max-width:440px;margin:0 auto;animation:fadeIn .3s ease}.tut-slide-icon{font-size:2.5rem;margin-bottom:.75rem}.tut-slide-title{font-size:1.5rem;font-weight:800;color:var(--color-text);margin-bottom:.6rem}.tut-slide-body{font-size:1rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:.5rem}.tut-slide-detail{font-size:.9rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:1rem}.tut-slide-list{text-align:left;list-style:none;padding:0;margin:.75rem 0 1.5rem;width:100%}.tut-slide-list li{padding:.6rem .85rem;margin-bottom:.35rem;background:rgba(255,255,255,.04);border-radius:10px;font-size:.9rem;color:var(--color-text-secondary);line-height:1.5;border-left:3px solid var(--color-accent,#f97316)}.tut-slide-list li strong{color:var(--color-text)}.tut-skip-link{background:0 0;border:none;color:var(--color-text-muted);font-size:.8rem;cursor:pointer;margin-top:.75rem;padding:.5rem;text-decoration:underline}.tut-skip-link:hover{color:var(--color-text-secondary)}.tut-q-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent,#f97316);text-align:center;margin-bottom:.5rem}.tut-tip{font-size:.85rem;color:var(--color-text-muted);line-height:1.5;margin:.75rem 0;padding:.6rem .85rem;background:rgba(249,115,22,.06);border-radius:10px;border-left:3px solid var(--color-accent,#f97316)}.tutorial-feedback{margin-top:1rem;text-align:center}.tut-feedback-text{font-size:.95rem;font-weight:600;padding:12px 16px;border-radius:10px;margin-bottom:12px}.tut-feedback-correct{background:rgba(52,211,153,.12);color:#34d399}.tut-feedback-wrong{background:rgba(239,68,68,.12);color:#ef4444}.tut-feedback-wrong strong{color:#34d399}.tut-next-btn{display:inline-block;padding:10px 24px;background:var(--color-accent,#f97316);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:700;font-family:var(--font-sans);cursor:pointer;transition:opacity .15s}.tut-next-btn:hover{opacity:.85}.tutorial-summary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:min(60vh,500px);padding:1.5rem;text-align:center}.tut-summary-icon{font-size:3rem;margin-bottom:.75rem}.tut-summary-title{font-size:1.5rem;font-weight:800;color:var(--color-text);margin-bottom:.5rem}.tut-summary-score{font-size:2rem;font-weight:800;color:var(--color-accent,#f97316);margin-bottom:.25rem}.tut-summary-max{font-size:1rem;font-weight:600;color:var(--color-text-muted)}.tut-summary-detail{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:1rem}.tut-summary-tip{font-size:.8rem;color:var(--color-text-muted);max-width:300px;line-height:1.5;margin-bottom:1.5rem}.tut-play-btn{padding:14px 32px;background:var(--color-accent,#f97316);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;font-family:var(--font-sans);cursor:pointer;transition:opacity .15s,transform .15s}.tut-play-btn:hover{opacity:.9;transform:scale(1.02)}.tut-share-btn{padding:12px 28px;background:0 0;color:var(--color-text-secondary,#e0e0e0);border:1px solid rgba(255,255,255,.15);border-radius:12px;font-size:.9rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:opacity .15s,border-color .15s;margin-top:.25rem}.tut-share-btn:hover{opacity:.85;border-color:rgba(255,255,255,.3)}.pwa-install-banner{position:fixed;bottom:0;left:0;right:0;z-index:9990;background:#1a1a1a;border-top:1px solid rgba(255,255,255,.1);padding:1rem 1.25rem;transform:translateY(100%);transition:transform .3s ease;font-family:var(--font-sans)}.pwa-install-banner.pwa-install-visible{transform:translateY(0)}.pwa-install-content{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.pwa-install-icon{font-size:1.75rem;flex-shrink:0}.pwa-install-text{display:flex;flex-direction:column;gap:.15rem}.pwa-install-text strong{font-size:1rem;color:#fafafa}.pwa-install-text span{font-size:.8rem;color:#a0a0a0}.pwa-install-actions{display:flex;gap:.75rem}.pwa-install-actions button{flex:1;padding:.625rem;border:none;border-radius:10px;font-size:.875rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:opacity .15s}.pwa-install-actions button:hover{opacity:.85}.pwa-install-later{background:#333;color:#e0e0e0}.pwa-install-now{background:var(--color-accent,#f97316);color:#fff}.profile-competitive{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.profile-comp-card{display:flex;align-items:center;gap:12px;padding:14px;background:rgba(255,255,255,.03);border-radius:12px;border:1px solid rgba(255,255,255,.06)}.profile-comp-icon{font-size:1.5rem;flex-shrink:0}.profile-comp-value{font-size:1.1rem;font-weight:800;color:var(--color-text)}.profile-comp-label{font-size:.75rem;color:var(--color-text-muted)}.profile-share-card-btn{background:rgba(249,115,22,.1);border-color:rgba(249,115,22,.25);color:var(--color-accent)}.profile-share-card-btn:hover{background:rgba(249,115,22,.18);border-color:rgba(249,115,22,.4)}.profile-best-game{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;background:linear-gradient(135deg,rgba(251,191,36,.06),rgba(251,191,36,.02));border:1px solid rgba(251,191,36,.15);border-radius:var(--radius-sm);margin-bottom:1.5rem;animation:statStagger .5s cubic-bezier(.22,1,.36,1) both;animation-delay:.6s}.profile-best-game-left{display:flex;align-items:center;gap:12px}.profile-best-game-icon{font-size:1.5rem;flex-shrink:0}.profile-best-game-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-weight:600;margin-bottom:2px}.profile-best-game-score{font-size:1.5rem;font-weight:800;color:#fbbf24;line-height:1.2}.profile-best-game-center{min-width:0;flex:1;text-align:center}.profile-best-game-pack{font-size:.82rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.best-game-cat{font-weight:700}.profile-best-game-meta{display:flex;gap:10px;margin-top:3px}.best-game-detail{font-size:.68rem;color:var(--color-text-muted)}.best-game-detail span{font-weight:700;color:var(--color-text-secondary)}.profile-best-game-date{font-size:.65rem;color:var(--color-text-muted);text-align:right;white-space:nowrap}@media (max-width:480px){.profile-best-game{flex-wrap:wrap;gap:10px;padding:14px 16px}.profile-best-game-center{text-align:left}.profile-best-game-date{width:100%;text-align:left}}.profile-xp-numbers{display:none}.trivlet-popover{position:fixed;z-index:9999;max-width:260px;padding:12px 16px;background:rgba(20,20,20,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.6);pointer-events:auto;animation:popoverIn .15s ease both;font-size:.75rem;color:var(--color-text);line-height:1.4}.trivlet-popover::after{display:none}@keyframes popoverIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.popover-name{font-size:.875rem;font-weight:700;margin-bottom:4px}.popover-tier{display:inline-block;padding:1px 6px;border-radius:6px;font-size:.625rem;font-weight:700;text-transform:uppercase;margin-left:6px}.popover-desc{color:var(--color-text-secondary);margin-bottom:4px}.popover-meta{font-size:.6875rem;color:var(--color-text-muted)}.popover-meta span+span::before{content:' · '}.popover-how{font-size:.6875rem;color:var(--color-accent);font-weight:600;margin-top:4px}.badge-unlock-tip{display:none}.heatmap-insights{display:flex;gap:12px;margin-top:8px;font-size:11px;color:var(--color-text-muted);flex-wrap:wrap}.heatmap-insight{display:flex;align-items:center;gap:4px}.heatmap-insight-icon{font-size:13px}.time-heatmap{display:inline-flex;flex-direction:column;gap:2px;overflow-x:auto}.time-heatmap-row{display:flex;align-items:center;gap:2px}.time-heatmap-day{width:28px;font-size:10px;color:var(--color-text-muted);text-align:right;padding-right:4px;flex-shrink:0}.time-heatmap-hour{font-size:8px;color:var(--color-text-muted);text-align:center;flex-shrink:0}.profile-milestones{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1.5rem}.profile-milestone{flex:1 1 140px;min-width:120px;padding:10px 14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:10px;text-align:center;animation:statStagger .4s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--mi, 0) * 60ms + 400ms)}.profile-milestone-icon{font-size:1.25rem;margin-bottom:2px}.profile-milestone-label{font-size:.6875rem;font-weight:600;color:var(--color-text-secondary)}.profile-milestone-progress{font-size:.625rem;color:var(--color-text-muted);margin-top:2px}.profile-milestone-bar{height:4px;background:rgba(255,255,255,.08);border-radius:2px;margin-top:4px;overflow:hidden}.profile-milestone-bar-fill{height:100%;border-radius:2px;background:var(--color-accent);transition:width .8s cubic-bezier(.34, 1.2, .64, 1) .5s}.cat-drill-overlay{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .2s;pointer-events:none}.cat-drill-overlay.active{opacity:1;pointer-events:auto}.cat-drill-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);width:90%;max-width:400px;padding:1.5rem}.cat-drill-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.cat-drill-title{font-size:1.1rem;font-weight:700}.cat-drill-close{background:0 0;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.cat-drill-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.cat-drill-stat{padding:10px;background:rgba(255,255,255,.03);border-radius:8px;text-align:center}.cat-drill-stat-value{font-size:1.1rem;font-weight:700}.cat-drill-stat-label{font-size:.6875rem;color:var(--color-text-muted)}.profile-compare-btn{padding:.4rem 1.25rem;border-radius:999px;font-size:.8rem;font-weight:600;cursor:pointer;background:0 0;border:1.5px solid rgba(255,255,255,.15);color:var(--color-text-secondary);transition:all .2s}.profile-compare-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.compare-overlay{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .2s;pointer-events:none}.compare-overlay.active{opacity:1;pointer-events:auto}.compare-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);width:95%;max-width:500px;max-height:80vh;overflow-y:auto;padding:1.5rem}.compare-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.compare-title{font-size:1.1rem;font-weight:700}.compare-close{background:0 0;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.compare-row{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04)}.compare-val{font-size:1rem;font-weight:700}.compare-val.left{text-align:right}.compare-val.right{text-align:left}.compare-val.winner{color:var(--color-accent)}.compare-label{font-size:.75rem;color:var(--color-text-muted);text-align:center;white-space:nowrap}.compare-names{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.compare-player{text-align:center}.compare-player-name{font-weight:700;font-size:.9rem}.compare-vs{font-size:.8rem;color:var(--color-text-muted);font-weight:600}.profile-weekly-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:16px 20px;margin-bottom:1rem;backdrop-filter:blur(8px)}.weekly-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.weekly-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.weekly-trend{font-weight:700;font-size:.85rem;padding:2px 10px;border-radius:999px}.weekly-trend.up{color:#34d399;background:rgba(52,211,153,.1)}.weekly-trend.down{color:#f87171;background:rgba(248,113,113,.1)}.weekly-trend.flat{color:var(--color-text-muted);background:rgba(255,255,255,.05)}.weekly-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.weekly-stat{text-align:center}.weekly-num{display:block;font-size:1.15rem;font-weight:800;color:var(--color-accent);line-height:1.2}.weekly-stat-label{display:block;font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-top:2px}.profile-player-type{display:inline-block;padding:3px 12px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:6px}.profile-sparkline{display:inline-block;vertical-align:text-bottom;margin-left:6px}.profile-active-ago{display:flex;align-items:center;gap:5px;font-size:.7rem;color:var(--color-text-muted);margin-top:4px;justify-content:center}.active-dot{width:6px;height:6px;border-radius:50%;background:#34d399;display:inline-block}.active-dot.offline{background:#666}.streak-freeze-icon{font-size:.8rem;margin-left:4px;opacity:.85}.profile-timeline{max-height:300px;overflow-y:auto;padding:0 4px;margin-bottom:1rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.15) transparent}.profile-timeline::-webkit-scrollbar{width:6px}.profile-timeline::-webkit-scrollbar-track{background:0 0}.profile-timeline::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}.profile-timeline::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.25)}.timeline-item{display:flex;gap:12px;padding:10px 0;border-left:2px solid rgba(255,255,255,.1);padding-left:16px;margin-left:8px;position:relative}.timeline-item::before{content:'';position:absolute;left:-5px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--tl-color,var(--color-accent))}.timeline-icon{font-size:1.1rem;flex-shrink:0}.timeline-content{flex:1;min-width:0}.timeline-title{font-size:.8rem;font-weight:600;color:var(--color-text)}.timeline-detail{font-size:.7rem;color:var(--color-text-muted);margin-top:1px}.timeline-date{font-size:.65rem;color:var(--color-text-muted);margin-top:2px;opacity:.7}.timeline-item[data-type=badge]{--tl-color:#a78bfa}.timeline-item[data-type=perfect]{--tl-color:#34d399}.timeline-item[data-type=tournament]{--tl-color:#fbbf24}@media (max-width:480px){.profile-weekly-card{padding:12px 14px}.weekly-num{font-size:1rem}.profile-timeline{max-height:240px}.timeline-item{gap:8px;padding-left:12px}.timeline-icon{font-size:1rem}.timeline-title{font-size:.75rem}.profile-player-type{font-size:.65rem;padding:2px 10px}}.breakdown-report-btn{background:0 0;border:none;color:var(--color-text-muted,#999);font-size:.75rem;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:6px;transition:color .15s,background .15s}.breakdown-report-btn:hover{color:#f97316;background:rgba(249,115,22,.1)}.breakdown-report-btn:disabled{opacity:.4;cursor:default}.breakdown-report-btn svg{flex-shrink:0}.report-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease}.report-modal{background:rgba(30,30,30,.95);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;max-width:360px;width:100%;display:flex;flex-direction:column;gap:12px;animation:scaleIn .15s ease}@keyframes scaleIn{from{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.report-modal-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;color:#fafafa}.report-modal-title svg{color:#f97316;flex-shrink:0}.report-modal-desc{font-size:.8rem;color:var(--color-text-muted,#999);line-height:1.4}.report-reasons{display:flex;flex-wrap:wrap;gap:6px}.report-reason-pill{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:6px 12px;color:var(--color-text-muted,#999);font-size:.78rem;cursor:pointer;transition:all .15s;user-select:none}.report-reason-pill input{display:none}.report-reason-pill:hover{background:rgba(255,255,255,.12);color:#fafafa}.report-reason-pill.selected{background:rgba(249,115,22,.15);border-color:#f97316;color:#f97316}.report-modal-notes{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:10px 12px;color:#fafafa;font-size:.85rem;resize:none;font-family:inherit}.report-modal-notes::placeholder{color:rgba(255,255,255,.3)}.report-modal-actions{display:flex;gap:8px;justify-content:flex-end}.report-modal-cancel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 16px;color:var(--color-text-muted,#999);font-size:.85rem;cursor:pointer;transition:background .15s}.report-modal-cancel:hover{background:rgba(255,255,255,.12)}.report-modal-submit{background:#f97316;border:none;border-radius:10px;padding:8px 16px;color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s}.report-modal-submit:hover{background:#ea580c}.report-modal-submit:disabled{opacity:.6;cursor:default}.report-modal-status{font-size:.8rem;text-align:center;padding:6px;border-radius:8px}.report-success{color:#34d399;background:rgba(52,211,153,.1)}.report-error{color:#f87171;background:rgba(248,113,113,.1)}.pro-trial-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.pro-trial-overlay.visible{opacity:1}.pro-trial-modal{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);border:2px solid #f97316;border-radius:20px;padding:2rem 1.5rem;max-width:360px;width:90%;text-align:center;position:relative;box-shadow:0 0 40px rgba(249,115,22,.3);animation:trialPop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes trialPop{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.pro-trial-icon{font-size:3rem;margin-bottom:.5rem}.pro-trial-title{font-size:1.4rem;font-weight:700;color:#fafafa;margin:0 0 .25rem}.pro-trial-subtitle{font-size:1.1rem;color:#f97316;font-weight:600;margin:0 0 1rem}.pro-trial-perks{list-style:none;padding:0;margin:0 0 1rem;text-align:left}.pro-trial-perks li{padding:.4rem 0;color:#e0e0e0;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.06)}.pro-trial-perks li:last-child{border-bottom:none}.pro-trial-expires{font-size:.8rem;color:silver;margin:0 0 1rem}.pro-trial-btn{background:#f97316;color:#fff;border:none;border-radius:12px;padding:.75rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.pro-trial-btn:hover{background:#ea580c}.pro-trial-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,rgba(249,115,22,.15),rgba(234,179,8,.1));border:1px solid rgba(249,115,22,.4);border-radius:12px;padding:.75rem 1rem;margin:.75rem 0;font-size:.9rem;color:#f97316;font-weight:600}.pro-trial-subscribe-btn{background:#f97316;color:#fff;border:none;border-radius:8px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s}.pro-trial-subscribe-btn:hover{background:#ea580c}.profile-my-packs{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.my-packs-create-btn{background:var(--color-accent,#f97316);color:#fff;border:none;border-radius:12px;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s;width:100%;text-align:center}.my-packs-create-btn:hover{background:#ea580c}.my-pack-card{background:var(--color-surface,rgba(255,255,255,.05));border:1px solid var(--color-border,rgba(255,255,255,.1));border-radius:12px;padding:.85rem 1rem;cursor:pointer;transition:border-color .2s}.my-pack-card:hover{border-color:var(--color-accent,#f97316)}.my-pack-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.my-pack-title{font-weight:600;font-size:.95rem;color:var(--color-text)}.my-pack-status{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.15rem .5rem;border-radius:6px}.my-pack-status--draft{background:#374151;color:#9ca3af}.my-pack-status--submitted{background:#422006;color:#fbbf24}.my-pack-status--approved{background:#052e16;color:#34d399}.my-pack-status--rejected{background:#450a0a;color:#f87171}.my-pack-meta{font-size:.8rem;color:var(--color-text-muted)}.my-pack-reject{font-size:.8rem;color:#f87171;margin-top:.35rem;font-style:italic}.pack-creator-overlay{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;padding-bottom:env(safe-area-inset-bottom,0)}@media (min-width:640px){.pack-creator-overlay{align-items:center;padding-bottom:0}}.pack-creator-card{background:var(--color-bg,#050505);border:1px solid var(--color-border,rgba(255,255,255,.1));border-radius:20px 20px 0 0;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}@media (min-width:640px){.pack-creator-card{border-radius:20px;max-height:85vh}}.pack-creator-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem .5rem;position:sticky;top:0;z-index:2;background:var(--color-bg,#050505)}.pack-creator-title{font-size:1.15rem;font-weight:700;color:var(--color-text)}.pack-creator-close{width:36px;height:36px;border-radius:50%;border:none;background:var(--color-surface,rgba(255,255,255,.05));color:var(--color-text-muted);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.pack-creator-close:hover{background:rgba(255,255,255,.1)}.pack-creator-steps{display:flex;gap:.4rem;padding:0 1.25rem .75rem;justify-content:center;position:sticky;top:52px;z-index:2;background:var(--color-bg,#050505)}.pack-step-dot{font-size:.75rem;font-weight:600;padding:.35rem .85rem;border-radius:20px;background:var(--color-surface,rgba(255,255,255,.05));color:var(--color-text-muted);transition:all .2s;cursor:pointer;white-space:nowrap;min-height:32px;display:flex;align-items:center;justify-content:center}.pack-step-dot.active{background:var(--color-accent,#f97316);color:#fff}.pack-step-dot.done{background:#052e16;color:#34d399}.pack-step{animation:fadeIn .2s ease;padding:0 1.25rem 1.25rem}.pack-field{margin-bottom:1rem}.pack-field label{display:block;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.4rem}.pack-field input,.pack-field select,.pack-field textarea{width:100%;background:var(--color-surface,rgba(255,255,255,.05));border:1px solid var(--color-border,rgba(255,255,255,.1));border-radius:12px;padding:.75rem .85rem;font-size:1rem;color:var(--color-text);font-family:inherit;box-sizing:border-box;min-height:48px}.pack-field textarea{min-height:80px;resize:vertical}.pack-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23888' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:2.5rem}.pack-field input:focus,.pack-field select:focus,.pack-field textarea:focus{outline:0;border-color:var(--color-accent,#f97316);box-shadow:0 0 0 3px rgba(249,115,22,.15)}.pack-field-hint{font-size:.72rem;color:var(--color-text-muted);margin-top:.25rem;display:block}.pack-field-hint.error{color:#f87171}.pack-difficulty-row{display:flex;gap:.5rem;flex-wrap:wrap}.pack-radio{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--color-text-secondary);cursor:pointer;padding:.5rem .85rem;border-radius:10px;background:var(--color-surface,rgba(255,255,255,.05));border:1px solid var(--color-border,rgba(255,255,255,.1));transition:all .15s;min-height:44px}.pack-radio:has(input:checked){border-color:var(--color-accent,#f97316);background:rgba(249,115,22,.1);color:var(--color-text)}.pack-radio input[type=radio]{accent-color:var(--color-accent,#f97316);width:18px;height:18px}.pack-question-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem;gap:.5rem}.pack-question-counter{font-size:.85rem;font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.pack-question-dots{display:flex;gap:.3rem;justify-content:center;margin-bottom:.85rem;flex-wrap:wrap}.pack-q-dot{width:28px;height:28px;border-radius:50%;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--color-surface,rgba(255,255,255,.05));border:2px solid var(--color-border,rgba(255,255,255,.1));color:var(--color-text-muted);transition:all .15s;-webkit-tap-highlight-color:transparent}.pack-q-dot.active{border-color:var(--color-accent,#f97316);color:var(--color-accent)}.pack-q-dot.complete{background:#052e16;border-color:#34d399;color:#34d399}.pack-q-dot.active.complete{border-color:var(--color-accent)}.pack-choices-wrap{margin-bottom:1rem}.pack-choices-wrap>label{display:block;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.4rem}.pack-correct-hint{font-weight:400;font-size:.75rem;color:var(--color-text-muted)}.pack-choice-input{width:100%;background:var(--color-surface,rgba(255,255,255,.05));border:1px solid var(--color-border,rgba(255,255,255,.1));border-radius:12px;padding:.65rem .85rem;font-size:.95rem;color:var(--color-text);font-family:inherit;margin-bottom:.4rem;box-sizing:border-box;min-height:46px}.pack-choice-input:focus{outline:0;border-color:var(--color-accent,#f97316);box-shadow:0 0 0 3px rgba(249,115,22,.15)}.pack-choice-correct{border-left:4px solid #34d399;background:rgba(52,211,153,.04)}.pack-choice-input::placeholder{color:var(--color-text-muted);opacity:.6}.pack-btn{background:var(--color-surface,rgba(255,255,255,.05));border:1px solid var(--color-border,rgba(255,255,255,.1));border-radius:12px;padding:.7rem 1.25rem;font-size:.9rem;font-weight:600;color:var(--color-text);cursor:pointer;transition:all .15s;min-height:48px;-webkit-tap-highlight-color:transparent}.pack-btn:hover{border-color:var(--color-accent,#f97316)}.pack-btn:active{transform:scale(.97)}.pack-btn:disabled{opacity:.5;cursor:not-allowed}.pack-btn-primary{background:var(--color-accent,#f97316);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(249,115,22,.25)}.pack-btn-primary:hover{background:#ea580c}.pack-btn-primary:active{background:#c2410c}.pack-btn-primary:disabled{background:#78350f;box-shadow:none}.pack-btn-sm{padding:.4rem .85rem;font-size:.8rem;min-height:36px}.pack-btn-full{width:100%}.pack-review-summary{background:var(--color-surface,rgba(255,255,255,.05));border-radius:14px;padding:1rem;margin-bottom:.85rem}.pack-review-summary h3{font-size:1rem;margin:0 0 .4rem;color:var(--color-text)}.pack-review-summary p{font-size:.82rem;margin:.2rem 0;color:var(--color-text-muted)}.pack-review-questions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.85rem;max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.pack-review-q{background:var(--color-surface,rgba(255,255,255,.05));border:1px solid var(--color-border,rgba(255,255,255,.1));border-radius:12px;padding:.75rem .85rem;font-size:.85rem}.pack-review-q.incomplete{border-left:4px solid #f87171}.pack-review-q .q-num{font-weight:700;color:var(--color-accent);margin-right:.4rem}.pack-review-q .q-text{color:var(--color-text)}.pack-review-q .q-answer{color:#34d399;font-size:.78rem;margin-top:.25rem}.pack-review-issues{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.3);border-radius:12px;padding:.75rem .85rem;margin-bottom:.85rem;font-size:.82rem;color:#f87171}.pack-review-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-bottom:env(safe-area-inset-bottom,0)}@media (max-width:639px){.pack-review-actions{flex-direction:column}.pack-review-actions .pack-btn{width:100%}}.pack-status-msg{margin-top:.75rem;text-align:center;font-size:.85rem;padding:.6rem;border-radius:10px}.pack-status-msg.success{background:rgba(52,211,153,.1);color:#34d399}.pack-status-msg.error{background:rgba(248,113,113,.1);color:#f87171}[data-theme=light] .my-pack-card{background:rgba(255,255,255,.8)}[data-theme=light] .pack-creator-card{background:#f5f5f5}[data-theme=light] .my-pack-status--draft{background:#e5e7eb;color:#6b7280}[data-theme=light] .my-pack-status--submitted{background:#fef3c7;color:#92400e}[data-theme=light] .my-pack-status--approved{background:#d1fae5;color:#065f46}[data-theme=light] .my-pack-status--rejected{background:#fee2e2;color:#991b1b}[data-theme=light] .pack-q-dot.complete{background:#d1fae5;border-color:#34d399}[data-theme=light] .pack-step-dot{background:#e5e7eb;color:#4b5563}[data-theme=light] .pack-step-dot.done{background:#d1fae5;color:#065f46}[data-theme=light] .pack-field input,[data-theme=light] .pack-field select,[data-theme=light] .pack-field textarea{background:#fff;border-color:#d1d5db;color:#111}[data-theme=light] .pack-choice-input{background:#fff;border-color:#d1d5db;color:#111}[data-theme=light] .pack-review-summary{background:rgba(0,0,0,.03)}[data-theme=light] .pack-review-q{background:rgba(0,0,0,.03);border-color:#e5e7eb}[data-theme=light] .pack-btn{background:#e5e7eb;border-color:#d1d5db;color:#111}[data-theme=light] .pack-status-msg.success{background:rgba(52,211,153,.15)}[data-theme=light] .pack-status-msg.error{background:rgba(248,113,113,.15)}.fact-modal-close,.fact-submit-btn,.fact-text-area,.fact-text-input,.room-code-btn,.waiting-cancel-btn{min-height:44px}.fact-modal-close{min-width:44px;display:flex;align-items:center;justify-content:center;border-radius:50%}.fact-modal-close:hover{background:rgba(255,255,255,.08)}.cat-trend-label,.chart-card-sub,.dvr-label,.dvr-vals,.speed-bar-label,.speed-bar-pct{font-size:max(11px, .68rem)}.profile-best-game-label{font-size:max(11px, .68rem)}.lb-sub-badge,.lb-sub-badge.bp{font-size:.65rem}@media (max-width:480px){.lb-podium-name{font-size:.7rem}.lb-podium-score{font-size:.8rem}}.question-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.choice-btn{min-height:44px}.choices-list.long-choices .choice-btn{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.leaderboard-tabs{position:relative}.leaderboard-tabs::after{content:"";position:absolute;right:0;top:0;bottom:0;width:2rem;background:linear-gradient(to right,transparent,var(--color-bg,#050505));pointer-events:none;opacity:.6}.earn-dot{width:8px;height:8px}.earn-dot.active{transform:scale(1.4)}.progress-dot{min-height:4px;min-width:4px}@supports (padding-bottom:env(safe-area-inset-bottom)){.question-card{padding-bottom:env(safe-area-inset-bottom,0)}}@media (hover:none),(pointer:coarse){.kbd-hint{display:none!important}}.play-credits{white-space:nowrap}.waiting-qr-canvas{max-width:min(200px,60vw)}@media (max-width:380px){.countdown-number{font-size:clamp(2.5rem, 10vw, 3.5rem)}}[data-theme=light] .toast{background:rgba(30,30,30,.95);color:#fff}@media (max-width:380px){.profile-best-game{display:grid;grid-template-columns:1fr 1fr;gap:8px}}@media (pointer:coarse){.profile-timeline::-webkit-scrollbar{width:8px}}.pack-step>.pack-btn-primary,.pack-step>button:last-child:not(.pack-btn-sm){position:sticky;bottom:0;z-index:1;margin-top:.5rem}@media (max-width:639px){.pack-step>.pack-btn-primary,.pack-step>button:last-child:not(.pack-btn-sm){width:100%;padding-bottom:calc(.7rem + env(safe-area-inset-bottom,0))}}.choice-btn{will-change:transform,border-color;-webkit-tap-highlight-color:transparent}.choice-btn.selected{will-change:transform,border-color,background}@supports (margin-right:env(safe-area-inset-right)){.game-quit-btn{margin-right:max(.5rem,env(safe-area-inset-right,0))}}.lobby-category-card{min-height:80px}.mode-toggle{overflow:hidden}.daily-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.earn-carousel-track{scroll-padding:0 1rem;padding:0 1rem}.lobby-sponsored-tag{font-size:.65rem;font-weight:700;background:rgba(249,115,22,.15);color:#f97316;padding:.2rem .5rem;border-radius:12px;margin-left:.5rem;white-space:nowrap}@media (max-width:480px){.room-code-display{font-size:1.25rem;letter-spacing:.1em}}.room-start-btn{min-height:48px}@media (max-width:480px){.room-start-btn{padding:1rem 2rem;font-size:1.0625rem}}.timer-bar-fill{will-change:width}.question-text{line-height:1.4;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.choice-btn{min-height:48px}@media (max-width:380px){.room-reactions-bar{flex-wrap:wrap;justify-content:center;gap:.25rem}.room-reaction-btn{width:36px;height:36px;font-size:1rem}}.breakdown-row{min-height:48px;cursor:pointer}@media (max-width:480px){.complete-actions{display:flex;gap:.75rem}.complete-btn{flex:1;min-height:44px;font-size:.85rem}}.profile-badge-grid{display:flex;flex-wrap:wrap;gap:.75rem}@media (max-width:480px){.profile-badge-grid{gap:.5rem}}.trivlet-popover{max-width:min(320px,90vw)}.profile-chart-card canvas,.time-heatmap-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.profile-radar-wrap svg{max-width:100%;height:auto}@media (max-width:480px){.profile-radar-wrap{max-width:280px;margin:0 auto}}.my-pack-status{font-size:max(.75rem, 11px)}.credits-balance-number{font-size:clamp(2rem, 5vw, 3rem)}.tier-comparison-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tier-comparison-wrap td:first-child,.tier-comparison-wrap th:first-child{position:sticky;left:0;z-index:1;background:var(--color-bg,#050505)}.leaderboard-content{transition:opacity .15s ease}.lb-row{align-items:center}.fact-text-input.error,.pack-field input.error,.pack-field textarea.error{border:2px solid #f87171;box-shadow:0 0 0 3px rgba(248,113,113,.15)}#phone-step-1,#phone-step-2{transition:opacity .2s ease}@media (max-width:380px){.pack-q-dot{width:24px;height:24px;font-size:.65rem}}@media (hover:none),(pointer:coarse){.lb-row:hover,.lobby-category-card:hover,.mode-toggle-btn:hover,.pack-btn:hover,.profile-badge:hover,.scheduled-card:hover{transform:none;border-color:inherit;background:inherit}}.toast-stack{bottom:max(1rem,env(safe-area-inset-bottom,1rem));z-index:10000}.badge-notification,.level-up-notification{will-change:transform,opacity}@media (max-width:640px){.countdown-number{font-size:clamp(2.5rem, 8vw, 4rem)}}.battle-pass-tracker{margin-bottom:1.5rem}.bp-header{margin-bottom:.75rem}.bp-header-title{font-size:.9rem;font-weight:700;color:var(--color-text);margin-bottom:.25rem}.bp-header-subtitle{font-size:.8rem;color:var(--color-text-muted);line-height:1.4;margin-bottom:.5rem}.bp-header-subtitle strong{color:var(--color-accent)}.bp-scoring{margin-top:.5rem;margin-bottom:.5rem}.bp-scoring-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:.375rem}.bp-scoring-grid{display:flex;flex-wrap:wrap;gap:.375rem}.bp-scoring-item{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--color-text-secondary);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:.2rem .5rem}.bp-scoring-pts{font-weight:800;color:var(--color-accent);font-size:.75rem}.bp-pts-gold{color:#fbbf24}.bp-progress{margin-bottom:.5rem}.bp-progress-bar{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.bp-progress-fill{height:100%;border-radius:3px;background:var(--color-accent);transition:width .4s ease}.bp-legend{display:flex;gap:1rem;flex-wrap:wrap}.bp-legend-item{display:flex;align-items:center;gap:.375rem;font-size:.7rem;color:var(--color-text-muted)}.bp-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.bp-legend-free{background:var(--color-text-secondary)}.bp-legend-pro{background:#a78bfa}.bp-track{display:flex;gap:.625rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:.5rem 0;scrollbar-width:none;cursor:grab}.bp-track:active{cursor:grabbing}.bp-track::-webkit-scrollbar{display:none}.bp-tier{min-width:120px;flex-shrink:0;scroll-snap-align:center;background:var(--color-surface,rgba(255,255,255,.04));border:1px solid var(--color-border,rgba(255,255,255,.08));border-radius:14px;padding:.75rem .625rem;text-align:center;transition:all .2s;opacity:.35;position:relative}.bp-tier.unlocked{opacity:1;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.03)}.bp-tier.bp-mini-milestone.unlocked{border-color:rgba(96,165,250,.3);background:rgba(96,165,250,.05)}.bp-tier.bp-mini-milestone.unlocked .bp-tier-num{background:rgba(96,165,250,.15);color:#60a5fa}.bp-tier.bp-milestone.unlocked{border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.06)}.bp-tier.bp-milestone.unlocked .bp-tier-num{background:rgba(251,191,36,.2);color:#fbbf24}.bp-tier.current{border-color:var(--color-accent);box-shadow:0 0 16px rgba(249,115,22,.2),inset 0 0 20px rgba(249,115,22,.03);opacity:1;background:rgba(249,115,22,.06);transform:scale(1.04)}.bp-tier-num{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;padding:.15rem .5rem;border-radius:6px;display:inline-block;background:rgba(255,255,255,.06);color:var(--color-text-muted)}.bp-tier.current .bp-tier-num{background:rgba(249,115,22,.15);color:var(--color-accent)}.bp-tier.unlocked .bp-tier-num{background:rgba(255,255,255,.08);color:var(--color-text-secondary)}.bp-tier-rewards{display:flex;flex-direction:column;gap:.375rem}.bp-reward{font-size:.7rem;color:var(--color-text-secondary);padding:.25rem .375rem;line-height:1.3;display:flex;flex-direction:column;align-items:center;gap:3px;border-radius:8px;background:rgba(255,255,255,.02)}.bp-reward-label{font-size:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.bp-reward-label-premium{color:#a78bfa}.bp-reward.earned{color:#34d399;background:rgba(52,211,153,.06)}.bp-reward.earned .bp-reward-label{color:#34d399}.bp-reward.locked{color:var(--color-text-muted);opacity:.45}.bp-no-free{opacity:.2}.bp-premium{border-top:1px dashed rgba(139,92,246,.2);margin-top:.25rem;padding-top:.375rem;background:rgba(139,92,246,.03)}.bp-upsell{text-align:center;margin-top:.75rem}.bp-upsell-text{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.5rem}.bp-upsell-btn{background:var(--color-accent);color:#fff;border:none;border-radius:10px;padding:.6rem 1.25rem;font-weight:600;font-size:.85rem;cursor:pointer;font-family:inherit;transition:background .15s}.bp-upsell-btn:hover{background:#ea580c}.credits-section-title{font-size:1rem;font-weight:700;color:var(--color-text);margin:1.5rem 0 .6rem}.credits-shop{margin-bottom:1.5rem}.shop-group{margin-bottom:1.25rem}.shop-group-title{font-size:.9rem;font-weight:700;color:var(--color-text);margin-bottom:.6rem}.shop-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem}.shop-item{background:var(--color-surface,rgba(255,255,255,.05));border:1px solid var(--color-border,rgba(255,255,255,.1));border-radius:14px;padding:.85rem;text-align:center;display:flex;flex-direction:column;gap:.3rem;align-items:center;transition:border-color .15s}.shop-item.owned{border-color:rgba(52,211,153,.3)}.shop-item.equipped{border-color:var(--color-accent);box-shadow:0 0 12px rgba(249,115,22,.15)}.shop-item-rarity{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.shop-item-name{font-size:.85rem;font-weight:600;color:var(--color-text)}.shop-item-desc{font-size:.72rem;color:var(--color-text-muted);line-height:1.4}.shop-buy-btn,.shop-equip-btn{margin-top:auto;padding:.45rem .85rem;border-radius:10px;font-size:.78rem;font-weight:600;cursor:pointer;border:none;min-height:36px;width:100%;transition:all .15s;font-family:inherit}.shop-buy-btn{background:var(--color-accent);color:#fff}.shop-buy-btn:hover{background:#ea580c}.shop-buy-btn:disabled{opacity:.5;cursor:default}.shop-equip-btn{background:rgba(255,255,255,.08);color:var(--color-text-secondary);border:1px solid var(--color-border,rgba(255,255,255,.1))}.shop-equip-btn.equipped{background:rgba(52,211,153,.15);color:#34d399;border-color:rgba(52,211,153,.3)}.shop-equip-btn:disabled{opacity:.5;cursor:default}.shop-empty{text-align:center;padding:1.5rem 1rem;color:var(--color-text-muted);font-size:.85rem}.profile-cosmetics{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.profile-cosmetic-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border-radius:10px;font-size:.75rem;font-weight:600;background:rgba(249,115,22,.12);color:var(--color-accent);border:1px solid rgba(249,115,22,.25)}.profile-cosmetic-tag .cosmetic-type{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.profile-locker-browse{display:block;width:100%;margin-top:.5rem;padding:.5rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-accent);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.profile-locker-browse:hover{border-color:var(--color-accent)}[data-theme=light] .shop-item{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.1)}[data-theme=light] .shop-equip-btn{background:rgba(0,0,0,.04);color:var(--color-text-secondary);border-color:rgba(0,0,0,.12)}.clan-empty{text-align:center;padding:1.5rem 1rem}.clan-empty-text{color:var(--color-text-muted);font-size:.9rem;margin-bottom:1rem}.clan-actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:.75rem}.clan-btn{padding:.55rem 1rem;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);min-height:44px;transition:all .15s}.clan-btn-primary{background:var(--color-accent);color:#fff;border-color:transparent}.clan-btn-danger{background:rgba(239,68,68,.15);color:#f87171;border-color:rgba(239,68,68,.3)}.clan-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:1rem}.clan-header{text-align:center;margin-bottom:.75rem}.clan-tag-badge{font-size:.75rem;font-weight:700;color:var(--color-accent);letter-spacing:.05em}.clan-name{font-size:1.1rem;font-weight:700;color:var(--color-text)}.clan-meta{font-size:.78rem;color:var(--color-text-muted);margin-top:.2rem}.clan-desc{font-size:.85rem;color:var(--color-text-secondary);text-align:center;margin-bottom:.75rem}.clan-members-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:.4rem}.clan-members{display:flex;flex-direction:column;gap:.25rem;max-height:250px;overflow-y:auto}.clan-member{display:flex;justify-content:space-between;align-items:center;padding:.4rem .5rem;border-radius:8px;background:rgba(255,255,255,.03);font-size:.82rem}.clan-member-name{color:var(--color-text);font-weight:500}.clan-member-xp{color:var(--color-text-muted);font-size:.75rem}.clan-member-more{text-align:center;color:var(--color-text-muted);font-size:.78rem;padding:.3rem}.clan-lb-row{display:flex;align-items:center;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--color-border)}.clan-lb-rank{font-weight:700;color:var(--color-accent);min-width:2rem}.clan-lb-info{flex:1;min-width:0}.clan-lb-tag{font-size:.72rem;font-weight:700;color:var(--color-accent)}.clan-lb-name{font-size:.85rem;font-weight:600;color:var(--color-text);margin-left:.3rem}.clan-lb-members{font-size:.72rem;color:var(--color-text-muted);white-space:nowrap}.clan-lb-xp{font-size:.78rem;font-weight:600;color:var(--color-text-secondary);white-space:nowrap}[data-theme=light] .clan-card{background:rgba(255,255,255,.9);border-color:rgba(0,0,0,.08)}[data-theme=light] .clan-member{background:rgba(0,0,0,.03)}[data-theme=light] .clan-btn{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.12)}.lobby-quick-nav{display:flex;gap:.5rem;justify-content:center;margin:1rem 0;flex-wrap:wrap}.lobby-nav-pill{display:flex;align-items:center;gap:.3rem;padding:.5rem 1rem;border-radius:999px;background:var(--color-surface,rgba(255,255,255,.05));border:1px solid var(--color-border,rgba(255,255,255,.1));color:var(--color-text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s;min-height:40px;font-family:inherit;-webkit-tap-highlight-color:transparent}.lobby-nav-pill:hover{border-color:var(--color-accent);color:var(--color-text)}.lobby-nav-pill:active{transform:scale(.97)}.lobby-nav-pill-icon{font-size:1rem;line-height:1}.clan-tag-inline{color:var(--color-accent);font-weight:700;font-size:.8em;margin-right:.25em;opacity:.85;display:inline-flex;align-items:center;gap:2px;vertical-align:middle}.clan-mini-sigil{display:inline-block;width:14px;height:17px;vertical-align:middle;flex-shrink:0}.clan-mini-sigil svg{width:14px;height:17px}.clan-room-menu-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:0 0;border:none;color:var(--color-text);font-size:1.4rem;cursor:pointer;padding:4px 8px;opacity:.7}.clan-room-menu-btn:hover{opacity:1}.cr-header{text-align:center;padding:1.25rem 0}.cr-sigil{display:inline-block;cursor:pointer;margin-bottom:.5rem}.cr-tag-name{font-size:1.2rem;font-weight:700}.cr-motto{font-size:.8rem;color:var(--color-text-muted);font-style:italic;margin-top:2px}.cr-level-badge{font-size:.85rem;font-weight:700;margin-top:.5rem}.cr-xp-bar{width:60%;max-width:200px;margin:6px auto;height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden}.cr-xp-fill{height:100%;background:#f97316;border-radius:3px;transition:width .6s ease}.cr-xp-label{font-size:.7rem;color:var(--color-text-muted)}.cr-meta{font-size:.75rem;color:var(--color-text-muted);margin-top:4px}.cr-stats{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 .5rem;justify-content:center;margin-top:.75rem}.cr-stats .profile-stat{flex:1 1 calc(25% - 0.5rem);min-width:80px}.cr-weekly-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.6rem .75rem;margin:.75rem .5rem 0;text-align:center}.cr-weekly-title{font-size:.8rem;font-weight:600;margin-bottom:2px}.cr-weekly-stats{font-size:.75rem;color:var(--color-text-muted)}.cr-section{padding:.75rem .5rem 0}.cr-section-title{font-size:.85rem;font-weight:700;margin-bottom:.5rem}.cr-active-war{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.15);border-radius:10px;padding:.6rem;margin-bottom:.5rem}.cr-war-vs{font-weight:600;font-size:.85rem}.cr-war-score{font-size:1.2rem;font-weight:700;text-align:center;margin:4px 0}.cr-war-entry{font-size:.75rem;color:var(--color-text-muted);padding:2px 0}.cr-war-history{display:flex;flex-direction:column;gap:3px}.cr-war-row{display:flex;align-items:center;gap:.5rem;padding:4px 6px;border-radius:6px;font-size:.78rem}.cr-war-win{background:rgba(34,197,94,.08)}.cr-war-loss{background:rgba(239,68,68,.08)}.cr-war-draw{background:rgba(148,163,184,.08)}.cr-war-result{font-weight:700;width:16px;text-align:center}.cr-war-win .cr-war-result{color:#22c55e}.cr-war-loss .cr-war-result{color:#ef4444}.cr-war-scores{margin-left:auto;color:var(--color-text-muted)}.cr-trophy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.4rem}.cr-trophy{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.4rem;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);opacity:.3;filter:grayscale(1);transition:all .2s}.cr-trophy.earned{opacity:1;filter:none;border-color:rgba(251,191,36,.2);background:rgba(251,191,36,.05)}.cr-trophy.earned:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(251,191,36,.15)}.cr-trophy-icon{font-size:1.5rem}.cr-trophy-name{font-size:.6rem;text-align:center;color:var(--color-text-muted)}.cr-trophy.earned .cr-trophy-name{color:var(--color-text)}.cr-radar-wrap{display:flex;justify-content:center}.cr-heatmap-summary{font-size:.7rem;color:var(--color-text-muted);margin-top:4px;text-align:center}.cr-legends{display:flex;flex-direction:column;gap:4px}.cr-legend-row{display:flex;align-items:center;gap:.4rem;padding:4px 6px;border-radius:6px;background:rgba(255,255,255,.03)}.cr-legend-rank{width:20px;text-align:center;font-size:.85rem}.cr-legend-name{flex:1;font-size:.8rem}.cr-legend-xp{font-size:.75rem;color:var(--color-text-muted)}.cr-mvp{margin-top:.5rem;font-size:.8rem;color:var(--color-text-muted);text-align:center}.cr-members{display:flex;flex-direction:column;gap:3px;max-height:350px;overflow-y:auto}.cr-member{display:flex;align-items:center;gap:.4rem;padding:5px 6px;border-radius:8px;background:rgba(255,255,255,.02);cursor:pointer}.cr-member:hover{background:rgba(255,255,255,.06)}.cr-member-info{display:flex;flex-direction:column;flex:1;min-width:0}.cr-member-name{font-size:.82rem;font-weight:600}.cr-member-meta{font-size:.68rem;color:var(--color-text-muted)}.cr-lb{display:flex;flex-direction:column;gap:2px}.cr-lb-row{display:flex;align-items:center;gap:.4rem;padding:4px 6px;border-radius:6px;font-size:.8rem}.cr-lb-row.you{background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.2)}.cr-lb-rank{width:24px;text-align:center}.cr-lb-name{flex:1}.cr-lb-score{color:var(--color-text-muted)}.cr-feed{display:flex;flex-direction:column;gap:3px;max-height:300px;overflow-y:auto}.cr-feed-item{display:flex;align-items:center;gap:.4rem;padding:3px 0;font-size:.75rem}.cr-feed-icon{font-size:.9rem;flex-shrink:0}.cr-feed-text{flex:1;color:var(--color-text-secondary)}.cr-feed-time{color:var(--color-text-muted);font-size:.65rem;flex-shrink:0}.cr-fund-bar-wrap{margin-bottom:.5rem}.cr-fund-bar{width:100%;height:8px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden}.cr-fund-fill{height:100%;background:linear-gradient(90deg,#f97316,#fbbf24);border-radius:4px;transition:width .5s}.cr-fund-label{font-size:.7rem;color:var(--color-text-muted);margin-top:2px;text-align:center}.cr-fund-history{font-size:.7rem;color:var(--color-text-muted);margin-top:.4rem}.cr-fund-entry{padding:2px 0}.cr-fund-donate-btn{display:block;width:100%;margin-top:.5rem;padding:8px;background:var(--color-accent);color:#000;border:none;border-radius:8px;font-weight:600;cursor:pointer}.cr-fund-donate-btn:hover{background:#fb923c}.cr-crowdfund{margin:.5rem 0}.cr-crowdfund-title{font-size:.78rem;font-weight:600;margin-bottom:4px}.clan-room-error{text-align:center;padding:2rem;color:var(--color-text-muted)}.arena-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;animation:statStagger .45s cubic-bezier(.22,1,.36,1) both}.arena-header{background:linear-gradient(135deg,rgba(249,115,22,.12) 0,rgba(249,115,22,.04) 100%);border-bottom:1px solid rgba(249,115,22,.12);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.arena-code-block{display:flex;align-items:center;gap:.5rem}.arena-code{font-family:Inter,monospace;font-size:1.4rem;font-weight:800;letter-spacing:.18em;color:var(--color-accent);line-height:1}.arena-code-actions{display:flex;gap:.35rem}.arena-code-btn{background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.2);color:var(--color-accent);padding:.3rem .55rem;border-radius:6px;cursor:pointer;font-size:.72rem;font-weight:600;transition:all .15s;display:inline-flex;align-items:center;gap:.25rem;min-height:30px}.arena-code-btn:hover{background:rgba(249,115,22,.18)}.arena-code-btn:active{background:var(--color-accent);color:#fff}.arena-code-btn svg{width:13px;height:13px}.arena-body{padding:1rem 1.25rem}.arena-name{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:.65rem;font-style:italic;opacity:.85}.arena-settings-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.arena-setting-pill{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);padding:.2rem .55rem;border-radius:6px;font-size:.72rem;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:.3rem}.arena-setting-pill svg{width:11px;height:11px;opacity:.6}.arena-qr-row{display:flex;justify-content:center;margin-bottom:.75rem}.arena-qr-row canvas{border:1px solid rgba(255,255,255,.08)}.arena-share-row{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:.4rem .65rem;margin-bottom:1rem;font-size:.75rem;color:var(--color-text-muted);overflow:hidden}.arena-share-url{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Inter,monospace;letter-spacing:.02em}.arena-share-copy{background:0 0;border:none;color:var(--color-accent);font-size:.72rem;font-weight:600;cursor:pointer;padding:.2rem .4rem;white-space:nowrap;flex-shrink:0}.arena-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.arena-btn{padding:.6rem .75rem;border-radius:10px;font-size:.82rem;font-weight:600;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);min-height:44px;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.arena-btn:hover{border-color:var(--color-text-muted)}.arena-btn:active{transform:scale(.97)}.arena-btn svg{width:15px;height:15px}.arena-btn-primary{background:linear-gradient(135deg,var(--color-accent),#ea580c);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(249,115,22,.25)}.arena-btn-primary:hover{box-shadow:0 4px 16px rgba(249,115,22,.35)}.arena-btn-primary:active{opacity:.9}.arena-join-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;text-align:center;animation:statStagger .45s cubic-bezier(.22,1,.36,1) both}.arena-join-card .arena-code{font-size:1.3rem;margin-bottom:.35rem}.arena-join-owner{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.75rem}.arena-join-btn{width:100%;padding:.7rem;border-radius:10px;background:linear-gradient(135deg,var(--color-accent),#ea580c);color:#fff;border:none;font-size:.9rem;font-weight:600;cursor:pointer;min-height:44px;box-shadow:0 2px 8px rgba(249,115,22,.25);transition:all .15s}.arena-join-btn:hover{box-shadow:0 4px 16px rgba(249,115,22,.35)}.arena-join-btn:active{opacity:.9;transform:scale(.98)}.arena-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:0;opacity:0;transition:opacity .2s ease}.arena-modal-overlay.active{opacity:1}@media (min-width:481px){.arena-modal-overlay{align-items:center;padding:1rem}.arena-modal{border-radius:var(--radius)!important;max-height:80vh!important}}.arena-modal{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius) var(--radius) 0 0;max-width:420px;width:100%;max-height:85vh;overflow-y:auto;transform:translateY(20px);transition:transform .25s cubic-bezier(.22, 1, .36, 1);overscroll-behavior:contain}.arena-modal-overlay.active .arena-modal{transform:translateY(0)}.arena-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-bg);z-index:1}.arena-modal-header h3{margin:0;font-size:1rem;font-weight:700}.arena-modal-close{background:0 0;border:none;color:var(--color-text-muted);font-size:1.3rem;cursor:pointer;padding:.25rem;line-height:1;border-radius:6px;transition:all .15s}.arena-modal-close:hover{color:var(--color-text);background:rgba(255,255,255,.06)}.arena-modal-body{padding:1rem 1.25rem}.arena-modal-footer{display:flex;gap:.5rem;padding:.75rem 1.25rem 1rem;border-top:1px solid var(--color-border);position:sticky;bottom:0;background:var(--color-bg)}.arena-modal-footer button{flex:1}.arena-field{margin-bottom:.85rem}.arena-field-label{display:block;font-size:.72rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem}.arena-field input[type=number],.arena-field input[type=text],.arena-field select{width:100%;padding:.55rem .75rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.88rem;transition:border-color .15s;-webkit-appearance:none}.arena-field input:focus,.arena-field select:focus{outline:0;border-color:var(--color-accent)}.arena-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.arena-toggle-row:last-child{border-bottom:none}.arena-toggle-label{font-size:.85rem;color:var(--color-text-secondary)}.arena-toggle{position:relative;width:42px;height:24px;-webkit-appearance:none;appearance:none;background:rgba(255,255,255,.1);border-radius:12px;border:none;cursor:pointer;transition:background .2s;flex-shrink:0}.arena-toggle::before{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s}.arena-toggle:checked{background:var(--color-accent)}.arena-toggle:checked::before{transform:translateX(18px)}.arena-upgrade-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:.85rem 1rem;margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;transition:border-color .15s}.arena-upgrade-card:hover{border-color:rgba(255,255,255,.12)}.arena-upgrade-info{flex:1;min-width:0}.arena-upgrade-name{font-weight:600;font-size:.88rem}.arena-upgrade-desc{font-size:.73rem;color:var(--color-text-muted);margin-top:.15rem;line-height:1.35}.arena-upgrade-buy{padding:.4rem .85rem;border-radius:8px;background:var(--color-accent);color:#fff;border:none;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;min-height:34px;transition:all .15s;display:inline-flex;align-items:center;gap:.25rem}.arena-upgrade-buy:hover{box-shadow:0 2px 8px rgba(249,115,22,.3)}.arena-upgrade-buy:disabled{opacity:.5;cursor:default;box-shadow:none}.arena-upgrade-owned{color:#34d399;font-size:.78rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem}.arena-upgrade-owned::before{content:'✓';font-weight:800}.arena-upgrade-peruse .arena-upgrade-info{display:flex;flex-direction:column;gap:.35rem}.arena-peruse-input{width:100%;padding:.4rem .6rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.82rem;margin-top:.25rem}.arena-peruse-input:focus{outline:0;border-color:var(--color-accent)}.arena-card[data-theme=fire] .arena-header{background:linear-gradient(135deg,rgba(239,68,68,.12),rgba(239,68,68,.04));border-bottom-color:rgba(239,68,68,.12)}.arena-card[data-theme=fire] .arena-code{color:#ef4444}.arena-card[data-theme=ice] .arena-header{background:linear-gradient(135deg,rgba(56,189,248,.12),rgba(56,189,248,.04));border-bottom-color:rgba(56,189,248,.12)}.arena-card[data-theme=ice] .arena-code{color:#38bdf8}.arena-card[data-theme=neon] .arena-header{background:linear-gradient(135deg,rgba(167,139,250,.12),rgba(167,139,250,.04));border-bottom-color:rgba(167,139,250,.12)}.arena-card[data-theme=neon] .arena-code{color:#a78bfa}.arena-card[data-theme=nature] .arena-header{background:linear-gradient(135deg,rgba(52,211,153,.12),rgba(52,211,153,.04));border-bottom-color:rgba(52,211,153,.12)}.arena-card[data-theme=nature] .arena-code{color:#34d399}.arena-card[data-theme=gold] .arena-header{background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(245,158,11,.04));border-bottom-color:rgba(245,158,11,.12)}.arena-card[data-theme=gold] .arena-code{color:#f59e0b}.room-actions-row{display:flex;gap:.5rem;align-items:center;width:100%}.room-actions-row .room-start-btn{flex:2 1 0;min-width:0;width:auto}.room-actions-row .waiting-cancel-btn{flex:1 1 0;min-width:0}.arena-host-menu-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:all .15s;position:relative}.arena-host-menu-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.arena-host-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;min-width:180px;padding:.4rem 0;box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:100;animation:arenaMenuIn .15s ease}@keyframes arenaMenuIn{from{opacity:0;transform:translateY(-4px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.arena-host-dropdown-item{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;font-size:.85rem;color:var(--color-text);cursor:pointer;transition:background .1s;border:none;background:0 0;width:100%;text-align:left}.arena-host-dropdown-item:hover{background:rgba(255,255,255,.05)}.arena-host-dropdown-item svg{width:16px;height:16px;color:var(--color-text-muted);flex-shrink:0}.arena-btn-secondary{background:0 0;border:1px solid rgba(255,255,255,.08);color:var(--color-text-muted);font-size:.78rem}.arena-btn-secondary:hover{border-color:var(--color-border);color:var(--color-text)}body.modal-open{overflow:hidden}body.arena-modal-open{overflow:hidden}.room-header-top{display:flex;align-items:center;justify-content:center;position:relative}.room-header-top .arena-host-menu-btn{position:absolute;right:0;top:50%;transform:translateY(-50%)}.room-header-toggle{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.room-header-toggle-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.room-header-chevron{color:var(--color-text-muted);transition:transform .2s ease}.room-header.collapsed .room-header-chevron{transform:rotate(180deg)}.room-header-collapsible{overflow:hidden;transition:max-height .25s ease,opacity .15s ease;max-height:300px;opacity:1}.room-header.collapsed .room-header-collapsible{max-height:0;opacity:0;pointer-events:none}.room-header{flex-shrink:1}.arena-chat{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);display:flex;flex-direction:column;flex:1;min-height:100px;overflow:hidden}.arena-chat-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.arena-chat-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.arena-chat-online{font-size:.68rem;color:var(--color-text-muted)}.arena-chat-messages{flex:1;min-height:80px;overflow-y:auto;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.15rem;overscroll-behavior:contain;scroll-behavior:smooth}.arena-chat-empty{color:var(--color-text-muted);font-size:.8rem;text-align:center;padding:2rem 0;font-style:italic}.arena-chat-msg{font-size:.82rem;line-height:1.4;word-break:break-word;padding:.15rem 0}.arena-chat-msg-self{text-align:right}.arena-chat-msg-name{font-weight:700;font-size:.75rem;margin-right:.3rem}.arena-chat-msg-name.chat-name-self{color:#34d399}.arena-chat-msg-name.chat-name-other{color:var(--color-accent)}.arena-chat-msg-text{color:var(--color-text-secondary)}.arena-chat-msg-system{font-size:.72rem;color:var(--color-text-muted);font-style:italic;text-align:center;padding:.25rem 0}.arena-chat-input-row{display:flex;align-items:center;gap:.35rem;border-top:1px solid var(--color-border);padding:.4rem .5rem;flex-shrink:0;background:var(--color-surface);border-radius:0 0 var(--radius) var(--radius)}.arena-chat-input{flex:1;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);font-size:.85rem;outline:0;min-width:0;transition:border-color .15s;overflow:hidden;text-overflow:ellipsis}.arena-chat-input:focus{border-color:var(--color-accent)}.arena-chat-input::placeholder{color:var(--color-text-muted);opacity:.6}.arena-chat-counter{font-size:.6rem;color:var(--color-text-muted);padding:0 .3rem;flex-shrink:0;min-width:24px;text-align:right}.arena-chat-send{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:var(--color-accent);color:#fff;border-radius:8px;cursor:pointer;flex-shrink:0;margin-left:.25rem;transition:all .15s}.arena-chat-send:hover{opacity:.9}.arena-chat-send:active{transform:scale(.92)}.arena-chat-send:disabled{opacity:.35;cursor:default;transform:none}.arena-pending-overlay{position:absolute;inset:0;background:rgba(5,5,5,.85);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:1.5rem}.arena-pending-card{text-align:center;max-width:280px}.arena-pending-icon{font-size:2.5rem;margin-bottom:.75rem}.arena-pending-title{font-size:1.1rem;font-weight:700;margin-bottom:.35rem}.arena-pending-desc{font-size:.85rem;color:var(--color-text-muted);margin-bottom:1rem;line-height:1.4}.arena-pending-pin{display:flex;gap:.5rem;justify-content:center}.arena-pin-input{width:80px;padding:.5rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:1.1rem;font-weight:700;text-align:center;letter-spacing:.15em}.arena-pin-input:focus{outline:0;border-color:var(--color-accent)}.arena-join-requests{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.5rem}.arena-join-request{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.2);border-radius:10px;animation:statStagger .3s ease both}.arena-join-request-name{font-size:.85rem;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arena-join-request-actions{display:flex;gap:.35rem;flex-shrink:0}.arena-join-request-btn{padding:.3rem .65rem;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;border:none;min-height:30px;transition:opacity .15s}.arena-join-request-btn:active{opacity:.8}.arena-join-approve{background:#34d399;color:#000}.arena-join-deny{background:rgba(239,68,68,.2);color:#f87171}@media (min-width:768px){.play-page{max-width:1100px;margin:0 auto}#screen-waiting .room-card{height:calc(100vh - 6rem);min-height:500px;max-height:none;overflow:hidden;padding:1.25rem 2rem 1.5rem;gap:.75rem}#screen-waiting .game-session-bar{margin-bottom:.5rem}#screen-waiting .room-header{text-align:center}#screen-waiting .room-code-section{display:flex;flex-direction:column;align-items:center}#screen-waiting .room-code-actions{justify-content:center}.room-code-tiles{gap:.5rem}.room-code-tile{width:44px;height:52px;font-size:1.3rem}.arena-qr-row canvas{width:100px!important;height:100px!important;image-rendering:pixelated}.waiting-qr-canvas{width:100px;height:100px;image-rendering:pixelated}.room-player-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}#screen-waiting .arena-chat{max-height:none}#screen-waiting .arena-chat-messages{min-height:80px}#screen-waiting .room-actions{border-top:1px solid rgba(255,255,255,.06);padding-top:.75rem}.profile-card-body{padding:0 3rem 2rem}}.arena-settings-overlay{position:fixed;inset:0;z-index:1000}.arena-settings-modal{display:none}