:root{
  --bg:#08060E; --panel:#130F1D; --panel2:#1E1730; --line:#2A2140; --line2:#2A2140;
  --text:#F4F4F6; --dim:#9A9AA5; --muted:#6F6F7E;
  --green:#14F195; --greend:#0bbd74; --red:#9945FF; --purple:#9945FF; --amber:#C9A24B;
  --grad:linear-gradient(90deg,#9945FF,#14F195);
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --display:"Unbounded",ui-sans-serif,system-ui,sans-serif;
  --body:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --r-card:24px; --r-pill:999px; --r-chip:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}   /* stop iOS inflating text in landscape */
html,body{margin:0;height:100%;overflow-x:hidden;max-width:100%}
body{background:var(--bg);color:var(--text);font:15px/1.5 var(--body);}
b{font-weight:600}
.sub{color:var(--dim)} .p12{padding:12px} .k{color:var(--muted);font-size:11px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.between{justify-content:space-between}
.liq{color:var(--amber)}
input,select,button{font:inherit;color:var(--text)}
input,select{background:#0a0c11;border:1px solid var(--line2);border-radius:8px;padding:8px 10px}
input[type=range]{padding:0;accent-color:var(--green)}
button{cursor:pointer;border:1px solid var(--line2);background:var(--panel2);border-radius:8px;padding:8px 12px}
button:disabled{opacity:.5;cursor:default}
.mono{font-family:var(--mono)}

/* header */
.top{display:flex;align-items:center;gap:22px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--panel)}
.brand{font-weight:700;letter-spacing:.2px;display:flex;align-items:center;gap:8px}
.logo{color:var(--green);font-size:18px}
.tabs{display:flex;gap:18px}
.tabs a{color:var(--dim);cursor:pointer;font-weight:600}
.tabs a.active{color:var(--text)}
.wallet{margin-left:auto;background:var(--panel2);border:1px solid var(--line2);border-radius:999px;padding:6px 12px;font-family:var(--mono);font-size:12px;color:var(--dim)}

/* layout */
.app{display:grid;gap:10px;padding:10px;
  grid-template-columns:260px 1fr 320px;
  grid-template-areas:"left center right" "bottom bottom right";}
.col.left{grid-area:left} .col.center{grid-area:center} .col.right{grid-area:right} .col.bottom{grid-area:bottom}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px}
.panel-h{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);font-weight:600}

/* markets list */
.markets{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.mk{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);cursor:pointer}
.mk.active{border-color:var(--green);background:rgba(20,241,149,.06)}
.mk .ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}
.mk .nm{font-weight:600} .mk .pr{margin-left:auto;font-family:var(--mono)}
.up{color:var(--green)} .down{color:var(--red)}

/* leaderboard */
.lb .leaders{max-height:420px;overflow:auto}
.lrow{display:grid;grid-template-columns:22px 1fr auto;gap:8px;padding:7px 12px;border-top:1px solid var(--line);align-items:center;font-size:12.5px}
.lrow:first-child{border-top:0}
.lrow .rk{color:var(--muted);font-family:var(--mono)}
.lrow .ow{font-family:var(--mono);color:var(--dim)}

/* center chart */
.center{display:flex;flex-direction:column;gap:10px}
.mkthead{display:flex;align-items:center;gap:18px;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap}
.sym{font-weight:700;display:flex;align-items:center;gap:8px}
.sym b{color:var(--green);background:rgba(20,241,149,.1);border-radius:6px;padding:1px 7px;font-size:12px}
.mh{display:flex;flex-direction:column}
.mh b{font-family:var(--mono)}
.chart-wrap{position:relative;flex:0 0 auto;height:452px;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
#chart{width:100%;height:100%;display:block}
.chart-pill{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:rgba(10,12,17,.85);border:1px solid var(--line2);border-radius:999px;padding:6px 16px;font-size:13px;z-index:2}

/* order panel */
.order{display:flex;flex-direction:column}
.order>div{padding:12px}
.order>div+div{border-top:1px solid var(--line)}
.payrow{display:flex;gap:8px;margin-top:8px}
.payrow input{flex:1;font-family:var(--mono);font-size:18px}
.payrow .chip{align-self:center;background:var(--panel2);border:1px solid var(--line2);border-radius:8px;padding:8px 10px;font-size:12px}
.quick{display:flex;gap:6px;margin-top:8px}
.quick button{flex:1;padding:6px}
.lev input[type=range]{width:100%;margin:8px 0}
.levbtns{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.levbtns button{padding:5px 0;font-size:11px}
.levbtns button.on{border-color:var(--green);color:var(--green)}
.sidebtns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sidebtns button{padding:14px;font-size:15px;font-weight:700;border:0}
.sidebtns .long{background:linear-gradient(180deg,#14f195,#0bbd74);color:#042}
.sidebtns .short{background:linear-gradient(180deg,#9945ff,#7a2fd6);color:#fff}
.est .er{display:flex;justify-content:space-between;padding:3px 0;font-size:12.5px}
.est .er span{color:var(--dim)} .est .er b{font-family:var(--mono)}
.tpsl label{color:var(--dim);font-size:12px}
.tpsl input{width:72px;margin-left:4px}
.sw{color:var(--text);font-size:12px}
.yourpnl .realbig{font:700 24px/1.1 var(--mono);display:block;margin:4px 0}
.out:empty{display:none}

/* bottom table */
.bottom{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:160px}
.btabs{display:flex;align-items:center;gap:18px;padding:10px 14px;border-bottom:1px solid var(--line)}
.btabs a{color:var(--dim);cursor:pointer;font-weight:600}
.btabs a.active{color:var(--text)}
.btabs .closeall{margin-left:auto;color:var(--red);border-color:rgba(153,69,255,.4);background:transparent;padding:6px 12px}
.tablewrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;color:var(--muted);font-weight:500;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
td{padding:11px 14px;border-top:1px solid var(--line);font-family:var(--mono)}
td .tag{font-family:ui-sans-serif,system-ui;font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid var(--line2);color:var(--dim)}
td .tag.liq{color:var(--red);border-color:rgba(153,69,255,.4)}
td .cl{font-family:var(--display);font-weight:800;font-size:11px;background:transparent;border:1.5px solid var(--line2);color:var(--text);padding:6px 14px;border-radius:999px;white-space:nowrap;line-height:1.1}
td .cl:hover{border-color:var(--red);color:var(--red)}
.side-long{color:var(--green)} .side-short{color:var(--red)}
/* per-position TP/SL */
.tpslcell{min-width:200px}
.tpslrow{display:flex;gap:8px;align-items:center;font-family:ui-sans-serif,system-ui}
.tpslrow label{color:var(--dim);font-size:11px;display:flex;align-items:center;gap:3px}
.tpslrow input[type=number]{width:52px;padding:4px 6px;font-size:12px;font-family:var(--mono)}
.tpslrow .pauto{color:var(--text)}
.tpslhint{font-size:10.5px;margin-top:4px;font-family:var(--mono)}
.flash-up{animation:fu .6s} .flash-down{animation:fd .6s}
@keyframes fu{0%{color:var(--green);text-shadow:0 0 10px rgba(20,241,149,.7)}100%{}}
@keyframes fd{0%{color:var(--red);text-shadow:0 0 10px rgba(153,69,255,.7)}100%{}}

@media (max-width:1100px){
  .app{grid-template-columns:1fr;grid-template-areas:"center" "right" "bottom" "left"}
  .chart-wrap{height:312px}
  .col.left .markets{display:none}        /* mobile/tablet: market buttons replace the list */
}

/* ============================================================
   DEGEN FULL-SEND — animations, glow, Solana gradients
   ============================================================ */
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(20,241,149,.6)}70%{box-shadow:0 0 0 7px rgba(20,241,149,0)}100%{box-shadow:0 0 0 0 rgba(20,241,149,0)}}
@keyframes hueShift{0%{filter:hue-rotate(0)}100%{filter:hue-rotate(360deg)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes popIn{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
@keyframes shake{10%,90%{transform:translate(-1px,0)}20%,80%{transform:translate(2px,0)}30%,50%,70%{transform:translate(-4px,0)}40%,60%{transform:translate(4px,0)}}
.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}
.pop{animation:popIn .32s ease}

/* brand */
.brandtext{background:linear-gradient(90deg,#14f195,#9945ff,#14f195);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 5s linear infinite;font-weight:800;letter-spacing:.3px}
.livedot{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block;animation:pulseDot 1.6s infinite;margin-left:2px}
.logo{text-shadow:0 0 12px rgba(20,241,149,.7)}

/* header right cluster */
.hdr-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.icnbtn{border:1px solid var(--line2);background:var(--panel2);border-radius:10px;padding:6px 9px;font-size:13px;position:relative;line-height:1}
.icnbtn .off{position:absolute;top:1px;right:2px;font-size:9px;color:var(--red)}
.icnbtn.on{border-color:var(--green);box-shadow:0 0 10px rgba(20,241,149,.3)}
.icnbtn.on .off{display:none}
.ava-btn{width:34px;height:34px;border-radius:50%;padding:0;border:2px solid var(--purple);background:#161a24;display:grid;place-items:center;overflow:hidden;box-shadow:0 0 12px rgba(153,69,255,.4)}
.ava-btn img{width:100%;height:100%;object-fit:cover}
.ava-btn #avaInit{color:var(--purple);font-size:14px}
.wallet{margin-left:0}

/* markets glow on active */
.mk{transition:transform .12s,border-color .12s,box-shadow .12s}
.mk:hover{transform:translateY(-1px)}
.mk.active{box-shadow:0 0 16px rgba(20,241,149,.12) inset,0 0 0 0}
.mk .pr{font-weight:600}

/* copy trading panel */
.copy{margin-top:10px}
.copybody{padding:12px}
.copybody #copyAddr{width:100%;font-family:var(--mono);font-size:12px}
.copybody label input[type=number]{width:62px;font-family:var(--mono)}
.matchlev{display:flex;align-items:center;gap:4px}
.arm{width:100%;margin-top:10px;padding:11px;font-weight:800;letter-spacing:.4px;border:0;border-radius:10px;color:#04121a;
  background:linear-gradient(135deg,#14f195,#9945ff);background-size:160% 160%;box-shadow:0 0 18px rgba(20,241,149,.35);transition:transform .1s}
.arm:hover{transform:translateY(-1px)}
.arm.armed{background:linear-gradient(135deg,#9945ff,#ff9a3c);color:#2a0a0a;box-shadow:0 0 22px rgba(153,69,255,.5);animation:pulseDot 2s infinite}
.copylog{margin-top:8px;font-size:11px;min-height:14px;font-family:var(--mono)}
.copypos{margin-top:8px;display:flex;flex-direction:column;gap:5px}
.cprow{display:flex;align-items:center;gap:8px;font-size:11.5px;font-family:var(--mono);padding:5px 8px;border:1px solid var(--line);border-radius:8px}
.cprow .cpsd{font-weight:700}

/* LONG / SHORT — glowy degen buttons */
.sidebtns button{position:relative;overflow:hidden;transition:transform .08s,box-shadow .15s}
.sidebtns button span{position:relative;z-index:2}
.sidebtns button::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.35) 50%,transparent 80%);background-size:200% 100%;animation:shimmer 3.5s linear infinite;opacity:.5}
.sidebtns .long{box-shadow:0 0 18px rgba(20,241,149,.35)}
.sidebtns .short{box-shadow:0 0 18px rgba(153,69,255,.35)}
.sidebtns button:hover{transform:translateY(-2px) scale(1.01)}
.sidebtns button:active{transform:scale(.97)}

/* panic */
.panicwrap{padding-top:0!important}
.panic{width:100%;padding:12px;font-weight:800;letter-spacing:.5px;border:1px solid rgba(153,69,255,.5);border-radius:10px;
  color:#ff8a94;background:linear-gradient(180deg,rgba(153,69,255,.16),rgba(153,69,255,.05));transition:transform .1s,box-shadow .15s}
.panic:hover{color:#fff;background:linear-gradient(180deg,#9945ff,#e5424f);box-shadow:0 0 22px rgba(153,69,255,.6);transform:translateY(-1px)}
.panic:active{transform:scale(.98)}

/* realized big number pop */
.realbig{text-shadow:0 0 16px currentColor;transition:transform .15s}

/* fx overlay (confetti) */
#fxCanvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:50}

/* chart trade-tape legend */
.tape-legend{position:absolute;bottom:10px;left:12px;font-size:11px;opacity:.6;z-index:2;pointer-events:none}

/* number flash a touch stronger */
@keyframes fu{0%{color:var(--green);text-shadow:0 0 14px rgba(20,241,149,.9);transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes fd{0%{color:var(--red);text-shadow:0 0 14px rgba(153,69,255,.9);transform:scale(1.08)}100%{transform:scale(1)}}

/* leaderboard copy button */
.lrow{grid-template-columns:20px 1fr auto auto;gap:7px}
.copybtn{padding:3px 9px;font-size:10.5px;border:1px solid var(--line2);background:var(--panel2);border-radius:7px;color:var(--dim);transition:all .12s}
.copybtn:hover{border-color:var(--green);color:var(--green);box-shadow:0 0 10px rgba(20,241,149,.25)}

/* ============================================================
   DEGEN UX v2 — marquee, taglines, god-mode, feeling lucky
   ============================================================ */
/* scrolling slogan banner */
.marquee{overflow:hidden;background:linear-gradient(90deg,#9945ff,#14f195);border-bottom:1px solid var(--line);white-space:nowrap}
.mq-track{display:inline-block;padding:4px 0;animation:mq 34s linear infinite;will-change:transform}
.mq-track span{color:#061016;font-weight:800;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;padding:0 10px}
@keyframes mq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* leverage god-mode */
.dio{background:linear-gradient(135deg,#9945ff,#14f195);color:#05101a;font-weight:800;font-size:10px;padding:2px 8px;border-radius:999px;letter-spacing:.4px;box-shadow:0 0 12px rgba(153,69,255,.6);animation:pulseDot 1.8s infinite}
.levends{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.3px}

/* LONG / SHORT with taglines */
.sidebtns button{display:flex;flex-direction:column;align-items:center;gap:0;padding:12px 8px;line-height:1.1}
.sidebtns .bigw{font-size:19px;font-weight:900;letter-spacing:.5px}
.sidebtns em{font-style:normal;font-size:10.5px;font-weight:700;opacity:.8;margin-top:3px}

/* feeling lucky */
.luckywrap{position:relative;padding-top:0!important}
.lucky{width:100%;padding:12px;font-weight:900;letter-spacing:.6px;border:0;border-radius:12px;color:#120a04;
  background:linear-gradient(135deg,#f5c26b,#ff9a3c,#9945ff,#14f195);background-size:280% 280%;animation:luckyShift 6s ease infinite;
  box-shadow:0 0 20px rgba(245,194,107,.4);transition:transform .1s}
.lucky:hover{transform:translateY(-2px) scale(1.01)}
.lucky:active{transform:scale(.97)}
@keyframes luckyShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.luckytip{margin-top:8px;font-size:11.5px;color:var(--amber);min-height:14px;text-align:center;font-style:italic}
.luckytip.show{animation:popIn .3s ease}

/* ============================================================
   UX v3 — mockup-matched palette & spacing
   ============================================================ */
/* tight action group (no big gaps between LONG/SHORT · lucky · panic) */
.actions{display:flex;flex-direction:column;gap:9px}
.sidebtns{gap:9px}
.sidebtns button{border-radius:16px;padding:14px 8px}
.sidebtns .bigw{font-size:20px;font-weight:900}
.sidebtns .long{color:#07210a}
/* SHORT: mockup style — dark with purple outline + purple text (red stays for PnL/chart) */
.sidebtns .short{background:rgba(153,69,255,.08);border:1.5px solid var(--purple);color:#c9a3ff;box-shadow:0 0 16px rgba(153,69,255,.25)}
.sidebtns .short em{color:#b388ff}
.lucky,.panic{border-radius:16px}
.luckytip{margin-top:0}
.luckytip:empty{display:none}
/* flatter rounded cards/buttons like the mockup */
.payrow input,.payrow .chip,.quick button,.levbtns button,.est,.tpsl input{border-radius:12px}

/* ============================================================
   Privy login (phase 2a)
   ============================================================ */
.loginbtn{border:0;border-radius:10px;padding:7px 14px;font-weight:800;color:#07210a;
  background:linear-gradient(135deg,#14f195,#9945ff);background-size:160% 160%;box-shadow:0 0 14px rgba(20,241,149,.3)}
.loginbtn:hover{transform:translateY(-1px)}
.pwallet{background:var(--panel2);border:1px solid var(--purple);border-radius:999px;padding:6px 12px;font-family:var(--mono);font-size:12px;color:#c9a3ff;cursor:pointer}
.pmodal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(3,5,9,.7);backdrop-filter:blur(3px);padding:16px}
.pcard{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--line2);border-radius:16px;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.phead{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:16px}
.pclose{border:0;background:transparent;color:var(--dim);font-size:16px;padding:4px 8px}
.prow{display:flex;gap:8px}
.prow input{flex:1;font-size:15px}
.parm{border:0;border-radius:10px;padding:10px 14px;font-weight:800;color:#07210a;background:linear-gradient(135deg,#14f195,#0bbd74)}

/* hidden must win over class display rules (fixes modal showing by default) */
[hidden]{display:none!important}

/* ============================================================
   DESIGN SYSTEM — Degen Solana (typography · shape · colour)
   style-only layer: fonts, radii, pill/outlined buttons, gradient slider
   ============================================================ */
/* typography */
.brandtext{font-family:var(--display);font-weight:900;letter-spacing:-.04em}
.mono,td,th,.mh b,.est .er b,.lrow .ow,.lrow .rk,.mk .pr,.payrow input,.copylog,.cprow,.tpslrow input,.tpslhint,.wallet,.pwallet,.chart-pill,#markHead,#markSide,#levBadge,.sym b{font-family:var(--mono)}
th{letter-spacing:.14em}
.k,.levends,.mq-track span{letter-spacing:.14em}
/* big display numbers */
#levVal{font-family:var(--display);font-weight:900;font-size:26px;letter-spacing:-.03em;line-height:.9}
.realbig{font-family:var(--display)!important;font-weight:900;font-size:32px;letter-spacing:-.03em;line-height:.9}
.panel-h,.phead,.btabs a,.tabs a{font-weight:700}

/* cards: big radii, purple-tinted surfaces */
.panel,.mkthead,.chart-wrap,.bottom{border-radius:var(--r-card)}
.top{background:var(--panel)}

/* pill buttons everywhere; chips 14px */
button{border-radius:var(--r-pill)}
.chip{border-radius:var(--r-chip)!important}
/* outlined chunky selectors, selected = filled */
.quick button,.levbtns button{border:2px solid var(--line2);background:transparent;font-family:var(--mono);font-weight:700;border-radius:var(--r-pill)}
.quick button:hover,.levbtns button:hover{border-color:var(--green);color:var(--green)}
.levbtns button.on{background:var(--green);color:#042;border-color:var(--green)}
.mk{border-radius:18px}
.mk.active{border-color:var(--green)}
.chart-pill{border-radius:var(--r-pill)}

/* inputs */
input,select{background:#0b0814;border-color:var(--line2);border-radius:14px}
.payrow input{font-weight:700}

/* signature-gradient slider track */
input[type=range]{-webkit-appearance:none;appearance:none;height:7px;border-radius:999px;background:var(--grad)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--green);box-shadow:0 0 10px rgba(20,241,149,.55);cursor:pointer}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--green);cursor:pointer}

/* giant CTAs — pill, 74px+, display font */
.sidebtns{gap:12px}
.sidebtns button{border-radius:var(--r-pill);min-height:76px}
.sidebtns .bigw{font-family:var(--display);font-weight:900;font-size:25px;letter-spacing:-.02em}
.sidebtns em{font-family:var(--body);font-weight:600;opacity:.85}
.sidebtns .long{background:var(--green);color:#052012;border:0;box-shadow:0 0 24px rgba(20,241,149,.3)}
.sidebtns .short{background:transparent;border:2.5px solid var(--purple);color:#c9a3ff;box-shadow:0 0 24px rgba(153,69,255,.22)}
.sidebtns .short em{color:#b388ff}
.lucky{border-radius:var(--r-pill);min-height:60px;font-family:var(--display);font-weight:900;letter-spacing:-.01em}
.panic{border-radius:var(--r-pill);border:2.5px solid var(--purple);color:#c9a3ff;background:transparent;min-height:56px;font-family:var(--display);font-weight:800}
.panic:hover{background:var(--purple);color:#0a0410;box-shadow:0 0 26px rgba(153,69,255,.5)}
.closeall{border-radius:var(--r-pill)!important}
.arm,.loginbtn,.parm{border-radius:var(--r-pill);font-family:var(--display);font-weight:800;letter-spacing:-.01em}
.arm,.loginbtn{background:var(--grad)}
.loginbtn{color:#07210a}

/* accents */
.tabs a.active,.btabs a.active{color:var(--green)}
.marquee,.dio{background:var(--grad)}
.brandtext{background:linear-gradient(90deg,#9945FF,#14F195,#9945FF);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent}

/* oauth login buttons */
.poauth{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.poauthbtn{border:2px solid var(--line2);background:var(--panel2);border-radius:var(--r-pill);padding:12px;font-weight:700;font-family:var(--body);display:flex;align-items:center;justify-content:center;gap:8px}
.poauthbtn:hover{border-color:var(--green)}
.pdivider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin:4px 0 10px}
.pdivider::before,.pdivider::after{content:"";height:1px;background:var(--line2);flex:1}
.pcard{border-radius:28px}

/* ============================================================
   MOBILE — scale down the big degen type, prevent focus-zoom
   ============================================================ */
@media (max-width:640px){
  body{font-size:14px}
  .top{flex-wrap:wrap;gap:10px 14px;padding:10px 12px}
  .tabs{gap:14px}
  .app{padding:8px;gap:8px}
  .mkthead{gap:10px 14px;padding:10px 12px}
  .chart-wrap{height:260px}
  #levVal{font-size:22px}
  .realbig{font-size:26px}
  .sidebtns button{min-height:64px}
  .sidebtns .bigw{font-size:21px}
  .lucky{min-height:54px}
  .panic{min-height:50px}
  /* inputs ≥16px so iOS doesn't zoom on focus */
  input,select,.payrow input{font-size:16px}
  .tpslrow input[type=number],.copybody label input[type=number]{font-size:14px}
}

/* styled confirm modal */
.confirmcard{max-width:380px}
.cfbtns{display:flex;gap:10px}
.cfbtns button{flex:1;min-height:52px;border-radius:var(--r-pill);font-family:var(--display);font-weight:800;letter-spacing:-.01em}
.cfno{background:transparent;border:2px solid var(--line2);color:var(--text)}
.cfno:hover{border-color:var(--dim)}
.cfyes{background:var(--green);color:#052012;border:0;box-shadow:0 0 20px rgba(20,241,149,.3)}
.cfyes.danger{background:var(--purple);color:#0a0410;box-shadow:0 0 20px rgba(153,69,255,.4)}

/* left column matches chart height (shorter leaderboard, copy moved to its own page) */
.col.left .copy{display:none}
.lb .leaders{max-height:330px}

/* house rules card */
.houserules{padding:14px 16px;margin-top:10px}
.hr-h{font-family:var(--display);font-weight:800;color:var(--green);margin-bottom:8px;font-size:15px}
.houserules p{margin:6px 0;font-size:12.5px;line-height:1.5}
.hr-warn{color:var(--amber);font-weight:800}
.hr-link{color:var(--green);text-decoration:none;font-weight:700;font-size:13px;display:inline-block;margin-top:6px}
.hr-link:hover{text-decoration:underline}

/* ============================================================
   Welcome onboarding + feeling-lucky spin
   ============================================================ */
.welcome{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:18px;overflow:auto}
.welcard{width:100%;max-width:420px;margin:auto}
.wstep{font-family:var(--mono);color:var(--green);font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}
.wbig{font-family:var(--display);font-weight:900;font-size:52px;line-height:.9;letter-spacing:-.05em;margin:0 0 16px}
.wbody{font-size:16px;line-height:1.5;color:var(--dim);margin:0 0 20px}.wbody b{color:var(--purple)}
.wcheck{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:10px;font-weight:600;cursor:pointer}
.wcheck input{width:20px;height:20px;accent-color:var(--green);flex:none}
.wstats{display:flex;gap:8px;margin:16px 0}
.wstats>div{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 6px;text-align:center}
.wstats b{font-family:var(--display);font-weight:900;font-size:20px;display:block;color:var(--green);letter-spacing:-.02em}
.wstats>div:nth-child(2) b{color:var(--purple)}
.wstats span{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.wgo{width:100%;min-height:64px;border:0;border-radius:999px;background:var(--green);color:#052012;font-family:var(--display);font-weight:900;font-size:19px;letter-spacing:-.01em;transition:transform .1s}
.wgo:not(:disabled):hover{transform:translateY(-1px)}
.wgo:disabled{opacity:.35}
.wdont{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:14px;color:var(--dim);font-size:13px;cursor:pointer}
.wdont input{accent-color:var(--green)}
.wfoot{text-align:center;color:var(--muted);font-size:11px;margin-top:12px;font-family:var(--mono)}
@media (max-width:640px){ .wbig{font-size:42px} .wbody{font-size:15px} }

.luckycard{max-width:340px;text-align:center}
.luckyreels{display:flex;gap:12px;justify-content:center;margin:6px 0 14px}
.reel{flex:1;background:var(--panel2);border:2px solid var(--line2);border-radius:16px;padding:20px 8px;font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:-.02em}
.luckymsg{font-size:14px;color:var(--dim);min-height:22px;font-weight:600}

/* ============================================================
   Fill the grid row (no empty space; chart & leaderboard equal height)
   ============================================================ */
.col.center{height:100%}
.col.left{display:flex;flex-direction:column}
.col.left .markets{flex:none}
.col.left .lb{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.col.left .lb .leaders{flex:1 1 auto;min-height:0;max-height:none}
.chart-wrap{flex:1 1 auto;min-height:320px;height:auto}
@media (max-width:1100px){
  .col.left{display:block}
  .col.left .lb .leaders{max-height:330px;flex:none}
  .chart-wrap{flex:0 0 auto;height:312px}
}
@media (max-width:640px){ .chart-wrap{height:260px} }

/* result modal */
.resultcard{max-width:360px}
#rsTitle{font-family:var(--display);font-weight:800;font-size:18px}

/* ============================================================
   MOBILE HEADER — hamburger nav + asset dropdown (hidden on desktop)
   ============================================================ */
.navbtn,.assetsel,.drawer,.assetmenu{display:none}
.as-ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800}
@media (max-width:760px){
  .top{flex-wrap:nowrap;gap:8px;padding:10px 12px}
  .tabs{display:none}
  .ava-btn,#loginBtn{display:none}
  .navbtn{display:grid;place-items:center;background:transparent;border:0;color:var(--text);font-size:22px;padding:2px 4px;line-height:1}
  .brand .livedot{display:none}.brandtext{font-size:15px}
  .assetsel{display:flex;align-items:center;gap:6px;background:var(--panel2);border:1px solid var(--line2);border-radius:999px;padding:5px 10px;margin-left:auto}
  .assetsel .as-ic{background:linear-gradient(135deg,#9945ff,#14f195);color:#06120a}
  .assetsel b{font-family:var(--mono);font-weight:800;font-size:13px}
  .assetsel .as-cv{color:var(--dim);font-size:10px}
  .assetsel .as-px{font-family:var(--mono);font-size:12px;margin-left:2px;color:var(--green)}
  .hdr-right{gap:8px}
  .wallet{font-size:11px;padding:5px 9px;max-width:92px;overflow:hidden;text-overflow:ellipsis}
  .drawer{display:flex;flex-direction:column;gap:2px;position:fixed;top:56px;left:10px;right:10px;z-index:150;background:var(--panel);border:1px solid var(--line2);border-radius:18px;padding:10px;box-shadow:0 20px 50px rgba(0,0,0,.6)}
  .drawer a{color:var(--text);text-decoration:none;font-weight:700;padding:13px;border-radius:12px}
  .drawer a:active{background:var(--panel2)}
  .assetmenu{display:flex;flex-direction:column;gap:4px;position:fixed;top:56px;right:10px;z-index:150;min-width:210px;background:var(--panel);border:1px solid var(--line2);border-radius:18px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.6)}
  .amrow{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px}
  .amrow.on{background:rgba(20,241,149,.08);box-shadow:inset 0 0 0 1px var(--green)}
  .amrow .amsym{font-family:var(--mono);font-weight:800;flex:1}
  .amrow .ampx{font-family:var(--mono);font-size:13px;color:var(--dim)}
}

/* welcome logo + leaderboard cap/scroll + chart height correction */
.wbrand{text-align:center;font-size:22px;margin-bottom:18px;letter-spacing:-.03em}
.app{align-items:start}
.col.left{display:block}
.col.left .lb{flex:none;overflow:visible}
.col.left .lb .leaders{flex:none;max-height:402px;overflow:auto}   /* ~10 rows then scroll */
.chart-wrap{flex:0 0 auto;height:470px;min-height:0}
@media (max-width:1100px){ .chart-wrap{height:312px} .col.left .lb .leaders{max-height:330px} }
@media (max-width:640px){ .chart-wrap{height:260px} }

/* pay-with toggle */
.paytoggle{display:flex;gap:6px;margin-top:8px}
.ptbtn{flex:1;padding:8px;font-size:12px;font-weight:700;border:2px solid var(--line2);background:transparent;border-radius:999px;color:var(--dim)}
.ptbtn.on{border-color:var(--green);color:var(--green);background:rgba(20,241,149,.06)}
.payhint{margin-top:8px;font-size:11px;color:var(--amber)}

/* market-header BTC/ETH pills (YOLO-style) */
.mhspace{flex:1}
.coinpill{display:flex;align-items:center;gap:6px;background:var(--panel2);border:1px solid var(--line2);border-radius:999px;padding:7px 13px;font-family:var(--mono);font-size:12px;color:var(--dim);cursor:pointer}
.coinpill:hover{border-color:var(--green)}
.coinpill b{color:var(--text);font-weight:700}
.coinpill .cpi{font-weight:800}
@media (max-width:760px){ .mkthead .mhspace{display:none} .coinpill{padding:6px 10px} }

/* share PnL */
.sharebtn{width:100%;margin-top:12px;padding:11px;border:0;border-radius:999px;font-family:var(--display);font-weight:800;color:#07210a;background:var(--grad);background-size:160% 160%;cursor:pointer}
.sharebtn:hover{transform:translateY(-1px)}
.sharecard{max-width:440px}
.sharecard canvas{width:100%;border-radius:16px;margin:10px 0;display:block}

/* desktop: chart · leaderboard · order panel share ONE row height → aligned bottoms, no gap, Positions right after */
@media (min-width:1101px){
  .app{grid-template-rows:clamp(430px,calc(100vh - 240px),820px) auto;align-items:stretch}
  .col.left,.col.center,.col.right{min-height:0}
  .col.center{height:auto}
  .chart-wrap{flex:1 1 auto;height:auto;min-height:0}
  .col.left{display:flex;flex-direction:column}
  .col.left .lb{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .col.left .lb .leaders{flex:1 1 auto;min-height:0;max-height:none;overflow:auto}
  .col.right{overflow:visible;align-self:start}   /* order panel grows down (spans both rows), no inner scroll */
}

/* welcome tagline + X button (v28) */
.wtag{font-family:var(--mono);font-weight:700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;margin:6px 0 2px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
a.icnbtn,.xbtn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text)}
.xbtn:hover{color:var(--green)}

/* pill nav (v31) — segmented menu, active = solid green pill */
.navpill{display:flex;gap:2px;background:#0f0b18;border:1px solid var(--line);border-radius:999px;padding:5px}
.navpill a{font-family:var(--body);font-weight:700;font-size:14px;color:var(--dim);text-decoration:none;padding:9px 18px;border-radius:999px;white-space:nowrap;transition:background .15s,color .15s}
.navpill a:hover{color:var(--text)}
.navpill a.active{background:var(--green);color:#04121a}
@media(max-width:760px){
  body.trade .navpill{display:none}                         /* trade page keeps its hamburger on mobile */
  body:not(.trade) .navpill{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px}
  body:not(.trade) .navpill a{padding:8px 13px;font-size:13px}
}

a.brand{text-decoration:none}

/* feeling lucky — disclaimer + amount step (v33) */
.luckyhead{font-family:var(--display);font-weight:900;font-size:20px;text-align:center;margin-bottom:12px}
.luckywarn{font-size:13px;color:#f5c26b;background:rgba(245,194,107,.08);border:1px solid rgba(245,194,107,.25);border-radius:12px;padding:11px 13px;line-height:1.5;margin-bottom:14px}
.luckyamt{display:block;margin-bottom:16px}
.luckyamt input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:14px;color:#fff;padding:12px;font-family:var(--mono);font-size:16px;margin-top:6px}
.luckyamt input:focus{outline:none;border-color:var(--green)}

/* PnL total / 24h toggle (v33) */
.pnltog{display:inline-flex;gap:2px;background:#0f0b18;border:1px solid var(--line);border-radius:999px;padding:3px;margin-bottom:8px}
.pnltog .pt-b{background:transparent;border:0;color:var(--dim);font-family:var(--mono);font-size:11px;font-weight:700;padding:5px 12px;border-radius:999px;cursor:pointer}
.pnltog .pt-b.on{background:var(--green);color:#04121a}

/* mobile header: give the wallet chip room (v35) */
@media (max-width:760px){
  .hdr-right{gap:6px}
  .top .xbtn{display:none}                 /* X isn't essential in the tight phone header */
  .pwallet{font-size:11px;padding:6px 11px;white-space:nowrap;color:#d8c2ff;border-color:var(--purple)}
  #privyWallet{display:inline-flex;align-items:center;gap:4px}
  .assetsel{max-width:46%}
  .assetsel .as-px{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* position-opened celebration (v37) */
.celebrate{text-align:center;padding:4px 0 2px}
.cel-emoji{font-size:62px;line-height:1;animation:celpop .55s cubic-bezier(.2,1.5,.4,1) both, celfloat 2.2s ease-in-out .55s infinite}
@keyframes celpop{0%{transform:scale(0) rotate(-18deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}
@keyframes celfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.cel-big{font-family:var(--display);font-weight:800;font-size:21px;margin-top:10px}
.cel-sub{color:var(--dim);font-size:13px;margin-top:5px}
.cel-status{margin-top:15px;font-family:var(--mono);font-size:12px;color:#f5c26b;display:inline-flex;align-items:center;gap:7px;justify-content:center}
.cel-spin{width:12px;height:12px;border:2px solid rgba(245,194,107,.3);border-top-color:#f5c26b;border-radius:50%;display:inline-block;animation:celspin .7s linear infinite}
@keyframes celspin{to{transform:rotate(360deg)}}

/* pending position row (v38) */
.pendrow{opacity:.85;animation:pendpulse 1.6s ease-in-out infinite}
.pendrow td{color:var(--dim)}
@keyframes pendpulse{0%,100%{opacity:.6}50%{opacity:1}}

/* mobile scroll fix + TP/SL popup (v40) */
.col{min-width:0}                                   /* grid children can shrink → wide table scrolls inside, not the page */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tpslcell{min-width:auto}
.tpsl-btn{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-family:var(--mono);font-size:11.5px;color:var(--dim);cursor:pointer;white-space:nowrap}
.tpsl-btn:hover{border-color:var(--green);color:var(--text)}
.tpsl-btn.on{border-color:var(--green)}
.tpslcard{max-width:420px}
.tpmrow{display:flex;gap:12px;margin-bottom:14px}
.tpmrow label{flex:1;display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--dim)}
.tpmrow input{background:var(--bg);border:1px solid var(--line);border-radius:12px;color:#fff;padding:12px;font-family:var(--mono);font-size:18px}
.tpmrow input:focus{outline:none;border-color:var(--green)}
.tpmauto{display:flex;align-items:center;gap:9px;font-weight:700;cursor:pointer}
.reinvest{background:linear-gradient(135deg,#9945FF,#14F195);color:#04121a;border:0;border-radius:999px;padding:6px 12px;font-family:var(--display);font-weight:800;font-size:11px;cursor:pointer;white-space:nowrap}
.reinvest.big{width:100%;padding:12px;font-size:14px;margin-top:8px}
.posact{white-space:nowrap;display:flex;gap:6px;justify-content:flex-end;align-items:center}
.posact .reinvest{margin:0;padding:6px 12px;font-size:11px;line-height:1.1}
.posact .cl{padding:6px 14px}

/* GO ALL-IN button — same family as lucky/panic (v41) */
.lucky,.panic,.allin{min-height:56px}
.allin{width:100%;border:0;border-radius:var(--r-pill);font-family:var(--display);font-weight:900;letter-spacing:-.01em;font-size:15px;color:#04121a;background:linear-gradient(135deg,#9945FF,#14F195);cursor:pointer;transition:transform .08s,box-shadow .15s;opacity:.5}
.allin.hot{opacity:1;animation:allinPulse 1.8s ease-in-out infinite}
.allin:hover{transform:translateY(-1px)}
@keyframes allinPulse{0%,100%{box-shadow:0 0 16px rgba(20,241,149,.35)}50%{box-shadow:0 0 30px rgba(153,69,255,.55)}}
@media(max-width:760px){ .lucky,.panic,.allin{min-height:50px} .allin{font-size:14px} }
/* fee disclosure under the trade actions (v42) */
.feenote{text-align:center;opacity:.6;font-size:12px;margin-top:4px}

/* ============================================================
   Market selector buttons + center house-rules slot (v43)
   ============================================================ */
.mktbtns{display:none;gap:8px}
.mktbtn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 10px;border:1.5px solid var(--line2);background:var(--panel2);border-radius:var(--r-pill);font-family:var(--mono);font-weight:800;font-size:15px;color:var(--dim);transition:border-color .12s,color .12s,background .12s}
.mktbtn .mb-ic{font-weight:900;font-size:16px}
.mktbtn.active{border-color:var(--green);color:var(--text);background:rgba(20,241,149,.08);box-shadow:0 0 16px rgba(20,241,149,.18)}
.centerhr{order:-1}            /* desktop: house rules sits above the chart, where the price bar was */
.col.center{min-width:0}
@media (max-width:1100px){
  .mktbtns{display:flex;order:-2}   /* mobile/tablet: full-width market selector at the top */
  .centerhr{order:1}                /* house rules drops below the chart on mobile */
}
/* phone header: keep the wallet chip from stretching the page */
@media (max-width:760px){
  .top{min-width:0}
  .pwallet{max-width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;padding:5px 9px}
  .assetsel .as-px{max-width:92px;overflow:hidden;text-overflow:ellipsis}
}
/* keep GO ALL-IN on one line (v44) */
.allin{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:10px;padding-right:10px}
@media(max-width:760px){ .allin{font-size:13px} }

/* ============================================================
   Mobile positions row — trim to the essentials (v45)
   Keep: Position · Value/PnL · Auto TP-SL · actions. Hide Entry/Mark, Bust, Size, Collateral, Held.
   Scoped to #posWrap so the History table keeps all its columns.
   ============================================================ */
@media (max-width:760px){
  #posWrap th:nth-child(3),#posWrap td:nth-child(3),
  #posWrap th:nth-child(4),#posWrap td:nth-child(4),
  #posWrap th:nth-child(5),#posWrap td:nth-child(5),
  #posWrap th:nth-child(6),#posWrap td:nth-child(6),
  #posWrap th:nth-child(8),#posWrap td:nth-child(8){display:none}
  #posWrap td,#posWrap th{padding:10px 10px}
  .posact{flex-direction:column;gap:5px;align-items:stretch}
  .posact .reinvest,.posact .cl{width:100%;text-align:center}
}

/* ============================================================
   v46 batch — logos, action buttons, fee row, leaderboard links, TP/SL, wallet gutter
   ============================================================ */
/* token logos (fallback glyph if the image fails) */
.cimg{width:18px;height:18px;border-radius:50%;object-fit:contain;vertical-align:-4px;display:inline-block}
.mk .ic{overflow:hidden;background:transparent!important} .mk .ic .cimg{width:22px;height:22px}
.as-ic .cimg{width:20px;height:20px} .mb-ic.cimg{width:18px;height:18px}
.assetsel .as-ic{background:transparent!important}

/* positions action buttons — all three same height */
.posact button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:34px;line-height:1.1}
.posact .incr{background:var(--panel2);border:1.5px solid var(--line2);color:var(--text);border-radius:999px;padding:6px 14px;font-family:var(--display);font-weight:800;font-size:11px;white-space:nowrap}
.posact .incr:hover{border-color:var(--green);color:var(--green)}

/* estimates: fee row + ⓘ House rules link */
.est .hr-er{border-top:1px solid var(--line);margin-top:4px;padding-top:8px}
.hr-i{color:var(--dim);text-decoration:none;font-weight:700;font-size:12px;white-space:nowrap}
.hr-i:hover{color:var(--green)}

/* leaderboard rows are now links to the trader profile */
.lrow-link{display:grid;grid-template-columns:22px 1fr auto 14px;gap:8px;align-items:center;text-decoration:none;color:inherit}
.lrow-link:hover{background:rgba(255,255,255,.03)}
.lrow-link .lgo{color:var(--dim);text-align:center}
.lbtable .lrow-link{grid-template-columns:40px 1fr auto 16px;padding:13px 16px;font-size:14px}

/* TP/SL modal — keep inputs inside the card, add the no-TP/no-SL toggles */
.tpslcard{box-sizing:border-box;width:100%}
.tpmrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tpmrow label{min-width:0}
.tpmrow input[type=number]{width:100%;box-sizing:border-box}
.tpmoff{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--dim);margin-top:6px}
.tpmoff input{width:14px;height:14px}

/* phone header — right gutter so the wallet chip isn't glued to the edge */
@media (max-width:760px){
  .top{padding-right:14px}
  .hdr-right{padding-right:2px}
  .pwallet{max-width:108px}
  /* positions header + cells on one line */
  #posWrap th,#posWrap td{white-space:nowrap}
}
#posWrap th{white-space:nowrap}

/* GO ALL-IN congrats choices (v46) */
.armchoice{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.armchoice .poauthbtn{width:100
/* GO ALL-IN congrats choices (v46) */
.armchoice{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.armchoice .poauthbtn{width:100%}

/* checkboxes/radios never stretch to full width (v53) */
input[type=checkbox],input[type=radio]{width:auto!important;flex:none}

/* ===== copy-trade surfacing (badges, active banner, toasts) — v59 ===== */
.copybadge{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-weight:800;font-size:10px;letter-spacing:.04em;
  color:#04121a;background:linear-gradient(135deg,#9945FF,#14F195);border-radius:999px;padding:2px 7px;margin-left:6px;cursor:pointer;vertical-align:1px}
.copybadge:hover{filter:brightness(1.1)}
.copyactive{background:linear-gradient(135deg,rgba(153,69,255,.14),rgba(20,241,149,.12));border:1px solid rgba(20,241,149,.35);
  border-radius:var(--r-card);padding:12px 14px;margin-bottom:12px}
.copyactive .ca-row{display:flex;align-items:center;gap:10px}
.copyactive .ca-txt{flex:1;min-width:0;line-height:1.35}
.copyactive .ca-txt b{font-family:var(--display);font-weight:900;font-size:13px}
.copyactive .ca-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(20,241,149,.6);animation:capulse 1.8s infinite;flex:none}
@keyframes capulse{0%{box-shadow:0 0 0 0 rgba(20,241,149,.6)}70%{box-shadow:0 0 0 7px rgba(20,241,149,0)}100%{box-shadow:0 0 0 0 rgba(20,241,149,0)}}
.copyactive .ca-stop{border:1px solid var(--line);background:transparent;color:var(--dim);border-radius:999px;padding:6px 13px;font-weight:800;font-size:12px;cursor:pointer;flex:none}
.copyactive .ca-stop:hover{color:var(--red);border-color:var(--red)}
.copyactive .ca-note{font-size:10.5px;margin-top:8px;opacity:.75}
#copyToasts{position:fixed;right:14px;bottom:14px;z-index:9000;display:flex;flex-direction:column;gap:10px;max-width:min(340px,calc(100vw - 28px))}
.ctoast{background:var(--panel,#130F1D);border:1px solid rgba(20,241,149,.4);border-radius:14px;padding:12px 14px;cursor:pointer;
  box-shadow:0 10px 34px rgba(0,0,0,.5);transform:translateY(16px) scale(.98);opacity:0;transition:transform .35s cubic-bezier(.2,.9,.3,1.3),opacity .35s}
.ctoast.in{transform:translateY(0) scale(1);opacity:1}
.ctoast .ct-h{font-family:var(--display);font-weight:900;font-size:12px;letter-spacing:.02em;margin-bottom:4px}
.ctoast .ct-b{font-size:12.5px;line-height:1.4;color:var(--fg,#e8e8ef)}
@media(max-width:560px){ #copyToasts{left:12px;right:12px;bottom:12px;max-width:none} }

/* ===== branded withdraw confirm modal — v59 ===== */
.wdcard{max-width:420px}
.wdc-amt{font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:-.03em;margin:14px 0 2px;
  background:linear-gradient(135deg,#9945FF,#14F195);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.wdc-to{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:6px}
.wdc-addr{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--text);word-break:break-all;line-height:1.5;
  background:var(--panel2);border:1px solid var(--line2);border-radius:12px;padding:10px 12px;margin:5px 0 14px}
.wdc-warn{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:#f5c26b;
  background:rgba(201,162,75,.08);border:1px solid rgba(201,162,75,.3);border-radius:12px;padding:10px 12px;margin-bottom:16px}
.wdc-warn b{color:#f5c26b}
.wdc-ic{font-size:15px;line-height:1.2;flex:none}
#wdConfirm .cfbtns{display:flex;gap:10px}
#wdConfirm .cfbtns button{flex:1;min-height:48px;border-radius:var(--r-pill);font-family:var(--display);font-weight:800;font-size:15px}

/* ===== copy.html active-copy list (on top) — v59 ===== */
.copyactivelist{background:linear-gradient(135deg,rgba(153,69,255,.14),rgba(20,241,149,.12));border:1px solid rgba(20,241,149,.35);
  border-radius:var(--r-card);padding:14px 16px;margin:14px 0}
.copyactivelist .cal-h{font-family:var(--display);font-weight:900;font-size:14px;letter-spacing:-.01em;margin-bottom:10px}
.caitem{display:flex;align-items:center;gap:10px}
.caitem .ca-txt{flex:1;min-width:0;line-height:1.35}
.caitem .ca-txt b{font-family:var(--mono);font-weight:800;font-size:13px}
.caitem .ca-link{color:var(--dim);text-decoration:none;font-weight:700;font-size:12px;border:1px solid var(--line2);border-radius:999px;padding:6px 11px;flex:none}
.caitem .ca-link:hover{color:var(--green);border-color:var(--green)}
