@font-face{font-family:"Daisy Condensed";src:url("./fonts/RobotoCondensed.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
/* Chapter One: readable, fluid lessons on phones, tablets, and desktop. */
html:has(.daisy-page),body:has(.daisy-page){overflow-x:visible!important;overflow-y:auto!important;scrollbar-width:auto}
#dc-root:has(.daisy-page){width:100%!important}
.daisy-page{width:100%!important;max-width:100%;height:auto!important;min-height:100svh;overflow:visible!important}
.daisy-header{height:auto!important;min-height:62px;padding:10px 16px!important;gap:8px!important;align-items:center!important;display:flex!important;box-sizing:border-box}
.daisy-brand{flex:1;min-width:0;gap:8px!important}
.daisy-brand>span{min-width:0;gap:8px!important;flex-wrap:wrap}
.daisy-brand>svg{flex-shrink:0}
.daisy-beta-anchor{position:relative;display:inline-block;white-space:nowrap}
.daisy-beta-banner{position:absolute;right:-1px;top:50%;transform:translateY(-50%) rotate(-10deg);display:flex;align-items:center;justify-content:center;width:68px;height:32px;box-sizing:border-box;background:#5C3A8C;color:#FFF9E9;border:1px solid #3A2F1F;box-shadow:1px 2px 0 rgba(58,47,31,.25);font:700 18px 'Latin Modern Roman',Georgia,serif;letter-spacing:.04em;z-index:4;pointer-events:none}
.daisy-header>nav,.daisy-header>div,.daisy-sidebar,.daisy-next,.legacy-optimizer{display:none!important}
.daisy-exit{flex:none;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;box-sizing:border-box;padding:4px 6px;border:1px solid #8B7E5E;border-radius:2px;color:#5C3A8C;text-decoration:none;font-size:14px;background:#F0E4BE}
.daisy-body{display:block!important;min-height:0!important}
.daisy-main{width:100%;box-sizing:border-box;padding:14px 16px 80px!important;gap:14px!important;min-width:0!important;flex-grow:0!important}
.daisy-intro{width:100%;flex-direction:column;gap:8px!important}
.daisy-intro>div,.daisy-intro>div>div{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box}
.daisy-main h1{font-size:clamp(24px,7vw,28px)!important;line-height:1.12!important;white-space:nowrap;overflow-wrap:normal}
.daisy-main p{font-size:16px!important;max-width:100%!important;white-space:normal!important;overflow-wrap:break-word;line-height:1.4!important}
.daisy-intro>div>div{gap:8px!important}
.daisy-intro button,.lesson-actions button{min-height:44px;height:auto!important;white-space:normal;box-sizing:border-box;font-size:16px!important}
.lesson-subtitle{margin:0;color:#3A2F1F}
.daisy-page:has(.lesson-exercise) .daisy-legacy,.daisy-page:has(.token-exercise) .daisy-legacy,.daisy-page:has(.lesson-exercise) .daisy-lesson-tools,.daisy-page:has(.token-exercise) .daisy-lesson-tools{display:none!important}
.daisy-phone-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;gap:10px;padding:8px 16px max(8px,env(safe-area-inset-bottom));box-sizing:border-box;background:#F0E4BE;border-top:1px solid #8B7E5E;z-index:15}
.daisy-phone-nav>a,.daisy-phone-nav>button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:6px;border:1px solid #8B7E5E;background:#F0E4BE;color:#5C3A8C;font:16px 'Latin Modern Roman',Georgia,serif;text-decoration:none;box-sizing:border-box;border-radius:2px;cursor:pointer}
.daisy-phone-nav>button:disabled{color:#9C9080;cursor:default}
.daisy-page [role=dialog]{position:fixed!important;max-width:100%;overflow-y:auto;scrollbar-width:none}
.daisy-page [role=dialog]>div{max-width:calc(100% - 32px)!important}
.lesson-exercise{display:flex;flex-direction:column;gap:10px;min-width:0}
.lesson-equations{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px}
.lesson-equations button{min-height:44px;padding:5px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:#F0E4BE;border:1px solid #8B7E5E;color:#1A1A1A;font:16px 'Latin Modern Roman',Georgia,serif;cursor:pointer;min-width:0}
.lesson-equations small{font-size:14px;color:#3A2F1F}
.lesson-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lesson-actions button{padding:8px 14px;background:#5C3A8C;border:1px solid #1A1A1A;color:#FFF9E9;font-family:inherit;cursor:pointer;border-radius:2px}
.lesson-actions label{display:flex;align-items:center;gap:8px;font-size:16px;flex-wrap:wrap}
.lesson-actions input{width:120px;min-height:44px;accent-color:#5C3A8C}
.lesson-loss{margin-left:auto;font-size:16px}
.lesson-neurons{display:grid;gap:8px;min-width:0}
.lesson-neuron{border:1px solid #8B7E5E;padding:8px;box-sizing:border-box;min-width:0;background:#FBF5E4}
.lesson-neuron-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap;margin-bottom:4px}
.lesson-neuron h2{margin:0;font-size:18px;line-height:1.2}
.lesson-relu{padding:3px 4px;font-size:12px;line-height:1.2;border-radius:2px}
.lesson-knobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}
.lesson-knob{display:flex;flex-direction:column;min-width:0;gap:0}
.lesson-knob-label{display:flex;justify-content:space-between;gap:4px;flex-wrap:wrap;font-size:16px;line-height:1.2;min-width:0}
.lesson-knob output{font-variant-numeric:tabular-nums;font-weight:700}
.lesson-product{font-size:16px;line-height:1.3;font-variant-numeric:tabular-nums}
.lesson-knob input{display:block;min-width:0;width:100%;height:44px;margin:0;accent-color:#5C3A8C;cursor:pointer}
.lesson-curve{display:block;width:100%;height:24px;overflow:visible}
.lesson-gradient{display:block;width:100%;min-height:7px;overflow:visible}
.lesson-neuron-result{margin-top:4px;border-top:1px solid #8B7E5E;padding:5px 2px;font-size:16px;line-height:1.25;overflow-wrap:anywhere}
.lesson-answer{line-height:1.25;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:18px}
.lesson-answer>span{margin-left:auto;font-size:16px}
.lesson-success{margin:0;padding:8px 10px;color:#2D7A4F;border:1px solid #2D7A4F;background:#FBF5E4}
.lesson-limitation{padding:10px 12px;background:#FBF5E4;border:1px solid #8B7E5E}
.lesson-limitation h2{font-size:18px;margin:0 0 6px;font-weight:400}
.lesson-limitation p{margin:6px 0 0}
.lesson-limitation mark{background:#FFE16C;color:#1A1A1A;font-weight:700}
.token-exercise{display:flex;flex-direction:column;gap:8px}
.token-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
.token-flow>div{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:0;min-width:0;min-height:40px;box-sizing:border-box;padding:0;border:1px solid #8B7E5E;background:#FBF5E4}
.token-flow h2{display:flex;align-items:center;align-self:stretch;box-sizing:border-box;padding:8px 12px;min-height:40px;border-right:1px solid #8B7E5E;font-size:16px;margin:0;line-height:1.2;white-space:nowrap}
.token-chip{display:block;font-size:16px;min-height:23px;overflow-wrap:anywhere}
.token-prompt small{display:block;font-size:14px;color:#6B5F4F}
.token-ai{display:flex;flex:1;min-width:45px;min-height:30px;background:#1A1A1A;color:#F0E4BE;align-items:center;justify-content:center;font-size:20px}
.token-flow [role=status]{font-size:16px}
.token-result{min-width:0;box-sizing:border-box;min-height:40px;padding:8px 14px;margin:0!important;color:#5C3A8C;font-family:"Avenir Next Condensed","Arial Narrow",Arial,sans-serif;font-stretch:condensed;font-weight:600}
.token-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.token-tiles button,.token-math button{min-width:0;min-height:44px;padding:4px 5px;border:1px solid #8B7E5E;font:16px 'Latin Modern Roman',Georgia,serif;cursor:pointer;overflow-wrap:anywhere}
.token-math{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.tl-anim,.tl-static{display:none!important}
.tl-phone{display:block;position:relative;width:100%;margin-top:0}
.tl-phone-label{font-size:16px;font-weight:700;color:#3A2F1F;margin-bottom:6px}
.tl-phone-prompt{display:flex;flex-wrap:wrap;gap:4px;min-height:36px;margin-bottom:8px}
.tl-phone-prompt>span{font-size:16px;white-space:pre-wrap!important;overflow-wrap:anywhere;max-width:100%}
.tl-phone-prompt-arrow{margin:0 0 8px 42px;color:#5C3A8C;font-size:24px;line-height:1}
.tl-phone-flow{display:grid;grid-template-columns:minmax(0,1fr) 16px 70px 16px minmax(0,1fr);gap:6px;align-items:start;padding-bottom:48px}
.tl-phone-context{display:flex;flex-direction:column;gap:3px}
.tl-phone-context .tl-chip{height:22px;padding:0 5px;display:flex;align-items:center;box-sizing:border-box;font:13px Menlo,Consolas,monospace;white-space:normal;overflow-wrap:anywhere}
.tl-phone-arrow{padding-top:28px;color:#3A2F1F;font-size:20px;text-align:center}
.tl-phone-ai{margin-top:24px}
.tl-phone-ai>span[role=img]{width:70px;height:52px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:#1A1A1A;color:#F0E4BE;font-size:25px;font-weight:700}
.tl-phone-ai>span[role=status]{display:block;margin-top:5px;font-size:14px;color:#3A2F1F;overflow-wrap:anywhere}
.tl-phone-output{min-height:30px;padding:4px;box-sizing:border-box;font:16px Menlo,Consolas,monospace;overflow-wrap:anywhere;white-space:normal;background:#A8D4F0;border:1px solid #1F8FDC}
.tl-feedback-arrow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.tl-feedback-token{position:absolute;top:0;left:0;pointer-events:none;padding:2px 4px;background:#A8D4F0;border:1px solid #8B7E5E;font:13px Menlo,monospace;offset-path:var(--tl-feedback-path,none);offset-rotate:0deg;offset-anchor:center}
.tl-phone-return{margin:0;font-size:16px;line-height:1.35;color:#3A2F1F}
.daisy-complete .daisy-main{margin:0;box-sizing:border-box;gap:12px!important;padding-bottom:74px!important}
.daisy-complete .daisy-intro{display:flex;flex-direction:column;gap:8px}
.daisy-complete h1{margin:0}
.daisy-complete .recap-lead{margin:0;font-size:20px!important;color:#3A2F1F}
.daisy-recap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.daisy-recap>section{padding:8px 12px;background:#FBF5E4;border:1px solid #1A1A1A;box-shadow:2px 2px 0 rgba(58,47,31,.35);display:flex;flex-direction:column;gap:4px;min-width:0;box-sizing:border-box}
.daisy-recap h2{margin:0;color:#5C3A8C;font-size:18px;line-height:1.2}
.daisy-recap p{margin:0;line-height:1.35!important}
@media(max-width:649px){.lesson-neurons:has(.lesson-neuron:nth-child(2)) .lesson-knobs{grid-template-columns:minmax(0,1fr)}.daisy-recap{grid-template-columns:minmax(0,1fr)}}
@media(max-width:359px){.daisy-brand>svg{width:26px;height:26px}.daisy-brand>span>span:first-child{font-size:22px!important}.daisy-brand>span>span:last-child{font-size:12px!important}.lesson-neuron-result{font-size:14px}}
@media(max-width:319px){.daisy-main h1{white-space:normal}.lesson-neurons{grid-template-columns:minmax(0,1fr)!important}.token-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-knobs{grid-template-columns:minmax(0,1fr)}}
@media(min-width:650px){.daisy-main{padding-left:24px!important;padding-right:24px!important}.tl-phone-flow{grid-template-columns:minmax(0,1fr) 24px 100px 24px minmax(0,1fr)}.tl-phone-ai>span[role=img]{width:100px}.token-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Keep both ReLU neurons and their results in the portrait working viewport. */
.daisy-page[data-lesson="9"] .daisy-main{gap:8px!important;padding-top:10px!important}
.daisy-page[data-lesson="9"] .lesson-exercise{gap:6px}
.daisy-page[data-lesson="9"] .lesson-knobs{row-gap:0}
.radio-neurons{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.radio-equations{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}
.radio-equations button{font-size:16px;padding:5px}
.radio-status{display:flex;gap:12px;flex-wrap:wrap;font-size:16px}

.token-stage-content{display:flex;align-items:center;gap:6px;flex-wrap:wrap;box-sizing:border-box;padding:8px 14px;min-width:0;min-height:40px}
.token-stage-content:has(.token-chip) small{display:none}
.token-stage-content .token-chip{display:inline-block}
.daisy-page[data-lesson="2"] .daisy-main{padding-top:10px!important;gap:12px!important}
.daisy-page[data-lesson="2"] .daisy-intro>div>div{gap:6px!important}
.daisy-page[data-lesson="2"] .token-exercise{gap:6px}
/* Aligned goal, weights, and live calculation with vertical native controls. */
.daisy-page[data-lesson="3"] .lesson-equations,.daisy-page[data-lesson="3"] .lesson-actions,.daisy-page[data-lesson="3"] .lesson-neurons,.daisy-page[data-lesson="3"] .lesson-answer,.daisy-page[data-lesson="4"] .lesson-equations,.daisy-page[data-lesson="4"] .lesson-actions,.daisy-page[data-lesson="4"] .lesson-neurons,.daisy-page[data-lesson="4"] .lesson-answer{display:none}
.compact-neuron{padding:10px;background:#EBDFB2;border:1px solid #8B7E5E;box-sizing:border-box;min-width:0}
.compact-neuron-head{margin-bottom:12px}
.compact-neuron-head h2{font-size:20px;line-height:1.2;font-weight:400;margin:0}
.compact-circuit{display:grid;grid-template-columns:minmax(16px,1fr) 6px minmax(50px,2fr) 14px minmax(28px,1fr) 6px minmax(30px,1fr) 14px minmax(16px,1fr) 6px minmax(50px,2fr) 14px minmax(64px,2fr);gap:10px 2px;align-items:center;text-align:center;font-size:18px;line-height:1.3;font-variant-numeric:tabular-nums;min-width:0;color:#3A2F1F}
.compact-equation{display:contents}
.compact-equation>*{display:block;box-sizing:border-box;min-width:0;height:32px;line-height:30px;white-space:nowrap;border:1px solid #BBAE88;background:transparent;color:#3A2F1F;font-weight:400}
.compact-calculation>*{background:#FBF5E4;border-color:#8B7E5E}
.compact-calculation>.compact-embedding,.compact-calculation>.compact-fixed-weight{background:transparent;border-color:#BBAE88}
.compact-equation>.compact-math-sign,.compact-equation>*:empty{border-color:transparent;background:transparent}
.compact-equation>.compact-math-sign{display:flex;align-items:center;justify-content:center;border:0}
.compact-equation>.compact-dot{font-size:0}
.compact-dot::before{content:"";width:3px;height:3px;border-radius:50%;background:currentColor;flex:none}
.compact-equation>.compact-fixed-weight{color:#888}
.compact-slider-label{color:#5C3A8C}
.compact-circuit[data-active-weight="1"] .compact-formula .compact-symbol[data-weight="1"],.compact-circuit[data-active-weight="3"] .compact-formula .compact-symbol[data-weight="3"],.compact-circuit[data-active-weight="2"] .compact-formula .compact-symbol[data-weight="2"],.compact-circuit[data-active-weight="4"] .compact-formula .compact-symbol[data-weight="4"]{font-weight:700}
.compact-circuit sub{font-size:65%;line-height:0}
.compact-branch{grid-row:4;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding-top:2px}
.compact-branch[data-weight="1"]{grid-column:3}
.compact-branch[data-weight="2"]{grid-column:7}
.compact-branch[data-weight="4"]{grid-column:13}
.compact-branch[data-weight="3"]{grid-column:11}
.compact-inactive{grid-column:7}
.compact-inactive .compact-slider-label{color:#888}
.compact-inactive input:disabled{accent-color:#999;opacity:1;cursor:default}
.compact-branch input{writing-mode:vertical-lr;direction:rtl;appearance:auto;width:44px;height:132px;margin:0;padding:0;accent-color:#5C3A8C;cursor:pointer}
.compact-branch input:focus-visible{outline:2px solid #5C3A8C;outline-offset:2px}
.compact-slider-label{font-size:16px}
.compact-loss{border-top:1px solid #8B7E5E;margin-top:10px;padding-top:8px;text-align:right;font-size:16px;line-height:1.25;color:#3A2F1F}
@media(min-width:650px){.compact-neuron{max-width:680px}.compact-circuit{font-size:24px;column-gap:6px}.compact-branch input{height:150px}}
@media(max-width:359px){
 .daisy-page[data-lesson="3"] .daisy-main{padding-top:10px!important;gap:8px!important}
 .daisy-page[data-lesson="3"] .daisy-intro>div>div{gap:4px!important}
 .compact-neuron{padding:8px}
 .compact-neuron-head{margin-bottom:8px}
 .compact-circuit{grid-template-columns:minmax(14px,1fr) 4px minmax(44px,2fr) 12px minmax(22px,1fr) 4px minmax(20px,1fr) 12px minmax(14px,1fr) 4px minmax(44px,2fr) 12px minmax(52px,2fr);font-size:16px;column-gap:1px;row-gap:6px}
 .compact-equation>*{height:26px;line-height:24px}
 .compact-branch input{height:100px}
 .compact-loss{margin-top:8px;padding-top:6px}
}

/* Addition exposes the operator weight and bias, preserving the same token stack. */
.compact-addition-controls{display:contents}
.compact-with-bias .compact-circuit{grid-template-columns:minmax(14px,1fr) 4px minmax(42px,2fr) 12px minmax(22px,1fr) 4px minmax(42px,2fr) 12px minmax(14px,1fr) 4px minmax(42px,2fr) 12px minmax(44px,2fr) 12px minmax(52px,2fr);column-gap:1px;font-size:16px}
.compact-number{font-family:"Daisy Condensed","Arial Narrow",Arial,sans-serif;font-stretch:condensed}
@media(min-width:650px){.compact-with-bias .compact-circuit{font-size:24px;column-gap:4px}}
@media(max-width:389px){
 .compact-with-bias{margin-left:-16px;margin-right:-16px;width:calc(100% + 32px);padding:6px}
 .compact-with-bias .compact-circuit{grid-template-columns:minmax(14px,1fr) 4px minmax(34px,2fr) 12px minmax(20px,1fr) 4px minmax(34px,2fr) 12px minmax(14px,1fr) 4px minmax(34px,2fr) 12px minmax(38px,2fr) 12px minmax(44px,2fr);font-size:16px;column-gap:1px}
 .compact-with-bias .compact-calculation output{font-family:"Daisy Condensed","Arial Narrow",Arial,sans-serif;font-stretch:condensed}
}

/* Four vertical controls per neuron, with gradients beside each track. */
.daisy-page:is([data-lesson="5"],[data-lesson="6"],[data-lesson="7"],[data-lesson="8"]) .lesson-answer{display:none}
.daisy-page:is([data-lesson="5"],[data-lesson="6"]) .lesson-actions{display:none}
.daisy-page:is([data-lesson="7"],[data-lesson="8"]) .lesson-loss{display:none}
.vertical-track{display:flex;position:relative;justify-content:center;width:100%;min-width:0}
.vertical-track .vertical-gradient{position:absolute;left:calc(50% + 7px);top:0;width:22px;height:100%;pointer-events:none;overflow:visible}
.compact-curve{height:24px;margin-bottom:4px}
.compact-network{grid-template-columns:minmax(0,1fr);gap:8px}
.compact-network .lesson-neuron{padding:8px;background:transparent}
.compact-network .lesson-neuron-heading{flex-wrap:nowrap;font-size:16px;margin-bottom:6px}
.compact-network .lesson-neuron-heading h2{font-size:18px;font-weight:400}
.compact-network .lesson-relu{font-size:14px}
.vertical-knobs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.vertical-knob{display:flex;align-items:center;flex-direction:column;gap:3px;font-size:16px;min-width:0}
.vertical-knob output{font-family:"Daisy Condensed",Arial,sans-serif;font-variant-numeric:tabular-nums;font-size:16px}
.vertical-knob input,.vertical-learning-rate input{writing-mode:vertical-lr;direction:rtl;appearance:auto;width:44px;height:90px;min-height:0;margin:0;padding:0;accent-color:#5C3A8C}
.lesson-actions .vertical-learning-rate{display:grid;grid-template-columns:auto 44px;column-gap:6px;row-gap:0;align-items:center}
.lesson-actions .vertical-learning-rate input{height:72px;grid-row:span 2;width:44px}
.lesson-actions .vertical-learning-rate output{grid-column:1}
@media(min-width:650px){.compact-network{grid-template-columns:repeat(2,minmax(0,1fr))}.vertical-knob input{height:132px}}
@media(max-width:359px){.vertical-track .vertical-gradient{width:18px}.vertical-knob input{height:96px}}

/* The Radio is one page: no manual neuron controls or internal lesson steps. */
.radio-single-page .radio-equations{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.radio-single-page .radio-equations button{min-height:44px;align-items:center;padding:3px;font-size:16px;gap:0}
.radio-single-page .radio-equations small{font-family:"Daisy Condensed",Arial,sans-serif;font-size:16px}
.radio-single-page .radio-neurons{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.radio-small-neuron{border:1px solid #BBAE88;padding:6px 2px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:14px}
.radio-small-neuron output{font-size:16px;font-variant-numeric:tabular-nums}
.radio-status{justify-content:space-between;gap:4px;font-size:14px}
@media(min-width:650px){.radio-single-page .radio-equations{grid-template-columns:repeat(8,minmax(0,1fr))}.radio-single-page .radio-neurons{grid-template-columns:repeat(8,minmax(0,1fr))}}

.compact-network~.lesson-answer{display:none}

.lesson-equations:not(.radio-equations) button{padding:2px 6px;gap:0;line-height:1.2}
.lesson-equations:not(.radio-equations) small{line-height:1.2}
@media(max-width:649px){
 .daisy-page:is([data-lesson="6"],[data-lesson="7"],[data-lesson="8"]) .compact-branch input{height:112px}
 .daisy-page[data-lesson="8"] .compact-branch input{height:90px}
 .daisy-page[data-lesson="10"] .vertical-knob input{height:74px}
}
@media(min-width:650px){.compact-with-bias .compact-circuit{grid-template-columns:minmax(20px,1fr) 5px minmax(56px,2fr) 18px minmax(28px,1fr) 5px minmax(56px,2fr) 18px minmax(20px,1fr) 5px minmax(56px,2fr) 18px minmax(56px,2fr) 18px minmax(66px,2fr)}}

/* Read each product as one group, with more air around addition. */
.compact-circuit{
 --eq-input:14px;--eq-operator:20px;--eq-dot:3px;--eq-weight:44px;--eq-plus:minmax(18px,1fr);--eq-equals:20px;--eq-answer:48px;
 grid-template-columns:minmax(var(--eq-input),max-content) var(--eq-dot) minmax(var(--eq-weight),max-content) var(--eq-plus) minmax(var(--eq-operator),max-content) var(--eq-dot) minmax(var(--eq-weight),max-content) var(--eq-plus) minmax(var(--eq-input),max-content) var(--eq-dot) minmax(var(--eq-weight),max-content) var(--eq-equals) minmax(var(--eq-answer),max-content);
 column-gap:2px;
}
.compact-with-bias .compact-circuit{
 --eq-weight:34px;--eq-bias:38px;--eq-answer:44px;--eq-equals:14px;
 grid-template-columns:minmax(var(--eq-input),max-content) var(--eq-dot) minmax(var(--eq-weight),max-content) var(--eq-plus) minmax(var(--eq-operator),max-content) var(--eq-dot) minmax(var(--eq-weight),max-content) var(--eq-plus) minmax(var(--eq-input),max-content) var(--eq-dot) minmax(var(--eq-weight),max-content) var(--eq-plus) minmax(var(--eq-bias),max-content) var(--eq-equals) minmax(var(--eq-answer),max-content);
 column-gap:0;
}
.compact-equation>*,.compact-calculation>.compact-embedding,.compact-calculation>.compact-fixed-weight{border:0;background:transparent}
.compact-equation>:is(:nth-child(1),:nth-child(5),:nth-child(9)){text-align:right}
.compact-equation>:is(:nth-child(3),:nth-child(7),:nth-child(11)){text-align:left}
.compact-formula>.compact-symbol:not(.compact-fixed-weight),.compact-calculation>:is(:nth-child(3),:nth-child(7),:nth-child(11)):not(.compact-fixed-weight),.compact-with-bias .compact-calculation>:nth-child(13){color:#5C3A8C}
.vertical-knob>span:not(.vertical-track),.vertical-knob>output{color:#5C3A8C}
.product-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 96px;align-items:baseline;gap:12px;margin-bottom:12px}
.product-head h2{margin:0;font-size:20px;font-weight:400}
.product-head>span{grid-column:2 / 4;justify-self:center;text-align:center;font-size:18px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 96px;gap:12px}
.product-column{display:grid;grid-template-rows:24px 30px 32px 52px auto;gap:6px;min-width:0;text-align:center}
.product-column h3,.product-sum h3{margin:0;font-size:16px;line-height:24px;font-weight:400}
.product-equation,.product-result,.product-sum-equation{font-family:'Latin Modern Roman',Georgia,serif;font-size:20px;line-height:1.3;font-variant-numeric:tabular-nums}
.product-equation{display:flex;align-items:baseline;justify-content:center;gap:3px;white-space:nowrap}
.product-equation>span,.product-equation>output{font:inherit;line-height:inherit}
.product-weight{color:#5C3A8C}
.product-symbolic sub,.product-knob sub{font-size:65%;line-height:0;vertical-align:baseline;position:relative;top:.25em}
.product-column:focus-within .product-symbolic .product-weight{font-weight:700}
.product-result{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.product-result>span{font-size:16px;line-height:18px;color:#8B7E5E}
.product-result>output{font:inherit}
.product-bias-note{font-size:14px;color:#3A2F1F}
.product-knob{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:16px}
.product-knob input{writing-mode:vertical-lr;direction:rtl;appearance:auto;width:44px;height:132px;margin:0;padding:0;accent-color:#5C3A8C;cursor:pointer}
.product-knob input:focus-visible{outline:2px solid #5C3A8C;outline-offset:2px}
.product-sum{border-top:1px solid #8B7E5E;margin-top:12px;padding-top:8px}
.product-sum-equation{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:6px 12px;margin-top:4px}
.product-sum-term{display:inline-flex;align-items:baseline;gap:12px;white-space:nowrap}
.product-sum-term strong{font-weight:400}
@media(max-width:649px){.product-head{display:flex;justify-content:space-between}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.product-equation,.product-result,.product-sum-equation{font-size:18px}.product-bias-note{font-size:14px}.product-knob input{height:112px}.product-head>span{font-size:16px}}
@media(min-width:650px){
 .compact-circuit,.compact-with-bias .compact-circuit{--eq-input:18px;--eq-operator:26px;--eq-dot:4px;--eq-weight:54px;--eq-bias:54px;--eq-plus:minmax(32px,1fr);--eq-equals:28px;--eq-answer:64px;column-gap:2px}
}
@media(max-width:359px){
 .compact-circuit{--eq-input:12px;--eq-operator:18px;--eq-dot:2px;--eq-weight:36px;--eq-plus:minmax(14px,1fr);--eq-equals:14px;--eq-answer:40px;column-gap:0}
 .compact-with-bias .compact-circuit{--eq-weight:30px;--eq-bias:32px;--eq-answer:38px}
}

/* Shared Chapter 1 calculation cards: products first, then their sum. */
.product-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.product-layout .product-neuron{width:100%}
.product-no-bias .product-head,.product-no-bias .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-column[data-locked="true"] .product-weight{color:#888}
.product-knob input:disabled{accent-color:#999;opacity:1;cursor:default}
.product-result small{font-size:14px;color:#3A2F1F}
.product-knob .lesson-curve{height:24px;margin:0}
.product-relu{text-align:center;border-top:1px solid #8B7E5E;padding-top:6px;margin-top:6px;font-size:18px}
.product-network-output{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:18px}
.product-network-output small{margin-left:auto;font-size:16px;color:#3A2F1F}
.daisy-page:has(.product-layout) .lesson-loss{display:none}
.daisy-page:is([data-lesson="3"],[data-lesson="4"]) .lesson-actions{display:none}
/* Leave room for example selection and optimizer controls. */
.daisy-page:is([data-lesson="6"],[data-lesson="7"],[data-lesson="8"]) .product-head{margin-bottom:8px}
.daisy-page:is([data-lesson="6"],[data-lesson="7"],[data-lesson="8"]) .product-column,.product-network .product-column{grid-template-rows:20px 24px 26px 32px auto;gap:4px}
.daisy-page:is([data-lesson="6"],[data-lesson="7"],[data-lesson="8"]) .product-knob input{height:80px}
.daisy-page:is([data-lesson="6"],[data-lesson="7"],[data-lesson="8"]) .product-sum,.product-network .product-sum{margin-top:6px;padding-top:4px}
.daisy-page:is([data-lesson="6"],[data-lesson="7"],[data-lesson="8"]) .product-sum h3,.product-network .product-sum h3{line-height:20px}
.product-layout .compact-loss{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:6px;padding-top:4px}
.product-network .product-head,.product-network .product-grid{grid-template-columns:repeat(3,minmax(0,1fr)) 80px;gap:8px}
.product-network .product-head{margin-bottom:4px}
.product-network .product-head h2{font-size:18px}
.product-network .product-equation,.product-network .product-result,.product-network .product-sum-equation{font-size:18px}
.product-network .product-head>span,.product-network .product-relu{font-size:16px}
.product-network .product-knob input{height:64px}
.daisy-page[data-lesson="3"] .product-column{grid-template-rows:20px 26px 28px 40px auto;gap:4px}
.daisy-page[data-lesson="3"] .product-head{margin-bottom:8px}
.daisy-page[data-lesson="3"] .product-knob input{height:88px}
.daisy-page[data-lesson="8"] .product-knob input{height:64px}
.daisy-page[data-lesson="8"] .product-head{margin-bottom:4px}
.product-success{color:#2D7A4F;font-size:16px;text-align:left}
.product-layout .compact-loss .product-success{margin-right:auto}
.product-grid[data-rule-weight="1"] .product-column[data-weight="1"] .product-symbolic .product-weight,
.product-grid[data-rule-weight="2"] .product-column[data-weight="2"] .product-symbolic .product-weight,
.product-grid[data-rule-weight="3"] .product-column[data-weight="3"] .product-symbolic .product-weight,
.product-grid[data-rule-weight="4"] .product-column[data-weight="4"] .product-symbolic .product-weight,
.product-grid[data-rule-weight="all"] .product-symbolic .product-weight{font-weight:700}
@media(min-width:1100px){.product-network{grid-template-columns:repeat(2,minmax(0,1fr))}.product-network .product-neuron{max-width:none}}
@media(max-width:649px){.product-network .product-grid,.product-no-bias .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.product-network .product-head{display:flex;justify-content:space-between}.product-network-output small{margin-left:0}}
