:root{--surface-0:#fff;--surface-1:#f7f7f8;--surface-2:#eeeef1;--ink:#16181d;--ink-2:#4a4e58;--ink-3:#7d818b;--line:#e6e6ea;--line-strong:#c4c4cc;--signal:#e4572e;--signal-text:#c2401b;--signal-ink:#fff;--signal-wash:color-mix(in oklab, var(--signal) 10%, transparent);--focus:#1f6feb;--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-code), ui-monospace, "SF Mono", Menlo, monospace;--step--2:.72rem;--step--1:clamp(.8rem, .78rem + .1vw, .86rem);--step-0:clamp(1rem, .97rem + .15vw, 1.08rem);--step-1:clamp(1.15rem, 1.08rem + .35vw, 1.35rem);--step-2:clamp(1.4rem, 1.27rem + .6vw, 1.75rem);--step-3:clamp(1.7rem, 1.5rem + 1vw, 2.3rem);--step-4:clamp(2.1rem, 1.75rem + 1.8vw, 3.1rem);--step-5:clamp(2.5rem, 1.95rem + 2.8vw, 4.2rem);--step-6:clamp(3rem, 2.2rem + 4vw, 5.6rem);--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:68ch;--page:1280px;--gutter:clamp(1rem, .6rem + 2vw, 2.25rem);--radius:12px;--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;--shadow-1:0 1px 2px #16181d0f, 0 2px 8px #16181d0d;--shadow-2:0 2px 4px #16181d0f, 0 12px 32px #16181d1a;--z-sticky:30;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-0:#111216;--surface-1:#181a1f;--surface-2:#22252b;--ink:#eceae4;--ink-2:#a9abb2;--ink-3:#737680;--line:#2a2d34;--line-strong:#444852;--signal:#ff7a52;--signal-text:#ff9472;--signal-ink:#111216;--focus:#8aa4ff;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 12px 32px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--surface-0:#111216;--surface-1:#181a1f;--surface-2:#22252b;--ink:#eceae4;--ink-2:#a9abb2;--ink-3:#737680;--line:#2a2d34;--line-strong:#444852;--signal:#ff7a52;--signal-text:#ff9472;--signal-ink:#111216;--focus:#8aa4ff;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 12px 32px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:7rem}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);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:750;line-height:1.15}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;border-radius:2px}::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:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.section-head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);padding-block:var(--sp-3) var(--sp-4);border-top:2px solid var(--ink);display:flex}.section-head h2{font-size:var(--step-2)}.skip-link{z-index:100;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--signal);color:var(--signal-ink);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}.reveal{transform-origin:50% 100%}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){html:not(.io-motion) .reveal{animation-name:reveal;animation-timing-function:linear;animation-fill-mode:none;animation-timeline:view();animation-range:cover cover 52%}}html.io-motion .reveal{transition:transform .9s var(--ease-spring)}html.io-motion .reveal:not([data-in]){transform:perspective(900px)translateY(60px)rotateX(28deg)scale(.94)}}@keyframes reveal{0%{transform:perspective(900px)translateY(60px)rotateX(28deg)scale(.94)}40%{transform:perspective(900px)translateY(42px)rotateX(19deg)scale(.95)}75%{transform:perspective(900px)translateY(-8px)rotateX(-2deg)}to{transform:none}}::view-transition-group(*){animation-duration:.52s;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}::view-transition-group(*){animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}
