@font-face{font-family:Source Serif;src:url("vendor/katex/fonts/KaTeX_Main-Regular.woff2") format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Source Serif;src:url("vendor/katex/fonts/KaTeX_Main-Bold.woff2") format("woff2");font-weight:700;font-display:swap}@font-face{font-family:EE Mono;src:url("vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2") format("woff2");font-display:swap}
:root{--ink:#22201c;--ink-soft:#45413a;--paper:#f3f1ec;--paper-deep:#e8e4db;--paper-lift:#faf9f5;--rule:#c7c0b5;--rule-soft:#ded9cf;--muted:#716b62;--accent:#9e3f2e;--accent-deep:#742b20;--link:#315b75;--store:#2e6b5b;--dissipate:#a94b34;--warn:#9e6723;--phase:#68727c;--font-serif:"Source Serif",Charter,"Iowan Old Style",Georgia,serif;--font-sans:"Arial Narrow","Avenir Next Condensed","Helvetica Neue",Arial,sans-serif;--font-mono:"EE Mono","SFMono-Regular",Consolas,monospace;--measure:69ch;--nav-width:22rem;--header-height:4.5rem;color-scheme:light}
*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-padding-top:calc(var(--header-height) + 1rem);text-rendering:optimizeLegibility}body{margin:0;min-width:20rem;background:var(--paper);color:var(--ink);font:400 clamp(1.03rem,1rem + .14vw,1.13rem)/1.72 var(--font-serif)}a{color:var(--link);text-decoration-color:color-mix(in srgb,var(--link) 55%,transparent);text-decoration-thickness:.07em;text-underline-offset:.18em;transition:text-decoration-color .18s ease,text-decoration-thickness .18s ease}a:hover{color:var(--ink);text-decoration-color:var(--accent);text-decoration-thickness:.13em}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}button,input{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{position:fixed;z-index:100;inset:.75rem auto auto .75rem;padding:.65rem .9rem;background:var(--ink);color:var(--paper);transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;gap:2rem;min-height:var(--header-height);padding:.6rem clamp(1rem,2.3vw,2.25rem);border-bottom:1px solid var(--rule-soft);background:linear-gradient(to bottom,var(--paper-lift),color-mix(in srgb,var(--paper-deep) 20%,var(--paper)));backdrop-filter:blur(16px) saturate(1.35);-webkit-backdrop-filter:blur(16px) saturate(1.35);box-shadow:0 .5rem 1.1rem -.95rem rgb(34 32 28/.4);font:600 .76rem/1.2 var(--font-sans);letter-spacing:.02em}.site-header::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--accent) 0,var(--accent-deep) 38%,color-mix(in srgb,var(--accent) 22%,transparent) 78%,transparent)}.brand{display:inline-flex;align-items:center;gap:.9rem;color:var(--ink);text-decoration:none}.brand:hover{color:var(--ink)}.brand-mark{position:relative;display:grid;place-items:center;width:2.55rem;height:2.55rem;border-radius:3px;background:linear-gradient(140deg,#3b3831,var(--ink) 60%,#1a1713);color:var(--paper);font:700 .82rem/1 var(--font-mono);letter-spacing:.08em;box-shadow:inset 0 1px 0 rgb(255 255 255/.14),0 3px 9px rgb(34 32 28/.3);transition:transform .18s ease}.brand-mark::after{content:"";position:absolute;inset:auto .38rem .3rem;height:1px;background:linear-gradient(90deg,var(--accent) 0 58%,transparent)}.brand:hover .brand-mark{transform:translateY(-1px)}.brand strong,.brand small{display:block}.brand strong{font:400 1.08rem/1 var(--font-serif);font-style:italic;letter-spacing:.015em;color:var(--ink)}.brand small{margin-top:.24rem;color:var(--muted);font:700 .56rem/1 var(--font-sans);text-transform:uppercase;letter-spacing:.17em}.header-actions{display:flex;align-items:center;gap:1rem;margin-left:auto}.palette-button{display:inline-flex;align-items:center;gap:.62rem;min-height:2.4rem;padding:.42rem .85rem;border:1px solid var(--rule);border-radius:999px;background:linear-gradient(to bottom,var(--paper-lift),var(--paper));color:var(--ink-soft);box-shadow:0 1px 2px rgb(34 32 28/.07);font:600 .67rem/1 var(--font-sans);text-transform:uppercase;letter-spacing:.1em;transition:border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.palette-button::before{content:"⌕";display:inline-block;color:var(--accent);font:400 1rem/1 var(--font-mono);transform:rotate(-20deg)}.palette-button kbd{padding:.2rem .42rem;border:1px solid var(--rule-soft);border-radius:4px;background:var(--paper-deep);color:var(--muted);font:500 .6rem/1 var(--font-mono);letter-spacing:.02em}.palette-button:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--rule));color:var(--accent-deep);box-shadow:0 2px 7px rgb(34 32 28/.12);transform:translateY(-1px)}.palette-button:hover::before{color:var(--accent-deep)}.about-link{position:relative;display:inline-flex;align-items:center;color:var(--ink-soft);text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:.64rem;transition:color .18s ease}.about-link::after{content:"";position:absolute;inset:auto 0 -.38rem;height:1px;background:var(--accent);transform:scaleX(.3);transform-origin:left;transition:transform .2s ease}.about-link:hover{color:var(--ink)}.about-link:hover::after{transform:scaleX(1)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border:1px solid var(--rule);border-radius:999px;background:linear-gradient(to bottom,var(--paper-lift),var(--paper));color:var(--ink-soft);box-shadow:0 1px 2px rgb(34 32 28/.07);cursor:pointer;transition:border-color .18s ease,color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;padding:0}.theme-toggle svg{width:15px;height:15px;transition:stroke .3s ease,color .3s ease}.theme-toggle:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--rule));color:var(--accent-deep);box-shadow:0 2px 7px rgb(34 32 28/.12);transform:translateY(-1px)}
.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:999px}
.theme-toggle:active{transform:translateY(0) scale(.96)}
.dark-mode .theme-toggle:hover{border-color:rgba(255,255,255,.15)}
.reading-meter{position:absolute;inset:auto 0 -1px;width:100%;height:2px;border:0;background:linear-gradient(90deg,transparent,var(--rule-soft) 5%,var(--rule-soft) 95%,transparent);color:var(--accent);appearance:none}.reading-meter::-webkit-progress-bar{background:transparent}.reading-meter::-webkit-progress-value{background:linear-gradient(90deg,var(--accent),var(--accent-deep));border-radius:0 1px 1px 0}.reading-meter::-moz-progress-bar{background:linear-gradient(90deg,var(--accent),var(--accent-deep))}
.book-nav{position:fixed;z-index:15;inset:var(--header-height) auto 0 0;width:var(--nav-width);overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none;background:#f7f5f0;border-right:1px solid rgba(0,0,0,.06);font-family:'Arial Narrow','Helvetica Neue',Arial,sans-serif;font-size:.82rem;font-weight:500;line-height:1.35;-webkit-font-smoothing:antialiased;letter-spacing:.01em}.book-nav::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2.5px;background:linear-gradient(to bottom,var(--accent) 0%,var(--accent-deep) 100%);pointer-events:none;opacity:.8}.book-nav summary{position:sticky;z-index:2;top:0;display:flex;align-items:center;gap:.75rem;padding:.85rem 1.35rem;border-bottom:1px solid rgba(0,0,0,.07);background:linear-gradient(to bottom,#faf9f5,#f5f3ee);cursor:pointer;list-style:none;font-size:inherit;font-weight:inherit;color:inherit;transition:background .15s ease}.book-nav summary::-webkit-details-marker{display:none}.book-nav summary::after{content:"";flex:1;height:1px;background:linear-gradient(to right,var(--rule),transparent);opacity:.3;margin-left:.5rem;transition:opacity .2s ease}.book-nav[open] summary::after{opacity:0}.book-nav summary [data-current-label]{color:var(--accent);font-family:'EE Mono',Consolas,monospace;font-size:.65rem;letter-spacing:.08em;font-weight:700;display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .45rem;background:rgba(158,63,46,.07);border-radius:3px;transition:all .2s ease;white-space:nowrap}.book-nav .summary-lead{font-family:Source Serif,Charter,Georgia,serif;font-weight:700;font-size:.9rem;letter-spacing:-.02em;color:var(--ink);font-style:normal;display:flex;align-items:center;gap:.45rem}.book-nav nav{padding:1.1rem 0 3rem}.book-nav ol{margin:0;padding:0;list-style:none}.nav-part{padding:0 0 1.2rem;margin-bottom:1.2rem;border-bottom:1px solid rgba(0,0,0,.05);position:relative}.nav-part:last-child{border-bottom:0}.nav-part-link{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.65rem 1.35rem .45rem;color:var(--ink);text-decoration:none;border-radius:4px;transition:background .15s ease,transform .15s ease}.nav-part-link span{display:inline-block;font-size:.6rem;letter-spacing:.12em;font-weight:700;color:var(--accent);opacity:.85;text-transform:uppercase;font-family:'EE Mono',Consolas,monospace;padding:.1rem .3rem;background:rgba(158,63,46,.06);border-radius:2px;line-height:1.4}.nav-part-link em{font:500 .92rem/1.3 var(--font-serif);color:var(--ink-soft);display:block;width:100%;margin-top:.15rem;letter-spacing:-.005em;transition:color .14s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-part-link .part-count{font:600 .58rem/1 var(--font-mono);color:var(--muted);background:rgba(0,0,0,.04);padding:.15rem .4rem;border-radius:3px;white-space:nowrap;margin-left:auto}.nav-part-link:hover{background:rgba(0,0,0,.025)}.nav-part-link:hover em{color:var(--ink)}.nav-part-link:hover span{opacity:1}.nav-part.is-current .nav-part-link{background:rgba(158,63,46,.05);box-shadow:inset 3px 0 0 var(--accent)}.nav-part.is-current .nav-part-link em{color:var(--ink);font-weight:600}.nav-part.is-current .nav-part-link span{background:rgba(158,63,46,.1);opacity:1}.nav-part>ol{padding:.5rem 0 0 .8rem;border-top:2px solid rgba(158,63,46,.12);margin-top:.5rem}.chapter-link{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.45rem 1.35rem .4rem;color:var(--muted);text-decoration:none;font-size:.85rem;line-height:1.35;position:relative;border-radius:3px;transition:color .12s ease,background-color .12s ease,transform .12s ease,box-shadow .12s ease;margin-bottom:-.1rem}.chapter-link span{display:inline-block;font-size:.62rem;font-weight:600;color:var(--muted);letter-spacing:.06em;font-family:'EE Mono',Consolas,monospace;padding:.12rem .3rem;background:rgba(0,0,0,.03);border-radius:2px;line-height:1.3;min-width:1.6rem;text-align:center}.chapter-link:hover{color:var(--ink);background:rgba(0,0,0,.02);transform:translateX(2px)}.chapter-link.is-current{color:var(--ink);background:rgba(158,63,46,.04);font:600 .9rem/1.35 var(--font-serif);font-style:italic;letter-spacing:-.005em;box-shadow:inset 0 0 0 1px rgba(158,63,46,.08),0 1px 3px rgba(0,0,0,.04)}.chapter-link.is-current::before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--accent);box-shadow:0 0 4px var(--accent);opacity:.9}.chapter-link.is-current span{color:var(--accent);font-weight:700;font-style:normal;background:rgba(158,63,46,.1)}.chapter-link.is-read span::after{content:"✓";margin-left:.25rem;color:var(--store);font-size:.55rem;opacity:.6}
.book-shell{min-width:0;margin-left:var(--nav-width)}.book-cover{display:grid;grid-template-columns:minmax(8rem,15rem) minmax(0,48rem);gap:clamp(2rem,8vw,8rem);align-items:center;min-height:calc(100vh - var(--header-height));padding:clamp(4rem,8vw,8rem) clamp(2rem,9vw,9rem);border-bottom:1px solid var(--rule);background:var(--paper)}.cover-code{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--ink);padding:.7rem 0 .7rem 1.2rem;font-family:var(--font-mono)}.cover-code span{font-size:.75rem;letter-spacing:.18em}.cover-trace{flex:1;width:100%;min-height:0;margin-top:1rem}.cover-trace text{fill:var(--muted);font:700 9px/1 var(--font-mono)}.cover-trace path{fill:none;stroke-width:1.7;stroke-linecap:round}.trace-sine{stroke:var(--accent)}.trace-compute{stroke:var(--ink)}.trace-communicate{stroke:var(--accent-deep)}.edition-label,.part-label{margin:0 0 1rem;color:var(--accent);font:700 .72rem/1.3 var(--font-sans);letter-spacing:.13em;text-transform:uppercase}.book-cover h1{margin:0;font:400 clamp(3.2rem,7vw,7.8rem)/.91 var(--font-serif);letter-spacing:-.055em}section[id^="ex-"]{margin-block:4rem;padding:2rem 2.5rem;border:1px solid var(--rule);border-top:3px solid var(--accent);background:var(--paper-lift)}section[id^="ex-"] > h3{margin:0 0 1.5rem!important;padding:0!important;border:0!important;font:600 .78rem/1.2 var(--font-sans)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}section[id^="ex-"] p{font-size:1.02rem;line-height:1.7;color:var(--ink-soft)}.cover-copy>p:not(.edition-label){max-width:42rem;margin:2rem 0;color:var(--ink-soft);font-size:clamp(1.12rem,1.6vw,1.45rem);line-height:1.55}.cover-copy dl{display:flex;flex-wrap:wrap;gap:1px;margin:3rem 0;background:var(--rule)}.cover-copy dl div{min-width:9rem;flex:1;padding:1rem 1.2rem;background:var(--paper)}.cover-copy dt{color:var(--muted);font:600 .63rem/1.2 var(--font-sans);text-transform:uppercase;letter-spacing:.13em}.cover-copy dd{margin:.45rem 0 0;font:400 1.45rem/1.15 var(--font-mono);letter-spacing:-.02em}.start-reading{display:inline-flex;align-items:baseline;gap:1.4rem;padding:.75rem 0;border-bottom:1px solid currentColor;color:var(--ink);font:700 .76rem/1.2 var(--font-sans);letter-spacing:.09em;text-decoration:none;text-transform:uppercase;text-decoration-color:transparent}.start-reading:hover{color:var(--ink);text-decoration-color:var(--ink);text-decoration-thickness:1px}.start-reading span{color:var(--accent);font-size:1.35rem;line-height:1;transform:translateY(.18em);transition:transform .25s ease}.start-reading:hover span{transform:translateY(.18em) translateX(.25em)}
.book-part{border-bottom:1px solid var(--rule)}.part-opener{display:grid;grid-template-columns:1fr auto;align-content:end;min-height:54vh;padding:clamp(5rem,9vw,9rem) max(2rem,calc((100% - 70rem)/2));border-bottom:1px solid var(--rule);background:var(--paper-deep)}.part-opener p{grid-column:1;margin:0;color:var(--accent);font:700 .72rem/1.2 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.part-opener span{grid-area:1/2/3;color:color-mix(in srgb,var(--accent) 30%,var(--paper-deep));font:400 clamp(6rem,15vw,13rem)/.75 var(--font-mono)}.part-opener h2{grid-column:1;align-self:end;max-width:16ch;margin:1rem 0 0;font:400 clamp(2.6rem,5vw,5.8rem)/.97 var(--font-serif);letter-spacing:-.045em}
.book-chapter,.chapter{position:relative;width:min(var(--measure),calc(100% - 3rem));margin-inline:auto}.book-chapter{padding-block:clamp(6rem,10vw,10rem);border-bottom:1px solid var(--rule-soft)}.book-chapter:last-child{border-bottom:0}.chapter-shell,.about-shell{min-width:0;margin-left:var(--nav-width);padding:clamp(4rem,8vw,7rem) 1.5rem}.chapter-header{position:relative;margin-bottom:clamp(3rem,6vw,5.5rem);padding:0 0 2.2rem;border-bottom:1px solid var(--ink)}.chapter-folio{position:absolute;z-index:-1;top:-.6em;right:-.1em;margin:0;mix-blend-mode:multiply;color:color-mix(in srgb,var(--accent) 22%,var(--paper));font:400 clamp(6rem,16vw,12rem)/.75 var(--font-mono);letter-spacing:-.08em;user-select:none;pointer-events:none}.chapter-title,.chapter h1{max-width:14ch;margin:0;font:400 clamp(2.75rem,5vw,5.5rem)/.97 var(--font-serif);letter-spacing:-.045em}.book-chapter>.chapter-header+.chapter-outline,.chapter>.chapter-header+.chapter-outline{margin-top:-3rem}.chapter-outline{float:right;width:17rem;margin:0 -22rem 2rem 2.5rem;padding:1rem 0 1rem 1.3rem;border-left:2px solid var(--rule);font:500 .95rem/1.4 var(--font-sans)}.chapter-outline h2{margin:0 0 .75rem!important;color:var(--accent);font:700 .7rem/1.2 var(--font-sans)!important;letter-spacing:.18em;text-transform:uppercase;padding-bottom:.6rem;border-bottom:1px solid var(--rule-soft)}.outline-meta{display:flex;align-items:baseline;gap:.9rem;margin:0 0 .75rem;color:var(--muted);font:600 .6rem/1.2 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.outline-meta span:last-child:not(:empty){margin-left:auto;color:var(--accent)}.outline-meta [data-outline-read]:empty{display:none}.outline-progress{height:2px;margin:0 0 1.1rem;border-radius:1px;background:var(--rule-soft);overflow:hidden}.outline-progress span{display:block;height:100%;width:var(--p,0%);border-radius:1px;background:linear-gradient(90deg,var(--accent),var(--accent-deep));transition:width .3s ease}.chapter-outline ol{margin:0;padding:0;list-style:none}.chapter-outline li+li{margin-top:.55rem}.chapter-outline a{display:grid;grid-template-columns:2.6rem 1fr;gap:.55rem;align-items:baseline;color:var(--muted);text-decoration:none;font-size:1rem;line-height:1.35;transition:color .14s ease}.chapter-outline a:hover{color:var(--ink)}.chapter-outline span{color:var(--accent);font:600 .8rem/1.2 var(--font-mono);letter-spacing:.02em}.chapter-outline a.is-current{color:var(--ink);font-weight:700;font-family:var(--font-serif);font-style:italic;font-size:1.05rem}.chapter-outline a.is-current span{color:var(--accent);font-weight:700;font-style:normal}
.book-chapter>p:first-of-type,.chapter>.chapter-header~p:first-of-type{font-size:1.23em;line-height:1.6;color:var(--ink-soft)}.book-chapter section,.chapter section{clear:none;margin-block:3.4rem}.book-chapter h3,.chapter h2{margin:0 0 1.25rem;padding-top:.8rem;border-top:1px solid var(--rule);font:400 clamp(1.55rem,2.4vw,2.05rem)/1.2 var(--font-serif);letter-spacing:-.025em}.book-chapter h4,.chapter h3{margin:2.4rem 0 .85rem;font:700 1.05rem/1.35 var(--font-sans);letter-spacing:.01em}.book-chapter p,.chapter p,.book-chapter ul,.chapter ul,.book-chapter ol,.chapter ol,.book-chapter pre,.chapter pre,.table-wrap{margin-top:0;margin-bottom:1.3rem}.book-chapter li+li,.chapter li+li{margin-top:.48rem}hr{height:1px;margin:3rem 0;border:0;background:var(--rule)}code{font:400 .88em/1.4 var(--font-mono)}pre{overflow:auto;padding:1.2rem 1.4rem;border-left:2px solid var(--accent);background:var(--paper-deep);font:400 .82rem/1.55 var(--font-mono)}
.callout{margin:2.5rem 0;padding:1.25rem 1.5rem 1.25rem 1.85rem;border:1px solid var(--rule);border-left-width:4px;background:var(--paper-lift);font-size:.96em;line-height:1.65;border-radius:0 4px 4px 0;transition:border-color .2s ease,box-shadow .2s ease}.callout:hover{box-shadow:0 2px 8px rgb(34 32 28/.06)}.callout p:first-child{margin-top:0}.callout p:last-child{margin-bottom:0}.callout::before{display:block;margin:0 0 .65rem;color:var(--accent);font:700 .6rem/1.2 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;content:attr(data-eyebrow)}.callout-def::before{color:var(--store)}.callout-example::before{color:var(--dissipate)}.callout-caution::before{color:var(--warn)}.callout-caution::after{content:"";position:absolute;top:1.25rem;right:1.25rem;width:1.25rem;height:1.25rem;border-radius:2px;background:var(--warn);opacity:.12}.callout-def{border-left-color:var(--store);background:color-mix(in srgb,var(--store) 6%,var(--paper-lift))}.callout-example{border-left-color:var(--dissipate);background:color-mix(in srgb,var(--dissipate) 6%,var(--paper-lift))}.callout-caution{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 6%,var(--paper-lift));position:relative}.equation{position:relative;overflow:auto;margin:2.4rem 0;padding:1.55rem 4.5rem 1.55rem 1.5rem;border-block:1px solid var(--rule);background:color-mix(in srgb,var(--paper-deep) 46%,var(--paper));text-align:center;scrollbar-width:thin}.equation-number{position:sticky;right:1rem;top:50%;float:right;margin:0 -3rem 0 2rem;color:var(--accent);font:400 .72rem/1 var(--font-mono);text-decoration:none;background:color-mix(in srgb,var(--paper) 85%,transparent);padding:.45rem .55rem .45rem .4rem;border-left:1px solid var(--rule);align-self:center}.math-inline{display:inline-block;max-width:100%;overflow-x:auto;vertical-align:middle;white-space:nowrap}.table-wrap{overflow:auto;border-top:1px solid var(--ink)}table{width:100%;border-collapse:collapse;font-size:.9em}th,td{padding:.72rem .8rem;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}th{font:700 .74rem/1.3 var(--font-sans);letter-spacing:.04em}.xref{font-weight:600}
.visual{clear:both;margin:3rem 0;padding:1.25rem;border:1px solid var(--rule);background:var(--paper-lift);container-type:inline-size}.widget-root{min-height:10rem}.widget-fallback-svg{display:block;width:100%;height:auto;max-height:22rem;color:var(--ink)}.widget-fallback-svg[hidden]{display:none}figcaption{margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--rule-soft);color:var(--muted);font:500 .76rem/1.45 var(--font-sans)}.fig-num{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.site-footer{margin-left:var(--nav-width);padding:2rem max(1.5rem,calc((100% - 70rem)/2));border-top:1px solid var(--rule);font:500 .73rem/1.4 var(--font-sans)}.chapter-nav{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);max-width:70rem;margin:0 auto}.chapter-nav a{display:flex;flex-direction:column;gap:.45rem;min-height:7.5rem;padding:1.3rem 1.6rem;background:var(--paper);color:var(--ink);text-decoration:none;text-decoration-color:transparent;transition:background .2s ease}.chapter-nav a:hover{background:var(--paper-lift);text-decoration-color:transparent}.chapter-nav a .kicker{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent);font:600 .62rem/1.2 var(--font-sans);text-transform:uppercase;letter-spacing:.14em}.chapter-nav a .kicker span{font-size:.85rem;line-height:1;transition:transform .25s ease}.chapter-nav a:hover .kicker span[aria-hidden="true"]:first-child{transform:translateX(-.18em)}.chapter-nav a.next .kicker span:last-child{transform:translateX(0);display:inline-block}.chapter-nav a:hover.next .kicker span:last-child{transform:translateX(.18em)}.chapter-nav a strong{font:400 1.05rem/1.3 var(--font-serif);letter-spacing:-.015em;color:var(--ink)}.chapter-nav .next{text-align:right;align-items:flex-end}.chapter-nav .is-empty{background:var(--paper);min-height:7.5rem;border:0;outline:0}.footer-colophon{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:70rem;margin:2rem auto 0;padding-top:1.4rem;border-top:1px solid var(--rule-soft)}.footer-brand{display:inline-flex;align-items:center;gap:.8rem;color:var(--ink);text-decoration:none}.footer-brand .brand-mark{width:2.1rem;height:2.1rem;border-radius:3px;font-size:.68rem;box-shadow:inset 0 1px 0 rgb(255 255 255/.14),0 2px 6px rgb(34 32 28/.22)}.footer-brand strong,.footer-brand small{display:block}.footer-brand strong{font:400 1rem/1 var(--font-serif);font-style:italic;letter-spacing:.015em;color:var(--ink)}.footer-brand small{margin-top:.2rem;color:var(--muted);font:700 .52rem/1 var(--font-sans);text-transform:uppercase;letter-spacing:.16em}.footer-links{display:flex;align-items:center;gap:1.5rem}.footer-links a{display:inline-flex;align-items:baseline;gap:.3rem;color:var(--muted);text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:.64rem;transition:color .18s ease}.footer-links a span{font-size:.8rem;transition:transform .22s ease}.footer-links a:hover{color:var(--accent-deep)}.footer-links a:hover span{transform:translateY(-.16em)}.about-page .site-footer{margin-left:0}.book-end{display:flex;justify-content:space-between;gap:1rem;padding:3.5rem max(2rem,calc((100% - 70rem)/2));border-top:2px solid var(--accent);background:var(--ink);color:var(--paper);font:600 .75rem/1.4 var(--font-sans);text-transform:uppercase;letter-spacing:.1em}.book-end p{margin:0;color:var(--paper);letter-spacing:.14em}.book-end-dot{color:var(--accent);margin:0 .9rem}.book-end-links{display:flex;align-items:center;gap:1.5rem}.book-end-links a{color:var(--paper);text-decoration:none;text-decoration-color:transparent}.book-end-links a span{display:inline-block;transition:transform .25s ease}.book-end-links a:hover{text-decoration-color:var(--paper);text-decoration-thickness:1px;text-underline-offset:.3em}.book-end-links a:hover span{transform:translateY(-.18em)}
.chapter-palette{width:min(43rem,calc(100% - 2rem));max-height:min(42rem,calc(100% - 2rem));padding:0;border:1px solid var(--ink);border-radius:4px;background:var(--paper-lift);color:var(--ink);box-shadow:0 1.8rem 6rem rgb(34 32 28/.22)}.chapter-palette[open]{animation:palette-in .16s ease-out}@keyframes palette-in{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}.chapter-palette::backdrop{background:rgb(34 32 28/.56);animation:backdrop-in .2s ease-out}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}.palette-head{display:flex;align-items:end;gap:.8rem;padding:1.2rem;border-bottom:1px solid var(--rule)}.palette-head label{flex:1;color:var(--accent);font:700 .68rem/1.3 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.palette-head input{display:block;width:100%;margin-top:.55rem;padding:.65rem 0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;color:var(--ink);font:400 1.2rem/1.3 var(--font-serif);outline:0;transition:border-color .18s ease}.palette-head input:focus{border-bottom-color:var(--accent)}.palette-head input::placeholder{color:var(--muted)}.palette-close{padding:.5rem .65rem;border:1px solid var(--rule);background:transparent;color:var(--ink);font:600 .68rem/1 var(--font-sans);text-transform:uppercase}.palette-close:hover{border-color:var(--accent);color:var(--accent-deep)}.chapter-palette>ol{margin:0;padding:.5rem;list-style:none;max-height:min(30rem,60vh);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}.chapter-palette li{margin:0}.chapter-palette li>a{display:flex;flex-direction:column;gap:.25rem;padding:.7rem .8rem;color:var(--ink);text-decoration:none;border-radius:3px}.chapter-palette li>a:hover{background:var(--paper-deep)}.chapter-palette li>a>span{color:var(--muted);font:500 .62rem/1.3 var(--font-sans);letter-spacing:.08em;text-transform:uppercase}.chapter-palette li>a>strong{font:500 1.02rem/1.3 var(--font-serif)}.chapter-palette li>a .palette-snippet{color:var(--ink-soft);font:400 .8rem/1.5 var(--font-serif);text-transform:none;letter-spacing:0}.chapter-palette mark{background:transparent;color:var(--accent-deep);font-weight:700}.chapter-palette a[aria-current=true]{background:var(--paper-deep);box-shadow:inset 2px 0 var(--accent)}.palette-empty{color:var(--muted);font:400 .9rem/1.4 var(--font-serif);padding:.9rem 1rem}.palette-hint{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:.75rem 1.2rem;border-top:1px solid var(--rule);color:var(--muted);font:500 .63rem/1.2 var(--font-sans)}
.about-shell{min-height:calc(100vh - var(--header-height))}.about-shell .chapter{max-width:var(--measure)}
@media (max-width:92rem){.chapter-outline{float:none;width:auto;margin:0 0 3rem;padding:1rem 0 1rem 0;border-left:0;border-top:2px solid var(--rule);border-bottom:1px solid var(--rule-soft)}.chapter-outline ol{columns:2;column-gap:2rem}.chapter-outline li{break-inside:avoid}}
@media (max-width:75rem){:root{--header-height:4rem}.book-nav{position:fixed;inset:var(--header-height) 0 auto;width:auto;max-height:calc(100vh - var(--header-height));border-right:0;border-bottom:1px solid rgba(0,0,0,.08)}.book-nav:not([open]){width:9rem;inset:var(--header-height) 0 auto auto;border-left:1px solid rgba(0,0,0,.08)}.book-nav nav{max-height:calc(100vh - 7rem);overflow:auto}.book-shell,.chapter-shell,.about-shell,.site-footer{margin-left:0}.book-cover{padding-top:7rem}.book-part{scroll-margin-top:7rem}.book-chapter{scroll-margin-top:7rem}.chapter-page .chapter-shell{padding-top:7rem}.site-header{padding-right:13rem}.header-actions{margin-left:auto}}
@media (max-width:46rem){body{font-size:1rem}.site-header{padding-right:7.5rem}.brand small,.about-link,.palette-button span,.palette-button kbd{display:none}.palette-button{width:2.2rem;height:2.2rem;justify-content:center;gap:0;padding:0}.palette-button::before{font-size:1.05rem}.book-nav:not([open]){width:6rem}.book-nav summary{padding:.75rem 1rem}.book-nav summary>span:first-child{display:none}.book-cover{grid-template-columns:3rem 1fr;gap:1.2rem;padding:6.5rem 1.25rem 4rem}.cover-code{padding-left:.55rem}.cover-trace{display:none}.book-cover h1{font-size:clamp(2.7rem,13vw,4.5rem)}.cover-copy dl{display:grid;grid-template-columns:1fr}.part-opener{min-height:42vh;padding:6rem 1.25rem 3rem}.part-opener span{font-size:5rem}.book-chapter,.chapter{width:min(var(--measure),calc(100% - 2.25rem))}.book-chapter{padding-block:5rem}.chapter-folio{font-size:5rem}.chapter-title,.chapter h1{font-size:2.65rem}.chapter-outline ol{columns:1}.equation{margin-inline:-.5rem;padding:1.25rem 3.5rem 1.25rem .75rem}.visual{margin-inline:-.5rem;padding:.8rem}.chapter-nav{grid-template-columns:1fr}.chapter-nav .next{text-align:left}.footer-colophon{flex-direction:column;align-items:flex-start;gap:1.2rem}.book-end{flex-direction:column;padding:3rem 1.25rem}.palette-head{align-items:stretch;flex-direction:column}.palette-close{align-self:flex-end}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media (forced-colors:active){*{forced-color-adjust:auto}}

/* ═══════════════════════════════════════════════════════════
   ENHANCED@media print {
  body {
    background: white !important;
    color: black !important;
  }

  .site-header, .book-nav, .theme-toggle, .palette-button {
    display: none !important;
  }

  .main-content {
    margin-left: 0 !important;
  }

  .chapter {
    page-break-inside: avoid;
  }

  .equation {
    break-inside: avoid;
  }

  figure, table, blockquote {
    break-inside: avoid;
  }

  .callout {
    border-left-width: 4px !important;
  }
}


@media print{.site-header,.book-nav,.chapter-outline,.chapter-palette{display:none!important}.book-shell,.chapter-shell,.site-footer{margin-left:0}.book-part{break-before:page}.book-chapter{break-before:page}.visual,.equation{break-inside:avoid

}

}

.dark-mode:root{--ink:#e8e4db;--ink-soft:#bfb9ad;--paper:#1a1814;--paper-deep:#13110e;--paper-lift:#22201c;--rule:#3d3932;--rule-soft:#2e2b25;--muted:#716b62;--accent:#d4634d;--accent-deep:#e8846b;--link:#7db4d4;--store:#5cb89a;--dissipate:#d4785e;--warn:#d4a84d;--phase:#9ca3ac}.dark-mode body{background:var(--paper);color:var(--ink)}.dark-mode h1,.dark-mode h2,.dark-mode h3,.dark-mode h4,.dark-mode p,.dark-mode li{color:var(--ink-soft)}.dark-mode h1,.dark-mode h2{color:var(--ink)}.dark-mode a{color:var(--link);text-decoration-color:color-mix(in srgb,var(--link) 55%,transparent)}.dark-mode a:hover{color:var(--ink);text-decoration-color:var(--accent)}.dark-mode hr{background:var(--rule)}.dark-code-markdown-table th,.dark-code-markdown-table td{border-bottom-color:var(--rule)}.dark-mode code{color:var(--accent)}.dark-mode pre{background:var(--paper-deep);border-left-color:var(--accent)}.dark-mode figcaption{border-top-color:var(--rule-soft);color:var(--muted)}.dark-mode .skip-link{background:var(--ink);color:var(--paper)}.dark-mode .skip-link:focus{background:var(--paper);color:var(--ink)}.dark-mode .site-header{box-shadow:0 .5rem 1.1rem -.95rem rgb(0 0 0/.6);background:linear-gradient(to bottom,#22201c,color-mix(in srgb,var(--paper-deep) 40%,var(--paper)))}.dark-mode .site-header::before{background:linear-gradient(90deg,var(--accent) 0,var(--accent-deep) 38%,color-mix(in srgb,var(--accent) 22%,transparent) 78%,transparent)}.dark-mode .brand strong{color:var(--ink)}.dark-mode .brand small{color:var(--muted)}.dark-mode .brand-mark{background:linear-gradient(140deg,#2a2822,var(--ink) 60%,#1a1713);box-shadow:inset 0 1px 0 rgba(255 255 255/.06),0 3px 9px rgba(0 0 0/.5)}.dark-mode .brand-mark::after{background:linear-gradient(90deg,var(--accent) 0 58%,transparent)}.dark-mode .palette-button{border-color:var(--rule);background:linear-gradient(to bottom,var(--paper-lift),var(--paper));color:var(--ink-soft);box-shadow:0 1px 2px rgba(0 0 0/.2)}.dark-mode .palette-button kbd{border-color:var(--rule-soft);background:var(--paper-deep);color:var(--muted)}.dark-mode .palette-button:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--rule));color:var(--accent-deep)}.dark-mode .about-link{color:var(--ink-soft)}.dark-mode .about-link::after{background:var(--accent)}.dark-mode .about-link:hover{color:var(--ink)}.dark-mode .theme-toggle{border-color:var(--rule);background:linear-gradient(to bottom,var(--paper-lift),var(--paper));color:var(--ink-soft);box-shadow:0 1px 2px rgba(0 0 0/.2)}.dark-mode .theme-toggle:hover{border-color:rgba(255,255,255,.15);color:var(--accent-deep)}.dark-mode .reading-meter{background:linear-gradient(90deg,transparent,var(--rule-soft) 5%,var(--rule-soft) 95%,transparent)}.dark-mode .reading-meter::-webkit-progress-value{background:linear-gradient(90deg,var(--accent),var(--accent-deep))}.dark-mode .reading-meter::-moz-progress-bar{background:linear-gradient(90deg,var(--accent),var(--accent-deep))}.dark-mode .book-nav{background:var(--paper-deep);border-right-color:rgba(255,255,255,.06)}.dark-mode .book-nav::before{background:linear-gradient(to bottom,var(--accent) 0%,var(--accent-deep) 100%);opacity:.8}.dark-mode .book-nav summary{border-bottom-color:rgba(255,255,255,.08);background:linear-gradient(to bottom,#1e1c17,#1a1814)}.dark-mode .book-nav summary::after{background:linear-gradient(to right,var(--rule),transparent);opacity:.25}.dark-mode .book-nav summary [data-current-label]{background:rgba(212,99,77,.12)}.dark-mode .book-nav .summary-lead{color:var(--ink)}.dark-mode .nav-part{border-bottom-color:rgba(255,255,255,.04)}.dark-mode .nav-part-link{color:var(--ink-soft)}.dark-mode .nav-part-link span{background:rgba(212,99,77,.08);color:var(--accent-deep)}.dark-mode .nav-part-link em{color:var(--ink-soft)}.dark-mode .nav-part-link .part-count{background:rgba(255,255,255,.03);color:var(--muted)}.dark-mode .nav-part-link:hover{background:rgba(255,255,255,.02)}.dark-mode .nav-part-link:hover em{color:var(--ink)}.dark-mode .nav-part.is-current .nav-part-link{background:rgba(212,99,77,.06);box-shadow:inset 3px 0 0 var(--accent)}.dark-mode .nav-part.is-current .nav-part-link em{color:var(--ink);font-weight:600}.dark-mode .nav-part.is-current .nav-part-link span{background:rgba(212,99,77,.15);opacity:1}.dark-mode .nav-part>ol{border-top:2px solid rgba(212,99,77,.2);margin-top:.5rem}.dark-mode .chapter-link{color:var(--muted)}.dark-mode .chapter-link span{background:rgba(255,255,255,.03);color:var(--muted)}.dark-mode .chapter-link:hover{color:var(--ink);background:rgba(255,255,255,.015)}.dark-mode .chapter-link.is-current{color:var(--ink);background:rgba(212,99,77,.06);box-shadow:inset 0 0 0 1px rgba(212,99,77,.15),0 1px 3px rgba(0 0 0,.3)}.dark-mode .chapter-link.is-current::before{background:var(--accent);box-shadow:0 0 4px var(--accent)}.dark-mode .chapter-link.is-current span{color:var(--accent);background:rgba(212,99,77,.12)}.dark-mode .chapter-link.is-read span::after{color:var(--store)}.dark-mode .cover-code svg text{fill:var(--muted)}.dark-mode .cover-copy dl{background:rgba(255,255,255,.06)}.dark-mode .cover-copy dl div{background:var(--paper-deep)}.dark-mode .cover-copy dt{color:var(--muted)}.dark-mode .start-reading{color:var(--ink)}.dark-mode .start-reading:hover{color:var(--ink)}.dark-mode .start-reading span{color:var(--accent)}.dark-mode .book-cover{border-bottom-color:rgba(255,255,255,.06);background:var(--paper)}.dark-mode .book-chapter{border-bottom-color:rgba(255,255,255,.04)}.dark-mode .chapter-header{border-bottom-color:var(--ink)}.dark-mode .equation{border-block:1px solid var(--rule);background:color-mix(in srgb,var(--paper-deep) 46%,var(--paper))}.dark-mode .equation-number{background:color-mix(in srgb,var(--paper) 85%,transparent);border-left-color:var(--rule)}.dark-mode .table-wrap{border-top-color:var(--ink)}.dark-mode table th{background:color-mix(in srgb,var(--paper-deep) 60%,var(--paper))}.dark-mode table th,.dark-mode table td{border-bottom-color:var(--rule)}.dark-mode .visual{border-color:var(--rule);background:var(--paper-lift)}.dark-mode .fig-num{color:var(--accent)}.dark-mode .callout{border-color:var(--rule);border-left-width:4px;background:var(--paper-lift)}.dark-mode .callout:hover{box-shadow:0 2px 8px rgba(0 0 0,.3)}.dark-mode .callout::before{color:var(--accent)}.dark-mode .callout-def{border-left-color:var(--store);background:color-mix(in srgb,var(--store) 6%,var(--paper-lift))}.dark-mode .callout-example{border-left-color:var(--dissipate);background:color-mix(in srgb,var(--dissipate) 6%,var(--paper-lift))}.dark-mode .callout-caution{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 6%,var(--paper-lift))}.dark-mode .callout-caution::after{background:var(--warn)}.dark-mode .site-footer{border-top-color:var(--rule)}.dark-mode .chapter-nav{background:var(--rule)}.dark-mode .chapter-nav a{background:var(--paper);color:var(--ink)}.dark-mode .chapter-nav a:hover{background:var(--paper-lift)}.dark-mode .chapter-nav a .kicker{color:var(--accent)}.dark-mode .chapter-nav a strong{color:var(--ink)}.dark-mode .chapter-nav .is-empty{background:var(--paper)}.dark-mode .footer-colophon{border-top-color:var(--rule-soft)}.dark-mode .footer-brand{color:var(--ink)}.dark-mode .footer-brand .brand-mark{box-shadow:inset 0 1px 0 rgba(255 255 255/.06),0 2px 6px rgba(0 0 0,.3)}.dark-mode .footer-brand strong{color:var(--ink)}.dark-mode .footer-brand small{color:var(--muted)}.dark-mode .footer-links a{color:var(--muted)}.dark-mode .footer-links a:hover{color:var(--accent-deep)}.dark-mode .book-end{border-top-color:var(--accent);background:var(--ink);color:var(--paper)}.dark-mode .book-end p{color:var(--paper)}.dark-mode .book-end-dot{color:var(--accent)}.dark-mode .book-end-links a{color:var(--paper)}.dark-mode .book-end-links a:hover{text-decoration-color:var(--paper)}.dark-mode .chapter-palette{border-color:rgba(255,255,255,.15);background:var(--paper-lift);color:var(--ink);box-shadow:0 1.8rem 6rem rgba(0 0 0,.5)}.dark-mode .palette-head{border-bottom-color:var(--rule)}.dark-mode .palette-head label{color:var(--accent)}.dark-mode .palette-head input{border-bottom-color:var(--rule);color:var(--ink)}.dark-mode .palette-head input:focus{border-bottom-color:var(--accent)}.dark-mode .palette-close{border-color:var(--rule);color:var(--ink)}.dark-mode .palette-close:hover{border-color:var(--accent);color:var(--accent-deep)}.dark-mode .chapter-palette>ol{max-height:min(30rem,60vh);overflow:auto}.dark-mode .chapter-palette li>a{color:var(--ink)}.dark-mode .chapter-palette li>a:hover{background:var(--paper-deep)}.dark-mode .chapter-palette li>a>span{color:var(--muted)}.dark-mode .chapter-palette mark{color:var(--accent-deep)}.dark-mode .palette-empty{color:var(--muted)}.dark-mode .palette-hint{border-top-color:var(--rule);color:var(--muted)}.dark-mode .book-part{border-bottom-color:rgba(255,255,255,.06)}.dark-mode .part-opener{border-bottom-color:rgba(255,255,255,.06);background:var(--paper-deep)}.dark-mode .part-opener p{color:var(--accent)}.dark-mode .part-opener span{color:color-mix(in srgb,var(--accent) 20%,var(--paper-deep))}.dark-mode .part-opener h2{color:var(--ink)}.dark-mode .edition-label{color:var(--accent)}.dark-mode .part-label{color:var(--accent)}.dark-mode .outline-meta{color:var(--muted)}.dark-mode .outline-progress{background:var(--rule-soft)}.dark-mode .outline-progress span{background:linear-gradient(90deg,var(--accent),var(--accent-deep))}
/* Shared polish: theme state and compact-screen contents. */
.theme-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.theme-moon{display:none}.dark-mode .theme-sun{display:none}.dark-mode .theme-moon{display:block}.mobile-nav-label,.mobile-close-label{display:none}
@media (max-width:75rem){.book-nav[open]{box-shadow:0 1.2rem 3rem rgb(34 32 28/.18)}.book-nav .desktop-nav-label{display:none}.book-nav .mobile-nav-label{display:inline}.book-nav[open] .mobile-nav-label{display:none}.book-nav[open] .mobile-close-label{display:inline}.book-nav summary{min-height:2.75rem}}
@media (max-width:46rem){.site-header{padding-right:9rem}.book-nav:not([open]){width:7.5rem}.book-nav summary{gap:.4rem;padding:.75rem .7rem}.book-nav summary>span.summary-lead{display:inline-flex}.book-nav .summary-lead{font-size:.75rem}.book-nav summary [data-current-label]{padding:.12rem .25rem;font-size:.58rem}.widget-header{align-items:flex-start;flex-direction:column;gap:.35rem}.chapter .widget-title,.book-chapter .widget-title{font-size:1.2rem}}
.widget-header{display:flex;align-items:baseline;gap:.8rem;margin:0 0 1rem;padding:0 0 .85rem;border-bottom:1px solid var(--rule-soft)}.widget-eyebrow{margin:0;color:var(--accent);font:700 .63rem/1.2 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.chapter .widget-title,.book-chapter .widget-title{margin:0;padding:0;border:0;color:var(--ink);font:400 1.3rem/1.15 var(--font-serif);letter-spacing:-.02em}

/* Contents rail: a quiet technical index with one clear reading position. */
.book-nav nav{padding:1rem 0 2.5rem}.nav-part{margin:0;padding:0;border:0}.nav-part+.nav-part{margin-top:.25rem}.nav-part-link{display:grid;grid-template-columns:auto 1fr auto;gap:.35rem .6rem;align-items:baseline;padding:.8rem 1.35rem .6rem;border-left:3px solid transparent;border-radius:0;color:var(--ink);text-decoration:none}.nav-part-link .nav-part-number{grid-column:1;color:var(--accent);background:transparent;padding:0;font:700 .58rem/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.nav-part-link .nav-part-title{grid-column:1/3;color:var(--ink-soft);font:600 .82rem/1.25 var(--font-sans);letter-spacing:.025em}.nav-part-link .part-count{grid-column:3;grid-row:1/3;align-self:center;margin:0;padding:.16rem .32rem;background:var(--paper-deep);color:var(--muted);font:600 .58rem/1 var(--font-mono)}.nav-part-link:hover{background:var(--paper-lift)}.nav-part.is-current .nav-part-link{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--paper))}.nav-part.is-current .nav-part-link .nav-part-title{color:var(--ink)}.nav-part>ol{margin:.1rem 0 .65rem;padding:0 0 0 .72rem;border:0}.chapter-link{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.55rem;align-items:baseline;margin:0;padding:.38rem 1.35rem .38rem .65rem;border-left:1px solid var(--rule-soft);border-radius:0;color:var(--muted);font-size:.81rem;line-height:1.35;transform:none}.chapter-link .chapter-number{padding:0;background:transparent;color:var(--muted);font:600 .62rem/1.3 var(--font-mono);letter-spacing:.06em;text-align:left}.chapter-link .chapter-link-title{min-width:0;padding:0;background:transparent;overflow:hidden;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap}.chapter-link:hover{padding-left:.82rem;background:var(--paper-lift);color:var(--ink);transform:none}.chapter-link.is-current{padding:.58rem 1.35rem .58rem .65rem;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--paper));color:var(--ink);font:600 .92rem/1.25 var(--font-serif);font-style:normal;box-shadow:none}.chapter-link.is-current::before{display:none}.chapter-link.is-current::after{content:"Now reading";grid-column:2;color:var(--accent);font:700 .53rem/1 var(--font-sans);letter-spacing:.13em;text-transform:uppercase}.chapter-link.is-current .chapter-number{color:var(--accent);font-weight:700}.chapter-link.is-read .chapter-number::after{margin-left:.2rem}.dark-mode .nav-part-link .nav-part-number{background:transparent}.dark-mode .nav-part-link .nav-part-title{color:var(--ink-soft)}.dark-mode .nav-part-link .part-count{background:var(--paper-lift)}.dark-mode .nav-part.is-current .nav-part-link{background:color-mix(in srgb,var(--accent) 9%,var(--paper))}.dark-mode .chapter-link{border-left-color:var(--rule-soft)}.dark-mode .chapter-link .chapter-number,.dark-mode .chapter-link .chapter-link-title{background:transparent}.dark-mode .chapter-link.is-current{background:color-mix(in srgb,var(--accent) 12%,var(--paper));box-shadow:none}.dark-mode .chapter-link.is-current .chapter-number{background:transparent}
@media (max-width:75rem){.book-nav nav{padding-bottom:1.5rem}.nav-part-link{padding-inline:1rem}.chapter-link{padding-right:1rem}.chapter-link.is-current{padding-right:1rem}}
@media (max-width:46rem){.book-nav[open]{width:min(22rem,100%)}.nav-part-link{padding-left:.85rem}.chapter-link{padding-right:.85rem}.chapter-link .chapter-link-title{white-space:normal}.chapter-link.is-current{padding-right:.85rem}}

/* Technical field guide: shared reading instrumentation. */
:root{--ink:#17232d;--ink-soft:#384853;--paper:#f5f7f5;--paper-deep:#e8eeeb;--paper-lift:#fbfdfb;--rule:#b9c5c2;--rule-soft:#d6dfdc;--muted:#687983;--accent:#b64735;--accent-deep:#863227;--link:#256a82;--store:#2f8178;--dissipate:#b64735;--warn:#b5762c;--phase:#617c8a;--panel:var(--paper-deep);--line:var(--rule);--signal:var(--accent);--charge:var(--store);--copper:var(--warn)}
.site-header{display:grid;grid-template-columns:minmax(13rem,1fr) minmax(18rem,1.25fr) auto;gap:1.25rem;min-height:4.75rem;padding-block:.5rem;background:color-mix(in srgb,var(--paper-lift) 94%,transparent);box-shadow:0 .45rem 1.35rem -.95rem rgb(23 35 45/.32);backdrop-filter:blur(18px) saturate(1.15)}.site-header::before{height:1px;background:var(--signal)}.header-route{min-width:0;display:grid;gap:.25rem;align-content:center}.site-context{overflow:hidden;color:var(--muted);font:700 .56rem/1.15 var(--font-sans);letter-spacing:.16em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.signal-path{display:grid;grid-template-columns:auto minmax(2rem,1fr) minmax(0,1.65fr);gap:.55rem;align-items:center;min-width:0;color:var(--ink);font:600 .68rem/1.2 var(--font-sans);letter-spacing:.055em}.signal-terminal{color:var(--signal);font-family:var(--font-mono);font-size:.61rem;letter-spacing:.12em}.signal-line{height:1px;min-width:1rem;background:linear-gradient(90deg,var(--signal) 0 15%,var(--line) 15% 100%);box-shadow:5px 0 0 -4px var(--charge)}.signal-state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{gap:.7rem}.palette-button{min-height:2.55rem;border-radius:3px;background:var(--paper-lift);box-shadow:none}.theme-toggle{width:2.55rem;height:2.55rem;border-radius:3px;background:var(--paper-lift);box-shadow:none}.about-link{padding:.55rem 0}.reading-meter{height:1px;background:var(--line)}.reading-meter::-webkit-progress-value,.reading-meter::-moz-progress-bar{background:var(--signal)}
.book-nav{background:var(--panel);border-right-color:var(--line)}.book-nav::before{width:1px;background:var(--signal)}.book-nav summary{background:color-mix(in srgb,var(--paper-lift) 88%,var(--panel));border-bottom-color:var(--line)}.book-nav summary [data-current-label]{border-radius:0;background:color-mix(in srgb,var(--signal) 9%,var(--panel));color:var(--signal)}.nav-part-link:hover,.chapter-link:hover{background:color-mix(in srgb,var(--signal) 4%,var(--paper-lift))}.nav-part.is-current .nav-part-link{box-shadow:inset 2px 0 var(--signal);background:color-mix(in srgb,var(--signal) 7%,var(--panel))}.chapter-link{border-radius:0}.chapter-link.is-current{border-radius:0;background:color-mix(in srgb,var(--signal) 9%,var(--paper-lift));box-shadow:inset 2px 0 var(--signal)}
.book-cover{grid-template-columns:minmax(9rem,14rem) minmax(0,52rem);min-height:calc(84vh - var(--header-height));gap:clamp(2rem,7vw,7rem);padding-block:clamp(3.75rem,7vw,7rem);background:linear-gradient(115deg,var(--paper) 0 72%,color-mix(in srgb,var(--charge) 5%,var(--paper)) 100%)}.course-signal-map{border-left-color:var(--signal)}.cover-copy{position:relative}.cover-copy::before{content:"FIELD GUIDE / EE1101";display:block;margin:0 0 1.25rem;color:var(--charge);font:700 .58rem/1 var(--font-sans);letter-spacing:.18em}.book-cover h1{max-width:10ch;font-size:clamp(3.15rem,7vw,7.4rem);line-height:.88}.cover-copy>p:not(.edition-label){max-width:35rem;font-size:clamp(1.05rem,1.5vw,1.32rem)}.cover-copy dl{max-width:38rem;margin:2rem 0;background:var(--line)}.cover-copy dl div{background:var(--paper-lift)}.cover-actions{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center}.explore-parts{display:inline-flex;gap:.65rem;align-items:baseline;color:var(--ink-soft);font:700 .69rem/1.2 var(--font-sans);letter-spacing:.11em;text-decoration:none;text-transform:uppercase}.explore-parts span{color:var(--signal);font-size:1.1rem}.part-opener{min-height:38vh;padding-block:clamp(4rem,7vw,6.5rem);background:var(--panel)}.part-opener p{display:flex;gap:1.25rem;color:var(--signal)}.part-opener p span:last-child{color:var(--muted);font-family:var(--font-mono)}.part-opener span{color:color-mix(in srgb,var(--charge) 28%,var(--panel))}
.chapter-shell{padding-top:clamp(3rem,5vw,5.25rem)}.chapter-route{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1.3rem;row-gap:.75rem;margin-bottom:clamp(2.35rem,4vw,3.8rem);padding:0 0 1.55rem;border-bottom:2px solid var(--ink)}.chapter-route .part-label{grid-column:2;margin:0;align-self:end}.chapter-coordinate{grid-row:1/3;align-self:end;margin:0;color:var(--signal);font:400 clamp(2.35rem,4vw,4.4rem)/.82 var(--font-mono);letter-spacing:-.08em}.chapter-route .chapter-title{grid-column:2;max-width:18ch;font-size:clamp(2.5rem,4.5vw,4.9rem);line-height:.93}.chapter-meta{grid-column:2;display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin:0;color:var(--muted);font:700 .61rem/1.3 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.chapter-meta>span+span{padding-left:.9rem;border-left:1px solid var(--line)}.chapter-meta .widget-available{color:var(--charge)}.chapter-meta .widget-available::before{content:"●";margin-right:.35rem;font-size:.55em}.chapter-folio{display:none}.book-chapter{padding-block:clamp(4.5rem,7vw,7rem)}.book-chapter .chapter-route{margin-bottom:2.5rem}.book-chapter .chapter-route .chapter-title{font-size:clamp(2.2rem,4vw,4rem)}.book-chapter>.chapter-header+.chapter-outline,.chapter>.chapter-header+.chapter-outline{margin-top:-1rem}.chapter-outline{border-left-color:var(--signal);background:linear-gradient(90deg,color-mix(in srgb,var(--panel) 74%,transparent),transparent)}.chapter-outline h2{color:var(--signal)}.outline-progress span{background:var(--signal)}.chapter-outline a.is-current{color:var(--ink);font-style:normal}.chapter-outline a.is-current span{color:var(--signal)}.chapter h2,.book-chapter h3{border-top-color:var(--line);color:var(--ink)}.chapter h2::before,.book-chapter h3::before{content:"/";margin-right:.55rem;color:var(--signal);font-family:var(--font-mono);font-weight:400}.visual{border-color:var(--line);background:var(--paper-lift);box-shadow:inset 3px 0 var(--charge)}.equation{border-block-color:var(--line);background:color-mix(in srgb,var(--panel) 58%,var(--paper))}.equation-number{color:var(--copper);border-left-color:var(--line)}.callout{border-color:var(--line);box-shadow:none}.chapter-nav{background:var(--line)}.chapter-nav a{min-height:8.5rem;background:var(--paper-lift)}.chapter-nav a:hover{background:color-mix(in srgb,var(--panel) 72%,var(--paper-lift))}.chapter-nav a .kicker{color:var(--signal)}.site-footer{border-top-color:var(--line)}
.dark-mode:root{--ink:#e4edf0;--ink-soft:#c0cdd1;--paper:#142028;--paper-deep:#1b2a33;--paper-lift:#20313a;--rule:#38505a;--rule-soft:#2b4049;--muted:#90a4ac;--accent:#ea816d;--accent-deep:#ffad98;--link:#78c3dd;--store:#68c5b7;--dissipate:#ea816d;--warn:#e0ad66;--phase:#91a6b0}.dark-mode .site-header,.dark-mode .book-nav{background:var(--paper-deep)}.dark-mode .site-header::before{background:var(--signal)}.dark-mode .site-context,.dark-mode .chapter-meta{color:var(--muted)}.dark-mode .palette-button,.dark-mode .theme-toggle{background:var(--paper-lift);border-color:var(--rule)}.dark-mode .book-cover{background:linear-gradient(115deg,var(--paper) 0 72%,color-mix(in srgb,var(--charge) 10%,var(--paper)) 100%)}.dark-mode .part-opener{background:var(--panel)}.dark-mode .chapter-route,.dark-mode .chapter h2,.dark-mode .book-chapter h3{border-color:var(--line)}.dark-mode .visual{background:var(--paper-lift);border-color:var(--line)}.dark-mode .equation{background:color-mix(in srgb,var(--panel) 72%,var(--paper))}.dark-mode .chapter-nav a{background:var(--paper-lift)}
@media (max-width:75rem){.site-header{grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.header-route{grid-column:1/-1;grid-row:2;padding:0 0 .2rem}.signal-path{grid-template-columns:auto minmax(2rem,1fr) minmax(0,2fr)}.chapter-shell{padding-top:5rem}.chapter-outline{float:none;width:auto;margin:0 0 2.5rem;padding:1rem 0;border-left:0;border-top:2px solid var(--signal);border-bottom:1px solid var(--line);background:transparent}.chapter-outline ol{columns:2}.book-cover{min-height:auto}.part-opener{min-height:30vh}}
@media (max-width:46rem){.site-header{min-height:5.2rem;padding:.5rem .85rem}.brand{gap:.55rem}.brand-mark{width:2.25rem;height:2.25rem}.header-route{padding-bottom:.25rem}.site-context{display:none}.signal-path{grid-template-columns:auto minmax(0,1fr);font-size:.61rem}.signal-line{display:none}.header-actions{gap:.45rem}.palette-button,.theme-toggle{min-width:2.75rem;min-height:2.75rem}.about-link{min-height:2.75rem;align-items:center}.book-cover{grid-template-columns:1fr;padding:3.5rem 1.25rem 3.75rem}.course-signal-map{display:none}.book-cover h1{font-size:clamp(3.1rem,16vw,4.9rem)}.cover-actions{align-items:stretch;flex-direction:column;gap:.9rem}.start-reading,.explore-parts{min-height:2.75rem}.part-opener{min-height:28vh;padding:3.5rem 1.25rem 2.5rem}.part-opener p{flex-direction:column;gap:.35rem}.chapter-shell{padding:3.4rem 1.125rem}.chapter-route{grid-template-columns:1fr;row-gap:.7rem;padding-bottom:1.25rem}.chapter-route .part-label,.chapter-route .chapter-title,.chapter-meta{grid-column:1}.chapter-coordinate{grid-row:auto;font-size:2.65rem}.chapter-route .chapter-title{font-size:clamp(2.35rem,11vw,3.45rem)}.chapter-meta{gap:.5rem .65rem;font-size:.57rem}.chapter-meta>span+span{padding-left:.65rem}.chapter-outline ol{columns:1}.chapter-outline a{font-size:.95rem}.chapter-nav a{min-height:7rem;padding:1.05rem}.chapter-nav a strong{font-size:.95rem}}
