/* ============================================================
   SONAR — "DESK"  ·  institutional crypto trading terminal
   Display: Cabinet Grotesk · Body: General Sans · Data: JetBrains Mono
   Deep charcoal · hairline borders · single emerald accent · soft depth
   ============================================================ */

:root{
  --bg-0:#0a0c11; --bg-1:#0e1118; --bg-2:#12161f; --bg-3:#1a1f2b;
  --surface-glass:rgba(18,22,31,.7);
  /* accent: refined emerald (brand + profit) + cool blue (info) */
  --green:#34d399; --green-soft:rgba(52,211,153,.13);
  --cyan:#5b8def; --cyan-soft:rgba(91,141,239,.14);     /* repurposed: cool blue */
  --violet:#7c83ff; --purple:#7c83ff; --violet-soft:rgba(124,131,255,.14); --purple-soft:rgba(124,131,255,.14);
  --magenta:#7c83ff;
  --gold:#f5b945; --amber:#f5b945; --red:#f4626f;
  --lime:#34d399;
  --grad:linear-gradient(120deg,#34d399,#37c6c6);
  --grad-text:linear-gradient(120deg,#d6f7e9,#cfe0ff);
  --grad-purple:linear-gradient(120deg,#7c83ff,#5b8def);
  --text:#e7eaf0; --text-dim:#98a1b2; --text-mute:#5b6577;
  --line:rgba(255,255,255,.07); --line-strong:rgba(255,255,255,.13);
  --r:12px; --radius:12px; --radius-lg:16px;
  --shadow:0 18px 50px -22px rgba(0,0,0,.75);
  --glow:0 0 0 1px rgba(52,211,153,.25),0 10px 36px -14px rgba(52,211,153,.35);
  --glow-purple:0 0 0 1px rgba(124,131,255,.25),0 10px 36px -14px rgba(124,131,255,.3);
  --hard:var(--shadow); --hard-sm:0 8px 24px -14px rgba(0,0,0,.7);
  --ease:cubic-bezier(.22,.61,.36,1);
  --disp:'Cabinet Grotesk','General Sans',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'General Sans',-apple-system,sans-serif;background:var(--bg-0);color:var(--text);
  line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;position:relative;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(50vw 40vh at 80% -10%,rgba(52,211,153,.05),transparent 60%),radial-gradient(45vw 40vh at 0% 0%,rgba(91,141,239,.05),transparent 60%)}

h1,h2,h3,h4,.display{font-family:var(--disp);font-weight:600;letter-spacing:-.015em;line-height:1.12}
a{color:inherit;text-decoration:none}
code,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.muted{color:var(--text-mute)} .dim{color:var(--text-dim)} .small{font-size:.82rem}
.green{color:var(--green)} .red{color:var(--red)}
.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
::selection{background:rgba(52,211,153,.3);color:#fff}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:10px;
  border:1px solid transparent;font-family:'General Sans',sans-serif;font-weight:600;font-size:.92rem;
  cursor:pointer;transition:all .18s var(--ease);white-space:nowrap}
.btn-primary{background:var(--green);color:#06281d;box-shadow:0 6px 18px -8px rgba(52,211,153,.6)}
.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-outline{background:var(--bg-3);color:var(--text);border-color:var(--line-strong)}
.btn-outline:hover{border-color:var(--green);color:var(--green)}
.btn-ghost{background:transparent;color:var(--text-dim)}.btn-ghost:hover{color:var(--text);background:rgba(255,255,255,.04)}
.btn-lg{padding:14px 26px;font-size:1rem}
.btn-sm{padding:8px 14px;font-size:.82rem;border-radius:9px}
.btn-block{width:100%}
.btn-admin{background:var(--violet-soft);border-color:rgba(124,131,255,.4);color:#b9bdff}
.btn-admin:hover{background:rgba(124,131,255,.2);color:#fff}

/* ---------- Cards ---------- */
.gcard,.card,.panel,.glass{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r)}
.gcard{padding:22px;position:relative}
.gcard::before{display:none}
.gcard.glow:hover{border-color:var(--line-strong);box-shadow:var(--hard-sm)}
.panel{padding:22px;margin-bottom:18px}

/* ============================================================ NAV */
.nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  padding:15px 28px;background:rgba(10,12,17,.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav::after{display:none}
.nav .brand{display:flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:600;font-size:1.2rem;letter-spacing:-.01em}
.brand-mark{width:32px;height:32px;border-radius:9px;background:var(--grad);display:grid;place-items:center;flex-shrink:0}
.brand-mark::after{display:none}.brand-mark svg{width:19px;height:19px}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{color:var(--text-dim);font-weight:500;font-size:.93rem;transition:color .18s;position:relative}
.nav-links a:hover{color:var(--text)}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav-admin-strip{border-bottom-color:rgba(124,131,255,.3)}
@media(max-width:880px){.nav-links{display:none}}

/* ============================================================ HERO */
.hero{position:relative;padding:84px 28px 64px;overflow:hidden;min-height:82vh;display:flex;align-items:center}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;max-width:1240px;margin:0 auto;width:100%}
.hero-orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.4;z-index:-1;pointer-events:none}
.hero-orb.a{width:420px;height:420px;background:radial-gradient(circle,rgba(52,211,153,.4),transparent 70%);top:-120px;left:-60px}
.hero-orb.b{width:460px;height:460px;background:radial-gradient(circle,rgba(91,141,239,.35),transparent 70%);top:0;right:-120px}
.hero-orb.c{display:none}
.hero-floor{position:absolute;left:0;right:0;bottom:0;height:40%;z-index:-1;overflow:hidden;-webkit-mask-image:linear-gradient(to top,#000 5%,transparent 92%);mask-image:linear-gradient(to top,#000 5%,transparent 92%)}
.hero-floor::before{content:'';position:absolute;left:-50%;right:-50%;top:0;bottom:-40%;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:52px 52px;transform:perspective(420px) rotateX(64deg);transform-origin:center top}
.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:500;color:var(--green);
  background:var(--green-soft);border:1px solid rgba(52,211,153,.22);padding:6px 14px;border-radius:100px;margin-bottom:24px}
.hero-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2.4s ease-in-out infinite}
.hero h1{font-size:clamp(2.7rem,5.4vw,4.5rem);margin-bottom:22px;letter-spacing:-.025em}
.hero h1 .shine{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .lead{font-size:1.18rem;color:var(--text-dim);max-width:540px;margin-bottom:32px}
.hero-btns{display:flex;gap:13px;flex-wrap:wrap}
.hero-trust{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:30px}
.hero-trust span{color:var(--text-dim);font-size:.84rem;display:inline-flex;align-items:center;gap:7px}
.hero-trust svg{width:15px;height:15px;color:var(--green)}

/* hero terminal mockup */
.hero-app{position:relative;height:520px;display:grid;place-items:center;perspective:1400px}
.app-card{position:relative;width:min(440px,100%);border-radius:16px;overflow:hidden;z-index:2;background:var(--bg-2);
  border:1px solid var(--line-strong);box-shadow:var(--shadow);transform:perspective(1400px) rotateY(-9deg) rotateX(4deg);transform-style:preserve-3d;animation:appfloat 8s ease-in-out infinite;transition:transform .35s var(--ease)}
.app-card::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(160deg,rgba(255,255,255,.05),transparent 40%)}
.app-bar{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.015)}
.app-live{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.72rem;color:var(--text-dim);letter-spacing:.3px}
.app-live i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2.4s ease-in-out infinite}
.app-dots{display:flex;gap:6px}.app-dots b{width:9px;height:9px;border-radius:50%;background:var(--line-strong)}
.app-body{padding:18px}
.app-whale{display:flex;align-items:center;justify-content:space-between;background:var(--bg-3);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:14px}
.aw-left{display:flex;align-items:center;gap:12px}
.aw-grade{width:40px;height:40px;border-radius:11px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:1.2rem}
.aw-id{font-family:var(--mono);font-weight:600;font-size:.92rem}.aw-cat{font-size:.74rem;color:var(--text-mute)}
.aw-roi{font-family:var(--disp);font-weight:700;font-size:1.5rem;color:var(--green);line-height:1;text-align:right}
.aw-roi-l{font-size:.66rem;color:var(--text-mute);text-transform:uppercase;letter-spacing:.5px;text-align:right;margin-top:3px}
.app-spark{width:100%;height:56px;margin-bottom:14px;display:block}
.app-copy{background:var(--bg-3);border:1px solid var(--line);border-radius:12px;padding:4px 16px;margin-bottom:14px}
.ac-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;font-size:.85rem;color:var(--text-dim)}
.ac-row+.ac-row{border-top:1px solid var(--line)}.ac-val{font-family:var(--mono);font-size:.82rem;color:var(--text)}
.ac-pill{font-size:.72rem;font-weight:600;color:var(--cyan);background:var(--cyan-soft);padding:4px 10px;border-radius:7px}
.ac-run{display:flex;align-items:center;gap:7px;font-weight:600;color:var(--green)}
.ac-run i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2.4s ease-in-out infinite}
.app-feed{display:grid;gap:8px}
.af-row{display:flex;align-items:center;gap:9px;font-size:.78rem;color:var(--text-dim);font-family:var(--mono)}
.af-buy{color:var(--green);font-weight:600;font-size:.66rem;background:var(--green-soft);padding:2px 7px;border-radius:5px}
.af-sell{color:var(--red);font-weight:600;font-size:.66rem;background:rgba(244,98,111,.13);padding:2px 7px;border-radius:5px}
.af-amt{margin-left:auto;color:var(--text)}.af-t{color:var(--text-mute);font-size:.72rem;min-width:24px;text-align:right}

/* subtle token accents */
.coin-accent{position:absolute;z-index:3;animation:floaty 8s ease-in-out infinite;filter:drop-shadow(0 14px 26px rgba(0,0,0,.5))}
.coin-accent::before{display:none}
.coin-accent.ca-sol{top:4%;right:1%;animation-duration:8s}
.coin-accent.ca-eth{bottom:6%;left:-2%;animation-duration:9s;animation-delay:.7s}
.coin{position:relative;border-radius:50%;animation:none}
.ca-sol .coin{width:74px;height:74px}.ca-eth .coin{width:58px;height:58px}
.coin .face{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line-strong);box-shadow:var(--hard-sm)}
.coin .face.back{display:none}.coin .face::before{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.25),transparent 55%)}
.coin .logo{position:relative;z-index:3;width:48%;height:48%;display:grid;place-items:center;opacity:.92}
.coin .logo svg{width:100%;height:100%}.coin .sheen{display:none}.coin::before{display:none}
.coin.sol .face{background:linear-gradient(135deg,#1b3a30,#12161f)}.coin.eth .face{background:linear-gradient(135deg,#1c2740,#12161f)}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;background:rgba(255,255,255,.01);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.marquee-group{display:inline-flex;align-items:center;gap:40px;padding-right:40px}
.marquee-track .mq{color:var(--text-mute);font-weight:500;font-size:.95rem;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.marquee-track .mq b{color:var(--text)}
.marquee:hover .marquee-track{animation-play-state:paused}

/* ---------- sections ---------- */
.section{padding:78px 28px}
.section-head{text-align:center;max-width:680px;margin:0 auto 48px}
.section-head .kicker{color:var(--green);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px;display:block}
.section-head h2{font-size:clamp(2rem,3.4vw,2.9rem);margin-bottom:12px}
.section-head p{color:var(--text-dim);font-size:1.02rem}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:0 auto}
.step{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;transition:all .25s var(--ease)}
.step:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.step .n{width:44px;height:44px;border-radius:12px;background:var(--green-soft);color:var(--green);font-family:var(--disp);font-weight:700;font-size:1.2rem;display:grid;place-items:center;margin-bottom:18px}
.step h3{font-size:1.2rem;margin-bottom:9px}.step p{color:var(--text-dim);font-size:.93rem}
.wallet-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.wallet-chip{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:500;color:var(--text-dim);background:var(--bg-3);border:1px solid var(--line);padding:6px 11px;border-radius:8px}
.wallet-dot{width:15px;height:15px;border-radius:5px}
@media(max-width:820px){.steps{grid-template-columns:1fr}}

.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1160px;margin:0 auto}
.b{padding:28px;border-radius:var(--radius-lg);background:var(--bg-2);border:1px solid var(--line);transition:all .25s var(--ease)}
.b:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.b .ic{width:46px;height:46px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;margin-bottom:15px}
.b .ic svg{width:23px;height:23px}.b h3{font-size:1.15rem;margin-bottom:8px}.b p{color:var(--text-dim);font-size:.92rem}
.b.col-2{grid-column:span 2}
.b.feature-hero{background:linear-gradient(135deg,rgba(52,211,153,.09),rgba(91,141,239,.07));border-color:var(--line-strong)}
@media(max-width:880px){.bento{grid-template-columns:1fr 1fr}.b.col-2{grid-column:span 2}}
@media(max-width:560px){.bento{grid-template-columns:1fr}.b.col-2{grid-column:auto}}

.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1040px;margin:0 auto}
.price-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;position:relative;display:flex;flex-direction:column}
.price-card.popular{border-color:rgba(52,211,153,.4);box-shadow:var(--glow)}
.price-card .tag-pop{position:absolute;top:-11px;left:50%;transform:translateX(-50%);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#06281d;background:var(--green);padding:5px 13px;border-radius:100px}
.price-card .pl{font-size:1.1rem;font-weight:600;margin-bottom:6px}
.price-card .pd{color:var(--text-mute);font-size:.86rem;margin-bottom:18px;min-height:38px}
.price-card .amt{font-family:var(--disp);font-weight:700;font-size:2.8rem;line-height:1}
.price-card .amt .per{font-family:'General Sans';font-size:.88rem;color:var(--text-mute);font-weight:400}
.price-card ul{list-style:none;margin:22px 0;display:grid;gap:11px;flex:1}
.price-card li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--text-dim)}
.price-card li svg{width:16px;height:16px;color:var(--green);flex-shrink:0;margin-top:3px}
@media(max-width:820px){.prices{grid-template-columns:1fr}}

.acc{max-width:780px;margin:0 auto}
.acc-item{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;background:var(--bg-2)}
.acc-q{width:100%;text-align:left;padding:19px 22px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:1rem;color:var(--text);background:transparent;border:none;font-family:'General Sans'}
.acc-q:hover{color:var(--green)}.acc-q .chev{color:var(--green);transition:transform .25s}
.acc-item.open .acc-q .chev{transform:rotate(180deg)}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s var(--ease);color:var(--text-dim)}
.acc-item.open .acc-a{max-height:300px}.acc-a p{padding:0 22px 20px}

.cta-big{max-width:1040px;margin:0 auto;text-align:center;padding:72px 30px;border-radius:24px;position:relative;overflow:hidden;
  background:linear-gradient(120deg,rgba(52,211,153,.1),rgba(91,141,239,.08));border:1px solid var(--line-strong)}
.cta-big h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:14px}
.cta-big p{color:var(--text-dim);margin-bottom:26px;font-size:1.06rem}

.footer{border-top:1px solid var(--line);padding:56px 28px 38px;margin-top:40px;background:var(--bg-1)}
.footer-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}
.footer .brand{display:flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:600;font-size:1.2rem;margin-bottom:14px}
.footer p.tg{color:var(--text-mute);font-size:.88rem;max-width:300px;margin-bottom:16px}
.socials{display:flex;gap:10px}
.socials a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--text-dim);transition:.18s}
.socials a:hover{color:var(--green);border-color:var(--green)}.socials svg{width:18px;height:18px}
.footer h4{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-mute);margin-bottom:14px}
.footer-grid a:not(.brand){display:block;color:var(--text-dim);font-size:.9rem;margin-bottom:9px}
.footer-grid a:not(.brand):hover{color:var(--green)}
.footer-bottom{max-width:1240px;margin:36px auto 0;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--text-mute);font-size:.84rem}
.disclaimer{max-width:1240px;margin:18px auto 0;color:var(--text-mute);font-size:.74rem;line-height:1.6;opacity:.7}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}.hero-grid{grid-template-columns:1fr}.hero-app{height:400px;order:-1}.hero{min-height:auto;padding-top:50px}}

/* ---------- whale cards / list ---------- */
.whale-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;max-width:1120px;margin:0 auto}
.whale-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;position:relative;overflow:hidden;transition:all .25s var(--ease)}
.whale-card::before{content:'';position:absolute;inset:0 0 auto 0;height:2px;background:var(--grad)}
.whale-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--hard-sm)}
.wc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.wc-id{font-family:var(--mono);font-weight:600;font-size:.98rem}
.grade{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:1.1rem}
.grade.A{background:var(--green-soft);color:var(--green)}.grade.B{background:var(--cyan-soft);color:var(--cyan)}
.grade.C{background:var(--violet-soft);color:#b9bdff}.grade.D{background:rgba(245,185,69,.14);color:var(--gold)}
.wc-roi{font-family:var(--disp);font-weight:700;font-size:2.2rem;color:var(--green);line-height:1;margin-bottom:4px}
.wc-roi-label{font-size:.72rem;color:var(--text-mute);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}
.wc-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:500;padding:4px 10px;border-radius:7px;background:var(--bg-3);color:var(--text-dim);border:1px solid var(--line)}
.pill.sol{color:var(--green)}.pill.cat{color:#b9bdff}
.wc-slots{margin-bottom:16px}
.wc-slots .bar{height:6px;background:var(--bg-3);border-radius:100px;overflow:hidden;margin-top:7px}
.wc-slots .bar i{display:block;height:100%;background:var(--grad);border-radius:100px}
.wc-locked{filter:blur(7px);user-select:none;pointer-events:none}
.wc-lock-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(10,12,17,.4)}
.wc-lock-overlay .lk{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--green)}.wc-lock-overlay svg{width:26px;height:26px}

.mkt-head{margin-bottom:18px}.mkt-head p{color:var(--text-dim);max-width:560px}
.wlist{display:flex;flex-direction:column;gap:12px}
.wrow{position:relative;display:grid;grid-template-columns:54px 1.7fr 1fr 1fr auto;gap:18px;align-items:center;padding:18px 22px;border-radius:var(--r);background:var(--bg-2);border:1px solid var(--line);transition:all .2s var(--ease)}
.wrow:hover{border-color:var(--line-strong);background:var(--bg-1);box-shadow:var(--hard-sm)}
.wrow .wgrade{width:50px;height:50px;border-radius:12px;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:1.4rem;background:var(--green-soft);color:var(--green)}
.wrow .wid{font-family:var(--mono);font-weight:600;font-size:1rem;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.wrow .wdna{display:flex;flex-wrap:wrap;gap:5px}
.wrow .dna{font-size:.68rem;color:var(--text-dim);background:var(--bg-3);border:1px solid var(--line);padding:3px 8px;border-radius:6px}
.wrow .roiblock .big{font-family:var(--disp);font-weight:700;font-size:1.5rem;line-height:1;color:var(--green)}
.wrow .roiblock .sub{font-size:.72rem;color:var(--text-mute);margin-top:5px;font-family:var(--mono)}
.wrow .wstat .sv{font-family:var(--disp);font-weight:700;font-size:1.3rem;line-height:1}.wrow .wstat .sl{font-size:.68rem;color:var(--text-mute);text-transform:uppercase;letter-spacing:.4px;margin-top:4px}
.wrow .wbuy{text-align:right}.wrow .wprice{font-family:var(--disp);font-weight:700;font-size:1.15rem;margin-bottom:8px}.wrow .wprice span{font-size:.72rem;color:var(--text-mute);font-weight:400;font-family:'General Sans'}
.vet{font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--gold);background:rgba(245,185,69,.14);padding:2px 7px;border-radius:5px}
@media(max-width:1000px){.wrow{grid-template-columns:46px 1fr auto;gap:14px}.wrow .roiblock,.wrow .wstat{display:none}}

/* ---------- heatmap ---------- */
.heatmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(102px,1fr));gap:9px;max-width:1120px;margin:0 auto}
.heat{aspect-ratio:1;border-radius:12px;padding:13px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);transition:transform .2s}
.heat:hover{transform:translateY(-3px)}
.heat-top{display:flex;align-items:center;justify-content:space-between}
.heat .sym{font-family:var(--mono);font-weight:600;font-size:.84rem;color:var(--text)}
.heat-dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.heat-bot{display:flex;align-items:baseline;gap:4px}
.heat-n{font-family:var(--disp);font-weight:700;font-size:1.4rem;line-height:1}.heat-u{font-size:.64rem;color:var(--text-mute)}
.heat.h1{background:rgba(52,211,153,.06);color:var(--green)}.heat.h2{background:rgba(52,211,153,.13);color:var(--green)}
.heat.h3{background:rgba(91,141,239,.16);color:var(--cyan)}.heat.h4{background:rgba(124,131,255,.2);color:#b9bdff}
.heat.h5{background:rgba(52,211,153,.28);color:#d6f7e9;border-color:rgba(52,211,153,.4)}
.heat-legend{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;color:var(--text-mute);font-size:.76rem}
.hl-bar{width:190px;height:8px;border-radius:100px;background:linear-gradient(90deg,rgba(52,211,153,.4),var(--cyan),var(--green))}

/* ---------- nodes ---------- */
.nodes{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:11px}
.node{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:17px 20px}
.node .nm{display:flex;align-items:center;gap:10px;font-weight:500}
.node .live{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2.4s ease-in-out infinite}
.node .off{width:8px;height:8px;border-radius:50%;background:var(--red)}
.node .load{font-family:var(--mono);font-size:.84rem;color:var(--text-dim);text-align:right;min-width:120px}
.node .bar{grid-column:1/-1;height:6px;background:var(--bg-3);border-radius:100px;overflow:hidden}.node .bar i{display:block;height:100%;border-radius:100px}
.load-low i{background:var(--green)}.load-mid i{background:var(--gold)}.load-high i{background:var(--red)}

/* ---------- leaderboard ---------- */
.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px;align-items:end;margin-bottom:24px}
.pod{position:relative;border-radius:var(--radius-lg);padding:24px;text-align:center;border:1px solid var(--line);background:var(--bg-2)}
.pod .pav{width:58px;height:58px;border-radius:14px;margin:0 auto 12px;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:1.5rem;color:#06281d;background:var(--green)}
.pod .pname{font-family:var(--mono);font-size:.88rem;margin-bottom:6px}.pod .ppnl{font-family:var(--disp);font-weight:700;font-size:1.5rem;color:var(--green)}
.pod .pmedal{font-size:1.5rem;margin-bottom:6px}
.pod.first{padding-top:32px;border-color:rgba(245,185,69,.4);box-shadow:var(--hard-sm)}.pod.first .pav{background:var(--gold);color:#3a2a00}
.pod.second{border-color:rgba(207,214,230,.25)}.pod.third{border-color:rgba(224,160,106,.3)}
.lbx{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-2)}
.lbx-row{display:grid;grid-template-columns:60px 1fr 120px 100px auto;gap:16px;align-items:center;padding:15px 22px;border-top:1px solid var(--line)}
.lbx-row:hover{background:var(--bg-1)}.lbx-row.me{background:var(--green-soft)}
.lbx-rank{font-family:var(--disp);font-weight:700;font-size:1.1rem;color:var(--text-mute);text-align:center}
.lbx-user{display:flex;align-items:center;gap:11px}
.lbx-av{width:34px;height:34px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-family:var(--disp);font-weight:700}
.lbx-pnl{font-family:var(--disp);font-weight:700;font-size:1.1rem;text-align:right}
@media(max-width:760px){.podium{grid-template-columns:1fr}.lbx-row{grid-template-columns:44px 1fr auto}.lbx-row .lbx-tr,.lbx-row .lbx-wr{display:none}}

/* Landing-page leaderboard (compact widget) — markup uses .lb-* */
.lb{max-width:560px;margin:0 auto;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg-2)}
.lb-row{display:grid;grid-template-columns:54px 1fr auto auto;gap:14px;align-items:center;padding:14px 20px;border-top:1px solid var(--line)}
.lb-row:first-child{border-top:none}
.lb-rank{font-family:var(--disp);font-weight:700;color:var(--text-mute);text-align:center}
.lb-user{display:flex;align-items:center;gap:11px;min-width:0}
.lb-av{width:34px;height:34px;border-radius:10px;background:var(--cyan-soft,rgba(25,227,227,.13));color:var(--cyan);display:grid;place-items:center;font-family:var(--disp);font-weight:700;flex-shrink:0}
.lb-addr{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-pnl{font-family:var(--disp);font-weight:700;color:var(--green)}
.lb-empty{text-align:center;padding:42px 24px;color:var(--text-dim);display:flex;flex-direction:column;align-items:center;justify-content:center}

/* ---------- my whales ---------- */
.mywhales{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:18px}
.mw{position:relative;border-radius:var(--radius-lg);padding:22px;border:1px solid var(--line);overflow:hidden;background:var(--bg-2)}
.mw::before{content:'';position:absolute;inset:0 0 auto 0;height:2px;background:var(--grad)}
.mw-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.mw-id{font-family:var(--mono);font-weight:600;font-size:1.05rem}
.mw-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.mw-stats .s{background:var(--bg-3);border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}
.mw-stats .sv{font-family:var(--disp);font-weight:700;font-size:1.2rem}.mw-stats .sv.g{color:var(--green)}
.mw-stats .sl{font-size:.64rem;color:var(--text-mute);text-transform:uppercase;letter-spacing:.4px;margin-top:3px}
.mw-addr-l{font-size:.72rem;color:var(--text-mute);text-transform:uppercase;letter-spacing:.5px;margin-bottom:7px}
.mw-addr{display:flex;align-items:center;gap:10px;background:var(--bg-3);border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.mw-addr code{flex:1;font-family:var(--mono);font-size:.78rem;color:var(--green);word-break:break-all}
.copy-btn{cursor:pointer;color:var(--text-mute);background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:5px 7px;flex-shrink:0;display:grid;place-items:center}
.copy-btn:hover{color:var(--green);border-color:var(--green)}.copy-btn svg{width:15px;height:15px}
.mw-actions{display:flex;gap:10px;margin-top:16px}

/* ---------- forms ---------- */
.form-card{max-width:700px}
.field{margin-bottom:18px}
.field label{display:block;font-size:.82rem;color:var(--text-dim);font-weight:500;margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;background:var(--bg-3);border:1px solid var(--line-strong);color:var(--text);padding:11px 13px;border-radius:10px;font-family:'General Sans';font-size:.92rem;outline:none;transition:.18s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
.field .hint{font-size:.78rem;color:var(--text-mute);margin-top:6px}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid var(--line)}
.switch-row:first-of-type{border-top:none}
.switch-row .sr-l b{display:block;font-size:.9rem}.switch-row .sr-l span{font-size:.8rem;color:var(--text-mute)}
.sw{position:relative;width:46px;height:26px;flex-shrink:0}.sw input{opacity:0;width:0;height:0}
.sw .track{position:absolute;inset:0;background:var(--bg-3);border:1px solid var(--line-strong);border-radius:100px;cursor:pointer;transition:.2s}
.sw .track::before{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:var(--text-mute);left:3px;top:3px;transition:.2s}
.sw input:checked + .track{background:var(--green-soft);border-color:var(--green)}.sw input:checked + .track::before{background:var(--green);transform:translateX(20px)}
.flash{padding:13px 16px;border-radius:10px;margin-bottom:18px;font-size:.9rem;border:1px solid transparent}
.flash.ok{background:var(--green-soft);color:#9ff0cf;border-color:rgba(52,211,153,.3)}
.flash.err{background:rgba(244,98,111,.12);color:#ffb4ba;border-color:rgba(244,98,111,.3)}
.qr-box{background:#fff;padding:12px;border-radius:12px;width:196px;height:196px;display:grid;place-items:center;margin:6px 0 14px}
.qr-box img,.qr-box canvas{width:172px;height:172px}
.secret-key{font-family:var(--mono);background:var(--bg-3);border:1px solid var(--line);border-radius:10px;padding:10px 13px;letter-spacing:2px;font-size:.92rem;text-align:center;margin-bottom:14px}
.sec-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:760px){.sec-grid{grid-template-columns:1fr}}
.twofa-page{min-height:100vh;display:grid;place-items:center;padding:30px}.twofa-card{width:100%;max-width:400px;text-align:center}
.code-input{font-family:var(--mono);font-size:1.6rem;letter-spacing:8px;text-align:center}
.tk-thread{display:flex;flex-direction:column;gap:14px;margin:20px 0}
.tk-msg{max-width:80%;padding:13px 17px;border-radius:14px;border:1px solid var(--line)}
.tk-msg .by{font-size:.72rem;color:var(--text-mute);margin-bottom:5px}
.tk-msg.them{align-self:flex-start;background:var(--bg-2);border-bottom-left-radius:5px}
.tk-msg.me{align-self:flex-end;background:var(--green-soft);border-color:rgba(52,211,153,.3);border-bottom-right-radius:5px}
.tk-msg.staff .by{color:var(--green)}
.ann{display:flex;gap:14px;padding:15px 17px;border-radius:12px;background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--cyan);margin-bottom:12px}
.ann.success{border-left-color:var(--green)}.ann.warning{border-left-color:var(--gold)}.ann.critical{border-left-color:var(--red)}
.ann .ann-ic{font-size:1.4rem}
.ann-banner{display:flex;align-items:center;gap:12px;padding:11px 20px;background:var(--green-soft);border-bottom:1px solid var(--line);font-size:.9rem;color:var(--text)}

/* ---------- dashboard tiles + alloc ---------- */
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:18px}
.tile{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:18px;transition:all .25s var(--ease)}
.tile:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.tile .tl{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);margin-bottom:9px}
.tile .tv{font-family:var(--disp);font-weight:700;font-size:1.65rem;line-height:1}.tile .tv.g{color:var(--green)}
.tile .td{font-size:.72rem;color:var(--text-mute);margin-top:6px}
@media(max-width:1050px){.tiles{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.tiles{grid-template-columns:repeat(2,1fr)}}
.alloc-row{display:flex;align-items:center;gap:10px;margin:11px 0}
.alloc-bar{flex:1;height:8px;background:var(--bg-3);border-radius:100px;overflow:hidden}.alloc-bar i{display:block;height:100%;border-radius:100px}

/* ---------- dense market stat strip ---------- */
.statbar{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);margin-bottom:18px;overflow:hidden}
.sb-item{flex:1 1 0;min-width:118px;padding:11px 16px;border-right:1px solid var(--line);position:relative}
.sb-item:last-child{border-right:none}
.sb-item .l{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);margin-bottom:5px;display:flex;align-items:center;gap:5px}
.sb-item .l i{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:pulse 2.4s ease-in-out infinite}
.sb-item .v{font-family:var(--disp);font-weight:700;font-size:1.06rem;line-height:1;font-variant-numeric:tabular-nums}
.sb-item .v.up{color:var(--green)}.sb-item .v.down{color:var(--red)}
@media(max-width:760px){.sb-item{flex:1 1 33%}}

/* ---------- filter bar ---------- */
.filterbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:16px}
.filterbar .field{margin:0;min-width:120px}
.filterbar .field label{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em}
.filterbar .field input,.filterbar .field select{padding:9px 12px;font-size:.86rem}
.filterbar input[type=number]{width:110px}

/* ---------- copy trading ---------- */
.copy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:18px}
.copy-form .row3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.copy-form .row3 .field{margin-bottom:0}
.copy-card .mw-actions{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
@media(max-width:520px){.copy-form .row3{grid-template-columns:1fr 1fr}}

/* ---------- panel tabs ---------- */
.tabrow{display:flex;gap:3px;background:var(--bg-3);border:1px solid var(--line);border-radius:9px;padding:3px}
.tabbtn{background:transparent;border:none;color:var(--text-mute);font-family:'General Sans';font-weight:600;font-size:.8rem;padding:6px 13px;border-radius:7px;cursor:pointer;transition:.15s}
.tabbtn:hover{color:var(--text)}.tabbtn.active{background:var(--bg-1);color:var(--green);box-shadow:0 1px 0 rgba(255,255,255,.04)}

/* ---------- dense data table (gmgn-style) ---------- */
.dtable-wrap{overflow-x:auto;margin:-4px -4px 0;padding:0 4px}
.dt.dense{font-variant-numeric:tabular-nums}
.dt.dense th{padding:8px 10px;font-size:.62rem;letter-spacing:.04em;white-space:nowrap;position:sticky;top:0;background:var(--bg-2);z-index:1}
.dt.dense td{padding:9px 10px;font-size:.8rem;white-space:nowrap;border-bottom:1px solid var(--line)}
.dt.dense .grade{width:26px;height:26px;border-radius:7px;font-size:.8rem}
.wt-id{font-family:var(--mono);font-weight:600;color:var(--text)}.wt-id:hover{color:var(--green)}
.cpill{font-family:var(--mono);font-size:.6rem;font-weight:600;padding:1px 6px;border-radius:5px;background:var(--bg-3);border:1px solid var(--line);color:var(--text-dim);text-transform:uppercase;margin-left:6px}
.cpill.solana{color:var(--green)}.cpill.ethereum{color:var(--cyan)}.cpill.bsc{color:var(--gold)}
.chg{font-family:var(--mono);font-weight:600}.chg.up{color:var(--green)}.chg.down{color:var(--red)}
.spark-cell svg{width:62px;height:22px;display:block}
.spark-cell path{fill:none;stroke:var(--green);stroke-width:1.6}
.spark-cell.dn path{stroke:var(--red)}
.wt-act{display:flex;gap:6px;justify-content:flex-end;align-items:center}
.wt-act .watch-star{width:28px;height:28px;font-size:.85rem}
.wt-act .btn-sm{padding:5px 11px;font-size:.74rem}
.dt.dense tbody tr.hide{display:none}

.watch-star{background:var(--bg-3);border:1px solid var(--line);color:var(--text-mute);width:36px;height:36px;border-radius:9px;cursor:pointer;font-size:1rem;line-height:1;transition:.18s}
.watch-star:hover{color:var(--gold);border-color:var(--gold)}.watch-star.on{color:var(--gold);border-color:var(--gold);background:rgba(245,185,69,.12)}

.code-tabs{border:1px solid var(--line-strong);border-radius:12px;overflow:hidden;margin:10px 0 20px;background:var(--bg-1)}
.code-tabbar{display:flex;gap:2px;padding:8px 8px 0;background:var(--bg-3);border-bottom:1px solid var(--line);flex-wrap:wrap}
.code-tab{background:transparent;border:none;color:var(--text-mute);padding:9px 15px;cursor:pointer;font-size:.83rem;font-family:var(--mono)}
.code-tab:hover{color:var(--text)}.code-tab.active{background:var(--bg-1);color:var(--green)}
.code-block{display:none;margin:0;padding:20px;font-family:var(--mono);font-size:.82rem;line-height:1.7;color:var(--text);overflow-x:auto;white-space:pre}
.code-block.active{display:block}.code-block code{color:inherit}
.legal-body code{background:var(--bg-3);padding:2px 7px;border-radius:6px;font-family:var(--mono);font-size:.85rem;color:#9ff0cf}
.legal-body ul{padding-left:22px;margin-bottom:14px}.legal-body li{margin-bottom:8px}

/* ============================================================ APP — TOP HEADER */
.app-top-shell{display:block}
.apptop{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;padding:0 24px;height:60px;
  background:rgba(10,12,17,.85);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.apptop .brand{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:600;font-size:1.15rem;flex-shrink:0}
.apptop .brand-mark{width:30px;height:30px}
.apptop-nav{display:flex;align-items:center;gap:0;flex:1;height:100%;overflow-x:auto;scrollbar-width:none}
.apptop-nav::-webkit-scrollbar{display:none}
.atn-link{display:inline-flex;align-items:center;height:100%;padding:0 14px;color:var(--text-dim);font-weight:500;font-size:.9rem;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s}
.atn-link:hover{color:var(--text)}
.atn-link.active{color:var(--green);border-bottom-color:var(--green)}
.atn-link.admin{color:#9aa3b2}.atn-link.admin.active{color:#b9bdff;border-bottom-color:var(--violet)}
.apptop-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.apptop-user{display:flex;align-items:center;gap:9px;padding:4px 12px 4px 4px;border:1px solid var(--line);border-radius:100px}
.apptop-user .side-av{width:30px;height:30px;border-radius:50%;font-size:.82rem}
.apptop-user .au-meta{font-size:.82rem;font-weight:600;line-height:1.15}
.apptop-user .au-meta span{display:block;font-size:.66rem;color:var(--text-mute);font-weight:400}
.app-top-shell .app-content{padding:24px 28px;max-width:none;width:100%;margin:0}
@media(max-width:980px){.apptop-user .au-meta{display:none}.net-pill{display:none}}
@media(max-width:560px){.apptop .brand span:last-child{display:none}}

/* ============================================================ APP SHELL */
.app-shell{display:grid;grid-template-columns:258px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:20px 14px;background:var(--bg-1);border-right:1px solid var(--line)}
.sidebar .brand{display:flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:600;font-size:1.2rem;padding:6px 10px 22px}
.side-nav{display:flex;flex-direction:column;gap:3px;flex:1}
.side-sec{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-mute);padding:18px 12px 8px}
.side-link{display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:10px;color:var(--text-dim);font-weight:500;font-size:.92rem;transition:.18s;position:relative}
.side-link svg{width:18px;height:18px;flex-shrink:0;opacity:.85}
.side-link:hover{color:var(--text);background:rgba(255,255,255,.04)}
.side-link.active{background:var(--green-soft);color:var(--green)}
.side-link.active::before{content:'';position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--green)}
.side-link.admin.active{background:var(--violet-soft);color:#b9bdff}.side-link.admin.active::before{background:var(--violet)}
.side-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:flex;align-items:center;gap:8px}
.side-user{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.side-av{width:36px;height:36px;border-radius:10px;background:var(--grad);color:#06281d;display:grid;place-items:center;font-family:var(--disp);font-weight:700;flex-shrink:0}
.su-meta{min-width:0}.su-meta b{font-size:.84rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.su-meta span{font-size:.72rem;color:var(--text-mute)}
.side-logout{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--text-mute);flex-shrink:0}
.side-logout:hover{color:var(--red);border-color:var(--red)}.side-logout svg{width:18px;height:18px}
.app-main{display:flex;flex-direction:column;min-width:0}
.app-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:16px 30px;border-bottom:1px solid var(--line);background:rgba(10,12,17,.78);backdrop-filter:blur(14px)}
.app-top h1{font-size:1.3rem}
.app-top-r{display:flex;align-items:center;gap:12px}
.net-pill{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-dim);border:1px solid var(--line);padding:7px 13px;border-radius:100px}
.net-pill i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2.4s ease-in-out infinite}
.app-content{padding:30px;max-width:1320px;width:100%;margin:0 auto;position:relative}
.app-content::before{display:none}
.app-hero,.dash-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:26px 28px;border-radius:var(--radius-lg);margin-bottom:22px;border:1px solid var(--line-strong);background:linear-gradient(120deg,rgba(52,211,153,.1),rgba(91,141,239,.06))}
.app-hero h2,.dash-hero h2{font-size:1.05rem;color:var(--text-dim);font-weight:500;margin-bottom:8px}
.dash-hero .bigv{font-family:var(--disp);font-weight:700;font-size:2.9rem;line-height:1}.dash-hero .bigv.red{color:var(--red)}
.dash-hero .chg{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:600;font-size:.88rem;padding:4px 11px;border-radius:100px}
.dash-hero .chg.up{color:var(--green);background:var(--green-soft)}.dash-hero .chg.down{color:var(--red);background:rgba(244,98,111,.12)}
.app-hero p{color:var(--text-dim);font-size:.92rem}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.kpi{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:20px;transition:all .25s var(--ease)}
.kpi:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.kpi .kl{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);margin-bottom:10px}
.kpi .kv{font-family:var(--disp);font-weight:700;font-size:1.95rem;line-height:1}.kpi .kv.up{color:var(--green)}.kpi .kv.down{color:var(--red)}
.kpi .ks{font-size:.74rem;color:var(--text-mute);margin-top:7px}
@media(max-width:900px){.kpis{grid-template-columns:1fr 1fr}}

.dash{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}
.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
@media(max-width:1050px){.span-3,.span-4,.span-5,.span-7,.span-8{grid-column:span 6}}@media(max-width:720px){.dash>*{grid-column:span 12!important}}
.card-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.card-h h3{font-size:1.02rem}
.card-h .live{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;color:var(--green);font-family:var(--mono)}
.card-h .live i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2.4s ease-in-out infinite}
.mstat .ml{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);margin-bottom:8px}
.mstat .mv{font-family:var(--disp);font-weight:700;font-size:1.85rem;line-height:1}.mstat .mv.up{color:var(--green)}.mstat .mv.down{color:var(--red)}
.area-wrap{position:relative}.area-chart{width:100%;height:200px;display:block}
.area-chart .ln{fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1600;stroke-dashoffset:1600;animation:draw 1.7s var(--ease) forwards}
.area-chart .fill{opacity:0;animation:fadein 1.1s var(--ease) .5s forwards}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes fadein{to{opacity:1}}
.ring-wrap{display:flex;align-items:center;gap:20px}
.ring{position:relative;width:120px;height:120px;flex-shrink:0}.ring svg{transform:rotate(-90deg)}
.ring .bg{fill:none;stroke:var(--bg-3);stroke-width:10}
.ring .val{fill:none;stroke:var(--green);stroke-width:10;stroke-linecap:round;animation:ringfill 1.5s var(--ease) forwards}
@keyframes ringfill{from{stroke-dashoffset:var(--c)}to{stroke-dashoffset:var(--off)}}
.ring .ctr{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:1.55rem}
.feed{display:flex;flex-direction:column;gap:1px}
.feed-row{display:flex;align-items:center;gap:11px;padding:11px 10px;border-radius:10px;font-size:.85rem;opacity:0;animation:rowin .45s var(--ease) forwards}
.feed-row:hover{background:rgba(255,255,255,.025)}
.feed-row .fi{width:38px;height:28px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;font-family:var(--mono);font-weight:600;font-size:.62rem}
.feed-row .fi.b{background:var(--green-soft);color:var(--green)}.feed-row .fi.s{background:rgba(244,98,111,.13);color:var(--red)}
.feed-row .ftk{font-family:var(--mono);color:var(--text)}.feed-row .fwh{color:var(--text-mute);font-size:.76rem}
.feed-row .fam{margin-left:auto;font-family:var(--mono);color:var(--text);font-weight:500}.feed-row .ftm{color:var(--text-mute);font-size:.74rem;min-width:30px;text-align:right}
@keyframes rowin{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.feed-row:nth-child(1){animation-delay:.04s}.feed-row:nth-child(2){animation-delay:.1s}.feed-row:nth-child(3){animation-delay:.16s}.feed-row:nth-child(4){animation-delay:.22s}.feed-row:nth-child(5){animation-delay:.28s}.feed-row:nth-child(6){animation-delay:.34s}.feed-row:nth-child(7){animation-delay:.4s}
.tw-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.tw-row:first-child{border-top:none}
.tw-grade{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-family:var(--disp);font-weight:700;flex-shrink:0}
.tw-id{font-family:var(--mono);font-weight:600;font-size:.86rem}.tw-roi{margin-left:auto;font-family:var(--disp);font-weight:700;color:var(--green)}
.dt{width:100%;border-collapse:collapse}
.dt th{text-align:left;padding:11px 13px;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);font-weight:600;border-bottom:1px solid var(--line)}
.dt td{padding:12px 13px;border-bottom:1px solid var(--line);font-size:.88rem}.dt tr:last-child td{border-bottom:none}.dt tbody tr:hover td{background:rgba(255,255,255,.02)}
.tag{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:7px}
.tag.buy,.tag.run,.tag.live{color:var(--green);background:var(--green-soft)}.tag.sell{color:var(--red);background:rgba(244,98,111,.12)}
.tag.pause,.tag.pending{color:var(--gold);background:rgba(245,185,69,.13)}.tag.stop,.tag.offline,.tag.delisted{color:var(--text-mute);background:rgba(255,255,255,.05)}
.empty-box{padding:46px;text-align:center;color:var(--text-mute);border:1px dashed var(--line-strong);border-radius:12px}.empty-box .btn{margin-top:16px}
.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.chip{background:var(--bg-2);border:1px solid var(--line);color:var(--text-dim);border-radius:100px;padding:8px 16px;cursor:pointer;font-size:.86rem;font-weight:500;transition:.18s}
.chip:hover{color:var(--text);border-color:var(--line-strong)}.chip.active{background:var(--green-soft);border-color:var(--green);color:var(--green)}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.app-content{padding:18px}}

.modal-back{position:fixed;inset:0;background:rgba(8,10,14,.72);backdrop-filter:blur(6px);z-index:200;display:none;place-items:center;padding:20px}
.modal-back.open{display:grid}
.modal{width:100%;max-width:420px;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:18px;padding:28px;box-shadow:var(--shadow)}
.modal h3{font-size:1.4rem;margin-bottom:6px}.modal p{color:var(--text-dim);font-size:.9rem;margin-bottom:20px}
.wallet-opt{display:flex;align-items:center;gap:13px;width:100%;padding:13px 15px;border-radius:12px;border:1px solid var(--line);background:var(--bg-3);color:var(--text);font-weight:600;cursor:pointer;margin-bottom:10px;transition:.18s}
.wallet-opt:hover{border-color:var(--green);background:var(--green-soft)}
.wallet-opt .wd{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;font-size:.8rem;font-weight:700;color:#fff}
.modal-dev{margin-top:14px;padding-top:16px;border-top:1px solid var(--line)}
.modal-dev input{width:100%;background:var(--bg-3);border:1px solid var(--line);color:var(--text);padding:11px 13px;border-radius:10px;font-family:var(--mono);font-size:.82rem;margin-bottom:10px}
.modal-x{float:right;color:var(--text-mute);cursor:pointer;font-size:1.4rem;line-height:1}

.legal-page{max-width:780px;margin:0 auto}.legal-page h1{font-size:2.5rem;margin-bottom:18px}
.back-link{display:inline-block;color:var(--text-mute);margin-bottom:18px;font-size:.88rem}.back-link:hover{color:var(--green)}
.legal-body{color:var(--text-dim);font-size:1rem;line-height:1.8}.legal-body h2{color:var(--text);font-size:1.3rem;margin:28px 0 10px}.legal-body p{margin-bottom:14px}

[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
[data-reveal].in{opacity:1;transform:none}[data-reveal="scale"]{transform:translateY(22px)}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important}.app-card,.coin-accent{animation:none!important}}

@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes appfloat{0%,100%{transform:perspective(1400px) rotateY(-9deg) rotateX(4deg) translateY(0)}50%{transform:perspective(1400px) rotateY(-7deg) rotateX(3deg) translateY(-12px)}}

.nf{min-height:70vh;display:grid;place-items:center;text-align:center;padding:40px}
.nf h1{font-size:5rem;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--bg-1)}
::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:10px;border:3px solid var(--bg-0)}
::-webkit-scrollbar-thumb:hover{background:#2a3340}
html{scrollbar-width:thin;scrollbar-color:var(--bg-3) var(--bg-1)}

/* ============================================================
   SONAR — "AURORA" elevation layer  (appended; overrides above)
   Electric brand · living atmosphere · glass depth · motion
   ============================================================ */
:root{
  --cyan:#19e3e3; --cyan-soft:rgba(25,227,227,.14);
  --violet:#8b6dff; --purple:#8b6dff; --violet-soft:rgba(139,109,255,.16); --purple-soft:rgba(139,109,255,.16);
  --magenta:#ff5dd2;
  --green:#34e2a0; --green-soft:rgba(52,226,160,.14); --lime:#34e2a0;
  --grad:linear-gradient(120deg,#19e3e3,#6ad7ff 45%,#8b6dff);
  --grad-text:linear-gradient(120deg,#d6fbff,#eae2ff);
  --grad-brand:linear-gradient(120deg,#19e3e3,#8b6dff);
  --line:rgba(255,255,255,.08); --line-strong:rgba(255,255,255,.16);
  --glow:0 0 0 1px rgba(25,227,227,.30),0 14px 44px -16px rgba(25,227,227,.45);
  --glow-cyan:0 10px 50px -18px rgba(25,227,227,.55);
  --surface-glass:rgba(18,22,31,.62);
}

/* --- Living aurora mesh (animated drift) + film grain, site-wide --- */
body::before{content:'';position:fixed;inset:-20%;z-index:-2;pointer-events:none;
  background:
    radial-gradient(38vw 34vw at 12% 8%, rgba(25,227,227,.16), transparent 60%),
    radial-gradient(40vw 36vw at 88% 2%, rgba(139,109,255,.16), transparent 60%),
    radial-gradient(46vw 40vw at 50% 108%, rgba(52,226,160,.12), transparent 60%);
  background-repeat:no-repeat;
  animation:auroraDrift 26s ease-in-out infinite alternate;will-change:transform,opacity}
body::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes auroraDrift{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(2.5%,-2%,0) scale(1.06)}
  100%{transform:translate3d(-2%,2.5%,0) scale(1.03)}}

/* --- Glass surfaces with depth + sheen --- */
.gcard,.card,.panel,.glass,.b,.step,.price-card,.whale-card,.acc-item,.mw,.pod,.lbx,.node{
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,0) 42%),var(--surface-glass)!important;
  backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);
  border:1px solid var(--line)}
.gcard{transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.gcard:hover,.b:hover,.step:hover,.whale-card:hover{border-color:var(--line-strong);box-shadow:var(--glow-cyan);transform:translateY(-2px)}
.gcard.glow:hover{box-shadow:var(--glow)}

/* --- Brand mark + buttons: more luminous --- */
.brand-mark{box-shadow:0 0 0 1px rgba(25,227,227,.4),0 8px 28px -8px rgba(25,227,227,.6)}
.btn-primary{background:var(--grad-brand);color:#04201f;box-shadow:0 8px 26px -10px rgba(25,227,227,.7),inset 0 0 0 1px rgba(255,255,255,.12);background-size:160% 160%}
.btn-primary:hover{filter:brightness(1.08) saturate(1.1);transform:translateY(-1px);box-shadow:0 12px 34px -10px rgba(25,227,227,.85)}
.btn-outline:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 0 1px rgba(25,227,227,.25)}

/* --- Animated nav underline --- */
.nav-links a::after,.atn-link::after{content:'';position:absolute;left:0;right:100%;bottom:-6px;height:2px;
  background:var(--grad-brand);border-radius:2px;transition:right .25s var(--ease)}
.nav-links a:hover::after{right:0}
.atn-link{position:relative}.atn-link.active::after{right:0}

/* --- Live dot pulse with halo --- */
.live i,.net-pill i,.nm .live{box-shadow:0 0 0 0 rgba(52,226,160,.6);animation:livePulse 2s infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(52,226,160,.5)}70%{box-shadow:0 0 0 6px rgba(52,226,160,0)}100%{box-shadow:0 0 0 0 rgba(52,226,160,0)}}

/* --- Shimmer headline accent --- */
.hero h1 .shine,.shimmer{background:var(--grad-brand);background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 6s linear infinite}
@keyframes shimmer{to{background-position:220% center}}

/* --- Brighter hero orbs (restore the third) --- */
.hero-orb{opacity:.5;filter:blur(80px)}
.hero-orb.a{background:radial-gradient(circle,rgba(25,227,227,.5),transparent 70%)}
.hero-orb.b{background:radial-gradient(circle,rgba(139,109,255,.45),transparent 70%)}
.hero-orb.c{display:block;width:360px;height:360px;background:radial-gradient(circle,rgba(52,226,160,.35),transparent 70%);bottom:-120px;left:30%;animation:floaty 15s ease-in-out infinite}

/* --- Section dividers & top accent on key cards --- */
.gcard.span-12::before,.whale-card::before,.mw::before{background:var(--grad-brand)}

@media(prefers-reduced-motion:reduce){body::before{animation:none}.hero-orb.c{animation:none}.shimmer,.hero h1 .shine{animation:none}}

/* --- Category nav dropdowns --- */
/* Nav must not clip the dropdowns — with categories there are few top-level items. */
.apptop{z-index:100}
.apptop-nav{overflow:visible;gap:2px}
.atn-caret{font-size:.7em;opacity:.7;transition:transform .2s var(--ease)}
.atn-more:hover .atn-caret,.atn-more.open .atn-caret{transform:rotate(180deg)}
.atn-more{position:relative;display:inline-block}
.atn-more-btn{background:none;border:none;cursor:pointer;font:inherit;color:var(--text-dim);padding:0 15px;display:inline-flex;align-items:center;gap:5px;height:100%}
.atn-more-btn:hover,.atn-more-btn.active{color:var(--text)}
.atn-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(6px);min-width:214px;
  background:#0d1119;border:1px solid var(--line-strong);border-radius:14px;
  padding:8px;box-shadow:0 26px 64px -18px rgba(0,0,0,.92);opacity:0;visibility:hidden;transition:all .18s var(--ease);z-index:300}
.atn-more:hover .atn-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.atn-menu-group{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);padding:8px 12px 4px}
.atn-menu-link{display:block;padding:9px 12px;border-radius:9px;color:var(--text-dim);font-size:.9rem;font-weight:500;transition:all .14s}
.atn-menu-link:hover{background:rgba(255,255,255,.05);color:var(--text)}
.atn-menu-link.active{color:var(--cyan);background:var(--cyan-soft)}
/* Touch/click-open for the More menu (works without hover) */
.atn-more.open .atn-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media(max-width:980px){
  /* keep primary links reachable — the nav scrolls horizontally instead of hiding them */
  .atn-menu{left:auto;right:0;transform:translateX(0) translateY(6px)}
  .atn-more:hover .atn-menu,.atn-more.open .atn-menu{transform:translateX(0) translateY(0)}
}

/* --- Toasts --- */
#toasts{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;flex-direction:column;gap:10px;max-width:340px}
.toast{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border-radius:12px;background:rgba(14,17,24,.94);
  backdrop-filter:blur(16px);border:1px solid var(--line-strong);box-shadow:0 18px 50px -18px rgba(0,0,0,.8);
  color:var(--text);font-size:.9rem;transform:translateX(120%);transition:transform .32s var(--ease);border-left:3px solid var(--cyan)}
.toast.in{transform:translateX(0)}
.toast.ok{border-left-color:var(--green)} .toast.err{border-left-color:var(--red)} .toast.warn{border-left-color:var(--amber)}
.toast .ti{font-size:1.05rem;line-height:1.2}

/* --- Confirm / preview modal --- */
.cmodal-back{position:fixed;inset:0;z-index:190;background:rgba(5,6,10,.72);backdrop-filter:blur(6px);
  display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .2s}
.cmodal-back.in{opacity:1;visibility:visible}
.cmodal{width:min(440px,92vw);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),rgba(14,17,24,.96);
  border:1px solid var(--line-strong);border-radius:18px;padding:24px;box-shadow:0 30px 80px -24px rgba(0,0,0,.85);
  transform:translateY(14px) scale(.98);transition:transform .22s var(--ease)}
.cmodal-back.in .cmodal{transform:none}
.cmodal h3{margin-bottom:6px}
.cmodal-rows{margin:16px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cmodal-row{display:flex;justify-content:space-between;gap:14px;padding:11px 14px;font-size:.9rem;border-bottom:1px solid var(--line)}
.cmodal-row:last-child{border-bottom:none}.cmodal-row .k{color:var(--text-dim)}.cmodal-row .v{font-weight:600;font-family:var(--mono)}
.cmodal-row.hl{background:var(--cyan-soft)}.cmodal-row.hl .v{color:var(--cyan)}
.cmodal-actions{display:flex;gap:10px;margin-top:18px}.cmodal-actions .btn{flex:1}

/* --- Paper-trading banner --- */
.paper-banner{display:flex;align-items:center;gap:10px;justify-content:center;padding:8px 16px;
  background:repeating-linear-gradient(45deg,rgba(255,194,75,.1),rgba(255,194,75,.1) 12px,rgba(255,194,75,.04) 12px,rgba(255,194,75,.04) 24px);
  border-bottom:1px solid rgba(255,194,75,.3);color:var(--amber);font-size:.84rem;font-weight:600}

/* --- Onboarding checklist --- */
.onb-step{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;background:var(--bg-3);border:1px solid var(--line);margin-bottom:10px;transition:all .2s}
.onb-step.done{opacity:.6}
.onb-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:700;font-size:.85rem;background:var(--cyan-soft);color:var(--cyan)}
.onb-step.done .onb-num{background:var(--green-soft);color:var(--green)}

/* ============================================================
   SONAR — "DEEP SCAN" dashboard  (scoped under .deep-scan)
   Sonar station aesthetic · radar sweep · depth · live signals
   ============================================================ */
.deep-scan{--scan:#19e3e3;--abyss:#070b12;display:block}

/* --- Zone headers: small terminal labels that segment the page --- */
.ds-zone{display:flex;align-items:center;gap:12px;margin:30px 2px 14px}
.ds-zone:first-child{margin-top:4px}
.ds-zone .zk{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.68rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap}
.ds-zone .zk b{color:var(--scan)}
.ds-zone .zline{flex:1;height:1px;background:linear-gradient(90deg,rgba(25,227,227,.35),rgba(255,255,255,.04) 40%,transparent)}
.ds-zone .ztag{font-family:var(--mono);font-size:.66rem;color:var(--text-mute);letter-spacing:.1em}

/* --- Ticker restyle: scan strip with edge ping --- */
.deep-scan .ticker{position:relative;border:1px solid var(--line);background:
  linear-gradient(90deg,rgba(25,227,227,.06),transparent 22%),var(--surface-glass)}
.deep-scan .ticker::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--scan),transparent);box-shadow:0 0 14px rgba(25,227,227,.6)}

/* ============================================================ COMMAND DECK */
.ds-deck{position:relative;display:grid;grid-template-columns:1.45fr .85fr;gap:0;overflow:hidden;
  border:1px solid var(--line-strong);border-radius:20px;margin-bottom:6px;
  background:
    radial-gradient(120% 140% at 88% 50%,rgba(25,227,227,.10),transparent 55%),
    linear-gradient(180deg,rgba(255,255,255,.022),transparent 30%),
    linear-gradient(120deg,rgba(10,14,22,.92),rgba(12,16,24,.82));
  backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
.ds-deck::before{content:'';position:absolute;inset:0 0 auto 0;height:1px;
  background:linear-gradient(90deg,transparent,var(--scan) 35%,var(--violet) 70%,transparent);opacity:.7}
/* faint sonar grid behind the deck */
.ds-deck::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:34px 34px;-webkit-mask-image:radial-gradient(110% 90% at 20% 30%,#000,transparent 75%);mask-image:radial-gradient(110% 90% at 20% 30%,#000,transparent 75%)}
.ds-deck-l{position:relative;z-index:1;padding:30px 32px}
.ds-greet{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--text-dim);margin-bottom:14px}
.ds-greet .pong{width:7px;height:7px;border-radius:50%;background:var(--scan);box-shadow:0 0 0 0 rgba(25,227,227,.6);animation:livePulse 2s infinite}
.ds-greet b{color:var(--text);font-family:var(--disp);letter-spacing:-.01em;text-transform:none;font-size:1rem}
.ds-pnl-l{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-mute);margin-bottom:6px}
.ds-pnl{font-family:var(--disp);font-weight:700;font-size:clamp(2.6rem,5vw,3.6rem);line-height:.95;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;
  background:linear-gradient(120deg,#eafffb,#bfeee4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ds-pnl.red{background:linear-gradient(120deg,#ffd7db,#ff9aa3);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ds-chg{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-weight:600;font-size:.86rem;
  padding:5px 12px;border-radius:100px;font-variant-numeric:tabular-nums}
.ds-chg.up{color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px rgba(52,226,160,.25)}
.ds-chg.down{color:var(--red);background:rgba(244,98,111,.12);box-shadow:inset 0 0 0 1px rgba(244,98,111,.25)}
/* inline status readout */
.ds-readout{display:flex;flex-wrap:wrap;align-items:center;gap:0 22px;margin:22px 0 6px;
  padding-top:18px;border-top:1px solid var(--line)}
.ds-ro{position:relative;padding-right:22px}
.ds-ro+.ds-ro::before{content:'';position:absolute;left:0;top:3px;bottom:3px;width:1px;background:var(--line)}
.ds-ro .rl{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-mute);margin-bottom:5px}
.ds-ro .rv{font-family:var(--mono);font-weight:700;font-size:.94rem;color:var(--text);font-variant-numeric:tabular-nums}
.ds-ro .rv.armed{color:var(--green)}.ds-ro .rv.dis{color:var(--amber)}
.ds-armdot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:middle}
.ds-armdot.on{background:var(--green);box-shadow:0 0 8px var(--green)}.ds-armdot.off{background:var(--amber);box-shadow:0 0 8px rgba(245,185,69,.6)}
.ds-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

/* --- Sonar scope (signature element) --- */
.ds-deck-r{position:relative;z-index:1;display:grid;place-items:center;padding:26px;
  border-left:1px solid var(--line);background:radial-gradient(80% 80% at 50% 50%,rgba(25,227,227,.05),transparent 70%)}
.sonar{position:relative;width:min(230px,62vw);aspect-ratio:1}
.sonar-grid{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(25,227,227,.28);
  background:
    repeating-radial-gradient(circle at 50% 50%,rgba(25,227,227,.09) 0 1px,transparent 1px 17%),
    radial-gradient(circle at 50% 50%,rgba(25,227,227,.06),transparent 72%);
  box-shadow:inset 0 0 40px rgba(25,227,227,.12),0 0 0 6px rgba(25,227,227,.03)}
.sonar-grid::before,.sonar-grid::after{content:'';position:absolute;background:rgba(25,227,227,.14)}
.sonar-grid::before{left:0;right:0;top:50%;height:1px}
.sonar-grid::after{top:0;bottom:0;left:50%;width:1px}
.sonar-sweep{position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,rgba(25,227,227,.42),rgba(25,227,227,.10) 38deg,transparent 80deg,transparent 360deg);
  -webkit-mask:radial-gradient(circle at 50% 50%,#000 71%,transparent 72%);mask:radial-gradient(circle at 50% 50%,#000 71%,transparent 72%);
  animation:sonarSweep 4.6s linear infinite}
@keyframes sonarSweep{to{transform:rotate(360deg)}}
.sonar-arc{position:absolute;inset:0;transform:rotate(-90deg)}
.sonar-arc .bg{fill:none;stroke:rgba(255,255,255,.06);stroke-width:5}
.sonar-arc .val{fill:none;stroke:url(#sonarGrad);stroke-width:5;stroke-linecap:round;
  filter:drop-shadow(0 0 6px rgba(25,227,227,.6));animation:ringfill 1.6s var(--ease) forwards}
.sonar-ctr{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:2px}
.sonar-ctr b{font-family:var(--disp);font-weight:700;font-size:2rem;line-height:1;color:#eafffb}
.sonar-ctr span{font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}
.sonar-ctr em{font-style:normal;font-family:var(--mono);font-size:.66rem;color:var(--green);margin-top:3px}
.sonar-blip{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--scan);
  box-shadow:0 0 8px var(--scan);animation:blipPing 4.6s ease-out infinite}
@keyframes blipPing{0%,72%{opacity:0;transform:scale(.4)}74%{opacity:1;transform:scale(1.3)}100%{opacity:0;transform:scale(.6)}}
@media(prefers-reduced-motion:reduce){.sonar-sweep,.sonar-blip{animation:none}.sonar-blip{opacity:.7}}

@media(max-width:860px){.ds-deck{grid-template-columns:1fr}.ds-deck-r{border-left:none;border-top:1px solid var(--line)}}

/* ============================================================ MARKET PULSE STRIP */
.ds-pulse{position:relative;display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:var(--surface-glass);backdrop-filter:blur(14px);margin-bottom:6px}
.ds-pulse .pi{flex:1 1 0;min-width:120px;padding:13px 18px;border-right:1px solid var(--line);position:relative}
.ds-pulse .pi:last-child{border-right:none}
.ds-pulse .pi .l{display:flex;align-items:center;gap:6px;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-mute);margin-bottom:7px}
.ds-pulse .pi .l i{width:5px;height:5px;border-radius:50%;background:var(--scan);box-shadow:0 0 6px var(--scan);animation:livePulse 2s infinite}
.ds-pulse .pi .v{font-family:var(--mono);font-weight:700;font-size:1.08rem;line-height:1;font-variant-numeric:tabular-nums;color:var(--text)}
.ds-pulse .pi .v.up{color:var(--green)}.ds-pulse .pi .v.down{color:var(--red)}.ds-pulse .pi .v.warn{color:var(--amber)}
@media(max-width:760px){.ds-pulse .pi{flex:1 1 33%}}

/* ============================================================ KPI TILES (deep-scan) */
.deep-scan .tiles{margin-bottom:6px}
.deep-scan .tile{position:relative;overflow:hidden;border-radius:14px;padding:18px 18px 16px;
  background:linear-gradient(180deg,rgba(255,255,255,.022),transparent 40%),var(--surface-glass);
  border:1px solid var(--line);backdrop-filter:blur(12px);transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}
.deep-scan .tile::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:2px;
  background:linear-gradient(180deg,var(--scan),var(--violet));opacity:.55;transition:opacity .2s}
.deep-scan .tile:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--glow-cyan)}
.deep-scan .tile:hover::before{opacity:1}
.deep-scan .tile .tl{font-size:.64rem;letter-spacing:.1em;color:var(--text-mute);padding-left:4px}
.deep-scan .tile .tv{font-family:var(--disp);font-weight:700;font-size:1.7rem;padding-left:4px;font-variant-numeric:tabular-nums}
.deep-scan .tile .tv.g{color:var(--green)}
.deep-scan .tile .td{padding-left:4px;font-size:.7rem;color:var(--text-mute)}

/* --- Deep-scan card heads + accents --- */
.deep-scan .card-h h3{display:flex;align-items:center;gap:9px}
.deep-scan .card-h h3::before{content:'';width:8px;height:8px;border-radius:2px;
  background:linear-gradient(135deg,var(--scan),var(--violet));box-shadow:0 0 8px rgba(25,227,227,.5);flex-shrink:0}
.deep-scan .dash{margin-top:2px}
.deep-scan .gcard{border-radius:16px}
/* equity line uses the brand cyan in deep-scan */
.deep-scan .area-chart .ln{stroke:var(--scan);filter:drop-shadow(0 4px 14px rgba(25,227,227,.4))}
.deep-scan .empty-box{border-radius:14px}

/* quick-copy button on feed rows */
.deep-scan .feed-row{padding:10px;border-radius:11px}
.ds-copy{margin-left:8px;flex-shrink:0;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.04em;
  padding:5px 10px;border-radius:8px;border:1px solid var(--line-strong);background:var(--bg-3);color:var(--text-dim);cursor:pointer;transition:.16s}
.ds-copy:hover{color:var(--scan);border-color:var(--scan);box-shadow:0 0 0 1px rgba(25,227,227,.3)}
.ds-copy.ok{color:var(--green);border-color:var(--green)}

/* ============================================================ COPY DESK (My Whales) */
.wl{display:flex;flex-direction:column;gap:10px}
.wl-row{position:relative;display:grid;grid-template-columns:44px minmax(0,1.6fr) auto auto auto;gap:16px;align-items:center;
  padding:14px 18px;border-radius:14px;border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 50%),var(--surface-glass);
  backdrop-filter:blur(12px);transition:border-color .2s,box-shadow .2s,transform .2s}
.wl-row:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.wl-row.on{border-color:rgba(52,226,160,.4);box-shadow:inset 3px 0 0 var(--green),0 0 0 1px rgba(52,226,160,.12)}
.wl-grade{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:1.2rem;flex-shrink:0}
.wl-grade.A{background:var(--green-soft);color:var(--green)}.wl-grade.B{background:var(--cyan-soft);color:var(--cyan)}
.wl-grade.C{background:var(--violet-soft);color:#b9bdff}.wl-grade.D,.wl-grade.F{background:rgba(245,185,69,.14);color:var(--gold)}
.wl-id-col{min-width:0}
.wl-id{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-weight:600;font-size:.96rem}
.wl-id .vet{font-size:.6rem}
.wl-sub{margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wl-stats{display:flex;gap:18px;align-items:center}
.wl-s{text-align:center}.wl-s b{display:block;font-family:var(--disp);font-weight:700;font-size:1.05rem;line-height:1}.wl-s b.g{color:var(--green)}
.wl-s span{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute)}
.wl-status{white-space:nowrap}
.wl-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.wl-actions .btn-sm{padding:7px 11px}
.wl-gear.on{border-color:var(--scan);color:var(--scan)}
.wl-stopbtn{border:1px solid rgba(255,107,107,.4)!important;color:var(--red)!important}
@media(max-width:840px){
  .wl-row{grid-template-columns:42px 1fr auto;grid-template-areas:'g id status' 'g id actions'}
  .wl-grade{grid-area:g}.wl-id-col{grid-area:id}.wl-status{grid-area:status;justify-self:end}
  .wl-stats{display:none}.wl-actions{grid-area:actions}
}

/* Collapsible settings panel */
.wl-panel{max-height:0;overflow:hidden;transition:max-height .34s var(--ease)}
.wl-panel.open{max-height:1600px}
.wl-panel>*{margin:0}
.wl-panel .cfg-form,.wl-panel .mcfg-form{padding:16px 18px 18px;margin:-6px 0 6px;
  border:1px solid var(--line);border-top:none;border-radius:0 0 14px 14px;background:rgba(10,13,20,.4)}
.wl-addr{display:flex;align-items:center;gap:10px;padding:11px 18px;margin:-6px 0 0;border:1px solid var(--line);border-bottom:none;
  border-radius:14px 14px 0 0;background:rgba(10,13,20,.55)}
.wl-addr-l{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-mute)}
.wl-addr code{flex:1;min-width:0;font-family:var(--mono);font-size:.78rem;color:var(--scan);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wl-addr+.cfg-form{border-radius:0 0 14px 14px}
.wl-panel-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.wl-swap{display:flex;gap:8px;margin-left:auto}
.wl-swap .swap-to{max-width:220px;background:var(--bg-3);border:1px solid var(--line-strong);color:var(--text);border-radius:9px;padding:7px 10px;font-size:.82rem}

/* Risk / sizing field grid (shared) */
.rf-grid{display:flex;flex-wrap:wrap;gap:12px}
.rf-f{flex:1 1 150px;min-width:140px;margin:0}
.rf-f label{font-size:.72rem;color:var(--text-dim);font-weight:500;margin-bottom:6px;display:block}
.rf-f label .muted{font-weight:400}
.rf-f .hint{font-size:.7rem;color:var(--text-mute);margin-top:5px;line-height:1.35}
.rf-inwrap{position:relative;display:flex;align-items:center}
.rf-inwrap input{width:100%}
.rf-pre,.rf-suf{position:absolute;color:var(--text-mute);font-size:.85rem;font-family:var(--mono);pointer-events:none}
.rf-pre{left:12px}.rf-suf{right:12px}
.rf-inwrap input{padding-left:13px}.rf-inwrap .rf-pre~input{padding-left:24px}
.rf-mode{font-weight:600}

/* Position-size preview — the lot-size guard, made obvious */
.poscalc{display:flex;align-items:center;gap:14px;margin-top:14px;padding:13px 16px;border-radius:12px;
  border:1px solid rgba(25,227,227,.28);background:linear-gradient(120deg,rgba(25,227,227,.10),rgba(139,109,255,.06))}
.poscalc.alerts{border-color:rgba(245,185,69,.35);background:linear-gradient(120deg,rgba(245,185,69,.12),transparent 70%)}
.pc-icon{font-size:1.3rem;line-height:1;flex-shrink:0}
.pc-line{font-size:.95rem}
.pc-line .pc-whale{font-family:var(--mono);color:var(--scan)}
.pc-line .pc-you{font-family:var(--disp);font-size:1.15rem;color:var(--green)}
.poscalc.alerts .pc-you{color:var(--amber)}
.pc-note{font-size:.74rem;color:var(--text-mute);margin-top:3px}

/* ---------- Header hover dropdowns (notifications + account) ---------- */
.hdrop{position:relative;display:inline-flex;align-items:center}
.hdrop-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:250px;background:#0d1119;border:1px solid var(--line-strong);
  border-radius:14px;padding:8px;box-shadow:0 26px 64px -18px rgba(0,0,0,.92);opacity:0;visibility:hidden;transform:translateY(6px);
  transition:.18s var(--ease);z-index:320}
.hdrop:hover .hdrop-menu,.hdrop:focus-within .hdrop-menu{opacity:1;visibility:visible;transform:none}
/* hover bridge so the menu doesn't vanish crossing the gap */
.hdrop::after{content:'';position:absolute;top:100%;right:0;left:0;height:12px}
.hdrop-h{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--text-mute);padding:6px 10px 8px}
.hdrop-badge{font-size:.62rem;color:var(--green);background:var(--green-soft);padding:2px 7px;border-radius:100px;text-transform:none;letter-spacing:0}
.hdrop-row{display:block;padding:9px 11px;border-radius:9px;transition:.14s}
.hdrop-row:hover{background:rgba(255,255,255,.05)}
.hdrop-row.unread{background:rgba(25,227,227,.06)}
.hdrop-row .hr-b{font-size:.84rem;color:var(--text);line-height:1.4}
.hdrop-row .hr-t{font-size:.7rem;color:var(--text-mute);margin-top:3px;font-family:var(--mono)}
.hdrop-empty{padding:18px 12px;text-align:center;color:var(--text-mute);font-size:.84rem}
.hdrop-foot{display:block;padding:9px 11px;margin-top:2px;border-top:1px solid var(--line);color:var(--cyan);font-size:.82rem;font-weight:600}
.hdrop-link{display:block;padding:9px 11px;border-radius:9px;color:var(--text-dim);font-size:.88rem;font-weight:500;transition:.14s}
.hdrop-link:hover{background:rgba(255,255,255,.05);color:var(--text)}
.hdrop-link.logout{color:var(--red);border-top:1px solid var(--line);margin-top:4px;border-radius:0 0 9px 9px}
.apptop-user{cursor:pointer}
.au-caret{font-size:.6rem;color:var(--text-mute);margin-left:2px}
@media(max-width:980px){.apptop-user .au-caret{display:none}}

/* ---------- Quick-Trade drawer ---------- */
.qt-back{position:fixed;inset:0;background:rgba(5,7,11,.6);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.22s;z-index:480}
.qt-back.open{opacity:1;visibility:visible}
.qt-drawer{position:fixed;top:0;right:0;height:100vh;width:min(380px,92vw);z-index:490;overflow-y:auto;padding:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 30%),#0c0f16;border-left:1px solid var(--line-strong);
  box-shadow:-30px 0 80px -30px rgba(0,0,0,.8);transform:translateX(100%);transition:transform .26s var(--ease)}
.qt-drawer.open{transform:none}
.qt-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.qt-head h3{font-size:1.1rem}
.qt-x{background:none;border:none;color:var(--text-mute);font-size:1.1rem;cursor:pointer;line-height:1}.qt-x:hover{color:var(--text)}
.qt-l{display:block;font-size:.74rem;font-weight:600;color:var(--text-dim);margin:14px 0 7px}
.qt-drawer input,.qt-drawer select{width:100%;background:var(--bg-3);border:1px solid var(--line-strong);color:var(--text);
  padding:10px 12px;border-radius:9px;font-family:'General Sans';font-size:.9rem;outline:none}
.qt-drawer input:focus,.qt-drawer select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(25,227,227,.12)}
.qt-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qt-amts{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.qt-amt{display:inline-flex;align-items:center;gap:5px;background:var(--cyan-soft);color:var(--cyan);border:1px solid rgba(25,227,227,.3);
  border-radius:100px;padding:6px 6px 6px 12px;font-family:var(--mono);font-weight:600;font-size:.82rem}
.qt-amt-x{background:none;border:none;color:inherit;cursor:pointer;font-size:.95rem;line-height:1;opacity:.7}.qt-amt-x:hover{opacity:1}
.qt-amt-add{width:74px!important;padding:7px 10px!important;font-family:var(--mono)!important}
.qt-gas{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.qt-gas-b{background:var(--bg-3);border:1px solid var(--line-strong);color:var(--text-dim);border-radius:9px;padding:9px 0;font-weight:600;font-size:.82rem;cursor:pointer;transition:.14s}
.qt-gas-b:hover{color:var(--text)}
.qt-gas-b.on{background:var(--cyan-soft);border-color:var(--cyan);color:var(--cyan)}
.qt-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.qt-toggle .sr-l,.qt-toggle>span:first-child{display:flex;flex-direction:column}
.qt-toggle b{font-size:.9rem}
.qt-saved{display:inline-block;margin-top:10px}

/* ---------- Contextual help: info-tips ---------- */
.infotip{position:relative;display:inline-flex;vertical-align:middle;margin-left:5px;cursor:help;outline:none}
.it-i{width:15px;height:15px;border-radius:50%;border:1px solid var(--line-strong);color:var(--text-mute);
  font:italic 700 .64rem/1 Georgia,'Times New Roman',serif;display:grid;place-items:center;transition:.15s;user-select:none}
.infotip:hover .it-i,.infotip:focus .it-i,.infotip.open .it-i{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 0 3px rgba(25,227,227,.12)}
.it-pop{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);
  width:max-content;max-width:248px;background:#0d1119;border:1px solid var(--line-strong);border-radius:11px;
  padding:10px 12px;font:400 .78rem/1.5 'General Sans',sans-serif;color:var(--text-dim);text-align:left;white-space:normal;
  box-shadow:0 18px 50px -16px rgba(0,0,0,.92);opacity:0;visibility:hidden;transition:.16s;z-index:400;text-transform:none;letter-spacing:0}
.infotip:hover .it-pop,.infotip:focus .it-pop,.infotip.open .it-pop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.it-pop::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#0d1119}
.it-br{display:block;height:6px}
.it-more{color:var(--cyan);font-weight:600}
@media(max-width:520px){.it-pop{max-width:200px}}

/* First-run welcome banner */
.intro-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 16px;margin-bottom:16px;border-radius:12px;
  background:linear-gradient(120deg,rgba(25,227,227,.12),rgba(139,109,255,.07));border:1px solid rgba(25,227,227,.3);font-size:.9rem;color:var(--text)}
.intro-bar a{color:var(--cyan);font-weight:600}
.intro-bar .intro-x{margin-left:auto;background:none;border:none;color:var(--text-mute);cursor:pointer;font-size:1rem;line-height:1}
.intro-bar .intro-x:hover{color:var(--text)}

/* ---------- Docs page ---------- */
.docs-wrap{display:grid;grid-template-columns:220px 1fr;gap:36px;max-width:1080px;margin:0 auto;align-items:start}
.docs-toc{position:sticky;top:80px;display:flex;flex-direction:column;gap:2px}
.docs-toc-h{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-mute);padding:6px 10px 10px}
.docs-toc-g{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);opacity:.8;padding:14px 10px 5px}
.docs-toc-g:first-of-type{padding-top:4px}
.docs-toc a{padding:7px 11px;border-radius:8px;color:var(--text-dim);font-size:.86rem;font-weight:500;border-left:2px solid transparent;transition:.14s}
.docs-toc a:hover{color:var(--text);background:rgba(255,255,255,.04)}
.docs-toc a:target,.docs-toc a.active{color:var(--cyan)}
.docs-hero{display:flex;align-items:center;gap:16px;margin-bottom:10px}
.docs-hero h1{font-size:1.9rem;margin-bottom:6px}
.docs-hero .brand-mark{flex-shrink:0;overflow:hidden}
.docs-sec{padding:24px 0;border-top:1px solid var(--line);scroll-margin-top:80px}
.docs-sec h2{font-size:1.25rem;margin-bottom:12px;display:flex;align-items:center;gap:9px}
.docs-sec h2::before{content:'';width:8px;height:8px;border-radius:2px;background:linear-gradient(135deg,var(--cyan),var(--violet));box-shadow:0 0 8px rgba(25,227,227,.5)}
.docs-sec p{color:var(--text-dim);line-height:1.75;margin-bottom:12px}
.docs-sec ul,.docs-sec ol{color:var(--text-dim);line-height:1.75;padding-left:22px;margin-bottom:12px}
.docs-sec li{margin-bottom:7px}
.docs-sec code{font-family:var(--mono);font-size:.85em;background:var(--bg-3);padding:2px 6px;border-radius:5px;color:#9ff0cf}
.docs-eg{background:linear-gradient(120deg,rgba(25,227,227,.09),rgba(139,109,255,.05));border:1px solid rgba(25,227,227,.25);
  border-radius:12px;padding:14px 16px;color:var(--text);line-height:1.7;margin:4px 0 14px}
.docs-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:820px){.docs-wrap{grid-template-columns:1fr}.docs-toc{position:static;flex-flow:row wrap;margin-bottom:10px}.docs-toc-h{width:100%;padding-bottom:4px}}

/* Real-time: live connection + new-row flash */
.net-pill.rt-live i{background:var(--green);box-shadow:0 0 10px var(--green)}
.net-pill.rt-live::after{content:'·live';margin-left:2px;color:var(--green);font-weight:600;font-size:.7rem}
.feed-row.rt-new{animation:rtNew .7s var(--ease)}
@keyframes rtNew{0%{background:var(--cyan-soft);transform:translateX(-10px);opacity:0}100%{background:transparent;transform:none;opacity:1}}

/* Wallet detection list (login modal) */
.wallet-list{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.wallet-list .wallet-opt{margin-bottom:0}
.wallet-scanning{display:flex;align-items:center;gap:10px;padding:14px 15px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--text-mute);font-size:.88rem}
.ws-dot{width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 0 rgba(25,227,227,.6);animation:livePulse 1.6s infinite}
.wd-img{width:30px;height:30px;border-radius:9px;flex-shrink:0;object-fit:cover;background:var(--bg-2)}
.wd-tag{margin-left:auto;font-size:.66rem;font-weight:600;color:var(--green);background:var(--green-soft);padding:3px 9px;border-radius:100px}
.wallet-opt.loading{opacity:.6;pointer-events:none}
.wallet-opt.loading .wd-tag{color:var(--text-mute);background:rgba(255,255,255,.06)}
.wallet-installs{display:flex;flex-direction:column;gap:10px}
.wallet-empty .wallet-opt .wd-tag{display:none}

/* Generative cat avatars */
.cat-av{display:block;width:100%;height:100%;border-radius:inherit}
.side-av:has(.cat-av),.pav:has(.cat-av),.lbx-av:has(.cat-av),.brand-mark:has(.cat-av),.au-meta+.side-av:has(.cat-av){
  background:none!important;padding:0!important;overflow:hidden}
.brand-mark:has(.cat-av){overflow:hidden}
.apptop-user .side-av:has(.cat-av){overflow:hidden}
.tw-row .cat-av,.feed-row .cat-av{border-radius:inherit}

/* Custom-follow panel */
.mfollow{position:relative;overflow:hidden;border-radius:16px}
.mfollow::before{content:'';position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--violet),var(--scan))}
.mfollow input::placeholder{color:var(--text-mute)}

/* Risk presets */
.rf-presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.rf-presets-l{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-mute)}
.rf-preset{font-family:'General Sans',sans-serif;font-weight:600;font-size:.8rem;padding:6px 13px;border-radius:100px;cursor:pointer;
  border:1px solid var(--line-strong);background:var(--bg-3);color:var(--text-dim);transition:.16s}
.rf-preset:hover{color:var(--text);border-color:var(--scan)}
.rf-preset.on{background:var(--cyan-soft);border-color:var(--scan);color:var(--scan)}
.rf-presets-h{margin-left:4px}
.rf-f-wide{flex:1.6 1 210px}
.rf-sched{display:flex;align-items:center;gap:6px}
.rf-sched input[type=time]{flex:1;min-width:0;width:auto;background:var(--bg-3);border:1px solid var(--line-strong);color:var(--text);border-radius:9px;padding:9px 8px;font-family:var(--mono);font-size:.8rem;color-scheme:dark}
.rf-sched span{color:var(--text-mute);flex:0 0 auto}

/* Sonar mood gauge */
.mood{padding:6px 0}
.mood-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.mood-pct{font-family:var(--disp);font-weight:700;font-size:2.4rem;line-height:1}
.mood-word{font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 11px;border-radius:100px}
.mood-word.bull{color:var(--green);background:var(--green-soft)}
.mood-word.bear{color:var(--red);background:rgba(244,98,111,.12)}
.mood-word.neu{color:var(--amber);background:rgba(245,185,69,.13)}
.mood-bar{position:relative;height:12px;border-radius:100px;margin:8px 0 14px;
  background:linear-gradient(90deg,#f4626f,#f5b945 50%,#34e2a0);box-shadow:inset 0 0 0 1px rgba(0,0,0,.3)}
.mood-bar b{position:absolute;top:-5px;width:5px;height:22px;border-radius:3px;background:#fff;transform:translateX(-50%);box-shadow:0 0 10px rgba(255,255,255,.7)}
.mood-legend{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;font-variant-numeric:tabular-nums}

/* Guardian */
.guard-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line);font-size:.88rem}
.guard-row:first-of-type{border-top:none}
.guard-chip{font-family:var(--mono);font-size:.68rem;font-weight:600;padding:3px 9px;border-radius:7px}
.guard-chip.on{color:var(--green);background:var(--green-soft)}
.guard-chip.off{color:var(--text-mute);background:rgba(255,255,255,.05)}

/* Whale health */
.health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.health-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:rgba(10,13,20,.4)}
.health-card.cool{border-color:rgba(91,141,239,.4);background:linear-gradient(160deg,rgba(91,141,239,.08),transparent 70%)}
.health-card.hot{border-color:rgba(52,226,160,.35);background:linear-gradient(160deg,rgba(52,226,160,.08),transparent 70%)}
.hc-top{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.hc-flag{margin-left:auto;font-size:.72rem;font-weight:600}
.hc-stats{display:flex;gap:16px;font-size:.82rem;color:var(--text-dim)}
.hc-stats b{font-family:var(--disp);font-weight:700;color:var(--text)}
.hc-act{display:block;margin-top:10px;font-size:.76rem;color:var(--cyan)}

/* Simulation modal */
.sim-modal{width:min(560px,94vw)}
.sim-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.sim-c{background:var(--bg-3);border:1px solid var(--line);border-radius:11px;padding:12px;text-align:center}
.sim-c span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);margin-bottom:6px}
.sim-c b{font-family:var(--disp);font-weight:700;font-size:1.25rem}
.sim-list{max-height:240px;overflow-y:auto;border:1px solid var(--line);border-radius:11px}
.sim-row{display:grid;grid-template-columns:48px 1fr auto auto auto;gap:10px;align-items:center;padding:9px 13px;font-size:.78rem;border-bottom:1px solid var(--line)}
.sim-row:last-child{border-bottom:none}
.sim-row .green{font-weight:600;color:var(--green)}.sim-row .red{font-weight:600;color:var(--red)}
@media(max-width:560px){.sim-cards{grid-template-columns:1fr 1fr}.sim-row{grid-template-columns:44px 1fr auto;font-size:.74rem}.sim-row span:nth-child(4),.sim-row span:nth-child(5){display:none}}

/* ============================================================
   PERFORMANCE OVERRIDES (appended 2026-06)
   Stacked backdrop-filter:blur() on EVERY card + a full-viewport
   mix-blend-mode noise layer were melting desktop GPUs on scroll.
   Swap card glass-blur for a solid surface (visually ~identical),
   drop the blend-mode grain, and shrink the giant glow-orb blurs.
   ============================================================ */
.gcard,.card,.panel,.glass,.b,.step,.price-card,.whale-card,.acc-item,.mw,.pod,.lbx,.node{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,0) 42%),var(--bg-2)!important;
}
/* Frosted bars stay frosted but with a cheap blur (they re-composite on scroll). */
.nav,.app-top,.nm{backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;}
/* Full-viewport blend-mode film grain — very expensive per paint. Off. */
body::after{display:none!important;}
/* Giant soft glows: huge blur radii cost a lot; smaller radius, same vibe. */
.hero-orb{filter:blur(46px)!important;}
/* Honor reduced-motion globally for the always-running decorative loops. */
@media(prefers-reduced-motion:reduce){
  body::before,.hero-orb,.app-card,.coin-accent,.marquee-track,.sonar-sweep,.sonar-blip,.shimmer{animation:none!important;}
}

/* ============================================================
   Landing stat-strip (4 live counters) — styles were missing, so the
   icons fell back to the SVG default ~300x150 and created a huge blank
   gap. Lay it out as a compact 4-up row (2-up on mobile).
   ============================================================ */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;
  padding:26px 16px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r)}
.stat .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:var(--green-soft);color:var(--green)}
.stat .ic svg{width:22px;height:22px}
.stat .num{font-family:var(--disp);font-weight:700;font-size:2.1rem;line-height:1;color:var(--text)}
.stat .lbl{font-family:var(--mono);font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim)}
@media(max-width:680px){.stat-strip{grid-template-columns:1fr 1fr}.stat .num{font-size:1.8rem}}

/* --- Mobile bottom tab bar (PWA) --- */
.botnav{display:none}
@media(max-width:760px){
  .botnav{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:150;
    background:rgba(12,15,21,.96);backdrop-filter:blur(16px);
    border-top:1px solid var(--line-strong);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));
  }
  .botnav-tab{
    flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:3px;
    padding:6px 2px;color:var(--text-mute);text-decoration:none;border-radius:10px;
    transition:color .15s var(--ease);
  }
  .botnav-tab .bn-ic{display:inline-flex}
  .botnav-tab .bn-ic svg{width:23px;height:23px}
  .botnav-tab .bn-l{font-size:.66rem;font-weight:600;letter-spacing:.02em}
  .botnav-tab.active{color:var(--green)}
  /* keep content clear of the fixed bar */
  .app-top-shell .app-content{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .paper-banner~.app-content,.ann-banner~.app-content{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
}

/* --- Status / trust page --- */
.status-list{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:14px}
.status-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-2)}
.status-row .sr-name{font-weight:600;color:var(--text)}
.status-row .sr-val{margin-left:auto;font-size:.86rem}
.st-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 4px rgba(255,255,255,.03)}
.st-dot.st-ok{background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}
.st-dot.st-bad{background:var(--red);box-shadow:0 0 0 4px rgba(244,98,111,.16)}
.st-dot.st-unknown{background:var(--text-mute)}
.trust-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.trust-c{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.trust-c .tc-num{font-size:1.7rem;font-weight:700;color:var(--text);line-height:1.1}
.trust-c .tc-num .tc-u{font-size:.9rem;color:var(--text-dim);font-weight:600}
.trust-c .tc-l{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-top:7px}
@media(max-width:620px){.trust-cards{grid-template-columns:1fr}}

/* --- Public profile portfolio --- */
.pf-list{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pf-row{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--bg-2)}
.pf-row .pf-id{font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:6px}
.pf-row .pf-pnl{margin-left:auto;font-weight:600}

/* --- Whale earnings/activity calendar --- */
.wcal{display:grid;grid-template-columns:repeat(18,1fr);gap:5px;max-width:560px}
.wcal-d{aspect-ratio:1;border-radius:4px;background:var(--bg-3);display:inline-block;width:100%}
.wcal-d.l0{background:rgba(255,255,255,.05)}
.wcal-d.l1{background:rgba(52,211,153,.28)}
.wcal-d.l2{background:rgba(52,211,153,.48)}
.wcal-d.l3{background:rgba(52,211,153,.72)}
.wcal-d.l4{background:var(--green)}
.wcal-legend{display:flex;align-items:center;gap:5px;margin-top:12px;color:var(--text-mute);font-size:.74rem}
.wcal-legend .wcal-d{width:13px;height:13px}

/* ================================================================
   BLACKOUT — true-black theme + 3D depth + pixel kit.
   Final override layer: delete this whole section to restore navy.
   ================================================================ */
:root{
  --bg-0:#000000; --bg-1:#060608; --bg-2:#0a0a0d; --bg-3:#121218;
  --surface-glass:rgba(8,8,11,.68);
  --line:rgba(255,255,255,.09); --line-strong:rgba(255,255,255,.19);
  --shadow:0 26px 70px -28px rgba(0,0,0,.95);
  --hard-sm:0 10px 28px -16px rgba(0,0,0,.9);
  --glow-cyan:0 0 0 1px rgba(25,227,227,.22),0 14px 54px -18px rgba(25,227,227,.5);
}
html,body{background:#000}
body::before{ /* dimmer aurora over pure black — embers, not fog */
  background:
    radial-gradient(36vw 32vw at 10% 6%, rgba(25,227,227,.10), transparent 62%),
    radial-gradient(38vw 34vw at 90% 0%, rgba(139,109,255,.10), transparent 62%),
    radial-gradient(44vw 38vw at 50% 110%, rgba(52,226,160,.07), transparent 62%)}
.sidebar{background:rgba(5,5,7,.9)}
.footer{background:#050507}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-thumb{background:#17171d;border-radius:8px;border:3px solid #000}
::-webkit-scrollbar-track{background:#000}

/* --- Depth: every surface gets an inner top highlight + heavy ambient --- */
.gcard,.card,.panel,.b,.step,.price-card,.whale-card,.tile,.mw,.pod,.lbx,.node{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 20px 55px -30px rgba(0,0,0,.95)}
.gcard:hover,.b:hover,.step:hover,.whale-card:hover{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),var(--glow-cyan)}

/* --- 3D tilt (JS sets --rx/--ry/--gx/--gy on [data-tilt]) --- */
[data-tilt]{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transform-style:preserve-3d;will-change:transform;transition:transform .18s var(--ease)}
[data-tilt]::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;
  background:radial-gradient(300px 200px at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.09),transparent 62%);
  opacity:0;transition:opacity .25s var(--ease)}
[data-tilt]:hover::after{opacity:1}
@media(prefers-reduced-motion:reduce),(hover:none){[data-tilt]{transform:none!important}}

/* --- Buttons: 3D bevel + press --- */
.btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -2px 0 rgba(0,0,0,.28)}
.btn:active{transform:translateY(1.5px) scale(.995)}
.btn-ghost,.btn-outline{box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}

/* --- Signal deck: neon PnL + synthwave grid floor --- */
.ds-pnl{text-shadow:0 0 26px rgba(52,226,160,.4),0 0 70px rgba(52,226,160,.18)}
.ds-pnl.red{text-shadow:0 0 26px rgba(244,98,111,.4)}
.ds-floor{position:absolute;left:0;right:0;bottom:0;height:62%;z-index:0;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 45%);mask-image:linear-gradient(180deg,transparent,#000 45%)}
.ds-floor::before{content:'';position:absolute;inset:-12% -35%;
  background:
    linear-gradient(90deg,rgba(25,227,227,.13) 1px,transparent 1px) 0 0/64px 100%,
    linear-gradient(0deg,rgba(139,109,255,.12) 1px,transparent 1px) 0 0/100% 36px;
  transform:perspective(430px) rotateX(63deg);transform-origin:50% 0;
  animation:floorScroll 8s linear infinite}
@keyframes floorScroll{to{background-position:0 0,0 36px}}
@media(prefers-reduced-motion:reduce){.ds-floor::before{animation:none}}
.sonar{filter:drop-shadow(0 0 26px rgba(25,227,227,.22))}

/* --- KPI tiles: per-tile neon edge + glowing value --- */
.tile{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 45%),var(--bg-2)}
.tile::before{content:'';position:absolute;inset:0 auto auto 0;width:100%;height:2px;opacity:.85;
  background:linear-gradient(90deg,var(--ta,#19e3e3),transparent 75%)}
.tile:nth-child(6n+1){--ta:#19e3e3}.tile:nth-child(6n+2){--ta:#8b6dff}.tile:nth-child(6n+3){--ta:#34e2a0}
.tile:nth-child(6n+4){--ta:#ff5dd2}.tile:nth-child(6n+5){--ta:#f5b945}.tile:nth-child(6n+6){--ta:#6ad7ff}
.tile .tv{text-shadow:0 0 18px color-mix(in srgb,var(--ta,#19e3e3) 42%,transparent)}
.tile:hover{border-color:color-mix(in srgb,var(--ta,#19e3e3) 55%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 44px -18px color-mix(in srgb,var(--ta,#19e3e3) 45%,transparent)}

/* ================================================================
   PIXEL KIT — gmgn-style 2D/retro components (profile & share UI)
   ================================================================ */
.px-card{position:relative;background:#09090c;border:2px solid #202028;border-radius:0;padding:20px;
  box-shadow:6px 6px 0 rgba(25,227,227,.13),inset 0 1px 0 rgba(255,255,255,.04)}
.px-card.alt{box-shadow:6px 6px 0 rgba(139,109,255,.14),inset 0 1px 0 rgba(255,255,255,.04)}
.px-scan::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.5;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px)}
.px-h{font-family:var(--mono);font-weight:700;text-transform:uppercase;letter-spacing:.14em;
  font-size:.72rem;color:var(--text-dim);text-shadow:2px 2px 0 #000;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.px-h b{color:var(--cyan)}
.px-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.72rem;font-weight:600;
  padding:5px 9px;background:#101016;border:2px solid #22222b;color:var(--text);
  box-shadow:3px 3px 0 rgba(0,0,0,.7);text-transform:uppercase;letter-spacing:.05em}
.px-tag.g{border-color:rgba(52,226,160,.55);color:var(--green)}
.px-tag.c{border-color:rgba(25,227,227,.55);color:var(--cyan)}
.px-tag.v{border-color:rgba(139,109,255,.55);color:#b9a8ff}
.px-tag.r{border-color:rgba(244,98,111,.55);color:var(--red)}
.px-tag.gold{border-color:rgba(245,185,69,.6);color:var(--gold)}
.px-bar{display:flex;gap:3px;margin-top:6px}
.px-bar i{flex:1;height:10px;background:#15151c;border:1px solid #000}
.px-bar i.on{background:var(--green);box-shadow:0 0 9px rgba(52,226,160,.55)}
.px-bar.xp i.on{background:var(--cyan);box-shadow:0 0 9px rgba(25,227,227,.55)}
.px-stat{background:#0d0d12;border:2px solid #1c1c24;padding:12px 14px;position:relative}
.px-stat .v{font-family:var(--mono);font-weight:700;font-size:1.25rem;line-height:1.2}
.px-stat .l{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-mute);margin-top:3px}
.px-stat .v.up{color:var(--green);text-shadow:0 0 14px rgba(52,226,160,.4)}
.px-stat .v.down{color:var(--red);text-shadow:0 0 14px rgba(244,98,111,.4)}
.px-av{image-rendering:pixelated;border:2px solid #23232c;box-shadow:5px 5px 0 rgba(0,0,0,.75),0 0 30px rgba(52,226,160,.14);background:#000}
.px-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-weight:700;font-size:.8rem;
  text-transform:uppercase;letter-spacing:.08em;padding:10px 16px;background:var(--green);color:#04160f;
  border:2px solid #000;box-shadow:4px 4px 0 #000;cursor:pointer;transition:transform .08s,box-shadow .08s}
.px-btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 #000}
.px-btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #000}
.px-btn.ghost{background:#101016;color:var(--text);border-color:#26262f}
.px-heat{display:flex;gap:3px;flex-wrap:wrap}
.px-heat i{width:12px;height:12px;background:#14141a;border:1px solid #000}
.px-heat i.q1{background:rgba(52,226,160,.3)}.px-heat i.q2{background:rgba(52,226,160,.55)}
.px-heat i.q3{background:rgba(52,226,160,.8)}.px-heat i.q4{background:var(--green);box-shadow:0 0 6px rgba(52,226,160,.6)}
.px-grid{display:grid;gap:14px}
@media(min-width:720px){.px-grid.c4{grid-template-columns:repeat(4,1fr)}.px-grid.c3{grid-template-columns:repeat(3,1fr)}.px-grid.c2{grid-template-columns:repeat(2,1fr)}}

/* --- Whale identity: frog avatar, degen nickname --- */
.wc-frog{display:inline-flex;flex-shrink:0;line-height:0}
.wc-frog svg{display:block;image-rendering:pixelated}
.wc-frog.sm{width:24px;height:24px}
.wc-nick{font-family:var(--mono);font-size:.7rem;color:var(--text-mute);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* --- Win celebration popup + confetti --- */
.confetti-canvas{position:fixed;inset:0;z-index:9998;pointer-events:none}
.win-pop{position:fixed;right:22px;bottom:22px;z-index:9999;background:#09090c;border:2px solid rgba(52,226,160,.55);
  padding:16px 18px;box-shadow:6px 6px 0 #000,0 0 40px rgba(52,226,160,.25);max-width:min(360px,calc(100vw - 44px));
  animation:winIn .3s var(--ease)}
.win-pop.out{opacity:0;transform:translateY(12px);transition:all .35s var(--ease)}
.win-pop .wp-t{font-family:var(--mono);font-weight:700;margin-bottom:12px}
.win-pop .wp-t b{color:var(--green);text-shadow:0 0 14px rgba(52,226,160,.5)}
.win-pop .wp-a{display:flex;gap:10px;flex-wrap:wrap}
@keyframes winIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}

/* --- Wins & losses rows --- */
.wl-row{display:flex;align-items:center;gap:14px;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.05)}
.wl-row:last-child{border-bottom:none}
.wl-row:hover{background:rgba(255,255,255,.025)}

/* --- Public leaderboard --- */
.lb-row{display:flex;align-items:center;gap:14px;margin-bottom:12px;text-decoration:none;color:var(--text);
  transition:transform .15s var(--ease),box-shadow .15s var(--ease)}
.lb-row:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 rgba(25,227,227,.2)}
.lb-row.top{border-color:rgba(245,185,69,.5);box-shadow:6px 6px 0 rgba(245,185,69,.16)}
.lb-rank{font-family:var(--mono);font-weight:700;font-size:1.05rem;width:52px;text-align:center;flex-shrink:0}
.lb-pnl{font-weight:700;font-size:1.05rem;text-align:right;flex-shrink:0}

/* --- Whale trading-room replay --- */
#replayFeed{max-height:420px;overflow-y:auto}
.replay-row.play{animation:replayIn .5s var(--ease) both;animation-delay:var(--rd,0ms)}
@keyframes replayIn{from{opacity:0;transform:translateX(-14px);background:rgba(25,227,227,.08)}
  60%{background:rgba(25,227,227,.06)}to{opacity:1;transform:none;background:transparent}}
@media(prefers-reduced-motion:reduce){.replay-row.play{animation:none}}

/* --- Subscription: billing-term toggle + plan cards --- */
.bill-terms{display:inline-flex;gap:2px;background:#0d0d12;border:2px solid #1c1c24;padding:3px;margin-bottom:14px}
.bill-term{font-family:var(--mono);font-size:.78rem;font-weight:600;padding:7px 12px;background:transparent;color:var(--text-dim);
  border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.bill-term.active{background:var(--green);color:#04160f}
.bt-save{font-size:.62rem;padding:1px 5px;background:rgba(52,226,160,.18);color:var(--green);border-radius:0}
.bill-term.active .bt-save{background:rgba(0,0,0,.25);color:#04160f}
.plan-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.plan-card{background:#0d0d12;border:2px solid #1c1c24;padding:16px}
.plan-card.feat{border-color:rgba(25,227,227,.5)}
.pc-name{font-family:var(--mono);font-weight:700;display:flex;align-items:center;gap:8px}
.pc-price{margin:8px 0 4px}
.pc-amt{font-family:var(--disp);font-weight:800;font-size:1.7rem;color:#eafffb}
.pc-amt small{font-size:.8rem;color:var(--text-mute);font-weight:500}
@media(max-width:560px){.plan-cards{grid-template-columns:1fr}}

/* --- Referral QR --- */
.ref-qr{display:flex;flex-direction:column;align-items:center;gap:7px;flex-shrink:0}
.ref-qr img{display:block;background:#fff;padding:8px;border:2px solid #1c1c24;box-shadow:5px 5px 0 rgba(0,0,0,.6);image-rendering:pixelated}
.ref-qr span{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute)}
