*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--zg-ground);color:var(--zg-ink-2);font-family:var(--zg-font-sans);font-size:var(--zg-text-0);line-height:var(--zg-leading-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:color-mix(in srgb, var(--zg-link) 24%, transparent);margin:0}:target,[id]{scroll-margin-block-start:var(--zg-space-l)}a,button,summary,[tabindex]{touch-action:manipulation}h1,h2,h3,h4{color:var(--zg-ink);font-weight:600;line-height:var(--zg-leading-tight);text-wrap:balance;margin:0}p{max-width:var(--zg-measure);margin:0}a{color:var(--zg-link);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--zg-link);outline-offset:3px}code,kbd,samp,.mono{font-family:var(--zg-font-mono);font-variant-ligatures:none;font-variant-numeric:tabular-nums;font-size:.92em}hr{border:0;border-top:var(--zg-hair) solid var(--zg-rule);margin:0}svg{display:block}.skip-link{left:var(--zg-space-s);top:var(--zg-space-s);z-index:50;background:var(--zg-ink);color:var(--zg-ground);padding:var(--zg-space-2xs) var(--zg-space-s);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-250%)}.skip-link:focus-visible{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:var(--zg-page-max);padding-inline:max(var(--zg-gutter), env(safe-area-inset-left)) max(var(--zg-gutter), env(safe-area-inset-right));margin-inline:auto}.masthead{border-bottom:var(--zg-hair) solid var(--zg-rule-strong);background:var(--zg-ground)}.masthead__inner{align-items:center;gap:var(--zg-space-s) var(--zg-space-m);padding-block:var(--zg-space-xs);flex-wrap:wrap;display:flex}.wordmark{align-items:center;gap:var(--zg-space-2xs);color:var(--zg-ink);font-weight:600;font-size:var(--zg-text-1);letter-spacing:-.01em;margin-inline-end:auto;text-decoration:none;display:inline-flex}.wordmark svg{flex:none;width:1.5rem;height:1.5rem}.masthead__nav{align-items:center;gap:var(--zg-space-s) var(--zg-space-m);flex-wrap:wrap;display:flex}.masthead__nav a{color:var(--zg-ink-2);font-size:var(--zg-text--1);align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.masthead__nav a:hover{color:var(--zg-ink);text-decoration:underline}.theme-toggle{justify-content:center;align-items:center;gap:var(--zg-space-3xs);min-width:44px;min-height:44px;padding-inline:var(--zg-space-2xs);border:var(--zg-hair) solid transparent;color:var(--zg-ink-2);font:inherit;font-size:var(--zg-text--2);cursor:pointer;background:0 0;display:inline-flex}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--zg-ink);border-color:var(--zg-ink-2)}.theme-toggle svg{width:1rem;height:1rem}@media (width<=40rem){.masthead__inner{gap:0 var(--zg-space-s);padding-block:0}.masthead__nav{gap:0 var(--zg-space-s)}.wordmark{font-size:var(--zg-text-0);min-height:44px}}.band{padding-block:var(--zg-space-l)}.band:before{content:"";height:var(--zg-hair);background:var(--zg-rule-strong);margin-block-end:var(--zg-space-m);display:block}.band--flush:before{display:none}.band__head{max-width:var(--zg-measure)}.band h2{font-size:var(--zg-text-3);letter-spacing:-.025em;margin-block-end:var(--zg-space-s)}.band h3{font-size:var(--zg-text-1);letter-spacing:-.012em}.lede{font-size:var(--zg-text-1);color:var(--zg-ink-2)}.prose>*+*{margin-block-start:var(--zg-space-s)}.titleblock{border-bottom:var(--zg-hair) solid var(--zg-rule);padding-block:var(--zg-space-l) var(--zg-space-m);gap:0;display:grid}@media (width>=60rem){.titleblock{align-items:end;column-gap:var(--zg-space-xl);grid-template-columns:minmax(0,1fr) 20rem}}.titleblock h1{font-size:var(--zg-text-5);letter-spacing:-.035em;max-width:16ch}.spec{gap:var(--zg-space-3xs) var(--zg-space-s);margin:var(--zg-space-m) 0 0;font-size:var(--zg-text--2);border-top:var(--zg-hair) solid var(--zg-rule);padding-top:var(--zg-space-2xs);grid-template-columns:auto 1fr;display:grid}@media (width>=60rem){.spec{margin-top:0}}.spec dt{color:var(--zg-ink-3);text-transform:uppercase;letter-spacing:.06em}.spec dd{color:var(--zg-ink-2);font-family:var(--zg-font-mono);margin:0}.thesis{gap:var(--zg-space-xl);padding-block:var(--zg-space-l) var(--zg-space-m);display:grid}@media (width>=64rem){.thesis{column-gap:var(--zg-space-xl);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.actions{gap:var(--zg-space-xs);flex-wrap:wrap;margin-block-start:var(--zg-space-m);display:flex}.action{min-height:44px;padding:var(--zg-space-2xs) var(--zg-space-m);border:var(--zg-hair) solid color-mix(in srgb, var(--zg-ink) 60%, transparent);color:var(--zg-ink);font-weight:600;font-size:var(--zg-text--1);align-items:center;text-decoration:none;display:inline-flex}.action:hover{border-color:var(--zg-ink);background:var(--zg-raised)}.action--primary{background:var(--zg-ink);color:var(--zg-ground);border-color:var(--zg-ink)}.action--primary:hover{background:var(--zg-ink-2);border-color:var(--zg-ink-2);color:var(--zg-ground)}.figure{border:var(--zg-hair) solid var(--zg-rule-strong);background:var(--zg-raised);margin:0}.figure__caption{border-top:var(--zg-hair) solid var(--zg-rule);max-width:none;padding:var(--zg-space-2xs) var(--zg-space-s);font-size:var(--zg-text--2);color:var(--zg-ink-3)}.figure__caption b{color:var(--zg-ink-2);font-weight:600}.split{gap:var(--zg-space-xl);align-items:start;display:grid}@media (width>=64rem){.split{column-gap:var(--zg-space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.persistence-fig{padding:var(--zg-space-m)}.persistence-fig svg{width:100%;height:auto}.compare{gap:var(--zg-space-m);grid-template-columns:minmax(0,1fr);margin-block-start:var(--zg-space-l);display:grid}@media (width>=64rem){.compare{column-gap:var(--zg-space-xl);grid-template-columns:repeat(2,minmax(0,1fr))}}.walkthrough{gap:var(--zg-space-l) var(--zg-space-xl);align-items:start;margin-block-start:var(--zg-space-l);display:grid}.walkthrough__figure .ascent-figure{max-width:30rem;margin-inline:auto;display:block}.walkthrough__steps{counter-reset:walkthrough -1;margin:0;padding:0;list-style:none}.walkthrough__steps li{counter-increment:walkthrough;gap:var(--zg-space-3xs) var(--zg-space-s);padding-block:var(--zg-space-s);border-bottom:var(--zg-hair) solid var(--zg-rule);grid-template-columns:2rem minmax(0,1fr);display:grid}.walkthrough__steps li:first-child{padding-block-start:0}.walkthrough__steps li:before{content:counter(walkthrough, decimal-leading-zero);color:var(--zg-ink-3);font-family:var(--zg-font-mono);font-size:var(--zg-text--1);grid-row:span 2}.walkthrough__steps strong{color:var(--zg-ink);font-weight:600;line-height:var(--zg-leading-snug)}.walkthrough__steps p{font-size:var(--zg-text--1)}@media (width>=64rem){.walkthrough{grid-template-columns:repeat(2,minmax(0,1fr))}}.artifact{border:var(--zg-hair) solid var(--zg-rule-strong);background:var(--zg-raised);flex-direction:column;min-width:0;display:flex}.artifact__head{justify-content:space-between;align-items:baseline;gap:var(--zg-space-2xs);padding:var(--zg-space-2xs) var(--zg-space-s);border-bottom:var(--zg-hair) solid var(--zg-rule);flex-wrap:wrap;display:flex}.artifact__head h3{font-size:var(--zg-text--1);font-family:var(--zg-font-mono);color:var(--zg-ink-2);overflow-wrap:anywhere;font-weight:500}.stamp{font-size:var(--zg-text--2);letter-spacing:.1em;border:2px solid;padding:.1em .5em;font-weight:700}.stamp--refused{color:var(--zg-refuse)}.stamp--admitted{color:var(--zg-gold)}.artifact pre{padding:var(--zg-space-s);font-family:var(--zg-font-mono);font-size:var(--zg-text--2);color:var(--zg-ink);background:var(--zg-sunk);flex:1;margin:0;line-height:1.6;overflow-x:auto}.artifact__note{padding:var(--zg-space-s);border-top:var(--zg-hair) solid var(--zg-rule);font-size:var(--zg-text--1);color:var(--zg-ink-2);margin:0}.ledger{border-collapse:collapse;width:100%;font-size:var(--zg-text--1);text-align:start;margin-block-start:var(--zg-space-l)}.ledger :is(th,td){border-bottom:var(--zg-hair) solid var(--zg-rule);padding:var(--zg-space-xs) var(--zg-space-s) var(--zg-space-xs) 0;vertical-align:top;text-align:start}.ledger thead th{border-bottom:var(--zg-hair) solid var(--zg-rule-strong);font-size:var(--zg-text--2);text-transform:uppercase;letter-spacing:.06em;color:var(--zg-ink-3);font-weight:600}.ledger th[scope=row]{font-family:var(--zg-font-mono);color:var(--zg-ink);white-space:nowrap;font-weight:600}.ledger td{color:var(--zg-ink-2)}@media (width<=52rem){.ledger thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.ledger tr{padding-block:var(--zg-space-s);border-bottom:var(--zg-hair) solid var(--zg-rule-strong);display:block}.ledger :is(th,td){border:0;padding:0;display:block}.ledger th[scope=row]{white-space:normal;overflow-wrap:anywhere;margin-block-end:var(--zg-space-2xs)}.ledger td:before{content:attr(data-label) ": ";color:var(--zg-ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:var(--zg-text--2)}}.ledger-pair{gap:var(--zg-space-xl);margin-block-start:var(--zg-space-l);display:grid}@media (width>=64rem){.ledger-pair{column-gap:var(--zg-space-xl);grid-template-columns:repeat(2,minmax(0,1fr))}}.ledger-pair h3{font-size:var(--zg-text--1);text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid;padding-block-end:var(--zg-space-2xs)}.ledger-pair h3.is-enforced{color:var(--zg-silver)}.ledger-pair h3.is-not{color:var(--zg-refuse)}.ledger-pair ul{margin:0;padding:0;list-style:none}.ledger-pair li{padding-block:var(--zg-space-xs);border-bottom:var(--zg-hair) solid var(--zg-rule);font-size:var(--zg-text--1);color:var(--zg-ink-2)}.ledger-pair li strong{color:var(--zg-ink);font-weight:600}.paths{border-top:var(--zg-hair) solid var(--zg-rule-strong);margin-block-start:var(--zg-space-l)}.path{gap:var(--zg-space-s) var(--zg-space-xl);padding-block:var(--zg-space-l);border-bottom:var(--zg-hair) solid var(--zg-rule);align-items:start;display:grid}.path:last-child{border-bottom:0;padding-block-end:0}@media (width>=64rem){.path{grid-template-columns:repeat(2,minmax(0,1fr))}}.path h3{font-size:var(--zg-text-2);letter-spacing:-.02em;margin-block-end:var(--zg-space-2xs)}.path p{font-size:var(--zg-text-0)}.path pre{padding:var(--zg-space-s);background:var(--zg-sunk);border:var(--zg-hair) solid var(--zg-rule);font-family:var(--zg-font-mono);font-size:var(--zg-text--2);color:var(--zg-ink);margin:0;line-height:1.7;overflow-x:auto}.path pre .comment{color:var(--zg-ink-3)}.status__layout{gap:var(--zg-space-m) var(--zg-space-xl);align-items:start;display:grid}@media (width>=64rem){.status__layout{grid-template-columns:repeat(2,minmax(0,1fr))}}.status__body p{font-size:var(--zg-text-0)}.status__body dl{margin:var(--zg-space-m) 0 0}.status__body dt{font-size:var(--zg-text--1);text-transform:uppercase;letter-spacing:.06em;color:var(--zg-ink-3)}.status__body dd{margin:var(--zg-space-3xs) 0 0}.status__body dd+dt{margin-block-start:var(--zg-space-s)}.site-footer{padding-block:var(--zg-space-l);font-size:var(--zg-text--1);color:var(--zg-ink-3)}.site-footer>.wrap:before{content:"";height:var(--zg-hair);background:var(--zg-rule-strong);margin-block-end:var(--zg-space-m);display:block}.site-footer nav ul{gap:var(--zg-space-xs) var(--zg-space-m);margin:0 0 var(--zg-space-m);flex-wrap:wrap;padding:0;list-style:none;display:flex}.site-footer nav a{min-height:44px;color:var(--zg-ink-2);align-items:center;display:inline-flex}.site-footer p{max-width:var(--zg-measure)}.site-footer p+p{margin-block-start:var(--zg-space-2xs)}.fig-rule{stroke:var(--zg-rule-strong);fill:none}.fig-hair{stroke:var(--zg-rule);fill:none}.fig-ink{fill:var(--zg-ink)}.fig-ink-2{fill:var(--zg-ink-2)}.fig-ink-3{fill:var(--zg-ink-3)}.fig-stroke-ink{stroke:var(--zg-ink);fill:none}.fig-label{font-family:var(--zg-font-mono);fill:var(--zg-ink-2);font-size:15px}.fig-label--small{fill:var(--zg-ink-3);font-size:13px}.fig-label--datum{fill:var(--zg-ink-3);font-size:14px}@media (width<=40rem){.fig-label{font-size:18px}.fig-label--small{font-size:16px}.fig-label--datum{font-size:17px}}a{transition:color .14s}.wordmark svg rect{fill:currentColor;transition:fill .18s}.wordmark:hover svg rect:first-of-type,.wordmark:focus-visible svg rect:first-of-type{fill:var(--zg-bronze)}.wordmark:hover svg rect:nth-of-type(2),.wordmark:focus-visible svg rect:nth-of-type(2){fill:var(--zg-silver)}.wordmark:hover svg rect:nth-of-type(3),.wordmark:focus-visible svg rect:nth-of-type(3){fill:var(--zg-gold)}.masthead__nav a{text-underline-offset:.3em;text-decoration:underline #0000;transition:color .14s,text-decoration-color .18s}.masthead__nav a:hover{text-decoration-color:currentColor}.site-footer nav a{text-decoration:underline #0000;transition:color .14s,text-decoration-color .18s}.site-footer nav a:hover{color:var(--zg-ink);text-decoration-color:currentColor}.action{transition:background-color .16s,border-color .16s,color .16s}.action:active{transform:translateY(1px)}.theme-toggle{transition:color .16s,border-color .16s}.ledger tbody tr{transition:background-color .14s}.ledger tbody tr:hover{background:var(--zg-raised)}@media (prefers-reduced-motion:reduce){a,.wordmark svg rect,.masthead__nav a,.site-footer nav a,.action,.theme-toggle,.ledger tbody tr{transition:none}.action:active{transform:none}}html[data-js-ready] [data-reveal]{opacity:0;transform:translateY(14px)}html[data-js-ready] [data-reveal].is-in{opacity:1;transition:opacity .3s ease-out,transform .42s cubic-bezier(.2,.7,.2,1);transform:none}html[data-js-ready] [data-reveal="2"].is-in{transition-delay:90ms}html[data-js-ready] [data-reveal="3"].is-in{transition-delay:.18s}@media (prefers-reduced-motion:reduce){html[data-js-ready] [data-reveal],html[data-js-ready] [data-reveal].is-in{opacity:1;transition:none;transform:none}}@media print{html[data-js-ready] [data-reveal]{opacity:1;transition:none;transform:none}}.admission__heading:where(.astro-drsfbdn6){padding:var(--zg-space-s) var(--zg-space-m);border-bottom:var(--zg-hair) solid var(--zg-rule);color:var(--zg-ink);font-size:var(--zg-text-0);font-weight:600}.admission__flow:where(.astro-drsfbdn6){padding:var(--zg-space-m);gap:var(--zg-space-l);margin:0;list-style:none;display:grid}.admission__flow:where(.astro-drsfbdn6) li:where(.astro-drsfbdn6){gap:var(--zg-space-s);grid-template-columns:5.5rem minmax(0,1fr);align-items:start;display:grid;position:relative}.admission__actor:where(.astro-drsfbdn6){padding-block:var(--zg-space-3xs);border:var(--zg-hair) solid var(--zg-rule-strong);color:var(--zg-ink-2);font-size:var(--zg-text--1);text-align:center}.admission__step:where(.astro-drsfbdn6) strong:where(.astro-drsfbdn6){color:var(--zg-ink);font-size:var(--zg-text-0);line-height:var(--zg-leading-snug);display:block}.admission__step:where(.astro-drsfbdn6) p:where(.astro-drsfbdn6){font-size:var(--zg-text--1);line-height:var(--zg-leading-body);margin-block-start:var(--zg-space-3xs)}.admission__external:where(.astro-drsfbdn6) .admission__actor:where(.astro-drsfbdn6){color:var(--zg-gold);background:var(--zg-gold-field);border-color:currentColor}.admission__connector:where(.astro-drsfbdn6){left:2.75rem;bottom:calc(-1 * var(--zg-space-l));width:.75rem;height:var(--zg-space-m);fill:none;stroke:var(--zg-rule-strong);stroke-width:1.5px;position:absolute;transform:translate(-50%)}.admission__flow:where(.astro-drsfbdn6) li:where(.astro-drsfbdn6):last-child .admission__connector:where(.astro-drsfbdn6){display:none}.admission__output:where(.astro-drsfbdn6){gap:var(--zg-space-2xs) var(--zg-space-s);max-width:none;padding:var(--zg-space-xs) var(--zg-space-m);border-top:var(--zg-hair) solid var(--zg-rule);color:var(--zg-ink-2);font-size:var(--zg-text--1);flex-wrap:wrap;display:flex}.admission__output:where(.astro-drsfbdn6) strong:where(.astro-drsfbdn6){color:var(--zg-gold)}@media (width<=40rem){.admission__flow:where(.astro-drsfbdn6){padding:var(--zg-space-s)}.admission__flow:where(.astro-drsfbdn6) li:where(.astro-drsfbdn6){gap:var(--zg-space-xs);grid-template-columns:4.5rem minmax(0,1fr)}.admission__connector:where(.astro-drsfbdn6){left:2.25rem}}.ascent-figure:where(.astro-7xe334tv){width:100%;height:auto}.fill-on-bronze:where(.astro-7xe334tv){fill:var(--zg-on-bronze)}.fill-on-silver:where(.astro-7xe334tv){fill:var(--zg-on-silver)}.fill-on-gold:where(.astro-7xe334tv){fill:var(--zg-on-gold)}.fill-refuse:where(.astro-7xe334tv){fill:var(--zg-refuse)}.fill-ink:where(.astro-7xe334tv){fill:var(--zg-ink)}.fill-gold:where(.astro-7xe334tv){fill:var(--zg-gold)}.fill-ink-2:where(.astro-7xe334tv){fill:var(--zg-ink-2)}.fill-ink-3:where(.astro-7xe334tv){fill:var(--zg-ink-3)}.focus-ring:where(.astro-7xe334tv){fill:none;stroke:var(--zg-ink);stroke-width:1.5px;opacity:0}.datum-cursor:where(.astro-7xe334tv){opacity:0;transform:translateY(0)}.ascent-figure:where(.astro-7xe334tv)[data-active] .datum-cursor:where(.astro-7xe334tv){opacity:1;transform:translateY(var(--cursor-y,0px));transition:transform .62s cubic-bezier(.16,1,.3,1),opacity .26s linear}.ascent-figure:where(.astro-7xe334tv)[data-active] .lvl:where(.astro-7xe334tv).is-active .focus-ring:where(.astro-7xe334tv){opacity:1;transition:opacity .32s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:reduce){.datum-cursor:where(.astro-7xe334tv),.ascent-figure:where(.astro-7xe334tv)[data-active] .datum-cursor:where(.astro-7xe334tv){opacity:0;transition:none;transform:none}.ascent-figure:where(.astro-7xe334tv)[data-active] .lvl:where(.astro-7xe334tv).is-active .focus-ring:where(.astro-7xe334tv){transition:none}}
