@charset "UTF-8";@font-face{font-family:Newsreader;src:url(/fonts/newsreader-variable.woff2) format("woff2-variations");font-weight:200 800;font-style:normal;font-display:optional;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;src:url(/fonts/newsreader-variable-italic.woff2) format("woff2-variations");font-weight:200 800;font-style:italic;font-display:optional;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;src:url(/fonts/inter-variable.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-variable.woff2) format("woff2-variations");font-weight:100 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #faf8f5;--paper-raised: #ffffff;--paper-sunken: #f2efe9;--paper-inverse: #16171a;--ink: #16171a;--ink-muted: #55585f;--ink-faint: #6f727a;--ink-inverse: #f4f2ee;--rule: rgb(22 23 26 / 12%);--rule-strong: rgb(22 23 26 / 26%);--rule-faint: rgb(22 23 26 / 7%);--accent: #b3441e;--accent-strong: #8f3213;--accent-wash: rgb(179 68 30 / 8%);--accent-rule: rgb(179 68 30 / 35%);--state-free: #2c6a51;--state-free-wash: rgb(44 106 81 / 10%);--state-busy: #77797f;--state-busy-wash: rgb(119 121 127 / 12%);--state-danger: #a3281f;--state-danger-wash: rgb(163 40 31 / 9%);--focus-ring: var(--accent);--selection-bg: rgb(179 68 30 / 18%);--selection-fg: var(--ink);--shadow-raised: 0 1px 2px rgb(22 23 26 / 5%), 0 8px 24px -12px rgb(22 23 26 / 18%);--shadow-overlay: 0 1px 3px rgb(22 23 26 / 8%), 0 24px 56px -20px rgb(22 23 26 / 32%);--font-display: "Newsreader", "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--step--2: clamp(.6944rem, .68rem + .07vw, .7333rem);--step--1: clamp(.8333rem, .81rem + .11vw, .8944rem);--step-0: clamp(1rem, .97rem + .16vw, 1.0625rem);--step-1: clamp(1.2rem, 1.15rem + .24vw, 1.35rem);--step-2: clamp(1.44rem, 1.36rem + .38vw, 1.68rem);--step-3: clamp(1.728rem, 1.6rem + .6vw, 2.1rem);--step-4: clamp(2.074rem, 1.87rem + .94vw, 2.65rem);--step-5: clamp(2.488rem, 2.16rem + 1.5vw, 3.4rem);--step-6: clamp(2.986rem, 2.47rem + 2.4vw, 4.4rem);--step-7: clamp(3.583rem, 2.77rem + 3.8vw, 5.8rem);--leading-tight: 1.06;--leading-snug: 1.22;--leading-normal: 1.5;--leading-relaxed: 1.68;--tracking-display: -.022em;--tracking-heading: -.014em;--tracking-body: -.006em;--tracking-label: .09em;--tracking-mono: .01em;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--measure: 68ch;--measure-tight: 46ch;--measure-wide: 82ch;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--section-gap: clamp(4rem, 2.4rem + 6vw, 8.5rem);--section-gap-tight: clamp(2.5rem, 1.6rem + 3.6vw, 5rem);--shell-max: 84rem;--content-max: 72rem;--gutter: clamp(1.25rem, .7rem + 2.4vw, 3rem);--rail: 8.5rem;--header-height: 4.5rem;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px;--radius-pill: 999px;--border-hair: 1px;--duration-state: .12s;--duration-entrance: .32s;--ease: cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--z-base: 0;--z-sticky: 100;--z-header: 200;--z-overlay: 300;--z-toast: 400}:root[data-theme=dark]{color-scheme:dark;--paper: #0e0f11;--paper-raised: #16181b;--paper-sunken: #0a0b0c;--paper-inverse: #f4f2ee;--ink: #e9e6e0;--ink-muted: #9da0a6;--ink-faint: #7c8088;--ink-inverse: #16171a;--rule: rgb(233 230 224 / 14%);--rule-strong: rgb(233 230 224 / 28%);--rule-faint: rgb(233 230 224 / 8%);--accent: #e8703f;--accent-strong: #f79063;--accent-wash: rgb(232 112 63 / 12%);--accent-rule: rgb(232 112 63 / 40%);--state-free: #5fb894;--state-free-wash: rgb(95 184 148 / 14%);--state-busy: #82858c;--state-busy-wash: rgb(130 133 140 / 16%);--state-danger: #f0796d;--state-danger-wash: rgb(240 121 109 / 14%);--selection-bg: rgb(232 112 63 / 26%);--selection-fg: #ffffff;--shadow-raised: 0 1px 2px rgb(0 0 0 / 40%), 0 10px 30px -14px rgb(0 0 0 / 70%);--shadow-overlay: 0 2px 4px rgb(0 0 0 / 50%), 0 28px 64px -22px rgb(0 0 0 / 85%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #0e0f11;--paper-raised: #16181b;--paper-sunken: #0a0b0c;--paper-inverse: #f4f2ee;--ink: #e9e6e0;--ink-muted: #9da0a6;--ink-faint: #7c8088;--ink-inverse: #16171a;--rule: rgb(233 230 224 / 14%);--rule-strong: rgb(233 230 224 / 28%);--rule-faint: rgb(233 230 224 / 8%);--accent: #e8703f;--accent-strong: #f79063;--accent-wash: rgb(232 112 63 / 12%);--accent-rule: rgb(232 112 63 / 40%);--state-free: #5fb894;--state-free-wash: rgb(95 184 148 / 14%);--state-busy: #82858c;--state-busy-wash: rgb(130 133 140 / 16%);--state-danger: #f0796d;--state-danger-wash: rgb(240 121 109 / 14%);--selection-bg: rgb(232 112 63 / 26%);--selection-fg: #ffffff;--shadow-raised: 0 1px 2px rgb(0 0 0 / 40%), 0 10px 30px -14px rgb(0 0 0 / 70%);--shadow-overlay: 0 2px 4px rgb(0 0 0 / 50%), 0 28px 64px -22px rgb(0 0 0 / 85%)}}@media(prefers-contrast:more){:root{--ink-muted: #3d4046;--ink-faint: #4c4f56;--rule: rgb(22 23 26 / 26%);--rule-strong: rgb(22 23 26 / 46%)}:root[data-theme=dark]{--ink-muted: #c8cad0;--ink-faint: #adb0b7;--rule: rgb(233 230 224 / 30%);--rule-strong: rgb(233 230 224 / 52%)}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;tab-size:2;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-8))}body{min-height:100svh;background-color:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);font-weight:var(--weight-regular);line-height:var(--leading-normal);letter-spacing:var(--tracking-body);font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1,"calt" 1}img,picture,video,canvas,svg{display:block;max-width:100%}img{height:auto;background-color:var(--paper-sunken)}svg{fill:currentcolor}input,button,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{background:none;border:0;padding:0;cursor:pointer;text-align:inherit}textarea{resize:vertical;field-sizing:content}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4{text-wrap:balance}ul[role=list],ol[role=list]{list-style:none;padding:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}hr{border:0;border-top:var(--border-hair) solid var(--rule)}table{border-collapse:collapse;border-spacing:0}::selection{background-color:var(--selection-bg);color:var(--selection-fg)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}[aria-busy=true]{cursor:progress}[disabled],[aria-disabled=true]{cursor:not-allowed}app-root{display:contents}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.t-display{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--step-7);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);font-optical-sizing:auto}.t-h1{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--step-6);line-height:1.08;letter-spacing:var(--tracking-display)}.t-h2{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--step-4);line-height:var(--leading-snug);letter-spacing:var(--tracking-heading)}.t-h3{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--step-2);line-height:1.3;letter-spacing:var(--tracking-heading)}.t-h4{font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--step-1);line-height:1.35;letter-spacing:var(--tracking-heading)}.t-lede{font-size:var(--step-1);line-height:var(--leading-relaxed);color:var(--ink-muted);max-width:var(--measure);text-wrap:pretty}.t-body{font-size:var(--step-0);line-height:var(--leading-relaxed);max-width:var(--measure)}.t-small{font-size:var(--step--1);line-height:var(--leading-normal)}.t-muted{color:var(--ink-muted)}.t-faint{color:var(--ink-faint)}.t-label{font-family:var(--font-mono);font-size:var(--step--2);font-weight:var(--weight-medium);line-height:1.4;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-faint);font-variant-numeric:tabular-nums}.t-mono{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:var(--tracking-mono);font-variant-numeric:tabular-nums}.t-nums{font-variant-numeric:tabular-nums lining;font-feature-settings:"tnum" 1,"lnum" 1}.t-link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent-rule);text-decoration-thickness:1px;text-underline-offset:.18em;transition:text-decoration-color var(--duration-state) var(--ease),text-decoration-thickness var(--duration-state) var(--ease),color var(--duration-state) var(--ease)}.t-link:hover{color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:2px}.t-link-quiet{position:relative;color:var(--ink-muted);text-decoration:none;transition:color var(--duration-state) var(--ease)}.t-link-quiet:after{content:"";position:absolute;inset-inline:0;bottom:-.22em;height:1px;background-color:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-state) var(--ease)}.t-link-quiet:hover,.t-link-quiet:focus-visible{color:var(--ink)}.t-link-quiet:hover:after,.t-link-quiet:focus-visible:after{transform:scaleX(1)}.t-link-action{display:inline-flex;align-items:baseline;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:var(--tracking-mono);color:var(--accent);text-decoration:none;transition:color var(--duration-state) var(--ease)}.t-link-action:after{content:"\2192";transition:transform var(--duration-state) var(--ease)}.t-link-action:hover{color:var(--accent-strong)}.t-link-action:hover:after{transform:translate(3px)}.prose{font-size:var(--step-0);line-height:var(--leading-relaxed);color:var(--ink);max-width:var(--measure);hanging-punctuation:first last}.prose>*+*{margin-block-start:var(--space-6)}.prose h2{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--step-3);line-height:var(--leading-snug);letter-spacing:var(--tracking-heading);margin-block-start:var(--space-16)}.prose h3{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--step-1);line-height:1.32;margin-block-start:var(--space-10)}.prose h4{font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--step-0);margin-block-start:var(--space-8)}.prose h2+*,.prose h3+*,.prose h4+*{margin-block-start:var(--space-4)}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent-rule);text-underline-offset:.18em;transition:color var(--duration-state) var(--ease),text-decoration-color var(--duration-state) var(--ease)}.prose a:hover{color:var(--accent);text-decoration-color:var(--accent)}.prose strong{font-weight:var(--weight-semibold)}.prose em{font-style:italic}.prose ul,.prose ol{padding-inline-start:var(--space-6)}.prose li+li{margin-block-start:var(--space-2)}.prose li::marker{color:var(--ink-faint)}.prose blockquote{border-inline-start:2px solid var(--accent-rule);padding-inline-start:var(--space-5);font-family:var(--font-display);font-size:var(--step-1);line-height:var(--leading-normal);font-style:italic;color:var(--ink-muted)}.prose code{font-family:var(--font-mono);font-size:.88em;background-color:var(--paper-sunken);border:var(--border-hair) solid var(--rule-faint);border-radius:var(--radius-sm);padding:.1em .36em}.prose pre{font-family:var(--font-mono);font-size:var(--step--1);line-height:1.6;background-color:var(--paper-sunken);border:var(--border-hair) solid var(--rule);border-radius:var(--radius-md);padding:var(--space-5);overflow-x:auto;max-width:var(--measure-wide)}.prose pre code{background:none;border:0;padding:0;font-size:inherit}.prose figure{max-width:var(--measure-wide)}.prose figcaption{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-mono);color:var(--ink-faint);margin-block-start:var(--space-3)}.prose hr{margin-block:var(--space-12);border-top:var(--border-hair) solid var(--rule)}.prose table{width:100%;max-width:var(--measure-wide);font-size:var(--step--1);font-variant-numeric:tabular-nums}.prose th{text-align:start;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-faint);font-weight:var(--weight-medium);padding-block:var(--space-2);border-bottom:var(--border-hair) solid var(--rule-strong)}.prose td{padding-block:var(--space-3);border-bottom:var(--border-hair) solid var(--rule-faint);vertical-align:top}.prose sup a{font-family:var(--font-mono);font-size:.7em;text-decoration:none;color:var(--accent);padding-inline:.15em}.shell{width:100%;max-width:var(--shell-max);margin-inline:auto;padding-inline:var(--gutter)}.shell--narrow{max-width:var(--content-max)}.section{padding-block:var(--section-gap)}.section--tight{padding-block:var(--section-gap-tight)}.section--ruled{border-top:var(--border-hair) solid var(--rule)}.section--sunken{background-color:var(--paper-sunken);border-block:var(--border-hair) solid var(--rule)}.rail{display:grid;gap:var(--space-6) var(--space-8);grid-template-columns:1fr}.rail__aside{display:flex;flex-direction:column;gap:var(--space-2)}.rail__body{min-width:0}@media(width>=60rem){.rail{grid-template-columns:var(--rail) minmax(0,1fr);gap:var(--space-12)}.rail__aside{padding-block-start:.55em;position:sticky;top:calc(var(--header-height) + var(--space-6));align-self:start}.rail--static .rail__aside{position:static}}.grid{display:grid;gap:var(--space-8)}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr))}.split{display:grid;gap:var(--space-10);grid-template-columns:1fr;align-items:start}@media(width>=62rem){.split{grid-template-columns:1.35fr 1fr;gap:var(--space-16)}.split--even{grid-template-columns:1fr 1fr}.split--reverse{grid-template-columns:1fr 1.35fr}}.stack>*+*{margin-block-start:var(--stack-gap, var(--space-4))}.stack-2{--stack-gap: var(--space-2)}.stack-3{--stack-gap: var(--space-3)}.stack-4{--stack-gap: var(--space-4)}.stack-6{--stack-gap: var(--space-6)}.stack-8{--stack-gap: var(--space-8)}.stack-12{--stack-gap: var(--space-12)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cluster-gap, var(--space-4))}.measure{max-width:var(--measure)}.measure-tight{max-width:var(--measure-tight)}.bleed{width:100vw;margin-inline:calc(50% - 50vw)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-3) var(--space-6);border:var(--border-hair) solid transparent;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--step--1);font-weight:var(--weight-medium);letter-spacing:var(--tracking-mono);line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--duration-state) var(--ease),border-color var(--duration-state) var(--ease),color var(--duration-state) var(--ease),transform var(--duration-state) var(--ease)}.btn:active:not(:disabled,[aria-disabled=true]){transform:translateY(1px)}.btn:disabled{opacity:.5;pointer-events:none}.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn__arrow{transition:transform var(--duration-state) var(--ease)}.btn:hover .btn__arrow{transform:translate(3px)}.btn--primary{background-color:var(--ink);color:var(--paper);border-color:var(--ink)}.btn--primary:hover:not(:disabled,[aria-disabled=true]){background-color:var(--accent);border-color:var(--accent);color:#fff}.btn--accent{background-color:var(--accent);color:#fff;border-color:var(--accent)}.btn--accent:hover:not(:disabled,[aria-disabled=true]){background-color:var(--accent-strong);border-color:var(--accent-strong)}.btn--secondary{background-color:transparent;color:var(--ink);border-color:var(--rule-strong)}.btn--secondary:hover:not(:disabled,[aria-disabled=true]){border-color:var(--ink);background-color:var(--paper-raised)}.btn--ghost{background-color:transparent;color:var(--ink-muted);border-color:transparent;padding-inline:var(--space-3)}.btn--ghost:hover:not(:disabled,[aria-disabled=true]){color:var(--ink);background-color:var(--paper-sunken)}.btn--sm{min-height:2.25rem;padding:var(--space-2) var(--space-4);font-size:var(--step--2)}.btn--lg{min-height:3.25rem;padding:var(--space-4) var(--space-8);font-size:var(--step-0);font-family:var(--font-body);letter-spacing:var(--tracking-body)}.btn--block{width:100%}.btn--icon{min-height:2.5rem;inline-size:2.5rem;padding:0;color:var(--ink-muted)}.btn--icon:hover:not(:disabled,[aria-disabled=true]){color:var(--ink);background-color:var(--paper-sunken)}.tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:.2em .55em;border:var(--border-hair) solid var(--rule);border-radius:var(--radius-sm);background-color:var(--paper-sunken);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-mono);color:var(--ink-muted);white-space:nowrap}.tag--accent{border-color:var(--accent-rule);background-color:var(--accent-wash);color:var(--accent)}.tag--free{border-color:color-mix(in srgb,var(--state-free) 40%,transparent);background-color:var(--state-free-wash);color:var(--state-free)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.125rem;padding:var(--space-2) var(--space-4);border:var(--border-hair) solid var(--rule);border-radius:var(--radius-pill);background-color:transparent;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-mono);color:var(--ink-muted);cursor:pointer;transition:border-color var(--duration-state) var(--ease),background-color var(--duration-state) var(--ease),color var(--duration-state) var(--ease)}.chip:hover{border-color:var(--ink-faint);color:var(--ink)}.chip[aria-pressed=true]{background-color:var(--ink);border-color:var(--ink);color:var(--paper)}.chip__count{color:currentcolor;opacity:.6;font-variant-numeric:tabular-nums}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-4) var(--space-8);padding-block-end:var(--space-4);border-block-end:var(--border-hair) solid var(--rule);margin-block-end:var(--space-8)}.section-head__title{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--step-3);line-height:var(--leading-snug);letter-spacing:var(--tracking-heading)}.section-head__index{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);font-variant-numeric:tabular-nums}.index{border-block-start:var(--border-hair) solid var(--rule-strong)}.index__row{position:relative;display:grid;grid-template-columns:1fr;gap:var(--space-2) var(--space-6);padding-block:var(--space-5);border-block-end:var(--border-hair) solid var(--rule);transition:background-color var(--duration-state) var(--ease)}.index__row:hover{background-color:var(--paper-sunken)}.index__row:before{content:"";position:absolute;inset-block:0;inset-inline-start:calc(var(--space-4) * -1);inline-size:2px;background-color:var(--accent);transform:scaleY(0);transform-origin:center;transition:transform var(--duration-state) var(--ease)}.index__row:hover:before,.index__row:focus-within:before{transform:scaleY(1)}@media(width>=48rem){.index__row{grid-template-columns:5.5rem minmax(0,1fr) auto;align-items:baseline;gap:var(--space-6)}}.index__meta{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-mono);color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.index__title{font-family:var(--font-display);font-size:var(--step-1);font-weight:var(--weight-regular);line-height:1.3;letter-spacing:var(--tracking-heading);color:var(--ink);text-decoration:none;transition:color var(--duration-state) var(--ease)}.index__row:hover .index__title{color:var(--accent)}.index__sub{font-size:var(--step--1);color:var(--ink-muted);line-height:var(--leading-normal);margin-block-start:var(--space-2)}.index__aside{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.panel{border:var(--border-hair) solid var(--rule-strong);border-radius:var(--radius-md);background-color:var(--paper-raised);padding:clamp(var(--space-6),3vw,var(--space-10))}.panel--sunken{background-color:var(--paper-sunken);border-color:var(--rule)}.panel--accent{border-color:var(--accent-rule)}.figure{display:flex;flex-direction:column;gap:var(--space-3)}.figure__caption{display:flex;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-mono);color:var(--ink-faint);line-height:var(--leading-normal)}.figure__number{color:var(--accent);white-space:nowrap;flex:none}.figure__placeholder{display:grid;place-content:center;gap:var(--space-2);text-align:center;padding:var(--space-6);background-color:var(--paper-sunken);background-image:repeating-linear-gradient(-45deg,transparent,transparent 7px,var(--rule-faint) 7px,var(--rule-faint) 8px);border:var(--border-hair) solid var(--rule);color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-mono);block-size:100%}.figure__placeholder-key{color:var(--ink-muted);font-weight:var(--weight-medium)}.figure__placeholder--blank{padding:0}.defs{display:grid;gap:0}.defs__row{display:grid;grid-template-columns:1fr;gap:var(--space-1) var(--space-6);padding-block:var(--space-4);border-block-end:var(--border-hair) solid var(--rule-faint)}@media(width>=40rem){.defs__row{grid-template-columns:9rem minmax(0,1fr);gap:var(--space-6)}}.defs__key{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-faint);padding-block-start:.2em}.defs__value{font-size:var(--step--1);line-height:var(--leading-relaxed);color:var(--ink)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.skeleton{background-color:var(--paper-sunken);border-radius:var(--radius-sm);animation:skeleton-pulse 1.6s var(--ease) infinite}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;opacity:.7}}.kbd{display:inline-flex;align-items:center;justify-content:center;min-inline-size:1.55rem;padding:.12em .4em;border:var(--border-hair) solid var(--rule-strong);border-block-end-width:2px;border-radius:var(--radius-sm);background-color:var(--paper-raised);font-family:var(--font-mono);font-size:var(--step--2);line-height:1.4;color:var(--ink-muted)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-family:var(--font-mono);font-size:var(--step--2);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);display:flex;align-items:baseline;gap:var(--space-2)}.field__optional{color:var(--ink-faint);text-transform:none;letter-spacing:var(--tracking-mono)}.field__control,.input{width:100%;min-height:2.875rem;padding:var(--space-3) var(--space-4);background-color:var(--paper-raised);color:var(--ink);border:var(--border-hair) solid var(--rule-strong);border-radius:var(--radius-sm);font-size:var(--step-0);line-height:1.45;transition:border-color var(--duration-state) var(--ease),box-shadow var(--duration-state) var(--ease),background-color var(--duration-state) var(--ease)}textarea.field__control,textarea.input{min-height:8rem;padding-block:var(--space-3);line-height:var(--leading-normal)}.field__control::placeholder,.input::placeholder{color:var(--ink-faint);opacity:1}.field__control:hover:not(:disabled),.input:hover:not(:disabled){border-color:var(--ink-faint)}.field__control:focus-visible,.input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.field__control:disabled,.input:disabled{background-color:var(--paper-sunken);color:var(--ink-faint);border-color:var(--rule)}select.field__control{appearance:none;padding-inline-end:var(--space-10);background-image:linear-gradient(45deg,transparent 50%,currentcolor 50%),linear-gradient(135deg,currentcolor 50%,transparent 50%);background-position:calc(100% - 1.15rem) calc(50% + 1px),calc(100% - .8rem) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.field__hint{font-size:var(--step--1);color:var(--ink-faint);line-height:var(--leading-normal)}.field__error{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--step--1);color:var(--state-danger);line-height:var(--leading-normal)}.field__error:before{content:"\2715";font-family:var(--font-mono);font-size:.85em;line-height:1.6;flex:none}.field--invalid .field__control,.field--invalid .input{border-color:var(--state-danger);border-width:2px;padding-block:calc(var(--space-3) - 1px);padding-inline:calc(var(--space-4) - 1px)}.field--invalid .field__control:focus-visible{box-shadow:0 0 0 3px var(--state-danger-wash)}.check{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start;cursor:pointer}.check__box{appearance:none;inline-size:1.15rem;block-size:1.15rem;margin-block-start:.18em;border:var(--border-hair) solid var(--rule-strong);border-radius:var(--radius-sm);background-color:var(--paper-raised);display:grid;place-content:center;cursor:pointer;flex:none;transition:border-color var(--duration-state) var(--ease),background-color var(--duration-state) var(--ease)}.check__box:before{content:"";inline-size:.6rem;block-size:.6rem;transform:scale(0);transform-origin:center;transition:transform var(--duration-state) var(--ease);box-shadow:inset 1rem 1rem var(--paper-raised);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.check__box:checked{background-color:var(--accent);border-color:var(--accent)}.check__box:checked:before{transform:scale(1)}.check__box:hover:not(:disabled){border-color:var(--ink-faint)}.check__text{font-size:var(--step--1);line-height:var(--leading-normal);color:var(--ink-muted)}.check--invalid .check__box{border-color:var(--state-danger);border-width:2px}.check__error{grid-column:2;margin-block-start:var(--space-2)}.form-gate{font-family:var(--font-mono);font-size:var(--step--2);line-height:var(--leading-normal);color:var(--ink-faint);text-wrap:pretty}.form-status{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:var(--border-hair) solid var(--rule-strong);border-inline-start-width:3px;border-radius:var(--radius-sm);font-size:var(--step--1);line-height:var(--leading-normal)}.form-status--success{border-inline-start-color:var(--state-free);background-color:var(--state-free-wash)}.form-status--error{border-inline-start-color:var(--state-danger);background-color:var(--state-danger-wash)}.form-status__title{font-weight:var(--weight-semibold);color:var(--ink)}.honeypot{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.no-wrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2,.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.clamp-2{-webkit-line-clamp:2;line-clamp:2}.clamp-3{-webkit-line-clamp:3;line-clamp:3}.link-overlay{position:relative}.link-overlay__target:after{content:"";position:absolute;inset:0;z-index:1}.link-overlay__above{position:relative;z-index:2}.rule{border:0;border-top:var(--border-hair) solid var(--rule)}.rule--strong{border-top-color:var(--rule-strong)}.rule--accent{border-top-color:var(--accent)}.ratio{position:relative;overflow:hidden;background-color:var(--paper-sunken)}.ratio>img,.ratio>video,.ratio>iframe,.ratio>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ratio--square{aspect-ratio:1}.ratio--portrait{aspect-ratio:4/5}.ratio--tall{aspect-ratio:3/4}.ratio--landscape{aspect-ratio:3/2}.ratio--wide{aspect-ratio:16/9}.ratio--book{aspect-ratio:2/3}.scroll-x{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.reveal{animation:reveal var(--duration-entrance) var(--ease-out) both}@media(prefers-reduced-motion:reduce){.reveal{animation:none}}@media print{:root,:root[data-theme=dark]{color-scheme:light;--paper: #ffffff;--paper-raised: #ffffff;--paper-sunken: #ffffff;--ink: #000000;--ink-muted: #333333;--ink-faint: #555555;--rule: #cccccc;--rule-strong: #999999;--rule-faint: #e5e5e5;--accent: #000000;--accent-rule: #999999;--shadow-raised: none;--shadow-overlay: none}@page{margin:18mm 16mm}html,body{background:#fff!important;font-size:10.5pt;line-height:1.42}*{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none!important;text-shadow:none!important}.site-header,.site-footer,.skip-link,.command-palette,.theme-toggle,.no-print,nav[aria-label=Primary],form,video,iframe{display:none!important}.section,.section--tight{padding-block:0 0!important;margin-block-end:8mm}.shell,.shell--narrow{max-width:none;padding-inline:0}.rail{display:block}.rail__aside{position:static!important;margin-block-end:2mm}main{padding-block:0!important}h1,h2,h3,h4{break-after:avoid;page-break-after:avoid}p,li,blockquote,figure,tr{break-inside:avoid;page-break-inside:avoid;orphans:3;widows:3}a[href^=http]:after{content:" (" attr(href) ")";font-family:var(--font-mono);font-size:8pt;color:#555;word-break:break-all}a[href^=mailto]:after{content:""}abbr[title]:after{content:" (" attr(title) ")"}.ratio{break-inside:avoid}img{max-width:100%!important}.print-only{display:block!important}}.print-only{display:none}
