: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));--text-primary:#f8fafc;--text-secondary:#9dabbe;--text-muted:#6b7c94;--text-accent:#10b77f;--accent-emerald:#10b77f;--accent-cyan:#07b6d5;--accent-amber:#f59f0a;--accent-rose:#f24067;--shadow-inset-top:inset 0 1px 0 0 #ffffff1f;--shadow-keycap:0 2px 4px 0 #00000059, inset 0 1px 0 0 #ffffff26;--shadow-hud:0 16px 40px -12px #000000b3;--shadow-glow-emerald:0 0 28px -4px #10b77f4d;--text-hero:clamp(2.1rem, 4vw + 1rem, 3.25rem);--text-h1:clamp(1.75rem, 3vw + .75rem, 2.45rem);--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 20% 98%;--bg-surface-raw:0 0% 100%;--bg-surface-elevated-raw:210 25% 97%;--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:#0f1729;--text-secondary:#3d4e66;--text-muted:#607085;--text-accent:#0d9668;--shadow-inset-top:inset 0 1px 0 0 #fffc;--shadow-keycap:0 2px 5px 0 #6677991f, inset 0 1px 0 0 #ffffffe6;--shadow-hud:0 16px 40px -12px #3d475c1f;--shadow-glow-emerald:0 0 28px -4px #10b77f26}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{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;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,sans-serif}body{background-color:var(--bg-surface);min-height:100vh;line-height:1.65;font-size:var(--text-body);color:var(--text-primary);flex-direction:column;display:flex;overflow-x:hidden}:focus-visible{border-radius:4px;outline:2px solid var(--border-focus)!important;outline-offset:3px!important}.skip-link{background:var(--accent-emerald);color:#042f2e;z-index:99999;transition:top var(--duration-fast) ease;border-radius:8px;padding:.75rem 1.25rem;font-weight:700;text-decoration:none;position:absolute;top:-9999px;left:1rem}.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);transition:color var(--duration-fast) ease;text-decoration:none}a:hover{color:#14e19d;text-decoration:underline}.tabular-nums,.num,[data-num]{font-variant-numeric:tabular-nums}.direct-answer-box{border-left:3px solid var(--accent-emerald);background:hsl(var(--bg-surface-elevated-raw) / .75);font-size:var(--text-body);color:var(--text-primary);box-shadow:var(--shadow-inset-top);border-radius:0 12px 12px 0;margin:1.25rem 0 2rem;padding:1.15rem 1.4rem;line-height:1.65}.direct-answer-box strong{color:var(--text-primary)}input[type=number],input[type=text],select{background:var(--bg-card);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-keycap);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;border-radius:10px;outline:none;padding:.75rem 1rem;font-size:1rem}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{color:#000!important;background:#fff!important}header,footer,.action-btns,.interactive-controls,.no-print{display:none!important}.card,.sticky-card{color:#000!important;box-shadow:none!important;background:#fff!important;border:1px solid #ccc!important}.score-number{color:#000!important}}
