@font-face{font-family:"Space Grotesk";src:url("/assets/fonts/display.0640890476.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}:root{color-scheme:dark;--bg:#07080f;--bg-2:#0c0e1a;--panel:rgb(255 255 255 / 0.045);--panel-2:rgb(255 255 255 / 0.075);--line:rgb(255 255 255 / 0.1);--fg:#eef0ff;--muted:#a4a9c6;--faint:#8e94b8;--violet:#8b6dff;--indigo:#5b5bf0;--cyan:#22d3ee;--ok:#34d399;--grad:linear-gradient(120deg,#a78bfa 0%,#7c83ff 40%,#22d3ee 100%);--shadow:0 30px 80px -30px rgb(91 91 240 / 0.55);--radius:18px;--wrap:1180px;--display:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--text:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:400 16.5px/1.65 var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none;margin:0;padding:0}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}.lead,.sub,.card p,.why p{text-wrap:pretty}code,pre{font-family:var(--mono)}.sprite{position:absolute;width:0;height:0;overflow:hidden}.ico{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:600}.skip:focus{top:12px}.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto}.narrow{width:min(820px,100% - 40px)}.top{position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid var(--line)}.bar{display:flex;align-items:center;gap:24px;height:66px}.brand{display:inline-flex;align-items:center;gap:10px;font:700 19px/1 var(--display);letter-spacing:-0.01em}.brand img{border-radius:9px}.links{display:flex;gap:4px;margin-inline:auto}.links a{padding:8px 12px;border-radius:10px;color:var(--muted);font-size:14.5px;transition:color 0.2s,background 0.2s}.links a:hover{color:var(--fg);background:var(--panel)}.tools{display:flex;align-items:center;gap:10px}.lang{position:relative}.lang summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);font-size:14px;color:var(--muted);user-select:none}.lang summary::-webkit-details-marker{display:none}.lang summary:hover,.lang[open] summary{color:var(--fg);border-color:color-mix(in srgb,var(--violet) 60%,var(--line))}.lang ul{position:absolute;right:0;top:46px;min-width:160px;padding:6px;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.lang li a{display:block;padding:9px 12px;border-radius:9px;font-size:14.5px;color:var(--muted)}.lang li a:hover{background:var(--panel-2);color:var(--fg)}.lang li a[aria-current]{color:var(--fg);background:var(--panel);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 26px;border-radius:14px;border:1px solid transparent;font:600 16px/1 var(--text);cursor:pointer;transition:transform 0.18s,box-shadow 0.25s,background 0.25s,border-color 0.25s}.btn.sm{height:38px;padding:0 14px;border-radius:12px;font-size:14px}.btn.primary{color:#fff;background:var(--grad);box-shadow:0 14px 40px -14px rgb(91 91 240 / 0.9),inset 0 1px 0 rgb(255 255 255 / 0.25)}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 20px 50px -14px rgb(124 131 255 / 1),inset 0 1px 0 rgb(255 255 255 / 0.3)}.btn.ghost{color:var(--fg);background:var(--panel);border-color:var(--line)}.btn.ghost:hover{background:var(--panel-2);border-color:color-mix(in srgb,var(--cyan) 55%,var(--line));transform:translateY(-2px)}.hero{position:relative;padding:84px 0 70px;text-align:center;isolation:isolate;overflow:hidden}.aurora{position:absolute;inset:-20% -10% auto;height:760px;z-index:-2;filter:blur(70px);opacity:0.85;background:radial-gradient(40% 50% at 22% 40%,rgb(139 109 255 / 0.55),transparent 70%),radial-gradient(38% 48% at 78% 30%,rgb(34 211 238 / 0.38),transparent 70%),radial-gradient(36% 46% at 52% 72%,rgb(91 91 240 / 0.45),transparent 70%);animation:drift 18s ease-in-out infinite alternate}.grid-floor{position:absolute;left:-20%;right:-20%;top:46%;height:640px;z-index:-1;opacity:0.5;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;transform:perspective(520px) rotateX(62deg);transform-origin:top;mask-image:linear-gradient(to bottom,#000 0%,transparent 85%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 85%);animation:floor 5s linear infinite}@keyframes drift{from{transform:translate3d(-2%,0,0) scale(1)}to{transform:translate3d(3%,4%,0) scale(1.08)}}@keyframes floor{to{background-position:0 56px,0 0}}.hero-in{display:flex;flex-direction:column;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:14px;letter-spacing:0.02em}.pulse{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgb(52 211 153 / 0.7);animation:ping 2.2s infinite}@keyframes ping{70%{box-shadow:0 0 0 10px rgb(52 211 153 / 0)}100%{box-shadow:0 0 0 0 rgb(52 211 153 / 0)}}h1{margin-top:26px;max-width:1040px;font:700 clamp(36px,5.6vw,64px)/1.06 var(--display);letter-spacing:-0.035em}.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.lead{margin-top:24px;max-width:760px;font-size:clamp(17px,2.1vw,21px);line-height:1.6;color:var(--muted)}.lead strong{color:var(--fg);font-weight:600}.cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:36px}.cta.center{margin-top:28px}.install{display:flex;align-items:center;gap:6px;margin-top:22px;max-width:100%;padding:6px 6px 6px 18px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}.install code{overflow-x:auto;white-space:nowrap;font-size:13.5px;color:var(--muted);padding:8px 0;scrollbar-width:none}.install code::-webkit-scrollbar{display:none}.copy{display:inline-flex;align-items:center;gap:8px;flex:none;height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--fg);font:500 13.5px/1 var(--text);cursor:pointer}.copy:hover{border-color:var(--cyan)}.copy.done{color:var(--ok);border-color:var(--ok)}.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}.badges li{padding:6px 14px;border-radius:999px;font-size:13.5px;color:var(--muted);border:1px solid var(--line);background:var(--panel)}.window{position:relative;margin:0;border-radius:20px;overflow:hidden;background:var(--bg-2);border:1px solid var(--line)}.hero .window{margin-top:60px;width:min(1080px,100%);transform:perspective(1600px) rotateX(5deg);transform-origin:top;transition:transform 0.6s cubic-bezier(.2,.7,.2,1)}.hero .window:hover{transform:perspective(1600px) rotateX(0deg) translateY(-4px)}.glow{box-shadow:var(--shadow),0 0 0 1px rgb(139 109 255 / 0.18)}.chrome{display:flex;align-items:center;gap:7px;height:36px;padding:0 16px;background:var(--panel-2);border-bottom:1px solid var(--line)}.chrome i{width:11px;height:11px;border-radius:50%;background:#ff5f57}.chrome i:nth-child(2){background:#febc2e}.chrome i:nth-child(3){background:#28c840}.chrome span{margin-left:10px;font:12.5px var(--mono);color:var(--faint)}.window img{width:100%}.strip{border-block:1px solid var(--line);background:linear-gradient(90deg,transparent,var(--panel),transparent)}.strip .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 26px;padding:22px 0}.strip-title{color:var(--faint);font-size:13px;letter-spacing:0.12em;text-transform:uppercase}.strip ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px}.strip li{font:600 15.5px var(--display);color:var(--muted)}.sec{padding:110px 0;position:relative}.sec.alt{background:linear-gradient(180deg,transparent,var(--panel) 20%,var(--panel) 80%,transparent)}.sec-head{max-width:760px;margin:0 auto 58px;text-align:center}.kicker{font:600 13px var(--text);letter-spacing:0.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}h2{font:700 clamp(30px,4.4vw,50px)/1.1 var(--display);letter-spacing:-0.03em}.sub{margin-top:18px;color:var(--muted);font-size:18px;line-height:1.65}h3{font:600 19px/1.3 var(--display);letter-spacing:-0.01em}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.card{position:relative;padding:28px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);transition:transform 0.25s,border-color 0.25s,background 0.25s;overflow:hidden}.card::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity 0.3s;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),rgb(139 109 255 / 0.18),transparent 60%)}.card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--violet) 55%,var(--line));background:var(--panel-2)}.card:hover::before{opacity:1}.chip{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;margin-bottom:18px;color:#fff;background:var(--grad);box-shadow:0 10px 26px -10px rgb(91 91 240 / 0.9)}.chip .ico{width:22px;height:22px}.card p{margin-top:10px;color:var(--muted);font-size:15.5px;line-height:1.6}.tablist{display:none}.js .tablist{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:34px}.tablist button{height:42px;padding:0 20px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font:500 15px/1 var(--text);cursor:pointer;transition:all 0.2s}.tablist button:hover{color:var(--fg);border-color:color-mix(in srgb,var(--violet) 55%,var(--line))}.tablist button[aria-selected="true"]{color:#fff;background:var(--grad);border-color:transparent;box-shadow:0 10px 30px -12px rgb(91 91 240 / 0.9)}.panel{margin:0 auto 70px;width:min(1080px,100%)}.js .panel{margin-bottom:0}.js .panel[hidden]{display:none}.panel figcaption{max-width:700px;margin:26px auto 0;text-align:center}.panel figcaption p{margin-top:8px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}.split.rev{grid-template-columns:1.05fr 1fr}.ticks{margin-top:26px;display:grid;gap:12px}.ticks li{display:flex;gap:12px;color:var(--muted);font-size:16px}.ticks .ico{color:var(--ok);margin-top:4px}.more{display:inline-flex;align-items:center;gap:8px;margin-top:26px;color:var(--cyan);font-weight:600}.more:hover{text-decoration:underline;text-underline-offset:4px}.term{border-radius:18px;overflow:hidden;background:#05060c;border:1px solid var(--line)}.term .chrome{background:rgb(255 255 255 / 0.06)}.term pre{margin:0;padding:22px 22px 26px;font-size:13.5px;line-height:1.75;overflow-x:auto;color:#cfd3f3}.ln{display:block;white-space:pre-wrap;overflow-wrap:anywhere}.ln.o{color:#8f95b8;padding-left:18px}.ln.you,.ln.ai{white-space:pre-wrap;padding-left:0}.ln.ai{color:#9fe8ff}.ps{color:var(--violet);font-weight:600;margin-right:6px}.ln.ai .ps{color:var(--cyan)}.js .term.live .ln:nth-child(1){animation-delay:0.3s}.js .term.live .ln:nth-child(2){animation-delay:0.9s}.js .term.live .ln:nth-child(3){animation-delay:1.4s}.ln:nth-child(4){animation-delay:1.9s}.js .term.live .ln:nth-child(5){animation-delay:2.5s}.js .term.live .ln:nth-child(6){animation-delay:3s}.ln:nth-child(7){animation-delay:3.5s}.js .term.live .ln:nth-child(8){animation-delay:4s}.js .term.live .ln:nth-child(9){animation-delay:4.5s}.js .term.live .ln:nth-child(n+10){animation-delay:5s}@keyframes type{to{opacity:1}}.js .term.armed .ln{opacity:0}.js .term.armed.live .ln{animation:type 0.01s forwards}.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.why li{padding:26px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(160deg,var(--panel-2),transparent)}.why p{margin-top:10px;color:var(--muted);font-size:15.5px}.road{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.road li{position:relative;padding:26px;border-radius:var(--radius);border:1px dashed var(--line);background:var(--panel)}.road li.done{border-style:solid;border-color:color-mix(in srgb,var(--ok) 40%,var(--line))}.road li.next{border-color:color-mix(in srgb,var(--violet) 55%,var(--line))}.ver{display:inline-block;margin-bottom:12px;padding:4px 12px;border-radius:999px;font:600 12.5px var(--mono);background:var(--panel-2);color:var(--muted)}.road .done .ver{color:var(--ok);background:rgb(52 211 153 / 0.12)}.road .next .ver{color:var(--violet);background:rgb(139 109 255 / 0.14)}.road p{margin-top:10px;color:var(--muted);font-size:15px}.faq{display:grid;gap:12px}.faq details{border-radius:16px;border:1px solid var(--line);background:var(--panel);transition:border-color 0.2s,background 0.2s}.faq details[open]{border-color:color-mix(in srgb,var(--violet) 50%,var(--line));background:var(--panel-2)}.faq summary{list-style:none;cursor:pointer;padding:20px 56px 20px 24px;position:relative;font:600 17.5px/1.4 var(--display)}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:24px;top:50%;translate:0 -50%;font:300 28px/1 var(--display);color:var(--cyan);transition:rotate 0.25s}.faq details[open] summary::after{rotate:45deg}.faq p{padding:0 24px 22px;color:var(--muted)}.final{padding-top:40px}.final-box{text-align:center;padding:72px 28px;border-radius:28px;background:radial-gradient(60% 120% at 50% 0%,rgb(139 109 255 / 0.28),transparent 70%),var(--panel);border:1px solid var(--line)}.final-box .sub{max-width:620px;margin-inline:auto}.author{text-align:center;padding-top:30px}.author p{margin-top:18px;color:var(--muted);font-size:17.5px}.author .who{color:var(--fg);font-weight:600}.author .who a{color:var(--cyan)}.author .who a:hover{text-decoration:underline;text-underline-offset:4px}.foot{border-top:1px solid var(--line);background:var(--bg-2);padding:60px 0 0}.foot-in{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:36px}.foot-brand p{margin-top:16px;color:var(--muted);max-width:340px;font-size:15px}.foot h2{font:600 13px var(--text);letter-spacing:0.12em;text-transform:uppercase;color:var(--faint);margin-bottom:16px}.foot li{margin:9px 0}.foot li a{color:var(--muted);font-size:15px}.foot li a:hover{color:var(--fg)}.legal{padding:36px 0 44px;color:var(--faint);font-size:14px}.legal a{text-decoration:underline;text-underline-offset:3px}.hint{position:fixed;z-index:60;left:50%;bottom:22px;translate:-50% 0;width:min(560px,100% - 28px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-radius:18px;background:var(--bg-2);border:1px solid var(--line);box-shadow:var(--shadow)}.hint[hidden]{display:none}.hint-actions{display:flex;gap:8px}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity 0.7s ease,transform 0.7s cubic-bezier(.2,.7,.2,1)}.js .reveal.in{opacity:1;transform:none}@media (max-width:980px){.links{display:none}.tools{margin-left:auto}.split,.split.rev{grid-template-columns:1fr;gap:36px}.split.rev .term{order:2}.foot-in{grid-template-columns:1fr 1fr}.sec{padding:76px 0}}@media (max-width:560px){body{font-size:16px}.hero{padding-top:54px}.btn{width:100%}.cta{width:100%}.tools .btn span{display:none}.tools .btn.sm{padding:0 12px}.foot-in{grid-template-columns:1fr}.hero .window{margin-top:40px;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none !important;transition:none !important}.js .reveal{opacity:1;transform:none}.ln{opacity:1}.hero .window{transform:none}}.lost{min-height:100vh;justify-content:center;text-align:center}