:root{--bg:#0a0f1c;--bg-2:#0d1424;--surface:#111a2e;--surface-2:#16203a;--line:#1c2741;--line-strong:#24304a;--text:#e7ecf6;--muted:#8d99b3;--dim:#5d6987;--accent:#4ade9a;--accent-ink:#052414;--accent-2:#38bdf8;--warn:#fbbf24;--logo-bg:#0d1424;--radius:14px;--radius-sm:9px;--wrap:1180px;--sans:"Inter", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono", "Cascadia Code", "SF Mono", ui-monospace, Menlo, Consolas, monospace;color-scheme:dark}*,*::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(--text);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:inherit}code,pre{font-family:var(--mono)}h1,h2,h3{line-height:1.12;letter-spacing:-.025em;margin:0;font-weight:650}p{margin:0}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:6px}.wrap{width:min(var(--wrap),100% - 32px);margin-inline:auto}.narrow{max-width:760px}.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--accent);color:var(--accent-ink);padding:8px 14px;border-radius:8px}.skip:focus{left:16px}.ico{width:1.15em;height:1.15em;flex:none}.btn{display:inline-flex;align-items:center;gap:.55em;padding:.78em 1.25em;border-radius:10px;font-weight:600;font-size:.95rem;text-decoration:none;white-space:nowrap;border:1px solid transparent;transition:transform .15s ease,background .2s,border-color .2s,box-shadow .2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 30px -10px color-mix(in srgb,var(--accent) 70%,transparent)}.btn-primary:hover{background:#6aecb0}.btn-ghost{background:color-mix(in srgb,var(--surface) 70%,transparent);border-color:var(--line-strong);color:var(--text)}.btn-ghost:hover{border-color:var(--dim);background:var(--surface-2)}.btn-sm{padding:.5em .9em;font-size:.85rem}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.actions.center{justify-content:center}.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:saturate(160%)blur(14px);-webkit-backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid transparent;transition:border-color .25s}.nav.scrolled{border-bottom-color:var(--line)}.nav-inner{display:flex;align-items:center;gap:24px;height:66px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:1.08rem;letter-spacing:-.02em}.brand b{color:var(--accent);font-weight:700;margin-left:2px}.logo-mark{width:30px;height:30px}.nav-links{display:flex;gap:4px;margin-left:12px}.nav-links a{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:.93rem;font-weight:500}.nav-links a .ico{width:.8em;height:.8em;opacity:.6}.nav-links a:hover{color:var(--text);background:var(--surface)}.nav-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.lang{display:inline-flex;padding:3px;border:1px solid var(--line-strong);border-radius:9px;background:var(--bg-2)}.lang a{padding:3px 9px;border-radius:6px;font:600 .75rem/1.6 var(--mono);color:var(--dim);text-decoration:none}.lang a[aria-current]{background:var(--surface-2);color:var(--text)}.lang a:hover{color:var(--text)}.nav-toggle{display:none;background:0 0;border:1px solid var(--line-strong);color:var(--text);width:40px;height:40px;border-radius:9px;align-items:center;justify-content:center;cursor:pointer}@media(max-width:860px){.nav-toggle{display:inline-flex}.hide-sm{display:none}.nav-links{position:absolute;top:66px;left:0;right:0;margin:0;flex-direction:column;padding:12px 16px 20px;background:var(--bg);border-bottom:1px solid var(--line);display:none}.nav.open .nav-links{display:flex}.nav-links a{padding:12px;font-size:1rem}}.hero{position:relative;padding:88px 0 56px;overflow:hidden;isolation:isolate}.hero-bg{position:absolute;inset:0;z-index:-1}.hero-bg::before{content:"";position:absolute;inset:-1px;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px),linear-gradient(to bottom,var(--line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);opacity:.55}.hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(42% 55% at 82% 8%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),radial-gradient(35% 45% at 62% 40%,color-mix(in srgb,var(--accent-2) 10%,transparent),transparent 70%)}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}.badge{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 10px;border-radius:99px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--surface) 60%,transparent);font:500 .8rem/1.4 var(--mono);color:var(--muted);margin-bottom:26px}.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:pulse 2.4s infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 60%,transparent)}70%,100%{box-shadow:0 0 0 10px transparent}}.hero h1{font-size:clamp(2.4rem,5.2vw,4rem);font-weight:700;letter-spacing:-.035em}.hero h1 span{background:linear-gradient(100deg,var(--accent) 10%,var(--accent-2) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{margin-top:22px;font-size:1.14rem;color:var(--muted);max-width:36em}.lead strong{color:var(--text);font-weight:600}.term,.code,.shot,.tree{background:linear-gradient(180deg,var(--surface) 0%,var(--bg-2) 100%);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 30px 80px -30px rgba(0,0,0,.7),inset 0 1px rgba(255,255,255,3%);overflow:hidden}.term{position:relative}.term-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line)}.term-bar i{width:11px;height:11px;border-radius:50%;background:var(--line-strong)}.term-bar i:nth-child(1){background:#f87171aa}.term-bar i:nth-child(2){background:#fbbf24aa}.term-bar i:nth-child(3){background:#4ade80aa}.term-bar span{margin-left:10px;font:500 .78rem var(--mono);color:var(--dim)}.term-body{list-style:none;margin:0;padding:20px 22px 24px;font:.84rem/1.9 var(--mono)}.term-body li{opacity:0;transform:translateY(4px);animation:line .35s ease forwards;animation-delay:calc(var(--d) + 400ms);white-space:pre-wrap;word-break:break-word}@keyframes line{to{opacity:1;transform:none}}.prompt{color:var(--accent-2)}.t-cmd{color:var(--text)}.t-dim{color:var(--dim)}.t-ok{color:color-mix(in srgb,var(--accent) 80%,var(--text))}.t-hl{color:var(--accent);font-weight:600;margin-top:6px}.caret{display:inline-block;width:8px;height:1.05em;vertical-align:-2px;background:var(--accent);animation:blink 1s steps(1)infinite}@keyframes blink{50%{opacity:0}}.stats{margin:72px 0 0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--bg-2) 80%,transparent)}.stats div{padding:22px 24px;border-left:1px solid var(--line)}.stats div:first-child{border-left:0}.stats dt{font-size:1.6rem;font-weight:700;letter-spacing:-.03em}.stats dd{margin:2px 0 0;color:var(--muted);font-size:.9rem}.section{padding:104px 0;position:relative}.section-tight{padding:72px 0}.section-alt{background:linear-gradient(180deg,var(--bg-2),var(--bg));border-block:1px solid var(--line)}.head{max-width:720px;margin-bottom:52px}.head.center{margin-inline:auto;text-align:center}.eyebrow{font:600 .78rem/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:16px}.eyebrow::before{content:"// ";color:var(--dim)}h2{font-size:clamp(1.9rem,3.4vw,2.7rem)}.sub{margin-top:18px;color:var(--muted);font-size:1.08rem}.sub strong{color:var(--text)}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.prose{color:var(--muted)}.split .prose{margin-top:22px}.prose p+p{margin-top:1em}.prose strong{color:var(--text)}.prose a{color:var(--accent);text-underline-offset:3px}.prose :not(pre)>code,.card code,.pipeline code{font-size:.86em;padding:.12em .42em;border-radius:6px;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text)}.tree figcaption{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--line);font:500 .78rem var(--mono);color:var(--dim)}.tree{margin:0}.tree pre{margin:0;padding:22px 24px;font-size:.88rem;line-height:1.85;color:var(--text);overflow-x:auto}.shot img{width:100%}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{position:relative;padding:26px 24px 28px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 80%,transparent),transparent);transition:border-color .25s,transform .25s,background .25s}.card:hover{border-color:var(--line-strong);transform:translateY(-2px);background:var(--surface)}.card-ico{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:11px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);margin-bottom:18px}.card-ico .ico{width:22px;height:22px}.card h3{font-size:1.06rem;margin-bottom:8px}.card p{color:var(--muted);font-size:.94rem}.pipeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}.pipeline::before{content:"";position:absolute;left:10%;right:10%;top:27px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));opacity:.5}.pipeline li{position:relative;text-align:center;padding:0 14px}.step-n{position:relative;display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;font:600 .95rem var(--mono);color:var(--accent);background:var(--bg);border:1.5px solid color-mix(in srgb,var(--accent) 55%,var(--line-strong));box-shadow:0 0 0 6px var(--bg),0 0 30px -6px color-mix(in srgb,var(--accent) 60%,transparent);margin-bottom:20px}.pipeline h3{font:600 1.05rem var(--mono);letter-spacing:0;margin-bottom:8px}.pipeline p{color:var(--muted);font-size:.92rem}.images{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.image-card{padding:24px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-2)}.image-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.image-top code{font-size:.82rem;color:var(--accent-2);padding:5px 10px;border-radius:7px;background:color-mix(in srgb,var(--accent-2) 9%,transparent);border:1px solid color-mix(in srgb,var(--accent-2) 22%,transparent)}.pill{font:600 .7rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:5px 8px;border-radius:6px;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}.image-card h3{font-size:1.2rem;margin-bottom:8px}.image-card p{color:var(--muted);font-size:.94rem}.intel{display:grid;grid-template-columns:380px 1fr;gap:56px;align-items:center;padding:56px;border-radius:22px;border:1px solid var(--line-strong);background:radial-gradient(600px 300px at 0% 50%,color-mix(in srgb,var(--accent-2) 10%,transparent),transparent),linear-gradient(180deg,var(--surface),var(--bg-2))}.intel .eyebrow{color:var(--accent-2)}.intel-radar{position:relative;aspect-ratio:1;border-radius:50%;overflow:hidden;background:radial-gradient(circle,color-mix(in srgb,var(--accent-2) 6%,transparent),transparent 70%)}.intel-radar span{position:absolute;inset:0;margin:auto;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent-2) 25%,transparent)}.intel-radar span:nth-child(1){width:100%;height:100%}.intel-radar span:nth-child(2){width:66%;height:66%}.intel-radar span:nth-child(3){width:33%;height:33%}.intel-radar i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0,color-mix(in srgb,var(--accent-2) 45%,transparent),transparent 22%);animation:sweep 4s linear infinite}@keyframes sweep{to{transform:rotate(360deg)}}.intel-radar b{position:absolute;left:var(--x);top:var(--y);width:9px;height:9px;border-radius:50%;background:#f87171;box-shadow:0 0 14px #f87171;animation:pulse 2.4s infinite}.feeds{list-style:none;padding:0;margin:28px 0 30px;display:grid;gap:10px}.feeds a{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:11px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg) 60%,transparent);text-decoration:none;transition:border-color .2s}.feeds a:hover{border-color:var(--accent-2)}.feeds code{color:var(--accent-2);font-size:.9rem}.feeds span{color:var(--muted);font-size:.92rem;flex:1}.feeds .ico{color:var(--dim);width:16px;height:16px}.chips{list-style:none;padding:0;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:880px}.chips li{padding:10px 18px;border-radius:99px;border:1px solid var(--line-strong);background:var(--bg-2);font-weight:500;font-size:.95rem;transition:border-color .2s,color .2s}.chips li:hover{border-color:var(--accent);color:var(--accent)}.code pre{margin:0;padding:22px 24px;font-size:.9rem;line-height:1.9;counter-reset:ln}.code .ln{display:block;white-space:pre-wrap;overflow-wrap:anywhere;padding-left:2ch;text-indent:-2ch}.code .ln::before{content:"$ ";color:var(--accent-2)}.copy{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:0 0;border:1px solid var(--line-strong);color:var(--muted);font:500 .75rem var(--mono);padding:5px 10px;border-radius:7px;cursor:pointer}.copy:hover{color:var(--text);border-color:var(--dim)}.copy .ico{width:14px;height:14px}.copy.done{color:var(--accent);border-color:var(--accent)}.code-note{display:flex;gap:12px;align-items:flex-start;margin:0;padding:14px 20px 16px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--warn) 7%,transparent);color:var(--muted);font-size:.9rem}.code-note .ico{color:var(--warn);width:18px;height:18px;margin-top:2px}.code-note strong{color:var(--text)}.code-note code{font-size:.86em;padding:.1em .4em;border-radius:5px;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text)}.cta{text-align:center;padding:80px 32px;border-radius:24px;position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line-strong));background:radial-gradient(500px 240px at 50% 0%,color-mix(in srgb,var(--accent) 16%,transparent),transparent),var(--bg-2)}.cta h2{max-width:18em;margin-inline:auto}.cta p{margin-top:14px;font:500 1rem var(--mono);color:var(--muted);letter-spacing:.02em}.foot{border-top:1px solid var(--line);padding:64px 0 32px;background:var(--bg-2);margin-top:40px}.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.foot-brand p{margin-top:14px;color:var(--muted);font-size:.92rem;max-width:26em}.foot h3{font:600 .74rem var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--dim);margin-bottom:16px}.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.foot ul a{color:var(--muted);text-decoration:none;font-size:.93rem}.foot ul a:hover{color:var(--text)}.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:52px;padding-top:24px;border-top:1px solid var(--line);font-size:.85rem;color:var(--dim)}.foot-bottom a{color:var(--muted)}.page{padding:72px 0 96px}.back{display:inline-block;color:var(--muted);text-decoration:none;font:500 .85rem var(--mono);margin-bottom:28px}.back:hover{color:var(--accent)}.page h1{font-size:clamp(2rem,4vw,2.8rem)}.meta{margin-top:10px;color:var(--dim);font:.85rem var(--mono)}.page .prose{margin-top:40px;font-size:1rem}.page .prose h2{font-size:1.35rem;color:var(--text);margin:2.4em 0 .8em;padding-top:1.4em;border-top:1px solid var(--line)}.page .prose h3{font-size:1.08rem;color:var(--text);margin:1.6em 0 .6em}.page .prose ul{padding-left:1.2em;margin:.8em 0}.page .prose li{margin:.35em 0}.page .prose li::marker{color:var(--accent)}.page .prose>p:first-child{color:var(--text);font-size:1.06rem}mark.todo{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn);padding:0 .3em;border-radius:4px;font-family:var(--mono);font-size:.9em}.notfound{text-align:left}.nf-code{font-size:.9rem;color:var(--accent-2);background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:0 0 32px}.notfound .sub{margin-bottom:28px}.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.js .reveal.in{opacity:1;transform:none}.js .pipeline .reveal{transition-delay:calc(var(--i) * 90ms)}@media(max-width:1020px){.hero-grid,.split{grid-template-columns:1fr;gap:44px}.term{transform:none}.cards,.images{grid-template-columns:repeat(2,1fr)}.intel{grid-template-columns:1fr;padding:40px 28px}.intel-radar{width:220px}.foot-grid{grid-template-columns:1fr 1fr}}@media(max-width:820px){.pipeline{grid-template-columns:1fr;gap:28px}.pipeline::before{left:27px;right:auto;top:10px;bottom:10px;width:2px;height:auto;background:linear-gradient(180deg,var(--accent),var(--accent-2))}.pipeline li{display:grid;grid-template-columns:56px 1fr;column-gap:20px;text-align:left;padding:0}.step-n{grid-row:span 2;margin:0}.pipeline h3{align-self:end}.stats{grid-template-columns:repeat(2,1fr)}.stats div{padding:18px}.stats dt{font-size:1.25rem}.stats div:nth-child(3){border-left:0}.stats div:nth-child(n+3){border-top:1px solid var(--line)}}@media(max-width:620px){.hero{padding-top:56px}.section{padding:76px 0}.cards,.images{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}.term-body{font-size:.76rem;padding:16px}.cta{padding:56px 20px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-delay:0ms!important;transition:none!important}.js .reveal{opacity:1;transform:none}}.migrate{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}.migrate-visual{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch}.mig-pane{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);overflow:hidden}.mig-to{border-color:color-mix(in srgb,var(--accent) 45%,var(--line-strong));box-shadow:0 20px 60px -30px color-mix(in srgb,var(--accent) 50%,transparent)}.mig-label{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line);font:500 .76rem var(--mono);color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}.dot-dim{background:var(--dim)}.mig-pane ul{list-style:none;margin:0;padding:14px;display:grid;gap:8px;font:.8rem/1.5 var(--mono)}.mig-pane li{padding:6px 9px;border-radius:7px;background:var(--surface);border:1px solid var(--line);color:var(--text);overflow-wrap:anywhere}.mig-pane li::before{content:"▸ ";color:var(--dim)}.mig-to li::before{color:var(--accent)}.mig-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--accent)}.mig-arrow span{font:600 .74rem var(--mono);color:var(--muted);padding:3px 8px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface)}.mig-arrow .ico{width:22px;height:22px}.mig-points{list-style:none;margin:0;padding:0;display:grid;gap:26px}.mig-points li{display:grid;grid-template-columns:42px 1fr;gap:16px;align-items:start}.mig-points .card-ico{margin:0}.mig-points h3{font-size:1.06rem;margin-bottom:6px}.mig-points p{color:var(--muted);font-size:.94rem}.mig-points code,.simple code{font-size:.86em;padding:.1em .4em;border-radius:5px;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text)}#migration .actions{margin-top:44px}.split-top{align-items:start}.simple{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:18px}.simple li{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start}.simple-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-2) 22%,transparent)}.simple-ico .ico{width:19px;height:19px}.simple strong{display:block;font-weight:600;margin-bottom:2px}.simple span{color:var(--muted);font-size:.94rem}#quickstart .code{position:sticky;top:96px}@media(max-width:1020px){.migrate{grid-template-columns:1fr;gap:44px}#quickstart .code{position:static}}@media(max-width:620px){.migrate-visual{grid-template-columns:1fr}.mig-arrow{flex-direction:row}.mig-arrow .ico{transform:rotate(90deg)}}