:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0e13;--bg-elevated:#121821;--bg-elevated-2:#171f2b;--sidebar:#070a0e;--border:#212b38;--border-soft:#1a222d;--text:#e7ecf1;--text-soft:#9aa7b2;--text-dim:#5e6b78;--accent-amber:#e8a33d;--accent-amber-ink:#1a1204;--accent-teal:#3fd6c8;--accent-teal-dim:#23847c;--danger:#e2665a;--code-bg:#05070a;--code-text:#d7e4e9;--code-keyword:#7ee787;--code-string:#f2c879;--code-comment:#5b6672;--code-type:#7fb2e5;--font-display:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-serif:"Source Serif 4", Georgia, serif;--font-mono:"JetBrains Mono", monospace;--sidebar-w:300px;--toc-w:220px;--radius:10px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.7}a{color:var(--accent-teal);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent-amber);outline-offset:2px}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text);line-height:1.25}button{font-family:var(--font-body)}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--sidebar);border-right:1px solid var(--border-soft);flex-shrink:0;height:100vh;padding:28px 20px 60px;position:sticky;top:0;overflow-y:auto}.brand{font-family:var(--font-display);color:#fff;align-items:baseline;gap:6px;margin-bottom:4px;font-size:20px;font-weight:700;display:flex}.brand .dot{color:var(--accent-amber)}.tagline{color:var(--text-dim);margin-bottom:28px;font-size:13px}.chapter{margin-bottom:20px}.chapter-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;font-size:11px;font-weight:600}.chapter ol{margin:0;padding:0;list-style:none}.chapter li{margin:1px 0}.chapter a,.chapter .disabled{color:var(--text-soft);border-radius:6px;align-items:baseline;gap:10px;padding:6px 8px;font-size:14.5px;text-decoration:none;display:flex}.chapter a:hover{background:var(--bg-elevated);color:var(--text)}.chapter a.active{color:#fff;background:#e8a33d1f;font-weight:600}.chapter .disabled{color:var(--text-dim);cursor:default}.step-no{font-family:var(--font-mono);opacity:.7;min-width:20px;font-size:12px}.main{flex:1;justify-content:center;padding:48px 40px 120px;display:flex}.article{width:100%;max-width:760px}.eyebrow{font-family:var(--font-mono);color:var(--accent-teal);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:13px}.article h1{margin:0 0 28px;font-size:40px}.article h2{border-top:1px solid var(--border-soft);margin-top:52px;padding-top:14px;font-size:24px}.article h2:first-of-type{margin-top:32px}.article h3{margin-top:28px;font-size:19px}.article h2,.article h3{scroll-margin-top:90px}.breadcrumbs{font-family:var(--font-mono);color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;font-size:12px;display:flex}.breadcrumbs a{color:var(--text-dim)}.breadcrumbs a:hover{color:var(--accent-teal);text-decoration:none}.breadcrumbs .sep{color:var(--border)}.breadcrumbs .current{color:var(--text-soft)}.toc-fixed{top:100px;right:max(20px, calc((100vw - 1240px) / 2 - var(--toc-w) + 20px));width:var(--toc-w);max-height:calc(100vh - 140px);font-family:var(--font-body);display:none;position:fixed;overflow-y:auto}.toc-fixed .toc-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:10px;font-size:11px;font-weight:600}.toc-fixed ul{border-left:1px solid var(--border-soft);margin:0;padding:0;list-style:none}.toc-fixed li{margin:0}.toc-fixed a{color:var(--text-dim);border-left:2px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;font-size:13px;line-height:1.4;display:block}.toc-fixed a:hover{color:var(--text);border-left-color:var(--accent-teal);text-decoration:none}@media (width>=1320px){.toc-fixed{display:block}}.article p{color:var(--text);font-family:var(--font-serif);margin:15px 0;font-size:17.5px}.article ul,.article ol{padding-left:22px}.article li{font-family:var(--font-serif);margin:7px 0;font-size:17.5px}.interview-list{counter-reset:qnum;padding-left:0;list-style:none}.interview-list>li{counter-increment:qnum;background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:8px;margin:14px 0;padding:14px 16px}.interview-list .q{margin-bottom:8px;font-weight:600}.interview-list .q:before{content:counter(qnum) ". ";color:var(--accent-amber);font-family:var(--font-mono)}details.answer summary{color:var(--accent-amber)}details.answer>div{color:var(--text-soft);padding:6px 0 10px;line-height:1.7}.site-header{border-bottom:1px solid var(--border-soft);background:var(--sidebar);font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.04em;padding:10px 20px;font-size:12px}.site-header a{color:var(--text-soft)}.resources-footer{border-top:1px solid var(--border-soft);margin-top:70px;padding:24px 0 10px}.resources-footer h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:14px;font-size:14px}.resources-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.resource-link{background:var(--bg-elevated);border:1px solid var(--border-soft);color:var(--text-soft);border-radius:8px;padding:12px 14px;font-size:13.5px;display:block}.resource-link:hover{border-color:var(--accent-teal);color:var(--text);text-decoration:none}.resource-link .rlabel{color:var(--text);margin-bottom:2px;font-weight:600;display:block}.callout{background:var(--bg-elevated);border:1px solid var(--border);border-left:4px solid var(--accent-teal);border-radius:var(--radius);margin:18px 0;padding:16px 18px}.callout.warn{border-left-color:var(--danger)}.callout-title{font-size:14px;font-weight:700;font-family:var(--font-display);margin-bottom:6px}.code-block{margin:16px 0;position:relative}.code-block pre{background:var(--code-bg);color:var(--code-text);border-radius:var(--radius);font-family:var(--font-mono);border:1px solid var(--border-soft);margin:0;padding:18px 20px;font-size:14px;line-height:1.6;overflow-x:auto}.code-block .copy-btn{background:var(--bg-elevated-2);color:var(--text-soft);border:1px solid var(--border);cursor:pointer;font-size:12px;font-family:var(--font-mono);border-radius:6px;padding:4px 10px;position:absolute;top:10px;right:10px}.code-block .copy-btn:hover{color:var(--text);border-color:var(--accent-teal)}code{font-family:var(--font-mono)}:not(pre)>code{background:var(--bg-elevated-2);border:1px solid var(--border-soft);color:var(--accent-teal);border-radius:4px;padding:1px 6px;font-size:.88em}.tok-kw{color:var(--code-keyword)}.tok-str{color:var(--code-string)}.tok-cm{color:var(--code-comment);font-style:italic}.tok-type{color:var(--code-type)}.memory-lens{background:var(--code-bg);border:1px solid var(--border-soft);border-radius:var(--radius);font-family:var(--font-mono);color:var(--code-text);margin:18px 0;padding:20px;font-size:13.5px;overflow-x:auto}.memory-lens .lens-title{color:var(--accent-amber);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px}.memory-lens pre{background:0 0;border:none;margin:0;padding:0}table{border-collapse:collapse;width:100%;margin:16px 0}th,td{border:1px solid var(--border-soft);text-align:left;padding:8px 12px;font-size:15px}th{background:var(--bg-elevated);font-family:var(--font-display)}.exercise-list{padding-left:0;list-style:none}.exercise-list li{background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:8px;margin:8px 0;padding:12px 16px}.ex-tag{font-family:var(--font-mono);color:var(--accent-teal);margin-right:8px;font-size:11px;display:inline-block}details.solution{border:1px dashed var(--border);background:var(--bg-elevated-2);border-radius:8px;margin-top:10px;padding:4px 14px}details.solution summary{cursor:pointer;color:var(--accent-teal);padding:8px 0;font-size:14px;font-weight:600}.topic-nav{border-top:1px solid var(--border-soft);justify-content:space-between;gap:20px;margin-top:60px;padding-top:20px;display:flex}.topic-nav a,.topic-nav span.placeholder{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:8px;flex:1;padding:14px 16px;display:block}.topic-nav a:hover{border-color:var(--accent-teal);text-decoration:none}.topic-nav .dir{text-transform:uppercase;color:var(--text-soft);letter-spacing:.06em;font-size:11px}.topic-nav .next{text-align:right}.hero{padding:10px 0 30px}.hero h1{margin-bottom:12px;font-size:48px}.hero p.lead{color:var(--text-soft);max-width:620px;font-size:19px}.cta-btn{background:var(--accent-amber);color:var(--accent-amber-ink);border-radius:8px;margin-top:10px;padding:12px 22px;font-weight:700;display:inline-block}.cta-btn:hover{filter:brightness(1.08);text-decoration:none}.roadmap-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:20px;display:grid}.roadmap-card{background:var(--bg-elevated);border:1px solid var(--border-soft);color:inherit;border-radius:10px;padding:14px 16px;display:block}.roadmap-card.ready:hover{border-color:var(--accent-teal)}.roadmap-card.locked{opacity:.5}.roadmap-card .num{font-family:var(--font-mono);color:var(--accent-teal);font-size:12px}.roadmap-card h3{margin:4px 0 0;font-size:15px}.menu-toggle{z-index:30;background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);font-family:var(--font-mono);cursor:pointer;border-radius:8px;padding:8px 12px;display:none;position:fixed;top:16px;left:16px}@media (width<=860px){.menu-toggle{display:block}.sidebar{z-index:20;transition:left .2s;position:fixed;left:-100%;box-shadow:0 0 40px #0009}.sidebar.open{left:0}.main{padding:64px 18px 100px}.article h1{font-size:30px}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}
