@font-face{font-family:Geist;font-weight:100 900;font-style:normal;font-display:swap;src:url(/fonts/geist.woff2) format("woff2")}@font-face{font-family:GeistMono;font-weight:100 900;font-style:normal;font-display:swap;src:url(/fonts/geistmono.woff2) format("woff2")}:root{--bg: #FBFBFC;--surface: #FFFFFF;--surface-2: #F3F4F6;--surface-3: #E7E9EC;--text: #16181C;--text-2: #585E66;--text-3: #6C737B;--rule: #E3E5E9;--rule-strong: #CBCFD5;--band: #F4F5F8;--accent: #0F766E;--accent-ink: #0A6259;--accent-wash: #ECF7F5;--accent-soft: #C9E7E2;--viz-indigo: #4355C9;--viz-indigo-wash: #EDEFFC;--grad-brand: linear-gradient(135deg, var(--accent) 0%, var(--viz-indigo) 100%);--silver-1: #B9BDC2;--silver-2: #9AA0A6;--logo-adjust: brightness(.68);--device-shell: #1A1D22;--device-edge: rgba(255, 255, 255, .16);--ok: #15704A;--ok-wash: #E7F4EC;--hold: #8A5A12;--hold-wash: #FBF0DE;--alert: #B03127;--alert-wash: #FCEBE9;--signal: #C87A16;--signal-ink: #8A5A12;--signal-wash: #FDF3E3;--radius: 10px;--radius-sm: 7px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(22, 24, 28, .04);--shadow: 0 1px 3px rgba(22, 24, 28, .05), 0 12px 32px -16px rgba(22, 24, 28, .16);--font-body: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "GeistMono", ui-monospace, SFMono-Regular, Menlo, monospace;--wrap: 1120px;--pad: clamp(20px, 5vw, 48px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0F1114;--surface: #171A1E;--surface-2: #1D2126;--surface-3: #262B31;--text: #ECEEF0;--text-2: #979DA5;--text-3: #878E96;--rule: #242930;--rule-strong: #353B43;--band: #14171B;--accent: #4CC4B6;--accent-ink: #5FD2C4;--accent-wash: #102C29;--accent-soft: #1C4540;--viz-indigo: #8E9BF0;--viz-indigo-wash: #1A1E38;--silver-1: #B9BDC2;--silver-2: #9AA0A6;--logo-adjust: none;--device-shell: #05070A;--device-edge: rgba(255, 255, 255, .15);--ok: #67C48C;--ok-wash: #10241A;--hold: #D9A94F;--hold-wash: #241B0E;--alert: #E88276;--alert-wash: #2A1512;--signal: #E0AC5A;--signal-ink: #E8BC74;--signal-wash: #241B0E;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 12px 32px -16px rgba(0, 0, 0, .7)}}:root[data-theme=dark]{--bg: #0F1114;--surface: #171A1E;--surface-2: #1D2126;--surface-3: #262B31;--text: #ECEEF0;--text-2: #979DA5;--text-3: #878E96;--rule: #242930;--rule-strong: #353B43;--band: #14171B;--accent: #4CC4B6;--accent-ink: #5FD2C4;--accent-wash: #102C29;--accent-soft: #1C4540;--viz-indigo: #8E9BF0;--viz-indigo-wash: #1A1E38;--silver-1: #B9BDC2;--silver-2: #9AA0A6;--logo-adjust: none;--device-shell: #05070A;--device-edge: rgba(255, 255, 255, .15);--ok: #67C48C;--ok-wash: #10241A;--hold: #D9A94F;--hold-wash: #241B0E;--alert: #E88276;--alert-wash: #2A1512;--signal: #E0AC5A;--signal-ink: #E8BC74;--signal-wash: #241B0E;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 12px 32px -16px rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.62;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-body);font-weight:600;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.021em}p{margin:0}img,svg{max-width:100%}a{color:var(--accent-ink);text-underline-offset:3px;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}code{font-family:var(--font-mono);font-size:.87em;background:var(--surface-2);padding:2px 6px;border-radius:5px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}.label{font-size:13.5px;font-weight:500;letter-spacing:-.005em;color:var(--accent-ink);display:flex;align-items:center;gap:9px}.label:before{content:"";width:18px;height:2px;border-radius:1px;background:var(--grad-brand);flex:none}.mono{font-family:var(--font-mono);font-size:12.5px;letter-spacing:-.01em}.dim{color:var(--text-2)}.lead{max-width:60ch;font-size:clamp(16.5px,2vw,19px);color:var(--text-2);line-height:1.6}.tscroll{overflow-x:auto}.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;border-radius:var(--radius-sm);z-index:100}.skip-link:focus{left:8px;top:8px}.btn{display:inline-block;font-family:var(--font-body);font-weight:500;font-size:15px;padding:11px 20px;border-radius:var(--radius-sm);border:1px solid transparent;text-decoration:none;cursor:pointer}.btn-solid{background:var(--accent);color:var(--surface);border-color:var(--accent)}.btn-solid:hover{background:var(--accent-ink)}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--rule-strong)}.btn-ghost:hover{border-color:var(--text-3)}.rv,.rv-sm{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes riseSm{0%{opacity:0;transform:translateY(11px)}to{opacity:1;transform:none}}@supports (animation-timeline: view()){.rv{animation:rise linear both;animation-timeline:view();animation-range:entry 4% cover 24%}.rv-sm{animation:riseSm linear both;animation-timeline:view();animation-range:entry 2% cover 18%}}@supports not (animation-timeline: view()){.js .rv,.js .rv-sm{opacity:0;transform:translateY(18px);transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1)}.js .rv.in,.js .rv-sm.in{opacity:1;transform:none}}.btn{transition:background-color .16s ease,border-color .16s ease}}.mark[data-astro-cid-tvrurpns]{display:block;flex:none;height:auto;filter:var(--logo-adjust)}header[data-astro-cid-dmqpwcec]{border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);position:sticky;top:0;z-index:40}.bar[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:20px;min-height:60px;flex-wrap:wrap;padding-block:8px}.brand[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--text);margin-right:auto}.name[data-astro-cid-dmqpwcec]{font-family:var(--font-body);font-weight:600;font-size:21px;letter-spacing:-.015em}nav[data-astro-cid-dmqpwcec] ul[data-astro-cid-dmqpwcec]{display:flex;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap}nav[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{color:var(--text-2);text-decoration:none;font-size:15px;font-weight:500}nav[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:hover{color:var(--text)}nav[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec][aria-current=page]{color:var(--accent-ink)}.cta[data-astro-cid-dmqpwcec]{font-size:14.5px;font-weight:500;padding:8px 15px;border-radius:var(--radius-sm);background:var(--accent);border:1px solid var(--accent);color:var(--surface);text-decoration:none;white-space:nowrap}.cta[data-astro-cid-dmqpwcec]:hover{background:var(--accent-ink);border-color:var(--accent-ink)}@media(max-width:720px){.bar[data-astro-cid-dmqpwcec]{gap:12px}nav[data-astro-cid-dmqpwcec] ul[data-astro-cid-dmqpwcec]{gap:14px}nav[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{font-size:14px}}footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--rule);margin-top:clamp(60px,10vh,110px);padding-top:44px}.grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:30px}@media(max-width:780px){.grid[data-astro-cid-sz7xmlte]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.col[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:10px;min-width:0}.label[data-astro-cid-sz7xmlte]{color:var(--accent-ink)}.lockup[data-astro-cid-sz7xmlte]{height:auto;margin:-6px 0 4px;filter:var(--logo-adjust)}.about[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{max-width:42ch;font-size:15px}.small[data-astro-cid-sz7xmlte]{font-size:13.5px}ul[data-astro-cid-sz7xmlte]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}ul[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--text-2);text-decoration:none;font-size:15px}ul[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent-ink)}.base[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;border-top:1px solid var(--rule);margin-top:38px;padding-top:18px;padding-bottom:44px;color:var(--text-3);font-size:13.5px}
