/* Guided workspace: one path, one current computation, optional expert tools. */
:root{--paper:#faf8f3;--rule:#deded5;--ink:#293b36;--accent:#813d46}
body{background:var(--paper)}header{height:56px}main{height:calc(100dvh - 59px)}
.lesson-top{min-height:76px}.lesson-top h1{font-size:32px}.lesson-top>div:first-child{width:180px}
#lesson-progress{display:block;font:12px monospace;color:var(--accent);margin-right:10px}
#journey-map{display:flex;align-items:center;gap:10px;padding:9px 0 12px;flex-shrink:0;overflow:auto}
#journey-map button{border:0;background:transparent;font-size:12px;padding:7px 16px;border-radius:20px;white-space:nowrap;color:#6b776c}
#journey-map button.active{background:var(--ink);color:white}.journey-arrow{color:#a4aba1}
.lesson-layout{grid-template-columns:145px minmax(340px,1.55fr) minmax(320px,1fr);border-top:1px solid var(--rule)}
.lesson-nav{padding-top:20px}#chapters button{padding:10px 5px;font-size:11px}#chapters button small{font-size:10px}
.lesson-stage{background:#f6f7f1}#lesson-caption{padding:18px 20px 8px}#lesson-heading{font-size:32px;margin:8px 0}#lesson-explanation{font-size:13px;line-height:1.5;margin:0;max-width:520px}
#try-it{font-size:11px;line-height:1.5;margin-top:12px;padding:9px 12px;border-left:3px solid var(--accent);background:#eee7dd;color:#604d45}
#try-it::before{content:'TRY IT  ';font:9px monospace;letter-spacing:1px;color:var(--accent);margin-right:5px}
.trace-origin{font-size:10px}#source-trail{padding:4px 20px 8px}.source-token-row{display:none}
.world-toolbar{padding:7px 12px;min-height:37px}.world-toolbar button{font-size:10px;padding:5px 7px}.world-footer{font-size:9px;padding:8px 12px}.world-footer>span:first-child{display:none}.world-footer>span:nth-child(2){display:inline}
#world-title{font-size:11px}.node-label.tensor-heading{font-size:12px;max-width:175px}.node-label.tensor-heading::after{font-size:10px}.node-label.token-row{font-size:10px}.node-label.cell-number{font-size:11px}
#selected-readout{display:none}.token-strip{padding:9px 14px;min-height:55px}#tokens button{font-size:12px;padding:7px 10px}#tokens small{font-size:9px}
.lesson-transport{padding:12px 14px;min-height:57px}.lesson-transport button{font-size:12px;padding:9px 14px}#lesson-next{background:var(--accent);border-color:var(--accent)}
#step-dots{display:flex;gap:4px;margin-right:auto}#step-dots button{padding:0;width:7px;height:7px;border:0;border-radius:50%;background:#d5d9d0}#step-dots button.active{background:var(--accent);width:20px;border-radius:4px}#step-dots button.done{background:#9caaa0}#lesson-location{flex:0;font-size:10px;white-space:nowrap}
.inspector{padding:18px;background:#fffefa}.math-label .eyebrow{font-size:9px}.math-label button{font-size:10px}.inspector-header h2{font-size:27px}.inspector-header{padding:12px 0 6px}
#equation-display{order:2;flex-shrink:0;border-block:1px solid var(--rule);margin:9px 0;padding:4px 0;overflow:auto;font-size:13px}.katex-display{margin:.7em 0!important}
.focus-caption{font-size:11px;line-height:1.55;margin-bottom:12px}.focus-selector{font-size:10px;gap:8px}.focus-selector input{width:48px;padding:5px}
#arithmetic-focus{overflow:auto}.focus-operands{flex:0 0 auto;min-height:0;max-height:none}.focus-operands .vector-scroll{max-height:190px}.focus-matrix{padding:10px}.focus-matrix h3{font-size:10px}.focus-matrix td{font-size:12px;line-height:1.6;padding:3px}.focus-matrix td:first-child{font-size:9px}.focus-result{padding:14px}.focus-result strong{font-size:25px}.focus-result span{font-size:10px}.focus-result p{font-size:11px!important;line-height:1.5!important}.product-controls{font-size:10px;flex-wrap:wrap}.product-controls button{font-size:11px;padding:7px 10px}.term-list{font-size:10px;max-height:75px}.lookup-strip{display:grid;grid-template-columns:repeat(4,1fr)}.lookup-strip button{font-size:11px;padding:10px 4px}.lookup-strip small{font-size:9px}.step-arithmetic{flex:0 0 auto;overflow:visible}.scalar-formula{font-size:15px;line-height:1.8}.shape-note{display:none}.math-foot{font-size:9px}
body:not(.expert-mode) .pass-bar,body:not(.expert-mode) .layer-heading,body:not(.expert-mode) #layer-home,body:not(.expert-mode) .inspector-header>div:last-child,body:not(.expert-mode) #operation-context,body:not(.expert-mode) #append,body:not(.expert-mode) #export-session,body:not(.expert-mode) #dataset-toggle,body:not(.expert-mode) #version{display:none}
#show-diagram{background:transparent;color:var(--accent);border:1px solid #cbb0a4;border-radius:4px}#show-diagram.active{background:var(--accent);color:white}
#expert-controls{font-size:11px;white-space:nowrap}.mode-tabs button{font-size:11px}.run-status{font-size:10px}#prompt-form button{font-size:11px}.train-mode #training-controls{display:flex}.dataset-lesson .source-token-row{display:flex}.dataset-lesson #try-it{margin-top:6px;padding:6px 9px}
@media(max-width:1100px){.lesson-layout{grid-template-columns:120px minmax(290px,1.4fr) minmax(290px,1fr)}#journey-map{gap:5px}#journey-map button{padding:6px 10px}.inspector{padding:12px}#lesson-heading{font-size:28px}#lesson-explanation{font-size:12px}.world-footer>span:nth-child(2){font-size:8px}.lesson-top>div:first-child{width:150px}.lesson-top h1{font-size:28px}.node-label.tensor-heading{font-size:10px;max-width:125px}}
@media(max-width:760px){header{height:48px}main{height:calc(100dvh - 51px)}header nav{overflow-x:auto}.lesson-top{min-height:55px}#lesson-progress{display:none}#journey-map{padding:4px 0;gap:3px;min-height:37px}#journey-map button{font-size:10px;padding:6px 9px}.journey-arrow{font-size:9px}.lesson-layout{grid-template-columns:1fr;grid-template-rows:minmax(250px,52%) minmax(0,48%)}.lesson-nav{display:none}#lesson-caption{padding:8px 10px 4px}#lesson-heading{font-size:23px;margin:0 0 4px}#lesson-explanation{font-size:10px;max-height:none}#try-it{font-size:9px;padding:4px 7px;margin-top:5px}#source-trail{padding:3px 10px;font-size:9px}.trace-origin{font-size:8px}.world-toolbar{min-height:25px;padding:3px 7px}.world-toolbar button{font-size:9px;padding:3px 5px}.world-footer{display:none}.token-strip{min-height:37px;padding:4px 8px}#tokens button{font-size:10px;padding:4px 7px}.lesson-transport{min-height:34px;padding:4px 8px}.lesson-transport button{font-size:10px;padding:5px 8px}#step-dots{gap:3px}#step-dots button{padding:0;width:5px;height:5px}#step-dots button.active{width:12px}#lesson-location{display:none}.inspector{padding:8px 10px}.inspector-header h2{font-size:22px}.math-label{top:8px;right:10px}#equation-display{font-size:11px;padding:0;margin:4px 0}.katex-display{margin:.5em 0!important}.focus-caption{font-size:10px;line-height:1.4}.focus-matrix td{font-size:11px}.focus-operands .vector-scroll{max-height:130px}.focus-result{padding:8px}.focus-result strong{font-size:20px}.focus-result p{font-size:10px!important}.product-controls{font-size:9px}.product-controls button{font-size:10px;padding:4px 7px}.lookup-strip button{font-size:10px;padding:6px}.scalar-formula{font-size:12px}.dataset-lesson #lesson-heading{font-size:22px}.dataset-lesson #lesson-explanation{font-size:10px}#training-controls{flex-wrap:wrap}.node-label.tensor-heading{font-size:9px;max-width:120px}}
@media(prefers-reduced-motion:no-preference){#try-it{animation:hint-in .25s ease-out}@keyframes hint-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}}
.lesson-top{min-height:64px}#journey-map{padding:5px 0 7px}#lesson-caption{padding:12px 16px 6px}#lesson-heading{font-size:29px;margin:5px 0}#lesson-explanation{font-size:12px}#try-it{margin-top:7px;padding:6px 9px;font-size:10px}#source-trail{padding:0 16px 6px}.token-strip{min-height:43px;padding:5px 12px}#tokens button{padding:4px 8px;font-size:11px}.lesson-transport{min-height:45px;padding:7px 12px}.lesson-transport button{padding:6px 10px;font-size:11px}
#arithmetic-focus{overflow:hidden}.focus-operands{flex:1;min-height:90px;max-height:190px;overflow:hidden}.focus-operands .vector-scroll{max-height:none}.focus-matrix td{font-size:11px;line-height:1.35;padding:2px}.focus-caption{margin-bottom:8px}.focus-result{padding:10px}.focus-result strong{font-size:23px}.focus-result p{font-size:10px!important}.term-list{max-height:48px;margin-top:6px}.step-arithmetic{flex:1;min-height:0;overflow:auto}
.story-token{font-size:13px;padding:5px 8px;background:#fffdf8}.story-caption{font-size:11px;pointer-events:none;background:transparent}.node-label.tensor-heading,.node-label.token-row{pointer-events:none}
@media(max-width:760px){.lesson-top{min-height:52px}#lesson-caption{padding:6px 10px 4px}#lesson-heading{font-size:21px;margin:0 0 3px}#lesson-explanation{font-size:10px}#try-it{font-size:9px;padding:3px 6px;margin-top:4px}#source-trail{padding:2px 10px}.token-strip{min-height:33px;padding:3px 7px}.lesson-transport{min-height:31px;padding:3px 7px}.lesson-transport button{font-size:9px;padding:4px 6px}.story-token{font-size:10px;padding:2px 4px}.story-caption{font-size:8px}.focus-operands{min-height:70px;max-height:130px}.focus-caption{font-size:9px}.focus-result{padding:5px 8px}}
.dataset-lesson #source-trail{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px}.dataset-lesson #source-trail>.trace-origin:first-child{flex:1;font-size:9px}.dataset-lesson #source-trail>.trace-origin:nth-of-type(2){display:none}.dataset-lesson #source-trail .source-token-row{flex-basis:100%;padding:0;font-size:9px;gap:4px}.dataset-lesson #source-trail .source-token-row>span{padding:2px 5px}.dataset-lesson #source-trail .source-token-row>b{font-size:8px;min-width:43px}.dataset-lesson #source-trail .stage-training-actions{margin:0}.dataset-lesson #source-trail .stage-training-actions button{font-size:10px;padding:4px 7px}.dataset-lesson #lesson-heading{font-size:26px}.dataset-lesson #lesson-explanation{font-size:11px}.dataset-lesson #try-it{padding:4px 7px}.dataset-lesson #source-trail select{font-size:9px;max-width:130px}.dataset-lesson #scene-home{min-height:100px}.dataset-lesson #loss-panel{overflow:auto}.dataset-lesson .loss-summary{padding:4px 0}
.lesson-top h1{font-size:27px;white-space:nowrap}.story-caption{font-size:10px}
.inspector.update-selected #arithmetic-focus{overflow:auto}
@media(max-width:760px){.dataset-lesson .lesson-layout{grid-template-rows:minmax(0,58%) minmax(0,42%)}.dataset-lesson #source-trail>.trace-origin:first-child{display:none}.dataset-lesson #source-trail{gap:4px}.dataset-lesson #source-trail .stage-training-actions button{font-size:9px;padding:4px 6px}.dataset-lesson #source-trail [data-action="train"]{display:none}.dataset-lesson #lesson-heading{font-size:21px}.dataset-lesson #lesson-explanation{font-size:10px}.dataset-lesson #source-trail .source-token-row>span{padding:2px 4px}.dataset-lesson #scene-home{min-height:55px}.dataset-lesson .lesson-transport{flex-shrink:0}.dataset-lesson #training-controls{gap:6px}.dataset-lesson #training-controls button{font-size:9px;padding:4px 6px}.dataset-lesson #loss-stat{display:none}.dataset-lesson #arithmetic-focus{overflow:auto}.story-caption{font-size:8px}}
/* Keep a useful scene when the workspace is short or the browser is zoomed. */
@media(max-height:700px) and (min-width:761px){header{height:45px}main{height:calc(100dvh - 48px)}.lesson-top{min-height:54px}.lesson-top h1{font-size:23px}#journey-map{padding:3px 0;gap:4px}#journey-map button{font-size:10px;padding:5px 10px}#lesson-caption{padding:9px 12px 4px}#lesson-kicker{display:none}#lesson-heading{font-size:24px;margin:0 0 4px}#lesson-explanation{font-size:11px}#try-it{font-size:9px;padding:4px 7px;margin-top:5px}#source-trail{padding:0 12px 4px}.world-toolbar{padding:4px 8px;min-height:28px}.world-toolbar button{font-size:9px;padding:3px 5px}.world-footer{display:none}.token-strip{min-height:34px;padding:4px 8px}#tokens button{font-size:10px;padding:3px 6px}.lesson-transport{min-height:35px;padding:4px 8px}.lesson-transport button{font-size:10px;padding:4px 7px}.inspector{padding:10px}.inspector-header h2{font-size:23px}.inspector-header{padding:7px 0 3px}#equation-display{font-size:11px;margin:5px 0;padding:0}.focus-caption{font-size:10px;margin-bottom:6px}.focus-result{padding:7px}.focus-result strong{font-size:20px}.focus-selector{font-size:9px}.focus-matrix h3{font-size:9px}.math-foot{font-size:8px}.expert-mode .pass-bar{min-height:28px;padding:3px 0}.expert-mode .inspector-header>div:last-child{flex-wrap:wrap}.expert-mode #operation-context{font-size:7px;padding-bottom:4px}.dataset-lesson #source-trail .stage-training-actions button{font-size:9px;padding:3px 5px}}

.studies-link{font-size:11px;white-space:nowrap;padding:7px 9px;color:var(--ink);text-decoration:none}.studies-link:hover{text-decoration:underline}
