:root{--bg-canvas-raw: 224 71% 4%;--bg-surface-raw: 222 47% 8%;--bg-surface-elevated-raw: 217 33% 13%;--bg-card-raw: 215 28% 18%;--bg-card-subtle-raw: 215 25% 23%;--border-subtle-raw: 215 25% 27%;--border-focus-raw: 160 84% 39%;--bg-canvas: hsl(var(--bg-canvas-raw));--bg-surface: hsl(var(--bg-surface-raw));--bg-surface-elevated: hsl(var(--bg-surface-elevated-raw));--bg-card: hsl(var(--bg-card-raw));--bg-card-subtle: hsl(var(--bg-card-subtle-raw));--border-subtle: hsl(var(--border-subtle-raw));--border-focus: hsl(var(--border-focus-raw));--accent-emerald-raw: 160 84% 39%;--accent-cyan-raw: 189 94% 43%;--accent-amber-raw: 38 92% 50%;--accent-rose-raw: 347 87% 60%;--accent-purple-raw: 260 85% 65%;--text-primary: hsl(210 40% 98%);--text-secondary: hsl(215 20% 72%);--text-muted: hsl(215 16% 56%);--text-accent: hsl(160 84% 39%);--accent-emerald: hsl(var(--accent-emerald-raw));--accent-cyan: hsl(var(--accent-cyan-raw));--accent-amber: hsl(var(--accent-amber-raw));--accent-rose: hsl(var(--accent-rose-raw));--accent-purple: hsl(var(--accent-purple-raw));--glass-card-bg: linear-gradient(180deg, hsl(218 35% 14% / .8) 0%, hsl(222 47% 8% / .9) 100%);--glass-card-border: 1px solid hsl(215 25% 28% / .6);--glass-blur: blur(16px);--shadow-glass: 0 16px 36px -8px hsl(224 71% 2% / .6), inset 0 1px 0 0 hsl(0 0% 100% / .1);--shadow-glass-hover: 0 20px 44px -8px hsl(224 71% 2% / .8), inset 0 1px 0 0 hsl(0 0% 100% / .18);--shadow-inset-top: inset 0 1px 0 0 hsl(0 0% 100% / .12);--shadow-keycap: 0 2px 5px 0 hsl(0 0% 0% / .4), inset 0 1px 0 0 hsl(0 0% 100% / .15);--shadow-keycap-active: 0 0 16px hsl(var(--accent-emerald-raw) / .4), inset 0 1px 0 0 hsl(0 0% 100% / .25);--shadow-hud: 0 20px 48px -12px hsl(0 0% 0% / .8), 0 0 32px -4px hsl(var(--accent-emerald-raw) / .18);--shadow-glow-emerald: 0 0 28px -4px hsl(160 84% 39% / .35);--shadow-glow-cyan: 0 0 28px -4px hsl(189 94% 43% / .35);--text-hero: clamp(2.2rem, 4vw + 1rem, 3.4rem);--text-h1: clamp(1.8rem, 3vw + .75rem, 2.5rem);--text-h2: clamp(1.35rem, 2vw + .5rem, 1.85rem);--text-h3: clamp(1.1rem, 1.5vw + .3rem, 1.35rem);--text-body: clamp(.95rem, .4vw + .85rem, 1.05rem);--text-small: .875rem;--text-micro: .8rem;--tracking-display: -.04em;--tracking-tight: -.025em;--tracking-micro: .08em;--ease-spring: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-base: .25s}[data-theme=light]{--bg-canvas-raw: 210 25% 97%;--bg-surface-raw: 0 0% 100%;--bg-surface-elevated-raw: 210 25% 98%;--bg-card-raw: 210 20% 93%;--bg-card-subtle-raw: 210 20% 88%;--border-subtle-raw: 215 20% 82%;--border-focus-raw: 160 84% 35%;--text-primary: hsl(222 47% 11%);--text-secondary: hsl(215 25% 32%);--text-muted: hsl(215 16% 45%);--text-accent: hsl(160 84% 32%);--glass-card-bg: linear-gradient(180deg, hsl(0 0% 100% / .95) 0%, hsl(210 25% 98% / .95) 100%);--glass-card-border: 1px solid hsl(215 20% 84% / .8);--glass-blur: blur(16px);--shadow-glass: 0 16px 36px -8px hsl(220 20% 30% / .1), inset 0 1px 0 0 hsl(0 0% 100% / .9);--shadow-glass-hover: 0 20px 44px -8px hsl(220 20% 30% / .16), inset 0 1px 0 0 hsl(0 0% 100% / 1);--shadow-inset-top: inset 0 1px 0 0 hsl(0 0% 100% / .9);--shadow-keycap: 0 2px 5px 0 hsl(220 20% 50% / .15), inset 0 1px 0 0 hsl(0 0% 100% / .9);--shadow-keycap-active: 0 0 16px hsl(var(--accent-emerald-raw) / .25), inset 0 1px 0 0 hsl(0 0% 100% / .9);--shadow-hud: 0 20px 48px -12px hsl(220 20% 30% / .16), 0 0 32px -4px hsl(var(--accent-emerald-raw) / .12);--shadow-glow-emerald: 0 0 28px -4px hsl(160 84% 39% / .2);--shadow-glow-cyan: 0 0 28px -4px hsl(189 94% 43% / .2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-canvas);color:var(--text-primary);scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-surface);line-height:1.65;font-size:var(--text-body);color:var(--text-primary);overflow-x:hidden}:focus-visible{outline:2px solid var(--border-focus)!important;outline-offset:3px!important;border-radius:4px}.skip-link{position:absolute;top:-9999px;left:1rem;background:var(--accent-emerald);color:#042f2e;font-weight:700;padding:.75rem 1.25rem;border-radius:8px;z-index:99999;text-decoration:none;transition:top var(--duration-fast) ease}.skip-link:focus{top:1rem}.container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:clamp(1rem,3vw,2rem);padding-right:clamp(1rem,3vw,2rem)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:var(--tracking-tight);font-weight:800;line-height:1.2}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}p{color:var(--text-secondary);margin-bottom:1.25rem}p:last-child{margin-bottom:0}a{color:var(--accent-emerald);text-decoration:none;transition:color var(--duration-fast) ease}a:hover{color:#14e19d;text-decoration:underline}.tabular-nums,.num,[data-num]{font-variant-numeric:tabular-nums}.editorial-lead{border-left:3px solid var(--accent-emerald);padding:1.15rem 1.4rem;border-radius:0 12px 12px 0;margin:1.25rem 0 2rem;font-size:var(--text-body);color:var(--text-primary);line-height:1.65;box-shadow:var(--shadow-inset-top)}.editorial-lead strong{color:var(--text-primary)}input[type=number],input[type=text],select{width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-primary);padding:.75rem 1rem;font-size:1rem;border-radius:10px;outline:none;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-keycap);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}input[type=number]:focus,input[type=text]:focus,select:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px hsl(var(--border-focus-raw) / .25)}@media print{body{background:#fff!important;color:#000!important}header,footer,.action-btns,.interactive-controls,.no-print{display:none!important}.card,.sticky-card{background:#fff!important;border:1px solid #cccccc!important;color:#000!important;box-shadow:none!important}.score-number{color:#000!important}}
