:root{--bg:#05050a;--bg-elev:#0b0b14;--panel:#0c0c16a3;--panel-strong:#0b0b14e0;--line:#a78bfa24;--line-2:#e6e6ef12;--line-strong:#a78bfa5c;--text:#e6e6ef;--text-2:#bdbdd0;--subtle:#9a9ab0;--faint:#62627a;--accent:#a78bfa;--accent-deep:#7c5cff;--accent-ink:#cfc2ff;--select:#2e2850;--crit:#ff5c8a;--high:#ff9440;--med:#f5d040;--info:#5cb8ff;--ok:#4ade80;--skip:#8c8ca3;--ubuntu:#e95420;--grad:linear-gradient(100deg, #b7a3ff, #a78bfa 30%, #5cb8ff);--grad-hot:linear-gradient(100deg, #ff5c8a, #ff9440 55%, #f5d040);--font-display:"Space Grotesk", "Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--gutter:calc(clamp(16px, 4.5vw, 48px));--maxw:1240px;--radius:18px;--radius-sm:10px;--nav-h:68px;--ease:cubic-bezier(.2, .7, .1, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(28px + var(--nav-h));background:var(--bg)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font:400 16px/1.65 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}::selection{color:#fff;background:#a78bfa61}a{color:inherit;text-decoration:none}canvas,img,svg,video{max-width:100%;display:block}blockquote,dd,dl,figure,h1,h2,h3,h4,ol,p,ul{margin:0}ol[role=list],ul[role=list]{padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}code,kbd,pre,samp{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.app{min-height:100vh;position:relative;overflow-x:clip}.app>footer,.app>header,.app>main{z-index:2;position:relative}.backdrop{z-index:0;background:radial-gradient(1100px 680px at 72% -12%,#7c5cff33,transparent 62%),radial-gradient(900px 620px at -8% 104%,#5cb8ff1a,transparent 60%),var(--bg)}.backdrop,.grain{pointer-events:none;position:fixed;inset:0}.grain{z-index:1;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.skip-link{z-index:100;background:var(--accent);color:#0a0a12;border-radius:10px;padding:10px 16px;font-weight:600;transition:top .2s;position:fixed;top:-60px;left:16px}.skip-link:focus{top:12px}html.no-splash .splash{display:none}.stage{z-index:0;pointer-events:none;opacity:0;width:100%;height:100lvh;transition:opacity 1.8s;position:fixed;top:0;left:0}.stage.is-ready{opacity:1}.stage.is-ready.is-muted{opacity:.5}.stage.is-offset .stage__labels{-webkit-mask-image:linear-gradient(90deg,#0000 34%,#000 58%);mask-image:linear-gradient(90deg,#0000 34%,#000 58%)}.stage__canvas{width:100%;height:100%}.stage:after{content:"";background:radial-gradient(120% 90% at 50% 45%,#0000 55%,#05050ab3)}.stage:after,.stage__labels{pointer-events:none;position:absolute;inset:0}.stage__labels{overflow:hidden}.gate-label{font:600 10.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:#c9c9da;transform-origin:50% 100%;will-change:transform,opacity;background:#080810a8;border:1px solid #8c8ca352;border-radius:6px;align-items:center;gap:7px;padding:5px 9px 5px 7px;transition:color .4s,border-color .4s,box-shadow .4s;display:inline-flex;position:absolute;top:0;left:0}.gate-label__i{color:var(--faint)}.gate-label.is-lit{color:var(--c);border-color:color-mix(in srgb,var(--c) 65%,transparent);box-shadow:0 0 22px -6px var(--c)}.gate-label.is-lit .gate-label__i{color:color-mix(in srgb,var(--c) 55%,#fff)}.is-ride .gate-label{gap:9px;padding:7px 12px 7px 10px;font-size:13px}.container{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:calc(clamp(88px,12vw,168px));position:relative}.stack-sm>*+*{margin-top:12px}.stack>*+*{margin-top:20px}.stack-lg>*+*{margin-top:32px}.eyebrow{font:500 12px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);align-items:center;gap:12px;display:inline-flex}.eyebrow:before{content:"";opacity:.7;background:currentColor;width:22px;height:1px}.display{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;font-weight:700;line-height:.96}.h1{font-size:calc(clamp(2.75rem,7.6vw,6.8rem))}.h2{letter-spacing:-.032em;font-size:calc(clamp(2.1rem,5vw,4.1rem));line-height:1.02}.h3{font-family:var(--font-display);letter-spacing:-.015em;font-size:calc(clamp(1.2rem,1.9vw,1.5rem));font-weight:600;line-height:1.25}.lead{color:var(--text-2);text-wrap:pretty;max-width:62ch;font-size:calc(clamp(1.05rem,1.45vw,1.22rem));line-height:1.65}.muted{color:var(--subtle)}.faint{color:var(--faint)}.mono{font-family:var(--font-mono)}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.hot-text{background:var(--grad-hot);color:#0000;-webkit-background-clip:text;background-clip:text}:not(pre)>code{color:#ddd3ff;white-space:nowrap;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#a78bfa1a;border:1px solid #a78bfa2e;border-radius:6px;padding:.14em .42em;font-size:.86em}kbd{border:1px solid var(--line-strong);min-width:26px;height:26px;font:600 12px/1 var(--font-mono);color:var(--accent-ink);background:#a78bfa14;border-bottom-width:2px;border-radius:7px;justify-content:center;align-items:center;padding:0 7px;display:inline-flex}.prose p+p{margin-top:1em}.prose a,a.link{color:var(--accent-ink);text-underline-offset:3px;-webkit-text-decoration:underline #a78bfa66;text-decoration:underline #a78bfa66;transition:text-decoration-color .2s,color .2s}.prose a:hover,a.link:hover{color:#fff;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.btn{height:50px;font:600 15px/1 var(--font-body);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:transform .35s var(--ease-out),background-color .3s,border-color .3s,box-shadow .35s,color .3s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;display:inline-flex;position:relative}.btn svg{width:18px;height:18px;transition:transform .35s var(--ease-out)}.btn:hover svg.arrow{transform:translate(3px)}.btn--primary{color:#0b0a16;background:linear-gradient(100deg,#c2b1ff,#a78bfa 40%,#7cc4ff);box-shadow:inset 0 1px #ffffff73,0 12px 40px -12px #a78bfacc}.btn--primary:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff80,0 18px 50px -12px #a78bfaf2}.btn--ghost{color:var(--text);border-color:var(--line-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08}.btn--ghost:hover{border-color:var(--accent);background:#a78bfa1f;transform:translateY(-2px)}.btn--sm{height:38px;padding:0 16px;font-size:13.5px}.glass{background:var(--panel);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15)}.chip,.glass{border:1px solid var(--line)}.chip{height:32px;font:500 12.5px/1 var(--font-mono);color:var(--text-2);background:#a78bfa0f;border-radius:999px;gap:8px;padding:0 12px}.chip,.sev-badge{white-space:nowrap;align-items:center;display:inline-flex}.sev-badge{height:22px;font:700 12px/1 var(--font-mono);color:#101018;background:var(--c);border-radius:4px;padding:0 8px}.sev-dot{color:var(--c)}.hairline{background:linear-gradient(90deg,transparent,var(--line-strong),transparent);border:0;height:1px}.js [data-reveal]{opacity:0;filter:blur(8px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out),filter 1s var(--ease-out);transition-delay:calc(var(--d,0) * 1ms);transform:translateY(26px)}.js [data-reveal].is-in{opacity:1;filter:none;transform:none}@media (prefers-reduced-motion:reduce){.js [data-reveal]{filter:none;transition:opacity .4s;transform:none}}.page-enter-active,.page-leave-active{transition:opacity .45s var(--ease),transform .45s var(--ease),filter .45s var(--ease)}.page-enter-from{opacity:0;filter:blur(6px);transform:translateY(18px)}.page-leave-to{opacity:0;filter:blur(6px);transform:translateY(-12px)}@media (prefers-reduced-motion:reduce){.page-enter-from,.page-leave-to{filter:none;transform:none}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-hero{min-height:calc(min(88vh,860px));padding-top:calc(48px + var(--nav-h));align-items:center;padding-bottom:64px;display:flex;position:relative}.page-hero__copy{max-width:640px}.page-hero__copy>*+*{margin-top:24px}@media (width<=900px){.page-hero{min-height:auto;padding-top:calc(64px + var(--nav-h))}.page-hero__copy{border-radius:var(--radius);background:radial-gradient(120% 120% at 30% 20%,#05050ab8,#05050a59);margin-inline:-6px;padding:28px 22px}}[data-spot]{isolation:isolate;position:relative}[data-spot]:after,[data-spot]:before{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .45s;position:absolute;inset:0}[data-spot]:before{z-index:-1;background:radial-gradient(460px circle at var(--mx,50%) var(--my,0),#a78bfa21,transparent 45%)}[data-spot]:after{background:radial-gradient(260px circle at var(--mx,50%) var(--my,0),#c4b5fdbf,transparent 42%);-webkit-mask-composite:xor;padding:1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}[data-spot]:hover:after,[data-spot]:hover:before{opacity:1}@media (hover:none){[data-spot]:after,[data-spot]:before{display:none}}.section-head>*+*{margin-top:20px}.section-head--center{text-align:center;margin-inline:auto}.section-head--center .lead{margin-inline:auto}.doc{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:calc(clamp(32px,5vw,72px));display:grid}.doc__toc{top:calc(32px + var(--nav-h));border-left:1px solid var(--line);flex-direction:column;gap:2px;padding-left:14px;display:flex;position:sticky}.doc__toc a{color:var(--subtle);padding:6px 0;font-size:14px;transition:color .2s;position:relative}.doc__toc a.is-active,.doc__toc a:hover{color:#fff}.doc__toc a.is-active:before{content:"";background:var(--accent);width:2px;box-shadow:0 0 10px var(--accent);border-radius:2px;position:absolute;top:6px;bottom:6px;left:-15px}.doc__body>*+*{margin-top:calc(clamp(56px,8vw,96px))}.doc-sec>*+*{margin-top:18px}.doc-sec h2{font:700 calc(clamp(1.7rem,3vw,2.4rem))/1.1 var(--font-display);letter-spacing:-.025em}.doc-sec h2 .num{font:500 12px/1 var(--font-mono);letter-spacing:.18em;color:var(--accent);margin-bottom:10px;display:block}.doc-sec h3{font:600 1.15rem/1.3 var(--font-display);letter-spacing:-.01em;margin-top:28px}.doc-sec li,.doc-sec p{color:var(--text-2);max-width:72ch}.doc-sec ul.bullets{padding-left:1.2em}.doc-sec ul.bullets li+li{margin-top:8px}.doc-sec ul.bullets li::marker{color:var(--accent)}.callout{color:var(--text-2);background:#f5d0400f;border:1px solid #f5d04047;border-radius:14px;gap:14px;padding:16px 18px;font-size:15px;display:flex}.callout--info{background:#5cb8ff0f;border-color:#5cb8ff4d}.callout svg{width:20px;height:20px;color:var(--med);flex:none;margin-top:2px}.callout--info svg{color:var(--info)}.table-wrap{border:1px solid var(--line);background:#0a0a12bd;border-radius:14px;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14.5px}.table th{text-align:left;border-bottom:1px solid var(--line);font:500 11.5px/1.2 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);white-space:nowrap;padding:13px 16px}.table td{border-bottom:1px solid var(--line-2);vertical-align:top;color:var(--text-2);padding:13px 16px}.table tr:last-child td{border-bottom:0}.table td:first-child{white-space:nowrap}@media (width<=900px){.doc{grid-template-columns:1fr}.doc__toc{display:none}}.nav[data-v-fc5e9ab8]{z-index:60;border-bottom:1px solid #0000;transition:background-color .4s,border-color .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;position:fixed;inset:0 0 auto}.nav.is-scrolled[data-v-fc5e9ab8]{border-bottom-color:var(--line-2);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);background:#06060cb8}.nav__inner[data-v-fc5e9ab8]{height:var(--nav-h);max-width:calc(120px + var(--maxw));padding-inline:var(--gutter);align-items:center;gap:24px;margin-inline:auto;display:flex}.brand[data-v-fc5e9ab8]{font:700 15.5px/1 var(--font-mono);letter-spacing:-.01em;align-items:center;gap:10px;display:inline-flex}.brand__mark[data-v-fc5e9ab8]{color:var(--accent);text-shadow:0 0 14px #a78bfae6;transition:transform .6s var(--ease-out);font-size:15px}.brand:hover .brand__mark[data-v-fc5e9ab8]{transform:rotate(180deg)}.brand__name[data-v-fc5e9ab8]{background:linear-gradient(90deg,#c9b8ff,#a78bfa 45%,#7cc4ff);color:#0000;-webkit-background-clip:text;background-clip:text}.nav__links[data-v-fc5e9ab8]{gap:4px;margin-left:auto;display:flex}.nav__link[data-v-fc5e9ab8]{color:var(--text-2);border-radius:999px;padding:8px 14px;font-size:14.5px;font-weight:500;transition:color .25s,background-color .25s;position:relative}.nav__link[data-v-fc5e9ab8]:hover{color:#fff;background:#a78bfa14}.nav__link.router-link-active[data-v-fc5e9ab8]{color:#fff}.nav__link.router-link-active[data-v-fc5e9ab8]:after{content:"";background:var(--accent);width:4px;height:4px;box-shadow:0 0 10px var(--accent);border-radius:50%;margin-left:-2px;position:absolute;bottom:1px;left:50%}.nav__actions[data-v-fc5e9ab8]{align-items:center;gap:10px;display:flex}.nav__ver[data-v-fc5e9ab8]{border:1px solid var(--line);font:500 12px/1 var(--font-mono);color:var(--accent-ink);background:#a78bfa0f;border-radius:999px;padding:6px 10px;transition:border-color .25s}.nav__ver[data-v-fc5e9ab8]:hover{border-color:var(--accent)}.nav__gh[data-v-fc5e9ab8]{border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:8px;height:38px;padding:0 14px;font-size:14px;font-weight:600;transition:background-color .25s,border-color .25s;display:inline-flex}.nav__gh[data-v-fc5e9ab8]:hover{border-color:var(--accent);background:#a78bfa1f}.nav__gh svg[data-v-fc5e9ab8],.nav__menu svg[data-v-fc5e9ab8]{width:18px;height:18px}.nav__menu[data-v-fc5e9ab8]{border:1px solid var(--line-strong);border-radius:12px;place-items:center;width:42px;height:42px;display:none}.menu[data-v-fc5e9ab8]{inset:var(--nav-h) 0 0;padding:28px var(--gutter) 40px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#05050af0;flex-direction:column;gap:4px;display:flex;position:fixed;overflow-y:auto}.menu__link[data-v-fc5e9ab8]{border-bottom:1px solid var(--line-2);font:700 calc(clamp(2rem,9vw,2.6rem))/1.05 var(--font-display);letter-spacing:-.03em;animation:menu-in-fc5e9ab8 .6s var(--ease-out) both;animation-delay:calc(var(--i) * 45ms);align-items:baseline;gap:16px;padding:14px 0;display:flex}.menu__link span[data-v-fc5e9ab8]{font:500 12px/1 var(--font-mono);color:var(--accent);letter-spacing:.1em}.menu__link.router-link-exact-active[data-v-fc5e9ab8]{color:var(--accent-ink)}.menu__gh[data-v-fc5e9ab8]{color:var(--text-2);align-items:center;gap:10px;margin-top:28px;font-weight:600;display:inline-flex}.menu__gh svg[data-v-fc5e9ab8]{width:18px;height:18px}@keyframes menu-in-fc5e9ab8{0%{opacity:0;transform:translateY(14px)}}.menu-enter-active[data-v-fc5e9ab8],.menu-leave-active[data-v-fc5e9ab8]{transition:opacity .3s}.menu-enter-from[data-v-fc5e9ab8],.menu-leave-to[data-v-fc5e9ab8]{opacity:0}@media (width<=960px){.nav__links[data-v-fc5e9ab8]{display:none}.nav__actions[data-v-fc5e9ab8]{margin-left:auto}.nav__menu[data-v-fc5e9ab8]{display:grid}}@media (width<=520px){.nav__gh span[data-v-fc5e9ab8],.nav__ver[data-v-fc5e9ab8]{display:none}.nav__gh[data-v-fc5e9ab8]{justify-content:center;width:42px;padding:0}}.footer[data-v-9533cea5]{background:linear-gradient(#0000,#05050aeb 30%);padding:96px 0 40px}.footer__top[data-v-9533cea5]{grid-template-columns:1.1fr 1.4fr;gap:48px;padding-bottom:48px;display:grid}.footer__brand[data-v-9533cea5]>*+*{margin-top:16px}.footer__brand .muted[data-v-9533cea5]{max-width:44ch;font-size:15px}.footer__word[data-v-9533cea5]{font:700 calc(clamp(1.6rem,3.2vw,2.4rem))/1 var(--font-mono);letter-spacing:-.03em;background:linear-gradient(90deg,#d6caff,#a78bfa 45%,#5cb8ff);color:#0000;-webkit-background-clip:text;background-clip:text}.footer__mark[data-v-9533cea5]{color:var(--accent);-webkit-text-fill-color:var(--accent);text-shadow:0 0 20px #a78bfacc;margin-right:12px}.footer__cols[data-v-9533cea5]{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.footer__head[data-v-9533cea5]{font:500 11.5px/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:14px}.footer__cols li+li[data-v-9533cea5]{margin-top:10px}.footer__cols a[data-v-9533cea5]{color:var(--text-2);align-items:center;gap:4px;font-size:14.5px;transition:color .2s;display:inline-flex}.footer__cols a[data-v-9533cea5]:hover{color:#fff}.footer__cols svg[data-v-9533cea5]{opacity:.5;width:13px;height:13px}.footer__bottom[data-v-9533cea5]{color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:24px;font-size:13px;display:flex}@media (width<=860px){.footer__top[data-v-9533cea5]{grid-template-columns:1fr}}@media (width<=520px){.footer__cols[data-v-9533cea5]{grid-template-columns:1fr 1fr}}.splash[data-v-9e43dfbe]{z-index:200;font-family:var(--font-mono);transition:opacity .7s var(--ease),filter .7s var(--ease),transform .7s var(--ease);background:#05050a;place-content:center;justify-items:center;gap:40px;padding:24px;animation:.6s 4.2s forwards splash-failsafe-9e43dfbe;display:grid;position:fixed;inset:0}.splash.is-leaving[data-v-9e43dfbe]{opacity:0;filter:blur(10px);pointer-events:none;transform:scale(1.04)}@keyframes splash-failsafe-9e43dfbe{to{opacity:0;visibility:hidden}}.splash__art[data-v-9e43dfbe]{align-items:center;gap:calc(clamp(20px,4vw,48px));display:flex}pre[data-v-9e43dfbe]{font:700 calc(clamp(9px,1.45vw,15px))/1.18 var(--font-mono);white-space:pre;margin:0}.splash__hacker span[data-v-9e43dfbe],.splash__title span[data-v-9e43dfbe]{text-shadow:0 0 18px;display:inline}.splash__side[data-v-9e43dfbe]>*+*{margin-top:18px}.splash__name[data-v-9e43dfbe]{font:700 22px/1 var(--font-mono);display:none}.splash__tagline[data-v-9e43dfbe]{color:var(--subtle);font-size:14px}.splash__tagline span[data-v-9e43dfbe]{color:var(--faint);margin-left:8px}.splash__hint[data-v-9e43dfbe]{color:var(--faint);text-align:center;font-size:13px;animation:1.6s ease-in-out infinite blink-soft-9e43dfbe}@keyframes blink-soft-9e43dfbe{50%{opacity:.45}}@media (width<=720px){.splash__art[data-v-9e43dfbe]{text-align:center;flex-direction:column}.splash__title[data-v-9e43dfbe]{display:none}.splash__name[data-v-9e43dfbe]{display:block}pre[data-v-9e43dfbe]{font-size:calc(clamp(10px,3vw,14px))}}.err[data-v-e83b61df]{min-height:100vh;padding-top:var(--nav-h);flex-direction:column;justify-content:center;align-items:flex-start;gap:24px;display:flex}.err__tui[data-v-e83b61df]{border:1px solid var(--line);font:400 13.5px/1.7 var(--font-mono);color:var(--text-2);background:#08080ee6;border-radius:12px;max-width:100%;margin:0;padding:16px 20px;overflow-x:auto}.err__tui .c[data-v-e83b61df]{color:var(--accent);font-weight:700}.err__tui .f[data-v-e83b61df]{color:var(--faint)}.err__tui .s[data-v-e83b61df]{color:var(--skip)}
