:root{--bg:#070b16;--win:rgba(12,18,34,.82);--pn:rgba(16,24,46,.62);--ln:rgba(150,176,220,.18);--tx:#e7eefc;--mu:#8b97b3;--cy:#4ee3f5;--pk:#f0457f;--pu:#a87cf0;--gr:#3ee88a;--am:#f5b54a;--bl:#7c9cff;--red:#ef4444}
*{box-sizing:border-box;margin:0;padding:0}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
body{background:var(--bg);color:var(--tx);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.mono,.log,.ph,.foot,.sub2{font-family:'JetBrains Mono',ui-monospace,monospace}
.g{color:var(--gr)}.r{color:var(--red)}.muted{color:var(--mu)}
/* ---------- desktop (819px design space, zoomed) ---------- */
.desk{min-height:100vh;padding:16px 18px;background:radial-gradient(600px 300px at 100% 0,#2a1446 0,transparent 70%),radial-gradient(500px 300px at 0 100%,#10302a 0,transparent 70%),var(--bg)}
.win{width:min(1100px,calc(100% - 8px));margin:0 auto;background:var(--win);border:1px solid var(--ln);border-radius:14px;padding:0 10px 14px;zoom:var(--z,1);backdrop-filter:blur(16px)}
.tbar{height:28px;display:flex;align-items:center;gap:6px;position:relative}.d{width:9px;height:9px;border-radius:50%;display:inline-block}.d.r{background:#ff5f57}.d.y{background:#febc2e}.d.g{background:#28c840}
.ttl{position:absolute;left:0;right:0;text-align:center;font:10px 'JetBrains Mono',monospace;color:var(--mu);pointer-events:none}
.modesw{margin-left:auto;font:9px 'JetBrains Mono',monospace;color:var(--gr);border:1px solid #2c6b4c;border-radius:5px;padding:2px 7px;position:relative}.modesw s{color:var(--mu)}
.hd{display:grid;grid-template-columns:92px 1fr auto;align-items:center;height:118px;padding:0 4px}
.brandrow{display:flex;flex-direction:column;align-items:center;gap:4px}.logoimg{width:62px;height:62px;filter:drop-shadow(0 0 14px #a87cf088)}.logotxt{font:800 15px Inter;letter-spacing:.02em}
.h1{font:700 28px/1 Inter;letter-spacing:-.02em;display:flex;align-items:center;gap:14px}.ver{font:500 10px 'JetBrains Mono';padding:3px 8px;border-radius:5px;background:linear-gradient(90deg,#a855f7,#22c55e);color:#fff}
.run{margin-top:10px;font:12px 'JetBrains Mono';display:flex;align-items:center;gap:6px}.startbtn{display:flex;align-items:center;gap:6px;font:12px 'JetBrains Mono'}
.dot{width:7px;height:7px;border-radius:50%;background:#555;display:inline-block}.dot.on{background:var(--gr);box-shadow:0 0 6px var(--gr);animation:bl 1.4s infinite}@keyframes bl{50%{opacity:.4}}
.hstat{margin-left:8px;font:600 9px 'JetBrains Mono';border:1px solid var(--gr);color:var(--gr);padding:3px 7px;border-radius:4px;text-transform:uppercase}
.sub{margin-top:10px;font:11px Inter;color:var(--mu)}
.hright{text-align:right}.bal,.odo,.nt-pnl,#clock,#mBal,#mCd,.pnl,.gnum,.st b,.rule .x{font-variant-numeric:tabular-nums;font-family:'JetBrains Mono',ui-monospace,monospace}.bsub{font:9px Inter;color:var(--mu);margin-top:6px}.trades{font:11px 'JetBrains Mono';margin-top:8px}.spark{width:80px;height:12px;margin-top:4px}
.body{display:grid;grid-template-columns:212px 1fr;gap:10px}
.agents{display:flex;flex-direction:column;gap:8px}
.ag{height:112px;border:1px solid var(--ln);border-radius:9px;background:var(--pn);padding:10px 10px;position:relative;transition:.3s}
.ag.act{border-color:var(--c);box-shadow:0 0 0 1px color-mix(in srgb,var(--c) 30%,transparent),0 0 18px color-mix(in srgb,var(--c) 18%,transparent);background:color-mix(in srgb,var(--c) 5%,var(--pn))}
.ag .ic{position:absolute;left:10px;top:12px;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);font-size:12px}
.ag .nm{margin-left:34px;font:700 13px Inter;color:var(--c);letter-spacing:.01em}.ag .rl{margin-left:34px;font:9.5px Inter;color:#a9a4bd}
.ag .bd{position:absolute;right:10px;top:12px;font:600 8px 'JetBrains Mono';padding:2px 6px;border-radius:4px;border:1px solid var(--mu);color:#aaa;text-transform:uppercase}.ag .bd.on{border-color:var(--c);color:var(--c)}
.ag .ds{margin-top:12px;font:600 10.5px/1.35 Inter;color:var(--c)}.ag .ft{position:absolute;left:10px;bottom:10px;font:9.5px 'JetBrains Mono';color:#a09bb3}
.main{display:flex;flex-direction:column;gap:12px}
.pn{border:1px solid var(--ln);border-radius:9px;background:var(--pn);padding:10px 12px;backdrop-filter:blur(16px)}.ph{white-space:nowrap;display:flex;justify-content:space-between;align-items:center;font:500 8.5px 'JetBrains Mono';letter-spacing:.12em;color:#b9b4cc;text-transform:uppercase;margin-bottom:10px}.ph .w{text-transform:none;letter-spacing:0;font-size:10px;color:var(--tx)}
.tag{font:600 9px 'JetBrains Mono';padding:2px 6px;border-radius:4px;border:1px solid;letter-spacing:0;text-transform:none}.tag.pink{color:var(--pk);border-color:var(--pk)}.tag.purple{color:var(--pu);border-color:var(--pu)}
.flow{height:186px}.pairs{display:flex;gap:6px;overflow:hidden;height:42px}
.pc{flex:0 0 97px;border:1px solid var(--ln);border-radius:6px;padding:5px 8px;background:#0b0916;position:relative;animation:slin .5s ease}.pc b{font:700 10.5px 'JetBrains Mono';display:block;white-space:nowrap;overflow:hidden}.pc small{white-space:nowrap;font:8px 'JetBrains Mono';color:var(--mu)}.pc i{position:absolute;right:6px;top:6px;width:5px;height:5px;border-radius:50%;background:var(--cy)}.pc.old{opacity:.35}
@keyframes slin{from{transform:translateX(30px);opacity:0}}
.pipe{display:flex;justify-content:space-between;align-items:flex-start;margin-top:26px;position:relative;padding:0 14px}
.pipe:before{content:'';position:absolute;left:40px;right:40px;top:19px;border-top:1px dashed #3a3450}
.nd{width:70px;text-align:center;position:relative;z-index:1}.nd .c{width:38px;height:38px;border-radius:50%;margin:0 auto;display:grid;place-items:center;border:1.5px solid var(--c);background:color-mix(in srgb,var(--c) 14%,#0b0916);color:var(--c);font-size:15px;transition:.3s}
.nd.act .c{box-shadow:0 0 0 5px color-mix(in srgb,var(--c) 18%,transparent),0 0 20px var(--c)}.nd b{display:block;font:600 8px 'JetBrains Mono';color:var(--c);margin-top:7px;letter-spacing:.05em}.nd small{font:9px 'JetBrains Mono';color:#a9a4bd}
.nd .fly{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font:600 8.5px 'JetBrains Mono';padding:1px 5px;border-radius:4px;border:1px solid var(--c);color:var(--c);background:#0b0916;white-space:nowrap}
.pkt{position:absolute;top:17px;width:5px;height:5px;border-radius:50%;background:var(--cy);box-shadow:0 0 6px var(--cy);transition:left .6s linear}
.row2{display:grid;grid-template-columns:266px 1fr;gap:10px}.fil,.ana{height:224px;position:relative}
.rule{display:grid;grid-template-columns:16px 1fr 70px 30px;align-items:center;height:18.6px;font:10.2px Inter}.rule .ck{width:11px;height:11px;border-radius:50%;background:#2a2540;display:grid;place-items:center;font-size:8px;color:#04120a}
.rule.ok .ck{background:var(--gr)}.rule.bad .ck{background:var(--pk);color:#fff}.rule.chk .ck{background:none;border:1.5px solid var(--am);animation:sp 1s linear infinite;border-right-color:transparent}.rule.skip .ck{background:#2a2540;color:#888}
@keyframes sp{to{transform:rotate(360deg)}}.rule .v{font:9.5px 'JetBrains Mono';color:var(--gr)}.rule.bad .v{color:var(--pk)}.rule.skip .v{color:var(--mu)}.rule .x{font:8px 'JetBrains Mono';color:var(--mu);text-align:right}
.foot{position:absolute;left:10px;right:10px;bottom:10px;height:27px;border:1px solid var(--ln);border-radius:6px;display:grid;place-items:center;font:600 10px 'JetBrains Mono';color:#a9a4bd}.foot.kill{border-color:var(--pk);color:var(--pk);background:#f0457f14}.foot.pass{border-color:var(--gr);color:var(--gr);background:#3ee88a10}.foot.sc{border-color:var(--pu);color:var(--pu)}
.anab{display:grid;grid-template-columns:150px 1fr;gap:12px}.fac{height:25.7px}.fac .l{display:flex;justify-content:space-between;font:10px Inter}.fac .l b{font:500 10px 'JetBrains Mono';color:var(--pu)}.fac .t{height:4px;background:#221d35;border-radius:3px;margin-top:4px;width:122px}.fac .f{height:100%;background:var(--pu);border-radius:3px;transition:width .5s}
.gaugew{position:relative;text-align:center}.gauge{width:92px;height:92px;transform:rotate(-90deg);margin-top:4px}.gbg{fill:none;stroke:#221d35;stroke-width:8}.gfg{fill:none;stroke:var(--pu);stroke-width:8;stroke-linecap:round;stroke-dasharray:251.3;stroke-dashoffset:251.3;transition:stroke-dashoffset .6s,stroke .3s}.gtick{stroke:var(--am);stroke-width:2}
.gnum{position:absolute;top:24px;left:0;right:0;font:700 34px 'JetBrains Mono';color:var(--gr)}.glbl{font:9px 'JetBrains Mono';color:var(--mu);margin-top:-14px}.gnote{font:9px 'JetBrains Mono';color:var(--mu);margin-top:18px;line-height:1.25}
.exe{height:178px}.exeb{display:grid;grid-template-columns:1fr 168px;gap:12px}#chart{width:100%;height:140px}
.exer .tk{font:700 17px 'JetBrains Mono'}.pill{display:inline-block;margin:5px 0 12px;font:600 9px 'JetBrains Mono';padding:3px 7px;border:1px solid var(--mu);border-radius:4px;color:#bbb}.pill.trail{border-color:var(--am);color:var(--am)}.pill.closed{border-color:var(--gr);color:var(--gr)}.pill.loss{border-color:var(--pk);color:var(--pk)}
.kv{display:flex;justify-content:space-between;font:9.5px 'JetBrains Mono';color:#bbb;height:15px}.kv b{font-weight:500;color:var(--tx)}.pnl{font:700 20px 'JetBrains Mono';margin-top:10px;color:var(--gr)}.pnl.neg{color:var(--pk)}
.stats,.tail{height:208px;position:relative}.st{display:grid;grid-template-columns:100px 1fr 50px;align-items:center;height:18.6px;font:10px Inter}.st .bar{height:4px;border-radius:3px;transition:width .6s}.st b{text-align:right;font:500 10.5px 'JetBrains Mono'}
.disc{position:absolute;left:12px;right:12px;bottom:8px;font:7.5px Inter;color:var(--mu);line-height:1.35}
.log{font-size:9px;line-height:16.2px;height:170px;overflow:hidden}.ll{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ll .t{color:var(--mu)}.ll .k{font-weight:700;display:inline-block;width:38px}
.k.PASS{color:var(--gr)}.k.SCORE{color:var(--pu)}.k.WIN{color:var(--gr)}.k.KILL{color:var(--pk)}.k.LOSS{color:var(--pk)}.k.ENTER{color:var(--cy)}.k.STOP{color:var(--am)}.k.TRAIL{color:var(--am)}.k.EXIT{color:var(--gr)}.k.SCAN{color:var(--cy)}.k.CRON{color:var(--bl)}.k.WARN{color:var(--am)}
.cur{display:inline-block;width:6px;height:10px;background:var(--gr);vertical-align:middle;animation:bl 1s infinite}
/* ---------- mobile (473px design space) ---------- */
.mob{background:#000;min-height:100vh;color:#fff;padding:0 16px 24px;font-family:Inter,system-ui,sans-serif;position:relative;overflow:hidden}
.mobz{zoom:var(--mz,1)}
.splash{position:fixed;inset:0;background:radial-gradient(circle at 50% 40%,#1c1c1f,#000 60%);z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;transition:opacity .6s}.splash.gone{opacity:0;pointer-events:none}
.splogo{width:126px;height:126px;filter:drop-shadow(0 0 20px #ffffff44)}.spt{font:800 34px Inter;letter-spacing:-.02em}.sps{font:13px Inter;color:#8a8a8e}.spbar{width:148px;height:3px;background:#333;border-radius:2px;margin-top:20px;overflow:hidden}.spbar i{display:block;height:100%;background:#fff;width:0;animation:ld 1.4s forwards}@keyframes ld{to{width:100%}}
.pm{font:800 10px Inter;background:#f2a414;color:#1a1000;padding:4px 7px;border-radius:5px;letter-spacing:.03em}
.mhd{display:flex;align-items:center;gap:10px;padding-top:62px}.mlogo{width:46px;height:46px;border-radius:10px;background:#1b1a1d;padding:5px}.mlogo.s{width:36px;height:36px;border-radius:50%}.mt{font:800 27px Inter;letter-spacing:-.02em}
.mlive{margin-left:auto;display:flex;align-items:center;gap:6px;font:700 13px Inter;color:#888}.mlive.on{color:var(--gr)}.mlive .dot{width:6px;height:6px}
.msub{font:13px Inter;color:#8a8a8e;margin:8px 0 12px}
.mcard{background:#1b1a1d;border-radius:22px;padding:20px 22px}.mbal{display:flex;justify-content:space-between;align-items:center;min-height:118px}
.lab{font:700 11px Inter;letter-spacing:.07em;color:#8a8a8e}.lab2{font:12px Inter;color:#8a8a8e}.mbig{font:800 44px/1.05 Inter;letter-spacing:-.03em;margin-top:4px}.mbig span{color:#8a8a8e;font-size:28px}
.msm{font:13px Inter;color:#8a8a8e;margin-top:4px}.ring{position:relative;width:76px;text-align:center}.ring svg{width:76px;height:76px;transform:rotate(-90deg)}.rbg{fill:none;stroke:#333;stroke-width:6}.rfg{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-dasharray:213.6;transition:.6s}
.ring b{position:absolute;top:28px;left:0;right:0;font:700 14px Inter}.ring small{display:block;font:10px Inter;color:#8a8a8e;white-space:nowrap;margin-left:-20px;margin-right:-20px}
.mwork{margin-top:12px;min-height:476px}.mwh{display:flex;justify-content:space-between}.mtok{display:flex;gap:14px;align-items:center;margin:18px 0 22px}.tav{width:56px;height:56px;border-radius:50%;background:#2b3a4a;display:grid;place-items:center;font:800 20px Inter;overflow:hidden}.tav img{width:100%;height:100%;object-fit:cover}
.mtt{font:800 26px Inter}.mts{font:13px Inter;color:#8a8a8e}
.msteps{list-style:none;position:relative}.msteps li{position:relative;padding-left:40px;min-height:42px;margin-bottom:0}
.msteps li:before{content:'';position:absolute;left:12px;top:26px;bottom:-4px;width:2px;background:#333}.msteps li:last-child:before{display:none}.msteps li.done:before{background:var(--gr)}
.msteps .bub{position:absolute;left:0;top:2px;width:26px;height:26px;border-radius:50%;border:2px solid #333;display:grid;place-items:center;font:800 13px Inter;color:#000}
.msteps li.done .bub{background:#3ee85d;border-color:#3ee85d}.msteps li.act .bub{border-color:#fff;border-right-color:#333;animation:sp 1s linear infinite}.msteps li.fail .bub{background:var(--red);border-color:var(--red);color:#fff}
.msteps .st1{font:700 16px Inter}.msteps li.pend .st1{color:#444}.msteps li.pend .st2{color:#333}.msteps .st2{font:12px Inter;color:#8a8a8e;margin-top:1px}.msteps .agl{position:absolute;right:0;top:6px;font:600 9px Inter;letter-spacing:.06em;color:#555}
.mchips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.mchips span{font:700 11px Inter;padding:4px 6px;border-radius:5px;background:#203a26;color:#3ee85d}.mchips span.bad{background:#3a1d1d;color:#ff6b6b}
.mlogh{display:flex;justify-content:space-between;align-items:baseline;margin:22px 4px 8px}.mlogh b{font:700 18px Inter}.mlogh span{font:12px Inter;color:#8a8a8e}
.mrow{display:grid;grid-template-columns:30px 98px 1fr auto;align-items:center;background:#181818;border-radius:12px;height:42px;padding:0 14px;margin-bottom:5px;font:12px Inter;animation:slin .4s}.mrow .tkn{font:800 15px Inter}.mrow .why{color:#8a8a8e}.mrow .amt{font:700 15px Inter;color:#8a8a8e}.mrow .amt.g{color:var(--gr)}.mrow .amt.r{color:var(--red)}
.mrep{display:block;width:100%;height:52px;border-radius:26px;background:#2c2b2e;font:700 16px Inter;color:#8a8a8e;margin-top:8px}.mrep.ready{color:#fff}
.mfoot{text-align:center;font:10px Inter;color:#555;margin-top:12px}
.sheet{position:fixed;left:0;right:0;bottom:0;top:288px;background:#1b1a1d;border-radius:22px 22px 0 0;padding:10px 26px;transform:translateY(105%);transition:transform .45s cubic-bezier(.2,.8,.2,1);z-index:10;overflow:auto}.sheet.open{transform:none}
.grab{width:40px;height:4px;background:#555;border-radius:2px;margin:0 auto 16px}.shh{display:flex;gap:10px;align-items:center}.shh b{font:800 21px Inter;display:block}.shh small{font:12px Inter;color:#8a8a8e}
.rsub{font:700 14px Inter;margin-top:4px}#rChart{width:100%;height:110px;margin-top:14px}.rax{display:flex;justify-content:space-between;font:11px Inter;color:#8a8a8e}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.rc{background:#2a292d;border-radius:12px;padding:10px 12px}.rc b{font:800 19px Inter;display:block}.rc small{font:11px Inter;color:#8a8a8e}
.kph{display:flex;justify-content:space-between;margin:16px 0 6px}.kph b{font:800 16px Inter}.kph span{font:12px Inter;color:#8a8a8e}
.kr{display:grid;grid-template-columns:196px 1fr;align-items:center;height:22px;font:12px Inter}.kr i{display:inline-block;height:9px;border-radius:5px;background:#f2a414;vertical-align:middle;margin-right:8px;transition:width .8s}.kr b{font:700 12px Inter}
.mob.dim>*:not(.sheet){opacity:.35;transition:opacity .4s}
/* ---------- view switcher ---------- */
.vsw{position:fixed;top:10px;left:50%;transform:translateX(-50%);z-index:50;display:flex;gap:2px;padding:3px;background:#0f0d18e6;border:1px solid #2a2540;border-radius:999px;backdrop-filter:blur(8px)}
.vsw button{position:relative;z-index:1;font:600 12px Inter;color:#9b96ad;padding:6px 16px;border-radius:999px;transition:color .3s}.vsw button.on{color:#fff}
.vsw i{position:absolute;top:3px;bottom:3px;border-radius:999px;background:linear-gradient(90deg,#7c3aed,#22c55e);transition:left .35s cubic-bezier(.2,.8,.2,1),width .35s}
.desk,.mob,.sw{display:none}
body.view-terminal .desk,body.view-swarm .sw{display:block}body.view-mobile .mob{display:block}
.vfade{animation:vf .45s cubic-bezier(.2,.8,.2,1)}@keyframes vf{from{opacity:0;transform:translateY(14px) scale(.985)}}
.desk{padding-top:52px}
/* mobile view inside phone frame on desktop */
body.view-mobile{background:radial-gradient(circle at 50% 30%,#1a1a1e,#000 70%)}
@media (min-width:761px){body.view-mobile .mob{width:473px;height:1024px;margin:56px auto 30px;border:10px solid #1f1f22;border-radius:56px;box-shadow:0 0 0 2px #3a3a3e,0 30px 80px #000;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
 body.view-mobile .mob .splash{position:absolute}body.view-mobile .mob .sheet{position:absolute;top:288px;bottom:auto;height:736px;display:none}body.view-mobile .mob .sheet.open{display:block}}
@media (max-width:760px){.mob .mhd{padding-top:56px}}
/* ---------- swarm (819px design space) ---------- */
.sw{min-height:100vh;padding:52px 0 20px;background:radial-gradient(900px 700px at 50% 40%,#0b4a29,#063018 70%,#04210f)}
.swin{width:819px;margin:0 auto;padding:0 26px;zoom:var(--z,1);font-family:Inter;color:#e6f5ec}
.swc{background:#041f0fcc;border:1px solid #14552f;border-radius:10px}
.swh{display:flex;align-items:center;gap:8px;height:54px}.swlogo{width:28px;height:28px;border:1.5px solid #36fd8a;border-radius:7px;display:grid;place-items:center;background:#06301a}.swlogo img{width:20px;height:20px}
.swt{font:800 18px Inter;margin-left:6px}.swm{font:11px 'JetBrains Mono';color:#8fbca0}.swm b{color:#e6f5ec;font-weight:500}
.swlive{margin-left:auto;display:flex;align-items:center;gap:6px;font:700 11px 'JetBrains Mono';color:#ff6b6b;border:1px solid #7a2a2a;background:#2a0d0d;padding:4px 9px;border-radius:6px}.swlive i{width:6px;height:6px;border-radius:50%;background:#ff4d4d;animation:bl 1.2s infinite}
.swlive{color:#f5b54a;border-color:#7a5a1a;background:#2a1d05}.swlive i{background:#f5b54a}.swlock{font:600 9px 'JetBrains Mono';color:#6a8c78}body.live-on .swlock,body.live-on .swfoot b{color:#fca5a5}
.swclk{font:600 12px 'JetBrains Mono';margin-left:10px}.swbat{width:20px;height:10px;border:1.5px solid #cfe;border-radius:3px;padding:1px}.swbat i{display:block;height:100%;background:#f5b54a;width:30%}.swpct{font:700 11px Inter}
.swg{display:grid;grid-template-columns:394px 360px;gap:13px;margin-top:6px}
.swbal{height:178px;padding:12px 14px;position:relative}.swbh{display:flex;justify-content:space-between;font:500 9px 'JetBrains Mono';letter-spacing:.12em;color:#8fbca0}.swbh span:last-child{letter-spacing:0;font-size:8.5px}
.swbig{font:800 50px/1 Inter;color:#36fd8a;letter-spacing:-.03em;margin-top:6px;text-shadow:0 0 18px #36fd8a55}.swbig sub{font-size:22px;vertical-align:baseline;color:#a6e9c3}
.swdel{position:absolute;right:14px;top:58px;text-align:right;font:700 15px/1.1 'JetBrains Mono'}.swdel div{animation:slin .4s}
.swchips{display:flex;gap:6px;align-items:center;margin-top:8px}.ch{font:600 9.5px 'JetBrains Mono';padding:2px 6px;border-radius:4px;border:1px solid}.ch.g{color:#36fd8a;border-color:#1f7a45;background:#0a3a1e}.ch.r{color:#ff6b6b;border-color:#7a2a2a;background:#2a0d0d}.ath{font:9.5px 'JetBrains Mono';color:#cfe}
#swSpark{position:absolute;left:14px;right:14px;bottom:8px;height:44px;width:calc(100% - 28px)}
.swtiles{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.swc.t{height:56px;padding:7px 9px}.t small{display:block;font:500 8px 'JetBrains Mono';letter-spacing:.1em;color:#8fbca0}.t b{font:800 18px 'JetBrains Mono';display:block;margin-top:2px}.t b span{font-size:11px;color:#8fbca0}.t em{font:normal 7.5px 'JetBrains Mono';color:#6a8c78}
.t b.r{color:#ff6b6b}.t b.g{color:#36fd8a}
.swsq{display:flex;gap:3px;margin:9px 0;height:8px}.swsq i{width:8px;height:8px;border-radius:2px;background:#164a2b}.swsq i.w{background:#36fd8a}.swsq i.l{background:#ff4d4d}.swsq i.o{background:#f5b54a;animation:bl 1s infinite}
.swlog{height:462px;padding:0;overflow:hidden}.swtabs{display:flex;gap:16px;align-items:center;height:32px;padding:0 14px;border-bottom:1px solid #14552f;font:10.5px 'JetBrains Mono';color:#6a8c78}.swtabs b{color:#e6f5ec;border-bottom:2px solid #36fd8a;padding:8px 0}.swtabs em{margin-left:auto;font-style:normal}
.swll{padding:4px 0;font:10.3px/16.3px 'JetBrains Mono'}.swl1{display:flex;gap:8px;padding-left:6px;white-space:nowrap;overflow:hidden}.swl1 .tm{color:#6a8c78}.swl1 .tx{border-left:2px solid var(--a);padding-left:5px}.swl1 .an{color:var(--a);font-weight:700}
.swl1 .g{color:#36fd8a;font-weight:700}.swl1 .r{color:#ff6b6b;font-weight:700}.swl1 .c{color:#8fbca0}.swl1.new{animation:slin .35s}
.swpos{margin-top:13px;height:176px;padding:10px 12px}.swph{display:flex;justify-content:space-between;font:500 9px 'JetBrains Mono';letter-spacing:.12em;color:#8fbca0;margin-bottom:6px}.swph b{letter-spacing:0;color:#e6f5ec;font-weight:600}
.pr{display:grid;grid-template-columns:18px 22px 34px 1fr auto;align-items:center;gap:6px;height:29px;font:600 11px Inter;padding:0 6px}.pr .n{font:9px 'JetBrains Mono';color:#6a8c78}.pr .bb{font:700 8px Inter;background:#16502d;color:#36fd8a;padding:2px 4px;border-radius:3px}.pr .sp{color:#6a8c78;font-weight:400;font-size:9px;margin-left:5px}.pr .v{font:700 11px 'JetBrains Mono'}
.pr .ic{width:13px;height:13px;border-radius:50%;display:grid;place-items:center;font-size:8px;color:#04120a}.pr .ic.w{background:#36fd8a}.pr .ic.l{background:#ff4d4d;color:#fff}.pr .ic.o{border:1.5px solid #f5b54a;border-right-color:transparent;animation:sp 1s linear infinite}
.pr.open{border:1px solid #8a6d1c;background:#2a2405;border-radius:6px;margin:3px 0}.pr.open .v{color:#f5b54a}
.swags{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.agc{height:130px;border-radius:10px;border:1.5px solid #14552f;background:#041f0fcc;text-align:center;padding-top:8px;transition:.3s}.agc.on{border-color:var(--a);box-shadow:0 0 14px color-mix(in srgb,var(--a) 50%,transparent)}
.agc svg{width:40px;height:40px}.agc b{display:block;font:700 11.5px Inter;margin-top:2px}.agc small{display:block;font:8px 'JetBrains Mono';color:#8fbca0}.agc .st{display:inline-block;margin-top:5px;font:600 7.5px 'JetBrains Mono';padding:2px 5px;border-radius:4px;background:#0a2a16;color:var(--a);border:1px solid color-mix(in srgb,var(--a) 50%,transparent)}.agc .st:before{content:'● ';font-size:6px}.agc em{display:block;font:normal 8px 'JetBrains Mono';color:#6a8c78;margin-top:4px}
.swmir{margin-top:12px;height:778px;position:relative;padding:0}.swmh{display:flex;gap:6px;align-items:center;height:28px;padding:0 12px;font:9.5px 'JetBrains Mono';color:#8fbca0}.swmh i{width:6px;height:6px;border-radius:50%;background:#36fd8a}.swmh b{color:#e6f5ec;font-weight:500}.swmh span{margin-left:auto}
.swph2{margin:20px auto 0;width:300px;height:620px;border-radius:44px;background:#0d0f0e;border:2px solid #3a3d3b;padding:9px;box-shadow:0 20px 40px #0008}
.swscr{height:100%;border-radius:36px;background:#0a120d;overflow:hidden;position:relative;padding:12px 14px;color:#fff}
.swsb{display:flex;justify-content:space-between;font:700 11px Inter;padding:0 8px}.swsb span{font-size:8px;letter-spacing:1px}
.swtoast{display:flex;align-items:center;gap:8px;background:#1b2a20;border:1px solid #2a3f30;border-radius:12px;padding:7px 10px;margin-top:10px;transition:.4s}.swtoast i{width:20px;height:20px;border-radius:50%;background:#f5b54a;color:#000;display:grid;place-items:center;font-style:normal;font-size:11px}.swtoast b{display:block;font:700 10.5px Inter}.swtoast small{font:8.5px Inter;color:#8fbca0}.swtoast span{margin-left:auto;font:700 12px 'JetBrains Mono'}
.swtoast.pulse{animation:tp .5s}@keyframes tp{from{transform:translateY(-16px);opacity:0}}
.swpair{display:flex;align-items:center;gap:6px;margin-top:8px;font:800 13px Inter}.swpair em{font:700 7px Inter;font-style:normal;background:#16502d;color:#36fd8a;padding:2px 4px;border-radius:3px}.swpair .star{margin-left:auto;color:#f5b54a}
.swpx{display:flex;align-items:center;gap:6px;margin-top:4px}.swpx b{font:800 22px Inter;color:#36fd8a}.swpx span{font:700 9px Inter;background:#16502d;color:#36fd8a;padding:2px 4px;border-radius:3px}.swpxs{font:8.5px Inter;color:#8fbca0}
.swtf{display:flex;gap:14px;align-items:center;font:9px Inter;color:#8fbca0;margin:8px 0 4px}.swtf b{background:#1f2a22;color:#fff;padding:3px 6px;border-radius:5px}.swtf em{margin-left:auto}
#swChart{width:100%;height:200px}
.swhold{background:#121c16;border:1px solid #23362a;border-radius:12px;padding:9px 11px;margin-top:6px}.swhh{display:flex;align-items:center;gap:7px}.hb{font:800 8px Inter;background:#36fd8a;color:#04120a;padding:2px 5px;border-radius:3px}.hb.sold{background:#2a3f30;color:#cfe}.swhh b{font:700 11px Inter}.swhh .sb{margin-left:auto;font:600 9px Inter;background:#23362a;padding:3px 8px;border-radius:6px;color:#8fbca0}
.swhp{font:800 22px Inter;color:#36fd8a;margin-top:3px}.swhp.r{color:#ff6b6b}.swhp small{font:700 10px Inter}.swhs{font:8px 'JetBrains Mono';color:#8fbca0}
.swst{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}.swst div{background:#121c16;border-radius:9px;padding:6px 8px}.swst small{display:block;font:8px Inter;color:#8fbca0}.swst b{font:800 12px Inter}
.swbtn{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.swbtn span{height:34px;border-radius:9px;display:grid;place-items:center;font:800 10px Inter;opacity:.55;cursor:not-allowed}.swbtn .b{background:#31e881;color:#04120a}.swbtn .s{background:#ef5064;color:#fff}.swbtn span.fl{opacity:1;box-shadow:0 0 14px currentColor}
.swnote{text-align:center;font:7.5px Inter;color:#6a8c78;margin-top:4px}.swhome{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:90px;height:3px;border-radius:2px;background:#fff}
.swfoot{position:absolute;left:12px;right:12px;bottom:10px;display:flex;justify-content:space-between;font:8.5px 'JetBrains Mono';color:#6a8c78}.swfoot b{color:#f5b54a;font-weight:500}

/* iOS home-screen app */
html,body{overflow-x:hidden;max-width:100%;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}
body{-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
input,select,textarea{font-size:16px}
.vsw{top:calc(8px + env(safe-area-inset-top))}
.vsw button{min-height:44px;min-width:76px}
.vsw i{top:3px;bottom:3px}
body{padding-top:calc(58px + env(safe-area-inset-top))}
@media (max-width:760px){body.view-mobile .mob{padding-bottom:env(safe-area-inset-bottom)} body.view-mobile .mob .sheet{padding-bottom:env(safe-area-inset-bottom)} .mob button,.sw button{min-height:44px}}
@media (display-mode:standalone){body{background:#070b16}}

/* ---------- phone-width layouts for Terminal + Swarm (<=820px) ---------- */
@media (max-width:820px){
  .win,.swin{zoom:1!important;width:auto!important;max-width:100%}
  .desk{padding:calc(60px + env(safe-area-inset-top)) 10px calc(16px + env(safe-area-inset-bottom))}
  .tbar .ttl{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:58%}
  .hd{grid-template-columns:52px 1fr;grid-template-areas:"b m" "r r";height:auto;gap:8px 10px;padding:8px 4px}
  .brandrow{grid-area:b}.logoimg{width:44px;height:44px}.logotxt{font-size:11px}
  .hmid{grid-area:m;min-width:0}.h1{font-size:22px;flex-wrap:wrap;gap:8px}.sub{font-size:10px}
  .run{flex-wrap:wrap;font-size:11px}.startbtn{min-height:44px}
  .hright{grid-area:r;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;text-align:left}.bal{font-size:30px}.spark{width:100%}
  .body{grid-template-columns:1fr}
  .agents{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;gap:8px}
  .agents>*{flex:0 0 168px;scroll-snap-align:start}
  .ag{height:auto;min-height:112px}.ag *{white-space:normal;overflow-wrap:anywhere}
  .row2,.anab,.exeb{grid-template-columns:1fr}
  .pairs{overflow-x:auto}.pipe{padding:0 2px}
  .rule{grid-template-columns:16px 1fr 64px 26px;height:auto;min-height:22px}.rule>*{white-space:normal;line-height:1.25}
  .t{width:100%}.st{grid-template-columns:1fr auto 44px;height:auto;min-height:22px}.st>*{white-space:normal}
  .ph{white-space:normal;flex-wrap:wrap;gap:4px}
  .sw{padding:calc(60px + env(safe-area-inset-top)) 0 calc(20px + env(safe-area-inset-bottom))}
  .swin{padding:0 10px}
  .swh{flex-wrap:wrap;height:auto;gap:6px;padding:4px 0}.swm{flex-basis:100%;order:9;font-size:10px}
  .swg{grid-template-columns:1fr}
  .swags{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px}
  .swags>.agc{flex:0 0 104px;scroll-snap-align:start}
  .swtiles{grid-template-columns:repeat(2,1fr)}
  .swl1{white-space:normal}.swl1 .tx{overflow-wrap:anywhere}
  .pr{grid-template-columns:18px 18px 34px 1fr auto}.pr>*{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .swsq{overflow:hidden}
}
/* tap targets */
.mlive,.mrep,#mStart{min-height:44px}
.cw-open{min-height:44px;min-width:44px}
/* Entrance visuals live in entrance.css. This is only the desk's wallet chip. */
.cw-open{position:fixed;top:calc(8px + env(safe-area-inset-top));right:10px;z-index:51;border-radius:999px;background:#0f0d18e6;border:1px solid #2a2540;color:#cfcbe0;font:600 12px Inter;padding:0 14px;backdrop-filter:blur(8px)}
@media (max-width:520px){.cw-open{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));right:12px}}
.mob .mlive,.mob .mrep,#mStart,#mRepBtn{min-height:54px}
@media (max-width:820px){#modeSw{min-height:44px}.tbar{height:auto;min-height:48px}}
@media (max-width:820px){
  .main .pn,.stats,.tail{height:auto!important;min-height:0}
  .disc{position:static;margin-top:8px;font-size:9px}
  .st{grid-template-columns:1fr 80px minmax(64px,auto);gap:6px}.st b{text-align:right}
  .ag{padding-bottom:10px}.ag .ft{position:static;margin-top:8px}
  .log{max-height:300px;overflow-y:auto}
}
.st b{white-space:nowrap}
@media (max-width:820px){
  .body,.row2,.anab,.exeb,.swg{grid-template-columns:minmax(0,1fr)!important}
  .body>*,.main,.main>*,.row2>*,.anab>*,.exeb>*,.swg>*,.swl>*,.swr>*{min-width:0;max-width:100%}
  .rule{grid-template-columns:16px minmax(0,1fr) 56px 24px}
  .anab>*:last-child{text-align:center;position:relative}
}
@media (max-width:820px){.main .foot{position:static;margin-top:10px;height:auto;min-height:30px;padding:4px 6px;text-align:center}.gnote{margin-top:26px}}
@media (max-width:820px){.anab .gaugew{padding-bottom:14px}.gnote{margin-bottom:6px}}

/* Trades bottom tab + sheet (paper only) */
.tr-btn{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom));z-index:52;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:#0f0d18f0;border:1px solid #2a2540;color:#e9e6f5;font:600 13px Inter;backdrop-filter:blur(10px);box-shadow:0 8px 30px #0008}
.tr-btn span{background:linear-gradient(90deg,#7c3aed,#22c55e);color:#fff;border-radius:999px;padding:2px 8px;font-size:11px}.tr-btn em{font-style:normal;font:600 12px 'JetBrains Mono',monospace}.tr-btn em.up{color:#31e881}.tr-btn em.dn{color:#ef5064}
@media (max-width:520px){.tr-btn{left:12px;transform:none}}
.tr-scrim{position:fixed;inset:0;z-index:60;background:#0009;opacity:0;pointer-events:none;transition:opacity .3s}.tr-scrim.on{opacity:1;pointer-events:auto}
.tr-sheet{position:fixed;left:50%;bottom:0;width:min(640px,100%);max-height:86vh;transform:translate(-50%,105%);transition:transform .38s cubic-bezier(.2,.8,.2,1);z-index:61;display:flex;flex-direction:column;background:#100e19;border:1px solid #2a2540;border-bottom:0;border-radius:22px 22px 0 0;padding:6px 16px calc(14px + env(safe-area-inset-bottom));color:#e9e6f5;font-family:Inter}
.tr-sheet.on{transform:translate(-50%,0)}.tr-grab{width:40px;height:5px;border-radius:9px;background:#3a3550;margin:4px auto 8px}
.tr-hd{display:flex;justify-content:space-between;align-items:center}.tr-hd h3{margin:0;font-size:20px}.tr-hd small{font-size:10px;background:#f5a524;color:#1a1206;border-radius:6px;padding:2px 6px;vertical-align:middle;margin-left:6px}.tr-hd p{margin:2px 0 0;color:#8f8aa3;font-size:12px}
.tr-x{min-width:44px;min-height:44px;border-radius:999px;background:#1b1828;border:1px solid #2a2540;color:#cfcbe0;font-size:16px}
.tr-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.tr-sum div{background:#17141f;border:1px solid #24203a;border-radius:14px;padding:10px}.tr-sum b{display:block;font:700 16px 'JetBrains Mono',monospace}.tr-sum i{font-style:normal;color:#8f8aa3;font-size:11px}
.tr-sum .net{grid-column:span 4;display:flex;justify-content:space-between;align-items:center;gap:10px}.tr-goal{grid-column:span 4}.tr-bar{height:8px;border-radius:9px;background:#24203a;overflow:hidden;margin-top:6px}.tr-bar u{display:block;height:100%;background:linear-gradient(90deg,#7c3aed,#22c55e);border-radius:9px}
.up{color:#31e881}.dn{color:#ef5064}
.tr-list{overflow:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:8px;padding-bottom:6px}
.tr-row{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;background:#15121d;border:1px solid #24203a;border-left:3px solid #555;border-radius:14px;padding:10px;min-height:56px}
.tr-row.w{border-left-color:#31e881}.tr-row.l{border-left-color:#ef5064}.tr-row.o{border-left-color:#f5a524}
.tr-av{width:40px;height:40px;border-radius:50%;background:#2a2540 center/cover;display:grid;place-items:center;font-weight:700}
.tr-mid b{font-size:15px}.tr-mid p{margin:2px 0 0;color:#8f8aa3;font:500 11px 'JetBrains Mono',monospace}.tr-tag{font:700 9px Inter;border-radius:6px;padding:2px 6px;margin-left:6px;background:#24203a;color:#cfcbe0;vertical-align:middle}.tr-tag.o{background:#f5a524;color:#1a1206}
.tr-r{text-align:right;font-family:'JetBrains Mono',monospace}.tr-r b{display:block;font-size:14px}.tr-r span{font-size:11px}
.tr-empty{color:#8f8aa3;text-align:center;padding:26px 10px;font-size:13px}
body.view-night .tr-btn,body.view-night .tr-sheet{border-color:rgba(233,196,106,.3)}body.view-night .tr-btn span,body.view-night .tr-bar u{background:linear-gradient(90deg,#b8862b,#f3d27e);color:#1a1206}body.view-night .tr-sheet{background:#14100a}body.view-night .tr-sum div,body.view-night .tr-row{background:#1b150c;border-color:#3a2e18}

/* Desktop Split view: live phones side by side (each an embedded /v5 in an iPhone frame). Hidden on phones. */
.split{display:none}body.view-split .split{display:block;min-height:100vh;padding:74px 24px 30px;background:radial-gradient(1200px 600px at 50% 0,#1b1530,#07060b)}
.split-tab{display:none}@media (min-width:1000px){.split-tab{display:inline-block}}
.split-row{display:flex;justify-content:center;gap:34px;flex-wrap:nowrap}
.iph{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px}
.iph-body{position:relative;width:min(390px,30vw);aspect-ratio:390/844;max-height:calc(100vh - 150px);border-radius:54px;padding:12px;background:linear-gradient(145deg,#2c2c31,#0d0d10);box-shadow:0 0 0 2px #45454b,0 0 0 4px #121214,0 40px 90px #000c}
.iph-body iframe{width:100%;height:100%;border:0;border-radius:42px;background:#000;display:block}
.iph-notch{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:31%;height:26px;border-radius:20px;background:#000;z-index:2}
.iph figcaption{font:600 12px Inter,system-ui;color:#9b96ad;letter-spacing:1px;text-transform:uppercase}
.split-note{text-align:center;color:#6f6a85;font:500 12px Inter,system-ui;margin-top:16px}
@media (max-width:999px){body.view-split .split{display:none}}
/* Embedded phone: no outer chrome; the parent draws the iPhone frame. */
body.embed .vsw,body.embed .cw-open,body.embed .tr-btn{display:none!important}body.embed{overflow-x:hidden}
body.embed.view-mobile .mob{width:auto;height:auto;margin:0;border:0;border-radius:0;box-shadow:none;padding-top:40px}
/* Clean light variant of Mobile. */
body.theme-light,body.theme-light .mob{background:#f6f5fa!important;color:#15131c}
body.theme-light .mob *{border-color:#e4e1ee}
body.theme-light .mob [class*="card"],body.theme-light .mob section,body.theme-light .mob .sheet{background:#fff!important;box-shadow:0 4px 18px rgba(30,20,60,.06)}
body.theme-light .mob h1,body.theme-light .mob h2,body.theme-light .mob h3,body.theme-light .mob b,body.theme-light .mob strong{color:#15131c}
body.view-split .tr-btn{left:auto;right:24px;transform:none}

/* Lightweight Charts hosts (v5/charts.js) */
.lwc{position:relative;overflow:hidden;min-width:0}.lwc a{color:inherit}.exe .ph .muted a{color:inherit;text-decoration:underline dotted}

/* Natalie paper desk. Legacy panels stay mounted for the existing render hooks. */
.bal{font-weight:800;font-size:38px;letter-spacing:-.02em}
body.view-terminal .legacy-desk{position:absolute;width:760px;left:-12000px;top:0;opacity:0;pointer-events:none;overflow:hidden}
.nt{display:flex;flex-direction:column;gap:12px;padding:4px 6px 18px;color:var(--tx)}
.nt-hero{display:flex;justify-content:space-between;align-items:center;gap:16px}
.nt-paper{display:inline-flex;align-items:center;font:800 11px 'JetBrains Mono',monospace;letter-spacing:.14em;color:#d7e4ff;border:1px solid rgba(78,227,245,.45);background:rgba(78,227,245,.08);border-radius:999px;padding:4px 8px}
.odo{display:flex;align-items:flex-end;height:1em;font:800 64px/1 'JetBrains Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.odo-cell{height:1em;width:.62em;overflow:hidden}
.odo-reel{display:block;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.odo-reel i{display:block;height:1em;font-style:normal;text-align:center}
.odo-dot{width:.32em;text-align:center}
.nt-pnl{margin-top:8px;font:600 14px 'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.nt-pnl.up,.up{color:var(--gr)}.nt-pnl.dn,.dn{color:var(--pk)}
.nt-ring{position:relative;width:76px;text-align:center;flex:0 0 auto}
.nt-ring svg{width:76px;height:76px;transform:rotate(-90deg)}
.nt-ring b{position:absolute;top:26px;left:0;right:0;font:700 12px 'JetBrains Mono',monospace}
.nt-ring small{display:block;font:10px Inter;color:var(--mu)}
.nt-ranges{display:flex;gap:6px;margin-bottom:4px}
.nt-ranges button{font:700 11px 'JetBrains Mono',monospace;border:1px solid var(--ln);border-radius:999px;padding:6px 10px;color:var(--mu);min-height:32px}
.nt-ranges button.on{color:#070b16;background:var(--cy);border-color:var(--cy)}
.nt-range-note{font:11px Inter;color:var(--mu);margin:0 0 6px}
#ntChart{width:100%;height:180px;display:block;background:rgba(8,12,24,.45);border:1px solid var(--ln);border-radius:12px}
.nt-agents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.nt-agent,.nt-block,.nt-card,.coin-card,.nt-recap{border:1px solid var(--ln);border-radius:14px;background:rgba(16,24,46,.55);backdrop-filter:blur(16px);padding:12px}
.nt-agent h3{font:700 11px 'JetBrains Mono',monospace;letter-spacing:.12em;color:var(--cy);margin:0 0 6px}
.nt-agent .big{font:800 28px/1 'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.nt-agent ul{list-style:none;margin:8px 0 0;padding:0;font:11px 'JetBrains Mono',monospace}
.nt-agent .skip em{color:var(--pk);font-style:normal}
.nt-agent .pass em{color:var(--gr);font-style:normal}
.nt-agent .kills{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.nt-agent .kills i{font:10px 'JetBrains Mono',monospace;color:var(--mu)}
.nt-agent .ring{width:72px;height:72px;transform:rotate(-90deg)}
.nt-agent .ring .bg,.coin-card .ring .bg{fill:none;stroke:#243049;stroke-width:4}
.nt-agent .ring .fg,.coin-card .ring .fg{fill:none;stroke:var(--mu);stroke-width:4;stroke-linecap:round}
.ring.red .fg{stroke:var(--pk)}.ring.yellow .fg{stroke:var(--am)}.ring.green .fg{stroke:var(--gr)}.ring.na .fg{stroke:#3a455c}
.nt-agent .pill{display:inline-block;margin:4px 4px 0 0;border:1px solid var(--am);color:var(--am);border-radius:999px;padding:2px 6px;font:10px 'JetBrains Mono',monospace}
.nt-feed{max-height:280px;overflow:auto;display:flex;flex-direction:column;gap:6px}
.act{display:grid;grid-template-columns:10px 72px 72px 48px 72px 1fr;gap:8px;align-items:center;font:12px 'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.act i{width:8px;height:8px;border-radius:50%;background:var(--mu)}
.act.blue i{background:#4aa8ff}.act.green i{background:var(--gr)}.act.red i{background:var(--pk)}
.act em{color:var(--mu);font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nt-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.coin-card header{display:flex;gap:8px;align-items:baseline}
.coin-card .ring{width:36px;height:36px;transform:rotate(-90deg)}
.coin-card .grid{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.ck{font:10px 'JetBrains Mono',monospace;border-radius:6px;padding:2px 4px;background:#121826}
.ck.pass{color:var(--gr)}.ck.fail{color:var(--pk)}.ck.na{color:#6d7890}
.ck small{display:block;color:var(--mu)}
.stamp{margin-left:auto;font:800 11px 'JetBrains Mono',monospace}
.stamp.pass{color:var(--pk);transform:rotate(-6deg)}
.stamp.taken{color:var(--mu);font-weight:600}
.nt-said{display:flex;justify-content:space-between;align-items:baseline;font:700 12px 'JetBrains Mono',monospace;letter-spacing:.14em}
.nt-said b{font:800 36px/1 'JetBrains Mono',monospace;font-variant-numeric:tabular-nums;color:var(--pk)}
.funnel{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.funnel div{background:#10182c;border-radius:8px;padding:6px;min-height:46px;position:relative;overflow:hidden}
.funnel span{position:absolute;left:0;bottom:0;top:0;background:rgba(78,227,245,.18)}
.funnel b{position:relative;font:700 14px 'JetBrains Mono',monospace}
.funnel small{position:relative;display:block;color:var(--mu);font:10px Inter}
.nt-gates{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.gate{border-radius:12px;padding:8px;min-height:120px;background:rgba(16,24,46,.55);border:1px solid var(--ln)}
.gate h3{font:700 11px 'JetBrains Mono',monospace;letter-spacing:.08em;margin:0 0 8px}
.gate.blue h3{color:#4aa8ff}.gate.orange h3{color:#f5a524}.gate.yellow h3{color:#f5d76a}.gate.purple h3{color:#c084fc}
.gate.alloc{border-color:rgba(62,232,138,.45)}
.gate.alloc h3{color:var(--gr)}
.gate-coin{margin:0 0 6px;padding:6px;border-radius:8px;background:#0c1220;animation:gate-fall .55s ease both;animation-delay:calc(var(--i) * 70ms)}
.gate-coin b{display:block;font:700 12px 'JetBrains Mono',monospace}
.gate-coin .rej{display:block;margin-top:4px;color:#ff5a5a;font:800 10px 'JetBrains Mono',monospace;transform:rotate(-8deg)}
.gate-coin.dead{outline:1px solid rgba(255,90,90,.45)}
@keyframes gate-fall{from{opacity:0;transform:translate(-10px,-14px)}to{opacity:1;transform:none}}
.op{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;font:12px 'JetBrains Mono',monospace;padding:6px 0;border-bottom:1px solid var(--ln)}
.nt-banners{position:fixed;top:72px;left:50%;transform:translateX(-50%);z-index:70;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100% - 24px));pointer-events:none}
.nt-banner{pointer-events:auto;background:#121826;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 14px;box-shadow:0 12px 40px #0008;animation:nt-drop .35s ease}
.nt-banner .bn{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font:13px 'JetBrains Mono',monospace}
.nt-banner small{letter-spacing:.12em;color:var(--cy);font-weight:800}
.nt-banner.out{opacity:0;transition:opacity .3s}
@keyframes nt-drop{from{transform:translateY(-18px);opacity:0}to{transform:none;opacity:1}}
.nt-recap.ready{box-shadow:0 0 0 1px var(--am),0 0 18px rgba(245,181,74,.35)}
.nt-saved{border:1px solid rgba(240,69,127,.35);border-radius:12px;padding:10px 12px;background:rgba(40,12,24,.45)}
.nt-saved small{display:block;font:700 10px 'JetBrains Mono',monospace;letter-spacing:.12em;color:var(--mu);margin-bottom:6px}
.nt-saved p{margin:0 0 4px;font:12px 'JetBrains Mono',monospace}
.nt-saved .saved{color:var(--pk)}.nt-saved .miss{color:var(--am)}
.nt .empty{color:var(--mu);font:12px Inter}
@media (max-width:820px){
  .odo{font-size:42px}
  .nt-agents{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px}
  .nt-agent{flex:0 0 78%;scroll-snap-align:start}
  .nt-gates,.funnel{grid-template-columns:1fr 1fr}
  .act{grid-template-columns:10px 64px 1fr}
  .act time,.act em{grid-column:2 / -1}
}
@media (prefers-reduced-motion: reduce){
  .gate-coin,.nt-banner,.odo-reel{animation:none !important;transition:none !important}
}
