:root{--surface-0:#f6f1e7;--surface-1:#fbf8f1;--surface-2:#e9e1d1;--ink:#1f2a22;--ink-2:#434d45;--ink-3:#6b7268;--line:#d9cfbb;--line-strong:#9a9080;--signal:#3f6b4f;--signal-text:#2f5a40;--signal-ink:#fff;--signal-wash:color-mix(in oklab, var(--signal) 8%, transparent);--focus:#2f5a40;--font-display:var(--font-serif), "Iowan Old Style", Georgia, serif;--font-body:var(--font-sans), system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-plex), ui-monospace, "SF Mono", Menlo, monospace;--step--2:.72rem;--step--1:clamp(.82rem, .8rem + .1vw, .88rem);--step-0:clamp(1rem, .97rem + .15vw, 1.075rem);--step-1:clamp(1.15rem, 1.08rem + .35vw, 1.35rem);--step-2:clamp(1.4rem, 1.27rem + .6vw, 1.8rem);--step-3:clamp(1.7rem, 1.48rem + 1.05vw, 2.4rem);--step-4:clamp(2.1rem, 1.72rem + 1.9vw, 3.3rem);--step-5:clamp(2.45rem, 1.9rem + 2.9vw, 4.5rem);--step-6:clamp(2.6rem, 1.2rem + 6.4vw, 7rem);--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2.25rem;--sp-7:3.25rem;--sp-8:4.5rem;--sp-9:6.5rem;--measure:64ch;--page:1320px;--gutter:clamp(1rem, .6rem + 2vw, 2.5rem);--radius:2px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 85.9%, 1);--dur-1:.14s;--dur-2:.26s;--dur-3:.48s;--dur-4:.72s;--rule:color-mix(in oklab, var(--ink) 82%, var(--surface-0));--gap:clamp(1.25rem, .8rem + 1.6vw, 2.5rem);--z-sticky:30;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-0:#141814;--surface-1:#1b201b;--surface-2:#252b25;--ink:#ece7dc;--ink-2:#c6c0b3;--ink-3:#9a968b;--line:#323a32;--line-strong:#5f675e;--signal:#8fbf9c;--signal-text:#a3cdae;--signal-ink:#141814;--focus:#8fbf9c;--rule:color-mix(in oklab, var(--ink) 62%, var(--surface-0));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--surface-0:#141814;--surface-1:#1b201b;--surface-2:#252b25;--ink:#ece7dc;--ink-2:#c6c0b3;--ink-3:#9a968b;--line:#323a32;--line-strong:#5f675e;--signal:#8fbf9c;--signal-text:#a3cdae;--signal-ink:#141814;--focus:#8fbf9c;--rule:color-mix(in oklab, var(--ink) 62%, var(--surface-0));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--surface-0);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:600;line-height:1.08}p{text-wrap:pretty;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ol,ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:var(--signal);color:var(--signal-ink)}.page{width:min(100% - (var(--gutter) * 2), var(--page));margin-inline:auto}.prose{width:min(100%, var(--measure))}.label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.section-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2) var(--sp-4);padding-block:calc(var(--sp-3) + 6px) var(--sp-4);background:linear-gradient(var(--ink), var(--ink)) 0 0 / 100% 3px no-repeat, linear-gradient(var(--ink), var(--ink)) 0 6px / 100% 1px no-repeat;flex-wrap:wrap;display:flex}.section-head h2{font-size:var(--step-2);font-style:italic;font-weight:500}.skip-link{z-index:100;padding:var(--sp-3) var(--sp-4);background:var(--ink);color:var(--surface-0);font-weight:600;position:absolute;inset-block-start:-100%;inset-inline-start:var(--gutter)}.skip-link:focus{inset-block-start:var(--sp-3)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 35%}}}@keyframes reveal{0%{transform:translateY(14px)}to{transform:none}}[data-press=rule]{transform-origin:var(--rule-origin,50% 0)}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){:root:not([data-press=io]) [data-press=ink]:not([data-set]){animation:linear both press-ink;animation-timeline:view();animation-range:cover cover 30%}:root:not([data-press=io]) [data-press=rule]:not([data-set]){animation:linear both press-rule;animation-timeline:view();animation-range:cover cover 30%}}:root[data-press=io] [data-press=ink]{transition:opacity .52s var(--ease-out), filter .52s var(--ease-out), transform .64s var(--ease-out)}:root[data-press=io] [data-press=rule]{transition:transform .82s var(--ease-in-out)}:root[data-press=io] [data-press=ink]:not([data-set]){opacity:.08;filter:blur(3px);transform:translateY(.22em)}:root[data-press=io] [data-press=rule]:not([data-set]){transform:var(--rule-from,scaleY(0))}}@keyframes press-ink{0%{opacity:.08;filter:blur(3px);transform:translateY(.22em)}to{opacity:1;filter:blur();transform:none}}@keyframes press-rule{0%{transform:var(--rule-from,scaleY(0))}to{transform:none}}::view-transition-group(*){animation-duration:.48s;animation-timing-function:var(--ease-out)}::view-transition-old(root){animation:.16s linear both fade-out}::view-transition-new(root){animation:.28s var(--ease-out) 80ms both fade-in}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}[data-press]{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}::view-transition-group(*){animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}
