
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Outfit:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root {color-scheme:dark;--bg:#0a0a0b;--panel:#121316;--raised:#191b20;--border:#2a2c32;--border2:#454852;--ink:#eeeef0;--silver:#cbccd2;--muted:#adaeb8;--dim:#838794;--mint:#8bd8c9;--violet:#c6b3fd;--amber:#f6d398;--font:Outfit,system-ui,sans-serif;--display:'Space Grotesk',Outfit,system-ui,sans-serif;--code:'JetBrains Mono',ui-monospace,monospace;--sidebar:255px;--text-max:760px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--bg);color:var(--ink);margin:0;font:400 17px/1.77 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}::selection{background:var(--mint);color:#0a0a0b}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.035em;line-height:1.18}h1{font-size:clamp(2.4rem,5.3vw,4.6rem);margin:.3em 0}h2{font-size:clamp(1.45rem,2.1vw,2rem);margin:2.2em 0 .7em}h3{font-size:1.2rem;margin:1.6em 0 .55em}p{margin:0 0 1.15em;color:var(--muted)}small{color:var(--dim)}strong{font-weight:600;color:var(--ink)}code,pre,kbd{font-family:var(--code)}code{font-size:.89em;color:var(--mint)}pre{background:#0d0f12;border:1px solid var(--border);border-radius:12px;padding:22px;white-space:pre-wrap;overflow:auto;color:var(--silver);font-size:.82rem;line-height:1.75}pre code{color:inherit}blockquote{margin:1.8rem 0;padding:1.25rem 1.5rem;border-left:3px solid var(--violet);background:var(--panel);border-radius:0 11px 11px 0;color:var(--silver)}table{border-collapse:collapse;width:100%;font-size:.9rem;margin:1.5rem 0}th,td{border-bottom:1px solid var(--border);padding:.8em;text-align:left;vertical-align:top}th{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:var(--silver)}td{color:var(--muted)}.skip{position:absolute;left:-9999px;top:0;z-index:900;background:var(--ink);color:var(--bg);padding:10px}.skip:focus{left:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:4px}.top{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,58px);border-bottom:1px solid var(--border);background:rgba(10,10,11,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:50}.brand{font:700 1.1rem var(--display);text-decoration:none;display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border2);border-radius:10px;font:600 .85rem var(--code)}.brand span:last-child{font-weight:500;color:var(--silver)}.top-links{display:flex;gap:22px;align-items:center;font-size:.83rem}.top-links a{text-decoration:none;color:var(--muted)}.top-links a:hover{color:var(--ink)}.top-links button{border:1px solid var(--border2);border-radius:9px;background:none;color:var(--silver);padding:5px 10px}.frame{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{border-right:1px solid var(--border);position:sticky;top:68px;align-self:start;height:calc(100vh - 68px);overflow:auto;padding:25px 17px 38px;scrollbar-width:thin}.sidebar-header{padding:8px 14px 18px}.sidebar .eyebrow{color:var(--dim)}.side-item{display:block;padding:8px 13px;text-decoration:none;color:var(--muted);font-size:.86rem;line-height:1.5;border-radius:8px;margin:2px 0}.side-item:hover,.side-item[aria-current=page]{background:var(--raised);color:var(--ink)}.side-item[aria-current=page]{border-left:2px solid var(--mint)}.side-number{font:.7rem var(--code);color:var(--dim);margin-right:7px}.side-unit{font:.67rem var(--code);letter-spacing:.07em;color:var(--dim);text-transform:uppercase;margin:22px 13px 5px}.main{min-width:0}.reading{width:min(100% - 52px,925px);margin:0 auto;padding:64px 0 110px}.article{max-width:var(--text-max);margin:0 auto}.wide{max-width:1050px;margin:0 auto}.eyebrow,.label{font:500 .7rem/1.6 var(--code);text-transform:uppercase;letter-spacing:.09em;color:var(--mint)}.deck{font-size:clamp(1.08rem,1.7vw,1.35rem);max-width:730px;color:var(--silver);line-height:1.65}.muted{color:var(--dim)}.breadcrumb{font:.78rem var(--code);color:var(--dim);margin-bottom:22px}.breadcrumb a{text-decoration:none;color:var(--muted)}.breadcrumb span{margin:0 9px}.reading-time{font:.75rem var(--code);color:var(--dim);margin:1.3rem 0 2rem}.hero-home{padding:66px 0 48px;border-bottom:1px solid var(--border);position:relative}.hero-home::before{content:'';position:absolute;z-index:-1;width:600px;height:400px;right:0;top:0;background:radial-gradient(ellipse,rgba(99,121,145,.13),transparent 70%);pointer-events:none}.hero-home h1{max-width:850px}.hero-home h1 em{font-style:normal;color:var(--silver)}.signal-line{font:500 .83rem var(--code);color:var(--mint);letter-spacing:.1em;word-spacing:9px;margin-top:20px}.stat-row{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.stat{padding:10px 17px;border:1px solid var(--border);border-radius:10px;background:var(--panel);font:.77rem var(--code);color:var(--silver)}.stat b{color:var(--ink)}.unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:35px 0}.unit-card{display:block;padding:24px;border:1px solid var(--border);background:var(--panel);border-radius:15px;text-decoration:none;transition:border-color .2s,transform .2s}.unit-card:hover{border-color:var(--silver);transform:translateY(-2px)}.unit-card .number{font:600 .7rem var(--code);color:var(--mint)}.unit-card h3{margin:12px 0 8px;font-size:1.23rem}.unit-card p{font-size:.89rem;margin:0}.unit-card .count{font:.72rem var(--code);display:block;color:var(--dim);margin-top:18px}.micro{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.pill{font:.72rem var(--code);padding:5px 9px;border:1px solid var(--border2);border-radius:999px;color:var(--muted)}.concept{border:1px solid var(--border2);border-radius:15px;background:linear-gradient(140deg,#17191d,#101113);padding:24px;margin:25px 0}.concept h3{margin:0 0 9px;font-size:1.1rem}.concept p:last-child{margin:0}.thought{margin:30px 0;padding:23px 27px;border-left:3px solid var(--mint);background:var(--panel);border-radius:0 13px 13px 0}.thought .label{color:var(--mint)}.thought p{margin:9px 0 0;color:var(--silver)}.warning{border:1px solid #5e4a39;background:#201914;border-radius:13px;padding:21px 24px;margin:28px 0}.warning h3{margin:0 0 8px;color:var(--amber)}.warning p:last-child{margin:0}.schema{margin:35px 0;border:1px solid var(--border);border-radius:17px;background:#0d0e11;padding:14px}.schema img{width:100%;display:block}.schema figcaption{font-size:.79rem;color:var(--dim);padding:0 11px 12px}.breakdown{display:grid;gap:14px;counter-reset:steps;list-style:none;padding:0}.breakdown li{counter-increment:steps;padding:20px 20px 20px 65px;position:relative;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--muted)}.breakdown li::before{content:counter(steps,decimal-leading-zero);position:absolute;top:22px;left:19px;font:.8rem var(--code);color:var(--mint)}.checkpoint{border:1px solid var(--border2);background:var(--panel);padding:24px;border-radius:15px;margin:40px 0}.checkpoint h3{margin-top:0}.checkpoint summary{cursor:pointer;color:var(--mint);font-weight:500}.checkpoint details{border-top:1px solid var(--border);margin-top:13px;padding-top:12px}.next-prev{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:55px 0}.next-prev a{border:1px solid var(--border);padding:17px;border-radius:12px;text-decoration:none;color:var(--silver)}.next-prev a:hover{border-color:var(--silver)}.next-prev small{display:block;font:500 .7rem var(--code);margin-bottom:8px}.lesson-list{list-style:none;margin:35px 0;padding:0}.lesson-list li{border-bottom:1px solid var(--border)}.lesson-list a{display:grid;grid-template-columns:70px 1fr 24px;gap:15px;text-decoration:none;align-items:center;padding:17px 8px}.lesson-list a:hover{background:var(--panel)}.lesson-list span{font:.8rem var(--code);color:var(--dim)}.lesson-list b{font-family:var(--display);font-size:1.03rem;font-weight:500}.lesson-list small{grid-column:2;line-height:1.5}.lab-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.lab-controls label{display:flex;gap:8px;align-items:center;font:.8rem var(--code);color:var(--silver)}.lab-controls input,.lab-controls select,.searchbar{border:1px solid var(--border2);border-radius:9px;background:var(--raised);color:var(--ink);padding:11px;font: .86rem var(--code);min-width:75px;max-width:100%}.btn{background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:11px 16px;border-radius:10px;font:.8rem var(--code);text-decoration:none;display:inline-block}.btn:hover{background:var(--silver)}.btn.alt{background:var(--raised);border-color:var(--border2);color:var(--silver)}.btn.alt:hover{border-color:var(--silver)}.lab-stage{background:#101215;border:1px solid var(--border2);padding:25px;border-radius:17px;min-height:200px}.bit-row{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0}.bit{width:46px;height:60px;border:1px solid var(--border2);background:#1c1e23;color:var(--muted);border-radius:8px;font:600 1.1rem var(--code)}.bit[data-active=true]{border-color:var(--mint);background:#213632;color:#baf1df}.output-number{font:600 clamp(2rem,4.5vw,3.2rem) var(--code);letter-spacing:-.04em;color:var(--ink);margin:20px 0 9px;overflow-wrap:anywhere}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric{padding:14px;border:1px solid var(--border);border-radius:10px}.metric small{display:block}.metric b{display:block;font:500 1.05rem var(--code);color:var(--mint);margin-top:7px;overflow-wrap:anywhere}.logic-lamp{display:inline-grid;place-items:center;height:80px;width:80px;border-radius:50%;border:2px solid var(--border2);background:#222;color:var(--muted);font:600 1.4rem var(--code)}.logic-lamp.on{background:#25443e;color:#baf1df;border-color:var(--mint);box-shadow:0 0 50px #3c9a7c22}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.memory-cell{border:1px solid var(--border);background:var(--raised);border-radius:10px;padding:12px;font: .8rem var(--code);color:var(--silver)}.memory-cell b{display:block;color:var(--mint);margin-top:8px}.segment-svg{width:165px;max-width:100%}.workbook-index{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.workbook-index a{padding:16px;border:1px solid var(--border);border-radius:12px;text-decoration:none}.workbook-index a:hover{border-color:var(--silver)}.exercise{border:1px solid var(--border);background:var(--panel);border-radius:14px;margin:19px 0;padding:22px}.exercise h3{margin:0 0 11px}.exercise .problem{font-size:1.05rem;color:var(--ink)}.exercise details{margin:15px 0 0;border-top:1px solid var(--border);padding-top:10px}.exercise summary{cursor:pointer;color:var(--mint);font-size:.85rem}.solution-lines{margin:15px 0 0;padding-left:23px}.solution-lines li{margin:9px 0;color:var(--silver);line-height:1.6}.kbd-help{color:var(--dim);font-size:.81rem}.search-results{list-style:none;padding:0;margin-top:25px}.search-results li{padding:15px 0;border-bottom:1px solid var(--border)}.search-results a{display:block;font-weight:600;text-decoration:none}.search-results p{font-size:.88rem;margin:4px 0}.glossary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.glossary article{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:17px}.glossary h3{margin:0 0 8px}.glossary p{font-size:.87rem;margin:0}.footer{border-top:1px solid var(--border);padding:35px 0;font: .79rem var(--code);color:var(--dim)}.footer a{text-decoration:none;color:var(--muted)}.toast{position:fixed;bottom:20px;right:20px;background:var(--raised);color:var(--ink);border:1px solid var(--border2);border-radius:10px;padding:10px 16px;z-index:90}.progress-track{background:var(--border);height:3px;position:fixed;top:68px;left:0;right:0;z-index:52}.progress-fill{height:100%;width:0;background:var(--mint)}.menu-toggle{display:none}.toc{background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:17px 20px;margin:20px 0}.toc a{display:block;text-decoration:none;color:var(--muted);font-size:.88rem;padding:4px 0}.toc a:hover{color:var(--ink)}.toc .label{display:block;margin-bottom:9px}.tagline{font:.72rem var(--code);color:var(--dim)}.formula{font:500 .97rem var(--code);padding:20px;background:var(--raised);border:1px solid var(--border);border-radius:11px;color:var(--mint);overflow:auto}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:17px}.timing-grid{overflow:auto}.timing-grid table{font-family:var(--code)}.timing-grid .on{background:#203632;color:#b0f0da}.practice-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:35px}.practice-nav a{padding:9px 13px;border:1px solid var(--border2);border-radius:8px;text-decoration:none;font:.77rem var(--code)}.practice-nav a:hover{border-color:var(--mint)}
[data-theme=light]{color-scheme:light;--bg:#f7f7f5;--panel:#fff;--raised:#f1f2ef;--border:#d9dad6;--border2:#babcb9;--ink:#191c1a;--silver:#303632;--muted:#47504a;--dim:#666d68;--mint:#006e60;--violet:#5b3a9f}
[data-theme=light] .top{background:#f7f7f5ec}[data-theme=light] .schema,[data-theme=light] .lab-stage,[data-theme=light] pre{background:#14171c;color:#e2e6e8}[data-theme=light] .schema figcaption{color:#c1c4cb}[data-theme=light] .warning{background:#fff2df}
@media(max-width:980px){:root{--sidebar:225px}.reading{width:min(100% - 38px,800px);padding-top:48px}}@media(max-width:760px){.frame{display:block}.top{height:60px}.progress-track{top:60px}.sidebar{display:none;position:fixed;top:60px;left:0;bottom:0;width:min(86vw,310px);height:auto;background:var(--bg);z-index:45;box-shadow:0 14px 40px #0008}.sidebar.open{display:block}.menu-toggle{display:block}.top-links>a{display:none}.reading{padding-top:32px;width:min(100% - 30px,740px)}.unit-grid,.glossary,.workbook-index,.two-col{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.next-prev{grid-template-columns:1fr}.hero-home{padding-top:30px}.reading h1{font-size:clamp(2.1rem,8vw,3rem)}.schema{margin-left:-5px;margin-right:-5px;padding:5px}.bit{width:38px;height:52px}}
@media print{.sidebar,.top-links,.top,.next-prev,.footer,.progress-track,.lab-controls,.menu-toggle,.btn{display:none!important}.frame{display:block}.reading{max-width:100%;padding:0;color:black}.article{max-width:100%}body{background:white;color:black}.schema{break-inside:avoid}.exercise{break-inside:avoid}details{display:block}details>*{display:block!important}p,td{color:#222}}
