:root{
  --bg:#060910;
  --panel:#0c1322;
  --panel2:#111a2e;
  --line:rgba(125,165,255,.14);
  --line2:rgba(125,165,255,.08);
  --txt:#e8eefb;
  --mut:#7e8cab;
  --cyan:#22d3ee;
  --cyans:#38bdf8;
  --grn:#34d399;
  --amb:#fbbf24;
  --red:#fb7185;
  --vio:#a78bfa;
  --pnk:#f472b6;
  --ind:#818cf8;
  --mono:'JetBrains Mono',ui-monospace,'SF Mono','Cascadia Code',Consolas,monospace;
  --sans:'Sora',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:16px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--txt);
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  padding-bottom:32px;
}

.bg-grid{
  position:fixed;inset:0;z-index:-2;pointer-events:none;
  background-image:
    linear-gradient(rgba(120,160,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,160,255,.05) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(ellipse 90% 65% at 50% 0%,#000 25%,transparent 100%);
  mask-image:radial-gradient(ellipse 90% 65% at 50% 0%,#000 25%,transparent 100%);
}
.bg-glow{
  position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(620px 420px at 12% -6%,rgba(34,211,238,.15),transparent 62%),
    radial-gradient(620px 420px at 88% -6%,rgba(167,139,250,.15),transparent 62%),
    radial-gradient(900px 620px at 50% 112%,rgba(52,211,153,.08),transparent 64%);
}

.topbar{
  position:sticky;top:0;z-index:60;
  display:flex;align-items:center;gap:12px;
  padding:10px 14px;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  background:linear-gradient(180deg,rgba(6,9,16,.94),rgba(6,9,16,.62));
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.logo{
  width:32px;height:32px;flex:none;border-radius:9px;display:grid;place-items:center;
  background:conic-gradient(from 200deg,var(--cyan),var(--vio),var(--grn),var(--cyan));
  color:#04070d;font-weight:800;font-size:16px;
  box-shadow:0 0 24px -6px var(--cyan);
}
.brand-txt{min-width:0}
.brand-txt h1{
  margin:0;font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;
  white-space:nowrap;
}
.brand-txt p{margin:1px 0 0;font-size:9px;color:var(--mut);letter-spacing:.14em;white-space:nowrap;text-transform:uppercase}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:7px}

.status-pill{
  display:flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  padding:6px 9px;border-radius:999px;border:1px solid var(--line);color:var(--mut);
  white-space:nowrap;
}
.status-pill i{width:7px;height:7px;border-radius:50%;background:var(--mut);flex:none}
.status-pill.run i{background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:pulse 1s infinite}
.status-pill.run{color:var(--cyan);border-color:rgba(34,211,238,.45)}
.status-pill.done i{background:var(--grn);box-shadow:0 0 10px var(--grn)}
.status-pill.done{color:var(--grn);border-color:rgba(52,211,153,.45)}

.btn{
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.08em;
  padding:9px 12px;min-height:38px;border-radius:10px;cursor:pointer;
  border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--txt);
  transition:transform .15s,border-color .2s,box-shadow .2s,background .2s;
  white-space:nowrap;
}
.btn:hover{border-color:rgba(34,211,238,.5)}
.btn:active{transform:scale(.97)}
.btn.primary{
  background:linear-gradient(120deg,var(--cyan),var(--vio));
  color:#04070d;border:none;font-weight:700;
  box-shadow:0 6px 22px -10px var(--cyan);
}
.btn.primary:hover{box-shadow:0 8px 30px -8px var(--cyan)}
.btn.ghost.danger{color:var(--red);border-color:rgba(251,113,133,.4)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
#langBtn,#reviewLang{
  color:var(--cyan);border-color:rgba(34,211,238,.45);
  animation:langpulse .667s ease-in-out infinite;
}
@keyframes langpulse{
  0%,100%{opacity:1;box-shadow:0 0 16px -4px var(--cyan);border-color:rgba(34,211,238,.6)}
  50%{opacity:.35;box-shadow:0 0 0 0 rgba(34,211,238,0);border-color:var(--line)}
}
.btn.primary.start{animation:startflash 1.5s ease-in-out infinite}
@keyframes startflash{0%,100%{box-shadow:0 6px 22px -10px var(--cyan)}50%{box-shadow:0 10px 44px -2px var(--cyan)}}

.next-fab{
  position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:95;
  padding:13px 24px;border-radius:999px;border:none;cursor:pointer;
  font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  background:linear-gradient(120deg,var(--cyan),var(--vio));color:#04070d;
  animation:nextflash 1.1s ease-in-out infinite;
}
.next-fab[hidden]{display:none!important}
.next-fab em{font-style:normal;opacity:.65;font-weight:400;letter-spacing:.14em}
.next-fab span{margin-left:8px}
.next-fab.results{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:15px 36px;border-radius:22px;text-transform:none;letter-spacing:0;
  background:linear-gradient(120deg,var(--grn),#22d3ee);color:#04070d;
  animation:greenflash 1.6s ease-in-out infinite;
}
.next-fab.results .fab-big{font-family:var(--mono);font-size:28px;font-weight:700;line-height:1;letter-spacing:.02em}
.next-fab.results .fab-sub{font-family:var(--mono);font-size:15px;font-weight:700;opacity:.92}
.next-fab.results .fab-small{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.62;margin-top:4px}
@keyframes nextflash{
  0%,100%{box-shadow:0 8px 30px -10px var(--cyan),0 0 0 0 rgba(34,211,238,.55)}
  50%{box-shadow:0 12px 46px -4px var(--cyan),0 0 0 9px rgba(34,211,238,0)}
}
@keyframes greenflash{
  0%,100%{box-shadow:0 8px 32px -8px var(--grn),0 0 0 0 rgba(52,211,153,.55)}
  50%{box-shadow:0 14px 50px -4px var(--grn),0 0 0 10px rgba(52,211,153,0)}
}

.ticker{
  overflow:hidden;border-bottom:1px solid var(--line);
  background:rgba(4,7,13,.6);
  height:30px;display:flex;align-items:center;
}
.ticker-track{
  display:inline-flex;gap:26px;white-space:nowrap;
  font-family:var(--mono);font-size:10.5px;padding-left:12px;
  animation:marquee 38s linear infinite;
}
.tk{display:inline-flex;gap:6px;align-items:center;color:var(--mut)}
.tk b{color:#c9d6ee}
.tk .up{color:var(--grn)}
.tk .dn{color:var(--red)}

.pipeline{
  display:flex;gap:6px;overflow-x:auto;padding:10px 14px;
  position:sticky;top:53px;z-index:55;
  background:linear-gradient(180deg,rgba(6,9,16,.9),rgba(6,9,16,.55));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  scrollbar-width:none;
}
.pipeline::-webkit-scrollbar{display:none}
.chip{
  flex:none;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
  padding:6px 10px;border-radius:999px;border:1px solid var(--line);
  color:var(--mut);white-space:nowrap;transition:all .25s;
}
.chip.on{color:var(--cyan);border-color:rgba(34,211,238,.55);background:rgba(34,211,238,.08);box-shadow:0 0 16px -6px var(--cyan)}
.chip.done{color:var(--grn);border-color:rgba(52,211,153,.4)}

.flow{
  max-width:1080px;margin:0 auto;padding:16px 14px 8px;
  display:flex;flex-direction:column;gap:0;
}

.stage-dual{display:grid;grid-template-columns:1fr;gap:14px}

.connector{
  position:relative;height:46px;display:flex;justify-content:center;flex:none;
}
.connector::before{
  content:'';position:absolute;top:0;bottom:0;width:2px;
  background:var(--line);background-size:100% 200%;
}
.connector::after{
  content:'';position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);
  width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;
  border-top:8px solid var(--line);
}
.connector.active::before{background:linear-gradient(180deg,var(--cyan),var(--vio));background-size:100% 200%;box-shadow:0 0 12px var(--cyan);animation:flowline .5s linear infinite}
.connector.active::after{border-top-color:var(--cyan)}
.connector.active span{
  position:absolute;top:0;width:8px;height:8px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 14px var(--cyan);animation:drop 1s linear infinite;
}
.connector.done::before{background:linear-gradient(180deg,var(--grn),var(--cyan))}
.connector.done::after{border-top-color:var(--grn)}

.node{
  --acc:var(--cyan);
  position:relative;border-radius:var(--r);border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(17,26,46,.92),rgba(9,14,26,.94));
  padding:14px;
  transition:border-color .35s,box-shadow .35s,opacity .35s;
  box-shadow:0 14px 34px -22px #000;
  overflow:hidden;
}
.flow .node:not(.active):not(.done){opacity:.72}
.node::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.035),transparent 70%);
}
.node[data-accent="grn"]{--acc:var(--grn)}
.node[data-accent="pnk"]{--acc:var(--pnk)}
.node[data-accent="vio"]{--acc:var(--vio)}
.node[data-accent="amb"]{--acc:var(--amb)}
.node[data-accent="cyans"]{--acc:var(--cyans)}
.node.active{border-color:color-mix(in srgb,var(--acc) 65%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 45%,transparent),0 0 44px -12px var(--acc)}
.node.done{border-color:rgba(52,211,153,.3)}
.node.flash{animation:flash .9s ease-out}
.node.dim{opacity:.62}

.node-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.node-icon{
  width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;
  font-size:15px;color:var(--acc);
  background:rgba(255,255,255,.04);border:1px solid var(--line);
}
.node-meta{min-width:0}
.node-meta h3{margin:0;font-size:13px;letter-spacing:.05em;font-weight:600}
.node-meta p{margin:2px 0 0;font-size:9px;color:var(--mut);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{
  margin-left:auto;flex:none;font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;
  padding:4px 8px;border-radius:999px;border:1px solid var(--line);color:var(--mut);
  transition:all .25s;
}
.badge.running{color:var(--cyan);border-color:rgba(34,211,238,.5);animation:pulse 1s infinite}
.badge.done{color:var(--grn);border-color:rgba(52,211,153,.5)}
.badge.error{color:var(--red);border-color:rgba(251,113,133,.5)}

.bar{height:4px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;margin-bottom:10px}
.bar>i{
  display:block;height:100%;width:0;border-radius:inherit;
  background:linear-gradient(90deg,var(--acc),var(--cyan));
  box-shadow:0 0 12px var(--acc);
  transition:width .1s linear;
}
.node.done .bar>i{background:linear-gradient(90deg,var(--grn),var(--cyan));box-shadow:0 0 10px var(--grn)}

.node-body{display:flex;flex-direction:column;gap:10px}

.terminal{
  font-family:var(--mono);font-size:11px;line-height:1.65;
  background:#05080f;border:1px solid var(--line2);border-radius:10px;
  padding:10px 12px;max-height:200px;overflow:auto;
  scrollbar-width:thin;scrollbar-color:rgba(125,165,255,.3) transparent;
}
.terminal::-webkit-scrollbar{width:6px}
.terminal::-webkit-scrollbar-thumb{background:rgba(125,165,255,.25);border-radius:999px}
.terminal:empty::before{content:attr(data-ph);color:var(--mut);opacity:.45}
.tline{white-space:pre-wrap;word-break:break-word;animation:slidein .25s ease-out}
.tline .dim{color:var(--mut)}
.tline .ok{color:var(--grn)}
.tline .warn{color:var(--amb)}
.tline .err{color:var(--red)}
.tline .info{color:var(--cyan)}
.tline .val{color:var(--vio)}
.tline .cue{color:var(--pnk)}

.result{
  border:1px solid var(--line);border-radius:12px;padding:12px;
  background:linear-gradient(160deg,rgba(34,211,238,.07),rgba(167,139,250,.045));
  animation:reveal .5s ease-out;
}
.result.hidden{display:none}
.result-title{
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);
  margin-bottom:9px;display:flex;align-items:center;gap:8px;
}
.result-title::after{content:'';flex:1;height:1px;background:var(--line)}

.big{font-family:var(--mono);font-size:22px;font-weight:700;letter-spacing:.03em;line-height:1.1}
.mut{color:var(--mut)}
.kv{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:4px 0;border-bottom:1px dashed var(--line2)}
.kv:last-child{border-bottom:none}
.kv span:last-child{font-family:var(--mono);color:#cfe0ff}

.prow{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:10.5px}
.prow .plabel{width:62px;flex:none;font-family:var(--mono);letter-spacing:.04em}
.prow .ptrack{flex:1;height:6px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.prow .pfill{display:block;height:100%;min-width:2px;border-radius:inherit;background:currentColor;box-shadow:0 0 10px currentColor;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.prow .pval{width:38px;text-align:right;font-family:var(--mono);color:var(--mut);flex:none}

.section-cap{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.matrix-wrap{margin-bottom:2px}

.matrix{
  display:grid;grid-template-columns:52px repeat(3,1fr);gap:5px;
  font-size:9.5px;
}
.mcorner{}
.mhead{
  text-align:center;font-family:var(--mono);font-size:9px;letter-spacing:.1em;
  padding:5px 2px;text-transform:uppercase;font-weight:700;
}
.mlabel{
  display:flex;align-items:center;font-family:var(--mono);font-size:9px;letter-spacing:.04em;
  padding:4px;font-weight:700;
}
.mcell{
  border:1px solid var(--line);border-radius:9px;padding:6px 5px;min-height:42px;
  background:rgba(255,255,255,.015);
  display:flex;flex-direction:column;gap:2px;justify-content:center;
  transition:all .35s;opacity:.5;
}
.mcell b{font-size:9.5px;font-weight:600;color:#cdd9ef;line-height:1.15}
.mcell span{font-size:8px;color:var(--mut);line-height:1.15}
.mcell.on{
  --c:var(--cyan);
  opacity:1;border-color:var(--c);
  background:color-mix(in srgb,var(--c) 12%,rgba(255,255,255,.02));
  box-shadow:0 0 26px -6px var(--c),inset 0 0 18px -10px var(--c);
  transform:scale(1.03);
  animation:cellpulse 1.6s ease-in-out infinite;
}
.mcell.on b{color:#fff}
.mcell.on span{color:#dbe6fb}

.signal-list,.pos-list{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin}
.signal-list::-webkit-scrollbar,.pos-list::-webkit-scrollbar{width:6px}
.signal-list::-webkit-scrollbar-thumb,.pos-list::-webkit-scrollbar-thumb{background:rgba(125,165,255,.25);border-radius:999px}
.sig{
  display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;
  padding:6px 9px;border-radius:9px;font-family:var(--mono);font-size:10.5px;
  background:rgba(255,255,255,.02);border:1px solid var(--line2);
  animation:slidein .35s ease-out both;
}
.sig .idx{color:var(--mut);font-size:9px}
.sig .body{min-width:0}
.sig .tick{font-weight:700;letter-spacing:.02em}
.sig .sub{color:var(--mut);font-size:8.5px;letter-spacing:.04em;display:block;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sig .right{text-align:right;flex:none}
.sig .dir{font-weight:700;font-size:10px}
.sig.long .dir{color:var(--grn)}
.sig.short .dir{color:var(--red)}
.sig .edge{color:var(--mut);font-size:8.5px;display:block}
.sig.drop{opacity:.4;text-decoration:line-through}
.sig.drop .dropreason{color:var(--amb);font-size:8px;display:block;text-decoration:none}

.sigline{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:9px 11px;border-radius:9px;font-family:var(--mono);font-size:11.5px;
  background:rgba(255,255,255,.02);border:1px solid var(--line2);
  animation:slidein .35s ease-out both;
}
.sigline .tick{font-weight:700;letter-spacing:.03em;min-width:76px}
.sigline .dir{font-weight:700;letter-spacing:.06em}
.sigline.long .dir{color:var(--grn)}
.sigline.short .dir{color:var(--red)}
.sigline .edge{color:var(--vio);margin-left:auto}

.pos{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:7px 9px;border-radius:9px;font-family:var(--mono);font-size:10.5px;
  background:rgba(255,255,255,.02);border:1px solid var(--line2);
}
.pos .tick{font-weight:700}
.pos .cls{font-size:8px;color:var(--mut);display:block}
.pos .w{color:var(--vio);font-weight:700}
.pos .meta{color:var(--mut);font-size:8.5px;text-align:right}

.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.metric{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.metric small{color:var(--mut);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;display:block}
.metric b{display:block;font-family:var(--mono);font-size:15px;margin-top:3px}
.metric b.up{color:var(--grn)}
.metric b.dn{color:var(--red)}

.spark{width:100%;height:64px;display:block;margin-top:8px;border-radius:10px;background:rgba(0,0,0,.25);border:1px solid var(--line2)}

.delta{font-size:9px;font-family:var(--mono);margin-left:5px}
.delta.up{color:var(--grn)}
.delta.dn{color:var(--red)}

.orders{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:5px}
.order{
  display:flex;align-items:center;gap:10px;
  padding:8px 10px;border-radius:9px;font-family:var(--mono);font-size:10px;
  background:rgba(255,255,255,.02);border:1px solid var(--line2);
}
.order .o-exch{
  flex:none;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 9px;border-radius:7px;white-space:nowrap;
  color:var(--cyan);background:rgba(34,211,238,.14);border:1px solid rgba(34,211,238,.45);
}
.order .o-main{min-width:0;flex:1;display:flex;align-items:baseline;gap:7px}
.order .o-tick{font-weight:700}
.order .o-sub{color:var(--mut);font-size:8px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order .o-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none;text-align:right}
.order .o-notional{color:#cfe0ff}
.status-tag{
  position:relative;z-index:1;font-size:8px;letter-spacing:.1em;padding:2px 7px;
  border-radius:999px;border:1px solid var(--line);display:inline-block;
  background:var(--panel);color:var(--mut);
}
.status-tag.pending{color:var(--amb);border-color:rgba(251,191,36,.5);background:rgba(251,191,36,.14)}
.status-tag.filled{color:#04070d;border-color:var(--grn);background:var(--grn);font-weight:700}
.status-tag.rejected{color:#04070d;border-color:var(--red);background:var(--red);font-weight:700}

.mon-clock{
  font-family:var(--mono);font-size:26px;font-weight:700;letter-spacing:.06em;
  color:var(--cyan);text-shadow:0 0 24px rgba(34,211,238,.5);
  display:flex;flex-basis:100%;justify-content:space-between;align-items:baseline;gap:8px;
}
.mon-clock small{font-size:9px;color:var(--mut);letter-spacing:.18em;text-transform:uppercase;font-weight:400;text-shadow:none}
.mon-date{font-size:10px;color:var(--mut);font-family:var(--mono);letter-spacing:.1em}
.mon-pnl{font-family:var(--mono);font-size:16px;font-weight:700}
.mon-events{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow:auto;margin-top:4px}
.mevent{font-family:var(--mono);font-size:9.5px;padding:5px 8px;border-radius:8px;border:1px solid var(--line2);background:rgba(255,255,255,.02);animation:slidein .3s ease-out}
.mevent.stop{color:var(--red);border-color:rgba(251,113,133,.35)}
.mevent.tp{color:var(--grn);border-color:rgba(52,211,153,.35)}
.mevent.vol{color:var(--amb);border-color:rgba(251,191,36,.3)}
.mevent.time{color:var(--cyans);border-color:rgba(56,189,248,.3)}
.mevent.trail{color:var(--ind);border-color:rgba(129,140,248,.3)}

.foot{
  max-width:1080px;margin:18px auto 0;padding:0 14px;
  font-family:var(--mono);font-size:9.5px;color:var(--mut);letter-spacing:.06em;
}

.modal{
  position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;
  background:rgba(3,6,12,.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  animation:fadein .25s ease-out;
}
.modal[hidden]{display:none}
.modal-card{
  width:min(580px,100%);max-height:88vh;overflow:auto;
  border-radius:16px;border:1px solid rgba(34,211,238,.45);
  background:linear-gradient(160deg,#0d1526,#0a1020);padding:16px;
  box-shadow:0 0 70px -12px var(--cyan);
  animation:reveal .35s ease-out;
}
.modal-head{margin-bottom:12px}
.modal-alert{
  font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--amb);
  font-weight:700;
}
.modal-sub{font-size:10px;color:var(--mut);margin-top:3px;font-family:var(--mono);letter-spacing:.08em}
.modal-body{margin-bottom:14px;display:flex;flex-direction:column;gap:8px}
.modal-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
.modal-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:4px}
.btn.approve{animation:pulse 1.6s infinite}

.insights{
  display:flex;flex-direction:column;min-height:100vh;
  background:var(--bg);
}
.insights[hidden]{display:none}
.insights.fly{animation:flyPage .5s cubic-bezier(.2,.9,.2,1)}
body.reviewing .topbar,
body.reviewing .ticker,
body.reviewing .flow,
body.reviewing .foot{display:none}
body.reviewing{padding-bottom:0}
.review-head{
  position:sticky;top:0;z-index:5;
  flex:none;display:flex;align-items:center;gap:10px;
  padding:14px 18px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(6,9,16,.98),rgba(6,9,16,.82));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.review-head h2{
  margin:0 auto 0 0;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);font-weight:700;
}
.insights-close{
  width:34px;height:34px;border-radius:50%;flex:none;
  border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--mut);
  font-size:18px;line-height:1;cursor:pointer;
}
.insights-close:hover{color:var(--txt);border-color:rgba(34,211,238,.5)}
.review-body{
  flex:1;width:100%;max-width:820px;margin:0 auto;
  padding:20px 18px 30px;display:flex;flex-direction:column;gap:15px;
}
.review-body p{margin:0;font-size:13px;line-height:1.7;color:#cfd9ec}
.review-body strong{color:#fff}
.review-body b{color:#e8eefb}
.rv-title{
  margin:.1em 0 .2em;font-size:19px;line-height:1.4;font-weight:700;
  background:linear-gradient(120deg,var(--cyan),var(--vio));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.rv-h{
  display:flex;align-items:center;gap:10px;
  margin:46px 0 .05em;padding-top:26px;border-top:1px solid var(--line);
  font-size:14.5px;font-weight:700;color:var(--txt);line-height:1.4;
}
.rv-num{
  flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;
  font-family:var(--mono);font-size:11px;color:#04070d;background:var(--cyan);
}
.rv-h4{margin:.5em 0 0;font-size:12px;letter-spacing:.1em;color:var(--cyan);text-transform:uppercase}
.rv-ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.rv-ul li{
  position:relative;padding:9px 13px 9px 32px;font-size:12.5px;line-height:1.5;
  border:1px solid var(--line2);border-radius:10px;background:rgba(255,255,255,.025);color:#cfd9ec;
}
.rv-ul li::before{
  content:'';position:absolute;left:12px;top:15px;width:7px;height:7px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 9px var(--cyan);
}
.rv-quote{
  position:relative;margin:0;padding:13px 16px 13px 18px;
  border-left:3px solid var(--cyan);border-radius:0 12px 12px 0;
  background:linear-gradient(90deg,rgba(34,211,238,.13),rgba(34,211,238,0));
  font-size:13.5px;line-height:1.6;color:#eaf2ff;font-weight:600;
}
.rv-dim{color:var(--mut);font-weight:400;font-size:12px}
.rv-chain{
  font-family:var(--mono);font-size:12px;color:#9fb2d4;
  padding:10px 13px;border:1px dashed rgba(125,165,255,.32);border-radius:10px;
  background:rgba(125,165,255,.06);
}
.rv-vs{display:flex;flex-direction:column;gap:8px;margin:2px 0}
.rv-vs>div{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;border-radius:12px;font-size:13px;font-family:var(--mono);
}
.rv-good{background:rgba(52,211,153,.14);border:1px solid rgba(52,211,153,.5);color:#7cf0c0}
.rv-good em{font-style:normal;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--grn)}
.rv-bad{background:rgba(251,113,133,.1);border:1px solid rgba(251,113,133,.35);color:#f6a3b2}
.rv-chart{
  margin:2px 0;padding:14px 12px 10px;border:1px solid var(--line2);border-radius:14px;
  background:radial-gradient(120% 130% at 50% 0%,rgba(34,211,238,.07),rgba(0,0,0,.16));
}
.rv-chart svg{width:100%;height:auto;display:block}
.rv-chart svg text{font-family:var(--mono)}
.rv-chart figcaption{margin-top:8px;font-size:11px;line-height:1.5;color:var(--mut);text-align:center}
.snow-track{
  position:relative;height:108px;margin:6px 0 2px;overflow:hidden;
  border-bottom:2px dashed rgba(125,165,255,.22);
}
.snowball{
  position:absolute;bottom:2px;left:0;width:10px;height:10px;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#ffffff,#dbe9ff 55%,#8fb7ff);
  box-shadow:0 0 22px rgba(180,210,255,.8),inset -4px -5px 10px rgba(90,130,220,.4);
  animation:snowroll 6s linear infinite;
}
.snowball::after{
  content:'';position:absolute;inset:0;border-radius:50%;opacity:.55;
  background:conic-gradient(from 0deg,rgba(255,255,255,.95),rgba(150,185,255,.15),rgba(255,255,255,.95));
}
@keyframes snowroll{
  0%{left:0;width:10px;height:10px;transform:rotate(0deg)}
  100%{left:calc(100% - 94px);width:94px;height:94px;transform:rotate(1080deg)}
}
.rv-icons{display:flex;flex-direction:column;gap:12px;margin:8px auto 2px;max-width:360px}
.rv-eq{
  display:grid;grid-template-columns:auto 40px 1fr;align-items:center;gap:16px;
  padding:14px 16px;border:1px solid var(--line2);border-radius:14px;background:rgba(255,255,255,.02);
}
.rv-eq svg{height:62px;width:auto;display:block}
.rv-eq-sign{
  font-family:var(--mono);font-size:30px;font-weight:700;color:var(--cyan);
  text-shadow:0 0 18px var(--cyan);line-height:1;text-align:center;
}
.rv-money-sign{
  font-family:var(--mono);font-size:32px;font-weight:700;letter-spacing:3px;line-height:1;
  color:var(--grn);text-shadow:0 0 18px rgba(52,211,153,.85);
}
.data-anim{display:flex;flex-direction:column;gap:12px;margin:10px auto 2px;max-width:340px}
.da-panel{
  display:grid;grid-template-columns:auto 34px 1fr;align-items:center;gap:14px;
  padding:12px 16px;border:1px solid var(--line2);border-radius:14px;background:rgba(255,255,255,.02);
}
.da-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.da-grid span{
  width:24px;height:24px;display:grid;place-items:center;border-radius:5px;
  font-family:var(--mono);font-size:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--line2);
  transition:color .15s,background .15s;
}
.da-bad .da-grid span{color:#8a97b3}
.da-good .da-grid span{color:var(--cyan);background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.3)}
.da-eq{font-family:var(--mono);font-size:24px;font-weight:700;color:var(--mut);text-align:center}
.da-res{font-family:var(--mono);font-size:30px;font-weight:700;line-height:1}
.da-bad .da-res{color:var(--red);text-shadow:0 0 14px rgba(251,113,133,.6)}
.da-good .da-res{
  color:var(--grn);letter-spacing:2px;text-shadow:0 0 18px rgba(52,211,153,.85);
  animation:damoney 1.4s ease-in-out infinite;
}
@keyframes damoney{0%,100%{opacity:1}50%{opacity:.5}}

.verify-stage{
  position:relative;width:100%;max-width:520px;aspect-ratio:400/260;margin:12px auto 4px;overflow:hidden;
  border:1px solid var(--line2);border-radius:14px;
  background:radial-gradient(120% 120% at 50% 0%,rgba(34,211,238,.06),rgba(0,0,0,.22));
}
#verifyCanvas{width:100%;height:100%;display:block}

.sf-stage{
  position:relative;height:250px;margin:12px 0 4px;overflow:hidden;
  border:1px solid var(--line2);border-radius:14px;
  background:linear-gradient(180deg,rgba(34,211,238,.06),rgba(0,0,0,.25));
}
.sf-stage svg{width:100%;height:100%;display:block}
.sf-label{
  position:absolute;top:10px;z-index:2;
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  padding:4px 9px;border-radius:999px;background:rgba(6,9,16,.6);
}
.sf-old-label{left:12px;color:#b7c3da;border:1px solid rgba(154,168,194,.5)}
.sf-new-label{right:12px;color:var(--cyan);border:1px solid rgba(34,211,238,.55)}
.sf-win{
  position:absolute;left:50%;top:34%;z-index:2;pointer-events:none;
  transform:translate(-50%,-50%) scale(.6);opacity:0;
  font-family:var(--mono);font-size:18px;font-weight:700;letter-spacing:.22em;
  color:var(--grn);text-shadow:0 0 26px var(--grn);
  animation:sfwin 6s ease-in-out infinite;
}
.fighter{transform-box:fill-box;transform-origin:center bottom}
.fighter.old{animation:sfOld 6s ease-in-out infinite}
.fighter.new{animation:sfNew 6s ease-in-out infinite}
.sf-spark{opacity:0;transform-box:fill-box;transform-origin:center}
.sf-spark.s1{animation:sfSpark1 6s ease-in-out infinite}
.sf-spark.s2{animation:sfSpark2 6s ease-in-out infinite}
@keyframes sfOld{
  0%,10%{transform:translate(0,0) rotate(0)}
  20%{transform:translate(-6px,0) rotate(0)}
  27%{transform:translate(-16px,2px) rotate(-8deg)}
  42%{transform:translate(-4px,0) rotate(-2deg)}
  52%{transform:translate(14px,-4px) rotate(0)}
  60%{transform:translate(6px,0) rotate(0)}
  68%{transform:translate(-18px,4px) rotate(-10deg)}
  78%{transform:translate(-64px,44px) rotate(-84deg)}
  90%,100%{transform:translate(-64px,44px) rotate(-84deg)}
}
@keyframes sfNew{
  0%,10%{transform:translate(0,0)}
  20%{transform:translate(-12px,0)}
  27%{transform:translate(-30px,0)}
  42%{transform:translate(-4px,0)}
  52%{transform:translate(8px,0)}
  60%{transform:translate(-34px,0)}
  68%{transform:translate(-10px,0)}
  78%{transform:translate(-8px,-18px)}
  86%{transform:translate(-8px,-10px)}
  92%,100%{transform:translate(-6px,-8px)}
}
@keyframes sfSpark1{
  0%,23%{opacity:0;transform:scale(.6)}
  27%{opacity:1;transform:scale(1)}
  34%{opacity:0;transform:scale(1.2)}
  100%{opacity:0}
}
@keyframes sfSpark2{
  0%,62%{opacity:0;transform:scale(.6)}
  67%{opacity:1;transform:scale(1.1)}
  74%{opacity:0;transform:scale(1.3)}
  100%{opacity:0}
}
@keyframes sfwin{
  0%,80%{opacity:0;transform:translate(-50%,-50%) scale(.6)}
  86%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}
  92%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  98%,100%{opacity:0;transform:translate(-50%,-50%) scale(1)}
}
.rv-ending{
  position:relative;overflow:hidden;margin:18px 0 6px;padding:28px 20px 30px;border-radius:18px;
  text-align:center;border:1px solid rgba(34,211,238,.35);
  background:
    radial-gradient(130% 170% at 50% 0%,rgba(34,211,238,.14),transparent 62%),
    radial-gradient(130% 170% at 50% 100%,rgba(167,139,250,.12),transparent 62%),
    rgba(255,255,255,.02);
  box-shadow:inset 0 0 64px -22px var(--cyan);
}
.rv-ending::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:64px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--cyan),var(--vio));
  box-shadow:0 0 16px var(--cyan);
}
.rv-ending em{
  display:inline-block;font-style:normal;font-family:var(--mono);font-size:10px;
  letter-spacing:.34em;text-transform:uppercase;color:var(--mut);margin-bottom:14px;
}
.rv-ending p{
  margin:0;font-size:17px;line-height:1.7;font-weight:700;
  background:linear-gradient(120deg,var(--cyan),var(--vio));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
@media (min-width:820px){ .rv-ending p{font-size:20px} }
.rv-endlist{list-style:none;counter-reset:end;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.rv-endlist li{
  position:relative;padding:13px 14px 13px 46px;text-align:left;
  border:1px solid var(--line2);border-radius:12px;background:rgba(255,255,255,.03);
  font-size:14px;line-height:1.5;font-weight:600;color:#eaf2ff;
}
.rv-endlist li::before{
  counter-increment:end;content:counter(end);
  position:absolute;left:13px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--mono);font-size:11px;font-weight:700;color:#04070d;background:var(--cyan);
}
.rv-endlist li:first-child{
  background:linear-gradient(120deg,rgba(34,211,238,.16),rgba(167,139,250,.16));
  border-color:rgba(34,211,238,.45);
}
.review-foot{
  position:sticky;bottom:0;z-index:5;
  flex:none;padding:12px 18px;border-top:1px solid var(--line);
  background:linear-gradient(0deg,rgba(6,9,16,.98),rgba(6,9,16,.82));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  opacity:0;pointer-events:none;transform:translateY(120%);
  transition:opacity .35s ease,transform .35s ease;
}
.review-foot.show{opacity:1;pointer-events:auto;transform:none}
.review-foot .btn{width:100%}
@keyframes flyPage{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}

.toast{
  position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:130;
  max-width:92vw;padding:12px 16px;border-radius:12px;
  font-family:var(--mono);font-size:11px;letter-spacing:.05em;
  background:linear-gradient(160deg,#0d1526,#0a1020);
  border:1px solid var(--line);box-shadow:0 20px 50px -18px #000;
  animation:reveal .35s ease-out;
}
.toast[hidden]{display:none}
.toast.ok{border-color:rgba(52,211,153,.5)}
.toast.err{border-color:rgba(251,113,133,.5)}

@keyframes flowline{to{background-position:0 200%}}
@keyframes drop{0%{top:0;opacity:0}15%{opacity:1}100%{top:38px;opacity:0}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes flash{
  0%{box-shadow:0 0 0 2px var(--acc),0 0 70px -4px var(--acc)}
  100%{box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 30%,transparent),0 0 30px -18px var(--acc)}
}
@keyframes cellpulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.22)}}
@keyframes reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes slidein{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media (min-width:820px){
  .stage-dual{grid-template-columns:1fr 1fr}
  .flow{padding:20px 20px 8px}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .terminal{max-height:230px}
  .big{font-size:26px}
  .mon-clock{font-size:32px}
}

@media (max-width:560px){
  .brand-txt p{display:none}
  .brand-txt h1{font-size:12px;letter-spacing:.16em}
  .pipeline{top:52px}
  .matrix{grid-template-columns:44px repeat(3,1fr);gap:4px;font-size:9px}
  .mcell{padding:5px 4px;min-height:38px}
  .mcell b{font-size:8.5px}
  .mcell span{font-size:7px}
  .mhead{font-size:8px}
  .mlabel{font-size:8px}
  .big{font-size:20px}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important}
}
