
:root{--r:3px;--blue:#1E88E5}
:root,html[data-theme="dark"]{--bg:#04060a;--line:#18202d;--line2:#243044;--tx:#eef2f8;--tx2:#d5dce8;--mut:#93a0b3;--dim:#6f7c90;--hi:#6db3f5;--hdbg:#04060acc;--p1:#0a1019cc;--p2:#06090fcc;--p3:#060a10;--grid:#ffffff0b;--edge:#35577f;--laneln:#1a2332;--dot:#2a3547;--g1:#1E88E56a;--g2:#6db3f550;--g3:#1E88E54a;--g4:#1E88E536;--shadow:#1E88E580;--em:#c4e2ff;--ok:#7be0a4;--okd:#34d27a;--cp:#586478;--cell:#060a10}
html[data-theme="light"]{--bg:#fbfcfe;--line:#e1e7f0;--line2:#c9d4e4;--tx:#08101e;--tx2:#1f2d44;--mut:#52617a;--dim:#74839a;--hi:#1565C0;--hdbg:#fbfcfecc;--p1:#ffffffee;--p2:#f1f6fdee;--p3:#f3f7fc;--grid:#1565c014;--edge:#8fb0da;--laneln:#d9e4f2;--dot:#c9d4e4;--g1:#1E88E55a;--g2:#6db3f55a;--g3:#1E88E546;--g4:#1E88E534;--shadow:#1E88E566;--em:#1E88E5;--ok:#0f8a4b;--okd:#15a85a;--cp:#74839a;--cell:#ffffff}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--tx);font-family:Inter,system-ui,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}.wrap{max-width:1180px;margin:0 auto;padding:0 28px;position:relative}.mono{font-family:'JetBrains Mono',monospace}
.hd{position:sticky;top:0;z-index:50;background:var(--hdbg);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.hd-in{display:flex;align-items:center;gap:20px;height:64px}.brand{display:flex;gap:10px;align-items:center;font:700 19px 'Space Grotesk',Inter;letter-spacing:-.03em}.brand svg{width:28px;height:28px}.nav-l{display:flex;gap:28px;margin-left:auto;margin-right:12px;font-size:.86rem;color:var(--mut)}.nav-l a:hover{color:var(--tx)}
.nav-l{align-items:center}.dd{position:relative}.dd-b{background:none;border:0;color:inherit;font:inherit;cursor:pointer;display:inline-flex;gap:7px;align-items:center;padding:0}.dd-b:hover,.dd.open .dd-b{color:var(--tx)}.dd-b svg{transition:transform .2s}.dd.open .dd-b svg{transform:rotate(180deg)}
.dd-m{display:none;position:absolute;top:calc(100% + 22px);left:-18px;min-width:250px;padding:6px;background:var(--bg);border:1px solid var(--line2);border-radius:var(--r);box-shadow:0 30px 70px -20px #000a;z-index:60}.dd-m:before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}.dd-m:after{content:"";position:absolute;left:24px;top:-6px;width:10px;height:10px;background:var(--bg);border-left:1px solid var(--line2);border-top:1px solid var(--line2);transform:rotate(45deg)}
.dd.open .dd-m{display:block}@media(hover:hover) and (min-width:901px){.dd:hover .dd-m{display:block}}[id]{scroll-margin-top:80px}.dd-m a{display:block;padding:10px 14px;font-size:.86rem;color:var(--mut);border-radius:2px;cursor:pointer;position:relative}.dd-m a:hover{color:var(--tx);background:var(--g4)}.dd-m hr{border:0;border-top:1px solid var(--line);margin:6px 4px}

/* solid sections: highlights */
:root,html[data-theme="dark"]{--tintbg:#080d15}html[data-theme="light"]{--tintbg:#f0f5fb}
.tint{background:var(--tintbg)}
.inv{background:#070b12;border-top:0;--tx:#eef2f8;--tx2:#d5dce8;--mut:#93a0b3;--dim:#6f7c90;--line:#1a2332;--line2:#2a3547;--hi:#6db3f5;--cell:#0a0f17;color:#eef2f8}.inv .eyebrow:before{background:var(--blue)}
.inv.sec:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 70% at 100% 0%,#1E88E52e,transparent 70%);pointer-events:none}.inv .wrap{z-index:1}
.blue{background:linear-gradient(135deg,#0f5bb0,#1976D2);border-top:0;color:#fff;overflow:hidden}.blue:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff14 1px,transparent 1px),linear-gradient(90deg,#ffffff14 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%);pointer-events:none}.blue .wrap{z-index:1}
.blue h2,.blue h3,.blue .shiftgrid .k{color:#fff}.blue .sub,.blue p{color:#e3f0ff}.blue .eyebrow{color:#d6e9ff}.blue .eyebrow:before{background:#d6e9ff}.blue .shiftgrid{border-color:#ffffff4d;background:#ffffff14}.blue .shiftgrid li{border-color:#ffffff33}.blue .line{background:linear-gradient(90deg,transparent,#fff);box-shadow:0 0 18px #fff}

.tabs{align-items:center}.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--mut);font:inherit;font-size:.78rem;padding:11px 14px;cursor:pointer;white-space:nowrap}.tabs button:hover{color:var(--tx)}.tabs button.on{color:var(--tx);border-color:var(--blue)}.tabs .grp{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding:0 14px 0 4px}.tabs .gp2{margin-left:18px;padding-left:18px;border-left:1px solid var(--line2)}
.zone{position:absolute;left:18px;top:10px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hi)}
.prompt{min-height:3em}.caret{display:inline-block;width:2px;height:1.05em;background:var(--hi);vertical-align:-.15em;margin-left:2px;animation:blink .8s step-end infinite}
.node{cursor:pointer}.graph:not(.built) .node{opacity:0;animation:none}.graph.built .node{opacity:1;animation:none;transition:opacity .5s}.graph:not(.built) .edge{stroke-dashoffset:400;animation:none}.graph.built .edge{animation:draw 1.4s ease forwards}.graph:not(.built) .pulse{display:none}
.node:hover text{fill:var(--tx)}
.cap{position:absolute;left:18px;bottom:12px;font-size:.7rem;display:flex;gap:8px;align-items:center;min-height:1em;color:var(--ok)}.cap:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.cap.amb{color:#f5b041}.cap:empty{display:none}
.pn.eng{border-left:1px solid var(--line2);position:relative;background:linear-gradient(180deg,transparent,var(--g4))}.pn.eng:before{content:"The engine produces";position:absolute;left:-1px;top:50%;transform:translate(-100%,-50%) rotate(-90deg);transform-origin:right center;font:500 .62rem 'JetBrains Mono';letter-spacing:.14em;text-transform:uppercase;color:var(--dim);white-space:nowrap;display:none}
.up{display:inline-flex;gap:8px;align-items:center;background:linear-gradient(135deg,#1773c3,#3c9dec);color:#fff;border:0;border-radius:var(--r);padding:9px 14px;font:500 .8rem Inter;cursor:pointer;margin:0 0 12px;box-shadow:0 8px 30px -8px #1E88E5cc}.up.await{animation:aw 1.6s ease-in-out infinite}@keyframes aw{50%{box-shadow:0 0 0 6px #1E88E533,0 8px 30px -8px #1E88E5}}.up:disabled{opacity:.7;cursor:progress;animation:none}
.hint{font-size:.76rem;color:var(--mut);margin:0 0 12px;min-height:2.6em}
.files li{opacity:.16;transform:translateX(10px);transition:opacity .5s,transform .5s,border-color .4s}.files li.on{opacity:1;transform:none}.files li.regen{opacity:.45;border-style:dashed}.files li.fresh{border-color:var(--okd)}
.unch{margin-top:14px;font-size:.68rem;color:var(--ok);opacity:0;transition:opacity .5s}.unch.on{opacity:1}
.ver.flip{animation:flip .4s ease}@keyframes flip{from{opacity:.3;transform:translateY(-6px)}}

.sg2{display:grid;grid-template-columns:250fr 524fr 350fr;min-height:470px;position:relative}.sg2 h4{font:500 .68rem 'JetBrains Mono';letter-spacing:.12em;text-transform:uppercase;color:var(--hi);margin-bottom:16px}
.c1{padding:26px 22px;border-right:1px solid var(--line)}.c2{position:relative}.c3{padding:20px 20px 16px 28px;position:relative;z-index:2;display:flex;flex-direction:column;gap:8px}.c3 h4{margin-bottom:6px}
.ov{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.ov .sp{fill:none;stroke:none}.tk{font:500 11px 'JetBrains Mono';fill:var(--hi);opacity:.9}.stream{display:none}.s-feed .stream{display:block}
.bmx{fill:none;stroke:var(--edge);stroke-width:1.2;stroke-dasharray:3 6;opacity:.8;transition:stroke .4s,opacity .4s}.bmx.on{stroke:url(#bg);stroke-width:2;stroke-dasharray:none;opacity:1;filter:drop-shadow(0 0 6px #1E88E5)}.bp{fill:#cfe6ff;filter:drop-shadow(0 0 6px #6db3f5);opacity:0}.s-beam .bp{opacity:1}
.core{width:100%;height:auto;display:block}.halo{opacity:.35;transition:opacity .6s}.s-checked .halo{opacity:.9}.vring,.vring2{fill:none;stroke:var(--line2);stroke-dasharray:2 7}.vring2{stroke:transparent}.ring1{transform-origin:262px 235px;animation:spin 60s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.sweep{fill:none;stroke:#22c55e;stroke-width:3;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 8px #22c55e);transform-origin:262px 235px}.s-sweep .sweep{opacity:1;animation:sw 2.4s linear 1}@keyframes sw{from{transform:rotate(-90deg)}to{transform:rotate(270deg)}}.s-checked .vring2{stroke:#22c55e;stroke-dasharray:none;opacity:.55;transition:stroke .5s}
.ed{stroke:var(--edge);stroke-width:1.1;opacity:0;transition:opacity .6s;filter:drop-shadow(0 0 3px #1E88E566)}.ed.in{stroke-width:.8;opacity:0}.ed.ch{stroke-dasharray:3 4}.s-built .ed{opacity:.9}.s-built .ed.in{opacity:.5}
.sd{fill:var(--hi);opacity:0;transition:opacity .6s}.s-built .sd{opacity:.8}
.vnode{opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .5s,transform .5s;cursor:pointer;outline:0}.vnode:nth-of-type(1){transition-delay:0s}.s-built .vnode{opacity:1}.vn{fill:#1E88E5;stroke:#9ccbfa99;stroke-width:1;filter:drop-shadow(0 0 5px #1E88E5bb);transition:fill .35s,filter .35s}.vn.amb{fill:#f5b041;filter:drop-shadow(0 0 16px #f5b041)}.vn.grn{fill:#22c55e;filter:drop-shadow(0 0 10px #22c55eaa)}
.vl{font:500 9px 'JetBrains Mono';letter-spacing:.1em;fill:var(--dim);transition:fill .3s}.vnode:hover .vl,.vnode:focus .vl{fill:var(--tx)}
.hub circle{fill:var(--bg);stroke:#6db3f5;stroke-width:1.2;filter:drop-shadow(0 0 14px #1E88E5)}.hub text{font:600 8.5px Inter;fill:var(--tx);opacity:0;transition:opacity .6s}.s-built .hub text{opacity:1}.hub{opacity:.0;transition:opacity .6s}.s-built .hub{opacity:1}.s-checked .hub circle{stroke:#22c55e;filter:drop-shadow(0 0 16px #22c55e)}
.cap{position:absolute;left:20px;bottom:14px;font-size:.7rem;display:flex;gap:8px;align-items:center;color:var(--ok)}.cap:empty{display:none}.cap:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.cap.amb{color:#f5b041}
.tg-c{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;background:var(--p3);border:1px solid var(--line);border-radius:var(--r);color:var(--tx);padding:12px 14px;cursor:pointer;font:inherit;transition:border-color .3s,background .3s;align-content:start}.tg-c:hover{border-color:var(--line2)}.tg-c .tn{font-weight:600;font-size:.95rem}.tg-c .ts{font-size:.7rem;color:var(--mut);grid-column:1}.tg-c .st{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);grid-row:1;grid-column:2;align-self:center}.tg-c .tb{grid-column:1/-1;display:none;margin-top:10px}.tg-c.on{border-color:var(--blue);background:linear-gradient(180deg,var(--g4),var(--p3))}.tg-c.on .tb{display:block}
.fl{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:5px;font-size:.7rem;color:var(--tx2)}.fl li{padding-left:16px;position:relative;opacity:.18;transform:translateX(8px);transition:opacity .45s,transform .45s}.fl li:before{content:"\2713";position:absolute;left:0;color:var(--okd)}.fl li.on{opacity:1;transform:none}.fl.regen li{opacity:.5}.fl li.regen2{opacity:.35;border-bottom:1px dashed var(--line2)}.fl li.fresh2{color:#fff}.fl li.fresh2:before{content:"\2713";color:#22c55e}
.ver.flip{animation:flip .4s ease}@keyframes flip{from{opacity:.3;transform:translateY(-6px)}}
.up{align-self:flex-start;display:inline-flex;gap:8px;align-items:center;background:linear-gradient(135deg,#1773c3,#3c9dec);color:#fff;border:0;border-radius:var(--r);padding:9px 14px;font:500 .8rem Inter;cursor:pointer;box-shadow:0 8px 30px -8px #1E88E5cc}.up.await{animation:aw 1.6s ease-in-out infinite}@keyframes aw{50%{box-shadow:0 0 0 6px #1E88E533,0 8px 30px -8px #1E88E5}}.up:disabled{opacity:.7;cursor:progress;animation:none}.up[hidden]{display:none}
.unch{font-size:.68rem;color:var(--ok);opacity:0;transition:opacity .5s}.unch.on{opacity:1}
.tabs{align-items:center}.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--mut);font:inherit;font-size:.78rem;padding:11px 14px;cursor:pointer;white-space:nowrap}.tabs button:hover{color:var(--tx)}.tabs button.on{color:var(--tx);border-color:var(--blue)}.tabs .grp{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding:0 14px 0 4px}.tabs .gp2{margin-left:18px;padding-left:18px;border-left:1px solid var(--line2)}
.prompt{min-height:3.4em;font-size:1.02rem;color:var(--tx)}.caret{display:inline-block;width:2px;height:1.05em;background:var(--hi);vertical-align:-.15em;margin-left:2px;animation:blink .8s step-end infinite}
@media(max-width:1000px){.sg2{grid-template-columns:1fr}.c1{border:0;border-bottom:1px solid var(--line)}.ov{display:none}.c3{padding:20px}}

.pv{display:grid;grid-template-columns:.9fr 1.3fr;gap:0;margin-top:60px;border:1px solid var(--line)}.pv .list li{cursor:default;transition:background .3s}.pv .list li.hl{background:#e5484d14}
.wall{background:linear-gradient(180deg,#0a0f17,#05080d);position:relative;border-left:1px solid var(--line);overflow:hidden}.wbar{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid #18202d;font-size:.7rem;color:#7d8aa0;background:#080c13}.wbar i{width:8px;height:8px;border-radius:50%;background:#2a3547}.wbody{padding:18px 20px;font-size:.8rem;line-height:1.85;color:#8794a8;position:relative}.cmt{color:#55657c;margin-bottom:6px}
.cl{display:flex;gap:14px;position:relative;padding:0 6px;border-left:2px solid transparent;transition:background .5s,border-color .5s,color .5s,opacity .6s}.cl .ln{width:1.4em;text-align:right;color:#3d4a5f;user-select:none}.cl code{font:inherit;white-space:pre;color:inherit}
.bury{color:#c9a46a}.bury.hl,.bury:hover{background:#e5484d22;border-color:#e5484d}.bury:after{content:"?";position:absolute;right:10px;top:50%;transform:translateY(-50%);font:600 .7rem 'JetBrains Mono';color:#f5b041;border:1px solid #f5b04188;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;animation:qp 2.6s ease-in-out infinite}@keyframes qp{50%{box-shadow:0 0 0 5px #f5b04122}}
.pv .wall:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#ffffff05 3px 4px);pointer-events:none}
.deliv{margin-top:12px;display:grid;gap:2px;font-size:.84rem}.d1{opacity:.55}.d2{color:#ff8a8a}
.tags{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 18px;font-size:.7rem}.tags span{border:1px solid #5a2a2e;color:#ff8a8a;background:#e5484d12;padding:4px 10px;border-radius:2px;opacity:0;transform:translateY(6px);transition:opacity .6s,transform .6s}.pv.in .tags span{opacity:1;transform:none}.pv.in .tg2{transition-delay:.5s}.pv.in .tg3{transition-delay:1s}
.sv{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;margin-top:60px;position:relative;align-items:stretch}.wall.small{border:1px solid var(--line);transition:opacity .8s}.sv.on .wall.small .cl:not(.bury){opacity:.35}.sv.on .wall.small .bury:after{display:none}.sv.on .wall.small .bury{color:#6db3f5;border-color:#1E88E5;background:#1E88E51a}
.sbeams{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.sbeams path{fill:none;stroke:url(#sbg);stroke-width:1.6;stroke-dasharray:600;stroke-dashoffset:600;filter:drop-shadow(0 0 6px #1E88E5)}.sv.on .sbeams path{animation:draw 1.2s ease forwards}.sbeams .p2{animation-delay:.5s!important}.sbeams .p3{animation-delay:1s!important}
.spec{border:1px solid var(--line2);background:linear-gradient(180deg,var(--p1),var(--p2));display:grid;align-content:center;position:relative;box-shadow:0 40px 90px -40px var(--shadow)}.sbar{display:flex;justify-content:space-between;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:.7rem;color:var(--hi);letter-spacing:.1em;text-transform:uppercase}.sv-ok{color:var(--ok);opacity:0;transition:opacity .6s 2.2s;text-transform:none;letter-spacing:0}.sv.on .sv-ok{opacity:1}
.sc{display:grid;grid-template-columns:96px 1fr 28px;gap:2px 14px;padding:22px 20px;border-bottom:1px solid var(--line);align-items:baseline;opacity:.25;transform:translateX(14px);transition:opacity .7s,transform .7s}.sc:last-child{border:0}.sc .sk{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hi)}.sc b{font-size:1.02rem;font-weight:600}.sc small{grid-column:2;color:var(--mut);font-size:.72rem}.sc i{grid-column:3;grid-row:1;font-style:normal;color:var(--okd);opacity:0;transition:opacity .5s}
.sv.on .sc[data-k=rule]{opacity:1;transform:none;transition-delay:.9s}.sv.on .sc[data-k=perm]{opacity:1;transform:none;transition-delay:1.4s}.sv.on .sc[data-k=scr]{opacity:1;transform:none;transition-delay:1.9s}.sv.on .sc i{opacity:1;transition-delay:2.6s}
@media(max-width:1000px){.pv,.sv{grid-template-columns:1fr}.wall{border-left:0;border-top:1px solid var(--line)}.sbeams{display:none}.sv{gap:24px}}
@media(prefers-reduced-motion:reduce){.sv .sc,.tags span{opacity:1;transform:none}.sbeams path{stroke-dashoffset:0}}

.vsw{margin-left:auto;display:inline-flex;border:1px solid #243044;border-radius:2px}.vsw button{background:none;border:0;color:#7d8aa0;font:inherit;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;cursor:pointer}.vsw button.on{background:#1E88E533;color:#e9edf3}
.wall .codev{display:none}.wall[data-view=code] .codev,.sv[data-view=code] .codev{display:block}.wall[data-view=code] .bizv,.sv[data-view=code] .bizv{display:none}
.bizv{padding:24px 24px 18px;color:#d5dce8}.req{font-size:1.15rem;font-weight:500;color:#fff;padding:14px 16px;border:1px solid #243044;background:#0b111b;border-radius:2px;position:relative}.req:before{content:"Request";position:absolute;top:-8px;left:12px;font:500 .6rem 'JetBrains Mono';letter-spacing:.12em;text-transform:uppercase;color:#6db3f5;background:#080c13;padding:0 6px}
.qlist{display:grid;gap:8px;margin-top:18px}.q{display:flex;gap:12px;align-items:center;font-size:.95rem;padding:9px 14px;border:1px dashed #5a4a2a;color:#e8d3a8;border-radius:2px;opacity:0;transform:translateX(-10px);transition:opacity .5s,transform .5s,border-color .4s,color .4s,background .4s;transition-delay:calc(var(--i)*.35s)}.pv.in .q{opacity:1;transform:none}.qm{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid #f5b04199;color:#f5b041;font:600 .72rem 'JetBrains Mono';flex:none}
.guess{margin:16px 0 0;font-size:.74rem;color:#ff8a8a}
.pw .deliv{padding:0 24px;margin:2px 0 8px}.pw .tags{padding:0 24px 20px}
.q.a{border:1px solid #1d3a2a;color:#cfe9d9;background:#22c55e0d;opacity:1;transform:none}.q.a .qm{border-color:#22c55e99;color:#22c55e}.sv .q.a{opacity:.35;transition:opacity .6s}.sv.on .q.a{opacity:1}
.dc{display:grid;grid-template-columns:120px 1fr 28px;gap:14px;padding:19px 20px;border-bottom:1px solid var(--line);align-items:baseline;opacity:.2;transform:translateX(14px);transition:opacity .7s,transform .7s}.dc:last-child{border:0}.dc .sk{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hi)}.dc b{font-weight:600;font-size:1rem}.dc i{font-style:normal;color:var(--okd);opacity:0;transition:opacity .5s}
.sv.on .dc{opacity:1;transform:none}.sv.on .dc[data-i="0"]{transition-delay:.4s}.sv.on .dc[data-i="1"]{transition-delay:.8s}.sv.on .dc[data-i="2"]{transition-delay:1.2s}.sv.on .dc[data-i="3"]{transition-delay:1.6s}.sv.on .dc[data-i="4"]{transition-delay:2s}.sv.on .dc i{opacity:1;transition-delay:2.6s}
.sv[data-view=code] .sbeams{display:none}
@media(prefers-reduced-motion:reduce){.q,.dc{opacity:1;transform:none}}

.art{margin-top:16px}.a-req{font-size:.78rem;padding:9px 11px;border:1px solid var(--line2);color:var(--tx2);border-radius:2px;background:var(--p3)}.a-chips{display:flex;flex-wrap:wrap;gap:5px}.a-chips span{font-size:.62rem;padding:3px 7px;border:1px solid var(--line2);color:var(--hi);border-radius:2px}.a-ck{display:grid;gap:5px;font-size:.62rem;color:var(--tx2)}.a-ck span:before{content:"\2713 ";color:var(--okd)}.a-rv{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--okd);color:var(--ok);padding:7px 12px;border-radius:2px;font-size:.78rem}.a-fl{display:flex;gap:5px;flex-wrap:wrap}.a-fl span{font-size:.62rem;padding:3px 7px;border:1px solid var(--line2);color:var(--mut);border-radius:2px}
.shot{margin-top:50px;border:1px solid var(--line2);background:var(--p1);box-shadow:0 70px 140px -50px var(--shadow);overflow:hidden;position:relative}.shotimg{overflow:hidden;aspect-ratio:2000/1027;background:#0b111b}.shotimg img{display:block;width:100%;height:auto;transform:scale(1.0);transform-origin:30% 30%;transition:transform 8s ease}.shot.in .shotimg img{transform:scale(1.18)}
.ag{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:34px;margin-top:56px;position:relative;align-items:center}.ag h4{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hi);margin-bottom:14px}.chip{padding:12px 16px;border:1px solid var(--line2);background:var(--p3);margin-bottom:10px;font-size:.92rem;border-radius:2px}.ag small{color:var(--dim);font-size:.68rem}
.ag-c{border:1px solid var(--blue);padding:26px;position:relative;background:linear-gradient(180deg,var(--g4),transparent);box-shadow:0 0 60px -10px var(--g3)}.ag-t{position:absolute;top:-11px;left:18px;background:var(--bg);padding:0 10px;color:var(--hi);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.ag-g{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ag-g span{border:1px solid var(--line2);padding:14px;text-align:center;font-weight:500;background:var(--p3)}.ag-c p{margin:16px 0 0;text-align:center;font-size:.7rem;color:var(--mut)}
.flow{position:absolute;top:50%;width:34px;height:2px;background:linear-gradient(90deg,transparent,var(--blue));animation:fl2 2s linear infinite}.f1{left:-34px}.f2{right:-34px;transform:scaleX(-1)}@keyframes fl2{50%{opacity:.3}}.ag-u{grid-column:1/-1;display:flex;justify-content:center;gap:40%;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:-12px}
.note{margin-top:30px;color:var(--mut);max-width:44rem;font-size:.95rem}.note b{color:var(--tx);font-weight:600}.cells.c3{grid-template-columns:repeat(3,1fr)}.way{margin-top:34px;padding:22px 26px;border:1px solid var(--line2);background:var(--p3);color:var(--mut);max-width:60rem}.way b{color:var(--tx)}
.pf{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;margin-top:56px;border:1px solid var(--line)}.pf-n{padding:30px 26px;border-right:1px solid var(--line)}.pk{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hi);display:block;margin-bottom:14px}.pf-n b,.pf-big b{font:500 clamp(2.4rem,4.4vw,3.6rem)/1 'JetBrains Mono';letter-spacing:-.04em;display:block;color:var(--tx)}.pf-n span:not(.pk){display:block;margin-top:8px;color:var(--tx2)}.pf-n small{display:block;margin-top:10px;font-size:.64rem;color:var(--dim)}.pf-big{padding:30px 28px;background:linear-gradient(135deg,#0f5bb0,#1976D2);color:#fff;position:relative}.pf-big b{display:inline;color:#fff;font-size:clamp(3rem,5.6vw,4.6rem)}.pf-big i{font:500 2rem 'JetBrains Mono';font-style:normal}.pf-big span{display:block;margin-top:10px;color:#e3f0ff}.pf-big .pv2{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;color:#d6e9ff}
.aud{font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.35;max-width:46rem;margin-top:30px;color:var(--tx);font-weight:400}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.chips span{padding:10px 16px;border:1px solid var(--line2);font-size:.9rem;border-radius:2px;color:var(--tx2)}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border:1px solid var(--line)}.plan{padding:30px 26px;border-right:1px solid var(--line);position:relative}.plan:last-child{border:0}.plan.hot{background:linear-gradient(180deg,var(--g4),transparent);box-shadow:inset 0 2px 0 var(--blue)}.pop{position:absolute;top:14px;right:16px;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hi)}.pr{display:block;font-size:2rem;font-weight:600;letter-spacing:-.03em;margin:12px 0 4px}.pr small{font-size:.8rem;font-weight:400;color:var(--mut)}.plan ul{margin-top:20px;display:grid;gap:8px;font-size:.88rem;color:var(--tx2)}.plan li:before{content:"\2713 ";color:var(--okd)}
.faq{margin-top:50px;max-width:56rem;border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:0}.faq summary{cursor:pointer;list-style:none;padding:22px 0;font-weight:500;font-size:1.08rem;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--hi);font-size:1.3rem;line-height:1}.faq details[open] summary:after{content:"\2212"}.faq details p{padding:0 0 24px;max-width:46rem}
.wpr{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:center;border:1px solid var(--line2);padding:44px;background:linear-gradient(135deg,var(--g4),transparent 60%)}.cover{aspect-ratio:3/4;background:linear-gradient(160deg,#0b1424,#0f2a52);border:1px solid var(--line2);padding:22px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;box-shadow:0 40px 80px -30px var(--shadow)}.brandc{font:700 1rem 'Space Grotesk';letter-spacing:-.03em}.cover b{font-size:1.5rem;font-weight:600;line-height:1.1}.cover small{color:#9ccbfa;font-size:.62rem}.fine{margin-top:18px;font-size:.72rem;color:var(--dim)}
@media(max-width:1000px){.ag,.pf,.plans,.wpr,.cells.c3{grid-template-columns:1fr}.flow,.ag-u{display:none}.pf-n,.plan{border-right:0;border-bottom:1px solid var(--line)}.wpr{padding:28px}.cover{max-width:240px}}
@media(prefers-reduced-motion:reduce){.shotimg img{transition:none}.flow{animation:none}}
.tg{background:none;border:1px solid var(--line2);color:var(--tx);width:38px;height:38px;border-radius:var(--r);cursor:pointer;display:grid;place-items:center}.tg:hover{border-color:var(--hi)}html[data-theme="dark"] .tg .su{display:none}html[data-theme="light"] .tg .mo{display:none}
.btn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#1773c3,#3c9dec);color:#fff;padding:12px 22px;border-radius:var(--r);font-weight:500;font-size:.9rem;box-shadow:0 0 0 1px #6db3f566 inset,0 10px 44px -8px #1E88E5dd;transition:box-shadow .2s,transform .2s}.btn:hover{filter:brightness(1.08)}.btn.ghost{background:none;color:var(--tx);box-shadow:0 0 0 1px var(--line2) inset}.btn.ghost:hover{box-shadow:0 0 0 1px var(--hi) inset;filter:none}
.eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hi);margin-bottom:22px;display:flex;gap:12px;align-items:center}.eyebrow:before{content:"";width:22px;height:1px;background:var(--blue)}
.hero{position:relative;padding:110px 0 70px;overflow:hidden;isolation:isolate}.beam,.beam2{position:absolute;z-index:-1;pointer-events:none}.beam{top:-30%;left:50%;width:1200px;height:950px;transform:translateX(-50%);background:conic-gradient(from 200deg at 50% 0%,transparent 0 24%,var(--g1) 31%,var(--g2) 38%,transparent 47% 100%);filter:blur(34px);animation:sway 14s ease-in-out infinite alternate}.beam2{top:-20%;left:12%;width:760px;height:760px;background:conic-gradient(from 160deg at 50% 0%,transparent 0 30%,var(--g2) 38%,transparent 48% 100%);filter:blur(46px);animation:sway 18s ease-in-out infinite alternate-reverse}
.glow{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 0%,var(--g3),transparent 72%),radial-gradient(ellipse 45% 35% at 90% 55%,var(--g4),transparent 70%),radial-gradient(ellipse 40% 30% at 6% 45%,var(--g4),transparent 70%)}
.gridbg{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 20%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 50% 20%,#000,transparent 75%);animation:gridmove 30s linear infinite}
@keyframes sway{to{transform:translateX(-46%) rotate(4deg)}}@keyframes gridmove{to{background-position:56px 56px,56px 56px}}
h1{font-size:clamp(2.6rem,5.8vw,4.9rem);line-height:1.05;letter-spacing:-.045em;font-weight:600;max-width:14em}h1 em{font-style:normal;font-weight:700;background:linear-gradient(100deg,#1E88E5,var(--em) 55%,var(--tx));-webkit-background-clip:text;background-clip:text;color:transparent}.lead{font-weight:400;font-size:1.2rem;color:var(--mut);max-width:41rem;margin:30px 0 38px}.lead b{color:var(--tx);font-weight:500}.cta{display:flex;gap:12px;flex-wrap:wrap}
.stage{margin-top:90px;border:1px solid var(--line2);background:linear-gradient(180deg,var(--p1),var(--p2));border-radius:var(--r);position:relative;box-shadow:0 70px 140px -40px var(--shadow),0 0 70px -10px var(--g4)}.stage:before,.stage:after{content:"";position:absolute;width:14px;height:14px;border:solid var(--hi);pointer-events:none}.stage:before{left:-1px;top:-1px;border-width:2px 0 0 2px}.stage:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}
.bar{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:.74rem;color:var(--mut)}.bar i{width:8px;height:8px;border-radius:50%;background:var(--dot)}.bar .live{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--ok)}.bar .live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--okd);box-shadow:0 0 0 0 var(--okd);animation:ping 2s infinite}@keyframes ping{70%{box-shadow:0 0 0 8px #34d27a00}}
.tabs{display:flex;gap:2px;padding:0 18px;border-bottom:1px solid var(--line);overflow-x:auto}.tabs span{padding:11px 14px;font-size:.78rem;color:var(--mut);border-bottom:2px solid transparent;white-space:nowrap}.tabs span.on{color:var(--tx);border-color:var(--blue)}
.sg{display:grid;grid-template-columns:210px 1fr 260px;min-height:430px}.graphwrap{padding:18px 6px}.pn{padding:22px;border-right:1px solid var(--line)}.pn:last-child{border:0;border-left:1px solid var(--line)}.pn h4{font:500 .68rem 'JetBrains Mono';letter-spacing:.12em;text-transform:uppercase;color:var(--hi);margin-bottom:16px}
.prompt{display:block;font-size:1.02rem;font-weight:400;line-height:1.5;color:var(--tx)}.type{display:inline-block;overflow:hidden;white-space:nowrap;width:0;border-right:2px solid var(--hi);animation:typing 3s steps(31,end) .4s forwards,blink .8s step-end infinite;max-width:100%}@keyframes typing{to{width:31ch}}@keyframes blink{50%{border-color:transparent}}
.pn small{display:block;margin-top:16px;font-size:.8rem;color:var(--mut)}.arrowline{margin-top:34px;height:1px;background:linear-gradient(90deg,var(--blue),transparent);position:relative}.arrowline:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border:solid var(--blue);border-width:1px 1px 0 0;transform:rotate(45deg)}
.graphwrap{padding:12px 10px;position:relative}.graph{width:100%;height:auto;display:block}.lane{font:500 8.5px 'JetBrains Mono';letter-spacing:.1em;fill:var(--dim)}.laneln{stroke:var(--laneln);stroke-dasharray:2 5}.edge{fill:none;stroke:var(--edge);stroke-width:1.3;stroke-dasharray:400;stroke-dashoffset:400;animation:draw 1.4s ease forwards;animation-delay:var(--d);filter:drop-shadow(0 0 3px #1E88E577)}@keyframes draw{to{stroke-dashoffset:0}}.pulse{fill:#9ccbfa;filter:drop-shadow(0 0 6px #4aa3f0)}
.node{opacity:0;animation:pop .6s ease forwards;animation-delay:var(--d);transform-box:fill-box;transform-origin:center}@keyframes pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.shape{fill:#1E88E5;stroke:#9ccbfa99;stroke-width:1;filter:drop-shadow(0 0 4px #1E88E5aa);transition:fill .35s,filter .35s}.shape.amb{fill:#f5b041;filter:drop-shadow(0 0 14px #f5b041)}.shape.grn{fill:#22c55e;filter:drop-shadow(0 0 8px #22c55eaa)}98%,100%{opacity:0}}.node text{font:400 8.5px Inter;fill:var(--tx2)}
.checked{position:absolute;left:18px;bottom:12px;font-size:.7rem;color:var(--ok);display:flex;gap:8px;align-items:center}.checked:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--okd)}
.ver{display:inline-block;border:1px solid var(--line2);padding:6px 10px;font-size:.78rem;border-radius:var(--r);margin-bottom:14px;color:var(--tx);min-width:11.5em}.files li{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);margin-bottom:8px;font-size:.8rem;border-radius:var(--r);background:var(--p3)}.files li span:last-child{color:var(--okd)}.files b{font-weight:500;color:var(--tx2)}.files small{display:block;color:var(--mut);margin:0;font-size:.7rem}
.tag{margin-top:22px;font-weight:400;font-size:1.08rem;color:var(--tx2);display:flex;gap:14px;align-items:center}.tag:before{content:"";width:34px;height:1px;background:var(--blue)}
section{padding:120px 0;position:relative}.sec{border-top:1px solid var(--line)}h2{font-size:clamp(2rem,3.8vw,3.2rem);letter-spacing:-.038em;line-height:1.1;font-weight:600;max-width:15em}.sub{font-weight:400;font-size:1.1rem;color:var(--mut);margin-top:16px;max-width:38rem}h3{font-size:1.04rem;letter-spacing:-.005em;margin-bottom:8px;font-weight:700}p{color:var(--mut);font-weight:400}
.two{display:grid;grid-template-columns:1fr 1fr;margin-top:60px;border:1px solid var(--line)}.list li{padding:22px 28px;border-bottom:1px solid var(--line);color:var(--tx2);display:flex;gap:16px;align-items:baseline;font-weight:400}.list li:last-child{border-bottom:0}.list li:before{content:"\2715";color:#e5484d;font-size:.75rem}.code{border-left:1px solid var(--line);padding:28px;display:grid;gap:9px;font-size:.84rem;background:linear-gradient(180deg,#0a0f17,#05080d);color:#9aa7ba}.code .bad{color:#ff8a8a}.code .dim{opacity:.6;margin-top:12px}
.shiftgrid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border:1px solid var(--line);position:relative;background:var(--cell)}.shiftgrid li{padding:34px 30px;border-left:1px solid var(--line);position:relative;overflow:hidden}.shiftgrid li:first-of-type{border-left:0}.shiftgrid .k{font:500 .7rem 'JetBrains Mono';color:var(--hi);letter-spacing:.12em;margin-bottom:22px;display:block}
.line{position:absolute;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,transparent,var(--blue),var(--hi));box-shadow:0 0 18px #1E88E5}.shiftgrid.in .line{animation:sweep 2.2s ease forwards}@keyframes sweep{to{width:100%}}
.tl{position:relative;margin-top:70px;display:grid;grid-template-columns:repeat(5,1fr)}.tl:before{content:"";position:absolute;left:0;right:0;top:19px;height:1px;background:var(--line2)}.tl .fill{position:absolute;left:0;top:18px;height:3px;width:var(--p,0%);background:linear-gradient(90deg,var(--blue),var(--hi));box-shadow:0 0 16px #1E88E5;transition:width .25s linear}.st{padding:0 22px 0 0;position:relative}.st .n{display:grid;place-items:center;width:40px;height:40px;background:var(--bg);border:1px solid var(--line2);color:var(--mut);font-size:.8rem;margin-bottom:26px;position:relative;z-index:1;transition:all .3s}.st.on .n{border-color:var(--blue);color:var(--tx);box-shadow:0 0 0 4px #1E88E522,0 0 26px #1E88E580}.st p{font-size:.9rem}.st:not(.on) h3{color:var(--dim)}
.cells{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.cell{padding:34px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;min-height:200px;background:var(--cell)}.cell *{position:relative}
.close{padding:150px 0;overflow:hidden;isolation:isolate;border-top:1px solid var(--line)}.close .glow{background:radial-gradient(ellipse 65% 90% at 20% 115%,var(--g1),transparent 70%),radial-gradient(ellipse 45% 55% at 90% 0%,var(--g4),transparent 70%)}.close h2{font-size:clamp(2.4rem,5vw,4.2rem);max-width:none;letter-spacing:-.045em;font-weight:600}.close .sub{margin-bottom:36px}
.ft{border-top:1px solid var(--line);padding:46px 0 30px}.ft-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.ft nav{display:flex;gap:26px;color:var(--mut);font-size:.88rem}.cp{margin-top:28px;font-size:.8rem;color:var(--cp)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:1000px){.sg{grid-template-columns:1fr}.pn{border:0;border-bottom:1px solid var(--line)}.two,.shiftgrid,.cells{grid-template-columns:1fr}.code{border-left:0;border-top:1px solid var(--line)}.shiftgrid li{border-left:0;border-top:1px solid var(--line)}.tl{grid-template-columns:1fr;gap:34px}.tl:before,.tl .fill{display:none}.nav-l{display:none}.hd-in .btn{margin-left:auto}section{padding:80px 0}.hero{padding:70px 0 50px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.edge{stroke-dashoffset:0}.node,.reveal{opacity:1;transform:none}.type{width:auto}}


.cmp-h{max-width:none;font-size:clamp(1.6rem,3vw,2.4rem)}
.cmp{margin-top:36px;border:1px solid var(--line2);overflow:hidden;background:var(--p1)}.cmp table{width:100%;border-collapse:collapse}.cmp th{font:500 .68rem 'JetBrains Mono';letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:left;padding:16px 22px;border-bottom:1px solid var(--line2)}.cmp th:last-child{background:linear-gradient(180deg,var(--g3),transparent)}.cmp-i{color:var(--hi)}
.cmp td{padding:18px 22px;border-bottom:1px solid var(--line);vertical-align:top}.cmp tr:last-child td{border-bottom:0}.cmp td:first-child{color:var(--tx2);font-weight:500}.cmp td.bad{color:var(--mut)}.cmp td.bad:before{content:"\2715";color:#e5484d;font-size:.75rem;margin-right:12px}.cmp td.good{color:var(--tx);font-weight:500;background:linear-gradient(90deg,var(--g4),transparent)}.cmp td.good:before{content:"\2713";color:var(--okd);margin-right:12px;font-weight:700}
.pdx{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;margin-top:56px;align-items:start}.pdx-t h3{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin-bottom:18px;line-height:1.25}.pdx-t p{margin-bottom:16px;font-size:1.02rem;line-height:1.7}
.pdx-v{border:1px solid var(--line2);background:linear-gradient(180deg,var(--p1),var(--p2));box-shadow:0 60px 120px -50px var(--shadow);position:relative}.pdx-v:before,.pdx-v:after{content:"";position:absolute;width:14px;height:14px;border:solid var(--hi);pointer-events:none}.pdx-v:before{left:-1px;top:-1px;border-width:2px 0 0 2px}.pdx-v:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}
.pdx-top{padding:14px 20px;border-bottom:1px solid var(--line);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hi)}.lys{padding:22px;display:grid;gap:12px;position:relative}.lys:before{content:"";position:absolute;left:46px;top:50px;bottom:50px;border-left:1px dashed var(--blue);opacity:.6}
.ly{display:grid;grid-template-columns:48px 1fr 24px;gap:4px 14px;align-items:center;padding:18px 20px;border:1px solid var(--line2);background:var(--p3);position:relative;z-index:1;transition-delay:calc(var(--i)*.2s)}.ly .lk{font-size:.7rem;color:var(--hi);border:1px solid var(--blue);width:34px;height:34px;display:grid;place-items:center;background:var(--bg)}.ly b{font-size:1.05rem;font-weight:600}.ly .lt{color:var(--okd)}.ly small{grid-column:2/-1;color:var(--mut);font-size:.72rem}
.pdx-chk{padding:14px 20px;border-top:1px solid var(--line);font-size:.7rem;color:var(--ok);display:flex;gap:10px;align-items:center}.pdx-chk:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--okd)}
@media(max-width:1000px){.pdx{grid-template-columns:1fr;gap:40px}.cmp{overflow-x:auto}.cmp table{min-width:620px}}


.apx{margin-top:110px}.apx-h{font-size:clamp(1.6rem,3vw,2.4rem);max-width:none}
.aps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border:1px solid var(--line2);position:relative;background:var(--p1)}
.apl{position:absolute;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,transparent,var(--blue),var(--hi));box-shadow:0 0 16px #1E88E5}.aps.in .apl{animation:sweep 2.4s ease forwards}
.ap{padding:30px 26px 28px;border-left:1px solid var(--line);position:relative;transition-delay:calc(var(--i)*.15s)}.ap:first-of-type{border-left:0}.ap:not(:last-of-type):after{content:"";position:absolute;right:-7px;top:42px;width:12px;height:12px;border:solid var(--blue);border-width:1px 1px 0 0;transform:rotate(45deg);background:var(--p1);z-index:2}
.apn{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--blue);color:var(--hi);font-size:.78rem;margin-bottom:22px;background:var(--bg)}.ap h3{font-size:1.08rem;font-weight:650;margin-bottom:10px;line-height:1.25}.ap>p{font-size:.9rem;line-height:1.65;min-height:9.5em}
.ap ul{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:9px;font-size:.84rem;color:var(--tx2)}.ap ul li{position:relative;padding-left:20px}.ap ul li:before{content:"\2713";position:absolute;left:0;color:var(--okd);font-weight:700}
@media(max-width:1000px){.aps{grid-template-columns:1fr}.ap{border-left:0;border-top:1px solid var(--line)}.ap:first-of-type{border-top:0}.ap:after{display:none}.ap>p{min-height:0}}


.chk{display:grid;grid-template-columns:.9fr 1.3fr;gap:56px;margin-top:56px;align-items:center}.chk-l{display:grid;gap:12px}.ck{display:flex;gap:16px;align-items:center;padding:20px 24px;border:1px solid var(--line2);background:var(--p3);font-size:1.02rem}.ck i{font-style:normal;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;flex:none;font-size:.85rem}.ck.ok i{background:#22c55e22;color:var(--okd);border:1px solid var(--okd)}.ck.no{border-color:#7a2a2e;background:#e5484d12}.ck.no i{background:#e5484d22;color:#ff8a8a;border:1px solid #e5484d}.chk-l small{color:var(--dim);font-size:.72rem;margin-top:6px}
.chk-r{display:grid;grid-template-columns:1.1fr .7fr 1fr;gap:18px;align-items:center;border:1px solid var(--line2);background:var(--p1);padding:34px 28px;position:relative;box-shadow:0 60px 120px -50px var(--shadow)}.cx-ai{position:absolute;top:12px;left:24px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hi)}
.cx-spec{border:1px solid var(--blue);padding:18px;background:linear-gradient(180deg,var(--g4),transparent)}.cx-spec>span{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hi);display:block}.cx-spec b{display:block;margin:6px 0 12px;font-size:1.05rem}.cx-ch{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cx-ch i{font-style:normal;border:1px solid var(--line2);padding:6px 8px;font-size:.66rem;text-align:center;color:var(--tx2)}.cx-spec small{display:block;margin-top:12px;font-size:.7rem;color:var(--mut);line-height:1.4}
.cx-gate{text-align:center}.gate{width:64px;height:64px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--okd);color:var(--okd);font-size:1.6rem;box-shadow:0 0 30px #22c55e55;animation:gp 2.6s ease-in-out infinite}@keyframes gp{50%{box-shadow:0 0 44px #22c55e99}}.cx-gate>span{font-size:.7rem;color:var(--ok);letter-spacing:.1em;text-transform:uppercase}.cx-gate small{display:block;margin-top:6px;font-size:.66rem;color:var(--mut);line-height:1.45}
.cx-out{display:grid;gap:8px}.cx-out span{border:1px solid var(--line2);padding:10px 14px;background:var(--p3);font-size:.86rem;font-weight:500}.cx-out small{font-size:.62rem;color:var(--dim)}
.eng{display:grid;grid-template-columns:1fr 44px 1.25fr 44px 1fr;margin-top:56px;align-items:stretch}.es{border:1px solid var(--line2);background:var(--p3);padding:28px 26px}.es.hot{border-color:var(--blue);background:linear-gradient(180deg,var(--g4),var(--p3));box-shadow:0 0 70px -20px var(--g3)}.es>span{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hi);display:block;margin-bottom:12px}.es h3{font-size:1.25rem;font-weight:650;margin-bottom:14px}.es ul{display:grid;gap:9px;font-size:.92rem;color:var(--tx2)}.es li{padding-left:18px;position:relative}.es li:before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;background:var(--blue)}
.ea{display:grid;place-items:center}.ea i{width:26px;height:1px;background:var(--blue);position:relative;animation:fl2 2s linear infinite}.ea i:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border:solid var(--blue);border-width:1px 1px 0 0;transform:rotate(45deg)}
.oc3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border:1px solid var(--line2);background:var(--p1)}.oc{padding:30px 28px;border-left:1px solid var(--line)}.oc:first-child{border-left:0}.oc-v{height:150px;display:grid;place-items:center;margin-bottom:24px;border:1px solid var(--line);background:radial-gradient(ellipse 70% 80% at 50% 100%,var(--g4),transparent)}.oc h3{font-size:1.12rem;font-weight:650;margin-bottom:8px}.oc p{font-size:.92rem}
.stk3{display:grid;gap:6px;width:70%}.stk3 span{border:1px solid var(--blue);padding:7px 12px;font-size:.78rem;text-align:center;background:var(--bg);display:flex;justify-content:center;gap:8px}.stk3 em{font-style:normal;color:var(--okd)}.ck3 span{border-color:var(--okd)}
.agt{display:flex;align-items:center;gap:10px;font-size:.66rem}.agt span{border:1px solid var(--line2);padding:8px 10px;background:var(--bg)}.agt i{width:36px;height:1px;background:var(--blue);position:relative;animation:fl2 2s linear infinite}.agt i:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border:solid var(--blue);border-width:1px 1px 0 0;transform:rotate(45deg)}
@media(max-width:1000px){.chk,.chk-r,.eng,.oc3{grid-template-columns:1fr}.ea{height:34px}.ea i{transform:rotate(90deg)}.oc{border-left:0;border-top:1px solid var(--line)}.oc:first-child{border-top:0}.chk-r{padding-top:44px}}


.premise{padding-bottom:110px}.pm-head{margin-bottom:34px}.pm-head .eyebrow{margin:0}
.pm-top{display:grid;grid-template-columns:190px 1fr 1fr;gap:0}.pm-sp{display:block}
.pm-col{padding:8px 44px 40px 0}.pm-col.good{padding-left:44px;border-left:1px solid var(--line2);position:relative}.pm-col.good:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--blue),transparent);box-shadow:0 0 18px var(--blue)}
.pm-k{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;display:flex;gap:10px;align-items:center}.pm-col.bad .pm-k{color:#e5897f}.pm-col.good .pm-k{color:var(--hi)}.pm-k:before{content:"";width:18px;height:1px;background:currentColor}
.pm-col h2{font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.1;max-width:11em}.pm-col.bad h2{color:var(--tx2)}.pm-lead{margin-top:16px;font-size:1.1rem;color:var(--mut);max-width:26rem}.pm-col.good .pm-lead{color:var(--tx2)}
.pm-list{margin-top:30px;display:grid;gap:0;border-top:1px solid var(--line)}.pm-list li{padding:15px 0;border-bottom:1px solid var(--line);font-size:.96rem;color:var(--mut);display:flex;gap:14px;align-items:baseline}.pm-col.bad .pm-list li:before{content:"\2715";color:#e5484d;font-size:.72rem}
.pm-col.good .pm-list{counter-reset:pm}.pm-col.good .pm-list li{display:grid;gap:3px;color:var(--mut)}.pm-col.good .pm-list b{color:var(--tx);font-weight:600;font-size:1rem}.pm-col.good .pm-list b:before{counter-increment:pm;content:"0" counter(pm);font:500 .66rem 'JetBrains Mono';color:var(--hi);margin-right:12px;letter-spacing:.1em}
.pm-tab{margin-top:10px;border-top:1px solid var(--line2)}.pm-th,.pm-tr{display:grid;grid-template-columns:190px 1fr 1fr}.pm-th{padding:18px 0;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.pm-th span:nth-child(2){padding-right:44px}.pm-th span:nth-child(3){padding-left:44px;color:var(--hi)}
.pm-tr{border-top:1px solid var(--line);align-items:baseline}.pm-tr span{padding:18px 0}.pm-tr .a{color:var(--tx2);font-weight:500;font-size:.9rem}.pm-tr .b{color:var(--mut);padding-right:44px}.pm-tr .b:before{content:"\2715";color:#e5484d;font-size:.72rem;margin-right:12px}.pm-tr .g{color:var(--tx);font-weight:500;padding-left:44px;border-left:1px solid var(--line2);background:linear-gradient(90deg,var(--g4),transparent 70%)}.pm-tr .g:before{content:"\2713";color:var(--okd);margin-right:12px;font-weight:700}
@media(max-width:1000px){.pm-top{grid-template-columns:1fr}.pm-sp{display:none}.pm-col,.pm-col.good{padding:0 0 36px;border-left:0}.pm-col.good:before{display:none}.pm-th{display:none}.pm-tr{grid-template-columns:1fr;gap:0;padding:14px 0}.pm-tr span{padding:4px 0}.pm-tr .g{padding-left:0;border:0;background:none}.pm-tr .b{padding-right:0}}


.pm-list{margin-top:30px;display:grid;gap:0;border-top:1px solid var(--line);counter-reset:none}
.pm-list li,.pm-col.good .pm-list li{display:grid!important;grid-template-columns:22px 1fr;gap:14px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.55;color:var(--tx2);min-height:4.6rem}
.pm-list .mk{font-size:.8rem;line-height:1.9}.pm-col.bad .pm-list .mk{color:#e5484d}.pm-col.good .pm-list .mk{color:var(--okd);font-weight:700}
.pm-col.bad .pm-list li:before{content:none!important}.pm-col.good .pm-list b:before{content:none!important}.pm-col.good .pm-list b{color:var(--tx);font-weight:600}
.pm-col.bad .pm-list .tx{color:var(--mut)}.pm-col.good .pm-list .tx{color:var(--tx2)}


/* the premise: a solid band in both themes, the table carries the proof */
.premise{background:#060c18;color:#eef2f8;border-top:0;padding:120px 0;--tx:#eef2f8;--tx2:#d5dce8;--mut:#a9b6c9;--dim:#7f8da3;--line:#1a2638;--line2:#2a3a52;--hi:#7dbcf7;position:relative;overflow:hidden;isolation:isolate}
.premise:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 70% at 85% 0%,#1E88E544,transparent 70%),radial-gradient(ellipse 50% 60% at 0% 100%,#1E88E52a,transparent 70%)}
.pm-top{grid-template-columns:190px 1fr 1fr}.pm-col{padding-bottom:50px}.pm-col h2{font-size:clamp(2.2rem,3.8vw,3.2rem);font-weight:600;color:#fff;max-width:10em}.pm-col.bad h2{color:#b8c4d6}.pm-lead{font-size:1.2rem;color:#c3cedd}.pm-col.good .pm-lead{color:#e7eef8}
.pm-tab{border-top:1px solid var(--line2);margin-top:0}.pm-th{padding:20px 0}.pm-tr{border-top:1px solid var(--line2)}.pm-tr span{padding:20px 0}.pm-tr .a{color:#d5dce8}.pm-tr .b{color:#a9b6c9}
.pm-th span:nth-child(3){color:#fff;background:linear-gradient(135deg,#0f5bb0,#1976D2);padding:20px 44px;margin:-1px 0 0}
.pm-tr .g{background:linear-gradient(135deg,#0f5bb0,#1976D2)!important;color:#fff;border-left:0;font-weight:500}.pm-tr .g:before{color:#bbf7d0}
.pm-tr+.pm-tr .g{box-shadow:inset 0 1px 0 #ffffff22}
.pm-col.good:before{background:linear-gradient(180deg,#7dbcf7,transparent)}
@media(max-width:1000px){.pm-th span:nth-child(3){padding:0}.pm-tr .g{background:none!important;color:#fff}.pm-tr .g:before{color:#4ade80}}


.pt{margin-top:40px;background:#071120;border:1px solid #1d2b42;box-shadow:0 60px 120px -50px var(--shadow);color:#eef2f8;position:relative}
.pt:before,.pt:after{content:"";position:absolute;width:14px;height:14px;border:solid #7dbcf7;pointer-events:none}.pt:before{left:-1px;top:-1px;border-width:2px 0 0 2px}.pt:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}
.pt-h,.pt-r{display:grid;grid-template-columns:200px 1fr 1fr}
.pt-h .pt-c{padding:44px 40px 40px;border-bottom:1px solid #26364f}.pt-h .pt-c.bad{border-left:1px solid #1d2b42}.pt-h .pt-c.good{background:linear-gradient(135deg,#0f5bb0,#1976D2)}
.pk{font:500 .68rem 'JetBrains Mono';letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;display:block}.bad .pk{color:#e9a29a}.good .pk{color:#d6e9ff}
.pt h2{font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.12;letter-spacing:-.03em;font-weight:600;max-width:11em}.bad h2{color:#c4cfdf}.good h2{color:#fff}
.pl{margin-top:14px;font-size:1.02rem;line-height:1.55}.bad .pl{color:#9fb0c6}.good .pl{color:#e3f0ff}
.pt-r{border-top:1px solid #1d2b42}.pt-r:first-of-type{border-top:0}.pt-r .pt-c{padding:26px 40px;font-size:1.08rem;line-height:1.45;display:flex;gap:16px;align-items:baseline}
.pt-r .a{padding-left:28px;color:#8fa0b8;font:500 .8rem 'JetBrains Mono';letter-spacing:.04em;text-transform:uppercase;align-items:center}
.pt-r .b{color:#b4c1d4;border-left:1px solid #1d2b42}.pt-r .b i{color:#ef6a6a;font-style:normal;font-size:.8rem}
.pt-r .g{background:linear-gradient(135deg,#0f5bb0,#1976D2);color:#fff;font-weight:500;border-top:1px solid #ffffff2a}.pt-r:first-of-type .g{border-top:0}.pt-r .g i{color:#bbf7d0;font-style:normal;font-weight:700}
.pt-r.reveal{transition-delay:0s}
@media(max-width:1000px){.pt-h,.pt-r{grid-template-columns:1fr}.pt-h .pt-c:first-child{display:none}.pt-h .pt-c{padding:30px 24px}.pt-h .pt-c.bad{border-left:0}.pt-r{padding:0}.pt-r .pt-c{padding:14px 24px}.pt-r .a{padding-top:20px}.pt-r .b{border-left:0}}


.mh3{font-size:clamp(1.5rem,2.4vw,2rem)!important;font-weight:600;letter-spacing:-.025em;line-height:1.2;max-width:24em;margin:0 0 18px}
.pdx-t .mh3{margin-bottom:20px}
.mrg{margin-top:120px;padding-top:70px;border-top:1px solid var(--line)}.mlead{font-size:1.08rem;color:var(--mut);max-width:42rem;margin:-4px 0 0}.mrg .aps,.mrg .chk,.mrg .eng{margin-top:44px}


.pt{background:none;border:0;border-top:1px solid var(--line2);box-shadow:none;color:var(--tx)}.pt:before,.pt:after{display:none}
.pt-h .pt-c{border-bottom:1px solid var(--line2);padding:40px 36px 36px}.pt-h .pt-c.bad{border-left:0}.pt-h .pt-c.good{background:none}
.bad .pk{color:var(--dim)}.good .pk{color:var(--hi)}.bad h2{color:var(--tx2)}.good h2{color:var(--tx)}.bad .pl{color:var(--mut)}.good .pl{color:var(--tx2)}
.pt-r{border-top:1px solid var(--line)}.pt-r .pt-c{padding:24px 36px}.pt-r .a{color:var(--dim)}.pt-r .b{color:var(--mut);border-left:0}.pt-r .b i{color:#e5484d}
.pt-r .g{background:linear-gradient(90deg,var(--g4),transparent 85%);color:var(--tx);border-top:0;border-left:2px solid var(--blue)}.pt-r .g i{color:var(--okd)}
.pt-h .pt-c.good{border-left:2px solid var(--blue)}


.chr{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;border:1px solid var(--line2);background:var(--p1)}.chr li{padding:28px 26px;border-left:1px solid var(--line)}.chr li:first-child{border-left:0}.chn{font-size:.68rem;color:var(--hi);letter-spacing:.12em}.chr h4{font-size:1.08rem;font-weight:650;margin:14px 0 8px}.chr p{font-size:.92rem}
.tgs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;border:1px solid var(--line2)}.tgs li{padding:26px 26px;border-left:1px solid var(--line);position:relative;background:var(--p3)}.tgs li:first-child{border-left:0;background:linear-gradient(180deg,var(--g4),var(--p3));box-shadow:inset 0 2px 0 var(--blue)}.tn{display:block;font-size:1.15rem;font-weight:650}.ts{display:block;margin-top:6px;font-size:.78rem;color:var(--mut)}.tst{position:absolute;top:22px;right:22px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
@media(max-width:1000px){.chr,.tgs{grid-template-columns:1fr}.chr li,.tgs li{border-left:0;border-top:1px solid var(--line)}.chr li:first-child,.tgs li:first-child{border-top:0}}


:root,html[data-theme="dark"]{--dim:#8a98ad;--cp:#7e8aa0}
html[data-theme="light"]{--dim:#4f5e75;--ok:#0b7440;--okd:#0b7440;--cp:#5c6b82;--hi:#1260b8}
html[data-theme="light"] .pt-r .g i,html[data-theme="light"] .ck.ok i{color:#0b7440}
html[data-theme="light"] .pt-r .b i,html[data-theme="light"] .pt-c.bad .pk{color:#b4303a}
html[data-theme="light"] .tg-c .st{color:#44536b}


.spec-preview{margin:56px 0 0;border:1px solid var(--line2);background:linear-gradient(180deg,#0a0f17,#05080d);overflow:hidden;color:#9aa7ba}
.spec-header{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid #18202d;background:#080c13;font:500 .72rem 'JetBrains Mono';color:#8a98ad}
.spec-dot{width:9px;height:9px;border-radius:50%;background:#2a3547}.spec-title{margin-left:8px}
.spec-body{padding:22px 24px;font:400 .82rem/1.9 'JetBrains Mono',monospace;color:#c9d3e2;white-space:normal}
.spec-body .key{color:#7dbcf7}.spec-body .val{color:#e8eaed}.spec-body .comment{color:#8a98ad}

/* compat */
:root,html[data-theme="dark"],html[data-theme="light"]{--bg-card:var(--p3);--bg-elevated:var(--p1);--border:var(--line2);--text:var(--tx);--text-muted:var(--mut);--accent:var(--hi);--accent-glow:var(--g4);--gradient:linear-gradient(135deg,#1773c3,#3c9dec);--green:var(--okd);--amber:#fbbf24;--red-text:#ef4444;--dg-hot:none;--dr-box:3px;--dr-item:3px;--dr-panel:3px}
html[data-theme="light"]{--amber:#a16207;--red-text:#b4303a}
.code-line.bad{
    color: #f87171;
    opacity: 1;
  }
.shift-cards{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 56px;
  }
@media (max-width: 900px){.shift-cards{ grid-template-columns: 1fr; }}
.shift-card{
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 32px;
    transition: border-color 0.25s, transform 0.25s;
  }
.shift-card:hover{
    border-color: rgba(34, 211, 238, 0.4);
    transform: translateY(-4px);
  }
.shift-card .icon{
    width: 48px;
    height: 48px;
    background: var(--accent-glow);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
  }
.shift-card h3{
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: 10px;
  }
.shift-card p{
    color: var(--text-muted);
    font-size: 0.95rem;
  }
.compare-table{
    width: 100%;
    border-collapse: collapse;
    margin-top: 40px;
    background: var(--bg-card);
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--border);
  }
.compare-table th, .compare-table td{
    padding: 18px 24px;
    text-align: left;
    border-bottom: 1px solid var(--border);
  }
.compare-table th{
    background: var(--bg);
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-muted);
  }
.compare-table td{
    font-size: 0.95rem;
  }
.compare-table tr:last-child td{
    border-bottom: none;
  }
.compare-table .good{
    color: var(--accent);
  }
.compare-table .bad{
    color: #f87171;
  }
.zx-theme{position:fixed;right:20px;bottom:20px;z-index:50;width:46px;height:46px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);color:var(--text);cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.zx-theme:hover{border-color:var(--accent);color:var(--accent)}
.zx-theme svg{width:20px;height:20px}
.zx-theme .sun{display:none}
.zx-frame{margin-top:48px;border:1px solid var(--border);border-radius:20px;background:var(--bg-card);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.zx-bar{display:flex;align-items:center;gap:8px;padding:14px 20px;background:var(--bg);border-bottom:1px solid var(--border);font-size:.85rem;color:var(--text-muted)}
.zx-bar i{width:10px;height:10px;border-radius:50%;background:#94a3b8;opacity:.5}
.zx-frame img{display:block;width:100%;height:auto}
.zx-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.zx-links a, .zx-a{display:inline-block;padding:12px 22px;border:1px solid var(--border);border-radius:10px;color:var(--text);text-decoration:none;font-weight:500;transition:all .2s;background:var(--bg-card)}
.zx-links a:hover, .zx-a:hover{border-color:var(--accent);color:var(--accent)}
.zx-fine{margin-top:24px;font-size:.85rem;color:var(--text-muted);max-width:720px}
.zx-sub{margin:72px 0 8px;font-size:1.35rem;font-weight:700;letter-spacing:-.01em}
.zx-subd{color:var(--text-muted);max-width:640px;margin-bottom:8px}
.zx-layers{position:relative;display:grid;gap:12px;margin-top:56px;padding-left:54px}
.zx-layers:before{content:"";position:absolute;left:19px;top:28px;bottom:28px;width:2px;background:linear-gradient(var(--accent),#818cf8);opacity:.5}
.zx-layer{position:relative;display:flex;align-items:center;gap:18px;padding:18px 22px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card);transition:border-color .2s}
.zx-layer:hover{border-color:var(--accent)}
.zx-layer:before{content:"";position:absolute;left:-43px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--bg);border:3px solid var(--accent);box-shadow:0 0 0 5px var(--accent-glow)}
.zx-layer:after{content:"";position:absolute;left:-27px;top:50%;width:27px;height:2px;background:var(--accent);opacity:.5}
.zx-layer b{min-width:110px;font-size:1.05rem}
.zx-layer span{color:var(--text-muted);font-size:.95rem}
.zx-layer em{margin-left:auto;font-style:normal;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}
.zx-graphnote{margin-top:20px;padding:16px 22px;border:1px dashed var(--accent);border-radius:14px;color:var(--text-muted);background:var(--accent-glow)}
.zx-graphnote b{color:var(--text)}
.zx-split{display:grid;grid-template-columns:.9fr 1.3fr;gap:48px;align-items:center;margin-top:48px}
.zx-checks{display:flex;flex-direction:column;gap:12px}
.zx-k{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);font-size:.98rem}
.zx-k i{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:#10b981;color:#06231a;font-style:normal;font-weight:800;font-size:.8rem}
.zx-k.bad{border-color:rgba(248,113,113,.55);background:rgba(248,113,113,.07)}
.zx-k.bad i{background:#f87171;color:#2b0a0a}
.zx-fig{padding:24px;border:1px solid var(--border);border-radius:20px;background:var(--bg-card)}
.zx-fig svg{display:block;width:100%;height:auto}
.s-box{fill:var(--bg);stroke:var(--border);stroke-width:2}
.s-spec{fill:var(--accent-glow);stroke:var(--accent);stroke-width:2.5}
.s-chip{fill:var(--bg);stroke:var(--border);stroke-width:1.5}
.s-out{fill:var(--bg);stroke:var(--border);stroke-width:2}
.s-t{font:800 20px Inter,sans-serif;fill:var(--text)}
.s-b{font:700 16px Inter,sans-serif;fill:var(--text)}
.s-s{font:500 14px Inter,sans-serif;fill:var(--text-muted)}
.s-k{font:800 12px Inter,sans-serif;letter-spacing:.14em;fill:var(--accent)}
.s-ln{stroke:var(--text-muted);stroke-width:2.5;fill:none;opacity:.55}
.s-arrow{fill:var(--text-muted)}
.s-gate{fill:#10b981}
.s-ring{fill:none;stroke:#10b981;stroke-width:3;opacity:.45;transform-origin:520px 245px;animation:zxring 2.6s ease-out infinite}
@keyframes zxring{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.6);opacity:0}}
.s-tick{fill:none;stroke:#06231a;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:reduce){.s-ring{animation:none}}
.zx-code{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--bg-card)}
.zx-code pre{margin:0;padding:22px;font:.8rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-muted);overflow-x:auto;white-space:pre}
.zx-code .k{color:var(--accent);font-weight:600}
.zx-code .t{color:#a5b4fc}
.zx-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.zx-chips span{padding:8px 16px;border:1px solid var(--border);border-radius:100px;background:var(--bg-card);font-size:.88rem;color:var(--text-muted)}
.zx-chips span b{color:var(--accent);margin-right:6px}
.zx-use{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.zx-use div{padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}
.zx-use b{display:block;font-size:.98rem}
.zx-use span{font-size:.85rem;color:var(--text-muted)}
.s-hit{fill:rgba(245,158,11,.16);stroke:#f59e0b;stroke-width:2.5}
.s-hitl{fill:rgba(245,158,11,.07);stroke:#f59e0b;stroke-width:1.5}
.s-circ{fill:var(--accent);stroke:none}
.s-n{font:800 22px Inter,sans-serif;fill:#fff}
.s-red{stroke:#ef4444;stroke-width:2.5;fill:none;stroke-dasharray:6 5}
.s-redt{font:600 13px Inter,sans-serif;fill:#ef4444}
.s-blue{stroke:var(--accent);stroke-width:2.5;fill:none;stroke-dasharray:6 5}
.s-bluet{font:600 13px Inter,sans-serif;fill:var(--accent)}
.zx-fig.zx-fig-plain{margin-top:24px}
.zx-big .s-b{font-size:21px}
.zx-big .s-s{font-size:17px}
.zx-duo{display:grid;grid-template-columns:1fr 70px 1fr;gap:12px;align-items:center;margin-top:36px}
.zx-arrowc{text-align:center;color:var(--accent);font-size:1.8rem}
.zx-arrowc small{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}
.zx-pipe{display:grid;grid-template-columns:1fr auto 1.25fr auto 1fr;gap:14px;align-items:stretch;margin-top:56px}
.zx-st{display:flex;flex-direction:column;padding:24px 22px;border:1px solid var(--border);border-radius:18px;background:var(--bg-card)}
.zx-st.hot{border-color:var(--accent);box-shadow:0 0 44px var(--accent-glow)}
.zx-st small{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.zx-st h3{font-size:1.2rem;margin-bottom:10px}
.zx-st ul{list-style:none;margin:0;padding:0;font-size:.9rem;color:var(--text-muted);display:grid;gap:6px}
.zx-st li:before{content:"\2022";color:var(--accent);margin-right:8px}
.zx-pa{align-self:center;color:var(--accent);font-size:1.6rem}
.zx-enc{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:20px;margin-top:28px;align-items:center}
.zx-encl{display:grid;gap:10px}
.zx-encl span{padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);font-size:.92rem;font-weight:500}
.zx-encl.r span{text-align:right}
.zx-prog{padding:26px;border:2px solid var(--accent);border-radius:18px;background:var(--bg-card);box-shadow:0 0 44px var(--accent-glow);text-align:center}
.zx-prog small{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.zx-prog h3{margin:6px 0 12px;font-size:1.15rem}
.zx-prog pre{margin:0;text-align:left;font:.8rem/1.8 ui-monospace,Menlo,monospace;color:var(--text-muted);white-space:pre-wrap}
.zx-prog pre .k{color:var(--accent);font-weight:600}
.zx-lanes{display:grid;gap:16px;margin-top:28px}
.zx-lane{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 22px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}
.zx-lane.on{border-color:var(--accent);box-shadow:0 0 36px var(--accent-glow)}
.zx-lane .lab{min-width:150px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.zx-lane.on .lab{color:var(--accent)}
.zx-lane span.n{padding:8px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);font-size:.9rem}
.zx-lane.on span.n{border-color:rgba(30,136,229,.35)}
.zx-lane i{color:var(--text-muted);font-style:normal}
.zx-forms{display:grid;grid-template-columns:.8fr auto 1.4fr;gap:20px;align-items:center;margin-top:28px}
.zx-fcard{padding:22px;border:1px solid var(--accent);border-radius:16px;background:var(--bg-card)}
.zx-fcard small{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.zx-fcard b{display:block;margin:6px 0 2px}
.zx-fcard span{font-size:.85rem;color:var(--text-muted)}
.zx-files{display:grid;grid-template-columns:1.3fr .9fr;gap:14px}
.zx-files div{padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card)}
.zx-files h4{font-size:.8rem;margin-bottom:8px;color:var(--text-muted)}
.zx-files ul{list-style:none;margin:0;padding:0;font:.74rem/1.7 ui-monospace,Menlo,monospace;color:var(--text-muted)}
.zx-files li:before{content:"\25cf";color:var(--accent);margin-right:8px;font-size:.6rem}
.zx-files .srv li:before{color:#818cf8}
.zx-wall{display:grid;grid-template-columns:repeat(37,1fr);gap:3px;margin-top:20px}
.zx-wall s{display:block;aspect-ratio:1;border-radius:2px;background:var(--accent);opacity:.8}
.zx-wallcap{margin-top:14px;color:var(--text-muted);font-size:.95rem}
.zx-wallcap b{color:var(--text)}
.zx-strat{display:grid;grid-template-columns:1fr 70px 1.2fr;gap:12px;align-items:center;margin-top:56px}
.zx-model{padding:26px;border:2px solid var(--accent);border-radius:18px;background:var(--bg-card);text-align:center;box-shadow:0 0 44px var(--accent-glow)}
.zx-model b{display:block;font-size:1.15rem}
.zx-model span{font-size:.88rem;color:var(--text-muted)}
.zx-sc{display:grid;gap:14px}
.zx-scard{padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}
.zx-scard.av{border-color:var(--accent)}
.zx-scard .tg{display:inline-block;padding:3px 10px;border-radius:100px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--accent-glow);color:var(--accent);border:1px solid rgba(30,136,229,.3)}
.zx-scard.pv .tg{background:rgba(251,191,36,.12);color:#d97706;border-color:rgba(217,119,6,.35)}
.zx-scard.own{border-style:dashed;background:transparent}
.zx-scard h3{margin:10px 0 4px;font-size:1.15rem}
.zx-scard .stk{font-size:.88rem;color:var(--accent);margin-bottom:6px}
.zx-scard p{font-size:.92rem;color:var(--text-muted)}
.zx-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.zx-facts span{padding:6px 12px;border:1px solid var(--border);border-radius:10px;font-size:.8rem;color:var(--text-muted);background:var(--bg)}
.zx-facts b{color:var(--text)}
.zx-tbl{width:100%;border-collapse:collapse;margin-top:28px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.zx-tbl th, .zx-tbl td{padding:14px 20px;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem}
.zx-tbl th{background:var(--bg);color:var(--text-muted);font-weight:600}
.zx-tbl tr:last-child td{border-bottom:0}
.zx-tbl td:first-child{font-weight:600;white-space:nowrap}
.zx-tbl td:nth-child(3){color:var(--text-muted)}
.zx-run{display:grid;grid-template-columns:1fr 90px 1fr;gap:14px;align-items:center;margin-top:56px}
.zx-repo{padding:26px;border:2px solid var(--accent);border-radius:18px;background:var(--bg-card);box-shadow:0 0 44px var(--accent-glow)}
.zx-repo small{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.zx-repo pre{margin:10px 0 0;font:.78rem/1.7 ui-monospace,Menlo,monospace;color:var(--text-muted)}
.zx-where{display:grid;gap:12px}
.zx-where div{padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card)}
.zx-where b{display:block}
.zx-where span{font-size:.9rem;color:var(--text-muted)}
.zx-hub{display:grid;grid-template-columns:1fr 120px 1.25fr 120px 1fr;align-items:center;margin-top:56px}
.zx-col{display:flex;flex-direction:column;gap:12px}
.zx-col h4{font-size:1.05rem;margin-bottom:2px}
.zx-p{padding:14px 18px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);font-size:.95rem;font-weight:500}
.zx-col small{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.zx-lnk{position:relative;height:3px;margin:0 8px;background:var(--accent);opacity:.7;border-radius:3px}
.zx-lnk:after{content:"";position:absolute;right:-2px;top:-6.5px;border-left:12px solid var(--accent);border-top:8px solid transparent;border-bottom:8px solid transparent}
.zx-lnk.l:after{right:auto;left:-2px;border-left:0;border-right:12px solid var(--accent)}
.zx-lnk span{position:absolute;left:50%;top:14px;transform:translateX(-50%);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);white-space:nowrap}
.zx-core{position:relative;padding:40px 24px 24px;border:2px solid var(--accent);border-radius:22px;background:var(--bg-card);box-shadow:0 0 50px var(--accent-glow);text-align:center}
.zx-core .tag2{position:absolute;top:-16px;left:50%;transform:translateX(-50%);padding:6px 18px;border-radius:100px;background:var(--gradient);color:#070b14;font-weight:700;font-size:.85rem;white-space:nowrap}
.zx-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.zx-tiles div{padding:16px 8px;border:1px solid var(--border);border-radius:12px;background:var(--bg);font-weight:600}
.zx-core p{margin-top:16px;font-size:.88rem;color:var(--text-muted)}
.zx-loop{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px;position:relative}
.zx-loop div{position:relative;padding:22px 18px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card);text-align:center}
.zx-loop div:not(:last-child):after{content:"\2192";position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.3rem;z-index:1}
.zx-loop b{display:block;font-size:1.05rem}
.zx-loop span{font-size:.82rem;color:var(--text-muted)}
.zx-loop div.on{border-color:var(--accent);box-shadow:0 0 30px var(--accent-glow)}
.zx-back{text-align:center;margin-top:14px;color:var(--text-muted);font-size:.9rem}
.zx-back b{color:var(--accent)}
.zx-nums{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.zx-nums div{padding:40px 24px;border-left:1px solid var(--border)}
.zx-nums div:first-child{border-left:0}
.zx-nums b{display:block;font-size:clamp(2.6rem,5.4vw,4.4rem);font-weight:800;letter-spacing:-.04em;line-height:1}
.zx-nums div:last-child b{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.zx-nums span{display:block;margin-top:10px;color:var(--text-muted);font-size:.95rem}
.zx-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:56px}
.zx-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:32px;transition:border-color .25s}
.zx-card:hover{border-color:var(--accent)}
.zx-card h3{font-size:1.15rem;font-weight:600;margin-bottom:10px}
.zx-card p{color:var(--text-muted);font-size:.96rem}
.zx-card .tagx{display:inline-block;margin-bottom:14px;padding:4px 12px;border:1px solid rgba(30,136,229,.3);border-radius:100px;background:var(--accent-glow);color:var(--accent);font-size:.75rem;font-weight:600}
.zx-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.zx-plans{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.zx-plan{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:28px}
.zx-plan.pop{border-color:var(--accent);box-shadow:0 0 40px var(--accent-glow)}
.zx-plan small{color:var(--text-muted);font-weight:600}
.zx-price{font-size:2rem;font-weight:800;letter-spacing:-.03em;margin:6px 0}
.zx-price em{font-size:.8rem;font-style:normal;color:var(--text-muted);font-weight:500}
.zx-plan p{color:var(--text-muted);font-size:.92rem}
.zx-plan ul{list-style:none;margin:16px 0 0;padding:0}
.zx-plan li{padding:6px 0 6px 22px;position:relative;font-size:.92rem;color:var(--text-muted)}
.zx-plan li:before{content:"\2713";position:absolute;left:0;color:var(--accent);font-weight:800}
.zx-faq{max-width:820px;margin-top:48px;display:grid;gap:12px}
.zx-faq details{background:var(--bg-card);border:1px solid var(--border);border-radius:14px}
.zx-faq details[open]{border-color:var(--accent)}
.zx-faq summary{cursor:pointer;list-style:none;padding:20px 52px 20px 24px;position:relative;font-weight:600;font-size:1.05rem}
.zx-faq summary::-webkit-details-marker{display:none}
.zx-faq summary:after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:300;color:var(--accent)}
.zx-faq details[open] summary:after{content:"\2212"}
.zx-faq p{margin:0;padding:0 24px 22px;color:var(--text-muted)}
.zx-paper{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:center;margin-top:48px}
.zx-cover{aspect-ratio:3/4;max-width:300px;border-radius:16px;padding:28px;background:linear-gradient(160deg,#0f1d3a,#1b1650);border:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 70px rgba(0,0,0,.45);color:#f1f5f9}
.zx-cover svg{width:34px;height:34px}
.zx-cover b{display:block;margin-top:8px}
.zx-cover small{color:#a5b4fc}
.zx-foot{display:flex;flex-wrap:wrap;gap:16px 36px;justify-content:center;margin-top:20px;font-size:.9rem}
.zx-foot a{color:var(--text-muted);text-decoration:none}
.zx-foot a:hover{color:var(--accent)}
@media(max-width:1000px){.zx-pipe{grid-template-columns:1fr;gap:10px}.zx-pa{transform:rotate(90deg);text-align:center}.zx-enc{grid-template-columns:1fr}.zx-encl.r span{text-align:left}.zx-forms{grid-template-columns:1fr}.zx-files{grid-template-columns:1fr}.zx-strat{grid-template-columns:1fr}.zx-run{grid-template-columns:1fr}.zx-loop{grid-template-columns:1fr 1fr}.zx-loop div:not(:last-child):after{display:none}}
@media(max-width:900px){.zx-split, .zx-paper, .zx-duo{grid-template-columns:1fr}.zx-arrowc{transform:rotate(90deg)}.zx-hub{grid-template-columns:1fr;gap:20px}.zx-lnk{width:3px;height:44px;margin:0 auto}.zx-lnk:after{right:auto;left:-6px;top:auto;bottom:-2px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:12px solid var(--accent);border-bottom:0}.zx-lnk.l:after{border-top:0;border-bottom:12px solid var(--accent);bottom:auto;top:-2px;left:-6px;border-right:7px solid transparent}.zx-lnk span{left:16px;top:10px;transform:none}.zx-nums{grid-template-columns:1fr 1fr}.zx-nums div:nth-child(3){border-left:0}.zx-nums div:nth-child(n+3){border-top:1px solid var(--border)}.zx-cards, .zx-grid3, .zx-plans, .zx-use{grid-template-columns:1fr}.zx-layers{padding-left:44px}.zx-layer{flex-wrap:wrap}.zx-layer em{margin-left:0}.zx-wall{grid-template-columns:repeat(24,1fr)}.zx-tbl{display:block;overflow-x:auto}}
@media(min-width:901px) and (max-width:1100px){.zx-plans{grid-template-columns:1fr 1fr}}
.zx-same{display:grid;grid-template-columns:1fr auto .8fr auto 1.2fr;gap:14px;align-items:stretch;margin-top:28px}
.zx-sfiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.zx-sfiles div{display:flex;flex-direction:column;justify-content:center;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card);text-align:center}
.zx-sfiles b{font-size:2.2rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.zx-sfiles div:first-child b{color:var(--accent)}
.zx-sfiles div:last-child b{color:#818cf8}
.zx-sfiles span{font-size:.8rem;color:var(--text-muted);margin-top:4px}
.zx-sbig{display:flex;flex-direction:column;justify-content:center;padding:22px 24px;border:1px solid var(--accent);border-radius:16px;background:var(--bg-card);box-shadow:0 0 40px var(--accent-glow)}
.zx-sbig b{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.zx-sbig span{color:var(--text-muted);margin-top:6px}
.zx-sbig i{display:block;height:8px;margin-top:16px;border-radius:8px;background:var(--gradient)}
.zx-out{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.zx-oc{padding:32px;border:1px solid var(--border);border-radius:20px;background:var(--bg-card)}
.zx-oc.hot{border-color:var(--accent);box-shadow:0 0 44px var(--accent-glow)}
.zx-oc h3{font-size:1.35rem;margin:22px 0 8px}
.zx-oc p{color:var(--text-muted)}
.zx-ov{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:196px;justify-content:center}
.zx-sl{padding:14px 18px;border:1px solid var(--border);border-radius:12px;background:var(--bg);text-align:center;font-size:.95rem}
.zx-oc:first-child .zx-sl{margin-top:-1px}
.zx-oc:first-child .zx-sl:nth-child(1){border-color:var(--accent)}
.zx-oc:first-child .zx-sl:nth-child(2){border-color:#818cf8}
.zx-sl.ag{border-color:var(--accent);background:var(--accent-glow)}
.zx-sv{display:flex;justify-content:center;height:34px;align-items:center;position:relative}
.zx-sv:before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:2px dashed var(--border)}
.zx-sv i{position:relative;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#10b981;color:#06231a;font-style:normal;font-weight:800;font-size:.75rem}
.zx-sv s{position:relative;display:block;width:0;height:100%;border-left:3px solid var(--accent);text-decoration:none}
.zx-sv s:after{content:"";position:absolute;bottom:-2px;left:-8px;border-top:10px solid var(--accent);border-left:6.5px solid transparent;border-right:6.5px solid transparent}
@media(max-width:1000px){.zx-same{grid-template-columns:1fr}.zx-out{grid-template-columns:1fr}}
.zx-lead{font-weight:700;color:var(--accent)}
.shift-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.zx-brand{display:inline-flex;align-items:center;gap:12px;font:700 20px 'Space Grotesk','Inter',sans-serif;letter-spacing:-.03em;color:var(--text);text-decoration:none;line-height:1}
.zx-brand svg{width:32px;height:32px}
.zx-onpage{max-width:1120px;margin:0 auto;padding:0 24px 10px;display:flex;gap:22px;align-items:center;font-size:.8rem}
.zx-onpage span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:700}
.zx-onpage a{color:var(--text-muted);text-decoration:none}
.zx-onpage a:hover{color:var(--accent)}
@media(max-width:768px){.zx-onpage{display:none}.zx-brand{font-size:17px}.zx-brand svg{width:28px;height:28px}}
.zx-libs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
.zx-libs div{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}
.zx-libs b{display:block;font-size:.92rem;color:var(--accent)}
.zx-libs span{font-size:.8rem;color:var(--text-muted)}
@media(max-width:1000px){.zx-libs{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.zx-libs{grid-template-columns:1fr}}
.st-tabs{position:relative;margin-top:40px}
.st-tabs input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.st-labels{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.st-labels label{cursor:pointer;padding:8px 16px;border:1px solid var(--border);border-radius:100px;background:var(--bg-card);font-size:.88rem;font-weight:600;color:var(--text-muted)}
.st-labels label:hover{border-color:var(--accent);color:var(--accent)}
.st-p{display:none}
.zx-dd.open .zx-ddm{display:flex}
.zx-pf{display:grid;grid-template-columns:1.25fr auto 1fr;gap:28px;align-items:center;margin-top:56px}
.zx-pfl{display:grid;gap:14px}
.zx-pc{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}
.zx-pcl small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.zx-pcl b{display:inline;font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin-right:10px}
.zx-pcl span{color:var(--text-muted);font-size:.95rem}
.zx-pc em{font-style:normal;font-size:.8rem;color:var(--text-muted);text-align:right;max-width:13rem}
.zx-pg{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;font-size:.85rem;max-width:9rem}
.zx-pgc{position:relative;width:70px;height:70px;border-radius:50%;background:#10b981;display:grid;place-items:center;box-shadow:0 0 0 8px rgba(16,185,129,.18)}
.zx-pgc i{font-style:normal;color:#06231a;font-size:1.9rem;font-weight:800}
.zx-pout{padding:36px 30px;border-radius:20px;background:linear-gradient(160deg,#0f1d3a,#1b1650);border:1px solid var(--accent);box-shadow:0 0 50px var(--accent-glow);color:#f1f5f9}
.zx-pout b{display:block;font-size:clamp(3rem,6vw,4.6rem);font-weight:800;letter-spacing:-.04em;line-height:1;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.zx-pout span{display:block;margin-top:12px;color:#cbd5e1}
.zx-ex{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:stretch;margin-top:56px}
.zx-exc{position:relative;padding:34px 24px 24px;border:1px solid var(--border);border-radius:18px;background:var(--bg-card)}
.zx-exc.hot{border-color:var(--accent);box-shadow:0 0 44px var(--accent-glow)}
.zx-exl{position:absolute;top:-12px;left:20px;padding:4px 12px;border-radius:100px;background:var(--bg);border:1px solid var(--border);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.zx-exc>small{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:600}
.zx-exc>b{display:block;font-size:1.25rem;margin:4px 0 14px}
.zx-attr{display:grid;gap:8px}
.zx-attr span{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);font:.78rem ui-monospace,Menlo,monospace;color:var(--text-muted)}
.zx-attr i{font-style:normal;color:var(--accent);font-weight:600}
.zx-flow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px;font-size:.72rem}
.zx-flow u{text-decoration:none;padding:4px 9px;border-radius:100px;background:var(--accent-glow);color:var(--accent);font-weight:600}
.zx-flow u.x{background:rgba(248,113,113,.12);color:#f87171}
.zx-flow s{text-decoration:none;color:var(--text-muted)}
.zx-exc dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:.85rem}
.zx-exc dt{font:.78rem ui-monospace,Menlo,monospace;color:var(--accent);font-weight:600}
.zx-exc dd{margin:0;color:var(--text-muted)}
.zx-exa{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-muted)}
.zx-exa i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#10b981;color:#06231a;font-style:normal;font-weight:800}
.zx-exa small{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;text-align:center;max-width:5.5rem}
.zx-mock{display:grid;gap:8px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}
.zx-row{display:flex;align-items:center;gap:10px;font-size:.75rem}
.zx-row i{flex:none;width:6.5rem;font-style:normal;color:var(--text-muted);font:.72rem ui-monospace,Menlo,monospace}
.zx-row u{flex:1;height:22px;border-radius:6px;background:var(--bg-elevated);border:1px solid var(--border)}
.zx-row u.w{height:44px}
.zx-acts{display:flex;gap:8px;margin-top:4px}
.zx-acts span{flex:1;text-align:center;padding:7px;border-radius:8px;border:1px solid var(--border);font-size:.78rem;font-weight:600;color:var(--text-muted)}
.zx-acts span.on{background:var(--gradient);color:#070b14;border-color:transparent}
.zx-mock small{font-size:.68rem;color:var(--text-muted);text-align:center}
@media(max-width:1000px){.zx-pf{grid-template-columns:1fr}.zx-pg{flex-direction:row;max-width:none;justify-content:center}.zx-pc{flex-wrap:wrap}.zx-pc em{text-align:left}.zx-ex{grid-template-columns:1fr}.zx-exa{flex-direction:row;padding:4px}}
.zx-dd{position:relative}
.zx-dd>a:after{content:"\25BE";margin-left:6px;font-size:.7rem}
.zx-ddm{position:absolute;top:100%;left:-14px;min-width:230px;margin-top:14px;padding:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.3);display:none;flex-direction:column;gap:2px;z-index:60}
.zx-ddm:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.zx-dd:hover .zx-ddm, .zx-dd:focus-within .zx-ddm{display:flex}
.zx-ddm a, .zx-bm a{padding:9px 12px;border-radius:8px;font-size:.9rem;color:var(--text-muted);text-decoration:none}
.zx-ddm a:hover, .zx-bm a:hover{background:var(--accent-glow);color:var(--accent)}
.zx-ddm hr, .zx-bm hr{border:0;border-top:1px solid var(--border);margin:6px 4px}
.zx-burger{display:none;position:relative}
.zx-burger summary{list-style:none;cursor:pointer;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;color:var(--text)}
.zx-burger summary::-webkit-details-marker{display:none}
.zx-bm{position:absolute;right:0;top:100%;margin-top:10px;min-width:240px;max-height:75vh;overflow:auto;padding:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:2px;z-index:60}
@media(max-width:768px){.zx-burger{display:block}}
.hx-wrap{max-width:1100px;margin:40px auto 0;position:relative;text-align:left}
.hx-panel{position:relative;padding:20px 26px 20px;border-radius:24px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:radial-gradient(70% 90% at 50% 38%,color-mix(in srgb,var(--accent) 12%,var(--bg-card)),var(--bg-card) 72%);box-shadow:0 50px 140px -40px var(--accent-glow),0 0 0 1px rgba(255,255,255,.03) inset;overflow:hidden}
.hx-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:44px 44px;opacity:.28;-webkit-mask-image:radial-gradient(70% 80% at 50% 45%,#000,transparent);mask-image:radial-gradient(70% 80% at 50% 45%,#000,transparent);pointer-events:none}
.hx-panel>*{position:relative}
.hx-ph{display:flex;align-items:center;gap:10px;font:700 .95rem Inter,sans-serif;color:var(--text)}
.hx-ph em{margin-left:auto;font-style:normal;font-weight:500;font-size:.75rem;color:var(--text-muted)}
.hx-live{width:9px;height:9px;border-radius:50%;background:#10b981;animation:hxlive 2s infinite}
@keyframes hxlive{0%{box-shadow:0 0 0 0 #10b98199}70%{box-shadow:0 0 0 10px #10b98100}100%{box-shadow:0 0 0 0 #10b98100}}
.hx-ph2{display:flex;gap:10px;margin:14px 0 0;flex-wrap:wrap}
.hx-ph2 span{position:relative;display:inline-flex;align-items:center;padding:7px 15px;border-radius:999px;border:1px solid var(--border);font:600 .8rem Inter,sans-serif;color:var(--text)}
.hx-ph2 em{position:absolute;inset:-1px;border:1.5px solid var(--accent);background:var(--accent-glow);border-radius:inherit;opacity:0}
.hx-ph2 i{position:relative;font-style:normal}
.hx-stage{margin-top:6px}
.hx-svg{display:block;width:100%;height:auto}
.hx-tall{display:none}
@media(max-width:760px){.hx-wide{display:none}.hx-tall{display:block;max-width:430px;margin:0 auto}.hx-l{font-size:17px}.hx-hd{font-size:12px}}
.hx-e{fill:none;stroke:var(--text-muted);stroke-width:1.8;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.hx-lane{stroke:var(--border);stroke-width:1;stroke-dasharray:3 7;opacity:.55}
.hx-eh{fill:none;stroke:#f59e0b;stroke-width:3;stroke-linecap:round;stroke-dasharray:.06 .04;animation:hxflow .8s linear infinite;filter:drop-shadow(0 0 5px #f59e0b)}
@keyframes hxflow{to{stroke-dashoffset:-.2}}
.hx-eg{fill:none;stroke:#10b981;stroke-width:2.6;filter:drop-shadow(0 0 4px #10b98188)}
.hx-pop{opacity:0;transform-box:fill-box;transform-origin:center}
.hx-n{fill:var(--accent);filter:drop-shadow(0 0 8px var(--accent-glow))}
.hx-na{fill:#f59e0b;filter:drop-shadow(0 0 10px #f59e0bcc)}
.hx-ng{fill:#10b981;filter:drop-shadow(0 0 9px #10b981aa)}
.hx-ring{fill:none;stroke:#f59e0b;stroke-width:2;transform-box:fill-box;transform-origin:center}
.hx-wave{fill:none;stroke:#f59e0b;stroke-width:2.5;transform-box:fill-box;transform-origin:center}
.hx-scan{mix-blend-mode:screen}
.hx-tick{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.hx-l{font:600 15px Inter,sans-serif;fill:var(--text)}
.hx-hd{font:800 11px Inter,sans-serif;letter-spacing:.16em;fill:var(--text-muted);opacity:.85}
.hx-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-height:34px;margin-top:4px}
.hx-st{position:relative;height:24px;min-width:340px;flex:1;font:600 .95rem Inter,sans-serif;color:var(--text)}
.hx-st span{position:absolute;left:0;top:0;opacity:0;white-space:nowrap}
.hx-st .am{color:#f59e0b}
.hx-st .gr{color:#10b981}
.hx-pills{display:flex;gap:8px}
.hx-pills span{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:999px;border:1px solid #10b98177;background:#10b9811f;font:600 .8rem Inter,sans-serif;color:var(--text)}
.hx-pills i{color:#10b981;font-style:normal}
.hx-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.hx-points div{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card)}
.hx-points i{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-style:normal;font-size:.8rem}
.hx-points b{display:block;font-size:.92rem}
.hx-points span{font-size:.82rem;color:var(--text-muted)}
.hx-cap{margin-top:14px;text-align:center;font-size:.8rem;color:var(--text-muted)}
@media(max-width:760px){.hx-panel{padding:16px 12px}.hx-points{grid-template-columns:1fr}.hx-st{min-width:0}.hx-st span{white-space:normal}.hx-st{height:40px}.hx-l{font-size:19px}}
@media(prefers-reduced-motion:reduce){.hx-live, .hx-eh{animation:none!important}.hx-e{stroke-dashoffset:0!important;opacity:.5!important}.hx-pop{opacity:1!important;transform:none!important;animation:none!important}.hx-na, .hx-ring, .hx-eh, .hx-wave, .hx-scan{display:none}.hx-ng, .hx-tick, .hx-eg{opacity:1!important;animation:none!important}.hx-st span{animation:none!important;opacity:0!important}.hx-st span:last-child{opacity:1!important}.hx-pills span{animation:none!important;opacity:1!important}.hx-ph2 em{animation:none!important;opacity:0!important}}
@keyframes hxe0{0%,16.67%{stroke-dashoffset:1;opacity:.5}24.17%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxg0{0%,73.51%{opacity:0}76.42%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe1{0%,16.67%{stroke-dashoffset:1;opacity:.5}24.17%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxg1{0%,72.23%{opacity:0}75.15%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe2{0%,18.33%{stroke-dashoffset:1;opacity:.5}25.83%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxg2{0%,73.51%{opacity:0}76.42%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe3{0%,18.33%{stroke-dashoffset:1;opacity:.5}25.83%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxh3{0%,31.67%{opacity:0}34.58%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hxg3{0%,73.51%{opacity:0}76.42%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe4{0%,19.17%{stroke-dashoffset:1;opacity:.5}26.67%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxh4{0%,30.0%{opacity:0}32.92%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hxg4{0%,72.23%{opacity:0}75.15%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe5{0%,20.0%{stroke-dashoffset:1;opacity:.5}27.5%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxh5{0%,41.67%{opacity:0}44.58%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hxg5{0%,76.06%{opacity:0}78.97%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe6{0%,20.83%{stroke-dashoffset:1;opacity:.5}28.33%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxg6{0%,77.33%{opacity:0}80.25%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe7{0%,21.67%{stroke-dashoffset:1;opacity:.5}29.17%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxg7{0%,77.18%{opacity:0}80.1%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe8{0%,21.67%{stroke-dashoffset:1;opacity:.5}29.17%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxh8{0%,35.0%{opacity:0}37.92%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hxg8{0%,77.18%{opacity:0}80.1%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe9{0%,22.5%{stroke-dashoffset:1;opacity:.5}30.0%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxh9{0%,32.5%{opacity:0}35.42%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hxg9{0%,74.78%{opacity:0}77.7%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe10{0%,23.33%{stroke-dashoffset:1;opacity:.5}30.83%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxh10{0%,37.5%{opacity:0}40.42%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hxg10{0%,76.06%{opacity:0}78.97%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe11{0%,23.33%{stroke-dashoffset:1;opacity:.5}30.83%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxh11{0%,30.83%{opacity:0}33.75%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hxg11{0%,72.23%{opacity:0}75.15%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe12{0%,24.17%{stroke-dashoffset:1;opacity:.5}31.67%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxh12{0%,33.33%{opacity:0}36.25%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hxg12{0%,73.51%{opacity:0}76.42%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe13{0%,24.17%{stroke-dashoffset:1;opacity:.5}31.67%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxg13{0%,73.51%{opacity:0}76.42%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe14{0%,25.0%{stroke-dashoffset:1;opacity:.5}32.5%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxh14{0%,38.33%{opacity:0}41.25%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hxg14{0%,77.18%{opacity:0}80.1%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxe15{0%,25.0%{stroke-dashoffset:1;opacity:.5}32.5%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hxg15{0%,77.33%{opacity:0}80.25%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn0{0%,3.33%{opacity:0;transform:scale(.2)}7.5%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxk0{0%,68.02%{opacity:0}70.93%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn1{0%,5.83%{opacity:0;transform:scale(.2)}10.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxa1{0%,33.33%{opacity:0}36.25%,67.65%{opacity:1}70.57%,100%{opacity:0}}
@keyframes hxr1{0%,33.33%{opacity:0;transform:scale(1)}33.42%{opacity:.9;transform:scale(1)}43.33%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hxk1{0%,70.57%{opacity:0}73.48%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn2{0%,5.83%{opacity:0;transform:scale(.2)}10.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxa2{0%,26.67%{opacity:0}29.58%,67.65%{opacity:1}70.57%,100%{opacity:0}}
@keyframes hxr2{0%,26.67%{opacity:0;transform:scale(1)}26.75%{opacity:.9;transform:scale(1)}36.67%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hxk2{0%,70.57%{opacity:0}73.48%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn3{0%,6.67%{opacity:0;transform:scale(.2)}10.83%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxa3{0%,34.17%{opacity:0}37.08%,67.65%{opacity:1}70.57%,100%{opacity:0}}
@keyframes hxr3{0%,34.17%{opacity:0;transform:scale(1)}34.25%{opacity:.9;transform:scale(1)}44.17%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hxk3{0%,70.57%{opacity:0}73.48%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn4{0%,8.33%{opacity:0;transform:scale(.2)}12.5%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxa4{0%,37.5%{opacity:0}40.42%,70.2%{opacity:1}73.12%,100%{opacity:0}}
@keyframes hxr4{0%,37.5%{opacity:0;transform:scale(1)}37.58%{opacity:.9;transform:scale(1)}47.5%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hxk4{0%,73.12%{opacity:0}76.03%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn5{0%,9.17%{opacity:0;transform:scale(.2)}13.33%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxa5{0%,38.33%{opacity:0}41.25%,70.2%{opacity:1}73.12%,100%{opacity:0}}
@keyframes hxr5{0%,38.33%{opacity:0;transform:scale(1)}38.42%{opacity:.9;transform:scale(1)}48.33%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hxk5{0%,73.12%{opacity:0}76.03%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn6{0%,10.83%{opacity:0;transform:scale(.2)}15.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxa6{0%,45.0%{opacity:0}47.92%,72.75%{opacity:1}75.67%,100%{opacity:0}}
@keyframes hxr6{0%,45.0%{opacity:0;transform:scale(1)}45.08%{opacity:.9;transform:scale(1)}55.0%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hxk6{0%,75.67%{opacity:0}78.58%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn7{0%,10.83%{opacity:0;transform:scale(.2)}15.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxa7{0%,35.0%{opacity:0}37.92%,72.75%{opacity:1}75.67%,100%{opacity:0}}
@keyframes hxr7{0%,35.0%{opacity:0;transform:scale(1)}35.08%{opacity:.9;transform:scale(1)}45.0%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hxk7{0%,75.67%{opacity:0}78.58%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn8{0%,13.33%{opacity:0;transform:scale(.2)}17.5%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxa8{0%,40.83%{opacity:0}43.75%,75.3%{opacity:1}78.22%,100%{opacity:0}}
@keyframes hxr8{0%,40.83%{opacity:0;transform:scale(1)}40.92%{opacity:.9;transform:scale(1)}50.83%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hxk8{0%,78.22%{opacity:0}81.13%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn9{0%,15.83%{opacity:0;transform:scale(.2)}20.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxk9{0%,80.47%{opacity:0}83.38%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn10{0%,15.83%{opacity:0;transform:scale(.2)}20.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxa10{0%,36.67%{opacity:0}39.58%,77.55%{opacity:1}80.47%,100%{opacity:0}}
@keyframes hxr10{0%,36.67%{opacity:0;transform:scale(1)}36.75%{opacity:.9;transform:scale(1)}46.67%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hxk10{0%,80.47%{opacity:0}83.38%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxn11{0%,16.67%{opacity:0;transform:scale(.2)}20.83%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hxa11{0%,41.67%{opacity:0}44.58%,77.55%{opacity:1}80.47%,100%{opacity:0}}
@keyframes hxr11{0%,41.67%{opacity:0;transform:scale(1)}41.75%{opacity:.9;transform:scale(1)}51.67%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hxk11{0%,80.47%{opacity:0}83.38%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxw{0%,26.67%{opacity:0;transform:scale(.2)}26.75%{opacity:.55;transform:scale(.2)}45.0%{opacity:0;transform:scale(16)}100%{opacity:0}}
@keyframes hxscan{0%,65.83%{opacity:0;transform:translateX(-120px)}68.33%{opacity:1}84.17%{opacity:0;transform:translateX(1060px)}100%{opacity:0}}
@keyframes hve0{0%,16.67%{stroke-dashoffset:1;opacity:.5}24.17%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvg0{0%,73.86%{opacity:0}76.78%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve1{0%,16.67%{stroke-dashoffset:1;opacity:.5}24.17%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvg1{0%,72.65%{opacity:0}75.56%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve2{0%,18.33%{stroke-dashoffset:1;opacity:.5}25.83%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvg2{0%,73.86%{opacity:0}76.78%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve3{0%,18.33%{stroke-dashoffset:1;opacity:.5}25.83%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvh3{0%,31.67%{opacity:0}34.58%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hvg3{0%,73.86%{opacity:0}76.78%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve4{0%,19.17%{stroke-dashoffset:1;opacity:.5}26.67%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvh4{0%,30.0%{opacity:0}32.92%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hvg4{0%,72.65%{opacity:0}75.56%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve5{0%,20.0%{stroke-dashoffset:1;opacity:.5}27.5%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvh5{0%,41.67%{opacity:0}44.58%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hvg5{0%,76.3%{opacity:0}79.22%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve6{0%,20.83%{stroke-dashoffset:1;opacity:.5}28.33%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvg6{0%,77.43%{opacity:0}80.34%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve7{0%,21.67%{stroke-dashoffset:1;opacity:.5}29.17%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvg7{0%,77.33%{opacity:0}80.25%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve8{0%,21.67%{stroke-dashoffset:1;opacity:.5}29.17%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvh8{0%,35.0%{opacity:0}37.92%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hvg8{0%,77.33%{opacity:0}80.25%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve9{0%,22.5%{stroke-dashoffset:1;opacity:.5}30.0%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvh9{0%,32.5%{opacity:0}35.42%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hvg9{0%,75.08%{opacity:0}78.0%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve10{0%,23.33%{stroke-dashoffset:1;opacity:.5}30.83%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvh10{0%,37.5%{opacity:0}40.42%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hvg10{0%,76.21%{opacity:0}79.12%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve11{0%,23.33%{stroke-dashoffset:1;opacity:.5}30.83%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvh11{0%,30.83%{opacity:0}33.75%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hvg11{0%,72.65%{opacity:0}75.56%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve12{0%,24.17%{stroke-dashoffset:1;opacity:.5}31.67%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvh12{0%,33.33%{opacity:0}36.25%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hvg12{0%,73.86%{opacity:0}76.78%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve13{0%,24.17%{stroke-dashoffset:1;opacity:.5}31.67%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvg13{0%,73.86%{opacity:0}76.78%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve14{0%,25.0%{stroke-dashoffset:1;opacity:.5}32.5%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvh14{0%,38.33%{opacity:0}41.25%,65.42%{opacity:1}68.33%,100%{opacity:0}}
@keyframes hvg14{0%,77.33%{opacity:0}80.25%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hve15{0%,25.0%{stroke-dashoffset:1;opacity:.5}32.5%,93%{stroke-dashoffset:0;opacity:.5}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hvg15{0%,77.43%{opacity:0}80.34%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn0{0%,3.33%{opacity:0;transform:scale(.2)}7.5%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hvk0{0%,68.54%{opacity:0}71.46%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn1{0%,5.83%{opacity:0;transform:scale(.2)}10.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hva1{0%,33.33%{opacity:0}36.25%,68.06%{opacity:1}70.98%,100%{opacity:0}}
@keyframes hvr1{0%,33.33%{opacity:0;transform:scale(1)}33.42%{opacity:.9;transform:scale(1)}43.33%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hvk1{0%,70.98%{opacity:0}73.9%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn2{0%,5.83%{opacity:0;transform:scale(.2)}10.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hva2{0%,26.67%{opacity:0}29.58%,68.06%{opacity:1}70.98%,100%{opacity:0}}
@keyframes hvr2{0%,26.67%{opacity:0;transform:scale(1)}26.75%{opacity:.9;transform:scale(1)}36.67%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hvk2{0%,70.98%{opacity:0}73.9%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn3{0%,6.67%{opacity:0;transform:scale(.2)}10.83%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hva3{0%,34.17%{opacity:0}37.08%,68.06%{opacity:1}70.98%,100%{opacity:0}}
@keyframes hvr3{0%,34.17%{opacity:0;transform:scale(1)}34.25%{opacity:.9;transform:scale(1)}44.17%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hvk3{0%,70.98%{opacity:0}73.9%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn4{0%,8.33%{opacity:0;transform:scale(.2)}12.5%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hva4{0%,37.5%{opacity:0}40.42%,70.5%{opacity:1}73.42%,100%{opacity:0}}
@keyframes hvr4{0%,37.5%{opacity:0;transform:scale(1)}37.58%{opacity:.9;transform:scale(1)}47.5%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hvk4{0%,73.42%{opacity:0}76.33%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn5{0%,9.17%{opacity:0;transform:scale(.2)}13.33%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hva5{0%,38.33%{opacity:0}41.25%,70.5%{opacity:1}73.42%,100%{opacity:0}}
@keyframes hvr5{0%,38.33%{opacity:0;transform:scale(1)}38.42%{opacity:.9;transform:scale(1)}48.33%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hvk5{0%,73.42%{opacity:0}76.33%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn6{0%,10.83%{opacity:0;transform:scale(.2)}15.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hva6{0%,45.0%{opacity:0}47.92%,72.94%{opacity:1}75.85%,100%{opacity:0}}
@keyframes hvr6{0%,45.0%{opacity:0;transform:scale(1)}45.08%{opacity:.9;transform:scale(1)}55.0%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hvk6{0%,75.85%{opacity:0}78.77%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn7{0%,10.83%{opacity:0;transform:scale(.2)}15.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hva7{0%,35.0%{opacity:0}37.92%,72.94%{opacity:1}75.85%,100%{opacity:0}}
@keyframes hvr7{0%,35.0%{opacity:0;transform:scale(1)}35.08%{opacity:.9;transform:scale(1)}45.0%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hvk7{0%,75.85%{opacity:0}78.77%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn8{0%,13.33%{opacity:0;transform:scale(.2)}17.5%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hva8{0%,40.83%{opacity:0}43.75%,75.19%{opacity:1}78.1%,100%{opacity:0}}
@keyframes hvr8{0%,40.83%{opacity:0;transform:scale(1)}40.92%{opacity:.9;transform:scale(1)}50.83%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hvk8{0%,78.1%{opacity:0}81.02%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn9{0%,15.83%{opacity:0;transform:scale(.2)}20.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hvk9{0%,80.35%{opacity:0}83.27%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn10{0%,15.83%{opacity:0;transform:scale(.2)}20.0%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hva10{0%,36.67%{opacity:0}39.58%,77.44%{opacity:1}80.35%,100%{opacity:0}}
@keyframes hvr10{0%,36.67%{opacity:0;transform:scale(1)}36.75%{opacity:.9;transform:scale(1)}46.67%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hvk10{0%,80.35%{opacity:0}83.27%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvn11{0%,16.67%{opacity:0;transform:scale(.2)}20.83%,93%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes hva11{0%,41.67%{opacity:0}44.58%,77.44%{opacity:1}80.35%,100%{opacity:0}}
@keyframes hvr11{0%,41.67%{opacity:0;transform:scale(1)}41.75%{opacity:.9;transform:scale(1)}51.67%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes hvk11{0%,80.35%{opacity:0}83.27%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hvw{0%,26.67%{opacity:0;transform:scale(.2)}26.75%{opacity:.55;transform:scale(.2)}45.0%{opacity:0;transform:scale(16)}100%{opacity:0}}
@keyframes hvscan{0%,65.83%{opacity:0;transform:translateY(-120px)}68.33%{opacity:1}84.17%{opacity:0;transform:translateY(860px)}100%{opacity:0}}
@keyframes hxs1{0%,2.5%{opacity:0}5.42%,22.08%{opacity:1}25.0%,100%{opacity:0}}
@keyframes hxph1{0%,2.5%{opacity:0}4.17%,23.33%{opacity:1}25.0%,100%{opacity:0}}
@keyframes hxs2{0%,25.0%{opacity:0}27.92%,60.42%{opacity:1}63.33%,100%{opacity:0}}
@keyframes hxph2{0%,25.0%{opacity:0}26.67%,61.67%{opacity:1}63.33%,100%{opacity:0}}
@keyframes hxs3{0%,63.33%{opacity:0}66.25%,92.08%{opacity:1}95.0%,100%{opacity:0}}
@keyframes hxph3{0%,63.33%{opacity:0}65.0%,93.33%{opacity:1}95.0%,100%{opacity:0}}
@keyframes hxp0{0%,71.67%{opacity:0}74.58%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxp1{0%,75.83%{opacity:0}78.75%,91.25%{opacity:1}94.17%,100%{opacity:0}}
@keyframes hxp2{0%,80.0%{opacity:0}82.92%,91.25%{opacity:1}94.17%,100%{opacity:0}}
body .zx-fig, body .zx-frame, body .zx-oc, body .zx-pout, body .zx-core, body .ai-pn{border-radius:var(--dr-panel)}
body .zx-st, body .zx-prog, body .zx-model, body .zx-repo, body .zx-exc, body .zx-lane, body .zx-fcard, body .zx-files div, body .zx-where div, body .zx-sfiles div, body .zx-sbig, body .zx-layer, body .zx-scard, body .zx-loop div, body .zx-pc, body .zx-card, body .zx-plan, body .zx-tbl, body .zx-graphnote, body .le-s, body .le-l, body .st-core, body .st-grid div, body .ai-m, body .id-mc{border-radius:var(--dr-box)}
body .zx-k, body .zx-use div, body .zx-encl span, body .zx-p, body .zx-tiles div, body .zx-sl, body .zx-libs div, body .zx-mock, body .zx-attr span, body .zx-facts span, body .zx-lane span.n, body .st-ring span, body .ai-bad, body .ai-ok{border-radius:var(--dr-item)}
body .zx-chips span, body .zx-flow u, body .zx-exl, body .zx-scard .tg, body .zx-card .tagx, body .ai-flow span, body .id-v, body .le-views span, body .st-labels label{border-radius:999px}
body .zx-prog, body .zx-model, body .zx-repo, body .zx-core, body .st-core, body .zx-st.hot, body .zx-oc.hot, body .zx-exc.hot, body .zx-scard.av, body .zx-loop div.on, body .zx-lane.on, body .zx-fcard, body .zx-sbig, body .zx-pout{border:1.5px solid var(--accent);box-shadow:var(--dg-hot)}
body .zx-st small, body .zx-prog small, body .zx-repo small, body .zx-fcard small, body .zx-exc small, body .zx-pcl small{display:block;font:800 .7rem Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
body .zx-pa, body .zx-arrowc{color:var(--accent)}
.s-box, .s-out, .s-chip{stroke-width:1.5}
.s-spec{stroke-width:2}
.s-ln{stroke-width:2}
body .zx-st, body .zx-lane, body .zx-card, body .zx-layer, body .zx-scard, body .zx-where div, body .zx-files div, body .zx-pc, body .zx-loop div, body .zx-use div, body .zx-libs div, body .st-grid div{transition:border-color .2s,transform .2s,box-shadow .2s}
@media(hover:hover){body .zx-st:hover, body .zx-lane:hover, body .zx-card:hover, body .zx-layer:hover, body .zx-scard:hover, body .zx-where div:hover, body .zx-files div:hover, body .zx-pc:hover, body .zx-loop div:hover, body .zx-use div:hover, body .zx-libs div:hover, body .st-grid div:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){body .zx-st:hover, body .zx-lane:hover, body .zx-card:hover, body .zx-layer:hover, body .zx-scard:hover, body .zx-where div:hover, body .zx-files div:hover, body .zx-pc:hover, body .zx-loop div:hover, body .zx-use div:hover, body .zx-libs div:hover, body .st-grid div:hover{transform:none}}
body .zx-bm a[href="https://ide.zappdev.io/"]{background:var(--gradient);color:#fff;text-align:center;font-weight:600;margin-top:8px;padding:12px 14px}
body .zx-bm a[href="https://ide.zappdev.io/"]:hover{background:var(--gradient);filter:brightness(1.06)}
body svg.pt-tall{display:none}
@media(max-width:760px){body svg.pt-wide{display:none}body svg.pt-tall{display:block;width:100%;max-width:440px;margin:0 auto;height:auto}}
.zx-split-lang{grid-template-columns:1.1fr 1fr}
@media(max-width:900px){.zx-split-lang{grid-template-columns:1fr}}
@media(max-width:760px){.zx-fig:has(svg):not(:has(.zx-big)):not(:has(.pt-tall)){overflow-x:auto;-webkit-overflow-scrolling:touch}.zx-fig:has(svg):not(:has(.zx-big)):not(:has(.pt-tall)) svg{min-width:700px}.zx-fig:has(svg):not(:has(.zx-big)):not(:has(.pt-tall)):after{content:'Swipe sideways to see the whole diagram';display:block;position:sticky;left:0;width:calc(100vw - 80px);padding-top:10px;font:500 .74rem Inter,sans-serif;color:var(--text-muted)}table.compare-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}
.zx-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:11px 22px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);font:600 .92rem Inter,sans-serif;color:var(--text);margin-top:8px;transition:border-color .2s}
.zx-more>summary::-webkit-details-marker{display:none}
.zx-more>summary:hover{border-color:var(--accent)}
.zx-more>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.zx-more>summary:after{content:'';width:8px;height:8px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.zx-more[open]>summary:after{transform:translateY(2px) rotate(-135deg)}
.zx-more[open]>summary{margin-bottom:32px}
.zx-more>summary .c{display:none}
.zx-more[open]>summary .c{display:inline}
.zx-more[open]>summary .o{display:none}
.zx-out .zx-ov{display:none}
.zx-pc em{display:none}
#white-paper .zx-cover{display:none}
#white-paper .zx-paper{grid-template-columns:1fr}
.gx-tabs>input{position:absolute;opacity:0;pointer-events:none}
.gx-labels{display:flex;gap:8px;justify-content:center;margin:34px 0 22px}
.gx-labels label{padding:8px 20px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-muted);font:600 .86rem Inter,sans-serif;cursor:pointer;transition:all .2s}
.gx-labels label:hover{color:var(--text)}
#gx1:checked~.gx-labels label[for=gx1], #gx2:checked~.gx-labels label[for=gx2]{background:var(--gradient);color:#fff;border-color:transparent}
#gx1:focus-visible~.gx-labels label[for=gx1], #gx2:focus-visible~.gx-labels label[for=gx2]{outline:2px solid var(--accent);outline-offset:2px}
.gx-p{display:none}
#gx1:checked~.gx-spec{display:block}
#gx2:checked~.gx-graph{display:block}
.gx-graph .gx-fig{padding:20px 18px 12px}
.gx-svg{display:block;width:100%;height:auto}
.gx-e{fill:none;stroke:var(--text-muted);stroke-width:2;opacity:.6;transition:opacity .2s,stroke .2s}
.gx-t{font:600 12px Inter,sans-serif;fill:var(--text-muted);paint-order:stroke;stroke:var(--bg-card);stroke-width:7px;stroke-linejoin:round;transition:opacity .2s,fill .2s}
.gx-sep{stroke:var(--border);stroke-width:1;stroke-dasharray:3 7;opacity:.7}
.gx-sub{font-size:12px}
.gx-svg:has(.gn:hover) .gx-e{opacity:.15}
.gx-svg:has(.gn:hover) .gx-t{opacity:.2}
.gx-svg:has(.n-order:hover) .gx-e.e-order{opacity:1;stroke:var(--accent);stroke-width:3}
.gx-svg:has(.n-order:hover) .gx-t.e-order{opacity:1;fill:var(--accent)}
.gx-svg:has(.n-total:hover) .gx-e.e-total{opacity:1;stroke:var(--accent);stroke-width:3}
.gx-svg:has(.n-total:hover) .gx-t.e-total{opacity:1;fill:var(--accent)}
.gx-svg:has(.n-status:hover) .gx-e.e-status{opacity:1;stroke:var(--accent);stroke-width:3}
.gx-svg:has(.n-status:hover) .gx-t.e-status{opacity:1;fill:var(--accent)}
.gx-svg:has(.n-cust:hover) .gx-e.e-cust{opacity:1;stroke:var(--accent);stroke-width:3}
.gx-svg:has(.n-cust:hover) .gx-t.e-cust{opacity:1;fill:var(--accent)}
.gx-svg:has(.n-rule:hover) .gx-e.e-rule{opacity:1;stroke:var(--accent);stroke-width:3}
.gx-svg:has(.n-rule:hover) .gx-t.e-rule{opacity:1;fill:var(--accent)}
.gx-svg:has(.n-screen:hover) .gx-e.e-screen{opacity:1;stroke:var(--accent);stroke-width:3}
.gx-svg:has(.n-screen:hover) .gx-t.e-screen{opacity:1;fill:var(--accent)}
.gx-svg:has(.n-appr:hover) .gx-e.e-appr{opacity:1;stroke:var(--accent);stroke-width:3}
.gx-svg:has(.n-appr:hover) .gx-t.e-appr{opacity:1;fill:var(--accent)}

/* ===== mobile menu ===== */
.sec,section.sec,.premise{padding-top:44px!important;padding-bottom:44px!important}.close{padding:64px 0!important}.hero{padding-top:56px!important;padding-bottom:36px!important}.sec .sub,.sec .lead{margin-top:10px!important}.pf{margin-top:32px!important}.eyebrow{margin-bottom:12px!important}.pg .zx-cards,.pg .zx-grid3,.pg .shift-cards,.pg .zx-frame{margin-top:32px!important}@media(max-width:700px){.sec,.premise{padding-top:36px!important;padding-bottom:36px!important}.close{padding:48px 0!important}}.pt{margin-top:28px!important}.pt-h .pt-c{padding:26px 28px 22px!important}.pt-r .pt-c{padding:10px 28px!important;font-size:.98rem!important;line-height:1.35!important}.pt-r .a{font-size:.7rem!important;white-space:nowrap}.pt-h,.pt-r{grid-template-columns:250px 1fr 1fr!important}.pt-h .pt-c{padding:22px 28px 18px!important}.pt-h .pl{font-size:.95rem!important;margin-top:8px!important}.pt-h h2{margin:0!important}.pk{margin-bottom:8px!important}@media(max-width:1000px){.pt-h,.pt-r{grid-template-columns:1fr!important}}html[data-theme="light"] .fl li.fresh2{color:var(--tx)!important;font-weight:600}html[data-theme="light"] .fl li.fresh2:before{color:#0b7440}.mrg{margin-top:44px!important;padding-top:44px!important}.zx-sub{margin-top:44px!important}.tl,.cells{margin-top:40px!important}.stage{margin-top:56px!important}main h1,.hero h1{font-size:clamp(2rem,3.5vw,2.9rem)!important;max-width:20em!important;letter-spacing:-.035em!important}main h2,.sec h2,.close h2{font-size:clamp(1.55rem,2.5vw,2.1rem)!important;max-width:22em!important;letter-spacing:-.03em!important}.lead{font-size:1.06rem!important}.sub{font-size:1rem!important}
.mb{display:none;background:none;border:1px solid var(--line2);color:var(--tx);width:38px;height:38px;align-items:center;justify-content:center;cursor:pointer}
@media(max-width:900px){.mb{display:inline-flex}.hd-in{gap:10px}.hd-in .tg{margin-left:auto}.hd-in>.btn{display:none}
.nav-l{display:none;position:absolute;left:0;right:0;top:64px;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line2);padding:8px 24px 16px;max-height:calc(100vh - 64px);overflow:auto}
.hd.mo .nav-l{display:flex}.nav-l>a,.nav-l .dd-b{padding:13px 0;width:100%;justify-content:space-between;border-bottom:1px solid var(--line)}
.nav-l .dd-m{position:static;display:none;border:0;box-shadow:none;background:none;padding:0 0 6px 14px;min-width:0}.nav-l .dd.open .dd-m{display:block}}
.pg .compare-table{display:block;overflow-x:auto}
.ft nav{flex-wrap:wrap}.ft-in{flex-wrap:wrap;gap:16px 28px}.pg{overflow-x:clip}
html[data-theme="light"] .ai-bad,html[data-theme="light"] .ai-m.bad b,html[data-theme="light"] .zx-flow u.x{color:#b4303a!important}html[data-theme="light"] .ai-ok,html[data-theme="light"] .ai-m.ok b,html[data-theme="light"] .le-l em,html[data-theme="light"] .zx-scard.av .tg{color:#065a2a!important}html[data-theme="light"] .id-tbc,html[data-theme="light"] .zx-scard.pv .tg{color:#8a5300!important}html[data-theme="light"] .zx-code .t{color:#3b46c4!important}.zx-acts span.on{color:#fff!important}
.pg .zx-fig svg rect{rx:3px;ry:3px}
/* ===== inner pages ===== */
.pg .hero{padding:96px 0 56px}.pg .hero .lead{margin-bottom:34px}.pg .hero .zx-chips{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px}
.zx-chips span{border:1px solid var(--line2);border-radius:0;padding:8px 14px;font-size:.86rem;color:var(--tx2);background:var(--p3)}.zx-chips span b{color:var(--okd);margin-right:8px}
.pg .sec .wrap>.sub{margin-bottom:0}.pg .sec .wrap>.section-desc{margin-bottom:0}
.pg .section-desc{font-weight:400;font-size:1.1rem;color:var(--mut);margin-top:16px;max-width:38rem}
.pg .zx-fine{color:var(--dim);font-size:.82rem}.pg .zx-lead2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:500;letter-spacing:-.03em;line-height:1.15;max-width:20em;margin:30px 0}
.pg .zx-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.pg .zx-links a,.pg a.zx-a{border:1px solid var(--line2);padding:11px 18px;font-size:.9rem;color:var(--tx);background:none}.pg .zx-links a:hover{border-color:var(--hi)}
.pg .zx-card,.pg .zx-layer,.pg .zx-scard,.pg .id-mc,.pg .ai-pn,.pg .zx-fig,.pg .zx-frame{border-radius:0;border:1px solid var(--line2);background:var(--p3)}
.pg .zx-cards,.pg .zx-grid3{margin-top:44px;gap:0;border:1px solid var(--line2)}.pg .zx-cards>.zx-card,.pg .zx-grid3>.zx-card{border:0;border-left:1px solid var(--line);background:none}.pg .zx-cards>.zx-card:first-child,.pg .zx-grid3>.zx-card:first-child{border-left:0}
.pg .zx-card{padding:30px 28px}.pg .zx-card h3{font-size:1.1rem;font-weight:650}.pg .zx-card p{font-size:.95rem}
.pg .shift-cards{margin-top:44px;gap:0;border:1px solid var(--line2);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.pg .shift-card{border:0;border-left:1px solid var(--line);border-radius:0;background:none;padding:28px 26px}.pg .shift-card:first-child{border-left:0}.pg .shift-card .icon{display:none}.pg .shift-card h3{font-size:1.08rem;font-weight:650;margin-bottom:8px}
.pg .compare-table{width:100%;border-collapse:collapse;margin-top:36px;border:1px solid var(--line2)}.pg .compare-table th{font:500 .68rem 'JetBrains Mono';letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:left;padding:16px 22px;border-bottom:1px solid var(--line2)}.pg .compare-table td{padding:16px 22px;border-top:1px solid var(--line);vertical-align:top}
.pg .zx-lane,.pg .zx-st,.pg .zx-exc,.pg .zx-prog,.pg .zx-model,.pg .zx-repo,.pg .zx-core,.pg .zx-fcard,.pg .zx-sbig{border-radius:0}
.pg .st-labels label,.pg .gx-labels label{border-radius:0;border:1px solid var(--line2);background:var(--p3);color:var(--mut);padding:9px 16px;font:500 .84rem Inter;cursor:pointer}.pg .st-labels,.pg .gx-labels{gap:8px;display:flex;flex-wrap:wrap}
.pg .st-tabs input,.pg .gx-tabs>input{position:absolute;opacity:0;pointer-events:none}
.pg .zx-frame{margin-top:48px;max-width:none;box-shadow:0 60px 120px -50px var(--shadow)}.pg .zx-frame img{display:block;width:100%;height:auto}.pg .zx-bar{display:flex;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid var(--line);font:500 .72rem 'JetBrains Mono';color:var(--dim)}.pg .zx-bar i{width:8px;height:8px;border-radius:50%;background:var(--dot)}
.pg .zx-pipe{display:grid;gap:0}.pg pre,.pg .zx-repo pre{font:400 .8rem/1.8 'JetBrains Mono';color:var(--tx2);white-space:pre-wrap}
.pg details.zx-more>summary{cursor:pointer;color:var(--hi);padding:14px 0;border-top:1px solid var(--line)}
.pg table:not(.compare-table){border-collapse:collapse;width:100%;margin-top:30px}.pg table:not(.compare-table) th{font:500 .68rem 'JetBrains Mono';letter-spacing:.1em;text-transform:uppercase;color:var(--dim);text-align:left;padding:12px 16px;border-bottom:1px solid var(--line2)}.pg table:not(.compare-table) td{padding:13px 16px;border-top:1px solid var(--line);vertical-align:top}
.pg svg text{font-family:Inter,sans-serif}.pg .zx-fig svg{max-width:100%;height:auto}
.pg .close .wrap{display:block}.pg .close .btn+.btn{margin-left:12px}
@media(max-width:1000px){.pg .zx-cards,.pg .zx-grid3{grid-template-columns:1fr}.pg .zx-cards>.zx-card,.pg .zx-grid3>.zx-card{border-left:0;border-top:1px solid var(--line)}.pg .zx-cards>.zx-card:first-child,.pg .zx-grid3>.zx-card:first-child{border-top:0}.pg .hero{padding:64px 0 40px}}
.nav-l .nav-cta{display:none}@media(max-width:900px){.nav-l .nav-cta{display:flex;justify-content:center;width:100%;margin:16px 0 4px;padding:12px 22px;border-bottom:0;color:#fff}}
