:root{--paper: #f6f7f8;--surface: #ffffff;--sunken: #eceef0;--ink: #14181c;--ink-2: #4e565e;--ink-3: #8b949c;--rule: #dde1e4;--rule-2: #e9ecee;--grid: #e2e6e9;--axis-x: #c8443c;--axis-y: #2e9e5b;--axis-z: #3358b8;--line: #c8443c;--line-soft:#fbecea;--ok: #2e9e5b;--amber: #8a6114}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #14181c;--surface: #1b2026;--sunken: #20262d;--ink: #eef1f3;--ink-2: #9aa4ad;--ink-3: #68727b;--rule: #2a313a;--rule-2: #232931;--grid: #232a32;--axis-x: #e8695f;--axis-y: #5cc487;--axis-z: #6d92e8;--line: #e8695f;--line-soft:#2b1e1d;--ok: #5cc487;--amber: #c9a05a}}:root[data-theme=dark]{--paper: #14181c;--surface: #1b2026;--sunken: #20262d;--ink: #eef1f3;--ink-2: #9aa4ad;--ink-3: #68727b;--rule: #2a313a;--rule-2: #232931;--grid: #232a32;--axis-x: #e8695f;--axis-y: #5cc487;--axis-z: #6d92e8;--line: #e8695f;--line-soft:#2b1e1d;--ok: #5cc487;--amber: #c9a05a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Public Sans,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:16.5px;line-height:1.68;-webkit-font-smoothing:antialiased}.wrap{max-width:1160px;margin:0 auto;padding:0 28px}@media(max-width:640px){.wrap{padding:0 18px}}h1,h2,h3,h4{font-family:Familjen Grotesk,PingFang SC,sans-serif;text-wrap:balance}a{color:inherit}.mono{font-family:JetBrains Mono,monospace}.label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3)}nav{border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(12px)}.nav-in{display:flex;align-items:center;gap:26px;height:62px}.brand{display:flex;align-items:center;gap:9px;font-family:Familjen Grotesk,sans-serif;font-weight:700;font-size:16px;letter-spacing:-.3px;text-decoration:none}.brand small{font-family:JetBrains Mono,monospace;font-weight:400;font-size:10.5px;color:var(--ink-3);letter-spacing:.3px;white-space:nowrap}@media(max-width:520px){nav .brand small{display:none}}.nav-links{display:flex;gap:20px;margin-left:auto;align-items:center}.nav-links a{font-size:14.5px;color:var(--ink-2);text-decoration:none}.nav-links a:hover{color:var(--ink)}@media(max-width:880px){.nav-links a.hide-sm{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:4px;text-decoration:none;font-family:Familjen Grotesk,sans-serif;font-size:15px;font-weight:600;background:var(--ink);color:var(--paper);border:1px solid var(--ink);transition:opacity .15s}.btn:hover{opacity:.86}.btn.sm{height:36px;padding:0 14px;font-size:14px}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule)}.btn.ghost:hover{border-color:var(--ink-3);opacity:1}a:focus-visible,button:focus-visible{outline:2px solid var(--line);outline-offset:3px}.hero{display:block;padding:76px 0 34px;text-align:center}.hero .lede{margin-left:auto;margin-right:auto}.hero .hero-cta{justify-content:center}.hero .hero-note{text-align:center}@media(max-width:900px){.hero{padding:46px 0 26px}}.stage{border:1px solid var(--rule);background:var(--surface);box-shadow:0 24px 60px -32px #00000057;margin-bottom:18px}.stage-bar{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;border-bottom:1px solid var(--rule);background:var(--sunken);font-size:12.5px;color:var(--ink-2)}.lights{display:flex;gap:6px;margin-right:4px}.lights i{width:9px;height:9px;border-radius:50%;background:var(--rule);display:block}.stage-title{font-family:Familjen Grotesk,sans-serif;font-weight:600}.stage-sep{color:var(--ink-3)}.stage-file{font-size:11.5px;color:var(--ink-3)}.stage-speed{margin-left:auto;font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--line);background:var(--line-soft);padding:3px 8px;border-radius:3px}@media(max-width:620px){.stage-file,.stage-sep{display:none}}.stage-body{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}@media(max-width:860px){.stage-body{grid-template-columns:1fr}}.pane-app{border-right:1px solid var(--rule);padding:18px;display:flex;flex-direction:column;gap:14px;text-align:left}@media(max-width:860px){.pane-app{border-right:none;border-top:1px solid var(--rule);order:2}}.app-head{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-2)}.app-head .muted,.muted{color:var(--ink-3)}.dot-ok{width:6px;height:6px;border-radius:50%;background:var(--ok);flex-shrink:0}.bubble{background:var(--sunken);border-radius:4px;padding:12px 14px;font-size:14px;line-height:1.55;color:var(--ink)}.run{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.run .st{display:grid;grid-template-columns:17px 1fr;gap:10px;align-items:center;font-size:13.5px;color:var(--ink-3)}.run .tick{width:17px;height:17px;border:1px solid var(--rule);border-radius:50%;display:flex;align-items:center;justify-content:center;color:transparent}.run .tick svg{width:10px;height:10px}.run-done{display:flex;gap:8px;align-items:baseline;font-size:12px;padding-top:2px}.run-done .mono:first-child{color:var(--ok);font-weight:500}.composer{margin-top:auto;border:1px solid var(--rule);border-radius:6px;padding:10px 10px 10px 13px;display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-3)}.composer .send{margin-left:auto;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;flex-shrink:0}.composer .send svg{width:13px;height:13px}.pane-view{display:flex;flex-direction:column;background:var(--paper);min-width:0}@media(max-width:860px){.pane-view{order:1}}.view-head{display:flex;align-items:center;gap:9px;padding:9px 14px;border-bottom:1px solid var(--rule);font-size:11.5px;color:var(--ink-2)}.view-spacer{flex-grow:1}.pulse{width:6px;height:6px;border-radius:50%;background:var(--line);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.view-canvas{padding:10px 6px 2px}.view-canvas svg{display:block;width:100%;height:auto}.g{opacity:0}.plan{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:3 4;animation:seq 7s linear infinite;animation-delay:0s}.slab{fill:var(--sunken);stroke:var(--ink);stroke-width:1.2;animation:seq 7s linear infinite .55s}.wall{fill:var(--surface);stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round}.w-a{animation:rise 7s linear infinite 1.05s}.w-b{animation:rise 7s linear infinite 1.3s}.cut{fill:var(--paper);stroke:var(--ink);stroke-width:1.1}.c-1{animation:seq 7s linear infinite 2s}.c-2{animation:seq 7s linear infinite 2.2s}.item .f-t{fill:var(--surface)}.item .f-x{fill:var(--sunken)}.item .f-y{fill:var(--rule-2)}.item polygon{stroke:var(--ink);stroke-width:1.1;stroke-linejoin:round}.i-1{animation:drop 7s linear infinite 2.8s}.i-2{animation:drop 7s linear infinite 3s}.i-3{animation:drop 7s linear infinite 3.2s}.i-4{animation:drop 7s linear infinite 3.4s}.dim{stroke:var(--ink-3);stroke-width:1;fill:none;animation:seq 7s linear infinite 4.3s}.dim-t{fill:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px;animation:seq 7s linear infinite 4.3s}@keyframes seq{0%{opacity:0}3%{opacity:1}88%{opacity:1}96%{opacity:0}to{opacity:0}}@keyframes rise{0%{opacity:0;clip-path:inset(100% 0 0 0)}2%{opacity:1;clip-path:inset(100% 0 0 0)}9%{opacity:1;clip-path:inset(0 0 0 0)}88%{opacity:1;clip-path:inset(0 0 0 0)}96%{opacity:0;clip-path:inset(0 0 0 0)}to{opacity:0;clip-path:inset(100% 0 0 0)}}@keyframes drop{0%{opacity:0;transform:translateY(-14px)}4%{opacity:1;transform:translateY(0)}88%{opacity:1;transform:translateY(0)}96%{opacity:0;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}.run .st{animation:lit 7s linear infinite}.run .s-1{animation-delay:.5s}.run .s-2{animation-delay:1.5s}.run .s-3{animation-delay:2.3s}.run .s-4{animation-delay:3.1s}.run .s-5{animation-delay:4.1s}@keyframes lit{0%,1%{color:var(--ink-3)}2%,88%{color:var(--ink)}96%,to{color:var(--ink-3)}}.run .st .tick{animation:ticked 7s linear infinite}.run .s-1 .tick{animation-delay:.5s}.run .s-2 .tick{animation-delay:1.5s}.run .s-3 .tick{animation-delay:2.3s}.run .s-4 .tick{animation-delay:3.1s}.run .s-5 .tick{animation-delay:4.1s}@keyframes ticked{0%,1%{color:transparent;border-color:var(--rule);background:transparent}2%,88%{color:var(--paper);border-color:var(--ok);background:var(--ok)}96%,to{color:transparent;border-color:var(--rule);background:transparent}}.run-done{animation:seq 7s linear infinite 4.6s;opacity:0}@media(prefers-reduced-motion:reduce){.g,.run .st,.run .st .tick,.run-done,.pulse{animation:none!important;opacity:1!important}.wall{clip-path:none!important}.run .st{color:var(--ink)}.run .st .tick{color:var(--paper);border-color:var(--ok);background:var(--ok)}}section{padding:76px 0;border-top:1px solid var(--rule)}@media(max-width:640px){section{padding:52px 0}}h2{font-size:clamp(26px,3.6vw,36px);font-weight:700;letter-spacing:-.9px;line-height:1.14;margin:12px 0 16px}.sec-lede{font-size:17px;color:var(--ink-2);max-width:58ch;margin:0 0 40px}.versus{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:780px){.versus{grid-template-columns:1fr}}.vs-card{border:1px solid var(--rule);background:var(--surface);padding:26px 26px 28px}.vs-card.ours{border-color:var(--ink)}.vs-card h3{font-size:18px;font-weight:600;margin:0 0 4px;letter-spacing:-.3px}.vs-card .sub{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3);margin-bottom:20px;letter-spacing:.4px}.steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.steps li{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--rule-2);font-size:15px;color:var(--ink-2);line-height:1.5}.steps li:first-child{border-top:none;padding-top:0}.steps .n{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-3);padding-top:2px}.vs-card.ours .steps .n{color:var(--line)}.vs-card.ours .steps li{color:var(--ink)}.vs-out{margin-top:20px;padding-top:16px;border-top:1px solid var(--rule);font-size:14.5px}.vs-out .k{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:5px}.apps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:820px){.apps{grid-template-columns:1fr}}.app{border:1px solid var(--rule);background:var(--surface);padding:24px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;transition:border-color .15s}.app:hover{border-color:var(--ink-3)}.app-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.app h3{font-size:19px;font-weight:600;margin:0;letter-spacing:-.3px}.chip{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.9px;text-transform:uppercase;padding:3px 8px;border:1px solid var(--rule);color:var(--ink-3)}.chip.live{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.app p{margin:0;font-size:14.5px;color:var(--ink-2);line-height:1.55}.app .go{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--line);margin-top:auto;padding-top:6px}.honest{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--rule);background:var(--surface)}@media(max-width:780px){.honest{grid-template-columns:1fr}}.honest>div{padding:28px}.honest>div:first-child{border-right:1px solid var(--rule)}@media(max-width:780px){.honest>div:first-child{border-right:none;border-bottom:1px solid var(--rule)}}.honest h3{font-size:16px;font-weight:600;margin:0 0 16px;letter-spacing:-.2px}.honest ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}.honest li{display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:15px;color:var(--ink-2);line-height:1.5}.honest svg{margin-top:4px}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media(max-width:820px){.how{grid-template-columns:1fr;gap:24px}}.how>div{border-top:2px solid var(--ink);padding-top:16px}.how .n{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--line);display:block;margin-bottom:8px}.how h3{font-size:17px;font-weight:600;margin:0 0 7px;letter-spacing:-.2px}.how p{margin:0;font-size:15px;color:var(--ink-2);line-height:1.55}.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:820px){.tiers{grid-template-columns:1fr}}.tier{border:1px solid var(--rule);background:var(--surface);padding:26px;display:flex;flex-direction:column;gap:16px}.tier.mid{border-color:var(--ink)}.tier h3{font-size:17px;font-weight:600;margin:0;letter-spacing:-.2px}.price{font-family:Familjen Grotesk,sans-serif;font-size:34px;font-weight:700;letter-spacing:-1px;line-height:1}.price .per{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:400;color:var(--ink-3);letter-spacing:0}.tbd{background:var(--line-soft);color:var(--line);padding:1px 7px;border-radius:3px;font-size:26px}.tier ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;font-size:14.5px;color:var(--ink-2)}.tier li{display:grid;grid-template-columns:16px 1fr;gap:9px;line-height:1.5}.tier .btn{margin-top:auto}.faq{display:flex;flex-direction:column}.faq details{border-top:1px solid var(--rule);padding:4px 0}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-size:17px;font-weight:500;font-family:Familjen Grotesk,PingFang SC,sans-serif;display:flex;gap:16px;align-items:baseline}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";margin-left:auto;font-family:JetBrains Mono,monospace;color:var(--ink-3);font-weight:400}.faq details[open] summary:after{content:"–"}.faq .a{padding:0 0 20px;max-width:68ch;color:var(--ink-2);font-size:15.5px}.faq .a p{margin:0 0 10px}.faq .a p:last-child{margin:0}.band{background:var(--ink);color:var(--paper);padding:64px 0}.band h2{color:var(--paper);margin-top:0}.band p{color:color-mix(in srgb,var(--paper) 72%,transparent);font-size:17px;max-width:52ch;margin:0 0 26px}.band .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}footer{border-top:1px solid var(--rule);padding:52px 0 64px}.fgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}@media(max-width:820px){.fgrid{grid-template-columns:1fr 1fr;gap:28px}}.fgrid h4{font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:500;letter-spacing:1.3px;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px}.fgrid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.fgrid a{font-size:14.5px;color:var(--ink-2);text-decoration:none}.fgrid a:hover{color:var(--ink)}.fbot{margin-top:44px;padding-top:22px;border-top:1px solid var(--rule);display:flex;gap:18px;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--ink-3)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.hero .dl-line{margin:18px auto 0;max-width:560px;font-size:14.5px;line-height:1.7;color:var(--ink-3)}.sec-head{display:flex;flex-wrap:wrap;gap:56px;align-items:baseline}.sec-head>.sh-text{flex:0 1 620px}.sec-head>.sh-text>h2{margin-top:0}.claim{border-left:2px solid var(--axis-x);padding:4px 0 4px 20px}.claim b{display:block;font-size:19px;font-weight:600;color:var(--ink);letter-spacing:-.2px;line-height:1.12}.claim b em{font-style:normal;font-size:40px;font-weight:700;letter-spacing:-2px;color:var(--axis-x);font-variant-numeric:tabular-nums}.claim.words b{font-size:24px;line-height:1.3;letter-spacing:-.5px}.claim .s{display:block;margin-top:11px;font-size:14px;color:var(--ink-3)}@media(max-width:900px){.sec-head{flex-direction:column;gap:22px}.claim{border-left:none;border-top:2px solid var(--axis-x);padding:14px 0 0}}.fgrid{grid-template-columns:1.5fr repeat(4,1fr)}@media(max-width:1040px){.fgrid{grid-template-columns:1fr 1fr 1fr;gap:30px}}@media(max-width:680px){.fgrid{grid-template-columns:1fr 1fr;gap:26px}}footer .brand{display:inline-flex;align-items:center;gap:8px}.demo{margin:0;border:1px solid var(--rule);background:var(--sunken);overflow:hidden}.demo-v{display:block;width:100%;aspect-ratio:1048 / 478;object-fit:cover;background:var(--sunken)}.demo-cap{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--rule);background:var(--surface);font-size:13px;color:var(--ink-3);text-align:left}.demo-cap .mono{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.4px;color:var(--axis-x)}.demo-log{margin-top:30px;max-width:62ch;text-align:left}.demo-log h3{font-size:17px;font-weight:600;margin:0 0 12px}.demo-ask{margin:0 0 18px;padding:12px 16px;border-left:2px solid var(--axis-x);background:var(--sunken);font-size:15.5px;color:var(--ink)}.demo-steps{list-style:none;padding:0;margin:0 0 16px}.demo-steps li{display:flex;gap:14px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--rule-2);font-size:15.5px}.demo-steps li:last-child{border-bottom:none}.demo-steps .n{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--axis-x);flex-shrink:0}.demo-out{font-size:15px;color:var(--ink-2);margin:0}@media(prefers-reduced-motion:reduce){.demo-v{animation:none}}@media(prefers-reduced-motion:reduce){.plan,.item polygon{animation:none!important;opacity:1!important}}.doc{max-width:760px;padding-top:40px;padding-bottom:80px}.doc.wide{max-width:1160px}.doc.wide>h2,.doc.wide>p{max-width:62ch}.crumbs{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 22px;font-size:13px;color:var(--ink-3)}.crumbs li+li:before{content:"/";margin-right:8px;color:var(--rule)}.crumbs a{color:var(--ink-3);text-decoration:none}.crumbs a:hover{color:var(--ink)}.doc h1{font-size:clamp(30px,4.4vw,42px);font-weight:700;letter-spacing:-1.1px;line-height:1.12;margin:0 0 18px}.lede-doc{font-size:18.5px;line-height:1.6;color:var(--ink);margin:0 0 16px}.byline{font-size:12px;color:var(--ink-3);margin:0 0 8px;padding-bottom:26px;border-bottom:1px solid var(--rule)}.doc h2{font-size:25px;font-weight:700;letter-spacing:-.6px;line-height:1.2;margin:46px 0 14px}.doc p{font-size:16.5px;line-height:1.72;color:var(--ink-2);margin:0 0 15px}.doc p strong{color:var(--ink)}.doc a{color:var(--line);text-underline-offset:2px}.fine{font-size:14px!important;color:var(--ink-3)!important}.doc .scroll{overflow-x:auto;margin:22px 0;border:1px solid var(--rule);background:var(--surface)}.doc table{border-collapse:collapse;width:100%;min-width:640px;font-size:14.5px}.doc th,.doc td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule-2);color:var(--ink-2)}.doc thead th{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.9px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule)}.doc tbody tr:last-child td{border-bottom:none}.doc td.y{color:var(--ok);font-weight:600}.doc td.n{color:var(--line);font-weight:600}.doc td.mid{color:var(--amber);font-weight:600}h1 em,.doc h1 em{font-style:normal;color:var(--line)}.brandmark{display:block;height:auto}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brandmark{filter:invert(1)}}:root[data-theme=dark] .brandmark{filter:invert(1)}.bigmark{position:absolute;top:-26px;left:-70px;z-index:0;width:300px;pointer-events:none;opacity:.13}.hero{position:relative}.hero>*:not(.bigmark){position:relative;z-index:1}@media(max-width:1240px){.bigmark{width:224px;left:-48px;top:-16px}}@media(max-width:900px){.bigmark{width:168px;left:-30px;opacity:.1}}@media(max-width:620px){.bigmark{display:none}}.brand img.brandmark{width:30px;margin-right:1px}.brand-rail{border-top:1px solid var(--rule);margin:56px 0 0;padding:60px 0 8px;max-width:34em}.brand-rail .mark{display:block;margin-bottom:22px}.brand-rail h2{font-size:30px;font-weight:700;letter-spacing:.12em;text-indent:.12em;margin:0 0 22px;line-height:1.2}.brand-rail p{font-size:15px;line-height:1.95;color:var(--ink-2);margin:0 0 16px}.brand-rail p:last-child{margin-bottom:0}.brand-rail .lead{color:var(--ink)}.brand-rail em{font-style:normal;color:var(--axis-x);font-weight:600}.rot{display:inline-block;height:1.18em;height:1lh;overflow:hidden;vertical-align:bottom;text-align:left;color:var(--axis-x)}.rot i{display:block;font-style:normal;line-height:inherit;height:1.18em;height:1lh;animation:rot 10s cubic-bezier(.6,0,.2,1) infinite}.rot i:first-child{margin-top:0}@keyframes rot{0%,18%{transform:translateY(0)}22%,43%{transform:translateY(-100%)}47%,68%{transform:translateY(-200%)}72%,93%{transform:translateY(-300%)}97%,to{transform:translateY(-400%)}}@media(prefers-reduced-motion:reduce){.rot i{animation:none}}.scenes{margin-top:30px}.scene-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.scenes input{position:absolute;opacity:0;pointer-events:none}.scene-tabs label{cursor:pointer;padding:8px 16px;border:1px solid var(--rule);border-radius:999px;font-size:14.5px;color:var(--ink-2);background:var(--surface);user-select:none}.scene-tabs label:hover{border-color:var(--ink-3)}.scenes input:focus-visible+label{outline:2px solid var(--axis-z);outline-offset:2px}.scene-panel{display:none}#sc1:checked~.scene-body #p1,#sc2:checked~.scene-body #p2,#sc3:checked~.scene-body #p3,#sc4:checked~.scene-body #p4{display:grid}#sc1:checked~.scene-tabs label[for=sc1],#sc2:checked~.scene-tabs label[for=sc2],#sc3:checked~.scene-tabs label[for=sc3],#sc4:checked~.scene-tabs label[for=sc4]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.scene-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:32px;align-items:start;border:1px solid var(--rule);background:var(--surface);padding:30px}@media(max-width:860px){.scene-panel{grid-template-columns:1fr;gap:22px;padding:22px}}.scene-panel h3{font-size:24px;font-weight:700;margin:0 0 4px;letter-spacing:0}.scene-promise{font-size:17px;color:var(--axis-x);font-weight:600;margin:0 0 14px}.scene-panel p{margin:0 0 14px;font-size:15.5px;color:var(--ink-2)}.scene-panel .meta{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-3)}.scene-shot{background:var(--paper);border:1px solid var(--rule);padding:14px}.scene-shot svg{display:block;width:100%;height:auto}.dl{position:relative;display:inline-block}.dl-menu{margin-top:10px;border:1px solid var(--rule);background:var(--surface);padding:6px;display:flex;flex-direction:column;gap:1px;text-align:left;min-width:250px}.dl-menu a{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;color:var(--ink-2);text-decoration:none}.dl-menu a:hover{background:var(--sunken);color:var(--ink)}.dl-menu .now{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--axis-y)}.dl-menu .soon{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--ink-3)}.dl-note{font-size:12.5px;color:var(--ink-3);padding:8px 12px 4px;border-top:1px solid var(--rule-2);margin-top:4px}.vp-wrap{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--paper)}.vp{width:100%;height:100%;display:block}.vp-grid line{stroke:var(--grid);stroke-width:1}.vp-axis line{stroke-width:1.6}.vp-axis text{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500}.vp-x line,.vp-x text{stroke:var(--axis-x);fill:var(--axis-x)}.vp-y line,.vp-y text{stroke:var(--axis-y);fill:var(--axis-y)}.vp-z line,.vp-z text{stroke:var(--axis-z);fill:var(--axis-z)}.vp-s1 polygon{fill:none;stroke:var(--axis-x);stroke-width:1.2;stroke-dasharray:5 5}.vp-s2 polygon{fill:var(--sunken);stroke:var(--ink-3);stroke-width:1.2}.vp-s3 polygon,.vp-s4 polygon{stroke:var(--ink-2);stroke-width:1.3;stroke-linejoin:round}.f-t{fill:var(--surface)}.f-x{fill:var(--sunken)}.f-y{fill:var(--rule-2)}.vp-s1,.vp-s2,.vp-s3,.vp-s4{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}body[data-stage="1"] .vp-s1,body[data-stage="2"] .vp-s1,body[data-stage="2"] .vp-s2,body[data-stage="3"] .vp-s1,body[data-stage="3"] .vp-s2,body[data-stage="3"] .vp-s3,body[data-stage="4"] .vp-s1,body[data-stage="4"] .vp-s2,body[data-stage="4"] .vp-s3,body[data-stage="4"] .vp-s4{opacity:1;transform:translateY(0)}nav,.wrap,footer,.band{position:relative;z-index:1}body>.wrap.doc{background:color-mix(in srgb,var(--paper) 62%,transparent)}nav{background:color-mix(in srgb,var(--paper) 84%,transparent)}footer{background:color-mix(in srgb,var(--paper) 88%,transparent)}@media(max-width:900px){.vp-wrap{opacity:.45}}@media(prefers-reduced-motion:reduce){.vp-s1,.vp-s2,.vp-s3,.vp-s4{opacity:1!important;transform:none!important;transition:none}}[lang=zh-Hans]{font-family:Public Sans,PingFang SC,HarmonyOS Sans SC,Hiragino Sans GB,Microsoft YaHei,Source Han Sans SC,sans-serif;line-height:1.85}[lang=zh-Hans] h1,[lang=zh-Hans] h2,[lang=zh-Hans] h3,[lang=zh-Hans] h4{font-family:Familjen Grotesk,PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,Source Han Sans SC,sans-serif;letter-spacing:0}[lang=zh-Hans] h1{line-height:1.3}[lang=zh-Hans] .doc h1{line-height:1.32}[lang=zh-Hans] h2{line-height:1.4}[lang=zh-Hans] .doc p,[lang=zh-Hans] .lede-doc{line-height:1.9}[lang=zh-Hans] .lede{line-height:1.85}[lang=zh-Hans] .steps-doc li,[lang=zh-Hans] .cols li{line-height:1.9}[lang=zh-Hans] .doc table{min-width:560px}[lang=zh-Hans] .label,[lang=zh-Hans] .kicker{letter-spacing:.5px}[lang=zh-Hans] .mono{margin:0 1px}.code{font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.65;background:var(--sunken);border:1px solid var(--rule);border-radius:4px;padding:13px 15px;overflow-x:auto;margin:0 0 16px;color:var(--ink);white-space:pre}.doc h2[id]{scroll-margin-top:78px}.steps-doc{padding-left:20px;margin:16px 0 15px}.steps-doc li{font-size:16.5px;line-height:1.7;color:var(--ink-2);margin-bottom:10px}.cols{padding-left:20px;margin:0 0 15px}.cols li{font-size:16.5px;line-height:1.7;color:var(--ink-2);margin-bottom:7px}.cta-doc{margin:52px 0 0;padding:30px;border:1px solid var(--rule);background:var(--surface)}.cta-doc h2{margin-top:0;font-size:22px}.cta-doc p{margin-bottom:20px}.related{margin-top:52px;padding-top:24px;border-top:1px solid var(--rule)}.related h3{font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:500;letter-spacing:1.3px;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px}.related ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}.related a{font-size:15.5px;color:var(--ink-2);text-decoration:none}.related a:hover{color:var(--ink)}
