@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}:root{--paper:#f3efe6;--paper-2:#ebe6da;--ink:#17181c;--grey:#55585f;--dim:#7a7d84;--rule:#17181c2e;--faint:#17181c14;--acc:oklch(58% .19 36);--acc-soft:oklch(58% .19 36/.14);--serif:"Newsreader Variable", "Newsreader", "Iowan Old Style", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--pad:clamp(20px, 5vw, 56px);--inset:max(var(--pad), calc(50% - 580px + var(--pad)));--col-margin:12rem;--gutter:clamp(24px, 4vw, 56px);--ease:cubic-bezier(.22, .61, .24, 1);--out:cubic-bezier(.16, 1, .3, 1);--io:cubic-bezier(.65, 0, .35, 1);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .09 0 0 0 0 .09 0 0 0 0 .11 0 0 0 .055 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;font-variant-numeric:lining-nums;scroll-behavior:smooth;font-size:19px;line-height:1.5}body{background:var(--paper) var(--grain);min-height:100vh;margin:0;overflow-x:hidden}::selection{background:var(--acc);color:var(--paper)}a{color:inherit;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:.16em;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}a:hover,a:focus-visible{color:var(--acc);text-decoration-color:currentColor}:focus-visible{outline:1px solid var(--acc);outline-offset:3px}h1,h2,h3,p,figure,dl,dd,ol,table{margin:0}svg{width:100%;height:auto;display:block}.skip{background:var(--ink);color:var(--paper);font:12px/1 var(--mono);z-index:60;padding:8px 12px;position:absolute;top:-100px;left:8px}.skip:focus{top:8px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.acc{color:var(--acc)}.masthead,.contents,.opening-note,.sub,.chapter-head .label,.entry-margin,.meta-row,.tags,.fig-cap,.fig,.origin-flow,.bridge,.layers,.civ,.sbp,.pack-read,.along-row .name,.along-row .when,.side .when,.side .mark,.elsewhere dt,.site-foot,.lineage-list,.states,.states-kicker,.flow,.plate-head,.readout,.plate-btn,.plate-label,.hero-cap,.hero-next,.entry-title .small{font-family:var(--mono);letter-spacing:.12em;font-size:11px;font-weight:400;line-height:1.5}.progress{display:none}@supports (animation-timeline:scroll()){.motion .progress{background:var(--acc);transform-origin:0;z-index:50;pointer-events:none;height:2px;animation:linear both progress scroll(root);display:block;position:fixed;inset:0 0 auto;transform:scaleX(0)}@keyframes progress{to{transform:scaleX(1)}}}.hero{isolation:isolate;height:100svh;min-height:640px;max-height:1240px;position:relative;overflow:hidden}.plate-stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hero .hero-stage{z-index:-1;position:absolute;inset:0}.plate-poster{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.masthead{padding:22px var(--inset) 14px;color:var(--grey);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;display:flex;position:absolute;inset:0 0 auto}.masthead:after{content:"";left:var(--inset);right:var(--inset);background:var(--ink);transform-origin:0;height:1px;transition:transform 1.6s var(--out) .1s;position:absolute;bottom:0}.masthead .name{color:var(--ink)}.contents{flex-wrap:wrap;gap:6px 20px;display:flex}.contents a{color:var(--grey);text-decoration:none}.contents a:hover,.contents a:focus-visible{color:var(--acc)}.hero-copy{left:var(--inset);pointer-events:none;max-width:min(64vw,920px);position:absolute;bottom:clamp(112px,15vh,168px)}.hero-copy a{pointer-events:auto}.opening-note{color:var(--dim);margin-bottom:clamp(14px,2.4vh,26px)}.hero h1{letter-spacing:-.038em;margin-left:-.05em;font-size:clamp(66px,11.2vw,196px);font-weight:330;line-height:.84}.title-art .word{clip-path:inset(-.5em -.3em 0);margin-bottom:-.14em;padding-bottom:.14em;display:block}.title-art .ch{text-shadow:0 0 .12em var(--paper), 0 0 .04em var(--paper);display:inline-block}.hero .lede{max-width:24ch;text-shadow:0 0 14px var(--paper), 0 0 3px var(--paper), 0 0 1px var(--paper);margin-top:clamp(22px,3.4vh,40px);font-size:clamp(22px,2.3vw,32px);font-weight:380;line-height:1.28}.hero-cap{right:var(--inset);text-align:right;color:var(--dim);max-width:44ch;text-shadow:0 0 8px var(--paper), 0 0 2px var(--paper);gap:4px;display:grid;position:absolute;bottom:30px}.hero-cap .plate-head{justify-content:flex-end}.hero-route{opacity:0;transition:opacity .8s ease, transform .8s var(--out);transform:translateY(6px)}.hero.has-route .hero-route{opacity:1;transform:none}.hero-route .k{color:var(--acc);margin-right:8px}.hero-next{left:var(--inset);color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex;position:absolute;bottom:30px}.hero-next i{background:var(--rule);width:1px;height:34px;display:block;position:relative;overflow:hidden}.hero-next i:after{content:"";background:var(--acc);width:1px;height:40%;position:absolute;top:-40%;left:0}.motion .hero-next i:after{animation:cue 2.2s var(--io) infinite 2.4s}@keyframes cue{to{top:100%}}.motion .hero .ch{transition:transform 1.25s var(--out) calc(var(--i) * 42ms + .12s), font-weight 1.8s var(--out) calc(var(--i) * 42ms + .12s)}.motion .hero:not(.in) .ch{font-weight:200;transform:translateY(150%)}.motion .hero .lede,.motion .hero .opening-note,.motion .hero .hero-cap .plate-head,.motion .hero .hero-next,.motion .hero .contents,.motion .hero .masthead>span{transition:opacity 1s ease, transform 1.2s var(--out)}.motion .hero .lede{transition-delay:.75s}.motion .hero .opening-note{transition-delay:.3s}.motion .hero .hero-cap .plate-head,.motion .hero .hero-next{transition-delay:1.3s}.motion .hero .contents{transition-delay:.45s}.motion .hero:not(.in) :is(.lede,.opening-note,.hero-cap .plate-head,.hero-next,.contents,.masthead>span){opacity:0;transform:translateY(10px)}.motion .hero:not(.in) .masthead:after{transform:scaleX(0)}.page{max-width:1160px;padding:0 var(--pad) 72px;margin:0 auto}.lineage-wrap{padding-top:clamp(56px,9vh,104px)}.lineage .fig-cap{margin-top:16px}.chapter{padding:clamp(80px,13vh,150px) 0 0}.chapter-head{color:var(--ink);font-weight:400}.chapter-head .num{font-family:var(--serif);letter-spacing:-.05em;color:var(--acc);margin:0 0 18px -.04em;font-size:clamp(76px,9vw,140px);font-weight:300;line-height:.78;display:block}.chapter-head .label{text-transform:uppercase;display:block}.sub{color:var(--dim);margin-top:6px;display:block}.body>p,.entry-body>p{max-width:62ch}.body>p+p,.entry-body>p+p{margin-top:1em}.entry-title{letter-spacing:-.028em;margin-bottom:22px;font-size:clamp(36px,4.4vw,60px);font-weight:400;line-height:1}.entry-title .small{text-transform:uppercase;color:var(--dim);letter-spacing:.14em;margin-bottom:12px;display:block}.body .entry-title{margin-top:4px}.intro{font-size:clamp(21px,2.1vw,26px);line-height:1.36;max-width:30em!important}.statement{letter-spacing:-.035em;margin-bottom:32px;font-size:clamp(42px,6vw,88px);font-weight:330;line-height:.98;max-width:14ch!important}.after{color:var(--grey);margin-top:32px;font-style:italic}.entry{margin-top:clamp(64px,10vh,120px);padding-top:22px;position:relative}.entry:before{content:"";background:var(--rule);transform-origin:0;height:1px;transition:transform 1.6s var(--out);position:absolute;inset:0 0 auto}.motion .entry:not(:has(.in)):before{transform:scaleX(0)}.entry-margin{color:var(--dim);flex-wrap:wrap;gap:4px 20px;margin-bottom:16px;display:flex}.entry-margin .when{color:var(--ink)}.entry-margin a{text-decoration:none}.entry-margin a:not(.live){text-decoration:underline;text-decoration-color:var(--rule)}.live{color:var(--acc)}.led{background:var(--acc);vertical-align:.02em;border-radius:50%;width:7px;height:7px;margin-right:9px;display:inline-block;position:relative}.led:after{content:"";border:1px solid var(--acc);opacity:0;border-radius:50%;position:absolute;inset:-1px}.motion .led:after{animation:ping 2.6s var(--out) infinite}@keyframes ping{0%{opacity:.85;transform:scale(1)}70%,to{opacity:0;transform:scale(3.4)}}.meta-row{color:var(--dim);flex-wrap:wrap;gap:4px 20px;margin-top:22px;display:flex}.meta-row a{text-decoration:none}.entry-figure{margin-top:32px}.inline-fig{max-width:62ch;margin-top:32px}.tags{color:var(--grey);flex-wrap:wrap;gap:4px 18px;margin-top:14px;display:flex}.tags .label{color:var(--dim)}.fig-cap,.fig{border-top:1px solid var(--faint);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:4px 24px;margin-top:12px;padding-top:8px;display:flex}.fig{display:block}.fig-cap a{color:var(--ink);text-decoration:none}.diagram-narrow{display:none}@property --night{syntax:"<number>";inherits:true;initial-value:0}.plate{position:relative}.plate-stage{--stage-bg:color-mix(in oklab, var(--paper), var(--ink) calc(var(--night,0) * 100%));--stage-ink:color-mix(in oklab, var(--ink), var(--paper) calc(var(--night,0) * 100%));--stage-dim:color-mix(in oklab, var(--dim), #a4a7ad calc(var(--night,0) * 100%));--stage-rule:color-mix(in oklab, var(--rule), #f3efe642 calc(var(--night,0) * 100%));color:var(--stage-ink);position:relative}.plate .plate-stage{width:var(--vw,100vw);margin-left:calc(50% - var(--vw,100vw) / 2);height:clamp(540px,88vh,940px);overflow:hidden}.plate-night{transition:--night .6s}html:not(.js) .plate-night,.plate-night.is-lost{--night:1}.plate-night .plate-stage{background:var(--stage-bg)}.crop{pointer-events:none;border-color:var(--stage-ink);opacity:.55;border-style:solid;border-width:0;width:16px;height:16px;position:absolute}.crop.tl{border-top-width:1px;border-left-width:1px;top:14px;left:14px}.crop.tr{border-top-width:1px;border-right-width:1px;top:14px;right:14px}.crop.bl{border-bottom-width:1px;border-left-width:1px;bottom:14px;left:14px}.crop.br{border-bottom-width:1px;border-right-width:1px;bottom:14px;right:14px}.plate-ui{padding:34px var(--inset);pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.plate-head{color:var(--stage-ink);flex-wrap:wrap;gap:4px 14px;display:flex}.plate-no{color:var(--acc)}.plate-ui .plate-head{text-shadow:0 0 6px var(--stage-bg), 0 0 2px var(--stage-bg), 0 0 1px var(--stage-bg)}.plate-read{flex-wrap:wrap;align-items:flex-end;gap:14px 18px;display:flex}.readout{background:var(--stage-bg);border:1px solid var(--stage-rule);min-width:min(100%,25rem);max-width:34rem;color:var(--stage-ink);gap:0;padding:10px 14px 8px;display:grid}.readout div{grid-template-columns:6.2rem minmax(0,1fr);gap:12px;padding:3px 0;display:grid}.readout dt{color:var(--stage-dim)}.readout dd{font-variant-numeric:tabular-nums}.readout [data-r=phase]{color:var(--acc)}.js .plate .readout .when-done,.js .plate .readout .when-route{display:none}.plate-scout.is-done .readout .when-done,.plate.has-route .readout .when-route{display:grid}html:not(.js) .readout,.is-lost .readout,.is-lost .plate-btn,.is-lost .plate-labels{display:none}.plate-btn{pointer-events:auto;appearance:none;cursor:pointer;color:var(--stage-ink);background:var(--stage-bg);border:1px solid var(--stage-ink);text-transform:uppercase;transition:color .2s ease, border-color .2s ease, transform .2s var(--out);padding:11px 16px 10px}.plate-btn:before{content:"↻";color:var(--acc);transition:transform .5s var(--out);margin-right:10px;display:inline-block}.plate-btn:hover,.plate-btn:focus-visible{color:var(--acc);border-color:var(--acc)}.plate-btn:hover:before{transform:rotate(180deg)}.plate-btn:active{transform:translateY(1px)}.plate-btn[hidden]{display:none}.plate-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.plate-label{white-space:nowrap;color:var(--stage-ink);background:var(--stage-bg);opacity:0;will-change:transform;margin:-9px 0 0 12px;padding:1px 5px;font-size:10.5px;transition:opacity .35s;position:absolute;top:0;left:0}.hero .plate-label{--stage-bg:var(--paper);--stage-ink:var(--ink)}.plate-label.on{opacity:1}.plate-label.flip{translate:calc(-100% - 24px)}.plate-label.radius.flip{translate:-50%}.plate-label.route.from:before{content:"FROM ";color:var(--acc)}.plate-label.route.to:before{content:"TO ";color:var(--acc)}.plate-label.quiet:before{content:none!important}.plate-label.quiet{display:none}.plate-label.reticle{border:1px solid var(--ink);margin:-8px 0 0 16px;transition:none}.plate-label.radius{transform-origin:0 0;color:var(--dim);background:0 0;margin:-24px 0 0;translate:-50%}.plate-cap{margin-top:14px}.is-lost .plate-poster{display:block}.origin-flow,.bridge{border-top:1px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));max-width:62ch;margin-top:28px;padding:0;list-style:none;display:grid}.origin-flow li,.bridge li{border-right:1px solid var(--faint);flex-direction:column;gap:2px;margin-right:12px;padding:10px 12px 12px 0;display:flex}.origin-flow li:last-child,.bridge li:last-child{border-right:0;margin-right:0}.origin-flow .k,.bridge .k{color:var(--ink)}.origin-flow .v,.bridge .v{color:var(--dim)}.origin-flow .end .k,.bridge .end .k{color:var(--acc)}.bridge-wrap{max-width:62ch;position:relative}.bridge-wrap .bridge{margin-top:0}.wire{pointer-events:none;height:7px;position:absolute;inset:-3px 0 auto}.pkt{opacity:0;width:7px;height:7px;position:absolute;top:0}.pkt.out{background:var(--acc)}.pkt.back{background:var(--ink);width:3px;height:3px;top:2px}.motion .in .pkt.out{animation:pkt-out 3.6s var(--io) infinite .6s}.motion .in .pkt.back{animation:pkt-back 3.6s var(--io) infinite 2.4s}@keyframes pkt-out{0%{opacity:0;left:calc(100% - 7px)}8%{opacity:1}45%{opacity:1;left:0}52%,to{opacity:0;left:0}}@keyframes pkt-back{0%{opacity:0;left:0}8%{opacity:1}45%{opacity:1;left:calc(100% - 3px)}52%,to{opacity:0;left:calc(100% - 3px)}}.layers{color:var(--ink);grid-template-columns:minmax(0,1fr) auto minmax(0,1.3fr) auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.layers .col{gap:8px;display:grid}.layers .box{border:1px solid var(--rule);background:var(--paper);padding:10px 10px 11px}.layers .box span{color:var(--dim);margin-top:4px;display:block}.layers .box.dash{color:var(--grey);border-style:dashed}.layers .box.solid{border-color:var(--ink);padding:16px 12px}.layers .join{width:30px;height:9px;position:relative}.layers .join i{background:linear-gradient(90deg, var(--dim) 0 4px, transparent 4px 8px) 0 0 / 8px 1px repeat-x;height:1px;position:absolute;top:4px;left:0;right:5px}.layers .join:after{content:"";border:4px solid #0000;border-left:6px solid var(--dim);border-right:0;position:absolute;top:1px;right:0}.motion .in .layers .join i{animation:.7s linear infinite march}@keyframes march{to{background-position:8px 0}}.civ{color:var(--ink);grid-template-columns:13rem minmax(0,1fr);align-items:start;gap:24px;display:grid}.civ-auth .box{border:1px solid var(--ink);padding:10px 12px}.civ-auth .stem{background:var(--ink);transform-origin:top;width:1px;height:22px;transition:transform .8s var(--out) .4s;margin-left:20px}.motion [data-reveal]:not(.in) .civ-auth .stem{transform:scaleY(0)}.civ-auth .note{color:var(--dim);margin-top:12px}.civ-table{border-collapse:collapse;width:100%}.civ-table th,.civ-table td{text-align:left;border-top:1px solid var(--faint);vertical-align:top;padding:9px 12px 9px 0;font-weight:400}.civ-table tr:first-child th,.civ-table tr:first-child td{border-top:1px solid var(--ink)}.civ-table td{color:var(--grey)}.civ-table .foot th,.civ-table .foot td{color:var(--dim);border-top:1px solid var(--rule)}.civ-table tr{transition:opacity .6s ease, transform .8s var(--out)}.civ-table tr:nth-child(2){transition-delay:.12s}.civ-table tr:nth-child(3){transition-delay:.24s}.civ-table tr:nth-child(4){transition-delay:.36s}.motion [data-reveal]:not(.in) .civ-table tr{opacity:0;transform:translate(-8px)}.sbp{color:var(--ink);gap:8px;display:grid}.sbp .row{border-top:1px solid var(--faint);flex-wrap:wrap;gap:4px 12px;padding:8px 0;display:flex}.sbp .row:first-child{border-top:1px solid var(--ink)}.sbp .who{min-width:5.5em;color:var(--dim)}.sbp .a{color:var(--dim)}.sbp .quiet{color:var(--grey)}.along .entry-body{border-top:1px solid var(--ink)}.along-row{border-bottom:1px solid var(--faint);grid-template-columns:11rem 6rem minmax(0,1fr);gap:6px 20px;max-width:68ch;padding:12px 0;display:grid}.along-row .name a{color:var(--ink);text-decoration:none}.along-row .name a:hover{color:var(--acc)}.along-row .when{color:var(--dim)}.along-row p{color:var(--grey);font-size:17px;line-height:1.45}.ledger{border-top:1px solid var(--ink)}.side{border-bottom:1px solid var(--faint);grid-template-columns:9rem minmax(0,1fr) 12rem;gap:8px 24px;padding:20px 0 22px;transition:background-color .3s;display:grid}.side .when{color:var(--dim)}.side p{max-width:54ch}.side .mark{color:var(--grey);text-align:right}.side .mark.acc{color:var(--acc)}.side.key p{font-size:1.12em;line-height:1.4}.elsewhere{border-top:1px solid var(--ink);max-width:62ch;margin-top:36px}.elsewhere div{border-bottom:1px solid var(--faint);grid-template-columns:6rem minmax(0,1fr);align-items:baseline;gap:16px;padding:12px 0;display:grid}.elsewhere dt{color:var(--dim)}.elsewhere dd{font-size:1.1em}.elsewhere a{background:linear-gradient(var(--acc), var(--acc)) 0 100% / 0 1px no-repeat;transition:background-size .5s var(--out), color .2s ease;text-decoration:none}.elsewhere a:hover,.elsewhere a:focus-visible{background-size:100% 1px}.site-foot{border-top:1px solid var(--ink);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:6px 24px;margin-top:clamp(80px,12vh,140px);padding-top:14px;display:flex}.site-foot .credit{color:var(--dim);opacity:.85;flex-basis:100%}.workflow .wf-token{opacity:0;transition:opacity .2s}.workflow rect[data-step]{transition:stroke-opacity .3s,fill .3s}.workflow rect.at{stroke-opacity:1;stroke:var(--ink)}.workflow .wf-prod.at{fill:var(--acc-soft);stroke:var(--acc)}.lineage-list{border-top:1px solid var(--ink);padding:0;list-style:none}.lineage-list li{border-bottom:1px solid var(--faint);grid-template-columns:5.5rem minmax(0,1fr);gap:2px 14px;padding:9px 0;display:grid}.lineage-list .when{color:var(--dim)}.lineage-list .what{color:var(--ink)}.lineage-list .note{color:var(--dim);grid-column:2}.lineage-list .child{border-left:1px solid var(--rule);padding-left:14px}.dot{border:1px solid var(--ink);vertical-align:0;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.dot.on{background:var(--acc);border-color:var(--acc)}.states-kicker{color:var(--dim);margin-bottom:10px}.states{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.states .name{color:var(--ink);margin-bottom:6px}.states.stacked{grid-template-columns:1fr;max-width:320px}.flow{border-top:1px solid var(--ink)}.flow-step{grid-template-columns:5rem minmax(0,1fr);gap:12px;padding:9px 0;display:grid}.flow-step .who{color:var(--dim)}.flow-step .what{color:var(--ink)}.flow-step .what span{color:var(--dim);display:block}.flow-step.live .who,.flow-step.live .what{color:var(--acc)}.flow-step.dash .what{color:var(--grey)}.flow-join{background:var(--rule);width:1px;height:10px;margin-left:2px}.flow-join.acc{background:var(--acc)}.lin text{font-family:var(--mono);letter-spacing:.1em;fill:var(--dim);font-size:10px}.lin .lin-name{letter-spacing:.12em;fill:var(--ink);font-size:11.5px}.lin .lin-note{font-size:9.5px}.lin .lin-year{fill:var(--ink)}.lin .lin-guide{stroke:var(--rule);stroke-width:1px;stroke-dasharray:1 5}.lin .case{fill:none;stroke:var(--paper);stroke-width:6px;stroke-linecap:round}.lin .ink{fill:none;stroke:var(--ink);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.lin .heavy .ink{stroke-width:3px}.lin .heavy .case{stroke-width:8px}.lin .dotted{stroke-dasharray:.5 4.5;stroke-width:1.6px}.lin .start{fill:var(--ink)}.lin .tag{fill:var(--acc)}.lin .lin-tag{fill:var(--acc);font-size:9.5px}.lin .cap{fill:var(--paper);stroke:var(--ink);stroke-width:1.3px;transform-box:fill-box;transform-origin:50%;transition:transform .6s cubic-bezier(.3,1.6,.5,1),opacity .3s}.lin .cap.live{fill:var(--acc);stroke:var(--acc)}.lin .lin-now{fill:none;stroke:var(--ink);stroke-width:1px;stroke-dasharray:2 4}.lin .lin-head{opacity:0;pointer-events:none;transition:opacity .5s}.lin .lin-head path{stroke:var(--acc);stroke-width:1.2px}.lin .lin-head rect{fill:var(--acc)}.lin .lin-head .lin-when{fill:var(--paper);font-size:10px}.lin.armed:not(.done) .lin-head{opacity:1}.lin .lin-row text{transition:opacity .5s,fill .2s}.lin.armed .lin-row:not(.on) text{opacity:0}.lin.armed:not(.done) .cap{opacity:0;transform:scale(.2)}.lin .cap:nth-of-type(odd){transition-delay:50ms}.lin [data-row]{transition:opacity .25s}.lin.focusing [data-row]:not(.lit){opacity:.22}.lin .lin-row{cursor:default}.lin .lin-row.lit .lin-name{fill:var(--acc)}.replay{appearance:none;color:var(--ink);font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}.replay:hover,.replay:focus-visible{color:var(--acc)}.replay[hidden]{display:none}.fig-btn{appearance:none;cursor:pointer;font-family:var(--mono);letter-spacing:.12em;color:var(--ink);background:var(--paper);border:1px solid var(--ink);padding:9px 13px 8px;font-size:11px;transition:color .2s,border-color .2s,background-color .2s}.fig-btn:before{content:"↻";color:var(--acc);margin-right:9px}.fig-btn.solid{background:var(--ink);color:var(--paper)}.fig-btn.solid:before{content:"→"}.fig-btn:hover,.fig-btn:focus-visible{color:var(--acc);border-color:var(--acc)}.fig-btn.solid:hover,.fig-btn.solid:focus-visible{background:var(--acc);border-color:var(--acc);color:var(--paper)}.fig-btn:disabled{opacity:.35;cursor:default}.fig-btn[hidden]{display:none}.pack-wrap{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.pack{--cell:24px;--gap:3px;--step:calc(var(--cell) + var(--gap));width:calc(var(--w) * var(--step) - var(--gap));height:calc(var(--h) * var(--step) - var(--gap));flex:none;position:relative}.pack i{left:calc(var(--x) * var(--step));top:calc(var(--y) * var(--step));width:var(--cell);height:var(--cell);position:absolute}.pack .hull{border:1px solid var(--rule);transition:background-color .5s,border-color .5s}.pack .hull.big{border-color:color-mix(in oklab, var(--acc), transparent 72%);background:oklch(58% .19 36/.09)}.pack .mod{transform-origin:calc(var(--cell) / 2) calc(var(--cell) / 2);transform:translate(calc(var(--mx) * var(--step)), calc(var(--my) * var(--step))) rotate(var(--mr));transition:transform 1.25s var(--io) calc(var(--i) * 90ms), opacity .35s ease, translate .45s var(--out);position:absolute;inset:0 auto auto 0}.pack .mod i{background:color-mix(in oklab, var(--acc), var(--ink) calc(var(--i) * 3.5%));box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--acc), var(--ink) calc(22% + var(--i) * 3.5%))}.rootfit.snap .mod{transition:none}.pack .mod.out{opacity:0;translate:0 -14px}.pack-side{justify-items:start;gap:14px;display:grid}.pack-read{color:var(--dim);gap:4px;display:grid}.pack-read .v{color:var(--ink);font-size:13px}.pack-read .arrow{color:var(--dim);margin:0 10px}.pack-read .now{color:var(--acc)}.rootfit.armed:not(.packed) .pack-read :is(.now,.arrow){opacity:.25}.client{border:1px solid var(--ink);margin-top:22px}html:not(.js) .client{display:none}.client-bar{border-bottom:1px solid var(--ink);font-family:var(--mono);letter-spacing:.12em;color:var(--dim);justify-content:space-between;padding:6px 10px 5px;font-size:10px;display:flex}.client-view{aspect-ratio:16/7.5;background:radial-gradient(circle,#17181c99 .8px,#0000 1.3px) 13px 7px/97px 89px,radial-gradient(circle,#17181c73 .7px,#0000 1.2px) 51px 31px/131px 113px,radial-gradient(circle,#17181c59 .6px,#0000 1px) 23px 67px/173px 157px,radial-gradient(circle,#17181c4d .6px,#0000 1px) 77px 19px/59px 61px,radial-gradient(circle,#17181c38 .5px,#0000 .9px) 5px 43px/43px 47px,radial-gradient(circle,#17181c80 1px,#0000 1.6px) 111px 97px/211px 199px;position:relative;overflow:hidden}.client-view .reticle{border:1px dashed var(--rule);border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:32%}.client-view .reticle i{background:var(--ink);border-radius:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;position:absolute;inset:50% auto auto 50%}.ov{width:min(56%,300px);font-family:var(--mono);letter-spacing:.08em;background:color-mix(in oklab, var(--paper), transparent 6%);border:1px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-size:10.5px;position:absolute;top:12px;right:12px}.ov-title{background:var(--ink);color:var(--paper);justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.ov-title i{background:var(--acc);width:7px;height:7px}.ov-list{min-height:9.2em;margin:0;padding:4px 0;list-style:none}.ov-list li{color:var(--ink);grid-template-columns:2.4em minmax(0,1fr) auto;gap:8px;padding:1px 8px;transition:background-color .3s,color .3s;display:grid}.ov-list li.past{color:var(--dim)}.ov-list li.cur{background:var(--acc);color:var(--paper)}.ov-list .n,.ov-list .h{opacity:.7}.ov-list .ov-wait{color:var(--dim);padding:8px;display:block}.ov-foot{border-top:1px solid var(--rule);color:var(--grey);padding:4px 8px 5px;font-size:10px}.bridge-wrap.sending:after{content:"";background:var(--acc);width:9px;height:9px;animation:send .9s var(--io) forwards;position:absolute;top:-4px}@keyframes send{0%{left:calc(100% - 9px)}to{left:0}}.cflow{overflow:visible}.cflow text{font-family:var(--mono);letter-spacing:.1em;fill:var(--ink);font-size:10.5px}.cflow text.grey{fill:var(--grey)}.cflow text.dim{fill:var(--dim);font-size:9.5px}.flow-boxes rect{fill:var(--paper);stroke:var(--rule)}.flow-boxes rect.dash{stroke-dasharray:4 4}.flow-boxes rect.faint{stroke:var(--faint)}.flow-boxes rect.core{stroke:var(--ink)}.flow-wires path{fill:none;stroke:var(--rule)}.flow-tokens rect{fill:var(--acc)}.flow-tokens rect.dim{fill:var(--ink)}.flow-tokens rect.split{fill:var(--acc)}.civ .cap{text-align:left;width:100%;font:inherit;letter-spacing:inherit;color:var(--ink);background:var(--paper);cursor:pointer;transition:border-color .3s,color .3s,background-color .3s;display:block}.civ .cap:disabled{cursor:default}.cap-state{color:var(--acc);margin-top:3px;display:block}.civ .cap:not(:disabled):hover{border-color:var(--acc)}.no-cap .civ .cap{color:var(--dim);border-style:dashed}.no-cap .cap-state{color:var(--dim)}.no-cap .civ-auth .stem{background:repeating-linear-gradient(var(--dim) 0 3px, transparent 3px 6px)}.sw{appearance:none;font:inherit;letter-spacing:inherit;color:var(--grey);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:inline-flex}.sw:disabled{cursor:default}.sw i{border:1px solid var(--ink);border-radius:8px;width:26px;height:14px;transition:background-color .25s;position:relative}.sw i:after{content:"";background:var(--ink);width:8px;height:8px;transition:transform .3s var(--out), background-color .25s ease;border-radius:50%;position:absolute;top:2px;left:2px}.sw[aria-pressed=true]{color:var(--ink)}.sw[aria-pressed=true] i{background:var(--acc);border-color:var(--acc)}.sw[aria-pressed=true] i:after{background:var(--paper);transform:translate(12px)}.sw:disabled i{opacity:.5}.sw.refused i{border-color:var(--acc);animation:.4s refuse}@keyframes refuse{20%,60%{translate:-3px}40%,80%{translate:3px}}.civ-feed{font-family:var(--mono);letter-spacing:.08em;color:var(--grey);min-height:4.8em;margin:12px 0 0;padding:0;font-size:10.5px;list-style:none}.civ-feed li{animation:feed-in .4s var(--out);gap:14px;padding:2px 0;display:flex}.civ-feed li span:first-child{color:var(--dim)}.civ-feed li.refused{color:var(--acc)}.civ-feed li:not(:first-child){opacity:.55}@keyframes feed-in{0%{opacity:0;translate:0 -6px}}.civ-hint{color:var(--grey)}.sbp span{transition:color .3s,background-color .3s}.sbp span.hot{color:var(--paper);background:var(--acc);box-shadow:0 0 0 3px var(--acc)}.sbp-demo{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:22px;display:grid}.intel-wrap{background:var(--ink);color:var(--paper);padding:16px 16px 18px;position:relative}.intel-k{font-family:var(--mono);letter-spacing:.14em;color:#a4a7ad;margin-bottom:8px;font-size:10px;display:block}.intel{font-family:var(--mono);letter-spacing:.08em;white-space:nowrap;min-height:1.4em;font-size:clamp(14px,1.7vw,18px);line-height:1.4;overflow:hidden}.intel-bar{height:3px;position:absolute;bottom:0;left:0;right:0}.intel-bar i{background:var(--acc);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.sbp-btns{flex-wrap:wrap;gap:10px;display:flex}.sbp-state{font-family:var(--mono);letter-spacing:.1em;color:var(--grey);font-size:10.5px}.sbp-note{color:var(--grey)}.flappy{margin-top:26px}.flappy canvas{border-top:1px solid var(--ink);border-bottom:1px solid var(--faint);cursor:pointer;touch-action:manipulation;width:100%;height:150px;display:block}.flappy canvas:focus-visible{outline:1px solid var(--acc);outline-offset:3px}.flappy[hidden]{display:none}.layer-tabs{pointer-events:auto;flex-wrap:wrap;flex-basis:100%;gap:6px;display:flex}.layer-tabs[hidden]{display:none}.layer-tabs button{appearance:none;cursor:pointer;font-family:var(--mono);letter-spacing:.12em;color:var(--stage-dim);background:var(--stage-bg);border:1px solid var(--stage-rule);padding:7px 10px 6px;font-size:10.5px;transition:color .2s,border-color .2s;position:relative;overflow:hidden}.layer-tabs button:hover,.layer-tabs button:focus-visible,.layer-tabs button[aria-pressed=true]{color:var(--stage-ink);border-color:var(--stage-ink)}.layer-tabs button i{background:var(--acc);transform-origin:0;width:100%;height:2px;transform:scaleX(var(--p,0));position:absolute;bottom:0;left:0}.plate-eden.manual .layer-tabs button[aria-pressed=true] i{transform:scaleX(1)}.js .plate .readout .when-layer{display:none}.plate-eden:not(.on-route) .readout .when-route{display:none!important}.plate-eden.has-route:not(.on-route) .readout .when-layer{display:grid}.plate-eden:not(.on-route) [data-action=reroute]{display:none}.plate-eden .readout{align-content:start;min-height:7.9em}.plate-eden .readout dd{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.plate-eden.layer-failed .readout .when-layer dd{color:var(--acc)}.plate-label.layer{color:var(--stage-ink);text-shadow:0 0 4px var(--stage-bg), 0 0 2px var(--stage-bg), 0 0 1px var(--stage-bg);background:0 0;margin:-8px 0 0 16px}.motion [data-reveal]{transition:opacity 1s ease, transform 1.2s var(--out)}.motion [data-reveal]:not(.in){opacity:0;transform:translateY(26px)}.motion .plate[data-reveal]:not(.in){transform:none}@media (width>=900px){.chapter{grid-template-columns:var(--col-margin) minmax(0, 1fr);column-gap:var(--gutter);align-items:start;display:grid}.chapter>.margin{grid-column:1}.chapter>.body{grid-column:2}.chapter>.span{grid-column:1/-1}.chapter>.body+.span,.chapter>.span+.body{margin-top:56px}.entry{grid-column:1/-1;grid-template-columns:var(--col-margin) minmax(0, 1fr);column-gap:var(--gutter);align-items:start;display:grid}.entry-margin{flex-direction:column;gap:6px;margin-bottom:0;padding-top:12px}.entry-body{grid-column:2}.entry-figure{grid-column:1/-1}.entry-ef .entry-body .intro{margin-bottom:8px}}@media (width>=900px) and (width<=1099px){.chapter,.entry{--col-margin:8.5rem;--gutter:28px}.entry-title{font-size:clamp(32px,3.6vw,40px)}.chapter-head .num{font-size:72px}}@media (width<=1099px){.side{grid-template-columns:8rem minmax(0,1fr)}.side .mark{text-align:left;grid-column:2}.along-row{grid-template-columns:minmax(0,1fr) auto}.along-row p{grid-column:1/-1}.hero-cap{max-width:36ch}}@media (width<=899px){.margin{margin-bottom:32px}.lineage .diagram-wide{display:none}.lineage .diagram-narrow{display:block}.chapter-head .num{font-size:88px}}@media (width<=759px){html{font-size:18px}.masthead,.contents,.opening-note,.sub,.chapter-head .label,.entry-margin,.meta-row,.tags,.fig-cap,.fig,.origin-flow,.bridge,.layers,.civ,.sbp,.pack-read,.along-row .name,.along-row .when,.side .when,.side .mark,.elsewhere dt,.site-foot,.lineage-list,.states,.states-kicker,.flow,.plate-head,.readout,.plate-btn,.hero-cap,.hero-next,.entry-title .small{font-size:12px}.masthead{padding-top:16px}.contents{gap:4px 14px;font-size:11px}.hero{min-height:600px}.hero-copy{max-width:none;right:var(--inset);bottom:118px}.hero h1{font-size:clamp(64px,21vw,104px)}.hero .lede{font-size:21px}.hero-cap{left:var(--inset);text-align:left;max-width:none;bottom:22px;right:auto}.hero-cap .plate-head{justify-content:flex-start}.hero-route,.hero-next,.diagram-wide{display:none}.diagram-narrow{display:block}.origin-flow,.bridge{grid-template-columns:1fr 1fr}.origin-flow li:nth-child(2),.bridge li:nth-child(2){border-right:0;margin-right:0}.wire{display:none}.layers{grid-template-columns:1fr}.layers .join{justify-self:start;margin:6px 0 6px -4px;transform:rotate(90deg)}.civ{grid-template-columns:1fr}.civ-table tr{border-top:1px solid var(--faint);padding:8px 0;display:block}.civ-table tr:first-child{border-top:1px solid var(--ink)}.civ-table tr th,.civ-table tr td,.civ-table tr:first-child :is(th,td),.civ-table .foot :is(th,td){border:0;padding:1px 0;display:block}.plate-eden .readout{min-height:0}.plate-eden .readout dd{white-space:normal}.side{grid-template-columns:1fr;gap:6px}.side .mark{grid-column:1}.elsewhere div{grid-template-columns:5rem minmax(0,1fr)}.pack{--gap:2px;--cell:min(22px, calc((100vw - 2 * var(--pad) - 11 * var(--gap)) / 12))}.plate .plate-stage{height:clamp(560px,92svh,820px)}.plate-ui{padding:24px var(--inset) 22px}.readout{width:100%;min-width:0;padding:8px 10px 6px}.readout div{grid-template-columns:5.2rem minmax(0,1fr);gap:8px}.plate-btn{width:100%}.statement{font-size:clamp(40px,12vw,60px)}.chapter-head .num{font-size:76px}}@media (width>=760px){.diagram-narrow,.layers.diagram-narrow{display:none}}@media (width<=759px){.layers.diagram-narrow{display:grid}.ov{width:auto;inset:auto 8px 8px}.client-view{aspect-ratio:auto;height:260px}.client-view .reticle{top:26%;left:50%}.pack-wrap{gap:14px}.flappy canvas{height:130px}.layer-tabs button{padding:6px 8px 5px;font-size:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-draw]{stroke-dasharray:none!important;stroke-dashoffset:0!important;transition:none!important}}
