@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-400-normal.BFBkh4jY.woff2)format("woff2"),url(/_astro/newsreader-latin-400-normal.gRTjlS2D.woff)format("woff")}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-400-italic.CEihAR-f.woff2)format("woff2"),url(/_astro/newsreader-latin-400-italic.CNZoH1hn.woff)format("woff")}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/newsreader-latin-500-normal.B66TYsaK.woff2)format("woff2"),url(/_astro/newsreader-latin-500-normal.DFwuUcdu.woff)format("woff")}@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:#ece7dc;--ink:#17181c;--grey:#55585f;--dim:#7a7d84;--rule:#17181c2e;--faint:#17181c14;--acc:oklch(58% .19 36);--acc-soft:oklch(58% .19 36/.16);--serif:"Newsreader", "Iowan Old Style", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--col-margin:12rem;--gutter:clamp(24px, 4vw, 56px);--ease:cubic-bezier(.22, .61, .24, 1)}*,: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;scroll-behavior:smooth;font-size:19px;line-height:1.5}body{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}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,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:10;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)}.mono,.masthead,.contents,.opening-note,.sub,.chapter-head,.entry-margin,.meta-row,.tags,.fig-cap,.fig,.origin-flow,.bridge,.layers,.civ,.sbp,.along-row .name,.along-row .when,.side .when,.side .mark,.elsewhere dt,.site-foot,.lineage-list,.route-list,.states,.flow{font-family:var(--mono);letter-spacing:.12em;text-transform:none;font-size:11px;line-height:1.5}.page{max-width:1160px;margin:0 auto;padding:0 clamp(20px,5vw,56px) 80px}.masthead{border-bottom:1px solid var(--ink);color:var(--grey);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;padding:22px 0 14px;display:flex}.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)}.opening{padding:clamp(56px,10vh,120px) 0 clamp(40px,6vh,72px)}.opening h1{letter-spacing:-.02em;max-width:14ch;font-size:clamp(44px,7.5vw,96px);font-weight:400;line-height:.98}.opening .lede{max-width:30ch;color:var(--ink);margin-top:clamp(20px,3vh,36px);font-size:clamp(22px,2.6vw,32px);line-height:1.3}.opening-note{color:var(--dim);margin-top:28px}.opening .lineage{border-top:1px solid var(--rule);margin-top:clamp(48px,8vh,96px);padding-top:20px}.chapter{padding:clamp(56px,9vh,104px) 0 0}.chapter-head{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;font-weight:400}.chapter-head .num{min-width:2.4em;color:var(--acc);display:inline-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:-.015em;margin-bottom:18px;font-size:clamp(30px,3.4vw,42px);font-weight:500;line-height:1.05}.entry-title .small{font:11px/1.5 var(--mono);letter-spacing:.14em;color:var(--dim);margin-bottom:10px;display:block}.body .entry-title{margin-top:4px}.intro{font-size:clamp(20px,2vw,24px);line-height:1.4;max-width:30em!important}.statement{letter-spacing:-.02em;margin-bottom:26px;font-size:clamp(34px,4.4vw,56px);font-weight:400;line-height:1.05;max-width:22ch!important}.after{color:var(--grey);margin-top:28px;font-style:italic}.entry{border-top:1px solid var(--rule);margin-top:clamp(48px,7vh,88px);padding-top:20px}.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)}.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:28px}.inline-fig{max-width:62ch;margin-top:28px}.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-cap a{color:var(--ink);text-decoration:none}.diagram-narrow{display:none}.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)}.pack{grid-template-columns:repeat(10,22px);gap:3px;display:grid}.pack i{border:1px solid #0000;height:22px;display:block}.pack .hull{border-color:var(--rule)}.pack .on{background:var(--acc);border-color:var(--acc)}.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);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{color:var(--dim);font-size:14px}.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);width:1px;height:22px;margin-left:20px}.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)}.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 .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:18px 0 20px;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)}.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:10px 0;display:grid}.elsewhere dt{color:var(--dim)}.elsewhere dd{margin:0}.elsewhere a{text-decoration:none}.site-foot{border-top:1px solid var(--ink);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:6px 24px;margin-top:clamp(64px,10vh,120px);padding-top:14px;display:flex}.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)}.route-list{border-top:1px solid var(--ink);padding-top:6px}.route-list .step{color:var(--ink);align-items:center;gap:8px;padding:7px 0;display:flex}.route-list .step .dot{border-color:var(--acc);margin-right:0}.route-list .origin .dot,.route-list .dest .dot{background:var(--acc)}.route-list .note{color:var(--dim)}.route-list .aside{color:var(--dim);gap:2px;margin-top:10px;display:grid}.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)}@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:40px}.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:6px}.entry-body{grid-column:2}.entry-figure{grid-column:1/-1}.entry-ef .entry-body .intro{margin-bottom:8px}.chapter-head{margin-top:6px}}@media (width>=900px) and (width<=1099px){.chapter,.entry{--col-margin:8.5rem;--gutter:28px}.entry-title{font-size:clamp(28px,3vw,34px)}}@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}}@media (width<=899px){.margin{margin-bottom:28px}}@media (width<=759px){html{font-size:18px}.mono,.masthead,.contents,.opening-note,.sub,.chapter-head,.entry-margin,.meta-row,.tags,.fig-cap,.fig,.origin-flow,.bridge,.layers,.civ,.sbp,.along-row .name,.along-row .when,.side .when,.side .mark,.elsewhere dt,.site-foot,.lineage-list,.route-list,.states,.flow{font-size:12px}.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}.layers{grid-template-columns:1fr}.layers .join{justify-self:start;margin-left: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 th,.civ-table td{border:0;padding:1px 0;display:block}.side{grid-template-columns:1fr;gap:6px}.side .mark{grid-column:1}.elsewhere div{grid-template-columns:5rem minmax(0,1fr)}.pack{grid-template-columns:repeat(10,minmax(0,1fr));max-width:300px}.pack i{aspect-ratio:1;height:auto}}@media (width>=760px){.diagram-narrow{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-draw]{stroke-dasharray:none!important;stroke-dashoffset:0!important;transition:none!important}}
