:root{
  --bg:#000;--card:#111114;--card2:#18181d;--line:#24242b;--txt:#f5f5f7;--mut:#8e8e96;--dim:#5a5a63;
  --green:#30d158;--red:#ff453a;--cyan:#32d7ff;--orange:#ff9f0a;--blue:#0a84ff;
  --sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom);--sal:env(safe-area-inset-left);--sar:env(safe-area-inset-right);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body{min-height:100vh;overscroll-behavior-y:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
input{font:inherit;color:var(--txt)}
.hidden{display:none!important}
.view{padding:calc(var(--sat) + 10px) calc(var(--sar) + 16px) calc(var(--sab) + 92px) calc(var(--sal) + 16px);max-width:560px;margin:0 auto}
.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;background:rgba(10,10,12,.86);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line);padding:6px calc(var(--sar) + 8px) calc(var(--sab) + 6px) calc(var(--sal) + 8px);z-index:10}
.tabs a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--dim);font-size:10.5px;font-weight:500;padding:4px 0}
.tabs svg{width:25px;height:25px;fill:currentColor}
.tabs a.on{color:var(--txt)}
.top{display:flex;align-items:center;justify-content:space-between;margin:4px 0 14px}
.top h1{font-size:28px;letter-spacing:-.4px;margin:0;font-weight:700}
.back{display:flex;align-items:center;gap:4px;color:var(--cyan);font-size:16px;padding:6px 0}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 9px;border-radius:99px;background:var(--card2);color:var(--mut);white-space:nowrap}
.chip.paper{color:var(--orange);background:rgba(255,159,10,.14)}
.chip.live{color:var(--green);background:rgba(48,209,88,.14)}
.chip.ok{color:var(--green);background:rgba(48,209,88,.13)}
.chip.bad{color:var(--red);background:rgba(255,69,58,.13)}
.chip.cyan{color:var(--cyan);background:rgba(50,215,255,.12)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--dim);display:inline-block}
.dot.on{background:var(--green);box-shadow:0 0 8px rgba(48,209,88,.7)}
.dot.off{background:var(--red)}
.bal{font-size:44px;font-weight:700;letter-spacing:-1.2px;margin:2px 0 0;font-variant-numeric:tabular-nums}
.sub{color:var(--mut);font-size:14px}
.up{color:var(--green)}.down{color:var(--red)}
.card{background:var(--card);border-radius:16px;padding:14px;margin:12px 0}
.card h3{margin:0 0 8px;font-size:13px;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.ranges{display:flex;gap:4px;margin:8px 0 0}
.ranges button{flex:1;padding:6px 0;border-radius:8px;color:var(--mut);font-size:12.5px;font-weight:600}
.ranges button.on{background:var(--card2);color:var(--txt)}
.chart{width:100%;height:170px;display:block}
.row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row .ic{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex:none;background:var(--card2)}
.ic.bought{color:var(--cyan)}.ic.sold{color:var(--green)}.ic.stopped{color:var(--red)}.ic.rejected{color:var(--mut)}
.row .mid{flex:1;min-width:0}
.row .t{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .s{color:var(--mut);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .v{text-align:right;font-size:13.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.fomo{font-size:12px;font-weight:700;color:#000;background:var(--txt);padding:5px 9px;border-radius:99px;white-space:nowrap}
.empty{color:var(--mut);text-align:center;padding:26px 8px;font-size:14px}
.err{color:var(--red);font-size:13px;margin-top:6px}
.banner{position:sticky;top:0;z-index:20;background:#3a1210;color:#ffd5d2;font-size:13.5px;padding:calc(var(--sat) + 8px) 16px 9px;text-align:center}
.banner button{color:#fff;text-decoration:underline;margin-left:6px}
.agent{background:var(--card);border-radius:16px;padding:14px;margin:12px 0;display:block}
.agent .hd{display:flex;align-items:center;gap:8px}
.agent .nm{font-weight:700;font-size:17px}
.agent .rl{color:var(--mut);font-size:12.5px}
.agent .big{font-size:22px;font-weight:700;margin:10px 0 2px;letter-spacing:-.3px}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pill{font-size:12px;font-weight:600;padding:4px 9px;border-radius:99px;background:var(--card2);color:var(--mut)}
.pill.red{color:var(--red);background:rgba(255,69,58,.13)}.pill.green{color:var(--green);background:rgba(48,209,88,.13)}
.strips{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:10px}
.strip{height:6px;border-radius:3px;background:var(--line)}
.strip.ok{background:var(--green)}.strip.bad{background:var(--red)}.strip.run{background:var(--cyan);animation:pulse 1s infinite}
@keyframes pulse{50%{opacity:.35}}
.last{margin-top:10px;font-size:13px;color:var(--mut);display:flex;justify-content:space-between;gap:8px;align-items:center}
.sw{position:relative;width:51px;height:31px;flex:none}
.sw input{opacity:0;width:0;height:0}
.sw span{position:absolute;inset:0;background:#39393d;border-radius:99px;transition:.2s}
.sw span:before{content:"";position:absolute;width:27px;height:27px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.2s}
.sw input:checked+span{background:var(--green)}
.sw input:checked+span:before{transform:translateX(20px)}
.disc-wrap{display:flex;justify-content:center;margin:6px 0 4px}
.disc{width:230px;height:230px}
.disc .seg{fill:#1d1d23;stroke:#000;stroke-width:3;transition:fill .35s}
.disc .seg.ok{fill:rgba(48,209,88,.85)}.disc .seg.bad{fill:rgba(255,69,58,.9)}.disc .seg.run{fill:rgba(50,215,255,.55)}
.disc .beam{fill:url(#beamg);transform-origin:120px 120px;transition:transform .45s ease-out;opacity:0}
.disc .beam.on{opacity:1}
.disc .hub{fill:#0b0b0e}
.disc text{fill:var(--txt);font-weight:700;text-anchor:middle}
.layer{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.layer:last-child{border-bottom:0}
.layer .n{width:24px;height:24px;border-radius:50%;background:var(--card2);color:var(--mut);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.layer .n.ok{background:var(--green);color:#000}.layer .n.bad{background:var(--red);color:#fff}.layer .n.run{background:var(--cyan);color:#000}
.layer .nm{flex:1;text-transform:capitalize}
.layer .vl{color:var(--mut);font-size:13.5px;text-align:right;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.layer .vl.bad{color:var(--red)}
.headline{font-size:20px;font-weight:700;text-align:center;margin:4px 0 2px}
.headline.ok{color:var(--green)}.headline.bad{color:var(--red)}
.subline{color:var(--mut);text-align:center;font-size:14px;margin-bottom:6px}
.btn{display:block;width:100%;text-align:center;padding:15px;border-radius:14px;font-weight:700;font-size:16.5px;background:var(--txt);color:#000;margin:14px 0}
.btn.green{background:var(--green);color:#000}.btn.red{background:var(--red);color:#fff}.btn.ghost{background:var(--card2);color:var(--txt)}
.btn:disabled{opacity:.45}
.price{font-size:38px;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stat{background:var(--card);border-radius:14px;padding:12px}
.stat .k{color:var(--mut);font-size:12px}.stat .v{font-weight:700;font-size:17px;margin-top:2px;font-variant-numeric:tabular-nums}
.kv{display:flex;justify-content:space-between;padding:7px 0;font-size:14.5px}
.kv .k{color:var(--mut)}
canvas.candles{width:100%;height:230px;display:block}
.seg2{display:flex;background:var(--card2);border-radius:10px;padding:2px}
.seg2 button{flex:1;padding:8px;border-radius:8px;font-weight:700;color:var(--mut)}
.seg2 button.on.p{background:var(--orange);color:#000}.seg2 button.on.l{background:var(--green);color:#000}
.field{display:flex;align-items:center;gap:8px}
.field input[type=number],.field input[type=text],.modal input{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:9px 10px;width:100%;font-size:16px}
.field input.num{width:96px;text-align:right;flex:none;font-variant-numeric:tabular-nums}
.set{padding:11px 0;border-bottom:1px solid var(--line)}
.set:last-child{border-bottom:0}
.set .lb{display:flex;justify-content:space-between;align-items:center;font-size:14.5px;margin-bottom:8px;gap:10px}
.set .lb small{color:var(--dim);font-size:11.5px}
.set.bool .lb{margin:0}
.set select{background:var(--card2);color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:8px;font-size:15px}
input[type=range]{-webkit-appearance:none;appearance:none;flex:1;height:4px;background:var(--line);border-radius:2px;outline:0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.5)}
.grp summary{list-style:none;font-weight:700;font-size:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-transform:capitalize}
.grp summary::-webkit-details-marker{display:none}
.grp summary:after{content:"›";color:var(--mut);transform:rotate(90deg);transition:.2s;font-size:20px}
.grp:not([open]) summary:after{transform:none}
.link-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:15.5px;width:100%;text-align:left}
.link-row:last-child{border-bottom:0}
.link-row .chev{color:var(--dim)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;z-index:30}
.sheet{background:#1c1c21;border-radius:18px 18px 0 0;padding:20px 18px calc(var(--sab) + 18px);width:100%}
.sheet h2{margin:0 0 6px;font-size:19px}
.sheet p{color:var(--mut);margin:0 0 12px;font-size:14.5px}
.toast{position:fixed;left:50%;bottom:calc(var(--sab) + 84px);transform:translateX(-50%);background:#2c2c32;color:#fff;padding:10px 16px;border-radius:99px;font-size:14px;z-index:40;max-width:90%;text-align:center}
.skel{background:linear-gradient(90deg,#141418,#1d1d22,#141418);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:10px;height:18px;margin:8px 0}
@keyframes sk{to{background-position:-200% 0}}
.mut{color:var(--mut)}.small{font-size:12.5px}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block;margin-right:6px;animation:pulse 1.6s infinite}
.chip:empty{display:none}
