
*{box-sizing:border-box;margin:0;padding:0}
img{max-width:100%;height:auto}
:root{
  --bg:#0a0b0e;--bg2:#101216;--bg3:#16191f;--bg4:#21252c;
  --green:#3ad29b;--green2:#3ad29b;--accent:#f7b955;
  --red:#ff4d6a;--yellow:#f5a623;--blue:#4fc3f7;--purple:#ce93d8;
  --text:#eef1f5;--muted:#565d68;--dim:#565d68;
  --border:#16191f;--border2:#21252c;
  --shadow-card:0 2px 12px rgba(0,0,0,.5);--card-radius:16px;
  --glass-border:#21252c;--green-glow:rgba(247,185,85,.15);
}
html,body{height:100%;height:100dvh;overflow:hidden;background:var(--bg);font-family:'Geist',system-ui,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;color:var(--text);font-size:15px;line-height:1.5;letter-spacing:-0.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body::before{content:'';position:fixed;top:0;left:0;right:0;height:1px;background:var(--bg3);z-index:9999;pointer-events:none}
@keyframes top-pulse{0%,100%{opacity:.4}50%{opacity:.8}}
.live-dot{color:#00ff88;animation:blink 1.5s infinite;font-size:10px;line-height:1}
@keyframes orcaBlink{0%,100%{opacity:1}50%{opacity:.35}}

/* ── ONBOARDING ── */
/* Legacy full-screen onboarding is retained only for its wallet handlers. It must never paint. */
#onboard{position:fixed;inset:0;background:var(--bg);z-index:100;display:none;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}
#onboard.hide{display:none}
.ob-box{background:var(--bg2);border:1px solid var(--border2);border-radius:20px;padding:2rem 2rem 1.75rem;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 0 80px rgba(0,0,0,.18);text-align:center}
.ob-logo-tile{width:48px;height:48px;min-width:48px;background:var(--accent);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.ob-logo-tile::after{content:'';width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:16px solid #0a0b0e}
.ob-title{font-family:var(--ui);font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:.25rem}
.ob-sub{font-size:12px;color:var(--muted);margin-bottom:1.5rem;line-height:1.6}
.ob-step{display:none}.ob-step.active{display:block}
.ob-btn{width:100%;padding:13px;border:none;border-radius:11px;font-family:var(--ui);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:8px}
.ob-wallet-btn{background:var(--bg3);color:var(--text);border:1px solid var(--border2)}
.ob-wallet-btn:hover{background:#1c1f26;border-color:#35353d}
.btn-skip{background:transparent;color:var(--muted);border:1px solid var(--border);font-size:12px;padding:10px}
.btn-skip:hover{color:var(--text)}
.ob-connected{background:rgba(58,210,155,.06);border:1px solid rgba(58,210,155,.2);border-radius:11px;padding:12px 16px;display:flex;align-items:center;gap:10px;margin-bottom:12px}
.ob-check{width:28px;height:28px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#0a0b0e;font-size:13px;flex-shrink:0;font-weight:700}
.ob-conn-text{text-align:left}
.ob-conn-name{font-size:13px;font-weight:600;color:var(--text)}
.ob-conn-sub{font-size:10px;color:var(--muted);font-family:'JetBrains Mono',monospace;word-break:break-all;margin-top:2px}
.ob-progress{display:flex;gap:6px;justify-content:center;margin-bottom:1.5rem}
.ob-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background .3s}
.ob-dot.done{background:var(--green)}.ob-dot.active{background:var(--accent)}
.sg-list{text-align:left;margin-bottom:1.1rem;display:flex;flex-direction:column;gap:10px}
.sg-item{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.55;color:var(--dim)}
.sg-num{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.3);color:var(--green);font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;font-family:'Orbitron',monospace}
.sg-label{font-weight:700;color:var(--text);display:block;margin-bottom:1px}
.sg-warn{padding:9px 11px;background:rgba(118,118,118,.07);border:1px solid rgba(118,118,118,.22);border-radius:7px;font-size:10px;color:#aaaaaa;text-align:left;line-height:1.55;margin-bottom:1.1rem}
.ob-btn-outline{background:transparent!important;color:var(--text)!important;border:1px solid var(--border2)!important}
.ob-btn-outline:hover{border-color:var(--accent)!important;color:var(--accent)!important}
.ob-manual-section{display:none;text-align:left}
.ob-manual-section.open{display:block}
.ob-addr-input{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:10px 14px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text);outline:none;transition:border-color .15s;margin-bottom:6px;box-sizing:border-box}
.ob-addr-input::placeholder{color:var(--muted)}
.ob-addr-input:focus{border-color:var(--accent)}
.ob-input-err{font-size:10px;color:var(--red);min-height:14px;margin-bottom:6px}
#readonly-banner{display:none;background:#f5a623;color:#0a0b0e;font-size:12px;font-weight:600;padding:7px 20px;align-items:center;justify-content:center;gap:12px;flex-shrink:0}
#readonly-banner button{background:rgba(0,0,0,.18);border:none;border-radius:6px;padding:4px 12px;font-size:11px;font-weight:700;cursor:pointer;color:#0a0b0e}
#guest-banner{display:none;position:fixed;top:0;left:0;right:0;z-index:50;background:#101216;border-bottom:1px solid #16191f;padding:10px 20px;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:500;color:var(--muted)}
#guest-banner .gb-link{color:#f7b955;font-weight:600;text-decoration:none;cursor:pointer;background:none;border:none;font-size:13px;font-family:inherit;padding:0}
#guest-banner .gb-link:hover{text-decoration:underline}
#guest-banner .gb-min{background:none;border:none;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 4px;border-radius:4px;margin-left:4px}
#guest-banner .gb-min:hover{color:var(--text)}

/* ── LAYOUT ── */
/* Root: flex-column shell, full viewport, dark ground */
#app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:#0a0b0e;color:#eef1f5}
/* Inner 1320px container: centered, 3-column flex row */
.app-body{display:flex;flex:1;min-height:0;overflow:hidden;width:100%;max-width:1320px;margin:0 auto}
/* Center column: flex:1, capped 640px, right divider, own scroll */
.wrap{flex:1;min-width:0;max-width:640px;margin:0;padding:20px;overflow-y:auto;height:100vh;box-sizing:border-box;border-right:1px solid #16191f}
/* ── RIGHT DISCOVERY RAIL ── */
#right-rail{width:340px;flex-shrink:0;padding:16px 18px 40px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:0}
#right-rail::-webkit-scrollbar{width:4px}
#right-rail::-webkit-scrollbar-track{background:transparent}
#right-rail::-webkit-scrollbar-thumb{background:#21252c;border-radius:4px}
.rr-search{width:100%;background:#101216;border:1px solid #21252c;border-radius:13px;padding:11px 15px;color:#eef1f5;font-family:'Geist',system-ui,sans-serif;font-size:14px;outline:none;margin-bottom:16px}
/* The navbar search (token, address, trader) is always on screen next to
   this rail on desktop -- a second search box here was a duplicate. */
#right-rail .rr-search{display:none}
.rr-search::placeholder{color:#565d68}
.rr-card{background:#101216;border:1px solid #16191f;border-radius:18px;overflow:hidden;margin-bottom:16px}
.rr-card-top{display:flex;align-items:center;justify-content:space-between;padding:15px 17px 11px}
.rr-card-title{font-size:16px;font-weight:600;color:#eef1f5}
.rr-pumping{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;letter-spacing:0.1em;color:#3ad29b}
.rr-pumping-dot{width:6px;height:6px;border-radius:50%;background:#3ad29b;animation:orcaBlink 1.6s infinite}
.rr-pumping.rr-cooling{color:#f76b62}
.rr-pumping.rr-cooling .rr-pumping-dot{background:#f76b62}
.rr-market-row{display:flex;align-items:center;gap:12px;padding:9px 17px;cursor:pointer;transition:background .12s}
.rr-market-row:hover{background:#14171c}
.rr-tok-chip{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:11px;color:#0a0b0e}
.rr-tok-info{flex:1;min-width:0}
.rr-tok-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rr-tok-pair{font-family:'JetBrains Mono',monospace;font-size:11px;color:#565d68}
.rr-tok-right{text-align:right;flex-shrink:0}
.rr-tok-price{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500}
.rr-tok-chg{font-family:'JetBrains Mono',monospace;font-size:12px}
.rr-card-link{display:block;padding:11px 17px 6px;font-size:13px;color:#f7b955;cursor:pointer;text-decoration:none}
.rr-card-link:hover{text-decoration:underline}
.rr-trader-row{display:flex;align-items:center;gap:11px;padding:9px 17px;cursor:pointer;transition:background .12s}
.rr-trader-row:hover{background:#14171c}
.rr-trader-rank{font-family:'JetBrains Mono',monospace;font-size:13px;color:#565d68;width:14px;text-align:center;flex-shrink:0}
.rr-trader-av{position:relative;overflow:hidden;width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:#0a0b0e}
.rr-trader-info{flex:1;min-width:0}
.rr-trader-name{font-size:14px;font-weight:600;display:flex;align-items:center;gap:5px;min-width:0}
.rr-trader-uname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.rr-trader-handle{font-size:12px;color:#565d68;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rr-trader-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.rr-trader-pnl{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;color:#3ad29b;flex-shrink:0}
.rr-verified{width:13px;height:13px;border-radius:50%;background:#f7b955;color:#0a0b0e;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;flex-shrink:0}
.rr-featured{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0a0b0e;background:#f7b955;border-radius:4px;padding:1px 5px;flex-shrink:0}
.rr-footer{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#565d68;padding:0 4px;margin-bottom:12px}
.rr-footer a{color:#565d68;text-decoration:none;cursor:pointer}
.rr-footer a:hover{color:#8a919c}
.rr-note{padding:0 4px;font-size:11px;color:#3a4049;line-height:1.5}
.rr-empty{padding:12px 17px;font-size:12px;color:#565d68}
/* Tablet (768–1024px): right rail hidden, center fills remaining space */
@media(max-width:880px){
  .app-body{max-width:none}
  .wrap{max-width:none;border-right:none;height:calc(100vh - 48px);max-width:100vw!important;overflow-x:hidden}
  #right-rail{display:none!important}
}
/* Mobile (<768px): both rails hidden, center fills full viewport */
@media(max-width:767px){
  .app-body{max-width:none}
  .wrap{max-width:none;border-right:none;height:calc(100vh - 48px);max-width:100vw!important;overflow-x:hidden}
  .stats{grid-template-columns:repeat(2,1fr)}
  .mode-desc{max-width:100%}
  .panel-hdr{font-size:10px}
}

/* ── SIDEBAR ── */
#sidebar{width:260px;min-width:260px;height:100vh;position:sticky;top:0;background:var(--bg);border-right:1px solid #16191f;display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;scrollbar-width:none;-ms-overflow-style:none}
#sidebar::-webkit-scrollbar{display:none}
#sidebar::-webkit-scrollbar{width:4px}
#sidebar::-webkit-scrollbar-track{background:transparent}
#sidebar::-webkit-scrollbar-thumb{background:#21252c;border-radius:4px}
.sb-logo{padding:20px 20px 14px;flex-shrink:0}
.sb-logo-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.sb-online-badge{display:flex;align-items:center;gap:5px;font-size:11px;color:#8b93a1;font-weight:600;letter-spacing:.01em}
.online-count-dot{width:6px;height:6px;border-radius:50%;background:#3ad29b;box-shadow:0 0 0 rgba(58,210,155,.5);animation:onlineCountPulse 2s infinite}
@keyframes onlineCountPulse{0%{box-shadow:0 0 0 0 rgba(58,210,155,.5)}70%{box-shadow:0 0 0 5px rgba(58,210,155,0)}100%{box-shadow:0 0 0 0 rgba(58,210,155,0)}}
.sb-logo-shape{width:36px;height:36px;min-width:36px;background:#f7b955;border-radius:11px;display:flex;align-items:center;justify-content:center}
.sb-logo-shape::after{content:'';width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:13px solid #0a0b0e}
.sb-logo-text{font-family:'Geist',system-ui,sans-serif;font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.02em}
.sb-beta-badge{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:600;letter-spacing:.14em;color:#f7b955;background:rgba(247,185,85,.1);border:1px solid rgba(247,185,85,.3);border-radius:7px;padding:5px 9px}
.sb-beta-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:#f7b955;flex-shrink:0}
.sb-nav{flex:1;padding:8px 12px;display:flex;flex-direction:column;gap:1px}
.sb-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;font-family:'Geist',system-ui,sans-serif;font-size:14px;font-weight:500;color:#8a919c;cursor:pointer;transition:background .15s,color .15s;text-decoration:none;border:none;background:transparent;width:100%;text-align:left;border-radius:11px;box-sizing:border-box;position:relative}
.sb-nav-item:hover{background:#14171c;color:#eef1f5}
.sb-nav-item.active{background:rgba(247,185,85,.12);color:#eef1f5;font-weight:600;border-radius:11px}
.sb-nav-item.active::after{content:'';position:absolute;right:12px;width:6px;height:6px;border-radius:50%;background:#f7b955;flex-shrink:0}
.sb-nav-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.sb-nav-badge{margin-left:auto;background:#f7b955;color:#0a0b0e;font-size:9px;font-weight:700;border-radius:999px;padding:2px 7px;min-width:18px;text-align:center}

.sb-cta-btn{display:block;width:calc(100% - 24px);margin:4px 12px 0;padding:13px;background:#f7b955;color:#0a0b0e;border:none;border-radius:13px;font-family:'Geist',system-ui,sans-serif;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.01em;transition:opacity .15s,background .2s;text-align:center}
.sb-cta-btn:hover{opacity:.88}
.sb-cta-btn.stop{background:#201a0a;color:#f7b955;border:1px solid rgba(247,185,85,.2)}
.sb-cta-btn.stop:hover{background:#1f3328}
/* ── bot status card ── */
.sb-bot-wrap{padding:10px 12px 4px;flex-shrink:0}
.sb-bot-card{background:#101216;border:1px solid #16191f;border-radius:14px;padding:12px;margin-bottom:8px}
.sb-bot-status-row{display:flex;align-items:center;gap:7px;margin-bottom:4px}
.sb-bot-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background .3s}
.sb-bot-label{font-size:12px;font-weight:600;color:#eef1f5}
.sb-bot-stats{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:11px;color:#565d68;line-height:1.55;margin-bottom:8px}
.sb-bot-btn{
  width:100%;padding:7px 10px;background:transparent;color:var(--muted);
  border:1px solid #16191f;border-radius:10px;font-family:'Geist',system-ui,sans-serif;
  font-size:12px;font-weight:600;cursor:pointer;letter-spacing:.01em;
  transition:background .15s,color .15s,border-color .15s;
}
.sb-bot-btn:hover{background:#14171c;color:#eef1f5;border-color:#21252c}
.sb-bot-btn.running{background:rgba(247,185,85,.08);color:#f7b955;border-color:rgba(247,185,85,.25)}
.sb-bot-btn.running:hover{background:rgba(247,185,85,.14)}
.sb-pnl-card{background:#101216;border:1px solid #16191f;border-radius:14px;padding:12px;margin-top:8px}
.sb-pnl-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.sb-pnl-lbl{font-size:10px;font-weight:700;color:#565d68;letter-spacing:.1em}
.sb-pnl-total{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:13px;font-weight:700}
.sb-pnl-pos{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid #16191f}
.sb-pnl-circ{width:24px;height:24px;min-width:24px;border-radius:50%;background:#161a22;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#8a919c;letter-spacing:-.02em;flex-shrink:0}
.sb-pnl-mid{flex:1;min-width:0}
.sb-pnl-sym{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:13px;font-weight:700;color:#eef1f5}
.sb-pnl-sub{font-size:10px;color:#565d68;margin-top:1px}
.sb-pnl-right{text-align:right;flex-shrink:0}
.sb-pnl-pct{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:12px;font-weight:700}
.sb-pnl-sol{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:10px;color:#565d68;margin-top:1px}
.sb-pnl-empty{font-size:11px;color:#565d68;text-align:center;padding:8px 0}
.sb-pnl-footer{margin-top:10px;text-align:center}
.sb-pnl-viewall{font-size:11px;color:#f7b955;text-decoration:none;font-weight:600}
.sb-pnl-viewall:hover{text-decoration:underline}

.sb-bottom{padding:12px;border-top:1px solid var(--bg3);flex-shrink:0;margin-top:auto}
.sb-user-card{display:flex;align-items:center;gap:11px;padding:10px;border-radius:14px;background:transparent;border:1px solid #16191f;margin-bottom:8px;cursor:pointer;transition:background .15s}
.sb-user{display:none}
.sb-avatar{width:40px;height:40px;min-width:40px;border-radius:50%;background:var(--bg3);border:1px solid var(--bg4);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--muted);flex-shrink:0;overflow:hidden;position:relative}
.sb-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.sb-user-info{flex:1;min-width:0}
.sb-user-name{font-size:14px;font-weight:600;color:#eef1f5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-handle{font-size:12px;color:#565d68;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}
.sb-sol-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}
.sb-sol{font-size:13px;font-weight:700;color:#eef1f5;font-family:'JetBrains Mono',monospace;white-space:nowrap}
.sb-sol-label{font-size:10px;color:#565d68;font-family:'JetBrains Mono',monospace}
.sb-sol-usdc{font-size:10px;color:#8a919c;font-family:'JetBrains Mono',monospace;white-space:nowrap}
.sb-pnl{font-size:10px;margin-top:1px;display:none}
.sb-pnl.pos{color:var(--accent);font-weight:700}
.sb-pnl.neg{color:var(--red)}
.sb-pnl.neu{color:var(--muted)}
.sb-online-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:blink 2s infinite}
.sb-bot-status{display:flex;align-items:center;gap:7px;padding:4px 10px;font-size:11px;color:var(--muted)}
.sb-bot-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.sb-bot-dot.idle{background:#333}
.sb-bot-dot.running{background:var(--accent);animation:blink 2s infinite}
.hamburger-btn{display:none;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text);font-size:22px;line-height:1;cursor:pointer;padding:6px 8px;flex-shrink:0;-webkit-tap-highlight-color:transparent}
#sidebar-overlay{display:none!important}
@media(max-width:767px){
  .hamburger-btn{display:none}
  #sidebar{display:none!important}
}

/* ── DASHBOARD UTILITY ROW ── (nav itself is the shared top navbar now; this
   is just the handful of controls unique to the dashboard -- see the HTML
   comment above .dash-util-row for what lives here and why) */
/* No padding on the row itself -- margin lives on the buttons instead, so a
   display:none button contributes zero size and a regular (non-owner)
   visitor sees a true zero-height row, not just an empty-looking gap. */
.dash-util-row{display:flex;align-items:center;flex-shrink:0}
.dash-util-row>.hdr-btn{margin:8px 4px}
.logo-row{display:flex;align-items:center;gap:8px;flex-shrink:0}
.brand{font-family:'Inter',system-ui,sans-serif;font-size:16px;font-weight:700;color:#ffffff;letter-spacing:-0.02em}
.hdr-online-badge{display:flex;align-items:center;gap:4px;font-size:10px;color:#8b93a1;font-weight:700;margin-left:6px}
.brand-sub{display:none}
.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.hdr-search-wrap{flex:1;max-width:300px;position:relative;display:flex;align-items:center}
.hdr-search-icon{position:absolute;left:10px;color:#aaaaaa;pointer-events:none;flex-shrink:0}
.hdr-search{width:100%;background:#1c1c1c;border:1px solid #2e2e2e;border-radius:20px;padding:7px 14px 7px 32px;font-size:12px;font-family:'Inter',system-ui,sans-serif;color:#ffffff;outline:none;transition:border-color .15s}
.hdr-search::placeholder{color:#555555}
.hdr-search:focus{border-color:#555555}
.hdr-search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#1c1c1c;border:1px solid #2e2e2e;border-radius:10px;max-height:300px;overflow-y:auto;z-index:500;display:none;box-shadow:0 8px 32px rgba(0,0,0,.6)}
.hdr-search-dropdown.open{display:block}
.hdr-sd-section{padding:4px 0}
.hdr-sd-label{font-size:9px;color:#555555;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px 4px;font-family:'Share Tech Mono',monospace}
.hdr-sd-item{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;transition:background .1s;color:#ffffff;text-decoration:none}
.hdr-sd-item:hover{background:#242424}
.hdr-sd-avatar{width:26px;height:26px;border-radius:50%;background:#2e2e2e;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#aaaaaa;flex-shrink:0;overflow:hidden}
.hdr-sd-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.hdr-sd-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hdr-sd-sub{font-size:10px;color:#555555;font-family:'Share Tech Mono',monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}
.hdr-sd-sep{height:1px;background:#2e2e2e;margin:2px 0}
.hdr-sd-empty{padding:16px 14px;font-size:11px;color:#555555;text-align:center}
.wallet-pill{display:flex;align-items:center;gap:6px;background:#1c1c1c;border:1px solid #2e2e2e;border-radius:20px;padding:5px 12px;font-size:10px;color:#aaaaaa;position:relative;transition:border-color .15s;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
.wallet-pill:hover{border-color:rgba(255,255,255,.4)}
.wallet-pill:hover #wallet-short{text-decoration:underline;text-underline-offset:2px}
.wallet-pill-hint{font-size:9px;color:#aaaaaa;opacity:0;transition:opacity .15s;white-space:nowrap;letter-spacing:.04em}
.wallet-pill:hover .wallet-pill-hint{opacity:1}
#nav-avatar-img{pointer-events:none;-webkit-touch-callout:none;-webkit-user-drag:none}
/* ── DASHBOARD PROFILE BAR ── */
#dash-profile-bar{display:none;align-items:center;gap:14px;background:#1c1c1c;border:none;border-bottom:1px solid #2e2e2e;border-radius:0;padding:10px 18px;margin-bottom:16px;cursor:pointer;transition:background .15s}
#dash-profile-bar:hover{background:#242424}
.dpb-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;overflow:hidden;position:relative;border:2px solid rgba(255,255,255,.15)}
.dpb-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.dpb-info{flex:1;min-width:0}
.dpb-name{font-size:14px;font-weight:700;color:var(--text);margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dpb-chips{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.dpb-chip{font-size:10px;color:var(--muted);font-family:'Share Tech Mono',monospace;white-space:nowrap}
.dpb-chip strong{color:var(--text);font-family:'Orbitron',monospace;font-size:11px;font-weight:700}
.dpb-view-btn{background:transparent;border:1px solid #2e2e2e;border-radius:6px;padding:6px 14px;font-family:'Share Tech Mono',monospace;font-size:10px;color:#ffffff;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}
.dpb-view-btn:hover{background:rgba(255,255,255,.06)}
/* ── TRADERS FEED PROFILE CARD ── */
.tv-me-card{background:var(--bg2);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.2);border-left:4px solid var(--green);box-shadow:-2px 0 14px rgba(0,0,0,.1),0 2px 16px rgba(0,0,0,.4);border-radius:8px;padding:14px 20px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px}
.tv-me-badge{font-family:'Geist',system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green)}
.tv-me-row{display:flex;align-items:center;gap:14px}
.tv-me-avatar{width:56px;height:56px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;overflow:hidden;position:relative;border:2px solid #000000;box-shadow:0 0 12px rgba(0,0,0,.15)}
.tv-me-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.tv-me-info{flex:1;min-width:0}
.tv-me-name{font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-me-chips{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.tv-me-chip{font-size:11px;color:var(--muted);font-family:'Geist',system-ui,sans-serif;white-space:nowrap}
.tv-me-chip strong{color:var(--text);font-family:'Geist',system-ui,sans-serif;font-size:12px;font-weight:700}
.tv-me-profile-btn{background:transparent;border:1px solid rgba(0,0,0,.4);border-radius:6px;padding:7px 16px;font-family:'Geist',system-ui,sans-serif;font-size:10px;color:var(--green);cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}
.tv-me-profile-btn:hover{background:rgba(255,255,255,.06)}
.dot-green{width:6px;height:6px;border-radius:50%;background:#00e676;animation:blink 2s infinite;flex-shrink:0}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.hdr-btn{background:transparent;border:1px solid #2e2e2e;border-radius:6px;padding:6px 12px;font-family:'Inter',system-ui,sans-serif;font-size:11px;color:#aaaaaa;cursor:pointer;transition:all .15s}
.hdr-btn:hover{border-color:#ffffff;color:#ffffff}
.hdr-btn-red{background:transparent;border:1px solid rgba(255,0,0,.3);border-radius:6px;padding:6px 12px;font-family:'Inter',system-ui,sans-serif;font-size:11px;color:var(--red);cursor:pointer;transition:all .15s}
.hdr-btn-red:hover{background:rgba(255,0,0,.08)}
/* ── AVATAR DROPDOWN ── */
.hdr-avatar-wrap{position:relative;display:flex;align-items:center}
.hdr-avatar{width:32px;height:32px;border-radius:50%;background:#1c1c1c;border:1px solid #2e2e2e;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#ffffff;overflow:hidden;cursor:pointer;transition:border-color .15s;flex-shrink:0}
.hdr-avatar:hover{border-color:#ffffff}
.hdr-avatar-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;background:#1c1c1c;border:1px solid #2e2e2e;border-radius:10px;padding:6px;min-width:190px;z-index:400;box-shadow:0 8px 32px rgba(0,0,0,.7)}
.hdr-avatar-menu.open{display:block}
.hdr-avatar-menu-header{padding:8px 10px 10px;border-bottom:1px solid #2e2e2e;margin-bottom:4px;display:flex;align-items:center;gap:6px}
.hdr-avatar-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;color:#aaaaaa;font-family:'Inter',system-ui,sans-serif;font-size:12px;cursor:pointer;border-radius:6px;text-decoration:none;transition:background .15s,color .15s;background:transparent;border:none;width:100%;text-align:left}
.hdr-avatar-menu-item:hover{background:rgba(255,255,255,.06);color:#ffffff}
.hdr-avatar-menu-item.logout{color:#ff1744}
.hdr-avatar-menu-item.logout:hover{background:rgba(255,0,0,.08);color:#ff1744}
.hdr-avatar-menu-sep{height:1px;background:#2e2e2e;margin:4px 0}
/* ── NAV MENU DROPDOWN ── */
.nav-menu-wrap{position:relative;display:inline-flex}
.nav-menu-dropdown{display:none;position:absolute;top:calc(100% + 6px);right:0;background:var(--bg2);border:1px solid var(--border2);border-radius:9px;padding:6px;min-width:170px;z-index:300;box-shadow:0 8px 32px rgba(0,0,0,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nav-menu-dropdown.open{display:block}
.nav-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--dim);font-family:'Share Tech Mono',monospace;font-size:10px;cursor:pointer;border-radius:6px;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap;background:transparent;border:none;width:100%;text-align:left;box-sizing:border-box}
.nav-menu-item:hover{background:rgba(255,255,255,.06);color:var(--text)}
.nav-menu-sep{height:1px;background:var(--border);margin:4px 0}
/* ── SOL ACTION ICON BUTTONS ── */
.sol-action-row{display:flex;gap:6px;margin-top:10px}
.sol-action-btn{flex:1;padding:6px 4px;font-size:9px;font-family:'Share Tech Mono',monospace;color:var(--dim);background:transparent;border:1px solid #2e2e2e;border-radius:8px;cursor:pointer;transition:all .15s;text-align:center;white-space:nowrap}
.sol-action-btn:hover:not(:disabled){border-color:var(--green);color:var(--green)}
.sol-action-btn:disabled{opacity:.35;cursor:default}
@keyframes dep-btn-pulse{
  0%,100%{box-shadow:none;opacity:1}
  50%{box-shadow:0 0 14px rgba(118,118,118,.7),0 0 28px rgba(118,118,118,.35);opacity:.8}
}
.dep-btn-pulse{animation:dep-btn-pulse .5s ease-in-out 4;border-color:rgba(118,118,118,.6)!important;color:#aaaaaa!important}
/* ── COMPACT POSITIONS IN TOP CARD ── */
#positions-panel .trade-table th:nth-child(2),
#positions-panel .trade-table td:nth-child(2),
#positions-panel .trade-table th:nth-child(3),
#positions-panel .trade-table td:nth-child(3),
#positions-panel .trade-table th:nth-child(4),
#positions-panel .trade-table td:nth-child(4){display:none}

/* ── STATS ── */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1.25rem}
.stat{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--card-radius);box-shadow:var(--shadow-card);padding:24px;position:relative;overflow:hidden;text-align:center;transition:transform .2s ease,box-shadow .2s ease}
.stat:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.35)}
.stat::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#2e2e2e,transparent 60%)}
.stat:nth-child(2)::after{background:linear-gradient(90deg,#2e2e2e,transparent 60%)}
.stat:nth-child(3)::after{background:linear-gradient(90deg,#2e2e2e,transparent 60%)}
.stat:nth-child(1){border-left:2px solid #2e2e2e}
.stat:nth-child(2){border-left:2px solid #2e2e2e}
.stat:nth-child(3){border-left:2px solid #2e2e2e}
/* ── STATS BAR ── */
.statsbar{display:flex;gap:8px;margin-bottom:10px}
.statsbar-pill{flex:1;background:#1c1c1c;border:1px solid #2e2e2e;border-radius:8px;padding:20px;min-width:0}
.statsbar-lbl{font-size:10px;color:#555555;text-transform:uppercase;letter-spacing:2px;margin-bottom:6px}
.statsbar-val{font-size:24px;font-weight:700;color:#ffffff;font-family:'Inter',system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.statsbar-val.pos{color:#00e676;font-weight:900}.statsbar-val.neg{color:#ff1744}
.statsbar-sub{font-size:10px;color:#aaaaaa;margin-top:2px}
/* ── BOT CONTROL BAR ── */
.botbar{display:flex;align-items:center;justify-content:space-between;background:#1c1c1c;border:1px solid #2e2e2e;border-radius:8px;padding:12px 20px;margin-bottom:12px;gap:12px}
.botbar-running{border-color:rgba(0,0,0,.4)}
.botbar-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.botbar-strategy{font-size:12px;color:#555555;font-family:'Share Tech Mono',monospace;white-space:nowrap}
.botbar-center{display:flex;align-items:center;gap:8px;flex-shrink:0}
.botbar-right{flex-shrink:0}
.botbar-btn{padding:8px 20px;font-size:12px;font-weight:700;border-radius:6px;border:none;cursor:pointer;font-family:'Inter',system-ui,sans-serif;transition:filter .15s;white-space:nowrap}
.botbar-btn:disabled{opacity:.4;cursor:not-allowed}
.botbar-btn-start{background:#00e676;color:#000000;padding:10px 24px}
.botbar-btn-start:hover:not(:disabled){filter:brightness(1.1)}
.botbar-btn-stop{background:#ff1744;color:#fff}
.botbar-btn-stop:hover:not(:disabled){filter:brightness(1.1)}
@media(max-width:600px){.statsbar{flex-wrap:wrap}.statsbar-pill{flex:1 1 calc(50% - 4px)}.botbar{flex-wrap:wrap}}
/* hide old bot/stats elements — replaced by feed card */
.statsbar{display:none!important}
.bot-idle-banner{display:none!important}
/* ── SOL / POS in feed card ── */
#s-sol{font-size:13px!important;font-weight:600;font-family:'JetBrains Mono',monospace;color:var(--text)!important;text-shadow:none}
#s-pos{font-size:13px!important;font-weight:600;font-family:'JetBrains Mono',monospace;color:var(--text)!important}
/* ── FEED LAYOUT ── */
/* Solid background, no backdrop-filter -- a position:sticky header with a
   blur behind it forces the browser to re-sample/re-blur everything
   scrolling underneath on every single frame, which is one of the most
   common, well-documented causes of scroll jank on mobile. This header sits
   directly on the app's own background color anyway, so a solid fill reads
   the same without that per-frame cost. */
.feed-hdr{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--bg3);margin:-20px -20px 0}
.feed-hdr-top{display:flex;align-items:center;gap:10px;padding:16px 20px 12px}
.feed-hdr-title-wrap{display:flex;flex-direction:column;gap:2px;flex:1}
.feed-hdr-title{font-size:20px;font-weight:600;color:var(--text);letter-spacing:-.02em}
.feed-hdr-sub{font-size:11px;color:var(--muted);font-family:'JetBrains Mono',monospace;letter-spacing:-.01em;line-height:1.4}

.feed-tabs{display:flex;padding:0 20px;gap:0}
.feed-tab{flex:1;padding:10px 0;font-family:'Geist',system-ui,sans-serif;font-size:13px;font-weight:500;color:var(--muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;letter-spacing:-.01em}
.feed-tab:hover{color:var(--text)}
.feed-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}
/* ── BOT STATUS CARD ── */
.feed-bot-card{margin:16px 22px 0;background:#101216;border:1px solid #21252c;border-radius:16px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.feed-bot-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.feed-bot-dot{width:9px;height:9px;min-width:9px;border-radius:50%;background:#f7b955;box-shadow:0 0 0 4px rgba(247,185,85,.14);flex-shrink:0;transition:background .3s,box-shadow .3s}
.feed-bot-dot.running{background:var(--accent);box-shadow:0 0 0 4px rgba(247,185,85,.14);animation:orcaBlink 1.2s infinite}
.feed-bot-text-wrap{display:flex;flex-direction:column;gap:3px;min-width:0}
.feed-bot-status-text{font-size:14px;font-weight:600;color:var(--text)}
.feed-bot-sub{font-family:'JetBrains Mono',monospace;font-size:12px;color:#565d68;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feed-bot-stats{display:none}
.feed-bot-stat{display:flex;flex-direction:column;align-items:center;gap:1px}
.feed-bot-stat-lbl{font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.feed-bot-stat-val{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;color:var(--text)}
.feed-bot-btn{padding:10px 16px;background:#f7b955;color:#0a0b0e;border:none;border-radius:11px;font-family:'Geist',system-ui,sans-serif;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .15s;flex-shrink:0}
.feed-bot-btn:hover:not(:disabled){opacity:.88}
.feed-bot-btn:disabled{opacity:.4;cursor:not-allowed}
.feed-bot-btn.stop{background:var(--red);color:#fff}
/* ── COMPOSER ── */
.feed-composer{margin:10px 0 0;padding:15px 22px;border-bottom:1px solid #16191f}
.feed-composer-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}
.feed-composer-avatar{width:44px;height:44px;border-radius:50%;background:var(--bg3);border:1px solid var(--bg4);flex-shrink:0;overflow:hidden;position:relative}
.feed-composer-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.feed-composer-input{flex:1;background:transparent;border:none;outline:none;font-family:'Geist',system-ui,sans-serif;font-size:17px;color:var(--text);padding:8px 0;cursor:pointer;caret-color:var(--accent)}
.ptcd-dropdown{position:fixed;width:280px;background:#101216;border:1px solid #21252c;border-radius:11px;overflow:hidden;max-height:260px;overflow-y:auto;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.ptcd-row{padding:11px 14px;cursor:pointer;border-bottom:1px solid #16191f;display:flex;align-items:center;justify-content:space-between;transition:background .1s}
.ptcd-row:last-child{border-bottom:none}
.ptcd-row:hover,.ptcd-row:active,.ptcd-row.active{background:#16191f}
.ptcd-sym{font-weight:700;color:#eef1f5;font-size:13px}
.ptcd-name{color:#565d68;font-size:11px}
.ptcd-hl{color:#f7b955;font-weight:800}
.ptcd-price{font-family:'JetBrains Mono',monospace;font-size:12px;color:#eef1f5;text-align:right}
.ptcd-chg{font-size:11px;text-align:right}
.ptcd-empty{padding:10px 14px;color:#565d68;font-size:13px}
.feed-composer-input::placeholder{color:#565d68}
.feed-composer-actions{display:none;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--bg3)}
.feed-composer.expanded .feed-composer-actions{display:flex}
.feed-emoji-wrap{position:relative;display:inline-block}
.feed-emoji-btn{display:flex;align-items:center;justify-content:center;padding:6px 10px;background:transparent;border:1px solid #21252c;border-radius:9px;font-size:15px;cursor:pointer}
.feed-emoji-panel{display:none;position:absolute;bottom:calc(100% + 6px);right:0;width:280px;max-width:calc(100vw - 24px);box-sizing:border-box;background:#101216;border:1px solid #21252c;border-radius:13px;padding:8px;flex-direction:column;gap:6px;z-index:20}
.feed-emoji-panel.open{display:flex}
.feed-emoji-panel button{background:none;border:none;font-size:19px;padding:6px 0;border-radius:8px;cursor:pointer}
.feed-emoji-panel button:hover{background:#16191f}
.feed-emoji-panel .emoji-picker-grid{max-height:200px}
.feed-composer-pill{display:flex;align-items:center;gap:5px;padding:6px 11px;background:transparent;border:1px solid #21252c;border-radius:9px;font-size:12px;font-weight:500;color:#8a919c;cursor:pointer;font-family:'Geist',system-ui,sans-serif;transition:background .15s,border-color .15s}
.feed-composer-pill:hover{background:#16191f;border-color:#2d333c;color:#eef1f5}
.feed-composer-post{padding:8px 18px;background:#f7b955;color:#0a0b0e;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Geist',system-ui,sans-serif;transition:opacity .15s}
.feed-composer-post:hover{opacity:.88}
.feed-composer-counter{font-size:12px;color:#565d68;font-family:'JetBrains Mono',monospace;white-space:nowrap}
.feed-composer-counter.warn{color:#f7b955}
.feed-composer-counter.limit{color:#ff4d6a;font-weight:700}
@media(max-width:600px){.feed-bot-card{margin:12px 12px 0;gap:10px}}
/* ── FEED CARDS ── */
#center-feed{display:flex;flex-direction:column}
.fc-loading{padding:40px 22px;text-align:center;color:var(--muted);font-size:13px}
.fc-empty{padding:40px 22px;text-align:center;color:var(--muted);font-size:13px}
/* content-visibility:auto skips layout/paint/style work entirely for cards
   far outside the viewport -- the single biggest lever for scroll cost on a
   feed that can grow into the hundreds of posts via infinite scroll.
   contain-intrinsic-size gives it a placeholder height for off-screen cards
   it hasn't measured yet; the "auto" keyword makes it remember each card's
   real height after that so nothing jumps once it's been rendered once.
   No-op (silently ignored) on browsers that don't support it -- purely
   additive, nothing to fall back to. */
.fc-card{padding:18px 22px;border-bottom:1px solid #16191f;display:flex;gap:14px;cursor:pointer;transition:background .12s;position:relative;content-visibility:auto;contain-intrinsic-size:auto 220px}
/* Media can arrive after an off-screen card's intrinsic height is cached.
   Avoid relying on a skipped layout's cached height for decoded media;
   the image and actions must fit before the next card. Keep media posts in
   normal layout; text-only posts retain off-screen paint skipping. Cards
   must also never shrink as items of the column flex feed. */
.fc-card{flex-shrink:0}
.fc-card:has(.fc-post-image-wrap,.fc-post-video-wrap,[data-chart-mint],.fcall-card,.fc-agent-call-card){content-visibility:visible;contain-intrinsic-size:none}
.fc-card-highlight{background:rgba(247,185,85,.09);box-shadow:inset 3px 0 0 0 #f7b955;transition:background .4s ease,box-shadow .4s ease}
@media(prefers-reduced-motion:reduce){.fc-card-highlight{transition:none}}
.token-tag{color:#f7b955;font-weight:700;text-decoration:underline;cursor:pointer}
.fc-card:hover{background:#0d0f12}
.fc-body{flex:1;min-width:0}
/* A contract address or long link is one unbroken "word": without this it
   runs straight off the side of the card instead of wrapping. Inherited by
   every text block inside the post body (plain text, links, $cashtags). */
[id^="fc-text-"]{overflow-wrap:anywhere;word-break:break-word;min-width:0}
.fc-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.fc-avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0;align-self:flex-start;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;font-size:16px;font-weight:700;color:#fff}
#avatar-lightbox{display:none;position:fixed;inset:0;background:rgba(10,11,14,.85);z-index:9999;align-items:center;justify-content:center;cursor:pointer}
#avatar-lightbox.open{display:flex}
#avatar-lightbox img{max-width:min(360px,80vw);max-height:min(360px,80vh);border-radius:16px;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.fc-avatar-ini{position:relative;z-index:1;pointer-events:none}
.fc-name{font-size:14px;font-weight:700;color:#eef1f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-handle{font-size:13px;color:#565d68;white-space:nowrap}
.fc-sep{font-size:13px;color:#565d68}
.fc-time{font-size:13px;color:#565d68;white-space:nowrap}
.fc-trade-row{margin-top:12px;background:#101216;border:1px solid #21252c;border-radius:15px;padding:14px 15px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.fc-trade-left{display:flex;flex-direction:column;gap:5px;min-width:0}
.fc-trade-label{font-size:13px;color:#8a919c}
.fc-trade-token-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.fc-token-name{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:700}
.fc-trade-badge{font-size:10px;font-weight:600;border:1px solid #21252c;border-radius:5px;padding:2px 6px;flex-shrink:0}
.fc-trade-badge.long{color:#f7b955;border-color:rgba(247,185,85,.3)}
.fc-trade-badge.stop-loss{color:#f76b62;border-color:rgba(247,107,98,.3)}
.fc-trade-badge.live{color:#f7b955;border-color:rgba(247,185,85,.3);animation:badge-live 1.8s ease-in-out infinite}
@keyframes badge-live{0%,100%{opacity:1}50%{opacity:.6}}
.fc-entry-exit{font-family:'JetBrains Mono',monospace;font-size:12px;color:#565d68;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-trade-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}
.fc-sparkline{display:flex;align-items:flex-end;gap:2px;height:34px;width:160px;margin-top:11px;flex-shrink:0}
.fc-spark-bar{display:block;flex:1;border-radius:1px;opacity:0.82;min-height:2px}
.fc-pnl{font-family:'JetBrains Mono',monospace;font-size:23px;font-weight:700;line-height:1}
.fc-pnl.pos{color:#3ad29b}
.fc-pnl.neg{color:#f76b62}
.fc-pnl-sub{font-family:'JetBrains Mono',monospace;font-size:12px}
.fc-pnl-sub.pos{color:#3ad29b}
.fc-pnl-sub.neg{color:#f76b62}
.fc-text{font-size:14.5px;color:#c7ccd4;line-height:1.55;margin-bottom:10px}
/* A posted photo keeps its own shape.
   It used to be forced into a 16/9 box and cropped to fill it, so a square
   or portrait picture lost both its sides -- on a shared card that meant the
   first word of every line was cut off. The wrapper carries a background
   because contain can leave bands beside a very tall image, and bands on the
   card colour read as deliberate where transparent ones read as a bug.
   max-height only bites on something extremely tall, which would otherwise
   push the rest of the feed off the screen. */
.fc-post-image-wrap{margin-bottom:10px;border-radius:14px;overflow:hidden;border:1px solid #16191f;cursor:pointer;background:#0d0f13}
.fc-post-image{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}
.fc-post-video-wrap{margin-bottom:10px;border-radius:14px;overflow:hidden;border:1px solid #16191f;background:#000;position:relative}
.fc-post-video{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#000}
.fc-actions{display:flex;align-items:center;gap:24px;margin-top:4px}
.fc-view-count{font-size:11.5px;color:#565d68;font-family:'JetBrains Mono',monospace;margin-left:auto;user-select:none}
.fc-action{display:flex;align-items:center;gap:5px;color:#565d68;font-size:13px;background:transparent;border:none;cursor:pointer;padding:0;font-family:'Geist',system-ui,sans-serif;transition:color .15s}
.fc-action:hover{color:#eef1f5}
.fc-repost-btn{padding:4px 6px;margin:-4px -6px;border-radius:6px;transition:color .15s,background-color .15s}
.fc-repost-btn:hover{color:#3ad29b;background:rgba(58,210,155,.12)}
.fc-repost-btn.reposted{color:#3ad29b!important}
.fc-like-btn{padding:4px 6px;margin:-4px -6px;border-radius:6px;transition:color .15s,background-color .15s}
.fc-like-btn:hover{color:var(--red);background:rgba(247,107,98,.12)}
.fc-like-btn.liked{color:var(--red)!important}
.fc-like-btn.liked:hover{color:var(--red)!important;background:rgba(247,107,98,.12)}
.fc-repost-wrap{margin-bottom:0}
/* Left padding lines the icon+text up with the NAME column of the post card
   below (22px card padding + 44px avatar + 14px gap), the same convention
   X/Twitter uses -- it visually attaches this line to that specific card
   instead of reading as its own separate, unrelated post above it. Accent
   green (matching the repost button's own active color) instead of the flat
   metadata gray makes it something you notice is worth reading, not
   something that blends into timestamps. */
.fc-repost-banner{display:flex;align-items:center;gap:6px;padding:12px 22px 6px 80px;color:#3ad29b;font-size:12.5px;font-weight:700}
.fc-repost-banner svg{flex-shrink:0}
.fc-heart-ico{display:inline-block}
@keyframes fc-heart-pop{0%{transform:scale(1)}30%{transform:scale(1.35)}55%{transform:scale(.92)}100%{transform:scale(1)}}
.fc-heart-ico.fc-heart-pop{animation:fc-heart-pop .35s ease}
.fc-like-count{cursor:pointer}
.fc-like-count:hover{text-decoration:underline}
.fc-reply-btn,.fc-share-btn{padding:4px 6px;margin:-4px -6px;border-radius:6px;transition:color .15s,background-color .15s}
.fc-reply-btn:hover,.fc-reply-btn:active,.fc-share-btn:hover,.fc-share-btn:active{color:#f7b955;background:rgba(247,185,85,.12)}
.fc-reply-label{font-weight:600}
.fc-reply-count{font-size:14px!important;font-weight:700}
.fc-share-wrap{position:relative;display:inline-flex;align-items:center}
.fc-share-dd{position:absolute;bottom:calc(100% + 8px);right:0;background:#101216;border:1px solid #21252c;border-radius:10px;padding:4px;min-width:170px;box-shadow:0 8px 24px rgba(0,0,0,.65);z-index:100}
.fc-share-item{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 12px;font-size:13px;color:#c7ccd4;cursor:pointer;border-radius:6px;font-family:'Geist',system-ui,sans-serif;transition:background .12s,color .12s;white-space:nowrap}
.fc-share-item:hover{background:rgba(247,185,85,.1);color:#f7b955}
.fc-reply-box{padding:0 22px;max-height:0;overflow:hidden;transition:max-height .2s ease,padding .2s ease}
.fc-reply-box.open{max-height:400px;overflow-y:auto;padding:0 22px 14px}
.fc-reply-inner{padding-top:10px;border-top:1px solid var(--bg3)}
/* Reply composer: a single rounded pill (avatar + input + emoji + send),
   the same shape most feeds use for a comment box -- no separate bordered
   card, no heading line, no toolbar row sitting underneath. The pill's
   border goes amber the moment there's text or focus, and the send icon
   lights up amber at the same time so it's obvious when there's something
   to send. */
.fc-reply-card{padding:2px 0 0}
.fc-reply-row1{display:flex;align-items:center;gap:8px}
.fc-reply-avatar{width:26px;height:26px;min-width:26px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:700;color:#eef1f5;flex-shrink:0;position:relative;overflow:hidden}
.fc-reply-pill{flex:1;min-width:0;display:flex;align-items:center;gap:2px;background:#16191f;border:1px solid #21252c;border-radius:999px;padding:4px 4px 4px 14px;transition:border-color .15s}
.fc-reply-card.active .fc-reply-pill{border-color:#f7b955}
.fc-reply-inp{flex:1;min-width:0;background:none;border:none;padding:4px 0;font-size:13px;color:var(--text);outline:none;font-family:'Geist',system-ui,sans-serif}
.fc-reply-tool{background:none;border:none;cursor:pointer;padding:6px;min-height:0;border-radius:50%;line-height:1;color:#8a919c;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}
.fc-reply-tool:hover{background:#21252c;color:#f7b955}
.fc-reply-palette{position:absolute;bottom:calc(100% + 8px);left:0;background:#1c1f26;border:1px solid #2e2e2e;border-radius:12px;padding:8px;display:none;flex-direction:column;gap:6px;z-index:300;box-shadow:0 4px 20px rgba(0,0,0,.55);width:220px;box-sizing:border-box;max-width:calc(100vw - 24px)}
.fc-reply-palette button{background:none;border:none;cursor:pointer;font-size:18px;padding:6px;border-radius:6px;transition:background .1s;line-height:1.4;text-align:center}
.fc-reply-palette button:hover{background:rgba(255,255,255,.09)}
.fc-reply-send{width:28px;height:28px;min-height:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#21252c;color:#565d68;border:none;border-radius:50%;cursor:pointer;transition:background .15s,color .15s}
.fc-reply-card.active .fc-reply-send{background:var(--accent);color:#0a0b0e}
/* ── Instagram/Facebook-style comment rows: avatar left, bold username
   flowing directly into the message text (one paragraph, not a separate
   header row), a quiet meta line (time · Reply) underneath, and the like
   heart docked to the far right of the row instead of buried in an actions
   row below the text. Replaces the earlier Twitter-style layout (name,
   verified badge, "You" chip, handle, separator and time all crammed onto
   one header row, with text and actions indented below) that read as
   cluttered and gave a new reply on your own post no visual weight at all. */
.fc-replies-list{margin-top:10px;display:flex;flex-direction:column;gap:0}
.fc-reply-item{padding:9px 0;position:relative}
.fc-reply-item + .fc-reply-item{border-top:1px solid rgba(255,255,255,.04)}
.fc-ri-row{display:flex;align-items:flex-start;gap:10px}
.fc-ri-avatar{width:30px;height:30px;min-width:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;color:#eef1f5;flex-shrink:0}
.fc-ri-body{flex:1;min-width:0}
.fc-ri-line{font-size:13.5px;line-height:1.45;color:#c7ccd4;word-wrap:break-word}
.fc-ri-name{font-weight:700;color:var(--text)}
.fc-ri-profile-link{color:var(--text);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.fc-ri-profile-link:hover,.fc-ri-profile-link:focus-visible{color:var(--gold,#f7b955);text-decoration:underline;text-underline-offset:2px}
.fc-ri-profile-link:focus-visible{outline:2px solid #f7b955;outline-offset:3px;border-radius:2px}
.fc-ri-you{font-size:10px;font-weight:600;color:var(--muted);margin-left:1px}
.fc-ri-text-inline{color:#c7ccd4}
.fc-ri-meta{display:flex;align-items:center;gap:14px;margin-top:3px}
.fc-ri-time{font-size:11.5px;color:var(--muted)}
.fc-ri-reply-btn{background:none;border:none;font-size:11.5px;font-weight:600;color:var(--muted);cursor:pointer;padding:0;font-family:inherit;transition:color .15s}
.fc-ri-reply-btn:hover,.fc-ri-reply-btn:active{color:#eef1f5}
.fc-ri-delete{background:none;border:none;font-size:12px;color:var(--muted);cursor:pointer;padding:0;opacity:0;pointer-events:none;transition:color .15s,opacity .15s;font-family:inherit}
.fc-reply-item:hover .fc-ri-delete{opacity:1;pointer-events:auto}
.fc-ri-delete:hover{color:#f76b62}
/* A reply like is a readable horizontal heart + count, including zero.
   Its filled heart and red pill stay visible after the request completes. */
.fc-ri-like{background:transparent;border:1px solid transparent;cursor:pointer;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;flex-shrink:0;min-width:48px;min-height:38px;padding:7px 3px;border-radius:8px;color:#c4ccd7;font-family:inherit;font-variant-numeric:tabular-nums;transition:background .15s,border-color .15s,color .15s}
.fc-ri-heart{font-size:15px;line-height:1;filter:none;display:inline-flex;align-items:center;justify-content:center;min-width:16px;transition:transform .1s}
.fc-ri-like:hover{background:rgba(255,96,117,.10);border-color:rgba(255,96,117,.22)}
.fc-ri-like.liked{background:transparent;border-color:transparent;color:#ff778a}
.fc-ri-like:active .fc-ri-heart{transform:scale(1.13)}
.fc-ri-like:disabled{cursor:wait;opacity:1}
.fc-ri-lc{display:inline-block;min-width:10px;font:750 14px/1 'Geist',system-ui,sans-serif;color:inherit;text-align:center}
.fc-ri-like.liked .fc-ri-lc{color:#ff778a}
@media(max-width:767px){.fc-ri-like{min-width:48px;min-height:40px;padding:7px 3px}.fc-ri-lc{font-size:14px}}

/* New-reply badge on the Reply action of your own post -- lets a reply
   someone left on your post actually stand out while scrolling the feed,
   instead of blending into a plain, identical-looking count like every
   other post. Cleared the moment the thread is opened (see
   _feedToggleReply()'s has-new handling in dashboard.js). */
.fc-reply-btn.has-new{color:var(--accent)}
.fc-reply-btn.has-new .fc-reply-count{background:var(--accent);color:#0a0b0e;border-radius:9px;padding:1px 7px;font-weight:800}
.fc-reply-new-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:3px;display:inline-block;animation:fcNewReplyPulse 1.6s ease-in-out infinite;vertical-align:middle}
@keyframes fcNewReplyPulse{0%,100%{opacity:1}50%{opacity:.35}}
@media(max-width:600px){.fc-trade-row{padding:10px 12px;gap:8px}}
/* ── PULSING LIVE DOT ── */
.pulse-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#00e676;animation:pulse-dot 2s ease-in-out infinite;margin-right:5px;vertical-align:middle;flex-shrink:0}
@keyframes pulse-dot{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(0,230,118,.55)}60%{opacity:.55;box-shadow:0 0 0 6px rgba(0,230,118,0)}}
/* ── BOT RUNNING BADGE ── */
.badge-run{background:#00e676;color:#000000;border:1px solid #00e676;animation:badge-pulse 2s infinite}
@keyframes badge-pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,230,118,.5)}70%{box-shadow:0 0 0 6px rgba(0,230,118,0)}}
.stat-running{border-left-color:rgba(0,0,0,.85)!important;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
/* ── SCANNING TEXT ── */
@keyframes scan-blink{0%,100%{opacity:1}50%{opacity:.25}}
/* ── MINI POSITION CARDS ── */
.pos-mini-card{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.035);border:1px solid var(--border);border-radius:7px;padding:6px 10px;margin-bottom:5px;transition:border-color .15s}
.pos-mini-card:hover{border-color:rgba(255,255,255,.14)}
.pos-mini-sym{font-family:'Orbitron',monospace;font-size:10px;font-weight:700;color:var(--text)}
.pos-mini-pnl{font-family:'Orbitron',monospace;font-size:10px;font-weight:700;white-space:nowrap}
.stat-lbl{font-size:11px;color:#aaaaaa;text-transform:uppercase;letter-spacing:2px;margin-bottom:7px}
.stat-val{font-family:'Orbitron',monospace;font-size:26px;font-weight:900;min-height:26px;display:flex;align-items:center;justify-content:center}
.stat-sub{font-size:11px;color:var(--dim);margin-top:4px;display:block}
.stat-placeholder{font-size:12px;color:var(--border2);font-family:'Share Tech Mono',monospace;font-weight:400}
.g{color:var(--green)}.r{color:var(--red)}.y{color:var(--yellow)}.b{color:var(--blue)}

/* ── TRADE MODE ── */
.modes{margin-bottom:1.25rem}
.mode{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--card-radius);box-shadow:var(--shadow-card);padding:1rem 1.25rem;transition:all .2s;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.mode.active-trade{border-color:rgba(136,136,136,.4);box-shadow:0 0 28px rgba(136,136,136,.1)}
.mode-left{display:flex;align-items:center;gap:12px}
.mode-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;background:rgba(136,136,136,.1);border:1px solid rgba(136,136,136,.22);flex-shrink:0}
.mode-title{font-family:'Orbitron',monospace;font-size:12px;font-weight:700;color:var(--blue);margin-bottom:3px}
.mode-desc{font-size:9px;color:#aaaaaa;line-height:1.65;max-width:540px}
.mode-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.badge{font-size:8px;padding:3px 9px;border-radius:20px;font-weight:700;letter-spacing:.1em;font-family:'Orbitron',monospace}
.badge-idle{background:transparent;color:#555555;border:1px solid #2e2e2e}
.badge-trade{background:rgba(136,136,136,.16);color:var(--blue);border:1px solid rgba(136,136,136,.35)}
.mode-btn{padding:9px 18px;font-size:10px;font-weight:700;border-radius:7px;border:none;cursor:pointer;letter-spacing:.07em;transition:all .2s;font-family:'Orbitron',monospace;white-space:nowrap}
.trade-btn{background:#00e676;color:#000000;font-weight:700;border-radius:8px}
.trade-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}
.trade-btn:disabled{cursor:not-allowed}

/* ── MARKET PANEL ── */
.market-panel{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--card-radius);box-shadow:var(--shadow-card);padding:16px;margin-bottom:1.25rem}
.panel-hdr{font-size:11px;color:var(--text);font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.panel-hdr::before{content:'';width:2px;height:11px;background:var(--text);border-radius:2px}

/* ── TICKER ── */
.ticker-wrap{overflow:hidden;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:14px}
.ticker-track{display:flex;gap:2.5rem;animation:tickScroll 35s linear infinite;white-space:nowrap}
@keyframes tickScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.tick-item{font-size:10px;display:inline-flex;align-items:center;gap:5px;color:var(--muted)}
.tick-sym{color:var(--dim);font-weight:700;font-family:'Orbitron',monospace;font-size:8px;letter-spacing:.04em}
.tick-div{color:var(--border2);margin:0 .5rem}

@keyframes trade-card-pan{
  0%{transform:scale(1.08) translateX(0)}
  100%{transform:scale(1.08) translateX(-3%)}
}
.tc-banner{animation:trade-card-pan 14s ease-in-out infinite alternate}
@media (prefers-reduced-motion: reduce){.tc-banner{animation:none}}

/* One complete trade-card layout for Home composer and published feed. */
.oa-home-trade-card{box-sizing:border-box;position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:100%;min-width:0;margin:8px 0 10px;border:1px solid rgba(247,185,85,.55);border-radius:16px;background:#0d1117;cursor:pointer;font-family:'JetBrains Mono',monospace;container-type:inline-size}
.oa-home-trade-banner{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.76}
.oa-home-trade-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,17,.94),rgba(10,12,17,.75) 54%,rgba(10,12,17,.36)),linear-gradient(180deg,rgba(10,12,17,.20),rgba(10,12,17,.75))}
.oa-home-trade-content{position:relative;z-index:1;min-width:0;padding:16px 18px 12px}
.oa-home-trade-title{display:flex;align-items:center;gap:9px;min-width:0;margin-bottom:12px;color:#eef1f5}
.oa-home-trade-title strong{min-width:0;overflow-wrap:anywhere;font-size:19px;line-height:1.25}
.oa-home-trade-side{flex:none;padding:3px 7px;border:1px solid;border-radius:7px;font-size:12px;font-weight:800;line-height:1.2}
.oa-home-trade-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0}
.oa-home-trade-prices{display:grid;gap:8px;min-width:0;color:#eef1f5;font-size:13px;line-height:1.4}
.oa-home-trade-prices>div{min-width:0;overflow-wrap:anywhere}
.oa-home-trade-prices b{color:#b7bec9;font-weight:600;margin-right:5px}
.oa-home-trade-pct{max-width:100%;font-size:clamp(22px,5vw,35px);font-weight:800;line-height:1.2;overflow-wrap:anywhere;text-align:right}
.oa-home-trade-profit{margin-top:14px;color:#f7b955;font-size:16px;font-weight:750;overflow-wrap:anywhere}
.oa-home-trade-footer{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:17px;padding-top:11px;border-top:1px solid rgba(255,255,255,.14);font-family:system-ui,sans-serif;font-size:13px;font-weight:650;color:#eef1f5}
.oa-home-trade-card:focus-visible{outline:2px solid #f7b955;outline-offset:2px}
#composer-trade-preview,#composer-trade-card{box-sizing:border-box;min-width:0;max-width:100%;width:100%}
/* Keep removal controls in their own row, outside the attachment content.
   Global mobile buttons have min-height:44px; set both dimensions explicitly. */
#feed-composer .composer-preview-remove{
  position:relative!important;inset:auto!important;display:flex!important;
  align-items:center;justify-content:center;box-sizing:border-box;
  width:32px!important;min-width:32px!important;max-width:32px!important;
  height:32px!important;min-height:32px!important;max-height:32px!important;
  margin:0 0 8px auto!important;padding:0!important;flex:none;
  border:1px solid #38414b!important;border-radius:50%!important;
  background:#0a0c11!important;color:#eef1f5!important;
  font-size:16px;line-height:1;cursor:pointer;touch-action:manipulation;
}
#feed-composer .composer-preview-remove:focus-visible{outline:2px solid #f7b955;outline-offset:2px}
/* Photo preview: full width, rounded, a blurred copy of the photo behind it,
   controls on the photo (glass buttons). */
#feed-composer #composer-image-preview{position:relative;box-sizing:border-box;width:100%;max-width:100%;margin:0 0 12px;padding:0;
  border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;background:#060c12;isolation:isolate}
#feed-composer #composer-image-preview .cip-backdrop{position:absolute;inset:-24px;z-index:0;background-size:cover;background-position:center;
  filter:blur(22px) brightness(.5) saturate(1.1);transform:scale(1.08)}
#feed-composer #composer-image-preview-img{position:relative;z-index:1;display:block;width:100%;height:auto;max-height:420px;
  object-fit:contain;border-radius:0;margin:0}
#feed-composer #composer-image-preview .composer-preview-remove{position:absolute!important;top:10px!important;right:10px!important;left:auto!important;bottom:auto!important;
  z-index:2;margin:0!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important;
  background:rgba(8,12,17,.62)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 10px rgba(0,0,0,.35)}
#feed-composer #composer-image-preview .cip-change{position:absolute;left:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;
  height:32px;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(8,12,17,.62);
  color:#fff;font:650 12.5px/1 'Geist',system-ui,sans-serif;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:0 2px 10px rgba(0,0,0,.35);touch-action:manipulation}
#feed-composer #composer-image-preview .cip-change:focus-visible{outline:2px solid #f7b955;outline-offset:2px}
@container (max-width:420px){
 .oa-home-trade-content{padding:13px 14px 10px}
 .oa-home-trade-title{gap:7px;margin-bottom:10px;padding-right:22px}
 .oa-home-trade-title strong{font-size:16px}
 .oa-home-trade-main{grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
 .oa-home-trade-prices{font-size:11px;gap:5px}
 .oa-home-trade-prices b{margin-right:2px}
 .oa-home-trade-pct{font-size:clamp(20px,7.4cqw,30px);text-align:right;white-space:nowrap}
 .oa-home-trade-profit{margin-top:9px;font-size:14px}
 .oa-home-trade-footer{margin-top:11px;padding-top:9px}
}
@container (max-width:285px){
 .oa-home-trade-main{grid-template-columns:minmax(0,1fr)}
 .oa-home-trade-pct{text-align:left}
}
@media(max-width:420px){.oa-home-trade-content{padding:14px 13px 11px}}

.oa-home-trade-pct.oa-trade-confirmed{font-size:11px!important;letter-spacing:.04em}

.oa-trade-basis{margin-top:5px;font:10px/1.5 system-ui,sans-serif;color:#929ba7}
.oa-trade-held{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.14);font:12px/1.5 system-ui,sans-serif}
.oa-trade-held summary{cursor:pointer;color:#c6a06c;font-weight:650;min-height:32px;display:flex;align-items:center;gap:7px}
.oa-trade-held summary:after{content:'+';margin-left:auto;font-size:17px}
.oa-trade-held[open] summary:after{content:'−'}
.oa-trade-held-value{display:flex;flex-direction:column;gap:5px;padding-top:6px;color:#b3bac4}
.oa-trade-held-value strong{font:750 19px/1.3 'JetBrains Mono',monospace;color:#f7b955}
.oa-trade-held-value small{font-size:10px;color:#929ba7}

/* ── TOKEN CARDS ── */
.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px}
@media(max-width:600px){
  #market-grid-outer{overflow:hidden;touch-action:pan-y}
  .market-grid{display:flex;flex-wrap:nowrap;gap:12px;transition:transform .3s cubic-bezier(.25,.46,.45,.94);will-change:transform}
  .mkt-card{flex:0 0 88%;max-width:88%}
}
.swipe-hint{display:none;font-size:10px;color:var(--muted);text-align:right;margin:-4px 0 6px;letter-spacing:.05em}
@media(max-width:600px){.swipe-hint{display:block}}
.usdc-warn{display:none;margin:0 0 10px;padding:10px 14px;background:#1c1c1c;border:1px solid #2e2e2e;border-radius:8px;font-size:11px;color:#ffffff;line-height:1.5}
.sol-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.claim-sol-btn,.deposit-sol-btn,.withdraw-sol-btn{
  background:#1c1c1c;
  border:1px solid #2e2e2e;
  color:#ffffff;
  padding:6px 14px;
  font-family:inherit;
  font-size:11px;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  border-radius:0;
  cursor:pointer;
  transition:background .15s;
}
.claim-sol-btn:hover,.deposit-sol-btn:hover,.withdraw-sol-btn:hover{
  background:#242424;
}
.claim-sol-btn:disabled,.deposit-sol-btn:disabled,.withdraw-sol-btn:disabled{
  opacity:.4;
  cursor:default;
}
/* ── DEPOSIT MODAL QR ── */
#dep-qr canvas,#dep-qr img{border-radius:8px;display:block}
.claim-msg{margin:0 0 8px;padding:8px 12px;border-radius:7px;font-size:11px;line-height:1.5}
.claim-msg.ok{background:rgba(0,0,0,.07);border:1px solid rgba(0,0,0,.2);color:var(--green)}
.claim-msg.err{background:rgba(255,0,0,.07);border:1px solid rgba(255,0,0,.2);color:var(--red)}

.mkt-card{
  background:#1c1c1c;
  border:1px solid #2e2e2e;
  border-radius:8px;
  padding:14px;
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
  position:relative;
  overflow:hidden;
  min-width:0;
}
.mkt-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
}
.mkt-card.hot{border-color:rgba(0,0,0,.28)}
.mkt-card.cold{border-color:rgba(255,0,0,.22)}
.mkt-card.hot::before{background:linear-gradient(90deg,#2e2e2e,transparent 60%)}
.mkt-card.cold::before{background:linear-gradient(90deg,#2e2e2e,transparent 60%)}
.mkt-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.35)}
.mkt-card.hot:hover{border-color:rgba(0,0,0,.5);box-shadow:0 12px 32px rgba(0,0,0,.12)}
.mkt-card.cold:hover{border-color:rgba(255,0,0,.45);box-shadow:0 12px 32px rgba(255,0,0,.09)}

/* card header */
.mkt-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:12px;min-width:0}
.mkt-id{min-width:0;flex:1;overflow:hidden}
.mkt-id .mkt-sym{font-family:'Orbitron',monospace;font-size:14px;font-weight:700;color:#ffffff;letter-spacing:.04em;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mkt-id .mkt-name{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}

/* signal badge */
.mkt-sig{font-size:7px;font-weight:700;padding:3px 7px;border-radius:3px;letter-spacing:.12em;font-family:'Orbitron',monospace;flex-shrink:0;margin-top:1px}
.sig-buy{background:rgba(0,0,0,.15);color:var(--green);border:1px solid rgba(0,0,0,.35)}
.sig-sell{background:rgba(255,0,0,.13);color:var(--red);border:1px solid rgba(255,0,0,.35)}
.sig-hold{background:rgba(100,100,100,.1);color:var(--dim);border:1px solid var(--border2)}

/* pump badge */
.pump-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(0,0,0,.16);border:1px solid rgba(0,0,0,.55);color:var(--green);font-size:7px;font-weight:700;letter-spacing:.12em;font-family:'Orbitron',monospace;padding:3px 8px;border-radius:3px;margin-bottom:7px;animation:pump-glow 1.8s ease-in-out infinite}
@keyframes pump-glow{0%,100%{background:rgba(0,0,0,.16);box-shadow:none}50%{background:rgba(0,0,0,.28);box-shadow:0 0 10px rgba(0,0,0,.3)}}
/* dimmed / cooling tokens */
.mkt-card.dim{opacity:0.28;filter:saturate(0.15);pointer-events:auto}
.mkt-card.dim:hover{opacity:.55;filter:saturate(0.4)}
.grid-sep{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:6px 2px}
.grid-sep-line{flex:1;height:1px;background:var(--border)}
.grid-sep-lbl{font-size:7px;color:var(--border2);text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;font-family:'Orbitron',monospace}

/* price */
.mkt-price{font-family:'Orbitron',monospace;font-size:18px;font-weight:700;color:#ffffff;display:block;margin-bottom:6px;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}

/* ── 4-PERIOD CHANGE GRID (5M / 1H / 6H / 24H) ── */
.chg-grid{display:flex;gap:4px;margin:0 0 8px;flex-wrap:nowrap}
.chg-cell{display:flex;flex-direction:column;align-items:center;padding:4px 6px;background:#1c1c1c;border-radius:4px;flex:1;min-width:0}
.chg-period{font-size:7px;color:#aaaaaa;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-family:'Share Tech Mono',monospace}
.chg-pct{font-family:'Orbitron',monospace;font-size:9px;font-weight:700;white-space:nowrap}
.chg-pct.up{color:#ffffff}
.chg-pct.dn{color:#ff1744}

/* ── META DATA ROWS (txns / makers / vol / liq / mcap) ── */
.mkt-meta-row{display:flex;gap:0;margin-bottom:3px}
.mkt-meta-cell{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;padding:1px 0}

/* divider */
.mkt-divider{height:1px;background:var(--border);margin-bottom:9px}

/* data rows */
.mkt-stats{margin-bottom:9px}
.mkt-stat{display:flex;align-items:center;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--border)}
.mkt-stat:last-child{border-bottom:none;padding-bottom:0}
.mkt-stat-lbl{font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}
.mkt-stat-val{font-family:'Orbitron',monospace;font-size:9px;color:var(--dim);font-weight:700;text-align:right;white-space:nowrap;min-width:0}

/* score bar */
.mkt-score-row{display:flex;align-items:center;gap:7px}
.mkt-score-track{flex:1;height:2px;background:var(--border);border-radius:2px;overflow:hidden}
.mkt-score-fill{height:100%;border-radius:2px;transition:width .5s ease}
.mkt-score-label{font-family:'Orbitron',monospace;font-size:8px;font-weight:700;flex-shrink:0;min-width:36px;text-align:right}

/* ── TODAY'S PERFORMANCE ── */
.perf-panel{background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:16px;margin-bottom:1.25rem}
.perf-share-btn{background:transparent;border:1px solid var(--border2);border-radius:5px;padding:4px 10px;font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--muted);cursor:pointer;transition:all .15s;letter-spacing:.04em}
.perf-share-btn:hover{border-color:var(--green);color:var(--green)}
.perf-copy-btn{background:transparent;border:1px solid var(--border2);border-radius:5px;padding:4px 10px;font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--muted);cursor:pointer;transition:all .15s;letter-spacing:.04em}
.perf-copy-btn:hover{border-color:var(--blue);color:var(--blue)}
.perf-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin-bottom:14px}
.perf-stat{background:#1c1c1c;border:1px solid #2e2e2e;border-radius:0;padding:16px}
.perf-stat-lbl{font-size:9px;color:#555555;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.perf-stat-val{font-size:18px;font-weight:700;color:#ffffff}
.perf-chart-wrap{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:12px;min-height:80px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
#perf-chart-empty{position:absolute;inset:0;display:none;align-items:center;justify-content:center;overflow:hidden}
.pos-panel{background:var(--bg2);border:1px solid rgba(0,0,0,.4);border-radius:10px;padding:16px;margin-bottom:1.25rem}
/* ── PNL PERFORMANCE CHART ── */
.pnlc-panel{background:#1c1c1c;border:1px solid #2e2e2e;border-radius:8px;padding:16px;margin-bottom:1.25rem}
.pnlc-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.pnlc-toggles{display:flex;gap:4px}
.pnlc-btn{background:transparent;border:1px solid #2e2e2e;border-radius:20px;padding:4px 12px;font-size:10px;color:#555555;cursor:pointer;transition:all .15s;letter-spacing:.06em}
.pnlc-btn:hover{border-color:#aaaaaa;color:#aaaaaa}
.pnlc-btn.active{background:#00e676;color:#000000;border-color:#00e676;font-weight:700}
#pnlc-container{height:200px;position:relative;background:#1c1c1c;border-radius:6px;overflow:hidden}
#pnlc-empty{position:absolute;inset:0;display:none;align-items:center;justify-content:center;pointer-events:none}
@keyframes pnlce-scan{from{transform:translateX(-80px)}to{transform:translateX(2000px)}}
@keyframes pnlce-pulse{from{opacity:.4;text-shadow:0 0 6px rgba(0,0,0,.3)}to{opacity:1;text-shadow:0 0 18px rgba(0,0,0,.7)}}
.pnlce-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.035) 1px,transparent 1px);background-size:40px 40px}
.pnlce-scan{position:absolute;top:0;bottom:0;left:0;width:80px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.18),transparent);animation:pnlce-scan 2s linear infinite}
.pnlce-body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:0 16px}
.pnlce-icon{filter:drop-shadow(0 0 10px rgba(0,0,0,.55))}
.pnlce-title{color:#555555;font-family:'Inter',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase}
.pnlce-stats{display:flex;gap:24px;font-size:10px;color:var(--muted);letter-spacing:.12em;font-family:'Share Tech Mono',monospace;margin-top:2px}
/* ── COMMUNITY CHAT ── */
#dash-community{display:none;flex:1;min-width:0;height:calc(100vh - 48px);overflow:hidden;flex-direction:column;position:relative}
.gc-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:48px;border-bottom:1px solid #2e2e2e;flex-shrink:0;background:#1c1c1c}
.gc-back-btn{display:none;background:transparent;border:none;color:#ffffff;font-size:18px;cursor:pointer;padding:4px 8px;margin-right:4px;flex-shrink:0;line-height:1;-webkit-tap-highlight-color:transparent}
.gc-title{font-size:11px;font-weight:700;color:#ffffff;text-transform:uppercase;letter-spacing:.12em}
.gc-online{font-size:11px;color:#aaaaaa}
.gc-online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#141414;margin-right:5px;animation:blink 2s infinite}
.gc-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:10px;min-height:0}
.gc-msg{display:flex;gap:10px;position:relative}
.gc-msg:hover .gc-del-btn{display:block}
.gc-avatar{width:32px;height:32px;border-radius:50%;background:#1c1c1c;border:1px solid #2e2e2e;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#aaaaaa;overflow:hidden;position:relative}
.gc-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.gc-body{flex:1;min-width:0}
.gc-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:3px}
.gc-username{font-size:13px;font-weight:700;color:#ffffff}
.gc-username.mine{color:#ffffff}
.gc-time{font-size:10px;color:#aaaaaa}
.gc-text{font-size:13px;color:#2e2e2e;line-height:1.5;word-break:break-word}
.gc-img{max-width:min(250px,100%);border-radius:8px;cursor:pointer;display:block;margin-top:4px}
.gc-del-btn{display:none;position:absolute;right:0;top:0;background:transparent;border:none;color:#aaaaaa;font-size:13px;cursor:pointer;padding:2px 5px;line-height:1;border-radius:4px;transition:color .15s}
.gc-del-btn:hover{color:#f87171}
.gc-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #2e2e2e;flex-shrink:0;background:#1c1c1c;align-items:flex-end}
.gc-img-btn{background:#1c1c1c;border:1px solid #2e2e2e;border-radius:6px;padding:6px 10px;color:#aaaaaa;cursor:pointer;font-size:16px;flex-shrink:0;align-self:flex-end;height:40px;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s;line-height:1}
.gc-img-btn:hover{color:#ffffff;border-color:#aaaaaa}
.gc-img-btn.loading{pointer-events:none;opacity:.6}
.gc-input{flex:1;background:#1c1c1c;border:1px solid #2e2e2e;border-radius:8px;padding:10px 14px;font-size:13px;font-family:'Inter',system-ui,sans-serif;color:#ffffff;outline:none;resize:none;line-height:1.4;max-height:100px;transition:border-color .15s}
.gc-input::placeholder{color:#aaaaaa}
.gc-input:focus{border-color:rgba(0,0,0,.35)}
.gc-send-btn{background:#767676;color:#ffffff;border:none;border-radius:8px;padding:10px 18px;font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0;align-self:flex-end;height:40px;white-space:nowrap;transition:filter .15s}
.gc-send-btn:hover:not(:disabled){filter:brightness(1.1)}
.gc-send-btn:disabled{opacity:.4;cursor:not-allowed}
.gc-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#aaaaaa;font-size:13px;text-align:center;padding:40px}
#gc-new-btn{position:absolute;bottom:68px;left:50%;transform:translateX(-50%);background:#141414;color:#ffffff;border:none;border-radius:20px;padding:6px 16px;font-size:12px;font-weight:700;cursor:pointer;display:none;box-shadow:0 2px 10px rgba(0,0,0,.6);z-index:10;white-space:nowrap}
.gc-img-preview{display:none;padding:8px 16px 0;flex-shrink:0;background:#1c1c1c}
.gc-img-preview-inner{display:flex;align-items:center;gap:10px;background:#1c1c1c;border:1px solid #2e2e2e;border-radius:8px;padding:8px 10px}
.gc-img-preview-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px}
.gc-img-preview-name{flex:1;font-size:12px;color:#aaaaaa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc-img-preview-cancel{background:transparent;border:none;color:#aaaaaa;cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px;line-height:1;transition:color .15s}
.gc-img-preview-cancel:hover{color:#ff1744}
.gc-msg.mine .gc-body{background:rgba(0,0,0,.06);border-left:2px solid #2e2e2e;border-radius:6px;padding:6px 10px}
/* Admin panel */
.admin-panel{background:var(--bg2);border:2px solid rgba(255,0,0,.5);border-radius:10px;padding:16px;margin-bottom:1.25rem;box-shadow:0 0 0 1px rgba(255,0,0,.1),0 4px 28px rgba(255,0,0,.1)}
.admin-panel .panel-hdr{border-bottom:1px solid rgba(255,0,0,.25);padding-bottom:8px;margin-bottom:12px;color:#ff9a6c}
.admin-panel .panel-hdr::before{background:#ff1744}
.admin-owner-warn{background:rgba(255,0,0,.08);border:1px solid rgba(255,0,0,.4);border-radius:8px;padding:10px 14px;font-size:11px;color:var(--red);margin-bottom:14px;line-height:1.65;display:none}
.admin-owner-warn.show{display:block}
.admin-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.admin-section{background:var(--bg3);border:1px solid rgba(255,0,0,.2);border-radius:9px;padding:12px 14px}
.admin-section-hdr{font-size:9px;color:#ff9a6c;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(255,0,0,.2)}
.admin-row{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:6px}
.admin-row:last-child{margin-bottom:0}
.admin-stat-lbl{font-size:10px;color:var(--dim)}
.admin-stat-val{font-family:'Orbitron',monospace;font-size:12px;font-weight:700;color:#ff9a6c;white-space:nowrap}
/* ── ADMIN DASHBOARD VIEW ── */
.adash-wrap{border:2px solid rgba(118,118,118,.5);border-radius:12px;padding:20px;background:var(--bg2);box-shadow:0 0 0 1px rgba(118,118,118,.1),0 4px 32px rgba(118,118,118,.08);margin-bottom:1.5rem}
.adash-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(118,118,118,.25)}
.adash-title{font-family:'Orbitron',monospace;font-size:14px;font-weight:900;color:#aaaaaa;letter-spacing:.05em}
.adash-back-btn{background:transparent;border:1px solid rgba(118,118,118,.35);border-radius:6px;padding:5px 14px;color:#aaaaaa;font-size:11px;font-family:'Share Tech Mono',monospace;cursor:pointer;transition:all .15s}
.adash-back-btn:hover{background:rgba(118,118,118,.1)}
.adash-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
@media(max-width:640px){.adash-overview{grid-template-columns:repeat(2,1fr)}}
.adash-stat-card{background:var(--bg3);border:1px solid rgba(118,118,118,.2);border-radius:9px;padding:12px 14px}
.adash-stat-lbl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
.adash-stat-val{font-family:'Orbitron',monospace;font-size:18px;font-weight:700;color:#aaaaaa}
.adash-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.adash-tab{background:transparent;border:1px solid rgba(118,118,118,.25);border-radius:6px;padding:5px 14px;font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--muted);cursor:pointer;transition:all .15s}
.adash-tab:hover,.adash-tab.active{border-color:#aaaaaa;color:#aaaaaa;background:rgba(118,118,118,.08)}
.adash-section-hdr{font-size:9px;color:#aaaaaa;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(118,118,118,.2)}
.adash-table-wrap{overflow-x:auto;border:1px solid rgba(118,118,118,.15);border-radius:8px}
.adash-table{width:100%;border-collapse:collapse;font-size:11px;min-width:400px}
.adash-table th{padding:8px 12px;text-align:left;color:#aaaaaa;font-size:9px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid rgba(118,118,118,.2);background:rgba(118,118,118,.04);white-space:nowrap}
.adash-table td{padding:7px 12px;border-bottom:1px solid rgba(118,118,118,.07);color:#ffffff}
.adash-table tr:last-child td{border-bottom:none}
.adash-table tr:hover td{background:rgba(118,118,118,.03)}
.adash-health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(max-width:500px){.adash-health-grid{grid-template-columns:1fr}}
.adash-health-item{background:var(--bg3);border:1px solid rgba(118,118,118,.15);border-radius:8px;padding:9px 14px;display:flex;justify-content:space-between;align-items:center}
.adash-health-key{font-size:10px;color:var(--muted)}
.adash-health-val{font-family:'Share Tech Mono',monospace;font-size:11px;color:#aaaaaa}
.adash-ok{color:var(--green)!important}.adash-warn{color:var(--yellow)!important}.adash-bad{color:var(--red)!important}
.pos-panel .panel-hdr{border-bottom:1px solid rgba(0,0,0,.12);padding-bottom:8px;margin-bottom:10px}
.hiw-section{margin-bottom:14px}
.hiw-title{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.hiw-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:540px){.hiw-cards{grid-template-columns:1fr 1fr}}
.hiw-card{background:var(--bg3);border:1px solid var(--border2);border-radius:10px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:6px}
.hiw-card-icon{font-size:18px;line-height:1}
.hiw-card-name{font-family:'Orbitron',monospace;font-size:9px;font-weight:700;letter-spacing:.1em}
.hiw-card-body{font-size:10px;color:var(--dim);line-height:1.7}
.hiw-card-body div{padding-left:10px;position:relative}.hiw-card-body div::before{content:'–';position:absolute;left:0;color:var(--muted)}
.hiw-card-body .hiw-no-bullet::before{content:none}.hiw-card-body .hiw-no-bullet{padding-left:0}
.hiw-card--scan{border-color:rgba(0,190,255,.2)}
.hiw-card--scan .hiw-card-name{color:#00bfff}
.hiw-card--score{border-color:rgba(118,118,118,.2)}
.hiw-card--score .hiw-card-name{color:#aaaaaa}
.hiw-card--execute{border-color:rgba(0,0,0,.2)}
.hiw-card--execute .hiw-card-name{color:var(--green)}
.hiw-card--ways{border-color:rgba(149,100,255,.22)}
.hiw-card--ways .hiw-card-name{color:#9b6bff}
.hiw-card--deposit{border-color:rgba(0,210,180,.22)}
.hiw-card--deposit .hiw-card-name{color:#00d2b4}
.hiw-card--safe{border-color:rgba(255,0,0,.22)}
.hiw-card--safe .hiw-card-name{color:var(--red)}
/* ── TIPS MODAL ── */
#tips-modal{display:none;position:fixed;inset:0;z-index:600;background:rgba(10,18,30,.92);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:1rem}
#tips-modal.open{display:flex}
.tips-box{background:var(--bg2);border:1px solid rgba(247,185,85,.3);border-radius:14px;padding:28px 24px 22px;width:100%;max-width:440px;position:relative;box-shadow:0 14px 44px rgba(0,0,0,.65)}
.tips-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.tips-counter{font-size:10px;color:var(--muted);font-family:'Share Tech Mono',monospace;letter-spacing:.08em}
.tips-close{background:none;border:none;color:var(--dim);font-size:18px;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}
.tips-close:hover{color:var(--text)}
.tips-dots{display:flex;gap:6px;justify-content:center;margin-bottom:22px}
.tips-dot{width:7px;height:7px;border-radius:50%;background:var(--border2);transition:background .25s,transform .25s;cursor:pointer}
.tips-dot.done{background:rgba(247,185,85,.35)}
.tips-dot.active{background:var(--accent);transform:scale(1.35)}
.tips-slide-icon{font-size:32px;text-align:center;margin-bottom:10px}
.tips-slide-title{font-family:'Orbitron',monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-align:center;margin-bottom:16px;color:var(--accent)}
.tips-items{list-style:none;padding:0;margin:0 0 6px;display:flex;flex-direction:column;gap:7px}
.tips-item{font-size:11px;color:var(--dim);padding-left:14px;position:relative;line-height:1.6}
.tips-item::before{content:'–';position:absolute;left:0;color:var(--muted)}
.tips-item b{color:var(--text)}
.tips-note{font-size:11px;text-align:center;margin-top:10px;color:var(--accent);font-weight:700}
.tips-nav{display:flex;gap:10px;margin-top:22px}
#tips-prev-btn{background:none;border:1px solid var(--border2);color:var(--dim);border-radius:8px;padding:10px 18px;font-family:'Share Tech Mono',monospace;font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap}
#tips-prev-btn:hover:not(:disabled){border-color:var(--text);color:var(--text)}
#tips-prev-btn:disabled{opacity:.3;cursor:not-allowed}
#tips-next-btn{flex:1;background:var(--accent);border:none;color:#0a0b0e;border-radius:8px;padding:10px 18px;font-family:'Share Tech Mono',monospace;font-size:11px;font-weight:700;cursor:pointer;transition:filter .15s;letter-spacing:.04em}
#tips-next-btn:hover{filter:brightness(1.1)}

/* ── TERMS OF SERVICE GATE ── */
#tos-modal{display:none;position:fixed;inset:0;background:rgba(10,11,14,.94);backdrop-filter:blur(10px);z-index:700;align-items:center;justify-content:center;padding:1rem}
#tos-modal.open{display:flex}
.tos-box{background:var(--bg2);border:1px solid rgba(247,185,85,.3);border-radius:16px;padding:26px 24px 22px;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 14px 44px rgba(0,0,0,.65)}
.tos-title{font-family:'Orbitron',monospace;font-size:16px;font-weight:700;color:var(--accent);letter-spacing:.04em;margin-bottom:4px}
.tos-sub{font-size:10px;color:var(--muted);letter-spacing:.05em;margin-bottom:16px}
.tos-content{flex:1;overflow-y:auto;font-size:12.5px;color:var(--dim);line-height:1.65;background:var(--bg3);border:1px solid var(--border2);border-radius:10px;padding:14px 16px;margin-bottom:16px;max-height:280px}
.tos-content h2{font-size:12px;color:var(--text);margin:14px 0 4px;font-weight:700}
.tos-content h2:first-child{margin-top:0}
.tos-content p{margin-bottom:6px}
.tos-checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--text);margin-bottom:16px;cursor:pointer;user-select:none;line-height:1.5}
.tos-checkbox-row input{margin-top:2px;width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}
#tos-accept-btn{width:100%;padding:13px;background:var(--accent);color:#0a0b0e;border:none;border-radius:11px;font-family:'Geist',system-ui,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:filter .15s,opacity .15s}
#tos-accept-btn:hover:not(:disabled){filter:brightness(1.1)}
#tos-accept-btn:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:480px){.tos-box{padding:22px 18px 18px}.tos-content{max-height:220px}}

/* ── SUPPORT CHAT ── */
/* Feature-flagged off for now (button hidden, backend/panel code left intact
   for an easy re-enable) — delete this single rule to bring the FAB back. */
#support-fab{display:none !important}
#support-fab{position:fixed;right:20px;bottom:20px;width:52px;height:52px;border-radius:50%;background:var(--accent);color:#0a0b0e;border:none;font-size:22px;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.45);z-index:550;display:flex;align-items:center;justify-content:center;transition:transform .15s}
#support-fab:hover{transform:scale(1.06)}
.support-fab-badge{position:absolute;top:-2px;right:-2px;background:var(--red);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--bg)}
#support-panel{position:fixed;right:20px;bottom:84px;width:340px;max-width:calc(100vw - 32px);height:460px;max-height:calc(100vh - 120px);background:var(--bg2);border:1px solid rgba(247,185,85,.3);border-radius:16px;box-shadow:0 14px 44px rgba(0,0,0,.65);z-index:549;display:none;flex-direction:column;overflow:hidden}
#support-panel.open{display:flex}
.support-panel-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border2);flex-shrink:0}
.support-panel-title{font-family:'Orbitron',monospace;font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.06em}
.support-panel-sub{font-size:10px;color:var(--muted);margin-top:3px}
.support-close{background:none;border:none;color:var(--dim);font-size:16px;cursor:pointer;padding:2px 4px;line-height:1;transition:color .15s}
.support-close:hover{color:var(--text)}
#support-messages{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.support-msg{max-width:80%;padding:8px 12px;border-radius:12px;font-size:12.5px;line-height:1.5;word-break:break-word}
.support-msg.user{align-self:flex-end;background:var(--accent);color:#0a0b0e;border-bottom-right-radius:3px}
.support-msg.staff{align-self:flex-start;background:var(--bg3);color:var(--text);border-bottom-left-radius:3px}
.support-msg-time{font-size:9px;margin-top:3px;opacity:.65}
.support-empty{margin:auto;text-align:center;color:var(--muted);font-size:12px;padding:20px;line-height:1.6}
.support-panel-input{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--border2);flex-shrink:0}
#support-input{flex:1;background:var(--bg3);border:1px solid var(--border2);border-radius:10px;padding:9px 11px;color:var(--text);font-family:'Geist',system-ui,sans-serif;font-size:12.5px;resize:none;outline:none;max-height:80px}
#support-input:focus{border-color:var(--accent)}
#support-send-btn{background:var(--accent);color:#0a0b0e;border:none;border-radius:10px;width:36px;height:36px;flex-shrink:0;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:filter .15s}
#support-send-btn:hover{filter:brightness(1.1)}
#support-send-btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:480px){#support-panel{right:10px;left:10px;width:auto;bottom:78px}}
.trade-table-wrap{overflow-x:auto;border:1px solid var(--border2);border-radius:8px}
.oa-retired{display:none!important}
.trade-table{width:100%;border-collapse:collapse;font-size:10px;min-width:420px}
.trade-table th{color:#aaaaaa;text-transform:uppercase;letter-spacing:.08em;font-size:7px;padding:6px 10px;border-bottom:1px solid var(--border);text-align:left;font-weight:400;background:var(--bg3)}
.trade-table td{padding:6px 10px;border-bottom:1px solid rgba(42,64,96,.4);color:#ffffff;font-family:'Share Tech Mono',monospace}
.trade-table tr:last-child td{border-bottom:none}
.trade-table tr:hover td{background:rgba(0,0,0,.03)}
.td-sym{color:var(--text)!important;font-weight:700}
.td-pos{color:var(--green)!important;font-weight:700}
.td-neg{color:var(--red)!important;font-weight:700}


/* ── POSITION CHART MODAL ── */
#pos-chart-modal{display:none;position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.82);backdrop-filter:blur(4px);align-items:center;justify-content:center}
#pos-chart-modal.open{display:flex}
.pos-chart-wrap{background:#1c1c1c;border:1px solid rgba(0,0,0,.22);border-radius:12px;width:min(920px,96vw);height:min(580px,90vh);display:flex;flex-direction:column;position:relative;overflow:hidden}
.pos-chart-hdr{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #2e2e2e;flex-shrink:0}
.pos-chart-title{font-family:'Orbitron',monospace;font-size:12px;font-weight:700;color:var(--green);letter-spacing:.1em}
.pos-chart-close{background:none;border:1px solid #2e2e2e;color:var(--muted);font-size:13px;width:26px;height:26px;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1}
.pos-chart-close:hover{border-color:rgba(255,255,255,.4);color:var(--text)}
.pos-chart-tf-bar{display:flex;gap:3px;padding:5px 10px;background:rgba(0,0,0,.03);border-bottom:1px solid #2e2e2e;flex-shrink:0}
.pos-chart-tf-bar .chart-tf-btn{border-color:rgba(0,0,0,.18);color:rgba(0,0,0,.4)}
.pos-chart-tf-bar .chart-tf-btn:hover{border-color:rgba(0,0,0,.5);color:#ffffff}
.pos-chart-tf-bar .chart-tf-btn.active{background:rgba(0,0,0,.1);border-color:rgba(0,0,0,.55);color:#ffffff}
#pos-chart-container{flex:1;min-height:0;position:relative}
.pos-chart-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;letter-spacing:.08em;background:#1c1c1c;z-index:2}
/* Floating price readout that follows a finger/cursor while scrubbing the
   position-detail or PNL charts -- see attachChartScrub() in
   static/chart-scrub.js, same tooltip token-card.js's own charts use.
   Positioned by JS (left/top), never by CSS. */
.lmtd-chart-scrub-tip{
  position:absolute;top:10px;z-index:4;pointer-events:none;
  background:#f2b840;color:#1a1206;
  font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;
  padding:5px 10px;border-radius:8px;white-space:nowrap;
  box-shadow:0 4px 12px rgba(0,0,0,.4);
}
.pos-chart-btn{background:transparent;border:1px solid rgba(0,0,0,.18);color:rgba(0,0,0,.55);font-size:10px;padding:2px 7px;border-radius:4px;cursor:pointer;transition:all .15s;font-family:'Share Tech Mono',monospace;white-space:nowrap}
.pos-chart-btn:hover{border-color:rgba(0,0,0,.5);color:#ffffff;background:rgba(0,0,0,.05)}
.pos-act-wrap{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}
.pos-sell-btn{background:transparent;border:1px solid rgba(255,80,80,.3);color:rgba(255,100,100,.7);font-size:10px;padding:2px 7px;border-radius:4px;cursor:pointer;transition:all .15s;font-family:'Share Tech Mono',monospace;white-space:nowrap}
.pos-sell-btn:hover{border-color:rgba(255,80,80,.7);color:#ff5050;background:rgba(255,80,80,.07)}
.pos-sell-btn:disabled{opacity:.4;cursor:not-allowed}
.pos-sell-conf{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.pos-sell-conf-label{font-size:10px;color:var(--muted);font-family:'Share Tech Mono',monospace;white-space:nowrap}
.pos-sell-confirm-btn{background:rgba(255,80,80,.12);border:1px solid rgba(255,80,80,.5);color:#ff5050;font-size:10px;padding:2px 7px;border-radius:4px;cursor:pointer;font-family:'Share Tech Mono',monospace;white-space:nowrap;transition:all .15s}
.pos-sell-confirm-btn:hover{background:rgba(255,80,80,.22);border-color:#ff5050}
.pos-sell-confirm-btn:disabled{opacity:.4;cursor:not-allowed}
.pos-sell-cancel-btn{background:transparent;border:1px solid #2e2e2e;color:var(--muted);font-size:10px;padding:2px 7px;border-radius:4px;cursor:pointer;font-family:'Share Tech Mono',monospace;white-space:nowrap;transition:all .15s}
.pos-sell-cancel-btn:hover{border-color:rgba(255,255,255,.3);color:var(--text)}
.pos-sell-err{font-size:10px;color:#ff5050;font-family:'Share Tech Mono',monospace}
@media(max-width:600px){.pos-chart-wrap{width:100vw;height:100dvh;border-radius:0;border:none}#pos-chart-modal.open{align-items:flex-start}}

/* ── BOTTOM PANELS ── */
.panels{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:1.25rem}
.panel{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px}
.clr{background:none;border:none;font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--muted);cursor:pointer;transition:color .15s}
.clr:hover{color:var(--red)}
.log-body{max-height:100px;overflow-y:auto;font-size:10px;line-height:1.95;background:var(--bg);border-radius:6px;padding:7px 9px;border:1px solid var(--border);transition:max-height .25s ease;font-family:'Share Tech Mono',monospace}
.log-line{display:flex;gap:8px;padding:1px 0;border-bottom:1px solid rgba(42,64,96,.5)}
.lt{color:var(--border2);flex-shrink:0;width:55px}
.c-buy{color:#ffffff;font-weight:700;text-shadow:0 0 8px rgba(0,0,0,.35)}
.c-sell{color:#00d4ff}
.c-info{color:#4a7095}
.c-skip{color:#3a5878}
.c-error{color:var(--red)}
/* ── PUMP SCANNER BUY BUTTON ── */
.ps-buy-btn{flex:1;width:100%;padding:8px 0;background:#141414;color:#ffffff;font-weight:700;font-size:12px;border:none;border-radius:6px;cursor:pointer;transition:box-shadow .2s,filter .15s}
.ps-buy-btn:hover{box-shadow:0 0 12px rgba(0,0,0,.4);filter:brightness(1.1)}
.ps-sell-btn{flex:1;width:100%;padding:8px 0;background:#ff1744;color:#fff;font-weight:600;font-size:12px;border:none;border-radius:8px;cursor:pointer;transition:all .2s}
.ps-sell-btn:hover{box-shadow:0 0 12px rgba(255,0,0,.4);filter:brightness(1.1)}

/* ── BOTTOM LINKS ── */
.bottom{display:flex;gap:8px;margin-bottom:1.5rem;flex-wrap:wrap}
.bot-btn{flex:1;min-width:80px;padding:9px;font-size:10px;font-family:'Share Tech Mono',monospace;background:var(--bg2);border:1px solid var(--border2);color:var(--dim);border-radius:7px;cursor:pointer;transition:all .15s;letter-spacing:.05em}
.bot-btn:hover{border-color:var(--green);color:var(--green)}

/* ── SETTINGS MODAL ── */
.s-modal{display:none;position:fixed;inset:0;z-index:200;background:rgba(10,18,30,.92);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:1rem}
.s-modal.open{display:flex}
.s-card{background:var(--bg2);border:1px solid rgba(247,185,85,.3);border-radius:14px;padding:26px 24px;width:100%;max-width:480px;position:relative;box-shadow:0 0 60px rgba(0,0,0,.5)}
.s-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;line-height:1;padding:4px;display:inline-flex;align-items:center}
.s-close:hover{color:var(--text)}
.s-title{font-family:'Orbitron',monospace;font-size:13px;font-weight:700;color:var(--text);margin-bottom:3px}
.s-sub{font-size:9px;color:var(--muted);letter-spacing:.1em;margin-bottom:18px}
.liked-by-item{display:flex;align-items:center;gap:10px;padding:9px 6px;border-radius:8px;text-decoration:none;transition:background .12s}
.liked-by-item:hover{background:#16191f}
.liked-by-avatar{width:38px;height:38px;border-radius:50%;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#0a0b0e;overflow:hidden}
.liked-by-text{min-width:0}
.liked-by-name,.liked-by-handle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.liked-by-name{font-size:13.5px;font-weight:600;color:var(--text);line-height:1.3}
.liked-by-handle{font-size:11.5px;color:var(--muted);line-height:1.3}
.liked-by-empty{padding:30px 0;text-align:center;color:var(--muted);font-size:13px}
.s-warn{background:rgba(118,118,118,.06);border:1px solid rgba(118,118,118,.25);border-radius:8px;padding:10px 14px;font-size:11px;color:var(--yellow);margin-bottom:18px;display:flex;gap:8px;line-height:1.55}
.s-field{margin-bottom:14px}
.s-label{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:5px}
.s-input{width:100%;background:#1c1c1c;border:1px solid #2e2e2e;border-radius:7px;color:#ffffff;font-family:'Share Tech Mono',monospace;font-size:11px;padding:9px 12px;outline:none;transition:border-color .15s}
.s-input:focus{border-color:#ffffff}
.s-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.s-key-wrap{position:relative}
.s-key-wrap .s-input{padding-right:40px}
.s-vis-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;line-height:1}
.s-msg{font-size:11px;padding:8px 12px;border-radius:6px;margin-bottom:12px;display:none}
.s-msg.ok{background:rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.25);color:var(--green);display:block}
.s-msg.err{background:rgba(255,0,0,.08);border:1px solid rgba(255,0,0,.25);color:var(--red);display:block}
.s-save{width:100%;padding:12px;background:var(--green);color:#ffffff;border:none;border-radius:8px;font-family:'Orbitron',monospace;font-size:11px;font-weight:900;cursor:pointer;letter-spacing:.06em;transition:filter .15s}
.s-save:hover{filter:brightness(1.1)}
.s-save:disabled{background:var(--border2);color:var(--muted);cursor:not-allowed;filter:none}
.s-key-hint{font-size:8px;font-family:'Share Tech Mono',monospace;margin-left:8px}
.s-key-saved-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(0,0,0,.09);border:1px solid rgba(0,0,0,.35);border-radius:8px;padding:11px 14px;margin-bottom:16px}
.s-remove-key-btn{background:rgba(255,0,0,.1);border:1px solid rgba(255,0,0,.3);border-radius:5px;color:var(--red);font-size:9px;padding:4px 10px;cursor:pointer;font-family:'Share Tech Mono',monospace;white-space:nowrap;transition:background .15s}
.s-remove-key-btn:hover{background:rgba(255,0,0,.2)}
.s-manage-key-btn{background:rgba(247,185,85,.1);border:1px solid rgba(247,185,85,.3);border-radius:5px;color:var(--accent);font-size:9px;padding:4px 10px;cursor:pointer;font-family:'Share Tech Mono',monospace;white-space:nowrap;transition:background .15s}
.s-manage-key-btn:hover{background:rgba(247,185,85,.2)}
.avoid-btn{background:rgba(255,0,0,.08);border:1px solid rgba(255,0,0,.25);border-radius:5px;color:var(--red);font-size:9px;padding:3px 8px;cursor:pointer;font-family:'Share Tech Mono',monospace;white-space:nowrap;transition:background .15s;line-height:1.4}
.avoid-btn:hover{background:rgba(255,0,0,.2)}
.bl-list{margin-top:6px;display:flex;flex-direction:column;gap:6px}
.bl-item{display:flex;align-items:center;gap:8px;background:rgba(255,0,0,.05);border:1px solid rgba(255,0,0,.18);border-radius:7px;padding:8px 12px}
.bl-item-sym{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--text);font-family:'Share Tech Mono',monospace}
.bl-item-mint{flex:1;font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:'Share Tech Mono',monospace}
.bl-remove-btn{flex:0 0 auto;background:transparent;border:1px solid rgba(255,0,0,.3);border-radius:5px;color:var(--red);font-size:9px;padding:3px 8px;cursor:pointer;font-family:'Share Tech Mono',monospace;white-space:nowrap;transition:background .15s}
.bl-remove-btn:hover{background:rgba(255,0,0,.15)}
/* ── BLACKLIST MANAGER MODAL ── */
.bl-mgr-table{width:100%;border-collapse:collapse;font-family:'Share Tech Mono',monospace;font-size:10px;margin-top:14px}
.bl-mgr-table th{text-align:left;padding:7px 10px;color:#aaaaaa;border-bottom:1px solid var(--border);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.bl-mgr-table td{padding:10px 10px;border-bottom:1px solid #2e2e2e;vertical-align:middle;color:#ffffff}
.bl-mgr-table tr:last-child td{border-bottom:none}
.bl-mgr-table tr:hover td{background:rgba(255,255,255,.025)}
.bl-mgr-sym{font-weight:700;color:var(--text)!important;font-size:11px}
.bl-status-label{display:inline-flex;align-items:center;gap:4px;background:rgba(255,0,0,.08);border:1px solid rgba(255,0,0,.2);border-radius:5px;color:var(--red);font-size:9px;padding:3px 8px;white-space:nowrap}
.bl-unban-btn{background:rgba(0,0,0,.07);border:1px solid rgba(0,0,0,.25);border-radius:5px;color:var(--green);font-size:9px;padding:4px 10px;cursor:pointer;font-family:'Share Tech Mono',monospace;white-space:nowrap;transition:background .15s,opacity .15s}
.bl-unban-btn:hover:not(:disabled){background:rgba(0,0,0,.18)}
.bl-unban-btn:disabled{opacity:.45;cursor:not-allowed}
.bl-mgr-empty{text-align:center;padding:36px 0;color:var(--muted);font-family:'Share Tech Mono',monospace;font-size:11px;line-height:2.2}
.bl-mgr-empty-icon{font-size:24px;margin-bottom:6px}
.s-card{max-height:90vh;overflow-y:auto}
.how-to-box{background:var(--bg3);border:1px solid var(--border);border-radius:9px;margin-bottom:18px;overflow:hidden}
.how-to-toggle{width:100%;background:none;border:none;color:var(--dim);font-family:'Share Tech Mono',monospace;font-size:10px;padding:10px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;letter-spacing:.05em;transition:color .15s}
.how-to-toggle:hover{color:var(--text)}
.how-to-arrow{transition:transform .2s;font-size:9px;flex-shrink:0}
.how-to-body{padding:0 14px 14px;font-size:10px;line-height:1.65;display:none}
.how-to-body.open{display:block}
.how-to-section{color:var(--green);font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin:12px 0 5px;font-weight:700}
.how-to-section:first-child{margin-top:4px}
.how-to-item{color:var(--dim);padding-left:12px;position:relative;margin-bottom:3px}
.how-to-item::before{content:'–';position:absolute;left:0;color:var(--muted)}
.welcome-banner{background:rgba(136,136,136,.07);border:1px solid rgba(136,136,136,.3);border-radius:10px;padding:12px 16px;margin-bottom:14px;display:flex;align-items:flex-start;gap:12px;font-size:11px;color:var(--blue);line-height:1.65}
.welcome-banner.hide{display:none}
.bot-idle-banner{background:#1c1c1c;border:1px solid #2e2e2e;border-radius:10px;padding:12px 16px;margin-bottom:14px;display:flex;align-items:center;gap:12px;font-size:12px;color:var(--green)}
.bot-idle-banner.hide{display:none}
.bot-idle-banner .bib-icon{font-size:18px;flex-shrink:0}
.bot-idle-banner .bib-text{flex:1;line-height:1.5}
.bot-idle-banner .bib-btn{background:#141414;color:#ffffff;border:none;border-radius:7px;padding:8px 18px;font-family:'Share Tech Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.04em;cursor:pointer;white-space:nowrap;transition:filter .15s}
.bot-idle-banner .bib-btn:hover{filter:brightness(1.12)}
/* ── setup wizard ── */
#setup-wizard{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem}
#setup-wizard.hide{display:none}
.swiz-card{background:var(--bg2);border:1px solid var(--border2);border-radius:14px;padding:28px 24px 22px;width:100%;max-width:380px;box-shadow:0 14px 44px rgba(0,0,0,.65)}
.swiz-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.swiz-title{font-size:13px;font-weight:700;color:var(--text);letter-spacing:.04em}
.swiz-skip-btn{background:none;border:none;color:var(--dim);font-family:'Share Tech Mono',monospace;font-size:10px;cursor:pointer;padding:2px 6px;transition:color .15s}
.swiz-skip-btn:hover{color:var(--text)}
.swiz-prog-track{height:3px;background:var(--bg3);border-radius:2px;margin-bottom:6px;overflow:hidden}
.swiz-prog-bar{height:100%;background:var(--blue);border-radius:2px;transition:width .35s}
.swiz-step-lbl{font-size:9px;color:var(--dim);margin-bottom:20px;letter-spacing:.06em}
.swiz-body{min-height:148px;text-align:center}
.swiz-step-icon{font-size:30px;margin-bottom:10px}
.swiz-step-h{font-size:14px;font-weight:700;color:var(--text);margin-bottom:8px}
.swiz-step-p{font-size:11px;color:var(--dim);line-height:1.65;margin-bottom:16px}
.swiz-check{display:inline-flex;align-items:center;gap:6px;background:rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.3);border-radius:20px;padding:6px 16px;font-size:10px;color:var(--green);font-weight:700}
.swiz-action-btn{width:100%;padding:10px;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-family:'Share Tech Mono',monospace;font-size:11px;cursor:pointer;transition:border-color .15s;margin-top:4px}
.swiz-action-btn:hover{border-color:var(--blue)}
.swiz-addr-box{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:9px;color:var(--blue);word-break:break-all;margin-bottom:12px;display:flex;align-items:center;gap:8px;justify-content:space-between;text-align:left}
.swiz-copy-btn{background:none;border:none;color:var(--dim);cursor:pointer;font-size:13px;flex-shrink:0;padding:0;transition:color .15s}
.swiz-copy-btn:hover{color:var(--text)}
.swiz-qr{width:96px;height:96px;border:2px dashed var(--border2);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--dim);font-size:9px;gap:5px;margin:0 auto 6px}
.swiz-footer{display:flex;justify-content:flex-end;margin-top:20px}
.swiz-next-btn{background:var(--blue);border:none;border-radius:8px;padding:9px 22px;color:#ffffff;font-family:'Share Tech Mono',monospace;font-size:11px;font-weight:700;cursor:pointer;transition:opacity .15s}
.swiz-next-btn:hover{opacity:.85}
.wb-dismiss{background:none;border:1px solid rgba(136,136,136,.35);border-radius:5px;color:var(--blue);font-family:'Share Tech Mono',monospace;font-size:9px;padding:4px 10px;cursor:pointer;white-space:nowrap;margin-top:7px;display:inline-block;transition:background .15s}
.wb-dismiss:hover{background:rgba(136,136,136,.12)}
.trade-warn{background:rgba(118,118,118,.07);border:1px solid rgba(118,118,118,.3);border-radius:8px;padding:10px 14px;font-size:11px;color:var(--yellow);margin-top:10px;display:none;line-height:1.55}
.trade-warn.show{display:block}

/* ── INACTIVITY WARNING ── */

/* ── MOBILE DEEP LINK BUTTONS ── */
/* Dashed border = "opens external app", solid = "connects in-browser" */
.btn-deeplink-phantom{background:linear-gradient(135deg,#767676 0%,#7b6cc4 100%);color:#fff;border:2px dashed rgba(255,255,255,.35)!important}
.btn-deeplink-phantom:hover{filter:brightness(1.08)}
.btn-deeplink-solflare{background:linear-gradient(135deg,#767676 0%,#c85510 100%);color:#fff;border:2px dashed rgba(255,255,255,.35)!important}
.btn-deeplink-solflare:hover{filter:brightness(1.08)}
.deeplink-sub{display:block;font-family:'Share Tech Mono',monospace;font-size:9px;font-weight:400;opacity:.75;margin-top:5px;letter-spacing:.02em}
.mobile-hint{background:rgba(136,136,136,.07);border:1px solid rgba(136,136,136,.22);border-radius:8px;padding:10px 14px;font-size:11px;color:var(--blue);margin-bottom:14px;line-height:1.7;text-align:left}
.mobile-or{font-size:10px;color:var(--muted);text-align:center;margin:2px 0 10px;letter-spacing:.1em}

/* ── MOBILE ── */
@media(max-width:720px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .panels{grid-template-columns:1fr}
  .stat-val{font-size:17px}
  .brand{font-size:13px}
  .mode{flex-direction:column;align-items:flex-start}
  .mode-right{width:100%}
  .mode-btn{width:100%;text-align:center}
  .slide-chart-wrap{height:200px}
}

::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,.28);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5)}
*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.28) transparent}

/* ── HEALTH / AUDIT ── */
.health-btn{display:flex;align-items:center;gap:5px;padding:6px 10px}
.health-dot{width:8px;height:8px;border-radius:50%;background:#4a6a8a;flex-shrink:0;transition:background .4s}
.health-dot.pass{background:#141414;box-shadow:0 0 6px rgba(0,0,0,.5)}
.health-dot.warn{background:#767676;box-shadow:0 0 6px rgba(118,118,118,.5)}
.health-dot.fail{background:#ff1744;box-shadow:0 0 6px rgba(255,0,0,.5);animation:healthPulse 1.2s ease-in-out infinite}
@keyframes healthPulse{0%,100%{opacity:1}50%{opacity:.4}}
.audit-overlay{position:fixed;inset:0;z-index:300;background:rgba(8,14,24,.88);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:1rem}
.audit-overlay.open{display:flex}
.audit-card{background:var(--bg2);border:1px solid var(--border2);border-radius:14px;padding:24px;width:100%;max-width:520px;box-shadow:0 0 60px rgba(0,0,0,.6);position:relative;max-height:90vh;overflow-y:auto}
.audit-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:8px}
.audit-title{font-family:'Orbitron',monospace;font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.audit-status-badge{font-size:8px;padding:3px 9px;border-radius:20px;font-weight:700;letter-spacing:.1em;font-family:'Orbitron',monospace}
.audit-status-badge.pass{background:rgba(0,0,0,.14);color:#ffffff;border:1px solid rgba(0,0,0,.35)}
.audit-status-badge.warn{background:rgba(118,118,118,.14);color:#aaaaaa;border:1px solid rgba(118,118,118,.35)}
.audit-status-badge.fail{background:rgba(255,0,0,.14);color:#ff1744;border:1px solid rgba(255,0,0,.35)}
.audit-status-badge.unknown{background:rgba(100,100,100,.12);color:var(--dim);border:1px solid var(--border2)}
.audit-close{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;line-height:1;padding:4px;flex-shrink:0}
.audit-close:hover{color:var(--text)}
.audit-ran-at{font-size:9px;color:var(--muted);margin-bottom:14px;letter-spacing:.06em}
.audit-checks{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.audit-row{display:flex;align-items:flex-start;gap:10px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:9px 12px}
.audit-row.pass{border-left:3px solid rgba(0,0,0,.5)}
.audit-row.warn{border-left:3px solid rgba(118,118,118,.5)}
.audit-row.fail{border-left:3px solid rgba(255,0,0,.5)}
.audit-icon{font-size:12px;flex-shrink:0;margin-top:1px}
.audit-name{font-family:'Orbitron',monospace;font-size:9px;font-weight:700;color:var(--dim);margin-bottom:2px;letter-spacing:.04em}
.audit-msg{font-size:9px;color:var(--muted);line-height:1.5}
.audit-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.audit-run-btn{background:rgba(136,136,136,.12);border:1px solid rgba(136,136,136,.3);border-radius:6px;color:var(--blue);font-family:'Orbitron',monospace;font-size:9px;font-weight:700;padding:7px 14px;cursor:pointer;letter-spacing:.07em;transition:all .15s}
.audit-run-btn:hover{background:rgba(136,136,136,.22);border-color:var(--blue)}
.audit-run-btn:disabled{opacity:.45;cursor:not-allowed}
.audit-next{font-size:9px;color:var(--muted)}

.slide-confidence-bar{flex:1;height:4px;background:rgba(0,0,0,.03);border-radius:2px;overflow:hidden;min-width:40px;max-width:90px;margin:0 4px}
.slide-confidence-fill{height:100%;border-radius:2px}
.slide-factors{display:flex;gap:4px;flex-wrap:wrap;margin:5px 0 3px}
.factor-on{font-size:8px;font-family:'Share Tech Mono',monospace;color:#0e0e0e;background:#141414;border-radius:3px;padding:2px 5px;font-weight:700;letter-spacing:.05em}
.factor-off{font-size:8px;font-family:'Share Tech Mono',monospace;color:rgba(255,255,255,.25);background:rgba(0,0,0,.03);border:1px solid #2e2e2e;border-radius:3px;padding:2px 5px}
.slide-why-buy{margin:4px 0;font-size:9px;color:rgba(255,255,255,.45);line-height:1.75}
.slide-why-buy b{display:block;font-family:'Share Tech Mono',monospace;font-size:8px;color:rgba(0,0,0,.6);letter-spacing:.08em;margin-bottom:2px;font-weight:400}
.slide-risk-flags{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}
.risk-flag{font-size:8px;font-family:'Share Tech Mono',monospace;color:#ff1744;background:rgba(255,0,0,.08);border:1px solid rgba(255,0,0,.25);border-radius:3px;padding:2px 5px}
.slide-ai-line{margin:4px 0;font-size:9px;color:rgba(0,0,0,.65);font-style:italic;line-height:1.4}
.slide-ai-line b{font-style:normal;font-family:'Share Tech Mono',monospace;font-size:7px;color:rgba(0,0,0,.4);letter-spacing:.1em;vertical-align:middle;margin-right:3px}

/* ── INCINERATOR MODAL ── */
.inc-card{max-width:540px!important}
.inc-token-list{max-height:38vh;overflow-y:auto;border:1px solid var(--border2);border-radius:8px;margin-bottom:12px}
.inc-token-row{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s}
.inc-token-row:last-child{border-bottom:none}
.inc-token-row:hover{background:rgba(255,255,255,.025)}
.inc-checkbox{width:15px;height:15px;accent-color:var(--green);cursor:pointer;flex-shrink:0}
.inc-token-info{flex:1;min-width:0;overflow:hidden}
.inc-token-mint{display:block;font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.inc-token-mint:hover{color:var(--blue);text-decoration:underline}
.inc-token-bal{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.inc-token-sol{font-family:'Orbitron',monospace;font-size:10px;font-weight:700;color:var(--green);white-space:nowrap;flex-shrink:0}
.inc-scan-bar{display:flex;align-items:center;justify-content:space-between;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:8px 12px;margin-bottom:12px;gap:8px;flex-wrap:wrap}
.inc-scan-label{font-size:10px;color:var(--dim);display:flex;align-items:center;gap:6px}
.inc-scan-pill{font-size:8px;padding:2px 7px;border-radius:10px;font-family:'Orbitron',monospace;font-weight:700;letter-spacing:.06em}
.inc-scan-pill.smart{background:rgba(0,0,0,.15);color:var(--green);border:1px solid rgba(0,0,0,.35)}
.inc-scan-pill.all{background:rgba(118,118,118,.15);color:var(--yellow);border:1px solid rgba(118,118,118,.35)}
.inc-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px;flex-wrap:wrap}
.inc-found{font-size:10px;color:var(--dim)}
.inc-ctrl-btns{display:flex;gap:6px;flex-wrap:wrap}
.inc-ctrl-btn{background:transparent;border:1px solid var(--border2);border-radius:5px;color:var(--dim);font-family:'Share Tech Mono',monospace;font-size:9px;padding:4px 10px;cursor:pointer;letter-spacing:.04em;transition:all .15s}
.inc-ctrl-btn:hover{border-color:var(--green);color:var(--green)}
.inc-ctrl-btn.scan-all-btn{border-color:rgba(118,118,118,.4);color:var(--yellow)}
.inc-ctrl-btn.scan-all-btn:hover{border-color:var(--yellow);background:rgba(118,118,118,.08)}
.inc-ctrl-btn.scan-smart-btn{border-color:rgba(0,0,0,.4);color:var(--green)}
.inc-ctrl-btn.scan-smart-btn:hover{border-color:var(--green);background:rgba(0,0,0,.08)}
.inc-badge{font-size:7px;padding:2px 6px;border-radius:3px;font-family:'Orbitron',monospace;font-weight:700;letter-spacing:.08em;white-space:nowrap;flex-shrink:0}
.inc-badge-empty{background:rgba(0,0,0,.12);color:var(--green);border:1px solid rgba(0,0,0,.3)}
.inc-badge-dust{background:rgba(118,118,118,.12);color:var(--yellow);border:1px solid rgba(118,118,118,.3)}
.inc-badge-unknown{background:rgba(100,100,100,.12);color:var(--dim);border:1px solid var(--border2)}
.inc-badge-value{background:rgba(255,0,0,.1);color:var(--red);border:1px solid rgba(255,0,0,.3)}
.inc-row-disabled{opacity:.45}
.inc-token-sol-dim{color:var(--muted)!important}
.inc-value{font-size:9px;color:var(--muted);margin-top:2px}
.inc-scan-warn{background:rgba(118,118,118,.07);border:1px solid rgba(118,118,118,.3);border-radius:7px;padding:8px 12px;font-size:10px;color:var(--yellow);margin-bottom:10px;display:none;line-height:1.55}
.inc-scan-warn.show{display:block}
.inc-summary-bar{background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:10px 14px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.inc-summary-text{font-size:10px;color:var(--dim)}
.inc-sol-est{font-family:'Orbitron',monospace;font-size:13px;font-weight:700;color:var(--green)}
.inc-burn-btn{width:100%;padding:12px;background:linear-gradient(90deg,#c53030,#9b2c2c);color:#fff;border:none;border-radius:8px;font-family:'Orbitron',monospace;font-size:11px;font-weight:900;cursor:pointer;letter-spacing:.08em;transition:filter .15s}
.inc-burn-btn:hover:not(:disabled){filter:brightness(1.15)}
.inc-burn-btn:disabled{opacity:.4;cursor:not-allowed}
.inc-loading{text-align:center;padding:32px 0;color:var(--muted);font-size:11px;letter-spacing:.06em}
.inc-empty{text-align:center;padding:28px 0;color:var(--muted);font-size:11px;line-height:1.75}
.inc-empty b{color:var(--green)}

/* ── PUMP SCANNER ── */
.ps-panel{background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:16px;margin-bottom:1.25rem;display:none}
.ps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.ps-card{background:var(--bg3);border:1px solid rgba(0,0,0,.2);border-radius:9px;padding:12px;border-top:2px solid var(--green);overflow:visible;height:auto}
.ps-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px}
.ps-sym{font-family:'Orbitron',monospace;font-size:12px;font-weight:700;color:var(--text)}
.ps-name{font-size:9px;color:var(--muted);margin-top:2px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-price{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--dim);text-align:right}
.ps-chg-row{display:flex;gap:5px;margin-bottom:10px;flex-wrap:wrap}
.ps-chg{font-size:9px;font-family:'Share Tech Mono',monospace;padding:2px 7px;border-radius:4px}
.ps-chg.up{background:rgba(0,0,0,.1);color:var(--green);border:1px solid rgba(0,0,0,.25)}
.ps-chg.dn{background:rgba(255,0,0,.1);color:var(--red);border:1px solid rgba(255,0,0,.25)}
@keyframes ps-spin{to{transform:rotate(360deg)}}
.ps-btn-loading::after{content:'';display:inline-block;width:8px;height:8px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ps-spin .65s linear infinite;flex-shrink:0}
.ps-empty{color:var(--muted);font-size:11px;text-align:center;padding:24px 0;letter-spacing:.08em;grid-column:1/-1}

/* ── LIVE ACTIVITY FEED ── */
.live-feed-panel{background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:16px;margin-bottom:1.25rem}
.lf-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.lf-header-left{display:flex;align-items:center;gap:8px}
.lf-header-right{display:flex;align-items:center;gap:8px}
.lf-live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:blink 1.5s infinite;flex-shrink:0}
.lf-live-label{font-family:'Orbitron',monospace;font-size:8px;font-weight:700;color:var(--green);letter-spacing:.14em}
.lf-countdown{font-size:8px;color:var(--border2);letter-spacing:.06em}
.lf-list{display:flex;flex-direction:column;gap:6px}
.lf-empty{text-align:center;padding:20px;font-size:11px;color:var(--muted);letter-spacing:.08em}
.lf-item{display:flex;align-items:center;gap:10px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:10px 12px;transition:border-color .2s;position:relative;overflow:hidden;min-width:0}
.lf-item-new{animation:lfFadeIn .5s ease-out}
@keyframes lfFadeIn{0%{opacity:0;transform:translateY(-8px)}100%{opacity:1;transform:translateY(0)}}
.lf-item-buy{border-left:3px solid var(--green)}
.lf-item-sell-pos{border-left:3px solid var(--green)}
.lf-item-sell-neg{border-left:3px solid var(--red)}
.lf-logo{width:34px;height:34px;border-radius:50%;background:var(--bg4);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-family:'Orbitron',monospace;font-size:11px;font-weight:700;color:var(--dim)}
.lf-logo img{width:100%;height:100%;object-fit:cover}
.lf-main{flex:1;min-width:0}
.lf-top-row{display:flex;align-items:center;gap:6px;margin-bottom:3px;flex-wrap:wrap}
.lf-sym{font-family:'Orbitron',monospace;font-size:11px;font-weight:700;color:var(--text);white-space:nowrap}
.lf-badge{font-family:'Orbitron',monospace;font-size:7px;font-weight:700;padding:2px 7px;border-radius:3px;letter-spacing:.1em;flex-shrink:0}
.lf-badge-buy{background:rgba(0,0,0,.15);color:var(--green);border:1px solid rgba(0,0,0,.4)}
.lf-badge-sell{background:rgba(255,0,0,.13);color:var(--red);border:1px solid rgba(255,0,0,.4)}
.lf-badge-tp{background:rgba(0,0,0,.15);color:var(--green);border:1px solid rgba(0,0,0,.5)}
.lf-badge-sl{background:rgba(255,0,0,.15);color:#ff1744;border:1px solid rgba(255,0,0,.5)}
.lf-amt{font-size:9px;color:var(--muted);margin-top:2px;font-family:'Share Tech Mono',monospace}
.lf-prices{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-prices span{color:var(--dim)}
.lf-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;min-width:88px;text-align:right}
.lf-pnl-sol{font-family:'Orbitron',monospace;font-size:10px;font-weight:700}
.lf-pnl-pct{font-size:9px;font-weight:700}
.lf-time{font-size:8px;color:var(--muted);letter-spacing:.04em;margin-top:2px}
.lf-tx{font-size:8px;color:var(--blue);text-decoration:none;letter-spacing:.04em;white-space:nowrap}
.lf-tx:hover{text-decoration:underline;color:#aaaaaa}
/* Toast */
#lf-toast-wrap{position:fixed;bottom:20px;right:20px;z-index:500;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none;max-width:300px}
.lf-toast{background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:10px 14px;font-size:11px;font-family:'Share Tech Mono',monospace;color:var(--text);box-shadow:0 4px 24px rgba(0,0,0,.55);pointer-events:auto;animation:toastIn .35s cubic-bezier(.16,.5,.3,1) forwards;display:flex;align-items:flex-start;gap:8px;line-height:1.5;word-break:break-word}
@keyframes toastIn{0%{opacity:0;transform:translateX(40px)}100%{opacity:1;transform:translateX(0)}}
.lf-toast.lf-toast-removing{animation:toastOut .3s ease-in forwards}
@keyframes toastOut{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(40px)}}
@keyframes sectionFadeIn{from{opacity:0}to{opacity:1}}
.fade-in{animation:sectionFadeIn .15s ease}
.lf-toast-icon{font-size:14px;flex-shrink:0;line-height:1.3}
@media(max-width:600px){
  .lf-item{padding:8px 10px;gap:8px}
  .lf-logo{width:28px;height:28px;font-size:9px}
  .lf-right{min-width:72px}
  .lf-pnl-sol{font-size:9px}
  #lf-toast-wrap{bottom:12px;right:12px;max-width:calc(100vw - 24px)}
  .lf-toast{font-size:10px;padding:8px 12px}
}

/* ── TRADERS VIEW ── */
/* Header bar — 56px full-width strip */
.tv-hdr{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 2px;margin-bottom:16px;border-bottom:2px solid var(--border2);gap:12px;-webkit-font-smoothing:antialiased}
.tv-hdr-left{display:flex;align-items:center;gap:12px;flex-shrink:0}
.tv-hdr-title{font-family:'Geist',system-ui,sans-serif;font-size:20px;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;-webkit-font-smoothing:antialiased}
.tv-hdr-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.tv-live-pill{display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.22);border-radius:20px;padding:5px 11px}
.tv-live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:blink 1.5s infinite;flex-shrink:0}
.tv-live-label{font-family:'Geist',system-ui,sans-serif;font-size:9px;font-weight:700;color:var(--green);letter-spacing:.12em}
.tv-countdown{font-size:9px;color:var(--muted);letter-spacing:.04em;margin-left:1px}
.tv-active-badge{font-family:'Geist',system-ui,sans-serif;font-size:11px;color:var(--dim);background:var(--bg3);border:1px solid var(--border);border-radius:7px;padding:4px 10px;white-space:nowrap}
.tv-active-badge b{color:var(--green);font-weight:700}
.tv-back-btn{background:transparent;border:1px solid var(--border2);border-radius:7px;padding:6px 14px;color:var(--dim);font-size:11px;font-family:'Geist',system-ui,sans-serif;cursor:pointer;transition:all .18s;white-space:nowrap}
.tv-back-btn:hover{border-color:var(--green);color:var(--green);background:rgba(0,0,0,.05)}
/* Two-column layout */
.tv-layout{display:grid;grid-template-columns:65fr 35fr;gap:0;align-items:start}
.tv-main{min-width:0}
.tv-sidebar{position:sticky;top:16px;max-height:calc(100vh - 90px);overflow-y:auto;border-left:1px solid var(--border2);padding:0 0 24px 24px;-webkit-font-smoothing:antialiased;scrollbar-width:none}
.tv-sidebar::-webkit-scrollbar{display:none}
/* Sidebar sections */
.tv-sb-section{margin-bottom:20px}
.tv-sb-title{font-family:'Geist',system-ui,sans-serif;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px}
/* Top traders rows (sidebar) */
.tv-top-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.tv-top-row:last-child{border-bottom:none}
.tv-top-row:hover .tv-top-name{color:var(--green)}
.tv-top-rank{font-family:'Geist',system-ui,sans-serif;font-size:11px;font-weight:700;width:16px;text-align:center;flex-shrink:0}
.tv-top-avtr{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;position:relative;overflow:hidden;border:1.5px solid rgba(255,255,255,.07)}
.tv-top-avtr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.tv-top-name{flex:1;font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .12s;-webkit-font-smoothing:antialiased}
.tv-top-pnl-pos{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--green);white-space:nowrap;flex-shrink:0}
.tv-top-pnl-neg{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--red);white-space:nowrap;flex-shrink:0}
/* Sidebar platform stats — 3-box grid */
.tv-sb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tv-sb-stat{background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:14px 8px;text-align:center}
.tv-sb-stat-val{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:700;color:var(--text);line-height:1.1;margin-bottom:6px;-webkit-font-smoothing:antialiased;word-break:break-all}
.tv-sb-stat-lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;line-height:1.3}
/* Section panel (activity feed) */
.tv-panel{background:var(--bg2);border:1px solid var(--border2);border-radius:12px;overflow:hidden;margin-bottom:12px}
.tv-section-hdr{font-family:'Geist',system-ui,sans-serif;font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;padding:11px 16px 9px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.013)}
.tv-empty{text-align:center;padding:48px 20px;font-size:11px;color:var(--muted);letter-spacing:.1em}
/* Row card */
.tv-card{display:flex;align-items:center;gap:14px;padding:15px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.tv-card:last-child{border-bottom:none}
.tv-card:hover{background:rgba(255,255,255,.022)}
/* Avatar */
.tv-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;overflow:hidden;border:1.5px solid rgba(255,255,255,.07);position:relative}
.tv-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
/* Identity */
.tv-identity{display:flex;flex-direction:column;gap:3px;flex-shrink:0;min-width:90px;max-width:130px}
.tv-name{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15;-webkit-font-smoothing:antialiased}
.tv-wallet{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:11px;color:var(--muted)}
/* Signal */
.tv-signal{flex:1;display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.tv-badge-open{font-family:'Geist',system-ui,sans-serif;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;background:rgba(0,0,0,.1);color:var(--green);border:1px solid rgba(0,0,0,.25);flex-shrink:0}
.tv-badge-win{font-family:'Geist',system-ui,sans-serif;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;background:rgba(58,210,155,.15);color:var(--green);flex-shrink:0;border:none}
.tv-badge-loss{font-family:'Geist',system-ui,sans-serif;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;background:rgba(255,77,106,.15);color:var(--red);flex-shrink:0;border:none}
.tv-token{font-family:'Geist',system-ui,sans-serif;font-size:13px;font-weight:700;color:var(--text)}
.tv-pnl-pos{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;color:var(--green)}
.tv-pnl-neg{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;color:var(--red)}
/* Right col */
.tv-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}
.tv-time{font-size:10px;color:var(--muted);white-space:nowrap}
.tv-follow-btn{background:transparent;border:1px solid var(--border2);border-radius:6px;padding:4px 12px;font-family:'Geist',system-ui,sans-serif;font-size:10px;color:var(--text);cursor:pointer;transition:all .15s;white-space:nowrap}
.tv-follow-btn:hover{border-color:rgba(0,0,0,.45);color:var(--green)}
.tv-follow-btn.followed{border-color:var(--text);background:var(--bg2);color:var(--text)}
.tv-follow-btn.followed:hover{border-color:var(--red);background:rgba(255,0,0,.1);color:var(--red)}
.lb-row .tv-follow-btn{padding:3px 10px;flex-shrink:0}
@media(max-width:720px){
  .tv-layout{grid-template-columns:1fr}
  .tv-sidebar{position:static;border-left:none;border-top:1px solid var(--border2);padding:20px 0 0 0;max-height:none;overflow-y:visible}
  .tv-sb-stats{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:540px){
  .tv-hdr{height:auto;padding:12px 0;flex-wrap:wrap}
  .tv-hdr-title{font-size:15px}
  .tv-card{padding:12px 12px;gap:10px}
  .tv-identity{min-width:60px;max-width:90px}
  .tv-name{font-size:13px}
  .tv-badge-win,.tv-badge-loss,.tv-badge-open{font-size:9px;padding:2px 8px}
  .tv-pnl-pos,.tv-pnl-neg{font-size:11px}
  .tv-sb-stats{grid-template-columns:repeat(3,1fr)}
  .tv-sb-stat-val{font-size:16px}
}

/* ── FOLLOW LIST MODAL ── */
/* ── FOLLOW FULL-PAGE VIEW ── */
#tv-follow-view{padding:0 0 40px}
.tvfl-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:14px;letter-spacing:-.01em}
.tvfl-list{background:#1c1c1c;backdrop-filter:blur(10px);border:1px solid #2e2e2e;border-radius:12px;padding:4px 0}
.tvfl-empty,.tvfl-loading{text-align:center;padding:32px 16px;font-size:11px;color:var(--muted);letter-spacing:.06em}
.tvfl-row{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background .12s}
.tvfl-row:hover{background:rgba(0,0,0,.03)}
.tvfl-avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;overflow:hidden;position:relative;border:1px solid #2e2e2e}
.tvfl-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.tvfl-info{flex:1;min-width:0}
.tvfl-name{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tvfl-wallet{font-size:10px;color:var(--muted);font-family:'Share Tech Mono',monospace;margin-top:2px;white-space:nowrap}
.tvfl-pnl{font-size:11px;font-weight:700;font-family:'Orbitron',monospace;white-space:nowrap;flex-shrink:0;min-width:80px;text-align:right}
.tvp-social-item.clickable{cursor:pointer;transition:color .15s}
.tvp-social-item.clickable:hover{color:var(--green)}
.tvp-social-item.clickable:hover strong{color:var(--green)}

/* ── TRADER PROFILE CARD ── */
#tv-profile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:400;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(3px)}
#tv-profile-overlay.hidden{display:none}
.tpc-card{background:var(--bg2);border:1px solid var(--border2);border-radius:14px;width:100%;max-width:380px;max-height:82vh;overflow-y:auto;padding:28px;position:relative;box-shadow:0 12px 60px rgba(0,0,0,.8),0 0 0 1px rgba(0,0,0,.06)}
.tpc-close{position:absolute;top:10px;right:10px;background:transparent;border:none;color:var(--muted);font-size:15px;cursor:pointer;line-height:1;padding:4px 8px;border-radius:4px;transition:color .15s;z-index:1}
.tpc-close:hover{color:var(--text)}
.tpc-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.tpc-avatar{width:64px;height:64px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;overflow:hidden;background:var(--bg4);border:2px solid #000000;position:relative}
.tpc-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.tpc-meta{flex:1;min-width:0;padding-top:2px}
.tpc-username{font-size:18px;font-weight:700;color:var(--text);line-height:1.2;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tpc-wallet{font-size:12px;color:var(--muted);margin-bottom:6px;font-family:'JetBrains Mono','Share Tech Mono',monospace}
.tpc-bio{font-size:13px;color:var(--dim);font-style:italic;line-height:1.5;margin-top:4px;word-break:break-word}
.tpc-actions{display:flex;gap:6px;flex-shrink:0;padding-top:2px}
.tpc-follow-btn{background:transparent;border:1px solid var(--border2);border-radius:7px;padding:7px 14px;font-family:'Geist',system-ui,sans-serif;font-size:10px;color:var(--text);cursor:pointer;font-weight:700;transition:all .15s;white-space:nowrap}
.tpc-follow-btn:hover{border-color:rgba(0,0,0,.45);color:var(--green)}
.tpc-follow-btn.following{border-color:var(--text);background:var(--bg2);color:var(--text)}
.tpc-follow-btn.following:hover{border-color:var(--red);background:rgba(255,0,0,.1);color:var(--red)}
.tpc-sol-btn{background:transparent;border:1px solid var(--border2);border-radius:7px;padding:7px 11px;font-family:'Geist',system-ui,sans-serif;font-size:10px;font-weight:700;color:var(--green);cursor:pointer;transition:all .15s;white-space:nowrap}
.tpc-sol-btn:hover{border-color:var(--green);background:rgba(0,0,0,.07)}
.tpc-copy-btn{background:rgba(118,118,118,.14);border:1px solid rgba(118,118,118,.45);border-radius:7px;padding:7px 14px;font-family:'Geist',system-ui,sans-serif;font-size:10px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .15s;white-space:nowrap}
.tpc-copy-btn:hover{background:rgba(118,118,118,.26);border-color:var(--muted)}
.tpc-stop-copy-btn{background:rgba(255,0,0,.14);border:1px solid rgba(255,0,0,.45);border-radius:7px;padding:7px 14px;font-family:'Geist',system-ui,sans-serif;font-size:10px;font-weight:700;color:var(--red);cursor:pointer;transition:all .15s;white-space:nowrap}
.tpc-stop-copy-btn:hover{background:rgba(255,0,0,.26);border-color:var(--red)}
.copy-source-pill{display:inline-flex;align-items:center;gap:5px;background:rgba(118,118,118,.13);border:1px solid rgba(118,118,118,.4);border-radius:20px;padding:3px 11px;font-size:9px;color:#aaaaaa;font-family:'Share Tech Mono',monospace;cursor:pointer;transition:all .15s;white-space:nowrap;letter-spacing:.04em;line-height:1.5}
.copy-source-pill:hover{background:rgba(118,118,118,.26)}
.tpc-sol-form{background:var(--bg3);border:1px solid var(--border);border-radius:9px;padding:14px;margin-top:10px;display:none}
.tpc-sol-form.open{display:block}
.tpc-sol-row{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.tpc-sol-lbl{font-family:'Geist',system-ui,sans-serif;font-size:10px;color:var(--muted);white-space:nowrap;flex-shrink:0;width:80px}
.tpc-sol-amount{flex:1;background:var(--bg4);border:1px solid var(--border2);border-radius:6px;padding:6px 10px;font-family:'Geist',system-ui,sans-serif;font-size:13px;color:var(--text);width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}
.tpc-sol-amount:focus{outline:none;border-color:var(--green)}
.tpc-sol-recip{font-family:'Geist',system-ui,sans-serif;font-size:11px;color:var(--muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tpc-sol-btns{display:flex;gap:8px;margin-top:4px}
.tpc-sol-send{background:var(--green);border:none;border-radius:6px;padding:7px 18px;font-family:'Geist',system-ui,sans-serif;font-size:10px;font-weight:700;color:var(--text);cursor:pointer;transition:opacity .15s}
.tpc-sol-send:hover:not(:disabled){opacity:.82}
.tpc-sol-send:disabled{opacity:.45;cursor:default}
.tpc-sol-cancel{background:transparent;border:1px solid var(--border2);border-radius:6px;padding:7px 12px;font-family:'Geist',system-ui,sans-serif;font-size:10px;color:var(--muted);cursor:pointer;transition:all .15s}
.tpc-sol-cancel:hover{border-color:var(--red);color:var(--red)}
.tpc-sol-msg{font-family:'Geist',system-ui,sans-serif;font-size:11px;margin-top:8px;min-height:16px}
.tpc-sol-msg.ok{color:var(--green)}
.tpc-sol-msg.err{color:var(--red)}
.tpc-divider{border:none;border-top:1px solid var(--border);margin:12px 0}
.tpc-social{display:flex;gap:20px;margin-bottom:14px}
.tpc-social-item{font-size:12px;color:var(--muted);cursor:default}
.tpc-social-item strong{color:var(--text);font-size:13px;font-family:'Geist',system-ui,sans-serif;margin-right:5px}
.tpc-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:14px;background:var(--bg3);border:1px solid var(--border);border-radius:9px;overflow:hidden;border-top:1px solid var(--border2);padding-top:16px}
.tpc-stat{text-align:center;padding:10px 4px;border-right:1px solid var(--border)}
.tpc-stat:last-child{border-right:none}
.tpc-stat-val{font-size:12px;font-weight:700;color:var(--text);margin-bottom:3px}
.tpc-stat-lbl{font-size:8px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.tpc-trades-hdr{font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.tpc-trade-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}
.tpc-trade-row:last-child{border-bottom:none}
.tpc-trade-badge{font-family:'Geist',system-ui,sans-serif;font-size:7px;font-weight:700;padding:2px 5px;border-radius:3px;letter-spacing:.06em;flex-shrink:0}
.tpc-trade-token{font-size:11px;font-weight:700;color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tpc-trade-pnl{font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0}
.tpc-trade-time{font-size:9px;color:var(--muted);flex-shrink:0}
.tpc-loading{text-align:center;padding:40px 0;font-size:11px;color:var(--muted);letter-spacing:.08em}

/* ── TRADER PROFILE FULL PAGE VIEW ── */
#tv-profile-view{padding:0 0 40px}
.tvp-back-bar{padding:12px 0 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tvp-back-btn{background:transparent;border:1px solid var(--border2);color:var(--muted);font-family:'Geist',system-ui,sans-serif;font-size:11px;padding:5px 12px;border-radius:6px;cursor:pointer;transition:all .15s}
.tvp-back-btn:hover{border-color:var(--text);color:var(--text)}
/* avatar */
.tvp-avatar{width:64px;height:64px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;overflow:hidden;background:var(--bg4);border:2px solid #000000;position:relative}
.tvp-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.tvp-avatar-active{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,0,0,.2),0 0 14px rgba(0,0,0,.15)}
/* header card */
.tvp-card{background:var(--bg2);backdrop-filter:blur(10px);border:1px solid var(--border2);border-radius:14px;padding:28px;margin-bottom:14px;box-shadow:0 4px 32px rgba(0,0,0,.35)}
.tvp-top{display:flex;align-items:flex-start;gap:18px}
.tvp-meta{flex:1;min-width:0}
.tvp-username{font-size:22px;font-weight:800;color:var(--text);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}
.tvp-wallet{font-size:11px;color:var(--muted);font-family:'JetBrains Mono','Share Tech Mono',monospace;margin-bottom:8px;letter-spacing:.04em}
.tvp-social-row{display:flex;flex-wrap:wrap;gap:0;font-size:11px;color:var(--muted);margin-top:8px;align-items:center}
.tvp-social-item{display:inline-flex;align-items:center;gap:4px;padding-right:12px;margin-right:12px;border-right:1px solid var(--border2);line-height:1.4}
.tvp-social-item:last-child{border-right:none;padding-right:0;margin-right:0}
.tvp-social-item strong{color:var(--text);font-family:'Geist',system-ui,sans-serif;font-size:12px;font-weight:700;margin-right:2px}
.tvp-social-icon{font-size:10px;opacity:.55}
/* action buttons: column stack, pill, fixed width */
.tvp-actions{display:flex;flex-direction:column;gap:7px;flex-shrink:0;padding-top:2px;min-width:140px}
.tpc-follow-btn,.tpc-copy-btn,.tpc-stop-copy-btn,.tpc-sol-btn,.tpc-msg-btn{width:140px;border-radius:24px;padding:8px 14px;font-family:'Geist',system-ui,sans-serif;font-size:10px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap;text-align:center;display:block;box-sizing:border-box;border:1px solid transparent}
.tpc-follow-btn{background:transparent;border-color:rgba(255,255,255,.2);color:var(--text)}
.tpc-follow-btn:hover{border-color:rgba(0,0,0,.45);color:var(--green)}
.tpc-follow-btn.following{border-color:var(--text);background:var(--bg2);color:var(--text)}
.tpc-follow-btn.following:hover{border-color:var(--red);background:rgba(255,0,0,.1);color:var(--red)}
.btn-follow{background:transparent;color:#fff;border:1px solid #444;padding:8px 20px;border-radius:6px;font-weight:bold;cursor:pointer;transition:all .2s ease}
.btn-follow.is-following{background:#767676;color:#ffffff;border:none;box-shadow:0 0 12px rgba(118,118,118,.4)}
.btn-follow.is-following::before{content:"✓ "}
.tpc-copy-btn{background:rgba(118,118,118,.14);border-color:rgba(118,118,118,.45);color:var(--muted)}
.tpc-copy-btn:hover{background:rgba(118,118,118,.26);border-color:var(--muted)}
.tpc-stop-copy-btn{background:rgba(255,0,0,.14);border-color:rgba(255,0,0,.45);color:var(--red)}
.tpc-stop-copy-btn:hover{background:rgba(255,0,0,.26);border-color:var(--red)}
.tpc-sol-btn{background:transparent;border-color:var(--border2);color:var(--green)}
.tpc-sol-btn:hover{border-color:var(--green);background:rgba(0,0,0,.07)}
.tpc-msg-btn{background:rgba(136,136,136,.08);border-color:rgba(136,136,136,.4);color:var(--blue)}
.tpc-msg-btn:hover{background:rgba(136,136,136,.18);border-color:var(--blue)}
/* 5-tile stats bar */
.tvp-stats5{display:grid;grid-template-columns:repeat(5,1fr);background:var(--bg2);backdrop-filter:blur(10px);border:1px solid var(--border2);border-radius:12px;overflow:hidden;margin-bottom:14px;box-shadow:0 4px 24px rgba(0,0,0,.3);border-top:1px solid var(--border2);padding-top:16px}
.tvp-stat5{text-align:center;padding:16px 8px;border-right:1px solid var(--border2)}
.tvp-stat5:last-child{border-right:none}
.tvp-stat5-val{font-size:16px;font-weight:700;color:var(--text);margin-bottom:4px;font-family:'JetBrains Mono',monospace;letter-spacing:.01em;line-height:1.1}
.tvp-stat5-lbl{font-size:8px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
/* ── FOLLOWERS / FOLLOWING PANEL ── */
.tvp-follow-panel{background:var(--bg2);backdrop-filter:blur(10px);border:1px solid var(--border2);border-radius:12px;margin-bottom:14px;overflow:hidden}
.tvp-fp-tabs{display:flex;gap:8px;padding:12px 14px 11px;border-bottom:1px solid var(--border2)}
.tvp-fp-tab{background:transparent;border:1px solid var(--border2);border-radius:20px;padding:5px 16px;font-family:'Geist',system-ui,sans-serif;font-size:10px;color:var(--muted);cursor:pointer;transition:all .15s;white-space:nowrap}
.tvp-fp-tab.active{border-color:var(--green);background:rgba(0,0,0,.1);color:var(--green)}
.tvp-fp-tab:hover:not(.active){border-color:rgba(255,255,255,.3);color:var(--text)}
.tvp-fp-list{max-height:300px;overflow-y:auto;padding:4px 0}
.tvp-fp-row{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;transition:background .12s}
.tvp-fp-row:hover{background:rgba(0,0,0,.03)}
.tvp-fp-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;overflow:hidden;position:relative;border:1px solid var(--border2)}
.tvp-fp-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.tvp-fp-info{flex:1;min-width:0}
.tvp-fp-name{font-size:11px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tvp-fp-wallet{font-size:9px;color:var(--muted);font-family:'JetBrains Mono','Share Tech Mono',monospace;white-space:nowrap;margin-top:1px}
.tvp-fp-pnl{font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;white-space:nowrap;flex-shrink:0;min-width:72px;text-align:right}
/* ── FOLLOW STATE INDICATORS ── */
.tvp-fp-row.is-following{background:rgba(247,185,85,.06);border-left:3px solid var(--accent);padding-left:11px}
.tvfl-row.is-following{background:rgba(0,0,0,.04);border-left:3px solid #000000;padding-left:13px}
.fstate-follows-you{display:inline-block;font-size:8px;font-family:'Share Tech Mono',monospace;background:rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.25);border-radius:4px;color:rgba(0,0,0,.65);padding:1px 5px;margin-left:5px;letter-spacing:.04em;white-space:nowrap;vertical-align:middle}
.fstate-mutual{display:inline-block;font-size:8px;font-family:'Share Tech Mono',monospace;background:rgba(0,0,0,.18);border:1px solid rgba(0,0,0,.5);border-radius:4px;color:var(--green);padding:1px 5px;margin-left:5px;letter-spacing:.04em;white-space:nowrap;vertical-align:middle;font-weight:700}
.fstate-following-pill{display:inline-block;font-size:8px;font-family:'Share Tech Mono',monospace;background:rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.3);border-radius:4px;color:var(--green);padding:1px 6px;margin-left:6px;letter-spacing:.04em;white-space:nowrap;vertical-align:middle}
.tvp-fp-empty{text-align:center;padding:28px 16px;font-size:11px;color:var(--muted);letter-spacing:.06em}
.tvp-fp-loading{text-align:center;padding:20px;font-size:10px;color:var(--muted);letter-spacing:.06em}
/* sections below */
.tvp-section{background:var(--bg2);backdrop-filter:blur(10px);border:1px solid var(--border2);border-radius:12px;padding:16px;margin-bottom:14px}
.tvp-section-hdr{font-size:9px;font-family:'Geist',system-ui,sans-serif;font-weight:700;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.tvp-call-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg2);border:1px solid var(--border2);border-radius:10px;margin-bottom:6px}
.tvp-call-token{font-weight:700;font-size:13px;color:var(--text);min-width:70px}
.tvp-call-multi{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:14px}
.tvp-call-prices{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);margin-left:auto}
.tvp-table{width:100%;border-collapse:collapse;font-family:'Geist',system-ui,sans-serif;font-size:11px}
.tvp-table th{text-align:left;font-size:8px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding:0 6px 8px;font-weight:400;white-space:nowrap}
.tvp-table td{padding:7px 6px;border-top:1px solid var(--border2);white-space:nowrap;color:var(--text)}
.tvp-table tr:first-child td{border-top:none}
.tvp-empty{font-size:11px;color:var(--muted);padding:14px 0;text-align:center;letter-spacing:.08em}
.tvp-loading{text-align:center;padding:48px 0;font-size:11px;color:var(--muted);letter-spacing:.08em}
/* mobile */
@media(max-width:768px){
  .tvp-top{flex-wrap:wrap}
  .tvp-actions{flex-direction:row;flex-wrap:wrap;min-width:unset;width:100%;padding-top:0}
  .tpc-follow-btn,.tpc-copy-btn,.tpc-stop-copy-btn,.tpc-sol-btn,.tpc-msg-btn{flex:1;min-width:calc(50% - 4px);width:auto}
  .tvp-stats5{grid-template-columns:repeat(2,1fr)}
  .tvp-stat5:nth-child(2){border-right:none}
  .tvp-stat5:nth-child(4){border-right:none}
  .tvp-stat5:nth-child(1),.tvp-stat5:nth-child(2),.tvp-stat5:nth-child(3),.tvp-stat5:nth-child(4){border-bottom:1px solid var(--border2)}
  .tvp-stat5:nth-child(5){grid-column:1/-1;border-right:none}
  .tv-me-chips{gap:8px}
  .tv-me-row{flex-wrap:wrap}
  .tv-me-profile-btn{width:100%}
  #dash-profile-bar{flex-wrap:wrap}
  .dpb-view-btn{width:100%}
  .tv-back-btn,.adash-back-btn,.tvp-back-btn{position:static!important;display:inline-block;margin-bottom:8px}
}

/* ── DAILY LEADERBOARD ── */
.lb-panel{background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:16px;margin-bottom:1.25rem}
.lb-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.lb-list{display:flex;flex-direction:column;gap:6px}
.lb-empty{text-align:center;padding:20px;font-size:11px;color:var(--muted);letter-spacing:.08em}
.lb-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg3)}
.lb-row.lb-me{border-left:3px solid var(--green);padding-left:8px}
.lb-rank{width:22px;text-align:center;font-size:11px;font-weight:700;flex-shrink:0;font-family:'Geist',system-ui,sans-serif}
.lb-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;overflow:hidden;background:var(--bg4);border:1px solid var(--border2);position:relative}
.lb-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.lb-info{flex:1;min-width:0}
.lb-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-meta{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-pnl{font-size:11px;font-weight:700;font-family:'JetBrains Mono',monospace;text-align:right;flex-shrink:0;white-space:nowrap}
@media(max-width:480px){.lb-pnl{font-size:9px}.lb-rank{width:18px}}

/* ── INLINE ADMIN PANEL ── */
.iadmin-panel{
  background:rgba(10,13,20,.92);
  border:1px solid rgba(118,118,118,.3);
  border-top:2px solid rgba(118,118,118,.55);
  border-radius:14px;
  padding:20px;
  margin-bottom:1.25rem;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 0 0 1px rgba(118,118,118,.06),0 8px 40px rgba(0,0,0,.5),0 0 60px rgba(118,118,118,.04);
}
.iadmin-panel>.panel-hdr{
  font-family:'Orbitron',monospace;
  font-size:12px;
  font-weight:700;
  color:#aaaaaa;
  letter-spacing:.1em;
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(118,118,118,.15);
  display:flex;align-items:center;gap:8px;
}
.iadmin-panel>.panel-hdr::before{background:#767676}
.iadmin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:640px){.iadmin-grid{grid-template-columns:1fr}}

.iadmin-card{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(118,118,118,.12);
  border-radius:12px;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:0;
  transition:border-color .15s;
  min-width:0;
  overflow-x:auto;
}
.iadmin-card:hover{border-color:rgba(118,118,118,.22)}

.iadmin-card-hdr{
  font-family:'Inter',sans-serif;
  font-size:9px;
  font-weight:700;
  color:#aaaaaa;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin-bottom:14px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(118,118,118,.1);
  display:flex;align-items:center;justify-content:space-between;
}

.iadmin-stat{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;gap:8px}
.iadmin-stat:last-of-type{margin-bottom:0}
.iadmin-stat-lbl{font-size:10px;color:var(--muted);font-family:'Inter',sans-serif}
.iadmin-stat-val{
  font-family:'Orbitron',monospace;
  font-size:14px;
  font-weight:700;
  color:#aaaaaa;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}

.iadmin-collect-btn{
  width:100%;
  margin-top:14px;
  background:rgba(118,118,118,.08);
  border:1px solid rgba(118,118,118,.35);
  border-radius:8px;
  padding:9px;
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:600;
  color:#aaaaaa;
  cursor:pointer;
  transition:all .15s;
  letter-spacing:.06em;
}
.iadmin-collect-btn:hover{background:rgba(118,118,118,.18);box-shadow:0 0 14px rgba(118,118,118,.15)}
.iadmin-collect-btn:disabled{opacity:.4;cursor:default}

.iadmin-table-wrap{
  overflow-y:auto;
  overflow-x:auto;
  max-height:190px;
  border:1px solid rgba(118,118,118,.1);
  border-radius:8px;
  margin-top:4px;
  flex:1;
}
.iadmin-rl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:520px){.iadmin-rl-grid{grid-template-columns:1fr}}
.iadmin-table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  font-size:10px;
}
.iadmin-table th{
  padding:8px 12px;
  text-align:left;
  color:#aaaaaa;
  font-family:'Inter',sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  border-bottom:2px solid rgba(118,118,118,.18);
  background:rgba(118,118,118,.05);
  position:sticky;top:0;z-index:1;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.iadmin-table td{
  padding:8px 12px;
  border-bottom:1px solid rgba(118,118,118,.05);
  color:#ffffff;
  cursor:pointer;
  font-size:10px;
  font-family:'Share Tech Mono',monospace;
  transition:background .1s;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.iadmin-table tbody tr:last-child td{border-bottom:none}
.iadmin-table tbody tr:hover td{background:rgba(118,118,118,.05);color:#ffffff}
.iadmin-table tbody tr.ia-sel td{background:rgba(118,118,118,.1);color:#ffffff}
/* blocked rows in rate table */
.iadmin-table tbody tr.ia-blocked td{background:rgba(255,0,0,.06);color:var(--red)}
.iadmin-table tbody tr.ia-blocked td:first-child{border-left:2px solid #2e2e2e}

.iadmin-sel-lbl{
  font-family:'Share Tech Mono',monospace;
  font-size:11px;
  color:var(--muted);
  margin-bottom:12px;
  min-height:1.5em;
  word-break:break-all;
  line-height:1.5;
}
.iadmin-action-btns{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:4px}
.iadmin-action-btn{
  background:transparent;
  border:1px solid rgba(118,118,118,.2);
  border-radius:8px;
  padding:9px 14px;
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:500;
  color:var(--muted);
  cursor:pointer;
  text-align:left;
  transition:all .15s;
  letter-spacing:.04em;
  display:flex;align-items:center;gap:6px;
}
.iadmin-action-btn:hover:not(:disabled){border-color:rgba(118,118,118,.6);color:#aaaaaa;background:rgba(118,118,118,.06)}
.iadmin-action-btn:disabled{opacity:.3;cursor:default}
.iadmin-action-btn.ia-danger{border-color:rgba(255,0,0,.22);color:rgba(255,0,0,.55)}
.iadmin-action-btn.ia-danger:hover:not(:disabled){border-color:var(--red);color:var(--red);background:rgba(255,0,0,.06)}

/* ── PROFILE COMMENTS ── */
.tvp-comments{margin-top:16px}
.tvp-comments-hdr{font-size:11px;color:var(--dim);letter-spacing:.12em;text-transform:uppercase;font-family:'Geist',system-ui,sans-serif;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.tvp-comment-input-row{display:flex;gap:8px;margin-bottom:12px}
.tvp-comment-input{flex:1;background:var(--bg2);border:1px solid var(--border2);border-radius:8px;padding:8px 12px;font-family:'Geist',system-ui,sans-serif;font-size:11px;color:var(--text);outline:none;resize:none;max-height:80px;line-height:1.4}
.tvp-comment-input:focus{border-color:var(--text)}
.tvp-comment-post-btn{background:var(--green);color:var(--text);border:none;border-radius:8px;padding:8px 14px;font-family:'Geist',system-ui,sans-serif;font-weight:700;font-size:9px;cursor:pointer;flex-shrink:0;transition:filter .15s;align-self:flex-end}
.tvp-comment-post-btn:hover{filter:brightness(1.1)}
.tvp-comment-post-btn:disabled{opacity:.4;cursor:not-allowed}
.tvp-comments-list{display:flex;flex-direction:column;gap:8px}
.tvp-comment-card{background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:10px 12px;display:flex;gap:10px;align-items:flex-start}
.tvp-comment-av{width:28px;height:28px;border-radius:50%;background:var(--bg);border:1px solid var(--border2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--blue)}
.tvp-comment-body{flex:1;min-width:0}
.tvp-comment-meta{display:flex;align-items:center;gap:6px;margin-bottom:3px;flex-wrap:wrap}
.tvp-comment-author{font-size:10px;font-weight:700;color:var(--text)}
.tvp-comment-time{font-size:9px;color:var(--muted)}
.tvp-comment-text{font-size:11px;color:var(--dim);line-height:1.5;word-break:break-word}
.tvp-comment-del{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:11px;padding:0 0 0 4px;transition:color .12s;flex-shrink:0;line-height:1}
.tvp-comment-del:hover{color:var(--red)}
.tvp-comments-empty{font-size:11px;color:var(--muted);text-align:center;padding:16px 0;opacity:.6}
.tvp-comment-err{font-size:10px;color:var(--red);margin-top:4px}

/* ── MESSAGES ── */
/* #dash-messages is a flex sibling of .wrap inside .app-body */
#dash-messages{display:none;flex:1;min-width:0;height:calc(100vh - 48px);overflow:hidden}
.dm-layout{
  display:flex;
  height:100%;
  overflow:hidden;
}
/* ─ Sidebar ─ */
.dm-sidebar{
  width:300px;
  flex-shrink:0;
  background:#1c1c1c;
  border-right:1px solid #2e2e2e;
  display:flex;
  flex-direction:column;
}
.dm-sidebar-hdr{
  padding:20px 20px 16px;
  border-bottom:1px solid #2e2e2e;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.dm-sidebar-hdr-title{
  font-family:'Orbitron',monospace;
  font-size:11px;
  font-weight:700;
  color:#ffffff;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.dm-sidebar-close{
  background:transparent;
  border:none;
  color:#aaaaaa;
  font-size:16px;
  cursor:pointer;
  padding:4px;
  line-height:1;
  border-radius:6px;
  transition:color .15s,background .15s;
}
.dm-sidebar-close:hover{color:#aabdd4;background:rgba(0,0,0,.03)}
.dm-search-wrap{padding:10px 14px 0;position:relative;flex-shrink:0}
.dm-search-input{
  width:100%;
  box-sizing:border-box;
  background:#1c1c1c;
  border:none;
  border-radius:8px;
  padding:10px 12px;
  font-family:'Share Tech Mono',monospace;
  font-size:12px;
  color:#ffffff;
  outline:none;
  transition:background .15s;
}
.dm-search-input::placeholder{color:#aaaaaa}
.dm-search-input:focus{background:#1e2840}
.dm-search-results{
  position:absolute;
  top:calc(100% + 2px);
  left:14px;
  right:14px;
  background:#1c1c1c;
  border:1px solid #2e2e2e;
  border-radius:8px;
  overflow:hidden;
  z-index:50;
  box-shadow:0 8px 24px rgba(0,0,0,.6);
}
.dm-search-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  cursor:pointer;
  border-bottom:1px solid #111926;
  transition:background .12s;
}
.dm-search-row:last-child{border-bottom:none}
.dm-search-row:hover{background:#131b28}
.dm-search-av{
  width:32px;
  height:32px;
  border-radius:50%;
  background:#1c1c1c;
  border:1px solid #2e2e2e;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:700;
  color:#aaaaaa;
  overflow:hidden;
}
.dm-search-av img{width:100%;height:100%;object-fit:cover}
.dm-search-info{flex:1;min-width:0}
.dm-search-name{font-size:12px;font-weight:700;color:#ffffff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-search-wallet{font-size:10px;color:#aaaaaa;font-family:'Share Tech Mono',monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-convo-list{flex:1;overflow-y:auto;margin-top:10px}
.dm-convo-list::-webkit-scrollbar{width:4px}
.dm-convo-list::-webkit-scrollbar-track{background:transparent}
.dm-convo-list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:2px}
.dm-convo-wrap{position:relative;overflow:hidden}
.dm-convo-delete-btn{position:absolute;top:0;right:0;height:100%;width:84px;background:#ff3b3b;color:#fff;border:none;font-size:12px;font-weight:700;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation}
.dm-convo{
  display:flex;
  align-items:center;
  gap:13px;
  padding:14px 18px;
  cursor:pointer;
  border-bottom:1px solid #111926;
  transition:background .12s;
  position:relative;
  background:#1c1c1c;
  touch-action:pan-y;
}
.dm-convo:hover{background:#131b28}
.dm-convo-del-icon{flex-shrink:0;width:28px;height:28px;padding:6px;margin-left:2px;border:none;background:transparent;color:#7a828f;border-radius:6px;display:none;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;box-sizing:border-box;transition:opacity .12s,background .12s,color .12s}
.dm-convo-del-icon svg{width:16px;height:16px;flex-shrink:0}
@media (hover:hover) and (pointer:fine){
  .dm-convo-del-icon{display:flex}
  .dm-convo:hover .dm-convo-del-icon{opacity:1;pointer-events:auto}
  .dm-convo-del-icon:hover{background:rgba(255,59,59,.14);color:#ff3b3b}
}
.dm-convo-del-popover{position:fixed;z-index:800;display:none;min-width:190px;background:#101216;border:1px solid rgba(255,59,59,.35);border-radius:10px;padding:12px;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.dm-convo-del-popover.open{display:block}
.dm-convo-del-popover-text{font-size:13px;color:#c7cbd1;margin-bottom:10px}
.dm-convo-del-popover-actions{display:flex;justify-content:flex-end;gap:8px}
.dm-convo-del-popover-actions button{border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}
.dm-convo-del-cancel{background:#1a1d23;color:#c7cbd1}
.dm-convo-del-cancel:hover{background:#22262e}
.dm-convo-del-confirm{background:#ff3b3b;color:#fff}
.dm-convo-del-confirm:hover{background:#e63333}
.dm-convo.active{
  background:rgba(0,0,0,.05);
  border-left:3px solid #000000;
  padding-left:15px;
}
.dm-convo-av-wrap{position:relative;flex-shrink:0}
.dm-convo-av{
  width:42px;
  height:42px;
  border-radius:50%;
  background:#1c1c1c;
  border:1.5px solid #1e3050;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  color:#aaaaaa;
  overflow:hidden;
}
.dm-convo-av img{width:100%;height:100%;object-fit:cover}
/* Dot lives OUTSIDE .dm-convo-av (a sibling in .dm-convo-av-wrap, not a child) --
   that div has overflow:hidden to clip the avatar image to a circle, which would
   also clip a corner-positioned badge sitting at its bounding-box edge. */
.dm-online-dot{position:absolute;bottom:0;right:0;width:6px;height:6px;border-radius:50%;background:#3ad29b;border:2px solid #1c1c1c}
.dm-convo:hover .dm-online-dot{border-color:#131b28}
.dm-convo-info{flex:1;min-width:0}
.dm-convo-name{
  font-size:13px;
  font-weight:700;
  color:#ffffff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-bottom:3px;
}
.dm-convo-preview{
  font-size:11px;
  color:#666;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dm-convo-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
  flex-shrink:0;
}
.dm-convo-time{font-size:10px;color:#aaaaaa}
.dm-unread-dot{
  background:#ff1744;
  color:#fff;
  font-size:9px;
  font-weight:700;
  border-radius:10px;
  padding:2px 6px;
  min-width:18px;
  text-align:center;
  line-height:1.5;
}
.dm-empty-convo{
  padding:56px 28px;
  text-align:center;
  color:#2e3d52;
  font-size:12px;
  line-height:2.1;
  letter-spacing:.04em;
}
/* ─ Chat area ─ */
.dm-chat{flex:1;display:flex;flex-direction:column;min-width:0;background:#0a0e14}
.dm-chat-hdr{
  padding:16px 22px;
  border-bottom:1px solid #2e2e2e;
  display:flex;
  align-items:center;
  gap:13px;
  flex-shrink:0;
  background:#1c1c1c;
}
.dm-chat-hdr-av{
  width:38px;
  height:38px;
  border-radius:50%;
  background:#1c1c1c;
  border:1.5px solid #1e3050;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  color:#aaaaaa;
  overflow:hidden;
  flex-shrink:0;
}
.dm-chat-hdr-av img{width:100%;height:100%;object-fit:cover}
.dm-chat-hdr-info{flex:1;min-width:0}
.dm-chat-hdr-name{
  font-size:14px;
  font-weight:700;
  color:#ffffff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dm-chat-hdr-wallet{
  font-size:10px;
  color:#aaaaaa;
  margin-top:2px;
  font-family:'Share Tech Mono',monospace;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dm-messages{
  flex:1;
  overflow-y:auto;
  padding:22px 24px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.dm-messages::-webkit-scrollbar{width:4px}
.dm-messages::-webkit-scrollbar-track{background:transparent}
.dm-messages::-webkit-scrollbar-thumb{background:#1c1c1c;border-radius:2px}
.dm-msg{display:flex;flex-direction:column;max-width:68%;position:relative}
.dm-msg.mine{align-self:flex-end;align-items:flex-end}
.dm-msg.theirs{align-self:flex-start;align-items:flex-start}
.dm-del-btn{display:none;position:absolute;top:3px;right:3px;background:none;border:none;cursor:pointer;color:#aaaaaa;font-size:12px;line-height:1;padding:3px 4px;border-radius:4px;transition:color .15s;z-index:2}
.dm-del-btn:hover{color:#ff1744}
.dm-edit-btn{display:none;position:absolute;top:3px;right:22px;background:none;border:none;cursor:pointer;color:#aaaaaa;font-size:12px;line-height:1;padding:3px 4px;border-radius:4px;transition:color .15s;z-index:2}
.dm-edit-btn:hover{color:#f7b955}
.dm-msg.mine:hover .dm-del-btn,.dm-msg.mine:hover .dm-edit-btn{display:block}
.dm-edited{font-size:10px;color:var(--muted);margin-left:4px;opacity:.7}
.dm-bubble{
  padding:10px 15px;
  border-radius:16px;
  font-size:13px;
  line-height:1.55;
  word-break:break-word;
}
.dm-msg.mine .dm-bubble{
  background:#1c1c1c;
  color:#fff;
  border:none;
  border-radius:16px 16px 4px 16px;
}
.dm-msg.theirs .dm-bubble{
  background:#2a2a2a;
  color:#fff;
  border:none;
  border-radius:16px 16px 16px 4px;
}
.dm-msg-time{font-size:10px;color:#aaaaaa;margin-top:4px}
.dm-msg.trade-share{max-width:80%}
.dm-trade-card{
  background:#1c1c1c;
  border:1px solid #2e2e2e;
  border-radius:12px;
  padding:16px;
  min-width:220px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.dm-trade-card.closed{
  border-color:#2e2e2e;
  opacity:.6;
}
.dm-trade-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dm-trade-card-symbol{
  font-size:15px;
  font-weight:700;
  color:#ffffff;
  letter-spacing:.04em;
}
.dm-trade-card-closed-badge{
  font-size:10px;
  color:#5a7090;
  background:#1c1c1c;
  border:1px solid #2e2e2e;
  border-radius:6px;
  padding:2px 8px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.dm-trade-card-rows{display:flex;flex-direction:column;gap:5px}
.dm-trade-card-row{display:flex;justify-content:space-between;gap:16px;font-size:12px}
.dm-trade-card-lbl{color:#4a6080;letter-spacing:.03em}
.dm-trade-card-val{color:#c0d8f0;font-variant-numeric:tabular-nums}
.dm-trade-card-val.pos{color:#ffffff;font-weight:700}
.dm-trade-card-val.neg{color:#ff1744}
.dm-copy-btn{
  width:100%;
  padding:10px 0;
  background:rgba(0,0,0,.15);
  border:1px solid rgba(0,0,0,.4);
  border-radius:8px;
  color:#ffffff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  cursor:pointer;
  transition:background .15s;
  text-align:center;
}
.dm-copy-btn:hover:not(:disabled){background:rgba(0,0,0,.25)}
.dm-copy-btn:disabled{opacity:.5;cursor:default}
.dm-copy-btn.success{background:rgba(0,0,0,.1);color:#ffffff;border-color:rgba(0,0,0,.3)}
.dm-copy-err{font-size:11px;color:#ff1744;text-align:center;margin-top:-4px}
#dm-chat-active{flex:1;flex-direction:column;min-height:0}
.dm-chat-empty{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  color:#2e3d52;
  font-size:13px;
  gap:10px;
  letter-spacing:.03em;
}
.dm-chat-placeholder{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:14px;
}
.dm-chat-placeholder-icon{font-size:44px;opacity:.18;line-height:1}
.dm-chat-placeholder-text{
  font-size:13px;
  color:#2e3d52;
  letter-spacing:.04em;
}
/* ─ Input row ─ */
.dm-input-row{
  display:flex;
  gap:10px;
  padding:16px 20px;
  border-top:1px solid #2e2e2e;
  flex-shrink:0;
  background:#1c1c1c;
  align-items:flex-end;
}
.dm-input{
  flex:1;
  background:#1c1c1c;
  border:1px solid #2e2e2e;
  border-radius:8px;
  padding:11px 15px;
  font-family:'Share Tech Mono',monospace;
  font-size:13px;
  color:#fff;
  outline:none;
  resize:none;
  line-height:1.45;
  max-height:100px;
  transition:border-color .15s,background .15s;
}
.dm-input::placeholder{color:#2a3a50}
.dm-input:focus{border-color:rgba(0,0,0,.35);background:#1c1c1c}
.dm-send-btn{
  background:#141414;
  color:#ffffff;
  border:none;
  border-radius:10px;
  padding:11px 22px;
  font-family:'Orbitron',monospace;
  font-weight:700;
  font-size:10px;
  letter-spacing:.08em;
  cursor:pointer;
  flex-shrink:0;
  align-self:flex-end;
  height:42px;
  transition:filter .15s,transform .1s;
}
.dm-send-btn:hover:not(:disabled){filter:brightness(1.12)}
.dm-send-btn:active:not(:disabled){transform:scale(.96)}
.dm-send-btn:disabled{opacity:.35;cursor:not-allowed}
.dm-emoji-btn{background:none;border:none;cursor:pointer;font-size:18px;padding:0 2px;height:42px;display:flex;align-items:center;flex-shrink:0;opacity:.6;transition:opacity .15s;align-self:flex-end}
.dm-emoji-btn:hover{opacity:1}
.dm-emoji-wrap{position:relative;flex-shrink:0;align-self:flex-end}
.dm-emoji-picker{position:absolute;bottom:calc(100% + 8px);right:0;background:#1c1f26;border:1px solid #2e2e2e;border-radius:12px;padding:8px;display:none;flex-direction:column;gap:6px;z-index:300;width:264px;box-shadow:0 8px 24px rgba(0,0,0,.55)}
.dm-emoji-picker button,.fc-reply-palette button{background:none;border:none;cursor:pointer;font-size:18px;padding:6px;border-radius:6px;transition:background .1s;line-height:1.4}
.dm-emoji-picker button:hover,.fc-reply-palette button:hover{background:rgba(255,255,255,.08)}
.emoji-picker-search{width:100%;box-sizing:border-box;background:#101216;border:1px solid #21252c;border-radius:8px;padding:6px 8px;color:#eef1f5;font-size:13px;outline:none}
.emoji-picker-search::placeholder{color:#565d68}
.emoji-picker-search:focus{border-color:#f7b955}
.emoji-picker-tabs{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;flex-shrink:0;padding-bottom:2px}
.emoji-picker-tabs::-webkit-scrollbar{display:none}
.emoji-picker-tabs .emoji-picker-tab{background:none;border:none;cursor:pointer;font-size:16px;padding:5px 7px;border-radius:6px;opacity:.5;flex-shrink:0;line-height:1.4;min-width:28px;text-align:center}
.emoji-picker-tabs .emoji-picker-tab:hover{opacity:.85;background:rgba(255,255,255,.06)}
.emoji-picker-tabs .emoji-picker-tab.active{opacity:1;background:rgba(247,185,85,.14)}
.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;max-height:180px;overflow-y:auto}
.emoji-picker-grid button{font-size:18px;padding:5px 0;text-align:center}
.emoji-picker-empty{color:#565d68;font-size:12px;text-align:center;padding:14px 4px;grid-column:1/-1}
.dm-img-btn{background:#1c1c1c;border:1px solid #2e2e2e;border-radius:6px;padding:6px 10px;color:#aaaaaa;cursor:pointer;font-size:16px;flex-shrink:0;align-self:flex-end;height:42px;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s;line-height:1}
.dm-img-btn:hover{color:#ffffff;border-color:#aaaaaa}
.dm-img-btn.loading{pointer-events:none;opacity:.6}
.dm-img-spinner{display:inline-block;width:14px;height:14px;border:2px solid #444444;border-top-color:#aaaaaa;border-radius:50%;animation:dmSpin .6s linear infinite}
@keyframes dmSpin{to{transform:rotate(360deg)}}
.dm-bubble-img{background:transparent!important;padding:0!important;border:none!important;box-shadow:none!important}
.dm-bubble-img img{width:auto;height:auto;max-width:min(280px,72vw);max-height:70vh;object-fit:contain;border-radius:12px;cursor:pointer;display:block}
.dm-hdr-back{
  display:none;
  background:transparent;
  border:none;
  color:#ffffff;
  font-size:18px;
  cursor:pointer;
  padding:0 10px 0 0;
  flex-shrink:0;
  line-height:1;
}
/* unread badge on nav item */
.nav-msg-badge{
  background:#ff1744;
  color:#fff;
  font-size:9px;
  font-weight:700;
  border-radius:8px;
  padding:1px 5px;
  min-width:16px;
  text-align:center;
  line-height:1.5;
  display:none;
}
@media(max-width:768px){
  /* ─ Messages full-page on mobile ─ */
  /* dvh = dynamic viewport height: shrinks when keyboard opens so input stays above keyboard */
  #dash-messages{height:calc(100vh - 48px);height:calc(100dvh - 48px)}
  /* ─ Layout: single column, no side-by-side ─ */
  .dm-layout{
    height:100%;
    min-height:0;
    flex-direction:column;
  }
  /* ─ Sidebar: full width, full height by default ─ */
  .dm-sidebar{
    width:100%;
    height:100%;
    max-height:100%;
    border-right:none;
    flex-shrink:0;
  }
  /* ─ Hide/show swap on conversation open ─ */
  .dm-layout.convo-open .dm-sidebar{display:none}
  .dm-layout:not(.convo-open) .dm-chat{display:none}
  .dm-layout.convo-open .dm-chat{
    display:flex;
    flex-direction:column;
    flex:1;
    width:100%;
    height:100%;
    min-height:0;
  }
  /* dm-chat-active must fill the chat column when open */
  .dm-layout.convo-open #dm-chat-active{
    display:flex!important;
    flex-direction:column;
    flex:1;
    min-height:0;
    overflow:hidden;
  }
  /* ─ Sidebar header ─ */
  .dm-sidebar-hdr{padding:14px 16px 12px}
  /* ─ Search bar: full width ─ */
  .dm-search-wrap{padding:8px 12px 0}
  .dm-search-input{font-size:13px}
  /* ─ Conversation items ─ */
  .dm-convo{padding:12px 16px}
  /* ─ Back button: visible, touch-friendly ─ */
  .dm-hdr-back{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    flex-shrink:0;
    border-radius:8px;
    font-size:18px;
    padding:0;
    margin-right:2px;
  }
  .dm-hdr-back:active{background:rgba(0,0,0,.12)}
  /* ─ Chat header ─ */
  .dm-chat-hdr{padding:12px 14px;gap:10px}
  .dm-chat-hdr-av{width:32px;height:32px;font-size:10px;flex-shrink:0}
  .dm-chat-hdr-name{font-size:13px}
  .dm-chat-hdr-wallet{font-size:9px}
  /* ─ Messages area: flex fill, no fixed input hack needed ─ */
  .dm-messages{
    display:block;
    flex:1;
    min-height:0;
    overflow-y:auto;
    padding:12px 14px;
    -webkit-overflow-scrolling:touch;
  }
  .dm-messages::after{content:'';display:table;clear:both}
  /* ─ Message rows: clear floats between each bubble ─ */
  .dm-msg{
    clear:both;
    display:flex;
    flex-direction:column;
    max-width:70%;
    position:relative;
    margin-bottom:8px;
  }
  .dm-msg.mine{float:right;align-items:flex-end}
  .dm-msg.theirs{float:left;align-items:flex-start}
  .dm-bubble{font-size:13px;padding:9px 12px}
  .dm-msg-time{text-align:inherit}
  .dm-msg.mine .dm-msg-time{text-align:right}
  .dm-msg.theirs .dm-msg-time{text-align:left}
  /* ─ Input row: flex-shrink:0 keeps it at bottom inside the flex column ─ */
  .dm-input-row{
    flex-shrink:0;
    background:#0f0f0f;
    padding:12px 16px;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));
    border-top:2px solid #2e2e2e;
  }
  .dm-input{flex:1;font-size:15px;padding:12px 16px;border-radius:20px;background:#1c1c1c;border:1px solid #2e2e2e;color:#fff}
  .dm-send-btn{background:#00e676;color:#000;font-weight:900;font-size:14px;padding:12px 20px;border-radius:20px;min-width:70px;flex-shrink:0;height:auto;letter-spacing:0}
  .dm-img-btn{flex-shrink:0;padding:10px;border-radius:50%}
  /* ─ Comments ─ */
  .tvp-comment-input-row{flex-direction:column;gap:6px}
  .tvp-comment-post-btn{width:100%;padding:10px;font-size:10px}
  .tvp-comment-card{padding:8px 10px}
  /* ─ Badge ─ */
  .nav-msg-badge{vertical-align:middle;margin-left:4px}
}

/* ── BOTTOM NAV (hidden on desktop, shown on mobile) ── */
#mob-bottom-nav{display:none}

/* ── MOBILE LAYOUT ── */
@media(max-width:768px){

  /* ── PREVENT HORIZONTAL OVERFLOW ── */
  body{max-width:100vw;overflow-x:hidden}

  /* ── NAVBAR ── */
  .brand-sub{display:none}
  .brand{font-size:13px}
  .hdr-btn,.hdr-btn-red{padding:5px 10px;font-size:9px;border-radius:20px}
  .header-right{gap:5px;flex-wrap:nowrap}
  .wallet-pill{padding:4px 9px;font-size:9px;flex-shrink:0}
  .nav-mobile-hide{display:none!important}

  /* ── SIDEBAR NAV: icon-only bottom bar on mobile (font-size:0 set in sidebar block) ── */

  /* ── TOUCH TARGETS: Apple HIG minimum 44×44pt ── */
  button{min-height:44px}
  .hdr-btn,.hdr-btn-red,.wallet-pill{min-height:36px}

  /* ── TOKEN CARDS: readable text + 44px BUY/SELL ── */
  .mkt-id .mkt-name{font-size:11px}
  .mkt-price{font-size:15px}
  .ps-buy-btn,.ps-sell-btn{min-height:44px;font-size:12px;padding:0}

  /* ── LAYOUT: all cards full width ── */
  .wrap{
    padding:0.75rem 0.75rem calc(78px + env(safe-area-inset-bottom,0px));
    max-width:100vw;
    overflow-x:hidden;
  }
  .stats{grid-template-columns:repeat(2,1fr);gap:8px}
  .panels{grid-template-columns:1fr}
  .stat,.market-panel,.perf-panel,.pos-panel,.pnlc-panel,
  .live-feed-panel,.panel,.ps-panel,.lb-panel,
  .iadmin-panel,.modes .mode{
    padding:14px;
    width:100%;
    box-sizing:border-box;
  }

  /* ── BALANCE STAT TILES ── */
  .stat-val{font-size:22px}
  .stat-lbl{font-size:11px}

  /* ── YOUR PROFILE BAR ── */
  #dash-profile-bar{padding:8px 12px;gap:10px;flex-wrap:wrap}
  .dpb-view-btn{width:100%;padding:7px 12px}
  .dpb-name{font-size:13px}
  .dpb-chip{font-size:10px}

  /* ── SOL BALANCE BUTTONS (row of 3) ── */
  .sol-action-row .sol-action-btn{
    flex:1;min-width:0;padding:7px 4px;font-size:10px;
  }

  /* ── BADGES ── */
  .badge-pill{font-size:10px;padding:2px 6px}

  /* ── TRADE MODE CARD ── */
  .mode{flex-direction:column;align-items:flex-start}
  .mode-right{width:100%}
  .mode-btn{width:100%;text-align:center}

  /* ── OPEN POSITIONS TABLE ── */
  #positions-panel .trade-table th:nth-child(5),
  #positions-panel .trade-table td:nth-child(5){display:none}
  .pos-panel{padding:14px}
  .trade-table-wrap{overflow-x:auto}
  .trade-table{font-size:9px;min-width:480px}
  .trade-table th{font-size:7px;padding:5px 8px}
  .trade-table td{padding:5px 8px}
  .pos-act-wrap{flex-wrap:wrap;gap:3px}
  .pos-sell-btn,.pos-chart-btn{font-size:9px;padding:2px 6px}

  /* ── PNL CHART ── */
  #pnlc-container{height:160px;width:100%}
  .slide-chart-wrap{height:160px}

  /* ── TRADER PROFILE TRADES TABLE ── */
  .tvp-section{overflow-x:auto}
  .tvp-table{min-width:500px}

  /* ── PUMP SCANNER ── */
  .ps-grid{grid-template-columns:1fr}

  /* ── LIVE ACTIVITY FEED ── */
  .live-feed-panel{padding:14px}
  .lf-amt{display:none}

  /* ── LEADERBOARD WIDGET ── */
  .lb-panel{padding:14px}
  .lb-row{padding:6px 8px;gap:7px}
  .lb-avatar{width:28px;height:28px;font-size:11px}
  .lb-name{font-size:10px}

  /* ── ADMIN PANEL ── */
  .iadmin-grid{grid-template-columns:1fr}
  .iadmin-card{padding:14px}
  .iadmin-card .iadmin-table-wrap{overflow-x:auto}
  .iadmin-card .iadmin-table{min-width:600px}
  .iadmin-action-btns{gap:10px}
  .iadmin-action-btn{width:100%;justify-content:flex-start}
  .iadmin-grid>[style*="grid-template-columns:repeat(3"]{
    grid-template-columns:1fr!important;
  }

  /* ── GENERIC BUTTONS ── */
  .hdr-btn,.hdr-btn-red,.bot-btn{min-width:0}
  .bottom{flex-direction:column}
  .bot-btn{width:100%;min-width:unset}

  /* ── MOBILE BOTTOM NAV ── */
  #mob-bottom-nav{
    display:flex;
    position:fixed;bottom:0;left:0;right:0;
    background:rgba(8,12,20,.97);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-top:1px solid #2e2e2e;
    z-index:8900;
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  .mob-nav-item{
    flex:1;display:flex;flex-direction:column;
    align-items:center;justify-content:center;
    gap:3px;padding:8px 4px;
    background:none;border:none;color:var(--muted);
    text-decoration:none;cursor:pointer;
    font-family:'Inter',sans-serif;
    transition:color .15s;
    -webkit-tap-highlight-color:transparent;
  }
  .mob-nav-item:hover,.mob-nav-item:active{color:var(--green)}
  .mob-nav-icon{font-size:18px;line-height:1;display:block}
  .mob-nav-lbl{font-size:9px;letter-spacing:.06em;text-transform:uppercase;font-family:'Share Tech Mono',monospace;line-height:1}

  /* ── ACTIVITY FEED ITEMS: stack vertically ── */
  .lf-item{flex-wrap:wrap;padding:8px 10px;gap:8px}
  .lf-right{width:100%;flex-direction:row;justify-content:space-between;align-items:center;min-width:0;padding-left:42px}
  .lf-time,.lf-tx{margin-top:0}

  /* ── INCINERATOR MODAL: reduce padding, buttons full width ── */
  .inc-card{padding:14px}
  .inc-ctrl-btn{width:100%;text-align:center}

  /* ── ONBOARDING BOX: full width, 16px padding ── */
  .ob-box{max-width:100%;padding:1rem}
  #step-1 .ob-btn{width:calc(50% - 5px);display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px}
  #step-1 .ob-btn.btn-skip{margin-left:10px}

  /* ── BLACKLIST MODAL: full width, table horizontally scrollable ── */
  #blacklist-modal .s-card{max-width:100%}
  .bl-mgr-table{min-width:460px}

  /* ── ADMIN PANEL: 2-col stat grid on mobile ── */
  .iadmin-grid{grid-template-columns:repeat(2,1fr)}
  .adash-overview{grid-template-columns:repeat(2,1fr)}

  /* ── PUMP SCANNER: smaller card padding ── */
  .ps-card{padding:10px}

  /* ── HEADINGS/DISPLAY VALUES ABOVE 28px: scale down ── */
  #s-sol{font-size:24px}
  .ob-orc{font-size:36px}
  .tips-slide-icon{font-size:24px}

  /* ── HEADER: hamburger | search (flex:1) | avatar ── */
  .header{padding:0 8px;gap:6px}
  .hamburger-btn{order:-1;flex-shrink:0}
  .logo-row{display:none}
  .hdr-search-wrap{display:flex!important;flex:1;max-width:none;position:relative}
  .hdr-search{font-size:15px;padding:10px 14px 10px 36px}
  .header-right{flex-shrink:0}
  .nav-menu-wrap{display:none!important}

  /* ── SEARCH DROPDOWN: fixed overlay, above everything ── */
  .hdr-search-dropdown{
    position:fixed!important;
    top:60px;
    left:8px;
    right:8px;
    width:auto!important;
    max-height:60vh;
    border-radius:12px;
    z-index:9999;
  }

  /* ── SEARCH RESULT ROWS: 48px touch targets ── */
  .hdr-sd-item{padding:14px 16px;min-height:48px;align-items:center}
  .hdr-sd-avatar{width:32px;height:32px;font-size:12px}
  .hdr-sd-name{font-size:14px}
  .hdr-sd-sub{font-size:12px}
  .hdr-sd-label{font-size:10px;letter-spacing:2px;padding:8px 16px 4px}
  .hdr-sd-empty{font-size:13px;padding:20px 16px}

  /* ── STATS BAR: 2×2 grid ── */
  .statsbar{display:grid!important;grid-template-columns:repeat(2,1fr)}

  /* ── MY PERFORMANCE: 3×2 grid ── */
  .perf-stats{grid-template-columns:repeat(3,1fr)!important}

  /* ── BOT BAR: stack vertically, full-width START button ── */
  .botbar{flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px}
  .botbar-left{flex-wrap:wrap}
  .botbar-center{justify-content:center}
  .botbar-right{display:flex}
  .botbar-btn{width:100%;text-align:center}
  .botbar-btn-start{width:100%}

  /* ── MARKET GRID: single column, no carousel ── */
  .market-grid{display:grid!important;grid-template-columns:1fr!important;flex-wrap:unset!important}
  .mkt-card{flex:unset!important;max-width:100%!important}

  /* ── PNL CHART: full width, 200px tall ── */
  #pnlc-container{height:200px!important;width:100%}

  /* ── COMMUNITY CHAT: dvh tracks visual viewport, shrinks with keyboard ── */
  #dash-community{height:calc(100vh - 48px);height:calc(100dvh - 48px)}
  .gc-back-btn{display:flex;align-items:center;justify-content:center}
  .gc-topbar{padding-left:8px}

  /* ── MODALS: never wider than viewport ── */
  .s-card{max-width:calc(100vw - 2rem)}
  .tips-box{max-width:calc(100vw - 2rem)}

  /* ── LEADERBOARD ROWS: prevent overflow ── */
  .lb-list{overflow:hidden}
  .lb-row{overflow:hidden;min-width:0}

  /* ── TRADER PROFILE TABLE ── */
  .tvp-section{overflow-x:auto}
  .tvp-table{min-width:460px}

  /* ── ALL TABLE WRAPPERS ── */
  .trade-table-wrap{overflow-x:auto}

  /* ── INCINERATOR / ADMIN TABLES ── */
  .iadmin-card .iadmin-table-wrap{overflow-x:auto}

}

@media(max-width:480px){
  /* ── STATS: single column on very small screens ── */
  .stats{grid-template-columns:1fr}
  .stat-val{font-size:18px}
  .brand{font-size:12px}

  /* ── POSITIONS TABLE: hide Opened column too ── */
  #positions-panel .trade-table th:nth-child(2),
  #positions-panel .trade-table td:nth-child(2){display:none}

  /* ── LEADERBOARD: hide meta subtitle ── */
  .lb-meta{display:none}

  /* ── NAVBAR: hide wallet address text, keep dot ── */
  #wallet-short{display:none}

  /* ── PNL CHART: even smaller ── */
  #pnlc-container{height:130px}
  .slide-chart-wrap{height:130px}

  /* ── STAT TILES IN PERFORMANCE PANEL: 2×3 on smallest screens ── */
  .perf-stats{grid-template-columns:repeat(2,1fr)!important}

  /* ── PUMP SCANNER + MARKET GRID: single column ── */
  .ps-grid{grid-template-columns:1fr}
  .market-grid{grid-template-columns:1fr!important}

  /* ── ALL PANELS: single column ── */
  .panels{grid-template-columns:1fr}

  /* ── TIGHTER PADDING ── */
  .wrap{padding:0.5rem 0.5rem calc(78px + env(safe-area-inset-bottom,0px))}

  /* ── TRADER PROFILE STAT TILES ── */
  .tvp-stat5-val{font-size:13px}

  /* ── FOLLOW LIST PNL COLUMN ── */
  .tvfl-pnl{min-width:60px}
  .tvp-fp-pnl{min-width:55px}
}

/* ── LOW SOL BALANCE MODAL ── */
#low-sol-modal{display:none;position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.82);backdrop-filter:blur(4px);align-items:center;justify-content:center}
#low-sol-modal.open{display:flex}
.low-sol-wrap{background:var(--bg2);border:1px solid var(--red);border-radius:12px;width:min(380px,90vw);padding:24px 22px;text-align:center}
.low-sol-icon{font-size:28px;margin-bottom:8px}
.low-sol-title{font-family:'Orbitron',monospace;font-size:13px;font-weight:700;color:var(--red);letter-spacing:.08em;margin-bottom:10px}
.low-sol-msg{font-size:12px;color:var(--dim);line-height:1.6;margin-bottom:16px}
.low-sol-addr-row{display:flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:8px 10px;margin-bottom:16px}
.low-sol-addr{flex:1;font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--text);word-break:break-all;text-align:left}
.low-sol-copy-btn{background:var(--bg4);border:1px solid var(--border2);color:var(--text);font-size:9px;font-weight:700;letter-spacing:.06em;padding:6px 10px;border-radius:6px;cursor:pointer;flex-shrink:0;font-family:'Orbitron',monospace}
.low-sol-copy-btn:hover{border-color:var(--green)}
.low-sol-close-btn{background:transparent;border:1px solid var(--border2);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;padding:8px 16px;border-radius:6px;cursor:pointer;width:100%;font-family:'Orbitron',monospace}
.low-sol-close-btn:hover{border-color:var(--text);color:var(--text)}

#update-banner{display:none;position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;background:var(--bg2);border:1px solid var(--border2);border-radius:12px;padding:12px 16px;align-items:center;gap:12px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px rgba(0,0,0,.5);animation:ub-slide .3s cubic-bezier(.16,.5,.3,1)}
@keyframes ub-slide{from{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
#update-banner .ub-icon{font-size:15px;flex-shrink:0;line-height:1}
#update-banner .ub-text{color:var(--text);font-family:'Geist',system-ui,sans-serif;font-size:13px;line-height:1.4}
#update-banner .ub-btn{flex-shrink:0;background:var(--accent);color:#0a0b0e;border:none;border-radius:8px;padding:7px 14px;font-family:'Geist',system-ui,sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:opacity .15s;white-space:nowrap}
#update-banner .ub-btn:hover{opacity:.88}
@media(max-width:767px){
  /* Clear the fixed bottom-nav bar (60px + safe-area inset) instead of sitting
     underneath it at a fixed 16-24px, which made the banner overlap it. */
  #update-banner{bottom:calc(78px + env(safe-area-inset-bottom,0px) + 16px)}
}
@media(max-width:480px){
  #update-banner{flex-direction:column;align-items:stretch;text-align:center;bottom:calc(78px + env(safe-area-inset-bottom,0px) + 16px);padding:14px 16px;gap:10px;width:calc(100vw - 32px)}
  #update-banner .ub-btn{width:100%;padding:9px 14px}
}

/* ═══════════════════════════════════════════
   DESIGN UPGRADE — glass cards, glow, Inter
   ═══════════════════════════════════════════ */

/* ── GLASS CARD EFFECT on all major panels ── */
.stat,.market-panel,.perf-panel,.pos-panel,.pnlc-panel,
.live-feed-panel,.panel,.ps-panel,
.lb-panel,.adash-wrap,.admin-panel,.modes .mode,
.ob-box,.swiz-card,.s-card,.audit-card{
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:var(--shadow-card);
}
/* card border upgrade */
.stat,.market-panel,.perf-panel,.pnlc-panel,
.live-feed-panel,.ps-panel,.lb-panel{
  border-color:var(--glass-border);
  background:#1c1c1c;
}
/* pos panel keeps green tint border */
.pos-panel{
  border-color:rgba(0,0,0,.28);
  background:#1c1c1c;
}
/* inner bg cells */
.stat-cell,.hiw-card,.ps-card,
.adash-stat-card,.admin-section,.panel .log-body,
.audit-row,.lf-item{
  background:rgba(255,255,255,.025);
  border-color:rgba(255,255,255,.07);
}

/* ── STAT NUMBERS — bigger, bolder, tabular ── */
.stat-val{
  font-size:24px;
  font-weight:800;
  font-feature-settings:'tnum' 1,'kern' 1;
  font-variant-numeric:tabular-nums;
  letter-spacing:-0.02em;
  justify-content:center;
}
.adash-stat-val{
  font-size:22px;
  font-feature-settings:'tnum' 1;
  font-variant-numeric:tabular-nums;
}
.perf-stat-val{
  font-size:18px;
  color:#ffffff;
  font-feature-settings:'tnum' 1;
  font-variant-numeric:tabular-nums;
}
@media(max-width:720px){.stat-val{font-size:22px}}

/* ── BUTTON STYLE UPGRADE ── */
/* base: radius 8px, weight 600, smooth transition */
.ob-btn,.mode-btn,.s-save,.swiz-next-btn,
.bot-btn,.inc-burn-btn,.adash-back-btn,.audit-run-btn,
.ps-buy-btn,.ps-sell-btn,
.tpc-follow-btn,.tpc-copy-btn,.tpc-stop-copy-btn,.tpc-sol-btn,.tpc-msg-btn,
.dpb-view-btn,.tv-me-profile-btn,.btn-follow,
.dm-copy-btn,.dm-send-btn{
  border-radius:8px;
  font-weight:600;
  transition:all .2s;
}
/* primary: solid green, black text */
.s-save,.ps-buy-btn,.dm-send-btn,.tpc-follow-btn,.btn-follow{
  background:#141414;color:#ffffff;border:none;
}
/* secondary: solid red, white text */
.ps-sell-btn,.hdr-btn-red{
  background:#ff1744;color:#fff;border:none;
}
/* outline: ghost buttons */
.tpc-copy-btn,.tpc-stop-copy-btn,.tpc-sol-btn,.tpc-msg-btn,
.dpb-view-btn,.tv-me-profile-btn,.bot-btn,.adash-back-btn,.audit-run-btn{
  background:transparent;border:1px solid var(--border);color:var(--text);
}
/* primary hover glow */
.s-save:hover:not(:disabled),
.ps-buy-btn:hover,.tpc-follow-btn:hover,.btn-follow:hover,
.dm-send-btn:hover:not(:disabled){
  box-shadow:0 0 16px rgba(0,0,0,.3);filter:brightness(1.08);
}
/* secondary hover */
.ps-sell-btn:hover,.hdr-btn-red:hover{
  box-shadow:0 0 12px rgba(255,68,102,.3);filter:brightness(1.08);
}
/* outline hover */
.tpc-copy-btn:hover,.tpc-stop-copy-btn:hover,.tpc-sol-btn:hover,.tpc-msg-btn:hover,
.dpb-view-btn:hover,.tv-me-profile-btn:hover,.bot-btn:hover{
  border-color:var(--green);color:var(--green);
}
/* hdr-btn hover glow */
.hdr-btn:hover{
  box-shadow:0 0 10px rgba(0,0,0,.18);
}
/* trade launch button glow */
.trade-btn:hover:not(:disabled){
  box-shadow:0 0 16px rgba(136,136,136,.3);
}

/* ── BADGES ── */
.badges-row{display:flex;flex-wrap:wrap;gap:5px}
.badge-pill{
  display:inline-flex;align-items:center;gap:3px;
  padding:4px 12px;border-radius:20px;
  font-size:11px;font-weight:500;letter-spacing:.05em;
  text-transform:uppercase;
  background:var(--bg2);border:1px solid var(--border2);
  white-space:nowrap;cursor:default;
  font-family:'Geist',system-ui,sans-serif;
  position:relative;transition:opacity .15s;
}
.badge-pill.earned{color:var(--text);border:1px solid var(--border2);background:var(--bg2)}
.badge-pill.locked{color:var(--muted);border:1px solid var(--border2);background:var(--bg2);opacity:1;filter:none}
.badge-pill[title]:hover::after{
  content:attr(title);
  position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);
  background:var(--bg2);border:1px solid var(--border2);
  border-radius:6px;padding:5px 10px;font-size:10px;color:var(--dim);
  white-space:nowrap;z-index:200;pointer-events:none;letter-spacing:.03em;
  box-shadow:0 4px 16px rgba(0,0,0,.5);
}

/* ── PANEL HEADERS ── */
.panel-hdr{
  font-family:'Geist',system-ui,sans-serif;
  font-weight:700;
  font-size:11px;
  color:var(--text);
  letter-spacing:2px;
}

/* ── BRAND: keep Orbitron ── */
.brand{font-family:'Orbitron',monospace}

/* ── BODY TEXT FALLBACK: Share Tech Mono where needed ── */
.log-body,.lt,.lf-time,.trade-table td,
.s-input,.swiz-addr-box,
.wallet-pill,.mkt-name,.mkt-stat-lbl,
.adash-health-val,.inc-token-mint{
  font-family:'Share Tech Mono',monospace;
}

/* ── LIVE MARKET TABLE ── */
#lm-table-wrap{overflow-x:auto;margin-top:10px}
.lm-table{width:100%;border-collapse:collapse;font-size:12px}
.lm-table th{color:var(--muted);font-weight:600;padding:6px 8px;text-align:right;border-bottom:1px solid var(--border);font-size:11px;white-space:nowrap}
.lm-table th:nth-child(1),.lm-table th:nth-child(2){text-align:left}
.lm-table td{padding:8px 8px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle;color:var(--text)}
.lm-table td:nth-child(1),.lm-table td:nth-child(2){text-align:left}
.lm-table tbody tr{cursor:pointer;transition:background .12s}
.lm-table tbody tr:hover{background:var(--bg3)}
.lm-pct{font-weight:600;font-size:11px}
.lm-pct.up{color:var(--green)}
.lm-pct.dn{color:var(--red)}
.lm-buy-btn{padding:4px 12px;background:#00e676;color:#000;border:none;border-radius:4px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .15s}
.lm-buy-btn:hover{opacity:.8}
/* Mobile cards */
#lm-cards{display:none}
.lm-card{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.lm-card:hover{background:var(--bg3)}
.lm-card-logo{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--bg3);flex-shrink:0}
.lm-card-info{flex:1;min-width:0}
.lm-card-sym{font-size:13px;font-weight:700;color:var(--text)}
.lm-card-name{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lm-card-right{text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.lm-card-price{font-size:13px;font-weight:600;color:var(--text)}
.lm-card-buy-btn{padding:5px 14px;background:#00e676;color:#000;border:none;border-radius:4px;font-size:12px;font-weight:700;cursor:pointer;margin-top:2px;transition:opacity .15s}
.lm-card-buy-btn:hover{opacity:.8}
@media(max-width:768px){
  #lm-table-wrap{display:none}
  #lm-cards{display:block}
}

/* ═══════════════════════════════════════════ */

/* ── TOKEN DETAIL PANEL ── */
#token-detail-panel{
  position:fixed;right:0;top:0;
  width:380px;height:100vh;
  background:#141414;border-left:1px solid #2e2e2e;
  z-index:500;overflow:hidden;
  transform:translateX(100%);
  transition:transform .3s ease;
  display:flex;flex-direction:column;
}
#token-detail-panel.open{transform:translateX(0)}
#tdp-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);
  z-index:499;display:none;pointer-events:auto;
}
#tdp-overlay.open{display:block}
/* ── Hero ── */
#tdp-hero{position:relative;flex-shrink:0}
#tdp-banner-bg{
  width:100%;height:90px;
  background:#1c1c1c;background-size:cover;background-position:center;
  position:relative;
}
#tdp-banner-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.15) 0%,rgba(20,20,20,.9) 100%);
}
#tdp-close{
  position:absolute;top:10px;right:10px;z-index:3;
  background:rgba(0,0,0,.55);border:none;color:#fff;
  width:28px;height:28px;border-radius:50%;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .15s;flex-shrink:0;
}
#tdp-close:hover{background:rgba(0,0,0,.85)}
.tdp-close-x{font-size:13px;line-height:1}
.tdp-close-back{display:none;font-size:11px;font-weight:600;white-space:nowrap}
#tdp-hero-info{
  display:flex;align-items:center;gap:10px;
  padding:0 14px 12px;margin-top:-18px;
  position:relative;z-index:2;
}
#tdp-logo-wrap{width:44px;height:44px;flex-shrink:0;position:relative}
#tdp-logo{
  width:44px;height:44px;border-radius:50%;
  object-fit:cover;border:2px solid #141414;background:#242424;display:none;
  position:absolute;top:0;left:0;
}
#tdp-logo.loaded{display:block}
#tdp-logo-fallback{
  width:44px;height:44px;border-radius:50%;
  background:#2e2e2e;border:2px solid #141414;
  display:flex;align-items:center;justify-content:center;
  font-size:17px;font-weight:700;color:#fff;
  position:absolute;top:0;left:0;
}
#tdp-logo-fallback.hidden{display:none}
#tdp-title-text{min-width:0;flex:1}
#tdp-name{font-size:15px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
#tdp-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:3px}
#tdp-symbol-lbl{font-size:11px;color:#aaa}
.tdp-meta-badge{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px}
#tdp-chain-badge{background:rgba(0,230,118,.15);color:#00e676}
#tdp-dex-badge{background:#1c1c1c;color:#aaa;border:1px solid #2e2e2e;display:none}
#tdp-dex-badge.visible{display:inline-block}
#tdp-twitter-btn{
  flex-shrink:0;width:30px;height:30px;
  display:none;align-items:center;justify-content:center;
  background:#1c1c1c;border:1px solid #2e2e2e;border-radius:6px;
  color:#aaa;text-decoration:none;font-size:12px;font-weight:900;
  transition:border-color .15s,color .15s;
}
#tdp-twitter-btn.visible{display:flex}
#tdp-twitter-btn:hover{border-color:#aaa;color:#fff}
/* ── Body ── */
#tdp-body{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}
#tdp-content{padding:12px 14px;display:flex;flex-direction:column;gap:12px}
#tdp-loading{display:flex;align-items:center;justify-content:center;padding:60px 16px;color:#555;font-size:13px;flex:1}
#tdp-error{padding:60px 16px;text-align:center;color:#ff1744;font-size:13px}
/* Price */
#tdp-price-section{padding-bottom:12px;border-bottom:1px solid #2e2e2e}
#tdp-price{font-size:26px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
#tdp-price-sol{font-size:11px;color:#aaa;margin-top:2px;font-variant-numeric:tabular-nums}
/* Section label */
.tdp-sec-lbl{font-size:9px;color:#555;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
/* % changes grid */
#tdp-changes{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.tdp-chg-cell{background:#1c1c1c;border:1px solid #2e2e2e;border-radius:6px;padding:8px 4px;text-align:center}
.tdp-chg-lbl{font-size:9px;color:#555;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.tdp-chg-val{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.tdp-chg-val.pos{color:#00e676}
.tdp-chg-val.neg{color:#ff1744}
.tdp-chg-val.flat{color:#aaa}
/* Market stats */
#tdp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.tdp-stat{background:#1c1c1c;border:1px solid #2e2e2e;border-radius:6px;padding:9px 10px}
.tdp-stat-lbl{font-size:9px;color:#555;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.tdp-stat-val{font-size:12px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
/* Activity grid */
#tdp-activity{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.tdp-act{background:#1c1c1c;border:1px solid #2e2e2e;border-radius:6px;padding:9px 10px}
.tdp-act-lbl{font-size:9px;color:#555;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.tdp-act-val{font-size:12px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.tdp-act-val.buy{color:#00e676}
.tdp-act-val.sell{color:#ff1744}
/* DexScreener link */
#tdp-dex-btn{
  display:flex;align-items:center;justify-content:center;gap:6px;
  background:#1c1c1c;border:1px solid #2e2e2e;border-radius:8px;
  padding:11px 14px;color:#aaa;font-size:12px;font-weight:600;
  text-decoration:none;transition:border-color .15s,color .15s;
}
#tdp-dex-btn:hover{border-color:#555;color:#fff}
/* Footer */
#tdp-footer{
  flex-shrink:0;border-top:1px solid #2e2e2e;background:#141414;
  padding:12px 14px;
  padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));
}
#tdp-trade-error{font-size:12px;color:#ff1744;margin-bottom:8px;display:none;line-height:1.4}
#tdp-position-info{font-size:11px;color:#aaa;margin-bottom:10px;display:none}
#tdp-position-info.visible{display:block}
#tdp-trade-btns{display:flex;gap:8px}
#tdp-buy-btn{
  flex:1;height:52px;font-size:16px;font-weight:700;
  background:#00e676;color:#000;border:none;border-radius:8px;
  cursor:pointer;transition:opacity .15s;
}
#tdp-sell-btn{
  flex:1;height:52px;font-size:16px;font-weight:700;
  background:#ff1744;color:#fff;border:none;border-radius:8px;
  cursor:pointer;transition:opacity .15s;display:none;
}
#tdp-buy-btn:disabled,#tdp-sell-btn:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:768px){
  /* panel covers full screen above mobile nav */
  #token-detail-panel{
    width:100%;
    top:0;left:0;right:0;bottom:0;
    height:100%;
    border-left:none;
    transform:translateY(100%);
    z-index:9100;
    display:block;
    overflow-y:auto;
    padding-bottom:120px;
  }
  #token-detail-panel.open{transform:translateY(0)}
  /* hero stays as-is, body no longer needs its own scroll */
  #tdp-body{flex:none;overflow:visible;min-height:0}
  /* footer: pinned above mobile nav (56px) */
  #tdp-footer{
    position:fixed;
    bottom:56px;
    left:0;right:0;
    padding:12px 16px;
    background:#0f0f0f;
    border-top:1px solid #2e2e2e;
    z-index:9200;
  }
  #tdp-buy-btn,#tdp-sell-btn{height:48px;font-size:15px}
  /* price changes: 2×2 grid */
  #tdp-changes{grid-template-columns:repeat(2,1fr)}
  /* stats/activity already 3-col — keep */
  #tdp-stats,#tdp-activity{grid-template-columns:repeat(3,1fr)}
  .tdp-stat-val,.tdp-act-val{font-size:11px}
  /* dexscreener link: compact */
  #tdp-dex-btn{padding:10px 14px;font-size:12px}
  .tdp-close-x{display:none}
  .tdp-close-back{display:inline}
  #tdp-close{width:auto;height:32px;padding:0 12px;border-radius:16px}
}
/* mobile nav explicit height so footer bottom:56px lines up */
@media(max-width:768px){
  #mob-bottom-nav{min-height:56px}
}

/* ── WALLET SECTION ── */
#dash-wallet{display:none;flex:1;min-width:0;height:calc(100vh - 48px);overflow-y:auto;padding:20px;box-sizing:border-box;background:var(--bg)}
.wlt-page{max-width:480px;width:100%;margin:0 auto;padding:0;display:flex;flex-direction:column;gap:14px}
.wlt-header{text-align:center;padding:24px 16px 20px;background:var(--bg2);border:1px solid var(--border);border-radius:12px}
#wlt-total-usd{font-size:32px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
#wlt-total-sol{font-size:14px;color:var(--muted);margin-top:5px;font-variant-numeric:tabular-nums}
#wlt-address{font-size:10px;color:var(--muted);margin-top:8px;font-family:'Share Tech Mono',monospace;letter-spacing:.06em;word-break:break-all}
.wlt-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.wlt-btn{height:46px;border:1px solid var(--border);border-radius:8px;font-size:12px;font-weight:700;background:var(--bg3);color:var(--text);cursor:pointer;transition:border-color .15s,color .15s;letter-spacing:.04em}
.wlt-btn:hover{border-color:var(--green);color:var(--green)}
.wlt-btn-buy{background:var(--green);color:#000;border-color:var(--green)}
.wlt-btn-buy:hover{opacity:.88}
#wallet-token-list{display:flex;flex-direction:column;gap:6px}
.wlt-token-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s}
.wlt-token-row:hover{border-color:#444}
.wlt-token-logo{width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--bg3);flex-shrink:0}
.wlt-token-logo-fb{width:36px;height:36px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;border:1px solid var(--border)}
.wlt-token-info{flex:1;min-width:0}
.wlt-token-sym{font-size:13px;font-weight:700;color:#fff}
.wlt-token-nm{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wlt-token-right{text-align:right;flex-shrink:0}
.wlt-token-val{font-size:13px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.wlt-token-amt{font-size:10px;color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums}
.wlt-token-chg{font-size:10px;font-weight:600;margin-top:1px}
.wlt-token-chg.pos{color:var(--green)}
.wlt-token-chg.neg{color:var(--red)}
/* ── SWAP MODAL ── */
#swap-overlay{position:fixed;inset:0;background:rgba(6,7,9,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:300;display:flex;align-items:center;justify-content:center;padding:16px}
.swap-card{background:#0e1116;border:1px solid var(--border2);border-radius:22px;width:100%;max-width:420px;box-shadow:0 24px 70px rgba(0,0,0,.6);overflow:hidden}
.swap-hdr{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px}
.swap-hdr-title{font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.02em}
.swap-close{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;line-height:1;padding:4px;border-radius:6px}
.swap-close:hover{color:var(--text)}
.swap-panel{background:var(--bg);border:1px solid var(--border2);border-radius:16px;padding:14px 16px;margin:0 16px}
.swap-panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.swap-panel-lbl{font-size:12px;color:var(--muted);font-weight:500}
.swap-panel-bal{font-size:11px;color:var(--muted);font-family:'JetBrains Mono',monospace}
.swap-panel-mid{display:flex;align-items:center;gap:10px}
.swap-amount-input{flex:1;background:transparent;border:none;outline:none;font-family:'JetBrains Mono',monospace;font-size:27px;font-weight:700;color:var(--text);min-width:0;-moz-appearance:textfield}
.swap-amount-input::-webkit-outer-spin-button,.swap-amount-input::-webkit-inner-spin-button{-webkit-appearance:none}
.swap-amount-input::placeholder{color:var(--muted)}
.swap-amount-display{flex:1;font-family:'JetBrains Mono',monospace;font-size:27px;font-weight:700;color:var(--muted)}
.swap-panel-usd{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);margin-top:8px}
.swap-tok-pill{display:flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid var(--border2);border-radius:999px;padding:8px 13px;font-size:14px;font-weight:700;color:var(--text);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:border-color .15s}
.swap-tok-pill:hover{border-color:var(--accent)}
.swap-tok-pill-recv{background:rgba(247,185,85,.10);border-color:rgba(247,185,85,.3);color:var(--accent)}
.swap-switch-wrap{display:flex;justify-content:center;margin:6px 0}
.swap-switch-btn{width:34px;height:34px;border-radius:11px;background:var(--bg3);border:1px solid var(--border2);color:var(--accent);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.swap-switch-btn:hover{background:var(--bg4)}
.swap-rate{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);text-align:center;padding:10px 16px 2px}
.swap-review-btn{width:calc(100% - 32px);margin:12px 16px 16px;padding:14px;background:var(--accent);color:#08120f;border:none;border-radius:13px;font-size:15px;font-weight:700;cursor:pointer;transition:filter .15s}
.swap-review-btn:hover{filter:brightness(1.08)}
/* picker */
.swap-picker-hdr{display:flex;align-items:center;gap:10px;padding:4px 16px 14px;font-size:15px;font-weight:600;color:var(--text)}
.swap-picker-back{background:none;border:1px solid var(--border2);border-radius:8px;color:var(--text);font-size:16px;cursor:pointer;padding:4px 10px;line-height:1.4}
.swap-picker-back:hover{border-color:var(--accent);color:var(--accent)}
.sp-search{width:calc(100% - 32px);margin:0 16px;display:block;background:var(--bg);border:1px solid var(--border2);border-radius:13px;padding:11px 15px;font-size:14px;color:var(--text);outline:none;box-sizing:border-box;font-family:inherit}
.sp-search::placeholder{color:var(--muted)}
.sp-search:focus{border-color:var(--accent)}
.sp-quick-chips{display:flex;gap:8px;padding:12px 16px;flex-wrap:wrap}
.sp-quick-chip{display:flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid var(--border2);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;transition:border-color .15s,color .15s}
.sp-quick-chip:hover,.sp-quick-chip.active{border-color:var(--accent);color:var(--accent)}
.sp-section-lbl{font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--muted);padding:4px 16px 8px}
.sp-token-list{max-height:280px;overflow-y:auto;margin:0 8px 12px}
.sp-token-row{display:flex;align-items:center;gap:12px;padding:10px 10px;border-radius:13px;cursor:pointer;transition:background .12s}
.sp-token-row:hover{background:#14171c}
.sp-token-row.active .sp-tok-sym{color:var(--accent)}
.sp-tok-chip{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:13px;color:#0a0b0e}
.sp-tok-info{flex:1;min-width:0}
.sp-tok-sym{font-size:13px;font-weight:700;color:var(--text)}
.sp-tok-name{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-tok-right{text-align:right;flex-shrink:0}
.sp-tok-bal{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;color:var(--text)}
.sp-tok-usd{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);margin-top:2px}
.wlt-loading{padding:40px 16px;text-align:center;color:var(--muted);font-size:13px}
@media(max-width:768px){.wlt-page{padding:14px 12px}}
/* ── RIGHT RAIL ── */
#right-rail{width:340px;min-width:340px;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;padding:16px 18px 40px;display:flex;flex-direction:column;gap:14px;border-left:1px solid #16191f}
#right-rail::-webkit-scrollbar{width:4px}
#right-rail::-webkit-scrollbar-track{background:transparent}
#right-rail::-webkit-scrollbar-thumb{background:#21252c;border-radius:4px}
#inline-sidebar{display:none!important}
.rs-search-wrap{position:relative;display:flex;align-items:center;margin-bottom:4px;max-width:none!important;flex:none!important;width:100%}
.rs-search-icon{position:absolute;left:11px;color:#565d68;pointer-events:none;flex-shrink:0}
.rs-search-input{width:100%!important;background:#101216!important;border:1px solid #21252c!important;border-radius:13px!important;padding:9px 14px 9px 34px!important;font-size:13px!important;font-family:'Geist',system-ui,sans-serif!important;color:var(--text)!important;outline:none;transition:border-color .15s}
.rs-search-input::placeholder{color:#565d68}
.rs-search-input:focus{border-color:#f7b955!important}
.rs-card{background:#101216;border:1px solid #21252c;border-radius:18px;padding:16px;overflow:hidden}
.rs-card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.rs-card-title{font-size:14px;font-weight:700;color:var(--text)}
.rs-card-viewall{font-size:12px;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;text-decoration:none}
.rs-card-viewall:hover{text-decoration:underline}
@media(max-width:880px){#right-rail{display:none!important}}
.rs-mover{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--bg3)}
.rs-mover:last-child{border-bottom:none;padding-bottom:0}
.rs-mover-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.rs-mover-info{flex:1;min-width:0}
.rs-mover-sym{font-size:13px;font-weight:700;color:var(--text)}
.rs-mover-name{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-mover-right{text-align:right;flex-shrink:0}
.rs-mover-price{font-size:12px;font-weight:600;font-family:'JetBrains Mono',monospace;color:var(--text)}
.rs-mover-pct{font-size:12px;font-weight:700;font-family:'JetBrains Mono',monospace}
.rs-mover-pct.pos{color:var(--accent)}.rs-mover-pct.neg{color:var(--red)}
.rs-lb-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--bg3);cursor:pointer}
.rs-lb-row:last-child{border-bottom:none;padding-bottom:0}
.rs-lb-row:hover{background:rgba(255,255,255,.02);margin:0 -4px;padding-left:4px;padding-right:4px;border-radius:6px}
.rs-lb-rank{font-size:12px;font-weight:700;color:var(--muted);width:20px;flex-shrink:0;text-align:center}
.rs-lb-rank.gold{color:#FFD700}.rs-lb-rank.silver{color:#C0C0C0}.rs-lb-rank.bronze{color:#CD7F32}
.rs-lb-avatar{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;position:relative;overflow:hidden}
.rs-lb-info{flex:1;min-width:0}
.rs-lb-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-lb-handle{font-size:11px;color:var(--muted)}
.rs-lb-pnl{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;flex-shrink:0}
/* live pill */
.rs-live-pill{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;letter-spacing:.1em;color:#f7b955}
.rs-live-dot{width:6px;height:6px;border-radius:50%;background:#f7b955;animation:orcaBlink 1.6s infinite;flex-shrink:0}
/* platform stats card */
.rs-stats-grid{display:flex;justify-content:space-between;gap:8px;margin-top:13px}
.rs-stat-col{display:flex;flex-direction:column;gap:3px}
.rs-stat-val{font-family:'JetBrains Mono',monospace;font-size:19px;font-weight:700;color:var(--text)}
.rs-stat-val.pos{color:#3ad29b}
.rs-stat-lbl{font-size:11px;color:var(--muted)}
/* footer links */
.rs-footer{padding:4px 2px 8px;display:flex;flex-direction:column;gap:10px}
.rs-footer-links{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:var(--muted)}
.rs-footer-links a{color:var(--muted);text-decoration:none;transition:color .15s}
.rs-footer-links a:hover{color:#8a919c}
.rs-footer-note{font-size:11px;color:#3a4049;line-height:1.5}
/* right rail viewall link below card */
.rs-card-viewall-row{padding:11px 0 2px;font-size:13px;color:var(--accent);cursor:pointer;text-decoration:none;display:block}
.rs-card-viewall-row:hover{text-decoration:underline}
/* ── FEED POST MENU (…) ── */
.fc-menu-wrap{position:absolute;top:10px;right:10px;z-index:10}
.fc-header{padding-right:34px}
@media(hover:none){.fc-menu-btn{color:#8a919c!important;min-width:36px;min-height:36px}}
.fc-menu-btn{background:none;border:none;color:transparent;cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;border-radius:6px;transition:color .15s,background .15s}
.fc-card:hover .fc-menu-btn{color:#565d68}
.fc-menu-btn:hover,.fc-menu-btn:focus{color:#eef1f5!important;background:#16191f;outline:none}
.fc-menu-dd{position:absolute;top:calc(100% + 4px);right:0;background:#101216;border:1px solid #21252c;border-radius:10px;padding:4px;min-width:120px;box-shadow:0 8px 24px rgba(0,0,0,.65);z-index:100}
.fc-menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:7px 12px;font-size:13px;color:#c7ccd4;cursor:pointer;border-radius:6px;font-family:'Geist',system-ui,sans-serif;transition:background .12s,color .12s;white-space:nowrap}
.fc-menu-item:hover{background:#16191f;color:#eef1f5}
.fc-menu-item-del{color:#f76b62}
.fc-menu-item-del:hover{background:rgba(247,107,98,.08);color:#f76b62}
/* ── INLINE POST EDIT ── */
.fc-edit-wrap{margin:6px 0 10px}
.fc-edit-area{width:100%;background:#101216;border:1px solid #21252c;border-radius:10px;padding:10px 12px;color:#eef1f5;font-size:14.5px;font-family:'Geist',system-ui,sans-serif;line-height:1.55;resize:none;outline:none;box-sizing:border-box;min-height:80px;transition:border-color .15s}
.fc-edit-area:focus{border-color:#f7b955}
.fc-edit-actions{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}
.fc-edit-save{padding:6px 16px;background:#f7b955;color:#0a0b0e;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Geist',system-ui,sans-serif;transition:opacity .15s}
.fc-edit-save:disabled{opacity:.5;cursor:default}
.fc-edit-save:hover:not(:disabled){opacity:.88}
.fc-edit-cancel{padding:6px 14px;background:transparent;color:#8a919c;border:1px solid #21252c;border-radius:8px;font-size:13px;cursor:pointer;font-family:'Geist',system-ui,sans-serif;transition:color .15s,border-color .15s}
.fc-edit-cancel:hover{color:#eef1f5;border-color:#3a4049}

/* ══════════════════════════════════════════
   MOBILE COMPLETE FIX  <768px
   ══════════════════════════════════════════ */

/* Bottom nav — hidden on desktop, shown only on mobile */
#mobile-nav{display:none}
#mn-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:498;-webkit-tap-highlight-color:transparent}
#mn-drawer{position:fixed;bottom:-100%;left:0;right:0;background:#101216;border-top:1px solid #16191f;border-radius:20px 20px 0 0;z-index:501;max-height:90vh;overflow-y:auto;transition:bottom .3s ease}
#mn-drawer.open{bottom:0}
#mn-overlay.open{display:block}

@media(max-width:767px){

  /* ── Bottom nav ── */
  #mobile-nav{
    display:flex;flex-direction:column;align-items:stretch;
    position:fixed;bottom:0;left:0;right:0;
    height:calc(78px + env(safe-area-inset-bottom,0px));
    padding-bottom:env(safe-area-inset-bottom,0px);
    background:#101216;
    border-top:1px solid #16191f;z-index:500;
    -webkit-tap-highlight-color:transparent;
  }
  .mn-balance-strip{
    display:flex;align-items:center;justify-content:center;gap:6px;
    height:18px;font-family:'JetBrains Mono',monospace;font-size:11px;
    color:#8a919c;border-bottom:1px solid #16191f;flex-shrink:0;
  }
  .mn-balance-strip .mn-bal-sol{color:#eef1f5;font-weight:700}
  .mn-balance-strip .mn-bal-usdc{color:#565d68}
  .mn-items-row{display:flex;align-items:stretch;flex:1;min-height:0}
  .rr-search,.hdr-search,.fc-reply-inp{font-size:16px}
  .fc-reply-inp{min-width:0}
  .fc-reply-box,.fc-reply-box.open{padding-left:12px;padding-right:12px}
  /* ── Emoji pickers: slightly larger touch targets + more breathing room
     between adjacent emoji, same idea as the 44px touch-target pattern used
     elsewhere in this file (.pos-chart-close, .swap-switch-btn) -- a literal
     44px per emoji isn't practical in a dense 6-column grid without making
     the popover huge, so this scales it up proportionally instead. ── */
  .fc-reply-palette,.dm-emoji-picker{width:248px}
  .fc-reply-palette{gap:4px}
  .dm-emoji-picker{gap:5px}
  .fc-reply-palette button{padding:6px;font-size:19px}
  .dm-emoji-picker button{padding:8px;font-size:19px}
  .pos-chart-close{min-width:44px;min-height:44px}
  .swap-switch-btn{min-width:44px;min-height:44px}
  .mn-item{
    flex:1;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:3px;text-decoration:none;
    background:transparent;border:none;cursor:pointer;
    color:#565d68;font-family:'Geist',system-ui,sans-serif;
    font-size:10px;font-weight:500;padding:0;
    transition:color .15s;-webkit-tap-highlight-color:transparent;
  }
  .mn-item.active,.mn-item:active{color:#f7b955}
  .mn-item svg{width:22px;height:22px;flex-shrink:0}
  /* ── Drawer ── */
  .mn-drawer-handle{width:36px;height:4px;background:#21252c;border-radius:2px;margin:12px auto 8px}
  .mn-drawer-cta{display:block;margin:0 16px 8px;background:#f7b955;color:#0a0b0e;border:none;border-radius:12px;padding:13px 0;font-size:14px;font-weight:700;font-family:'Geist',system-ui,sans-serif;cursor:pointer;width:calc(100% - 32px);text-align:center;transition:background .15s,opacity .15s;letter-spacing:.02em}
  .mn-drawer-cta:active{opacity:.85}
  .mn-drawer-nav{padding:4px 8px 76px}
  .mn-drawer-item{display:flex;align-items:center;gap:14px;padding:13px 12px;font-family:'Geist',system-ui,sans-serif;font-size:14px;font-weight:500;color:#8a919c;cursor:pointer;text-decoration:none;border:none;background:transparent;width:100%;text-align:left;border-radius:11px;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}
  .mn-drawer-item:active{background:rgba(247,185,85,.1);color:#eef1f5}
  .mn-drawer-item.active{background:rgba(247,185,85,.12);color:#eef1f5;font-weight:600}
  .mn-drawer-item svg{width:18px;height:18px;flex-shrink:0;color:inherit}
  .mn-drawer-badge{margin-left:auto;background:#f7b955;color:#0a0b0e;border-radius:8px;font-size:10px;font-weight:700;padding:2px 7px;font-family:'Geist',system-ui,sans-serif}
  .mn-drawer-sep{height:1px;background:#16191f;margin:4px 12px}
  .mn-drawer-footer{display:flex;flex-wrap:wrap;gap:9px 14px;padding:14px 20px 6px}
  .mn-drawer-footer a{color:#565d68;font-size:11px;text-decoration:none;min-height:22px;display:inline-flex;align-items:center}
  .mn-drawer-footer a:active{color:#8a919c}

  /* ── Hide left sidebar & desktop header ── */
  #sidebar{display:none!important}
  .header{display:none!important}
  .hamburger-btn{display:none!important}
  .nav-menu-wrap{display:none!important}

  /* ── Right rail hidden ── */
  #right-rail{display:none!important}

  /* ── Full-height feed column ── */
  .wrap{
    height:100vh!important;
    height:100dvh!important;
    padding-bottom:70px!important;
    border-right:none!important;
  }

  /* ── Feed sticky header: logo + title + LIVE ── */
  .feed-hdr{margin:0 -20px 0!important}
  .feed-hdr-top{padding:10px 14px 8px!important;gap:8px!important}
  .feed-hdr-mobile-logo{display:flex!important}
  .feed-hdr-sub{display:none!important}
  .feed-hdr-title{font-size:17px!important}

  /* ── Bot status card: compact 1-line ── */
  .feed-bot-card{
    margin:10px 12px 0!important;
    padding:10px 12px!important;
    gap:10px!important;
  }
  .feed-bot-status-text{font-size:13px!important}
  .feed-bot-sub{font-size:11px!important;max-width:none!important}
  .feed-bot-btn{padding:8px 12px!important;font-size:12px!important}

  /* ── Composer: stack vertically ── */
  .feed-composer{padding:12px 14px!important}
  .feed-composer-avatar{width:36px!important;height:36px!important}
  .feed-composer-input{font-size:15px!important}
  .feed-composer-actions{flex-wrap:wrap!important;gap:6px!important;padding-top:10px!important}
  .feed-emoji-panel .emoji-picker-grid{grid-template-columns:repeat(6,1fr)!important}
  .feed-composer-pill{font-size:11px!important;padding:6px 10px!important}
  .feed-composer-post{
    width:100%!important;text-align:center!important;
    padding:10px!important;margin-top:2px!important;
    order:99;
  }

  /* ── Trade dropdown rows: keep PnL% visible on narrow screens ── */
  #composer-trade-list > div{min-width:0}
  #composer-trade-list > div > span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  /* ── Feed post cards ── */
  .fc-card{padding:14px!important;gap:10px!important}
  .fc-avatar{width:36px!important;height:36px!important;font-size:13px!important}
  /* matches the mobile .fc-card padding+avatar+gap (14+36+10) so the repost
     line still lines up with the name column at this narrower layout */
  .fc-repost-banner{padding-left:60px!important}
  .fc-name{font-size:13px!important}
  .fc-handle,.fc-time,.fc-sep{font-size:12px!important}
  .fc-text{font-size:13px!important;line-height:1.5!important}
  .fc-actions{gap:16px!important;margin-top:6px!important}
  .fc-action{font-size:12px!important}
  .fc-reply-label{display:none}
  .fc-reply-count{font-size:13px!important}

  /* ── Trade card inside post ── */
  .fc-trade-row{padding:10px 12px!important;gap:8px!important;margin-top:8px!important}
  .fc-trade-label{font-size:12px!important}
  .fc-token-name{font-size:13px!important}
  .fc-entry-exit{font-size:11px!important}
  .fc-pnl{font-size:20px!important}
  .fc-pnl-sub{font-size:11px!important}
  .fc-sparkline{width:90px!important;height:28px!important}
  .fc-trade-badge{font-size:9px!important;padding:2px 5px!important}
}

/* ── LEADERBOARD (dash-leaderboard) — ported from templates/leaderboard.html ── */
/* Matches #dash-wallet's container pattern (dashboard.html:2969) -- without
   this, the section has no flex-sizing/overflow of its own and content
   taller than the viewport gets clipped by .app-body{overflow:hidden}
   with no way to scroll to it. */
#dash-leaderboard{display:none;flex:1;min-width:0;height:calc(100vh - 48px);overflow-y:auto;box-sizing:border-box;background:var(--bg)}
.page{max-width:1180px;margin:0 auto;padding:30px 28px 60px}
.podium{display:flex;gap:14px;margin-bottom:24px}
.podium-card{flex:1;border-radius:16px;padding:24px 20px;text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center}
.podium-card::after{content:'';position:absolute;inset:0;border-radius:16px;pointer-events:none}
.podium-card.gold{background:rgba(247,185,85,.06);border:1px solid rgba(247,185,85,.45)}
.podium-card.silver{background:rgba(200,200,212,.04);border:1px solid rgba(200,200,212,.32)}
.podium-card.bronze{background:rgba(205,140,82,.04);border:1px solid rgba(205,140,82,.32)}
.podium-top-line{position:absolute;top:0;left:20%;right:20%;height:2px;border-radius:0 0 4px 4px}
.podium-card.gold .podium-top-line{background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.podium-card.silver .podium-top-line{background:linear-gradient(90deg,transparent,#c8c8d4,transparent)}
.podium-card.bronze .podium-top-line{background:linear-gradient(90deg,transparent,#cd8c52,transparent)}
.podium-medal{font-size:38px;line-height:1;margin-bottom:8px}
.podium-place{font-size:10px;font-weight:700;letter-spacing:.14em;margin-bottom:12px}
.podium-card.gold .podium-place{color:var(--accent)}
.podium-card.silver .podium-place{color:#c8c8d4}
.podium-card.bronze .podium-place{color:#cd8c52}
.podium-wallet{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:11px;color:var(--muted);margin-bottom:14px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.podium-wallet.is-me{color:var(--accent);font-weight:700}
.podium-wallet a{color:inherit;text-decoration:none}
.podium-wallet a:hover{text-decoration:underline}
.podium-pnl{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:28px;font-weight:700;line-height:1;margin-bottom:6px}
.podium-pnl.pos{color:var(--green)}
.podium-pnl.neg{color:var(--red)}
.podium-meta{font-size:11px;color:var(--muted)}
.rank-banner{background:rgba(247,185,85,.12);border:1px solid rgba(247,185,85,.25);border-radius:12px;padding:14px 20px;margin-bottom:20px;font-size:13px;color:var(--accent);display:flex;align-items:center;gap:10px}
.rank-banner-check{font-size:16px;flex-shrink:0}
.rank-banner-share{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px solid rgba(247,185,85,.25);border-radius:8px;padding:6px 12px;font-family:'Geist',system-ui,sans-serif;font-size:11px;font-weight:600;color:var(--accent);cursor:pointer;transition:all .15s;white-space:nowrap}
.rank-banner-share:hover{background:rgba(247,185,85,.12)}
.table-wrap{overflow-x:auto;border-radius:14px;border:1px solid var(--border)}
.lb-table{width:100%;border-collapse:collapse}
.lb-table thead th{padding:12px 14px;text-align:left;font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg2)}
.lb-table thead th:first-child{text-align:center;width:56px}
.lb-table tbody td{padding:14px 14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted);vertical-align:middle;white-space:nowrap;transition:background .12s}
.lb-table tbody tr:last-child td{border-bottom:none}
.lb-table tbody tr:hover td{background:var(--bg)}
.td-rank{text-align:center;font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:13px;color:var(--muted)}
.td-rank.top1{font-size:22px}
.td-rank.top2{font-size:18px}
.td-rank.top3{font-size:15px}
.td-wallet{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:12px;color:var(--text)}
.td-wallet.is-me{color:var(--accent);font-weight:700}
.td-wallet a{color:inherit;text-decoration:none}
.td-wallet a:hover{text-decoration:underline}
.me-chip{display:inline-block;background:rgba(247,185,85,.12);border:1px solid rgba(247,185,85,.25);border-radius:20px;padding:1px 8px;font-size:9px;color:var(--accent);font-weight:700;margin-left:7px;vertical-align:middle}
.td-pnl{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:13px;font-weight:700}
.td-pnl.pos{color:var(--green)}
.td-pnl.neg{color:var(--red)}
.td-wr{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:13px}
.td-wr.pos{color:var(--green)}
.td-wr.neg{color:var(--red)}
.td-num{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:13px;color:#8a919c}
.td-best{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:13px;color:var(--green)}
.row-me td{background:rgba(247,185,85,.04)}
.row-gold td{background:rgba(247,185,85,.03)}
.row-silver td{background:rgba(200,200,212,.02)}
.row-bronze td{background:rgba(205,140,82,.02)}
.empty{text-align:center;padding:72px 24px;color:var(--muted);font-size:13px;border:1px solid var(--border);border-radius:14px;background:var(--bg2)}
.empty-icon{font-size:36px;margin-bottom:14px}
@media(max-width:768px){
  .podium{flex-direction:column;gap:10px}
  .podium-pnl{font-size:22px}
  .lb-table thead th:nth-child(6),
  .lb-table tbody td:nth-child(6){display:none}
}

/* ── SETTINGS (dash-settings) — ported from templates/settings.html ── */
/* Same container-sizing gap as #dash-leaderboard above -- see that comment. */
#dash-settings{display:none;flex:1;min-width:0;height:calc(100vh - 48px);overflow-y:auto;box-sizing:border-box;background:var(--bg)}
.st-content{max-width:620px;padding:24px 24px 80px;margin:0 auto}
.st-title{font-size:18px;font-weight:700;letter-spacing:-.02em;margin-bottom:20px;color:var(--text)}
.st-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:14px}
.st-card-hdr{font-size:14px;font-weight:700;color:var(--text);margin-bottom:16px}
.st-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.st-row:last-of-type{border-bottom:none;padding-bottom:0}
.st-row-left{flex:1;min-width:0}
.st-row-label{font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px}
.st-row-sub{font-size:12px;color:var(--muted);line-height:1.4}
.st-amber-inp{width:60px;background:#1a1d23;border:1px solid var(--accent);color:var(--accent);font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:14px;font-weight:600;border-radius:8px;padding:6px 8px;text-align:center;outline:none;-moz-appearance:textfield;transition:opacity .15s;flex-shrink:0}
.st-amber-inp:focus{opacity:.85}
.st-amber-inp::-webkit-inner-spin-button,.st-amber-inp::-webkit-outer-spin-button{-webkit-appearance:none}
.st-save-row{padding-top:16px;display:flex;align-items:center;gap:10px}
.st-save-btn{background:var(--accent);color:#0a0b0e;border:none;border-radius:9px;padding:9px 22px;font-size:13px;font-weight:700;font-family:'Geist',system-ui,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;cursor:pointer;transition:opacity .15s}
.st-save-btn:hover{opacity:.88}
.st-save-btn:disabled{opacity:.45;cursor:not-allowed}
.st-save-msg{font-size:12px;color:var(--muted)}
.st-save-msg.ok{color:var(--green)}
.st-save-msg.err{color:var(--red)}
.st-tog-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}
.st-tog-row:last-child{border-bottom:none;padding-bottom:0}
.st-tog-label{font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px}
.st-tog-sub{font-size:12px;color:var(--muted);line-height:1.4}
.st-toggle{flex-shrink:0;cursor:pointer;position:relative}
.st-toggle input{position:absolute;opacity:0;width:0;height:0}
.st-track{display:block;width:44px;height:24px;border-radius:12px;background:#2a2d35;transition:background .2s;position:relative}
.st-track::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:9px;background:#8a919c;transition:transform .2s,background .2s}
.st-toggle input:checked+.st-track{background:var(--accent)}
.st-toggle input:checked+.st-track::after{transform:translateX(20px);background:#fff}
.st-wallet-row{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--border2);border-radius:9px;padding:10px 12px;margin-bottom:14px}
.st-wallet-addr{font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:12px;color:#8a919c;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-copy-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:2px 4px;line-height:1;flex-shrink:0;transition:color .15s}
.st-copy-btn:hover{color:var(--accent)}
.st-wallet-btns{display:flex;gap:8px}
.st-manage-btn{flex:1;padding:9px;background:var(--accent);color:#0a0b0e;border:none;border-radius:9px;font-size:13px;font-weight:700;font-family:'Geist',system-ui,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;cursor:pointer;transition:opacity .15s}
.st-manage-btn:hover{opacity:.88}
.st-key-status{font-size:12px;color:var(--muted);margin-bottom:12px;display:flex;align-items:center;gap:6px}
.st-key-status.has-key{color:var(--green)}
.st-key-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.modal-back{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:500;align-items:center;justify-content:center;padding:20px}
.modal-box{background:#101216;border:1px solid var(--border2);border-radius:16px;padding:24px;width:100%;max-width:400px;position:relative}
.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;line-height:1;padding:2px;transition:color .15s}
.modal-close:hover{color:var(--text)}
.modal-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:16px}
.modal-textarea{width:100%;background:var(--bg);border:1px solid var(--border2);border-radius:9px;color:var(--text);font-family:'JetBrains Mono','Share Tech Mono',monospace;font-size:13px;padding:12px;outline:none;transition:border-color .15s;resize:none;height:96px;line-height:1.5;margin-bottom:14px;display:block}
.modal-textarea:focus{border-color:rgba(247,185,85,.4)}
.modal-textarea::placeholder{color:var(--muted)}
.modal-btns{display:flex;gap:8px}
.modal-btn{flex:1;padding:10px;border-radius:9px;font-size:13px;font-weight:700;font-family:'Geist',system-ui,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;cursor:pointer;transition:all .15s;text-align:center;border:none}
.modal-cancel{background:transparent;color:#8a919c;border:1px solid var(--border2)!important}
.modal-cancel:hover{border-color:var(--muted)!important;color:var(--text)}
.modal-save{background:var(--accent);color:#0a0b0e}
.modal-save:hover{opacity:.88}
.modal-save:disabled{opacity:.45;cursor:not-allowed}
.modal-msg{font-size:12px;min-height:16px;margin-top:10px}
.modal-msg.ok{color:var(--green)}
.modal-msg.err{color:var(--red)}
/* .tos-checkbox-row is intentionally not redeclared -- dashboard.html already
   has an identical rule (line ~866) from its own #tos-modal gate. */
.manage-warn{background:var(--bg3);border:1px solid var(--border2);border-radius:9px;padding:12px 14px;font-size:12px;color:#8a919c;line-height:1.55;margin-bottom:14px}
.manage-warn p{margin-bottom:6px;color:var(--text)}
.manage-warn ul{margin:0;padding-left:18px}
.manage-warn li{margin-bottom:4px}
.manage-warn li:last-child{margin-bottom:0}
.st-x-connected{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.st-x-dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0}
.st-x-handle{font-size:14px;font-weight:700;color:var(--text)}
.st-x-connect-btn{display:inline-flex;align-items:center;gap:7px;background:#000;color:#fff;border:none;border-radius:9px;padding:9px 16px;font-size:13px;font-weight:700;font-family:'Geist',system-ui,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;cursor:pointer;transition:opacity .15s;text-decoration:none}
.st-x-connect-btn:hover{opacity:.85}
.st-x-disconnect{background:none;border:1px solid var(--border2);color:var(--red);border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;font-family:'Geist',system-ui,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;cursor:pointer;transition:border-color .15s;margin-top:14px}
.st-x-disconnect:hover{border-color:var(--red)}
.st-tos-note{background:rgba(247,185,85,.08);border:1px solid rgba(247,185,85,.25);border-radius:8px;padding:10px 12px;font-size:11.5px;color:var(--accent);line-height:1.5;margin-bottom:14px}
.st-tos-dl-btn{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#0a0b0e;border:none;border-radius:9px;padding:9px 16px;font-size:13px;font-weight:700;font-family:'Geist',system-ui,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;cursor:pointer;transition:opacity .15s;text-decoration:none}
.st-tos-dl-btn:hover{opacity:.88}
@media(max-width:900px){
  .st-content{padding:20px 20px 80px}
}
@media(max-width:767px){
  .st-content{padding:12px 12px 80px;max-width:100%}
  .st-title{display:none}
  .st-amber-inp{width:56px;font-size:13px}
  .st-save-btn,.st-manage-btn{min-height:44px}
  .modal-btn{min-height:44px}
}


/* Optional self-declared flag: independent of bot and wallet settings. */
.st-country-picker{display:flex;align-items:center;gap:12px;margin:12px 0 5px}
.st-country-select{min-width:0;flex:1;max-width:100%;min-height:44px;background:#1a1d23;
  border:1px solid #30353e;border-radius:9px;color:#eef1f5;padding:10px 12px;
  font:500 16px/1.3 'Geist',system-ui,sans-serif;outline:none}
.st-country-select:focus{border-color:#f7b955}
.st-country-select option{background:#16191f;color:#eef1f5}
.st-country-preview{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;
  border:1px solid rgba(247,185,85,.30);background:#171c23;border-radius:10px;
  font-family:'Apple Color Emoji','Segoe UI Emoji',system-ui,sans-serif;font-size:24px}
.st-country-message{font-size:12px;color:#8a919c;line-height:1.5;margin:5px 0 13px}
.st-country-message.ok{color:#3ad29b}
.st-country-message.err{color:#f76b62}
.st-country-card .st-tog-row{margin-top:5px}
.st-country-card .st-toggle input:disabled+.st-track{opacity:.4;cursor:not-allowed}
.st-country-card .st-save-row{padding-top:13px}

.fc-ri-collapsed .fc-ri-text-inline{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.fc-ri-more{border:0;background:transparent;color:#f7b955;padding:6px 0;font-size:12px;font-family:inherit;font-weight:600;cursor:pointer}
/* The reply a notification opened: a tinted layer behind it, so nothing in the row moves. */.fc-reply-item.fc-reply-highlight{isolation:isolate}.fc-reply-highlight::before{content:'';position:absolute;top:0;bottom:0;left:-10px;right:-10px;z-index:-1;background:rgba(247,185,85,.16);box-shadow:inset 3px 0 #f7b955;border-radius:12px;pointer-events:none;animation:oaReplyLitIn .25s ease-out}@keyframes oaReplyLitIn{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.fc-reply-highlight::before{animation:none}}.fc-reply-item{scroll-margin-top:100px;scroll-margin-bottom:100px}
/* The post screen (a notification's post on its own, see _postViewSync):
   everything in the column except "← Post" and the post's own card hides. */
html.oa-post-view #main-content > :not([data-oa-pv-path]):not(.oa-pv-head),
html.oa-post-view [data-oa-pv-path] > :not([data-oa-pv-path]):not([data-oa-pv-target]){display:none!important}
.oa-pv-head{position:sticky;top:var(--oa-pv-top,0px);z-index:5;display:flex;align-items:center;gap:14px;height:52px;padding:0 12px;margin:0 -12px 6px;background:var(--bg);color:var(--text);border-bottom:1px solid rgba(255,255,255,.07)}
.oa-pv-back{width:40px;height:40px;flex:0 0 40px;border-radius:50%;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.oa-pv-back:hover,.oa-pv-back:focus-visible{background:rgba(255,255,255,.08)}
.oa-pv-title{font-size:18px;font-weight:700;letter-spacing:-.01em}
html.oa-post-view [data-oa-pv-target]{border-bottom:0!important}
@media(min-width:769px){.oa-pv-head{margin:0 0 6px}}
/* Threads use the page scroll and a single nested gutter on every depth. */
.fc-reply-box{display:none;max-height:none;overflow:visible;transition:none}
.fc-reply-box.open{display:block;max-height:none;overflow:visible;padding:0 0 16px}
.fc-body>.fc-reply-box{margin-left:-58px}
.fc-reply-item{padding:10px 0}
.fc-reply-nested{margin-left:12px;border-left:1px solid #29343e;padding-left:10px}
.fc-ri-row{gap:9px}.fc-ri-avatar{width:28px;height:28px;min-width:28px}
.fc-ri-author{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:12px;line-height:1.5}
.fc-ri-name{max-width:100%;overflow-wrap:anywhere}.fc-ri-line{font-size:14px;line-height:1.45}
.fc-ri-text-inline{display:block;margin-top:3px;overflow-wrap:anywhere;white-space:pre-wrap}
.fc-ri-meta{gap:12px;flex-wrap:wrap;margin-top:2px}.fc-ri-like{min-height:36px;min-width:44px;padding:4px}
.fc-ri-delete{opacity:1;pointer-events:auto;min-height:36px}.fc-ri-reply-btn{min-height:36px}
.fc-reply-row1{align-items:flex-start}.fc-reply-avatar{margin-top:9px}
.fc-reply-pill{position:relative;flex-wrap:wrap;gap:4px;border-radius:14px;padding:8px 10px}
.fc-reply-inp{flex-basis:100%;width:100%;min-height:44px;max-height:160px;resize:none;line-height:1.5;font-size:16px;padding:4px 0}
.fc-reply-send{margin-left:auto;width:36px;height:36px}.fc-reply-tool{width:36px;height:36px}
@media(max-width:767px){.fc-body>.fc-reply-box{margin-left:-46px}.fc-reply-box,.fc-reply-box.open{padding-left:0;padding-right:0}.fc-reply-nested{margin-left:8px;padding-left:8px}.fc-ri-author{font-size:12px}}

.fc-agent-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:5px;background:rgba(247,185,85,.08);border:1px solid rgba(247,185,85,.25);color:#f7b955;font:700 9px/1.35 system-ui,sans-serif;letter-spacing:.04em;white-space:nowrap}
.fc-agent-price{padding:3px 0 1px;white-space:normal}
.fc-agent-token{display:inline-block;background:none;border:0;padding:0;color:#f7b955;font-family:inherit;font-weight:700;font-size:13px;line-height:1.5;text-decoration:none;cursor:pointer}
button.fc-agent-token{font-family:inherit;font-weight:700;font-size:13px;min-height:28px;text-align:left}
.fc-agent-token:focus-visible,.fc-agent-token-choice:focus-visible{outline:2px solid #f7b955;outline-offset:3px}
.fc-agent-price-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-size:22px;font-weight:750;line-height:1.3;letter-spacing:-.025em;color:#eef1f5;font-variant-numeric:tabular-nums}
.fc-agent-currency{font-size:11px;font-weight:500;letter-spacing:0;color:#8a919c}
.fc-agent-token-choice{margin-top:6px;min-height:36px;padding:7px 11px;border:1px solid #39434d;border-radius:9px;background:#131c23;color:#f7b955;font:600 12px/1.4 system-ui,sans-serif;cursor:pointer}
.fc-agent-call-card{width:min(100%,390px);margin-top:6px;padding:14px;border:1px solid rgba(247,185,85,.28);border-radius:16px;background:linear-gradient(145deg,#12171d,#0f1419);box-shadow:0 8px 28px rgba(0,0,0,.18);white-space:normal;overflow:hidden}
.fc-agent-call-heading{display:flex;align-items:center;gap:7px;margin-bottom:12px;color:#f1f4f7;font:750 16px/1.25 system-ui,sans-serif;letter-spacing:-.01em}.fc-agent-call-trophy{font-size:18px}.fc-agent-call-info{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#eef1f5;color:#111820;font:800 12px/1 system-ui,sans-serif}
.fc-agent-call-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.fc-agent-call-token{display:flex;align-items:center;gap:10px;min-width:0}.fc-agent-call-token>strong{color:#f5f7fa;font:800 22px/1.1 system-ui,sans-serif;letter-spacing:-.02em}.fc-agent-call-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(247,185,85,.45);border-radius:50%;background:radial-gradient(circle at 30% 25%,#3d4650,#1b222a 68%);color:#f7b955;font:800 11px/1 system-ui,sans-serif;overflow:hidden}.fc-agent-call-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fc-agent-call-peak{display:inline-flex;align-items:center;justify-content:center;min-width:86px;padding:9px 11px;border-radius:12px;background:rgba(45,207,145,.16);color:#39dd9d;font:800 17px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums}
.fc-agent-call-metrics{display:grid;gap:7px;margin-top:2px}.fc-agent-call-metric{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.fc-agent-call-metric span{color:#8f98a5;font:500 13px/1.4 system-ui,sans-serif}.fc-agent-call-metric strong{color:#eef2f6;font:750 14px/1.4 system-ui,sans-serif;font-variant-numeric:tabular-nums}
.fc-agent-call-why{margin-top:13px;padding-top:11px;border-top:1px solid #27313a}.fc-agent-call-why>div{margin-bottom:6px;color:#cfd5dc;font:700 12px/1.3 system-ui,sans-serif}.fc-agent-call-why ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.fc-agent-call-why li{display:flex;align-items:flex-start;gap:7px;color:#aeb6c0;font:500 12px/1.35 system-ui,sans-serif}.fc-agent-call-why li span{color:#39dd9d;font-weight:900}
.fc-agent-call-chart-wrap{margin-top:13px;padding:9px 9px 7px;border:1px solid #25303a;border-radius:12px;background:#0b1116}.fc-agent-call-chart{display:block;width:100%;height:76px;overflow:visible}.fc-agent-call-chart-line{fill:none;stroke:#39dd9d;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.fc-agent-call-chart-labels{display:flex;justify-content:space-between;margin-top:3px;color:#7f8995;font:600 10px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums}
.fc-agent-call-open{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:44px;margin-top:13px;border:0;border-radius:11px;background:#f7b955;color:#101317;font:800 14px/1 system-ui,sans-serif;cursor:pointer}.fc-agent-call-open span{font-size:17px}.fc-agent-call-open:active{transform:translateY(1px)}.fc-agent-call-open:focus-visible,.fc-agent-topcall-row:focus-visible{outline:2px solid #f7b955;outline-offset:3px}
.fc-agent-topcall-list{display:grid;gap:7px}.fc-agent-topcall-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto 18px;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;border-radius:10px;background:#171e25;color:#eef2f6;text-align:left;cursor:pointer}.fc-agent-topcall-rank{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#f7b955;color:#12171d;font:800 12px/1 system-ui,sans-serif}.fc-agent-topcall-symbol{font:750 14px/1.2 system-ui,sans-serif}.fc-agent-topcall-row strong{color:#39dd9d;font:800 13px/1 system-ui,sans-serif}.fc-agent-topcall-row>span:last-child{color:#aab3bd;font-size:20px}
.fc-agent-call-empty p{margin:0;color:#aeb6c0;font:500 13px/1.45 system-ui,sans-serif}
@media(max-width:767px){.fc-agent-call-card{width:100%;padding:13px;border-radius:15px}.fc-agent-call-heading{font-size:15px}.fc-agent-call-token>strong{font-size:20px}.fc-agent-call-avatar{width:38px;height:38px;flex-basis:38px}.fc-agent-call-peak{min-width:80px;padding:8px 10px;font-size:16px}.fc-agent-call-open{min-height:43px}}

