@font-face{font-family:Newsreader;src:url(/fonts/newsreader-latin-opsz-normal.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Newsreader;src:url(/fonts/newsreader-latin-opsz-italic.woff2) format("woff2");font-weight:200 800;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Sans Condensed;src:url(/fonts/ibm-plex-sans-condensed-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans Condensed;src:url(/fonts/ibm-plex-sans-condensed-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Sans Condensed;src:url(/fonts/ibm-plex-sans-condensed-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}:root{--room: #10191f;--room-raised: #142028;--film: #05090d;--ink: #e3e9ec;--ink-soft: #c3cdd2;--muted: #8a99a3;--rule: #24323c;--bone: #f6f9f7;--caliper: #f0b544;--serif: "Newsreader", "Iowan Old Style", Georgia, serif;--label: "IBM Plex Sans Condensed", "Arial Narrow", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--measure: 62ch;--gutter: clamp(16px, 5vw, 80px);--wide: 1240px;color-scheme:dark}*{box-sizing:border-box}html{font-size:19px;-webkit-text-size-adjust:100%;background:var(--room)}body{margin:0;background:var(--room);color:var(--ink);font:400 1rem/1.68 var(--serif);font-optical-sizing:auto;font-variant-numeric:oldstyle-nums proportional-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#f0b54452}a{color:inherit;text-decoration-color:#f0b544b3;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--caliper)}code{font-family:var(--mono);font-size:.8em;color:var(--bone);background:#dce8ec12;padding:.08em .3em;border-radius:3px}main:focus{outline:none}:focus-visible{outline:2px solid var(--caliper);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:10;background:var(--bone);color:var(--film);padding:8px 12px;font-family:var(--label)}h1{font-weight:330;font-size:clamp(3.4rem,10.5vw,9.4rem);line-height:.88;letter-spacing:-.035em;margin:0;font-variation-settings:"opsz" 72}h1 .nowrap{white-space:nowrap}h2{font-weight:380;font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.04;letter-spacing:-.02em;margin:0 0 .55em;font-variation-settings:"opsz" 60;text-wrap:balance}h3{font-weight:560;font-size:1.12rem;line-height:1.3;margin:0 0 .4em;font-variation-settings:"opsz" 24}p{margin:0 0 1em;text-wrap:pretty}.lead{font-size:clamp(1.15rem,1.6vw,1.42rem);line-height:1.45;color:var(--ink);max-width:30ch;margin:0;font-variation-settings:"opsz" 24}.text-link{font-family:var(--label);font-weight:500;font-size:.92rem;letter-spacing:.01em;text-decoration-color:var(--caliper);text-decoration-thickness:1.5px;text-underline-offset:5px}.hero{padding:clamp(36px,7vh,88px) var(--gutter) clamp(40px,7vh,80px);max-width:calc(var(--wide) + 2 * var(--gutter));margin:0 auto}.hero-text{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:clamp(24px,5vw,72px);row-gap:22px;align-items:end;margin-bottom:clamp(28px,5vh,52px)}.hero-text h1{grid-column:1;grid-row:1 / span 2;align-self:end}.hero-text .lead{grid-column:2;grid-row:1}.hero-meta{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin:0}.install{display:block;font:400 .72rem/1.55 var(--mono);color:var(--ink-soft);background:transparent;border:1px solid var(--rule);padding:9px 12px;border-radius:4px;user-select:all;max-width:100%;overflow-wrap:break-word}.plate{margin:0;position:relative;min-width:0}.film{position:relative;background:var(--film);border-radius:6px;overflow:hidden;min-height:120px;box-shadow:0 0 0 1px #dce8ec12,0 40px 90px -50px #78afc452}.film canvas{display:block}.film canvas.windowed{cursor:ns-resize;cursor:move;touch-action:pan-y}.film-corner{position:absolute;z-index:1;pointer-events:none;font:500 12px/1.35 var(--label);letter-spacing:.015em;color:#d6e2e7b3;font-variant-numeric:tabular-nums}.film-corner.tl{top:14px;left:18px;right:34%;display:flex;flex-wrap:wrap;gap:0 10px}.film-corner.tl .plate-no{color:var(--bone);font-weight:600}.film-corner.tl .kind{color:var(--bone)}.film-corner.tl .kind-emulation,.film-corner.tl .kind-computed,.film-corner.tl .kind-reference{color:#d6e2e7b3}.film-corner.tl .what{flex-basis:100%}.film-corner.tr{top:14px;right:18px;text-align:right;color:var(--caliper)}.film-corner.bl{bottom:12px;left:18px}.film-corner.br{bottom:12px;right:18px;text-align:right;color:var(--bone);max-width:70%}.film-corner.br.hint{color:#d6e2e780}.film-cursor{position:absolute;z-index:1;pointer-events:none;border:1px solid var(--caliper);border-radius:3px}.roi{position:absolute;inset:0;pointer-events:none;overflow:visible}.roi-line{fill:none;stroke:var(--caliper);stroke-width:1.6;stroke-linecap:square;stroke-dasharray:1;stroke-dashoffset:0}.roi-line.drawn{animation:draw .7s cubic-bezier(.6,0,.3,1) both}@keyframes draw{0%{stroke-dashoffset:1}}.roi-lead{stroke-width:1;opacity:.75}.roi-fill{fill:#f0b5440d}.roi-tag{fill:var(--caliper);font:600 11px var(--label);letter-spacing:.04em;opacity:.85}.roi-note{fill:var(--caliper);font:500 15px var(--label);letter-spacing:.01em}.plate-cap{font:400 .8rem/1.5 var(--label);letter-spacing:.005em;color:var(--muted);padding:12px 2px 0;max-width:72ch}.plate-cap a{color:var(--ink-soft)}.plate-hero .film canvas,.plate-hero .film .film-corner{opacity:0}.lit .plate-hero .film canvas{animation:expose 1.5s cubic-bezier(.5,0,.2,1) .15s both}.lit .plate-hero .film .film-corner{animation:appear .5s ease 1.5s both}.plate-hero .film:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(246,249,247,.85) 20%,rgba(246,249,247,.85) 80%,transparent);box-shadow:0 0 24px 6px #a0cddc59;opacity:0;pointer-events:none;z-index:2}.lit .plate-hero .film:after{animation:scan 1.5s cubic-bezier(.5,0,.2,1) .15s both}@keyframes expose{0%{opacity:1;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes scan{0%{top:0;opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.plate-hero .roi-line,.plate-hero .roi-fill,.plate-hero .roi text{opacity:0}.lit .plate-hero .roi-line{opacity:1;animation:draw .7s cubic-bezier(.6,0,.3,1) 1.7s both}.lit .plate-hero .roi-lead{opacity:.75}.lit .plate-hero .roi-fill,.lit .plate-hero .roi text{animation:appear .4s ease 2.2s both}@keyframes appear{0%{opacity:0}to{opacity:1}}.settled .plate-hero .roi-line,.settled .plate-hero .roi-fill,.settled .plate-hero .roi text{opacity:1;animation:none}.settled .plate-hero .roi-lead{opacity:.75}.plate-hero .plate-cap{max-width:80ch}main{padding:0 var(--gutter);max-width:calc(var(--wide) + 2 * var(--gutter));margin:0 auto}.chapter{padding:clamp(64px,12vh,140px) 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,1fr);gap:36px}.chapter>.plate,.plate-row{max-width:var(--wide)}.prose{max-width:var(--measure)}.prose p{color:var(--ink-soft)}.eq{margin:.5em 0 1.3em;font-size:1.16rem;overflow-x:auto;overflow-y:hidden;padding:14px 0 14px 18px;border-left:1px solid var(--rule);color:var(--bone)}.eq .katex-display,.eq .katex-display>.katex{margin:0;text-align:left}.plate-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:28px 24px}.leak-row{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.plate.small .roi-note{font-size:13.5px}.plate.small .film-corner{font-size:11px}.scrolly-body{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,4vw,64px);align-items:start}.scrolly-body .sticky{position:sticky;top:10vh;grid-column:2;grid-row:1}.steps{grid-column:1;grid-row:1;list-style:none;margin:0;padding:16vh 0 30vh}.step{min-height:64vh;max-width:44ch;opacity:.4;transition:opacity .3s ease;border-left:1px solid var(--rule);padding-left:20px}.step.active{opacity:1;border-left-color:var(--caliper)}.step h3{font-size:1.24rem}.step p{color:var(--ink-soft)}.objective-tabs{display:inline-flex;gap:4px;margin:.2em 0 1em;border-bottom:1px solid var(--rule)}.objective-tabs button{font:500 .88rem var(--label);letter-spacing:.01em;background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 14px;cursor:pointer}.objective-tabs button:hover{color:var(--ink)}.objective-tabs button[aria-selected=true]{color:var(--bone);border-bottom-color:var(--caliper)}.objective-note{min-height:3.4em}.slider{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:14px;align-items:center;font:400 .84rem var(--label);color:var(--muted)}.slider input{accent-color:var(--caliper);width:100%}.slider output{font-weight:600;color:var(--caliper);min-width:6.5em;text-align:right;font-variant-numeric:tabular-nums}.formula-stage{display:grid}.formula-layer{grid-area:1 / 1;color:var(--bone);transition:color var(--fade-duration, .5s) ease .12s}.formula-layer .katex-display,.formula-layer .katex-display>.katex{margin:0;text-align:left}.formula-layer.morph-in{color:transparent}.formula-layer.morph-out{pointer-events:none}[data-tok]{display:inline-block;border-radius:3px;will-change:transform}.tok-persist{color:var(--bone)}.tok-enter{animation:tok-enter var(--enter-duration, .9s) ease both}@keyframes tok-enter{0%{color:transparent}45%{color:var(--caliper)}to{color:var(--bone)}}.finding{max-width:var(--measure);border-left:2px solid var(--caliper);padding:6px 0 6px 22px}.finding p{color:var(--ink-soft)}.code{background:var(--film);color:var(--bone);padding:20px 22px;border-radius:6px;border:1px solid var(--rule);overflow-x:auto;font:400 .74rem/1.7 var(--mono);max-width:var(--measure)}.code code{font-size:inherit;background:none;padding:0}.colophon{padding:clamp(56px,9vh,104px) max(var(--gutter),calc((100% - var(--wide)) / 2));border-top:1px solid var(--rule);background:var(--room-raised);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:0 56px;align-items:start}.colophon h2,.colophon .links{grid-column:1 / -1}.colophon h2{font-size:1.5rem}.colophon p{color:var(--muted);font-size:.9rem;max-width:var(--measure)}.links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:1.4em}.load-error{border-left:2px solid var(--caliper);padding-left:14px;margin-top:24px}@media(max-width:900px){.hero-text{grid-template-columns:minmax(0,1fr)}.hero-text h1,.hero-text .lead,.hero-meta{grid-column:1;grid-row:auto}.scrolly-body{grid-template-columns:minmax(0,1fr)}.scrolly-body .sticky{grid-column:1;top:8px;z-index:2}.steps{grid-row:2;padding:4vh 0 10vh}.step{min-height:70vh;background:#10191ff0;padding:12px 0 12px 16px}}@media(max-width:560px){html{font-size:17.5px}.slider{grid-template-columns:1fr auto}.slider span{grid-column:1 / -1}.slider input{height:44px}.film-corner.tl{left:14px;right:104px}.film-corner.tr{right:14px}.film-corner.bl{left:14px}.film-corner.br.hint{display:none}}@media(prefers-reduced-motion:reduce){.plate-hero .film canvas,.plate-hero .film .film-corner,.plate-hero .roi-line,.plate-hero .roi-fill,.plate-hero .roi text{opacity:1}.plate-hero .roi-lead{opacity:.75}.lit .plate-hero .film canvas,.lit .plate-hero .film .film-corner,.lit .plate-hero .film:after,.lit .plate-hero .roi-line,.lit .plate-hero .roi-fill,.lit .plate-hero .roi text,.roi-line.drawn,.tok-enter{animation:none}.step{transition:none}}
