:root{--color-bg-primary: #F5F5F7;--color-bg-secondary: #FFFFFF;--color-bg-subtle: #E8E8ED;--color-text-primary: #1D1D1F;--color-text-secondary: #6E6E73;--color-accent-primary: #1A4B7A;--color-accent-hover: #3577B8;--color-correct: #34C759;--color-correct-dark: #248A3D;--color-wrong: #FF3B30;--color-wrong-dark: #D70015;--color-timer: #FF9500;--color-highlight: #5E5CE6;--color-teal: #1A4B7A;--color-teal-dark: #3577B8;--color-coral: #FF3B30;--color-coral-dark: #D70015;--color-sage: #34C759;--color-sage-dark: #248A3D;--color-tournament-gold: #D4A843;--font-title: "Bebas Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-soft: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-medium: 0 4px 6px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .06);--shadow-strong: 0 10px 25px rgba(0, 0, 0, .08), 0 4px 10px rgba(0, 0, 0, .06);--shadow-card: 0 2px 8px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .06);--transition-fast: .15s ease;--transition-medium: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}*{touch-action:manipulation}button,[role=button],.card,.nav-tab,.toolbar-tab,.mode-card,.answer-btn,.tutorial-answer-btn{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;-webkit-text-size-adjust:100%;touch-action:manipulation}body{font-family:var(--font-body);background:var(--color-bg-primary);color:var(--color-text-primary);min-height:100vh;overflow:hidden}.game-wrapper{height:100svh;height:100dvh;max-height:100svh;max-height:100dvh;display:flex;flex-direction:column;max-width:100%;margin:0 auto;padding:var(--space-xs);padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right));padding-top:env(safe-area-inset-top);padding-bottom:calc(60px + env(safe-area-inset-bottom));overflow:hidden}@media (min-width: 600px){.game-wrapper{max-width:1400px;padding:var(--space-md)}}.game-header{display:flex;justify-content:space-between;align-items:center;padding:8px var(--space-md);margin-bottom:0;gap:var(--space-xs)}.header-brand{display:flex;flex-direction:column}.logo{font-family:var(--font-title);font-size:1.45rem;font-weight:400;letter-spacing:.15em;color:#1a4b7a;line-height:1}.header-tagline{font-size:.55rem;font-weight:500;color:var(--color-text-secondary);letter-spacing:.03em;margin-top:2px;text-align:center;text-transform:uppercase}.logo-mind,.logo-sprint{color:#1a4b7a}.header-right{display:flex;align-items:center;gap:var(--space-xs);justify-content:flex-end}.header-avatar-wrap{display:none}.header-avatar-wrap.visible{display:block}.header-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.header-signin-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;gap:4px;font-family:var(--font-body);font-size:.75rem;font-weight:500}.header-signin-text{white-space:nowrap}.header-stats{display:flex;gap:var(--space-sm)}.header-stats:not(.hidden)~.auth-section{display:none}.stat-pill{display:flex;align-items:center;gap:var(--space-xs);background:var(--color-bg-secondary);padding:4px 8px;border-radius:var(--radius-full);box-shadow:var(--shadow-soft);font-weight:500;font-size:.85rem}.stat-pill .stat-icon{color:var(--color-correct)}.stat-wrong .stat-icon{color:var(--color-wrong)}.stat-timer .stat-icon{color:var(--color-timer)}.session-progress{background:var(--color-accent-primary);color:#fff}.session-progress .stat-icon{color:#fff}.session-progress .stat-label{color:#fffc}.stat-timer .stat-value{min-width:2.8rem;text-align:right;font-variant-numeric:tabular-nums}.stat-correct,.stat-wrong,.session-progress{display:none}.stat-value{font-family:var(--font-body);font-weight:600;font-size:.95rem}.stat-label{color:var(--color-text-secondary);font-size:.75rem}@media (min-width: 600px){.game-header{padding:var(--space-sm) var(--space-lg);margin-bottom:var(--space-sm);gap:var(--space-md)}.logo{font-size:1.6rem}.header-tagline{font-size:.7rem}.header-right{gap:var(--space-md)}.stat-pill{padding:var(--space-sm) var(--space-md);font-size:inherit}.stat-timer .stat-value{min-width:3.5rem}.stat-value{font-size:1.125rem}.stat-label{font-size:.875rem}}.auth-section,.user-section{display:flex;align-items:center;gap:var(--space-sm)}.auth-section .btn-google{padding:4px 8px;font-size:.75rem}.auth-section .btn-google .google-icon{width:14px;height:14px}.btn-google{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-bg-subtle);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);font-family:var(--font-body);font-weight:500;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}@media (hover: hover){.btn-google:hover{box-shadow:var(--shadow-medium)}}@media (min-width: 600px){.auth-section .btn-google{padding:var(--space-sm) var(--space-md);font-size:.9rem}.auth-section .btn-google .google-icon{width:18px;height:18px}}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-name{font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-small{padding:var(--space-xs) var(--space-md);font-size:.8rem}.btn-outline{background:transparent;border:1px solid var(--color-text-secondary);color:var(--color-text-secondary)}@media (hover: hover){.btn-outline:hover{background:var(--color-bg-subtle)}}.btn-share{background:var(--color-accent-primary);color:#fff;border:none;width:100%;margin-top:var(--space-sm)}@media (hover: hover){.btn-share:hover{background:var(--color-accent-hover)}}.btn-share.copied{background:var(--color-correct)}.bottom-toolbar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:var(--color-bg-secondary);border-top:1px solid var(--color-bg-subtle);padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:100}.toolbar-tab{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;color:var(--color-text-secondary);font-family:var(--font-body);font-size:.6rem;font-weight:500;cursor:pointer;padding:4px 12px;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent}.toolbar-icon{width:22px;height:22px}.toolbar-tab.active{color:#1a4b7a}.toolbar-tab.active .toolbar-icon{stroke-width:2.5}@media (min-width: 600px){.bottom-toolbar{padding:8px 0}.toolbar-tab{font-size:.7rem;padding:4px 16px}.toolbar-icon{width:24px;height:24px}}.nav-tab{-webkit-tap-highlight-color:transparent}.tab-content{display:none;flex:1;min-height:0;overflow-y:auto}.tab-content.active{display:flex;flex-direction:column}#gameTab.active{overflow-y:auto}#gameTab.active:has(.game-container:not(.hidden)){overflow:hidden}@media (min-width: 600px){#gameTab.active:has(.game-container:not(.hidden)){overflow-y:auto}}.start-screen{display:flex;align-items:flex-start;justify-content:center;padding:var(--space-md) var(--space-md) var(--space-lg);flex:1}.start-content{text-align:center;width:100%;max-width:340px}.welcome-card{background:#1a4b7a;padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-xl);text-align:center;margin-bottom:var(--space-md)}.welcome-card.hidden{display:none}.welcome-card-title{font-family:var(--font-title);font-size:1.6rem;color:#fff;letter-spacing:1px;margin:0 0 var(--space-sm)}.welcome-card .welcome-card-text{font-size:.95rem;color:#7dd3fc;line-height:1.5;margin:0 0 var(--space-md)}.welcome-card-text strong{color:#fff}.welcome-card-btn{background:#fff;color:var(--color-accent-primary);font-weight:700;font-size:1rem;padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-full);min-height:44px}.welcome-card-btn:active{background:#ffffffd9}.welcome-card-signin-nudge{color:#fca5a5;font-size:.85rem;margin:var(--space-sm) 0 0}.welcome-card-signin-nudge.hidden{display:none}.welcome-card-signin-btn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);font-weight:600;font-size:.9rem;padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-full);min-height:44px;margin-top:var(--space-sm)}.welcome-card-signin-btn:active{background:#ffffff1a}.welcome-card-signin-btn.hidden{display:none}.sprint-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:var(--space-lg)}.sprint-hero-logo{height:136px;width:auto;object-fit:contain;margin-bottom:var(--space-lg)}.sprint-hero-card{display:flex;flex-direction:column;align-items:center;width:100%}.sprint-hero-btn{padding:14px 44px;font-size:.95rem;font-weight:600;letter-spacing:.02em;box-shadow:0 2px 8px #1a4b7a40}.sprint-hero-subtitle{font-size:.8rem;color:var(--color-text-secondary);margin-top:var(--space-sm);margin-bottom:0}.sprint-hero-meta{margin-top:var(--space-md);display:flex;flex-direction:column;align-items:center;gap:2px}.sprint-hero-attempts{font-size:.75rem;color:var(--color-text-secondary);min-height:1em}.sprint-hero-leaderboard{background:none;border:none;font-family:var(--font-body);font-size:.85rem;color:var(--color-accent-primary);font-weight:600;cursor:pointer;text-decoration:none;padding:8px 0}.sprint-card-placement{display:block;font-size:.8rem;color:var(--color-accent-primary);font-weight:600;margin-top:var(--space-xs)}.practice-link{display:inline-block;background:none;border:none;color:var(--color-text-secondary);font-family:var(--font-body);font-size:.9rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px var(--space-md);margin-top:var(--space-xs)}.practice-link-subtext{display:block;font-size:.75rem;color:var(--color-text-secondary);margin-bottom:var(--space-md)}.start-content p{color:var(--color-text-secondary);margin-bottom:var(--space-md);font-size:.95rem}@media (min-width: 600px){.start-screen{min-height:400px}.start-content{max-width:380px}.sprint-hero-logo{height:180px}}.power-rank-banner{background:linear-gradient(135deg,#4a4a52,#5c5c66);color:#fff;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:.85rem;font-weight:600;text-align:center;line-height:1.5}.power-rank-banner .provisional-msg{color:#ffffffd9;font-weight:500}.power-rank-banner .rank-display{font-size:1.1rem;font-weight:700}.power-rank-banner .rank-number{color:gold;font-size:1.25rem}.power-rank-banner .momentum{margin-left:var(--space-sm)}.power-rank-banner .rank-up{color:#34c759}.power-rank-banner .rank-down{color:#ff3b30}.power-rank-banner .rank-new{color:#fff9;font-size:.8rem}@media (min-width: 600px){.power-rank-banner{padding:var(--space-md) var(--space-lg);font-size:.95rem}}.daily-limit-msg{margin-top:var(--space-lg);padding:var(--space-lg);background:var(--color-wrong);color:#fff;border-radius:var(--radius-lg);text-align:center}.daily-limit-msg p{margin:0;font-size:1.1rem;font-weight:600;color:#fff}.daily-limit-msg .limit-subtext{font-size:.9rem;font-weight:400;opacity:.9;margin-top:var(--space-xs)}.mode-selector{display:flex;justify-content:center;gap:var(--space-sm);margin:var(--space-lg) 0;max-width:260px;width:100%;margin-left:auto;margin-right:auto}.mode-card{background:var(--color-bg-secondary);border:2px solid var(--color-bg-subtle);border-radius:var(--radius-xl);padding:var(--space-lg) var(--space-sm);cursor:pointer;transition:all var(--transition-medium);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;box-shadow:var(--shadow-soft);min-height:140px;max-width:220px;width:100%;justify-content:center;-webkit-tap-highlight-color:transparent;position:relative}@media (hover: hover){.mode-card:hover{border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-medium)}}.mode-card:active{transform:translateY(0);box-shadow:var(--shadow-soft)}.mode-card .mode-icon{color:#8e8e93}.mode-card--active{border-color:#1a4b7a;background:#2b6cb00f;box-shadow:0 0 0 3px #0071e333,0 4px 12px #0071e31a}.mode-card--active .mode-icon,.mode-card--active .mode-name{color:#1a4b7a}.mode-card--active .mode-desc{color:#1a4b7a;opacity:.7}.mode-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;transition:color var(--transition-medium)}.mode-svg{width:48px;height:48px}.mode-name{font-weight:700;font-size:.95rem;color:var(--color-text-primary);letter-spacing:-.01em;line-height:1.2;transition:color var(--transition-medium)}.mode-desc{font-size:.7rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;transition:color var(--transition-medium)}.mode-play{font-size:.8rem;font-weight:700;color:#fff;background:#1a4b7a;padding:4px 14px;border-radius:var(--radius-full);margin-top:var(--space-xs);letter-spacing:.03em}.mode-badge{font-size:.7rem;font-weight:600;color:var(--color-accent-primary);background:#0071e314;padding:2px 8px;border-radius:var(--radius-full);margin-top:var(--space-xs)}.mode-info{text-align:center;margin-bottom:var(--space-md)}.mode-info-text{color:var(--color-text-secondary);font-size:.95rem}@media (min-width: 600px){.mode-selector{gap:var(--space-md);max-width:340px}.mode-card{padding:var(--space-xl) var(--space-lg);min-height:156px}.mode-name{font-size:1.05rem}.mode-desc{font-size:.75rem}}.start-signin{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-bg-subtle);text-align:center}.signin-prompt{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.btn-signin{width:100%;justify-content:center}.start-secondary-actions,#benefitsBtn{display:none}.game-container{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;flex:1;min-height:0;width:100%;margin:0 auto}@media (min-width: 600px){.game-container{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);max-width:600px}}.grid-panel{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);column-gap:clamp(4px,1.5vw,8px);row-gap:6px;padding:6px;background:var(--color-bg-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);width:100%;flex:1 1 0;min-height:0;min-width:0;max-height:65dvh;overflow:hidden}@media (min-width: 600px){.grid-panel{gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-xl);max-width:540px;min-height:320px}}.card{background:var(--color-bg-secondary);border-radius:6px;box-shadow:var(--shadow-card);display:grid;grid-template-rows:auto 1fr auto;padding:3px;cursor:default;transition:transform var(--transition-fast),box-shadow var(--transition-fast);position:relative;border:none;min-height:0;min-width:0;overflow:hidden}@media (hover: hover){.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}}.card--highlighted{animation:card-highlight-pulse 1.5s ease infinite;background:#0071e314;box-shadow:0 0 0 4px var(--color-accent-primary),0 0 24px #0071e34d;transform:scale(1.06);z-index:10}@keyframes card-highlight-pulse{0%,to{transform:scale(1.06);box-shadow:0 0 0 4px var(--color-accent-primary),0 0 24px #0071e34d}50%{transform:scale(1.04);box-shadow:0 0 0 3px var(--color-accent-primary),0 0 16px #0071e333}}.card-row{display:flex;justify-content:space-between;align-items:center}.corner-shape{color:var(--color-accent-primary);font-size:1.3rem;font-weight:400;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:1rem}.corner-shape svg{display:block}.corner-number{font-family:var(--font-body);font-weight:800;font-size:.95rem;color:var(--color-text-primary);min-width:1rem;text-align:center}@media (min-width: 600px){.card{padding:10px;border-radius:var(--radius-md)}.corner-shape{font-size:2.1rem;min-width:1.9rem}.corner-number{font-size:1.35rem;min-width:1.5rem;font-weight:700}}@media (min-width: 900px){.card{padding:14px}.corner-shape{font-size:2.5rem;min-width:2.2rem}.corner-number{font-size:1.5rem}}.card-center{position:relative;overflow:hidden;font-size:1.66rem}.card-icon{position:absolute;top:2px;right:2px;bottom:2px;left:2px;width:calc(100% - 4px);height:calc(100% - 4px);object-fit:contain}@media (min-width: 600px){.card-center{font-size:2.25rem}.card-icon{top:4px;right:4px;bottom:4px;left:4px;width:calc(100% - 8px);height:calc(100% - 8px)}}@media (min-width: 900px){.card-icon{top:6px;right:6px;bottom:6px;left:6px;width:calc(100% - 12px);height:calc(100% - 12px)}}.interaction-panel{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;width:100%;max-width:400px;margin:0 auto;padding:6px 0 max(24px,env(safe-area-inset-bottom,24px)) 0}.question-timer-bar{width:100%;height:3px;background:var(--color-bg-subtle);border-radius:2px;overflow:hidden;margin-bottom:0}.question-timer-bar-fill{height:100%;width:100%;background:var(--color-accent-primary);border-radius:2px}.question-timer-bar--warning .question-timer-bar-fill{background:var(--color-timer)}.question-timer-bar--danger .question-timer-bar-fill{background:var(--color-wrong)}.question-timeout{color:var(--color-wrong)!important;font-weight:800;animation:timeout-pulse .4s ease-in-out 2}@keyframes timeout-pulse{0%,to{opacity:1}50%{opacity:.4}}.question-container{text-align:center;margin-bottom:2px}.question-container.triple-gold-active{border:4px solid #FFD700;box-shadow:0 0 12px #ffd70066;border-radius:var(--radius-md);padding:var(--space-sm);position:relative;animation:triple-pulse .3s ease-in-out 3}@keyframes triple-pulse{0%,to{box-shadow:0 0 12px #ffd70066}50%{box-shadow:0 0 30px #ffd700e6,0 0 60px #ffd70066}}.question-container.triple-gold-active:before{content:"TRIPLE GOLD";position:absolute;top:-10px;left:50%;transform:translate(-50%);background:gold;color:#000;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;border-radius:var(--radius-full)}.question-container.clutch-active{border:4px solid #28A745;box-shadow:0 0 12px #28a74566;border-radius:var(--radius-md);padding:var(--space-sm);position:relative;animation:clutch-pulse .3s ease-in-out 3}@keyframes clutch-pulse{0%,to{box-shadow:0 0 12px #28a74566}50%{box-shadow:0 0 30px #28a745e6,0 0 60px #28a74566}}.question-container.clutch-active:before{content:"CLUTCH";position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#28a745;color:#fff;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;border-radius:var(--radius-full)}.question-container.double-clutch-active{border:4px solid #FF6B00;box-shadow:0 0 12px #ff6b0066;border-radius:var(--radius-md);padding:var(--space-sm);position:relative;animation:double-clutch-pulse .3s ease-in-out 3}@keyframes double-clutch-pulse{0%,to{box-shadow:0 0 12px #ff6b0066}50%{box-shadow:0 0 30px #ff6b00e6,0 0 60px #ff6b0066}}.question-container.double-clutch-active:before{content:"DOUBLE CLUTCH";position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#ff6b00;color:#fff;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;border-radius:var(--radius-full)}.question-container.final-duel-active{border:4px solid #0071E3;box-shadow:0 0 12px #0071e366;border-radius:var(--radius-md);padding:var(--space-sm);position:relative;animation:final-duel-pulse .3s ease-in-out 3}@keyframes final-duel-pulse{0%,to{box-shadow:0 0 12px #0071e366}50%{box-shadow:0 0 30px #0071e3e6,0 0 60px #0071e366}}.question-container.final-duel-active:before{content:"FINAL DUEL";position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#0071e3;color:#fff;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;border-radius:var(--radius-full)}.answer-btn--gold-correct{background:linear-gradient(135deg,gold,#ff8c00)!important;border-color:gold!important;color:#000!important}.speed-bonus-flash{position:absolute;top:-8px;right:-4px;background:var(--color-accent-primary);color:#fff;font-size:.7rem;font-weight:800;padding:2px 6px;border-radius:var(--radius-full);animation:speed-flash .7s ease forwards;pointer-events:none}@keyframes speed-flash{0%{opacity:0;transform:translateY(4px) scale(.8)}30%{opacity:1;transform:translateY(-2px) scale(1.1)}to{opacity:0;transform:translateY(-12px) scale(.9)}}.gold-rush-banner{background:linear-gradient(135deg,gold,#ff8c00);color:#000;font-weight:800;font-size:1.1rem;text-align:center;padding:12px 20px;border-radius:var(--radius-md);margin:12px 0;animation:gold-rush-entrance .6s ease}@keyframes gold-rush-entrance{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.question-number{font-size:.8rem;color:var(--color-text-secondary);margin:6px 0;font-weight:600;display:flex;align-items:center;justify-content:center;gap:4px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot--correct{background:var(--color-correct)}.dot--wrong{background:var(--color-wrong)}.dot--pending{background:var(--color-bg-subtle);border:1px solid #ccc}.question-text{font-size:1.1rem;font-weight:600;color:var(--color-text-primary);line-height:1.3;padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border-left:4px solid var(--color-accent-primary)}@media (min-width: 600px){.interaction-panel{gap:var(--space-sm);max-width:540px;padding:0 0 var(--space-sm) 0}.question-container{margin-bottom:0}.question-number{font-size:.875rem;margin-bottom:var(--space-sm);font-weight:500}.question-text{font-size:1.5rem;line-height:1.4;padding:var(--space-lg)}}.answer-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.answer-btn{position:relative;font-family:var(--font-body);font-size:1.2rem;font-weight:700;padding:12px 16px;background:var(--color-bg-secondary);border:none;border-radius:var(--radius-lg);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-soft);min-height:48px}@media (hover: hover){.answer-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}}.answer-btn:focus{outline:none}.answer-btn:active{transform:translateY(0)}.answer-btn--correct{background:var(--color-correct);border-color:var(--color-correct);color:#fff;animation:correct-pop .4s ease}.answer-btn--wrong{background:var(--color-wrong);border-color:var(--color-wrong);color:#fff;animation:wrong-shake .4s ease}.answer-btn--too-fast{background:#ff9500;border-color:#ff9500;color:#fff;font-weight:700;font-size:14px;animation:wrong-shake .4s ease}.answer-btn:disabled{cursor:not-allowed;opacity:.9}@keyframes correct-pop{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes wrong-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.hint-text{display:none;align-items:center;justify-content:center;gap:var(--space-sm);font-size:.875rem;color:var(--color-text-secondary);padding:var(--space-md);background:var(--color-bg-subtle);border-radius:var(--radius-md)}@media (min-width: 600px){.answer-panel{gap:var(--space-sm)}.answer-btn{font-size:1.4rem;padding:var(--space-md) var(--space-lg);min-height:56px}.hint-text{display:flex}}@media (min-width: 900px){.game-wrapper{padding:var(--space-lg) var(--space-2xl)}.game-container{max-width:860px;gap:var(--space-md);padding:var(--space-md) var(--space-lg)}.grid-panel{max-width:720px;min-height:400px;max-height:none}.card-center{font-size:2.75rem}.interaction-panel{max-width:720px;gap:var(--space-md)}.question-text{font-size:1.6rem;padding:var(--space-md) var(--space-lg)}.question-number{font-size:.95rem}.dot{width:10px;height:10px}.answer-panel{gap:var(--space-md)}.answer-btn{font-size:1.6rem;padding:var(--space-lg) var(--space-xl);min-height:64px;border-radius:var(--radius-xl)}.stat-pill{padding:var(--space-sm) var(--space-lg);font-size:1rem}.stat-value{font-size:1.25rem}.start-screen{align-items:center}.start-content{max-width:440px}.sprint-hero-logo{height:200px}.sprint-hero-btn{font-size:1rem;padding:16px 48px}.leaderboard-section{max-width:860px}}.leaderboard-section{max-width:600px;margin:0 auto;background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-md);box-shadow:var(--shadow-strong);height:calc(100vh - 160px);overflow-y:auto}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm);flex-wrap:wrap;gap:var(--space-sm)}.leaderboard-header h2{font-size:1.5rem;font-weight:600;margin:0}.leaderboard-filters{display:flex;flex-wrap:wrap;gap:6px;padding:var(--space-sm) 0;margin-bottom:var(--space-sm)}.lb-filter{background:var(--color-bg-subtle);border:none;border-radius:var(--radius-full);padding:4px 8px;font-family:var(--font-body);font-size:.75rem;font-weight:600;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}@media (hover: hover){.lb-filter:hover{color:var(--color-accent-primary)}}.lb-filter.active{background:var(--color-accent-primary);color:#fff}@media (min-width: 600px){.leaderboard-section{padding:var(--space-xl)}.leaderboard-header{margin-bottom:var(--space-lg);gap:var(--space-md)}.lb-filter{padding:6px 12px;font-size:.86rem}}.sort-active{color:var(--color-accent-primary)!important;font-weight:700!important}.user-rank{background:var(--color-accent-primary);color:#fff;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg)}.rank-label{font-weight:500;opacity:.9}.rank-value{font-size:1.5rem;font-weight:700}.rank-score{margin-left:auto;opacity:.9}.leaderboard-list{display:flex;flex-direction:column;gap:var(--space-sm)}.leaderboard-entry{padding:var(--space-sm);background:var(--color-bg-primary);border-radius:var(--radius-md);transition:transform var(--transition-fast)}@media (hover: hover){.leaderboard-entry:hover{transform:translate(4px)}}.leaderboard-entry[data-rank="1"]{background:linear-gradient(135deg,gold,#ffec80)}.leaderboard-entry[data-rank="2"]{background:linear-gradient(135deg,silver,#e8e8e8)}.leaderboard-entry[data-rank="3"]{background:linear-gradient(135deg,#cd7f32,#e8b87d)}.leaderboard-col-headers,.leaderboard-entry{display:grid;grid-template-columns:2rem 1fr 2.5rem 2.5rem 2.5rem 2rem;align-items:center;gap:var(--space-sm)}.leaderboard-col-headers{padding:var(--space-xs) var(--space-sm);font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-bg-subtle);margin-bottom:var(--space-sm)}.col-rank{text-align:center}.col-player{min-width:0}.col-correct,.col-speed,.col-prp,.col-games,.col-streak,.col-champ,.col-winpct,.col-ppm,.col-stat,.col-primary,.col-context{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-col-headers--daily,.leaderboard-entry--daily{grid-template-columns:1.2rem minmax(0,1fr) 2.8rem 2.8rem 2.8rem;gap:6px}.leaderboard-entry--daily .entry-avatar{width:20px;height:20px}.leaderboard-entry--daily .entry-rank{font-size:.85rem;font-weight:700;text-align:center;min-width:0}.leaderboard-entry--daily .entry-name{font-size:.85rem}.leaderboard-entry--daily .entry-speed,.leaderboard-entry--daily .entry-perfect,.leaderboard-entry--daily .entry-streak{font-size:.85rem;text-align:center;font-variant-numeric:tabular-nums}.leaderboard-col-headers--daily .col-stat{font-size:.7rem;text-align:center;overflow:visible}.col-highlight,.entry-highlight{color:var(--color-accent-primary);font-weight:700}.col-stat,.entry-stat{text-align:right;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 600px){.leaderboard-col-headers,.leaderboard-entry{grid-template-columns:2.5rem 1fr 3rem 3rem 3rem 2.5rem;gap:var(--space-md)}.leaderboard-col-headers--daily,.leaderboard-entry--daily{grid-template-columns:2rem 1fr 4rem 4rem 3.5rem;gap:var(--space-sm)}.leaderboard-entry--daily .entry-avatar{width:28px;height:28px}.leaderboard-entry--daily .entry-rank{font-size:1rem}.leaderboard-entry--daily .entry-speed,.leaderboard-entry--daily .entry-perfect,.leaderboard-entry--daily .entry-streak{font-size:.9rem}.leaderboard-col-headers--daily .col-stat{font-size:.75rem}.leaderboard-col-headers{padding:var(--space-sm) var(--space-md);font-size:.86rem}.leaderboard-entry{padding:var(--space-md)}}.entry-rank{font-weight:700;font-size:1.15rem;min-width:2rem;text-align:center}.entry-player{display:flex;align-items:center;gap:var(--space-xs);min-width:0;overflow:hidden}.entry-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;border:2px solid white;box-shadow:var(--shadow-soft);flex-shrink:0}.entry-name{font-weight:500;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-correct{font-family:var(--font-body);font-weight:700;font-size:1.05rem;color:var(--color-accent-primary);min-width:3rem;text-align:right}.entry-time{font-family:var(--font-body);font-weight:500;font-size:.85rem;color:var(--color-text-primary);min-width:3.5rem;text-align:right}.entry-rating{font-family:var(--font-body);font-weight:700;font-size:1.05rem;color:var(--color-highlight);min-width:3.5rem;text-align:right}.entry-prc{font-family:var(--font-body);font-weight:500;font-size:.85rem;color:var(--color-text-primary);min-width:2.5rem;text-align:right}.entry-accuracy,.entry-speed,.entry-perfect,.entry-streak{font-family:var(--font-body);font-weight:600;font-size:.75rem;color:var(--color-text-primary);text-align:right}.entry-games{font-family:var(--font-body);font-weight:500;font-size:.85rem;color:var(--color-text-secondary);text-align:right}.entry-accuracy.entry-highlight,.entry-speed.entry-highlight,.entry-perfect.entry-highlight,.entry-streak.entry-highlight{font-weight:700;font-size:.9rem;color:var(--color-accent-primary)}@media (min-width: 600px){.entry-rank{font-size:1.29rem;min-width:2.5rem}.entry-avatar{width:32px;height:32px}.entry-name{font-size:inherit}.entry-accuracy,.entry-speed,.entry-perfect,.entry-streak{font-size:.85rem}.entry-accuracy.entry-highlight,.entry-speed.entry-highlight,.entry-perfect.entry-highlight,.entry-streak.entry-highlight{font-size:1.05rem}}.leaderboard-separator{text-align:center;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-md) 0;border-top:1px dashed var(--color-bg-subtle);margin-top:var(--space-sm)}.leaderboard-entry--provisional{opacity:.65;border:1px dashed var(--color-bg-subtle);background:transparent}.leaderboard-entry--provisional .entry-rank{color:var(--color-text-secondary);font-weight:500}.provisional-badge{display:block;font-size:.6rem;font-weight:600;color:var(--color-timer);text-transform:uppercase;letter-spacing:.03em;margin-top:2px}.leaderboard-mode-toggle{display:flex;justify-content:center;gap:6px;margin-bottom:var(--space-sm)}.entry-champ,.entry-stat{font-family:var(--font-body);font-weight:500;font-size:.86rem;color:var(--color-text-secondary);text-align:right}.entry-champ.entry-highlight,.entry-stat.entry-highlight{font-weight:700;font-size:.9rem;color:var(--color-accent-primary)}.entry-matches{font-family:var(--font-body);font-weight:500;font-size:.85rem;color:var(--color-text-secondary);text-align:right}@media (min-width: 600px){.entry-champ,.entry-stat{font-size:.98rem}.entry-champ.entry-highlight,.entry-stat.entry-highlight{font-size:1.05rem}}.leaderboard-search-wrap{position:relative;margin-bottom:var(--space-sm)}.leaderboard-search{width:100%;padding:8px 32px 8px 12px;border:1px solid var(--color-bg-subtle);border-radius:var(--radius-full);font-family:var(--font-body);font-size:.85rem;background:var(--color-bg-primary);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast)}.leaderboard-search:focus{border-color:var(--color-accent-primary)}.leaderboard-search::placeholder{color:var(--color-text-secondary);opacity:.6}.leaderboard-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;color:var(--color-text-secondary);cursor:pointer;padding:2px 6px;line-height:1}.sort-arrow{font-size:.65em;margin-left:2px;opacity:.9}.leaderboard--focused .leaderboard-col-headers,.leaderboard--focused .leaderboard-entry{grid-template-columns:2rem 1fr 5rem 2.5rem}.entry-primary-stat{font-family:var(--font-body);font-weight:700;font-size:1rem;color:var(--color-accent-primary);text-align:right}@media (min-width: 600px){.leaderboard--focused .leaderboard-col-headers,.leaderboard--focused .leaderboard-entry{grid-template-columns:2.5rem 1fr 6rem 3rem}.entry-primary-stat{font-size:1.1rem}}.personal-insights-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-bg-subtle)}.insights-subtitle{text-align:center;font-size:.75rem;color:var(--color-text-secondary);margin:-8px 0 var(--space-md);letter-spacing:.02em;text-transform:uppercase}.stat-card--insight{border-left:3px solid var(--color-accent-primary, #0071E3)}.tournament-stats-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-bg-subtle)}.tournament-stats-title{text-align:center;font-size:1.1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-md)}.tournament-stats-subtitle{text-align:center;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-bg-subtle);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.post-game-rank{font-size:.9rem;font-weight:700;margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md)}@media (min-width: 600px){.post-game-rank{font-size:1rem}}.post-game-rank.ranked{background:linear-gradient(135deg,#1d1d1f,#2d2d30);color:#fff}.post-game-rank.ranked .rank-number{color:gold;font-size:1.15rem}.post-game-rank.ranked .momentum{margin-left:var(--space-sm)}.post-game-rank.ranked .rank-up{color:#34c759}.post-game-rank.ranked .rank-down{color:#ff3b30}.post-game-rank.ranked .rank-new{color:#fff9;font-size:.8rem}.post-game-rank.provisional{background:var(--color-bg-subtle);color:var(--color-text-secondary);font-weight:500}.mps-explainer{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);margin-bottom:var(--space-md);position:relative}.mps-explainer-label{font-size:.8rem;color:var(--color-text-secondary);font-weight:500}.mps-explainer-toggle{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--color-bg-subtle);color:var(--color-text-secondary);font-size:.7rem;font-weight:700;cursor:pointer;border:none;font-family:var(--font-body)}.mps-explainer-popup{position:absolute;top:calc(100% + var(--space-sm));left:50%;transform:translate(-50%);background:var(--color-text-primary);color:#fff;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.8rem;line-height:1.5;white-space:nowrap;z-index:10;box-shadow:var(--shadow-medium)}.mps-explainer-popup.hidden{display:none}.leaderboard-empty{text-align:center;padding:var(--space-2xl);color:var(--color-text-secondary)}.loading-spinner{text-align:center;padding:var(--space-xl);color:var(--color-text-secondary)}.stats-section{max-width:600px;margin:0 auto;padding:var(--space-xl)}.stats-logged-out{text-align:center;background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-strong)}.stats-logged-out p{font-size:1.25rem;margin-bottom:var(--space-lg);color:var(--color-text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-xl)}.stat-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;box-shadow:var(--shadow-soft)}.stat-card--accent .stat-card-value{color:var(--color-timer)}.stat-card-value{font-size:2.5rem;font-weight:700;color:var(--color-accent-primary);font-family:var(--font-body)}.stat-card-label{font-size:.9rem;color:var(--color-text-secondary);margin-top:var(--space-sm)}.stat-card--hero{background:var(--color-accent-primary);color:#fff;border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;box-shadow:var(--shadow-medium);margin-bottom:var(--space-md)}.stat-card--hero .stat-card-value{font-size:3rem;color:#fff}.stat-card--hero .stat-card-label{color:#ffffffd9}.stat-card--hero .stat-card-sublabel{color:#ffffffb3}.stats-grid--2col{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-md)}.stats-grid--3col{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-md)}.stats-grid--3col>.stat-card{flex:0 1 calc(50% - var(--space-md));min-width:120px}@media (min-width: 600px){.stats-grid--3col>.stat-card{flex:0 1 calc(33.333% - var(--space-md))}}.stat-card--compact{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-md);text-align:center;box-shadow:var(--shadow-soft)}.stat-card--compact .stat-card-value{font-size:1.75rem}.stat-card--compact .stat-card-label{font-size:.8rem}.stat-card-sublabel{font-size:.75rem;color:var(--color-text-secondary);margin-top:var(--space-xs)}.perfect-badge{display:inline-block;background:var(--color-correct);color:#fff;font-size:.6rem;font-weight:700;padding:1px 5px;border-radius:var(--radius-full);margin-left:4px;vertical-align:middle;text-transform:uppercase}.results-perfect{font-size:.95rem;font-weight:700;margin-bottom:var(--space-sm)}.results-perfect.is-perfect{color:var(--color-correct)}.results-perfect.not-perfect{color:var(--color-text-secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);z-index:100;opacity:1;transition:opacity var(--transition-medium)}.modal-overlay.hidden{opacity:0;pointer-events:none}.modal{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-2xl);text-align:center;box-shadow:var(--shadow-strong);max-width:400px;width:100%;transform:scale(1);transition:transform var(--transition-medium)}.modal-overlay.hidden .modal{transform:scale(.95)}.modal-icon{font-size:3rem;margin-bottom:var(--space-md)}.modal h3{font-size:1.5rem;margin-bottom:var(--space-sm)}.modal p{color:var(--color-text-secondary);margin-bottom:var(--space-md)}.correct-answer{font-family:var(--font-body);font-size:2.5rem;font-weight:700;color:var(--color-accent-primary);margin-bottom:var(--space-xl)}.results-celebration{font-size:4rem;margin-bottom:var(--space-md);animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.match-report-heading{font-family:var(--font-title);font-size:.85rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 var(--space-xs)}.results-modal h2{font-size:2rem;margin-bottom:var(--space-xs)}.results-coach-line{font-size:.95rem;color:var(--color-text-secondary);margin-bottom:var(--space-md);font-style:italic}.results-score{margin-bottom:var(--space-lg)}.score-circle{display:inline-flex;align-items:center;justify-content:center;width:140px;height:140px;background:var(--color-accent-primary);border-radius:50%;color:#fff}.score-percent{font-size:3rem;font-weight:700}.score-symbol{font-size:1.5rem;font-weight:600}.results-text{font-size:1.125rem;color:var(--color-text-secondary);margin-bottom:var(--space-sm);line-height:1.5}.results-text strong{color:var(--color-accent-primary)}.results-time{font-family:var(--font-body);font-size:1.25rem;font-weight:600;color:var(--color-timer);margin-bottom:var(--space-sm)}.results-total-time{font-size:.95rem;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.results-sba{font-size:.95rem;font-weight:600;color:var(--color-accent-primary);margin-bottom:var(--space-sm)}.results-comeback{font-family:var(--font-title);font-size:1.1rem;font-weight:700;color:var(--color-correct);letter-spacing:1px;margin-bottom:var(--space-sm)}.results-save-status{font-size:.9rem;color:var(--color-correct);margin-bottom:var(--space-lg)}.btn{font-family:var(--font-body);font-size:1rem;font-weight:600;padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-sm);transition:all var(--transition-fast)}.btn-primary{background:var(--color-accent-primary);color:#fff}@media (hover: hover){.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}}.btn-primary:active{transform:translateY(0)}.btn-large{font-size:1.1rem;padding:var(--space-md) var(--space-xl)}@media (min-width: 600px){.btn-large{font-size:1.125rem;padding:var(--space-lg) var(--space-2xl)}}.hidden{display:none!important}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{animation:fade-in .3s ease backwards}.card:nth-child(1){animation-delay:.02s}.card:nth-child(2){animation-delay:.04s}.card:nth-child(3){animation-delay:.06s}.card:nth-child(4){animation-delay:.08s}.card:nth-child(5){animation-delay:.1s}.card:nth-child(6){animation-delay:.12s}.card:nth-child(7){animation-delay:.14s}.card:nth-child(8){animation-delay:.16s}.card:nth-child(9){animation-delay:.18s}.card:nth-child(10){animation-delay:.2s}.card:nth-child(11){animation-delay:.22s}.card:nth-child(12){animation-delay:.24s}@keyframes highlight-new{0%{background-color:var(--color-correct)}to{background-color:var(--color-bg-primary)}}.leaderboard-entry.new-entry{animation:highlight-new 2s ease-out}.countdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a4b7a;display:flex;align-items:center;justify-content:center;z-index:200}.countdown-content{text-align:center;color:#fff}.countdown-opponent{font-family:var(--font-body);font-size:1.1rem;font-weight:600;color:#ffffffd9;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-sm)}.countdown-number{font-family:var(--font-title);font-size:8rem;font-weight:400;color:#fff;animation:countdown-pulse 1s ease infinite}.countdown-text{font-family:var(--font-body);font-size:1.25rem;margin-top:var(--space-md);opacity:.9;max-width:300px;text-align:center}.countdown-forfeit-warning{font-family:var(--font-body);font-size:13px;color:#fff9;margin-top:var(--space-lg)}.interaction-panel--hidden{position:relative}.interaction-panel--hidden:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-lg);z-index:10;pointer-events:none}.interaction-panel--hidden:after{content:"Get Ready!";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;font-weight:700;color:var(--color-accent-primary);z-index:11;text-align:center;white-space:nowrap}@keyframes countdown-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.results-buttons{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.results-buttons-secondary{display:flex;gap:var(--space-sm);justify-content:center}.results-buttons-secondary .btn{flex:1;max-width:140px}.howto-section{max-width:520px;margin:0 auto;padding:var(--space-xl) var(--space-md)}.howto-section h2{text-align:center;font-size:1.75rem;margin-bottom:var(--space-xl);color:var(--color-accent-primary)}.howto-question-display{text-align:center;margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.howto-question-label{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:var(--space-sm)}.howto-question-example{font-size:1.2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-sm);display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.howto-question-example svg{color:var(--color-accent-primary);vertical-align:middle;width:1.2em;height:1.2em}.howto-question-sub{color:var(--color-text-secondary);font-size:.9rem}.howto-step{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg);background:var(--color-bg-secondary);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.howto-number{flex-shrink:0;width:32px;height:32px;background:var(--color-accent-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.howto-content h3{font-size:1rem;margin-bottom:var(--space-sm);color:var(--color-text-primary)}.howto-content p{color:var(--color-text-secondary);margin-bottom:var(--space-sm);font-size:.9rem;line-height:1.5}.howto-content p svg{color:var(--color-accent-primary);vertical-align:middle}.howto-card-demo{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin:var(--space-md) 0}.howto-minicard{background:var(--color-bg-secondary);border-radius:6px;box-shadow:var(--shadow-card);display:grid;grid-template-rows:auto 1fr auto;padding:3px;width:140px;aspect-ratio:4 / 5;overflow:hidden}.howto-minicard .corner-shape svg{display:block;width:1em;height:1em}.howto-corner-highlight{background:#ff950033;border-radius:4px;box-shadow:0 0 0 2px var(--color-timer);padding:2px 4px}.howto-match-arrow{font-size:1.5rem;color:var(--color-timer);font-weight:700}.howto-result{background:var(--color-bg-subtle);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-size:.9rem;border-left:3px solid var(--color-accent-primary);margin-top:var(--space-sm);display:flex;align-items:center;gap:4px}.howto-result svg{color:var(--color-accent-primary);vertical-align:middle}.howto-solve{text-align:center;font-size:1.2rem;font-weight:700;color:var(--color-correct-dark);margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:#34c7591a;border-radius:var(--radius-md)}.howto-tips{background:var(--color-bg-secondary);border-left:4px solid var(--color-accent-primary);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-xl)}.howto-tips ul{list-style:none;padding:0;margin:0}.howto-tips li{margin-bottom:var(--space-xs);padding-left:var(--space-md);position:relative;font-size:.9rem;color:var(--color-text-secondary)}.howto-tips li:before{content:"→";position:absolute;left:0;color:var(--color-accent-primary)}.howto-tips li:last-child{margin-bottom:0}.howto-play-btn{display:block;width:100%;max-width:300px;margin:0 auto var(--space-xl)}.howto-login-cta{text-align:center;padding:var(--space-lg);background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.howto-login-cta p{font-weight:600;margin-bottom:var(--space-md);color:var(--color-text-primary)}@media (min-width: 600px){.howto-step{flex-direction:row;gap:var(--space-lg)}.howto-number{width:36px;height:36px;font-size:1.1rem}.howto-minicard{width:170px}.howto-question-example{font-size:1.4rem}}.ob-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a4b7a;display:flex;align-items:center;justify-content:center;z-index:310;padding:var(--space-md);overflow-y:auto}.ob-overlay.hidden{display:none}.ob-container{width:100%;max-width:480px;max-height:95vh;overflow-y:auto;position:relative;padding-bottom:var(--space-2xl)}.ob-skip{position:fixed;top:calc(env(safe-area-inset-top,0px) + 48px);right:var(--space-md);background:none;border:1px solid rgba(255,255,255,.3);color:#fff9;font-family:var(--font-body);font-size:.85rem;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);cursor:pointer;z-index:311;transition:all var(--transition-fast)}.ob-skip:hover{color:#fff;border-color:#fff9}.ob-learn-btn{display:block;margin:var(--space-md) auto 0;background:none;border:1.5px solid var(--color-accent-primary);color:var(--color-accent-primary);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);min-height:44px;-webkit-tap-highlight-color:transparent}.ob-learn-btn.hidden{display:none}.ob-welcome{text-align:center;padding:var(--space-2xl) var(--space-md)}.ob-welcome-title{font-family:var(--font-title);font-size:2.5rem;color:#fff;letter-spacing:1px;margin:0 0 var(--space-sm)}.ob-welcome-sub{font-size:1.35rem;color:#7dd3fc;font-weight:600;margin:0 0 var(--space-lg)}.ob-welcome-desc{font-size:1.1rem;color:#fffc;line-height:1.6;margin:0 0 var(--space-xl)}.ob-start-btn{font-size:1.1rem;padding:var(--space-md) var(--space-2xl);background:#fff;color:#1a4b7a;font-weight:700}.ob-start-btn:active{background:#ffffffd9}.ob-game{display:flex;flex-direction:column;gap:var(--space-md)}.ob-header{display:flex;justify-content:space-between;align-items:center}.ob-progress{font-size:.8rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:1px}.ob-timer{font-size:.9rem;font-weight:700;color:var(--color-timer);font-variant-numeric:tabular-nums}.ob-timer--inactive{color:#ffffff4d}.ob-guide{background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);text-align:center}.ob-guide-message{font-size:1.1rem;font-weight:700;color:#fff;margin:0 0 var(--space-xs)}.ob-guide-sub{font-size:.85rem;color:#ffffffd9;margin:0;line-height:1.5}.ob-board{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(3px,1vw,6px);padding:var(--space-sm);background:var(--color-bg-subtle);border-radius:var(--radius-md);transition:box-shadow .3s ease}.ob-board .card{font-size:clamp(.55rem,2vw,.75rem)}.ob-board .card-center{aspect-ratio:1}.ob-card--highlight{animation:ob-pulse 1.2s ease infinite;box-shadow:0 0 0 3px var(--color-accent-primary),0 0 20px #2b6cb080;z-index:5;position:relative}@keyframes ob-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.ob-card--highlight{overflow:visible!important}.ob-card--highlight .card-row{overflow:visible}.ob-corner--highlight{background:var(--color-accent-primary);color:#fff!important;border-radius:6px;transform:scale(1.8);position:relative;z-index:10;padding:4px 6px;box-shadow:0 0 12px #2b6cb0cc;transition:transform .3s ease,background .3s ease}.ob-corner--highlight svg{stroke:#fff!important}.ob-highlight{box-shadow:0 0 0 2px var(--color-accent-primary),0 0 15px #2b6cb066;border-radius:var(--radius-md)}.ob-question{text-align:center;padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);border-left:4px solid var(--color-accent-primary);transition:box-shadow .3s ease}.ob-question-text{font-size:1.15rem;font-weight:700;color:var(--color-text-primary)}.ob-answers{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);transition:box-shadow .3s ease}.ob-answers.hidden{display:none}.ob-answer-btn{font-family:var(--font-body);font-size:1.2rem;font-weight:700;padding:var(--space-md);background:var(--color-bg-secondary);border:2px solid var(--color-bg-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;min-height:48px}.ob-answer-btn:disabled{opacity:1;cursor:default}.ob-answer-btn:not(:disabled):active{transform:scale(.97)}.ob-answer--correct{background:var(--color-correct);border-color:var(--color-correct);color:#fff;opacity:1!important;animation:correct-pop .4s ease}.ob-answer--wrong{background:var(--color-wrong);border-color:var(--color-wrong);color:#fff;opacity:1!important;animation:wrong-shake .4s ease}.ob-actions{display:flex;justify-content:center;gap:var(--space-sm)}.ob-next-btn{padding:14px 48px;font-size:1.1rem;background:#fff;color:#1a4b7a;font-weight:700;border-radius:var(--radius-full);box-shadow:0 4px 12px #00000040;min-height:52px;letter-spacing:.02em}.ob-next-btn:active{background:#ffffffe6;box-shadow:0 2px 6px #0003;transform:scale(.97)}.ob-help-btn{font-size:1rem;font-weight:600;color:#fff;background:#ffffff26;border:2px solid rgba(255,255,255,.5);padding:14px 32px;border-radius:12px;min-height:48px}.ob-help-btn:hover{color:#fff;background:#ffffff40;border-color:#ffffffb3}.ob-complete{text-align:center;padding:var(--space-2xl) var(--space-md)}.ob-complete-title{font-family:var(--font-title);font-size:2rem;color:#fff;margin:0 0 var(--space-sm)}.ob-complete-sub{font-size:.95rem;color:#ffffffbf;margin:0 0 var(--space-lg);line-height:1.5}.ob-complete-academy-sub{font-size:.8rem;color:#ffffff8c;margin:var(--space-xs) 0 0}.ob-complete-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg)}.ob-complete-btn{font-size:1.1rem;font-weight:700;padding:16px 36px;border-radius:var(--radius-full);min-height:52px;width:100%;max-width:320px}.ob-complete-btn.btn-primary{background:#fff;color:#1a4b7a;box-shadow:0 4px 12px #00000040}.ob-complete-btn.btn-primary:active{background:#ffffffe6;transform:scale(.97)}.ob-complete-btn.btn-outline{background:transparent;border:2px solid white;color:#fff;box-shadow:0 2px 8px #00000026}.ob-complete-btn.btn-outline:active{background:#ffffff26;transform:scale(.97)}@media (min-width: 600px){.ob-container{max-width:560px}.ob-welcome-title{font-size:3rem}.ob-board .card{font-size:.8rem}}.jav-ob-guide-card{text-align:center;padding:var(--space-2xl) var(--space-md)}.jav-ob-guide-title{font-family:var(--font-title);font-size:1.6rem;color:#fff;margin:0 0 var(--space-md)}.jav-ob-guide-body{font-size:1rem;line-height:1.5;color:#ffffffd9;margin:0 0 var(--space-xl);max-width:320px;margin-left:auto;margin-right:auto}.jav-ob-guide-btn{font-size:1rem;padding:14px 40px;min-height:48px}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a4b7a;display:flex;align-items:center;justify-content:center;z-index:300;padding:var(--space-md);overflow-y:auto}.tutorial-overlay.hidden{display:none}.tutorial-container{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-md);max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-strong)}.tutorial-header{text-align:center;margin-bottom:var(--space-lg)}.tutorial-title{font-size:1.5rem;color:var(--color-accent-primary);margin-bottom:var(--space-sm)}.tutorial-progress{display:flex;justify-content:center;gap:var(--space-sm)}.tutorial-step-indicator{background:var(--color-bg-subtle);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:.9rem;font-weight:600;color:var(--color-accent-primary)}.tutorial-instruction{background:var(--color-accent-primary);color:#fff;padding:var(--space-lg);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);text-align:center;font-size:1.1rem;line-height:1.5}.tutorial-instruction p{margin:0;color:#fff}.tutorial-instruction strong{color:gold}.tutorial-game-area{display:flex;flex-direction:column;gap:var(--space-lg);margin-bottom:var(--space-lg)}@media (min-width: 600px){.tutorial-game-area{flex-direction:row;align-items:flex-start}}.tutorial-board{display:grid;grid-template-columns:repeat(4,1fr);column-gap:clamp(4px,1.5vw,8px);row-gap:6px;padding:6px;background:var(--color-bg-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);width:100%}.tutorial-board .card-center{aspect-ratio:1}.tutorial-board .card--tutorial-highlight{animation:tutorial-pulse 1s ease infinite;box-shadow:0 0 0 3px var(--color-timer),0 0 15px #ff950080;z-index:5;position:relative}@keyframes tutorial-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.tutorial-question-area{flex:1;display:flex;flex-direction:column;gap:var(--space-md)}.tutorial-question{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);border-left:4px solid var(--color-accent-primary);box-shadow:var(--shadow-soft);text-align:center}.tutorial-highlight-box{background:var(--color-bg-subtle);padding:var(--space-md);border-radius:var(--radius-md);border:2px dashed var(--color-timer)}.tutorial-highlight-box.hidden{display:none}.highlight-label{display:block;font-weight:700;color:var(--color-timer);margin-bottom:var(--space-xs)}.highlight-value{font-size:1.1rem;color:var(--color-text-primary)}.tutorial-answers{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.tutorial-answers.hidden{display:none}.tutorial-answer-btn{font-family:var(--font-body);font-size:1.3rem;font-weight:700;padding:var(--space-md);background:var(--color-bg-secondary);border:2px solid var(--color-bg-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}@media (hover: hover){.tutorial-answer-btn:hover{background:var(--color-bg-subtle);transform:translateY(-2px)}}.tutorial-answer-btn--correct{background:var(--color-correct);border-color:var(--color-correct);color:#fff;animation:correct-pop .4s ease}.tutorial-answer-btn--wrong{background:var(--color-wrong);border-color:var(--color-wrong);color:#fff;animation:wrong-shake .4s ease}.tutorial-answer-btn--hint{animation:hint-pulse 1.5s ease infinite;box-shadow:0 0 0 3px #34c75980}@keyframes hint-pulse{0%,to{box-shadow:0 0 0 3px #34c7594d}50%{box-shadow:0 0 0 6px #34c75999}}.tutorial-actions{display:flex;flex-direction:column-reverse;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--color-bg-subtle)}.tutorial-actions .btn{width:100%}.tutorial-skip{font-size:.9rem}@media (min-width: 600px){.tutorial-container{padding:var(--space-xl)}.tutorial-title{font-size:1.75rem}.tutorial-board{flex:1;max-width:540px}.tutorial-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:var(--space-md)}.tutorial-actions .btn{width:auto}}.h2h-lobby,.h2h-waiting,.h2h-opponent-playing,.h2h-reveal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--space-md)}.h2h-lobby.hidden,.h2h-waiting.hidden,.h2h-opponent-playing.hidden,.h2h-reveal.hidden{display:none}.h2h-lobby-content,.h2h-waiting-content{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-2xl);max-width:400px;width:100%;text-align:center}.h2h-lobby-content h2{font-size:2rem;margin-bottom:var(--space-sm)}.h2h-lobby-desc{color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.h2h-options{display:flex;flex-direction:column;gap:var(--space-md)}.h2h-divider{color:var(--color-text-secondary);font-size:.9rem}.h2h-challenge{display:flex;gap:var(--space-sm)}.h2h-code-input{flex:1;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-bg-subtle);border-radius:var(--radius-md);font-size:1rem;text-align:center;text-transform:uppercase}.h2h-back{margin-top:var(--space-lg)}.h2h-waiting-spinner{width:60px;height:60px;border:4px solid var(--color-bg-subtle);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-lg)}.h2h-waiting-subtext{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:var(--space-lg)}.h2h-challenge-code{background:var(--color-bg-subtle);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.code-label{font-size:.85rem;color:var(--color-text-secondary)}.code-value{font-size:1.5rem;font-weight:800;color:var(--color-accent-primary);margin:0 var(--space-sm);letter-spacing:.1em}.h2h-opponent-content{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-2xl);text-align:center;max-width:400px}.h2h-player-done{margin-bottom:var(--space-xl)}.done-icon{display:inline-block;width:60px;height:60px;background:var(--color-correct);color:#fff;border-radius:50%;font-size:2rem;line-height:60px;margin-bottom:var(--space-md)}.h2h-opponent-status{display:flex;align-items:center;gap:var(--space-md);justify-content:center;padding:var(--space-md);background:var(--color-bg-subtle);border-radius:var(--radius-md)}.opponent-avatar{width:50px;height:50px;border-radius:50%;background:var(--color-accent-primary)}.opponent-progress{text-align:left}.opponent-name{font-weight:700}.opponent-round{font-size:.9rem;color:var(--color-text-secondary)}.h2h-reveal-content{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:500px;width:100%;text-align:center}.h2h-reveal-title{font-size:1.75rem;margin-bottom:var(--space-lg);color:var(--color-accent-primary)}.h2h-scoreboard{background:var(--color-bg-subtle);border-radius:var(--radius-lg);padding:var(--space-md);margin-bottom:var(--space-lg);font-size:.9rem}.scoreboard-header{display:grid;grid-template-columns:1fr 2fr 1fr;gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-bg-primary);margin-bottom:var(--space-sm)}.player-label{font-weight:700;font-size:.9rem}.quarter-labels{display:flex;justify-content:space-around;font-size:.75rem;color:var(--color-text-secondary)}.scoreboard-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-sm);padding:var(--space-sm) 0;align-items:center}.scoreboard-row .my-score,.scoreboard-row .opp-score{font-size:1.5rem;font-weight:700}.scoreboard-row .my-score{color:var(--color-accent-primary)}.scoreboard-row .opp-score{color:var(--color-timer)}.quarter-indicator{font-size:.8rem;color:var(--color-text-secondary);background:var(--color-bg-secondary);padding:2px 8px;border-radius:var(--radius-sm)}.scoreboard-halftime{background:linear-gradient(90deg,var(--color-accent-primary) 0%,var(--color-timer) 100%);color:#fff;border-radius:var(--radius-sm);margin:var(--space-sm) 0}.scoreboard-halftime .halftime-label{font-weight:700;font-size:.75rem}.scoreboard-halftime .my-halftime,.scoreboard-halftime .opp-halftime{font-weight:700;font-size:1.25rem}.scoreboard-final{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-sm);padding:var(--space-md) 0;border-top:3px solid var(--color-text-primary);margin-top:var(--space-sm);align-items:center}.scoreboard-final .my-final,.scoreboard-final .opp-final{font-size:2rem;font-weight:800}.scoreboard-final .my-final{color:var(--color-accent-primary)}.scoreboard-final .opp-final{color:var(--color-timer)}.final-label{font-weight:800;font-size:1rem;background:var(--color-text-primary);color:#fff;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm)}@media (min-width: 600px){.h2h-scoreboard{font-size:inherit}.scoreboard-final .my-final,.scoreboard-final .opp-final{font-size:2.5rem}}.scoreboard-row.revealing .my-score,.scoreboard-row.revealing .opp-score{animation:score-reveal .5s ease}@keyframes score-reveal{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.scoreboard-final.revealing{animation:final-reveal 1s ease}@keyframes final-reveal{0%{transform:scale(.8);opacity:0}30%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.h2h-challenge-created,.h2h-match-setup,.h2h-match-report{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:200;padding:var(--space-md);overflow-y:auto}.h2h-challenge-created.hidden,.h2h-match-setup.hidden,.h2h-match-report.hidden{display:none}.h2h-challenge-created-content,.h2h-match-setup-content{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-2xl);max-width:400px;width:100%;text-align:center}.h2h-challenge-desc{color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.h2h-code-display{background:var(--color-bg-subtle);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-md);margin-bottom:var(--space-xl)}.h2h-code-big{display:block;font-size:2.5rem;font-weight:800;letter-spacing:.2em;font-family:SF Mono,Fira Code,monospace;color:var(--color-accent-primary);margin-bottom:var(--space-md)}.h2h-share-row{display:flex;gap:var(--space-sm);justify-content:center;margin-top:var(--space-sm)}.h2h-error{color:#e53e3e;background:#fff0f0;padding:10px 14px;border-radius:8px;text-align:center;font-size:14px;margin:8px 0 0}.h2h-match-report-content{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:500px;width:100%}.h2h-match-report-actions{display:flex;gap:var(--space-sm);justify-content:center;margin-top:var(--space-lg);max-width:500px;width:100%}.h2h-match-tagline{color:var(--color-text-secondary);font-style:italic;margin:var(--space-md) 0}.h2h-my-score{margin-bottom:var(--space-md)}.h2h-submitted-card{text-align:center}.h2h-submitted-scoreboard{background:var(--color-bg-subtle);border-radius:var(--radius-md);padding:10px 8px;margin-bottom:var(--space-md)}.h2h-submitted-sb-row{display:grid;grid-template-columns:2.5rem repeat(4,1fr) 1.2fr;align-items:center;gap:2px;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);padding:2px 0}.h2h-submitted-sb-values{font-size:1rem;font-weight:700;color:var(--color-text-primary);text-transform:none;letter-spacing:0}.h2h-submitted-sb-opp{font-size:1rem;font-weight:700;color:var(--color-text-secondary);text-transform:none;letter-spacing:0;opacity:.5}.h2h-submitted-sb-label{text-align:left;font-size:.75rem;font-weight:600}.h2h-submitted-sb-q,.h2h-submitted-sb-final{text-align:center}.h2h-submitted-sb-final{font-weight:800}.h2h-submitted-details{margin-bottom:var(--space-sm)}.h2h-submitted-detail{font-size:.85rem;color:var(--color-text-secondary);line-height:1.5}.h2h-submitted-status{font-size:.8rem;font-weight:600;color:#744210;background:#fefcbf;display:inline-block;padding:4px 12px;border-radius:12px;margin-bottom:var(--space-sm)}.h2h-challenge-badge{display:inline-flex;align-items:center;justify-content:center;background:#e53e3e;color:#fff;font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;padding:0 5px;margin-left:6px;vertical-align:middle}.h2h-search{margin-bottom:var(--space-md)}.h2h-search-input{width:100%;padding:12px 16px;border:2px solid var(--color-bg-subtle);border-radius:var(--radius-md);font-size:1rem;background:var(--color-bg-primary);box-sizing:border-box}.h2h-search-input:focus{outline:none;border-color:var(--color-accent-primary)}.h2h-search-results{margin-top:var(--space-sm);border-radius:var(--radius-md);overflow:hidden}.h2h-search-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--color-bg-subtle);border-bottom:1px solid rgba(0,0,0,.06)}.h2h-search-item:last-child{border-bottom:none}.h2h-search-name{font-weight:600;font-size:.95rem}.h2h-search-challenge--sent{background:#276749;pointer-events:none}.h2h-search-empty{padding:12px 14px;background:var(--color-bg-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.9rem;text-align:center}.h2h-active,.h2h-history{margin-top:var(--space-lg);text-align:left}.h2h-section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent-primary);margin-bottom:var(--space-sm)}.h2h-section-title--history{color:var(--color-text-secondary)}.h2h-active-list,.h2h-history-list{display:flex;flex-direction:column;gap:var(--space-xs)}.h2h-recent-card{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--color-bg-subtle);border-radius:var(--radius-md);font-size:.9rem}.h2h-recent-card--active{border-left:3px solid var(--color-accent-primary)}.h2h-recent-card--clickable{cursor:pointer}.h2h-recent-card--clickable:active{background:var(--color-bg-primary)}.h2h-recent-opponent{font-weight:600}.h2h-match-indicator{font-weight:800;font-size:.8rem;padding:2px 6px;border-radius:4px;margin-right:4px}.h2h-indicator--win{background:#c6f6d5;color:#276749}.h2h-indicator--loss{background:#fed7d7;color:#9b2c2c}.h2h-indicator--tie{background:#e2e8f0;color:#4a5568}.h2h-match-status-badge{font-size:.8rem;padding:2px 8px;border-radius:4px;background:#e2e8f0;color:#4a5568}.h2h-match-status-badge--play{background:var(--color-accent-primary);color:#fff}.h2h-match-status-badge--waiting{background:#fefcbf;color:#744210}.h2h-match-status-badge--reveal{background:linear-gradient(135deg,#f6e05e,#ecc94b);color:#744210;font-weight:700}.h2h-cancel-btn{font-size:.75rem;padding:2px 10px;border-radius:4px;border:1px solid #E53E3E;background:transparent;color:#e53e3e;cursor:pointer;margin-left:8px}.h2h-cancel-btn:disabled{opacity:.5;cursor:default}.h2h-dismiss-btn{font-size:1.1rem;line-height:1;padding:2px 6px;border-radius:4px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;margin-left:6px;opacity:.6}.h2h-dismiss-btn:active{opacity:1}.h2h-toast-container{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:var(--space-sm);width:90%;max-width:400px;pointer-events:none}.h2h-toast{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);background:#1a202c;color:#fff;padding:12px 16px;border-radius:var(--radius-lg);box-shadow:0 4px 20px #0000004d;pointer-events:auto;opacity:0;transform:translateY(-10px)}.h2h-toast--enter{animation:h2hToastIn .3s ease forwards}.h2h-toast--exit{animation:h2hToastOut .3s ease forwards}@keyframes h2hToastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes h2hToastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.h2h-toast-message{font-size:.9rem;font-weight:600;flex:1}.h2h-toast-action{background:var(--color-accent-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:6px 14px;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap}.rivalry-banner{background:var(--color-bg-subtle);border-radius:var(--radius-md);padding:10px 14px;margin:var(--space-md) 0;font-size:.85rem;text-align:center}.rivalry-label{color:var(--color-text-secondary)}.rivalry-record{font-weight:700;color:var(--color-text-primary)}.rivalry-games{color:var(--color-text-secondary);font-size:.8rem;display:block;margin-top:2px}.scoreboard-row .speed-bonus{position:absolute;right:-30px;background:gold;color:#333;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:var(--radius-sm);animation:bonus-pop .5s ease}@keyframes bonus-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.h2h-result-message{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:1.5rem;font-weight:800;margin-bottom:var(--space-md)}.h2h-result-message .result-emoji{font-size:2rem}.h2h-result-message.winner{color:var(--color-correct-dark)}.h2h-result-message.loser{color:var(--color-wrong)}.h2h-result-message.tie{color:var(--color-text-secondary)}.h2h-speed-bonus-info{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.h2h-reveal-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.feedback-trigger{display:none}.feedback-trigger-disabled{position:fixed;bottom:12px;right:12px;z-index:40;border-radius:var(--radius-full);padding:6px 12px;font-size:12px;font-weight:500;font-family:var(--font-body);background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-bg-subtle);box-shadow:var(--shadow-medium);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);opacity:.7;pointer-events:auto}@media (min-width: 600px){.feedback-trigger{bottom:24px;right:24px;padding:10px 16px;font-size:14px;opacity:1}}@media (hover: hover){.feedback-trigger:hover{transform:scale(1.05);box-shadow:var(--shadow-strong)}}.stats-feedback{text-align:center;padding:var(--space-md) 0}.stats-feedback-link{background:none;border:none;color:var(--color-text-muted);font-size:14px;font-family:var(--font-body);cursor:pointer;padding:8px 16px}@media (hover: hover){.stats-feedback-link:hover{color:var(--color-text-primary)}}.settings-section{padding:var(--space-md);max-width:400px;margin:0 auto;width:100%}.settings-user-card{display:flex;align-items:center;gap:var(--space-md);background:var(--color-bg-secondary);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin-bottom:var(--space-lg)}.settings-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.settings-user-info{min-width:0}.settings-user-name{font-weight:600;font-size:1rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-user-email{font-size:.8rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-signin{text-align:center;padding:var(--space-xl);background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin-bottom:var(--space-lg)}.settings-signin-text{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:var(--space-md)}.settings-menu{display:flex;flex-direction:column;background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden}.settings-menu-item{display:flex;align-items:center;gap:var(--space-md);padding:14px var(--space-md);background:none;border:none;border-bottom:1px solid var(--color-bg-subtle);font-family:var(--font-body);font-size:.9rem;color:var(--color-text-primary);cursor:pointer;text-align:left;width:100%}.settings-menu-item:last-child{border-bottom:none}.settings-menu-icon{color:var(--color-text-secondary);display:flex;align-items:center;flex-shrink:0}.settings-menu-label{flex:1}.settings-menu-arrow{color:var(--color-text-secondary);font-size:1.2rem;font-weight:300}.settings-menu-item--danger,.settings-menu-item--danger .settings-menu-icon{color:var(--color-wrong)}.settings-menu-toggle{cursor:pointer}.settings-toggle-switch{display:flex;align-items:center;flex-shrink:0}.settings-toggle-track{position:relative;width:44px;height:24px;background:#e5e5ea;border-radius:12px;transition:background .2s}.settings-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s}.settings-toggle--on .settings-toggle-track{background:var(--color-accent-primary)}.settings-toggle--on .settings-toggle-thumb{transform:translate(20px)}@media (min-width: 600px){.settings-section{padding:var(--space-lg)}}.feedback-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--space-md);z-index:150;opacity:1;transition:opacity .2s ease-out}.feedback-overlay.hidden{opacity:0;pointer-events:none}.feedback-card{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-strong);max-width:480px;width:calc(100% - 32px);position:relative;transform:translateY(0) scale(1);transition:transform .2s ease-out}.feedback-overlay.hidden .feedback-card{transform:translateY(10px) scale(.95)}.feedback-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:1.5rem;color:var(--color-text-secondary);cursor:pointer;line-height:1;padding:4px}@media (hover: hover){.feedback-close:hover{color:var(--color-text-primary)}}.feedback-title{font-size:1.25rem;font-weight:700;margin-bottom:var(--space-xs)}.feedback-subtitle{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:var(--space-md)}.feedback-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin-bottom:var(--space-md)}.feedback-type-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:var(--radius-sm);border:1.5px solid var(--color-bg-subtle);background:var(--color-bg-primary);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}@media (hover: hover){.feedback-type-btn:hover{border-color:var(--color-text-secondary)}}.feedback-type-btn.active{border-color:var(--color-accent-primary);background:#0071e30f}.feedback-type-emoji{font-size:1.4rem}.feedback-type-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.feedback-type-btn.active .feedback-type-label{color:var(--color-accent-primary)}.feedback-field{margin-bottom:var(--space-md)}.feedback-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:var(--space-xs);color:var(--color-text-primary)}.feedback-label-note{font-weight:400;color:var(--color-text-secondary);font-size:.8rem}.feedback-required{color:var(--color-wrong)}.feedback-input{width:100%;padding:12px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--color-bg-subtle);background:var(--color-bg-primary);font-family:var(--font-body);font-size:14px;color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast)}.feedback-input:focus{border-color:var(--color-accent-primary)}.feedback-input::placeholder{color:var(--color-text-secondary);opacity:.6}.feedback-textarea{resize:none}.feedback-error{color:var(--color-wrong);font-size:.85rem;margin-bottom:var(--space-sm)}.feedback-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}.feedback-cancel,.feedback-submit{font-size:.9rem}.feedback-submit:disabled{opacity:.5;cursor:not-allowed}.feedback-success{text-align:center;padding:var(--space-2xl) 0}.feedback-success-check{font-size:3rem;color:var(--color-accent-primary);margin-bottom:var(--space-md)}.feedback-success-text{font-size:1.1rem;font-weight:600;color:var(--color-accent-primary)}.training-camp{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg-primary);display:flex;align-items:flex-start;justify-content:center;z-index:10;padding:var(--space-md);padding-top:var(--space-lg);overflow-y:auto}.training-camp-content{text-align:center;max-width:420px;width:100%}.training-camp-illustration{width:100%;max-width:360px;margin:0 auto var(--space-md)}.training-camp-illustration svg{width:100%;height:auto;display:block}.training-camp-title{font-family:var(--font-title);font-size:2rem;letter-spacing:.02em;margin-bottom:var(--space-sm)}.training-camp-narrative{text-align:left;font-size:15px;line-height:1.6;color:var(--color-text-primary);margin-bottom:var(--space-lg)}.training-camp-narrative strong{font-weight:700}.training-camp-narrative p{margin:0 0 12px}.training-camp-progress{margin-bottom:var(--space-lg)}.training-camp-progress-label{font-size:13px;color:var(--color-text-secondary);margin-bottom:6px}.training-camp-progress-bar{height:8px;background:var(--color-bg-subtle);border-radius:4px;overflow:hidden}.training-camp-progress-fill{height:100%;background:var(--color-accent-primary);border-radius:4px;transition:width .3s ease}.training-camp-rules-btn{margin-top:12px;background:#d96a6a;color:#fff;border:none;font-size:16px;padding:12px 24px}.training-camp-runs-text{font-size:14px;color:var(--color-text-secondary);margin-top:0;margin-bottom:var(--space-lg)}.training-camp-content .btn{display:block;width:100%;margin-bottom:var(--space-sm)}.tournament-entry,.tournament-lobby,.tournament-waiting,.tournament-match-report,.tournament-stage-results,.tournament-complete{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;z-index:10;padding:var(--space-md);overflow-y:auto}.tournament-stage-ready{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg-primary);display:flex;align-items:flex-start;justify-content:center;z-index:10;padding:var(--space-md);padding-top:15vh;overflow-y:auto}.tournament-entry-content,.tournament-lobby-content,.tournament-stage-ready-content,.tournament-waiting-content,.tournament-stage-results-content,.tournament-complete-content{text-align:center;max-width:420px;width:100%}.tournament-entry-content h2,.tournament-lobby-content h2,.tournament-stage-ready-content h2,.tournament-stage-results-content h2,.tournament-complete-content h2{font-family:var(--font-title);font-size:2rem;letter-spacing:.02em;margin-bottom:var(--space-sm)}.tournament-pregame-line{color:var(--color-text-secondary);font-size:.9rem;font-style:italic;margin:var(--space-sm) 0 var(--space-lg)}.tournament-lobby-atmosphere{color:var(--color-text-secondary);font-size:.85rem;font-style:italic;margin:var(--space-xs) 0 var(--space-sm)}.tournament-entry-tagline{color:var(--color-text-secondary);font-size:.95rem;font-style:italic;margin-bottom:var(--space-lg)}.tournament-entry-desc{color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.tournament-entry-options{display:flex;flex-direction:column;gap:var(--space-lg)}.tournament-create-section,.tournament-join-section{display:flex;flex-direction:column;gap:var(--space-sm)}.tournament-input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-bg-subtle);border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font-body);background:var(--color-bg-secondary);transition:border-color var(--transition-fast)}.tournament-input:focus{outline:none;border-color:var(--color-accent-primary)}.tournament-code-input{text-align:center;text-transform:uppercase;font-size:1.25rem;font-weight:700;letter-spacing:.15em}.tournament-role-toggle{text-align:left;padding:var(--space-xs) 0}.tournament-role-label{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-secondary);font-size:.9rem;cursor:pointer}.tournament-divider{color:var(--color-text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;position:relative}.tournament-divider:before,.tournament-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--color-bg-subtle)}.tournament-divider:before{left:0}.tournament-divider:after{right:0}.tournament-error{color:var(--color-wrong);font-size:.85rem;margin-top:var(--space-sm)}.tournament-back{margin-top:var(--space-lg)}.tournament-join-code-display{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--color-bg-secondary);border:2px dashed var(--color-accent-primary);border-radius:var(--radius-md);padding:var(--space-md);margin:var(--space-md) 0}.join-code-label{color:var(--color-text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.join-code-value{font-family:var(--font-title);font-size:1.8rem;letter-spacing:.2em;color:var(--color-accent-primary);font-weight:700}.tournament-player-count{color:var(--color-text-secondary);margin-bottom:var(--space-md);display:flex;align-items:center;justify-content:center;gap:6px}.tournament-edit-expected{background:none;border:none;cursor:pointer;font-size:16px;color:var(--color-accent-primary);padding:2px 4px;line-height:1}.tournament-expected-editor{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:var(--space-md);font-size:14px}.tournament-expected-players{display:flex;align-items:center;gap:8px;margin-top:8px;margin-bottom:4px}.tournament-field-label{font-size:14px;font-weight:600;color:var(--color-text-secondary)}.tournament-player-list{display:flex;flex-direction:column;gap:var(--space-xs);max-height:240px;min-height:100px;overflow-y:auto;margin-bottom:var(--space-lg)}.tournament-player-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft)}.tournament-player-avatar{width:28px;height:28px;border-radius:var(--radius-full);object-fit:cover}.tournament-player-name{flex:1;text-align:left;font-weight:600;font-size:.9rem}.tournament-creator-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent-primary);background:#0071e314;padding:2px 8px;border-radius:var(--radius-full)}.tournament-lobby-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.tournament-lobby-waiting{color:var(--color-text-secondary);font-style:italic}.broadcast-label{font-family:var(--font-title);font-size:1.3rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:6px}.tournament-stage-title{font-size:2.5rem}.tournament-stage-subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-md)}.matchup-hero{display:flex;align-items:center;justify-content:center;gap:var(--space-xl, 2rem);margin:var(--space-lg) 0}.matchup-you,.matchup-opp{font-family:var(--font-title);font-size:1.8rem;font-weight:700;letter-spacing:.5px}.matchup-opp{color:var(--color-tournament-gold)}.matchup-you{color:var(--color-accent-primary)}.matchup-vs{font-size:1rem;font-weight:400;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px}.tournament-stage-info{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:var(--space-md)}.tournament-stage-players-remaining{font-weight:700;color:var(--color-accent-primary);margin-bottom:var(--space-lg)}.tournament-submit-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);color:var(--color-text-secondary);font-size:1.1rem;font-weight:600;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg-primary);z-index:100}.tournament-mindbowl .tournament-stage-title{background:linear-gradient(135deg,gold,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:3rem}.tournament-mindbowl .tournament-stage-players-remaining{color:gold}.tournament-waiting-content{text-align:center}.tournament-waiting-spinner{width:40px;height:40px;border:3px solid var(--color-bg-subtle);border-top-color:var(--color-accent-primary);border-radius:50%;margin:0 auto var(--space-md);animation:spin 1s linear infinite}.tournament-waiting-count{font-size:1.2rem;font-weight:700;color:var(--color-accent-primary);margin:var(--space-sm) 0}.tournament-waiting-note{color:var(--color-text-secondary);font-size:.85rem}.tournament-results-list{display:flex;flex-direction:column;gap:var(--space-xs);margin:var(--space-md) 0;max-height:360px;overflow-y:auto}.tournament-result-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);transition:opacity var(--transition-fast)}.tournament-result-item--me{border:2px solid var(--color-accent-primary)}.tournament-result-item--eliminated{opacity:.6}.tournament-result-rank{font-weight:800;min-width:32px;color:var(--color-text-secondary)}.tournament-result-avatar{width:28px;height:28px;border-radius:var(--radius-full);object-fit:cover}.tournament-result-info{flex:1;text-align:left}.tournament-result-name{display:block;font-weight:600;font-size:.9rem}.tournament-result-stats{display:block;font-size:.75rem;color:var(--color-text-secondary)}.tournament-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:var(--radius-full);white-space:nowrap}.tournament-badge--advance{color:var(--color-correct-dark);background:#34c7591f}.tournament-badge--eliminated{color:var(--color-wrong-dark);background:#ff3b301a}.tournament-results-actions{margin-top:var(--space-md)}.tournament-results-waiting{color:var(--color-text-secondary);font-style:italic}.tournament-trophy{color:gold;margin-bottom:var(--space-md)}.tournament-champion-title{font-size:2.5rem;background:linear-gradient(135deg,gold,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tournament-champion-name{font-size:1.4rem;font-weight:700;margin-bottom:var(--space-xs)}.tournament-champion-subtitle{color:var(--color-text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-lg)}.tournament-final-standings{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-lg);max-width:320px;margin-left:auto;margin-right:auto}.tournament-complete-actions{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.tournament-standing-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);font-size:.85rem}.tournament-standing-rank{font-weight:800;min-width:24px;color:var(--color-text-secondary)}.tournament-standing-name{flex:1;text-align:left;font-weight:600}.tournament-standing-status{font-size:.75rem;color:var(--color-text-secondary)}.tournament-matchups{display:flex;flex-direction:column;gap:8px;margin:16px 0;width:100%}.tournament-matchup{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);font-size:1rem;font-weight:700;box-shadow:var(--shadow-soft)}.tournament-matchup-vs{color:var(--color-text-secondary);font-size:.8rem;font-weight:400}.tournament-eliminated-message{text-align:center;padding:40px 20px}.tournament-eliminated-message h2{font-size:1.5rem;margin-bottom:8px;color:var(--color-text-primary)}.tournament-eliminated-message p{color:var(--color-text-secondary);font-size:.95rem;margin-bottom:24px}.bracket-view-btn{margin-top:var(--space-md)}.bracket-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg-primary);z-index:200;overflow:auto;padding:var(--space-md)}.bracket-view{max-width:900px;margin:0 auto}.bracket-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);position:sticky;top:0;background:var(--color-bg-primary);padding:var(--space-sm) 0;z-index:1}.bracket-title{font-family:var(--font-title);font-size:1.5rem;letter-spacing:.02em}.bracket-container{display:flex;gap:24px;align-items:stretch;overflow-x:auto;padding-bottom:var(--space-md);min-height:200px}.bracket-round{display:flex;flex-direction:column;justify-content:space-around;min-width:155px;flex-shrink:0;gap:8px}.bracket-round-label{text-align:center;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);padding-bottom:6px;flex-shrink:0}.bracket-match{background:var(--color-bg-secondary);border-radius:6px;overflow:hidden;box-shadow:var(--shadow-soft);position:relative}.bracket-match--active{border:2px solid var(--color-accent-primary)}.bracket-player{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:.8rem;transition:background .3s,opacity .5s}.bracket-player+.bracket-player{border-top:1px solid var(--color-bg-subtle)}.bracket-seed{font-size:.65rem;font-weight:700;color:var(--color-text-secondary);min-width:20px;flex-shrink:0}.bracket-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bracket-player--empty{opacity:.35}.bracket-player--winner{background:#34c75914}.bracket-player--winner .bracket-name{color:var(--color-correct-dark)}.bracket-player--loser{opacity:.4}.bracket-player--me{border-left:3px solid var(--color-accent-primary)}@keyframes bracketWinnerFlash{0%{background:#34c75959}to{background:#34c75914}}.bracket-player--winner-flash{animation:bracketWinnerFlash 1.5s ease-out}@keyframes bracketLoserFade{0%{opacity:1}to{opacity:.4}}.bracket-player--loser-fade{animation:bracketLoserFade .8s ease-out forwards}.bracket-connectors{display:flex;flex-direction:column;justify-content:space-around;width:20px;flex-shrink:0}.bracket-connector-pair{flex:1;position:relative;min-height:20px}.bracket-connector-pair:before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:2px;background:var(--color-bg-subtle)}.bracket-connector-pair:after{content:"";position:absolute;left:0;top:50%;right:0;height:2px;background:var(--color-bg-subtle);transform:translateY(-1px)}.tournament-match-report{flex-direction:column;text-align:center;max-width:420px;margin:0 auto}.match-report-title{font-family:var(--font-title);font-size:1.8rem;margin:0 0 var(--space-xs)}.match-report-subtitle{color:var(--color-text-secondary);font-size:.9rem;margin:0 0 var(--space-md)}.match-report-result{font-family:var(--font-title);font-size:1.6rem;letter-spacing:2px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-top:var(--space-md);margin-bottom:var(--space-md)}.match-report-result--won{color:#fff;background:var(--color-correct)}.match-report-result--lost{color:#fff;background:var(--color-wrong)}.match-report-result--tied{color:#000;background:#f59e0b}.league-tiebreaker{text-align:center;font-size:.82rem;color:var(--color-text-secondary);margin-top:-8px;margin-bottom:12px}.league-tiebreaker .tiebreaker-faster{font-weight:700;color:var(--color-correct);font-family:SF Mono,Fira Code,monospace}.league-tiebreaker .tiebreaker-slower{font-weight:700;color:var(--color-wrong);font-family:SF Mono,Fira Code,monospace}.tiebreaker-card{text-align:center;padding:var(--space-md) var(--space-lg);margin:var(--space-md) auto;max-width:340px;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-card);background:var(--color-surface)}.tiebreaker-label{font-size:.85rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-sm)}.tiebreaker-times{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.tiebreaker-player{display:flex;flex-direction:column;align-items:center;gap:2px}.tiebreaker-name{font-size:.8rem;color:var(--color-text-secondary)}.tiebreaker-time{font-family:SF Mono,Fira Code,monospace;font-size:1.2rem;font-weight:700;color:var(--color-text-primary)}.tiebreaker-vs{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase}.tiebreaker-diff{font-weight:700;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:var(--space-md)}.tiebreaker-hidden{color:var(--color-text-secondary)!important;opacity:.4}.tiebreaker-diff.tiebreaker-hidden{visibility:hidden}.tiebreaker-winner{color:var(--color-correct)!important}.tiebreaker-reveal-btn{font-size:1.1rem;padding:12px 32px;animation:tiebreakerPulse 2s ease-in-out infinite}@keyframes tiebreakerPulse{0%,to{transform:scale(1);box-shadow:0 0 #0071e366}50%{transform:scale(1.03);box-shadow:0 0 0 8px #0071e300}}.match-report-scoreboard{width:100%;margin-bottom:var(--space-md);text-align:left}.match-report-summary{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:var(--space-md);min-height:1.2em}.match-report-scouting{width:100%;max-width:360px;margin:0 auto var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.rematch-status{text-align:center;min-height:24px;margin-top:12px}.rematch-opponent-ready{color:var(--color-accent-primary);font-weight:700;font-size:.95rem;animation:rematch-pulse 1.5s ease-in-out infinite}@keyframes rematch-pulse{0%,to{opacity:1}50%{opacity:.6}}.btn-rematch-ready{animation:rematch-glow 1.5s ease-in-out infinite}@keyframes rematch-glow{0%,to{box-shadow:0 0 12px #0071e366}50%{box-shadow:0 0 20px #0071e3b3}}.match-scoreboard-table{margin-bottom:var(--space-md)}.scoreboard-tbl{width:100%;border-collapse:collapse;font-size:.9rem}.scoreboard-tbl thead th{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-primary);padding:6px 8px;text-align:center;border-bottom:2px solid var(--color-accent-primary)}.scoreboard-tbl td{padding:8px;text-align:center;border-bottom:1px solid var(--color-bg-subtle)}.scoreboard-tbl td.sb-name,.scoreboard-tbl th.sb-name{text-align:left;font-weight:700;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreboard-tbl td.sb-pts{font-weight:600;min-width:32px}.scoreboard-tbl td.sb-final{font-weight:800;font-size:1rem;border-left:2px solid var(--color-accent-primary)}.sb-row--winner{background:#34c75914}.sb-row--winner td{color:var(--color-correct)}.sb-sub-row td{padding:0 8px 6px;font-size:.7rem;color:var(--color-text-secondary);text-align:center;border-bottom:1px solid var(--color-bg-subtle)}.match-summary-section-label{font-size:.8rem;font-weight:800;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;padding-bottom:6px;border-bottom:2px solid var(--color-accent-primary);margin-bottom:var(--space-sm);margin-top:var(--space-lg)}.match-summary-stats{margin-bottom:var(--space-lg)}.match-summary-stats+.match-summary-stats{border-top:1px solid var(--color-border, #e2e8f0);padding-top:var(--space-sm)}.match-summary-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.match-summary-stat-col{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-soft)}.match-summary-stat-col-name{font-weight:800;font-size:.85rem;margin-bottom:8px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-accent-primary)}.match-summary-stat{display:flex;justify-content:space-between;font-size:.85rem;padding:4px 0;border-bottom:1px solid var(--color-bg-subtle)}.match-summary-stat:last-of-type{border-bottom:none}.scoring-plays{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-bg-subtle)}.scoring-plays-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-secondary);margin-bottom:4px}.scoring-play{display:flex;align-items:baseline;gap:6px;font-size:.78rem;padding:3px 0}.scoring-play-label{font-weight:700;min-width:68px;white-space:nowrap}.scoring-play--press .scoring-play-label{color:#ff6b00}.scoring-play--gold .scoring-play-label{color:#d4a017}.scoring-play--duel .scoring-play-label{color:#8b5cf6}.scoring-play--speed .scoring-play-label{color:var(--color-accent-primary)}.scoring-play--javvy .scoring-play-label{color:#34c759}.scoring-play--bigmoney .scoring-play-label{color:#d4a017;font-weight:800}.scoring-play-detail{flex:1;color:var(--color-text-secondary)}.scoring-play--gold .scoring-play-detail{font-style:italic}.scoring-play-pts{font-weight:700;color:var(--color-text-primary);white-space:nowrap}.match-summary-stat-label{color:#475569}.match-summary-stat-value{font-weight:700;color:var(--color-text-primary)}.match-summary-stat-desc{display:block;font-size:.65rem;color:#475569;font-weight:400;margin-top:-2px}.match-summary-comeback{font-family:var(--font-title);font-size:.85rem;font-weight:700;color:var(--color-correct);letter-spacing:1px;margin-top:var(--space-xs)}.match-summary-no-data{color:var(--color-text-secondary);font-size:.85rem;text-align:center;padding:var(--space-md) 0}.mr-breakdown-hidden,.mr-stats-hidden{opacity:0;transform:translateY(8px)}@keyframes mrFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mr-breakdown-reveal,.mr-stats-reveal{animation:mrFadeIn .5s ease forwards}@keyframes mrResultSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mr-result-reveal{animation:mrResultSlide .6s ease forwards}.sb-col-hidden{opacity:0;transform:translateY(4px)}.sb-col-reveal{animation:sbColReveal .3s ease forwards}@keyframes sbColReveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.comeback-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);background:linear-gradient(135deg,gold,#ff8c00);color:#fff;font-size:1.5rem;font-weight:900;padding:8px 24px;border-radius:12px;z-index:5;pointer-events:none;animation:comebackFlash 1s ease forwards}@keyframes comebackFlash{0%{transform:translate(-50%,-50%) scale(0)}20%{transform:translate(-50%,-50%) scale(1.2)}40%{transform:translate(-50%,-50%) scale(1);opacity:1}80%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.sb-screen-shake{animation:screenShake .3s ease}@keyframes screenShake{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-2px)}80%{transform:translate(1px)}}.trophy-entrance{animation:trophyBounce .8s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes trophyBounce{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.trophy-glow{position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.3) 0%,transparent 70%);animation:glowPulse 2s ease-in-out infinite;pointer-events:none}@keyframes glowPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:1}}.confetti-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;width:8px;height:8px;top:-10px;animation:confettiFall var(--duration) var(--delay) ease-in forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.trophy-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-md)}.trophy-wrapper .trophy-glow{top:50%;left:50%;margin-top:-100px;margin-left:-100px}.champion-fade-in{opacity:0;transform:translateY(8px);animation:mrFadeIn .5s ease forwards}.tournament-champion-tagline{color:var(--color-text-secondary);font-size:.8rem;font-style:italic;margin-top:var(--space-xs);margin-bottom:var(--space-md)}.btn-press{background:linear-gradient(135deg,#28a745,#34c759);color:#fff;font-weight:700;border:none;cursor:pointer}.press-badge{background:#ff6b00;color:#fff;font-size:.55rem;font-weight:700;padding:1px 4px;border-radius:3px;margin-left:3px;vertical-align:super}.press-badge--sm{font-size:.5rem;padding:1px 3px;margin-left:2px;vertical-align:middle}.benefits-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--color-bg-primary);overflow-y:auto;-webkit-overflow-scrolling:touch}.benefits-container{max-width:560px;margin:0 auto;padding:var(--space-xl) var(--space-md) var(--space-2xl);position:relative}.benefits-close{position:absolute;top:var(--space-md);right:var(--space-md);background:none;border:none;font-size:1.75rem;color:var(--color-text-secondary);cursor:pointer;line-height:1;padding:var(--space-xs)}.benefits-heading{font-size:1.5rem;color:var(--color-accent-primary);text-align:center;margin-bottom:var(--space-sm)}.benefits-intro{text-align:center;color:var(--color-text-secondary);font-size:.95rem;margin-bottom:var(--space-xl);line-height:1.5}.benefits-group{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-soft)}.benefits-group h3{font-size:1.1rem;color:var(--color-text-primary);margin-bottom:var(--space-md)}.benefits-group ul{list-style:none;padding:0;margin:0 0 var(--space-md)}.benefits-group li{color:var(--color-text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:var(--space-sm);padding-left:var(--space-md);position:relative}.benefits-group li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--color-accent-primary);border-radius:50%}.benefits-group li:last-child{margin-bottom:0}.benefits-net{font-weight:700;font-size:.95rem;color:var(--color-text-primary);font-style:italic;margin-top:var(--space-md)}.benefits-footer{text-align:center;margin-top:var(--space-xl)}.benefits-signin{margin-bottom:var(--space-lg)}.benefits-signin p{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-md)}.benefits-play-btn{width:100%;max-width:300px}.tournament-scouting-card{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin:var(--space-md) 0;box-shadow:var(--shadow-card);min-height:90px}.scouting-header{font-family:var(--font-title);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(0,0,0,.08)}.scouting-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md) var(--space-sm)}.scouting-stat{text-align:center;padding:var(--space-xs) 0}.scouting-stat-value{font-size:1.2rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.scouting-stat-label{font-size:.7rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.scouting-empty,.scouting-loading{font-size:.8rem;color:var(--color-text-secondary);text-align:center;padding:var(--space-sm) 0}.qtr-scoreboard{max-width:300px;margin:12px auto 8px}.qtr-scoreboard .scoreboard-tbl{font-size:.8rem;color:#fff}.qtr-scoreboard .scoreboard-tbl thead th{color:#ffffffb3;border-bottom-color:#ffffff4d}.qtr-scoreboard .scoreboard-tbl td{color:#fff;border-bottom-color:#ffffff1a}.qtr-sb-you{color:#7dd3fc!important;font-weight:700}.qtr-sb-opp{color:#fcd34d!important;font-weight:700}.sb-pts-quiz{color:#7dd3fc;font-weight:700}.sb-pts-strike{color:#86efac;font-weight:700}.qtr-scoreboard-avg{text-align:center;font-size:.75rem;color:#ffffffd9;margin-top:6px;font-weight:600;opacity:.85}.desktop-gate{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:var(--color-bg-primary);align-items:center;justify-content:center;padding:var(--space-xl)}.desktop-gate-card{text-align:center;background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-xl);max-width:420px;width:100%;box-shadow:var(--shadow-strong)}.desktop-gate-logo{width:80px;height:80px;border-radius:var(--radius-lg);margin-bottom:var(--space-lg)}.desktop-gate-title{font-family:var(--font-title);font-size:2.5rem;letter-spacing:2px;line-height:1;margin-bottom:var(--space-xs)}.desktop-gate-subtitle{font-family:var(--font-body);font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-lg)}.desktop-gate-divider{width:48px;height:3px;background:var(--color-accent-primary);border-radius:var(--radius-full);margin:0 auto var(--space-lg)}.desktop-gate-message{font-family:var(--font-body);font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.desktop-gate-hint{font-family:var(--font-body);font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.desktop-gate-qr-hint{margin-top:var(--space-md)}.desktop-gate-icon{font-size:2.5rem}.stats-explainer{margin-top:var(--space-lg)}.stats-explainer-toggle{display:block;text-align:center;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--color-accent-primary);padding:var(--space-sm);list-style:none}.stats-explainer-toggle::-webkit-details-marker{display:none}.stats-explainer-toggle:before{content:"+ "}details[open]>.stats-explainer-toggle:before{content:"- "}.stats-explainer-content{padding:var(--space-md)}.stats-explainer-group{margin-bottom:var(--space-md)}.stats-explainer-group h5{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.stats-explainer-group dl{margin:0}.stats-explainer-group dt{font-weight:600;font-size:.85rem;color:var(--color-text-primary);margin-top:var(--space-sm)}.stats-explainer-group dd{margin:0;font-size:.8rem;color:var(--color-text-secondary);line-height:1.4}.stat-value--gold{color:var(--color-gold, #d4a017)}.scouting-section-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);text-align:left;margin-top:var(--space-md);margin-bottom:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid rgba(0,0,0,.06)}.scouting-stats--primary{grid-template-columns:repeat(3,1fr)}.scouting-challenge-btn{margin-top:var(--space-lg);width:100%}.scouting-challenge-btn--sent{background:#276749;pointer-events:none}.battle-player{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;min-width:0}.battle-player .matchup-you,.battle-player .matchup-opp{font-weight:700;font-size:1.2rem;text-align:center;word-break:break-word;max-width:120px}.battle-icon{width:80px;height:80px}.battle-icon img{width:100%;height:100%;object-fit:contain}.battle-icon--left{transform:scaleX(-1)}.battle-vs{display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:800;font-size:1.1rem;color:var(--color-text-primary);flex-shrink:0}.battle-bolt{font-size:1.4rem;color:var(--color-gold, #d4a017)}.series-reveal-container{padding:16px;max-width:600px;margin:0 auto}.series-reveal-game{opacity:0;transform:translateY(8px);margin-bottom:24px}.series-reveal-game.sr-game-reveal{animation:mrFadeIn .5s ease forwards}.series-reveal-game-header{font-size:1.1rem;font-weight:700;text-align:center;margin-bottom:8px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.series-reveal-score{text-align:center;font-size:1.3rem;font-weight:800;padding:12px 0;margin:8px 0 16px}.series-reveal-suspense{text-align:center;font-size:1.4rem;font-weight:800;padding:24px;animation:seriesPulse 1.5s ease infinite}@keyframes seriesPulse{0%,to{opacity:1}50%{opacity:.5}}.series-reveal-winner{text-align:center;font-size:1.5rem;font-weight:900;padding:20px;margin-top:16px}.series-reveal-winner--champ{background:linear-gradient(135deg,gold,#ff8c00);color:#fff;border-radius:12px}#leagueEntry,#leagueLobby,#leagueDashboard,#leagueMatchSetup,#leagueMatchReport,#leagueComplete{padding:var(--space-md) var(--space-sm);text-align:center;max-width:480px;margin:0 auto;overflow-y:auto}@media (min-width: 600px){#leagueDashboard,#leagueMatchSetup,#leagueMatchReport{padding-bottom:80px}}#leagueEntry h2,#leagueLobby h2,#leagueDashboard h2,#leagueMatchSetup h2,#leagueMatchReport h2,#leagueComplete h2{font-family:var(--font-display);font-size:2rem;color:var(--color-text-primary);margin:0 0 var(--space-sm)}.league-input{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:10px;font-size:15px;font-family:var(--font-body);margin-bottom:10px;box-sizing:border-box}.league-textarea{resize:vertical;min-height:80px}.league-banner{background:#ebf5ff;border:1px solid #B3D4FC;border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--space-sm)}.league-banner-text{font-size:14px;font-weight:600;color:var(--color-text-primary);text-align:left;flex:1}.league-invites-list{margin-bottom:var(--space-md)}.league-invites-list h3{font-size:1.1rem;font-weight:700;margin:0 0 var(--space-sm)}.league-invite-item{background:#f0f4ff;border-radius:10px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.league-invite-name{font-weight:600;font-size:15px}.league-invite-actions{display:flex;gap:8px}.divider{color:var(--color-text-secondary);font-size:13px;margin:var(--space-md) 0;text-transform:uppercase;letter-spacing:.5px}.league-lobby-player{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;background:var(--color-bg-secondary);margin-bottom:6px}.league-lobby-player--pending{opacity:.5}.league-lobby-player--declined{opacity:.35;text-decoration:line-through}.league-lobby-player-name{font-weight:600;font-size:15px;flex:1;text-align:left}.league-lobby-host-badge{font-size:11px;font-weight:700;background:var(--color-accent-primary);color:#fff;padding:2px 8px;border-radius:10px;text-transform:uppercase}.league-lobby-pending-badge,.league-lobby-declined-badge{font-size:11px;font-weight:600;color:var(--color-text-secondary);padding:2px 8px;border-radius:10px;background:#f0f0f0}.league-add-invite{display:flex;flex-wrap:wrap;gap:8px;margin:var(--space-sm) 0}.league-add-invite .league-input{flex:1;margin-bottom:0}.league-invite-feedback{width:100%;font-size:13px;margin-top:4px;padding:0 2px}.league-invite-feedback--error{color:var(--color-wrong)}.league-invite-feedback--success{color:var(--color-correct-dark)}.league-start-helper{font-size:13px;color:var(--color-text-secondary);text-align:center;margin:4px 0 8px}.league-add-bots-btn{width:100%;margin-top:4px;font-size:13px;color:var(--color-text-secondary)}.reliability-badge{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;width:24px;height:24px;border-radius:50%;line-height:1}.reliability-badge--green{background:#dcfce7;color:#16a34a}.reliability-badge--yellow{background:#fef9c3;color:#ca8a04}.reliability-badge--red{background:#fee2e2;color:#dc2626}.reliability-badge--new{background:#f3f4f6;color:#6b7280;font-size:10px;width:auto;padding:2px 8px;border-radius:10px}.league-standings-tbl{width:100%;border-collapse:collapse;font-size:14px;text-align:left;margin-bottom:var(--space-md)}.league-standings-tbl th{font-size:11px;text-transform:uppercase;color:var(--color-text-primary);padding:6px 8px;border-bottom:1px solid #eee;font-weight:700}.league-standings-tbl td{padding:10px 8px;border-bottom:1px solid #f5f5f5}.league-standings-tbl tr[data-user-id]{cursor:pointer}.league-standings-tbl tr[data-user-id]:active{background:#f0f4ff}.league-standings-me{background:#f0f8ff;font-weight:700}.league-standings-name-cell{font-weight:600;color:var(--color-accent-primary)}.league-day-progress{margin-bottom:var(--space-md)}.league-day-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.league-day-progress-label{font-size:14px;font-weight:700;color:var(--color-text-primary)}.league-day-progress-phase{font-size:12px;font-weight:600;color:var(--color-accent-primary);text-transform:uppercase;letter-spacing:.5px}.league-day-progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.league-day-progress-fill{height:100%;background:var(--color-accent-primary);border-radius:3px;transition:width .5s ease}.league-day-group{margin-bottom:var(--space-md);border-radius:10px;padding:8px}.league-day-group--today{border:2px solid var(--color-accent-primary);background:#f0f8ff}.league-day-group--backlog{border:2px solid #f59e0b;background:#fffbeb}.league-day-group--tomorrow{border:1px dashed #c4b5fd;background:#faf5ff}.league-day-group--tomorrow .league-day-label{color:#7c3aed}.league-match-card--tomorrow{opacity:.8}.league-day-group--locked{opacity:.5;pointer-events:none}.league-day-group--past{opacity:.7}.league-day-label{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--color-text-secondary);padding:4px 0;text-align:left;margin-bottom:4px}.league-day-group--today .league-day-label{color:var(--color-accent-primary)}.league-day-group--backlog .league-day-label{color:#d97706}.league-day-summary{font-size:13px;color:var(--color-text-secondary);padding:4px 0;text-align:left}.league-match-card{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;background:var(--color-bg-secondary);margin-bottom:6px;transition:background .15s}.league-match-card--mine{border-left:3px solid var(--color-accent-primary)}.league-match-card--play{cursor:pointer;background:#f0f8ff}.league-match-card--play:active{background:#dbeafe}.league-match-card--complete{opacity:.75}.league-match-card--forfeit{opacity:.5}.league-match-card--waiting{background:#fffbeb}.league-match-opponent{font-weight:600;font-size:14px;text-align:left}.league-match-status{display:flex;align-items:center;gap:8px}.league-match-score{font-weight:700;font-size:14px;font-family:var(--font-display)}.league-match-badge{font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:8px}.league-match-badge--complete{background:#dcfce7;color:#16a34a}.league-match-badge--play{background:#dbeafe;color:#2563eb}.league-match-badge--waiting{background:#fef3c7;color:#d97706}.league-match-badge--forfeit{background:#fee2e2;color:#dc2626}.league-match-badge--pending{background:#f3f4f6;color:#6b7280}.league-match-badge--locked{background:#e5e7eb;color:#9ca3af}.league-match-badge--tomorrow{background:#ede9fe;color:#7c3aed}.league-void-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid #fca5a5;background:#fee2e2;color:#dc2626;font-size:14px;font-weight:700;line-height:1;cursor:pointer;padding:0;margin-left:4px}.league-void-btn:active{background:#fca5a5}.league-season-timer{font-size:13px;color:var(--color-text-secondary);margin:var(--space-sm) 0 var(--space-md)}.match-vs{margin:var(--space-md) 0}.match-vs-text{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text-primary)}.league-report-result{font-family:var(--font-display);font-size:2rem;margin:var(--space-md) 0}.league-report-win{color:#16a34a}.league-report-loss{color:#dc2626}.league-report-scores{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin:var(--space-md) 0}.league-report-player{text-align:center}.league-report-player-label{font-weight:600;font-size:14px;margin-bottom:4px}.league-report-player-score{font-family:var(--font-display);font-size:2rem}.league-report-player-time{font-size:13px;color:var(--color-text-secondary)}.league-report-vs{font-size:14px;color:var(--color-text-secondary);font-weight:600}.league-report-waiting{text-align:center;padding:var(--space-md) 0}.league-report-my-score{font-size:16px;font-weight:600;margin-bottom:var(--space-md)}.league-report-note{font-size:13px;color:var(--color-text-secondary);margin-top:var(--space-sm)}.league-champion{text-align:center;margin:var(--space-md) 0}.league-champion-trophy{font-size:4rem;margin-bottom:var(--space-sm)}.league-champion-name{font-family:var(--font-display);font-size:1.8rem;color:var(--color-text-primary)}.league-champion-record{font-size:14px;color:var(--color-text-secondary);margin-top:4px}.league-playoffs-banner{background:linear-gradient(135deg,#f0f8ff,#dbeafe);border-radius:12px;padding:var(--space-md);margin:var(--space-md) 0}.league-playoffs-banner h3{font-family:var(--font-display);font-size:1.5rem;margin:0 0 var(--space-xs)}.league-playoffs-banner p{font-size:14px;color:var(--color-text-secondary);margin:0 0 var(--space-sm)}.league-playoff-cutline td{padding:0;border:none}.league-cutline-divider{display:flex;align-items:center;gap:8px;padding:8px 0}.league-cutline-divider:before,.league-cutline-divider:after{content:"";flex:1;height:1px;background:#e53e3e;opacity:.5}.league-cutline-label{font-size:11px;color:#e53e3e;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.league-standings-qualified{background:#0071e30a}.league-playoffs-banner--qualified{border-left:3px solid var(--color-accent-primary)}.league-playoffs-banner--eliminated{background:#f9fafb;border-left:3px solid #9ca3af}.league-playoffs-banner--eliminated h3{color:var(--color-text-secondary)}.league-series-card{background:var(--color-surface);border-radius:12px;padding:16px;margin-bottom:12px;border:1px solid var(--color-border)}.league-series-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.league-series-round{font-family:Bebas Neue,sans-serif;font-size:1.1rem;color:var(--color-text-primary);letter-spacing:.5px}.league-series-status{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:20px}.league-series-status--active{background:#e3f2fd;color:#1565c0}.league-series-status--ready_to_reveal{background:#fff3e0;color:#e65100}.league-series-status--revealed,.league-series-status--complete{background:#e8f5e9;color:#2e7d32}.league-series-matchup{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px}.league-series-player{font-weight:700;font-size:.95rem}.league-series-player--me{color:var(--color-accent-primary)}.league-series-vs{font-family:Bebas Neue,sans-serif;font-size:.9rem;color:var(--color-text-tertiary)}.league-series-progress{text-align:center}.league-series-progress-label{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:8px}.league-series-progress-bar{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden;margin-bottom:12px}.league-series-progress-fill{height:100%;background:var(--color-accent-primary);border-radius:3px;transition:width .3s ease}.league-series-waiting{font-size:.8rem;color:var(--color-text-tertiary);font-style:italic}.league-series-reveal{text-align:center}.league-series-reveal p{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:10px}.league-series-result{text-align:center}.league-series-score{font-family:Bebas Neue,sans-serif;font-size:1.4rem;color:var(--color-text-primary);display:block}.league-series-winner{font-size:.8rem;color:var(--color-text-secondary);font-weight:600}.league-player-card-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:var(--space-md)}.league-player-card{background:#fff;border-radius:16px 16px 0 0;padding:var(--space-lg) var(--space-md);width:100%;max-width:420px;text-align:center;animation:league-card-slide-up .3s ease-out}@keyframes league-card-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.league-dash-footer{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-sm)}.league-leave-btn{font-size:12px;color:var(--color-text-secondary)}.league-dev-btn{font-size:11px;color:#7c3aed;border:1px dashed #c4b5fd}.league-empty-state{color:var(--color-text-secondary);font-size:14px;padding:var(--space-md) 0}.error-text{color:#f44;background:#fff0f0;padding:10px 14px;border-radius:8px;text-align:center;font-size:14px;margin:8px 0}.screen{padding:var(--space-md) var(--space-sm);text-align:center;max-width:480px;margin:0 auto}.league-dash-header{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:var(--space-xs)}#leagueDashboard .league-dash-header h2{margin:0;font-size:12px;font-weight:500;color:var(--color-text-secondary);font-family:var(--font-body);letter-spacing:.3px;opacity:.7}.league-dash-header .league-dash-header-actions{position:absolute;right:0}.league-dash-header-actions{display:flex;align-items:center;gap:8px}.league-news-toggle{font-size:12px;padding:6px 12px;white-space:nowrap}.league-refresh-btn{background:none;border:1.5px solid var(--color-bg-subtle);border-radius:var(--radius-full);width:32px;height:32px;font-size:18px;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:var(--transition-fast)}.league-refresh-btn:active{background:var(--color-bg-subtle);transform:rotate(180deg)}.league-submit-error-banner{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:10px 14px;margin-top:12px;font-size:13px;color:#991b1b;text-align:center}.league-day-complete-banner{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:10px;padding:12px 14px;margin-bottom:var(--space-md);font-size:14px;font-weight:600;color:#15803d;text-align:left}.league-day-complete-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#22c55e;color:#fff;font-size:14px;font-weight:700;flex-shrink:0}.league-news{margin-bottom:var(--space-md)}.league-news-card{border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}.league-news-header{background:linear-gradient(135deg,#1e3a5f,#1a4b7a);padding:14px 16px;text-align:left}.league-news-title{font-family:var(--font-title);font-size:1.4rem;color:#fff;letter-spacing:1px}.league-news-subtitle{font-size:12px;color:#ffffffbf;margin-top:2px}.league-news-awards{padding:12px 14px;background:#fff}.league-news-award{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f3f4f6}.league-news-award:last-child{border-bottom:none}.league-news-award-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#f0f8ff;font-size:18px;flex-shrink:0}.league-news-award-detail{text-align:left;min-width:0}.league-news-award-category{font-size:11px;text-transform:uppercase;font-weight:700;color:var(--color-text-secondary);letter-spacing:.3px}.league-news-award-winner{font-size:15px;font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.league-news-award-value{font-size:12px;color:var(--color-accent-primary);font-weight:600}.league-news-award-desc{font-size:10px;color:var(--color-text-secondary);margin-top:2px}.league-news-footer{font-size:12px;color:var(--color-text-secondary);text-align:center;padding:10px 14px;background:#fafafa;border-top:1px solid #f3f4f6}.league-news-empty{font-size:14px;color:var(--color-text-secondary);text-align:center;padding:var(--space-lg) var(--space-md);background:#fff}.league-history{margin-top:var(--space-lg);text-align:left}.league-history h3{font-size:1rem;font-weight:700;margin:0 0 var(--space-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.league-history-item{background:var(--color-bg-secondary);border-radius:10px;padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:background .15s;border:1px solid #e5e7eb}.league-history-item:active{background:#f0f8ff}.league-history-item-name{font-weight:600;font-size:15px;color:var(--color-text-primary)}.league-history-item-date{font-size:13px;color:var(--color-text-secondary);margin-top:2px}.league-match-history{margin-top:var(--space-lg);text-align:left}.league-match-history-title{font-size:1rem;font-weight:700;margin:0 0 var(--space-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.league-match-card--history{opacity:1}.league-history-match-players{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500}.league-history-vs{color:var(--color-text-secondary);font-size:12px;font-weight:400}.league-history-winner{font-weight:700;color:var(--color-text-primary)}.league-match-card--clickable{cursor:pointer;transition:background .15s}.league-match-card--clickable:active{background:#e8e8ed}.league-match-card--active{background:#f0f0f5;border-bottom-left-radius:0;border-bottom-right-radius:0}.league-match-expanded{background:#f8f8fa;padding:8px 10px 12px;margin:0 0 6px;border-radius:0 0 10px 10px;overflow-x:auto}.league-match-expanded .scoreboard-tbl--compact{font-size:12px}.league-match-expanded .scoreboard-tbl--compact td,.league-match-expanded .scoreboard-tbl--compact th{padding:3px 6px}.league-match-expanded-empty{color:var(--color-text-secondary);font-size:13px;text-align:center;padding:8px}.league-match-badge--playoff{background:#ede9fe;color:#7c3aed}.league-day-group--playoffs .league-day-label{color:#7c3aed}.league-season-leaders-title{font-size:15px;font-weight:700;margin:16px 0 8px}.league-season-leaders-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.league-leader-card{background:#f5f5f7;border-radius:10px;padding:10px 12px;text-align:center}.league-leader-label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.league-leader-name{font-size:14px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.league-leader-value{font-size:18px;font-weight:700;color:#1a4b7a;margin-top:2px}.league-section{margin-bottom:12px}.league-section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e5e5ea;cursor:pointer;-webkit-tap-highlight-color:transparent}.league-section-header:active{opacity:.7}.league-section-title{font-size:15px;font-weight:700;margin:0}.league-section-chevron{font-size:13px;color:var(--color-text-secondary);transition:transform .15s ease}.league-section-body{margin-top:10px;padding-bottom:8px}.league-leaders-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.league-leaders-section{background:#2b6cb00a;border-radius:10px;padding:10px 12px}.league-leaders-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#92400e;font-weight:700;margin-bottom:5px}.league-leaders-row{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:13px;color:var(--color-text-primary)}.league-leaders-row--first{font-weight:700;color:#1a4b7a;background:#2b6cb00f;margin:0 -6px;padding:4px 6px;border-radius:6px}.league-leaders-rank{width:14px;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.league-leaders-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-leaders-value{flex-shrink:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.league-stats-sort-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.league-stats-sort-chip{background:#f0f0f5;border:none;border-radius:14px;padding:5px 10px;font-size:11px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.league-stats-sort-chip:active{background:#e0e4ef}.league-stats-sort-chip--active{background:#1a4b7a;color:#fff}.league-stats-search{width:100%;padding:7px 10px;border:1px solid #e5e5ea;border-radius:8px;font-size:13px;font-family:var(--font-body);margin-bottom:6px;outline:none;-webkit-appearance:none}.league-stats-search:focus{border-color:#1a4b7a}.league-stats-search::placeholder{color:var(--color-text-secondary)}.league-stats-ranked-list{margin-top:4px;max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch}.league-stats-row{display:flex;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid #f0f0f5;font-size:14px}.league-stats-row--first{font-weight:700;color:#1a4b7a}.league-stats-row--me{background:#f0f8ff;border-radius:6px}.league-stats-row-rank{width:22px;text-align:right;flex-shrink:0;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.league-stats-row--first .league-stats-row-rank{color:#1a4b7a}.league-stats-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-stats-row-value{flex-shrink:0;font-weight:600;font-variant-numeric:tabular-nums;font-size:15px}.league-schedule-title{font-size:15px;font-weight:700;margin:0 0 8px;padding-top:4px}.league-expanded-plays{display:flex;gap:12px;margin-top:8px;padding-top:6px;border-top:1px solid #eaeaef}.league-expanded-plays-col{flex:1;min-width:0}.league-expanded-plays-name{font-size:11px;font-weight:600;color:var(--color-text-secondary);margin-bottom:2px}.league-expanded-plays .scoring-plays{margin-top:2px}.league-expanded-plays .scoring-plays-label{display:none}.league-expanded-plays .scoring-play{font-size:11px;padding:1px 0}.league-expanded-comeback{margin-top:6px;padding:4px 8px;background:#fef3c7;border-radius:6px;font-size:12px;font-weight:600;color:#92400e;text-align:center}@media (min-width: 600px){.league-standings-tbl{font-size:15px}.league-match-card{padding:12px 18px}.league-player-card-overlay{align-items:center}.league-player-card{border-radius:16px;max-width:440px}.league-report-player-score{font-size:2.5rem}.league-day-group{padding:12px}.league-day-progress-label{font-size:15px}.league-day-complete-banner,.league-news-card{max-width:480px;margin-left:auto;margin-right:auto}.league-history-item:hover{background:#f0f8ff;border-color:var(--color-accent-primary)}.league-stats-row{font-size:15px;padding:9px 6px}.league-stats-row-value{font-size:16px}.league-stats-sort-chip{font-size:12px;padding:6px 12px}.league-section-title{font-size:16px}.league-leaders-row{font-size:14px}.league-leaders-section{padding:12px 14px}.league-leaders-section-title{font-size:12px}}.assess-screen{padding:24px 16px;max-width:480px;margin:0 auto}.assess-screen.hidden{display:none}.assess-intro{text-align:center}.assess-intro-icon{margin-bottom:16px}.assess-title{font-family:Nunito,sans-serif;font-size:22px;font-weight:800;color:#1d1d1f;margin:0 0 8px}.assess-subtitle{font-size:15px;color:#6e6e73;margin:0 0 24px;line-height:1.5}.assess-note{font-size:13px;color:#8e8e93;margin:20px 0}.assess-task-list{text-align:left;margin:0 auto 20px;max-width:320px}.assess-task-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #F0F0F0}.assess-task-item:last-child{border-bottom:none}.assess-task-num{width:28px;height:28px;border-radius:50%;background:#0071e3;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.assess-task-item strong{display:block;font-size:15px;color:#1d1d1f}.assess-task-time{font-size:13px;color:#8e8e93}.assess-begin-btn{margin-top:8px;width:100%;max-width:300px}.assess-timer-bar{height:6px;background:#e5e5ea;border-radius:3px;overflow:hidden;margin-bottom:8px}.assess-timer-bar-fill{height:100%;background:#0071e3;border-radius:3px;width:100%;transition:width .1s linear}.assess-timer-text{text-align:center;font-size:28px;font-weight:800;font-family:Nunito,sans-serif;color:#1d1d1f;margin-bottom:4px}.assess-counter{text-align:center;font-size:14px;color:#6e6e73;margin-bottom:16px}.assess-arithmetic{text-align:center}.assess-problem{font-size:32px;font-weight:800;font-family:Nunito,sans-serif;color:#1d1d1f;margin:24px 0 20px;min-height:48px}.assess-input-row{display:flex;gap:10px;justify-content:center;align-items:center}.assess-number-input{width:120px;height:52px;font-size:24px;font-weight:700;text-align:center;border:2px solid #D1D1D6;border-radius:12px;outline:none;-webkit-appearance:none;-moz-appearance:textfield}.assess-number-input:focus{border-color:#0071e3}.assess-next-btn{height:52px;min-width:80px;font-size:17px}.assess-nback{text-align:center}.assess-nback-progress{font-size:13px;color:#8e8e93;margin-bottom:12px}.assess-nback-instructions{font-size:14px;color:#6e6e73;margin-bottom:20px;line-height:1.5}.assess-nback-stimulus{font-size:72px;font-weight:800;font-family:Nunito,sans-serif;color:#1d1d1f;height:100px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.assess-nback-feedback{font-size:15px;font-weight:700;height:24px;margin-bottom:16px}.assess-feedback-correct{color:#34c759}.assess-feedback-incorrect{color:#ff3b30}.assess-nback-buttons{display:flex;gap:12px;justify-content:center}.assess-nback-btn{min-height:56px;min-width:120px;font-size:17px;font-weight:700;border-radius:12px;border:none;cursor:pointer}.assess-nback-match{background:#0071e3;color:#fff}.assess-nback-match:disabled{background:#b0c4de}.assess-nback-nomatch{background:#e5e5ea;color:#1d1d1f}.assess-nback-nomatch:disabled{background:#f0f0f0;color:#c7c7cc}.assess-stroop{text-align:center}.assess-stroop-instruction{font-size:14px;color:#6e6e73;margin-bottom:16px}.assess-stroop-word{font-size:48px;font-weight:800;font-family:Nunito,sans-serif;min-height:70px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.assess-stroop-feedback{font-size:15px;font-weight:700;height:24px;margin-bottom:12px}.assess-stroop-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:280px;margin:0 auto}.assess-stroop-color-btn{min-height:56px;border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.assess-stroop-color-btn:disabled{opacity:.5}.assess-confidence,.assess-survey{text-align:center}.assess-section-title{font-family:Nunito,sans-serif;font-size:20px;font-weight:800;color:#1d1d1f;margin:0 0 4px}.assess-section-subtitle{font-size:14px;color:#6e6e73;margin:0 0 20px}.assess-confidence-progress,.assess-survey-progress{font-size:13px;color:#8e8e93;margin-bottom:12px}.assess-confidence-statement,.assess-survey-question{font-size:17px;font-weight:600;color:#1d1d1f;margin-bottom:20px;line-height:1.5;min-height:52px}.assess-likert{display:flex;flex-direction:column;gap:8px;max-width:320px;margin:0 auto}.assess-likert-btn{min-height:48px;border:2px solid #E5E5EA;border-radius:12px;background:#fff;font-size:15px;font-weight:600;color:#1d1d1f;cursor:pointer;transition:all .15s}.assess-likert-btn:active{background:#f0f0f0}.assess-likert-selected{background:#0071e3;color:#fff;border-color:#0071e3}.assess-survey-textarea{width:100%;max-width:320px;padding:12px;font-size:15px;font-family:Nunito,sans-serif;border:2px solid #E5E5EA;border-radius:12px;resize:vertical;margin-bottom:12px}.assess-survey-textarea:focus{border-color:#0071e3;outline:none}.assess-survey-submit{width:100%;max-width:320px}.assess-results{text-align:center}.assess-composite{margin:24px 0}.assess-composite-score{font-size:64px;font-weight:800;font-family:Bebas Neue,sans-serif;color:#0071e3;line-height:1}.assess-composite-label{font-size:14px;color:#6e6e73;margin-top:4px}.assess-subscores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.assess-subscore{background:#f5f5f7;border-radius:12px;padding:14px 10px}.assess-subscore-value{font-size:28px;font-weight:800;font-family:Nunito,sans-serif;color:#1d1d1f}.assess-subscore-label{font-size:13px;font-weight:700;color:#6e6e73}.assess-subscore-detail{font-size:11px;color:#8e8e93;margin-top:2px}.assess-save-status{font-size:13px;color:#8e8e93;margin:16px 0 12px}.assess-done{text-align:center;padding:40px 0}.assess-done-check{font-size:48px;color:#34c759;margin-bottom:16px}@media (min-width: 600px){.assess-screen{max-width:540px;padding:32px 24px}.assess-problem{font-size:40px}.assess-nback-stimulus{font-size:96px;height:130px}.assess-stroop-word{font-size:56px}.assess-subscores{grid-template-columns:repeat(4,1fr)}}.mode-attempts{display:block;font-size:12px;color:var(--color-text-secondary);margin-top:2px}.ds-entry{padding:24px 16px;text-align:center}.ds-entry-content{max-width:400px;margin:0 auto}.ds-entry-title{font-family:var(--font-title);font-size:32px;letter-spacing:1px;color:var(--color-accent-primary);margin-bottom:4px}.ds-entry-date{font-size:14px;color:var(--color-text-secondary);margin-bottom:20px}.ds-entry-stats{display:flex;justify-content:center;gap:20px;margin-bottom:20px}.ds-entry-stat{display:flex;flex-direction:column;align-items:center}.ds-stat-value{font-size:28px;font-weight:800;color:var(--color-text-primary);line-height:1.2}.ds-stat-label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.ds-entry-streak{font-size:14px;font-weight:600;color:var(--color-accent-primary);margin-bottom:16px}.ds-entry-hint{font-size:14px;color:var(--color-text-secondary);margin-bottom:20px}.ds-entry-pitch{margin-top:32px;padding:20px 16px;text-align:center}.ds-entry-pitch-icon{font-size:40px;margin-bottom:12px}.ds-entry-pitch-text{font-size:15px;line-height:1.5;color:var(--color-text-secondary);max-width:300px;margin:0 auto}.ds-results{padding:24px 16px;text-align:center}.ds-results-content{max-width:400px;margin:0 auto}.ds-results-title{font-family:var(--font-title);font-size:28px;margin-bottom:8px}.ds-results-message{font-size:15px;color:var(--color-text-secondary);margin-bottom:16px}.ds-results-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:16px;margin-bottom:20px}.ds-results-stat{display:flex;flex-direction:column;align-items:center}.ds-results-stat-value{font-size:22px;font-weight:700;color:var(--color-text-primary)}.ds-results-stat--time .ds-results-stat-value{font-size:28px;font-weight:800;color:var(--color-accent-primary)}.ds-results-stat-label{font-size:.7rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.ds-results-actions{display:flex;flex-direction:column;gap:10px;align-items:center}.practice-entry{padding:24px 16px;text-align:center}.practice-entry-content{max-width:400px;margin:0 auto}.practice-coach-icon{margin-bottom:var(--space-sm)}.practice-coach-img{width:100%;max-width:280px;height:auto;border-radius:var(--radius-lg);object-fit:cover}.practice-entry-title{font-family:var(--font-title);font-size:32px;letter-spacing:1px;color:var(--color-text-primary);margin-bottom:8px}.practice-coach-intro{font-size:.85rem;color:var(--color-text-secondary);margin:0 0 12px;line-height:1.4}.practice-today-count{font-size:.85rem;font-weight:600;color:var(--color-accent-primary);margin-bottom:16px}.practice-player-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-card);margin-bottom:16px}.practice-stat{display:flex;flex-direction:column;align-items:center}.practice-stat-value{font-size:22px;font-weight:800;color:var(--color-text-primary)}.practice-stat-label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.practice-coach-report,.coach-report-label{text-align:left}.practice-coach-report{background:#f0f4ff;border-left:3px solid var(--color-accent-primary);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px}.coach-report-label{font-size:11px;font-weight:700;color:var(--color-accent-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.coach-report-text{font-size:14px;color:var(--color-text-primary);line-height:1.4}.practice-progress{font-size:13px;color:var(--color-text-secondary);margin-bottom:8px}.practice-limit{font-size:12px;color:var(--color-text-secondary);margin-bottom:16px}.practice-results{padding:24px 16px;text-align:center}.practice-results-content{max-width:400px;margin:0 auto}.practice-results-title{font-family:var(--font-title);font-size:28px;margin-bottom:8px}.practice-results-message{font-size:15px;color:var(--color-text-secondary);margin-bottom:16px}.practice-results-time{font-size:24px;font-weight:700;color:var(--color-text-primary);margin-bottom:16px}.practice-results-actions{display:flex;flex-direction:column;gap:10px;align-items:center}.ds-incorrect-overlay{position:fixed;bottom:160px;left:50%;transform:translate(-50%);z-index:100;pointer-events:none;animation:dsIncorrectFade 1.2s ease-out forwards}.ds-incorrect-text{display:inline-block;background:#000c;color:#fff;font-size:14px;font-weight:600;padding:8px 16px;border-radius:var(--radius-full);white-space:nowrap}@keyframes dsIncorrectFade{0%{opacity:0;transform:translate(-50%) translateY(0)}15%{opacity:1;transform:translate(-50%) translateY(-4px)}70%{opacity:1;transform:translate(-50%) translateY(-4px)}to{opacity:0;transform:translate(-50%) translateY(-16px)}}.recruitment-message{position:fixed;bottom:80px;left:16px;right:16px;z-index:200;display:flex;justify-content:center}.recruitment-card{background:var(--color-bg-secondary);border:1px solid var(--color-accent-primary);border-radius:var(--radius-md);padding:16px 20px;box-shadow:var(--shadow-strong);text-align:center;max-width:360px}.recruitment-text{font-size:14px;color:var(--color-text-primary);margin-bottom:12px;line-height:1.4}.leaderboard-scope-toggle{display:flex;gap:8px;margin-bottom:12px;justify-content:center}.lb-scope{background:none;border:1px solid var(--color-bg-subtle);border-radius:var(--radius-full);padding:10px 18px;font-size:14px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);min-height:44px}.lb-scope.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.leaderboard-empty{text-align:center;padding:40px 20px;color:var(--color-text-secondary);font-size:14px}.leaderboard-practice-link{text-align:center;padding:var(--space-lg) 0 var(--space-md)}.placement-history-toggle{display:flex;justify-content:center;margin-bottom:var(--space-md)}.placement-history-toggle button{background:none;border:none;font-size:.8rem;color:var(--color-accent-primary);font-weight:600;padding:6px 12px;cursor:pointer;text-decoration:underline}.placement-history-summary{text-align:center;padding:var(--space-md) var(--space-sm);font-size:.85rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-sm)}.placement-history-summary strong{color:var(--color-text-primary)}.placement-history-list{display:flex;flex-direction:column;gap:var(--space-sm)}.placement-row{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;padding:var(--space-sm);background:var(--color-bg-primary);border-radius:var(--radius-md);font-size:.82rem}.placement-row-date{color:var(--color-text-primary);font-weight:600}.placement-row-rank{color:var(--color-accent-primary);font-weight:700;text-align:right}.placement-row-time{color:var(--color-text-secondary);text-align:right;min-width:50px}.placement-row-percentile{color:var(--color-text-secondary);text-align:right;min-width:50px;font-size:.75rem}.placement-empty{text-align:center;padding:var(--space-2xl);color:var(--color-text-secondary);font-size:.85rem}@media (min-width: 600px){.ds-entry-title,.practice-entry-title{font-size:40px}.ds-entry-stats{gap:32px}.ds-stat-value{font-size:36px}.ds-results-stat--time .ds-results-stat-value{font-size:32px}.practice-player-card{grid-template-columns:repeat(4,1fr);padding:20px}.ds-entry-content,.ds-results-content,.practice-entry-content,.practice-results-content{max-width:500px}}.strike-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#e8e8ed;display:flex;user-select:none;-webkit-user-select:none;flex-direction:column;align-items:center;padding-top:env(safe-area-inset-top)}.strike-overlay.hidden,.strike-banner{display:none}.strike-banner-label{font-family:var(--font-title, "Bebas Neue", sans-serif);font-size:24px;letter-spacing:3px;color:#fff}.strike-banner-target{display:none}.strike-timer-bar{width:100%;height:4px;background:#2b6cb026}.strike-timer-bar-fill{height:100%;width:100%;background:#d4a017;transition:width .1s linear}.strike-canvas-wrap{flex:1;width:100%;max-width:500px;position:relative}.strike-score-display{width:100%;display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 16px;background:#1a4b7a}.strike-throw-dots{display:flex;gap:8px}.strike-throw-dot{width:12px;height:12px;border-radius:50%;background:#ffffff40;border:1.5px solid rgba(255,255,255,.4)}.strike-throw-dot--active{border-color:#fff;background:#fff6;animation:strike-pulse 1s ease-in-out infinite}.strike-throw-dot--center{background:#48bb78;border-color:#48bb78}.strike-throw-dot--outer{background:#d4a017;border-color:#d4a017}.strike-throw-dot--miss{background:#e53e3e;border-color:#e53e3e}.strike-total-pts{font-family:var(--font-title, "Bebas Neue", sans-serif);font-size:22px;color:#fff;letter-spacing:1px}@keyframes strike-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes strike-flash{0%{opacity:1;transform:scale(1.3)}to{opacity:0;transform:scale(1)}}.strike-controls{width:100%;max-width:500px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 20px;background:#2b6cb014;border-top:1px solid rgba(43,108,176,.15);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.strike-dpad{display:grid;grid-template-columns:54px 54px 54px;grid-template-rows:54px 54px 54px;gap:0}.strike-dpad-up{grid-column:2;grid-row:1;border-radius:8px 8px 0 0}.strike-dpad-left{grid-column:1;grid-row:2;border-radius:8px 0 0 8px}.strike-dpad-center{grid-column:2;grid-row:2;background:#2b6cb00a}.strike-dpad-right{grid-column:3;grid-row:2;border-radius:0 8px 8px 0}.strike-dpad-down{grid-column:2;grid-row:3;border-radius:0 0 8px 8px}.strike-dpad>div{display:flex;align-items:center;justify-content:center;color:#2b6cb0b3;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;touch-action:none}.strike-dpad>div[data-dir]{background:#2b6cb01a}.strike-dpad>div svg{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.strike-dpad>div[data-dir]:active{background:#2b6cb04d;color:#1a4b7a}.strike-power-bar-wrap{width:100%;padding:8px 0 4px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:opacity .2s ease}.strike-power-bar-wrap.strike-power-bar--hidden{opacity:0;pointer-events:none;height:0;padding:0;overflow:hidden}.strike-power-bar{width:100%;height:48px;background:linear-gradient(180deg,#2b6cb014,#2b6cb024);border-radius:8px;position:relative;overflow:hidden;border:2px solid rgba(43,108,176,.2)}.strike-power-bar-sweet{position:absolute;top:0;bottom:0;width:60px;left:40%;background:#34c75926;border-left:2.5px solid rgba(52,199,89,.55);border-right:2.5px solid rgba(52,199,89,.55)}.strike-power-bar-needle{position:absolute;top:-4px;bottom:-4px;width:4px;left:0;background:#1d1d1f;border-radius:2px;display:none;box-shadow:0 0 6px #0000004d}.strike-power-bar-label{font-size:12px;font-weight:600;color:#0006;letter-spacing:1px;text-transform:uppercase}.strike-fire-btn{width:76px;height:76px;border-radius:50%;background:#34c759;color:#fff;font-family:var(--font-title, "Bebas Neue", sans-serif);font-size:18px;letter-spacing:2px;border:3px solid rgba(0,0,0,.1);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:none;-webkit-user-select:none;user-select:none}.strike-fire-btn:active{transform:scale(.94)}.strike-fire-btn--active{background:#248a3d;animation:strike-fire-pulse .6s ease-in-out infinite}@keyframes strike-fire-pulse{0%,to{box-shadow:0 0 #34c75966}50%{box-shadow:0 0 0 8px #34c75900}}.strike-controls--analog{flex-direction:column;gap:8px;padding:12px 16px}.strike-aim-row{display:flex;align-items:center;gap:12px;width:100%}.strike-aim-pad{flex:1;height:160px;background:#2b6cb00a;border:1.5px solid rgba(43,108,176,.12);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:relative}.strike-aim-pad-label{font-size:11px;font-weight:700;letter-spacing:2px;color:#2b6cb040;text-transform:uppercase;pointer-events:none}.strike-aim-pad--disabled{opacity:.25;pointer-events:none}@media (min-width: 600px){.strike-canvas-wrap{max-width:500px}.strike-banner-label{font-size:28px}.strike-controls{max-width:500px}}.training-cta{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:var(--space-md);width:100%;max-width:340px}.training-cta-prompt{font-family:var(--font-body);font-size:.85rem;color:var(--color-text-secondary);text-align:center;margin:0;line-height:1.3}.training-cta-btn{width:100%;font-size:1rem;font-weight:700;padding:14px 24px}.training-pick{margin-top:var(--space-md);position:relative;text-align:center}.training-pick-link{background:none;border:none;font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--color-accent-primary);cursor:pointer;padding:6px 12px;text-decoration:underline;text-underline-offset:3px}.training-pick-link:active{opacity:.7}.training-pick-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;padding:6px 0;min-width:200px;z-index:20}.training-pick-option{display:block;width:100%;background:none;border:none;font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--color-text-primary);padding:10px 16px;text-align:left;cursor:pointer}.training-pick-option:active{background:#e8f0fe}.training-hub{padding:24px 16px;text-align:center}.training-hub-content{max-width:400px;margin:0 auto}.training-hub-hero-img{margin-bottom:var(--space-sm);border-radius:var(--radius-lg);overflow:hidden}.training-hub-img{width:100%;height:auto;display:block;border-radius:var(--radius-lg)}.training-hub-rating-hero{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-md)}.training-hub-rating-value{font-family:var(--font-heading);font-size:3.5rem;font-weight:800;color:var(--color-accent-primary);line-height:1}.training-hub-rating-label{font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.training-hub-scores{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-md)}.training-hub-score{display:flex;flex-direction:column;align-items:center}.training-hub-score-value{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.training-hub-score-label{font-family:var(--font-body);font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.training-hub-coach{font-family:var(--font-body);font-size:.9rem;color:var(--color-text-secondary);font-style:italic;margin:0 0 var(--space-sm);line-height:1.4}.training-hub-unlock{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 16px;margin-bottom:var(--space-md)}.training-hub-unlock-text{font-family:var(--font-body);font-size:.8rem;color:var(--color-text-secondary);margin:0}.training-hub-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:var(--space-sm)}.compete-hub{padding:24px 16px;text-align:center}.compete-hub-content{max-width:400px;margin:0 auto}.compete-hub-title{font-family:var(--font-heading);font-size:1.8rem;font-weight:800;color:var(--color-text-primary);margin:0 0 var(--space-md)}.compete-hub-card{display:flex;align-items:center;width:100%;padding:16px;border-radius:var(--radius-md);cursor:pointer;text-align:left;margin-bottom:12px;transition:transform .1s,box-shadow .1s;border:none;font-family:var(--font-body)}.compete-hub-card:active{transform:scale(.98)}.compete-hub-card--primary{background:var(--color-accent-primary);color:#fff}.compete-hub-card--primary .compete-hub-card-icon{color:#fff}.compete-hub-card--outline{background:var(--color-bg-card);color:var(--color-text-primary);border:1.5px solid var(--color-border)}.compete-hub-card--outline .compete-hub-card-icon{color:var(--color-accent-primary)}.compete-hub-card-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.compete-hub-card-text{flex:1;display:flex;flex-direction:column;margin-left:12px}.compete-hub-card-title{font-weight:700;font-size:1.05rem;line-height:1.2}.compete-hub-card-sub{font-size:.8rem;opacity:.75;margin-top:2px}.compete-hub-card-arrow{flex-shrink:0;font-size:1.5rem;opacity:.5;margin-left:8px}.compete-hub-back{margin-top:var(--space-sm)}.gymnasium-entry{padding:24px 16px;text-align:center}.gymnasium-entry-content{max-width:400px;margin:0 auto}.gymnasium-building-icon{margin-bottom:var(--space-sm)}.gymnasium-building-img{width:100%;max-width:200px;height:auto}.gymnasium-entry-title{font-family:var(--font-title);font-size:28px;letter-spacing:1px;color:var(--color-text-primary);margin-bottom:4px}.gymnasium-entry-subtitle{font-size:.85rem;color:var(--color-text-secondary);margin:0 0 16px}.gymnasium-stats-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-card);margin-bottom:16px}.gymnasium-stat{display:flex;flex-direction:column;align-items:center}.gymnasium-stat-value{font-size:22px;font-weight:800;color:var(--color-text-primary)}.gymnasium-stat-label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.gymnasium-today-count{font-size:.85rem;font-weight:600;color:var(--color-accent-primary);margin-bottom:8px}.gymnasium-limit{font-size:12px;color:var(--color-text-secondary);margin-bottom:16px}.gymnasium-run-counter{position:fixed;top:48px;left:50%;transform:translate(-50%);z-index:50;background:var(--color-accent-primary);color:#fff;padding:4px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:700;letter-spacing:.5px}.gymnasium-run-flash{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:200;pointer-events:none;animation:gymFlashIn .3s ease-out}.gymnasium-flash-content{background:#000000d9;border-radius:var(--radius-lg);padding:20px 32px;text-align:center}.gymnasium-flash-time{display:block;font-size:36px;font-weight:800;color:#fff;margin-bottom:4px}.gymnasium-flash-pb{display:block;font-size:14px;font-weight:600;color:var(--color-text-secondary)}.gymnasium-flash-pb--new{color:#34c759}@keyframes gymFlashIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.gymnasium-report{padding:24px 16px;text-align:center}.gymnasium-report-content{max-width:400px;margin:0 auto}.gymnasium-report-title{font-family:var(--font-title);font-size:24px;letter-spacing:1px;color:var(--color-text-primary);margin-bottom:16px}.gymnasium-report-stats{display:flex;gap:12px;justify-content:center;margin-bottom:16px}.gymnasium-report-stat{flex:1;display:flex;flex-direction:column;align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:12px 8px;box-shadow:var(--shadow-card)}.gymnasium-report-stat-value{font-size:22px;font-weight:800;color:var(--color-text-primary)}.gymnasium-report-stat-label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.gymnasium-pb-banner{background:linear-gradient(135deg,#f6e05e,#ecc94b);color:#744210;font-weight:700;font-size:.95rem;text-align:center;padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;line-height:1.5}.gymnasium-pb-banner div:first-child{font-size:1.05rem;margin-bottom:4px}.gymnasium-coach-note{background:#f0f4ff;border-left:3px solid var(--color-accent-primary);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px;font-size:14px;color:var(--color-text-primary);line-height:1.4;text-align:left}.gymnasium-report-actions{display:flex;flex-direction:column;gap:10px}.academy-rating-card{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-card);margin-bottom:16px;border:1px solid rgba(43,108,176,.15)}.academy-rating-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-accent-primary);margin-bottom:12px}.academy-rating-scores{display:flex;gap:12px;justify-content:center;margin-bottom:8px}.academy-score{flex:1;display:flex;flex-direction:column;align-items:center}.academy-score-value{font-size:24px;font-weight:800;color:var(--color-text-primary)}.academy-score--overall .academy-score-value{font-size:28px;color:var(--color-accent-primary)}.academy-score-label{font-size:10px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px}.academy-recommendation{font-size:13px;font-weight:600;color:var(--color-text-primary);margin:4px 0 0}.javelin-arena-entry{padding:24px 16px;text-align:center}.javelin-arena-entry-content{max-width:400px;margin:0 auto}.arena-building-icon{margin-bottom:var(--space-sm)}.arena-building-img{width:100%;max-width:240px;height:auto}.javelin-arena-entry-title{font-family:var(--font-title);font-size:28px;letter-spacing:1px;color:var(--color-text-primary);margin-bottom:4px}.javelin-arena-entry-subtitle{font-size:.85rem;color:var(--color-text-secondary);margin:0 0 16px}.javelin-arena-modes{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.javelin-arena-mode-card{display:flex;flex-direction:column;align-items:center;background:var(--color-bg-secondary);border:2px solid var(--color-accent-primary);border-radius:var(--radius-md);padding:16px;cursor:pointer;transition:background .15s,transform .1s}.javelin-arena-mode-card:active{transform:scale(.97);background:#e8f0fe}.javelin-arena-mode-card:disabled{opacity:.5;pointer-events:none}.javelin-arena-mode-name{font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--color-accent-primary);margin-bottom:4px}.javelin-arena-mode-desc{font-size:.8rem;color:var(--color-text-secondary)}.javelin-arena-stats-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-card);margin-bottom:16px}.javelin-arena-stat{display:flex;flex-direction:column;align-items:center}.javelin-arena-stat-value{font-size:22px;font-weight:800;color:var(--color-text-primary)}.javelin-arena-stat-label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.javelin-arena-today-count{font-size:.85rem;font-weight:600;color:var(--color-accent-primary);margin-bottom:8px}.javelin-arena-limit{font-size:12px;color:var(--color-text-secondary);margin-bottom:16px}.javelin-arena-results{padding:24px 16px;text-align:center}.javelin-arena-results-content{max-width:400px;margin:0 auto}.javelin-arena-results-title{font-family:var(--font-title);font-size:24px;letter-spacing:1px;color:var(--color-text-primary);margin-bottom:16px}.javelin-arena-results-stats{display:flex;gap:12px;justify-content:center;margin-bottom:16px}.javelin-arena-result-stat{flex:1;display:flex;flex-direction:column;align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:12px 8px;box-shadow:var(--shadow-card)}.javelin-arena-result-value{font-size:22px;font-weight:800;color:var(--color-text-primary)}.javelin-arena-result-label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.javelin-arena-rounds-breakdown{display:flex;flex-direction:column;gap:8px;margin:16px 0}.arena-round-row{display:flex;align-items:center;gap:10px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);padding:10px 14px;border:1px solid var(--color-border)}.arena-round-label{font-weight:700;font-size:.85rem;color:var(--color-text-secondary);min-width:28px}.arena-perfect-badge{background:var(--color-accent-primary);color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.5px}.arena-excellent-skill{background:linear-gradient(135deg,#f6e05e,#ecc94b);color:#744210;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.3px}.arena-round-time{flex:1;text-align:right;font-size:.9rem;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.arena-round-pts{font-weight:700;font-size:.9rem;color:var(--color-text-primary);min-width:45px;text-align:right;font-variant-numeric:tabular-nums}.javelin-arena-result-points{font-size:15px;font-weight:600;color:var(--color-text-secondary);margin-bottom:16px;text-align:center}.javelin-arena-results-actions{display:flex;flex-direction:column;gap:10px}.strike-throw-dots--arena{flex-wrap:wrap;max-width:200px;gap:3px}.strike-throw-dots--arena .strike-throw-dot{width:8px;height:8px}.vq-entry{padding:24px 16px;text-align:center;background:var(--color-bg);min-height:100vh;min-height:100dvh;color:var(--color-text)}.vq-entry-content{max-width:400px;margin:0 auto}.vq-building-icon{margin:16px auto 12px}.vq-entry-title{font-size:22px;font-weight:700;color:var(--color-text);margin:0 0 4px}.vq-entry-subtitle{font-size:14px;color:#64748b;margin:0 0 20px}.vq-mode-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.vq-mode-card{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:16px;text-align:center;box-shadow:0 1px 3px #0000000f}.vq-mode-card-title{font-size:16px;font-weight:700;color:var(--color-text);margin:0 0 4px}.vq-mode-card-desc{font-size:13px;color:#64748b;margin:0 0 12px}.vq-span-picker{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;font-size:14px;color:#475569}.vq-span-select{background:#fff;border:1px solid #CBD5E1;border-radius:6px;color:var(--color-text);padding:6px 12px;font-size:16px;font-weight:600}.vq-today-count{font-size:13px;color:#64748b;margin:8px 0 4px}.vq-limit{font-size:13px;color:#ef4444;margin:0 0 12px}.vq-game{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg);z-index:200;display:flex;align-items:center;justify-content:center}.vq-game-content{width:100%;max-width:420px;padding:16px}.vq-round-container{text-align:center;color:var(--color-text)}.vq-phase-label{font-size:14px;font-weight:700;letter-spacing:2px;color:var(--color-accent-primary);margin-bottom:4px}.vq-span-label{font-size:13px;color:#64748b;margin-bottom:16px}.vq-sequence-row{display:flex;justify-content:center;gap:6px;flex-wrap:nowrap;margin-bottom:20px}.vq-icon-cell{width:48px;height:48px;min-width:0;flex-shrink:1;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;border:1px solid #E2E8F0;box-shadow:0 1px 3px #0000000f}.vq-timer-bar{width:100%;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;margin-top:8px}.vq-timer-fill{width:100%;height:100%;background:var(--color-accent-primary);border-radius:2px;transform-origin:left;animation:vqTimerShrink linear forwards}@keyframes vqTimerShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.vq-slots-row{display:flex;justify-content:center;gap:4px;flex-wrap:nowrap;margin-bottom:20px}.vq-slot{width:48px;height:48px;min-width:0;flex-shrink:1;border:2px dashed #CBD5E1;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.vq-slot--filled{border-color:var(--color-accent-primary);border-style:solid;background:#0071e314}.vq-slot--correct{border-color:#34c759;border-style:solid;background:#34c7591f}.vq-slot--wrong{border-color:#ef4444;border-style:solid;background:#ef44441f}.vq-choices-row{display:flex;justify-content:center;gap:6px;flex-wrap:nowrap;margin-bottom:16px}.vq-choice-btn{width:48px;min-width:0;flex-shrink:1;aspect-ratio:1;background:#fff;border:1px solid #E2E8F0;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .1s,opacity .2s;padding:0;box-shadow:0 1px 3px #0000000f}.vq-choice-btn:active{background:#0071e31a;transform:scale(.95)}.vq-choice-btn--used{opacity:.15;pointer-events:none;background:#e2e8f0;border-color:transparent;box-shadow:none;transform:scale(.85)}.vq-undo-btn{background:#f1f5f9;border:1px solid #CBD5E1;border-radius:8px;color:#475569;font-size:14px;font-weight:600;padding:10px 24px;cursor:pointer}.vq-undo-btn:active{background:#e2e8f0}.vq-round-counter{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:210;display:flex;gap:12px;align-items:center}.vq-round-text{font-size:14px;font-weight:700;color:#475569;background:#fff;padding:6px 14px;border-radius:20px;box-shadow:0 1px 3px #0000001a}.vq-span-indicator{font-size:13px;font-weight:600;color:var(--color-accent-primary);background:#fff;padding:6px 14px;border-radius:20px;box-shadow:0 1px 3px #0000001a}.vq-next-btn{display:block;margin:32px auto 0;background:var(--color-accent-primary);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;padding:14px 40px;cursor:pointer;min-height:48px}.vq-next-btn:active{background:#005bb5}.vq-result{text-align:center;padding:32px 0 16px}.vq-result--correct .vq-result-label{color:#34c759;font-size:28px;font-weight:700;margin-bottom:24px}.vq-result--wrong .vq-result-label{color:#ef4444;font-size:28px;font-weight:700;margin-bottom:24px}.vq-result-section{margin-bottom:20px}.vq-result-section-title{font-size:13px;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.vq-result-sequence{display:flex;justify-content:center;gap:6px;flex-wrap:nowrap}.vq-result-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;border-radius:10px;background:#f8fafc;border:1px solid #E2E8F0}.vq-result-cell--match{border-color:#34c75980;background:#34c7591a}.vq-result-cell--miss{border-color:#ef444480;background:#ef44441a}.vq-result-pos{font-size:10px;font-weight:700;color:#64748b}.vq-results{padding:24px 16px;text-align:center;background:var(--color-bg);min-height:100vh;min-height:100dvh;color:var(--color-text)}.vq-results-content{max-width:400px;margin:0 auto}.vq-results-title{font-size:22px;font-weight:700;color:var(--color-text);margin:16px 0 20px}.vq-results-stats{display:flex;justify-content:center;gap:24px;margin-bottom:20px}.vq-result-stat{display:flex;flex-direction:column;align-items:center}.vq-result-value{font-size:24px;font-weight:700;color:var(--color-text)}.vq-result-label{font-size:12px;color:#64748b;margin-top:2px}.vq-results-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.vq-competitive-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--color-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;padding-top:env(safe-area-inset-top);overflow:hidden}.vq-competitive-wrap.hidden{display:none}.vq-competitive-content{width:100%;max-width:420px}.vq-recall-timer-fill{background:linear-gradient(90deg,#ef4444,#f97316)}.sb-pts-vq{color:#c4b5fd;font-weight:700}.league-loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 16px;gap:16px;color:#1a4b7a;font-size:15px;font-weight:600}.league-loading-spinner{width:32px;height:32px;border:3px solid rgba(43,108,176,.15);border-top-color:#1a4b7a;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.league-gate{padding:24px 16px;text-align:center}.league-gate-content{max-width:400px;margin:0 auto}.league-gate-title{font-family:var(--font-title);font-size:28px;letter-spacing:1px;color:var(--color-text-primary);margin-bottom:8px}.league-gate-message{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:16px}.league-gate-progress{text-align:left;margin-bottom:16px}.league-gate-check{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);margin-bottom:8px;box-shadow:var(--shadow-card)}.league-gate-check-icon{font-size:20px;line-height:1}.league-gate-check-text{font-size:14px;color:var(--color-text-primary);font-weight:600}.league-gate-unlocked-text{font-size:1.1rem;font-weight:700;color:#34c759;margin-bottom:12px}@media (min-width: 600px){.training-cta{max-width:400px}.gymnasium-entry-title,.javelin-arena-entry-title{font-size:36px}.gymnasium-report-title,.javelin-arena-results-title{font-size:28px}.league-gate-title{font-size:36px}}
