@charset "UTF-8";
:root{--paper:#f4f1e8;--ink:#24312f;--muted:#59645c;--rust:#a7432c;--green:#346055;--rule:#cccbbd;--ui:'Iowan Old Style','Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;--serif:Georgia,'Times New Roman',serif;--header:50px;--side:clamp(220px,calc(18vw + 35px),280px);--prose:min(650px,calc(100vw - var(--side) - var(--side) - 112px))}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}::selection{background:#e5bbaa;color:var(--ink)}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--rust)}a:focus-visible,button:focus-visible{outline:2px solid var(--rust);outline-offset:4px}button{font-family:var(--ui);color:inherit}.skip-link{position:fixed;top:-100px;left:20px;z-index:30;background:var(--ink);color:var(--paper);padding:12px;font:12px var(--ui)}.skip-link:focus{top:8px}
.masthead{height:var(--header);padding:0 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--rule);font:13px var(--ui)}.masthead>a{text-decoration:none}.edition{font-size:12px;color:var(--muted)}.contents-toggle{display:none}.book-layout{width:calc(var(--prose) + var(--side) + var(--side) + 112px);max-width:100%;margin:auto;padding:0 24px;display:grid;grid-template-columns:var(--side) minmax(0,1fr);gap:32px;align-items:start}.book{min-width:0;width:100%}.contents{position:sticky;top:74px;margin-top:30px;width:230px;max-width:100%;justify-self:end;padding:0 0 12px;max-height:calc(100vh - 96px);overflow:auto;scrollbar-width:thin;font:14px/1.25 var(--ui)}.contents h2{font-size:13px;font-weight:500;color:var(--muted);margin:0 0 13px}.contents ol{list-style:none;padding:0;margin:0}.contents .toc-chapter{margin:0 0 4px}.contents a{display:block;text-decoration:none;color:var(--muted);padding:2px 0 2px 10px;border-left:1px solid transparent}.contents .toc-main[aria-current]{border-color:var(--rust);color:var(--ink)}.contents .toc-subsections{margin:4px 0 8px 10px;padding-left:8px;border-left:1px solid var(--rule)}.contents .toc-subsections a{font-size:13px;line-height:1.23;padding:3px 0}.contents .toc-subsections a.is-current{color:var(--rust)}.contents .back-top{font-size:12px;margin-top:15px}.contents a:hover{color:var(--ink)}
.cover{max-width:var(--prose);padding:38px 0 31px}.cover h1{font-size:52px;line-height:1.08;font-weight:400;letter-spacing:-1.6px;text-wrap:balance;margin:0 0 22px}.subtitle p{font-size:22px;line-height:1.4;max-width:800px;margin:0 0 19px}.subtitle em{font-style:normal}.byline{font:13px/1.5 var(--ui);color:var(--muted);margin:0}.chapter{font-size:17px;line-height:1.64;margin:0 0 48px;scroll-margin-top:14px}.chapter p{max-width:var(--prose);text-align:justify;hyphens:auto;hyphenate-limit-chars:8 3 3;-webkit-hyphenate-limit-lines:2;margin:0 0 1.05em}.chapter h2{font-size:32px;line-height:1.2;font-weight:400;letter-spacing:-.45px;max-width:var(--prose);text-wrap:balance;border-top:1px solid var(--rule);padding-top:26px;margin:0 0 23px;scroll-margin-top:14px}.chapter h3{font-size:25px;line-height:1.25;font-weight:400;letter-spacing:-.25px;max-width:var(--prose);margin:35px 0 18px;scroll-margin-top:14px}.chapter h2+h3,.chapter h2+.subsection>h3{margin-top:0}.chapter em{font-style:italic}.chapter code{font:12px/1.5 'SFMono-Regular',Consolas,monospace;background:#e9e4d7;padding:2px 4px;border-radius:2px;overflow-wrap:anywhere}.chapter .note-ref{font:9px var(--ui);line-height:0;vertical-align:super;margin-left:2px}.note-ref a{color:var(--rust);text-decoration:none;padding:3px 1px;scroll-margin-top:15px}.chapter.preface{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:29px}.chapter.preface h2{font-size:20px;border:0;padding-top:0;margin-bottom:12px;letter-spacing:0;color:var(--ink)}.chapter.preface p{margin:0;text-align:left}.chapter p[data-questions]{font-size:23px;line-height:1.45;text-align:left;border-left:2px solid var(--rust);padding-left:19px;margin:27px 0}.source-callout{max-width:var(--prose);border-left:1px solid var(--rule);padding-left:18px;font-size:15px;line-height:1.7;color:var(--muted);margin:27px 0}.source-callout h4{font:11px/1.5 var(--ui);font-weight:500;color:var(--ink);margin:0 0 13px}.source-callout p{margin-bottom:15px}
.illustrated-layout{display:grid;grid-template-columns:minmax(0,var(--prose)) var(--side);gap:32px;align-items:start}.subsection-text{min-width:0}.context-text{font-size:17px;line-height:1.64;min-width:0}.context-step{padding-bottom:23px}.context-step p{margin:0}.context-step:last-child{padding-bottom:0}figure{margin:32px 0;font-family:var(--ui);min-width:0}figure figcaption{font:13px/1.45 var(--ui);color:var(--muted);margin:14px 0 0;max-width:none;text-align:left;hyphens:auto}.figure-number{color:var(--ink)}.concept-figure{position:sticky;top:74px;margin:0;padding-top:11px;border-top:1px solid var(--rule);background:var(--paper)}.concept-figure h4{font:21px/1.2 var(--serif);font-weight:400;color:var(--green);margin:0 0 15px}.concept-figure h5{font:15px/1.3 var(--ui);font-weight:500;margin:0 0 11px}.concept-figure p{text-align:left;hyphens:none;margin:0}.concept-figure .figure-label{font:21px/1.2 var(--serif);color:var(--green);margin-bottom:19px}
/* Qualitative distinction between storage and current retrieval. */
.axis-title{font:14px/1.25 var(--ui);color:var(--green)}.axis-title span{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}.memory-plot{width:100%;height:auto;overflow:visible;display:block;margin:10px 0 3px}.plot-axis{fill:none;stroke:#8b998b;stroke-width:1}.plot-grid{fill:none;stroke:var(--rule);stroke-dasharray:3 5;stroke-width:.7}.memory-plot text{font:15px var(--ui);fill:var(--ink)}.memory-plot .plot-tick{font-size:13px;fill:var(--muted)}.memory-a circle{fill:var(--rust)}.memory-b circle{fill:var(--green)}.memory-b{transition:transform .65s}.cue-path{fill:none;stroke:var(--green);stroke-dasharray:3 4;opacity:0;transition:opacity .3s}.with-cue .memory-b{transform:translateY(-126px)}.with-cue .cue-path{opacity:.6}.storage-title{text-align:right!important;margin-top:0!important}.memory-legend{font:14px/1.35 var(--ui);margin:14px 0 10px}.memory-legend p{margin-bottom:5px}.memory-legend b{font-weight:500;display:inline-block;width:19px;color:var(--green)}.memory-legend p:first-child b{color:var(--rust)}.cue-toggle{display:flex;gap:16px;align-items:center;justify-content:space-between;background:none;border:0;border-bottom:1px solid var(--rule);width:100%;padding:8px 0 9px;font-size:13.5px;text-align:left;cursor:pointer}.cue-toggle:hover{border-color:var(--green)}.cue-toggle>span{font-size:16px;color:var(--green)}
.bibliography{font-size:14px;line-height:1.65}.bibliography p{margin-bottom:20px;text-align:left}.bibliography a,.notes a,.note-content a{overflow-wrap:anywhere}.notes-section{font:14px/1.6 var(--ui);max-width:var(--prose)}.notes-section h2{font-family:var(--serif)}.notes{padding-left:23px;margin:0}.notes li{padding:0 0 19px 6px;scroll-margin-top:14px}.notes li>p{margin:0;text-align:left}.notes li::marker{font-size:10px;color:var(--rust)}.note-back{display:inline-block;font-size:9px;color:var(--muted);margin-top:5px;text-decoration:none}.notes li:target{outline:7px solid #e8e6db;background:#e8e6db}footer{max-width:var(--prose);border-top:1px solid var(--rule);padding:20px 0 32px;margin-top:40px;font:9px/1.6 var(--ui);color:var(--muted)}.note-dialog{width:min(520px,calc(100% - 40px));max-height:80vh;overflow:auto;border:1px solid var(--rule);background:var(--paper);color:var(--ink);padding:28px;box-shadow:0 10px 70px #24312f18}.note-dialog::backdrop{background:#24312f20}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-header h2{font:22px var(--serif);margin:0}.dialog-header button{border:0;background:transparent;padding:8px 0 8px 12px;font-size:11px;cursor:pointer}.dialog-header button span{font-size:18px;margin-left:8px}.note-content{font:14px/1.8 var(--ui)}.note-content p{margin:0}.all-notes{display:inline-block;font:11px var(--ui);margin-top:24px;color:var(--muted)}
@media(max-width:1200px) and (min-width:1001px){.cover h1{font-size:48px}}
@media(max-width:1000px){:root{--header:48px;--prose:100%}html{scroll-padding-top:70px}.masthead{padding:0 22px}.edition{display:none}.contents-toggle{display:flex;align-items:center;gap:12px;font-size:14px;border:0;background:transparent;padding:10px 0;cursor:pointer}.contents-toggle span{font-size:14px}.book-layout{display:block;width:100%;max-width:700px;padding:0 23px}.contents{display:none;position:fixed;left:0;right:0;top:48px;bottom:0;max-height:none;width:auto;z-index:9;overflow:auto;margin:0;padding:23px;background:var(--paper);font-size:16px;justify-self:auto}.contents.is-open{display:block;overscroll-behavior:contain}.contents h2{font-size:14px;margin-bottom:17px}.contents .toc-chapter{margin-bottom:7px;max-width:500px}.contents .toc-subsections{margin-top:6px;margin-bottom:12px}.contents .toc-subsections a{font-size:15px;padding:5px 0}.contents .back-top{font-size:13px}.cover{padding:33px 0 29px}.cover h1{font-size:39px;line-height:1.1;letter-spacing:-1.2px;margin-bottom:20px;text-wrap:initial}.subtitle p{font-size:20px;margin-bottom:18px}.byline{font-size:13px}.chapter{font-size:17px;line-height:1.67;margin-bottom:42px}.chapter h2{font-size:30px;padding-top:24px;margin-bottom:21px;scroll-margin-top:10px}.chapter h3{font-size:24px;margin-top:29px;margin-bottom:17px;scroll-margin-top:10px}.chapter p{margin-bottom:1.05em;text-align:left}.chapter p[data-questions]{font-size:22px;padding-left:16px;margin:25px 0}.chapter.preface{font-size:13px;margin-bottom:25px}.chapter.preface h2{font-size:20px;margin-bottom:11px}.chapter code{font-size:11px}.source-callout{font-size:14px;padding-left:15px;margin:24px 0}.illustrated-layout{display:block}.concept-figure{position:static;max-width:380px;margin:27px auto 31px;padding-top:17px}.concept-figure h4{font-size:21px}.memory-plot{width:280px;max-width:100%;margin:15px auto 5px}.axis-title{font-size:14px}.memory-legend{font-size:14px}.cue-toggle{font-size:14px}.context-text{font-size:17px;line-height:1.67}.context-step{padding-bottom:21px}figure figcaption{font-size:13px;line-height:1.45}.bibliography{font-size:13px}.notes-section{font:14px/1.6 var(--ui)}.notes li{scroll-margin-top:10px}.note-ref a{scroll-margin-top:10px}footer{font-size:12px;margin-top:30px;padding-bottom:25px}}
@media(max-width:370px){.book-layout{padding:0 21px}.masthead{padding:0 21px}.cover h1{font-size:36px;letter-spacing:-1.3px}.subtitle p{font-size:18px}.chapter{font-size:16.5px}.context-text{font-size:16.5px}.chapter h2{font-size:28px}.chapter h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.masthead,.contents,.skip-link,.note-dialog,.cue-toggle{display:none!important}.book-layout{display:block;width:100%;padding:0;max-width:none}.book{max-width:none}.cover{padding:0 0 25px}.cover h1{font-size:34pt}.chapter{font-size:11pt;line-height:1.5;margin-bottom:28px}.chapter p,.chapter h2,.chapter h3{max-width:none}.chapter h2{font-size:22pt;padding-top:23px}.chapter h3{font-size:16pt;margin-top:23px}.illustrated-layout{display:block}.context-text{font-size:11pt}.concept-figure{position:static;max-width:320px;margin:20px auto;break-inside:avoid}.context-step{padding-bottom:15px}.chapter .note-ref{font-size:7pt}.chapter code{font-size:9pt}.bibliography,.notes-section{font-size:9pt}.source-callout{font-size:10pt}figure{break-inside:avoid}a{color:inherit}footer{font-size:8pt}.note-back{display:none}}

/* Concept figures use the reading width when a side column would obscure the relation. */
.loop-figure{max-width:var(--prose);margin:32px 0 35px;padding:22px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);position:static}
.loop-figure h4{font:23px/1.25 var(--serif);font-weight:400;color:var(--green);margin:0 0 19px}
/* The same validity exercise separates the course frame, roles, and current evidence. */
.case-sequence{display:grid;grid-template-columns:minmax(0,var(--prose)) var(--side);gap:32px;align-items:start}
.case-text{min-width:0}
.case-figure{margin-top:35px}
.case-persistent{border-left:1px solid var(--rule);padding-left:10px}
.case-project-label{display:block;font:12px/1.3 var(--ui);color:var(--muted);margin:0 0 3px!important;padding-left:11px;transition:color .4s ease}
.case-field{padding:10px 8px 11px 10px;border-left:2px solid transparent;transition:background .45s ease,border-color .45s ease}
.case-field+.case-field{border-top:1px solid var(--rule)}
.case-field h5{font:12.5px/1.3 var(--ui);color:var(--muted);margin:0 0 6px}
.case-field .case-question{font:16px/1.3 var(--serif);color:var(--green);margin:0 0 8px!important}
.case-field p,.case-field li,.case-roles{font:14px/1.4 var(--ui);color:var(--ink);margin:0!important;text-align:left!important}
.case-field p+p{margin-top:6px!important}
.case-field ul{padding:0 0 0 16px;margin:0}
.case-field li+li{margin-top:5px!important}
.case-field.is-active{border-left-color:var(--green);background:#34605509}
.case-roles{display:grid;gap:5px}
.case-roles>div{display:grid;grid-template-columns:22px 1fr;gap:6px}
.case-roles dt{color:var(--green)}
.case-roles dd{margin:0}
.case-process{margin-top:13px;border-left:1px dashed var(--rust);padding-left:12px}
.case-field .case-open-question{color:var(--rust)}
.case-field .case-handover-label{display:block;font:12px/1.35 var(--ui);color:var(--muted);margin-top:10px!important}
.case-figure[data-case-state="3"] .case-project-label{color:var(--green)}
.case-figure[data-case-state="3"] .case-persistent{border-color:var(--green)}
.case-figure[data-case-state="3"] .case-handover-label{color:var(--rust)}
/* The harness carries the call and the result; one path closes the loop. */
.harness-frame{border:1px solid var(--rule);padding:16px 18px 12px}
.harness-title{font:14px/1.3 var(--ui);color:var(--green);margin:0 0 23px!important;text-align:left!important}
.agent-flow{display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:start;column-gap:17px}
.agent-flow h5{font:16px/1.35 var(--ui);font-weight:400;margin:0 0 8px}
.agent-flow p{font:16px/1.35 var(--serif);text-align:left!important;hyphens:none;margin:0!important}
.agent-call{color:var(--green)}
.agent-call h5{color:var(--rust)}
.agent-call p{font-size:15px}
.agent-call svg{width:100%;height:16px;display:block;margin-top:8px;stroke:var(--green);stroke-width:1.8;fill:none}
.agent-context-label{display:block;font:12.5px/1.3 var(--ui);color:var(--muted);margin-top:7px}
.agent-return{grid-column:1/-1;position:relative;height:90px;margin-top:12px}
.agent-return svg{display:block;width:100%;height:70px;stroke:var(--green);stroke-width:1.2;fill:none;vector-effect:non-scaling-stroke}
.agent-return>span{position:absolute;left:18%;right:18%;top:44px;background:var(--paper);padding:0 8px;text-align:center;font:13px/1.4 var(--ui);color:var(--green)}
@media(max-width:1000px){
  .case-sequence{display:flex;flex-direction:column}
  .case-figure{position:static;order:-1;width:100%;max-width:none;margin:10px 0 7px}
}
@media(max-width:500px){
  .agent-flow{column-gap:10px;grid-template-columns:1fr 1.25fr 1fr}
  .harness-frame{padding:14px 12px 10px}
  .agent-flow h5{font-size:14px}
  .agent-flow p{font-size:15px}
  .agent-call p{font-size:14px;hyphens:manual;overflow-wrap:normal}
  .agent-return>span{left:8%;right:8%;font-size:12px}
}
@media print{.case-sequence{display:block}.case-figure{position:static;max-width:100%;margin:20px 0}.loop-figure{max-width:100%}}

/* Images are part of the reading edition and are stored locally. */
.media-figure,.context-bar-figure{max-width:var(--prose);margin:33px 0 36px;position:static}
.media-figure h4,.context-bar-figure h4{font:23px/1.25 var(--serif);font-weight:400;color:var(--green);margin:0 0 20px}
.media-figure img{display:block;width:100%;height:auto;max-width:100%}
.bloom-figure img{width:min(100%,550px);margin:0 auto}
.twitch-figure img{max-width:580px;margin:0 auto;background:#000}
.film-figure img{background:#24312f}
.zipper-display{width:220px;max-width:100%;margin:0 auto;background:var(--paper)}
.zipper-display img{width:220px;max-width:100%;mix-blend-mode:multiply}
.zipper-poster svg{display:block;width:100%;height:220px;stroke:var(--green);fill:none;stroke-width:3}
.zipper-poster .zipper-teeth{stroke-width:8}
.animation-toggle{display:block;margin:12px auto 0;background:none;border:0;border-bottom:1px solid var(--rule);padding:6px 0;font:14px/1.4 var(--ui);cursor:pointer;color:var(--green)}
.ocr-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ocr-label{font:14px/1.3 var(--ui);color:var(--muted);margin:0 0 12px!important;text-align:left!important}
.scan-example,.extraction-example{min-height:155px;display:flex;align-items:center;padding:25px 20px;border:1px solid var(--rule)}
.scan-example{background:repeating-linear-gradient(2deg,#e9e6dc44 0px,#e9e6dc44 1px,transparent 1px,transparent 4px);transform:rotate(-.6deg)}
.scan-example p,.extraction-example p{font:20px/1.5 var(--serif);text-align:left!important;margin:0!important;hyphens:none}
.scan-example em{font-style:normal;border-bottom:1px solid var(--green)}
.missing-word{border-bottom:2px dashed var(--rust)}
.context-bar-figure{padding:20px 0 0;border-top:1px solid var(--rule)}
.context-zones{position:relative;display:grid;grid-template-columns:68% 32%;align-items:end;font:14px/1.3 var(--ui);padding:0 0 18px;margin-bottom:10px;color:var(--green)}
.context-zones span:last-child{color:var(--muted);transition:color .35s}
.context-zones .zone-term{display:block;font-size:12px;font-style:italic;margin-top:2px}
.has-context-rot .context-zones>span:last-child{color:var(--rust)}
.context-zones:before,.context-zones:after{content:'';position:absolute;left:0;right:0;bottom:0;height:7px}
.context-zones:before{background:linear-gradient(to right,#71927e 0%,#92a48c 60%,#beb8a6 76%,#beb8a6 100%);opacity:.65}
.context-zones:after{background:linear-gradient(to right,transparent 60%,#a7432c 80%,#a7432c 100%);opacity:var(--zone-heat,0);transition:opacity .35s}
.context-capacity{height:48px;display:flex;overflow:hidden;border:1px solid #8a998b}
.context-capacity>span{min-width:0;border-right:1px solid var(--paper);transition:flex .35s}
.context-capacity>span:last-child{border:0}
.capacity-instructions{background:#36594e}.capacity-task{background:#6d8876}.capacity-sources{background:#a4b69c}.capacity-history{background:#c4b392}.capacity-free{background:transparent}.context-capacity>.capacity-free{border-right:0}.capacity-output{background:repeating-linear-gradient(135deg,transparent,transparent 4px,#a1ad9d 4px,#a1ad9d 5px)}
.capacity-key{list-style:none;display:flex;flex-wrap:wrap;gap:9px 19px;padding:0;margin:14px 0 18px;font:13px/1.3 var(--ui);color:var(--muted)}
.capacity-key li{display:flex;align-items:center;gap:7px}
.capacity-key i{display:inline-block;width:12px;height:12px;flex-shrink:0}
.history-control{display:flex;align-items:center;gap:22px;font:14px/1.3 var(--ui);color:var(--ink)}
.history-control input{flex:1;min-width:0;max-width:290px;accent-color:var(--green);cursor:pointer}
@media(max-width:500px){.media-figure h4,.context-bar-figure h4{font-size:21px}.ocr-comparison{gap:15px}.scan-example,.extraction-example{min-height:145px;padding:18px 12px}.scan-example p,.extraction-example p{font-size:16px}.capacity-key{gap:8px 12px;font-size:13px}.history-control{gap:14px}.context-capacity{height:42px}.context-zones{font-size:13px}}
@media print{.animation-toggle,.history-control{display:none}.media-figure,.context-bar-figure{max-width:100%;break-inside:avoid}.zipper-display img{display:none}.zipper-poster{display:block!important}}

/* Shared interaction language: visible controls, restrained motion. */
:root{--ease:cubic-bezier(.22,1,.36,1);--control-bg:#3460550a;--control-hover:#34605513}
a,button,summary{touch-action:manipulation}
a{transition:color .2s ease,text-decoration-color .2s ease}
button,input,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--rust);outline-offset:4px}
.toc-row{display:flex;align-items:start}
.contents .toc-main{flex:1;min-width:0}
.toc-disclosure{width:25px;min-height:24px;flex-shrink:0;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:1px 3px}
.toc-disclosure span{display:block;font:17px/1 var(--ui);transition:transform .35s var(--ease),color .2s ease}
.toc-chapter.is-expanded .toc-disclosure span{transform:rotate(180deg)}
.toc-disclosure:hover{background:var(--control-hover);color:var(--green)}
.has-js .toc-reveal{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .38s var(--ease),opacity .23s ease,visibility .38s}
.has-js .toc-reveal>div{min-height:0;overflow:hidden}
.has-js .toc-chapter.is-expanded .toc-reveal{grid-template-rows:1fr;opacity:1;visibility:visible}
.contents a:hover,.contents a:focus-visible{background:var(--control-bg)}
.cue-toggle,.animation-toggle,.loop-play{border:1px solid #8b9f91;border-radius:3px;background:var(--control-bg);padding:9px 12px;min-height:38px;color:var(--green);cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .2s var(--ease)}
.cue-toggle:hover,.animation-toggle:hover,.loop-play:hover{background:var(--control-hover);border-color:var(--green)}
.cue-toggle:active,.animation-toggle:active,.loop-play:active{transform:translateY(1px)}
.cue-toggle[aria-pressed="true"],.animation-toggle[aria-pressed="true"],.loop-play[aria-pressed="true"]{background:#34605518;border-color:var(--green)}
.cue-toggle>span{border:1px solid #8b9f91;border-radius:50%;width:23px;height:23px;flex-shrink:0;display:grid;place-items:center;font-size:15px}
.animation-toggle:before,.loop-play:before{content:'▶';font-size:10px;display:inline-block;margin-right:9px;vertical-align:1px}
.animation-toggle[aria-pressed="true"]:before,.loop-play[aria-pressed="true"]:before{content:'■'}
.memory-b{transition:transform .85s var(--ease)}
.cue-path{transition:opacity .45s ease}
.note-ref a{border-bottom:1px solid #a7432c55;background:#a7432c09;border-radius:2px}
.note-ref a:hover{background:#a7432c1c}
.note-dialog[open]{animation:note-in .26s var(--ease)}
@keyframes note-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.context-capacity>span{transition:flex .16s ease-out}
.context-zones:after{transition:opacity .22s ease-out}
.history-control{padding:7px 10px;border:1px solid var(--rule);border-radius:3px;background:var(--control-bg)}
.history-control input{max-width:none;height:28px;cursor:ew-resize}
.history-readout{display:block;text-align:right;font:13px/1.3 var(--ui);color:var(--muted);margin:6px 0 0}
.loop-controls{display:flex;align-items:center;gap:16px;margin-top:15px;min-height:48px}
.loop-play{font:14px/1.3 var(--ui);flex-shrink:0}
.loop-status{font:13px/1.4 var(--ui);color:var(--muted)}
.agent-model,.agent-call,.agent-tool{border-radius:2px;transition:background .5s ease,box-shadow .5s ease}
.agent-call svg,.agent-return svg{transition:stroke .4s ease}
.loop-figure[data-loop-step="1"] .agent-model,.loop-figure[data-loop-step="1"] .agent-call,.loop-figure[data-loop-step="2"] .agent-tool{background:#34605516;box-shadow:0 0 0 7px #34605516}
.loop-figure[data-loop-step="1"] .agent-call svg,.loop-figure[data-loop-step="3"] .agent-return svg{stroke:var(--rust)}
.loop-figure[data-loop-step="3"] .agent-return>span{color:var(--rust)}
.text-break{border:0;border-top:1px solid var(--rule);max-width:var(--prose);margin:33px 0}
.illustration-sources{max-width:var(--prose);border-top:1px solid var(--rule);margin:30px 0 0;padding-top:15px;font:13px/1.55 var(--ui);color:var(--muted)}
.illustration-sources summary{width:fit-content;cursor:pointer;color:var(--green);text-decoration:underline;text-underline-offset:4px;padding:6px 0}
.illustration-sources .source-list{padding-top:10px}
.illustration-sources p{margin:0 0 13px;scroll-margin-top:20px}
.illustration-sources strong{font-weight:500;color:var(--ink)}
@media(max-width:500px){.loop-controls{align-items:start;flex-direction:column;gap:9px;min-height:86px}.toc-disclosure{width:36px;min-height:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Reading cues remain distinct from the chapter hierarchy. */
.chapter p[data-questions]{font-size:19px;line-height:1.5;margin:23px 0}
.contents .toc-subsections a.is-current{color:var(--rust);background:#a7432c0a;border-left-color:var(--rust);font-weight:600;padding-left:7px}
.chapter .note-ref{font:12px/1 var(--ui);line-height:0;vertical-align:super;margin-left:3px}
.note-ref a{display:inline-flex;align-items:center;justify-content:center;min-width:19px;min-height:20px;padding:1px 4px;border:1px solid #a7432c66;border-radius:3px;background:#a7432c0b;color:#813b29;font-weight:500;text-decoration:none}
.note-ref a:hover,.note-ref a:focus-visible{background:#a7432c20;border-color:var(--rust)}
.notes-section{font:15px/1.65 var(--ui)}
.notes-section .notes-intro{font:15px/1.5 var(--ui);color:var(--muted);margin:0 0 23px;text-align:left}
.notes li::marker{font-size:12px}
.note-back{font-size:12px}
.note-purpose{font:14px/1.4 var(--ui);color:var(--green);margin:0 0 17px}
.all-notes{font-size:14px}
@media(max-width:1000px){.chapter p[data-questions]{font-size:18px}.chapter .note-ref{font-size:12px}}
@media print{.chapter .note-ref{font-size:8pt}.note-ref a{display:inline;min-height:0;min-width:0;border:0;background:none;padding:0}}

/* A shared diagram makes the change between training and use explicit. */
.token-figure{max-width:var(--prose);border-block:1px solid var(--rule);padding:22px 0 20px}
.token-figure h4{font:23px/1.25 var(--serif);font-weight:400;color:var(--green);margin:0 0 17px}
.token-modes{display:flex;gap:5px;margin-bottom:22px}
.token-modes button,.token-controls button{font:14px/1.3 var(--ui);padding:8px 12px;cursor:pointer;border:1px solid var(--rule);border-radius:3px;background:transparent;transition:background .2s,border-color .2s}
.token-modes button[aria-pressed=true]{background:#34605515;border-color:var(--green);color:var(--green)}
.token-modes button:hover,.token-controls button:hover{background:#34605510;border-color:var(--green)}
.token-flow{display:grid;grid-template-columns:minmax(0,1fr) 21px minmax(0,1fr) 21px minmax(0,1fr);gap:7px;align-items:center}
.token-flow h5{font:16px/1.3 var(--ui);font-weight:500;margin:0 0 13px}
.token-pieces{display:flex;gap:4px;flex-wrap:wrap;min-height:64px;align-content:center}
.token-pieces span{display:inline-block;padding:4px 6px;border:1px solid #34605566;border-radius:3px;background:#34605508;font:15px/1.2 var(--ui)}
.token-detail{display:block;font:12px/1.3 var(--ui);color:var(--muted);margin-top:9px}
.token-arrow{color:var(--green);font-size:22px;text-align:center}
.token-model{text-align:center;border:1px solid #34605588;border-radius:5px;padding:17px 9px;background:#34605507;transition:background .3s}
.token-parameters{display:grid;gap:10px;margin:20px 8px}
.token-parameters i{display:block;height:1px;background:#34605566;position:relative}
.token-parameters i:after{content:'';position:absolute;left:var(--position);top:-3px;width:7px;height:7px;border-radius:50%;background:var(--green);transition:left .55s ease}
.token-param-label{font:13px/1.3 var(--ui);display:block;min-height:34px}
.token-options{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.token-options li{position:relative;isolation:isolate;display:flex;justify-content:space-between;gap:4px;padding:4px 6px;font:14px/1.2 var(--ui);border:1px solid transparent;border-radius:2px}
.token-options li:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(to right,#34605520 var(--probability),transparent var(--probability))}
.token-options li.is-target{border-color:var(--rust)}
.token-options li.is-sampled{border-color:var(--green);background:#34605518}
.token-return{display:flex;gap:8px;align-items:baseline;border-top:1px solid var(--rule);padding-top:13px;margin:19px 0 15px;font:14px/1.45 var(--ui);color:var(--green)}
.token-return>span:first-child{display:none}
.token-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.token-controls .token-next{background:#34605512;border-color:#34605580}
.token-controls .token-reset{color:var(--muted);border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.token-controls button:disabled{opacity:.65;cursor:default}
.token-status{display:block;min-height:47px;font:14px/1.5 var(--ui);margin-top:12px;color:var(--muted)}
.token-new{animation:token-appear .35s ease both}
@keyframes token-appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
html:not(.has-js) .token-controls,html:not(.has-js) .token-modes{display:none}
@media(max-width:500px){.token-flow{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.token-distribution{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr;column-gap:17px;align-items:start;border-top:1px solid var(--rule);padding-top:14px;margin-top:10px}.token-distribution h5{grid-column:1}.token-options{grid-column:2;grid-row:1/3}.token-distribution .token-detail{grid-column:1;margin-top:0}.token-flow>.token-arrow:nth-of-type(2){display:none}.token-pieces{min-height:60px}.token-return{margin-top:17px}.token-status{min-height:66px}.token-figure h4{font-size:21px}}
@media print{.token-controls,.token-modes{display:none}}

@media(max-width:500px){.token-distribution h5:before{content:"↓ ";color:var(--green)}}

/* The reader starts one complete token step, with visible movement and a fixed pace. */
.token-figure{position:relative}
.token-modes{margin-bottom:18px}
.token-return{min-height:36px;margin:19px 0 12px;padding-top:11px}
.token-status{min-height:43px;margin-top:10px;color:var(--ink)}
.token-parameters i:after{width:9px;height:9px;top:-4px;transition:left .85s ease}
.token-model{transition:background .3s,box-shadow .3s,border-color .3s}
.token-figure[data-token-phase=compute] .token-model{background:#34605520;box-shadow:0 0 0 5px #34605510;border-color:var(--green)}
.token-figure[data-token-phase=compute] .token-arrow{animation:token-arrow-pulse .85s ease both}
.token-figure[data-token-phase=adjust] .token-model{background:#a7432c12;border-color:var(--rust);box-shadow:0 0 0 5px #a7432c10}
.token-figure[data-token-phase=adjust] .token-param-label{color:var(--rust)}
.token-options li{transition:background .3s,border-color .3s}
.token-options li.is-target{background:#a7432c12}
.token-options li.is-sampled{background:#34605525}
.token-figure[data-token-phase=choose] .is-target,.token-figure[data-token-phase=choose] .is-sampled{animation:token-choice .6s ease both}
.token-flight{position:absolute;z-index:2;font:15px/1.2 var(--ui);padding:4px 6px;border:1px solid var(--green);border-radius:3px;background:var(--paper);box-shadow:0 2px 8px #24312f22;pointer-events:none}
.token-controls .token-next{min-width:165px;min-height:38px}
.token-controls button:disabled{opacity:.75}
@keyframes token-arrow-pulse{0%,100%{opacity:.55;transform:translateX(0)}50%{opacity:1;color:var(--rust);transform:translateX(5px)}}
@keyframes token-choice{0%{transform:scale(1)}45%{transform:scale(1.06)}100%{transform:scale(1)}}
.context-capacity>.capacity-reasoning{border-right:0;background:repeating-linear-gradient(135deg,#b4785b,#b4785b 5px,#c79479 5px,#c79479 7px)}
.capacity-key .capacity-reasoning{background:repeating-linear-gradient(135deg,#b4785b,#b4785b 3px,#c79479 3px,#c79479 5px)}
.context-capacity>span{min-width:0}
.reasoning-controls{display:flex;gap:13px;align-items:center;margin-top:10px;font:13px/1.4 var(--ui);color:var(--muted)}
.reasoning-toggle{font:14px/1.3 var(--ui);padding:8px 12px;min-height:37px;border:1px solid #8b9f91;border-radius:3px;background:var(--control-bg);color:var(--green);cursor:pointer;flex-shrink:0;transition:background .25s,border-color .25s}
.reasoning-toggle:hover{background:var(--control-hover);border-color:var(--green)}
.reasoning-toggle[aria-pressed=true]{background:#a7432c10;border-color:#a7432c88;color:#813b29}
.history-readout{min-height:36px;text-align:left}
@media(max-width:500px){.token-model{padding:13px 8px}.token-param-label{font-size:13px}.token-status{min-height:66px}.token-return{min-height:52px}.token-controls .token-next{min-width:0}.reasoning-controls{align-items:start;gap:10px}.reasoning-controls>span{padding-top:3px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.reasoning-controls{display:none}}
