html,body{background:#0a0c11;margin:0}
.home{--ink:#eef1f7;--ink-dim:#9aa3b7;--ink-faint:#828aa0;--bg:#0a0c11;--panel:#ffffff08;--panel-line:#ffffff14;--blue:#3d7bff;--cyan:#29e0e6;--grad:linear-gradient(120deg, #3d7bff, #29e0e6);--maxw:1120px;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font:16px/1.6 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif;position:fixed;inset:0;overflow:hidden auto}.home,.home *{box-sizing:border-box}.home a{color:inherit;text-decoration:none}.home h1,.home h2,.home h3{letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.08}.home p{margin:0}.home .sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home a:focus-visible,.home .btn:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:12px}.home:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(900px 520px at 78% -8%,#3d7bff26,#0000 60%),radial-gradient(700px 500px at 10% 8%,#29e0e61c,#0000 60%);position:absolute;inset:0}.home>*{z-index:1;position:relative}.nav{max-width:var(--maxw);justify-content:space-between;align-items:center;margin:0 auto;padding:20px 24px;display:flex}.nav-brand{letter-spacing:-.01em;align-items:center;gap:9px;font-weight:700;display:inline-flex}.nav-brand img{border-radius:6px;display:block}.nav-links{align-items:center;gap:18px;display:flex}.nav-links>a:not(.btn){color:var(--ink-dim);font-weight:500}.nav-links>a:not(.btn):hover{color:var(--ink)}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;transition:transform .12s,box-shadow .2s,background .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-lg{border-radius:12px;padding:13px 22px;font-size:15.5px}.btn-launch{color:#061018;background:var(--grad);box-shadow:0 6px 22px -8px #3d7bffaa,inset 0 1px #fff6}.btn-launch:hover{transform:translateY(-1px);box-shadow:0 10px 30px -8px #29e0e6cc,inset 0 1px #fff7}.btn-ghost{color:var(--ink);background:var(--panel);border-color:var(--panel-line)}.btn-ghost:hover{background:#ffffff12;border-color:#fff2}.soon{color:var(--ink-dim);cursor:default;align-items:center;gap:7px;font-size:14px;font-weight:500;display:inline-flex}.soon-pill{letter-spacing:.07em;text-transform:uppercase;color:var(--cyan);background:#29e0e612;border:1px solid #29e0e633;border-radius:999px;padding:3px 6px;font-size:9.5px;font-weight:700;line-height:1}.btn.is-soon{color:var(--ink-dim);background:var(--panel);border-color:var(--panel-line);cursor:default}.btn.is-soon:hover{box-shadow:none;transform:none}.btn.is-soon:active{transform:none}.hero{max-width:var(--maxw);grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;margin:0 auto;padding:clamp(28px,6vw,76px) 24px clamp(40px,7vw,96px);display:grid}.hero-copy{animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);background:#29e0e60d;border:1px solid #29e0e633;border-radius:999px;margin-bottom:20px;padding:5px 11px;font-size:12.5px;font-weight:600;display:inline-block}.hero h1{font-size:clamp(2.6rem,6vw,4.4rem)}.hero .grad{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.lede{color:var(--ink-dim);max-width:30em;margin:22px 0 30px;font-size:clamp(1rem,2.2vw,1.22rem)}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.hero-stage{aspect-ratio:1;justify-self:center;width:100%;max-width:460px;position:relative}.hero-stage:before{content:"";filter:blur(8px);background:radial-gradient(circle,#3d7bff33,#29e0e618 45%,#0000 70%);border-radius:50%;position:absolute;inset:6%}.hero-logo-canvas{width:100%;height:100%;display:block;position:relative}.hero-logo-fallback{filter:drop-shadow(0 18px 50px #3d7bff55);width:min(72%,300px);height:auto;margin:14% auto;animation:6s ease-in-out infinite float;display:block;position:relative}.benefits{max-width:var(--maxw);grid-template-columns:repeat(3,1fr);gap:14px;margin:0 auto;padding:8px 24px clamp(36px,6vw,72px);display:grid}.benefit{border:1px solid var(--panel-line);background:var(--panel);border-radius:16px;padding:22px 18px;transition:border-color .2s,transform .2s,background .2s}.benefit:hover{background:#ffffff0c;border-color:#fff2;transform:translateY(-3px)}.benefit-ico{width:42px;height:42px;color:var(--cyan);background:linear-gradient(135deg,#3d7bff22,#29e0e622);border:1px solid #29e0e62b;border-radius:11px;place-items:center;margin-bottom:14px;display:grid}.benefit h3{margin-bottom:6px;font-size:15.5px}.benefit p{color:var(--ink-dim);font-size:13.5px;line-height:1.5}.showcase{max-width:var(--maxw);grid-template-columns:.8fr 1.2fr;align-items:center;gap:44px;margin:0 auto;padding:clamp(20px,4vw,48px) 24px;display:grid}.showcase h2{margin-bottom:16px;font-size:clamp(1.6rem,3.5vw,2.4rem)}.showcase-text p{color:var(--ink-dim);max-width:26em;margin-bottom:22px}.shot{aspect-ratio:16/10;border:1px solid var(--panel-line);background:linear-gradient(135deg,#11151f,#0c0f16);border-radius:16px;position:relative;overflow:hidden;box-shadow:0 30px 80px -30px #000,0 0 0 1px #ffffff08}.shot img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.shot-ph{display:none}.shot.shot-empty{place-items:center;display:grid}.shot.shot-empty .shot-ph{color:var(--ink-faint);letter-spacing:.03em;font-size:14px;display:block}.matrix{max-width:var(--maxw);margin:0 auto;padding:clamp(28px,5vw,64px) 24px}.matrix-head{text-align:center;margin-bottom:28px}.matrix-head h2{margin-bottom:10px;font-size:clamp(1.6rem,3.5vw,2.4rem)}.matrix-head p{color:var(--ink-dim);max-width:42em;margin:0 auto}.matrix-wrap{border:1px solid var(--panel-line);background:var(--panel);border-radius:16px;overflow-x:auto}.matrix-table{border-collapse:collapse;width:100%;min-width:540px;font-size:14.5px}.matrix-table thead th{text-align:center;border-bottom:1px solid var(--panel-line);padding:16px 14px;font-size:15px;font-weight:700}.matrix-table thead th.mt-feat{text-align:left;color:var(--ink-dim);font-weight:600}.matrix-table tbody th{text-align:left;white-space:nowrap;padding:13px 16px;font-weight:500}.matrix-table tbody td{text-align:center;padding:11px 14px}.matrix-table tbody tr+tr th,.matrix-table tbody tr+tr td{border-top:1px solid #ffffff0a}.matrix-table tbody tr:hover th,.matrix-table tbody tr:hover td{background:#ffffff06}.m-cell{cursor:default;border-radius:8px;place-items:center;width:26px;height:26px;font-size:15px;font-weight:700;display:inline-grid}.m-cell.full{color:var(--cyan);background:#29e0e614}.m-cell.partial{color:#e7b34a;background:#e7b34a14}.m-cell.none{color:var(--ink-faint);background:0 0}.matrix-legend{color:var(--ink-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin-top:18px;font-size:13px;display:flex}.matrix-legend>span{align-items:center;gap:7px;display:inline-flex}.matrix-legend .m-cell{width:20px;height:20px;font-size:12px}.matrix-foot{color:var(--ink-faint);font-style:italic}.final-cta{text-align:center;border:1px solid var(--panel-line);background:radial-gradient(120% 140% at 50% 0%, #3d7bff14, transparent 60%), var(--panel);border-radius:24px;max-width:760px;margin:clamp(40px,7vw,96px) auto;padding:clamp(36px,6vw,64px) 24px}.final-cta h2{margin-bottom:12px;font-size:clamp(1.8rem,4vw,2.8rem)}.final-cta p{color:var(--ink-dim);margin-bottom:26px}.foot{max-width:var(--maxw);border-top:1px solid var(--panel-line);color:var(--ink-dim);justify-content:space-between;align-items:center;margin:0 auto;padding:28px 24px 40px;font-size:14px;display:flex}.foot-links{align-items:center;gap:18px;display:flex}.foot-links a:hover{color:var(--ink)}.foot-copy{color:var(--ink-faint)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@media (prefers-reduced-motion:reduce){.hero-copy,.hero-logo-fallback{animation:none}}@media (max-width:900px){.hero{text-align:center;grid-template-columns:1fr;gap:8px;padding-top:24px}.hero .lede{margin-inline:auto}.hero-cta{justify-content:center}.hero-stage{order:-1;max-width:320px}.benefits{grid-template-columns:repeat(2,1fr)}.showcase{grid-template-columns:1fr;gap:24px}}@media (max-width:520px){.benefits{grid-template-columns:1fr}.nav-links{gap:12px}.foot{text-align:center;flex-direction:column;gap:14px}}.editor-boot{color:#9aa3b7;background:#0a0c11;place-items:center;font:14px ui-sans-serif,system-ui,sans-serif;display:grid;position:fixed;inset:0}.blog,.post{max-width:var(--maxw);margin:0 auto;padding:8px 24px 72px}.blog .grad,.post .grad{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.blog-head{border-bottom:1px solid var(--panel-line);margin-bottom:34px;padding:28px 0 34px}.blog-head h1{font-size:clamp(2rem,5vw,3rem)}.blog-head .lede{max-width:42em}.post-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.post-card{background:var(--panel);border:1px solid var(--panel-line);border-radius:16px;align-items:flex-start;gap:18px;padding:22px 24px;transition:transform .15s,border-color .15s,background .15s;display:flex}.post-card:hover{background:#ffffff0e;border-color:#ffffff2a;transform:translateY(-2px)}.post-num{letter-spacing:.01em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;flex:none;min-width:2.2em;padding-top:2px;font-size:15px;font-weight:800}.post-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.post-card-title{letter-spacing:-.01em;color:var(--ink);font-size:1.12rem;font-weight:700;line-height:1.25}.post-card-sum{color:var(--ink-dim);font-size:.97rem;line-height:1.5}.post-tags{flex-wrap:wrap;gap:7px;margin-top:4px;display:flex}.post-tag{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--panel-line);background:#ffffff0a;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600}.post-arrow{color:var(--ink-faint);flex:none;align-self:center;font-size:20px;transition:transform .15s,color .15s}.post-card:hover .post-arrow{color:var(--cyan);transform:translate(3px)}.post{max-width:760px}.post-back{color:var(--ink-dim);margin:8px 0 20px;font-size:.95rem;font-weight:500;display:inline-block}.post-back:hover{color:var(--cyan)}.post-back-foot{border-top:1px solid var(--panel-line);width:100%;margin-top:44px;padding-top:26px}.post-meta{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:12px;display:flex}.post-title{letter-spacing:-.02em;margin-bottom:24px;font-size:clamp(1.9rem,4.5vw,2.7rem);line-height:1.14}.post .prose{margin-top:2.4em}.prose{color:#d7dced;font-size:1.07rem;line-height:1.85}.prose>*+*{margin-top:1.7em}.prose p{max-width:42em;margin-top:2em}.prose>:first-child{margin-top:0}.prose h2{letter-spacing:-.015em;color:var(--ink);margin-top:2.6em;margin-bottom:.1em;font-size:1.5rem;line-height:1.25}.prose h3{color:var(--ink);margin-top:2.1em;font-size:1.2rem;line-height:1.3}.prose a{color:#7fb0ff;border-bottom:1px solid #7fb0ff44;text-decoration:none}.prose a:hover{color:var(--cyan);border-bottom-color:var(--cyan)}.prose strong{color:var(--ink);font-weight:700}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-top:.65em}.prose li::marker{color:var(--ink-faint)}.prose code{border:1px solid var(--panel-line);color:#b9e6ff;background:#ffffff10;border-radius:6px;padding:1.5px 6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.86em}.prose pre{border:1px solid var(--panel-line);background:#ffffff08;border-radius:12px;margin-top:1.8em;margin-bottom:1.8em;padding:18px 20px;line-height:1.6;overflow-x:auto}.prose pre code{color:#cdd6f4;background:0 0;border:0;padding:0}.prose blockquote{border-left:3px solid var(--blue);color:var(--ink-dim);margin-left:0;padding:6px 0 6px 20px}.prose hr{border:0;border-top:1px solid var(--panel-line);margin:2.6em 0}.prose table{border-collapse:collapse;width:100%;font-size:.96rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--panel-line);padding:9px 14px}.prose thead th{color:var(--ink);border-bottom-color:#ffffff26;font-weight:700}.prose tbody td:last-child{color:var(--cyan);font-variant-numeric:tabular-nums;white-space:nowrap}.prose .mermaid{border:1px solid var(--panel-line);text-align:center;background:#ffffff05;border-radius:14px;margin:2em 0;padding:20px;overflow-x:auto}.prose .mermaid svg{max-width:100%;height:auto}.prose img{border:1px solid var(--panel-line);border-radius:12px;max-width:100%;margin:2em auto;display:block}@media (max-width:520px){.post-card{gap:12px;padding:18px}.post-arrow{display:none}}.steps-sec{max-width:var(--maxw);margin:0 auto;padding:clamp(28px,5vw,64px) 24px}.steps-head{text-align:center;max-width:42em;margin:0 auto clamp(24px,4vw,44px)}.steps-head h2{font-size:clamp(1.5rem,3.4vw,2.1rem)}.steps-head p{color:var(--ink-dim);margin-top:12px}.steps{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding:0;list-style:none;display:grid}.step{border:1px solid var(--panel-line);background:var(--panel);border-radius:16px;gap:16px;padding:22px 20px;display:flex}.step-num{color:#061018;background:var(--grad);border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-weight:700;display:grid;box-shadow:0 6px 18px -8px #3d7bff88}.step-body h3{margin:4px 0 6px;font-size:1.06rem}.step-body p{color:var(--ink-dim);font-size:14px;line-height:1.5}.local{max-width:var(--maxw);margin:clamp(8px,2vw,24px) auto;padding:0 24px}.local-inner{text-align:center;background:radial-gradient(700px 300px at 50% -20%,#3d7bff22,#0000 70%),linear-gradient(#ffffff0a,#ffffff05);border:1px solid #ffffff1f;border-radius:24px;padding:clamp(30px,5vw,56px) clamp(24px,5vw,56px)}.local-inner h2{margin:8px 0 0;font-size:clamp(1.7rem,4vw,2.6rem)}.local-inner>p{color:var(--ink-dim);max-width:44em;margin:16px auto 0;font-size:clamp(1rem,2vw,1.12rem)}.local-inner strong{color:var(--ink)}.local-chips{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:24px;display:flex}.local-chip{color:var(--cyan);background:#29e0e60d;border:1px solid #29e0e633;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:600}.local-chip-note{color:var(--ink-faint);font-size:14px}.demo{max-width:var(--maxw);margin:0 auto;padding:clamp(28px,5vw,64px) 24px}.demo-head{text-align:center;max-width:42em;margin:0 auto clamp(20px,3vw,32px)}.demo-head h2{font-size:clamp(1.5rem,3.4vw,2.1rem)}.demo-head p{color:var(--ink-dim);margin-top:12px}.demo-frame{aspect-ratio:16/9;border:1px solid var(--panel-line);background:linear-gradient(135deg,#11151f,#0c0f16);border-radius:18px;width:100%;position:relative;overflow:hidden;box-shadow:0 30px 80px -30px #000,0 0 0 1px #ffffff08}.demo-iframe{background:#000;border:0;width:100%;height:100%;display:block}.demo-poster{cursor:pointer;width:100%;height:100%;color:var(--ink);font:inherit;background:radial-gradient(600px 340px at 50% 40%,#3d7bff1f,#0000 70%);border:0;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:background .2s;display:flex}.demo-poster:hover{background:radial-gradient(600px 340px at 50% 40%,#3d7bff33,#0000 70%)}.demo-play{color:#061018;background:var(--grad);border-radius:999px;place-items:center;width:76px;height:76px;padding-left:4px;display:grid;box-shadow:0 10px 30px -8px #3d7bffaa,inset 0 1px #fff6}.demo-poster:hover .demo-play{transform:translateY(-2px);box-shadow:0 14px 36px -8px #29e0e6cc,inset 0 1px #fff7}.demo-cap{color:var(--ink-dim);font-size:14px}.demo-empty{flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.demo-ph{color:var(--ink-faint);letter-spacing:.03em;font-size:15px}.caps{max-width:var(--maxw);margin:0 auto;padding:clamp(28px,5vw,64px) 24px}.caps-head{text-align:center;max-width:42em;margin:0 auto clamp(24px,4vw,44px)}.caps-head h2{font-size:clamp(1.5rem,3.4vw,2.1rem)}.caps-head p{color:var(--ink-dim);margin-top:12px}.caps-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.cap{border:1px solid var(--panel-line);background:var(--panel);border-radius:16px;padding:24px 22px;transition:transform .12s,border-color .2s,background .2s;display:block}.cap:hover{background:#ffffff0c;border-color:#fff2;transform:translateY(-3px)}.cap-ico{width:44px;height:44px;color:var(--cyan);background:linear-gradient(135deg,#3d7bff22,#29e0e622);border:1px solid #29e0e62b;border-radius:12px;place-items:center;margin-bottom:14px;display:grid}.cap h3{margin:0 0 8px;font-size:1.1rem}.cap p{color:var(--ink-dim);font-size:14px;line-height:1.55}.cap-link{color:var(--cyan);align-items:center;gap:6px;margin-top:14px;font-size:14px;font-weight:600;display:inline-flex}.cap:hover .cap-link{gap:9px}.devlog{max-width:var(--maxw);margin:0 auto;padding:clamp(28px,5vw,64px) 24px}.devlog-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:clamp(20px,3vw,32px);display:flex}.devlog-head h2{margin-top:6px;font-size:clamp(1.5rem,3.4vw,2.1rem)}.devlog-all{color:var(--cyan);white-space:nowrap;align-items:center;gap:7px;font-weight:600;display:inline-flex}.devlog-all:hover{gap:10px}@media (max-width:860px){.steps,.caps-grid{grid-template-columns:1fr}}@media (min-width:861px) and (max-width:1080px){.caps-grid{grid-template-columns:repeat(2,1fr)}}.prose .hljs-comment,.prose .hljs-quote{color:#7d8598;font-style:italic}.prose .hljs-keyword,.prose .hljs-selector-tag,.prose .hljs-literal,.prose .hljs-section,.prose .hljs-doctag,.prose .hljs-name{color:#6ea8ff}.prose .hljs-string,.prose .hljs-regexp,.prose .hljs-addition{color:#79e0a6}.prose .hljs-number,.prose .hljs-symbol,.prose .hljs-bullet{color:#f2b366}.prose .hljs-title,.prose .hljs-title.function_,.prose .hljs-title.function_.invoke__{color:#29e0e6}.prose .hljs-title.class_,.prose .hljs-type,.prose .hljs-built_in,.prose .hljs-class .hljs-title{color:#86d9ff}.prose .hljs-attr,.prose .hljs-attribute,.prose .hljs-property,.prose .hljs-variable.constant_{color:#c9d3f0}.prose .hljs-params{color:#cdd6f4}.prose .hljs-meta{color:#7d8598}.prose .hljs-deletion{color:#ff7a90}.prose .hljs-emphasis{font-style:italic}.prose .hljs-strong{font-weight:700}.login-wrap{max-width:var(--maxw);place-items:center;min-height:100dvh;margin:0 auto;padding:24px;display:grid}.login-card{background:var(--panel);border:1px solid var(--panel-line);border-radius:18px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:32px 28px;display:flex;box-shadow:0 30px 80px -40px #0009}.login-title{text-align:center;margin-bottom:6px;font-size:22px}.login-btn{justify-content:center;width:100%}.login-btn svg{flex:none}
