@font-face{font-family:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/313510e2713fb214-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/313510e2713fb214-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/313510e2713fb214-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-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:__Hanken_Grotesk_e9002f;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/313510e2713fb214-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:__Hanken_Grotesk_Fallback_e9002f;src:local("Arial");ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.00%;size-adjust:100.94%}.__className_e9002f{font-family:__Hanken_Grotesk_e9002f,__Hanken_Grotesk_Fallback_e9002f;font-style:normal}.__variable_e9002f{--font-hanken:"__Hanken_Grotesk_e9002f","__Hanken_Grotesk_Fallback_e9002f"}@font-face{font-family:__JetBrains_Mono_46000b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_46000b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_46000b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_46000b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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:__JetBrains_Mono_46000b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:__JetBrains_Mono_Fallback_46000b;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46000b{font-family:__JetBrains_Mono_46000b,__JetBrains_Mono_Fallback_46000b;font-style:normal}.__variable_46000b{--font-jetbrains:"__JetBrains_Mono_46000b","__JetBrains_Mono_Fallback_46000b"}:root{--bg:#0d0b14;--bar:#100d1a;--window:#120f1c;--tab:#16121f;--active:#1a1528;--line:rgba(196,181,253,.12);--line-strong:rgba(196,181,253,.2);--text:#ece8f7;--text-body:#c3bcd8;--text-muted:#9a93b3;--accent:#c4b5fd;--accent-hover:#d6cbfe;--accent-line:rgba(196,181,253,.5);--on-accent:#0d0b14;--syntax-val:#93c5fd;--danger:#fca5a5;--font-display:var(--font-hanken),"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-body:var(--font-hanken),"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-jetbrains),"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--radius:6px;--radius-win:8px;--rail:220px;--topbar:56px;--gutter:32px;--win-pad:clamp(20px,3vw,40px);--content-max:1240px}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar) + 16px);color-scheme:dark}body,html{background:var(--bg)}body{min-height:100vh;color:var(--text-body);font-family:var(--font-body);font-size:15px;font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,svg{display:block;max-width:100%}svg{flex-shrink:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}ol,ul{list-style:none}::selection{background:rgba(196,181,253,.28);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;background:var(--accent);color:var(--on-accent);font-weight:500;border-radius:var(--radius)}.skip-link:focus{top:12px}.display{font-family:var(--font-display);font-size:clamp(42px,5.8vw,84px);font-weight:500;line-height:1.02;letter-spacing:-.035em;color:var(--text)}.display-mono,.display-sans{display:block}.display-mono{font-family:var(--font-mono);letter-spacing:-.05em;color:var(--accent)}.display--md{font-size:clamp(36px,4.4vw,60px)}.h2{font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.1;letter-spacing:-.025em;text-wrap:balance}.h2,.h3{font-family:var(--font-display);color:var(--text)}.h3{font-size:clamp(16px,1.3vw,19px);font-weight:600;line-height:1.3}.link-mono{font-family:var(--font-mono);font-size:13px;font-weight:400;color:var(--accent);display:inline-flex;align-items:center;gap:6px;min-height:32px}.link-mono:hover{text-decoration:underline;text-underline-offset:4px}.kbd{font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--text-muted);padding:4px 6px;border:1px solid var(--line);border-radius:4px}.btn,.kbd{line-height:1;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--radius);border:1px solid transparent;font-family:var(--font-body);font-size:14px;font-weight:500;transition:background-color .15s ease,border-color .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{border-color:var(--line-strong);color:var(--text);background:transparent}.btn-secondary:hover{background:var(--active);border-color:rgba(196,181,253,.32)}.btn:disabled{opacity:.6;cursor:progress}.btn-sm{min-height:36px;padding:0 14px;font-size:13px}.btn-block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:10px}.btn-row--tight{gap:8px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);border:1px solid var(--line);color:var(--text-body);transition:background-color .15s ease,color .15s ease}.icon-btn:hover{background:var(--active);color:var(--text)}.icon-btn--sm{width:32px;height:32px}.console{min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:var(--topbar);display:grid;grid-template-columns:var(--rail) minmax(0,1fr) auto;background:var(--bar);border-bottom:1px solid var(--line)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:10px;height:100%;padding:0 24px;color:var(--text)}.brand-mark{width:22px;height:22px}.brand-name{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em}.cmdbar{display:flex;align-items:center;gap:10px;width:100%;min-width:0;min-height:36px;padding:0 8px 0 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text-muted);font-family:var(--font-mono);font-size:12.5px;font-weight:400;text-align:left;transition:border-color .15s ease}.cmdbar:hover{border-color:var(--line-strong)}.cmdbar-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdbar--top{justify-self:center;max-width:520px;margin:0 24px}.topbar-actions{display:flex;align-items:center;gap:8px;padding:0 24px}.menu-btn{display:none}.console-body{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);align-items:start}.rail{position:-webkit-sticky;position:sticky;top:var(--topbar);height:calc(100vh - var(--topbar));overflow-y:auto;border-right:1px solid var(--line);padding:24px 12px 32px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.explorer+.explorer{margin-top:28px}.explorer-title{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:0 10px 10px}.tree{display:grid;grid-gap:2px;gap:2px}.tree-row{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 10px;border-radius:var(--radius);font-family:var(--font-mono);font-size:13px;font-weight:400;color:var(--text-muted);transition:background-color .12s ease,color .12s ease}.tree-folder:hover,a.tree-row:hover{color:var(--text);background:rgba(26,21,40,.6)}.tree-row.is-active{background:var(--active);color:var(--text)}.tree-folder{padding-left:2px;gap:2px}.tree-folder .tree-link{flex:1 1;display:flex;align-items:center;align-self:stretch}.tree-twisty{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;color:var(--text-muted)}.tree-twisty svg{transition:transform .15s ease}.tree-twisty.is-open svg{transform:rotate(90deg)}.tree-twisty:hover{color:var(--text)}.tree-children{display:grid;grid-gap:2px;gap:2px;margin:2px 0 4px 18px;padding-left:10px;border-left:1px solid var(--line)}.tree-children[hidden]{display:none}.tree-child{min-height:30px;font-size:12.5px}.tree-hash,.tree-num{color:var(--text-muted);opacity:.8;font-size:12px}.tree-row.is-active .tree-num{color:var(--accent);opacity:1}.tree-file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{min-width:0;padding:0 var(--gutter) 32px;outline:none}.content>*{max-width:var(--content-max);margin-inline:auto}.mobile-head{display:none}.windows{display:grid;grid-gap:var(--gutter);gap:var(--gutter)}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:28px 0 8px;margin-top:8px;font-family:var(--font-mono);font-size:12px;font-weight:400;color:var(--text-muted)}.hero{padding:clamp(56px,9vw,112px) var(--win-pad) clamp(48px,6vw,72px)}.hero--md{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,5vw,56px)}.hero-path{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-bottom:28px;font-family:var(--font-mono);font-size:12.5px;font-weight:400;line-height:1.5}.hero-path-dir{color:var(--accent)}a.hero-path-dir:hover{text-decoration:underline;text-underline-offset:3px}.hero-path-label{color:var(--text-muted)}.hero-desc{max-width:50ch;margin-top:28px;font-size:clamp(15px,1.2vw,17px);line-height:1.6;color:var(--text-body)}.hero .btn-row{margin-top:32px}.win{min-width:0;background:var(--window);border:1px solid var(--line);border-radius:var(--radius-win);overflow:hidden}.win-tab{display:flex;align-items:center;justify-content:space-between;gap:16px;height:36px;padding:0 14px;background:var(--tab);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:12px;font-weight:400;color:var(--text-muted)}.win-file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.win-body{padding:var(--win-pad)}.win-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 40px;margin-bottom:clamp(24px,3vw,32px)}.win-head-main{flex:1 1 340px;min-width:0}.win-sub{margin-top:10px;font-family:var(--font-mono);font-size:13px;font-weight:400;color:var(--accent)}.win-lead{flex:0 1 380px;font-size:14px;color:var(--text-body)}.win-more{margin-top:20px}.win-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));grid-gap:var(--gutter);gap:var(--gutter);align-items:stretch}.cells,.included{display:grid;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.cell,.included-item{box-shadow:1px 0 0 var(--line),0 1px 0 var(--line)}.cells{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));border-radius:var(--radius);overflow:hidden}.cell{display:flex;flex-direction:column;gap:10px;padding:22px 20px}.cell-num{font-family:var(--font-mono);font-size:12px;font-weight:400;color:var(--text-muted)}.cell-desc{font-size:14px;color:var(--text-body)}.cell-tags{margin-top:auto;padding-top:8px;font-family:var(--font-mono);font-size:11.5px;font-weight:400;line-height:1.6;color:var(--text-muted)}.cells--detailed{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.ticks{display:grid;grid-gap:8px;gap:8px;font-size:14px;color:var(--text-body)}.ticks li{position:relative;padding-left:18px}.ticks li:before{content:"›";position:absolute;left:2px;top:-1px;font-family:var(--font-mono);color:var(--accent)}.ticks--check li:before{content:"✓";font-size:12px;top:1px}.ticks--boxed{gap:0;border:1px solid var(--line);border-radius:var(--radius);align-self:start}.ticks--boxed li{padding:14px 16px 14px 40px}.ticks--boxed li+li{border-top:1px solid var(--line)}.ticks--boxed li:before{left:16px;top:15px}.json{font-family:var(--font-mono);font-size:13px;font-weight:400;line-height:1.75;color:var(--text-muted);overflow-wrap:anywhere}.json>.json-punct{display:block}.json-line{padding-left:2.2ch;text-indent:-1ch;margin-left:1ch}.json-key{color:var(--accent)}.json-val{color:var(--syntax-val)}.json-punct{color:var(--text-muted)}.json--meta{margin-top:32px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--window);max-width:520px}.point,.points{display:grid}.point{grid-template-columns:2.6ch minmax(0,1fr);grid-gap:16px;gap:16px;padding:18px 0;border-top:1px solid var(--line)}.point:last-child{padding-bottom:0}.point-num{font-family:var(--font-mono);font-size:12px;font-weight:400;line-height:1.6;color:var(--text-muted);padding-top:1px}.point p{margin-top:4px;font-size:14px;color:var(--text-body)}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));grid-gap:16px;gap:16px;align-items:stretch}.plan{display:flex;flex-direction:column;padding:24px 20px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--window)}.plan--featured{background:var(--active);border-color:var(--accent-line)}.plan-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px}.plan-name{font-size:12.5px;font-weight:400;text-transform:lowercase;color:var(--text-muted)}.badge,.plan-name{font-family:var(--font-mono)}.badge{font-size:11px;font-weight:500;line-height:1;padding:5px 7px;border-radius:4px;background:var(--accent);color:var(--on-accent);white-space:nowrap}.plan-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-top:22px}.plan-amount{font-family:var(--font-display);font-size:clamp(32px,3vw,38px);font-weight:400;line-height:1;letter-spacing:-.03em;color:var(--text)}.plan-period{font-size:13px;color:var(--text-muted)}.plan-desc{margin-top:16px;font-size:14px;color:var(--text-body)}.plan-features{margin:24px 0;flex:1 1}.plan-features li{position:relative;padding:10px 0 10px 18px;border-top:1px solid var(--line);font-size:14px;font-weight:400;color:var(--text)}.plan-features li:before{content:"›";position:absolute;left:2px;top:9px;font-family:var(--font-mono);color:var(--text-muted)}.plan--featured .plan-features li:before{color:var(--accent)}.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));grid-gap:32px clamp(32px,5vw,64px);gap:32px clamp(32px,5vw,64px);align-items:start}.contact-text{margin-top:16px;max-width:48ch;font-size:15px;color:var(--text-body)}.contact-info .ticks,.kv{margin-top:28px}.kv{display:grid;grid-gap:8px;gap:8px;font-family:var(--font-mono);font-size:13px;font-weight:400}.kv-row{display:flex;flex-wrap:wrap;gap:4px 12px}.kv dt{min-width:8ch;color:var(--text-muted)}.kv dd{overflow-wrap:anywhere}.kv a,.kv dd{color:var(--text)}.kv a{text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:4px}.kv a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));grid-gap:16px;gap:16px}.field{display:grid;grid-gap:8px;gap:8px;min-width:0}.field--wide{grid-column:1/-1}.label{font-family:var(--font-mono);font-size:12px;font-weight:400;line-height:1.5;color:var(--text-muted)}.label-opt{opacity:.75}.input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:16px;font-weight:400;line-height:1.4;transition:border-color .15s ease}.input::placeholder{color:var(--text-muted);opacity:.7}.input:hover{border-color:rgba(196,181,253,.3)}.input:focus{outline:none;border-color:var(--accent)}.input:focus-visible{outline:2px solid rgba(196,181,253,.35);outline-offset:1px}.input[aria-invalid=true]{border-color:var(--danger)}.input:disabled{opacity:.6}.textarea{min-height:120px;resize:vertical}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a93b3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.select:has(option[value=""]:checked){color:var(--text-muted)}.select option{background:var(--window);color:var(--text)}.field-error{font-size:13px;font-weight:400;color:var(--danger)}.form-error{margin-top:16px;font-size:14px;color:var(--danger)}.form-error a{text-decoration:underline;text-underline-offset:3px}.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:16px}.form-hint{font-family:var(--font-mono);font-size:12px;font-weight:400;color:var(--text-muted)}.form-done{display:grid;grid-gap:12px;gap:12px;justify-items:start;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.form-done-path{font-family:var(--font-mono);font-size:12.5px;color:var(--accent)}.form-done p:not(.form-done-path){font-size:14px}.form-done .btn{margin-top:8px}.spinner{width:14px;height:14px;border:2px solid rgba(13,11,20,.25);border-top:2px solid var(--on-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.included{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.included-item{display:flex;align-items:center;gap:12px;padding:18px 20px;font-size:14px;font-weight:400;color:var(--text)}.included-item svg{color:var(--accent)}.faq{border:1px solid var(--line);border-radius:var(--radius)}.faq-item+.faq-item{border-top:1px solid var(--line)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:14px 18px;cursor:pointer;list-style:none;font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--text)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{background:rgba(26,21,40,.6)}.faq-chevron{color:var(--text-muted);transition:transform .15s ease}.faq-item[open] .faq-chevron{transform:rotate(90deg);color:var(--accent)}.faq-item p{padding:0 18px 18px;max-width:72ch;font-size:14px;color:var(--text-body)}.cta{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 40px}.cta>div:first-child{flex:1 1 380px}.cta-text{margin-top:14px;max-width:56ch;font-size:15px}.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-gap:16px;gap:16px}.product{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--window);overflow:hidden;transition:border-color .15s ease}.product:hover{border-color:var(--line-strong)}.product-tab{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;background:var(--tab);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:11.5px;font-weight:400;color:var(--text-muted)}.product-tab span:last-child{text-transform:lowercase}.product-media{padding:20px 20px 12px;border-bottom:1px solid var(--line);background:var(--bg)}.product-body{display:flex;flex-direction:column;gap:10px;flex:1 1;padding:20px}.product-head{display:flex;align-items:center;gap:10px}.product-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:var(--radius)}.product-icon,.product-link:hover{color:var(--accent)}.product-tagline{font-size:14px}.product-body .cell-tags{margin-top:0;padding-top:0}.product-body .btn-row{margin-top:auto;padding-top:8px}.preview-stage{display:grid;align-items:center;height:200px}.preview-slide{grid-area:1/1;display:flex;justify-content:center;align-items:center;height:100%;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s}.preview-slide.is-active{opacity:1;visibility:visible}.preview-slide .device--desktop{width:min(100%,268px)}.preview-slide .device--phone{width:96px}.preview-controls{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px}.preview-dots{display:flex;align-items:center;gap:2px}.preview-dot{position:relative;width:24px;height:28px}.preview-dot:after{content:"";position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:50%;background:var(--line-strong);transform:translate(-50%,-50%);transition:width .2s ease,background-color .2s ease}.preview-dot.is-active:after{width:16px;border-radius:3px;background:var(--accent)}.device{width:100%}.device-frame{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--tab);overflow:hidden}.device-bar{display:flex;gap:5px;padding:7px 10px;border-bottom:1px solid var(--line)}.device-dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong)}.device--phone .device-frame{border-radius:18px;padding:6px;position:relative}.device-notch{position:absolute;top:10px;left:50%;width:34%;height:6px;border-radius:3px;background:var(--bg);transform:translateX(-50%);z-index:1}.device-screen{aspect-ratio:16/10;background:var(--bg);overflow:hidden}.device--phone .device-screen{aspect-ratio:9/19.5;border-radius:13px}.device-img{width:100%;height:100%;object-fit:cover}.device-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;color:var(--accent);background-image:linear-gradient(rgba(196,181,253,.06) 1px,transparent 0),linear-gradient(90deg,rgba(196,181,253,.06) 1px,transparent 0);background-size:28px 28px;background-position:-1px -1px}.device-placeholder-label{font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--text-muted);text-transform:lowercase;text-align:center;padding:0 8px}.product-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-gap:40px clamp(32px,5vw,64px);gap:40px clamp(32px,5vw,64px);align-items:center}.product-hero-shot{display:flex;justify-content:center}.product-hero-shot .device--desktop{width:100%;max-width:560px}.product-hero-shot .device--phone{width:220px}.shots{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.shot{flex:0 0 auto;scroll-snap-align:start;display:grid;grid-gap:10px;gap:10px;align-content:start}.shot--desktop{width:min(78vw,400px)}.shot--phone{width:150px}.shot-cap{font-family:var(--font-mono);font-size:12px;font-weight:400;color:var(--text-muted);text-transform:lowercase}.readme{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));grid-gap:28px clamp(32px,5vw,64px);gap:28px clamp(32px,5vw,64px)}.readme .win-head{margin-bottom:16px}.readme-desc{font-size:15px;margin-bottom:20px}.gallery-trigger{display:block;width:100%;border-radius:var(--radius);cursor:zoom-in;text-align:inherit}.lightbox{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:64px 16px;background:rgba(8,6,14,.92);opacity:0;transition:opacity .2s ease}.lightbox-visible{opacity:1}.lightbox-img{max-width:min(1200px,100%);max-height:100%;object-fit:contain;cursor:zoom-out}.lightbox-close,.lightbox-img,.lightbox-nav{border:1px solid var(--line-strong);border-radius:var(--radius)}.lightbox-close,.lightbox-nav{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--window);color:var(--text)}.lightbox-close{top:12px;right:12px}.lightbox-nav{top:50%;transform:translateY(-50%)}.lightbox-prev{left:12px}.lightbox-next{right:12px}dialog{color:inherit;border:0}dialog::-webkit-backdrop{background:rgba(8,6,14,.72)}dialog::backdrop{background:rgba(8,6,14,.72)}.palette{width:min(560px,calc(100vw - 32px));max-height:min(520px,calc(100dvh - 120px));margin:12vh auto auto;padding:0;background:var(--window);border:1px solid var(--line-strong);border-radius:var(--radius-win);overflow:hidden}.palette[open]{display:flex;flex-direction:column}.palette-input-row{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--line);color:var(--text-muted)}.palette-input{flex:1 1;min-width:0;height:52px;border:0;background:transparent;font-family:var(--font-mono);font-size:16px;font-weight:400;color:var(--text)}.palette-input:focus{outline:none}.palette-input::placeholder{color:var(--text-muted)}.palette-list{overflow-y:auto;padding:6px}.palette-item{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 12px;border-radius:var(--radius);font-family:var(--font-mono);font-size:13px;font-weight:400;color:var(--text-body);cursor:pointer}.palette-item svg{color:var(--text-muted)}.palette-item.is-active{background:var(--active);color:var(--text)}.palette-item.is-active svg{color:var(--accent)}.palette-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-hint{font-family:var(--font-body);font-size:12.5px;color:var(--text-muted);white-space:nowrap}.palette-empty{padding:16px 12px;font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}.sheet{position:fixed;inset:0 0 0 auto;width:min(340px,88vw);height:100dvh;max-height:none;margin:0 0 0 auto;padding:0;background:var(--bar);border-left:1px solid var(--line)}.sheet[open]{display:flex;flex-direction:column;animation:sheet-in .2s ease}@keyframes sheet-in{0%{transform:translateX(24px);opacity:0}}.sheet-head{display:flex;align-items:center;justify-content:space-between;height:var(--topbar);padding:0 12px 0 20px;border-bottom:1px solid var(--line)}.sheet-title{font-family:var(--font-mono);font-size:13px;color:var(--accent)}.sheet-body{flex:1 1;overflow-y:auto;padding:16px 12px}.sheet-body>.cmdbar{margin-bottom:20px;min-height:44px}.sheet-body .explorer+.explorer{margin-top:24px}.sheet-body .tree-row{min-height:42px}.sheet-foot{padding:12px 12px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.notfound-code{font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}.notfound-code .err{color:var(--danger)}@media (max-width:1100px){:root{--rail:200px;--gutter:24px}.cmdbar--top .kbd{display:none}}@media (max-width:900px){:root{--gutter:16px;--topbar:56px}.topbar{grid-template-columns:minmax(0,1fr) auto}.brand{padding:0 16px}.cmdbar--top{display:none}.topbar-actions{padding:0 12px 0 0}.menu-btn{display:inline-flex}.console-body{display:block}.rail{display:none}.mobile-head{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px;padding:16px 0 0}.mobile-head .explorer{border:1px solid var(--line);border-radius:var(--radius-win);padding:12px 6px 6px}.hero{padding-left:4px;padding-right:4px}.product-hero{grid-template-columns:minmax(0,1fr)}.product-hero-shot .device--phone{width:170px}}@media (max-width:560px){body{font-size:15px}.display{font-size:clamp(32px,10.2vw,42px)}.display--md{font-size:clamp(30px,9vw,40px)}.topbar .btn-sm{padding:0 12px}.win-body{padding:20px 16px}.win-tab{padding:0 12px}.hero{padding-top:40px;padding-bottom:40px}.hero-path{margin-bottom:20px}.hero-desc{margin-top:20px}.hero .btn-row{margin-top:24px}.cta .btn-row .btn,.hero .btn-row .btn{flex:1 1 auto}.cell{padding:18px 16px}.plan{padding:20px 16px 16px}.product-media{padding:16px 16px 8px}.product-body{padding:16px}.form-foot .btn{width:100%}.site-footer{flex-direction:column;padding-top:20px}.json{font-size:12.5px}.lightbox-nav{top:auto;bottom:16px;transform:none}.lightbox-prev{left:calc(50% - 52px)}.lightbox-next{right:calc(50% - 52px)}}@media (hover:none){.faq-item summary:hover,.tree-folder:hover,a.tree-row:hover{background:transparent}.tree-row.is-active{background:var(--active)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}