*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:dark;--brand: #ff6b35;--brand-light: #ff9a70;--brand-dark: #e5551d;--accent: #7b2cbf;--accent-dark: #5a189a;--surface-0: #060916;--surface-1: #0b1025;--surface-2: #121733;--surface-3: #1b2244;--text-hi: #f0f4ff;--text-mid: #9aa3c8;--text-lo: #636d96;--border-faint: rgba(255, 255, 255, .05);--border-dim: rgba(255, 255, 255, .1);--border-neutral: rgba(255, 255, 255, .16);--border-brand: rgba(255, 107, 53, .35);--gradient-brand: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);--gradient-accent: linear-gradient(135deg, #7b2cbf 0%, #5a189a 100%);--gradient-page-bg: linear-gradient(170deg, #060916 0%, #0e1535 55%, #060916 100%);--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--sp-20: 5rem;--sp-24: 6rem;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--r-full: 9999px;--shadow-xs: 0 1px 3px rgba(0, 0, 0, .4);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .45);--shadow-md: 0 4px 20px rgba(0, 0, 0, .55);--shadow-brand: 0 4px 24px rgba(255, 107, 53, .3);--shadow-brand-lg: 0 8px 40px rgba(255, 107, 53, .22);--t-fast: .15s ease;--t-base: .25s ease;--t-slow: .38s ease;--bg-input: rgba(255, 255, 255, .07);--bg-input-focus: rgba(255, 255, 255, .1);--nav-bg: rgba(6, 9, 22, .84);--white: #fff;--surface-hover: rgba(255, 255, 255, .09);--brand-soft: rgba(255, 107, 53, .12);--brand-soft-xs: rgba(255, 107, 53, .06);--brand-soft-border: rgba(255, 107, 53, .28);--brand-focus-ring: rgba(255, 107, 53, .2);--brand-glow-sm: rgba(255, 107, 53, .14);--brand-glow-md: rgba(255, 107, 53, .45);--brand-glow-lg: rgba(255, 107, 53, .5);--accent-soft: rgba(123, 44, 191, .06);--court-border: rgba(255, 107, 53, .22);--court-ring: rgba(255, 107, 53, .16);--orb-brand: radial-gradient(circle, #ff6b35 0%, transparent 70%);--orb-accent: radial-gradient(circle, #7b2cbf 0%, transparent 70%);--orb-secondary: radial-gradient(circle, #f7931e 0%, transparent 70%);--feature-card-bg: rgba(255, 255, 255, .03);--feature-card-bg-hover: rgba(255, 255, 255, .055);--footer-bg: rgba(5, 8, 21, .8);--primary: #ff6b35;--secondary: #f7931e;--bg-dark: #060916;--bg-card: rgba(255, 255, 255, .04);--text-primary: #f0f4ff;--text-secondary: #9aa3c8;--gradient-1: var(--gradient-brand);--gradient-2: var(--gradient-accent);--gradient-hero: var(--gradient-page-bg)}.theme-dark,[data-theme=dark]{color-scheme:dark}.theme-light,[data-theme=light]{color-scheme:light}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--surface-0);color:var(--text-hi);overflow-x:hidden;min-height:100dvh}select,input,textarea{color-scheme:dark}select option,select optgroup{background:var(--surface-2);color:var(--text-hi)}.app{min-height:100dvh;position:relative}:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:var(--r-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.nav{position:fixed;top:0;inset-inline:0;z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-faint)}.nav-container{max-width:1440px;margin-inline:auto;padding:var(--sp-4);display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4)}@media(min-width:640px){.nav-container{padding:var(--sp-4) var(--sp-8)}}.logo{display:flex;align-items:center;gap:var(--sp-3);text-decoration:none}.logo-icon{font-size:1.75rem;line-height:1;animation:bounce 3s ease-in-out infinite;display:block}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.logo-text{font-size:1.375rem;font-weight:800;letter-spacing:-.03em;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:var(--sp-3) var(--sp-6);border:1px solid transparent;border-radius:var(--r-md);font-size:1rem;font-weight:600;line-height:1.25;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform var(--t-fast),box-shadow var(--t-base),background var(--t-fast),border-color var(--t-fast);-webkit-user-select:none;user-select:none}.btn-primary{background:var(--gradient-brand);color:var(--white);box-shadow:var(--shadow-brand)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-brand-lg)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-brand)}.btn-secondary{background:var(--border-faint);color:var(--text-hi);border-color:var(--border-dim)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-neutral);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-large{padding:var(--sp-5) var(--sp-10);font-size:1.125rem}.hero{position:relative;min-height:100dvh;display:grid;place-items:center;padding:5.5rem var(--sp-4) var(--sp-16);overflow:hidden;background:var(--gradient-page-bg)}.hero-background{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;opacity:.42}.gradient-orb{position:absolute;border-radius:50%;filter:blur(72px);animation:float 22s ease-in-out infinite}.orb-1{width:clamp(220px,44vw,520px);height:clamp(220px,44vw,520px);background:var(--orb-brand);top:-12%;left:-8%;animation-delay:0s}.orb-2{width:clamp(180px,36vw,420px);height:clamp(180px,36vw,420px);background:var(--orb-accent);bottom:-4%;right:-6%;animation-delay:-8s}.orb-3{width:clamp(150px,28vw,360px);height:clamp(150px,28vw,360px);background:var(--orb-secondary);top:45%;left:48%;animation-delay:-15s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(26px,-28px) scale(1.07)}66%{transform:translate(-18px,20px) scale(.94)}}.hero-content{position:relative;z-index:1;max-width:1440px;width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--sp-12);text-align:center}@media(min-width:1024px){.hero{padding:7rem var(--sp-12) var(--sp-20)}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:center;text-align:left}}.hero .badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--brand-soft);border:1px solid var(--brand-soft-border);border-radius:var(--r-full);font-size:.8125rem;font-weight:700;color:var(--brand-light);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--sp-6);animation:badge-glow 3s ease-in-out infinite}@keyframes badge-glow{0%,to{opacity:1}50%{opacity:.75}}.hero-title{font-size:clamp(2.125rem,5.5vw,4.25rem);font-weight:900;line-height:1.08;letter-spacing:-.03em;margin-bottom:var(--sp-5);color:var(--text-hi)}.gradient-text{background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.hero-subtitle{font-size:1.0625rem;line-height:1.7;color:var(--text-mid);margin-bottom:var(--sp-8);max-width:52ch}@media(min-width:640px){.hero-subtitle{font-size:1.1875rem}}.hero-cta{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-8);width:100%;max-width:480px}@media(min-width:480px){.hero-cta{flex-direction:row;flex-wrap:wrap}}@media(min-width:1024px){.hero-cta{justify-content:flex-start}}.input-email{flex:1;min-width:0;padding:var(--sp-3) var(--sp-5);background:var(--bg-input);border:1px solid var(--border-dim);border-radius:var(--r-md);color:var(--text-hi);font-size:1rem;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.input-email::placeholder{color:var(--text-lo)}.input-email:hover{border-color:var(--border-neutral);background:var(--bg-input-focus)}.input-email:focus{outline:none;border-color:var(--brand);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--brand-focus-ring)}.hero-stats{display:flex;gap:var(--sp-8);padding-top:var(--sp-6);border-top:1px solid var(--border-faint);justify-content:center}@media(min-width:1024px){.hero-stats{justify-content:flex-start}}.stat{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}@media(min-width:1024px){.stat{align-items:flex-start}}.stat-value{font-size:2.25rem;font-weight:900;line-height:1;letter-spacing:-.03em;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.8125rem;color:var(--text-mid);font-weight:500;letter-spacing:.02em}.hero-visual{display:none}@media(min-width:1024px){.hero-visual{display:flex;align-items:center;justify-content:center}}.court-container{position:relative;width:min(440px,100%);aspect-ratio:1}.court{position:relative;width:100%;height:100%;background:linear-gradient(135deg,var(--brand-soft-xs) 0%,var(--accent-soft) 100%);border:1.5px solid var(--court-border);border-radius:var(--r-xl);display:flex;align-items:center;justify-content:center;overflow:hidden;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 20px 80px var(--brand-glow-sm),inset 0 1px 0 var(--border-faint)}.court:before{content:"";position:absolute;width:185px;height:185px;border:1.5px solid var(--court-ring);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.player-dot{position:absolute;width:34px;height:34px;background:var(--gradient-brand);border-radius:50%;box-shadow:0 4px 16px var(--brand-glow-md);animation:playerMove 4.5s ease-in-out infinite}.pos-1{top:15%;left:50%;transform:translate(-50%);animation-delay:0s}.pos-2{top:37%;left:17%;animation-delay:.9s}.pos-3{top:37%;right:17%;animation-delay:1.8s}.pos-4{bottom:21%;left:27%;animation-delay:2.7s}.pos-5{bottom:21%;right:27%;animation-delay:3.6s}@keyframes playerMove{0%,to{transform:translate(0) scale(1)}25%{transform:translate(8px,-6px) scale(1.08)}75%{transform:translate(-6px,8px) scale(.94)}}.ball{position:absolute;font-size:2.625rem;animation:ballBounce 2.4s ease-in-out infinite;z-index:2;filter:drop-shadow(0 4px 12px var(--brand-glow-lg))}@keyframes ballBounce{0%,to{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-26px) rotate(180deg) scale(.92)}}.features{padding:var(--sp-20) var(--sp-4)}@media(min-width:768px){.features{padding:var(--sp-24) var(--sp-8)}}.section-header{max-width:1440px;margin-inline:auto;text-align:center;margin-bottom:var(--sp-12)}.section-title{font-size:clamp(1.75rem,4vw,3rem);font-weight:800;line-height:1.15;letter-spacing:-.025em;margin-bottom:var(--sp-3);color:var(--text-hi)}.section-subtitle{font-size:1.0625rem;color:var(--text-mid);max-width:52ch;margin-inline:auto;line-height:1.65}.features-grid{max-width:1440px;margin-inline:auto;display:grid;grid-template-columns:1fr;gap:var(--sp-4)}@media(min-width:480px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.features-grid{grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}}.feature-card{background:var(--feature-card-bg);border:1px solid var(--border-faint);border-radius:var(--r-lg);padding:var(--sp-6);position:relative;overflow:hidden;transition:transform var(--t-base),border-color var(--t-base),background var(--t-base),box-shadow var(--t-base)}@media(min-width:640px){.feature-card{padding:var(--sp-8)}}.feature-card:before{content:"";position:absolute;top:0;inset-inline:0;height:2px;background:var(--gradient-brand);transform:scaleX(0);transform-origin:left;transition:transform var(--t-base) ease;border-radius:var(--r-sm) var(--r-sm) 0 0}.feature-card:hover{transform:translateY(-6px);border-color:var(--border-brand);background:var(--feature-card-bg-hover);box-shadow:var(--shadow-brand-lg)}.feature-card:hover:before{transform:scaleX(1)}.feature-icon{font-size:2.5rem;margin-bottom:var(--sp-4);display:block;line-height:1}.feature-title{font-size:1.125rem;font-weight:700;color:var(--text-hi);margin-bottom:var(--sp-3);line-height:1.3;letter-spacing:-.015em}@media(min-width:640px){.feature-title{font-size:1.25rem}}.feature-description{font-size:.9375rem;color:var(--text-mid);line-height:1.65}.footer{background:var(--footer-bg);border-top:1px solid var(--border-faint);padding:var(--sp-10) var(--sp-4) var(--sp-8)}.footer-content{max-width:1440px;margin-inline:auto;margin-bottom:var(--sp-8)}.footer-brand{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center}@media(min-width:640px){.footer-brand{align-items:flex-start;text-align:left}}.footer-brand .logo{margin-bottom:var(--sp-1)}.footer-tagline{font-size:.9375rem;color:var(--text-mid);line-height:1.5}.footer-bottom{max-width:1440px;margin-inline:auto;padding-top:var(--sp-6);border-top:1px solid var(--border-faint);text-align:center;color:var(--text-mid);font-size:.875rem}@media(max-width:479px){.hero-cta{flex-direction:column;max-width:100%}.btn-primary,.input-email{width:100%}.hero-stats{gap:var(--sp-6)}}.narrative-view{margin-top:1rem}.narrative-legend{font-size:.85rem;margin-bottom:.5rem;opacity:.85}.narrative-table{display:grid;grid-template-columns:2.75rem 3rem 4rem 5.5rem 1fr;gap:0;font-size:.85rem}.narrative-header{display:contents;font-weight:700}.narrative-header>span{padding:.3rem .4rem;border-bottom:2px solid currentColor}.narrative-row{display:contents}.narrative-row>span{padding:.25rem .4rem;border-bottom:1px solid rgba(128,128,128,.2)}.skills-preview-heading{grid-column:1 / -1;text-align:center;font-size:.9375rem;font-weight:700;margin-bottom:var(--sp-3);color:var(--text-hi)}.settings-note{margin:0 0 1rem;color:var(--text-secondary)}.engine-table-card{display:grid;gap:.75rem;padding:.9rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff05}.engine-table-card h3{margin:0}.engine-table-card p{margin:.25rem 0 0}.engine-table-spec{font-size:.85rem;color:var(--text-secondary)}.engine-matrix{width:100%;border-collapse:collapse;font-size:.85rem}.engine-matrix th,.engine-matrix td{border:1px solid var(--border-color);padding:.35rem;text-align:center}.engine-matrix input{width:100%;min-width:3.75rem}.game-demo{min-height:100dvh;display:flex;flex-direction:column}.demo-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:#060916eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-faint);min-height:56px}.topbar-brand{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.topbar-icon{font-size:1.5rem;line-height:1}.topbar-brand h1{font-size:1.125rem;font-weight:800;letter-spacing:-.025em;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}@media(max-width:479px){.topbar-brand h1{font-size:.9375rem}}.topbar-meta{display:flex;align-items:center;gap:var(--sp-3);margin-left:auto;flex-wrap:wrap}.week-badge{font-size:.8125rem;font-weight:700;color:var(--primary);background:#ff6b351f;border:1px solid rgba(255,107,53,.28);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-3);white-space:nowrap}.account-switcher{display:flex;gap:var(--sp-2)}.btn-sm{padding:var(--sp-1) var(--sp-3)!important;font-size:.8125rem!important;min-width:0!important}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:6px;background:transparent;border:1px solid var(--border-dim);border-radius:var(--r-sm);cursor:pointer;flex-shrink:0;transition:border-color var(--t-fast)}.hamburger:hover{border-color:var(--border-neutral)}.hamburger-line{display:block;width:100%;height:2px;background:var(--text-hi);border-radius:1px}@media(min-width:1024px){.hamburger{display:none}}.demo-layout{display:flex;flex:1;min-height:0}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(min-width:1024px){.sidebar-backdrop{display:none}}.demo-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:45;width:240px;background:var(--surface-1);border-right:1px solid var(--border-faint);display:flex;flex-direction:column;padding-top:60px;transform:translate(-100%);transition:transform var(--t-base);overflow-y:auto}.demo-sidebar.is-open{transform:translate(0)}@media(min-width:1024px){.demo-sidebar{position:sticky;top:56px;transform:none;width:220px;flex-shrink:0;padding-top:0;height:calc(100dvh - 56px)}}.sidebar-nav{list-style:none;padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1);flex:1}.sidebar-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);border:none;border-radius:var(--r-md);background:transparent;color:var(--text-mid);font-size:.9375rem;font-weight:600;cursor:pointer;transition:background var(--t-fast),color var(--t-fast);text-align:left}.sidebar-item:hover:not(.is-disabled){background:#ffffff0f;color:var(--text-hi)}.sidebar-item.is-active{background:#ff6b351f;color:var(--primary)}.sidebar-item.is-disabled{opacity:.35;cursor:not-allowed}.sidebar-icon{font-size:1.125rem;line-height:1;flex-shrink:0;width:24px;text-align:center}.sidebar-label{white-space:nowrap}.sidebar-actions{padding:var(--sp-4);border-top:1px solid var(--border-faint);display:flex;flex-direction:column;gap:var(--sp-2)}.btn-generate,.btn-simulate{display:flex;align-items:center;justify-content:center;padding:var(--sp-3) var(--sp-4);border:none;border-radius:var(--r-md);font-size:.875rem;font-weight:700;cursor:pointer;width:100%;transition:transform var(--t-fast),box-shadow var(--t-base)}.btn-generate{background:var(--gradient-accent);color:#fff;box-shadow:0 2px 12px #7b2cbf4d}.btn-generate:hover{transform:translateY(-1px);box-shadow:0 4px 20px #7b2cbf66}.btn-simulate{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-brand)}.btn-simulate:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-brand-lg)}.btn-simulate:disabled{opacity:.48;cursor:not-allowed}.demo-main{flex:1;min-width:0;padding:var(--sp-4);overflow-y:auto}@media(min-width:640px){.demo-main{padding:var(--sp-5)}}@media(min-width:1024px){.demo-main{padding:var(--sp-6) var(--sp-8)}}.tab-panel{max-width:1100px;animation:tab-in .25s ease both}@keyframes tab-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panel-header{margin-bottom:var(--sp-6)}.panel-header h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--text-hi);margin-bottom:var(--sp-1)}.panel-header p{color:var(--text-mid);font-size:.9375rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--sp-16) var(--sp-6);border:1px dashed var(--border-dim);border-radius:var(--r-lg);background:#ffffff05}.empty-icon{font-size:3rem;margin-bottom:var(--sp-4);opacity:.6}.empty-state h3{font-size:1.25rem;font-weight:700;color:var(--text-hi);margin-bottom:var(--sp-2)}.empty-state p{color:var(--text-mid);font-size:.9375rem;max-width:36ch}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4);margin-bottom:var(--sp-6)}@media(min-width:640px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}}.control-card{background:var(--bg-card);border:1px solid var(--border-faint);border-radius:var(--r-lg);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);transition:border-color var(--t-base),background var(--t-base)}.control-card:hover{border-color:var(--border-dim)}.control-card label{font-size:.75rem;color:var(--text-mid);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.control-card select{background:var(--bg-input);color:var(--text-hi);border:1px solid var(--border-dim);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:.9375rem;width:100%;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.control-card select:hover{border-color:var(--border-neutral);background:var(--bg-input-focus)}.control-card select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ff6b352e}.control-card p{font-size:.8125rem;color:var(--text-mid);line-height:1.5}.summary-card{grid-column:1 / -1}@media(min-width:1024px){.summary-card{grid-column:3}}.summary-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mid);margin-bottom:var(--sp-3)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}.summary-stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-1)}.summary-value{font-size:1.25rem;font-weight:900;color:var(--text-hi);line-height:1.2}.summary-label{font-size:.6875rem;color:var(--text-mid);text-transform:uppercase;letter-spacing:.04em}.week-events{background:var(--bg-card);border:1px solid var(--border-faint);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5)}.week-events h3{font-size:.875rem;font-weight:700;color:var(--text-hi);margin-bottom:var(--sp-3)}.week-events ul{margin:0;padding-left:var(--sp-5);color:var(--text-mid);display:flex;flex-direction:column;gap:var(--sp-1)}.week-events li{font-size:.875rem;line-height:1.5}.roster-section{background:var(--bg-card);border:1px solid var(--border-faint);border-radius:var(--r-lg);padding:var(--sp-5);margin-bottom:var(--sp-5)}.roster-section h3{font-size:1rem;font-weight:700;color:var(--text-hi);margin-bottom:var(--sp-4)}.lineup-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:var(--sp-3)}.lineup-grid label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:.8125rem;color:var(--text-mid)}.lineup-grid select{background:var(--bg-input);color:var(--text-hi);border:1px solid var(--border-dim);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:.875rem}@media(max-width:1024px){.lineup-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}.starter-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-3)}@media(min-width:480px){.starter-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.starter-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.starter-grid{grid-template-columns:repeat(5,1fr)}}.player-card-mini{background:#ffffff08;border:1px solid var(--border-dim);border-radius:var(--r-md);padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.bench-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-3)}@media(min-width:480px){.bench-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.bench-grid{grid-template-columns:repeat(3,1fr)}}.bench-card{background:#ffffff06;border:1px solid var(--border-faint);border-radius:var(--r-md);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3);transition:border-color var(--t-base)}.bench-card:hover{border-color:var(--border-dim)}.bench-title,.bench-meta{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:.875rem;line-height:1.4}.bench-meta{color:var(--text-mid);font-size:.8125rem}.bench-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.roster-actions{display:flex;justify-content:center;margin-top:var(--sp-5)}.lineup-error{margin-top:var(--sp-3);color:var(--danger);font-size:.875rem;text-align:center}.skills-editor{background:var(--bg-card);border:1px solid var(--border-faint);border-radius:var(--r-lg);padding:var(--sp-5)}.skills-player-select{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-5)}.skills-player-select label{font-size:.75rem;color:var(--text-mid);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.skills-player-select select,.skills-grid input{background:var(--bg-input);color:var(--text-hi);border:1px solid var(--border-dim);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:.9375rem;width:100%;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.skills-player-select select:focus,.skills-grid input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ff6b352e}.skills-groups{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}@media(min-width:640px){.skills-groups{grid-template-columns:repeat(2,1fr)}}.skills-group{background:#ffffff05;border:1px solid var(--border-faint);border-radius:var(--r-md);padding:var(--sp-4)}.skills-group h3{font-size:.9375rem;font-weight:700;color:var(--text-mid);margin-bottom:var(--sp-4)}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}.skills-grid label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:.8125rem;color:var(--text-mid);font-weight:500}.skills-actions{display:flex;justify-content:center;margin-top:var(--sp-5)}.settings-editor{background:var(--bg-card);border:1px solid var(--border-faint);border-radius:var(--r-lg);padding:var(--sp-5)}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}@media(min-width:640px){.settings-grid{grid-template-columns:repeat(4,1fr)}}.settings-grid label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:.8125rem;color:var(--text-mid);font-weight:500}.settings-grid input{background:var(--bg-input);color:var(--text-hi);border:1px solid var(--border-dim);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:.9375rem;width:100%;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.settings-grid input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ff6b352e}.settings-actions{display:flex;justify-content:center;margin-top:var(--sp-5)}.teams-display{display:grid;grid-template-columns:1fr;gap:var(--sp-4);margin-bottom:var(--sp-6)}@media(min-width:768px){.teams-display{grid-template-columns:1fr auto 1fr;gap:var(--sp-5);align-items:start}}.vs-divider{font-size:2rem;font-weight:900;color:var(--primary);text-align:center;padding:var(--sp-4);align-self:center}@media(max-width:767px){.vs-divider{font-size:1.25rem;padding:0;order:-1}}.team-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--r-lg);padding:var(--sp-5);transition:border-color var(--t-base)}.team-card:hover{border-color:var(--border-brand)}.team-card h2{font-size:1.125rem;font-weight:700;text-align:center;margin-bottom:var(--sp-3);color:var(--text-hi)}.team-tactics{text-align:center;margin-bottom:var(--sp-4)}.team-tactics .badge,.team-card .badge{display:inline-block;padding:var(--sp-1) var(--sp-4);background:#ff6b351f;border:1px solid rgba(255,107,53,.28);border-radius:var(--r-full);font-size:.75rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.04em}.roster h3{font-size:.75rem;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-3)}.player-row{background:#ffffff06;border:1px solid var(--border-faint);border-radius:var(--r-md);padding:var(--sp-3);margin-bottom:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-2);transition:border-color var(--t-base),background var(--t-base)}.player-row:last-child{margin-bottom:0}.player-row:hover{border-color:var(--border-dim);background:#ffffff0a}.player-info{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2)}.player-name{font-weight:700;font-size:.9375rem;color:var(--text-hi);line-height:1.3}.player-position{font-size:.6875rem;font-weight:700;color:var(--primary);padding:2px var(--sp-2);background:#ff6b351f;border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}.player-rating{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3)}.rating-badge{font-weight:900;font-size:1.125rem;padding:2px var(--sp-2);border-radius:var(--r-sm);background:var(--gradient-brand);color:#fff;line-height:1.25;min-width:40px;text-align:center}.player-trait{font-size:.8125rem;color:var(--text-mid);font-style:italic}.player-stats{display:flex;gap:var(--sp-2);font-size:.75rem;color:var(--text-mid);flex-wrap:wrap}.player-stats span{flex:1;min-width:48px;text-align:center;padding:2px var(--sp-1);background:#ffffff0a;border-radius:var(--r-sm);font-weight:600}.league-table{background:var(--bg-card);border:1px solid var(--border-faint);border-radius:var(--r-lg);padding:var(--sp-5);overflow-x:auto;margin-bottom:var(--sp-5)}.league-table h3{font-size:1rem;font-weight:700;text-align:center;margin-bottom:var(--sp-4);color:var(--text-hi)}.standings-row{display:grid;grid-template-columns:1.5rem 1fr repeat(5,minmax(2.5rem,1fr));gap:var(--sp-2);align-items:center;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-faint);font-size:.875rem;min-width:300px}.standings-row:last-child{border-bottom:none}.standings-header{color:var(--text-mid);font-weight:700;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;padding-bottom:var(--sp-2)}.standings-row.is-player-team{background:#ff6b351a;border-radius:var(--r-sm);font-weight:600;border-color:transparent}.playoff-bracket{background:var(--bg-card);border:1px solid var(--border-faint);border-radius:var(--r-lg);padding:var(--sp-5)}.playoff-bracket h3{font-size:1rem;font-weight:700;text-align:center;margin-bottom:var(--sp-4);color:var(--text-hi)}.bracket-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-3)}@media(min-width:640px){.bracket-grid{grid-template-columns:repeat(3,1fr)}}.bracket-column{background:#ffffff06;border:1px solid var(--border-faint);border-radius:var(--r-md);padding:var(--sp-4);text-align:center}.bracket-column h4{font-size:.8125rem;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sp-3)}.bracket-team{padding:var(--sp-2);border-radius:var(--r-sm);background:#ffffff0a;font-size:.875rem;font-weight:500}.bracket-team.muted{color:var(--text-mid)}.bracket-vs{margin:var(--sp-2) 0;color:var(--text-mid);font-size:.75rem;font-weight:600}.match-result{background:linear-gradient(135deg,#ff6b3512,#7b2cbf12);border:1.5px solid rgba(255,107,53,.28);border-radius:var(--r-lg);padding:var(--sp-6);animation:result-in .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes result-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.match-result h2{text-align:center;font-size:1.25rem;font-weight:800;margin-bottom:var(--sp-5);color:var(--text-hi)}.final-score{display:flex;justify-content:center;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);padding:var(--sp-5) var(--sp-4);background:#ffffff08;border-radius:var(--r-lg);flex-wrap:wrap}.score-team{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);min-width:64px}.score-team .team-name{font-size:.875rem;font-weight:600;color:var(--text-mid);text-align:center;max-width:100px;line-height:1.3}.score-team .score{font-size:clamp(2.5rem,7vw,4rem);font-weight:900;line-height:1;letter-spacing:-.04em;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.score-divider{font-size:1.75rem;font-weight:800;color:var(--text-mid)}.overtime-label{text-align:center;margin-bottom:var(--sp-4);color:var(--primary);font-weight:700;font-size:.9375rem}.quarter-scores{margin-bottom:var(--sp-5)}.quarter-scores h3{font-size:.8125rem;font-weight:700;margin-bottom:var(--sp-3);text-align:center;color:var(--text-mid);text-transform:uppercase;letter-spacing:.06em}.quarters{display:flex;gap:var(--sp-2);justify-content:center;flex-wrap:wrap}.quarter{display:grid;grid-template-columns:auto auto auto auto;align-items:center;justify-content:center;column-gap:var(--sp-2);padding:var(--sp-3) var(--sp-2);background:#ffffff08;border-radius:var(--r-md);flex:1;min-width:120px;max-width:180px}.quarter-label{font-size:.6875rem;font-weight:700;color:var(--text-mid);text-transform:uppercase}.timing-trace{margin-bottom:var(--sp-5)}.timing-trace h3{font-size:.8125rem;font-weight:700;margin-bottom:var(--sp-3);text-align:center;color:var(--text-mid);text-transform:uppercase;letter-spacing:.06em}.timing-trace-list{display:grid;gap:var(--sp-2);max-height:18rem;overflow-y:auto;padding:var(--sp-2);border-radius:var(--r-md);border:1px solid var(--border-faint);background:#ffffff05}.timing-trace-row{display:grid;gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,auto)) repeat(3,minmax(0,1fr));align-items:center;padding:var(--sp-2);border-radius:var(--r-sm);background:#ffffff06;font-size:.75rem}@media(max-width:767px){.timing-trace-row{grid-template-columns:1fr}}.box-scores{display:grid;grid-template-columns:1fr;gap:var(--sp-4);margin-bottom:var(--sp-5)}.box-score-filter{display:flex;align-items:center;gap:var(--sp-2);justify-content:flex-end}.box-score-filter label{font-size:.75rem;color:var(--text-mid);text-transform:uppercase;letter-spacing:.04em}.box-score-filter select{min-width:8rem;padding:.35rem .5rem;border-radius:var(--r-sm);border:1px solid var(--border-faint);background:#ffffff09;color:var(--text-hi)}@media(min-width:768px){.box-scores{grid-template-columns:repeat(2,1fr)}.box-score-filter{grid-column:1 / -1}}.box-score h3{font-size:.9375rem;font-weight:700;margin-bottom:var(--sp-3);text-align:center;color:var(--text-hi)}.stats-table{background:#ffffff06;border-radius:var(--r-md);overflow-x:auto;overflow-y:hidden;border:1px solid var(--border-faint)}.stats-header,.stats-row{display:grid;grid-template-columns:.8fr 2fr repeat(11,1fr);min-width:48rem;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);align-items:center}.stats-header{background:#ff6b351f;font-weight:700;font-size:.6875rem;color:var(--primary);text-transform:uppercase;letter-spacing:.06em}.stats-row{border-bottom:1px solid var(--border-faint);font-size:.8125rem;transition:background var(--t-fast)}.stats-row:last-child{border-bottom:none}.stats-row:hover{background:#ffffff08}.stats-row .highlight{font-weight:700;color:var(--primary)}.team-totals{display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:space-around;padding:var(--sp-3);margin-top:var(--sp-3);background:#ffffff08;border-radius:var(--r-md);font-size:.8125rem;font-weight:700}.winner-announcement{text-align:center;padding:var(--sp-6) var(--sp-4);background:var(--gradient-brand);border-radius:var(--r-lg);color:#fff;animation:winner-in .55s cubic-bezier(.34,1.56,.64,1) .15s both}@keyframes winner-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.winner-announcement h3{font-size:clamp(1.125rem,3.5vw,1.625rem);font-weight:900;margin-bottom:var(--sp-2);text-shadow:0 2px 8px rgba(0,0,0,.25)}.winner-announcement p{font-size:.9375rem;opacity:.9}.match-history-section{margin-top:var(--sp-6)}.match-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4);flex-wrap:wrap;gap:var(--sp-3)}.match-history-header h3{font-size:1rem;font-weight:700;color:var(--text-hi);margin:0}.match-history-list{background:var(--bg-card);border:1px solid var(--border-faint);border-radius:var(--r-lg);overflow:hidden}.match-history-row{display:grid;grid-template-columns:1fr auto 1fr auto auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-faint);font-size:.875rem}.match-history-row:last-child{border-bottom:none}.match-history-header-row{color:var(--text-mid);font-weight:700;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}.match-team-name{color:var(--text-hi);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-score{text-align:center;font-size:1rem;color:var(--text-hi);white-space:nowrap}.match-time{color:var(--text-mid);font-size:.8125rem;white-space:nowrap}.match-history-empty{padding:var(--sp-6);text-align:center;color:var(--text-mid);font-size:.9375rem;background:var(--bg-card);border:1px solid var(--border-faint);border-radius:var(--r-lg)}.match-history-nav{margin-bottom:var(--sp-4)}.btn-danger{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:#ef444426;border:1px solid rgba(239,68,68,.35);border-radius:var(--r-md);color:#ef4444;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.btn-danger:hover{background:#ef444440;border-color:#ef44448c}@media(prefers-reduced-motion:reduce){.tab-panel,.match-result,.winner-announcement{animation:none}}
