@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/bit-lab/assets/source-sans-3-cyrillic-ext-wght-normal-c-5QAGAI.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/bit-lab/assets/source-sans-3-cyrillic-wght-normal-BMDVbyM7.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/bit-lab/assets/source-sans-3-greek-ext-wght-normal-BXZfsJY4.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/bit-lab/assets/source-sans-3-greek-wght-normal-Cc-u-6OI.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/bit-lab/assets/source-sans-3-vietnamese-wght-normal-BDs68eHQ.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/bit-lab/assets/source-sans-3-latin-ext-wght-normal-C8iNium2.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/bit-lab/assets/source-sans-3-latin-wght-normal-Bo_j9asI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/bit-lab/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/bit-lab/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/bit-lab/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/bit-lab/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/bit-lab/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/bit-lab/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/bit-lab/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/bit-lab/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--bg: #f3f6f5;--bg-raised: #ffffff;--bg-sunken: #e9eeed;--bg-inset: #e0e7e5;--fg: #101a18;--fg-muted: #51605d;--fg-faint: #788683;--border: #d6dedc;--border-strong: #74827f;--accent: #075a4f;--accent-strong: #05423a;--accent-soft: #dcefec;--accent-fg: #ffffff;--icon-tile: #075a4f;--icon-mark: #ffffff;--focus: #c2410c;--ok: #17702f;--ok-bg: #e6f4ea;--bad: #b42318;--bad-bg: #fbeae8;--warn: #8a5a00;--warn-bg: #fff4d6;--note-bg: #e5f1ef;--shadow-sm: 0 1px 2px rgba(16, 26, 24, .06);--shadow: 0 2px 10px rgba(16, 26, 24, .08);--font-text: "Source Sans 3 Variable", "Source Sans 3", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Archivo Variable", Archivo, "Helvetica Neue", Arial, ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs: .8125rem;--text-sm: .9375rem;--text-md: 1.125rem;--text-lg: 1.3125rem;--text-xl: 1.625rem;--text-xxl: 2.375rem;--line: 1.55;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: 3px;--radius: 4px;--radius-lg: 6px;--measure: 44rem;--page: 66rem;--gutter: 16px;--motion: .16s;--hero-bg-1: #075a4f;--hero-bg-2: #022b26;--hero-fg: #ffffff;--hero-sub: #a6f0e0;--hero-muted: #d3efe9;--hero-action: #ffffff;--hero-action-fg: #05423a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #101615;--bg-raised: #171e1d;--bg-sunken: #0b100f;--bg-inset: #212a28;--fg: #e8eeed;--fg-muted: #a1adaa;--fg-faint: #76847f;--border: #28312f;--border-strong: #6b7a77;--accent: #5fd3c0;--accent-strong: #9be8da;--accent-soft: #153029;--accent-fg: #07120f;--icon-tile: #1b3d36;--icon-mark: #5fd3c0;--focus: #fb923c;--ok: #4ade80;--ok-bg: #12301b;--bad: #f87171;--bad-bg: #3a1513;--warn: #facc15;--warn-bg: #3a2e05;--note-bg: #13282a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 10px rgba(0, 0, 0, .45);--hero-bg-1: #084a40;--hero-bg-2: #03201c;--hero-action: #e8eeed;--hero-action-fg: #04302a}}:root[data-theme=dark]{--bg: #101615;--bg-raised: #171e1d;--bg-sunken: #0b100f;--bg-inset: #212a28;--fg: #e8eeed;--fg-muted: #a1adaa;--fg-faint: #76847f;--border: #28312f;--border-strong: #6b7a77;--accent: #5fd3c0;--accent-strong: #9be8da;--accent-soft: #153029;--accent-fg: #07120f;--icon-tile: #1b3d36;--icon-mark: #5fd3c0;--focus: #fb923c;--ok: #4ade80;--ok-bg: #12301b;--bad: #f87171;--bad-bg: #3a1513;--warn: #facc15;--warn-bg: #3a2e05;--note-bg: #13282a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 10px rgba(0, 0, 0, .45);--hero-bg-1: #084a40;--hero-bg-2: #03201c;--hero-action: #e8eeed;--hero-action-fg: #04302a}@media(prefers-reduced-motion:reduce){:root{--motion: 0ms}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.lesson-back{max-width:20rem;margin:0 0 var(--space-3)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--fg);font-weight:600;font-size:var(--text-sm);line-height:1.2;cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--motion),border-color var(--motion),box-shadow var(--motion)}.button:hover:not(:disabled){background:var(--bg-sunken);border-color:var(--fg-muted)}.button:disabled{opacity:.45;cursor:default;box-shadow:none}.button.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-fg)}.button.danger{border-color:var(--bad);color:var(--bad)}.badge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.2em .55em;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-sunken);color:var(--fg-muted);margin-right:var(--space-2);vertical-align:middle;white-space:nowrap}.badge.ok{color:var(--ok);border-color:var(--ok);background:var(--ok-bg);margin-left:var(--space-2)}input[type=radio],input[type=checkbox]{appearance:none;display:grid;place-items:center;flex:none;width:2.75rem;height:2.75rem;margin:0;background:none;cursor:pointer}input[type=radio]:before,input[type=checkbox]:before{content:"";width:1.25rem;height:1.25rem;box-sizing:border-box;border:2px solid var(--border-strong);background:var(--bg-raised);transition:background var(--motion)}input[type=radio]:before{border-radius:50%}input[type=checkbox]:before{border-radius:var(--radius-sm)}input[type=radio]:checked:before,input[type=checkbox]:checked:before{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--bg-raised)}input[type=radio]:focus-visible:before,input[type=checkbox]:focus-visible:before{outline:3px solid var(--focus);outline-offset:2px}input[type=radio]:focus-visible,input[type=checkbox]:focus-visible{outline:none}.lesson-header{margin-bottom:var(--space-7)}.lesson-objectives ul{max-width:var(--measure);padding-left:1.25rem}.lesson-objectives li::marker,.lesson-prerequisites li::marker{color:var(--accent)}.lesson-model-note{background:var(--note-bg);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);max-width:var(--measure);margin-top:var(--space-6)}.lesson-model-note h2,.lesson-model-vs-reality h2{font-size:var(--text-lg);margin-top:0}.lesson-model-vs-reality{margin-top:var(--space-7);border-top:1px solid var(--border);padding-top:var(--space-5);max-width:var(--measure)}.lesson-section{margin-top:var(--space-8)}.lesson-section>h2{margin-top:0;padding-top:var(--space-5);border-top:1px solid var(--border)}.section-kind{display:none}.prose{max-width:var(--measure)}.prose>*:last-child{margin-bottom:0}@media(max-width:600px){.prose a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}}.figure-lead{margin-bottom:var(--space-4)}.figure-after{margin-top:var(--space-4)}.lesson-details{max-width:var(--measure);margin:var(--space-4) 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised)}.lesson-details summary{display:flex;align-items:center;min-height:2.75rem;padding:0 var(--space-4);font-weight:600;cursor:pointer}.lesson-details summary{gap:var(--space-2);list-style:none}.lesson-details summary::-webkit-details-marker{display:none}.lesson-details summary:before,.lesson-details summary:after{content:"";flex:none;width:1.25rem;height:1.25rem;background:var(--accent);-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.lesson-details summary:before{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E")}.lesson-details summary:after{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E");margin-left:auto;background:var(--fg-muted);transition:transform var(--motion, .15s) ease}.lesson-details[open] summary:after{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.lesson-details summary:after{transition:none}}.lesson-details>.prose{padding:0 var(--space-4) var(--space-3)}figure.interactive{margin:var(--space-5) 0}figure.interactive>figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2);color:var(--fg-muted);font-size:var(--text-sm);margin:0 0 var(--space-2);max-width:var(--measure)}figure.interactive>figcaption .badge{margin-right:0}.time-model-toggle{display:inline-flex;align-items:center;min-height:2.75rem;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.time-model-toggle .badge{gap:.45em}.time-model-toggle:hover .badge{border-color:var(--accent);color:var(--fg)}.badge-mark{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform var(--motion)}.time-model-toggle[aria-expanded=true] .badge-mark{transform:rotate(180deg)}.time-model-note{flex-basis:100%;margin:var(--space-1) 0 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--border-strong);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--note-bg);color:var(--fg);font-size:var(--text-sm)}.time-model-note[hidden]{display:none}.time-model-note .prose p{margin:0}figure.interactive>:not(figcaption):not(.figure-lead):not(.figure-after){padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);box-shadow:var(--shadow-sm)}.interactive-problem,.interactive-missing{color:var(--warn);background:var(--warn-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}figure.interactive p{max-width:36rem}figure.interactive>.figure-lead p,figure.interactive>.figure-after p{max-width:none}.challenge-title{margin-top:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.challenge-task{margin-bottom:var(--space-4)}.challenge-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin:var(--space-4) 0 var(--space-3)}.challenge-reset-confirm{display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}.challenge-status{font-weight:600;margin:0 0 var(--space-3)}.verdict.failures{list-style:none;padding:0}.verdict-failure{overflow-wrap:anywhere;border-left:4px solid var(--bad);background:var(--bad-bg);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-3)}.verdict-failure h4{margin:0 0 var(--space-2)}.verdict-detail{margin:var(--space-2) 0}.verdict-values{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-1) var(--space-4);margin:0 0 var(--space-2)}.verdict-values dt{color:var(--fg-muted)}.verdict-values dd{margin:0}.values .value{margin-right:var(--space-2);display:inline-block;max-width:100%;overflow-wrap:anywhere}.verdict.blocked{border-left:4px solid var(--warn);background:var(--warn-bg);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm)}.verdict-blocked p{margin:0 0 var(--space-1)}.hints{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px dashed var(--border)}.hints-list{padding-left:var(--space-5);max-width:var(--measure)}.hints-list li{margin-bottom:var(--space-3)}.hints-rung{display:block;font-family:var(--font-mono);color:var(--accent);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em}.hints-text p{margin:0}.hints-none{color:var(--fg-muted);margin:0}.prediction-options{border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:var(--space-2) 0;margin:var(--space-3) 0}.prediction-option{display:flex;gap:var(--space-2);align-items:center;min-height:2.75rem}@media(max-width:40rem){.verdict-values{grid-template-columns:minmax(0,1fr)}figure.interactive>:not(figcaption):not(.figure-lead):not(.figure-after){padding:var(--space-3)}}.lesson-back,.lesson-header,.lesson-section>:not(figure.interactive),.lesson-model-note,.lesson-model-vs-reality,figure.interactive>figcaption,figure.interactive>.figure-lead,figure.interactive>.figure-after{max-width:var(--measure);margin-inline:auto}:root{--accent: #81500b;--accent-strong: #653d05;--accent-soft: #fff0cc;--focus: #126e83}:root[data-theme=dark]{--accent: #f5c46a;--accent-strong: #ffdf9d;--accent-soft: #342917;--focus: #80d6e8}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--accent: #f5c46a;--accent-strong: #ffdf9d;--accent-soft: #342917;--focus: #80d6e8}}*{box-sizing:border-box}body{margin:0;font-family:var(--font-text);font-size:18px;line-height:1.55;color:var(--fg);background:var(--bg)}a{color:var(--accent);text-underline-offset:.2em}button,input,select{font:inherit;color:inherit}button,select,summary{cursor:pointer}button,select,input{min-height:44px}input,select{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:4px;padding:.4rem .6rem;max-width:100%}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3{font-family:var(--font-display);line-height:1.2;letter-spacing:-.025em}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:1.7rem}h3{font-size:1.18rem}p{max-width:70ch}code,.readout,.chapter-number,.progress-count{font-family:var(--font-mono)}.site-header,main,.site-footer{max-width:1160px;margin-inline:auto;padding-inline:28px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:700 1.2rem var(--font-mono);color:var(--fg);letter-spacing:-.05em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;color:#191e1a;background:#edbb58;border-radius:5px;font-size:1rem}.site-header nav,.site-footer nav{display:flex;gap:26px;align-items:center}.site-header nav a{color:var(--fg-muted);text-decoration:none;padding-block:12px}.site-header nav a[aria-current]{color:var(--fg);box-shadow:0 2px 0 var(--accent)}.theme-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--fg-muted)}main{outline:none;min-height:65vh;padding-bottom:64px}main>section{margin-bottom:64px}.hero{background:#172720;border-radius:8px;padding:52px 42px;color:#f2f1e7;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font:500 12px/1.6 var(--font-mono);color:var(--fg-muted)}.hero .eyebrow{color:#c0c9bb}.hero h1{margin:18px 0 24px;font-size:clamp(2.4rem,4.5vw,3.5rem);line-height:1.08;font-weight:650}.hero h1 em{font-style:normal;color:#f1bd5b}.hero-intro{color:#d4ddd3;font-size:20px;max-width:35ch}.button{display:inline-flex;gap:16px;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:4px;border:1px solid var(--border-strong);text-decoration:none;font-weight:600}.button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.button.secondary{background:var(--bg-raised);color:var(--fg)}.button.hero-action{background:#efbd5c;color:#1a251c;border-color:#efbd5c;margin-top:10px}.hero-caption{color:#bdcbbb;font-size:14px;margin-top:20px}.hero-instrument{border:1px solid #4c5c48;padding:26px 20px;border-radius:6px;background:#1d3026}.instrument-label{color:#b6c6b4;font:11px var(--font-mono);letter-spacing:.14em;margin:0 0 28px}.hero-bits{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.hero-bits button{border:1px solid #68765d;background:#283b2c;color:#d7e1cb;font:22px var(--font-mono);padding:12px 0 7px;border-radius:3px}.hero-bits button[aria-pressed=true]{color:#201e13;background:#efbd5c;border-color:#efbd5c}.hero-bits small{display:block;font-size:11px;margin-top:8px;opacity:.8}.hero-values{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #4c5c48;padding:26px 0}.hero-values span{display:block;font-size:13px;color:#c4d1bc}.hero-values strong{font:25px var(--font-mono)}.hero-instrument>p:not(.instrument-label){font-size:15px;color:#d4ddd3}.signal-line{display:flex;justify-content:space-between;gap:8px;font:10px var(--font-mono);color:#c7d3bf;padding-top:20px}.signal-line span{color:#efbd5c}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.intro-grid h2{font-size:1.45rem}.intro-grid p:not(.eyebrow){color:var(--fg-muted)}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.section-heading h2{margin-top:5px}.progress-count{font-size:12px;color:var(--fg-muted)}.chapter-list{padding:0;list-style:none;border-top:1px solid var(--border-strong)}.chapter-list li{border-bottom:1px solid var(--border)}.chapter-list a{display:flex;gap:24px;align-items:center;padding:22px 10px;text-decoration:none;color:var(--fg)}.chapter-list a:hover{background:var(--bg-sunken)}.chapter-number{color:var(--accent);font-size:15px;min-width:28px}.chapter-list h3{margin:0 0 6px}.chapter-list p{margin:0;color:var(--fg-muted);font-size:16px}.chapter-status{margin-left:auto;white-space:nowrap;color:var(--fg-muted);font-size:13px}.tools-strip{background:var(--bg-sunken);border:1px solid var(--border);border-radius:6px;padding:28px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.tool-links{display:grid;gap:12px}.tools-strip h2{font-size:1.5rem}.future-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.future-grid>div{border-left:3px solid var(--border-strong);padding-left:20px}.future-grid p{color:var(--fg-muted)}.companions{border-top:1px solid var(--border);padding-top:30px}.site-footer{border-top:1px solid var(--border);padding-block:30px;display:flex;align-items:center;justify-content:space-between;font-size:14px;gap:24px}.site-footer p{color:var(--fg-muted)}.skip{position:fixed;top:-100px;left:12px;padding:12px;background:var(--bg-raised);z-index:10}.skip:focus{top:10px}.lesson-top{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;border-block:1px solid var(--border);padding-block:16px;font-size:15px}.lesson{max-width:900px;margin-inline:auto}.lesson h1{font-size:clamp(2rem,4vw,3rem)}.lesson p,.lesson li{font-size:18px}.lesson .section-kind{font-size:12px}.lesson-nav{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--border);padding-top:24px}.lesson-nav a{max-width:45%}.study-control{margin:28px 0;text-align:center}.study-control p{margin-inline:auto;font-size:14px;color:var(--fg-muted)}.word-lab{padding:20px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:6px}.word-lab .muted{font-size:14px;color:var(--fg-muted)}.bit-row{margin:16px 0}.bit-label{display:block;font:13px var(--font-mono);margin-bottom:6px}.bits{display:flex;gap:4px;overflow-x:auto;padding:3px 2px 8px}.bit{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 40px;min-height:58px;border:1px solid var(--border-strong);border-radius:3px;background:var(--bg-raised);font:21px var(--font-mono)}.bit small{font:11px var(--font-mono);opacity:.8}.bit.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0}.controls label{display:flex;gap:8px;align-items:center}.lab-result{margin-top:20px;border-top:1px solid var(--border-strong);padding-top:12px}.readout{display:flex;gap:20px;flex-wrap:wrap;font-size:15px!important}.weights,.flags{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-block:18px}.weight,.flag{display:flex;flex-direction:column;padding:10px;background:var(--bg-raised);border:1px solid var(--border);border-radius:4px}.weight strong{font:24px var(--font-mono)}.weight span,.flag span{font-size:13px}.weight.selected,.flag.set{background:var(--accent-soft);border-color:var(--accent)}.diagram-scroll{overflow-x:auto}.carry-diagram{display:block;width:100%;min-width:610px;font:12px var(--font-mono);color:var(--fg)}.carry-diagram rect{fill:var(--bg-raised);stroke:var(--border-strong)}.carry-diagram text{fill:var(--fg)}.carry-diagram .live-wire{stroke:var(--accent);stroke-width:3px}.column-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.column-cards details{padding:8px;background:var(--bg-raised)}.column-cards p{font:13px var(--font-mono)}summary{min-height:44px;padding-block:10px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison>div{min-width:0}.comparison h3{margin-top:20px}.memory-cells{display:flex;gap:8px}.memory-cells>div{display:flex;flex-direction:column;padding:12px;border:1px solid var(--border-strong);border-radius:3px;background:var(--bg-raised)}.memory-cells strong{font:24px var(--font-mono);margin-block:8px}.memory-cells small,.memory-cells span{font:12px var(--font-mono)}.shift-arrow{font:24px var(--font-mono)}.answer-label{display:grid;gap:8px;max-width:360px}.practice-page h1{margin-block:30px}.lead{font-size:22px;color:var(--fg-muted)}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-block:40px}.practice-grid>a{padding:24px;border:1px solid var(--border-strong);border-radius:6px;color:var(--fg);text-decoration:none;background:var(--bg-raised)}.practice-grid h2{font-size:1.4rem;color:var(--accent)}.practice-grid p{font-size:16px}.source-note{padding:24px;margin-top:36px;border-left:3px solid var(--accent);background:var(--bg-sunken)}.storage-warning{margin:0 auto;padding:12px 28px;max-width:1100px;background:var(--warn-bg);color:var(--fg)}@media(max-width:800px){.hero{grid-template-columns:1fr;padding:32px}.hero-instrument{max-width:480px}.intro-grid{gap:24px}.tools-strip,.practice-grid{grid-template-columns:1fr}.site-header{flex-wrap:wrap;gap:12px;padding-block:18px}.site-header nav{order:3;width:100%;gap:28px}.site-footer{display:block}}@media(max-width:520px){.site-header,main,.site-footer{padding-inline:16px}.hero{padding:28px 20px;margin-inline:-4px}.hero h1{font-size:2.55rem}.hero-instrument{padding:20px 12px}.hero-values strong{font-size:22px}.hero-bits{gap:3px}.intro-grid,.future-grid,.comparison{grid-template-columns:1fr}.section-heading{display:block}.chapter-list a{gap:14px}.chapter-status{font-size:11px}.chapter-list h3{font-size:1.06rem}.chapter-list p{font-size:14px}.tools-strip{padding:20px}.word-lab{padding:12px}.flags{grid-template-columns:repeat(2,1fr)}.column-cards{grid-template-columns:1fr}.lesson-top{font-size:13px}.theme-label>span{display:none}.site-footer nav{flex-wrap:wrap;gap:18px}.lesson p,.lesson li{font-size:17px}.lesson .interactive{padding:0}}.bit-groups{display:flex;flex-wrap:wrap;gap:12px}.byte-group{flex:1 1 320px;min-width:0;max-width:368px}.bits{display:grid;overflow:visible;padding:3px 2px 8px}.bit{min-width:0;padding-inline:0}.alu-operation{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.alu-rules{border-left:3px solid var(--accent);padding-left:14px;font-size:16px!important}.alu-diagram{width:100%;min-width:620px;display:block;font:16px var(--font-mono);color:var(--fg-muted)}.alu-diagram rect{fill:var(--bg-raised);stroke:var(--border-strong);stroke-width:1.5}.alu-diagram text{fill:var(--fg)}.alu-diagram .alu-small{font-size:13px}.alu-wire{fill:none;stroke:var(--border-strong);stroke-width:2}.alu-diagram .alu-selected rect,.alu-diagram .alu-selector{fill:var(--accent-soft);stroke:var(--accent)}.alu-selected .alu-wire,.alu-result-wire,.alu-flag-wire{stroke:var(--accent);stroke-width:3}.alu-control{fill:none;stroke:var(--focus);stroke-width:2;stroke-dasharray:5 4}.alu-unused{stroke-dasharray:4 5}.flag.not-produced{border-style:dashed}.alu-detail{padding:12px;border:1px solid var(--border);background:var(--bg-raised)}.connected-circuit-scroll,.alu-readings-scroll{overflow-x:auto}.connected-circuit{display:block;width:100%;min-width:330px;max-width:660px;margin:16px auto;font:16px var(--font-mono)}.connected-circuit text{fill:var(--fg)}.connected-circuit .circuit-small{font-size:13px}.circuit-row-label{fill:var(--fg-muted)!important}.circuit-wire{fill:none;stroke:var(--border-strong);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.circuit-wire.on{stroke:var(--warn);stroke-width:3.5}.carry-wire.on{stroke:var(--bad)}.circuit-wire.pending{stroke-dasharray:4 5;opacity:.5}.circuit-junction{fill:var(--fg)}.circuit-gate path,.circuit-gate rect,.circuit-gate circle,.circuit-constant{fill:var(--bg-raised);stroke:var(--fg);stroke-width:2;stroke-linejoin:round}.circuit-gate .gate-curve{fill:none}.circuit-bit .circuit-cell{fill:var(--bg-inset);stroke:var(--border-strong);stroke-width:1.5}.circuit-bit.on .circuit-cell{fill:var(--warn-bg);stroke:var(--warn)}.circuit-bit.on text{fill:var(--warn)}.circuit-bit text{font-size:23px;font-weight:700;pointer-events:none}.circuit-hit{fill:transparent}.circuit-bit.editable{cursor:pointer;outline:none}.circuit-bit.editable:focus-visible .circuit-cell{stroke:var(--focus);stroke-width:4}.circuit-bit.editable:hover .circuit-cell{stroke:var(--accent);stroke-width:3}.circuit-bit.readonly .circuit-cell{stroke-dasharray:4 3}.circuit-key{font-size:15px!important}.alu-readings{width:100%;border-collapse:collapse;font:14px var(--font-mono)}.alu-readings caption{text-align:left;padding-block:8px;font-family:var(--font-text);color:var(--fg-muted)}.alu-readings th,.alu-readings td{padding:10px 4px;text-align:right;border-bottom:1px solid var(--border)}.alu-readings th:first-child{text-align:left}.alu-readings tr[data-alu-result]{background:var(--accent-soft);font-weight:700}@media(max-width:520px){.lesson .alu-lab>p{margin-block:8px}.lesson .alu-lab>p:first-child{margin-top:0}.lesson .alu-lab>p:last-child{margin-bottom:0}.alu-lab .controls{margin-block:8px;gap:8px}.alu-lab .connected-circuit{margin-block:4px}.alu-lab .alu-rules{padding-left:10px;line-height:1.45}.alu-lab .lab-result{margin-top:12px}}
