@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[role=list],ol[role=list]{padding:0;list-style:none}table{border-collapse:collapse}[hidden]:not([hidden=until-found]){display:none!important}}@layer tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4f1ea;--paper-2:#ece8de;--paper-3:#e3ded1;--ink:#17160f;--ink-2:#4a463d;--ink-3:#6b665b;--rule:#d7d0c1;--rule-2:#c4bcaa;--accent:var(--accent-light,#b31b1b);--accent-wash:color-mix(in oklab, var(--accent) 9%, var(--paper));--cite:#1d6b3c;--mark:color-mix(in oklab, #e9c84a 34%, var(--paper));--shadow:0 1px 0 #17160f0a, 0 8px 24px -12px #17160f2e;--grain:url(/textures/grain-light.png);--font-text:var(--font-newsreader), Georgia, serif;--font-display:var(--font-newsreader), Georgia, serif;--font-mono:var(--font-plex-mono), ui-monospace, monospace;--font-ui:var(--font-plex-sans), system-ui, sans-serif;--step--2:.75rem;--step--1:.84rem;--step-0:clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-1:clamp(1.2rem, 1.1rem + .45vw, 1.42rem);--step-2:clamp(1.45rem, 1.25rem + .9vw, 1.95rem);--step-3:clamp(1.8rem, 1.45rem + 1.6vw, 2.7rem);--step-4:clamp(2.6rem, 1.6rem + 4.6vw, 5.4rem);--leading:1.55;--tracking-mono:.04em;--gutter:1rem;--col-margin:0rem;--col-main:42rem;--col-gap:0rem;--col-side:0rem;--header-h:3.25rem;--radius:2px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur:.22s}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#12110e;--paper-2:#1b1a16;--paper-3:#24221d;--ink:#ebe6da;--ink-2:#b8b2a5;--ink-3:#8f897d;--rule:#2f2c26;--rule-2:#46423a;--accent:var(--accent-dark,#f0644f);--cite:#71c48f;--mark:color-mix(in oklab, #e9c84a 22%, var(--paper));--shadow:0 1px 0 #0000004d, 0 10px 30px -12px #0009;--grain:url(/textures/grain-dark.png)}@media (width>=640px){:root{--gutter:1.75rem}}@media (width>=860px){:root{--col-margin:8rem;--col-main:44rem;--gutter:2.5rem}}@media (width>=1180px){:root{--col-margin:9rem;--col-main:41rem;--col-gap:3.5rem;--col-side:15.5rem}}@media (width>=1440px){:root{--col-margin:10.5rem;--col-main:43rem;--col-gap:4.5rem;--col-side:17rem}}}@layer base{html{background:var(--paper);scroll-padding-top:calc(var(--header-h) + 1.5rem);hanging-punctuation:first}@media (prefers-reduced-motion:no-preference){html:not([data-motion=off]){scroll-behavior:smooth}}body{background-color:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-text);font-size:var(--step-0);line-height:var(--leading);font-optical-sizing:auto;font-kerning:normal;font-variant-numeric:oldstyle-nums proportional-nums;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-grain=on] body{background-image:var(--grain);background-size:160px 160px}::selection{background:color-mix(in oklab, var(--accent) 22%, var(--paper));color:var(--ink)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.012em;text-wrap:balance;font-variant-numeric:lining-nums;font-weight:500;line-height:1.12}p,li,dd,figcaption{text-wrap:pretty}a{color:inherit;text-decoration-line:underline;text-decoration-thickness:.06em;-webkit-text-decoration-color:color-mix(in oklab, var(--ink) 35%, transparent);text-decoration-color:color-mix(in oklab, var(--ink) 35%, transparent);text-underline-offset:.18em;transition:text-decoration-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out)}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.86em}hr{border:0;border-top:1px solid var(--rule)}abbr[title]{cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}sup,sub{line-height:0}}@layer layout{.page{grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [margin-start] var(--col-margin) [margin-end main-start] minmax(0, var(--col-main)) [main-end] var(--col-gap) [side-start] var(--col-side) [side-end] minmax(var(--gutter), 1fr) [full-end];align-content:start;display:grid}.row{grid-column:margin-start/side-end;grid-template-columns:subgrid;align-items:start;display:grid}.c-main,.c-margin,.c-side,.c-wide,.c-span{grid-column:main;min-width:0}.c-bleed{grid-column:full}@media (width>=860px){.c-margin{grid-column:margin;padding-right:2rem}.c-span{grid-column:margin-start/main-end}}@media (width>=1180px){.c-side{grid-column:side}.c-wide{grid-column:main-start/side-end}.c-span{grid-column:margin-start/side-end}}.skip-link{z-index:100;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:var(--step--1);padding:.6rem .9rem;text-decoration:none;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}}@layer components{.label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ink-3);font-variant-numeric:tabular-nums lining-nums;font-weight:500;line-height:1.5}.mono{font-family:var(--font-mono);letter-spacing:0;font-variant-numeric:tabular-nums lining-nums;font-size:.82em}.smallcaps{letter-spacing:.05em;font-variant-caps:all-small-caps}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.chips{font-family:var(--font-mono);font-size:var(--step--1);flex-wrap:wrap;gap:.15rem .85rem;display:flex}.chip{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-2);white-space:nowrap;align-items:center;gap:.05em;min-height:1.75rem;text-decoration:none;display:inline-flex}.chip:before{content:"[";color:var(--ink-3)}.chip:after{content:"]";color:var(--ink-3)}.chip:hover,.chip[aria-pressed=true],.chip[aria-expanded=true]{color:var(--accent)}.prose>*+*{margin-top:.9em}.prose h3{font-size:var(--step-1);margin-top:1.8em;font-weight:600}.prose h4{font-size:var(--step-0);margin-top:1.5em;font-weight:600}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.3em}.prose li::marker{color:var(--ink-3)}.prose blockquote{border-left:2px solid var(--rule-2);color:var(--ink-2);padding-left:1.1em;font-style:italic}.prose pre{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);padding:1rem 1.1rem;line-height:1.5;overflow-x:auto}.prose :not(pre)>code{background:var(--paper-2);border-radius:var(--radius);padding:.08em .3em;font-size:.82em}.prose img{border:1px solid var(--rule);margin-block:1.4em}.prose .md-figure{margin-block:1.6em}.prose .md-figure img{margin:0}.prose .md-figure figcaption{font-size:var(--step--1);color:var(--ink-2);margin-top:.6em}.prose table{width:100%;font-size:var(--step--1);border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}.prose th,.prose td{text-align:left;vertical-align:top;padding:.4em .6em}.prose thead th{border-bottom:1px solid var(--ink);font-weight:600}.prose hr{margin-block:2em}.prose a.ext:after{content:"↗";vertical-align:.25em;color:var(--ink-3);margin-left:.1em;font-size:.72em;text-decoration:none;display:inline-block}.cites{white-space:nowrap;font-variant-numeric:lining-nums}.cite{color:var(--cite);text-decoration:none}.cite:hover{color:var(--cite);text-decoration:underline}.cite--missing{color:var(--accent)}.sn-ref{counter-increment:none;font-family:var(--font-mono);vertical-align:super;color:var(--accent);cursor:pointer;padding:0 .15em;font-size:.62em;line-height:0}.sn-toggle{display:none}.sidenote{border-left:2px solid var(--accent);background:var(--paper-2);font-size:var(--step--1);color:var(--ink-2);margin:.6em 0;padding:.55em .75em;line-height:1.45;display:none}.sn-toggle:checked+.sidenote{display:block}.sn-num{font-family:var(--font-mono);color:var(--accent);margin-right:.45em;font-size:.85em}@media (width>=1180px){.sn-ref{cursor:default}.sidenote,.sn-toggle:checked+.sidenote{float:right;clear:right;width:var(--col-side);margin:.25em calc(-1 * (var(--col-side) + var(--col-gap))) .9em 0;background:0 0;border:0;padding:0;display:block;position:relative}}.booktabs{border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);width:100%}.booktabs th,.booktabs td{text-align:left;vertical-align:baseline;padding:.55em .75em .55em 0}.booktabs thead th{border-bottom:.75px solid var(--ink)}.booktabs caption{caption-side:bottom;text-align:left;font-size:var(--step--1);color:var(--ink-2);padding-top:.7em}.btn{border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);min-height:2.75rem;color:var(--paper);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.02em;transition:background-color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);justify-content:center;align-items:center;gap:.55em;padding:.55rem 1.1rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.55;cursor:progress}.btn--ghost{color:var(--ink);background:0 0}.btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tag-list{font-family:var(--font-mono);font-size:var(--step--2);color:var(--ink-3);letter-spacing:.01em;flex-wrap:wrap;gap:.2rem .75rem;display:flex}.tag-list li{white-space:nowrap}.tag-list li+li:before{content:"·";color:var(--rule-2);margin-right:.75rem}}@layer utilities{.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.nowrap{white-space:nowrap}.tnum{font-variant-numeric:tabular-nums lining-nums}}html.motion-ready [data-reveal]{visibility:hidden}@media print{:root{--paper:#fff;--ink:#000}.site-header,.stamp,.site-footer nav,.no-print{display:none!important}body{background:#fff!important}a{text-decoration:none}}.timeline-scrub{top:0;bottom:0;left:calc(var(--col-margin) - 1rem);background:var(--accent);transform-origin:top;pointer-events:none;width:1px;position:absolute}@media (width<=859px){.timeline-scrub{display:none}}html.motion-ready .hero [data-split],html.motion-ready .hero [data-scramble]{visibility:hidden}
