:root{--surface-0:#f3ecdf;--surface-1:#fbf7ef;--surface-2:#e8dfcc;--ink:#1a2238;--ink-2:#3f4860;--ink-3:#596074;--line:#d9cdb7;--line-strong:#a3957b;--signal:#b25a26;--signal-text:#9a4a1a;--signal-ink:#fff8ef;--signal-wash:color-mix(in oklab, var(--signal) 12%, transparent);--focus:#2c55b8;--font-display:var(--font-slab), "Rockwell", "Roboto Slab", Georgia, serif;--font-body:var(--font-humanist), "Gill Sans", "Segoe UI", system-ui, sans-serif;--font-mono:var(--font-spec), ui-monospace, "SF Mono", Menlo, monospace;--step--2:.7rem;--step--1:clamp(.84rem, .82rem + .1vw, .9rem);--step-0:clamp(1.06rem, 1.02rem + .2vw, 1.16rem);--step-1:clamp(1.2rem, 1.12rem + .4vw, 1.42rem);--step-2:clamp(1.45rem, 1.3rem + .7vw, 1.85rem);--step-3:clamp(1.8rem, 1.55rem + 1.2vw, 2.5rem);--step-4:clamp(2.2rem, 1.8rem + 2vw, 3.3rem);--step-5:clamp(2.6rem, 1.95rem + 3.2vw, 4.6rem);--step-6:clamp(3rem, 2.2rem + 4.4vw, 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:66ch;--page:1240px;--gutter:clamp(1rem, .6rem + 2vw, 2.25rem);--radius:4px;--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:.76s;--ground:#f3ecdf;--denim:#1f2d52;--denim-deep:#172242;--denim-wash:#4a6491;--denim-ink:#f1e9d8;--denim-ink-2:#bfc8dc;--denim-line:#34456f;--twill:repeating-linear-gradient(135deg, #ffffff0e 0 1px, transparent 1px 3px), repeating-linear-gradient(45deg, #0000001f 0 1px, transparent 1px 5px);--leather:#b8804e;--leather-hi:#cf9a66;--leather-lo:#8f5b31;--leather-ink:#55301a;--thread:#e39a3b;--copper:#b8642f;--kraft:#dcc6a0;--kraft-2:#cfb68b;--kraft-ink:#1f2232;--kraft-ink-2:#4b4536;--label:#faf7f0;--label-ink:#1d2338;--selvedge:#c7352c;--shadow-1:0 1px 2px #1a223814, 0 4px 12px #1a223814;--shadow-2:0 2px 4px #1a223814, 0 16px 34px #1a223824;--z-sticky:30;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-0:#0d1428;--ground:#0d1428;--surface-1:#121b33;--surface-2:#0a1021;--ink:#ece4d3;--ink-2:#c3c6d1;--ink-3:#99a0b4;--line:#26304e;--line-strong:#4a5780;--signal:#e18c4c;--signal-text:#eea36c;--signal-ink:#1a1208;--focus:#f0b45c;--denim:#1b2849;--denim-deep:#131d38;--denim-wash:#3b5582;--denim-line:#2e3d64;--leather:#a8744a;--leather-hi:#bd8a5c;--leather-lo:#7c4f2b;--leather-ink:#4a2914;--kraft:#c8b089;--kraft-2:#b89f77;--label:#e9e3d6;--shadow-1:0 1px 2px #0006, 0 4px 12px #0000004d;--shadow-2:0 2px 4px #0006, 0 18px 38px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--surface-0:#0d1428;--ground:#0d1428;--surface-1:#121b33;--surface-2:#0a1021;--ink:#ece4d3;--ink-2:#c3c6d1;--ink-3:#99a0b4;--line:#26304e;--line-strong:#4a5780;--signal:#e18c4c;--signal-text:#eea36c;--signal-ink:#1a1208;--focus:#f0b45c;--denim:#1b2849;--denim-deep:#131d38;--denim-wash:#3b5582;--denim-line:#2e3d64;--leather:#a8744a;--leather-hi:#bd8a5c;--leather-lo:#7c4f2b;--leather-ink:#4a2914;--kraft:#c8b089;--kraft-2:#b89f77;--label:#e9e3d6;--shadow-1:0 1px 2px #0006, 0 4px 12px #0000004d;--shadow-2:0 2px 4px #0006, 0 18px 38px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:6rem}body{background-color:var(--surface-0);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;background-image:repeating-linear-gradient(0deg,#78603c06 0 1px,#0000 1px 4px);margin:0;line-height:1.6}#main{min-height:60vh;overflow-x:clip}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:700;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;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:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500;font-stretch:80%}.section-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2) var(--sp-4);padding-block:var(--sp-4) var(--sp-4);border-top:2px dashed color-mix(in oklab, var(--thread) 80%, var(--ink));flex-wrap:wrap;display:flex}.section-head h2{font-size:var(--step-3);font-weight:700}.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:700;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}.stitch{background:repeating-linear-gradient(90deg, var(--thread) 0 7px, transparent 7px 11px) 0 0 / 100% 2px no-repeat, repeating-linear-gradient(90deg, var(--thread) 0 7px, transparent 7px 11px) 5px 100% / 100% 2px no-repeat;filter:drop-shadow(0 1px #0000002e);height:9px;display:block}.stitch[data-tone=ink]{--thread:color-mix(in oklab, var(--ink) 55%, transparent)}.rivet{background:radial-gradient(circle at 34% 30%,#f6d0a6 0 12%,#d1844a 30%,#9c5023 62%,#5f2c10 100%);border-radius:50%;flex:none;width:.8rem;height:.8rem;display:inline-block;box-shadow:0 0 0 1.5px #3c1c088c,0 1px 1.5px #00000059}.denim{background-color:var(--denim);background-image:var(--twill);color:var(--denim-ink)}.on-kraft{--ink:var(--kraft-ink);--ink-2:var(--kraft-ink-2);--ink-3:#5a5240;--line:#1f223238;--line-strong:#1f223273;--surface-0:#f6ecd8;--surface-1:#fbf4e6;--surface-2:#eadbbd;--signal:#9a4a1a;--signal-text:#8a3f12;--signal-ink:#fff8ef;--focus:#2c55b8;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}::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:no-preference){@supports (animation-timeline:view()){html:not(.io-motion) [data-motion=tag]{animation:linear pw-tag;animation-timeline:view();animation-range:entry}html:not(.io-motion) [data-motion=pull]{animation:linear pw-pull;animation-timeline:view();animation-range:entry 20% cover 50%}html:not(.io-motion) [data-motion=peek]{animation:linear pw-peek;animation-timeline:view();animation-range:entry cover 40%}html:not(.io-motion) [data-motion=sew]{animation:linear pw-sew;animation-timeline:view();animation-range:entry cover 35%}html:not(.io-motion) [data-motion=rivet]{animation:linear pw-rivet;animation-timeline:view();animation-range:entry cover 30%}html:not(.io-motion) :is([data-motion=rise],.reveal,[data-article-body] h2){animation:linear pw-rise;animation-timeline:view();animation-range:entry}}html.io-motion [data-motion=tag]:not([data-in]){transform:translateY(96px)rotate(-5deg)}html.io-motion [data-motion=pull]:not([data-in]){transform:translateY(42%)}html.io-motion [data-motion=peek]:not([data-in]){transform:translateY(56px)}html.io-motion [data-motion=sew]:not([data-in]){clip-path:inset(0 100% 0 0)}html.io-motion [data-motion=rivet]:not([data-in]){transform:scale(2.1)}html.io-motion :is([data-motion=rise],.reveal,[data-article-body] h2)[data-motion]:not([data-in]){transform:translateY(48px)}html.io-motion [data-motion=tag][data-in]{animation:pw-tag .9s var(--ease-out) backwards}html.io-motion [data-motion=pull][data-in]{animation:pw-pull 1.1s var(--ease-out) .12s backwards}html.io-motion [data-motion=peek][data-in]{animation:pw-peek .7s var(--ease-out) .16s backwards}html.io-motion [data-motion=sew][data-in]{animation:.9s steps(28,end) backwards pw-sew}html.io-motion [data-motion=rivet][data-in]{animation:pw-rivet .62s var(--ease-spring) .28s backwards}html.io-motion :is([data-motion=rise],.reveal,[data-article-body] h2)[data-motion][data-in]{animation:pw-rise .7s var(--ease-out) backwards}}@keyframes pw-tag{0%{transform:translateY(96px)rotate(-5deg)}70%{transform:translateY(-4px)rotate(1.6deg)}to{transform:translateY(0)rotate(0)}}@keyframes pw-pull{0%{transform:translateY(42%)}to{transform:translateY(0)}}@keyframes pw-peek{0%{transform:translateY(56px)}to{transform:translateY(0)}}@keyframes pw-sew{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes pw-rivet{0%{transform:scale(2.1)}55%{transform:scale(.86)}80%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pw-rise{0%{transform:translateY(48px)}to{transform:translateY(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}}
