.brand[data-astro-cid-tvrurpns]{display:inline-flex;align-items:center;gap:7px;min-width:0}.brand-mark[data-astro-cid-tvrurpns]{flex-shrink:0;display:block;color:var(--text)}.brand-name[data-astro-cid-tvrurpns]{font-weight:590;font-size:18px;letter-spacing:-.021em;color:var(--text)}@font-face{font-family:Inter Variable;src:url(/fonts/Inter-Variable.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}:root,:root[data-theme=dark]{--bg: #08090a;--bg-elev: #0c0d0f;--surface: #101113;--surface-2: #17181b;--hover: rgba(255, 255, 255, .05);--text: #f7f8f8;--text-muted: #8a8f98;--text-dim: #6f747d;--text-faint: #52565e;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--accent: #4785ff;--accent-hi: #6b9bff;--accent-soft: rgba(71, 133, 255, .15);--done: #4cc38a;--done-soft: rgba(76, 195, 138, .12);--wait: #d9a843;--wait-soft: rgba(217, 168, 67, .13);--btn-bg: #f7f8f8;--btn-fg: #08090a;--edge: inset 0 1px 0 0 rgba(255, 255, 255, .06);--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 24px 60px -28px rgba(0, 0, 0, .9);--shadow-menu: 0 8px 32px rgba(8, 9, 10, .9);--band-lift: rgba(255, 255, 255, .03);--grain: .035;color-scheme:dark}:root[data-theme=light]{--bg: #fbfbfb;--bg-elev: #ffffff;--surface: #ffffff;--surface-2: #f3f4f6;--hover: rgba(8, 9, 10, .04);--text: #08090a;--text-muted: #5b6069;--text-dim: #82868f;--text-faint: #adb1b8;--border: rgba(8, 9, 10, .09);--border-strong: rgba(8, 9, 10, .16);--accent: #024bde;--accent-hi: #0140bd;--accent-soft: rgba(2, 75, 222, .09);--done: #178a57;--done-soft: rgba(23, 138, 87, .1);--wait: #a87a10;--wait-soft: rgba(186, 138, 24, .13);--btn-bg: #08090a;--btn-fg: #ffffff;--edge: inset 0 1px 0 0 rgba(255, 255, 255, .9);--shadow: 0 1px 2px rgba(8, 9, 10, .05), 0 12px 32px -18px rgba(8, 9, 10, .14);--shadow-lg: 0 24px 60px -30px rgba(8, 9, 10, .3);--shadow-menu: 0 8px 32px rgba(8, 9, 10, .05);--band-lift: rgba(8, 9, 10, .03);--grain: .02;color-scheme:light}:root{--font-sans: "Inter Variable", "SF Pro Display", -apple-system, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--radius: 12px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--term-red: #ee343b;--term-yellow: #f6ba00;--term-green: #43c251;--fs-h1: clamp(38px, 5vw, 64px);--fs-h2: clamp(30px, 3.6vw, 48px);--fs-h2-sm: clamp(24px, 2.3vw, 30px);--fs-h3: 20px;--fs-body: 15px;--fs-lead: 17px;--fs-sm: 13px;--fs-label: 11px;--fw-display: 510;--fw-head: 590;--tracking-display: -.022em;--sp-section: clamp(64px, 8vw, 120px);--sp-card: 20px;--band-fade: linear-gradient( 180deg, transparent 0%, rgba(0, 0, 0, .09) 7%, rgba(0, 0, 0, .42) 16%, #000 30%, #000 70%, rgba(0, 0, 0, .42) 84%, rgba(0, 0, 0, .09) 93%, transparent 100% );--ease-out-quad: cubic-bezier(.25, .46, .45, .94);--ease-out-quart: cubic-bezier(.165, .84, .44, 1);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--ease-in-out-quad: cubic-bezier(.455, .03, .515, .955);--speed-quick: .1s;--speed-hover: .16s;--speed-regular: .25s;--ease-entrance: cubic-bezier(.25, .1, .25, 1);--speed-entrance: 1s;--ease: var(--ease-out-quad)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.6;letter-spacing:-.011em;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:var(--grain);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:var(--accent-soft)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}h1,h2,h3,h4{font-weight:var(--fw-head);line-height:1.2;letter-spacing:-.014em}h1,h2{font-weight:var(--fw-display);letter-spacing:var(--tracking-display);line-height:1.02;text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);line-height:1.33}.mono{font-family:var(--font-mono)}.wrap{max-width:1344px;margin:0 auto;padding:0 32px}.wrap-narrow{max-width:768px}.accent{color:var(--accent)}.dim{color:var(--text-muted)}.rule{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--border) 18%,var(--border) 82%,transparent)}.icon-tile{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--r-md);color:var(--text-muted);background:var(--hover);border:1px solid var(--border);transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.band{position:relative}.band:before,.band:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;-webkit-mask-image:var(--band-fade);mask-image:var(--band-fade)}.band:before{background:var(--band-lift)}.band:after{background-color:currentColor;opacity:.02;-webkit-mask-image:url(/ascii.svg),var(--band-fade);mask-image:url(/ascii.svg),var(--band-fade);-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:inherit;font-weight:510;font-size:13.5px;letter-spacing:-.008em;height:38px;padding:0 16px;border-radius:var(--r-md);border:1px solid transparent;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);cursor:pointer;white-space:nowrap}.btn:active{transform:translateY(.5px)}.btn-primary{background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--edge)}.btn-primary:hover{background:color-mix(in srgb,var(--btn-bg) 88%,var(--accent))}.btn-ghost{border-color:var(--border-strong);color:var(--text);background:color-mix(in srgb,var(--text) 3%,transparent)}.btn-ghost:hover{background:var(--hover);border-color:var(--text-dim)}.btn-onblue{background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--edge)}.btn-onblue:hover{background:color-mix(in srgb,var(--btn-bg) 88%,var(--accent))}.cta-slab{position:relative;overflow:hidden;isolation:isolate;text-align:center;background:linear-gradient(180deg,var(--surface),var(--bg-elev));border:1px solid var(--border);box-shadow:var(--edge),var(--shadow-lg);border-radius:16px;padding:clamp(48px,7vw,88px) 32px;color:var(--text-muted)}.cta-slab:before{content:"";position:absolute;z-index:-1;pointer-events:none;left:50%;top:-60%;translate:-50% 0;width:780px;aspect-ratio:2 / 1;background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--accent) 40%,transparent),transparent 70%);filter:blur(60px);opacity:.55}.cta-slab h2{color:var(--text);margin-bottom:14px}.cta-slab h2 .accent{color:var(--accent)}.cta-slab p{color:var(--text-muted);font-size:var(--fs-lead);max-width:520px;margin:0 auto 28px}.cta-slab .fine{font-size:13px;color:var(--text-dim);margin-top:16px}@keyframes rise{0%{opacity:0;filter:blur(var(--rise-blur, 10px));transform:translateY(var(--rise-y, 20%))}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes staggerIn{0%{opacity:0;transform:translateY(4px)}}@media(prefers-reduced-motion:no-preference){.js .rise{animation:rise var(--speed-entrance) var(--ease-entrance) var(--rise-delay, 0s) both}.js [data-rise]>*{animation:rise var(--speed-entrance) var(--ease-entrance) .4s both}.js [data-rise]>:nth-child(2){animation-delay:.5s}.js [data-rise]>:nth-child(3){animation-delay:.6s}.js [data-rise]>:nth-child(4){animation-delay:.7s}.js [data-rise]>:nth-child(n+5){animation-delay:.8s}.js [data-reveal]>.wrap>*{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease-out-quart),transform .7s var(--ease-out-quart)}.js [data-reveal].in>.wrap>*{opacity:1;transform:none}.js [data-reveal].in>.wrap>:nth-child(2){transition-delay:.1s}.js [data-reveal].in>.wrap>:nth-child(3){transition-delay:.2s}.js [data-reveal].in>.wrap>:nth-child(4){transition-delay:.3s}.js [data-reveal].in>.wrap>:nth-child(n+5){transition-delay:.4s}.js [data-stagger] .stagger-item{opacity:0}.js [data-stagger].playing .stagger-item{opacity:1;animation:staggerIn .4s var(--ease-out-quart) backwards;animation-delay:calc(var(--stagger-base, 0s) + min(var(--i, 0),8) * .1s)}}[data-spot]>*{position:relative;isolation:isolate}[data-spot]>*:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(220px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--accent) 13%,transparent),transparent 70%);opacity:0;transition:opacity .3s var(--ease)}[data-spot]>*:hover:before{opacity:1}.eyebrow{display:inline-flex;align-items:center;gap:8px;font:500 var(--fs-label) var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:16px}.eyebrow:before{content:"";width:16px;height:1px;background:currentColor;opacity:.6}section{padding:var(--sp-section) 0;position:relative}.section-title{font-size:var(--fs-h2);margin-bottom:16px}.section-title.sm{font-size:var(--fs-h2-sm)}.section-sub{color:var(--text-muted);font-size:var(--fs-lead);max-width:620px;line-height:1.55}.nav{position:sticky;top:0;z-index:50;--header-bg: transparent;--header-border: transparent;background:var(--header-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--header-border);transition:background var(--speed-quick) var(--ease-out-quad),border-color var(--speed-quick) var(--ease-out-quad)}.nav.scrolled{--header-bg: var(--bg);--header-border: var(--border)}:root[data-theme=light] .nav.scrolled{--header-bg: color-mix(in srgb, var(--bg-elev) 80%, transparent)}.nav-inner{display:flex;align-items:center;height:73px;gap:20px}.nav-links{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-muted);margin-left:auto}.nav-links>a{padding:7px 12px;border-radius:999px;transition:color .16s var(--ease),background .16s var(--ease)}.nav-links>a:hover{color:var(--text);background:var(--hover)}.nav-item{position:relative}.nav-trigger{display:inline-flex;align-items:center;gap:4px;color:inherit;padding:7px 12px;border-radius:999px;transition:color .16s var(--ease),background .16s var(--ease)}.nav-item:hover .nav-trigger,.nav-item:focus-within .nav-trigger{color:var(--text);background:var(--hover)}.nav-trigger svg{transition:transform .2s var(--ease)}.nav-item:hover .nav-trigger svg,.nav-item:focus-within .nav-trigger svg{transform:rotate(180deg)}.menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.98);width:720px;max-width:calc(100vw - 32px);padding:8px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-menu);transform-origin:top center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s var(--ease-out-quad),transform .18s var(--ease-out-quad),visibility .18s}.nav-item:hover .menu,.nav-item:focus-within .menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) scale(1)}.menu-panel{background:linear-gradient(180deg,var(--surface),var(--bg-elev));border:1px solid var(--border);border-radius:12px;box-shadow:var(--edge);padding:16px 6px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr)}.menu-col{padding:0 10px;min-width:0}.menu-col+.menu-col{border-left:1px solid var(--border)}.menu-item{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:var(--r-md);transition:background .14s var(--ease)}.menu-item:hover{background:var(--hover)}.menu-label{font-size:13px;color:var(--text-dim);line-height:1.3}.menu-name{font-size:15px;font-weight:510;color:var(--text);line-height:1.35;letter-spacing:-.012em}.menu-foot{display:flex;align-items:center;gap:12px;padding:14px 14px 8px;font-size:13px;min-width:0}.menu-foot-lead{color:var(--text);font-weight:510;white-space:nowrap}.menu-foot-desc{color:var(--text-dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-foot-link{margin-left:auto;display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-weight:510;white-space:nowrap}.menu-foot-link svg{width:13px;height:13px;transition:transform .2s var(--ease)}.menu-foot-link:hover svg{transform:translate(3px)}.nav-cta{display:flex;align-items:center;gap:8px}.nav-cta .btn{height:32px;font-size:13px;padding:0 15px}.nav-sep{width:1px;height:20px;background:var(--border-strong);margin:0 4px;flex-shrink:0}.nav-login{font-size:13px;color:var(--text-muted);padding:7px 12px;border-radius:999px;transition:color .16s var(--ease),background .16s var(--ease)}.nav-login:hover{color:var(--text);background:var(--hover)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-dim);cursor:pointer;transition:background .16s var(--ease),color .16s var(--ease)}.theme-toggle:hover{background:var(--hover);color:var(--text)}.theme-toggle svg{width:16px;height:16px}:root[data-theme=light] .theme-toggle .i-sun,:root[data-theme=dark] .theme-toggle .i-moon{display:none}@media(max-width:860px){.nav-links,.nav-sep{display:none}.nav-cta{margin-left:auto}}footer{border-top:1px solid var(--border);padding:72px 0 44px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}.footer-tagline{color:var(--text-muted);font-size:13.5px;max-width:300px;margin-top:16px}.footer-col h4{font:500 10.5px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:16px}.footer-col ul{list-style:none}.footer-col ul a{display:block;color:var(--text-muted);font-size:13.5px;padding:5px 0;transition:color .16s var(--ease)}.footer-col ul a:hover{color:var(--text)}.footer-bottom{margin-top:56px;padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--text-faint);font-size:12.5px}@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}.wrap{padding:0 20px}}
