:root{color-scheme:dark;--text-scale:1;--diagram-scale:1;--bg:#081625;--card:#102538;--line:#2c4b61;--blue:#60bfff;--green:#75e3ac;--orange:#ffc16e;--purple:#ceb0ff;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#edf5ff;background:var(--bg)}
*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 80% 0,#13364e 0,transparent 65%),var(--bg)}[hidden]{display:none!important}button,input,select{font:inherit}button,a,summary{touch-action:manipulation}button,select,input[type=number]{border:1px solid var(--line);border-radius:7px;background:#152e43;color:#edf5ff;padding:7px 10px;min-width:0}button{cursor:pointer;white-space:normal}button:hover,button.selected{background:#21455a;border-color:var(--green)}button:disabled{opacity:.4;cursor:default}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}a{color:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:23px;line-height:1.15}h2{font-size:20px}h3{font-size:13px}p{line-height:1.45}label{display:block}input[type=range]{width:100%;accent-color:var(--blue)}select,input[type=number]{width:100%}small{display:block}.blue{color:var(--blue)}.green{color:var(--green)}.orange{color:var(--orange)}.purple{color:var(--purple)}.note{font-size:12px;line-height:1.4;color:#afc5d9}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:750;color:var(--green)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 18px;border-bottom:1px solid var(--line);flex:none;min-height:42px;font-size:13px}.brand{font-weight:750}.brand span{color:#a7bed3}.top-controls{display:flex;align-items:center;gap:6px;font-size:12px}.top-controls button{padding:4px 7px}main{display:flex;flex:1;min-height:0;flex-direction:column;padding:10px 18px 5px;gap:8px}.hero{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.view-tabs{display:flex;gap:5px;flex:none;font-size:12px}.lesson-view{flex:1;min-height:0}.lesson-view#trainingView{display:flex;flex-direction:column;gap:7px;overflow:hidden}.training-heading{flex:none;min-height:31px}.training-layout{display:grid;grid-template-columns:minmax(270px,330px) minmax(0,1fr);gap:12px;flex:1;min-height:0}.card{background:var(--card);border:1px solid var(--line);border-radius:12px}.training-side{padding:12px;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;font-size:calc(14px * var(--text-scale));line-height:1.45}.training-side>*+*{margin-top:10px}.training-side .note,.training-side small{font-size:calc(12px * var(--text-scale))}.mode-row{display:flex;gap:6px;flex-wrap:wrap}.mode-row strong{display:none}.mode-row button{flex:1;font-size:12px}.step-status{font-size:11px;letter-spacing:.04em;color:var(--green);font-weight:700}.step-buttons{display:flex;align-items:center;justify-content:space-between;gap:6px;position:sticky;top:-12px;z-index:3;background:var(--card);padding:5px 0;font-size:12px}.step-instructions h3{font-size:calc(18px * var(--text-scale));color:#fff;margin-bottom:8px}.step-instructions h4{font-size:calc(11px * var(--text-scale));letter-spacing:.08em;color:var(--blue);text-transform:uppercase;margin:12px 0 5px}.step-instructions p{margin:5px 0}.step-instructions ul{padding-left:19px;margin:5px 0}.worked{background:#081b2b;border-left:3px solid var(--purple);border-radius:6px;padding:9px;margin:8px 0;overflow-wrap:anywhere}.worked p{font-variant-numeric:tabular-nums}.step-instructions details{border:1px solid var(--line);padding:8px;border-radius:7px;margin:10px 0}.step-instructions summary{cursor:pointer;color:var(--green);font-weight:650}.batch-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.example-button{display:flex;flex-direction:column;align-items:start;text-align:left;font-size:11px;padding:7px}.math-box,.callout{background:#081b2b;border-left:3px solid var(--blue);border-radius:6px;padding:9px;overflow-wrap:anywhere}.button-row{display:flex;gap:5px;flex-wrap:wrap}.control-block,.batch-run{border-top:1px solid var(--line);padding-top:9px;display:grid;gap:5px}.rate-row label,.control-block label{font-weight:600;font-size:13px}.rules:empty{display:none}.status{font-size:12px;color:#b8d4e4}.batch-run span{font-size:11px;color:#b8d4e4}
.network-stack{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:0;min-width:0;min-height:0;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.stack-row{display:grid;grid-template-rows:23px minmax(0,1fr);min-height:0;min-width:0;gap:2px;padding:3px 0 6px}.stack-row+.stack-row{border-top:1px solid #2c4b6166;padding-top:6px}.stack-label{display:flex;align-items:center;gap:10px;min-width:0;line-height:1.1}.stack-label .eyebrow{font-size:9px;white-space:nowrap}.stack-label h3{white-space:nowrap}.legend{font-size:10px;color:#afc5d9}.loss-pill{font-size:12px;color:var(--green);margin-left:auto;white-space:nowrap}.batch-visual{height:100%;min-height:0;min-width:0;padding:3px 6px;overflow:hidden}.diagram-viewport{height:100%;min-height:0;overflow:auto}.diagram{width:calc(100% * var(--diagram-scale));height:calc(100% * var(--diagram-scale));min-height:0;transform-origin:top left}.diagram svg{display:block;width:100%;height:100%;overflow:hidden}.diagram text,.nudge-diagram text{font-family:system-ui,sans-serif;font-size:13px;text-anchor:middle;dominant-baseline:middle;fill:#edf5ff;font-weight:650}.diagram .label,.nudge-diagram .label{font-size:11px;fill:#b8d0e2;font-weight:500}.diagram .weight,.nudge-diagram .weight{font-size:12px;paint-order:stroke;stroke:var(--card);stroke-width:4px;stroke-linejoin:round}.diagram .signal{fill:var(--purple);font-size:11px;paint-order:stroke;stroke:var(--card);stroke-width:3px}.diagram .target-label,.nudge-diagram .target-label{fill:var(--green);font-size:11px}.node{fill:#183b51;stroke:var(--blue);stroke-width:1.5}.node.output{stroke:var(--green);fill:#16443f}.node.change-node,.node.signal-node{stroke:var(--purple);fill:#35284f}.edge{stroke:#527691;stroke-width:1.4}.edge-neg{stroke:#d88878}.signal-edge{stroke:#b693df;stroke-width:1.5;stroke-dasharray:4 3}.chain-panel{display:none}.access{display:flex;align-items:center;gap:7px;flex:none;font-size:11px;min-height:29px;padding-right:112px}.access button{padding:3px 9px}.signup-bottom{position:absolute;right:18px;bottom:11px;font-size:11px}.signup-bottom a{text-decoration:none;font-weight:650}.unsafe{padding:12px;color:var(--orange)}
#animationControls{display:flex;align-items:center;gap:7px;font-size:12px;min-height:31px;min-width:0}#animationControls button{padding:5px 9px}.repeat-cycle,.speed-control{display:flex;align-items:center;gap:3px;white-space:nowrap}.repeat-cycle input{accent-color:var(--green)}.speed-control input{width:82px;padding:0}.speed-control output{color:var(--green);font-variant-numeric:tabular-nums}#animationStatus{font-size:12px;line-height:1.2;color:#b8d4e4;min-width:0}.cycle-active .batch-visual{box-shadow:inset 0 0 14px #75e3ac22}.cycle-dot{fill:var(--green);stroke:white;stroke-width:1}.cycle-overlay{border:1px solid var(--purple);border-radius:8px;background:#102538d9;box-shadow:0 0 20px #b693df44}.cycle-overlay svg{width:100%;height:100%}.cycle-muted{opacity:.3}
#nudgeView{overflow:auto}.nudge-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:18px;padding:10px 0;font-size:calc(14px * var(--text-scale))}.intro-copy,.nudge-work{display:grid;align-content:start;gap:12px}.nudge-diagram-viewport{height:260px;overflow:auto}.nudge-diagram{width:calc(100% * var(--diagram-scale));height:calc(100% * var(--diagram-scale));min-height:0}.nudge-diagram svg{width:100%;height:100%}.activity{display:grid;gap:10px}.video span{font-size:12px;color:#afc5d9}
.simple-view{overflow:auto;padding:10px 0;font-size:calc(15px * var(--text-scale))}.simple-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(360px,1.25fr);gap:18px;align-items:start;min-height:100%}.simple-copy,.simple-work{display:grid;align-content:start;gap:12px;min-width:0}.simple-lede{max-width:62ch}.simple-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.simple-toolbar .step-status{font-size:12px}.simple-example-toggle{display:flex;gap:6px}.simple-example-toggle button{flex:1;font-size:12px}.simple-step-content{background:#081b2b;border-left:3px solid var(--purple);border-radius:7px;padding:12px;line-height:1.5;overflow-wrap:anywhere}.simple-step-content p{margin:0 0 9px}.simple-step-content p:last-child{margin-bottom:0}.simple-notice{min-height:2em}.simple-diagram-viewport{min-height:130px;overflow:auto;border-radius:10px}.simple-diagram{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% * var(--diagram-scale));min-width:520px;min-height:130px;padding:16px 8px;border:1px solid var(--line);border-radius:10px;background:#0b1d2d}.simple-node{display:grid;place-items:center;min-width:82px;min-height:82px;padding:7px;border:2px solid var(--blue);border-radius:50%;background:#183b51;text-align:center;font-size:12px;line-height:1.2}.simple-node.output{border-color:var(--green);background:#16443f}.simple-node b{font-size:18px}.simple-arrow{color:var(--purple);font-size:12px;text-align:center;white-space:nowrap}.simple-work .note{font-size:calc(12px * var(--text-scale))}
@media(max-width:1050px){main{padding:8px 10px 4px;gap:6px}.training-layout{grid-template-columns:270px minmax(0,1fr);gap:8px}.training-side{padding:9px}.stack-label .legend{display:none}.hero h1{font-size:20px}.topbar{padding:6px 10px}.signup-bottom{right:10px}.stack-label{gap:5px}.stack-label h3{font-size:11px}.stack-label .eyebrow{font-size:8px}.loss-pill{font-size:10px}.access .note{display:none}}
@media(max-height:600px){.topbar{min-height:33px;padding-top:3px;padding-bottom:3px}.hero h1{font-size:19px}.view-tabs button{padding:4px 7px}main{gap:5px;padding-top:5px}.training-heading{min-height:28px}#animationControls{min-height:28px}#animationControls button{padding:3px 7px}.stack-row{grid-template-rows:18px minmax(0,1fr)}.network-stack{gap:4px}.stack-label h3{font-size:11px}.stack-label .legend{display:none}}
@media(max-width:650px){body{overflow:auto;min-height:100dvh;height:auto}main{flex:none}.topbar{flex-wrap:wrap}.hero{align-items:start;flex-direction:column}.training-layout{display:flex;flex-direction:column}.network-stack{order:0;height:540px;flex:none}.training-side{order:1;max-height:65vh}.training-heading{min-height:54px}#animationControls{flex-wrap:wrap}#animationStatus{flex-basis:100%}.nudge-intro{grid-template-columns:1fr}.signup-bottom{position:static;text-align:right}.access{padding-right:0}.stack-label .eyebrow{font-size:9px}}
.simple-layout{min-height:0}
@media(max-width:850px){.simple-layout{grid-template-columns:1fr}.simple-copy{max-width:none}.simple-diagram{min-height:105px}.simple-view{padding-bottom:25px}}
.nudge-diagram svg{display:block}.intro-copy,.nudge-work,.activity{min-width:0}input[type=range]{margin-inline:0}
.simple-diagram-viewport{container-type:inline-size}.simple-diagram{min-width:0;container-type:inline-size}.simple-node{width:20cqw;height:20cqw;min-width:0;min-height:0;flex:0 0 20cqw;aspect-ratio:1;font-size:clamp(9px,2.1cqw,12px)}.simple-node b{font-size:clamp(12px,3.2cqw,18px)}.simple-arrow{font-size:clamp(9px,2.1cqw,12px)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

/* Tiny backward-only teaching visual: parameter updates remain separate from signals. */
.simple-diagram{display:block;padding:14px}.back-visual{color:var(--text);font-size:13px}.back-start{color:var(--purple);line-height:1.5;margin-bottom:18px}.back-path{display:grid;grid-template-columns:minmax(0,1fr) minmax(65px,.7fr) minmax(0,1fr);gap:8px;align-items:start}.back-station{min-width:0;text-align:center}.back-node{width:clamp(70px,22cqw,115px);aspect-ratio:1;border:2px solid var(--purple);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#302644;margin:auto;padding:6px}.back-node small{font-size:11px}.back-node b{font-size:24px;color:var(--purple)}.back-station p{font-size:11px;line-height:1.4;margin:10px 0}.back-edge{padding-top:30px;text-align:center;color:var(--purple);font-size:12px;overflow-wrap:anywhere}.back-edge b{display:block;font-size:30px}.back-edge small{font-size:10px}.back-parameters{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px;text-align:left;font-size:12px;overflow-wrap:anywhere;color:var(--purple)}.back-parameters strong{color:var(--orange)}.back-caption{font-size:11px;line-height:1.5;color:var(--muted);margin-top:18px}

.split-arrow{font-size:26px;color:var(--orange);text-align:center}.back-parameters{border-top:2px solid var(--orange)}.back-parameters small{color:var(--muted)}

.simple-layout{grid-template-columns:1fr;min-height:0}.simple-copy{gap:8px}.simple-copy>.note{display:none}.simple-lede{max-width:none}.simple-diagram-viewport{min-height:0}.tiny-backward{display:block;width:100%;height:auto;max-height:52vh}.simple-work{grid-template-columns:auto 1fr;align-items:start}.simple-toolbar{grid-column:2}.simple-example-toggle{grid-column:1}.simple-step-content{grid-column:2;grid-row:2 / span 2}.simple-work>.note{grid-column:1;max-width:260px}.attached-change{animation:branchReveal 1s ease-out}@keyframes branchReveal{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.attached-change{animation:none}.sensitivity-packet{display:none}}@media(max-width:700px){.simple-work{display:flex;flex-direction:column}.simple-diagram{min-width:760px}.tiny-backward{max-height:none}}

.attached-change{animation:none}.calculation-details{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.calculation-details summary{cursor:pointer;color:var(--blue);margin-bottom:10px}.calculation-details[open]{padding-bottom:8px}

/* Explain owns two visible columns; prose never follows a viewport-sized diagram. */
.simple-view{overflow:hidden;min-height:0}.simple-layout{height:100%;min-height:0;grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr);gap:18px}.simple-copy{min-height:0;overflow:auto;display:flex;flex-direction:column}.simple-lede{font-size:14px;line-height:1.5}.simple-diagram-viewport{flex:1;min-height:260px;overflow:auto}.simple-diagram{min-height:100%;padding:8px}.tiny-backward{width:100%;max-height:none;height:auto}.simple-work{display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto;padding-right:8px}.simple-toolbar{width:100%;flex-shrink:0}.simple-step-content{font-size:calc(16px * var(--text-scale));line-height:1.6;width:100%;box-sizing:border-box}.simple-example-toggle{width:100%}.simple-work>.note{max-width:none;font-size:12px}.simple-copy>.eyebrow{margin-top:0}.simple-copy h2{font-size:23px}@media(max-width:800px){.simple-view{overflow:auto}.simple-layout{height:auto;grid-template-columns:1fr}.simple-copy,.simple-work{overflow:visible}.simple-diagram-viewport{min-height:0;max-height:none}.simple-diagram{min-width:650px}.simple-work{padding:0}}

.order-map{font-size:14px;max-width:760px;margin:auto;padding:6px}.order-box{border:1px solid var(--line);border-radius:9px;padding:8px;text-align:center;background:#102536;line-height:1.35}.order-arrow{text-align:center;color:var(--purple);padding:4px}.order-branches{display:grid;grid-template-columns:1fr 1fr;gap:12px}.order-branches p{margin:7px 0;font-size:13px}.order-map .orange{color:var(--orange)}

.saved-forward{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:14px}.saved-forward svg{display:block;width:100%;height:auto}.saved-forward h3,.backward-view-heading{font-size:14px;margin:4px 8px;color:var(--blue)}.backward-view-heading{color:var(--purple)}
/* Meeting 4 ends with gradients; update/training tools are reserved for later. */
#viewNudge,#nudgeView,.training-heading,.mode-row,#reveal,#revealStatus,
#trainingView .rate-row,#updateSummary,#trainingView .button-row,
.batch-run,#applyStatus{display:none!important}
.network-stack{border:0;border-radius:0;background:transparent;padding:0}
.manual-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;flex:none}
.manual-controls button{padding:5px 10px}.manual-controls span{color:var(--blue)}
.topbar{min-height:34px;padding-top:3px;padding-bottom:3px}
main{padding-top:6px;gap:5px}.hero h1{font-size:23px;margin:0}
.manual-controls{gap:6px}.manual-controls button{padding:4px 8px}
.training-layout{gap:10px}.training-side{padding:9px}
.training-side>*+*{margin-top:7px}.step-instructions h4{margin-top:8px}
.step-instructions p{margin:4px 0}.worked{padding:7px;margin:6px 0}
.stack-row{grid-template-rows:19px minmax(0,1fr);padding:1px 0 3px;gap:0}
.stack-row+.stack-row{padding-top:3px}.batch-visual{padding:1px 3px}
.stack-label h3{font-size:12px;margin:0}.stack-label .eyebrow{margin:0}
.access{min-height:24px}.training-side .step-buttons{top:-9px;padding:3px 0}
#trainingView .training-side{display:flex;flex-direction:column}
#trainingView .training-side>*{flex-shrink:0}
#trainingView .control-block{order:-1;margin:0 0 8px;padding:0 0 8px;border-top:0;border-bottom:1px solid var(--line)}
#network0 [data-param]{cursor:pointer}#network0 text{pointer-events:none}
#network0 .edge{stroke-width:4;pointer-events:stroke}
#network0 [data-param]:hover{stroke:var(--green)}
#trainingView #stepStatus,#trainingView .step-buttons{display:none}
