@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-cyrillic-ext-wght-normal.8bbfa6e0.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-cyrillic-wght-normal.12b57c6b.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-vietnamese-wght-normal.c6a3f4e5.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-latin-ext-wght-normal.b921df26.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-latin-wght-normal.9ff55a8a.woff2) format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-cyrillic-ext-wght-normal.85d55428.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-cyrillic-wght-normal.33900800.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-symbols2-wght-normal.b6529aae.woff2) format("woff2-variations");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-vietnamese-wght-normal.55bad67b.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-latin-ext-wght-normal.3d379059.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-mono-latin-wght-normal.125b055e.woff2) format("woff2-variations");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}:root{--bg:#ffffff;--paper:#fafafa;--ink:#0a0a0a;--ink-2:#2b2b2b;--muted:#6b6b6b;--faint:#a3a3a3;--line:#e6e6e6;--line-2:#d4d4d4;--rule:#0a0a0a;--brand:#146ef5;--brand-hover:#0b57d0;--brand-soft:#eaf2fe;--brand-ink:#ffffff;--ok:#0a7a3d;--warn:#9a5b00;--err:#d0251b;--radius:4px;--wrap:1200px;--gutter:24px;--font-body:"Geist Variable",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-display:var(--font-body);--font-mono:"Geist Mono Variable",ui-monospace,Menlo,Consolas,monospace;color-scheme:light;--soft:var(--paper);--tint:var(--brand-soft);--code-bg:var(--paper);--dot:var(--line)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,html{background:var(--bg)}body{margin:0;color:var(--ink);font:16px/1.6 var(--font-body);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;color:var(--ink);text-wrap:balance}h1{font-size:clamp(40px,6.2vw,80px);line-height:.98;letter-spacing:-.05em;margin:0 0 24px}h2{font-size:clamp(30px,3.8vw,48px);line-height:1.04;letter-spacing:-.04em;margin:0 0 16px}h3{font-size:20px;line-height:1.25;letter-spacing:-.02em;margin:0 0 8px}p{margin:0 0 14px}img{max-width:100%;height:auto}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}::selection{background:var(--brand);color:#fff}code{font-family:var(--font-mono);font-size:.86em;background:var(--paper);border:1px solid var(--line);padding:1px 5px;border-radius:3px}.muted,.note{color:var(--muted)}.note{font-size:14px}.ok{color:var(--ok)}.err{color:var(--err)}.hl{color:var(--brand)}.wrap{padding:0 var(--gutter)}.frame,.wrap{max-width:var(--wrap);margin:0 auto}.frame{border-left:1px solid var(--line);border-right:1px solid var(--line);position:relative}.sec{border-bottom:1px solid var(--line)}.sec>.frame{padding:96px var(--gutter)}.sec>.frame:after,.sec>.frame:before{content:"";position:absolute;bottom:-5px;width:9px;height:9px;background:linear-gradient(var(--rule),var(--rule)) 50% /9px 1px no-repeat,linear-gradient(var(--rule),var(--rule)) 50% /1px 9px no-repeat;z-index:2}.sec>.frame:before{left:-5px}.sec>.frame:after{right:-5px}.sec.tight>.frame{padding-top:56px;padding-bottom:56px}.sec.flush>.frame{padding:0}@media (max-width:1248px){.frame{border-left:0;border-right:0}.sec>.frame:after,.sec>.frame:before{display:none}}@media (max-width:700px){.sec>.frame{padding:64px var(--gutter)}:root{--gutter:16px}}.eyebrow,.label{display:inline-flex;gap:10px;align-items:center;font:500 12px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}.eyebrow a,.label a{color:var(--ink);text-decoration:none}.eyebrow a:hover,.label b{color:var(--brand)}.label b{font-weight:500}.lead{font-size:19px;line-height:1.55;color:var(--ink-2);max-width:620px;margin:0 0 32px}.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:32px 64px;gap:32px 64px;align-items:end;margin-bottom:56px}.head h2,.head p{margin:0}.head p{color:var(--ink-2);max-width:520px}@media (max-width:860px){.head{grid-template-columns:1fr;margin-bottom:40px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 18px;border-radius:var(--radius);font:500 15px/1 var(--font-body);text-decoration:none;border:1px solid var(--ink);background:var(--bg);color:var(--ink);cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.btn:hover{background:var(--ink);color:#fff}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}.btn-ghost{background:var(--bg)}.btn-lg{height:52px;padding:0 22px;font-size:16px}.btn .arr{font-family:var(--font-mono);transition:transform .2s}.btn:hover .arr{transform:translateX(3px)}.btn[disabled]{opacity:.5;cursor:default}.btn[disabled]:hover{background:var(--bg);color:var(--ink)}.btn-primary[disabled]:hover{background:var(--brand);color:#fff}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.nav{max-width:var(--wrap);margin:0 auto;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);border-left:1px solid var(--line);border-right:1px solid var(--line)}@media (max-width:1248px){.nav{border:0}}.nav nav{display:flex;align-items:center;gap:4px}.nav nav a{text-decoration:none;color:var(--ink-2);font-size:14.5px;padding:8px 10px;border-radius:var(--radius)}.nav nav a:hover{color:var(--ink);background:var(--paper)}.nav nav .btn{color:#fff;height:36px;padding:0 14px;font-size:14px;margin-left:8px}.nav nav .btn:hover{background:var(--brand-hover)}.logo{display:inline-flex;align-items:center;gap:10px;font:600 17px/1 var(--font-body);letter-spacing:-.03em;color:var(--ink);text-decoration:none}.logo svg{width:22px;height:22px}@media (max-width:760px){.nav .hide-sm{display:none}}footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px}.footer-cols{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.4fr repeat(5,minmax(0,1fr));border-left:1px solid var(--line)}.footer-cols,.footer-cols>*{border-right:1px solid var(--line)}.footer-cols>*{padding:40px 20px 48px}.footer-cols>:last-child{border-right:0}.footer-brand{padding-left:var(--gutter)!important}.footer-brand p{margin:16px 0 20px;max-width:30ch;color:var(--ink-2)}.footer-brand .btn{height:38px;font-size:14px}.footer-col{display:flex;flex-direction:column;gap:10px}.footer-col b{font:500 11.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:6px}.footer-col a{color:var(--muted);text-decoration:none;line-height:1.35}.footer-col a:hover{color:var(--brand)}.footer-row{max-width:var(--wrap);margin:0 auto;gap:12px 24px;justify-content:space-between;align-items:center;padding:18px var(--gutter);border:1px solid var(--line);border-bottom:0;font:12.5px var(--font-mono)}.footer-links,.footer-row{display:flex;flex-wrap:wrap}.footer-links{gap:20px}.footer-links a{color:inherit;text-decoration:none}.footer-links a:hover{color:var(--brand)}.footer-word{max-width:var(--wrap);margin:0 auto;overflow:hidden;border-left:1px solid var(--line);border-right:1px solid var(--line);border-top:1px solid var(--line)}.footer-word svg{display:block;width:100%;height:auto}@media (max-width:1248px){.footer-cols,.footer-row,.footer-word{border-left:0;border-right:0}}@media (max-width:1000px){.footer-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{grid-column:1/-1;border-right:0!important}.footer-brand,.footer-cols>*{border-bottom:1px solid var(--line)}}@media (max-width:560px){.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-cols>:nth-child(odd){border-right:0}}.ill{display:block;width:100%;height:auto;color:var(--ink);overflow:visible}.ill *{vector-effect:non-scaling-stroke}.ill .s{fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.ill .a{stroke:var(--brand)}.ill .fa{fill:var(--brand);stroke:none}.ill .fw{fill:#fff}.ill .d{stroke-dasharray:3 3}.ill text{font:500 9px var(--font-mono);fill:var(--muted);letter-spacing:.04em}.ill text.ta{fill:var(--brand)}.ill .draw{vector-effect:none;stroke-width:var(--sw,1)}[data-reveal] .ill .draw{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.6,0,.2,1)}[data-reveal].is-in .ill .draw{stroke-dashoffset:0}[data-reveal] .ill .pop{opacity:0;transform:scale(.6);transform-box:fill-box;transform-origin:center;transition:opacity .4s ease 1s,transform .5s cubic-bezier(.3,1.6,.5,1) 1s}[data-reveal].is-in .ill .pop{opacity:1;transform:none}.ill .float{animation:ill-float 4s ease-in-out infinite;transform-box:fill-box}@keyframes ill-float{50%{transform:translateY(-4px)}}.ill .blink{animation:ill-blink 1.1s steps(1) infinite}@keyframes ill-blink{50%{opacity:0}}.ill .press{animation:ill-press 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.ill .press.b{animation-delay:.18s}@keyframes ill-press{0%,60%,to{transform:none}70%{transform:translateY(2px) scale(.96)}}.ill .march{stroke-dasharray:4 3;animation:ill-march 1s linear infinite}@keyframes ill-march{to{stroke-dashoffset:-14}}.ill .dotmove{animation:ill-dot 3s cubic-bezier(.6,0,.2,1) infinite}@media (prefers-reduced-motion:reduce){[data-reveal] .ill .draw{stroke-dasharray:none;stroke-dashoffset:0;transition:none}[data-reveal] .ill .pop{opacity:1;transform:none;transition:none}.ill .blink,.ill .dotmove,.ill .float,.ill .march,.ill .press{animation:none}}.lp-hero>.frame{padding:88px var(--gutter) 64px}.lp-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-gap:48px;gap:48px;align-items:end}.lp-hero h1{margin-bottom:0}.lp-hero .lead{margin-bottom:28px}.hero-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:22px;font:12.5px var(--font-mono);color:var(--muted)}.hero-meta span:before{content:"✓ ";color:var(--brand)}@media (max-width:900px){.lp-hero-grid{grid-template-columns:1fr;gap:28px}.lp-hero>.frame{padding-top:56px}}.stage>.frame{padding:0}.stage-bar{display:flex;align-items:stretch;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.stage-bar::-webkit-scrollbar{display:none}.stage-tab{position:relative;flex:1 0 auto;display:flex;align-items:center;gap:10px;padding:16px 20px;background:none;border:0;border-right:1px solid var(--line);font:500 13px var(--font-mono);letter-spacing:.03em;color:var(--muted);cursor:pointer;text-align:left}.stage-tab b{font-weight:500;color:var(--faint)}.stage-tab:hover{color:var(--ink);background:var(--paper)}.stage-tab.is-on{color:var(--ink)}.stage-tab.is-on b{color:var(--brand)}.stage-tab i{position:absolute;left:0;bottom:-1px;height:2px;background:var(--brand);width:0}.stage-ctrl{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:0 16px;font:12px var(--font-mono);color:var(--muted);background:none;border:0;cursor:pointer}.stage-ctrl:hover{color:var(--ink)}.stage-body{padding:40px;background:var(--paper);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}.stage-cap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--line);font:12px var(--font-mono);color:var(--muted)}.stage-cap b{color:var(--ink);font-weight:500}@media (max-width:700px){.stage-body,.stage-tab{padding:14px}}.marquee{overflow:hidden;border-bottom:1px solid var(--line)}.marquee>.frame{padding:0;display:flex;align-items:center;overflow:hidden}.marquee-label{flex:0 0 auto;padding:20px var(--gutter);border-right:1px solid var(--line);font:500 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg);position:relative;z-index:1}.marquee-track{display:flex;gap:0;animation:marquee 40s linear infinite;white-space:nowrap}.marquee-track span{padding:18px 28px;font:500 20px var(--font-body);letter-spacing:-.02em;border-right:1px solid var(--line)}.marquee-track span em{font-style:normal;color:var(--faint);font-size:15px}@keyframes marquee{to{transform:translateX(-50%)}}.marquee:hover .marquee-track{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none;flex-wrap:wrap}}.cells{display:grid;border-top:1px solid var(--line);border-left:1px solid var(--line)}.cells>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px;min-width:0;background:var(--bg)}.cells.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.cells.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.cells.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.sec .frame>.cells.bleed{margin:0 calc(var(--gutter) * -1) calc(-96px);border-left:0}@media (max-width:900px){.cells.c3,.cells.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.cells.c2,.cells.c3,.cells.c4{grid-template-columns:1fr}.cells>*{padding:24px}}.step{display:flex;flex-direction:column;gap:10px}.step .ill{max-width:320px;margin:0 auto 18px}.step-n{font:500 12px var(--font-mono);color:var(--brand);letter-spacing:.06em}.step h3,.step p{margin:0}.step p{color:var(--ink-2);font-size:15.5px}.feat{display:flex;flex-direction:column;gap:12px}.feat .ill{margin:-8px 0 16px;max-height:220px}.feat h3{font-size:24px;margin:0}.feat p{margin:0;color:var(--ink-2)}.ticks{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-gap:0;gap:0;border-top:1px solid var(--line)}.ticks li{padding:10px 0 10px 26px;position:relative;font-size:14.5px;border-bottom:1px solid var(--line);color:var(--ink-2)}.ticks li:before{content:"→";position:absolute;left:2px;top:10px;font-family:var(--font-mono);color:var(--brand);font-size:13px}.bp{display:grid;grid-gap:20px;gap:20px}.bp-readout{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line)}.bp-readout span{flex:1 1;min-width:120px;padding:12px 14px;font:12px var(--font-mono);color:var(--faint);border-right:1px solid var(--line);transition:color .2s,background .2s}.bp-readout span:last-child{border-right:0}.bp-readout span b{display:block;font:500 14px var(--font-body);color:var(--muted);margin-bottom:2px}.bp-readout span.is-on{background:var(--brand-soft);color:var(--brand)}.bp-readout span.is-on b{color:var(--ink)}.bp-area{position:relative;border:1px solid var(--line);background:var(--paper);height:400px;overflow:hidden}.bp-area:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:20px 100%;opacity:.6}.bp-frame{top:20px;bottom:20px;left:20px;overflow:hidden}.bp-frame,.bp-handle{position:absolute;background:var(--bg);border:1px solid var(--ink)}.bp-handle{top:50%;right:-15px;transform:translateY(-50%);width:30px;height:64px;border-radius:3px;cursor:ew-resize;display:grid;place-items:center;touch-action:none;z-index:2}.bp-handle:before{content:"";width:7px;height:24px;border-left:1px solid var(--ink);border-right:1px solid var(--ink)}.bp-handle:focus-visible,.bp-handle:hover{background:var(--brand);border-color:var(--brand)}.bp-handle:focus-visible:before,.bp-handle:hover:before{border-color:#fff}.bp-w{position:absolute;bottom:6px;right:22px;font:11px var(--font-mono);color:var(--brand)}.bp-page{padding:18px;display:grid;grid-gap:14px;gap:14px}.bp-nav{display:flex;justify-content:space-between;align-items:center}.bp-line,.bp-nav i{display:block;height:7px;background:var(--ink);border-radius:1px}.bp-nav .links{display:flex;gap:8px}.bp-nav .links i{width:26px;background:var(--line-2)}.bp-nav .burger{width:18px;height:11px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);position:relative}.bp-nav .burger:after{content:"";position:absolute;left:0;right:0;top:4px;border-top:1px solid var(--ink)}.bp-hero{display:grid;grid-gap:14px;gap:14px;align-items:center}.bp-hero .t{display:grid;grid-gap:7px;gap:7px}.bp-hero .img{height:120px;border:1px solid var(--ink);background:linear-gradient(to top right,transparent calc(50% - .5px),var(--line-2) 50%,transparent calc(50% + .5px)),linear-gradient(to top left,transparent calc(50% - .5px),var(--line-2) 50%,transparent calc(50% + .5px))}.bp-btn{width:70px;height:18px;background:var(--brand);border-radius:2px}.bp-cards{display:grid;grid-gap:10px;gap:10px}.bp-cards div{border:1px solid var(--line-2);height:56px;padding:8px;display:grid;grid-gap:5px;gap:5px;align-content:start}.bp-cards div i{height:5px;background:var(--line-2);display:block}.bp-cards div i:first-child{width:60%;background:var(--ink)}.bp-cards{transition:grid-template-columns .2s}.bp-css{font:12px/1.7 var(--font-mono);color:var(--muted);border:1px solid var(--line);padding:14px 16px;margin:0;white-space:pre-wrap;background:var(--bg)}.bp-css .on{color:var(--ink);background:var(--brand-soft);box-shadow:-16px 0 0 var(--brand-soft),16px 0 0 var(--brand-soft)}@media (max-width:640px){.bp-area{height:340px}}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--ink)}.stats div{padding:24px 24px 0 0;border-right:1px solid var(--line);margin-right:24px}.stats div:last-child{border-right:0}.stats dt{font:600 clamp(44px,6vw,84px)/1 var(--font-body);letter-spacing:-.05em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stats dt small{font-size:.5em;color:var(--brand);letter-spacing:0}.stats dd{margin:12px 0 0;color:var(--ink-2);font-size:15px;max-width:26ch}@media (max-width:760px){.stats{grid-template-columns:1fr}.stats div{border-right:0;margin:0;padding:20px 0;border-bottom:1px solid var(--line)}}.lp-starters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.lp-starters figure{margin:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px}.lp-starters .thumb{border:1px solid var(--line);background:var(--paper);padding:8px;transition:background .2s,border-color .2s}.lp-starters figure:hover .thumb{background:var(--brand-soft);border-color:var(--brand)}.lp-starters figure:hover .ill .s:not(.a){stroke:var(--ink)}.lp-starters figcaption{display:flex;justify-content:space-between;font:12px var(--font-mono);color:var(--muted);margin-top:12px}.lp-starters figcaption b{font-weight:500;color:var(--ink)}@media (max-width:900px){.lp-starters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.lp-starters{grid-template-columns:1fr}}.lp-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--ink);max-width:880px}.plan{padding:36px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;position:relative}.plan+.plan{border-left:1px solid var(--ink)}.plan h3{font:500 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.plan.is-pro h3{color:var(--brand)}.plan .list{flex:1 1}.plan .btn{margin-top:8px}.price{font:600 56px/1 var(--font-body);letter-spacing:-.05em}.price small{font-size:15px;font-weight:400;letter-spacing:0;color:var(--muted)}.list{list-style:none;padding:0;margin:22px 0 24px;width:100%;border-top:1px solid var(--line)}.list li{padding:10px 0 10px 24px;position:relative;border-bottom:1px solid var(--line);font-size:15px}.list li:before{content:"+";position:absolute;left:4px;top:9px;font-family:var(--font-mono);color:var(--brand)}@media (max-width:700px){.lp-plans{grid-template-columns:1fr}.plan+.plan{border-left:0;border-top:1px solid var(--ink)}.plan{padding:24px}}.lp-faq{max-width:880px;border-top:1px solid var(--ink)}.lp-faq details{border-bottom:1px solid var(--line)}.lp-faq summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr 24px;grid-gap:16px;gap:16px;padding:20px 0;font:500 18px/1.35 var(--font-body);letter-spacing:-.015em}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary:after{content:"+";font:400 22px/1 var(--font-mono);color:var(--muted);text-align:right;transition:transform .2s}.lp-faq details[open] summary:after{transform:rotate(45deg);color:var(--brand)}.lp-faq summary:hover{color:var(--brand)}.lp-faq details p{margin:-4px 0 22px;color:var(--ink-2);max-width:68ch}.tool-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:background .15s}.tool-card:hover{background:var(--paper);color:inherit}.tool-card .k{font:500 11.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.tool-card b{font:600 20px/1.2 var(--font-body);letter-spacing:-.02em}.tool-card span{color:var(--muted);font-size:14.5px}.tool-card .go{margin-top:auto;padding-top:12px;font:13px var(--font-mono);color:var(--ink)}.tool-card:hover .go{color:var(--brand)}.lp-cta>.frame{padding:120px var(--gutter);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-gap:48px;gap:48px;align-items:center}.lp-cta h2{font-size:clamp(40px,6vw,80px);line-height:.98;letter-spacing:-.05em}.lp-cta p{color:var(--ink-2);font-size:18px;margin-bottom:28px}.lp-cta .ill{max-width:380px;margin-left:auto}@media (max-width:860px){.lp-cta>.frame{grid-template-columns:1fr;padding:72px var(--gutter)}.lp-cta .ill{margin:0}}.dd{--dd-line:#e3e3e3;--dd-panel:#ffffff;--dd-chrome:#f5f5f5;position:relative;border:1px solid var(--ink);background:var(--bg);border-radius:6px;overflow:hidden;font:12px/1.4 var(--font-body);-webkit-user-select:none;-moz-user-select:none;user-select:none;aspect-ratio:16/9.4;min-height:440px;display:grid;grid-template-rows:38px 1fr}.dd-top{display:flex;align-items:center;gap:10px;padding:0 10px;border-bottom:1px solid var(--dd-line);background:var(--dd-chrome)}.dd-dots{display:flex;gap:5px}.dd-dots i{width:9px;height:9px;border:1px solid var(--line-2);border-radius:50%}.dd-page{font:11.5px var(--font-mono);color:var(--muted);padding:4px 10px;border:1px solid var(--dd-line);background:#fff;border-radius:3px}.dd-bps{display:flex;gap:2px;margin:0 auto}.dd-bps button{width:30px;height:24px;border:1px solid transparent;background:none;border-radius:3px;display:grid;place-items:center;cursor:pointer;color:var(--muted);padding:0}.dd-bps button:hover{color:var(--ink);border-color:var(--dd-line);background:#fff}.dd-bps button.is-on{color:var(--brand);border-color:var(--brand);background:var(--brand-soft)}.dd-bps svg{width:16px;height:14px}.dd-pub{font:500 11.5px var(--font-body);padding:5px 10px;border-radius:3px;background:var(--ink);color:#fff}.dd-main{display:grid;grid-template-columns:196px minmax(0,1fr) 228px;min-height:0}.dd-side{border-right:1px solid var(--dd-line);background:var(--dd-panel);min-height:0;overflow:hidden;display:flex;flex-direction:column}.dd-side.right{border-right:0;border-left:1px solid var(--dd-line)}.dd-h{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-bottom:1px solid var(--dd-line);font:500 10.5px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.dd-h .tabs{display:flex;gap:10px}.dd-h .tabs span.is-on{color:var(--ink)}.dd-tree{padding:6px 0}.dd-row{display:flex;align-items:center;gap:6px;padding:4px 10px;white-space:nowrap;color:var(--ink-2);border-left:2px solid transparent}.dd-row svg{width:12px;height:12px;flex:0 0 auto;color:var(--muted)}.dd-row em{font-style:normal;font:10.5px var(--font-mono);color:var(--brand);overflow:hidden;text-overflow:ellipsis}.dd-row.is-new{animation:dd-in .3s ease both}.dd-row.is-sel{background:var(--brand-soft);border-left-color:var(--brand);color:var(--ink)}@keyframes dd-in{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}.dd-sel{margin:10px 12px}.dd-sel-label{font:10.5px var(--font-mono);color:var(--muted);margin-bottom:6px}.dd-chip-row{display:flex;flex-wrap:wrap;gap:4px;border:1px solid var(--dd-line);border-radius:3px;padding:4px;min-height:30px}.dd-chip{font:11px var(--font-mono);padding:3px 7px;border-radius:2px;background:var(--brand);color:#fff;animation:dd-pop .3s cubic-bezier(.3,1.6,.5,1) both}.dd-chip.combo{background:var(--ink)}@keyframes dd-pop{0%{transform:scale(.6);opacity:0}}.dd-props{border-top:1px solid var(--dd-line)}.dd-prop{display:grid;grid-template-columns:82px 1fr;grid-gap:8px;gap:8px;padding:6px 12px;border-bottom:1px solid var(--dd-line);font-size:11.5px;animation:dd-in .3s ease both}.dd-prop span{color:var(--muted)}.dd-prop b{font:400 11px var(--font-mono);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-prop b.blue{color:var(--brand)}.dd-empty{padding:14px 12px;color:var(--faint);font:11px var(--font-mono)}.dd-ix{margin:10px 12px;border:1px solid var(--dd-line);border-radius:3px;animation:dd-in .3s ease both}.dd-ix-h{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--dd-line);font-weight:500}.dd-ix-h i{width:7px;height:7px;border-radius:50%;background:var(--brand)}.dd-ix-r{padding:6px 10px;font:10.5px var(--font-mono);color:var(--ink-2);border-bottom:1px solid var(--dd-line)}.dd-ix-r:last-child{border-bottom:0}.dd-curve{padding:8px 10px}.dd-curve svg{width:100%;height:54px;display:block}.dd-canvas{position:relative;background:#f2f2f2;background-image:radial-gradient(#d9d9d9 1px,transparent 0);background-size:14px 14px;min-height:0;overflow:hidden;display:grid;place-items:start center;padding:18px}.dd-site{width:100%;height:100%;background:#fff;border:1px solid var(--dd-line);overflow:hidden;position:relative;transition:width .45s cubic-bezier(.6,0,.2,1)}.dd-site.bp-tablet{width:64%}.dd-site.bp-phone{width:38%}.dd-bpline{position:absolute;top:4px;left:50%;transform:translateX(-50%);font:10px var(--font-mono);color:var(--brand);white-space:nowrap}.dd-el{position:relative;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .35s cubic-bezier(.3,1.4,.5,1);cursor:pointer}.dd-el.on{opacity:1;transform:none}.dd-el.on:hover:not(:has(.dd-el:hover)){outline:1px dashed var(--brand);outline-offset:1px}.dd-el.flash{animation:dd-flash .7s ease}@keyframes dd-flash{0%{outline:1px solid var(--brand);outline-offset:1px;background-color:var(--brand-soft)}to{outline-color:transparent}}.dd-el.sel{outline:1px solid var(--brand);outline-offset:1px}.dd-site>.dd-el.sel:after{top:0;left:0;border-radius:0 0 2px 0}.dd-el.sel:after{content:attr(data-cls);position:absolute;left:-2px;top:-17px;font:10px var(--font-mono);background:var(--brand);color:#fff;padding:2px 5px;white-space:nowrap;z-index:3;border-radius:2px 2px 0 0}.s-html{padding:9% 8%;text-align:left;display:grid;grid-gap:10px;gap:10px}.s-html .k{font:10px var(--font-mono);color:var(--brand);letter-spacing:.06em}.s-html .h{font:600 clamp(16px,2.6vw,30px)/1 var(--font-body);letter-spacing:-.045em}.s-html .p{color:var(--muted);font-size:11.5px;max-width:34ch}.s-html .row{display:flex;gap:8px;flex-wrap:wrap}.s-btn{display:inline-block;font-size:11px;padding:7px 12px;border-radius:3px;background:var(--brand);color:#fff}.s-btn.o{background:#fff;color:var(--ink)}.s-btn.o,.s-html .media{border:1px solid var(--ink)}.s-html .media{margin-top:6px;height:64px;display:grid;grid-template-columns:repeat(3,1fr)}.s-html .media span{border-right:1px solid var(--dd-line);padding:6px;font:9.5px var(--font-mono);color:var(--muted)}.s-html .media span:last-child{border-right:0}.bp-phone .s-html .media{grid-template-columns:1fr;height:auto}.bp-phone .s-html .media span{border-right:0;border-bottom:1px solid var(--dd-line)}.bp-phone .s-html .h{font-size:16px}.s-tw{padding:7% 6%;display:grid;grid-gap:12px;gap:12px;align-content:start}.s-tw .t{font:600 18px/1.1 var(--font-body);letter-spacing:-.04em}.tw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.s-card{border:1px solid var(--dd-line);border-radius:6px;padding:12px;display:grid;grid-gap:6px;gap:6px;align-content:start}.s-card.pro{border-color:var(--brand)}.s-card .n{font:10px var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.s-card .pr{font:600 20px/1 var(--font-body);letter-spacing:-.04em}.s-card .ln{height:4px;background:var(--dd-line)}.s-card .ln.s{width:70%}.s-card .s-btn{text-align:center;margin-top:4px}.bp-phone .tw-grid,.bp-tablet .tw-grid{grid-template-columns:1fr}.bp-phone .s-card,.bp-tablet .s-card{grid-template-columns:auto auto 1fr;align-items:center}.bp-phone .s-card .ln,.bp-tablet .s-card .ln{display:none}.s-gsap{padding:7% 6%;display:grid;grid-gap:12px;gap:12px;align-content:start}.s-gsap .t{font:600 18px/1.1 var(--font-body);letter-spacing:-.04em}.s-gsap .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.s-gsap .c{border:1px solid var(--ink);height:90px;padding:10px;display:grid;align-content:space-between}.s-gsap .c i{width:18px;height:18px;border:1px solid var(--brand);border-radius:50%}.s-gsap .c b{font-weight:500;font-size:11px}.s-gsap.play .c{animation:dd-rise .8s cubic-bezier(.2,.8,.2,1) both}.s-gsap.play .c:nth-child(2){animation-delay:.15s}.s-gsap.play .c:nth-child(3){animation-delay:.3s}@keyframes dd-rise{0%{opacity:0;transform:translateY(26px)}}.bp-phone .s-gsap .grid,.bp-tablet .s-gsap .grid{grid-template-columns:1fr}.bp-phone .s-gsap .c,.bp-tablet .s-gsap .c{height:46px}.dd-web{position:absolute;inset:18px;background:#fff;border:1px solid var(--ink);display:grid;grid-template-rows:26px 1fr;transition:transform .5s cubic-bezier(.6,0,.2,1),opacity .4s;z-index:4}.dd-web.out{transform:translateY(105%);opacity:0}.dd-web-bar{display:flex;align-items:center;gap:8px;padding:0 8px;border-bottom:1px solid var(--dd-line);font:10.5px var(--font-mono);color:var(--muted)}.dd-web-bar span{flex:1 1;border:1px solid var(--dd-line);padding:2px 8px;border-radius:3px}.dd-web-body{padding:14px 16px;display:grid;grid-gap:12px;gap:12px;align-content:start;overflow:hidden}.w-sec{position:relative;border:1px dashed transparent;padding:8px;transition:border-color .2s,background .2s}.w-sec.hov{border-color:var(--brand);background:rgba(20,110,245,.05)}.w-sec.hov:before{content:attr(data-tag);position:absolute;top:-16px;left:-1px;font:10px var(--font-mono);background:var(--brand);color:#fff;padding:1px 5px}.w-sec.got{border-style:solid;border-color:var(--brand);background:var(--brand-soft)}.w-nav{display:flex;justify-content:space-between}.w-nav i{width:50px;height:6px;background:var(--ink)}.w-nav span{display:flex;gap:6px}.w-nav span i{width:22px;background:var(--dd-line)}.w-quote{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.w-quote div{border:1px solid var(--dd-line);padding:10px;display:grid;grid-gap:5px;gap:5px;font-size:10.5px;color:var(--ink-2)}.w-quote div b{font-weight:500;font-size:10px;color:var(--muted)}.w-lines{display:grid;grid-gap:6px;gap:6px}.w-lines i{height:5px;background:var(--dd-line)}.w-lines i:first-child{width:45%;height:9px;background:var(--ink)}.s-cap{padding:7% 6%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;align-content:start}.s-cap .t{grid-column:1/-1;font:600 18px/1.1 var(--font-body);letter-spacing:-.04em}.s-cap .q{border:1px solid var(--dd-line);padding:12px;font-size:11.5px;display:grid;grid-gap:8px;gap:8px}.s-cap .q b{font:10px var(--font-mono);color:var(--muted);font-weight:400}.bp-phone .s-cap{grid-template-columns:1fr}.dd-fp{position:absolute;left:16px;top:16px;width:290px;max-width:calc(100% - 32px);background:#fff;border:1px solid var(--ink);border-radius:4px;z-index:6;transition:opacity .25s,transform .3s cubic-bezier(.3,1.3,.5,1);transform-origin:bottom right}.dd-fp.hide{opacity:0;transform:scale(.9) translateY(10px);pointer-events:none}.dd-fp-h{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--dd-line);font-weight:600;letter-spacing:-.01em}.dd-fp-h span{font:10px var(--font-mono);color:var(--muted);font-weight:400}.dd-fp-code{margin:10px;height:150px;overflow:hidden;border:1px solid var(--dd-line);background:var(--paper);padding:8px;font:10.5px/1.55 var(--font-mono);color:var(--ink-2);white-space:pre-wrap;word-break:break-all}.dd-fp-code .c{display:inline-block;width:6px;height:12px;background:var(--brand);vertical-align:-2px;animation:ill-blink 1s steps(1) infinite}.dd-fp-btn{margin:0 10px 10px;padding:8px;border-radius:3px;background:var(--brand);color:#fff;text-align:center;font-weight:500;transition:transform .12s,background .2s}.dd-fp-btn.down{transform:scale(.96);background:var(--brand-hover)}.dd-fp-btn.done{background:var(--ink)}.dd-fp-stat{margin:-4px 10px 10px;font:10.5px var(--font-mono);color:var(--muted);min-height:15px}.dd-launch{position:absolute;right:14px;bottom:14px;z-index:5;transition:transform .12s}.dd-launch,.dd-launch svg{width:38px;height:38px;display:block}.dd-launch.down{transform:scale(.9)}.dd-keys{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:8px;z-index:7;pointer-events:none;transition:opacity .2s}.dd-keys.hide{opacity:0}.dd-key{width:58px;height:58px;border:solid var(--ink);border-width:1px 1px 4px;border-radius:6px;background:#fff;display:grid;place-items:center;font:500 24px var(--font-body);transition:transform .1s,border-bottom-width .1s}.dd-key.wide{width:auto;padding:0 14px;font-size:20px}.dd-key.down{transform:translateY(3px);border-bottom-width:1px;background:var(--brand);color:#fff;border-color:var(--brand)}.dd-toast{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:8;background:var(--ink);color:#fff;font:11px var(--font-mono);padding:7px 12px;border-radius:3px;white-space:nowrap;transition:opacity .25s,transform .25s}.dd-toast.hide{opacity:0;transform:translate(-50%,8px)}.dd-toast b{color:#8ab8ff;font-weight:400}.dd-cursor{position:absolute;z-index:20;pointer-events:none;left:50%;top:60%;transition:left .7s cubic-bezier(.6,0,.25,1),top .7s cubic-bezier(.6,0,.25,1),opacity .3s}.dd-cursor svg{width:18px;height:22px;display:block}.dd-cursor .tag{position:absolute;left:16px;top:18px;font:10px var(--font-mono);background:var(--brand);color:#fff;padding:2px 6px;border-radius:2px;white-space:nowrap}.dd-cursor .ring{position:absolute;left:-10px;top:-10px;width:20px;height:20px;border:1px solid var(--brand);border-radius:50%;opacity:0}.dd-cursor.click .ring{animation:dd-ring .5s ease-out}@keyframes dd-ring{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.8)}}@media (max-width:980px){.dd-main{grid-template-columns:0 minmax(0,1fr) 210px}.dd-side.left{display:none}}@media (max-width:700px){.dd{aspect-ratio:auto;min-height:0;height:520px}.dd-main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 150px}.dd-side.right{border-left:0;border-top:1px solid var(--dd-line)}.dd-bps{display:none}.dd-fp{width:auto;right:16px}}.kw-hero>.frame,.page-hero>.frame{padding:88px var(--gutter) 72px}.kw-hero h1,.page-hero h1{font-size:clamp(40px,5.6vw,72px);max-width:15ch}.kw-hero .lead,.page-hero .lead{max-width:640px}.kw-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-gap:48px;gap:48px;align-items:end}.kw-hero-grid .ill{max-width:360px;margin-left:auto}@media (max-width:860px){.kw-hero-grid{grid-template-columns:1fr}.kw-hero-grid .ill{margin:0;max-width:300px}.kw-hero>.frame,.page-hero>.frame{padding-top:56px;padding-bottom:56px}}.kw-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.kw-grid>div{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.kw-code{margin:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:18px;font:12.5px/1.7 var(--font-mono);white-space:pre-wrap;overflow-x:auto;max-height:460px}.kw-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:64px;gap:64px}.kw-cols h2{font-size:clamp(26px,3vw,36px)}.kw-steps{list-style:none;counter-reset:k;padding:0;margin:0;border-top:1px solid var(--ink)}.kw-steps li{counter-increment:k;display:grid;grid-template-columns:44px 1fr;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink-2)}.kw-steps li:before{content:"0" counter(k);font:500 12px/1.9 var(--font-mono);color:var(--brand)}.kw-limits{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}.kw-limits li{padding:14px 0 14px 28px;position:relative;border-bottom:1px solid var(--line);color:var(--ink-2)}.kw-limits li:before{content:"!";position:absolute;left:0;top:15px;width:16px;height:16px;border:1px solid var(--ink);border-radius:50%;font:600 10px/14px var(--font-mono);text-align:center}.also{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:40px}.also a{flex:1 1 200px;padding:16px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;font-size:15px;display:flex;justify-content:space-between}.also a:after{content:"→";font-family:var(--font-mono);color:var(--faint)}.also a:hover{background:var(--paper)}.also a:hover,.also a:hover:after{color:var(--brand)}@media (max-width:860px){.kw-cols,.kw-grid{grid-template-columns:1fr}.kw-cols{gap:40px}}.hub{display:grid;grid-gap:72px;gap:72px}.hub-group h2{font-size:28px;margin:0 0 24px}.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.hub-card{display:flex;flex-direction:column;gap:10px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;background:var(--bg);min-height:170px;transition:background .15s;position:relative}.hub-card:after{content:"→";position:absolute;right:20px;top:22px;font-family:var(--font-mono);color:var(--faint);transition:transform .2s,color .2s}.hub-card:hover{background:var(--paper);color:inherit}.hub-card:hover:after{color:var(--brand);transform:translateX(3px)}.hub-card b{font:600 19px/1.25 var(--font-body);letter-spacing:-.02em;padding-right:24px}.hub-card span{color:var(--muted);font-size:14.5px}.hub-card .hub-tag{font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--brand)}@media (max-width:900px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.hub-grid{grid-template-columns:1fr}}.guide{max-width:760px}.guide h1{font-size:clamp(36px,4.8vw,60px);margin:0 0 12px}.guide h2{font-size:28px;margin:56px 0 14px;padding-top:20px;border-top:1px solid var(--ink)}.guide h3{font-size:18px;margin:22px 0 6px}.guide li,.guide p{line-height:1.75;color:var(--ink-2)}.guide ul{padding-left:20px}.guide-answer{font-size:19px;line-height:1.6;border:1px solid var(--ink);border-left:4px solid var(--brand);padding:22px 24px;margin:28px 0 8px;color:var(--ink)!important}.guide-faq{border-bottom:1px solid var(--line);padding-bottom:6px}.guide-cta{display:grid;grid-gap:6px;gap:6px;justify-items:start;border:1px solid var(--ink);padding:28px;margin-top:56px}.guide-cta b{font:600 22px var(--font-body);letter-spacing:-.02em}.guide-cta span{color:var(--muted);margin-bottom:12px}.table-wrap{overflow-x:auto;border:1px solid var(--ink);margin:20px 0}.table-wrap table{width:100%;border-collapse:collapse;font-size:14.5px}.table-wrap td,.table-wrap th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top}.table-wrap td:last-child,.table-wrap th:last-child{border-right:0}.table-wrap thead th{font:500 11.5px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--ink)}.table-wrap tbody tr:last-child>*{border-bottom:0}.table-wrap tbody th{font-weight:500}.cmp{max-width:960px}.cmp h1{font-size:clamp(36px,5vw,64px)}.cmp h2{margin-top:56px;font-size:30px}.cmp-wide{max-width:none}.cmp-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--ink);margin:28px 0}.cmp-cols>div{padding:24px}.cmp-cols>div+div{border-left:1px solid var(--ink)}.cmp-cols h2,.cmp-cols h3{font:500 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cmp-cols ul{padding-left:18px;margin:0}.cmp-cols li{margin:6px 0;color:var(--ink-2)}.cmp-table td,.cmp-table th{font-size:14px}.cmp-yes{color:var(--brand);font-weight:500}.cmp-no{color:var(--muted)}.cmp-part{color:var(--ink)}.cmp-unk{color:var(--faint);font-style:italic}.alt-item{border-top:1px solid var(--ink);padding:24px 0}.alt-item h3{font-size:24px}@media (max-width:700px){.cmp-cols{grid-template-columns:1fr}.cmp-cols>div+div{border-left:0;border-top:1px solid var(--ink)}}.tool-section{padding-top:0}.tool{border:1px solid var(--ink);background:var(--bg);padding:24px;display:grid;grid-gap:16px;gap:16px}.tool-label{font:500 11.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tool-input{width:100%;font:12.5px/1.65 var(--font-mono);padding:14px;border:1px solid var(--line-2);border-radius:3px;background:var(--paper);color:var(--ink);resize:vertical}.tool-input:focus{outline:none;border-color:var(--brand);background:#fff}.tool-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}.tool-row .btn{margin-left:auto}.tool-out .tool-row .btn{margin-left:0}.tool-count{font:12px var(--font-mono);color:var(--muted)}.tool-count.over{color:var(--err)}.tool-check{display:inline-flex;gap:8px;align-items:center;font-size:14.5px;color:var(--ink-2)}.tool-check input{accent-color:var(--brand)}.tool-err{color:var(--err);margin:0}.tool-out{border-top:1px solid var(--line);padding-top:16px;display:grid;grid-gap:12px;gap:12px}.tool-out p{margin:0}.tool-warn summary{cursor:pointer}.tool-warn summary,.tool-warn ul{color:var(--muted);font-size:14px}.tool-cta{margin:0;padding-top:14px;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted)}.tool-pre{max-height:420px;overflow:auto}.tool-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:14px;gap:14px}.tool-fields label{display:grid;grid-gap:6px;gap:6px;font:500 11.5px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tool-fields input{font:15px var(--font-mono);padding:10px 12px;border:1px solid var(--line-2);border-radius:3px;background:var(--paper);color:var(--ink);width:100%}.tool-fields input:focus{outline:none;border-color:var(--brand);background:#fff}.tool-result{font:15px var(--font-mono);background:var(--brand-soft);border:1px solid var(--brand);color:var(--ink);border-radius:3px;padding:10px 14px;margin:0;overflow-wrap:anywhere}.tool-table{width:100%;border-collapse:collapse;font-size:14px}.tool-table td,.tool-table th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.tool-table th{font:500 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tool .table-wrap{border-color:var(--line);margin:0}.tool-swatch{display:inline-block;width:26px;height:26px;border-radius:3px;vertical-align:middle}.tool-copy,.tool-swatch{border:1px solid var(--line-2)}.tool-copy{font:12.5px var(--font-mono);background:var(--bg);color:var(--ink);border-radius:3px;padding:5px 8px;cursor:pointer;text-align:left}.tool-copy:hover{border-color:var(--brand);color:var(--brand)}.tool-note{font-size:13.5px;margin:0}.tool-range{width:100%;accent-color:var(--brand)}.tool-preview{font-family:var(--font-display);font-weight:600;letter-spacing:-.04em;line-height:1.05;margin:0;overflow-wrap:anywhere}@media (max-width:600px){.tool{padding:16px}.tool-row .btn{margin-left:0}}.section{padding:72px 0}.page-head{margin-bottom:48px}.panel{max-width:440px;margin:64px auto;border:1px solid var(--ink);border-radius:var(--radius);padding:28px}input[type=email]{width:100%;padding:12px;border-radius:3px;border:1px solid var(--line-2);background:var(--bg);color:var(--ink);font-size:15px;margin:8px 0 12px}input[type=email]:focus{outline:none;border-color:var(--brand)}.card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--bg)}.card h3{margin:0 0 6px;font-size:18px}.card p{margin:0;color:var(--muted);font-size:15px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}@media (max-width:800px){.grid3{grid-template-columns:1fr}}.meter{height:4px;background:var(--line);overflow:hidden;margin:6px 0 14px}.meter>div{height:100%;background:var(--brand)}.badge{display:inline-block;padding:4px 10px;border:1px solid var(--brand);color:var(--brand);font:500 12px var(--font-mono);border-radius:2px}.steps{counter-reset:s;display:grid;grid-gap:14px;gap:14px}.steps>div{counter-increment:s;display:grid;grid-template-columns:34px 1fr;grid-gap:12px;gap:12px;align-items:start}.steps>div:before{content:counter(s);width:26px;height:26px;border:1px solid var(--ink);display:grid;place-items:center;font:500 12px var(--font-mono)}.legal{max-width:760px}.legal h1{font-size:clamp(36px,5vw,56px)}.legal h2{margin-top:40px;font-size:22px;padding-top:16px;border-top:1px solid var(--line)}.legal li,.legal p{line-height:1.75;color:var(--ink-2)}.legal ul{padding-left:22px}.legal table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14.5px;border:1px solid var(--ink)}.legal td,.legal th{text-align:left;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:10px;vertical-align:top}.legal thead th{font:500 11.5px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom-color:var(--ink)}.legal hr{border:0;border-top:1px solid var(--line);margin:40px 0 16px}.dd-site>.dd-el{min-height:100%;align-content:center}.s-html{gap:14px}.s-html .h{font-size:clamp(22px,3.6vw,46px);max-width:12ch}.s-html .p{font-size:13px}.s-card{padding:16px;gap:10px}.s-card .pr{font-size:26px}.s-gsap .c{height:120px}.s-cap .q{padding:16px;font-size:13px}.s-cap .t,.s-gsap .t,.s-tw .t{font-size:24px}.dd-pub{margin-left:auto}.dd-bps+.dd-pub{margin-left:0}.guide .cmp-cols h2{margin:0 0 14px;padding:0;border:0;font:500 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ex-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.ex-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);color:var(--ink-2);font:500 14px/1 var(--font-body);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.ex-chip span{font:500 11.5px/1 var(--font-mono);color:var(--faint)}.ex-chip:hover{border-color:var(--ink);color:var(--ink)}.ex-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.ex-chip.on span{color:rgba(255,255,255,.6)}.ex-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.ex-card{display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);min-width:0}.ex-thumb{display:block;width:100%;padding:0;margin:0;border:0;border-bottom:1px solid var(--line);background:var(--paper);cursor:zoom-in;text-align:left}.ex-thumb:hover .ex-frame{outline:1px solid var(--brand);outline-offset:-1px}.ex-frame{position:relative;width:100%;overflow:hidden;background:var(--paper)}.ex-frame iframe{position:absolute;top:0;left:0;border:0;transform-origin:0 0;background:#fff;will-change:transform;opacity:0;transition:opacity .25s ease}.ex-frame iframe.on{opacity:1}@media (prefers-reduced-motion:reduce){.ex-frame iframe{transition:none}}.ex-body{display:flex;flex-direction:column;gap:10px;padding:20px;flex:1 1}.ex-body h3{font-size:18px;margin:0}.ex-body h3 a{text-decoration:none}.ex-body p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5}.ex-badges{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:2px 0 0}.ex-badges li{font:500 11px/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);border-radius:3px;padding:5px 7px}.ex-badges.big{margin:0 0 28px}.ex-badges.big li{font-size:12px;padding:6px 9px}.ex-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto}.ex-body .ex-actions{padding-top:8px}.ex-actions.compact .btn{height:36px;padding:0 12px;font-size:13.5px}.ex-hint{width:100%;font-size:13px;color:var(--ok)}.ex-hint.err{color:var(--err)}.ex-modal{width:min(1320px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;scrollbar-gutter:stable;padding:0;border:1px solid var(--ink);border-radius:var(--radius);background:var(--bg);color:var(--ink)}.ex-modal::-webkit-backdrop{background:rgba(10,10,10,.55)}.ex-modal::backdrop{background:rgba(10,10,10,.55)}.ex-modal-inner{display:flex;flex-direction:column;gap:16px;padding:20px}.ex-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ex-modal-head b{display:block;font-size:18px;letter-spacing:-.02em}.ex-modal-link{font-size:14px;color:var(--muted)}.ex-close{width:36px;height:36px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--bg);font-size:22px;line-height:1;cursor:pointer}.ex-close:hover{border-color:var(--ink)}.ex-device{border:1px solid var(--line)}.sec.flush .ex-device{border:0}.ex-device-bar{display:flex;gap:0;border-bottom:1px solid var(--line);background:var(--bg)}.ex-device-bar button{height:40px;padding:0 16px;border:0;border-right:1px solid var(--line);background:transparent;font:500 13.5px/1 var(--font-body);color:var(--muted);cursor:pointer}.ex-device-bar button span{font:11px var(--font-mono);color:var(--faint);margin-left:4px}.ex-device-bar button.on{color:var(--ink);background:var(--paper);box-shadow:inset 0 -2px 0 var(--brand)}.ex-device-stage{background:var(--paper);padding:16px}.ex-device-screen{margin:0 auto;border:1px solid var(--line-2);background:#fff}.ex-h1{max-width:20ch}.ex-sub{margin-top:48px}.ex-code{max-height:640px;font-size:12px}.ex-receive li:before{content:"✓";border:0;font-size:13px;top:14px;color:var(--brand)}.ex-card-link{text-decoration:none;color:inherit}.ex-card-link:hover{background:var(--paper);color:inherit}.ex-card-link .ex-thumb{cursor:pointer}.ex-all{margin:24px 0 0}@media (max-width:1000px){.ex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.ex-grid{grid-template-columns:1fr}.ex-device-bar button span{display:none}.ex-device-stage{padding:8px}}.lp-more{margin:32px 0 0}.lp-starters a.thumb{display:block}