@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_14db65{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_14db65{--font-body-loaded:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,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:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,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:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,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:Syne Fallback;src:local("Arial");ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.00%;size-adjust:98.47%}.__className_4dedb3{font-family:Syne,Syne Fallback;font-style:normal}.__variable_4dedb3{--font-display-loaded:"Syne","Syne Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-mono-loaded:"IBM Plex Mono","IBM Plex Mono Fallback"}:root,[data-theme=dark]{--bg:#090909;--bg-elevated:#111111;--bg-soft:#171717;--bg-mute:#1f1f1f;--ink:#fafafa;--ink-secondary:#a1a1a1;--ink-tertiary:#737373;--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.14);--fill:#fafafa;--fill-fg:#090909;--fill-soft:rgba(250,250,250,0.06);--code:#0d0d0d;--glow:rgba(255,255,255,0.03);--grid:rgba(255,255,255,0.045);--nav-bg:rgba(9,9,9,0.72);--shadow:0 0 0 1px rgba(255,255,255,0.06),0 32px 80px rgba(0,0,0,0.55)}[data-theme=light]{--bg:#fafafa;--bg-elevated:#ffffff;--bg-soft:#f4f4f5;--bg-mute:#ebebed;--ink:#0a0a0a;--ink-secondary:#525252;--ink-tertiary:#737373;--border:rgba(10,10,10,0.08);--border-strong:rgba(10,10,10,0.14);--fill:#0a0a0a;--fill-fg:#fafafa;--fill-soft:rgba(10,10,10,0.04);--code:#f0f0f2;--glow:rgba(10,10,10,0.03);--grid:rgba(10,10,10,0.05);--nav-bg:rgba(250,250,250,0.78);--shadow:0 0 0 1px rgba(10,10,10,0.06),0 24px 64px rgba(10,10,10,0.08)}*,:after,:before{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{color-scheme:light}body,html{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55}body{overflow-x:hidden}a{color:inherit;text-underline-offset:.15em}a:hover{text-decoration:underline}code,pre{font-family:var(--font-mono)}pre{margin:0;background:var(--code);border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem;overflow-x:auto;font-size:.8125rem;line-height:1.6;color:var(--ink)}:not(pre)>code{font-size:.875em;background:var(--fill-soft);border:1px solid var(--border);padding:.1em .35em;border-radius:5px}.app{min-height:100dvh;display:flex;flex-direction:column}.rail{width:100%;max-width:1280px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.nav-wrap{position:-webkit-sticky;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);background:var(--nav-bg);backdrop-filter:saturate(1.2) blur(16px);-webkit-backdrop-filter:saturate(1.2) blur(16px)}.nav{height:3.75rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:inline-flex;align-items:baseline;gap:.45rem;font-family:var(--font-display);font-weight:700;font-size:1.125rem;letter-spacing:-.04em;color:var(--ink)}.brand,.brand:hover{text-decoration:none}.brand small{font-family:var(--font-body);font-weight:500;font-size:.75rem;letter-spacing:0;color:var(--ink-tertiary)}.nav-links{display:none;align-items:center;gap:.15rem}@media (min-width:900px){.nav-links{display:flex}}.nav-links a{text-decoration:none;color:var(--ink-secondary);font-size:.875rem;font-weight:500;padding:.45rem .7rem;border-radius:8px;transition:color .15s ease,background .15s ease}.nav-links a.active,.nav-links a:hover{color:var(--ink);background:var(--fill-soft);text-decoration:none}.nav-actions{display:flex;align-items:center;gap:.55rem}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--ink-secondary);cursor:pointer;transition:border-color .15s ease,color .15s ease}.theme-toggle:hover{border-color:var(--border-strong);color:var(--ink)}.theme-toggle svg{width:1rem;height:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:2.5rem;padding:0 1.05rem;border-radius:9px;font-size:.9rem;font-weight:600;border:1px solid transparent;transition:transform .15s ease,background .15s ease,border-color .15s ease,opacity .15s ease;white-space:nowrap}.btn,.btn:hover{text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--fill);color:var(--fill-fg)}.btn-primary:hover{opacity:.92}.btn-secondary{background:transparent;color:var(--ink);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--fill-soft)}.btn-sm{height:2.15rem;padding:0 .85rem;font-size:.8125rem}.github-link svg{flex-shrink:0}@media (max-width:640px){.github-link{padding-inline:.65rem;font-size:0;gap:0}.github-link svg{margin:0}}.home-hero{position:relative;min-height:calc(100dvh - 3.75rem);display:grid;align-items:stretch;border-bottom:1px solid var(--border);overflow:hidden}.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--glow),transparent 40%),linear-gradient(90deg,var(--bg) 0,transparent 55%),repeating-linear-gradient(0deg,transparent,transparent 47px,var(--grid) 47px,var(--grid) 48px),repeating-linear-gradient(90deg,transparent,transparent 47px,var(--grid) 47px,var(--grid) 48px);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000 20%,transparent 75%);pointer-events:none;animation:grid-fade 12s ease-in-out infinite alternate}@keyframes grid-fade{0%{opacity:.45}to{opacity:.9}}.home-hero-rail{position:relative;z-index:1;width:100%;max-width:1280px;margin-inline:auto;padding:clamp(2rem,5vh,4rem) clamp(1.25rem,4vw,2.5rem);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-gap:clamp(2rem,5vw,4rem);gap:clamp(2rem,5vw,4rem);align-items:center;min-height:calc(100dvh - 3.75rem)}@media (max-width:960px){.home-hero-rail{grid-template-columns:1fr;min-height:auto;padding-block:3rem 2.5rem}}.hero-copy{max-width:36rem;animation:enter .65s cubic-bezier(.22,1,.36,1) both}@keyframes enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.hero-kicker{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.25rem;font-size:.8125rem;font-weight:500;color:var(--ink-secondary)}.hero-kicker i{width:.4rem;height:.4rem;border-radius:50%;background:var(--ink);display:inline-block;font-style:normal;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.hero-brand{font-family:var(--font-display);font-weight:800;font-size:clamp(3.5rem,9vw,5.75rem);letter-spacing:-.055em;line-height:.92}.hero-brand,.hero-title{margin:0 0 1rem;color:var(--ink)}.hero-title{font-family:var(--font-body);font-weight:500;font-size:clamp(1.25rem,2.4vw,1.5rem);letter-spacing:-.025em;line-height:1.35;max-width:22ch}.hero-lede{margin:0 0 1.75rem;font-size:1.05rem;color:var(--ink-secondary);max-width:38ch;line-height:1.6}.hero-cta{gap:.65rem;margin-bottom:1.75rem}.hero-cta,.hero-meta{display:flex;flex-wrap:wrap}.hero-meta{gap:.5rem 1.25rem;font-size:.8125rem;color:var(--ink-tertiary);font-family:var(--font-mono)}.hero-visual{position:relative;animation:enter .75s cubic-bezier(.22,1,.36,1) .08s both}.terminal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.terminal-bar{display:flex;align-items:center;gap:.4rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-soft)}.terminal-bar span{width:.55rem;height:.55rem;border-radius:50%;background:var(--bg-mute);border:1px solid var(--border-strong)}.terminal-bar label{margin-left:.5rem;font-size:.75rem;color:var(--ink-tertiary);font-family:var(--font-mono)}.terminal pre{border:0;border-radius:0;background:transparent;padding:1.15rem 1.25rem 1.35rem;font-size:.78rem;min-height:14rem}.terminal .dim{color:var(--ink-tertiary)}.terminal .ok{color:var(--ink)}.home-section{border-bottom:1px solid var(--border);padding-block:clamp(3.5rem,8vw,5.5rem)}.home-section .rail>.section-label{margin:0 0 .65rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-tertiary)}.home-section .rail>h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(1.75rem,3.5vw,2.35rem);letter-spacing:-.04em;line-height:1.15;max-width:18ch}.home-section .rail>.section-lede{margin:0 0 2.25rem;color:var(--ink-secondary);font-size:1.05rem;max-width:48ch}.split{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:clamp(1.5rem,4vw,3rem);gap:clamp(1.5rem,4vw,3rem);align-items:start}@media (max-width:900px){.split{grid-template-columns:1fr}}.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden}@media (max-width:800px){.flow{grid-template-columns:1fr 1fr}}.flow-step{background:var(--bg-elevated);padding:1.35rem 1.25rem;min-height:8.5rem}.flow-step b{display:block;font-family:var(--font-mono);font-size:.7rem;font-weight:500;color:var(--ink-tertiary);margin-bottom:.65rem}.flow-step h3{margin:0 0 .4rem;font-size:1rem;font-weight:650;letter-spacing:-.02em}.flow-step p{margin:0;font-size:.875rem;color:var(--ink-secondary);line-height:1.5}.bento{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:.85rem;gap:.85rem}.bento-item{grid-column:span 6;background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;padding:1.5rem 1.4rem;min-height:11rem;transition:border-color .15s ease,background .15s ease}.bento-item:hover{border-color:var(--border-strong);background:var(--bg-soft)}.bento-item.wide{grid-column:span 12;min-height:auto;display:grid;grid-template-columns:1fr 1.4fr;grid-gap:1.5rem;gap:1.5rem;align-items:center}@media (max-width:800px){.bento-item,.bento-item.wide{grid-column:span 12;grid-template-columns:1fr}}.bento-item h3{margin:0 0 .5rem;font-size:1.05rem;font-weight:650;letter-spacing:-.02em}.bento-item p{margin:0;color:var(--ink-secondary);font-size:.925rem}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.chip{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-secondary);border:1px solid var(--border);background:var(--bg);padding:.28rem .5rem;border-radius:999px}.matrix{width:100%;border-collapse:collapse;font-size:.9rem}.matrix td,.matrix th{text-align:left;padding:.9rem 1rem;border-bottom:1px solid var(--border);vertical-align:top}.matrix th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-tertiary);font-weight:600;background:var(--fill-soft)}.matrix td{color:var(--ink-secondary)}.matrix td strong{color:var(--ink);font-weight:600}.matrix tr:last-child td{border-bottom:none}.matrix-wrap{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg-elevated)}.code-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}@media (max-width:900px){.code-grid{grid-template-columns:1fr}}.code-card{border:1px solid var(--border);border-radius:14px;background:var(--bg-elevated);overflow:hidden}.code-card header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.8125rem;font-weight:600}.code-card header span{color:var(--ink-tertiary);font-family:var(--font-mono);font-size:.7rem;font-weight:500}.code-card pre{border:0;border-radius:0;background:transparent}.cta-band{background:var(--bg-soft)}.cta-band .rail{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}.cta-band h2{margin:0 0 .4rem;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2rem);letter-spacing:-.035em}.cta-band p{margin:0;color:var(--ink-secondary);max-width:40ch}.doc-page{flex:1 1;border-bottom:1px solid var(--border)}.doc-shell{max-width:1280px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.doc{display:grid;grid-template-columns:240px minmax(0,1fr);grid-gap:0;gap:0;min-height:calc(100dvh - 3.75rem - 8rem)}@media (max-width:900px){.doc{grid-template-columns:1fr}}.side{padding:2rem 1.5rem 3rem 0;border-right:1px solid var(--border);position:-webkit-sticky;position:sticky;top:3.75rem;align-self:start;max-height:calc(100dvh - 3.75rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.side-group+.side-group{margin-top:1.65rem}.side-label{margin:0 0 .55rem;padding-inline:.7rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-tertiary);font-weight:600}.side-links{display:flex;flex-direction:column;border-left:1px solid var(--border)}.side a{display:block;margin-left:-1px;padding:.4rem .7rem;border-left:2px solid transparent;border-radius:0 7px 7px 0;text-decoration:none;color:var(--ink-secondary);font-size:.85rem;font-weight:500;line-height:1.45;transition:color .15s ease,background .15s ease,border-color .15s ease}.side a:hover{border-left-color:var(--border-strong)}.side a.active,.side a:hover{color:var(--ink);background:var(--fill-soft);text-decoration:none}.side a.active{border-left-color:var(--fill);font-weight:600}@media (max-width:900px){.side{position:static;max-height:none;overflow:visible;border-right:0;border-bottom:1px solid var(--border);padding:1.25rem 0 1.35rem;display:flex;flex-direction:column;gap:1rem}.side-group+.side-group{margin-top:0}.side-label{padding-inline:0;margin-bottom:.45rem}.side-links{flex-direction:row;flex-wrap:wrap;gap:.4rem;border-left:0}.side a{margin-left:0;padding:.34rem .7rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated)}.side a.active,.side a:hover{border-color:var(--border-strong)}.side a.active{background:var(--fill);color:var(--fill-fg)}}.content{padding:2.25rem 0 4rem;max-width:48rem;margin-inline:auto;width:100%;padding-inline:clamp(1.25rem,3vw,2.5rem)}.content h1{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(1.85rem,3.5vw,2.4rem);letter-spacing:-.04em;line-height:1.1}.content .lede{margin:0 0 1.75rem;font-size:1.1rem;color:var(--ink-secondary);max-width:42rem}.content h2{margin:2.5rem 0 .75rem;font-family:var(--font-display);font-size:1.35rem;letter-spacing:-.03em}.content h3{margin:1.5rem 0 .5rem;font-size:1.05rem}.content li,.content p{color:var(--ink-secondary)}.content strong{color:var(--ink)}.content ol,.content ul{padding-left:1.2rem}.content li+li{margin-top:.35rem}.content a{color:var(--ink);text-decoration:underline}.deflist{margin:.4rem 0 0;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);overflow:hidden}.deflist>div{display:grid;grid-template-columns:12.5rem minmax(0,1fr);grid-gap:0 1.5rem;gap:0 1.5rem;padding:.85rem 1.15rem;border-top:1px solid var(--border)}.deflist>div:first-child{border-top:0}.deflist dt{color:var(--ink);font-weight:600;font-size:.9rem;line-height:1.5;overflow-wrap:break-word}.deflist dd{margin:0;color:var(--ink-secondary);font-size:.9rem;line-height:1.6}.deflist dd>p{margin:0}.deflist dd>p+p{margin-top:.4rem}@media (max-width:640px){.deflist>div{grid-template-columns:1fr;gap:.25rem}}.content ol.steps{list-style:none;padding-left:0;margin:.4rem 0 0;counter-reset:step;display:grid;grid-gap:.6rem;gap:.6rem}.content ol.steps>li{counter-increment:step;position:relative;margin:0;padding:.8rem 1.1rem .85rem 3rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);font-size:.9rem}.content ol.steps>li:before{content:counter(step);position:absolute;left:1rem;top:.8rem;width:1.4rem;height:1.4rem;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--bg-soft);color:var(--ink);font-family:var(--font-mono);font-size:.7rem;line-height:1}.content ol.steps>li strong{display:block;margin-bottom:.15rem}.callout{margin:1.25rem 0 0;padding:.95rem 1.15rem;border:1px solid var(--border);border-left:2px solid var(--border-strong);border-radius:0 12px 12px 0;background:var(--bg-elevated)}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout .callout-label{display:block;margin-bottom:.3rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--ink-tertiary)}.table-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto;background:var(--bg-elevated)}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data td,table.data th{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--border);vertical-align:top}table.data th{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-tertiary);background:var(--fill-soft)}table.data td{color:var(--ink-secondary)}table.data td strong{color:var(--ink)}table.data tr:last-child td{border-bottom:none}.pipeline{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:1rem 0;font-family:var(--font-mono);font-size:.75rem}.pipeline span{border:1px solid var(--border);background:var(--bg-elevated);padding:.4rem .6rem;border-radius:6px;color:var(--ink)}.pipeline i{font-style:normal;color:var(--ink-tertiary)}.site-footer{margin-top:auto;border-top:1px solid var(--border);background:var(--bg)}.site-footer .rail{padding-block:2rem;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;grid-gap:2rem;gap:2rem}@media (max-width:1000px){.site-footer .rail{grid-template-columns:1fr 1fr;gap:1.75rem}}@media (max-width:800px){.site-footer .rail{grid-template-columns:1fr;gap:1.5rem}}.site-footer h4{margin:0 0 .75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-tertiary)}.site-footer a{display:block;text-decoration:none;color:var(--ink-secondary);font-size:.875rem;margin-bottom:.4rem}.site-footer a:hover{color:var(--ink);text-decoration:none}.site-footer .foot-brand{font-family:var(--font-display);font-weight:700;font-size:1.1rem;letter-spacing:-.03em;margin-bottom:.5rem}.site-footer .foot-note{color:var(--ink-tertiary);font-size:.85rem;max-width:28ch;margin:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}