:root{--paper-bg:#f4f3f0;--paper-fg:#111;--paper-dim:#6d6b66;--paper-line:#1111111f;--ink-bg:#111;--ink-fg:#ecebe7;--ink-dim:#8d8a83;--ink-line:#ecebe729;--card:#fff;--ink:#111;--paper:#fff;--font-code:var(--font-mono);--signal:#e2477a;--bg:var(--paper-bg);--fg:var(--paper-fg);--dim:var(--paper-dim);--line:var(--paper-line);--font-line:"Newsreader", "Iowan Old Style", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--font-name:"Poppins", "Helvetica Neue", Arial, sans-serif;--ease:cubic-bezier(.2, .7, .2, 1);color-scheme:light}body[data-tone=ink]{--bg:var(--ink-bg);--fg:var(--ink-fg);--dim:var(--ink-dim);--line:var(--ink-line);color-scheme:dark}*{box-sizing:border-box}html{scroll-snap-type:y mandatory;background:var(--paper-bg)}body{background:var(--bg);color:var(--fg);font-family:var(--font-line);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .8s,color .8s}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline-offset:3px;outline:2px solid}.d-bar{z-index:20;padding:calc(18px + env(safe-area-inset-top,0px)) 24px 0;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.d-bar>*{pointer-events:auto}.home{font-family:var(--font-name);color:var(--dim);font-size:13.5px;font-weight:500;text-decoration:none;transition:color .2s}.home:hover{color:var(--fg)}.index-btn{font-family:var(--font-mono);letter-spacing:.02em;border:1px solid var(--line);cursor:pointer;color:var(--dim);background:0 0;border-radius:999px;padding:6px 14px;font-size:11.5px;transition:color .2s,border-color .2s}.index-btn:hover{color:var(--fg);border-color:currentColor}.scene{scroll-snap-align:start;scroll-snap-stop:always;place-items:center;min-height:100svh;padding:11svh 20px 12svh;display:grid}.stack{text-align:center;flex-direction:column;align-items:center;gap:clamp(18px,3.4svh,36px);width:min(100%,960px);display:flex}.line{text-wrap:balance;letter-spacing:-.01em;max-width:22ch;margin:0;font-size:clamp(26px,4vw,44px);font-weight:300;line-height:1.18}.text-only .line{max-width:20ch;font-size:clamp(30px,5vw,58px)}.line,.lead{white-space:pre-line}.line.em{font-style:italic}.app-icon{vertical-align:-.17em;width:1.05em;height:1.05em;margin-right:.14em;display:inline-block}.lead{color:var(--dim);margin:0;font-size:clamp(20px,2.6vw,28px);font-weight:300;line-height:1.25}.big .line{letter-spacing:-.03em;max-width:none;font-size:clamp(48px,9vw,128px);font-weight:400;line-height:1}.note,.kicker{max-width:52ch;font-family:var(--font-name);color:var(--dim);text-wrap:balance;margin:0;font-size:14px;font-weight:400;line-height:1.55}.caption{max-width:64ch;font-family:var(--font-name);color:var(--dim);text-wrap:balance;margin-top:calc(-1*clamp(8px,1.6svh,18px));font-size:12.5px;line-height:1.5}.footnote{font-family:var(--font-name);color:var(--dim);opacity:.8;font-size:11.5px;line-height:1.5}.kicker{color:var(--fg);align-items:center;gap:12px;font-weight:500;display:inline-flex}.glyph{flex:none;width:16px;height:16px;display:inline-block}.glyph svg{width:100%;height:100%;display:block;overflow:visible}.badge{width:32px;height:32px}.stack>*{margin:0}.lines{flex-direction:column;align-items:center;gap:.7em;display:flex}.begin{font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;padding:11px 22px;font-size:11.5px;transition:background .25s,color .25s}.begin:hover{background:var(--fg);color:var(--bg)}.go{font-family:var(--font-mono);letter-spacing:.08em;border-bottom:1px solid;padding-bottom:2px;font-size:12px;text-decoration:none}.stack.wide:has(video){width:min(100%,1320px)}.wide:has(video) .line{max-width:34ch}.wide:has(video) .caption{max-width:90ch}.scene:has(video){padding-block:7svh 8svh}figure video{cursor:zoom-in}figure{justify-items:center;width:100%;margin:0;display:grid}figure>*{grid-area:1/1}figure img,figure video{max-width:100%;max-height:var(--max,54svh);border-radius:6px;width:auto;height:auto;display:block;box-shadow:0 1px #00000008,0 24px 60px -28px #00000047}.site a{background:var(--card);width:min(100%,720px);color:var(--paper-fg);border:1px solid var(--line);transition:transform .4s var(--ease), box-shadow .4s var(--ease);border-radius:14px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 1px #00000008,0 24px 60px -28px #00000047}.site a:hover{transform:translateY(-3px);box-shadow:0 1px #00000008,0 32px 70px -28px #00000057}.site img{width:100%;height:auto;max-height:calc(var(--max,54svh) - 52px);object-fit:cover;object-position:top;box-shadow:none;border-radius:0}.site-foot{border-top:1px solid var(--paper-line);height:52px;font-family:var(--font-name);justify-content:space-between;align-items:center;gap:16px;padding:0 20px;font-size:13.5px;display:flex}.site-foot b{font-weight:500}.site-foot span{color:var(--paper-dim);transition:color .2s}.site a:hover .site-foot span{color:var(--paper-fg)}figure.cutout img{box-shadow:none;border-radius:0}figure[style*=--w] img{width:min(100%, var(--w))}figure.fade img{opacity:0;transition:opacity .9s}figure.fade img.on{opacity:1}.scene:has(.backdrop){position:relative;overflow:hidden}.scene:has(.backdrop) .stack{position:relative}.backdrop{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.backdrop path{fill:none;stroke:var(--dim);stroke-opacity:.45;stroke-width:1.3px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.backdrop .sheet{fill:var(--bg)}html.js .backdrop path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.6s var(--ease)}html.js .scene.on .backdrop path{stroke-dashoffset:0}html.js .scene.on .backdrop .obj:first-of-type path{transition-delay:.9s}html.js .scene.on .backdrop .obj:nth-of-type(2) path{transition-delay:1.2s}html.js .scene.on .backdrop .obj:nth-of-type(3) path{transition-delay:1.5s}html.js .scene.on .backdrop .obj:nth-of-type(4) path{transition-delay:1.8s}.backdrop.inline{display:none}@media (width<=600px){.backdrop.desk:not(.inline){display:none}.backdrop.inline{width:100%;height:auto;display:block;position:static}}.drawing{width:clamp(240px,46svh,420px);height:auto;overflow:visible}.drawing path{fill:none;stroke:var(--fg);stroke-opacity:.55;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.drawing text{font-family:var(--font-name);fill:var(--dim);text-anchor:middle;font-size:15px}html.js .drawing path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.4s var(--ease)}html.js .drawing text{opacity:0;transition:opacity .8s 1.2s}html.js .scene.on .drawing path{stroke-dashoffset:0}html.js .scene.on .drawing text{opacity:1}html.js .scene.on .drawing .obj:first-of-type path{transition-delay:.7s}html.js .scene.on .drawing .obj:nth-of-type(2) path{transition-delay:1.1s}html.js .scene.on .drawing .obj:nth-of-type(3) path{transition-delay:1.5s}.drawing.reasons{width:min(100%,940px,107.692svh)}.drawing.reasons.narrow-only{width:min(100%,360px,36.25svh);display:none}@media (width<=640px){.drawing.reasons.wide-only{display:none}.drawing.reasons.narrow-only{display:block}}.reasons text{font-family:var(--font-line);fill:var(--dim);font-size:17px}.reasons path{stroke-opacity:.35}.reasons .v{fill:var(--fg);fill-opacity:.75;font-size:14px}.reasons .term{fill:var(--fg);font-size:30px;font-weight:300}.reasons .mid{fill:var(--fg);font-size:22px;font-weight:300}.reasons.narrow-only .term{font-size:24px}.reasons.narrow-only .mid{font-size:19px}.reasons.narrow-only text.aside{font-size:14px}.reasons .dot{stroke:none;mix-blend-mode:multiply;transform-box:fill-box;transform-origin:50%}.reasons .dot.w{fill:#a7a49d;fill-opacity:.45}.reasons .dot.f{fill:#e7a3bf;fill-opacity:.55}.reasons .dot.c{fill:#edcf8a;fill-opacity:.6}html.js .reasons .dot{opacity:0;transition:opacity 1s ease, transform 1.4s var(--ease)}html.js .reasons .dot.w{transform:translateY(-14px)}html.js .reasons .dot.f{transform:translate(-14px,10px)}html.js .reasons .dot.c{transform:translate(14px,10px)}html.js .scene.on .reasons .dot{opacity:1;transition-delay:.2s;transform:none}html.js .scene.on .reasons .lv0 text{transition-delay:1s}html.js .scene.on .reasons .lv1 path{transition-delay:1.3s}html.js .scene.on .reasons .lv1 text{transition-delay:1.9s}html.js .scene.on .reasons .lv2 path{transition-delay:2.1s}html.js .scene.on .reasons .lv2 text{transition-delay:2.6s}html.js .scene.on .reasons .lv3 path{transition-delay:2.9s}html.js .scene.on .reasons .lv3 text{transition-delay:3.4s}html.js .scene.on .reasons .lv4 path{transition-delay:3.6s}html.js .scene.on .reasons .lv4 text{transition-delay:4.1s}html.js .scene.on .reasons .lv5 path{transition-delay:4.3s}html.js .scene.on .reasons .lv5 text{transition-delay:4.8s}.balance .beam,.balance .pan{transform-box:view-box;transform-origin:300px 60px;transition:transform 2.2s cubic-bezier(.45,0,.2,1) 1.8s}.scene.on .balance .beam{transform:rotate(-8deg)}.scene.on .balance .pan.left{transform:translate(2px,26px)}.scene.on .balance .pan.right{transform:translate(-2px,-26px)}.equation{flex-direction:column;align-items:center;gap:.1em;display:flex}.equation p{margin:0}.equation .term{letter-spacing:-.01em;font-size:clamp(26px,3.4vw,44px);font-weight:300;line-height:1.15}.equation .sign{color:var(--dim);font-size:clamp(16px,1.6vw,22px);line-height:1.5}.equation .result{letter-spacing:-.03em;margin-top:.1em;font-size:clamp(44px,7vw,96px);font-weight:400}html.js .scene.on .equation .r:first-child{transition-delay:.3s}html.js .scene.on .equation .r:nth-child(2){transition-delay:.8s}html.js .scene.on .equation .r:nth-child(3){transition-delay:1.1s}html.js .scene.on .equation .r:nth-child(4){transition-delay:1.6s}html.js .scene.on .equation .r:nth-child(5){transition-delay:1.9s}html.js .scene.on .equation .r:nth-child(6){transition-delay:2.4s}html.js .scene.on .equation .r:nth-child(7){transition-delay:2.7s}html.js .gate.on .stack>.begin.r:last-child{transition-delay:3.2s}.facts{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;width:min(100%,1080px);display:grid}.fact{border-top:1px solid var(--line);padding-top:18px}.fact h3{letter-spacing:-.01em;margin:0 0 12px;font-size:clamp(24px,2.6vw,34px);font-weight:300;line-height:1.15}.fact p{font-family:var(--font-name);color:var(--dim);margin:0;font-size:16px;line-height:1.55}html.js .scene.on .facts .fact:nth-child(2){transition-delay:.5s}html.js .scene.on .facts .fact:nth-child(3){transition-delay:1s}@media (width<=600px){.facts{grid-template-columns:1fr;gap:22px}.fact h3{margin-bottom:6px}}figure.pair{height:var(--max,54svh);justify-content:center;align-items:flex-start;gap:clamp(14px,3vw,44px);display:flex}figure.pair img{border-radius:10px;width:auto;max-width:none;height:90%;max-height:none;box-shadow:0 18px 40px -18px #00000059}figure.pair img:nth-child(2){margin-top:calc(var(--max,54svh) * .1)}figure.pair.cutout img{box-shadow:none;border-radius:0}html.js .scene figure.pair img{opacity:0;transition:opacity .8s,transform 1s cubic-bezier(.2,.8,.2,1);transform:translateY(20px)}html.js .scene.on figure.pair img{opacity:1;transform:none}html.js .scene.on figure.pair img:first-child{transition-delay:.2s}html.js .scene.on figure.pair img:nth-child(2){transition-delay:.55s}@media (width<=640px){figure.pair{width:100%;height:auto}figure.pair img{aspect-ratio:auto;width:46%;height:auto}figure.pair img:nth-child(2){margin-top:10%}}figure.gallery{width:min(100%, calc(var(--max,54svh) * 1.7));aspect-ratio:16/9;display:block;position:relative}figure.gallery img{width:var(--s,28%);aspect-ratio:1;object-fit:cover;height:auto;max-height:none;left:var(--x);top:var(--y);transform:rotate(var(--r));background:#fff;border-radius:3px;padding:clamp(4px,.5vw,8px);transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1);position:absolute;box-shadow:0 1px 2px #00000014,0 14px 30px -12px #00000047}figure.gallery img:first-child{--x:3%;--y:3%;--r:-5deg;z-index:2}figure.gallery img:nth-child(2){--x:34%;--y:0%;--r:3deg;z-index:1}figure.gallery img:nth-child(3){--x:66%;--y:5%;--r:-2deg;z-index:3}figure.gallery img:nth-child(4){--x:13%;--y:47%;--r:4deg;z-index:4}figure.gallery img:nth-child(5){--x:43%;--y:43%;--r:-4deg;z-index:5}figure.gallery img:nth-child(6){--x:72%;--y:49%;--r:6deg;z-index:6}html.js .scene figure.gallery img{opacity:0;transform:translateY(-18px) rotate(calc(var(--r) * 2.5)) scale(1.08)}html.js .scene.on figure.gallery img{opacity:1;transform:rotate(var(--r))}html.js .scene.on figure.gallery img:first-child{transition-delay:.2s}html.js .scene.on figure.gallery img:nth-child(2){transition-delay:.45s}html.js .scene.on figure.gallery img:nth-child(3){transition-delay:.7s}html.js .scene.on figure.gallery img:nth-child(4){transition-delay:.95s}html.js .scene.on figure.gallery img:nth-child(5){transition-delay:1.2s}html.js .scene.on figure.gallery img:nth-child(6){transition-delay:1.45s}@media (width<=640px){figure.gallery{width:min(100%, calc(var(--max,54svh) * .75));aspect-ratio:3/4}figure.gallery img:first-child{--x:2%;--y:2%;--s:50%}figure.gallery img:nth-child(2){--x:50%;--y:5%;--s:50%}figure.gallery img:nth-child(3){--x:4%;--y:33%;--s:50%}figure.gallery img:nth-child(4){--x:48%;--y:36%;--s:50%}figure.gallery img:nth-child(5){--x:3%;--y:63%;--s:50%}figure.gallery img:nth-child(6){--x:50%;--y:62%;--s:50%}}figure.decode{display:block}.decode-box{aspect-ratio:calc(var(--cols) * .6) / var(--rows);width:min(100%, calc(var(--max,54svh) * var(--cols) * .6 / var(--rows)));margin:0 auto;position:relative;container-type:inline-size}.decode-box>*{position:absolute}.decode .scan{border-radius:4px;width:100%;height:100%;max-height:none;inset:0;box-shadow:0 24px 60px -28px #00000047}.decode .letters{color:var(--fg);opacity:.3;inset:0}.decode pre{font:400 calc(100cqw / (var(--cols) * .6)) / 1 var(--font-mono);letter-spacing:0;white-space:pre;text-align:left;margin:0}.decode .word{left:calc(var(--c) * 100% / var(--cols));top:calc(var(--r) * 100% / var(--rows));font:500 calc(100cqw / (var(--cols) * .6)) / 1 var(--font-mono);color:var(--fg);background:var(--bg);margin-left:-.3ch;padding:0 .3ch}.decode .scan,.decode .beam{display:none}html.js .decode .scan,html.js .decode .beam{display:block}html.js .decode .scan{clip-path:inset(0)}html.js .decode .letters{opacity:1;clip-path:inset(0 0 100%)}html.js .decode .word{opacity:0}html.js .decode .beam{background:var(--fg);opacity:0;height:1px;top:0;left:-2%;right:-2%}html.js .scene.on .decode .scan{animation:2.8s linear .9s both decode-scan}html.js .scene.on .decode .letters{animation:2.8s linear .9s both decode-letters,1.2s 4s both decode-dim}html.js .scene.on .decode .beam{animation:2.8s linear .9s both decode-beam}html.js .scene.on .decode .word{animation:.7s both decode-word;animation-delay:calc(4.6s + var(--k) * .22s)}@keyframes decode-scan{to{clip-path:inset(100% 0 0)}}@keyframes decode-letters{to{clip-path:inset(0)}}@keyframes decode-dim{0%{opacity:1}to{opacity:.3}}@keyframes decode-beam{0%{opacity:.7;top:0}96%{opacity:.7}to{opacity:0;top:100%}}@keyframes decode-word{0%{opacity:0}to{opacity:1}}.poem{columns:2;text-align:left;font-family:var(--font-mono);color:var(--dim);column-gap:clamp(32px,6vw,88px);font-size:clamp(13px,1.25vw,15.5px);line-height:1.6}.poem p{break-inside:avoid;margin:0 0 1.2em}.poem b{color:var(--fg);font-weight:500}html.js .scene.on .poem .r:nth-child(2){transition-delay:.3s}html.js .scene.on .poem .r:nth-child(3){transition-delay:.6s}html.js .scene.on .poem .r:nth-child(4){transition-delay:.9s}html.js .scene.on .poem .r:nth-child(5){transition-delay:1.2s}html.js .scene.on .stack:has(>.poem)>.line.r{transition-delay:1.8s}html.js .scene.on .stack:has(>.poem)>.note.r{transition-delay:2.2s}.opener-poem{columns:1;font-size:clamp(15px,1.7vw,21px);line-height:1.75}.opener-poem p{margin:0}html.js .gate.on .opener-poem .r:first-child{transition-delay:.3s}html.js .gate.on .opener-poem .r:nth-child(2){transition-delay:.7s}html.js .gate.on .opener-poem .r:nth-child(3){transition-delay:1.1s}html.js .gate.on .opener-poem .r:nth-child(4){transition-delay:1.5s}html.js .gate.on .opener-poem .r:nth-child(5){transition-delay:1.9s}html.js .gate.on .stack:has(>.opener-poem)>.note.r{transition-delay:2.8s}@media (width<=600px){.poem{columns:1;font-size:12.5px;line-height:1.5}.poem p{margin-bottom:.9em}.opener-poem{font-size:14.5px;line-height:1.7}.opener-poem p{margin:0}}.inventory{text-align:left;width:min(100%,720px);font-family:var(--font-name);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;padding:0;font-size:15px;line-height:1.4;list-style:none;display:grid}.scene:has(.inventory){padding-block:8svh 9svh}.inventory li{border-top:1px solid var(--line);padding:11px 0}.inventory li:last-child:nth-child(odd){text-align:center;grid-column:1/-1}.inventory small{color:var(--dim);margin-top:3px;font-size:12.5px;font-weight:400;line-height:1.45;display:block}html.js .scene .inventory li{opacity:0;transition:opacity .6s ease, transform .6s var(--ease);transform:translateY(6px)}html.js .scene.on .inventory li{opacity:1;transform:none}@media (width<=600px){.inventory{grid-template-columns:1fr;font-size:14px}.inventory li{padding:7px 0}.inventory small{margin-top:1px;font-size:12px}.inventory li:last-child:nth-child(odd){text-align:left}}.colophon dl{text-align:left;grid-template-columns:max-content minmax(0,max-content);align-items:baseline;gap:16px 32px;width:fit-content;max-width:min(100%,560px);margin:0;display:grid}.colophon dt{font-family:var(--font-mono);letter-spacing:.02em;color:var(--dim);font-size:11px}.colophon dd{margin:0;font-size:18px;font-weight:300;line-height:1.45}.colophon dd a{text-underline-offset:3px;text-decoration-thickness:1px}.next{border:1px solid var(--line);border-radius:999px;align-items:center;gap:14px;padding:14px 22px;font-size:18px;text-decoration:none;transition:border-color .2s;display:inline-flex}.next:hover{border-color:currentColor}.next>span:last-child{text-align:left}.next small{font-family:var(--font-mono);letter-spacing:.02em;color:var(--dim);text-align:left;font-size:10.5px;display:block}.year,.progress{bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:10;font-family:var(--font-mono);letter-spacing:.12em;color:var(--dim);font-variant-numeric:tabular-nums;font-size:11.5px;position:fixed}.year{opacity:0;transition:opacity .4s;left:24px}.year.on{opacity:1}.progress{right:24px}.index{background:var(--paper-bg);width:100%;max-width:none;height:100%;max-height:none;color:var(--paper-fg);font-family:var(--font-name);border:0;margin:0;padding:0}.index::backdrop{background:#1113}.index-inner{max-width:980px;padding:calc(64px + env(safe-area-inset-top,0px)) 24px 48px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-content:start;gap:36px 40px;margin:0 auto;display:grid}.index .close{top:calc(18px + env(safe-area-inset-top,0px));font-family:var(--font-mono);letter-spacing:.02em;border:1px solid var(--paper-line);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:11.5px;position:fixed;right:24px}.index h2{font-family:var(--font-mono);letter-spacing:.02em;color:var(--paper-dim);gap:10px;margin:0 0 12px;font-size:11px;font-weight:400;display:flex}.index h2 b{color:var(--paper-fg);font-weight:500}.index ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.index li a,.index li .plain{border-bottom:1px solid var(--paper-line);grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:12px;padding:7px 0;font-size:14.5px;font-weight:500;text-decoration:none;display:grid}.index li .plain{color:var(--paper-dim)}.index li a:hover{color:var(--signal)}.index li.here a{text-underline-offset:4px;text-decoration:underline}.index li em{font-style:normal;font-family:var(--font-mono);color:var(--paper-dim);white-space:nowrap;font-size:10.5px}.index-foot{color:var(--paper-dim);grid-column:1/-1;margin:0;font-size:13px}html.js .scene .r{opacity:0;transition:opacity 1s ease, transform 1s var(--ease);transform:translateY(12px)}html.js .scene.on .r{opacity:1;transform:none}html.js .scene.on .stack>.r:nth-child(2){transition-delay:.35s}html.js .scene.on .stack>.r:nth-child(3){transition-delay:.7s}html.js .scene.on .stack>.r:nth-child(4){transition-delay:1.05s}html.js .gate.on .lines .r:first-child{transition-delay:.3s}html.js .gate.on .lines .r:nth-child(2){transition-delay:1.3s}html.js .gate.on .lines .r:nth-child(3){transition-delay:2.3s}html.js .gate.on .stack>.begin.r{transition-delay:3.2s}@media (width<=600px){.scene{padding-inline:16px}.scene:has(.inventory){padding-block:8svh 7svh}.d-bar{padding-inline:16px}.year{left:16px}.progress{right:16px}.colophon dl{grid-template-columns:1fr;gap:4px}.colophon dd{margin-bottom:12px}}@media (prefers-reduced-motion:reduce){html.js .scene .inventory li,html.js .scene .r{opacity:1;transition:none;transform:none}html.js .backdrop path,html.js .drawing path{stroke-dashoffset:0;transition:none}html.js .drawing text{opacity:1;transition:none}.balance .beam,.balance .pan{transition:none}html.js .reasons .dot{opacity:1;transition:none;transform:none}body,figure.fade img{transition:none}html.js .decode .scan,html.js .decode .beam{display:none}html.js .scene .decode .letters{clip-path:none;opacity:.3;animation:none}html.js .scene .decode .word{opacity:1;animation:none}}figure.loose img,figure.loose video{box-shadow:none;cursor:default;border-radius:0}.gate figure.loose>*{max-height:min(var(--max,46svh), 46svh)}.big .stack.wide:not(:has(video)){width:min(100%,1320px)}.drawing.bananas{width:min(100%,900px,62.1625svh)}.drawing.bananas.fit{width:min(100%,560px,40svh)}.bananas .outlines path{stroke-opacity:.2;stroke-width:1px}.bananas.fit .outlines path{stroke-opacity:.13}html.js .bananas .outlines path{transition:stroke-dashoffset 1.2s var(--ease) calc(.3s + var(--k) * 14ms)}.bananas .ring polygon{fill:none;stroke:var(--signal);stroke-width:1.4px;stroke-linejoin:round;vector-effect:non-scaling-stroke;marker:url(#vertex)}html.js .bananas .ring{opacity:0;transition:opacity .8s 1s}html.js .scene.on .bananas .ring{opacity:1}@media (prefers-reduced-motion:reduce){html.js .bananas .ring{opacity:1;transition:none}}figure.file{text-align:left;background:var(--card);width:fit-content;max-width:min(100%,720px);color:var(--paper-fg);border:1px solid var(--line);border-radius:10px;display:block;overflow:hidden;box-shadow:0 1px #00000008,0 24px 60px -28px #00000047}figure.file figcaption{border-bottom:1px solid var(--paper-line);font-family:var(--font-mono);color:var(--paper-dim);padding:10px 16px;font-size:11.5px}figure.file pre{font:400 12.5px/1.6 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:14px 16px 16px}figure.file pre>*{display:block}figure.file pre>*+*{margin-top:.55em}figure.file .h,figure.file i{color:var(--paper-dim);font-style:normal}figure.file mark{color:inherit;text-decoration:underline wavy var(--signal);text-underline-offset:4px;text-decoration-skip-ink:none;background:0 0;text-decoration-thickness:1.5px}@media (width<=600px){figure.file pre{padding:12px 12px 14px;font-size:11px}figure.file figcaption{padding-inline:12px}}.drawing.sizes{width:min(100%,640px,64.2517svh)}.sizes text{font-size:13px}.sizes path{vector-effect:none;stroke-width:.95px}.sizes .r1 path{stroke:#ff4a00;stroke-opacity:1;stroke-width:1.25px}.sizes .r1 text{fill:var(--fg)}.dg{color:var(--fg);margin:0;padding:0;list-style:none}.dg b{font-weight:300}.dg small{font-family:var(--font-name);color:var(--dim);margin-top:3px;font-size:12.5px;line-height:1.4;display:block}.dg-pairs{width:min(100%,760px);display:grid}.dg-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) clamp(36px,7vw,72px) minmax(0,1fr);align-items:center;gap:0 clamp(10px,2vw,20px);margin:0;padding:9px 0;font-size:clamp(16px,1.9vw,21px);line-height:1.2;display:grid}.dg-row:last-child{border-bottom:1px solid var(--line)}.dg-a{text-align:right}.dg-b{text-align:left}.dg-heads{font-family:var(--font-mono);letter-spacing:.02em;color:var(--dim);border-top:0;padding-bottom:6px;font-size:11px}.dg-arrow{background:var(--fg);opacity:.55;height:1px;position:relative}.dg-arrow:after{content:"";border-top:1px solid var(--fg);border-right:1px solid var(--fg);transform-origin:50%;width:7px;height:7px;position:absolute;top:-3.5px;right:0;transform:rotate(45deg)}.dg-steps{grid-template-columns:repeat(var(--n), minmax(0, 1fr));text-align:center;width:min(100%,1080px);display:grid}.dg-steps li{padding:26px 8px 0;font-size:clamp(15px,1.5vw,18px);line-height:1.2;position:relative}.dg-steps li:before{content:"";background:var(--fg);opacity:.45;height:1px;position:absolute;top:6px;left:0;right:0}.dg-steps li:first-child:before{left:50%}.dg-steps li:last-child:before{right:50%}.dg-steps li:after{content:"";background:var(--bg);border:1px solid var(--fg);border-radius:50%;width:9px;height:9px;position:absolute;top:2px;left:calc(50% - 4.5px)}@media (width<=640px){.dg-steps{text-align:left;grid-template-columns:1fr;row-gap:12px;width:min(100%,360px)}.dg-steps li{padding:0 0 0 30px;font-size:16px}.dg-steps li:before{width:1px;height:auto;inset:0 auto -12px 10px}.dg-steps li:first-child:before{top:8px;left:10px}.dg-steps li:last-child:before{height:8px;bottom:auto;right:auto}.dg-steps li:after{top:4px;left:6px}}.dg-cycle{aspect-ratio:1;width:min(100%,460px,52svh);position:relative}.dg-cycle svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dg-cycle path{fill:none;stroke:var(--fg);stroke-opacity:.55;stroke-width:.35px;stroke-linecap:round;stroke-linejoin:round}.dg-cycle ol{margin:0;padding:0;list-style:none}.dg-cycle li{text-align:center;width:max-content;max-width:34%;font-size:clamp(14px,1.6vw,17px);line-height:1.2;position:absolute;transform:translate(-50%,-50%)}.dg-cycle small{font-size:11.5px}.dg-center{font-family:var(--font-mono);letter-spacing:.02em;color:var(--dim);place-items:center;margin:0;font-size:11px;display:grid;position:absolute;inset:0}html.js .dg-row,html.js .dg-steps li,html.js .dg-cycle li{opacity:0;transition:opacity .7s ease, transform .7s var(--ease);transform:translateY(6px)}html.js .dg-cycle li{transform:translate(-50%,calc(6px - 50%))}html.js .dg-cycle path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .6s var(--ease)}html.js .scene.on .dg-row,html.js .scene.on .dg-steps li{opacity:1;transition-delay:calc(.3s + var(--k,0) * .14s);transform:none}html.js .scene.on .dg-heads{transition-delay:.2s}html.js .scene.on .dg-cycle li{opacity:1;transition-delay:calc(.3s + var(--k) * .45s);transform:translate(-50%,-50%)}html.js .scene.on .dg-cycle path{stroke-dashoffset:0;transition-delay:calc(.55s + var(--k) * .45s)}@media (width<=560px){.dg-cycle{aspect-ratio:auto;width:min(100%,360px)}.dg-cycle svg,.dg-center{display:none}.dg-cycle ol{color:var(--fg);row-gap:12px;padding-left:16px;display:grid;position:relative}.dg-cycle li{text-align:left;width:auto;max-width:none;padding-left:16px;font-size:16px;position:relative;transform:none;top:auto!important;left:auto!important}.dg-cycle li:before{content:"";background:var(--bg);border:1px solid var(--fg);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:-2px}.dg-cycle li:not(:last-child):after{content:"";background:var(--fg);opacity:.45;width:1px;position:absolute;top:11px;bottom:-16px;left:2px}.dg-cycle li>b:before{content:"";opacity:.45;border-left:1px solid;width:5px;position:absolute;top:0;bottom:-12px;left:-16px}.dg-cycle li:first-child>b:before{border-top:1px solid;border-top-left-radius:5px;top:8.5px}.dg-cycle li:last-child>b:before{border-bottom:1px solid;border-bottom-left-radius:5px;height:8.5px;bottom:auto}.dg-cycle li:only-child>b:before{display:none}.dg-cycle li:first-child>b:after{content:"";opacity:.6;border-top:1px solid;border-right:1px solid;width:6px;height:6px;position:absolute;top:5.5px;left:-15px;transform:rotate(45deg)}.dg-cycle small{font-size:12px}html.js .dg-cycle li{transform:translateY(6px)}html.js .scene.on .dg-cycle li{transition-delay:calc(.3s + var(--k) * .14s);transform:none}}@media (prefers-reduced-motion:reduce){html.js .dg-row,html.js .dg-steps li{opacity:1;transition:none;transform:none}html.js .dg-cycle li{opacity:1;transition:none;transform:translate(-50%,-50%)}@media (width<=560px){html.js .dg-cycle li{transform:none}}html.js .dg-cycle path{stroke-dashoffset:0;transition:none}}.sel-open{flex-direction:column;align-items:center;gap:clamp(8px,2svh,20px);display:flex}.sel-lead{letter-spacing:-.01em;text-wrap:balance;max-width:24ch;margin:0;font-size:clamp(22px,3vw,36px);font-weight:300;line-height:1.2}.sel-stage{margin:0;padding:clamp(64px,11svh,104px) 0 clamp(16px,3svh,28px);position:relative}.sel-word{letter-spacing:-.03em;padding:0 .06em;font-size:clamp(52px,8vw,104px);font-weight:400;line-height:1;display:inline-block;position:relative}.sel-text{position:relative}.sel-hl{transform-origin:0;background:#b3d4fc;transition:transform .7s cubic-bezier(.6,0,.3,1);position:absolute;inset:-.04em 0 -.1em;transform:scaleX(0)}.gate.on .sel-hl{transition-delay:1.1s;transform:none}.sel-pill{white-space:nowrap;pointer-events:none;font-family:var(--font-name);color:#f4f3f0;opacity:0;background:#1c1c1c;border-radius:999px;padding:.5em 1.05em;font-size:clamp(11px,1.1vw,13.5px);font-weight:500;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 18px -8px #00000073}html:not(.js) .sel-hl{transform:none}html:not(.js) .sel-pill{display:none}html.js .gate:has(.sel-open).on .lines .r{transition-delay:3.4s}html.js .gate:has(.sel-open).on .stack>.begin.r{transition-delay:4.2s}.ctx-open{letter-spacing:-.01em;text-wrap:balance;max-width:18ch;margin:0;font-size:clamp(30px,4.6vw,58px);font-weight:300;line-height:1.5}.ctx-word{margin:0 .12em}.ctx-tag{vertical-align:.08em;font-family:var(--font-name);letter-spacing:0;background:#11111112;border-radius:999px;margin:0 .12em;padding:.14em .5em .18em;font-size:.62em;font-weight:400;line-height:1.2;display:inline-grid}.ctx-opt{text-align:center;opacity:0;grid-area:1/1;transition:opacity .45s,transform .55s cubic-bezier(.2,.7,.2,1);transform:translateY(.3em)}.ctx-opt.on{opacity:1;transform:none}html.js .gate:has(.ctx-open).on .stack>.begin.r{transition-delay:5.6s}.gate:has(.ctx-open) .lines .line.em{font-size:clamp(22px,2.8vw,32px)}html.js .gate:has(.ctx-open).on .lines .r{transition-delay:4.8s}.wh-open{flex-direction:column;align-items:center;gap:clamp(18px,3.4svh,34px);display:flex}.wh-lead{letter-spacing:-.01em;text-wrap:balance;max-width:24ch;margin:0;font-size:clamp(22px,3vw,36px);font-weight:300;line-height:1.2}.wh-device{aspect-ratio:544/533;width:32em;max-width:100%;font-size:clamp(8.4px,2.4vw,12.5px);position:relative}.wh-body{filter:drop-shadow(0 1.4em 2em #781e0047);width:100%;height:100%;position:absolute;inset:0}.wh-screen{border-radius:1.7em;width:68.75%;height:93.43%;position:absolute;top:3%;left:3.31%;overflow:hidden}.wh-drum{--k:1;margin:0;padding:0;list-style:none;position:absolute;inset:0}html.js .wh-drum{--k:0}.wh-pill{white-space:nowrap;font-family:var(--font-name);color:#111;background:color-mix(in srgb, #fff calc(max(0%, 100% - var(--a) * 17%)), #2c2c2c);transform:translateY(calc(-50% + var(--y) * 1em)) scale(calc(1 - .18 * min(var(--a), 1) - .03 * max(var(--a) - 1, 0)));transform-origin:100%;will-change:transform;opacity:calc((1 - var(--a) * .17) * max(var(--k), 1 - min(var(--a), 1)));border-radius:999px;padding:.38em .78em .42em;font-size:1.36em;font-weight:400;line-height:1;position:absolute;top:40%;right:1.73em}.wh-tip{border:.55em solid #0000;border-left-width:0;border-right-color:#fff;width:0;height:0;position:absolute;top:40%;right:.55em;transform:translateY(-50%)}.wh-roller{mix-blend-mode:multiply;opacity:0;background:repeating-linear-gradient(to bottom, #460000e6 0 .1em, transparent .1em .8em) 0 var(--turn,0em);border-radius:.7em;width:16.9%;height:17.2%;position:absolute;top:32.2%;left:76.9%}html.js .scene .wh-open .wh-device.r{transform:none}@media (width<=420px){.wh-pill{right:1.32em}}html.js .gate:has(.wh-open).on .stack>.wh-open .wh-device.r{transition-delay:.6s}html.js .gate:has(.wh-open).on .wh-lead.r{transition-delay:.3s}html.js .gate:has(.wh-open).on .lines .r{transition-delay:6s}html.js .gate:has(.wh-open).on .stack>.begin.r{transition-delay:6.7s}.gate:has(.wh-open) .lines .line.em{font-size:clamp(22px,2.8vw,32px)}.gate:has(.wh-open) .stack{gap:clamp(14px,2.6svh,28px)}.dock-open{flex-direction:column;align-items:center;gap:clamp(22px,4svh,40px);display:flex}.dock-lead{letter-spacing:-.01em;text-wrap:balance;max-width:24ch;margin:0;font-size:clamp(30px,4.6vw,56px);font-weight:300;line-height:1.15}.dock{color:#fbf6ef;font-family:var(--font-name);background:linear-gradient(#9a8a76,#7e6f5d);border-radius:999px;grid-template-columns:repeat(4,auto);gap:6px;margin:0;padding:7px;font-size:clamp(14px,1.6vw,18px);font-weight:500;display:grid;box-shadow:inset 0 1px #ffffff47,0 22px 44px -22px #3c28148c}.dock-cap{white-space:nowrap;background:#ffffff1a;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:.62em 1.15em .62em .95em;display:inline-flex}.dock-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.15em;height:1.15em}@media (width<=560px){.dock{border-radius:26px;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,340px)}.dock-cap{padding-inline:.9em}}html.js .gate:has(.dock-open).on .dock-open .dock.r{transition-delay:.8s}html.js .gate:has(.dock-open).on .stack>.begin.r{transition-delay:2.2s}.log-open{flex-direction:column;align-items:center;gap:clamp(20px,3.6svh,36px);width:min(100%,760px);display:flex}.log-lead{letter-spacing:-.01em;text-wrap:balance;max-width:22ch;margin:0;font-size:clamp(30px,4.6vw,56px);font-weight:300;line-height:1.15}.log-entry{text-align:left;grid-template-columns:minmax(0,220px) minmax(0,1fr);align-items:center;gap:26px;width:100%;display:grid}.log-frame{aspect-ratio:16/9;object-fit:cover;border-radius:6px;width:100%;box-shadow:0 18px 40px -22px #0006}.log-fields dl{margin:0}.log-fields{font-family:var(--font-mono);font-size:12.5px;line-height:1.5}.log-fields dl>div{grid-template-columns:9ch minmax(0,1fr);gap:0 12px;padding:3px 0;display:grid}.log-fields dt{color:var(--dim)}.log-fields dd{color:var(--fg);margin:0}.log-stamp{font-family:var(--font-mono);letter-spacing:.04em;color:var(--dim);margin:0 0 8px;font-size:11.5px}.log-quote{max-width:46ch;color:var(--dim);text-wrap:balance;margin:0;font-size:clamp(17px,1.9vw,22px);font-style:italic;font-weight:300;line-height:1.45}@media (width<=600px){.log-entry{grid-template-columns:1fr;justify-items:center;gap:16px}.log-frame{width:min(62%,220px)}.log-fields{width:100%;font-size:11.5px}.log-fields dl>div{grid-template-columns:8.5ch minmax(0,1fr)}}html.js .gate:has(.log-open) .log-open .r{transition:opacity .7s;transform:none}html.js .gate:has(.log-open).on .log-frame{transition-delay:.7s}html.js .gate:has(.log-open).on .log-stamp{transition-delay:1.1s}html.js .gate:has(.log-open).on .log-fields dl>div:first-of-type{transition-delay:1.5s}html.js .gate:has(.log-open).on .log-fields dl>div:nth-of-type(2){transition-delay:1.8s}html.js .gate:has(.log-open).on .log-fields dl>div:nth-of-type(3){transition-delay:2.1s}html.js .gate:has(.log-open).on .log-fields dl>div:nth-of-type(4){transition-delay:2.4s}html.js .gate:has(.log-open).on .log-quote{transition-delay:3.1s}html.js .gate:has(.log-open).on .stack>.lines .r{transition-delay:4.1s}html.js .gate:has(.log-open).on .stack>.begin.r{transition-delay:4.6s}.drawing.capture{width:min(100%,680px,112svh)}.capture path{vector-effect:none;stroke-width:.9px}.capture .tick{stroke-opacity:.8}.capture .axis{stroke-opacity:.3}.capture text{font-size:11px}@media (width<=600px){.capture text{font-size:14.5px}}.capture .trig text{fill:var(--fg)}.capture .trig path{stroke:var(--signal);stroke-opacity:1}html.js .scene.on .drawing.capture .obj.trig path,html.js .scene.on .drawing.capture .obj.trig text{transition-delay:var(--d)}html.js .scene.on .drawing.capture .obj .gap{transition-delay:3s}html.js .scene.on .drawing.capture .obj .axis{transition-delay:.3s}html.js .scene.on .drawing.capture .obj .tick{transition-duration:.35s}.drawing.tiers{width:min(100%,560px,62.8931svh)}.tiers path{vector-effect:none;stroke-width:.9px}.tiers .frames path{stroke-opacity:.4}.tiers text{font-size:12px}.tiers text.what{text-anchor:end}.tiers text.when{text-anchor:start}.tiers text.file{font-family:var(--font-mono);fill:var(--fg);font-size:12.5px}.tiers text.when{fill:var(--signal)}html.js .scene.on .drawing.tiers .obj:first-of-type path{transition-delay:.4s}html.js .scene.on .drawing.tiers .obj:nth-of-type(2) path{transition-delay:1s}html.js .scene.on .drawing.tiers .obj:nth-of-type(2) text{transition-delay:1.5s}html.js .scene.on .drawing.tiers .obj:nth-of-type(3) path{transition-delay:1.7s}html.js .scene.on .drawing.tiers .obj:nth-of-type(3) text{transition-delay:2.2s}html.js .scene.on .drawing.tiers .obj:nth-of-type(4) path{transition-delay:2.4s}html.js .scene.on .drawing.tiers .obj:nth-of-type(4) text{transition-delay:2.9s}
