: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;--mono:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);--sans:var(--font-sans,system-ui, -apple-system, "Segoe UI", Helvetica, sans-serif);--max:1160px;--gutter:24px;--r-btn:8px;--r-card:12px;--ease:cubic-bezier(.16, 1, .3, 1);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:100dvh;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(14px)}to{opacity:1;transform:none}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes flow{to{stroke-dashoffset:-24px}}@keyframes ticker{to{transform:translate(-50%)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:linear both rise view();animation-range:entry entry 28%}}}.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:96px 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}.section-head{max-width:640px;margin-bottom:44px}.section-head h2{margin-bottom:14px;font-size:clamp(26px,3.2vw,36px)}.section-head p{color:var(--muted);max-width:60ch;font-size:16.5px;line-height:1.6}.btn{border-radius:var(--r-btn);border:1px solid var(--border-input);height:40px;color:var(--text);white-space:nowrap;transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), transform .15s var(--ease);background:#111716;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-dash)}.btn:active{transform:translateY(1px)scale(.99)}.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{height:46px;padding:0 22px;font-size:15px}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn .arrow{transition:transform .2s var(--ease)}.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:99px;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(--r-card);flex-direction:column;gap:10px;padding:18px;display:flex}.card.link{transition:border-color .2s var(--ease), transform .2s var(--ease), background .2s var(--ease);color:var(--text)}.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{border-radius:var(--r-btn);background:var(--accent-bg);border:1px solid var(--accent-border);width:34px;height:34px;color:var(--accent);flex-shrink:0;place-items:center;display:grid}.icon svg{width:18px;height:18px}.grid{gap:14px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (width<=960px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.grid-2,.grid-3{grid-template-columns:1fr}}.cmd{background:var(--bg-term);border:1px solid var(--border);border-radius:var(--r-btn);font-family:var(--mono);color:#c9d4d0;white-space:nowrap;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{border-radius:var(--r-btn);background:var(--bg-input);border:1px solid var(--border-input);color:var(--text-2);padding:12px 14px;font-size:13.5px;line-height:1.6}.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:64px;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}.menu-toggle{border-radius:var(--r-btn);border:1px solid var(--border-input);width:38px;height:38px;color:var(--text);background:0 0;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:72px 0 64px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(50% 60% at 78% 30%,#6ee7b71f 0%,#0000 70%);position:absolute;inset:0}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:48px;display:grid;position:relative}.hero-copy h1{letter-spacing:-.035em;animation:rise .6s var(--ease) both;margin-bottom:18px;font-size:clamp(32px,3.7vw,46px);line-height:1.06}.hero-copy .lead{color:var(--muted);max-width:44ch;animation:rise .6s 60ms var(--ease) both;font-size:17px;line-height:1.6}.hero-copy .cta{animation:rise .6s .12s var(--ease) both;flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.hero-visual{min-width:0;animation:rise .8s .18s var(--ease) both;position:relative}.hero-visual:before{content:"";z-index:0;background:linear-gradient(#6ee7b759,#0000 45%);border-radius:13px;position:absolute;inset:-1px}.hero-shot{z-index:1;border-radius:var(--r-card);border:1px solid var(--border);width:100%;height:auto;position:relative;box-shadow:0 40px 100px #0000008c}@media (width<=960px){.hero{padding:48px 0}.hero-grid{grid-template-columns:1fr;gap:36px}.hero-copy h1{font-size:clamp(32px,8vw,44px)}}.mock{z-index:1;border-radius:var(--r-card);border:1px solid var(--border);background:var(--bg);text-align:left;grid-template-columns:150px 1fr;font-size:12px;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:12px 14px;display:flex}.mock .side-head .logo{border-radius:6px;width:20px;height:20px}.mock .side-head .logo span{font-size:11px}.mock .side-head .wordmark{font-size:12.5px}.mock .nav{flex-direction:column;gap:1px;padding:8px;display:flex}.mock .nav div{height:28px;color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:0 8px;font-size:12px;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:4px 8px;padding-top:8px;font-size:11.5px;display:flex}.mock .tree .proj{color:var(--text);align-items:center;height:26px;padding:0 6px;display:flex}.mock .tree .proj.muted{color:var(--muted)}.mock .tree .svc{color:var(--muted);height:24px;box-shadow:inset 2px 0 0 var(--c,var(--accent));align-items:center;margin-left:6px;padding-left:16px;display:flex}.mock .tree .svc.on{color:var(--text);background:var(--bg-hover);border-radius:0 6px 6px 0}.mock .main{flex-direction:column;gap:12px;min-width:0;padding:14px 16px;display:flex}.mock .crumbs{color:var(--muted);align-items:center;gap:8px;font-size:11.5px;display:flex}.mock .crumbs b{color:var(--text);font-size:14px;font-weight:600}.mock .tabs{border-bottom:1px solid var(--border-soft);gap:2px;display:flex;overflow:hidden}.mock .tabs span{height:30px;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:0 9px;font-size:11.5px;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:8px;display:grid}.mock .stat{border:1px solid var(--border);background:var(--bg-card);border-radius:var(--r-btn);flex-direction:column;gap:4px;min-width:0;padding:9px 10px;display:flex}.mock .stat .k{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-family:var(--mono);white-space:nowrap}.mock .stat .v{font-size:14.5px;font-weight:600;font-family:var(--mono);white-space:nowrap}.mock .stat .v small{color:var(--accent);margin-left:4px;font-size:10px;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:8px;min-width:0;display:grid}.mock .panel{border:1px solid var(--border);background:var(--bg-card);border-radius:var(--r-btn);min-width:0;overflow:hidden}.mock .panel-head{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:8px 10px;font-size:11.5px;font-weight:600;display:flex}.mock .panel-head .pill{margin-left:auto;padding:2px 7px;font-size:10px}.mock .term{padding:8px 10px;font-size:10.5px;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:7px 10px;font-size:10.5px;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<=1100px){.mock{grid-template-columns:1fr}.mock .side{display:none}}@media (width<=620px){.mock .stats{grid-template-columns:repeat(2,1fr)}.mock .two{grid-template-columns:1fr}}.ticker{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:var(--bg-side);padding:18px 0 16px;overflow:hidden}.ticker-head p{color:var(--muted);margin-bottom:12px;font-size:13px}.ticker .track{gap:10px;width:max-content;animation:48s 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:9px;padding:7px 14px 7px 10px;font-size:13px;display:inline-flex}.ticker .tpl svg{color:var(--muted)}@media (prefers-reduced-motion:reduce){.ticker .track{width:auto;padding:0 var(--gutter);flex-wrap:wrap;animation:none}}.how{border-top:1px solid var(--border-soft);margin:0;padding:0;list-style:none}.how li{border-bottom:1px solid var(--border-soft);grid-template-columns:140px minmax(0,1fr) minmax(280px,420px);align-items:center;gap:28px;padding:30px 0;display:grid}.how .verb{font-family:var(--mono);color:var(--accent);font-size:13px}.how h3{margin-bottom:6px;font-size:18px}.how p{color:var(--muted);max-width:52ch;font-size:14.5px;line-height:1.55}.how .cmd{font-size:12px}@media (width<=960px){.how li{grid-template-columns:1fr;gap:12px;padding:24px 0}}.arch{border:1px solid var(--border);background:var(--bg-card);border-radius:var(--r-card);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)}.feat{grid-template-columns:1fr 1fr;align-items:center;gap:56px;padding:48px 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);max-width:56ch;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);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:8px}.feat .links{flex-wrap:wrap;gap:18px;margin-top:20px;font-size:14px;display:flex}.feat .links a:after{content:" →"}.visual{border:1px solid var(--border);background:var(--bg-card);border-radius:var(--r-card);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}.visual .small-term{border:1px solid var(--border);border-radius:var(--r-btn);margin:12px 14px 14px;font-size:11px}.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:64px;padding-bottom:1px;display:flex}.bars>div{background:#2f7a60;border-radius:2px 2px 0 0;flex:1;min-height:2px}.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:36px 0}.feat.flip .feat-text{order:0}}.bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.bento .cell{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg-card);color:var(--text);min-width:0;transition:border-color .2s var(--ease), transform .2s var(--ease);gap:22px;padding:24px;display:grid}.bento .cell:hover{border-color:#2f4440;transform:translateY(-2px)}.bento .cell.wide{background:linear-gradient(135deg, #10201a 0%, var(--bg-card) 55%);grid-column:span 2;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:36px}.bento .cell.tint{background:linear-gradient(180deg, #131a25 0%, var(--bg-card) 60%)}.bento .cell-text h3{margin-bottom:8px;font-size:20px}.bento .cell-text p{color:var(--muted);max-width:48ch;font-size:14.5px;line-height:1.6}.bento .cell-text .more{color:var(--accent);align-items:center;gap:6px;margin-top:14px;font-size:14px;display:inline-flex}.bento .visual{background:var(--bg)}@media (width<=860px){.bento{grid-template-columns:1fr}.bento .cell.wide{grid-column:auto;grid-template-columns:1fr;gap:22px}}.feature-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px;display:grid}.fgroup h3{font-family:var(--mono);color:var(--muted);letter-spacing:.02em;border-bottom:1px solid var(--border-soft);margin-bottom:6px;padding-bottom:10px;font-size:12.5px;font-weight:500}.fgroup ul{margin:0;padding:0;list-style:none}.fgroup li a{border-radius:var(--r-btn);color:var(--text);transition:background .2s var(--ease);align-items:flex-start;gap:14px;margin:0 -8px;padding:12px 8px;display:flex}.fgroup li a:hover{background:var(--bg-hover)}.fgroup li a>svg{color:var(--accent);flex-shrink:0;margin-top:3px}.fgroup li a>span{flex-direction:column;gap:2px;font-size:14.5px;display:flex}.fgroup li a strong{font-weight:600}.fgroup li a .muted{font-size:13px}@media (width<=720px){.feature-groups{grid-template-columns:1fr;gap:28px}}.price-card{border:1px solid var(--accent-border);background:linear-gradient(180deg, #0f1a16, var(--bg-card));border-radius:16px;grid-template-columns:1.1fr 1fr;gap:36px;padding:36px;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:30%}.price-card>*{position:relative}.price-card h2{font-size:clamp(24px,2.8vw,32px)}.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:8px;font-size:14px;font-weight:400}.price-card ul{grid-template-columns:1fr 1fr;align-content:center;gap:10px 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{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(--r-card);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);transition:transform .2s var(--ease);margin-left:auto;font-size:16px}.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.2vw,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{color:var(--muted);font-size:12px;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:18px;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.2vw,44px)}.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:var(--r-btn);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);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-radius:var(--r-btn);border:1px solid var(--border)}.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(--r-card);background:var(--bg-card);padding:14px 16px;font-size:13px}.aside .box h4{color:var(--muted);font-size:11.5px;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{border-top:1px solid var(--border-soft);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{transition:color .2s var(--ease);margin-bottom:8px;font-size:20px}.post p{color:var(--muted);max-width:62ch;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);color:var(--muted);align-items:center;gap:12px;margin:40px 0 16px;font-size:12.5px;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{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}}
