:root{--bg-deep: #0a0e1a;--bg-base: #0f1629;--bg-surface: #151d35;--bg-raised: #1a2340;--bg-hover: #1f2a4a;--border-subtle: #1e2a4a;--border-default: #263354;--border-strong: #334470;--text-primary: #e8ecf4;--text-secondary: #8b98b8;--text-muted: #5e6d8e;--accent-amber: #f0a040;--accent-green: #50d090;--accent-red: #e86060;--accent-blue: #6090e0;--accent-indigo: #8080e0;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--font-serif: "Fraunces", Georgia, serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg-deep);color:var(--text-primary);line-height:1.6;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.wrap{max-width:1100px;margin:0 auto;padding:0 20px}.site-header{padding:40px 20px 20px;text-align:center;border-bottom:1px solid var(--border-subtle);margin-bottom:30px}.site-header .eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-indigo);margin-bottom:8px}.site-header h1{font-family:var(--font-serif);font-weight:800;font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.01em;color:var(--text-primary)}.site-header h1 .highlight{font-style:italic;font-weight:500;color:var(--accent-amber)}.site-header .subtitle{font-family:var(--font-mono);font-size:13px;color:var(--text-muted);margin-top:8px}.tab-nav{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;padding:0 20px;max-width:1100px;margin:0 auto}.tab-btn{font-family:var(--font-mono);font-size:12px;border:1.5px solid var(--border-default);border-bottom:none;background:var(--bg-surface);color:var(--text-secondary);padding:10px 14px 8px;border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:pointer;transition:all .15s ease;position:relative;top:2px;line-height:1.3;text-align:left;max-width:155px}.tab-btn .tab-num{display:block;font-weight:700;font-size:9px;letter-spacing:.12em;color:var(--text-muted);margin-bottom:2px}.tab-btn.active{background:var(--bg-deep);border-color:var(--border-strong);color:var(--text-primary);top:0;box-shadow:0 -3px 0 var(--accent-indigo) inset}.tab-btn.active .tab-num{color:var(--accent-indigo)}.tab-btn:hover:not(.active){background:var(--bg-raised)}.tab-divider{border:none;border-top:1.5px solid var(--border-strong);max-width:1100px;margin:0 auto 28px}.panel{display:none;animation:fadeIn .2s ease}.panel.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.panel-head{margin-bottom:24px}.panel-head h2{font-family:var(--font-serif);font-weight:800;font-size:clamp(1.4rem,3.5vw,2rem);margin:0 0 6px}.panel-head p{color:var(--text-secondary);max-width:760px;margin:0}.card{background:var(--bg-surface);border:1.5px solid var(--border-default);border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:20px;transition:border-color .15s}.card:hover{border-color:var(--border-strong)}.card h3{font-family:var(--font-serif);font-size:1.1rem;margin:0 0 10px;font-weight:700}.card h3 .tag{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;background:var(--accent-amber);color:#1a1206;padding:2px 8px;border-radius:var(--radius-sm);margin-right:8px;vertical-align:middle}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}@media(max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}}.eq{font-family:var(--font-mono);font-size:14px;background:var(--bg-raised);border:1.5px dashed var(--border-default);border-radius:var(--radius-sm);padding:3px 10px;display:inline-block}label{font-size:13px;font-weight:600;display:block;margin:10px 0 4px;color:var(--text-secondary)}input[type=text]{font-family:var(--font-mono);border:1.5px solid var(--border-default);border-radius:var(--radius-sm);padding:7px 10px;font-size:13px;width:100%;max-width:260px;background:var(--bg-base);color:var(--text-primary);transition:border-color .15s}input[type=text]:focus{outline:none;border-color:var(--accent-indigo)}.btn{font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.04em;border:1.5px solid var(--text-primary);background:var(--text-primary);color:var(--bg-deep);padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;margin-top:12px;transition:all .12s ease}.btn:hover{background:var(--accent-amber);border-color:var(--accent-amber);color:#1a1206}.btn:active{transform:scale(.97)}.btn.secondary{background:var(--bg-raised);color:var(--text-secondary);border-color:var(--border-default)}.btn.secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.reveal{margin-top:14px;border-left:3px solid var(--accent-green);background:#50d0900f;padding:12px 16px;border-radius:0 var(--radius-md) var(--radius-md) 0;display:none;font-size:14px;color:var(--text-secondary)}.reveal.shown{display:block;animation:fadeIn .2s ease}.reveal b{color:var(--accent-green)}.reveal .ans{font-family:var(--font-mono);font-size:13px;background:var(--bg-base);border:1.5px solid var(--accent-green);display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);margin-top:8px;color:var(--text-primary)}table.values{border-collapse:collapse;font-family:var(--font-mono);font-size:12px;margin-top:10px}table.values th,table.values td{border:1.5px solid var(--border-default);padding:5px 9px;text-align:center;min-width:38px}table.values th{background:var(--bg-raised);color:var(--text-secondary);font-weight:600}table.values td{color:var(--text-primary)}svg.graph{background:var(--bg-raised);border:1.5px solid var(--border-default);border-radius:var(--radius-md);display:block;margin:10px auto}.gridline{stroke:var(--border-subtle);stroke-width:1}.axis{stroke:var(--text-muted);stroke-width:1.6}.axislabel{font-family:var(--font-mono);font-size:8px;fill:var(--text-muted)}.curve{fill:none;stroke:var(--accent-blue);stroke-width:2.4}.curve2{fill:none;stroke:var(--accent-amber);stroke-width:2.4;stroke-dasharray:5 4}.curve3{fill:none;stroke:var(--accent-green);stroke-width:2.4;stroke-dasharray:2 3}.testline{stroke:var(--accent-red);stroke-width:1.8;stroke-dasharray:4 3}.codomain-band{fill:var(--accent-green);opacity:.1}.slider-row{display:flex;align-items:center;gap:10px;margin-top:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.slider-row input[type=range]{flex:1;accent-color:var(--accent-indigo)}.pill{font-family:var(--font-mono);font-size:11px;border:1.5px solid var(--border-default);border-radius:20px;padding:3px 10px;background:var(--bg-base);white-space:nowrap;color:var(--text-primary)}.qcols{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:start}@media(max-width:768px){.qcols{grid-template-columns:1fr}}.legend{font-family:var(--font-mono);font-size:11px;display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;color:var(--text-secondary)}.legend span{display:inline-flex;align-items:center;gap:6px}.swatch{width:18px;height:3px;display:inline-block;border-radius:2px}.note{font-size:12px;color:var(--text-muted);font-style:italic;margin-top:8px}.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.radio-opt{font-family:var(--font-mono);font-size:11.5px;border:1.5px solid var(--border-default);border-radius:var(--radius-sm);padding:6px 11px;cursor:pointer;background:var(--bg-base);color:var(--text-secondary);transition:all .12s}.radio-opt:hover{border-color:var(--accent-indigo);color:var(--text-primary)}.radio-opt input{margin-right:6px;accent-color:var(--accent-indigo)}.site-footer{text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);padding:40px 20px 30px;border-top:1px solid var(--border-subtle);margin-top:50px}.arrow-circle{transition:all .15s}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:30px}.topic-card{background:var(--bg-surface);border:1.5px solid var(--border-default);border-radius:var(--radius-lg);padding:24px;cursor:pointer;transition:all .18s ease;text-decoration:none;color:inherit;display:block}.topic-card:hover{border-color:var(--accent-indigo);transform:translateY(-2px);box-shadow:0 6px 24px #0000004d}.topic-card .topic-num{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--accent-indigo);text-transform:uppercase;margin-bottom:8px}.topic-card h3{font-family:var(--font-serif);font-weight:700;font-size:1.2rem;margin:0 0 8px;color:var(--text-primary)}.topic-card p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.topic-card .topic-tag{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);margin-top:14px;display:inline-block;border:1px solid var(--border-default);border-radius:20px;padding:3px 10px}.back-link{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-bottom:20px;transition:color .12s}.back-link:hover{color:var(--text-primary)}.view-toggle{display:inline-flex;border:1.5px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:12px}.view-toggle button{font-family:var(--font-mono);font-size:11px;padding:6px 12px;border:none;background:var(--bg-base);color:var(--text-muted);cursor:pointer;transition:all .12s}.view-toggle button.active{background:var(--accent-indigo);color:var(--text-primary)}.view-toggle button:hover:not(.active){background:var(--bg-raised);color:var(--text-secondary)}.graph-sidebyside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.graph-sidebyside .graph-full{grid-column:1 / -1}@media(max-width:768px){.graph-sidebyside{grid-template-columns:1fr}}.graph-sidebyside .graph-label{font-family:var(--font-mono);font-size:11px;text-align:center;color:var(--text-secondary);margin-bottom:4px}@media(max-width:600px){.tab-btn{max-width:120px;padding:8px 10px 6px;font-size:11px}.card{padding:16px}.home-grid{grid-template-columns:1fr}}
