:root{--road:#121a35;--edge:#4f7cff;--dash:#8fa8ff;--pill:#0a1020;--pilltx:#fff}
[data-theme=light]{--bg:#f3f6ff;--bg2:#e8eefc;--card:#fff;--line:rgba(20,35,80,.12);--tx:#0f1a3a;--mu:#52608a;--road:#1b2547;--edge:#6c8cff;--dash:#aebfff;--pill:#fff;--pilltx:#0f1a3a}
[data-theme=light] nav{background:rgba(255,255,255,.8)}
[data-theme=light] .nl.open{background:#fff}
[data-theme=light] .cd{background:#fff;box-shadow:0 18px 40px -26px rgba(30,50,120,.35)}
[data-theme=light] .b2,[data-theme=light] .inv,[data-theme=light] .st{background:#fff}
[data-theme=light] .hero{background:radial-gradient(900px 500px at 15% 30%,rgba(79,124,255,.2),transparent 60%),radial-gradient(700px 400px at 90% 0,rgba(255,182,72,.22),transparent 60%),var(--bg)}
[data-theme=light] .hero:before{opacity:.9}
[data-theme=light] .cta{background:radial-gradient(600px 300px at 50% 0,rgba(79,124,255,.22),transparent 70%),#fff}
[data-theme=light] .hero h1 em{background:linear-gradient(90deg,#3b5cf0,#e08a00);-webkit-background-clip:text;background-clip:text}
body{transition:background .3s,color .3s}
.nv{gap:.6rem}.nl{margin-inline:auto}
.tgl{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:rgba(127,127,127,.12);color:var(--tx);display:grid;place-items:center;cursor:pointer;transition:.2s}
.tgl:hover{transform:rotate(-14deg);border-color:var(--am);color:var(--am)}
/* hero */
.stage{-webkit-mask-image:linear-gradient(#0000,#000 14%,#000 86%,#0000);mask-image:linear-gradient(#0000,#000 14%,#000 86%,#0000)}
.stage svg{overflow:hidden}
.gl{fill:var(--edge);opacity:.45}.rd{fill:var(--road)}.ed{fill:none;stroke:var(--edge);stroke-width:3;stroke-linejoin:round}.ds{fill:none;stroke:var(--dash);stroke-linecap:round;stroke-opacity:.85}
.lab rect{fill:var(--pill);stroke-width:1.3}.lab text{fill:var(--pilltx)}.lab.tg rect{stroke:var(--mu);stroke-dasharray:3 3}.lab.tg text{font-size:10px;font-weight:500;fill:var(--mu)}
.fc{position:absolute;display:flex;align-items:center;gap:.7rem;background:var(--pill);color:var(--pilltx);border:1px solid var(--line);border-radius:18px;padding:.55rem .9rem;box-shadow:0 18px 40px -16px rgba(20,30,80,.5);animation:fl 6s ease-in-out infinite}
.fc span{width:34px;height:34px;border-radius:50%;background:var(--am);color:#1a1200;display:grid;place-items:center;font-weight:900}
.fc b{display:block;font-size:.85rem;line-height:1.4}.fc small{color:var(--mu);font-size:.72rem}
.c1{top:34%;left:-4%}.c2{bottom:12%;right:2%;animation-delay:-3s}.c2 span{background:var(--mi)}
@keyframes fl{50%{transform:translateY(-8px)}}
.sd{position:absolute;border-radius:50%;background:var(--edge);opacity:.5;animation:tw 4s ease-in-out infinite}
@keyframes tw{50%{opacity:.08}}
/* sections */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.6rem;align-items:start}
.cd2{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:1.9rem;box-shadow:0 24px 60px -36px rgba(20,30,90,.55)}
.cd2 h3{font-size:1.25rem;margin-bottom:1.1rem}.cd2 h4{font-size:1.05rem;margin:1.4rem 0 .7rem}
.mu{color:var(--mu);font-size:.93rem;margin:.4rem 0}
.fl{display:block;font-weight:700;font-size:.88rem;margin-bottom:1rem}
.fl input,.fam input{display:block;width:100%;margin-top:.4rem;font:inherit;color:var(--tx);background:var(--bg2);border:1px solid var(--line);border-radius:13px;padding:.7rem .9rem}
.fl input:focus,.fam input:focus{outline:2px solid var(--pr);border-color:transparent}
fieldset{border:1px solid var(--line);border-radius:14px;padding:.4rem 1rem .8rem;margin-bottom:1rem}legend{padding:0 .5rem;font-weight:700;font-size:.88rem}
.ops{display:flex;gap:.4rem 1.1rem;flex-wrap:wrap;padding-top:.4rem}.ops.v{flex-direction:column;gap:.35rem}
.op{display:flex;align-items:center;gap:.5rem;font-size:.95rem;cursor:pointer}.op input{accent-color:var(--pr);width:18px;height:18px}
.lr{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px dashed var(--line);font-size:.92rem}.lr b{white-space:nowrap}
.bals{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.7rem}
.bl2{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:.7rem;text-align:center;font-size:.85rem}.bl2 b{display:block;font-size:1.05rem;margin-top:.2rem}
.pos b{color:#14a07a}.neg b{color:#e5484d}
.tr{display:flex;justify-content:space-between;align-items:center;gap:.6rem;background:var(--bg2);border-radius:14px;padding:.65rem 1rem;margin-bottom:.6rem;font-size:.9rem}.tr b{color:var(--am)}
.note{color:var(--mu);font-size:.8rem;margin-top:.8rem}
.fam{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:1rem 0}.fam input{text-align:center;font-weight:900;font-size:1.1rem;background:rgba(255,182,72,.14);border-color:rgba(255,182,72,.5)}
.dk{background:linear-gradient(160deg,#10223a,#0b1526);color:#fff;border-color:rgba(255,255,255,.1)}
.dk .fl input{background:#fff;color:#0b1526;font-weight:900;text-align:left;direction:ltr}.mu2{color:#aebbd6;font-size:.9rem;margin:.4rem 0}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}.g3.two{grid-template-columns:1fr 1fr}
.res{background:#f4efe2;color:#0b1526;border-radius:16px;padding:1rem;text-align:center}.res small{color:#6b7280;display:block}.res b{font-size:1.25rem}
/* footer */
footer .w{display:block}.fin{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:1.4rem}
.scene{height:clamp(190px,21vw,290px);border-radius:28px;overflow:hidden;border:1px solid var(--line)}.scene svg{width:100%;height:100%;display:block}
@media(max-width:900px){.g2{grid-template-columns:1fr}.c1{left:0}.g3{grid-template-columns:1fr}.g3.two{grid-template-columns:1fr 1fr}}
