:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f7f5ef;--surface:#fffefb;--ink:#292f2b;--muted:#626962;--line:#d9dcd2;--green:#245c4f;--soft:#e7eee6;--accent:#a0462c;--warm:#f2e5d8;--code:#edf0e8;--row:#287766;--column:#b76236;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#171f1c;--surface:#202a25;--ink:#eeeede;--muted:#b0b9ae;--line:#3f4c43;--green:#a1d6bd;--soft:#263c30;--accent:#efb28e;--warm:#3c3026;--code:#26352c;--row:#7dcdb6;--column:#e6a57a}*{box-sizing:border-box}html{scroll-padding-top:30px}body{border-top:4px solid var(--green);margin:0}a{color:var(--green);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,select{min-height:42px}button{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:4px;padding:10px 15px;font-size:14px;font-weight:600}button:hover:not(:disabled){border-color:var(--green);background:var(--soft)}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:10;background:var(--surface);padding:12px;position:absolute;top:-70px;left:20px}.skip:focus{top:10px}.header{border-bottom:1px solid var(--line);align-items:center;gap:24px;min-height:88px;padding:16px 3.5%;display:flex}.brand{color:var(--ink);letter-spacing:-.7px;white-space:nowrap;align-items:center;gap:12px;font-family:Georgia,serif;font-size:24px;text-decoration:none;display:flex}.brand svg{width:30px;height:30px;stroke:var(--green);stroke-width:3px;fill:none}.tagline{color:var(--muted);margin-left:auto;font-size:12px}.source-link{font-size:13px;text-decoration:none}.layout{grid-template-columns:235px minmax(0,1fr);gap:75px;max-width:1330px;margin:auto;padding:65px 45px 0;display:grid}.sidebar{align-self:start;font-size:13px;position:sticky;top:35px}.eyebrow,.small-label,.chapter-meta{text-transform:uppercase;letter-spacing:1.6px;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:600}.eyebrow{color:var(--muted);margin:5px 0 20px}.sidebar-title{letter-spacing:-.6px;margin:0 0 30px;font-family:Georgia,serif;font-size:29px;line-height:1.15}.sidebar nav{flex-direction:column;gap:3px;display:flex}.sidebar nav a{color:var(--muted);padding:11px 15px;line-height:1.5;text-decoration:none}.sidebar nav .chapter-link{background:var(--soft);color:var(--ink);border-left:2px solid var(--green);gap:16px;margin-bottom:12px;padding:17px 14px;display:flex}.chapter-link span{color:var(--green);margin-top:4px;font:11px ui-monospace,monospace}.sidebar nav a:hover{color:var(--green)}.roadmap{margin-top:23px;font-size:12px}.roadmap li{padding:5px 0}.roadmap p{text-transform:uppercase;letter-spacing:1px;font-size:11px}.sidebar-note{border-top:1px solid var(--line);margin-top:35px;padding-top:25px;font-size:12px}.sidebar-note p{color:var(--muted);line-height:1.7}.live-dot{background:var(--green);border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}main{min-width:0;max-width:850px}.chapter-meta{color:var(--muted);letter-spacing:1px;flex-wrap:wrap;gap:20px;font-size:10px;display:flex}.chapter-meta span:first-child{color:var(--accent)}h1{letter-spacing:-3px;margin:28px 0 30px;font:clamp(46px,5.1vw,75px)/1.04 Georgia,Times New Roman,serif}h1 em{color:var(--green);font-weight:400}.standfirst{max-width:750px;margin:0 0 30px;font:23px/1.6 Georgia,serif}.chapter-intro{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);grid-template-columns:135px 1fr;gap:18px;padding:21px 0;display:grid}.chapter-intro .small-label{color:var(--green);padding-top:4px}.chapter-intro p{color:var(--muted);margin:0;font-size:14px;line-height:1.7}section{padding-top:55px}h2{letter-spacing:-.8px;margin:12px 0 24px;font:35px/1.2 Georgia,serif}section>p{font:18px/1.75 Georgia,serif}.section-number{color:var(--accent);margin:0;font-size:10px}.figure,.experiment{background:var(--surface);border:1px solid var(--line);border-radius:7px;margin:28px 0 24px;padding:24px}.figure-heading{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px;padding-bottom:20px;display:flex}.small-label{color:var(--green);font-size:10px}.badge{color:var(--muted);background:var(--code);border-radius:3px;padding:5px 8px;font-size:10px}.trace-layout{grid-template-columns:1.25fr 1fr;align-items:start;gap:28px;display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:10px;font-size:12px;font-weight:600}.segmented{gap:12px;margin-bottom:15px;font-size:12px;display:flex}.segmented label{cursor:pointer;align-items:center;gap:4px;min-height:32px;display:flex}input[type=radio],input[type=range]{accent-color:var(--green)}pre{background:var(--code);border-radius:4px;margin:0;padding:16px;font:12px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.caption{color:var(--muted);font-size:12px;line-height:1.65}.grid{grid-template-columns:repeat(4,1fr);gap:6px;font:14px ui-monospace,monospace;display:grid}.grid span{border:1px solid var(--line);aspect-ratio:1.2;background:var(--paper);border-radius:3px;place-items:center;display:grid}.grid .visited{background:var(--soft);border-color:var(--green)}.grid .current{background:var(--green);color:var(--paper);border:2px solid var(--green);box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--green)}.trace-readout{margin:16px 0 0;font-size:11px;line-height:1.7}.trace-footer{border-top:1px solid var(--line);align-items:center;gap:15px;margin-top:20px;padding-top:18px;font-size:12px;display:flex}.trace-footer input{flex:1;min-width:0}.figure>.caption{margin-bottom:0}.thought{background:var(--warm);border-left:2px solid var(--accent);gap:22px;margin:25px 0;padding:20px 22px;display:flex}.thought>span{color:var(--accent);min-width:90px;padding-top:3px;font-size:12px;font-weight:600}.thought p{margin:0;font:15px/1.7 Georgia,serif}.settings-row{grid-template-columns:1.5fr 1fr;gap:20px;display:grid}.settings-row label{font-size:12px;font-weight:600}select{background:var(--paper);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:4px;margin-top:8px;padding:12px;font-size:14px;display:block}details{border-top:1px solid var(--line);padding:17px 0;font-size:14px;line-height:1.65}details p{font-size:14px;line-height:1.7}summary{cursor:pointer;color:var(--green);font-size:13px;font-weight:600}.code-details{margin-top:25px}textarea{resize:vertical;background:var(--code);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:4px;margin:10px 0;padding:15px;line-height:1.6;display:block}#source{white-space:pre;tab-size:2;font:12px/1.7 ui-monospace,monospace;overflow:auto}.run-row{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.primary{background:var(--green);color:var(--paper);border-color:var(--green);padding:13px 22px;font-size:14px}.primary:hover:not(:disabled){background:var(--ink);color:var(--paper)}.primary span{margin-right:8px;font-size:10px}.status{color:var(--muted);overflow-wrap:anywhere;margin:20px 0 0;font-size:13px;line-height:1.6}.status.error{color:var(--accent);white-space:pre-wrap}#cancel{margin-top:15px}.notice{border-left:2px solid var(--accent);background:var(--warm);color:var(--ink);padding:12px 16px;font:13px/1.7 Arial,sans-serif}.result-summary{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:20px;margin:25px 0;padding-top:25px;display:grid}.result-summary strong{margin-top:12px;font:32px Georgia,serif;display:block}.result-summary small{color:var(--muted);font:11px Arial,sans-serif}.chart svg{width:100%;display:block;overflow:visible}.chart text{fill:var(--muted);font:11px Arial,sans-serif}.chart .axis{stroke:var(--muted)}.chart .guide{stroke:var(--line);stroke-dasharray:2 4}.row-mark{fill:var(--row);opacity:.8}.column-mark{fill:var(--column);opacity:.8}.median-line{stroke:var(--ink);stroke-width:2px}#comparison{font:16px/1.6 Georgia,serif}.table-scroll{max-height:350px;margin:18px 0;overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;font-variant-numeric:tabular-nums;width:100%;font-size:12px}td,th{text-align:right;border-bottom:1px solid var(--line);padding:9px}th{font-weight:600}td:nth-child(2),th:nth-child(2){text-align:left}#download{margin-top:15px}.method{background:var(--soft);border:0;border-radius:4px;padding:20px}.evidence{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin:28px 0 0;padding:25px 0}.evidence>p:not(.caption){margin:18px 0;font:25px/1.5 Georgia,serif}.hints{padding:15px 0}.hints ol{font:15px/1.7 Georgia,serif}.hints li{padding:7px}.notes label{margin-top:20px;font-size:13px;display:block}.references{border-top:1px solid var(--line);margin-top:25px;padding-top:30px}.references h2{font-size:25px}.references p,.references li{font:13px/1.8 Arial,sans-serif}.references ul{padding-left:18px}footer{border-top:1px solid var(--line);color:var(--muted);margin-top:45px;padding:25px 0 40px;font-size:11px;line-height:1.7}code{font-size:.85em}#pseudocode code{font:inherit}@media (width>=1600px){.layout{gap:95px}}@media (width<=1100px){.layout{grid-template-columns:190px minmax(0,1fr);gap:35px;padding:45px 30px 0}.trace-layout{grid-template-columns:1fr}.grid{max-width:300px}.tagline{display:none}.header button{margin-left:auto}h1{font-size:58px}}@media (width<=750px){.header{flex-wrap:wrap;gap:12px;min-height:78px;padding:15px 20px}.brand{font-size:20px}.brand svg{width:23px}.source-link{display:none}.header button{padding:7px 10px;font-size:11px}.layout{padding:30px 20px 0;display:block}.sidebar{margin-bottom:35px;position:static}.sidebar-title,.sidebar>.eyebrow,.sidebar-note,.sidebar nav a:not(.chapter-link){display:none}.sidebar nav .chapter-link{margin:0;padding:10px 14px;font-size:12px;display:inline-flex}.chapter-link br{display:none}.chapter-meta{gap:12px;font-size:9px}h1{letter-spacing:-2px;margin:22px 0;font-size:52px}.standfirst{font-size:21px}.chapter-intro{grid-template-columns:1fr;gap:10px}section{padding-top:40px}h2{font-size:30px}section>p{font-size:17px}.figure,.experiment{padding:18px}.thought{padding:18px;display:block}.thought p{margin-top:10px}.settings-row{grid-template-columns:1fr;gap:15px}.figure-heading{gap:10px}.result-summary{gap:12px}.result-summary strong{font-size:25px}.result-summary small{margin-top:6px;display:block}.small-label{font-size:9px}.trace-footer{gap:10px}.chart{overflow-x:auto}}@media (prefers-reduced-motion:no-preference){a,button{transition:background .12s,border-color .12s}}.book-contents-heading{border-top:1px solid var(--line);color:var(--muted);letter-spacing:0;margin:0;padding-top:20px;font:600 13px/1.65 Arial,Helvetica,sans-serif}.book-contents{border-top:0;padding:0}.book-contents>summary{display:none}.book-contents nav{max-height:55vh;margin-top:14px;overflow-y:auto}.book-list{margin:0;padding:0;list-style:none}.sidebar nav .book-list a{border-left:2px solid #0000;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:10px 8px;line-height:1.5;display:grid}.book-list a>span:first-child{font:11px/1.8 ui-monospace,monospace}.book-list small{color:var(--muted);font-size:10px;font-weight:400;display:block}.sidebar nav .book-list [aria-current=page]{border-color:var(--green);background:var(--soft);color:var(--ink)}.outline-page h1{letter-spacing:-1.5px;overflow-wrap:anywhere;font-size:clamp(40px,4.1vw,60px)}.outline-page section ul,.outline-steps{padding-left:24px;font:18px/1.75 Georgia,serif}.outline-page section li{padding:6px 0}.outline-objectives{padding-top:24px}.outline-objectives h2{font-size:27px}.chapter-pagination{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:45px;padding-top:25px;display:grid}.chapter-pagination a{font:18px/1.5 Georgia,serif;text-decoration:none}.chapter-pagination .small-label{margin-bottom:10px;display:block}.pipeline{padding-left:24px;font:15px/1.6 Arial,sans-serif}@media (width<=750px){.roadmap{margin-top:16px;display:block}.book-contents-heading{display:none}.book-contents{border-top:1px solid var(--line);padding:14px 0}.book-contents>summary{display:list-item}.book-contents nav{max-height:300px}.sidebar nav .book-list a{display:grid}.outline-page .sidebar{margin-bottom:25px}.outline-page h1{font-size:42px}.outline-page section ul,.outline-steps{font-size:17px}.chapter-pagination{grid-template-columns:1fr}}
