@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--s-1: .8rem;--s0: 1rem;--s1: 1.25rem;--s2: 1.5625rem;--s3: 1.953125rem;--s4: 2.44140625rem;--s5: 3.0517578125rem;--s6: 3.814697265625rem;--s7: 4.76837158203125rem;--paper: #f6f7f9;--surface: #ffffff;--ink: #12151a;--ink-2: #464d5b;--muted: #5d6573;--line: rgba(18, 21, 26, .1);--line-strong: rgba(18, 21, 26, .18);--accent: #2a78d6;--accent-ink: #1d5fb0;--accent-soft: rgba(42, 120, 214, .1);--good: #0b7a0b;--critical: #c23434;--shadow: 0 1px 2px rgba(18, 21, 26, .06), 0 10px 32px rgba(18, 21, 26, .09);--display: "Bricolage Grotesque Variable", "Segoe UI", system-ui, sans-serif;--body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--gutter: 24px;--max: 1160px;--header: 64px;color-scheme:light}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header) + 16px);-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--s0) / 1.6 var(--body);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--accent-ink)}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:650;letter-spacing:-.02em;text-wrap:balance}h1{font-size:var(--s7);line-height:1.02}h2{font-size:var(--s5);line-height:1.08}h3{font:600 var(--s1) / 1.3 var(--body);letter-spacing:-.005em}p{text-wrap:pretty}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}@media(max-width:760px){h1{font-size:var(--s5)}h2{font-size:var(--s4)}:root{--gutter: 16px}}.wrap{width:100%;max-width:calc(var(--max) + 2 * var(--gutter));margin:0 auto;padding-inline:var(--gutter)}.eyebrow{font:500 var(--s-1) / 1.4 var(--mono);letter-spacing:.04em;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 14px}.eyebrow b{color:var(--accent-ink);font-weight:500}.lead{font-size:var(--s1);line-height:1.5;color:var(--ink-2);max-width:40rem}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 20px;border-radius:10px;border:1px solid transparent;font:500 var(--s0) / 1 var(--body);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.btn:active{transform:translateY(1px)}.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#2a2f38}.btn-accent{background:var(--accent-ink);color:#fff}.btn-accent:hover{background:#184f95}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{border-color:var(--ink)}.btn-sm{height:36px;padding:0 14px;border-radius:8px}.btn .switch{width:30px;height:18px;border-radius:9px;background:#ffffff47;position:relative;flex:none}.btn .switch:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s ease}.btn[aria-pressed=true] .switch{background:var(--accent)}.btn[aria-pressed=true] .switch:after{transform:translate(12px)}kbd{font:500 var(--s-1) / 1 var(--mono);padding:3px 6px;border-radius:5px;border:1px solid var(--line-strong);border-bottom-width:2px;background:var(--surface);color:var(--ink-2)}@property --ring-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.btn-try{height:60px;padding:0 26px 0 20px;border-radius:14px;border:3px solid transparent;color:#fff;font-size:var(--s1);font-weight:600;gap:14px;background:linear-gradient(var(--ink),var(--ink)) padding-box,conic-gradient(from var(--ring-angle),#2a78d6,#8b5cf6,#d946ef,#f97316,#2a78d6) border-box;box-shadow:0 10px 30px -8px #8b5cf68c,0 4px 14px -6px #2a78d680}.btn-try:hover{background:linear-gradient(#232833,#232833) padding-box,conic-gradient(from var(--ring-angle),#2a78d6,#8b5cf6,#d946ef,#f97316,#2a78d6) border-box}.btn-try .switch{width:40px;height:24px;border-radius:12px}.btn-try .switch:after{width:18px;height:18px}.btn-try[aria-pressed=true] .switch:after{transform:translate(16px)}.btn-try[aria-pressed=true]{background:linear-gradient(var(--ink),var(--ink)) padding-box,linear-gradient(var(--accent),var(--accent)) border-box;box-shadow:none}@media(prefers-reduced-motion:no-preference){.btn-try:not([aria-pressed=true]){animation:ring-spin 3.5s linear infinite,nudge 3.5s ease-in-out 2.2s infinite}}@keyframes ring-spin{to{--ring-angle: 360deg}}@keyframes nudge{0%,86%,to{transform:none}90%{transform:translateY(-2px) scale(1.02)}94%{transform:translateY(0) scale(1)}}.btn-show{height:40px;padding:0 14px 0 16px;border-radius:9px;background:var(--accent-ink);color:#fff;font-weight:600;gap:8px}.btn-show:hover{background:#184f95}.btn-show .arrow{transition:transform .15s ease}.btn-show:hover .arrow{transform:translate(3px)}.teaser{position:absolute;inset:0;pointer-events:none;z-index:2}.teaser-pill{position:absolute;display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px 0 6px;margin-top:-11px;background:#fff;color:#0b0b0b;border:1px solid rgba(11,11,11,.1);border-radius:11px;box-shadow:0 1px 2px #0000001a,0 2px 8px #0000001a;font:600 12px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;white-space:nowrap;opacity:0;animation:pill-in .45s cubic-bezier(.2,.9,.3,1.3) forwards}.teaser-pill i{width:8px;height:8px;border-radius:50%}.teaser-pill.right:before{content:"";position:absolute;right:100%;top:50%;width:8px;height:1.5px;background:#0b0b0b}@keyframes pill-in{0%{opacity:0;transform:translate(-6px) scale(.85)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.teaser-pill{opacity:1;animation:none}}.header{position:fixed;inset:0 0 auto;height:var(--header);z-index:50;background:#f6f7f9db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header .wrap{height:100%;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;font:700 var(--s1) / 1 var(--display);letter-spacing:-.01em;color:var(--ink);text-decoration:none}.logo{width:30px;height:30px;border-radius:8px;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 var(--s-1) / 1 var(--body);letter-spacing:-.02em}.nav{display:flex;gap:22px;margin-left:auto;align-items:center}.nav a.link{color:var(--ink-2);text-decoration:none;font-size:var(--s0)}.nav a.link:hover{color:var(--ink)}@media(max-width:760px){.nav .link{display:none}}.hero{position:relative;padding-top:calc(var(--header) + 72px);padding-bottom:40px;display:grid;gap:28px}.hero>*,.section>*{min-width:0}.hero-shot{margin:8px 0 0}.hero .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.hero .note{font-size:var(--s-1);color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:8px}.frame{border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.frame .bar{height:38px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--line);background:#fbfbfc}.frame .bar i{width:10px;height:10px;border-radius:50%;background:#d9dbe0}.frame .url{margin-left:10px;flex:1;max-width:420px;height:24px;border-radius:6px;background:#eef0f3;font:400 var(--s-1) / 24px var(--mono);color:var(--muted);padding:0 10px;overflow:hidden;white-space:nowrap}.frame .ext{margin-left:auto;display:flex;align-items:center;gap:6px}.frame .ext .logo{width:22px;height:22px;border-radius:6px}.frame .badge{font:600 var(--s-1) / 1 var(--body);background:var(--accent);color:#fff;padding:3px 5px;border-radius:4px}.frame img{width:100%;height:auto}.hero-shot figcaption{margin-top:10px;font:400 var(--s-1) / 1.5 var(--mono);color:var(--muted)}.section{padding-block:96px;display:grid;gap:40px}.section-head{display:grid;gap:14px;max-width:46rem}.rule{border:0;border-top:1px solid var(--line);margin:0}.tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media(max-width:980px){.tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.tools{grid-template-columns:1fr}}.tool{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;grid-template-rows:auto auto 1fr auto auto;gap:10px;min-width:0}.tool .stage{position:relative;margin:-22px -22px 8px;height:232px;border-radius:14px 14px 0 0;border-bottom:1px solid var(--line);overflow:hidden;background-color:#eef2f7;background-image:radial-gradient(rgba(18,21,26,.09) 1px,transparent 1.2px);background-size:16px 16px;display:grid;place-items:center}.tool .stage img{display:block;transition:transform .35s ease}.tool .stage.fit img{max-width:88%;max-height:84%;width:auto;height:auto;object-fit:contain}.tool .stage.top{place-items:start center}.tool .stage.top img{width:min(88%,330px);height:auto;margin-top:18px;-webkit-mask-image:linear-gradient(#000 62%,transparent 96%);mask-image:linear-gradient(#000 62%,transparent 96%)}.tool .chip{position:absolute;left:12px;top:12px;font:500 var(--s-1) / 1 var(--mono);color:var(--ink-2);background:#ffffffeb;border:1px solid var(--line);border-radius:6px;padding:5px 7px}.tool .stage.top .chip{display:none}.tool p{color:var(--ink-2)}.tool .row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;flex-wrap:wrap}.how{display:grid;grid-template-columns:auto 1fr;gap:14px 18px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}.how .logo{width:36px;height:36px;border-radius:9px}.how p{color:var(--ink-2);max-width:62rem}.playground{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:start}@media(max-width:900px){.playground{grid-template-columns:1fr}}.answers{display:grid;gap:12px}.answer{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0}.answer summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;align-items:center;gap:12px;font-weight:500}.answer summary::-webkit-details-marker{display:none}.answer summary .n{font:500 var(--s-1) / 1 var(--mono);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);flex:none}.answer summary:after{content:"Show";margin-left:auto;font-size:var(--s-1);color:var(--muted)}.answer[open] summary:after{content:"Hide"}.answer .body{padding:0 18px 18px 56px;display:grid;gap:12px;color:var(--ink-2)}.answer .body .btn{justify-self:start}.pg-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.pg-kicker{font:700 .8rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink)}.pg-title{font:650 var(--s3) / 1.15 var(--display);letter-spacing:-.01em;margin-top:10px}.pg-meta{font-size:var(--s-1);color:#9aa0aa;margin-top:8px}.pg-body{font-size:15px;line-height:1.15;margin-top:18px;color:var(--ink)}.pg-body+.pg-body{margin-top:12px}.sites{display:grid;gap:48px}.site{margin:0;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:center}@media(max-width:900px){.site{grid-template-columns:1fr}}.site figcaption{display:grid;gap:10px}.site figcaption p{color:var(--ink-2)}.site .src{font:400 var(--s-1) / 1.4 var(--mono);color:var(--muted)}.site .shot img{width:100%;height:auto}.site .shot{border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface)}.trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media(max-width:860px){.trust{grid-template-columns:1fr}}.trust .item{border-top:2px solid var(--ink);padding-top:16px;display:grid;gap:8px}.trust .item p{color:var(--ink-2)}.perm{font:500 var(--s-1) / 1.4 var(--mono);color:var(--accent-ink)}.faq{display:grid;gap:0;max-width:50rem}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:20px 0;font:600 var(--s1) / 1.3 var(--body);list-style:none;display:flex;justify-content:space-between;gap:16px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-weight:400;color:var(--muted)}.faq details[open] summary:after{content:"−"}.faq details p{padding-bottom:20px;color:var(--ink-2);max-width:44rem}.cta{background:var(--ink);color:#fff;border-radius:20px;padding:56px;display:grid;gap:22px;justify-items:start}.cta h2{color:#fff}.cta p{color:#c9ced8;font-size:var(--s1);max-width:36rem}.cta .btn-ghost{background:transparent;color:#fff;border-color:#ffffff59}@media(max-width:640px){.cta{padding:32px 24px}}.footer{padding-block:40px 56px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;font-size:var(--s-1);color:var(--muted)}.footer a{color:var(--ink-2)}.footer .spacer{flex:1}.spot{position:fixed;inset:0;z-index:2147483647;pointer-events:none;transition:opacity .35s ease}.spot.out{opacity:0}.spot-ring{position:fixed;border:2px solid var(--accent);border-radius:14px}.spot.dim .spot-ring{animation:spot-dim 2.6s ease both}.spot-ring:after{content:"";position:absolute;inset:-2px;border-radius:inherit;animation:spot-pulse 1.2s ease-out .2s 3}.spot-bubble{position:fixed;left:0;top:0;max-width:290px;padding:11px 14px;border-radius:10px;background:var(--ink);color:#fff;font:500 var(--s0) / 1.45 var(--body);box-shadow:var(--shadow);animation:bubble-in .35s cubic-bezier(.2,.9,.3,1.2) .15s both}.spot-bubble:before{content:"";position:absolute;width:10px;height:10px;background:var(--ink);transform:rotate(45deg)}.spot-bubble[data-arrow=left]:before{left:-5px;top:calc(50% - 5px)}.spot-bubble[data-arrow=right]:before{right:-5px;top:calc(50% - 5px)}.spot-bubble[data-arrow=top]:before{top:-5px;left:22px}.spot-bubble[data-arrow=bottom]:before{bottom:-5px;left:22px}@keyframes spot-dim{0%{box-shadow:0 0 0 200vmax #12151a00}12%,62%{box-shadow:0 0 0 200vmax #12151a52}to{box-shadow:0 0 0 200vmax #12151a00}}@keyframes spot-pulse{0%{box-shadow:0 0 #2a78d68c}to{box-shadow:0 0 0 16px #2a78d600}}@keyframes bubble-in{0%{opacity:0;scale:.92}to{opacity:1;scale:1}}@media(prefers-reduced-motion:reduce){.spot.dim .spot-ring{animation:none}.spot-ring:after,.spot-bubble{animation:none}}.btn-show[aria-pressed=true]{background:var(--surface);color:var(--accent-ink);border-color:var(--accent)}.btn-show[aria-pressed=true]:hover{background:var(--accent-soft)}.notice{position:fixed;left:24px;bottom:24px;max-width:min(420px,calc(100vw - 48px));background:var(--ink);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);z-index:60;line-height:1.5}.doc{padding-top:calc(var(--header) + 56px);padding-bottom:80px;max-width:46rem;display:grid;gap:28px}.doc h2{font-size:var(--s3)}.doc ul{margin:0;padding-left:1.2em;display:grid;gap:8px;color:var(--ink-2)}.doc p{color:var(--ink-2)}@media(prefers-reduced-motion:no-preference){.hero-shot{animation:rise-in .7s cubic-bezier(.2,.8,.2,1) .15s both}@supports (animation-timeline: view()){.tool,.site,.answer,.pg-card,.trust .item{animation:scroll-rise linear both;animation-timeline:view();animation-range:entry 0% entry 60%}}}@keyframes rise-in{0%{transform:translateY(18px)}to{transform:none}}@keyframes scroll-rise{0%{transform:translateY(36px) scale(.98)}to{transform:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
