@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cd79e1ff94fa521b-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/89362aa296165c6d-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e11f95d95ac59fa4-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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/00f4982f357db61e-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/62a3c74fa0e47362-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8201559e247ad180-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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2173e4bb28c315da-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c6f81e539d11fc99-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/25ab8995c98996d7-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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9ddf1512dbee9c99-s.p.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8247d8d2a376ae43-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e270c9fc4fe96f5a-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:Be Vietnam Pro Fallback;src:local("Arial");ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.00%;size-adjust:110.36%}.__className_021202{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.__variable_021202{--font-body:"Be Vietnam Pro","Be Vietnam Pro Fallback"}@font-face{font-family:JetBrains Mono;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;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;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;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;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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.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;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;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;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;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;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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.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;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3743d9{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3743d9{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--bg:#f6f6f9;--surface:#ffffff;--surface-2:#f0eff5;--inset:#ebeaf2;--border:#dcdae6;--border-soft:#e9e7f0;--text:#17151f;--dim:#4b4858;--faint:#6b6779;--off:#a9a6b6;--accent:#6d28d9;--accent-hover:#5b21b6;--accent-ink:#6d28d9;--accent-soft:#f1ebfe;--accent-line:#d5c5fb;--on-accent:#ffffff;--ok:#15803d;--ok-bg:#e9f7ee;--ok-line:#b9e3c6;--warn:#a15c07;--warn-bg:#fdf4e2;--warn-line:#f1d7a1;--danger:#c0262d;--danger-bg:#fdeced;--danger-line:#f4c3c5;--info:#1d5fbf;--info-bg:#eaf1fd;--info-line:#c3d6f6;--led-ok:#22c55e;--led-warn:#f59e0b;--led-danger:#ef4444;--led-busy:#7c3aed;--led-off:#b4b1c2;--cloud:#0e7490;--cloud-bg:#e6f6f9;--cloud-line:#b5e1ea;--term-bg:#15131c;--term-text:#e9e7f2;--term-dim:#9a96ab;--term-ok:#6ee7a0;--term-warn:#fcd34d;--term-acc:#c4b5fd;--shadow-1:0 1px 2px rgba(23,21,31,0.06),0 1px 1px rgba(23,21,31,0.04);--shadow-2:0 2px 4px rgba(23,21,31,0.05),0 12px 32px rgba(23,21,31,0.1);--scrim:rgba(23,21,31,0.42);--display:var(--font-body),ui-sans-serif,system-ui,"Segoe UI",sans-serif;--body:var(--font-body),ui-sans-serif,system-ui,"Segoe UI",Roboto,Arial,sans-serif;--mono:var(--font-mono),ui-monospace,"Cascadia Mono",SFMono-Regular,Menlo,Consolas,monospace;--sans:var(--body);--fs-0:12px;--fs-1:13px;--fs-2:14px;--fs-3:16px;--fs-4:21px;--fs-5:26px;--fs-6:34px;--fs-7:55px;--s0:3px;--s1:5px;--s2:8px;--s3:13px;--s4:21px;--s5:34px;--s6:55px;--s7:89px;--r-sm:5px;--r-md:8px;--r-lg:13px;--r-xl:21px;--r-pill:99px;--maxw:1100px;--maxw-prose:68ch;--header-h:64px;--fs-display:clamp(var(--fs-6),1.35rem + 2.9vw,var(--fs-7));--fs-h1:clamp(var(--fs-5),1.3rem + 1.4vw,var(--fs-6));--fs-h2:clamp(var(--fs-5),1.3rem + 1.4vw,var(--fs-6));--fs-h3:var(--fs-3);--fs-lead:var(--fs-3);--space-section:clamp(var(--s6),2.5rem + 4vw,var(--s7));color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f0e14;--surface:#17161e;--surface-2:#1f1d28;--inset:#121119;--border:#2e2b3a;--border-soft:#24222e;--text:#f2f1f7;--dim:#bdbacb;--faint:#918da3;--off:#5a5669;--accent:#7c3aed;--accent-hover:#8b5cf6;--accent-ink:#b9a3ff;--accent-soft:rgba(139,92,246,0.15);--accent-line:rgba(139,92,246,0.42);--on-accent:#ffffff;--ok:#4ade80;--ok-bg:rgba(74,222,128,0.1);--ok-line:rgba(74,222,128,0.3);--warn:#fbbf24;--warn-bg:rgba(251,191,36,0.1);--warn-line:rgba(251,191,36,0.3);--danger:#f87171;--danger-bg:rgba(248,113,113,0.1);--danger-line:rgba(248,113,113,0.32);--info:#7cb2ff;--info-bg:rgba(124,178,255,0.1);--info-line:rgba(124,178,255,0.3);--led-off:#5a5669;--cloud:#67d4e8;--cloud-bg:rgba(103,212,232,0.1);--cloud-line:rgba(103,212,232,0.3);--term-bg:#0b0a10;--shadow-1:0 1px 2px rgba(0,0,0,0.4);--shadow-2:0 2px 4px rgba(0,0,0,0.3),0 16px 40px rgba(0,0,0,0.45);--scrim:rgba(0,0,0,0.6);color-scheme:dark}}:root[data-theme=dark]{--bg:#0f0e14;--surface:#17161e;--surface-2:#1f1d28;--inset:#121119;--border:#2e2b3a;--border-soft:#24222e;--text:#f2f1f7;--dim:#bdbacb;--faint:#918da3;--off:#5a5669;--accent:#7c3aed;--accent-hover:#8b5cf6;--accent-ink:#b9a3ff;--accent-soft:rgba(139,92,246,0.15);--accent-line:rgba(139,92,246,0.42);--on-accent:#ffffff;--ok:#4ade80;--ok-bg:rgba(74,222,128,0.1);--ok-line:rgba(74,222,128,0.3);--warn:#fbbf24;--warn-bg:rgba(251,191,36,0.1);--warn-line:rgba(251,191,36,0.3);--danger:#f87171;--danger-bg:rgba(248,113,113,0.1);--danger-line:rgba(248,113,113,0.32);--info:#7cb2ff;--info-bg:rgba(124,178,255,0.1);--info-line:rgba(124,178,255,0.3);--led-off:#5a5669;--cloud:#67d4e8;--cloud-bg:rgba(103,212,232,0.1);--cloud-line:rgba(103,212,232,0.3);--term-bg:#0b0a10;--shadow-1:0 1px 2px rgba(0,0,0,0.4);--shadow-2:0 2px 4px rgba(0,0,0,0.3),0 16px 40px rgba(0,0,0,0.45);--scrim:rgba(0,0,0,0.6);color-scheme:dark}:root[data-theme=light]{color-scheme:light}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--s3));overflow-x:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}body{background:var(--surface);font-family:var(--body);font-size:var(--fs-3);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body,h1,h2,h3,h4{margin:0;color:var(--text)}h1,h2,h3,h4{text-wrap:balance}h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.1}h3,h4{font-family:var(--body);font-weight:600;line-height:1.3}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-5)}h3{font-size:var(--fs-3)}p{margin:0;text-wrap:pretty}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}img,svg{max-width:100%;height:auto}ol,ul{margin:0;padding:0}code,kbd,pre{font-family:var(--mono)}code{font-size:.9em;background:var(--inset);border:1px solid var(--border-soft);padding:0 var(--s1);border-radius:var(--r-sm);overflow-wrap:anywhere}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:var(--r-sm)}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:var(--on-accent);padding:var(--s2) var(--s3);border-radius:0 0 var(--r-md) 0}.skip-link:focus{left:0}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--s5)}.section{padding-block:var(--space-section)}.section--tight{padding-block:var(--s5) var(--s6)}.section--alt{background:var(--bg);border-block:1px solid var(--border-soft)}.stack{display:flex;flex-direction:column;gap:var(--s3)}.stack--lg{gap:var(--s5)}.section-head{display:flex;flex-direction:column;gap:var(--s2);max-width:660px;margin-bottom:var(--s5)}.section-head h2{font-size:var(--fs-h2)}.section-head p{font-size:var(--fs-3);color:var(--dim)}.section-head--row{max-width:none;flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s4)}.section-head--row>div{gap:var(--s2);max-width:660px}.page-head,.section-head--row>div{display:flex;flex-direction:column}.page-head{gap:var(--s3);max-width:760px}.page-head h1{font-size:var(--fs-h1)}.page-head .lead{max-width:62ch}.eyebrow{font-family:var(--mono);font-size:var(--fs-0);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.lead{font-size:var(--fs-lead);line-height:1.65}.lead,.muted{color:var(--dim)}.faint{color:var(--faint)}.mono,.small{font-size:var(--fs-1)}.mono{font-family:var(--mono)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.break-all{word-break:break-all;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}.i--s{width:16px;height:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:600 var(--fs-2) /1.2 var(--body);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-1);transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--surface-2)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--dim)}.btn--ghost:hover{color:var(--text)}.btn--sm{min-height:40px;padding:0 var(--s3);font-size:var(--fs-1)}.btn--lg{min-height:48px;padding:0 var(--s4);font-size:var(--fs-3)}.btn .i{width:16px;height:16px}.btn-row{display:flex;flex-wrap:wrap;gap:var(--s2)}.more-link{font-weight:600;min-height:44px}.badge,.more-link{display:inline-flex;align-items:center;gap:var(--s1);white-space:nowrap}.badge{padding:1px var(--s2);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--dim);font:500 var(--fs-0) /1.6 var(--body)}.badge--ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-line)}.badge--warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-line)}.badge--accent{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-line)}.badge--cloud{color:var(--cloud);background:var(--cloud-bg);border-color:var(--cloud-line)}.badge--mono{font-family:var(--mono)}.led{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--led-off);flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--led-off) 18%,transparent)}.led--ok{background:var(--led-ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--led-ok) 20%,transparent)}.led--warn{background:var(--led-warn);box-shadow:0 0 0 3px color-mix(in srgb,var(--led-warn) 22%,transparent)}.status{white-space:nowrap}.pill,.status{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--fs-1);font-weight:500;color:var(--dim)}.pill{padding:var(--s1) var(--s3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-1)}.pill .i{color:var(--accent-ink)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:var(--s4);min-width:0}.card--link{display:block;color:var(--text);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease}.card--link:hover{border-color:var(--accent-line);box-shadow:var(--shadow-2);text-decoration:none}.card h3{font-size:var(--fs-3);margin-bottom:var(--s2)}.card--dashed{border-style:dashed;box-shadow:none;background:transparent}.grid{display:grid;grid-gap:var(--s3);gap:var(--s3)}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.ticks{list-style:none;display:flex;flex-direction:column;gap:var(--s2)}.ticks li{display:grid;grid-template-columns:16px minmax(0,1fr);grid-gap:var(--s2);gap:var(--s2);align-items:start;color:var(--dim);font-size:var(--fs-2)}.ticks li:before{content:"";width:16px;height:16px;margin-top:.2em;background:var(--ok);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center /contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center /contain no-repeat}.ticks li.soon{color:var(--faint)}.ticks li.soon:before{background:var(--faint);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}.notice{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) var(--s4);border-radius:var(--r-lg);border:1px solid var(--info-line);background:var(--info-bg);color:var(--text);font-size:var(--fs-2)}.notice--accent{border-color:var(--accent-line);background:var(--accent-soft)}.notice--warn{border-color:var(--warn-line);background:var(--warn-bg)}.notice .i{margin-top:1px;color:var(--info)}.notice--warn .i{color:var(--warn)}.notice--accent .i{color:var(--accent-ink)}.cmd{display:flex;align-items:center;gap:var(--s2);min-width:0;padding:var(--s1) var(--s1) var(--s1) var(--s3);background:var(--term-bg);border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--term-text) 8%,transparent)}.cmd code{flex:1 1;min-width:0;background:none;border:0;padding:var(--s2) 0;color:var(--term-text);font-size:var(--fs-2);white-space:pre-wrap;word-break:normal;overflow-wrap:normal;overflow-x:auto;scrollbar-width:thin}.cmd code:before{content:"$ ";color:var(--term-dim)}.cmd--plain code:before{content:none}.cmd .btn{flex:none;box-shadow:none;background:color-mix(in srgb,var(--term-text) 10%,transparent);border-color:color-mix(in srgb,var(--term-text) 16%,transparent);color:var(--term-text)}.cmd .btn:hover{background:color-mix(in srgb,var(--term-text) 18%,transparent)}.install{display:flex;flex-direction:column;gap:var(--s2);width:100%;max-width:560px}.install__label{font:600 var(--fs-2) /1.4 var(--body);color:var(--text)}.install__note code.nowrap{white-space:nowrap}.hero__alt{margin-top:var(--s3);font-weight:600}.install__note{font-size:var(--fs-1);color:var(--faint)}.scroll-x{overflow-x:auto;scrollbar-width:thin;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-2);min-width:640px}.table td,.table th{text-align:left;padding:var(--s3) var(--s4);border-top:1px solid var(--border-soft);vertical-align:top}.table thead th{font:600 var(--fs-0) /1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);background:var(--surface-2);border-top:0;border-bottom:1px solid var(--border);padding-block:var(--s2)}.table tbody tr:first-child td,.table tbody tr:first-child th{border-top:0}.table tbody th{font-weight:500;color:var(--text)}.table td{color:var(--dim)}.table .is-key{background:var(--accent-soft)}.table thead th.is-key{color:var(--accent-ink)}.table--compact{min-width:0}.table--stack tbody th{white-space:nowrap}.table-cards{display:none;list-style:none}.specs{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);grid-gap:var(--s2) var(--s4);gap:var(--s2) var(--s4);margin:0;font-size:var(--fs-2)}.specs>div{display:contents}.specs dt{color:var(--faint)}.specs dd{margin:0;min-width:0;overflow-wrap:anywhere}.header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-soft)}.header__inner{display:flex;align-items:center;gap:var(--s4);min-height:var(--header-h)}.brand{display:inline-flex;align-items:center;gap:var(--s2);color:var(--text);flex:none}.brand,.brand:hover{text-decoration:none}.brand__mark{width:28px;height:28px;flex:none}.mark .bg{fill:var(--accent)}.mark .bolt{fill:var(--on-accent)}.wordmark{font:700 var(--fs-3) /1 var(--display);letter-spacing:-.015em;color:var(--text)}.wordmark i{font-style:normal;color:var(--accent-ink)}.header__spacer{flex:1 1}.header__nav{flex:1 1;min-width:0}.header__links,.header__nav{display:flex;align-items:center;gap:var(--s0)}.header__nav a:not(.btn){display:inline-flex;align-items:center;min-height:40px;padding:0 var(--s3);border-radius:var(--r-md);color:var(--dim);font-size:var(--fs-2);font-weight:500;text-decoration:none;white-space:nowrap}.header__nav a:not(.btn):hover,.header__nav a[aria-current=page]{color:var(--text);background:var(--surface-2)}.header__end{margin-left:auto;display:flex;align-items:center;gap:var(--s2)}.header__nav .btn{min-height:40px;padding:0 var(--s3)}.header__scrim,.header__sheet-head,.header__toggle{display:none}.locale-switch{display:inline-flex;padding:var(--s0);gap:var(--s0);border-radius:var(--r-md);background:var(--inset);border:1px solid var(--border-soft)}.header__nav .locale-switch a,.locale-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;min-width:36px;padding:0 var(--s2);border-radius:var(--r-sm);font:600 var(--fs-1) /1 var(--body);color:var(--dim);background:none;text-decoration:none}.header__nav .locale-switch a[aria-current=true],.locale-switch a[aria-current=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1),inset 0 0 0 1px var(--border)}.hero{padding-block:var(--s7) var(--s6);background:linear-gradient(180deg,var(--bg),var(--surface))}.hero__grid{display:grid;grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);grid-gap:var(--s6);gap:var(--s6);align-items:center}.hero__copy{display:flex;flex-direction:column;gap:var(--s4);align-items:flex-start;min-width:0}.hero h1{font:700 var(--fs-display) /1.12 var(--display);letter-spacing:-.02em;max-width:17ch}.hero .lead{max-width:54ch}.hero__shot{display:flex;flex-direction:column;gap:var(--s2);min-width:0}.frame{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-2);overflow:hidden}.frame__bar{display:flex;align-items:center;gap:var(--s1);padding:var(--s2) var(--s3);background:var(--surface-2);border-bottom:1px solid var(--border)}.frame__bar i{width:8px;height:8px;border-radius:50%;background:var(--border)}.admin-loop{margin:0;display:grid;grid-gap:var(--s2);gap:var(--s2)}.admin-loop img{display:block;width:100%;height:auto;aspect-ratio:16/9;background:var(--bg)}.admin-loop figcaption{font-size:var(--fs-1);color:var(--faint)}.admin-loop--framed img{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2)}.feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--s5);gap:var(--s5)}.feat{display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s4);border-top:1px solid var(--border);min-width:0}.feat h3{font-size:var(--fs-3)}.feat p{color:var(--dim);font-size:var(--fs-2)}.feat__ic{width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent-line);margin-bottom:var(--s1)}.acards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));grid-gap:var(--s3);gap:var(--s3)}.acards--3{grid-template-columns:repeat(3,minmax(0,1fr))}.acard{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);color:var(--text);min-width:0;transition:border-color .15s ease,box-shadow .15s ease}.acard,.acard:hover{text-decoration:none}.acard:hover{border-color:var(--accent-line);box-shadow:var(--shadow-2)}.acard__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s2)}.acard h2,.acard h3{font:600 var(--fs-3) /1.3 var(--body);letter-spacing:0}.acard>p:not(.btn-row){color:var(--dim);font-size:var(--fs-2);flex:1 1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.acard__ft{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border-soft);font-size:var(--fs-1);color:var(--faint)}.acard__ft .i{margin-left:auto;color:var(--accent-ink)}.acard--req{border-style:dashed;box-shadow:none;background:transparent}.appicon{width:48px;height:48px;border-radius:22%;display:grid;place-items:center;flex:none;padding:var(--s2);background:var(--surface-2);border:1px solid var(--border-soft);object-fit:contain}.appicon--sm{width:32px;height:32px;padding:var(--s1)}.appicon--lg{width:72px;height:72px;padding:var(--s3)}.app-card__icon{width:40px;height:40px;flex:none;border-radius:22%;background:var(--surface-2);border:1px solid var(--border-soft);padding:var(--s1);object-fit:contain}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s1)}.tags li{font:500 var(--fs-0) /1.6 var(--body);color:var(--dim);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);padding:1px var(--s2)}.cat-tools{gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}.cat-tools,.search{display:flex;align-items:center}.search{gap:var(--s2);flex:1 1 220px;max-width:300px;min-height:44px;padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--faint)}.search:focus-within{outline:2px solid var(--accent-line);border-color:var(--accent-ink)}.search input{flex:1 1;min-width:0;min-height:40px;border:0;background:none;font:400 var(--fs-2) var(--body);color:var(--text);outline:none}.chips{display:flex;gap:var(--s2);flex-wrap:wrap}.chip{min-height:40px;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-pill);padding:0 var(--s3);font:500 var(--fs-1) /1 var(--body);color:var(--dim);cursor:pointer}.chip span{color:var(--faint);margin-left:var(--s1);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.cat-tools .empty{flex:1 1 100%}.cat-count{margin-left:auto;font-size:var(--fs-1);color:var(--faint)}.empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s2);padding:var(--s6) var(--s4);border:1px dashed var(--border);border-radius:var(--r-lg);background:var(--surface)}.empty h3{font:700 var(--fs-4) /1.2 var(--display)}.empty .btn,.empty h3{max-width:100%;overflow-wrap:anywhere}.empty .btn{white-space:normal;text-align:center;padding-block:var(--s2)}.empty p{color:var(--dim);max-width:46ch}.steps{list-style:none;counter-reset:step;display:grid;grid-gap:var(--s3);gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.steps>li{counter-increment:step;display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0}.steps>li:before{content:counter(step);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--on-accent);font:700 var(--fs-1) /1 var(--display)}.steps>li h3{font-size:var(--fs-3)}.steps>li p{color:var(--dim);font-size:var(--fs-2)}.steps>li.is-optional{border-style:dashed;background:transparent}.steps>li.is-optional:before{background:transparent;border:1.5px dashed var(--off);color:var(--faint)}.olist{list-style:none;counter-reset:o;display:flex;flex-direction:column;gap:var(--s3)}.olist>li{counter-increment:o;display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:var(--s3);gap:var(--s3);color:var(--dim);min-width:0}.olist>li:before{content:counter(o);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface);font:600 var(--fs-0) /1 var(--body);color:var(--text);margin-top:1px}.olist>li>*{grid-column:2;min-width:0}.olist>li>:first-child{grid-row:1}.unplug{display:grid;grid-template-columns:minmax(0,1.618fr) 144px minmax(0,1fr);align-items:stretch}.unplug__node{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);min-width:0;transition:opacity .3s ease,border-color .3s ease}.unplug__node--box{border-color:var(--accent-line)}.unplug__node h3{font:700 var(--fs-4) /1.2 var(--display);letter-spacing:-.015em}.unplug__items{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 var(--s4);gap:0 var(--s4)}.unplug__node--cloud .unplug__items{grid-template-columns:minmax(0,1fr)}.unplug__items li{justify-content:space-between;padding:var(--s2) 0;border-bottom:1px solid var(--border-soft);font-size:var(--fs-2);min-width:0}.unplug__items li,.unplug__link{display:flex;align-items:center;gap:var(--s2)}.unplug__link{flex-direction:column;justify-content:center;padding-inline:var(--s1)}.unplug__link svg{width:100%;height:34px;overflow:visible}.unplug__link .wire{stroke:var(--accent-ink);stroke-width:2;fill:none;transition:stroke .3s ease}.unplug__link .sock{fill:var(--accent-soft);stroke:var(--accent-ink);stroke-width:1.5}.unplug__link .plug{transition:transform .35s cubic-bezier(.3,.7,.3,1)}.unplug__link .plug rect{fill:var(--accent)}.unplug__link .plug .prong{stroke:var(--accent-ink);stroke-width:2;stroke-linecap:round}.unplug__tag{font:500 var(--fs-0) /1.3 var(--mono);color:var(--faint);text-align:center}.unplug.is-off .wire{stroke:var(--off);stroke-dasharray:4 6}.unplug.is-off .sock{fill:var(--surface);stroke:var(--off)}.unplug.is-off .plug{transform:translateX(-20px)}.unplug.is-off .plug rect{fill:var(--off)}.unplug.is-off .plug .prong{stroke:var(--off)}.unplug.is-off .unplug__node--cloud{opacity:.6;border-style:dashed;box-shadow:none}.unplug__state{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s4);font-size:var(--fs-2);color:var(--dim)}.unplug__state b{color:var(--text);font-weight:600}.unplug__foot{margin-top:var(--s4);font-size:var(--fs-2);color:var(--dim);max-width:72ch}.plans{display:grid;grid-gap:var(--s3);grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.plan,.plans{gap:var(--s3)}.plan{display:flex;flex-direction:column;padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);min-width:0;height:100%}.plan--featured{border-color:var(--accent-ink);box-shadow:0 0 0 1px var(--accent-ink),var(--shadow-2)}.plan__name{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);font:600 var(--fs-3) /1.3 var(--body);letter-spacing:0}.plan__price{font:700 var(--fs-6) /1 var(--display);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plan__price--sm{font-size:var(--fs-5)}.plan__note{font-size:var(--fs-1);color:var(--faint)}.plan__body,.plan__lim{font-size:var(--fs-2);color:var(--dim)}.plan__lim{margin-top:auto;padding-top:var(--s2);border-top:1px solid var(--border-soft)}.plan .btn{width:100%}.plan .ticks{padding-block:var(--s3);border-top:1px solid var(--border-soft)}.plan__cta{margin-top:auto}.faq-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.618fr);grid-gap:var(--s6);gap:var(--s6)}.faq{display:flex;flex-direction:column;border-top:1px solid var(--border);max-width:760px}.faq details{border-bottom:1px solid var(--border)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s4);min-height:44px;padding:var(--s4) 0;font-weight:600;font-size:var(--fs-3)}.faq summary h3{font:inherit}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";flex:none;width:18px;height:18px;background:var(--faint);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center /contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center /contain no-repeat;transition:transform .2s ease}.faq details[open] summary:after{transform:rotate(180deg);background:var(--accent-ink)}.faq details>p{padding:0 0 var(--s4);color:var(--dim);max-width:66ch;font-size:var(--fs-2);line-height:1.7}.end-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--s5);gap:var(--s5);padding:var(--s6) var(--s5);border:1px solid var(--accent-line);border-radius:var(--r-xl);background:var(--accent-soft)}.end-band h2{font-size:var(--fs-h2);max-width:18ch}.end-band .stack{min-width:0}.proof{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.618fr);grid-gap:var(--s6);gap:var(--s6);align-items:center;padding:var(--s6) 0;border-top:1px solid var(--border-soft)}.proof--flip{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr)}.proof--flip .proof__claim{order:2}.proof__claim{display:flex;flex-direction:column;gap:var(--s3);min-width:0}.proof__claim h2{font-size:var(--fs-5)}.proof__claim p{font-size:var(--fs-3);color:var(--dim)}.proof__panel{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);border-radius:var(--r-xl);background:var(--bg);border:1px solid var(--border-soft);min-width:0}.proof__panel .ticks li{font-size:var(--fs-2);color:var(--text);padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.proof__label{font:500 var(--fs-0) /1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}.docs{display:grid;grid-template-columns:minmax(0,1fr) 200px;grid-gap:var(--s6);gap:var(--s6);align-items:start}.docs__art{max-width:var(--maxw-prose);display:flex;flex-direction:column;gap:var(--s3);min-width:0}.docs__art h2{font-size:var(--fs-5);margin-top:var(--s4)}.docs__art .olist>li,.docs__art>p{font-size:var(--fs-3);line-height:1.7;color:var(--dim)}.toc{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + var(--s4));display:flex;flex-direction:column;gap:var(--s2);padding-left:var(--s3);border-left:1px solid var(--border);font-size:var(--fs-1)}.toc b{font:500 var(--fs-0) /1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:var(--s1)}.toc a{color:var(--dim)}.toc ol{display:flex;flex-direction:column;gap:var(--s2)}.posts,.toc ol{list-style:none}.posts{border-bottom:1px solid var(--border-soft)}.post-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;grid-gap:var(--s4);gap:var(--s4);padding:var(--s4) 0;border-top:1px solid var(--border-soft);align-items:baseline}.post-row time{font:400 var(--fs-1) var(--mono);color:var(--faint)}.post-row h2{font:700 var(--fs-4) /1.25 var(--display);letter-spacing:-.01em}.post-row h2 a{color:var(--text)}.post-row p{color:var(--dim);margin-top:var(--s1);max-width:68ch;font-size:var(--fs-2)}.post-row__meta{font-size:var(--fs-1);color:var(--faint);white-space:nowrap}.read{max-width:var(--maxw-prose);margin:0 auto;display:flex;flex-direction:column;gap:var(--s4)}.read h1{font:700 var(--fs-h1) /1.15 var(--display);letter-spacing:-.025em}.read .lede{font-size:var(--fs-4);line-height:1.5;color:var(--text)}.prose{max-width:var(--maxw-prose);display:flex;flex-direction:column;gap:var(--s4)}.prose h2{font-size:var(--fs-5);margin-top:var(--s3)}.prose li,.prose p{font-size:var(--fs-3);line-height:1.75;color:var(--dim)}.prose ul{padding-left:var(--s4);display:flex;flex-direction:column;gap:var(--s1)}.prose pre{background:var(--term-bg);color:var(--term-text);border-radius:var(--r-lg);padding:var(--s3) var(--s4);margin:0;overflow-x:auto;max-width:100%;scrollbar-width:thin;font-size:var(--fs-1);line-height:1.8}.prose pre code{background:none;border:0;padding:0;color:inherit;overflow-wrap:normal}.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s3);font-size:var(--fs-1);color:var(--faint)}.post-meta time{font-family:var(--mono)}.breadcrumb{font-size:var(--fs-1);color:var(--faint)}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s1);align-items:center}.breadcrumb li:not(:last-child):after{content:"/";margin-left:var(--s1);color:var(--off)}.breadcrumb a{color:var(--faint)}.legal{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:var(--s6);gap:var(--s6);align-items:start}.legal__aside{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + var(--s4));gap:var(--s4)}.legal__aside,.legal__tabs{display:flex;flex-direction:column}.legal__tabs{gap:var(--s0)}.legal__tabs a{display:flex;align-items:center;min-height:40px;padding:0 var(--s3);border-radius:var(--r-md);color:var(--dim);font-size:var(--fs-2);font-weight:500}.legal__tabs a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.legal__toc{padding-left:var(--s4);display:flex;flex-direction:column;gap:var(--s2);font-size:var(--fs-1);color:var(--faint)}.legal__toc a{color:var(--dim)}.legal .prose h2{font-size:var(--fs-4);margin-top:var(--s2)}.legal .prose p{font-size:var(--fs-2)}.legal .prose section{display:flex;flex-direction:column;gap:var(--s3)}.app-layout{display:grid;grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);grid-gap:var(--s5);gap:var(--s5);align-items:start}.app-main{gap:var(--s6)}.app-aside,.app-main{display:flex;flex-direction:column;min-width:0}.app-aside,.app-head{gap:var(--s4)}.app-head{display:flex;align-items:flex-start}.app-head h1{font-size:var(--fs-h1)}.app-head .lead{margin-top:var(--s2)}.app-head .row{margin-top:var(--s3)}.row{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);min-width:0}.panel__h{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;padding:var(--s3) var(--s4);border-bottom:1px solid var(--border-soft)}.panel__h h2,.panel__h h3{font:600 var(--fs-3) /1.3 var(--body);letter-spacing:0}.panel__b{padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3);min-width:0}.panel__f{display:flex;gap:var(--s2);flex-wrap:wrap;padding:var(--s3) var(--s4);border-top:1px solid var(--border-soft);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg)}.h2-sm{font:700 var(--fs-5) /1.15 var(--display);letter-spacing:-.02em}.mini-list{list-style:none}.mini-list li+li{border-top:1px solid var(--border-soft)}.mini-list a{display:flex;align-items:center;gap:var(--s3);min-height:44px;padding:var(--s2) var(--s4);color:var(--text);font-weight:600;font-size:var(--fs-2)}.footer{border-top:1px solid var(--border);background:var(--bg);margin-top:var(--s6)}.footer__grid{display:grid;grid-template-columns:minmax(0,1.618fr) repeat(2,minmax(0,1fr));grid-gap:var(--s5);gap:var(--s5);padding-block:var(--s6) var(--s5)}.footer__grid p{color:var(--faint);max-width:34ch;margin-top:var(--s3);font-size:var(--fs-2)}.footer h2{font:500 var(--fs-0) /1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:var(--s3)}.footer ul{list-style:none;display:flex;flex-direction:column;gap:var(--s2)}.footer a:not(.brand){color:var(--dim);font-size:var(--fs-2)}.footer a:not(.brand):hover{color:var(--text)}.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4);padding:var(--s4) 0;border-top:1px solid var(--border-soft)}.footer__bottom,.footer__bottom .footer__legal a,.footer__bottom .linklike{font-size:var(--fs-1);color:var(--faint)}.footer .locale-switch a[aria-current=true]{color:var(--text)}.footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}.footer__legal a+.linklike:before,.footer__legal a+a:before{content:"";display:inline-block;width:1px;height:12px;background:var(--border);margin-right:var(--s3);vertical-align:middle}.footer__end{margin-left:auto;display:flex;align-items:center;gap:var(--s3)}.linklike{background:none;border:0;padding:2px 0;font:inherit;color:var(--dim);cursor:pointer}.linklike:hover{color:var(--text)}.consent{position:fixed;inset:auto var(--s3) var(--s3) var(--s3);z-index:60;max-width:560px;margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2);font-size:var(--fs-2);color:var(--dim)}.consent p{flex:1 1 260px;margin:0}.locale-suggest{position:fixed;left:var(--s3);right:var(--s3);bottom:calc(var(--s3) + env(safe-area-inset-bottom));z-index:40;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);max-width:560px;margin:0 auto;padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2);font-size:var(--fs-2)}.locale-suggest p{flex:1 1 200px;margin:0}.sticky-cta{display:none}.waitlist{display:grid;grid-gap:var(--s2);gap:var(--s2);max-width:560px}.waitlist__row{display:flex;gap:var(--s2)}.waitlist__input{flex:1 1 auto;min-width:0;min-height:44px;padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:400 var(--fs-2) /1.4 var(--body)}.waitlist__input:focus-visible{outline:2px solid var(--accent-line);border-color:var(--accent-ink)}.waitlist--lg .btn,.waitlist--lg .waitlist__input{min-height:48px}.waitlist__note{font-size:var(--fs-1);margin:0}.product-video{margin:0;display:grid;grid-gap:var(--s2);gap:var(--s2)}.product-video video{width:100%;height:auto;aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--term-bg);box-shadow:var(--shadow-2)}.product-video figcaption{font-size:var(--fs-1);color:var(--faint)}.welcome-share{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0}@media (max-width:991px){.container{padding:0 var(--s4)}.hero__grid{grid-template-columns:minmax(0,1fr);gap:var(--s5)}.hero h1{max-width:none}.hero{padding-block:var(--s6) var(--s5)}.acards--3,.feats,.grid--3,.grid--4,.plans{grid-template-columns:repeat(2,minmax(0,1fr))}.app-layout,.docs,.end-band,.faq-wrap,.legal,.proof,.proof--flip{grid-template-columns:minmax(0,1fr)}.faq-wrap,.proof{gap:var(--s4)}.proof--flip .proof__claim{order:0}.legal__aside,.toc{position:static}.docs .toc,.legal__toc{display:none}.legal__tabs{flex-direction:row;flex-wrap:wrap}.unplug{grid-template-columns:minmax(0,1fr)}.unplug__link{flex-direction:row;padding:var(--s3) 0}.unplug__link svg{width:144px;flex:none}.footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer__grid>:first-child{grid-column:1/-1}.header__inner{gap:var(--s3)}.header__nav a:not(.btn){padding:0 var(--s2)}}@media (min-width:577px) and (max-width:767px){.header .container{padding:0 var(--s3)}.header__inner{gap:var(--s2)}.header__nav .locale-switch{display:none}.header__nav a:not(.btn){padding:0 var(--s1)}.header__nav .btn{padding:0 var(--s2)}}@media (max-width:576px){.container{padding:0 var(--s3)}.btn{white-space:normal;text-align:center}.app-head{flex-direction:column;gap:var(--s3)}.app-head .appicon--lg{width:56px;height:56px}.acards--3,.feats,.footer__grid,.grid--2,.grid--3,.grid--4,.plans,.unplug__items{grid-template-columns:minmax(0,1fr)}.feats{gap:var(--s4)}.hero{padding-block:var(--s5)}.hero h1{font-size:var(--fs-6);line-height:1.08}.end-band h2,.section-head h2{font-size:var(--fs-5)}.end-band{padding:var(--s5) var(--s4)}.post-row{grid-template-columns:minmax(0,1fr);gap:var(--s1)}.post-row__meta{white-space:normal}.cat-count{margin-left:0}.search{max-width:none}.btn--sm,.chip,.legal__tabs a,.search input{min-height:44px}.btn--sm{min-width:44px}.header{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}.header__toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text);cursor:pointer}.header__toggle:hover{background:var(--surface-2)}.header__scrim{position:fixed;inset:0;z-index:60;background:var(--scrim)}.header__scrim[data-open=true]{display:block}.header__nav{position:fixed;left:0;right:0;bottom:0;z-index:61;flex-direction:column;align-items:stretch;gap:var(--s0);max-height:85vh;padding:var(--s2) var(--s3) calc(var(--s4) + env(safe-area-inset-bottom));background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-2);overflow-y:auto;transform:translateY(100%);visibility:hidden;transition:transform .25s ease,visibility .25s ease}.header__nav[data-open=true]{transform:translateY(0);visibility:visible}.header__sheet-head{display:flex;align-items:center;justify-content:space-between;padding-left:var(--s2)}.header__sheet-head:before{content:"";position:absolute;top:var(--s2);left:50%;width:40px;height:5px;margin-left:-20px;border-radius:var(--r-pill);background:var(--border)}.header__sheet-head .header__close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:var(--r-md);background:transparent;color:var(--text);cursor:pointer}.header__links{flex-direction:column;align-items:stretch}.header__nav a:not(.btn){min-height:48px;padding:0 var(--s3);font-size:var(--fs-3);font-weight:600;color:var(--text)}.header__nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink)}.header__end{margin:var(--s2) 0 0;padding-top:var(--s3);border-top:1px solid var(--border-soft)}.header__end .btn{flex:1 1;min-height:44px}.header__nav .locale-switch a{min-height:44px;min-width:44px}.footer .linklike,.footer a:not(.brand){min-height:44px;min-width:44px;display:inline-flex;align-items:center}.footer .locale-switch a{min-height:44px;min-width:44px}.footer__legal{column-gap:var(--s4)}.footer__legal a+.linklike:before,.footer__legal a+a:before{display:none}.footer__end{margin-left:0}.breadcrumb a,.breadcrumb li[aria-current]{min-height:44px;min-width:44px;display:inline-flex;align-items:center}.footer .brand,.header .brand{min-height:44px}.more-link{min-width:44px}.scroll-x--cards{display:none}.table-cards{display:flex;flex-direction:column;gap:var(--s3)}.table-cards>li{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s3) var(--s4)}.table-cards h3{font-size:var(--fs-3);margin-bottom:var(--s2)}.table-cards .specs>div+div dt{margin-top:var(--s2)}.table--stack tbody th,.table--stack td,.table--stack tr{display:block}.table--stack tbody th{white-space:normal;padding-bottom:var(--s1)}.table--stack td{border-top:0;padding-top:0}.specs{grid-template-columns:minmax(0,1fr);gap:var(--s1)}.specs dt{font-size:var(--fs-0);text-transform:uppercase;letter-spacing:.08em}.specs dd+dt{margin-top:var(--s2)}.card,.plan,.steps>li{padding:var(--s4) var(--s3)}.cmd{flex-direction:column;align-items:stretch;gap:var(--s2);padding:var(--s2)}.cmd .btn{width:100%;min-height:44px}.waitlist__row{flex-direction:column}.waitlist__row .btn{width:100%}.linklike{display:inline-flex;align-items:center}.consent .btn,.linklike,.locale-suggest .btn,.welcome-share .btn{min-height:44px}.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:var(--s3) var(--s3) calc(var(--s3) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-2)}.sticky-cta[data-show=true]{display:block}body:has(.consent) .sticky-cta,body:has(.locale-suggest) .sticky-cta{display:none}.sticky-cta .btn{width:100%;min-height:44px}}@media (min-width:992px){.hero .container.hero__grid{grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:var(--s5)}.hero__shot{margin-right:calc(-1 * max(0px, (100vw - var(--maxw)) / 2 - var(--s5)))}.hero h1{font-size:clamp(var(--fs-6),1rem + 2.2vw,46px)}}.admin-loop__open{position:relative;display:block;width:100%;padding:0;font:inherit;color:inherit;text-align:inherit;cursor:zoom-in}.admin-loop__open:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.admin-loop__zoom{position:absolute;right:var(--s3);bottom:var(--s3);display:inline-flex;align-items:center;gap:var(--s1);min-height:32px;padding:var(--s1) var(--s3);border-radius:var(--r-pill);background:color-mix(in srgb,var(--term-bg) 80%,transparent);color:var(--term-text);font-size:var(--fs-1);font-weight:600;pointer-events:none}.admin-loop__zoom svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.admin-loop__open:focus-visible .admin-loop__zoom,.admin-loop__open:hover .admin-loop__zoom{background:var(--accent)}.lightbox{width:min(96vw,1320px);max-width:none;max-height:94vh;padding:0;border:0;background:transparent;overflow:visible}.lightbox::-webkit-backdrop{background:color-mix(in srgb,var(--term-bg) 86%,transparent)}.lightbox::backdrop{background:color-mix(in srgb,var(--term-bg) 86%,transparent)}.lightbox__bar{display:flex;justify-content:flex-end;margin:0 0 var(--s2)}.lightbox__bar .btn{min-height:44px;min-width:44px}.lightbox img{display:block;width:100%;height:auto;max-height:calc(94vh - 60px);object-fit:contain;border-radius:var(--r-md);background:var(--term-bg);box-shadow:0 0 0 1px color-mix(in srgb,var(--term-text) 18%,transparent)}.cmd__seg:last-child{white-space:nowrap}@media (min-width:577px){.cmd code,.install__note code{white-space:nowrap}}.end-band{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center}.end-band__links{display:flex;flex-wrap:wrap;gap:0 var(--s4);margin:0}.end-band .more-link{color:var(--accent-ink)}.end-band .install__note{color:var(--dim)}@media (max-width:991px){.end-band{grid-template-columns:minmax(0,1fr)}}.waitlist-slot{max-width:720px;margin-top:var(--s5)}.stack--lg>.waitlist-slot,.stack>.waitlist-slot{margin-top:0}.post-foot{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--border-soft)}.read .waitlist-slot{max-width:none;margin-top:var(--s6)}.h3-sm{font:600 var(--fs-2) /1.3 var(--body);color:var(--text)}.unplug__items li.is-soon{color:var(--faint)}body:has(.consent),body:has(.locale-suggest){padding-bottom:150px}@media (max-width:576px){body:has(.sticky-cta[data-show=true]){padding-bottom:80px}body:has(.consent),body:has(.locale-suggest){padding-bottom:200px}}@media (max-width:576px){.admin-loop__zoom{min-height:0;padding:var(--s1)}.admin-loop__zoom span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}