: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;overscroll-behavior-y:none}body{font-family:var(--font-body);background:var(--color-bg-primary);color:var(--color-text-primary);min-height:100vh;overflow:hidden;overscroll-behavior-y:none}.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){body{background:radial-gradient(ellipse at center,#f5f5f7,#eaeaef)}.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:"Rajdhani",var(--font-title);font-size:1.45rem;font-weight:700;letter-spacing:.02em;color:#1a4b7a;line-height:1}.logo-sub{display:block;font-family:var(--font-title);font-size:.65rem;font-weight:400;color:#1a4b7a;letter-spacing:.42em;padding-left:2px;text-transform:uppercase;line-height:1;margin-top:2px}.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-refresh-btn{display:none;background:none;border:none;color:#2b6cb0;cursor:pointer;padding:6px;border-radius:50%;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:opacity .2s}.header-refresh-btn.visible{display:flex}.header-refresh-btn:active{opacity:.5}.header-refresh-btn.spinning svg{animation:spin .6s linear infinite}.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}.logo-sub{font-size:.95rem}.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}@media (min-width: 600px){.tab-content{scrollbar-width:thin;scrollbar-color:transparent transparent}.tab-content:hover{scrollbar-color:rgba(0,0,0,.2) transparent}}.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) calc(100px + env(safe-area-inset-bottom));flex:1}.start-content{text-align:center;width:100%;max-width:340px}.ob-home{width:100%;padding:var(--space-lg) 0}.ob-home-title{font-family:var(--font-title);font-size:1.5rem;color:#1a4b7a;text-align:center;margin:0 0 var(--space-lg);line-height:1.3}.ob-home-sub{font-size:.9rem;color:#1a4b7a;text-align:center;margin:0 0 var(--space-lg)}.ob-home-card{display:flex;align-items:center;gap:var(--space-md);background:#fff;border-radius:var(--radius-xl);padding:var(--space-md);padding-top:0;margin-bottom:var(--space-sm);box-shadow:var(--shadow-card);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;overflow:hidden;flex-wrap:wrap}.ob-home-card:before{content:"";display:block;width:100%;height:4px;background:linear-gradient(90deg,#d4a017,gold);border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-bottom:var(--space-sm)}.ob-home-card:active{transform:scale(.98)}.ob-home-card--locked{opacity:.45;pointer-events:none}.ob-home-card--done{opacity:1;pointer-events:none}.ob-home-card-icon{flex-shrink:0;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.ob-home-card-icon img{width:48px;height:48px}.ob-jav-icon{filter:invert(22%) sepia(60%) saturate(1200%) hue-rotate(185deg) brightness(70%) contrast(95%)}.ob-cb-mini-card{display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;width:72px!important;height:78px!important;background:var(--color-bg-secondary);border:1.5px solid var(--color-bg-subtle);border-radius:5px;padding:2px;box-shadow:var(--shadow-card)}.ob-cb-corner{font-size:.6rem;color:#888;line-height:1;display:flex;align-items:center;justify-content:center}.ob-cb-corner:nth-child(1){justify-content:flex-start}.ob-cb-corner:nth-child(2){justify-content:flex-end}.ob-cb-corner:nth-child(4){justify-content:flex-start}.ob-cb-corner:nth-child(5){justify-content:flex-end}.ob-cb-center-icon{grid-column:1 / -1;width:42px!important;height:42px!important;justify-self:center}.ob-home-card-text{flex:1;min-width:0}.ob-home-card-name{font-family:var(--font-title);font-size:1.1rem;color:var(--color-text-primary);margin:0}.ob-home-card-desc{font-size:.8rem;color:var(--color-text-secondary);margin:2px 0 0}.ob-home-card-status{flex-shrink:0;font-size:.8rem;font-weight:700;padding:6px 14px;border-radius:var(--radius-full);background:var(--color-accent-primary);color:#fff}.ob-home-card--locked .ob-home-card-status{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.ob-home-card--done .ob-home-card-status{background:#2e7d32;color:#fff}@media (min-width: 600px){.ob-home-title{font-size:1.8rem}.ob-home-card{padding:var(--space-lg)}}.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:#fffc;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}.home-card{background:var(--color-bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-lg) var(--space-md);width:100%}.home-card--sprint{padding-top:0;padding-bottom:var(--space-lg);overflow:hidden}.home-card--sprint:before{content:"";display:block;height:4px;background:linear-gradient(90deg,#d4a017,gold);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.home-card--academy{padding-top:0;padding-bottom:var(--space-lg);text-align:center;overflow:hidden}.academy-home-subtitle{font-size:.8rem;color:#64748b;margin-top:6px}.home-card--academy:before{content:"";display:block;height:4px;background:linear-gradient(90deg,#d4a017,gold);border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-bottom:var(--space-lg)}.sprint-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:var(--space-sm)}.sprint-hero-logo{height:100px;width:auto;object-fit:contain;margin-bottom:var(--space-md)}.sprint-hero-card{display:flex;flex-direction:column;align-items:center;width:100%;padding:var(--space-lg) 0 0}.sprint-hero-btn,.training-cta-btn{padding:16px 24px;font-size:1.05rem;font-weight:700;letter-spacing:.02em;box-shadow:none;border-radius:var(--radius-md);justify-content:center}.sprint-hero-subtitle{font-size:.8rem;color:var(--color-text-secondary);margin-top:var(--space-sm);margin-bottom:0}.sprint-hero-meta{display:flex;flex-direction:column;align-items:center;gap:2px}.sprint-hero-attempts{display:inline-block;font-size:.75rem;color:var(--color-text-secondary);font-weight:600;background:var(--color-bg-primary);padding:4px 12px;border-radius:var(--radius-full);margin-bottom:var(--space-md);min-height:1em}.sprint-hero-leaderboard{display:flex;align-items:center;justify-content:center;width:100%;background:var(--color-bg-primary);color:#d4a017;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;padding:14px 16px;margin-top:var(--space-sm)}.sprint-hero-leaderboard:after{content:"›";font-size:1.2rem;color:#b85a72;font-weight:400;margin-left:6px}.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;padding-bottom:100px}.start-content{max-width:380px}.sprint-hero-logo{height:80px}.home-card{padding:var(--space-xl) var(--space-lg)}}.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{max-width:min(640px,calc((100dvh - 300px)*.75 + 60px));justify-content:center}.grid-panel{max-width:min(540px,calc((100dvh - 300px)*.75));max-height:80dvh}}.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{max-width:540px}}.card{background:var(--color-bg-secondary);border-radius:6px;box-shadow:var(--shadow-card);display:grid;grid-template-rows:1.4rem 1fr 1.4rem;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;padding:0 2px}.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}.card-center{position:relative;overflow:visible;font-size:1.66rem;z-index:0}.card-icon{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;width:calc(100% + 10px);height:calc(100% + 10px);object-fit:contain;z-index:-1}.card[data-icon=pyramid] .card-icon,.card[data-icon=snake] .card-icon,.card[data-icon=guitar] .card-icon,.card[data-icon=mountain] .card-icon,.card[data-icon=eagle] .card-icon,.card[data-icon=feather] .card-icon{top:2px;right:2px;bottom:2px;left:2px;width:calc(100% - 4px);height:calc(100% - 4px)}.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.question-scored,.question-container.clutch-active{border-radius:var(--radius-md);padding:var(--space-sm);position:relative}.question-container.question-scored{border:2px solid rgba(255,255,255,.5);box-shadow:0 0 6px #0000000f}.question-container.question-scored:before{content:attr(data-pts);position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#fff;color:#1a4b7a;font-size:.65rem;font-weight:800;letter-spacing:.05em;padding:2px 10px;border-radius:var(--radius-full);box-shadow:0 1px 3px #0000001a}.question-container.clutch-active{border:4px solid #FFD700;box-shadow:0 0 12px #ffd70066;animation:clutch-pulse .3s ease-in-out 3}@keyframes clutch-pulse{0%,to{box-shadow:0 0 12px #ffd70066}50%{box-shadow:0 0 30px #ffd700e6,0 0 60px #ffd70066}}.question-container.clutch-active:before{content:attr(data-pts);position:absolute;top:-10px;left:50%;transform:translate(-50%);background:gold;color:#000;font-size:.65rem;font-weight:800;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}}@keyframes goldMedalFadeIn{0%{opacity:0}to{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)}.question-operator{font-size:1.3em;font-weight:700;color:#e05a2b;margin:0 .2em;display:inline-block;transform:translateY(-.05em)}@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:1rem;line-height:1.3;padding:var(--space-sm) var(--space-md);white-space:nowrap}}.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){.card{padding:4px}.answer-panel{gap:var(--space-sm)}.answer-btn{font-size:1.1rem;padding:10px var(--space-md);min-height:44px}.hint-text{display:flex}}@media (min-width: 900px){.game-wrapper{padding:var(--space-md) var(--space-lg)}.game-container{max-width:min(640px,calc((100dvh - 300px)*.75 + 60px))}.grid-panel{max-width:min(600px,calc((100dvh - 300px)*.75));column-gap:clamp(6px,1.5vw,10px);row-gap:8px;padding:8px}.interaction-panel{max-width:min(600px,calc((100dvh - 300px)*.75))}.card{padding:5px}.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.2rem;padding:10px var(--space-lg);min-height:44px;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:safe center;padding-bottom:140px}.start-content{max-width:440px}.sprint-hero-logo{display:none}.sprint-hero-btn,.training-cta-btn{font-size:1.1rem;padding:18px 24px}.leaderboard-section{max-width:860px}}@media (min-width: 1024px){.game-container{max-width:min(760px,calc((100dvh - 300px)*.75 + 60px))}.grid-panel{max-width:min(720px,calc((100dvh - 300px)*.75));column-gap:clamp(8px,1.5vw,12px);row-gap:10px;padding:10px}.interaction-panel{max-width:min(720px,calc((100dvh - 300px)*.75))}.card{padding:6px}.answer-btn{min-height:44px;font-size:1.2rem}.question-text{font-size:1.1rem}}.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:100%;width:100%;margin:0 auto;padding:16px;box-sizing:border-box}.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-md);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-sm);transition:all var(--transition-fast)}.btn.sprint-hero-btn,.btn.training-cta-btn{display:flex;width:100%}.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}.ss-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a4b7a;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9998;padding:24px;padding-top:calc(24px + env(safe-area-inset-top));overflow-y:auto}.ss-container{max-width:400px;width:100%;text-align:center}.ss-title{font-family:var(--font-title);font-size:1.4rem;font-weight:900;color:#fff;letter-spacing:2px;margin:0 0 8px}.ss-structure{color:#ffffffd9;font-size:.95rem;line-height:1.4;margin:0 0 10px}.ss-structure strong{color:#fff}.ss-gold{color:gold;font-weight:700}.ss-card{background:#ffffff1a;border-radius:10px;padding:10px 14px;margin-bottom:6px;text-align:left}.ss-card-header{font-weight:700;color:gold;font-size:1.1rem;margin-bottom:6px}.ss-details{color:#ffffffe6;font-size:.9rem;line-height:1.5}.ss-details p{margin:0}.ss-details strong{color:#fff}.ss-quarter-label{display:block;color:#ffffff80;font-size:.8rem;font-weight:600;letter-spacing:1px;margin-top:4px}.ss-bonus{color:#ffffffb3;font-size:.9rem;font-style:italic}.ss-perfect{color:#fff9;font-size:.85rem;margin:4px 0 8px}.ss-go-btn{background:#0071e3;color:#fff;font-family:var(--font-title);font-size:1.2rem;font-weight:800;padding:16px 52px;border:none;border-radius:10px;margin-top:24px;cursor:pointer;letter-spacing:1px;min-height:52px}.ss-go-btn:active{transform:scale(.97)}.ss-back-btn{background:transparent;color:#ffffffb3;font-family:var(--font-body);font-size:.95rem;font-weight:600;padding:10px 24px;border:none;cursor:pointer;margin-top:10px}.ss-back-btn:active{color:#fff}.countdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a4b7a;display:flex;align-items:center;justify-content:center;z-index:9999}.countdown-content{text-align:center;color:#fff}.countdown-event-icon{display:block;margin:0 auto 12px;width:64px;height:64px}.countdown-event-icon.hidden{display:none}.countdown-event-icon--jav,.countdown-event-icon--vq{filter:brightness(0) invert(1)}.btn-next-qtr{display:inline-block;margin-top:16px;padding:14px 40px;font-family:var(--font-body);font-size:1rem;font-weight:700;letter-spacing:.5px;color:#1a4b7a;background:#fff;border:none;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000040;cursor:pointer;min-height:48px}.btn-next-qtr:active{background:#ffffffe6;transform:scale(.97)}.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:4rem;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;overscroll-behavior-y:contain}.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;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);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-lg) auto;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:#ffffffd9;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-card--dim{opacity:.3}.ob-card--highlight{box-shadow:0 0 0 2px #ffffffe6}.ob-intro-explain{text-align:center;padding:var(--space-sm) var(--space-md) 0}.ob-intro-explain-text{font-size:1rem;color:#ffffffe6;line-height:1.6;margin:0 0 var(--space-sm)}.ob-intro-explain-text strong{color:#fff}.ob-intro-explain-text svg{vertical-align:-.15em}.ob-intro-explain .ob-start-btn{margin-top:var(--space-md)}.ob-game{display:flex;flex-direction:column;gap:var(--space-xs)}.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-xs) var(--space-sm);text-align:center}.ob-guide-message{font-size:.95rem;font-weight:700;color:#fff;margin:0 0 2px}.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(2px,.8vw,4px);padding:var(--space-xs);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-xs) var(--space-sm);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(4,1fr);gap:var(--space-xs);transition:box-shadow .3s ease}.ob-answers.hidden{display:none}.ob-answer-btn{font-family:var(--font-body);font-size:1rem;font-weight:700;padding:var(--space-xs) var(--space-sm);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:10px 36px;font-size:1rem;background:#fff;color:#1a4b7a;font-weight:700;border-radius:var(--radius-full);box-shadow:0 4px 12px #00000040;min-height:44px;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;max-height:none}.ob-welcome-title{font-size:3rem}.ob-board .card{font-size:.8rem}}@media (min-width: 900px){.ob-container{max-width:640px}}@media (min-width: 900px) and (max-height: 900px){.ob-overlay{padding:var(--space-sm)}.ob-container{max-width:min(560px,calc((100dvh - 240px)*.95));padding-bottom:var(--space-sm)}.ob-game{gap:var(--space-xs)}.ob-board{padding:3px;gap:3px}.ob-board .card{font-size:.55rem}.ob-guide{padding:var(--space-xs) var(--space-sm)}.ob-answer-btn{padding:var(--space-xs) var(--space-sm);font-size:1rem;min-height:40px}.ob-next-btn{padding:10px 36px;font-size:1rem}}.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:1.1rem;padding:14px 40px;min-height:48px;background:#fff;color:#1a4b7a;font-weight:700}.jav-ob-guide-btn:active{background:#ffffffd9}.vq-ob-game{text-align:center;padding:var(--space-md)}.vq-ob-header{margin-bottom:var(--space-md)}.vq-ob-guide{margin-bottom:var(--space-lg)}.vq-ob-guide-msg{font-family:var(--font-title);font-size:1.3rem;color:#fff;margin:0 0 4px}.vq-ob-guide-sub{font-size:.95rem;color:#ffffffbf;margin:0}.vq-ob-phase-label{font-family:var(--font-title);font-size:.85rem;letter-spacing:.15em;color:#ffffff80;margin-bottom:var(--space-sm)}.vq-ob-sequence{display:flex;justify-content:center;gap:8px;margin-bottom:var(--space-lg);flex-wrap:wrap}.vq-ob-icon-cell{position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:#fff;border-radius:12px;border:1px solid #E2E8F0;box-shadow:0 1px 3px #0000000f}.vq-ob-position{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-size:.75rem;font-weight:700;color:#ffffff80}.vq-ob-reflash{animation:vqObFlashIn .3s ease}@keyframes vqObFlashIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.vq-ob-timer-bar{height:4px;background:#ffffff26;border-radius:2px;margin-bottom:var(--space-lg);overflow:hidden}.vq-ob-timer-fill{height:100%;background:#06b6d4;border-radius:2px;animation:vqObTimerShrink linear forwards;transform-origin:left}.vq-ob-recall-fill{background:#f59e0b}@keyframes vqObTimerShrink{0%{width:100%}to{width:0%}}.vq-ob-slots{display:flex;justify-content:center;gap:8px;margin-bottom:var(--space-lg)}.vq-ob-slot{width:52px;height:52px;border:2px dashed #CBD5E1;border-radius:10px;background:#ffffff0d;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.vq-ob-slot--filled{border-style:solid;border-color:var(--color-accent-primary);background:#0071e314}.vq-ob-slot--correct{border-color:#34c759;border-style:solid;background:#34c7591f}.vq-ob-slot--wrong{border-color:#ef4444;border-style:solid;background:#ef44441f}.vq-ob-choices{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:var(--space-md)}.vq-ob-choice-btn{width:56px;height:56px;background:#fff;border:1px solid #E2E8F0;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000000f;transition:opacity .2s,transform .1s}.vq-ob-choice-btn:active{background:#0071e31a;transform:scale(.95)}.vq-ob-choice--used{opacity:.15;pointer-events:none;background:#e2e8f0}.vq-ob-bottom-row{display:flex;justify-content:center;gap:12px;align-items:center}.vq-ob-undo-btn{background:transparent;border:1px solid rgba(255,255,255,.3);color:#ffffffb3;font-size:.85rem;padding:8px 20px;border-radius:20px;cursor:pointer;min-height:44px}.vq-ob-undo-btn.hidden{display:none}.vq-ob-help-btn{min-height:48px;font-size:.95rem;padding:10px 24px}.vq-ob-help-btn.hidden{display:none}.vq-ob-real-game{width:100%;max-width:420px;margin:0 auto}.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;overscroll-behavior-y:contain}.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:#1a4b7a;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{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;overscroll-behavior-y:contain}.h2h-challenge-created.hidden,.h2h-match-setup.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-match-setup-content>*{margin-bottom:14px}.h2h-match-setup-content>*:last-child{margin-bottom:0}.h2h-match-setup-content #h2hScoutingCard:not(.hidden){margin-top:4px;margin-bottom:18px}.h2h-match-setup-content #h2hMatchReadyBtn{margin-top:6px}.h2h-match-setup-content #h2hMatchBackBtn{margin-top:4px}.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}.game-report-container{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg-primary);display:flex;flex-direction:column;align-items:center;z-index:200;padding:calc(var(--space-md) + env(safe-area-inset-top)) var(--space-md) var(--space-lg);overflow-y:auto;overscroll-behavior-y:contain}.game-report-container.hidden{display:none}.game-report-close{position:fixed;top:calc(env(safe-area-inset-top) + 8px);right:12px;width:36px;height:36px;background:var(--color-bg-subtle);border:1px solid var(--color-bg-subtle);border-radius:50%;font-size:1.1rem;color:var(--color-text-secondary);cursor:pointer;z-index:201;display:flex;align-items:center;justify-content:center}.game-report-close:active{background:var(--color-bg-secondary)}.game-report-header{text-align:center;width:100%;max-width:480px;margin-bottom:var(--space-md)}.game-report-body{width:100%;max-width:480px}.game-report-actions{display:flex;gap:var(--space-sm);justify-content:center;margin-top:var(--space-lg);padding-bottom:var(--space-lg);width:100%;max-width:480px}.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:100%;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:.85rem;padding:8px 16px;min-height:36px;border-radius:6px;border:1px solid #E53E3E;background:transparent;color:#e53e3e;cursor:pointer;margin-left:10px;font-weight:600;-webkit-tap-highlight-color:rgba(229,62,62,.15)}.h2h-cancel-btn:active{background:#e53e3e1a}.h2h-cancel-btn:disabled{opacity:.5;cursor:default}.h2h-dismiss-btn{font-size:1.4rem;line-height:1;padding:6px 12px;min-width:36px;min-height:36px;border-radius:6px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;margin-left:8px;opacity:.7;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.h2h-dismiss-btn:active{opacity:1;background:#0000000f}.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-buttons{display:flex;gap:6px;align-items:center;flex-shrink:0}.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}.h2h-toast-decline{background:transparent;color:#ef4444;border:1.5px solid #EF4444;border-radius:var(--radius-md);padding:5px 10px;font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap}.h2h-toast-close{background:transparent;border:none;color:#888;font-size:1.3rem;line-height:1;cursor:pointer;padding:2px 6px}.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)}}.career-stats-tabs{display:flex;gap:0;border-bottom:2px solid #E8E8ED;margin-bottom:16px}.career-stats-tab{flex:1;padding:12px 8px;background:none;border:none;font-size:14px;font-weight:600;color:#6e6e73;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.career-stats-tab.active{color:#1a4b7a;border-bottom-color:#1a4b7a}.career-scope-toggle{display:flex;gap:0;background:#f0f0f5;border-radius:8px;padding:3px;margin-bottom:12px}.career-scope-btn{flex:1;padding:8px 12px;border:none;background:transparent;font-size:13px;font-weight:600;color:#6e6e73;cursor:pointer;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.career-scope-btn.active{background:#fff;color:#1a4b7a;box-shadow:0 1px 3px #0000001a}.career-search-wrap{margin-bottom:12px}.career-search-input{width:100%;padding:10px 14px;border:1px solid #D1D1D6;border-radius:10px;font-size:15px;background:#fff;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.career-search-input:focus{outline:none;border-color:#1a4b7a}.career-loading{text-align:center;padding:32px 16px;color:#6e6e73;font-size:14px}.career-filter-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:10px;width:100%;box-sizing:border-box}.career-filter-btn{padding:8px 2px;border:2px solid #1A4B7A;border-radius:8px;background:#fff;font-size:11px;font-weight:700;color:#1a4b7a;cursor:pointer;white-space:nowrap;text-align:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-transform:uppercase;letter-spacing:.3px}.career-filter-btn.active{background:#1a4b7a;color:#fff}.career-stat-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;width:100%;box-sizing:border-box}.career-stat-pill{padding:5px 10px;border:1px solid #D1D1D6;border-radius:16px;background:#f5f5f7;font-size:12px;font-weight:600;color:#6e6e73;cursor:pointer;white-space:nowrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.career-stat-pill .pill-arrow{display:inline-block;width:1em;text-align:center}.career-stat-pill.active{background:#3577b8;color:#fff;border-color:#3577b8}.career-stats-panel{max-width:100%;box-sizing:border-box}.career-leaderboard-list{overflow:hidden}.career-lb-entry{display:grid;grid-template-columns:24px 36px 1fr auto;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-radius:10px;margin-bottom:6px;box-shadow:0 1px 2px #0000000f;max-width:100%;box-sizing:border-box}.career-lb-entry--me{background:#ebf4ff;border:1px solid #1A4B7A}.career-lb-rank{font-size:15px;font-weight:700;color:#6e6e73;text-align:center}.career-lb-avatar{width:36px;height:36px;border-radius:50%}.career-lb-info{overflow:hidden}.career-lb-name{font-size:15px;font-weight:600;color:#1d1d1f;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.career-lb-sub{font-size:12px;color:#6e6e73}.career-lb-stat{font-size:18px;font-weight:700;color:#1a4b7a;text-align:right;white-space:nowrap;padding-left:4px}.career-personal-card{padding:0 4px}.personal-card-hero{text-align:center;padding:20px 16px;background:linear-gradient(135deg,#1a4b7a,#3577b8);border-radius:14px;color:#fff;margin-bottom:16px}.personal-card-record{font-size:28px;font-weight:800;letter-spacing:1px}.personal-card-winpct{font-size:16px;opacity:.9;margin-top:4px}.personal-card-legend{font-size:14px;opacity:.8;margin-top:8px}.personal-card-section{background:#fff;border-radius:12px;padding:14px 16px;margin-bottom:10px;box-shadow:0 1px 3px #00000014}.personal-card-section h4{font-size:13px;font-weight:700;color:#1a4b7a;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.personal-stat-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #F5F5F7;font-size:14px}.personal-stat-row:last-child{border-bottom:none}.personal-stat-row span{color:#6e6e73}.personal-stat-row strong{color:#1d1d1f;font-weight:600}@media (max-width: 599px){.career-stat-grid{grid-template-columns:repeat(3,1fr)}}.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%;margin:0 auto}.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-min-players{font-size:.85rem;color:var(--color-text-secondary);text-align:center;margin:0}.tournament-player-search{position:relative}.tournament-search-results{margin-top:var(--space-xs);border-radius:var(--radius-md);overflow:hidden;max-height:200px;overflow-y:auto}.tournament-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)}.tournament-search-item:last-child{border-bottom:none}.tournament-search-name{font-weight:600;font-size:.95rem}.tournament-search-added{background:#276749;pointer-events:none}.tournament-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}.tournament-roster-label{font-size:.85rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--space-xs)}.tournament-roster-list{display:flex;flex-wrap:wrap;gap:8px}.tournament-roster-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-bg-subtle);border-radius:20px;font-size:.85rem;font-weight:600}.tournament-roster-remove{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;color:var(--color-text-secondary);padding:0 2px}.tournament-roster-remove:hover{color:#f44}.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-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:.9rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:2px}.tournament-stage-title{font-size:1.5rem}.tournament-stage-subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-md)}.matchup-hero{display:flex;align-items:center;justify-content:center;margin:4px 0;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)}.reveal-score-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.reveal-score-title{font-family:var(--font-title);font-size:1.8rem;letter-spacing:2px;margin-bottom:12px}.reveal-score-subtitle{font-size:.95rem;color:var(--color-text-secondary);margin-bottom:32px;max-width:300px}.reveal-score-btn{font-size:1.1rem;padding:16px 48px;animation:reveal-pulse 2s ease-in-out infinite}@keyframes reveal-pulse{0%,to{box-shadow:0 0 #1a4b7a66}50%{box-shadow:0 0 0 12px #1a4b7a00}}.mr-back-btn{display:inline-flex;align-items:center;background:none;border:1px solid #d1d5db;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;margin-top:4px;-webkit-tap-highlight-color:transparent}.mr-back-btn:active{background:#f3f4f6}.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:var(--space-md) auto;text-align:center;width:100%;max-width:400px;text-transform:uppercase}.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-report-title{font-family:var(--font-title);font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-primary);text-align:center;margin-bottom:var(--space-md)}.match-scoreboard-table{margin-bottom:var(--space-md);overflow-x:auto;-webkit-overflow-scrolling:touch}.match-scoreboard-table .sb-pts-quiz{color:#0071e3}.match-scoreboard-table .sb-pts-strike{color:#16a34a}.match-scoreboard-table .sb-pts-vq{color:#7c3aed}.sb-sep{color:var(--color-text-secondary);opacity:.4;font-size:.7em;margin:0 1px}.scoreboard-tbl{width:100%;border-collapse:collapse;font-size:.78rem}.scoreboard-tbl thead th{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-primary);padding:5px 4px;text-align:center;border-bottom:2px solid var(--color-accent-primary)}.scoreboard-tbl td{padding:6px 4px;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:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreboard-tbl td.sb-pts{font-weight:600;white-space:nowrap}.scoreboard-tbl td.sb-final{font-weight:800;font-size:.9rem;border-left:2px solid var(--color-accent-primary)}@media (min-width: 600px){.scoreboard-tbl{font-size:.9rem}.scoreboard-tbl thead th{padding:6px 8px;font-size:.75rem;letter-spacing:.5px}.scoreboard-tbl td{padding:8px}.scoreboard-tbl td.sb-name,.scoreboard-tbl th.sb-name{max-width:120px}.scoreboard-tbl td.sb-final{font-size:1rem}}.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--tripleclutch .scoring-play-label{color:#e53e3e}.scoring-play--quadclutch .scoring-play-label{color:#d4a017}.scoring-play--speed .scoring-play-label{color:var(--color-accent-primary)}.scoring-play--javvy .scoring-play-label{color:#34c759}.scoring-play--excellent .scoring-play-label{color:#d4a017;font-weight:800}.scoring-play-detail{flex:1;color:var(--color-text-secondary)}.scoring-play--quadclutch .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;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.benefits-container{max-width:560px;margin:0 auto;padding:60px var(--space-md) var(--space-2xl);position:relative}.benefits-close{position:absolute;top:50px;right:var(--space-md);background:none;border:none;font-size:2rem;color:var(--color-text-secondary);cursor:pointer;line-height:1;padding:12px;min-width:44px;min-height:44px}.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-section{margin-bottom:var(--space-md)}.benefits-section-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:18px var(--space-lg);background:#1a4b7a;border:none;border-radius:var(--radius-lg);font-family:var(--font-title);font-size:1.3rem;color:#fff;cursor:pointer;letter-spacing:1px;min-height:56px;box-shadow:0 2px 8px #00000026}.benefits-section-toggle:active{background:#15416a}.benefits-toggle-arrow{font-size:1.2rem;color:#ffffffb3}.benefits-section-content.hidden{display:none}.benefits-group{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-lg) var(--space-md);margin-bottom:var(--space-xl);box-shadow:var(--shadow-soft)}.benefits-group p{color:var(--color-text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:var(--space-md)}.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.6;margin-bottom:var(--space-md);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:1.1rem;color:var(--color-text-primary);font-style:italic;margin-top:var(--space-xl);text-align:center}.benefits-footer{text-align:center;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-bg-subtle)}.benefits-signin{margin-bottom:var(--space-lg)}.benefits-signin p{font-weight:600;font-size:.9rem;color:var(--color-text-secondary);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-sm) var(--space-md);margin:var(--space-sm) 0;box-shadow:var(--shadow-card)}.scouting-toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:10px 0;font-family:var(--font-title);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-primary);border-bottom:1px solid rgba(0,0,0,.08);min-height:44px}.scouting-toggle-arrow{font-size:.7rem;color:var(--color-text-secondary)}.scouting-body.hidden{display:none}.scouting-header{font-family:var(--font-title);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-primary);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid rgba(0,0,0,.08)}.scouting-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm) var(--space-xs)}.scouting-stat{text-align:center;padding:var(--space-xs) 0}.scouting-stat-value{font-size:1.05rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.scouting-stat-label{font-size:.65rem;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{margin:20px 0 12px;width:100%;max-width:100%}.qtr-scoreboard .scoreboard-tbl{font-size:1.1rem;color:#fff;width:100%}.qtr-scoreboard .scoreboard-tbl thead th{color:#ffffffb3;border-bottom-color:#ffffff4d;padding:10px 6px;font-size:.9rem}.qtr-scoreboard .scoreboard-tbl td{color:#fff;border-bottom-color:#ffffff1a;padding:10px 6px}.qtr-scoreboard .sb-name{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}.qtr-scoreboard .sb-final{font-weight:700;font-size:1.2rem}.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:1rem;font-weight:700;color:#fcd34d;margin-top:6px;font-weight:600;opacity:.85}.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:.75rem;font-weight:800;text-transform:uppercase;color:#2b6cb0;letter-spacing:.08em;text-align:left;margin-top:var(--space-xs);margin-bottom:var(--space-xs);padding-top:var(--space-xs);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:1rem;text-align:center;word-break:break-word;max-width:120px}.battle-player .matchup-streak{font-size:.75rem;font-weight:600;color:#64748b}.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:.9rem;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}.series-advance-msg{text-align:center;font-size:1.1rem;font-weight:700;color:#1a4b7a;margin-top:12px}.series-eliminate-msg{text-align:center;font-size:1.1rem;font-weight:700;color:#666;margin-top:12px}.league-player-search{position:relative;margin-bottom:var(--space-sm)}.league-search-input{width:100%;padding:12px 16px;font-family:var(--font-body);font-size:1rem;border:1.5px solid var(--color-bg-subtle);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);box-sizing:border-box}.league-search-input:focus{outline:none;border-color:var(--color-accent-primary)}.league-search-results{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-secondary);border:1px solid var(--color-bg-subtle);border-radius:var(--radius-md);z-index:50;max-height:200px;overflow-y:auto}.league-search-results.hidden{display:none}.league-search-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--color-bg-subtle)}.league-search-item:last-child{border-bottom:none}.league-search-name{font-weight:600;font-size:.95rem}.league-search-invite--sent{opacity:.5;pointer-events:none}.league-search-empty{padding:12px 14px;color:var(--color-text-secondary);font-size:.9rem}.league-search-roster{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-sm)}.league-roster-chip{display:inline-flex;align-items:center;gap:4px;background:var(--color-accent-primary);color:#fff;font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:var(--radius-full)}.league-roster-chip-remove{background:none;border:none;color:#fff;font-size:1rem;cursor:pointer;padding:0 2px;line-height:1}#leagueEntry,#leagueLobby,#leagueDashboard,#leagueMatchSetup,#leagueMatchReport,#leagueComplete{padding:calc(var(--space-md) + env(safe-area-inset-top)) var(--space-sm) 80px;text-align:center;width:100%;max-width:480px;margin:0 auto;overflow:hidden auto;box-sizing:border-box}@media (min-width: 600px){#leagueEntry,#leagueLobby,#leagueDashboard,#leagueMatchSetup,#leagueMatchReport,#leagueComplete{max-width:800px;padding-bottom:80px}}#leagueEntry h2{font-family:var(--font-display);font-size:1.3rem;color:var(--color-text-primary);margin:0 0 var(--space-sm);white-space:nowrap}#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:12px 8px;padding:8px 12px;background:#1a4b7a0f;border-left:3px solid #1A4B7A;border-radius:4px;line-height:1.4}.league-add-bots-btn{width:100%;margin-top:4px;font-size:13px;color:var(--color-text-secondary)}#leagueLobby #leagueStartBtn,#leagueLobby #leagueShareInviteBtn{display:block;width:100%;margin-top:10px;box-sizing:border-box}#leagueLobby #leagueLobbyLeaveBtn{display:block;margin:18px auto 0}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}.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}.sched-week{margin-bottom:12px}.sched-week-row{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px 8px;min-height:44px;background:var(--color-bg-secondary);border-radius:10px;-webkit-tap-highlight-color:transparent}.sched-week-label{font-size:14px;font-weight:700;color:var(--color-text-primary)}.sched-week--past .sched-week-label{color:var(--color-text-secondary)}.sched-week--current .sched-week-row{background:#f0f8ff;border:1px solid var(--color-accent-primary)}.sched-week--current .sched-week-label{color:var(--color-accent-primary)}.sched-week-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:6px;background:#fef3c7;color:#d97706;margin-left:6px;vertical-align:middle}.sched-week--future .sched-week-row{opacity:.6}.sched-week-body{padding:4px 0 0 8px}.sched-tbd{font-size:13px;color:var(--color-text-secondary);font-style:italic;padding:8px 0;margin:0}.sched-row{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:8px 4px;min-height:44px;-webkit-tap-highlight-color:transparent}.sched-row>div{flex:1;min-width:0}.sched-chevron{font-size:14px;color:var(--color-text-secondary);width:44px;text-align:center;flex-shrink:0}.sched-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}.sched-pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--color-text-primary)}.sched-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sched-dot--play{background:#2563eb}.sched-dot--done{background:#16a34a}.sched-dot--waiting{background:#d97706}.sched-detail{margin-top:8px}.league-day-group .league-day-label{margin-bottom:0}.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:none;border:1px solid rgba(0,113,227,.15)}.sched-remaining{font-size:.82rem;color:var(--color-text-secondary);text-align:center;padding:8px 0}.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;width:100%;max-width:480px;margin:0 auto;box-sizing:border-box}.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-dash-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid var(--color-bg-subtle);padding-bottom:0}.league-dash-tab{flex:1;background:none;border:none;padding:10px 4px;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.league-dash-tab.active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-primary)}.league-dash-panel{min-height:100px;width:100%;box-sizing:border-box;overflow-x:hidden}.league-daily-leaders{display:flex;flex-direction:column}.league-daily-paper{background:#fafaf5;border:1px solid #D4D0C8;border-radius:var(--radius-md);padding:16px 14px}.league-daily-masthead{text-align:center;margin-bottom:14px}.league-daily-rule{height:1px;background:#1a4b7a;margin:6px 0}.league-daily-rule:first-child{height:3px;margin-bottom:8px}.league-daily-title{font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:700;color:#1a4b7a;letter-spacing:1px;line-height:1.2}.league-daily-league-name{font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:600;color:#1a4b7a;margin-top:4px}.league-daily-edition{font-family:Georgia,Times New Roman,serif;font-size:.85rem;color:#64748b;font-style:italic;margin-top:2px}.league-daily-columns{display:flex;flex-direction:column}.league-daily-leader{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #E8E4DC}.league-daily-leader:last-child{border-bottom:none;padding-bottom:0}.league-daily-leader:first-child{padding-top:0}.league-daily-leader-icon{font-size:1.3rem;flex-shrink:0}.league-daily-leader-info{flex:1;display:flex;justify-content:space-between;align-items:center}.league-daily-leader-label{font-family:Georgia,Times New Roman,serif;font-size:.9rem;color:#4a4a4a;font-weight:600}.league-daily-leader-value{text-align:right}.league-daily-leader-name{font-size:.95rem;font-weight:700;color:#1a4b7a}.league-daily-leader-stat{font-size:.8rem;font-weight:600;color:#64748b}.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:flex;flex-direction:column;gap:12px;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:2px}.league-leaders-section-sub{font-size:10px;color:var(--color-text-secondary);font-style:italic;margin-bottom:5px}.league-leaders-row--me{background:#f0f8ff;border-radius:6px}.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-phase-toggle{display:flex;gap:0;margin-bottom:12px;border-radius:8px;overflow:hidden;border:2px solid #1A4B7A}.league-stats-phase-btn{flex:1;padding:8px 12px;border:none;background:#fff;font-size:13px;font-weight:700;color:#1a4b7a;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-transform:uppercase;letter-spacing:.3px}.league-stats-phase-btn.active{background:#1a4b7a;color:#fff}.league-stats-phase-btn+.league-stats-phase-btn{border-left:2px solid #1A4B7A}.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;box-sizing:border-box}.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;width:100%;box-sizing:border-box}.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-pills{display:flex;justify-content:center;gap:10px;margin-bottom:12px}.ds-entry-ppg{font-size:13px;color:var(--color-text-secondary);margin-bottom:12px;background:var(--color-bg-secondary);display:inline-block;padding:6px 16px;border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.ds-entry-ppg strong{color:var(--color-text-primary)}.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-entry-lb{margin-top:32px;text-align:left}.ds-lb-legend{text-align:center;font-size:.75rem;color:var(--color-text-secondary);margin-top:var(--space-sm);line-height:1.6}.ds-entry-lb-title{font-family:var(--font-title);font-size:1rem;color:#1a1a1a;margin:0 0 10px;text-align:center}.ds-entry-lb-empty{text-align:center;color:#94a3b8;font-size:.85rem;padding:12px 0}.ds-entry-lb-entry{display:grid;grid-template-columns:24px 36px 1fr auto;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-radius:10px;margin-bottom:6px;box-shadow:0 1px 2px #0000000f}.ds-entry-lb-entry--me{background:#ebf4ff;border:1px solid #1A4B7A}.ds-entry-lb-rank{font-size:15px;font-weight:700;color:#6e6e73;text-align:center}.ds-entry-lb-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}.ds-entry-lb-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:#e2e8f0;flex-shrink:0}.ds-entry-lb-info{overflow:hidden}.ds-entry-lb-name{font-size:15px;font-weight:600;color:#1d1d1f;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-badge{font-size:11px;margin-left:4px}.ds-history-entry{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #E2E8F0;border-radius:var(--radius-md);margin-bottom:6px;background:var(--color-bg-secondary);cursor:pointer}.ds-history-entry:active{opacity:.8}.ds-history-entry--champ{border-color:#d4a8174d;background:#d4a8170a}.ds-history-date{font-size:12px;font-weight:600;color:var(--color-text-secondary);min-width:46px}.ds-history-score{flex:1;font-size:16px;font-weight:800;color:var(--color-text-primary)}.ds-history-rank{font-size:12px;font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.ds-entry-lb-sub{font-size:12px;color:#6e6e73}.ds-entry-lb-stat{font-size:18px;font-weight:700;color:#1a4b7a;text-align:right;white-space:nowrap;padding-left:4px}.ds-results{padding:24px 16px;text-align:center}.ds-results-content{max-width:400px;margin:0 auto}.ds-results-rank-hero{text-align:center;margin-bottom:8px}.ds-results-rank-position{font-family:var(--font-title);font-size:3rem;font-weight:900;color:#1a4b7a;letter-spacing:1px}.ds-results-rank-total{font-size:1rem;color:var(--color-text-secondary)}.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 1fr;gap:12px;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.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--points .ds-results-stat-value{font-size:28px;font-weight:800;color:var(--color-accent-primary)}.ds-results-breakdown{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:20px}.ds-results-event{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--color-bg-subtle)}.ds-results-event:last-child{border-bottom:none}.ds-results-event-label{font-weight:600;font-size:14px;color:var(--color-text-primary)}.ds-results-event-value{font-size:14px;color:var(--color-text-secondary)}.ds-results-stat-label{font-size:.7rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.ds-results-bonuses{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-subtle);border-radius:var(--radius-md);font-size:.8rem;color:var(--color-text-secondary);line-height:1.7}.ds-results-bonuses p{margin:0}.ds-results-bonuses strong{color:var(--color-text-primary)}.ds-results-actions{display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:var(--space-lg)}.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,.gymnasium-entry-content,.gymnasium-report-content,.javelin-arena-entry-content,.javelin-arena-results-content,.vq-entry-content,.vq-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{display:none}.strike-ob-hint{position:absolute;top:calc(env(safe-area-inset-top) + 8px);left:12px;right:48px;background:#1a4b7ae6;color:#fff;font-size:.8rem;line-height:1.4;padding:8px 12px;border-radius:8px;z-index:10}.strike-ob-hint.hidden{display:none}.strike-ob-close{position:absolute;top:calc(env(safe-area-inset-top) + 8px);right:8px;width:36px;height:36px;background:#1a4b7ae6;color:#fff;border:none;border-radius:50%;font-size:1.1rem;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center}.strike-ob-close.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}@keyframes jav-timer-pulse{0%,to{opacity:1}50%{opacity:.4}}.strike-canvas-wrap{flex:1;width:100%;max-width:500px;position:relative}@media (min-width: 600px){.strike-canvas-wrap{max-width:700px}}@media (min-width: 900px){.strike-canvas-wrap{max-width:900px}}.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:linear-gradient(to right,#ef444440,#ef44441a 10%,#34c75959 25%,#34c75959 75%,#ef44441a 90%,#ef444440);border-left:1.5px solid rgba(239,68,68,.25);border-right:1.5px solid rgba(239,68,68,.25)}.strike-power-bar-perfect{position:absolute;top:-1px;bottom:-1px;width:2px;left:50%;transform:translate(-50%);background:#34c759b3}.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:#334155;color:#fff;font-family:var(--font-title, "Bebas Neue", sans-serif);font-size:18px;letter-spacing:2px;text-shadow:0 1px 2px rgba(0,0,0,.5);border:3px solid #fff;cursor:pointer;box-shadow:0 3px 6px #0000004d;-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:#1f2937;animation:strike-fire-pulse .6s ease-in-out infinite}@keyframes strike-fire-pulse{0%,to{box-shadow:0 3px 6px #0000004d,0 0 #ffffff80}50%{box-shadow:0 3px 6px #0000004d,0 0 0 10px #fff0}}.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:#2b6cb08c;text-transform:uppercase;pointer-events:none;text-align:center;line-height:1.6}.strike-aim-arrows{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.strike-aim-arrow{position:absolute;font-size:14px;color:#2b6cb04d}.strike-aim-arrow--up{top:6px;left:50%;transform:translate(-50%)}.strike-aim-arrow--down{bottom:6px;left:50%;transform:translate(-50%)}.strike-aim-arrow--left{left:8px;top:50%;transform:translateY(-50%)}.strike-aim-arrow--right{right:8px;top:50%;transform:translateY(-50%)}.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:0;margin-top:var(--space-md);width:100%}.training-cta-prompt{font-family:var(--font-body);font-size:.85rem;color:var(--color-text-secondary);text-align:center;margin:0 0 var(--space-sm);line-height:1.3}.ob-home-complete{text-align:center;padding:var(--space-xl) 0}.ob-home-complete-trophy{margin-bottom:var(--space-lg)}.ob-home-complete-text{font-size:.9rem;color:var(--color-text-secondary);line-height:1.6;margin:0 0 var(--space-sm)}.ob-home-complete-actions{margin-top:var(--space-xl)}.ob-home-go-btn{padding:14px 40px;font-size:1rem;font-weight:700;text-align:center}.training-pick{margin-top:var(--space-md);position:relative;text-align:center;width:100%}.training-pick-link{background:none;border:2px solid var(--color-accent-primary);border-radius:var(--radius-md);font-family:var(--font-body);font-size:1.05rem;font-weight:700;color:var(--color-accent-primary);cursor:pointer;padding:12px 24px;text-decoration:none}.training-pick-link:active{opacity:.8;background:var(--color-accent-primary);color:#fff}.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-tagline{font-size:13px;font-style:italic;color:#64748b;text-align:center;margin:0 0 16px;line-height:1.4}.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-tier{text-align:center;margin-bottom:var(--space-lg)}.training-hub-tier-name{display:block;font-family:var(--font-title);font-size:1.4rem;font-weight:900;color:#1a4b7a;letter-spacing:1px;margin-bottom:4px}.training-hub-tier-progress{display:block;font-size:.85rem;color:var(--color-text-secondary);font-weight:600}.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.2rem;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:#1a4b7a;font-weight:600;font-style:normal;margin:8px 0 4px;line-height:1.4;padding:10px 14px;background:#1a4b7a0f;border-left:3px solid #1A4B7A;border-radius:4px;text-align:left}.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 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:24px}.javelin-arena-results-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:28px}.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-stats-card{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-card);margin-bottom:16px}.vq-stat{display:flex;flex-direction:column;align-items:center}.vq-stat-value{font-size:22px;font-weight:800;color:var(--color-text-primary)}.vq-stat-label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.vq-pct{font-size:13px;font-weight:600}#vqSpanStats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:10px;margin-top:6px;padding-top:10px;border-top:1px solid #E2E8F0}.vq-mode-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.vq-mode-card{background:#fff;border:2px solid #E2E8F0;border-radius:12px;padding:16px;text-align:center;box-shadow:0 1px 3px #0000000f;cursor:pointer;transition:border-color .2s}.vq-mode-card.vq-mode-selected{border-color:var(--color-accent-primary);background:#f0f7ff}.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{display:flex;align-items:center;justify-content:center;padding:2px;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{padding:2px;min-width:36px;min-height:36px;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:8px;flex-wrap:wrap;margin-bottom:28px}.vq-choice-btn{min-width:36px;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:transparent;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}@media (min-width: 600px){.vq-icon-cell,.vq-slot{width:80px!important;height:80px!important;min-width:56px;border-radius:16px}.vq-icon-cell img,.vq-slot img{width:64px!important;height:64px!important}.vq-choice-btn{width:80px!important;border-radius:16px}.vq-choice-btn img{width:64px!important;height:64px!important}.vq-sequence-row,.vq-slots-row,.vq-choices-row,.vq-choices-grid{gap:10px}}.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}.ob-overlay .vq-next-btn{background:#fff;color:#1a4b7a;box-shadow:0 4px 12px #00000040}.ob-overlay .vq-next-btn:active{background:#ffffffe6}.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:2px 2px 4px;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}@media (min-width: 600px){.vq-competitive-content{max-width:700px}}.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:100%}.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}}.ms100-home-card{width:100%;margin-bottom:12px}.home-card--ms100{text-align:center;padding:0 16px 16px;overflow:hidden}.home-card--ms100:before{content:"";display:block;height:4px;background:linear-gradient(90deg,#d4a017,gold);border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-bottom:20px}.ms100-home-btn{display:block;width:100%;font-size:1rem;font-weight:700;text-align:center}.ms100-home-subtitle{font-size:.8rem;color:#64748b;margin-top:6px}.ms100-home-pb{display:block;font-size:.75rem;color:#2b6cb0;font-weight:600;margin-top:4px}.ms100-home-rank{display:block;font-size:.75rem;color:#64748b;margin-top:2px}.ms100-entry{padding:24px 20px;text-align:center}.ms100-entry-content{max-width:400px;margin:0 auto}.ms100-entry-title{font-family:var(--font-title);font-size:28px;color:#1a1a1a;margin-bottom:8px}.ms100-entry-subtitle{color:#64748b;font-size:.9rem;margin-bottom:20px}.ms100-entry-stats{margin-bottom:20px}.ms100-entry-stat-value{font-family:var(--font-title);font-size:32px;color:#2b6cb0;display:block}.ms100-entry-stat-label{font-size:.8rem;color:#64748b}.ms100-resume{background:#f0f7ff;border-radius:12px;padding:16px;margin-bottom:16px}.ms100-resume-label{font-weight:700;font-size:.85rem;color:#2b6cb0;margin-bottom:4px}.ms100-resume-progress{font-size:.85rem;color:#1a1a1a;margin-bottom:12px}.ms100-entry-pitch{margin-top:20px;padding:16px;background:#f9fafb;border-radius:12px}.ms100-entry-pitch-text{font-size:.8rem;color:#64748b;line-height:1.5}.ms100-leaderboard{margin-top:20px;text-align:left}.ms100-lb-tabs{display:flex;gap:0;margin-bottom:12px;border-bottom:2px solid #E2E8F0}.ms100-lb-tab{flex:1;padding:8px 0;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;text-align:center}.ms100-lb-tab--active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-primary)}.ms100-pb-summary{background:#ebf4ff;border:1px solid #C5D9F0;border-radius:var(--radius-md);padding:12px 14px;margin-bottom:12px}.ms100-pb-summary-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:6px}.ms100-pb-summary-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem;color:#1a4b7a}.ms100-pb-stat strong{font-weight:700}.ms100-pb-divider{width:1px;height:14px;background:#c5d9f0}.ms100-pb-pace{font-size:.8rem;color:#2b6cb0;margin-top:6px;font-weight:600}.ms100-attempt-entry{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #E2E8F0;border-radius:var(--radius-md);margin-bottom:6px;background:var(--color-bg-secondary);cursor:pointer}.ms100-attempt-entry:active{opacity:.8}.ms100-lb-title{font-family:var(--font-title);font-size:1rem;color:#1a1a1a;margin:0 0 10px;text-align:center}.ms100-lb-list{display:flex;flex-direction:column;gap:4px}.ms100-lb-empty{text-align:center;color:#94a3b8;font-size:.85rem;padding:16px 0}.ms100-lb-entry{display:grid;grid-template-columns:24px 36px 1fr auto;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-radius:10px;margin-bottom:6px;box-shadow:0 1px 2px #0000000f;cursor:pointer}.ms100-lb-entry:active{opacity:.8}.ms100-lb-entry--me{background:#ebf4ff;border:1px solid #1A4B7A}.ms100-lb-rank{font-size:15px;font-weight:700;color:#6e6e73;text-align:center}.ms100-lb-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}.ms100-lb-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:#e2e8f0;flex-shrink:0}.ms100-lb-info{overflow:hidden}.ms100-lb-name{font-size:15px;font-weight:600;color:#1d1d1f;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms100-lb-sub{font-size:12px;color:#6e6e73}.ms100-lb-header{display:grid;grid-template-columns:24px 36px 1fr auto;padding:0 12px 4px}.ms100-lb-header-stat{font-size:11px;font-weight:600;color:#6e6e73;text-transform:uppercase;letter-spacing:.5px;text-align:right}.ms100-lb-stat{font-size:18px;font-weight:700;color:#1a4b7a;text-align:right;white-space:nowrap;padding-left:4px}.ms100-lb-detail{margin-bottom:6px}.ms100-lb-detail-content{background:#f0f4f8;border-radius:8px;padding:10px 14px;font-size:.8rem;margin:0 4px}.ms100-detail-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.ms100-detail-row+.ms100-detail-row{border-top:1px solid rgba(0,0,0,.06)}.ms100-detail-label{font-weight:600;color:#1a1a1a}.ms100-detail-row--xs .ms100-detail-label,.ms100-detail-row--xs .ms100-detail-value{color:#0071e3;font-size:.8rem;font-weight:700}.ms100-detail-value{color:#64748b}.ms100-inter-game{padding:40px 20px;text-align:center}.ms100-inter-content{max-width:360px;margin:0 auto}.ms100-inter-title{font-family:var(--font-title);font-size:24px;color:#1a1a1a;margin-bottom:24px}.ms100-progress-ring{margin-bottom:20px}.ms100-progress-pts{font-family:var(--font-title);font-size:48px;color:#2b6cb0}.ms100-progress-bar-wrap{position:relative;height:12px;background:#e2e8f0;border-radius:6px;overflow:hidden;margin-bottom:16px}.ms100-progress-bar{height:100%;background:linear-gradient(90deg,#2b6cb0,#0071e3);border-radius:6px;transition:width .6s ease}.ms100-progress-pct{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.65rem;font-weight:700;color:#fff}.ms100-inter-stats{display:flex;justify-content:center;gap:24px;margin-bottom:24px}.ms100-inter-stat{font-size:.85rem;color:#64748b;font-weight:600}.ms100-finish-line{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#1a4b7a,#2b6cb0);z-index:9999;display:flex;align-items:center;justify-content:center;animation:ms100-fade-in .4s ease}@keyframes ms100-fade-in{0%{opacity:0}to{opacity:1}}.ms100-finish-content{text-align:center;color:#fff}.ms100-finish-number{font-family:var(--font-title);font-size:96px;line-height:1;animation:ms100-scale-up .6s ease}@keyframes ms100-scale-up{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}.ms100-finish-subtitle{font-size:1.2rem;margin-top:8px;opacity:.9}.ms100-finish-stats{display:flex;justify-content:center;gap:40px;margin-top:32px}.ms100-finish-stat{text-align:center}.ms100-finish-stat-value{font-family:var(--font-title);font-size:36px;display:block}.ms100-finish-stat-label{font-size:.8rem;opacity:.7}.ms100-results{padding:32px 20px;text-align:center}.ms100-results-content{max-width:400px;margin:0 auto}.ms100-results-title{font-family:var(--font-title);font-size:24px;color:#1a1a1a;margin-bottom:16px}.ms100-results-hero{margin-bottom:24px}.ms100-results-actions{font-family:var(--font-title);font-size:64px;color:#2b6cb0;display:block;line-height:1}.ms100-results-actions-label{font-size:.85rem;color:#64748b}.ms100-results-stats{display:flex;justify-content:center;gap:20px;margin-bottom:24px}.ms100-results-stat{text-align:center}.ms100-results-stat-value{font-family:var(--font-title);font-size:24px;color:#1a1a1a;display:block}.ms100-results-stat-label{font-size:.7rem;color:#64748b}.ms100-results-events{margin-bottom:20px}.ms100-results-event{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#f9fafb;border-radius:8px;margin-bottom:4px}.ms100-results-event-name{font-weight:600;color:#1a1a1a;font-size:.85rem}.ms100-results-event-value{font-size:.85rem;color:#64748b}.ms100-results-pb{font-size:.9rem;color:#64748b;margin-bottom:20px}.ms100-results-pb.ms100-pb-new{color:#2b6cb0;font-weight:700}@media (min-width: 600px){.ms100-entry-title,.ms100-inter-title,.ms100-results-title{font-size:36px}.ms100-finish-number{font-size:128px}}.install-banner{position:fixed;bottom:calc(70px + env(safe-area-inset-bottom));left:12px;right:12px;background:#2b6cb0;color:#fff;border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 20px #00000040;z-index:9000;animation:installSlideUp .3s ease-out;font-family:Nunito,sans-serif}.install-banner-text{flex:1;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.3}.install-banner-text strong{font-size:16px}.install-banner-cta{background:#fff;color:#2b6cb0;border:none;border-radius:20px;padding:8px 18px;font-weight:700;font-size:14px;font-family:Nunito,sans-serif;cursor:pointer;white-space:nowrap;flex-shrink:0}.install-banner-dismiss{background:none;border:none;color:#ffffffb3;font-size:18px;cursor:pointer;padding:4px;line-height:1;position:absolute;top:6px;right:8px}@keyframes installSlideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@media (min-width: 600px){.install-banner{max-width:420px;left:50%;right:auto;transform:translate(-50%)}}.pro-mode-decision-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a4b7a;display:flex;align-items:center;justify-content:center;z-index:10001;animation:goldMedalFadeIn .3s ease}.pro-mode-decision-card{width:90%;max-width:360px;text-align:center}.pro-mode-decision-title{font-family:var(--font-title);font-size:1.6rem;font-weight:900;color:#fff;letter-spacing:1px;margin-bottom:4px}.pro-mode-decision-subtitle{font-size:.9rem;color:#fff9;margin-bottom:24px}.pro-mode-decision-btn{display:block;width:100%;padding:16px;margin-bottom:12px;border:2px solid rgba(255,255,255,.3);border-radius:12px;background:#ffffff14;cursor:pointer;text-align:center;transition:background .15s,border-color .15s}.pro-mode-decision-btn:active{background:#fff3;border-color:#fff}.pro-mode-decision-btn-name{display:block;font-family:var(--font-title);font-size:1.2rem;font-weight:800;color:#fff;margin-bottom:4px}.pro-mode-decision-btn-desc{display:block;font-size:.8rem;color:#fff9}.pro-mode-decision-btn--steady{border-color:#ffffff4d}.pro-mode-decision-btn--press{border-color:gold}.pro-mode-decision-btn--press .pro-mode-decision-btn-name{color:gold}.pro-mode-decision-btn--goforit{border-color:#ef4444}.pro-mode-decision-btn--goforit .pro-mode-decision-btn-name{color:#ef4444}.press-stakes{display:flex;justify-content:center;gap:24px;margin-bottom:20px;font-family:var(--font-title);font-size:1.1rem;font-weight:700}.press-stakes-win{color:#34c759}.press-stakes-lose{color:#ef4444}.press-buttons{display:flex;gap:12px;justify-content:center}.press-buttons .pro-mode-decision-btn{flex:1;max-width:160px}.advisor-message{font-size:.95rem;color:#ffffffe6;line-height:1.5;margin-bottom:20px;padding:0 8px}.advisor-prob-line{display:flex;justify-content:center;gap:20px;margin-top:10px;font-family:var(--font-title);font-weight:800;font-size:1.1rem}.advisor-prob-convert{color:#34c759}.advisor-prob-skip{color:#ffffff80}.reveal-scoreboard-wrap{text-align:center;padding:20px 12px}.reveal-scoreboard{width:100%;border-collapse:collapse;margin-bottom:16px;font-family:var(--font-title)}.reveal-th{background:#1a4b7a;color:#fff;font-size:.8rem;font-weight:700;padding:8px 6px;text-align:center;letter-spacing:.5px}.reveal-th:first-child{text-align:left;padding-left:12px;border-radius:6px 0 0}.reveal-total-th{border-radius:0 6px 0 0}.reveal-td{padding:10px 6px;text-align:center;font-size:1.1rem;font-weight:700;color:#1d1d1f;border-bottom:1px solid #E2E8F0}.reveal-name{text-align:left;padding-left:12px;font-size:.9rem;font-weight:600}.reveal-hidden{color:#cbd5e1}.reveal-total{font-weight:900;font-size:1.2rem;color:#1a4b7a}.reveal-row-you .reveal-name{color:#1a4b7a}.reveal-row-opp .reveal-name{color:#64748b}.reveal-press-info{font-size:.8rem;color:#64748b;margin-bottom:12px}.reveal-lead-text{font-family:var(--font-title);font-size:1.1rem;font-weight:800;margin-bottom:16px}.reveal-duel-title{font-family:var(--font-title);font-size:1.6rem;font-weight:900;color:#c8a84a;letter-spacing:2px;margin-bottom:20px}.reveal-duel-times{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:16px}.reveal-duel-player{text-align:center;min-width:90px}.reveal-duel-label{font-size:.85rem;color:#64748b;margin-bottom:4px}.reveal-duel-time{font-family:var(--font-title);font-size:1.8rem;font-weight:900}.reveal-duel-correct{color:#34c759}.reveal-duel-wrong{color:#ef4444}.reveal-duel-vs{font-family:var(--font-title);font-size:.85rem;color:#cbd5e1}.reveal-duel-result{font-size:.95rem;color:#64748b;margin-bottom:12px}.reveal-final-score{font-family:var(--font-title);font-size:2rem;font-weight:900;color:#1d1d1f;margin-bottom:4px}.reveal-final-result{font-family:var(--font-title);font-size:1.3rem;font-weight:900;margin-bottom:16px}.reveal-narrative{font-size:.9rem;line-height:1.6;color:#475569;text-align:left;padding:14px 16px;background:#f8fafc;border-radius:10px;border-left:3px solid #1A4B7A;margin:0 4px 20px}.final-duel-question{font-family:var(--font-title);font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:20px;line-height:1.4}.final-duel-answers{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:280px;margin:0 auto 16px}.final-duel-btn{background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:10px;color:#fff;font-family:var(--font-title);font-size:1.3rem;font-weight:700;padding:14px;cursor:pointer;min-height:52px}.final-duel-btn:active{background:#fff3}.final-duel-btn--correct{background:#34c759!important;border-color:#34c759!important}.final-duel-btn--wrong{background:#ef4444!important;border-color:#ef4444!important}.press-countdown{margin-top:16px;font-family:var(--font-title);font-size:1.2rem;font-weight:700;color:#ef4444}
