@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400 700;src:url(/fonts/instrument-sans-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/instrument-serif-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400 700;src:url(/fonts/jetbrains-mono-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Fallback;src:local("Arial");size-adjust:96%;ascent-override:96%;descent-override:25%;line-gap-override:0%}@font-face{font-family:"Instrument Serif Fallback";src:local("Times New Roman");size-adjust:102%;ascent-override:88%;descent-override:24%;line-gap-override:0%}:root{color-scheme:light dark;--paper: #f5f1e8;--paper-raised: #fbf8f1;--paper-sunk: #ece6d9;--ink: #15161a;--ink-2: #494a52;--ink-3: #5f6068;--rule: #d9d1c0;--rule-strong: #b9b0a0;--green: #14544a;--green-deep: #0e3b34;--green-tint: #dfe7e0;--citrine: #d7e34f;--clay: #a8432a;--accent: var(--green);--on-accent: #f5f1e8;--danger: #a8432a;--focus: #14544a;--f-display: "Instrument Serif", "Instrument Serif Fallback", Georgia, serif;--f-body: "Instrument Sans", "Instrument Sans Fallback", Arial, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--t-mega: clamp(3.25rem, 1.6rem + 7.4vw, 7.5rem);--t-h1: clamp(2.5rem, 1.55rem + 4.2vw, 5rem);--t-h2: clamp(1.85rem, 1.35rem + 2.2vw, 3.1rem);--t-h3: clamp(1.3rem, 1.12rem + .8vw, 1.75rem);--t-h4: 1.125rem;--t-body: 1.0625rem;--t-small: .9375rem;--t-label: .75rem;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--s-9: 6rem;--s-10: 8rem;--shell: 78rem;--shell-narrow: 46rem;--gutter: clamp(1.25rem, 5vw, 4rem);--r: 3px;--dur: .2s;--ease: cubic-bezier(.22, .61, .36, 1)}:root[data-theme=dark]{--paper: #14151a;--paper-raised: #1c1e24;--paper-sunk: #101116;--ink: #ece7dc;--ink-2: #a9a69e;--ink-3: #9c9890;--rule: #33353d;--rule-strong: #4c4f59;--green: #6fc0ad;--green-deep: #8ad6c3;--green-tint: #1d2b29;--citrine: #c3d150;--clay: #e08468;--accent: var(--green);--on-accent: #10201d;--danger: #e08468;--focus: #6fc0ad}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #14151a;--paper-raised: #1c1e24;--paper-sunk: #101116;--ink: #ece7dc;--ink-2: #a9a69e;--ink-3: #9c9890;--rule: #33353d;--rule-strong: #4c4f59;--green: #6fc0ad;--green-deep: #8ad6c3;--green-tint: #1d2b29;--citrine: #c3d150;--clay: #e08468;--accent: var(--green);--on-accent: #10201d;--danger: #e08468;--focus: #6fc0ad}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}body{min-height:100svh;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:var(--t-body);line-height:1.6;font-synthesis-weight:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}img,svg,video,canvas{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}h1,h2,h3,h4{font-weight:400;line-height:1.04;letter-spacing:-.022em;text-wrap:balance}h1{font-family:var(--f-display);font-size:var(--t-h1)}h2{font-family:var(--f-display);font-size:var(--t-h2)}h3{font-family:var(--f-body);font-size:var(--t-h3);font-weight:600;line-height:1.18;letter-spacing:-.014em}h4{font-family:var(--f-body);font-size:var(--t-h4);font-weight:600;line-height:1.3;letter-spacing:-.006em}p{text-wrap:pretty}.prose{max-width:34rem}.prose-wide{max-width:46rem}.prose p+p,.prose ul+p,.prose p+ul{margin-top:var(--s-4)}.prose ul,.prose ol{padding-left:1.15rem}.prose li+li{margin-top:var(--s-2)}.prose h3{margin-top:var(--s-6);margin-bottom:var(--s-3)}.prose h3:first-child{margin-top:0}.lede{font-size:clamp(1.15rem,1.02rem + .6vw,1.4rem);line-height:1.5;color:var(--ink-2);max-width:38rem}.muted{color:var(--ink-2)}.quiet{color:var(--ink-3)}a{color:inherit;text-decoration-color:var(--rule-strong);text-underline-offset:.22em;text-decoration-thickness:1px;transition:text-decoration-color var(--dur) var(--ease),color var(--dur) var(--ease)}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:1px}.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}.shell-narrow{width:100%;max-width:var(--shell-narrow);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(3.5rem,2rem + 6vw,7rem)}.section-tight{padding-block:clamp(2.5rem,1.5rem + 4vw,4.5rem)}.ruled-top{border-top:1px solid var(--rule)}.stack>*+*{margin-top:var(--s-4)}.stack-lg>*+*{margin-top:var(--s-6)}.eyebrow{display:flex;align-items:baseline;gap:var(--s-3);font-family:var(--f-mono);font-size:var(--t-label);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s-5)}.eyebrow:after{content:"";flex:1;height:1px;background:var(--rule);transform:translateY(-.25em)}.eyebrow-num{color:var(--accent)}.mono{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:48px;padding:.75rem 1.4rem;border:1px solid var(--ink);border-radius:var(--r);background:var(--ink);color:var(--paper);font-size:var(--t-small);font-weight:600;letter-spacing:.005em;text-decoration:none;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn:hover{background:var(--green);border-color:var(--green);color:var(--on-accent)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule-strong)}.btn-ghost:hover{background:var(--paper-raised);border-color:var(--ink);color:var(--ink)}.btn-accent{background:var(--green);border-color:var(--green);color:var(--on-accent)}.btn-accent:hover{background:var(--green-deep);border-color:var(--green-deep);color:var(--on-accent)}.btn[aria-disabled=true],.btn:disabled{opacity:.45;cursor:not-allowed}.link-arrow{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;font-weight:600;font-size:var(--t-small);text-decoration:none;padding-block:.6rem;border-bottom:1px solid var(--rule-strong);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.link-arrow:hover{color:var(--accent);border-color:var(--accent)}.link-arrow svg{width:.85em;height:.85em;flex:none}.panel{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--r);padding:var(--s-6)}.panel-ink{background:#15161a;color:#f5f1e8;border-color:#2b2d34}.panel-ink .muted,.panel-ink .quiet{color:#b3afa5}.data-table{width:100%;border-collapse:collapse;font-size:var(--t-small)}.data-table th,.data-table td{text-align:left;padding:var(--s-3) var(--s-4) var(--s-3) 0;border-bottom:1px solid var(--rule);vertical-align:top}.data-table th{font-family:var(--f-mono);font-size:var(--t-label);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--s-4);top:var(--s-4);z-index:100;padding:var(--s-3) var(--s-4);background:var(--ink);color:var(--paper);border-radius:var(--r);font-size:var(--t-small);font-weight:600;text-decoration:none;transform:translateY(-160%);transition:transform var(--dur) var(--ease)}.skip-link:focus-visible{transform:translateY(0)}.mark{background:var(--citrine);color:#15161a;padding:0 .18em;box-decoration-break:clone}[data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .52s var(--ease),transform .52s var(--ease)}[data-reveal].is-in,.no-js [data-reveal]{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}@media print{body{background:#fff;color:#000}.site-header,.site-footer,.btn{display:none}}.logo[data-astro-cid-tvrurpns]{display:inline-flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none}.logo-mark[data-astro-cid-tvrurpns]{width:1.55rem;height:1.55rem;flex:none;color:var(--green)}.logo-text[data-astro-cid-tvrurpns]{display:flex;flex-direction:column;line-height:1.1}.logo-name[data-astro-cid-tvrurpns]{font-size:1.02rem;font-weight:600;letter-spacing:-.015em}.logo-role[data-astro-cid-tvrurpns]{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:.14rem}@media(max-width:26rem){.logo-role[data-astro-cid-tvrurpns]{display:none}}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule)}.site-header[data-astro-cid-3ef6ksr2].is-flush{border-bottom-color:transparent}.bar[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--s-5);min-height:4.5rem}.brand[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;margin-right:auto}.nav-list[data-astro-cid-3ef6ksr2],.mobile-list[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--s-6);list-style:none;margin:0;padding:0}.nav-link[data-astro-cid-3ef6ksr2]{display:inline-block;padding:.35rem 0;font-size:var(--t-small);font-weight:500;text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.nav-link[data-astro-cid-3ef6ksr2]:hover{border-color:var(--rule-strong)}.nav-link[data-astro-cid-3ef6ksr2].is-current{border-color:var(--accent);color:var(--accent)}.actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--s-3)}.theme-toggle[data-astro-cid-3ef6ksr2],.menu-btn[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--rule);border-radius:var(--r);color:var(--ink-2);font-size:1.05rem;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.theme-toggle[data-astro-cid-3ef6ksr2]:hover,.menu-btn[data-astro-cid-3ef6ksr2]:hover{border-color:var(--rule-strong);color:var(--ink)}.theme-icon[data-astro-cid-3ef6ksr2],.menu-open[data-astro-cid-3ef6ksr2],.menu-close[data-astro-cid-3ef6ksr2]{display:inline-flex}.theme-icon-moon[data-astro-cid-3ef6ksr2]{display:none}:root[data-theme=dark] .theme-icon-sun[data-astro-cid-3ef6ksr2]{display:none}:root[data-theme=dark] .theme-icon-moon[data-astro-cid-3ef6ksr2]{display:inline-flex}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-icon-sun[data-astro-cid-3ef6ksr2]{display:none}:root:not([data-theme=light]) .theme-icon-moon[data-astro-cid-3ef6ksr2]{display:inline-flex}}.menu-btn[data-astro-cid-3ef6ksr2],.menu-close[data-astro-cid-3ef6ksr2],.menu-btn[data-astro-cid-3ef6ksr2][aria-expanded=true] .menu-open[data-astro-cid-3ef6ksr2]{display:none}.menu-btn[data-astro-cid-3ef6ksr2][aria-expanded=true] .menu-close[data-astro-cid-3ef6ksr2]{display:inline-flex}.mobile-nav[data-astro-cid-3ef6ksr2]{border-top:1px solid var(--rule);background:var(--paper)}.mobile-list[data-astro-cid-3ef6ksr2]{flex-direction:column;align-items:stretch;gap:0;padding:var(--s-2) var(--gutter) var(--s-5)}.mobile-link[data-astro-cid-3ef6ksr2]{display:block;padding:var(--s-4) 0;font-size:1.15rem;font-weight:500;text-decoration:none;border-bottom:1px solid var(--rule)}.mobile-link[data-astro-cid-3ef6ksr2].is-current{color:var(--accent)}.mobile-link[data-astro-cid-3ef6ksr2].is-cta{margin-top:var(--s-4);border:1px solid var(--green);border-radius:var(--r);background:var(--green);color:var(--on-accent);text-align:center;font-size:var(--t-body);font-weight:600}@media(max-width:58rem){.nav[data-astro-cid-3ef6ksr2],.cta[data-astro-cid-3ef6ksr2]{display:none}.menu-btn[data-astro-cid-3ef6ksr2]{display:inline-flex}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--rule);background:var(--paper-sunk);padding-block:var(--s-8) var(--s-6);margin-top:var(--s-9)}.top[data-astro-cid-sz7xmlte]{display:grid;gap:var(--s-8);grid-template-columns:minmax(0,1.15fr) minmax(0,1.6fr)}.brand-line[data-astro-cid-sz7xmlte]{max-width:28ch;margin-top:var(--s-4);font-size:var(--t-small)}.direct[data-astro-cid-sz7xmlte]{list-style:none;padding:0;margin-top:var(--s-5);display:flex;flex-direction:column;gap:var(--s-1)}.direct-link[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:var(--s-3);min-height:32px;font-size:var(--t-small);text-decoration:none;color:var(--ink-2)}.direct-link[data-astro-cid-sz7xmlte]:hover{color:var(--ink)}.cols[data-astro-cid-sz7xmlte]{display:grid;gap:var(--s-6);grid-template-columns:repeat(3,minmax(0,1fr))}.col-head[data-astro-cid-sz7xmlte]{font-family:var(--f-mono);font-size:var(--t-label);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s-4)}.col[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--s-1)}.col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:inline-block;padding-block:.3rem;font-size:var(--t-small);text-decoration:none;color:var(--ink-2)}.col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--ink);text-decoration:underline;text-underline-offset:.22em}.bottom[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-8);padding-top:var(--s-5);border-top:1px solid var(--rule);font-size:var(--t-small)}@media(max-width:58rem){.top[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:var(--s-7)}}@media(max-width:34rem){.cols[data-astro-cid-sz7xmlte]{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-6) var(--s-4)}}
