.lg-progress{position:fixed;inset:0 0 auto;height:2px;z-index:40;background:transparent;pointer-events:none}.lg-progress span{display:block;height:100%;width:0;background:var(--color-frame)}.lesson-main{width:100%;max-width:60rem;margin-inline:auto}.lesson-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;justify-content:space-between}.lesson-toc{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0 0}.lesson-toc a{font-family:var(--font-mono);font-size:11px;color:var(--color-faint);border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;padding:.15rem .6rem;text-decoration:none;transition:color .18s,border-color .18s}.lesson-toc a:hover,.lesson-toc a.is-active{color:var(--color-fg);border-color:var(--color-frame)}.lesson-section{scroll-margin-top:1.5rem;padding-top:2.4rem}.lesson-section>.lg-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-frame)}.lg-stepper{border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);margin:1.4rem 0;overflow:hidden}.lg-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.7rem .9rem;border-bottom:1px solid var(--color-border)}.lg-title{font-size:.85rem;color:var(--color-fg);font-weight:600}.lg-watch{display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:400;color:var(--color-faint);margin-top:.15rem}.lg-controls{display:flex;align-items:center;gap:.35rem}.lg-controls button{font-family:var(--font-mono);font-size:11px;color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:.28rem .6rem;cursor:pointer;transition:color .15s,border-color .15s}.lg-controls button:hover{color:var(--color-fg);border-color:var(--color-frame)}.lg-controls button.is-active{color:var(--color-fg);border-color:var(--color-frame);background:color-mix(in srgb,var(--color-frame) 12%,var(--color-bg))}.lg-counter{font-family:var(--font-mono);font-size:11px;color:var(--color-faint);min-width:3.2rem;text-align:right}.lg-counter b{color:var(--color-frame);font-weight:600}.lg-stage{padding:1.2rem 1rem;overflow-x:auto}.lg-stage svg{display:block;max-width:100%;height:auto;margin-inline:auto}.lg-caption{padding:0 .9rem .85rem;font-size:.8rem;color:var(--color-faint)}.lg-caption code{font-family:var(--font-mono);font-size:.78em}.lg-stepper.lg-static .lg-controls{opacity:.45;pointer-events:none}.lg-edge{stroke:var(--color-border);stroke-width:1.4;fill:none}.lg-edge.is-live{stroke:var(--color-frame)}.lg-node{fill:var(--color-bg);stroke:var(--color-border);stroke-width:1.4;transition:fill .25s,stroke .25s}.lg-node.is-on{fill:color-mix(in srgb,var(--color-frame) 22%,var(--color-surface));stroke:var(--color-frame)}.lg-node-x{fill:var(--color-muted);font-family:var(--font-mono);font-size:10px;text-anchor:middle;dominant-baseline:middle}.lg-node.is-on+.lg-node-x{fill:var(--color-fg)}.lg-packet{fill:var(--color-frame);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--color-frame) 70%,transparent))}.lg-label{fill:var(--color-faint);font-family:var(--font-mono);font-size:10px}.lg-label-strong{fill:var(--color-fg);font-family:var(--font-mono);font-size:11px}.lg-chips{display:flex;flex-wrap:wrap;gap:.35rem}.lg-chip{font-family:var(--font-mono);font-size:11.5px;color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:7px;padding:.22rem .5rem;transition:color .2s,border-color .2s,background .2s,opacity .2s}button.lg-chip{appearance:none;cursor:pointer}button.lg-chip:focus-visible{outline:2px solid var(--color-frame);outline-offset:2px}.lg-chip .id{color:var(--color-faint);font-size:9.5px}.lg-chip.is-on{color:var(--color-fg);border-color:var(--color-frame);background:color-mix(in srgb,var(--color-frame) 14%,var(--color-surface))}.lg-chip.is-dim{opacity:.3}.lg-mask{display:grid;gap:3px;justify-content:center}.lg-cell{width:26px;height:26px;border-radius:5px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-faint);font-family:var(--font-mono);font-size:10px;display:flex;align-items:center;justify-content:center;transition:background .3s,border-color .3s,color .3s}.lg-cell.is-allow{background:color-mix(in srgb,var(--color-frame) 16%,var(--color-surface));border-color:var(--color-frame);color:var(--color-fg)}.lg-cell.is-block{background:repeating-linear-gradient(45deg,var(--color-bg),var(--color-bg) 4px,var(--color-surface) 4px,var(--color-surface) 8px);color:var(--color-faint)}.lg-plot{width:100%;height:auto}.lg-axis{stroke:var(--color-border);stroke-width:1}.lg-grid{stroke:var(--color-border);stroke-width:.6;stroke-dasharray:2 4;opacity:.7}.lg-series{fill:none;stroke-width:2.2}.lg-series.relu{stroke:var(--color-fg)}.lg-series.swish{stroke:var(--color-frame)}.lg-point{fill:var(--color-frame)}.lg-point.alt{fill:var(--color-fg)}.lg-field{font-family:var(--font-mono);font-size:11px;color:var(--color-muted);display:flex;flex-direction:column;gap:.25rem}.lg-field b{color:var(--color-fg)}.lg-field input[type=range]{width:100%;accent-color:var(--color-frame)}.lg-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:.9rem}.lg-bars{display:flex;flex-wrap:wrap;gap:.6rem}.lg-bar{flex:1 1 100px;min-width:100px}.lg-bar .row{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--color-faint)}.lg-bar.kept .row{color:var(--color-fg)}.lg-bar .track{height:10px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg);margin-top:.25rem;overflow:hidden}.lg-bar .fill{height:100%;width:0;border-radius:6px;background:var(--color-border);transition:width .3s,background .3s}.lg-bar.kept .fill{background:var(--color-frame)}.lg-flow{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap}.lg-box{border:1px solid var(--color-border);border-radius:11px;background:var(--color-bg);padding:.55rem .8rem;text-align:center;min-width:76px;transition:border-color .25s,background .25s}.lg-box .k{font-family:var(--font-mono);font-size:10px;color:var(--color-faint)}.lg-box .v{font-size:.85rem;color:var(--color-fg)}.lg-box.is-on{border-color:var(--color-frame);background:color-mix(in srgb,var(--color-frame) 12%,var(--color-surface))}.lg-arrow{color:var(--color-faint);font-family:var(--font-mono);font-size:.9rem}.lg-note{text-align:center;font-family:var(--font-mono);font-size:11.5px;color:var(--color-frame);min-height:1.2em;margin-top:.8rem}.lg-primer{border:1px solid var(--color-border);border-left:3px solid var(--color-frame);border-radius:0 12px 12px 0;background:var(--color-surface);padding:.8rem 1.05rem;margin:1.2rem 0}.lg-primer-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-frame);margin:0 0 .45rem}.lg-primer-what{color:var(--color-fg);font-size:.9rem;margin:0}.lg-primer-why{color:var(--color-muted);font-size:.85rem;margin:.5rem 0 0}.lg-primer-why:before{content:"why it matters — ";color:var(--color-faint);font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.lg-primer-list ul{margin:0;padding-left:1.1rem;color:var(--color-muted);font-size:.88rem}.lg-primer-list li{margin:.3rem 0}.lg-primer-list li strong{color:var(--color-fg)}.lg-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin:1.2rem 0}.lg-card{border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);padding:.85rem 1rem}.lg-card h4{margin:0 0 .3rem;font-family:var(--font-display);font-size:.95rem;color:var(--color-fg)}.lg-card p{margin:0;font-size:.82rem;color:var(--color-muted)}.lg-card .tag{font-family:var(--font-mono);font-size:10px;color:var(--color-frame);border:1px solid var(--color-border);border-radius:6px;padding:0 .35rem}.lg-quiz .q{border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);padding:.9rem 1.1rem;margin:.9rem 0}.lg-quiz .q p{color:var(--color-fg);margin:0 0 .6rem;font-size:.9rem}.lg-quiz .opt{appearance:none;display:block;width:100%;background:transparent;border:1px solid var(--color-border);border-radius:9px;padding:.5rem .75rem;margin:.35rem 0;font:inherit;font-size:.85rem;text-align:left;color:var(--color-muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.lg-quiz .opt:hover{border-color:var(--color-frame);color:var(--color-fg)}.lg-quiz .opt:focus-visible,.lg-btn:focus-visible{outline:2px solid var(--color-frame);outline-offset:2px}.lg-btn{appearance:none;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:.28rem .6rem;font-family:var(--font-mono);font-size:11px;color:var(--color-muted);cursor:pointer;transition:border-color .15s,color .15s}.lg-btn:hover{border-color:var(--color-frame);color:var(--color-fg)}.lg-quiz .opt.correct{border-color:var(--color-frame);background:color-mix(in srgb,var(--color-frame) 14%,var(--color-surface));color:var(--color-fg)}.lg-quiz .opt.wrong{border-color:var(--color-faint);text-decoration:line-through;opacity:.7}.lg-quiz .exp{display:none;font-size:.8rem;color:var(--color-faint);margin-top:.4rem}.lg-quiz .score{font-family:var(--font-mono);font-size:.9rem;color:var(--color-frame);margin-top:.8rem}@media(prefers-reduced-motion:reduce){.lg-node,.lg-chip,.lg-cell,.lg-bar .fill{transition:none!important}}
