:root{--bg:#0b0f0e;--bg-side:#0d1211;--bg-card:#0f1514;--bg-input:#0e1412;--bg-hover:#16201d;--bg-term:#080b0a;--bg-active:#12201b;--border:#1f2a27;--border-soft:#1a2320;--border-input:#243330;--border-dash:#2d3d39;--text:#e6ebe9;--text-2:#b8c4c0;--muted:#7f8f8a;--dim:#4d5c58;--accent:#6ee7b7;--accent-2:#a7f3d0;--accent-bg:#6ee7b71a;--accent-border:#2d5a49;--blue:#7dd3fc;--yellow:#fbbf24;--red:#f87171;--purple:#c4b5fd;--orange:#fdba74;--pink:#f9a8d4;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Helvetica, sans-serif;--max:1160px;--gutter:24px;--radius:10px;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html,body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:15px;line-height:1.55}body{flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}main{flex:1}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-2)}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,h4{letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.15}p{margin:0}code,kbd,pre{font-family:var(--mono)}::selection{color:#fff;background:#6ee7b740}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-input);border-radius:4px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.skip{background:var(--accent);color:var(--bg);z-index:100;border-radius:6px;padding:8px 12px;font-weight:600;position:absolute;top:8px;left:-9999px}.skip:focus{left:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes flow{to{stroke-dashoffset:-24px}}@keyframes ticker{to{transform:translate(-50%)}}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.dim{color:var(--dim)}.text2{color:var(--text-2)}.accent{color:var(--accent)}.small{font-size:13px}.xs{font-size:11.5px}.upper{text-transform:uppercase;letter-spacing:.08em}.row{align-items:center;gap:10px;display:flex}.wrap{flex-wrap:wrap}.stack{flex-direction:column;gap:12px;display:flex}.container{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.container.narrow{max-width:780px}.section{padding:88px 0}.section.tight{padding:56px 0}.section+.section{border-top:1px solid var(--border-soft)}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);align-items:center;gap:8px;margin-bottom:14px;font-size:11.5px;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:18px;height:1px}.section-head{max-width:680px;margin-bottom:44px}.section-head h2{margin-bottom:14px;font-size:clamp(26px,3.4vw,38px)}.section-head p{color:var(--muted);font-size:17px;line-height:1.6}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head.center .eyebrow:before{display:none}.btn{border:1px solid var(--border-input);height:40px;color:var(--text);white-space:nowrap;background:#111716;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;transition:background .12s,border-color .12s,color .12s,transform .12s;display:inline-flex}.btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-dash)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:600}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--bg)}.btn-ghost{background:0 0}.btn-ghost:hover{background:var(--bg-hover)}.btn-lg{border-radius:9px;height:46px;padding:0 22px;font-size:15px}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn .arrow{transition:transform .15s}.btn:hover .arrow{transform:translate(3px)}.pill{border:1px solid var(--border-input);font-size:11.5px;font-family:var(--mono);color:var(--muted);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.pill.on{border-color:var(--accent-border);color:var(--accent);background:var(--accent-bg)}.tag{border:1px solid var(--border-input);color:var(--muted);font-size:11px;font-family:var(--mono);white-space:nowrap;border-radius:4px;padding:2px 7px}.dot{background:var(--dim);border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot.ok{background:var(--accent);box-shadow:0 0 0 3px #6ee7b72e}.dot.warn{background:var(--yellow);animation:1.2s infinite pulse;box-shadow:0 0 0 3px #fbbf242e}.dot.err{background:var(--red);box-shadow:0 0 0 3px #f871712e}.dot.sm{width:6px;height:6px;box-shadow:none}.status{text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-family:var(--mono)}.status.ok{color:var(--accent)}.status.warn{color:var(--yellow)}.status.err{color:var(--red)}kbd{font-family:var(--mono);border:1px solid var(--border-input);color:var(--muted);background:var(--bg-input);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:10.5px;line-height:16px}.card{border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius);flex-direction:column;gap:10px;padding:18px;display:flex}.card.link{color:var(--text);transition:border-color .15s,transform .15s,background .15s}.card.link:hover{background:#111816;border-color:#2f4440;transform:translateY(-2px)}.card h3{font-size:16px}.card p{color:var(--muted);font-size:14px;line-height:1.55}.card .more{color:var(--accent);align-items:center;gap:6px;margin-top:auto;font-size:13px;display:inline-flex}.icon{background:var(--accent-bg);border:1px solid var(--accent-border);width:34px;height:34px;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.icon svg{width:18px;height:18px}.icon.blue{color:var(--blue);background:#7dd3fc1a;border-color:#1e3a4a}.icon.purple{color:var(--purple);background:#c4b5fd1a;border-color:#3a3560}.icon.yellow{color:var(--yellow);background:#fbbf241a;border-color:#4a3a1e}.icon.red{color:var(--red);background:#f871711a;border-color:#4a2626}.icon.orange{color:var(--orange);background:#fdba741a;border-color:#4a3520}.icon.pink{color:var(--pink);background:#f9a8d41a;border-color:#4a2a3c}.grid{gap:14px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=960px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.cmd{background:var(--bg-term);border:1px solid var(--border);font-family:var(--mono);color:#c9d4d0;white-space:nowrap;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;font-size:12.5px;line-height:1.6;display:flex;overflow:auto}.cmd .p{color:var(--dim);user-select:none}.cmd .k{color:var(--accent)}.term{background:var(--bg-term);font-family:var(--mono);color:#c9d4d0;font-size:12px;line-height:1.7;overflow:hidden}.term .l-dim{color:var(--muted)}.term .l-ok{color:var(--accent)}.term .l-warn{color:var(--yellow)}.term .l-err{color:var(--red)}.term .l-blue{color:var(--blue)}.note{background:var(--bg-input);border:1px solid var(--border-input);color:var(--text-2);border-radius:8px;padding:12px 14px;font-size:13.5px;line-height:1.6}.note.ok{border-color:var(--accent-border)}.note.warn{border-color:#4a3a1e}.header{z-index:40;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft);background:#0b0f0ed1;position:sticky;top:0}.header .container{align-items:center;gap:28px;height:60px;display:flex}.header nav{align-items:center;gap:4px;display:flex}.header nav a{color:var(--muted);border-radius:6px;padding:8px 10px;font-size:14px;font-weight:500}.header nav a:hover,.header nav a[aria-current=page]{color:var(--text);background:var(--bg-hover)}.header .actions{align-items:center;gap:8px;margin-left:auto;display:flex}.brand{color:var(--text);align-items:center;gap:10px;display:inline-flex}.brand:hover{color:var(--text)}.logo{background:var(--accent);border-radius:7px;flex-shrink:0;place-items:center;width:26px;height:26px;display:grid;position:relative;overflow:hidden}.logo:before{content:"";background:linear-gradient(135deg,#0000 50%,#0b0f0e2e 50%);position:absolute;inset:0}.logo span{font-family:var(--mono);color:var(--bg);letter-spacing:-.08em;font-size:14px;font-weight:600;position:relative}.logo.lg{border-radius:9px;width:34px;height:34px}.logo.lg span{font-size:19px}.wordmark{font-family:var(--mono);letter-spacing:-.03em;color:var(--text);font-size:16px;font-weight:600}.wordmark b{color:var(--accent);font-weight:600}.beta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:4px;padding:2px 6px;font-size:10px}.menu-toggle{border:1px solid var(--border-input);width:38px;height:38px;color:var(--text);background:0 0;border-radius:8px;place-items:center;display:none}.mobile-nav{display:none}@media (width<=860px){.header nav,.header .actions .btn-ghost{display:none}.header .container{gap:12px}.menu-toggle{display:grid}.mobile-nav{padding:8px var(--gutter) 16px;border-bottom:1px solid var(--border-soft);background:var(--bg-side);flex-direction:column;gap:2px;display:none}.mobile-nav.open{display:flex}.mobile-nav a{color:var(--text-2);border-radius:6px;padding:10px 8px;font-weight:500}.mobile-nav a:hover{background:var(--bg-hover);color:var(--text)}}.hero{padding:80px 0 40px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(60% 50% at 50% -10%,#6ee7b721 0%,#0000 70%);position:absolute;inset:0}.hero:after{content:"";background-image:linear-gradient(var(--border-soft) 1px, transparent 1px), linear-gradient(90deg, var(--border-soft) 1px, transparent 1px);opacity:.55;pointer-events:none;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 0,#000 0%,#0000 70%);mask-image:radial-gradient(70% 60% at 50% 0,#000 0%,#0000 70%)}.hero .container{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.hero h1{letter-spacing:-.035em;max-width:880px;margin:18px 0 20px;font-size:clamp(34px,5.6vw,62px);animation:.5s both rise}.hero h1 em{color:var(--accent);font-style:normal}.hero .lead{color:var(--muted);max-width:640px;font-size:clamp(16px,1.6vw,19px);line-height:1.6;animation:.5s 50ms both rise}.hero .cta{flex-wrap:wrap;justify-content:center;gap:10px;margin:30px 0 14px;animation:.5s .1s both rise;display:flex}.hero .fine{color:var(--dim);font-size:12.5px;font-family:var(--mono)}.hero-badge{animation:.5s both rise}.mock-wrap{width:100%;max-width:1040px;margin:56px auto 0;animation:.7s .15s both rise;position:relative}.mock-wrap:before{content:"";z-index:0;background:linear-gradient(#6ee7b759,#0000 40%);border-radius:14px;position:absolute;inset:-1px}.mock{z-index:1;border:1px solid var(--border);background:var(--bg);text-align:left;border-radius:13px;grid-template-columns:200px 1fr;font-size:12.5px;display:grid;position:relative;overflow:hidden;box-shadow:0 40px 100px #0000008c}.mock .side{background:var(--bg-side);border-right:1px solid var(--border-soft);flex-direction:column;display:flex}.mock .side-head{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:14px 16px;display:flex}.mock .side-head .logo{border-radius:6px;width:22px;height:22px}.mock .side-head .logo span{font-size:12px}.mock .side-head .wordmark{font-size:13px}.mock .search{border:1px solid var(--border-input);background:var(--bg-input);height:28px;color:var(--dim);border-radius:6px;align-items:center;gap:6px;margin:10px 10px 4px;padding:0 8px;font-size:11.5px;display:flex}.mock .search kbd{margin-left:auto;font-size:9.5px;line-height:14px}.mock .nav{flex-direction:column;gap:1px;padding:8px 10px;display:flex}.mock .nav div{height:30px;color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:0 8px;font-size:12.5px;font-weight:500;display:flex}.mock .nav div.active{background:var(--bg-hover);color:var(--text)}.mock .nav .navdot{background:var(--border-dash);border-radius:50%;width:5px;height:5px}.mock .nav div.active .navdot{background:var(--accent)}.mock .nav .count{font-family:var(--mono);color:var(--dim);margin-left:auto;font-size:10.5px}.mock .tree{border-top:1px solid var(--border-soft);flex-direction:column;gap:1px;margin:6px 10px;padding-top:8px;font-size:12px;display:flex}.mock .tree .proj{color:var(--text);align-items:center;gap:6px;height:28px;padding:0 4px;display:flex}.mock .tree .svc{color:var(--muted);height:26px;box-shadow:inset 2px 0 0 var(--c,var(--accent));align-items:center;gap:8px;margin-left:6px;padding-left:20px;display:flex}.mock .tree .svc.on{color:var(--text);background:var(--bg-hover);border-radius:0 6px 6px 0}.mock .side-foot{border-top:1px solid var(--border-soft);color:var(--dim);font-size:11px;font-family:var(--mono);align-items:center;gap:8px;margin-top:auto;padding:10px 14px;display:flex}.mock .avatar{background:linear-gradient(135deg,#6ee7b7,#2dd4bf);border-radius:50%;width:20px;height:20px}.mock .main{flex-direction:column;gap:14px;min-width:0;padding:18px 20px;display:flex}.mock .crumbs{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.mock .crumbs b{color:var(--text);font-size:15px;font-weight:600}.mock .tabs{border-bottom:1px solid var(--border-soft);gap:2px;display:flex;overflow:hidden}.mock .tabs span{height:32px;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.mock .tabs span.active{color:var(--text);border-bottom-color:var(--accent)}.mock .stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.mock .stat{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.mock .stat .k{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-family:var(--mono)}.mock .stat .v{font-size:16px;font-weight:600;font-family:var(--mono)}.mock .stat .v small{color:var(--accent);margin-left:4px;font-size:10.5px;font-weight:500}.mock .bar{background:var(--border-soft);border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.mock .bar>div{background:var(--accent);height:100%}.mock .bar.blue>div{background:var(--blue)}.mock .bar.purple>div{background:var(--purple)}.mock .bar.yellow>div{background:var(--yellow)}.mock .two{grid-template-columns:1.15fr 1fr;gap:10px;min-width:0;display:grid}.mock .panel{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;min-width:0;overflow:hidden}.mock .panel-head{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:600;display:flex}.mock .panel-head .pill{margin-left:auto;padding:2px 7px;font-size:10px}.mock .term{padding:10px 12px;font-size:11px;line-height:1.65}.mock .term div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mock .cursor{background:var(--accent);vertical-align:-2px;width:6px;height:12px;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}.mock .dom{border-bottom:1px solid var(--border-soft);font-family:var(--mono);align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:flex}.mock .dom:last-child{border-bottom:0}.mock .dom .tls{color:var(--accent);margin-left:auto;font-size:10px}.mock .dom .tag{font-size:9.5px}@media (width<=860px){.mock{grid-template-columns:1fr}.mock .side{display:none}.mock .stats{grid-template-columns:repeat(2,1fr)}.mock .two{grid-template-columns:1fr}.mock-wrap{margin-top:40px}}.ticker{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:var(--bg-side);overflow:hidden}.ticker .track{gap:10px;width:max-content;padding:14px 0;animation:42s linear infinite ticker;display:flex}.ticker .track:hover{animation-play-state:paused}.ticker .tpl{border:1px solid var(--border);background:var(--bg-card);color:var(--text-2);white-space:nowrap;border-radius:99px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:12.5px;display:inline-flex}.ticker .abbr{width:22px;height:22px;font-family:var(--mono);color:var(--bg);border-radius:6px;place-items:center;font-size:10px;font-weight:600;display:grid}.arch{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;padding:24px;overflow:hidden}.arch svg{width:100%;height:auto}.arch text{font-family:var(--mono);fill:var(--text-2);font-size:11.5px}.arch .lbl{fill:var(--muted);font-size:10.5px}.arch .box{fill:var(--bg-input);stroke:var(--border-input)}.arch .box.hi{stroke:var(--accent);fill:var(--bg-active)}.arch .wire{stroke:var(--border-dash);stroke-width:1.5px;fill:none}.arch .wire.live{stroke:var(--accent);stroke-dasharray:6 6;animation:1.2s linear infinite flow}.arch .t-hi{fill:var(--accent)}.steps{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.step{border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius);flex-direction:column;gap:12px;padding:20px;display:flex;position:relative}.step .num{font-family:var(--mono);color:var(--accent);letter-spacing:.1em;font-size:11.5px}.step h3{font-size:17px}.step p{color:var(--muted);font-size:14px;line-height:1.55}.step .cmd{margin-top:auto;font-size:11.5px}@media (width<=860px){.steps{grid-template-columns:1fr}}.feat{grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:56px 0;display:grid}.feat+.feat{border-top:1px solid var(--border-soft)}.feat.flip .feat-text{order:2}.feat h3{margin-bottom:12px;font-size:clamp(22px,2.6vw,28px)}.feat p{color:var(--muted);font-size:15.5px;line-height:1.65}.feat ul{flex-direction:column;gap:9px;margin:18px 0 0;padding:0;list-style:none;display:flex}.feat li{color:var(--text-2);gap:10px;font-size:14px;line-height:1.5;display:flex}.feat li:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:8px}.feat .links{flex-wrap:wrap;gap:14px;margin-top:20px;font-size:14px;display:flex}.visual{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;font-size:12.5px;overflow:hidden}.visual .vh{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;font-weight:600;display:flex}.visual .vh .pill{margin-left:auto}.visual .vrow{border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;padding:10px 14px;display:flex}.visual .vrow:last-child{border-bottom:0}.visual .vrow .ml{margin-left:auto}.visual .vpad{flex-direction:column;gap:10px;padding:14px;display:flex}.visual .term{padding:12px 14px}.node{border:1px solid var(--border-input);background:var(--bg-input);font-family:var(--mono);color:var(--text-2);white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:11.5px}.node.hi{border-color:var(--accent);color:var(--accent)}.node.db{color:var(--purple);border-color:#3a3560}.lbdiagram{font-family:var(--mono);color:var(--dim);flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;display:flex}.bars{border-bottom:1px solid var(--border-soft);align-items:flex-end;gap:3px;height:70px;padding-bottom:1px;display:flex}.bars>div{background:#2f7a60;border-radius:2px 2px 0 0;flex:1;min-height:2px}.bars>div.err{background:#7a2f2f}.bars>div.last{background:var(--accent-2)}.kv{font-family:var(--mono);grid-template-columns:110px 1fr;gap:6px 10px;font-size:11.5px;display:grid}.kv span:nth-child(odd){color:var(--muted)}@media (width<=860px){.feat{grid-template-columns:1fr;gap:26px;padding:40px 0}.feat.flip .feat-text{order:0}}.price-card{border:1px solid var(--accent-border);background:linear-gradient(180deg, #0f1a16, var(--bg-card));border-radius:14px;grid-template-columns:1.1fr 1fr;gap:32px;padding:32px;display:grid;position:relative;overflow:hidden}.price-card:before{content:"";pointer-events:none;background:radial-gradient(#6ee7b729,#0000 65%);width:500px;height:260px;position:absolute;top:-120px;left:50%;transform:translate(-50%)}.price-card>*{position:relative}.price-card .amount{font-family:var(--mono);letter-spacing:-.04em;font-size:56px;font-weight:600;line-height:1}.price-card .amount small{color:var(--muted);letter-spacing:0;margin-left:6px;font-size:14px;font-weight:400}.price-card ul{grid-template-columns:1fr 1fr;gap:9px 16px;margin:0;padding:0;list-style:none;display:grid}.price-card li{color:var(--text-2);align-items:flex-start;gap:8px;font-size:13.5px;display:flex}.price-card li svg{width:15px;height:15px;color:var(--accent);flex-shrink:0;margin-top:2px}@media (width<=860px){.price-card{grid-template-columns:1fr;padding:24px}.price-card ul{grid-template-columns:1fr}}.faq{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.faq details{border-bottom:1px solid var(--border-soft);background:var(--bg-card)}.faq details:last-child{border-bottom:0}.faq summary{cursor:pointer;align-items:center;gap:12px;padding:16px 18px;font-size:15px;font-weight:500;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--muted);font-family:var(--mono);margin-left:auto;font-size:16px;transition:transform .15s}.faq details[open] summary:after{color:var(--accent);transform:rotate(45deg)}.faq details[open] summary{color:var(--accent-2)}.faq .a{color:var(--muted);max-width:720px;padding:0 18px 18px;font-size:14.5px;line-height:1.65}.faq .a a{color:var(--accent)}.cta-band{border:1px solid var(--border);background:radial-gradient(ellipse at 50% 0%, #12201b 0%, var(--bg-card) 60%);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:16px;padding:56px 32px;display:flex}.cta-band h2{max-width:560px;font-size:clamp(26px,3.4vw,36px)}.cta-band p{color:var(--muted);max-width:520px;font-size:16px}.cta-band .row{flex-wrap:wrap;justify-content:center;margin-top:8px}.footer{border-top:1px solid var(--border-soft);background:var(--bg-side);padding:48px 0 32px;font-size:13.5px}.footer .cols{grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;display:grid}.footer h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11.5px;font-family:var(--mono);margin-bottom:12px;font-weight:500}.footer ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.footer a{color:var(--text-2)}.footer a:hover{color:var(--accent)}.footer .about{color:var(--muted);max-width:320px;margin-top:12px;line-height:1.6}.footer .bottom{border-top:1px solid var(--border-soft);color:var(--dim);font-size:12.5px;font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:16px;margin-top:40px;padding-top:20px;display:flex}.footer .bottom .ml{margin-left:auto}@media (width<=860px){.footer .cols{grid-template-columns:1fr 1fr}}@media (width<=480px){.footer .cols{grid-template-columns:1fr}}.page-head{border-bottom:1px solid var(--border-soft);background:radial-gradient(50% 60% at 50% -20%,#6ee7b71a,#0000 70%);padding:64px 0 40px}.page-head h1{letter-spacing:-.03em;max-width:760px;margin-bottom:14px;font-size:clamp(30px,4.4vw,46px)}.page-head p{color:var(--muted);max-width:640px;font-size:17px;line-height:1.6}.page-head .meta{color:var(--muted);font-size:13px;font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.page-head .crumbs{font-family:var(--mono);color:var(--muted);align-items:center;gap:8px;margin-bottom:18px;font-size:12px;display:flex}.page-head .crumbs a{color:var(--muted)}.page-head .crumbs a:hover{color:var(--accent)}.prose{color:var(--text-2);font-size:16px;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose h2{color:var(--text);margin-top:2.2em;padding-top:.2em;font-size:26px}.prose h3{color:var(--text);margin-top:1.8em;font-size:19px}.prose h4{color:var(--text);margin-top:1.4em;font-size:16px}.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose p strong{color:var(--text);font-weight:600}.prose a{text-decoration:underline;text-decoration-color:var(--accent-border);text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--accent)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--accent)}.prose code{background:var(--bg-input);border:1px solid var(--border-input);color:var(--accent-2);border-radius:4px;padding:.1em .4em;font-size:.88em}.prose pre{border:1px solid var(--border);border-radius:8px;padding:14px 16px;font-size:13px;line-height:1.6;overflow:auto;background:var(--bg-term)!important}.prose pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.prose blockquote{border-left:3px solid var(--accent-border);color:var(--muted);margin-left:0;padding:4px 0 4px 18px;font-style:italic}.prose table{border-collapse:collapse;width:100%;font-size:14px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border:1px solid var(--border);vertical-align:top;padding:9px 12px}.prose th{background:var(--bg-card);color:var(--text);text-transform:uppercase;letter-spacing:.05em;font-size:12.5px;font-weight:600;font-family:var(--mono)}.prose hr{border:0;border-top:1px solid var(--border-soft);margin:2.5em 0}.prose img{border:1px solid var(--border);border-radius:8px}.article-layout{grid-template-columns:minmax(0,1fr) 240px;gap:56px;padding:48px 0 80px;display:grid}.aside{flex-direction:column;align-self:start;gap:20px;display:flex;position:sticky;top:84px}.aside .box{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);padding:14px 16px;font-size:13px}.aside .box h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px;font-family:var(--mono);margin-bottom:8px;font-weight:500}.aside ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.aside a{color:var(--text-2)}.aside a:hover,.aside a[aria-current=page]{color:var(--accent)}@media (width<=960px){.article-layout{grid-template-columns:1fr;gap:32px}.aside{position:static}}.post-list{flex-direction:column;display:flex}.post{border-bottom:1px solid var(--border-soft);color:var(--text);grid-template-columns:140px 1fr;gap:24px;padding:26px 0;display:grid}.post:hover h3{color:var(--accent)}.post .date{font-family:var(--mono);color:var(--muted);padding-top:4px;font-size:12.5px}.post h3{margin-bottom:8px;font-size:20px;transition:color .12s}.post p{color:var(--muted);font-size:14.5px;line-height:1.6}.post .tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}@media (width<=620px){.post{grid-template-columns:1fr;gap:6px}}.release{border-bottom:1px solid var(--border-soft);grid-template-columns:150px 1fr;gap:24px;padding:28px 0;display:grid}.release .v{font-family:var(--mono);color:var(--accent);font-size:14px}.release .d{font-family:var(--mono);color:var(--muted);margin-top:4px;font-size:12px}.release h3{margin-bottom:10px;font-size:18px}.release .prose{font-size:14.5px}@media (width<=620px){.release{grid-template-columns:1fr;gap:8px}}.group-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);align-items:center;gap:12px;margin:40px 0 16px;font-size:12px;display:flex}.group-title:first-child{margin-top:0}.group-title:after{content:"";background:var(--border-soft);flex:1;height:1px}.hl-list{grid-template-columns:repeat(2,1fr);gap:10px 20px;margin:0;padding:0;list-style:none;display:grid}.hl-list li{color:var(--text-2);gap:10px;font-size:14.5px;line-height:1.5;display:flex}.hl-list li svg{width:16px;height:16px;color:var(--accent);flex-shrink:0;margin-top:3px}@media (width<=620px){.hl-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}
