.intro-scene{min-width:0;padding:6px 14px 14px;font-size:15px;line-height:1.5}.intro-scene svg{width:100%;height:auto;display:block;overflow:visible}.intro-scene svg rect{fill:var(--paper);stroke:var(--accent-border);stroke-width:1.3px}.intro-scene svg text{fill:var(--ink);font:14px ui-monospace,monospace}.intro-scene svg .diagram-muted{fill:var(--muted);font:12px system-ui,sans-serif}.intro-scene svg .diagram-name{font-size:16px}.intro-scene svg .diagram-value{font-size:17px}.intro-scene svg marker path{fill:var(--accent)}.reference-line{stroke:var(--accent);stroke-width:1.5px;fill:none}.intro-scene svg g{transition:opacity .25s}.environments{grid-template-columns:1fr 1fr;gap:10px;margin:10px 0;display:grid}.environment{border:1px solid var(--line);background:var(--paper);border-radius:16px;justify-items:center;padding:12px 8px;transition:background .25s,border-color .25s;display:grid}.environment>span{color:var(--muted);font-size:14px}.environment>strong{font-variant-numeric:tabular-nums;font:40px/1.35 ui-monospace,monospace}.environment.is-active{background:var(--soft);border-color:var(--accent-border);color:var(--accent)}.environment>code{color:var(--muted);font-size:13px}.scene-action{color:var(--muted);font-size:14px}.scene-action code{color:var(--ink)}.scene-log{border-top:1px solid var(--line);gap:5px;padding-top:10px;display:grid}.scene-log>span{color:var(--muted);font-size:13px}.scene-log>code{overflow-wrap:anywhere;font-size:15px}.collection-comparison{gap:0;display:grid}.collection-comparison>div{border-bottom:1px solid var(--line);padding:10px 0}.collection-comparison>div:first-child{padding-top:0}.collection-comparison>div:last-child{border-bottom:0;padding-bottom:0}.collection-comparison strong{margin-right:10px;font-size:15px}.collection-comparison>div>span{color:var(--muted);font-size:13px}.collection-values{gap:6px;margin-top:7px;display:flex}.collection-values code{border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:3px 8px;font-size:14px}.collection-values .is-selected{border-color:var(--accent-border);background:var(--soft)}.collection-comparison p{justify-content:space-between;gap:10px;margin:6px 0 0;font-size:14px;display:flex}.collection-comparison b{color:var(--accent);font-weight:550}.execution-path{gap:3px;margin:0 0 12px;padding:0;list-style:none;display:grid}.execution-path li{border-left:2px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding:8px 10px;font-size:14px;transition:background .2s,color .2s;display:flex}.execution-path .is-current{background:var(--soft);color:var(--accent);border-color:var(--accent);border-radius:0 9px 9px 0}.execution-path .is-past{color:var(--ink)}.execution-index{color:var(--muted);font:12px ui-monospace,monospace}.execution-path b{margin-left:auto}.module-relationship{gap:8px;display:grid}.module-file{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:7px;padding:11px 13px;display:grid}.module-file strong{font:15px ui-monospace,monospace}.module-file code{color:var(--accent);font-size:14px}.module-file>span{color:var(--muted);font-size:13px}.module-connection{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px;padding:0 8px;font-size:12px;display:flex}.module-connection b{color:var(--accent);font-weight:500}.type-comparison{gap:10px;display:grid}.type-comparison>div:not(:last-child){border-bottom:1px solid var(--line);gap:8px;padding:4px 0 10px;display:grid}.scene-label{color:var(--muted);font-size:13px}.type-comparison code{overflow-wrap:anywhere;font-size:14px}.type-comparison p{margin:0;font-size:14px}.type-erasure{color:var(--muted);font-size:14px;line-height:1.6}.result-branches{grid-template-columns:1fr 1fr;gap:10px;display:grid}.result-branches>div{border:1px solid var(--line);background:var(--paper);border-radius:14px;justify-items:center;gap:10px;padding:12px 8px;display:grid}.result-branches code{color:var(--accent);font-size:14px}.result-branches span{color:var(--muted);font-size:13px}.result-branches strong{font:34px/1.2 ui-monospace,monospace}.result-branches p{color:var(--muted);grid-column:1/-1;margin:0;font-size:13px}.readonly-access{grid-template-columns:1fr 1fr;gap:8px;display:grid}.readonly-access>div{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;gap:5px;padding:8px;display:grid}.readonly-access span{color:var(--muted);font-size:12px}.shared-object{justify-items:center;gap:8px;padding:12px;display:grid}.shared-object span{color:var(--muted);font-size:12px}.shared-object strong{border:1px solid var(--accent-border);background:var(--paper);border-radius:14px;padding:10px 42px;font:27px ui-monospace,monospace}.brand-meaning{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;margin:0;padding-top:9px;font-size:13px;display:flex}.brand-meaning span{color:var(--muted)}.motion-metrics{color:var(--muted);justify-content:space-between;gap:8px;margin:4px 0 8px;font-size:12px;display:flex}.motion-metrics b{color:var(--ink);font:14px/1.8 ui-monospace,monospace;display:block}.intro-scene svg .axis-grid{stroke:var(--line);stroke-width:1px;fill:none}.intro-scene .coordinate-plane>g>text,.intro-scene .coordinate-plane>text,.intro-world svg text{fill:var(--muted);font-size:11px}.motion-trail{fill:none;stroke:var(--accent-border);stroke-width:2px;stroke-dasharray:4 4}.ghost-point{fill:var(--accent);opacity:.2}.moving-point{transition:transform .55s cubic-bezier(.2,.7,.2,1)!important}.moving-point circle{fill:var(--accent)}.world-lanes{gap:8px;display:grid}.world-lane-label{justify-content:space-between;gap:8px;font-size:13px;display:flex}.world-lane-label span{color:var(--muted)}@media (prefers-reduced-motion:reduce){.intro-scene *{transition:none!important}}.topic-scene{min-width:0;color:var(--ink);padding:4px 14px 12px;font-size:15px;line-height:1.5}.topic-scene-title{color:var(--muted);margin:3px 0 10px;font-size:14px}.topic-state-grid{gap:8px;display:grid}.topic-state-item{border:1px solid var(--node-border);background:var(--paper);border-radius:12px;gap:5px;min-width:0;padding:9px 11px;transition:border-color .38s,background .38s,opacity .38s;display:grid}.topic-state-changed{border-color:var(--accent-border);background:var(--soft)}.topic-state-absent{opacity:.45}.topic-item-label{color:var(--muted);font-size:13px}.topic-value{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.topic-prior{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.topic-array{flex-wrap:wrap;gap:3px;display:flex}.topic-array>span{text-align:center;border:1px solid var(--node-border);background:var(--paper);border-radius:5px;min-width:35px;padding:3px 6px 5px;display:grid}.topic-array small{color:var(--muted);font-size:10px}.topic-array b{font:14px/1.5 ui-monospace,monospace}.topic-array .topic-cell-changed{background:var(--soft);border-color:var(--accent)}.topic-flow{gap:17px;display:grid}.topic-flow .topic-state-item{position:relative}.topic-flow .topic-state-item:not(:last-child):after{content:"↓";color:var(--muted);font-size:15px;line-height:17px;position:absolute;bottom:-19px;left:50%}.topic-code-value{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.65 ui-monospace,monospace;display:block}.topic-compare-scroll{scrollbar-width:thin;border:1px solid var(--line);border-radius:14px;overflow-x:auto}.topic-compare{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.topic-compare caption{text-align:left;color:var(--muted);padding:9px 10px;font-size:14px}.topic-compare th,.topic-compare td{border-top:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:7px 8px;font-weight:400;transition:background .38s}.topic-compare th{font-weight:550}.topic-compare .topic-selected{background:var(--soft)}.topic-compare .topic-array>span{min-width:25px;padding:2px 3px}.topic-bar-track{background:var(--line);border-radius:4px;height:12px;display:block;overflow:hidden}.topic-bar-track i{background:var(--accent);border-radius:4px;height:100%;transition:width .38s;display:block}@media (width>=650px){.topic-scene-memory .topic-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.topic-scene *{transition:none!important}}*{box-sizing:border-box}html{--bg:#f7f8fc;--paper:#fff;--ink:#20212b;--muted:#656777;--line:#e2e4ec;--accent:#6255d8;--soft:#eeecff;--diagram:#f1f3f8;--result:#4c67c9;--node-border:#d2d7e5;--accent-border:#bab3f0;--result-border:#abbbed;--code-bg:#1b1b24;--code-bar:#242430;--code-border:#363644;--code-focus:#a78bfa21;--callout-bg:#f2f0fc;--warning-bg:#f2f5ff;--mistake-bg:#fff2f5;--mistake:#b23956;--radius-panel:26px;--radius-control:12px;--reader-size:16px;--ui-size:16px;font-size:var(--ui-size);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--bg);color:var(--ink);scroll-padding-top:80px}html[data-theme=dark]{--bg:#101116;--paper:#181920;--ink:#eff0f6;--muted:#a9abba;--line:#2c2e3b;--accent:#b3a8ff;--soft:#29253e;--diagram:#1d1f2b;--result:#a7baff;--node-border:#41455b;--accent-border:#6a619d;--result-border:#53678f;--callout-bg:#252139;--warning-bg:#20283c;--mistake-bg:#34212c;--mistake:#f4a6bd;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,input{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:default;opacity:.35}a{color:inherit;text-decoration:none}button svg,a svg{flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}::selection{background:#a594f855}.skip-link{z-index:100;background:var(--paper);padding:12px;position:fixed;top:0;left:10px;transform:translateY(-120%)}.skip-link:focus{transform:none}.site-header{z-index:20;border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.brand-group,.brand{align-items:center;gap:10px;display:flex}.brand-mark{color:#fff;border-radius:var(--radius-control);background:#6255d8;padding:6px 8px;font-size:1.05rem;font-weight:700;line-height:1}.brand-name{font-size:1rem;font-weight:600}.header-actions{align-items:center;gap:6px;display:flex}.icon-button{border-radius:var(--radius-control);justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:1rem;display:inline-flex}.icon-button:hover{background:var(--soft)}.mobile-menu{display:none}.sidebar{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--paper);width:17rem;position:fixed;top:72px;bottom:12px;left:12px;overflow:hidden}.navigation-inner{background:var(--paper);flex-direction:column;height:100%;padding:18px 12px 12px;display:flex}.nav-title{justify-content:space-between;align-items:center;margin:0 8px 12px;font-size:.95rem;font-weight:600;display:flex}.nav-title button{width:44px;height:44px}.search{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);min-height:40px;color:var(--muted);align-items:center;gap:8px;margin-bottom:12px;padding:0 10px;display:flex}.search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:.875rem}.search input::placeholder{color:var(--muted)}.nav-scroll{scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.nav-scroll::-webkit-scrollbar{width:0;height:0;display:none}.chapter-toggle{text-align:left;align-items:flex-start;gap:8px;width:100%;padding:8px;font-size:.875rem;font-weight:600;line-height:1.45;display:flex}.chapter-toggle>span{flex:1}.chapter-toggle svg{margin-top:3px;transition:transform .15s}.chapter-toggle svg.expanded{transform:rotate(180deg)}.chapter-items{border-left:0;margin:0 0 8px 8px;padding-left:6px}.lesson-link{border-radius:var(--radius-control);align-items:center;gap:8px;min-height:36px;padding:7px 8px;font-size:.875rem;line-height:1.45;display:flex}.lesson-link svg{color:var(--muted);flex-shrink:0}.lesson-link:hover{background:var(--soft)}.lesson-link.current{color:var(--accent);background:var(--soft);font-weight:600}.lesson-link.current svg{color:var(--accent)}.planned-topics summary{cursor:pointer;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:8px;font-size:.8125rem;line-height:1.45;list-style:none;display:flex}.planned-topics ul{color:var(--muted);padding:0 8px 0 22px;font-size:.875rem;line-height:1.55}.planned-topics li{margin-bottom:8px}.upcoming .chapter-toggle{color:var(--muted);font-weight:450}.nav-bottom{border-top:1px solid var(--line);margin-top:10px;padding:12px 8px 0}.nav-progress-title{color:var(--muted);justify-content:space-between;font-size:.8125rem;display:flex}.nav-progress-title strong{color:var(--ink);font-weight:500}.progress-track{background:var(--line);height:3px;margin:8px 0}.progress-track i{background:var(--accent);height:3px;display:block}.nav-bottom>a{justify-content:space-between;align-items:center;min-height:36px;font-size:.875rem;display:flex}.search-empty{padding:8px;font-size:.875rem;line-height:1.6}.main-area{min-height:calc(100vh - 60px);margin-left:calc(17rem + 12px)}.main-area:focus{outline:none}.reading-layout{max-width:1190px;margin:0 auto;padding:24px 32px 32px}.lesson{min-width:0;font-size:var(--reader-size)}.lesson-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:9px;font-size:.875rem;line-height:1.5;display:flex}h1{font-size:calc(var(--reader-size) * 1.8);letter-spacing:-.7px;text-wrap:balance;margin:0 0 12px;font-weight:650;line-height:1.2}.lead{font-size:var(--reader-size);color:var(--muted);max-width:78ch;margin:0 0 18px;line-height:1.65}.prose{font-size:var(--reader-size);max-width:78ch;line-height:1.65}.prose p{margin:0 0 12px}h2{font-size:calc(var(--reader-size) * 1.16);letter-spacing:-.2px;margin:0 0 12px;font-weight:600;line-height:1.4}h3{margin:0;font-weight:600}.example-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:20px;margin-bottom:24px;display:grid}.example-layout>section{min-width:0}.diagram-card{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--diagram);overflow:hidden}.diagram-top{justify-content:space-between;align-items:start;gap:12px;padding:13px 16px 0;display:flex}.diagram-top h3{font-size:calc(var(--reader-size) * .89);line-height:1.45}.step-fraction{white-space:nowrap;font-size:calc(var(--reader-size) * .78);color:var(--muted);line-height:1.6}.diagram-stage{flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:120px;padding:18px 16px;display:flex}.diagram-part{flex-direction:column;align-items:center;min-width:0;max-width:100%;display:flex}.diagram-node{border:1px solid var(--node-border);background:var(--paper);border-radius:var(--radius-control);min-width:140px;max-width:100%;padding:12px}.node-label{font-size:calc(var(--reader-size) * .78);color:var(--muted);margin-bottom:8px;line-height:1.5}.node-values{flex-wrap:wrap;gap:4px;max-width:100%;display:flex}.node-values>span{font:calc(var(--reader-size) * .83)/1.5 ui-monospace, monospace;text-align:center;border:1px solid var(--line);background:var(--bg);overflow-wrap:anywhere;border-radius:8px;min-width:28px;padding:5px 7px}.diagram-node.accent{border-color:var(--accent-border)}.diagram-node.accent .node-values>span{color:var(--accent);border-color:var(--accent-border)}.diagram-node.result{border-color:var(--result-border)}.diagram-node.result .node-values>span{color:var(--result)}.diagram-node.muted{color:var(--muted)}.diagram-arrow{color:var(--muted);flex-direction:column;align-items:center;gap:4px;padding-bottom:10px;display:flex}.diagram-arrow svg{transform:rotate(90deg)}.diagram-arrow span{font-size:calc(var(--reader-size) * .78);text-align:center;line-height:1.4}.frame-caption p{font-size:calc(var(--reader-size) * .89);margin:0;line-height:1.6}.diagram-controls{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:4px;padding:2px 8px;display:flex}.step-dots,.step-buttons{align-items:center;gap:0;display:flex}.step-dots button{place-items:center;width:30px;height:44px;display:grid}.step-dots span{background:var(--muted);border-radius:50%;width:6px;height:6px}.step-dots button.active span{background:var(--accent);border-radius:var(--radius-panel);width:16px}.step-buttons>button{border-radius:var(--radius-control);justify-content:center;align-items:center;min-width:44px;height:44px;display:flex}.step-buttons>button:hover{background:var(--paper)}.all-steps{font-size:calc(var(--reader-size) * .78);color:var(--muted);margin:5px 0 0;line-height:1.6}.all-steps summary{cursor:pointer;min-height:36px;padding-top:6px}.all-steps ol{padding-left:20px}.all-steps li{margin-bottom:8px}.section-intro{font-size:calc(var(--reader-size) * .78);color:var(--muted);margin:-4px 0 9px;line-height:1.5}.editor{background:var(--code-bg);color:#e3e7e8;border:1px solid var(--code-border);border-radius:var(--radius-panel);overflow:hidden}.editor-bar{background:var(--code-bar);min-height:42px;font:calc(var(--reader-size) * .78)/1.4 ui-monospace, monospace;color:#c0ccd0;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex}.editor-bar>span{align-items:center;gap:7px;display:flex}.file-dot{display:none}.editor-bar button{color:#c0ccd0;align-items:center;gap:6px;min-height:42px;font-size:.8125rem;display:flex}.code-body{padding:12px 0;overflow:auto}.shiki{counter-reset:line;font:calc(var(--reader-size) * .83)/1.85 "SFMono-Regular", Consolas, "Liberation Mono", monospace!important;background:0 0!important;margin:0!important}.shiki code{min-width:max-content;display:block}.shiki .line{white-space:pre;min-width:100%;padding-right:14px;display:inline-block}.shiki .line:before{counter-increment:line;content:counter(line);text-align:right;color:#91a1ab;width:27px;font-size:calc(var(--reader-size) * .72);-webkit-user-select:none;user-select:none;margin-right:13px;display:inline-block}.output-bar{font-size:calc(var(--reader-size) * .78);color:#b3c2c9;border-top:1px solid #ffffff18;align-items:center;gap:7px;padding:10px 13px 0;display:flex}.output{font:calc(var(--reader-size) * .83)/1.7 ui-monospace, monospace;color:#b8beff;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:7px 13px 13px}.diff-block{background:var(--code-bg);color:#e3e7e8;border:1px solid var(--code-border);border-radius:var(--radius-panel);margin-top:12px;overflow:hidden}.diff-title{font-size:calc(var(--reader-size) * .78);border-bottom:1px solid #ffffff18;padding:10px 13px}.diff-block>div:last-child{padding:12px 0;overflow:auto}.diff-block .shiki code{min-width:0}.diff-block .shiki .line{white-space:pre-wrap;overflow-wrap:anywhere;padding:0 13px;display:block}.diff-block .shiki .line:before{display:none}.mechanism{max-width:78ch;margin:0 0 20px}.mechanism-note{padding:0 0 12px}.mechanism-note:last-child{padding-bottom:0}.mechanism-note h3{font-size:var(--reader-size);margin:0 0 3px;line-height:1.55}.mechanism-note p{font-size:var(--reader-size);margin:0;line-height:1.65}.takeaway{border-left:3px solid var(--accent);max-width:78ch;margin:22px 0;padding:3px 0 3px 14px}.takeaway p{font-size:var(--reader-size);margin:0;line-height:1.65}.question{border-top:1px solid var(--line);max-width:78ch;margin:0 0 15px;padding:19px 0 0}.question h2{margin-bottom:7px}.question>p{font-size:var(--reader-size);margin:0 0 7px;line-height:1.6}.question details{font-size:var(--reader-size);line-height:1.65}.question summary{cursor:pointer;color:var(--accent);font-size:calc(var(--reader-size) * .89);align-items:center;gap:7px;min-height:40px;list-style:none;display:flex}.question details[open] .answer-chevron{transform:rotate(90deg)}.question details p{margin:5px 0 12px}.source-link{color:var(--muted);font-size:calc(var(--reader-size) * .78);text-underline-offset:3px;align-items:center;gap:5px;min-height:36px;margin:0 0 12px;line-height:1.5;text-decoration:underline;display:inline-flex}.lesson-completion{padding:8px 0 13px;display:flex}.lesson-completion button{align-items:center;gap:8px;min-height:44px;padding:0;font-size:.875rem;display:flex}.lesson-completion .is-completed{color:var(--result)}.page-navigation{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:16px;display:grid}.page-navigation button{text-align:left;align-items:center;gap:10px;padding:14px 0;font-size:.9375rem;line-height:1.5;display:flex}.page-navigation small{color:var(--muted);margin-bottom:2px;font-size:.8125rem;display:block}.page-navigation .next-page{color:var(--accent);justify-content:space-between}.resume-banner{background:var(--soft);border-radius:var(--radius-control);justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px;padding:8px 12px;display:flex}.resume-banner button{align-items:center;gap:7px;min-height:36px;font-size:.875rem;line-height:1.5;display:flex}.mobile-dialog{display:none}.map-page{max-width:1160px;margin:auto;padding:24px 32px}.map-legend{color:var(--muted);gap:18px;margin:12px 0 18px;font-size:.875rem;display:flex}.map-legend span{align-items:center;gap:7px;display:flex}.map-legend i{background:var(--muted);border-radius:50%;width:6px;height:6px}.map-legend i.ready-dot{background:var(--result)}.map-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.map-card{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-panel);min-width:0;padding:16px}.map-card-top{color:var(--muted);justify-content:space-between;gap:10px;margin-bottom:9px;font-size:.8125rem;display:flex}.map-card h2{margin:0 0 10px;font-size:1.125rem;line-height:1.5}.ready-label{color:var(--result)}.map-card>a{border-top:1px solid var(--line);min-height:40px;color:var(--accent);justify-content:space-between;align-items:center;gap:8px;padding:7px 0;font-size:.9375rem;line-height:1.5;display:flex}.map-card details{color:var(--muted);font-size:.875rem;line-height:1.6}.map-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:40px;list-style:none;display:flex}.map-card ul{padding-left:18px}.map-card li{margin-bottom:8px}.display-settings{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--paper);width:min(340px,100vw - 24px);color:var(--ink);margin:0;padding:18px;position:fixed;inset:66px 16px auto auto;box-shadow:0 12px 35px #15112720}.display-settings h2{margin:0 0 12px;font-size:1rem}.setting-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;font-size:.875rem;display:flex}.stepper{align-items:center;display:flex}.stepper button{border:1px solid var(--line);border-radius:var(--radius-control);place-items:center;width:40px;height:44px;display:grid}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:60px}.reset-settings{color:var(--muted);align-items:center;gap:7px;min-height:36px;padding:0;font-size:.875rem;display:flex}.exploration{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--paper);max-width:78ch;margin:0 0 24px;padding:16px}.exploration>p{font-size:var(--reader-size);margin:0 0 12px;line-height:1.6}.exploration h2{margin-bottom:8px}.exploration code{font-size:.9em}.bit-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;display:grid}.bit-grid button{border:1px solid var(--line);border-radius:var(--radius-control);min-height:68px;padding:6px 2px}.bit-grid button>span{font-size:calc(var(--reader-size)*1.2);font-family:ui-monospace,monospace;display:block}.bit-grid button small{font-size:calc(var(--reader-size)*.78);color:var(--muted);margin-top:4px;display:block}.bit-grid button.bit-on{background:var(--soft);border-color:var(--accent)}.bit-grid button.bit-on>span{color:var(--accent)}.explorer-result{font-size:calc(var(--reader-size)*1.15);padding:12px 0 8px}.exploration .explorer-explanation{font-size:calc(var(--reader-size)*.89);margin:0 0 8px}.text-button{color:var(--accent);text-underline-offset:3px;font-size:calc(var(--reader-size)*.89);min-height:40px;padding:0;text-decoration:underline}.explorer-controls{flex-wrap:wrap;align-items:center;gap:12px 18px;margin:12px 0;display:flex}.method-switch{gap:4px;display:flex}.method-switch button{border:1px solid var(--line);border-radius:var(--radius-control);min-height:44px;font-size:var(--reader-size);padding:5px 12px}.method-switch button[aria-pressed=true]{background:var(--soft);color:var(--accent);border-color:var(--accent)}.value-input{font-size:var(--reader-size);align-items:center;gap:8px;display:flex}.value-input input{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--bg);width:78px;min-height:44px;color:var(--ink);font-size:var(--reader-size);padding:5px 8px}.array-results{font-size:var(--reader-size);margin:12px 0}.array-results>div{flex-wrap:wrap;align-items:baseline;gap:8px 12px;padding:6px 0;display:flex}.array-results code{min-width:65px;color:var(--muted)}.array-results output{overflow-wrap:anywhere;font:.9em/1.6 ui-monospace,monospace}@media (width<=600px){.exploration{padding:13px}}.chapter-toggle{border-radius:12px;padding:9px 10px}.chapter-toggle:hover{background:var(--bg)}.lesson-link{gap:9px;padding:9px 10px}.lesson-number{font-variant-numeric:tabular-nums;color:var(--muted);min-width:20px;font-size:.75rem}.lesson-link.current .lesson-number{color:var(--accent)}.lesson-name{flex:1}.lesson-check{color:var(--accent)}.upcoming-sections{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.upcoming-sections>summary{cursor:pointer;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:10px;font-size:.875rem;list-style:none;display:flex}.upcoming-sections[open]>summary>svg{transform:rotate(180deg)}.callout{border-radius:var(--radius-panel);background:var(--callout-bg);border:1px solid #0000;align-items:flex-start;gap:12px;margin:6px 0 16px;padding:16px 18px;display:flex}.callout-icon{color:var(--accent);flex:none;margin-top:4px}.callout h3{font-size:var(--reader-size);margin:0 0 5px;line-height:1.5}.callout p{font-size:var(--reader-size);margin:0;line-height:1.65}.callout-warning{background:var(--warning-bg)}.callout-warning .callout-icon{color:var(--result)}.callout-mistake{background:var(--mistake-bg)}.callout-mistake .callout-icon{color:var(--mistake)}@media (width<=600px){.callout{gap:10px;padding:14px 15px}}@media (width<=1199px){.reading-layout{max-width:840px;padding:24px}.example-layout{grid-template-columns:minmax(0,1fr);gap:18px}.diagram-stage{flex-flow:wrap;gap:0}.diagram-part{flex-direction:row}.diagram-arrow{max-width:115px;padding:0 12px}.diagram-arrow svg{transform:none}}@media (width<=900px){.sidebar{display:none}.main-area{margin-left:0}.mobile-menu{display:inline-flex}.site-header{padding:0 16px 0 7px}.brand-group{gap:3px}.mobile-dialog[open]{border:0;border-right:1px solid var(--line);border-radius:0 var(--radius-panel) var(--radius-panel) 0;width:min(355px,100vw - 20px);max-width:100%;height:100dvh;max-height:100dvh;color:var(--ink);background:var(--paper);margin:0;padding:0;display:flex;position:fixed;inset:0 auto 0 0}.mobile-dialog::backdrop{background:#10101d80}.mobile-dialog .navigation-inner{width:100%;padding:10px 16px 16px}.mobile-dialog .nav-title{margin-bottom:7px}.mobile-dialog .chapter-toggle,.mobile-dialog .lesson-link,.mobile-dialog .planned-topics summary,.mobile-dialog .nav-bottom>a,.mobile-dialog .search{min-height:44px}.mobile-dialog .search input{font-size:1rem}}@media (width<=600px){.reading-layout,.map-page{padding:18px 18px 22px}h1{font-size:calc(var(--reader-size) * 1.65)}.lesson-meta{font-size:.8125rem}.lead{margin-bottom:14px}.intro-prose{margin-bottom:20px}.example-layout{gap:20px;margin-bottom:20px}.diagram-stage{flex-direction:column;padding:15px 12px}.diagram-part{flex-direction:column}.diagram-arrow{max-width:100%;padding:0 0 8px}.diagram-arrow svg{transform:rotate(90deg)}.diagram-top,.frame-caption{padding-left:13px;padding-right:13px}.step-buttons .play-step{padding:0 6px}.step-buttons .play-step span{display:none}.step-dots button{width:30px}.shiki .line:before{width:23px;margin-right:10px}.editor-bar{padding:0 10px}.map-grid{grid-template-columns:1fr}.map-card>a,.map-card summary{min-height:44px}.page-navigation{gap:14px}.page-navigation button{align-items:flex-start;gap:7px}.page-navigation button svg{margin-top:21px}.source-link{min-height:44px}}@media (width<=360px){.brand-name{font-size:.9375rem}.header-actions{gap:0}.site-header{padding-right:9px}.diagram-node{padding:10px}.step-dots button{width:27px}.editor-bar button span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.site-header,.sidebar,.mobile-dialog,.diagram-controls,.all-steps,.lesson-completion,.page-navigation,.display-settings{display:none!important}.main-area{margin:0}.reading-layout{padding:0}.example-layout{display:block}.diagram-section{margin-bottom:20px}.diagram-card,.editor{break-inside:avoid}.code-body{overflow:visible}.shiki code{min-width:0}.shiki .line{white-space:pre-wrap}}.chapter-toggle>span.chapter-number{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 1.5rem;font-weight:450}.chapter-toggle>span.chapter-name{flex:1}.chapter-planned{min-height:40px;color:var(--muted);align-items:flex-start;gap:8px;padding:9px 10px;font-size:.875rem;line-height:1.45;display:flex}.chapter-planned .chapter-number{font-variant-numeric:tabular-nums;min-width:1.5rem}.chapter-planned:hover{color:var(--ink);background:var(--bg);border-radius:12px}.lesson-number{min-width:2rem;font-size:.8125rem}.lesson-link:hover:not(.current){background:var(--bg)}.nav-progress-title{align-items:center;gap:8px}.nav-progress-title>span{flex:1}.nav-progress-title button{border-radius:10px;place-items:center;width:32px;min-height:38px;padding:0;display:grid}.nav-progress-title button:hover{background:var(--soft);color:var(--accent)}.nav-progress-title strong{white-space:nowrap}.memory-scene{min-width:0;padding:14px 16px 18px;position:relative}.operation-label{z-index:1;font:calc(var(--reader-size)*.78)/1.55 ui-monospace,monospace;color:var(--accent);overflow-wrap:anywhere;margin:0 0 16px;position:relative}.memory-areas{flex-direction:column;gap:26px;display:flex;position:relative}.memory-area{border:1px solid var(--node-border);background:var(--paper);border-radius:14px;min-width:0;padding:10px;position:relative}.memory-area.view{border:1px dashed var(--accent-border);background:0 0}.memory-area.source{border-color:var(--accent-border);background:var(--soft);align-self:center;width:min(100%,240px)}.memory-area-label{font-size:calc(var(--reader-size)*.78);color:var(--muted);margin-bottom:8px;line-height:1.5}.memory-cells{gap:3px;display:grid}.memory-cell{background:var(--bg);border:1px solid var(--line);text-align:center;border-radius:6px;min-width:0;padding:5px 2px;position:relative}.memory-area.view .memory-cell{background:0 0;border-color:#0000;padding:2px}.cell-index{color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:3px;font-size:11px;line-height:1.4;display:block}.cell-value{font:calc(var(--reader-size)*.83)/1.5 ui-monospace,monospace;overflow-wrap:anywhere;display:block}.empty-cell{visibility:hidden}.cell-updated{color:var(--accent);background:var(--soft);border-color:var(--accent-border)}.scene-connections{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.connection-path{stroke:var(--accent);stroke-width:1.5px;fill:none;opacity:.65}.value-flight{z-index:5;visibility:hidden;pointer-events:none;border:1px solid var(--accent-border);background:var(--soft);color:var(--accent);font:calc(var(--reader-size)*.9)/1.5 ui-monospace,monospace;overflow-wrap:anywhere;border-radius:10px;max-width:calc(100% - 20px);margin:0;padding:6px 10px;position:absolute;translate:-50% -50%;box-shadow:0 4px 12px #0002}.operation-state{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=600px){.memory-scene{padding:12px}.memory-area{padding:8px}.diagram-controls{flex-wrap:wrap}.step-buttons{margin-left:auto}}.sidebar{border:0;border-right:1px solid var(--line);background:var(--paper);border-radius:0;width:18.5rem;top:60px;bottom:0;left:0}.main-area{margin-left:18.5rem}.navigation-inner{padding:14px 10px 10px}.search{border-radius:10px;min-height:36px;margin-bottom:10px}.chapter-toggle{border-radius:8px;gap:5px;min-height:32px;padding:6px 8px;font-size:.875rem}.chapter-toggle>span.chapter-number{flex-basis:1.2rem}.lesson-link{border-radius:8px;gap:6px;min-height:32px;padding:5px 8px;font-weight:400}.lesson-number{min-width:1.8rem}.nav-bottom{margin-top:6px;padding-top:8px}.nav-bottom .progress-track{display:none}.nav-bottom>a{min-height:32px}@media (width<=900px){.main-area{margin-left:0}.mobile-dialog[open]{border-radius:0;width:min(350px,100vw - 32px)}.mobile-dialog .navigation-inner{padding:8px 12px 12px}}.diagram-top{min-height:64px}.operation-label{min-height:3.1em}.memory-areas{gap:18px}.memory-area-label{min-height:1.5em}.memory-cell{min-height:48px}.memory-area.view .memory-cell{min-height:28px}.inactive-area{opacity:.24}.memory-area.source{background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:0;display:flex}.memory-area.source .memory-area-label{flex:1;margin:0}.memory-area.source .memory-cells{min-width:80px;max-width:65%}.memory-area.source .memory-cell{min-height:36px;padding:5px 10px}.memory-area.source.inactive-area{visibility:hidden}.animation-note{font-size:calc(var(--reader-size)*.78)}.world-scene,.bit-scene{padding:4px 16px 12px}.world-values{grid-template-columns:1fr 1fr;gap:12px;display:grid}.world-values>div{border:1px solid var(--line);background:var(--paper);border-radius:12px;min-width:0;padding:10px}.world-values span{color:var(--muted);font-size:calc(var(--reader-size)*.78);margin-bottom:5px;display:block}.world-values code{font:calc(var(--reader-size)*.83)/1.5 ui-monospace,monospace;overflow-wrap:anywhere}.coordinate-model,.canvas-model{width:100%;height:auto;max-height:180px;margin:14px 0 8px;display:block}.world-axis{stroke:var(--muted);stroke-width:1px;fill:none}.world-guide{stroke:var(--line);stroke-width:.8px;stroke-dasharray:3 4;fill:none}.world-seed,.canvas-square{fill:var(--accent)}.coordinate-model text,.canvas-model text{fill:var(--muted);font:11px ui-monospace,monospace}.canvas-model{background:var(--paper);border:1px solid var(--line);border-radius:8px}.scene-instruction{font-size:calc(var(--reader-size)*.83);min-height:3.2em;margin:8px 0 12px;line-height:1.6}.bit-scene .bit-grid button{min-height:62px;transition:background-color .2s,border-color .2s}.bit-scene .bit-grid small{margin:0 0 5px}.bit-equation{font-size:var(--reader-size);min-height:3em;padding:15px 0 2px}.scene-references .memory-areas{grid-template-columns:1fr 1fr;display:grid}.trace-scene{gap:14px;padding:10px 16px 20px;display:grid}.trace-block{border:1px solid var(--node-border);background:var(--paper);border-radius:14px;min-width:0;padding:10px}.trace-values{gap:5px;display:grid}.trace-cell{overflow-wrap:anywhere;border:1px solid var(--line);background:var(--bg);min-width:0;min-height:62px;font:calc(var(--reader-size)*.83)/1.5 ui-monospace,monospace;text-align:center;border-radius:8px;place-items:center;padding:8px 5px;transition:background-color .3s,border-color .3s;display:grid}.trace-changed{background:var(--soft);border-color:var(--accent-border);color:var(--accent)}.trace-inactive{opacity:.25}.lab-actions{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.lab-actions>div{gap:5px;display:flex}.lab-actions button{border:1px solid var(--node-border);background:var(--paper);border-radius:12px;min-height:44px;padding:8px 12px;font-size:.875rem}.lab-metrics{font-size:calc(var(--reader-size)*.83);flex-wrap:wrap;gap:12px 20px;margin:16px 0;display:flex}.lab-metrics span{gap:5px;display:grid}.lab-slots{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;display:grid}.lab-slots>div{border:1px solid var(--line);min-height:38px;color:var(--muted);border-radius:6px;place-items:center;font:14px/1.4 ui-monospace,monospace;display:grid}.lab-slots>div.occupied{color:var(--accent);background:var(--soft);border-color:var(--accent-border)}.lab-log{font-family:ui-monospace,monospace}.lab-toggle{min-height:44px;font-size:calc(var(--reader-size)*.89);align-items:center;gap:10px;display:flex}.lab-toggle input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.lab-range{font-size:calc(var(--reader-size)*.89);gap:12px;display:grid}.lab-range input{width:100%;accent-color:var(--accent);min-height:32px}.lab-entities{gap:8px;margin-top:14px;display:grid}.lab-entities>div{border:1px solid var(--line);font-size:calc(var(--reader-size)*.83);border-radius:12px;gap:5px;padding:12px;display:grid}.lab-entities>div.matches{border-color:var(--accent-border);background:var(--soft)}.culling-model{width:100%;height:auto;margin-top:10px}.culling-model rect{fill:var(--soft);stroke:var(--accent-border)}.culling-model circle{fill:var(--accent);transition:opacity .2s}.culling-model text{fill:var(--muted);font:12px ui-monospace,monospace}.example-context{font-size:calc(var(--reader-size)*.83);color:var(--muted);margin:0 0 12px;line-height:1.55}.lesson-sources{flex-wrap:wrap;gap:0 18px;display:flex}.book-resources{flex-wrap:wrap;gap:10px 20px;margin:18px 0 26px;font-size:.9375rem;display:flex}.book-resources a{color:var(--accent);text-underline-offset:4px;align-items:center;min-height:36px;text-decoration:underline;display:inline-flex}.diagram-card{overflow:clip}.diagram-controls{z-index:6;background:var(--diagram);border-top:0;border-bottom:1px solid var(--line);margin-bottom:12px;position:sticky;top:60px}.diagram-top{align-items:start;gap:8px;min-height:40px;padding:10px 12px 5px}.diagram-title-stack{min-width:0;font-size:calc(var(--reader-size)*.89);flex:1;font-weight:600;line-height:1.4;display:grid}.diagram-title-stack>*{font:inherit;grid-area:1/1}.diagram-title-stack>h3{font:inherit}.diagram-title-stack .diagram-title-ghost{visibility:hidden;pointer-events:none}.diagram-controls{min-height:34px;margin-bottom:7px;padding:0 6px}.step-dots button{width:24px;height:32px}.step-buttons>button{border-radius:8px;min-width:32px;height:32px}.step-buttons .play-step{gap:4px;padding:0 6px;font-size:.8125rem}.frame-caption{padding:0 12px 12px}@media (width<=600px){.step-dots button{width:26px;height:36px}.step-buttons>button{min-width:36px;height:36px}}.structured-prose{max-width:68ch}.reading-section{margin:0 0 20px}.reading-section>h3{font-size:calc(var(--reader-size)*1.05);margin:0 0 9px;font-weight:650;line-height:1.4}.prose code,.mechanism p code{background:var(--diagram);color:var(--ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:5px;padding:1px 4px;font:.88em/1.5 ui-monospace,monospace}.concept-box{border:1px solid var(--accent-border);background:var(--callout-bg);border-radius:16px;margin:14px 0 18px;padding:13px 15px}.concept-box h4{font-size:var(--reader-size);margin:0 0 5px;font-weight:650;line-height:1.4}.concept-box p{font-size:calc(var(--reader-size)*.94);margin:0;line-height:1.55}.concept-box code{background:0 0;padding:0}.concept-warning{border-color:var(--line);background:var(--warning-bg)}.reading-section:last-child{margin-bottom:0}.code-body{scrollbar-width:thin;scrollbar-color:#53535f transparent;padding:8px 0}.code-body::-webkit-scrollbar{width:6px;height:6px}.code-body::-webkit-scrollbar-thumb{background:#53535f;border-radius:6px}.shiki{line-height:1.6!important}.output-bar{padding-top:8px}.output{padding-top:5px;line-height:1.55}@media (width<=600px){.editor-bar,.editor-bar button{min-height:38px}}.term-tag{background:var(--soft);color:var(--ink);font:inherit;border-radius:5px;padding:1px 4px}.scene-references [data-anchor=object],.scene-references .memory-area.source{grid-column:1/-1}.scene-references .cell-index,.scene-primitives .cell-index{display:none}.scene-references .memory-cell,.scene-primitives .memory-cell{place-items:center;display:grid}@media (width<=600px){.bit-scene .bit-grid{gap:3px}.bit-scene .bit-grid small{font-size:clamp(11px,3.5vw,14px)}.bit-scene .bit-grid button>span{font-size:min(calc(var(--reader-size)*1.2),24px)}}.chapter-toggle>span.chapter-number{white-space:nowrap;flex:0 0 1.65rem}.nav-group-label{color:var(--muted);padding:8px 8px 3px;font-size:.75rem;line-height:1.4}.reader-loading{max-width:720px;padding:20px 0}.reader-loading button{border:1px solid var(--line);border-radius:var(--radius-control);padding:8px 12px}html{--bg:#fff;--paper:#fff;--diagram:#f5f6fa;--line:#e7e8ee;--ink:#232733;--muted:#666d7b;--accent:#6554ce;--soft:#f0edff;--term-bg:#ded8f0;--header-height:52px;--sidebar-width:15.5rem;scroll-padding-top:68px}html[data-theme=dark]{--bg:#13151a;--paper:#191c23;--diagram:#1c2029;--line:#2e333e;--ink:#e7eaf2;--muted:#a7afc0;--accent:#b4a6ff;--soft:#2a2540;--term-bg:#453e62}.site-header{height:var(--header-height);background:var(--bg);padding:0 20px}.brand-mark{color:var(--accent);letter-spacing:-1px;background:0 0;border-radius:0;padding:0;font-size:1.125rem}.brand-group,.brand{gap:9px}.brand-name{letter-spacing:-.2px;font-size:.9375rem}.header-actions{gap:2px}.icon-button{min-width:36px;min-height:36px}.sidebar{top:var(--header-height);width:var(--sidebar-width);border:0;border-right:1px solid var(--line);background:var(--bg);border-radius:0;bottom:0;left:0}.navigation-inner{background:var(--bg);padding:14px 12px 10px}.nav-title{margin:0 6px 10px;font-size:.875rem}.search{background:var(--diagram);border-color:#0000;border-radius:9px;gap:7px;min-height:34px;margin-bottom:8px;padding:0 8px}.search input{font-size:.8125rem}.chapter-toggle{gap:5px;min-height:32px;padding:6px;font-size:.84375rem}.chapter-toggle>span.chapter-number{color:var(--muted);flex-basis:1.35rem;padding-top:1px;font-size:.75rem}.nav-chapter{margin-bottom:2px}.chapter-items{margin:0 0 5px;padding-left:0}.nav-group-label{padding:7px 6px 3px;font-size:.75rem;line-height:1.5}.lesson-link{border-radius:7px;grid-template-columns:2.05rem minmax(0,1fr) 15px;gap:7px;min-height:32px;padding:4px 6px;font-size:.8125rem;font-weight:400;line-height:1.45;display:grid}.lesson-number{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 2.05rem;font-size:.75rem}.lesson-name{flex:1;min-width:0}.lesson-link.current{font-weight:400}.nav-bottom{margin-top:6px;padding:8px 6px 0}.nav-progress-title{align-items:center;gap:5px;font-size:.75rem}.nav-bottom>a{min-height:32px;font-size:.8125rem}.main-area{margin-left:var(--sidebar-width);min-height:calc(100vh - var(--header-height))}.reading-layout{max-width:1100px;padding:22px 26px 28px}.lesson-meta{gap:6px;margin-bottom:7px;font-size:.8125rem}h1{font-size:calc(var(--reader-size)*1.75);letter-spacing:-.8px;text-wrap:pretty;max-width:30ch;margin-bottom:10px;font-weight:660;line-height:1.23}.lead{max-width:68ch;margin-bottom:14px;line-height:1.6}.prose{max-width:68ch;line-height:1.65}.prose p{margin-bottom:10px}.reading-section{margin-bottom:16px}.reading-section>h3{font-size:var(--reader-size);margin-bottom:7px;font-weight:620}.intro-prose{margin-bottom:16px}.example-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;margin-bottom:20px}.example-layout>section>h2{letter-spacing:0;margin-bottom:8px;font-size:.9375rem;font-weight:600;line-height:1.4}.guided-example .section-intro{display:none}.guided-example .diagram-controls{min-height:34px;position:static}.diagram-card{background:var(--diagram);border-color:var(--line)}.diagram-top{padding:10px 13px 5px}.diagram-title-stack{font-size:14px;font-weight:550}.diagram-top h3{font-size:14px}.step-fraction{font-size:12px}.frame-caption p{font-size:14px;line-height:1.55}.guided-lesson .editor{border-color:var(--code-bg)}.editor-bar{padding:0 11px;font-size:13px}.editor-bar,.editor-bar button{min-height:34px}.shiki{font-size:calc(var(--reader-size)*.8)!important;line-height:1.65!important}.shiki .line:before{color:#8e9aa8;width:25px;margin-right:11px;font-size:11px}.code-body{padding:9px 0}.output-bar{padding:8px 12px 0;font-size:12px}.output{font-size:calc(var(--reader-size)*.8);padding:5px 12px 12px;line-height:1.5}.guided-lesson .mechanism:empty{display:none}.question{max-width:68ch;margin-bottom:12px;padding-top:14px}.question h2{font-size:var(--reader-size)}.question summary{min-height:36px;font-size:15px}.lesson-sources{gap:2px 14px;max-width:68ch}.source-link{min-height:28px;margin-bottom:4px;font-size:12px}.lesson-completion{padding:8px 0}.lesson-completion button{min-height:36px;font-size:14px}.page-navigation{gap:20px}.page-navigation button{padding:12px 0;font-size:14px}.page-navigation small{font-size:12px}.map-page{padding:22px 26px}.map-grid{gap:12px}.map-card{padding:14px 16px}.display-settings{top:58px}@media (width<=1100px) and (width>=901px){.example-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.reading-layout{padding:20px}.shiki{font-size:calc(var(--reader-size)*.76)!important}}@media (width<=900px){.sidebar{display:none}.main-area{margin-left:0}.mobile-menu{display:inline-flex}.reading-layout{max-width:800px;padding:20px 24px 26px}.site-header{padding:0 16px}.mobile-dialog{border-radius:0 26px 26px 0;width:min(350px,100vw - 24px)}.mobile-dialog .navigation-inner{padding:12px}.mobile-dialog .lesson-link{min-height:36px;padding:5px 7px;font-size:.875rem}.mobile-dialog .chapter-toggle{min-height:36px;font-size:.875rem}.mobile-dialog .nav-title{margin-bottom:7px}.mobile-dialog .nav-title button{width:32px;height:32px}.mobile-dialog .search,.mobile-dialog .nav-bottom>a{min-height:36px}}@media (width<=640px){.site-header{padding:0 12px}.brand-name{font-size:.875rem}.reading-layout,.map-page{padding:16px 16px 22px}h1{font-size:calc(var(--reader-size)*1.55);letter-spacing:-.6px;line-height:1.25}.lead{font-size:var(--reader-size);margin-bottom:13px;line-height:1.6}.prose{font-size:var(--reader-size);line-height:1.62}.reading-section{margin-bottom:14px}.example-layout{grid-template-columns:1fr;gap:14px;margin-bottom:18px}.diagram-section>h2,.code-section>h2{font-size:14px}.guided-example .diagram-controls{min-height:36px}.step-buttons>button{min-width:36px;height:36px}.step-dots button{width:28px;height:36px}.shiki{font-size:calc(var(--reader-size)*.8)!important}.shiki .line:before{width:22px;margin-right:10px}.editor-bar,.editor-bar button{min-height:36px}.frame-caption p{font-size:14px}.source-link{min-height:32px;font-size:12px}.lesson-completion button{min-height:40px}.page-navigation button{gap:6px;font-size:13px}.map-grid{grid-template-columns:1fr}}@media (width<=360px){.reading-layout,.map-page{padding-left:13px;padding-right:13px}.site-header{padding:0 8px}.brand-group{gap:5px}}.guided-reading .shiki code{min-width:0}.guided-reading .shiki .line{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.65em;padding-left:38px;padding-right:10px;display:block;position:relative}.guided-reading .shiki .line:before{width:25px;margin:0;position:absolute;top:0;left:0}.guided-reading .shiki code{white-space:normal}.guided-reading h2,.article-snippet>h3{font-size:var(--reader-size);letter-spacing:0;margin:0 0 8px;font-weight:620;line-height:1.45}.article-example,.article-snippet{min-width:0;max-width:68ch;margin:0 0 20px}.code-section .editor+.editor{margin-top:10px}.article-visual,.article-illustration{border:1px solid var(--line);background:var(--diagram);border-radius:20px;max-width:68ch;margin:0 0 20px;padding:13px 15px}.article-visual figcaption,.article-illustration figcaption{margin-bottom:12px;font-size:15px;font-weight:600;line-height:1.45}.article-visual .intro-scene{padding:0}.article-visual .intro-collections .collection-comparison{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.article-visual .collection-comparison>div{border:0;padding:0}.article-visual .collection-comparison strong,.article-visual .collection-comparison>div>span{display:block}.article-visual .collection-comparison p{flex-wrap:wrap}.article-visual .module-relationship{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.article-visual .module-connection{max-width:145px;padding:0;display:grid}.article-visual .type-comparison{grid-template-columns:1fr 1fr;gap:12px}.article-visual .type-comparison>div{border:0;padding:0}.article-visual .type-erasure{border-top:1px solid var(--line);grid-column:1/-1;padding-top:8px}.article-walkthrough{max-width:540px;margin:0 0 20px}.article-walkthrough .diagram-section>h2{font-size:var(--reader-size);margin-bottom:8px}.article-walkthrough .diagram-controls{min-height:34px;position:static}.article-snippet .snippet-context{color:var(--muted);margin:0 0 8px;font-size:14px;line-height:1.5}.article-illustration svg{width:100%;max-width:420px;height:auto;margin:auto;display:block}.article-illustration svg rect{fill:var(--paper);stroke:var(--line);stroke-width:1.5px}.article-illustration svg text{fill:var(--ink);font:18px ui-monospace,monospace}.article-illustration svg path{stroke:var(--accent);stroke-width:1.5px;fill:none}.article-flow{flex-wrap:wrap;align-items:center;gap:7px 0;margin:0;padding:0;font-size:14px;line-height:1.5;list-style:none;display:flex}.article-flow li{align-items:center;min-width:0;display:flex}.article-flow li+li:before{content:"→";color:var(--accent);padding:0 9px}.article-paths{gap:12px;display:grid}.article-paths strong{color:var(--muted);margin-bottom:5px;font-size:14px;font-weight:500;display:block}.question-answer{margin-top:4px}.question-answer summary::-webkit-details-marker{display:none}.question-answer .answer-hide,.question-answer[open] .answer-show{display:none}.question-answer[open] .answer-hide{display:inline}.question-answer .answer-body{border-left:3px solid var(--accent);margin:6px 0 12px;padding-left:12px}.question .question-answer p{font-size:var(--reader-size);margin:0;line-height:1.6}@media (width<=640px){.article-visual,.article-illustration{border-radius:18px;padding:12px}.article-visual .intro-collections .collection-comparison{grid-template-columns:1fr;gap:10px}.article-visual .collection-comparison>div+div{border-top:1px solid var(--line);padding-top:10px}.article-visual .module-relationship,.article-visual .type-comparison{grid-template-columns:1fr}.article-visual .module-connection{grid-template-columns:1fr 1fr;max-width:none}.article-visual .type-comparison>div+div{border-top:1px solid var(--line);padding-top:8px}.article-illustration figcaption,.article-visual figcaption{margin-bottom:10px;font-size:14px}}.term-tag,.prose code.term-tag,.mechanism p code.term-tag{background:var(--term-bg);color:var(--ink)}.guided-reading .callout{gap:10px;max-width:68ch;margin:0 0 18px;padding:13px 15px}.guided-reading .callout h3{font-size:var(--reader-size);line-height:1.45}.guided-reading .callout p{line-height:1.6}.sync-status{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;margin:5px 0 3px;font-size:12px;line-height:1.5;display:flex}.sync-status button{font:inherit;color:var(--accent);min-height:28px;text-decoration:underline}.sync-offline{color:var(--mistake)}.settings-progress{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.settings-progress h2{margin-bottom:5px}.settings-progress p{color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.5}.settings-progress button{min-height:36px;color:var(--accent);font-size:13px;display:block}.lesson-status{justify-content:center;align-items:center;width:15px;height:15px;display:inline-flex}.article-figure{border:1px solid var(--line);background:var(--diagram);border-radius:20px;max-width:460px;margin:0 0 20px;padding:12px 14px}.article-figure svg{width:100%;max-width:400px;height:auto;color:var(--ink);margin:0 auto;display:block}.article-figure figcaption{color:var(--muted);margin-top:6px;font-size:14px;line-height:1.5}
