/* ============================================================================
   CORVO · TERMINAL GRID  ·  v1
   A from-scratch shell design system. Bloomberg-for-degens: dense multi-pane
   grid, keyboard-first, monospace numbers, zero fluff. Loaded AFTER style.css
   so this layer owns the shell (layout, chrome, panes, command line) while the
   legacy stylesheet still themes the command-result card internals, re-skinned
   here to match. Orange #f97316 primary · Base-blue #2c6fff secondary · green/
   red for P&L only. Revert = remove this file's <link> + restore index.html.
   ============================================================================ */

:root{
  --tg-bg:#070709;          /* obsidian base                */
  --tg-panel:#0c0d11;       /* pane background              */
  --tg-panel-2:#101219;     /* raised rows / inputs         */
  --tg-panel-3:#15171f;     /* hover                        */
  --tg-line:#1b1d25;        /* hairline borders             */
  --tg-line-2:#272a35;      /* stronger dividers            */
  --tg-txt:#e8eaf0;
  --tg-dim:#8c909c;
  --tg-faint:#565b67;
  --tg-orange:#f97316;
  --tg-orange-soft:#ff9a4d;
  --tg-blue:#2c6fff;
  --tg-up:#36d07f;
  --tg-down:#ff5d6c;
  --tg-mono:"Geist Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --tg-sans:"Geist",Inter,system-ui,sans-serif;
  --tg-top:46px;
  --tg-tick:28px;
  --tg-mkt:260px;     /* slimmer left rail → wider center */
  --tg-side:190px;    /* slimmer right command terminal → wider center */
}

/* ---- hard reset of the legacy single-column shell -------------------------- */
html,body{height:100%;}
body{
  margin:0;
  background:var(--tg-bg);
  color:var(--tg-txt);
  font-family:var(--tg-sans);
  display:grid;
  grid-template-columns:[mkt] var(--tg-mkt) [work] minmax(0,1fr) [side] var(--tg-side);
  grid-template-rows:[top] var(--tg-top) [tick] var(--tg-tick) [body] minmax(0,1fr) [cmd] auto;
  grid-template-areas:
    "top  top  top"
    "tick tick tick"
    "mkt  work side"
    "cmd  cmd  cmd";
  height:100vh;height:100dvh;
  overflow:hidden;
}

/* keep decorative + overlay layers OUT of the grid flow */
#particles,.ambient-orbs{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;}
.ambient-orbs .orb{filter:blur(80px);opacity:.18;}
.drawer,.modal-backdrop,#tok-sheet,.sb-backdrop{position:fixed;}

/* ============================ TOPBAR ======================================= */
.topbar{
  grid-area:top;position:static!important;width:auto!important;height:var(--tg-top);
  display:flex;align-items:center;gap:14px;
  padding:0 14px;margin:0!important;
  background:linear-gradient(180deg,#0a0b0f,#0c0d11);
  border-bottom:1px solid var(--tg-line);z-index:30;
}
.topbar .brand{display:flex;align-items:center;gap:9px;text-decoration:none;min-width:0;}
.topbar .brand-glyph img{width:26px;height:26px;border-radius:6px;display:block;}
.topbar .brand-name{font-family:var(--tg-sans);font-weight:600;font-size:15px;letter-spacing:.02em;color:var(--tg-txt);}
.topbar .brand-sub{display:inline-block!important;font-family:var(--tg-mono)!important;font-size:11px!important;color:var(--tg-orange)!important;opacity:.9;letter-spacing:.01em!important;text-transform:none!important;padding-left:3px;}
.topbar .built-on-base{display:inline-flex;align-items:center;gap:5px;font-family:var(--tg-mono);font-size:10px;color:var(--tg-dim);padding:2px 7px;border:1px solid var(--tg-line-2);border-radius:4px;}
.topbar .built-on-base svg{width:12px;height:12px;}
#sb-toggle{display:none;background:none;border:0;color:var(--tg-dim);padding:6px;cursor:pointer;}

/* command-bar style search = ⌘K target */
.topsearch{
  flex:1;max-width:none;display:flex;align-items:center;gap:8px;
  height:30px;padding:0 10px;
  background:var(--tg-panel-2);border:1px solid var(--tg-line-2);border-radius:6px;
  font-family:var(--tg-mono);
}
.topsearch:focus-within{border-color:var(--tg-orange);box-shadow:0 0 0 1px rgba(249,115,22,.25);}
.topsearch .ts-ico{color:var(--tg-faint);flex:none;}
#topsearch-input{
  flex:1;background:none;border:0;outline:none;color:var(--tg-txt);
  font-family:var(--tg-mono);font-size:12.5px;
}
#topsearch-input::placeholder{color:var(--tg-faint);}
.topsearch::after{
  content:"⌘K";font-family:var(--tg-mono);font-size:10px;color:var(--tg-faint);
  border:1px solid var(--tg-line-2);border-radius:4px;padding:1px 5px;flex:none;
}
.topbar-right{display:flex;align-items:center;gap:7px;margin-left:auto;}
.topbar-right .iconbtn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--tg-dim);background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;}
.topbar-right .iconbtn:hover{color:var(--tg-txt);background:var(--tg-panel-3);border-color:var(--tg-line);}
.topbar-right .iconbtn svg{width:17px;height:17px;}
.status-pill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;background:var(--tg-panel-2);border:1px solid var(--tg-line);border-radius:6px;color:var(--tg-dim);font-family:var(--tg-mono);font-size:11px;cursor:pointer;}
.status-pill .status-dot{width:6px;height:6px;border-radius:50%;background:var(--tg-up);box-shadow:0 0 6px var(--tg-up);}
.wallet-pill{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 13px;border-radius:6px;cursor:pointer;
  background:linear-gradient(135deg,var(--tg-orange),#ff8a3d);border:0;color:#1a0d02;font-family:var(--tg-mono);font-weight:600;font-size:12px;letter-spacing:.02em;}
.wallet-pill .dot{width:6px;height:6px;border-radius:50%;background:#1a0d02;opacity:.5;}
.wallet-pill.connected{background:var(--tg-panel-2);border:1px solid var(--tg-line-2);color:var(--tg-txt);}
.wallet-pill.connected .dot{background:var(--tg-up);opacity:1;box-shadow:0 0 6px var(--tg-up);}

/* ============================ TICKER ======================================= */
.ticker{
  grid-area:tick;position:static!important;height:var(--tg-tick);width:auto!important;margin:0!important;
  background:var(--tg-panel);border-bottom:1px solid var(--tg-line);
  overflow:hidden;z-index:20;display:flex;align-items:center;min-width:0;max-width:100vw;
}
.ticker-track{display:inline-flex;gap:0;white-space:nowrap;animation:tg-tick 60s linear infinite;}
@keyframes tg-tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tk-item{display:inline-flex;align-items:center;gap:6px;padding:0 16px;font-family:var(--tg-mono);font-size:11.5px;border-right:1px solid var(--tg-line);}
.tk-item .tk-s{color:var(--tg-dim);font-weight:600;}
.tk-item .tk-p{color:var(--tg-txt);}
.tk-item .up{color:var(--tg-up);}.tk-item .down{color:var(--tg-down);}

/* ============================ PANES (shared) =============================== */
.tg-pane{background:var(--tg-panel);display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.tg-pane-head{
  display:flex;align-items:center;gap:8px;height:30px;flex:none;
  padding:0 11px;border-bottom:1px solid var(--tg-line);
  font-family:var(--tg-mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;
  color:var(--tg-faint);text-transform:uppercase;
}
.tg-pane-head .tg-live{margin-left:auto;display:inline-flex;align-items:center;gap:5px;color:var(--tg-up);letter-spacing:.08em;}
.tg-pane-head .tg-live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tg-up);box-shadow:0 0 6px var(--tg-up);animation:tg-pulse 2s infinite;}
@keyframes tg-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.tg-seg{display:flex;gap:0;flex:none;border-bottom:1px solid var(--tg-line);}
.tg-seg button{flex:1;background:none;border:0;border-right:1px solid var(--tg-line);color:var(--tg-dim);
  font-family:var(--tg-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:7px 0;cursor:pointer;}
.tg-seg button:last-child{border-right:0;}
.tg-seg-4 button{font-size:9px;letter-spacing:.04em;padding:7px 1px;}
.tg-seg button.on{color:var(--tg-orange);background:rgba(249,115,22,.07);box-shadow:inset 0 -2px 0 var(--tg-orange);}
.tg-pane-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;}
.tg-pane-body::-webkit-scrollbar{width:7px;}
.tg-pane-body::-webkit-scrollbar-thumb{background:var(--tg-line-2);border-radius:4px;}

.mkt-pane{grid-area:mkt;border-right:1px solid var(--tg-line);}
.side-pane{grid-area:side;border-left:1px solid var(--tg-line);}

/* ---- left rail brand (desktop · mascot + Corvo Edge atop the MKT pane) ---- */
.mkt-brand{display:flex;align-items:center;gap:9px;flex:none;padding:11px 12px;border-bottom:1px solid var(--tg-line);text-decoration:none;background:linear-gradient(180deg,#0e0f14,var(--tg-panel));}
.mkt-brand-glyph{display:inline-flex;padding:3px;border-radius:9px;background:linear-gradient(135deg,rgba(249,115,22,.22),rgba(44,111,255,.16));border:1px solid var(--tg-line-2);box-shadow:0 0 16px rgba(249,115,22,.12);}
.mkt-brand-glyph img{width:24px;height:24px;border-radius:6px;display:block;}
.mkt-brand-name{font-family:var(--tg-sans);font-weight:700;font-size:14px;color:var(--tg-txt);letter-spacing:-.01em;}

/* ---- 0xWork card families · terminal-mono polish ---- */
.chat-thread .tdc-card,.chat-thread .discover-card{background:var(--tg-panel)!important;border:1px solid var(--tg-line-2)!important;border-radius:10px!important;box-shadow:none!important;}
.chat-thread .tdc-eyebrow,.chat-thread .dx-eyebrow{font-family:var(--tg-mono)!important;font-size:9.5px!important;letter-spacing:.13em!important;text-transform:uppercase;color:var(--tg-faint)!important;}
.chat-thread .tdc-bounty,.chat-thread .dx-tile-bounty,.chat-thread .dx-bounty-hot{font-family:var(--tg-mono)!important;color:var(--tg-up)!important;}
.chat-thread .tdc-stat-v,.chat-thread .tdc-v,.chat-thread .tdc-id,.chat-thread .tdc-bounty{font-family:var(--tg-mono)!important;}
.chat-thread .tdc-stat-k,.chat-thread .tdc-k,.chat-thread .tdc-head-meta{font-family:var(--tg-mono)!important;color:var(--tg-dim)!important;}
.chat-thread .tdc-cta,.chat-thread .tdc-cta-primary,.chat-thread .tdc-cta-ghost{font-family:var(--tg-mono)!important;border-radius:7px!important;font-size:12px!important;}
.chat-thread .tdc-cta-primary{background:linear-gradient(135deg,var(--tg-orange),#ff8a3d)!important;border:0!important;color:#1a0d02!important;}
.chat-thread .tdc-cta-ghost{background:var(--tg-panel-2)!important;border:1px solid var(--tg-line-2)!important;color:var(--tg-dim)!important;}

/* ---- 0xWork hub (minimal styled card grid · mobile-first) ---- */
.oxw-hub{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:580px;margin-top:4px;}
.oxw-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;width:100%;padding:14px;background:var(--tg-panel);border:1px solid var(--tg-line-2);border-radius:11px;cursor:pointer;transition:border-color .15s,transform .1s,background .15s;}
.oxw-card:hover{border-color:var(--tg-orange);background:var(--tg-panel-3);transform:translateY(-2px);}
.oxw-card .oxw-ic{font-size:20px;line-height:1;}
.oxw-card .oxw-t{font-family:var(--tg-sans);font-weight:600;font-size:14px;color:var(--tg-txt);margin-top:2px;}
.oxw-card .oxw-d{font-family:var(--tg-mono);font-size:11px;color:var(--tg-dim);}
.oxw-card.primary{background:linear-gradient(135deg,rgba(249,115,22,.14),rgba(249,115,22,.04));border-color:rgba(249,115,22,.36);}
.oxw-card.primary .oxw-t{color:var(--tg-orange);}
@media(max-width:880px){.oxw-hub{grid-template-columns:1fr;max-width:100%;}}
/* 0xWork hub · agent status banner + live open tasks */
.oxw-agent{display:flex;align-items:center;gap:12px;width:100%;max-width:580px;padding:13px 14px;margin-bottom:14px;background:var(--tg-panel);border:1px solid var(--tg-line-2);border-radius:12px;text-align:left;}
.oxw-agent.oxw-cta{cursor:pointer;}
.oxw-agent.oxw-cta:hover{border-color:var(--tg-orange);}
.oxw-ag-ic{font-size:25px;flex:none;line-height:1;}
.oxw-ag-x{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.oxw-ag-x b{font-family:var(--tg-sans);font-weight:700;font-size:14px;color:var(--tg-txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.oxw-ag-x i{font-family:var(--tg-mono);font-size:11px;color:var(--tg-dim);font-style:normal;}
.oxw-ag-go{flex:none;font-family:var(--tg-mono);font-size:12px;color:var(--tg-orange);background:var(--tg-panel-2);border:1px solid var(--tg-line-2);border-radius:8px;padding:8px 12px;cursor:pointer;white-space:nowrap;}
.oxw-ag-go.primary{background:linear-gradient(135deg,var(--tg-orange),#ff8a3d);color:#1a0d02;border:0;font-weight:600;}
.oxw-sub{display:flex;align-items:center;gap:7px;font-family:var(--tg-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--tg-faint);margin:20px 0 9px;}
.oxw-sub-pr{color:var(--tg-orange);}
.oxw-sub-live{margin-left:auto;color:var(--tg-up);display:inline-flex;align-items:center;gap:4px;letter-spacing:.08em;}
.oxw-sub-live::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--tg-up);box-shadow:0 0 5px var(--tg-up);animation:tg-pulse 2s infinite;}
.oxw-tasks{display:flex;flex-direction:column;gap:8px;max-width:580px;}
.oxw-task{display:flex;align-items:center;gap:10px;justify-content:space-between;width:100%;text-align:left;padding:11px 13px;background:var(--tg-panel);border:1px solid var(--tg-line-2);border-radius:10px;cursor:pointer;font-family:var(--tg-mono);transition:border-color .15s,background .15s;}
.oxw-task:hover{border-color:var(--tg-orange);background:var(--tg-panel-3);}
.oxw-tk-l{min-width:0;display:flex;flex-direction:column;gap:3px;}
.oxw-tk-cat{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--tg-faint);}
.oxw-tk-desc{font-size:12px;color:var(--tg-txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.oxw-tk-b{flex:none;font-size:13px;font-weight:600;color:var(--tg-up);}

/* home declutter · the left rail + tabs cover discovery, so drop the redundant pulse feed + proof + share from the welcome (desktop + mobile) */
#welcome .pulse-cols,#welcome .welcome-proof,#welcome .welcome-share-row,#welcome .suggest-grid,#welcome #active-banner{display:none!important;}

/* ---- wallet tracker (Nansen-style · pinned wallets) ---- */
.tw-list{display:flex;flex-direction:column;gap:8px;max-width:560px;margin-top:14px;}
.tw-empty{font-family:var(--tg-mono);font-size:12px;color:var(--tg-faint);padding:14px;border:1px dashed var(--tg-line-2);border-radius:10px;text-align:center;}
.tw-row{display:flex;align-items:stretch;gap:8px;}
.tw-main{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--tg-panel);border:1px solid var(--tg-line-2);border-radius:10px;cursor:pointer;font-family:var(--tg-mono);transition:border-color .15s,background .15s;}
.tw-main:hover{border-color:var(--tg-orange);background:var(--tg-panel-3);}
.tw-ad{font-size:13px;color:var(--tg-txt);}
.tw-val{font-size:13px;color:var(--tg-up);font-weight:600;}
.tw-x{flex:none;width:42px;border:1px solid var(--tg-line-2);border-radius:10px;background:var(--tg-panel);color:var(--tg-faint);font-size:18px;cursor:pointer;line-height:1;}
.tw-x:hover{border-color:var(--tg-down);color:var(--tg-down);}
@media(max-width:880px){.tw-list{max-width:100%;}}

/* ---- RIGHT · COMMAND TERMINAL ---- */
.term-pane>.tg-pane-head{display:none;}
.term-head{flex:none;padding:12px 13px 13px;border-bottom:1px solid var(--tg-line);background:linear-gradient(180deg,#0e0f14,#0c0d11);}
.th-row1{display:flex;align-items:center;gap:8px;font-family:var(--tg-mono);font-size:11.5px;}
.th-glyph img{width:22px;height:22px;border-radius:6px;display:block;}
.th-uri{color:var(--tg-orange);font-weight:600;letter-spacing:.01em;}
.th-online{margin-left:auto;display:inline-flex;align-items:center;gap:5px;color:var(--tg-up);font-size:10px;letter-spacing:.08em;text-transform:uppercase;}
.th-online .d{width:6px;height:6px;border-radius:50%;background:var(--tg-up);box-shadow:0 0 6px var(--tg-up);animation:tg-pulse 2s infinite;}
.th-bal{margin-top:13px;}
.th-bal-row{display:flex;align-items:baseline;gap:9px;}
.th-bal-amt{font-family:var(--tg-mono);font-size:24px;color:var(--tg-txt);line-height:1;}
.th-bal-amt.clk{cursor:pointer;}
.th-bal-amt.clk:hover{color:var(--tg-orange);}
.th-bal-chg{font-family:var(--tg-mono);font-size:12px;color:var(--tg-down);}
.th-bal-today{font-family:var(--tg-mono);font-size:10.5px;color:var(--tg-faint);margin-top:4px;}
.th-actions{display:flex;gap:7px;margin-top:13px;}
.th-act{flex:1;height:34px;border:1px solid var(--tg-line-2);border-radius:7px;background:var(--tg-panel-2);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s,border-color .1s,background .1s;}
.th-act:hover{border-color:var(--tg-orange);background:var(--tg-panel-3);transform:translateY(-1px);}
.th-act:active{transform:translateY(0);}

.term-body{padding:2px 0 0;}
.term-grp{font-family:var(--tg-mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--tg-faint);padding:14px 13px 5px;}
.term-grp .tg-pr{color:var(--tg-orange);margin-right:5px;}
.term-cmd{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:0;border-left:2px solid transparent;padding:6px 13px;cursor:pointer;font-family:var(--tg-mono);font-size:12.5px;color:var(--tg-dim);}
.term-cmd:hover{background:var(--tg-panel-3);color:var(--tg-txt);border-left-color:var(--tg-orange);}
.term-cmd .tc-pr{color:var(--tg-up);opacity:.65;}
.term-cmd .tc-ico{width:18px;text-align:center;font-size:13px;flex:none;}
.term-cmd:hover .tc-name{color:var(--tg-orange);}
.term-prices{padding:1px 0 2px;}
.term-price{display:flex;align-items:center;gap:8px;padding:5px 13px;font-family:var(--tg-mono);font-size:12px;}
.term-price .tp-s{color:var(--tg-dim);width:36px;}
.term-price .tp-p{color:var(--tg-txt);margin-left:auto;}
.term-price .tp-c{font-size:10.5px;width:54px;text-align:right;}
.term-price .tp-c.up{color:var(--tg-up);}.term-price .tp-c.down{color:var(--tg-down);}
.term-foot{display:flex;align-items:center;gap:6px;margin-top:8px;padding:13px;border-top:1px solid var(--tg-line);font-family:var(--tg-mono);font-size:9.5px;letter-spacing:.06em;color:var(--tg-faint);text-transform:uppercase;}
.term-foot .d{width:6px;height:6px;border-radius:50%;background:var(--tg-up);box-shadow:0 0 6px var(--tg-up);}

/* dense market / token rows */
.tg-row{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;
  width:100%;text-align:left;padding:7px 11px;background:none;border:0;border-bottom:1px solid var(--tg-line);
  cursor:pointer;font-family:var(--tg-mono);
}
.tg-row:hover{background:var(--tg-panel-3);}
.tg-row .r-l{min-width:0;display:flex;align-items:center;gap:7px;}
.tg-row .r-ico{width:18px;height:18px;border-radius:50%;background:var(--tg-line-2) center/cover;flex:none;display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--tg-dim);font-weight:700;}
.tg-row .r-sym{font-size:12px;color:var(--tg-txt);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tg-row .r-chain{width:5px;height:5px;border-radius:50%;flex:none;}
.tg-row .r-chain.base{background:var(--tg-blue);}.tg-row .r-chain.solana{background:#9945ff;}.tg-row .r-chain.fogo{background:#ff6b35;}
.tg-row .r-r{text-align:right;}
.tg-row .r-px{font-size:12px;color:var(--tg-txt);}
.tg-row .r-chg{font-size:10.5px;}
.tg-row .r-chg.up{color:var(--tg-up);}.tg-row .r-chg.down{color:var(--tg-down);}
.tg-row .r-sub{font-size:9.5px;color:var(--tg-faint);}
.tg-pane-loading,.tg-pane-empty{padding:16px 12px;font-family:var(--tg-mono);font-size:11px;color:var(--tg-faint);text-align:center;line-height:1.5;}
.mkt-grp{font-family:var(--tg-mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--tg-faint);padding:12px 11px 5px;border-bottom:1px solid var(--tg-line);}
.mkt-grp:first-child{padding-top:6px;}
/* shimmer skeleton (premium load state · also covers GeckoTerminal 429 waits) */
.tg-skel{padding:5px 0;}
.tg-skel .sk{height:13px;margin:10px 11px;border-radius:5px;background:linear-gradient(90deg,var(--tg-panel-2) 25%,var(--tg-panel-3) 50%,var(--tg-panel-2) 75%);background-size:200% 100%;animation:tg-skel 1.4s linear infinite;}
.tg-skel .sk:nth-child(odd){width:82%;}
@keyframes tg-skel{to{background-position:-200% 0}}

/* side-pane holdings shortcut */
.tg-holdings{flex:none;padding:11px;border-bottom:1px solid var(--tg-line);}
.tg-holdings .hd-val{font-family:var(--tg-mono);font-size:20px;color:var(--tg-txt);}
.tg-holdings .hd-lbl{font-family:var(--tg-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tg-faint);margin-bottom:3px;}
.tg-holdings .hd-btn{margin-top:9px;width:100%;background:var(--tg-panel-2);border:1px solid var(--tg-line-2);border-radius:6px;color:var(--tg-txt);
  font-family:var(--tg-mono);font-size:11px;letter-spacing:.06em;padding:7px 0;cursor:pointer;text-transform:uppercase;}
.tg-holdings .hd-btn:hover{border-color:var(--tg-orange);color:var(--tg-orange);}

/* ============================ WORKSPACE ==================================== */
.chat-surface{
  grid-area:work;position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;
  display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--tg-bg);overflow:hidden;
}
.work-tabs{
  display:flex;align-items:stretch;gap:0;flex:none;height:34px;
  background:var(--tg-panel);border-bottom:1px solid var(--tg-line);overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;
}
.work-tabs::-webkit-scrollbar{display:none;}
.work-tab{
  display:inline-flex;align-items:center;gap:6px;padding:0 13px;white-space:nowrap;cursor:pointer;
  border:0;border-right:1px solid var(--tg-line);background:none;color:var(--tg-dim);
  font-family:var(--tg-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;
}
.work-tab:hover{color:var(--tg-txt);background:var(--tg-panel-3);}
.work-tab.active{color:var(--tg-orange);background:var(--tg-bg);box-shadow:inset 0 -2px 0 var(--tg-orange);}
.work-tab .wt-ico{font-size:11px;opacity:.85;}
.work-tab.wt-sec{display:none;}
.work-tab.wt-more-tab{color:var(--tg-dim);}
.work-tab.wt-more-tab:hover{color:var(--tg-orange);}

.chat-thread{
  flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;
  padding:18px clamp(14px,4vw,40px) 26px;width:100%;max-width:none!important;margin:0!important;
}
.chat-thread::-webkit-scrollbar{width:9px;}
.chat-thread::-webkit-scrollbar-thumb{background:var(--tg-line-2);border-radius:5px;}

/* ============================ COMMAND LINE ================================= */
.composer{
  grid-area:cmd;position:static!important;width:auto!important;margin:0!important;
  background:var(--tg-panel);border-top:1px solid var(--tg-line-2);padding:0;z-index:25;
}
.composer-inner{
  display:flex;align-items:flex-end;gap:8px;padding:9px 13px;max-width:none!important;margin:0!important;
}
.composer-inner::before{
  content:"›";font-family:var(--tg-mono);font-size:18px;line-height:1;color:var(--tg-orange);
  padding-bottom:5px;flex:none;font-weight:700;
}
#composer-input{
  flex:1;background:var(--tg-panel-2);border:1px solid var(--tg-line-2);border-radius:6px;
  color:var(--tg-txt);font-family:var(--tg-mono);font-size:13px;line-height:1.45;
  padding:8px 11px;resize:none;outline:none;min-height:20px;
}
#composer-input:focus{border-color:var(--tg-orange);box-shadow:0 0 0 1px rgba(249,115,22,.2);}
#composer-input::placeholder{color:var(--tg-faint);}
.composer-icon{flex:none;width:34px;height:34px;border:1px solid var(--tg-line-2);border-radius:6px;background:var(--tg-panel-2);color:var(--tg-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.composer-icon:hover{color:var(--tg-orange);border-color:var(--tg-orange);}
.composer-send{flex:none;width:34px;height:34px;border:0;border-radius:6px;background:linear-gradient(135deg,var(--tg-orange),#ff8a3d);color:#1a0d02;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.composer-send:disabled{opacity:.45;cursor:default;}
.composer-send svg{width:17px;height:17px;}
.composer-foot{display:flex;align-items:center;justify-content:space-between;padding:0 13px 7px 30px;font-family:var(--tg-mono);font-size:10px;color:var(--tg-faint);}
.composer-foot .kbd{background:var(--tg-panel-2);border:1px solid var(--tg-line-2);border-radius:3px;padding:0 4px;color:var(--tg-dim);}
.composer-palette{position:absolute;bottom:100%;left:13px;right:13px;margin-bottom:8px;background:var(--tg-panel-2);border:1px solid var(--tg-line-2);border-radius:8px;box-shadow:0 -10px 40px rgba(0,0,0,.6);overflow:hidden;z-index:40;}

/* ============================ MOBILE NAV =================================== */
.sidebar{
  position:fixed;top:0;left:0;bottom:0;width:230px;z-index:120;
  background:var(--tg-panel);border-right:1px solid var(--tg-line-2);
  transform:translateX(-105%);transition:transform .2s ease;
  display:flex;flex-direction:column;padding:14px 0;overflow-y:auto;
}
.sidebar.open{transform:translateX(0);}
.sidebar .sb-logo{display:flex;align-items:center;gap:9px;padding:4px 16px 14px;text-decoration:none;border-bottom:1px solid var(--tg-line);margin-bottom:8px;}
.sidebar .sb-logo img{width:26px;height:26px;border-radius:6px;}
.sidebar .brand-name{color:var(--tg-txt);font-weight:600;}
.sidebar .sb-group{font-family:var(--tg-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--tg-faint);padding:12px 16px 5px;}
.sidebar .sb-item{display:flex;align-items:center;gap:10px;padding:9px 16px;color:var(--tg-dim);text-decoration:none;cursor:pointer;font-size:13px;font-family:var(--tg-mono);}
.sidebar .sb-item:hover{background:var(--tg-panel-3);color:var(--tg-txt);}
.sidebar .sb-item.active{color:var(--tg-orange);box-shadow:inset 2px 0 0 var(--tg-orange);}
.sidebar .sb-foot{margin-top:auto;padding:12px 16px;font-family:var(--tg-mono);font-size:10px;color:var(--tg-faint);}
.sb-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:110;opacity:0;pointer-events:none;transition:opacity .2s;}
.sb-backdrop.show{opacity:1;pointer-events:auto;}

.botnav{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  grid-template-columns:repeat(5,1fr);background:var(--tg-panel);border-top:1px solid var(--tg-line-2);
}
.botnav .bn-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0 9px;color:var(--tg-faint);text-decoration:none;font-family:var(--tg-mono);font-size:9.5px;letter-spacing:.04em;cursor:pointer;text-transform:uppercase;}
.botnav .bn-item .bn-ico{font-size:16px;}
.botnav .bn-item.active{color:var(--tg-orange);}

/* ============================ RE-SKIN ENGINE CARDS ========================= */
/* The command engine renders into #chat-thread with legacy classes. Pull them
   into the terminal aesthetic: square-ish corners, hairline borders, mono
   numbers, dark panels. Light touch · internals keep their structure. */
.chat-thread .card,.chat-thread .result-card,.chat-thread .pf-card,.chat-thread .vcard{
  background:var(--tg-panel)!important;border:1px solid var(--tg-line-2)!important;border-radius:8px!important;
  box-shadow:none!important;
}
.chat-thread .mono,.chat-thread .v,.chat-thread .pf-hero,.chat-thread .ts-px,.chat-thread .dmk-p,.chat-thread .ptok-price{font-family:var(--tg-mono)!important;}
.chat-thread .btn-primary,.chat-thread .ts-btn.primary,.chat-thread .is-primary{background:linear-gradient(135deg,var(--tg-orange),#ff8a3d)!important;border:0!important;color:#1a0d02!important;border-radius:6px!important;font-family:var(--tg-mono)!important;}
.chat-thread .action-chip,.chat-thread .followup-chip,.chat-thread .tk-chip,.chat-thread .pf-chip{font-family:var(--tg-mono)!important;border-radius:5px!important;}

/* token rows / pulse cards inside the workspace → terminal rows */
.chat-thread .ptok{background:var(--tg-panel)!important;border:1px solid var(--tg-line)!important;border-radius:6px!important;}
.chat-thread .ptok:hover{border-color:var(--tg-line-2)!important;background:var(--tg-panel-3)!important;}

/* ---- terminal BOOT banner (prepended to #welcome by corvo-grid.js) ---- */
.tg-boot{font-family:var(--tg-mono);max-width:520px;margin:0 auto 22px;padding:11px 14px;background:var(--tg-panel);border:1px solid var(--tg-line-2);border-radius:8px;text-align:left;box-sizing:border-box;}
.tg-boot .bl{font-size:12px;line-height:1.85;color:var(--tg-dim);opacity:0;transform:translateY(2px);animation:tg-bootin .3s ease forwards;}
.tg-boot .bl.head{color:var(--tg-faint);}
.tg-boot .bl.rdy{color:var(--tg-txt);}
.tg-boot .pr{color:var(--tg-orange);font-weight:600;}
.tg-boot .ok,.tg-boot .lv{color:var(--tg-up);}
.tg-boot .bl:nth-child(1){animation-delay:.04s}
.tg-boot .bl:nth-child(2){animation-delay:.30s}
.tg-boot .bl:nth-child(3){animation-delay:.56s}
.tg-boot .bl:nth-child(4){animation-delay:.82s}
.tg-boot .bl:nth-child(5){animation-delay:1.08s}
.tg-boot .cur{display:inline-block;width:7px;color:var(--tg-orange);animation:tg-blink 1.05s steps(1) infinite;}
@keyframes tg-bootin{to{opacity:1;transform:none}}
@keyframes tg-blink{0%,50%{opacity:1}50.01%,100%{opacity:0}}

/* ---- terminal WELCOME (home) ---- */
.welcome{max-width:760px;margin:0 auto;}
.welcome .hero-glyph img{width:54px;height:54px;border-radius:12px;}
.welcome .hero-eyebrow{font-family:var(--tg-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--tg-orange);}
.welcome h1{font-family:var(--tg-sans);font-weight:600;letter-spacing:-.01em;}
.welcome h1 .grad{background:linear-gradient(135deg,var(--tg-orange),var(--tg-orange-soft));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.welcome .lead{color:var(--tg-dim);font-family:var(--tg-sans);}
.welcome .kbd{font-family:var(--tg-mono);background:var(--tg-panel-2);border:1px solid var(--tg-line-2);border-radius:4px;padding:0 5px;color:var(--tg-orange);}
.view-title{font-family:var(--tg-sans);font-weight:600;}
.view-sub{color:var(--tg-dim);font-family:var(--tg-mono);font-size:12px;}

/* ============================ RESPONSIVE =================================== */
@media (max-width:1080px){
  :root{--tg-mkt:230px;--tg-side:172px;}
}
/* ---- MOBILE-FIRST: single column · botnav is a real grid row (no fixed overlap) ---- */
@media (max-width:880px){
  body{
    grid-template-columns:minmax(0,1fr);  /* minmax(0,...) lets the column shrink below min-content · prevents the whole grid overflowing the viewport */
    grid-template-rows:[top] var(--tg-top) [tick] var(--tg-tick) [body] minmax(0,1fr) [cmd] auto [nav] auto;
    grid-template-areas:"top" "tick" "work" "cmd" "nav";
    overflow-x:hidden;width:100%;max-width:100vw;
  }
  .topbar,.ticker,.chat-surface,.composer{min-width:0;max-width:100vw;}
  .mkt-pane,.side-pane,.work-tabs{display:none;}
  .topbar{gap:8px;padding:0 10px;}
  .topbar .topsearch::after{display:none;}
  .topbar .built-on-base{display:none;}
  .topbar .brand-sub{display:none!important;}
  .topbar .brand-name{font-size:14px;}
  .topbar-right{gap:5px;}
  .topbar-right .status-pill,.topbar-right .iconbtn[href="/docs/"]{display:none;} /* trim chrome · keep settings/inbox/wallet */
  .topsearch{display:none!important;}     /* search removed on mobile · use the composer */
  .topbar .brand-name{display:inline!important;}  /* now that search is gone, show the wordmark */
  #sb-toggle{display:none!important;}        /* mobile left-nav removed · botnav covers navigation */
  .sidebar,.sb-backdrop{display:none!important;}
  /* botnav flows as its own grid row · command line always sits directly above it */
  .botnav{display:grid;position:static!important;grid-area:nav;}
  .composer{margin:0!important;}
  .chat-thread{padding:14px 14px 22px;overflow-x:hidden;}
  /* the legacy welcome uses #welcome (id) selectors · must override at id+!important
     to refit the full-width-body hero into the narrow mobile grid column */
  #welcome.welcome,.chat-thread .welcome{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important;text-align:center!important;box-sizing:border-box;}
  #welcome .hero-glyph img{width:46px!important;height:46px!important;}
  #welcome h1{font-size:clamp(23px,7vw,30px)!important;line-height:1.14!important;word-break:break-word;}
  #welcome .lead{font-size:13px!important;line-height:1.55!important;}
  #welcome .pulse-cols{display:none!important;}
  #welcome .pulse-col{width:100%!important;min-width:0!important;}
  #welcome .welcome-prices,#welcome .welcome-tagline{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;width:100%!important;}
  #welcome .suggest-grid{display:none!important;}
  #welcome .suggest{width:100%!important;box-sizing:border-box;}
  #welcome .tg-boot{max-width:100%!important;width:100%!important;}
  /* token cards / rows inside the workspace go full-width on mobile */
  .chat-thread .feed-grid,.chat-thread .pulse-list{grid-template-columns:1fr!important;}
  .chat-thread .ptok{width:100%!important;box-sizing:border-box;}
}
/* very small phones · tighten further */
@media (max-width:420px){
  :root{--tg-top:44px;--tg-tick:26px;}
  .topbar .brand-name{display:none;}        /* logo-only to free width for search + wallet */
  .composer-foot .ft-r{display:none;}
  .welcome h1{font-size:clamp(24px,8vw,30px);}
}

/* ============================ TRENDING (command terminal) ================== */
.tg-grp-live{margin-left:auto;font-size:9px;letter-spacing:.08em;color:var(--tg-up);text-transform:uppercase;display:inline-flex;align-items:center;gap:4px;}
.tg-grp-live::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--tg-up);box-shadow:0 0 5px var(--tg-up);animation:tg-pulse 2s infinite;}
.term-grp{display:flex;align-items:center;}
.term-trend{padding:1px 0 2px;}
.term-trend-row{display:flex;align-items:center;gap:7px;width:100%;text-align:left;background:none;border:0;padding:6px 13px;cursor:pointer;font-family:var(--tg-mono);font-size:12px;color:var(--tg-dim);}
.term-trend-row:hover{background:var(--tg-panel-3);color:var(--tg-txt);}
.term-trend-row .tt-ico{width:18px;height:18px;border-radius:50%;background:var(--tg-line-2) center/cover;flex:none;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--tg-dim);}
.term-trend-row .r-chain{margin-left:-4px;flex:none;}
.tt-sym{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tg-txt);}
.tt-px{font-size:11px;}
.tt-chg{font-size:10px;width:46px;text-align:right;}
.tt-chg.up{color:var(--tg-up);}.tt-chg.down{color:var(--tg-down);}

/* ============================ /link CARD · minimal terminal restyle ======== */
.chat-thread .tg-card{background:var(--tg-panel)!important;border:1px solid var(--tg-line-2)!important;border-radius:10px!important;padding:14px!important;box-shadow:none!important;display:flex;flex-direction:column;gap:12px;}
.chat-thread .tg-card-head{display:flex;align-items:center;gap:11px;}
.chat-thread .tg-card-icon svg{width:30px;height:30px;}
.chat-thread .tg-card-title{font-family:var(--tg-sans);font-weight:600;font-size:14px;color:var(--tg-txt);}
.chat-thread .tg-card-sub{font-family:var(--tg-mono);font-size:11px;color:var(--tg-dim);margin-top:2px;}
.chat-thread .tg-card-badge{font-family:var(--tg-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;border-radius:5px;padding:3px 7px;background:var(--tg-panel-2);border:1px solid var(--tg-line-2);color:var(--tg-faint);margin-left:auto;}
.chat-thread .tg-card-badge.ok{color:var(--tg-up);border-color:rgba(54,208,127,.3);background:rgba(54,208,127,.08);}
.chat-thread .tg-card-badge.warn{color:var(--tg-orange);border-color:rgba(249,115,22,.3);background:rgba(249,115,22,.08);}
.chat-thread .tg-code-row{display:flex;gap:8px;align-items:stretch;}
.chat-thread .tg-code-pill{flex:1;font-family:var(--tg-mono)!important;font-size:13px!important;background:var(--tg-panel-2)!important;border:1px solid var(--tg-line-2)!important;border-radius:8px!important;color:var(--tg-orange)!important;letter-spacing:.02em;padding:10px 12px!important;display:flex;align-items:center;}
.chat-thread .tg-copy-btn{flex:none;display:flex;align-items:center;gap:6px;border-radius:8px!important;border:1px solid var(--tg-line-2)!important;background:var(--tg-panel-2)!important;color:var(--tg-dim)!important;font-family:var(--tg-mono)!important;font-size:11px!important;padding:0 11px!important;cursor:pointer;}
.chat-thread .tg-copy-btn:hover{border-color:var(--tg-orange)!important;color:var(--tg-orange)!important;}
.chat-thread .tg-card-actions{display:flex;gap:8px;}
.chat-thread .tg-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;font-family:var(--tg-mono)!important;font-size:12px!important;border-radius:8px!important;padding:9px 10px!important;cursor:pointer;text-decoration:none;}
.chat-thread .tg-btn svg{width:15px;height:15px;}
.chat-thread .tg-btn-primary{background:linear-gradient(135deg,var(--tg-orange),#ff8a3d)!important;border:0!important;color:#1a0d02!important;font-weight:600;}
.chat-thread .tg-btn-ghost{background:var(--tg-panel-2)!important;border:1px solid var(--tg-line-2)!important;color:var(--tg-dim)!important;}
.chat-thread .tg-btn-ghost:hover{color:var(--tg-txt)!important;border-color:var(--tg-line-2)!important;}
.chat-thread .tg-btn-danger{background:rgba(255,93,108,.1)!important;border:1px solid rgba(255,93,108,.3)!important;color:var(--tg-down)!important;}
.chat-thread .tg-card-foot{font-family:var(--tg-mono);font-size:10px;color:var(--tg-faint);border-top:1px solid var(--tg-line);padding-top:9px;}

/* ============================ HEADER · PREMIUM PASS (desktop) ============== */
@media (min-width:881px){
  .topbar{position:relative!important;inset:auto!important;background:linear-gradient(180deg,#0d0e13,#0a0b0f)!important;padding:0 16px!important;gap:16px!important;}
  .topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 8%,rgba(249,115,22,.5),rgba(44,111,255,.42),transparent 92%);opacity:.55;pointer-events:none;}
  .topbar .brand{display:flex!important;align-items:center;gap:10px;}  /* legacy hid the topbar brand on desktop (old sidebar held the logo) · force it */
  .topbar .brand-glyph{display:inline-flex!important;padding:4px;border-radius:11px;background:linear-gradient(135deg,rgba(249,115,22,.22),rgba(44,111,255,.16));border:1px solid var(--tg-line-2);box-shadow:0 0 20px rgba(249,115,22,.14);}
  .topbar .brand-glyph img{width:30px;height:30px;border-radius:7px;display:block;}
  .topbar .brand-name{font-size:15px;letter-spacing:-.01em;}
  .topsearch{height:33px;background:rgba(255,255,255,.03)!important;border:1px solid var(--tg-line-2)!important;border-radius:10px!important;transition:border-color .15s,box-shadow .15s,background .15s;max-width:540px;margin:0 auto;}
  .topsearch:focus-within{border-color:var(--tg-orange)!important;background:rgba(249,115,22,.05)!important;box-shadow:0 0 0 3px rgba(249,115,22,.12)!important;}
  .topsearch::after{background:rgba(255,255,255,.05);border-color:var(--tg-line-2);}
  .topbar-right{gap:8px;}
  .topbar-right .iconbtn{width:32px;height:32px;border-radius:8px;}
  .topbar-right .iconbtn:hover{background:var(--tg-panel-3);border-color:var(--tg-line-2);color:var(--tg-orange);}
  .status-pill{height:30px;border-radius:8px;background:rgba(54,208,127,.09)!important;border:1px solid rgba(54,208,127,.28)!important;color:var(--tg-up)!important;}
  .status-pill .status-dot{background:var(--tg-up);box-shadow:0 0 6px var(--tg-up);}
  .wallet-pill{height:32px;border-radius:9px;font-weight:600;box-shadow:0 3px 14px rgba(249,115,22,.28);}
  .wallet-pill.connected{box-shadow:none;}
}

/* ============================ HEADER · FINAL polish (desktop) ============== */
@media (min-width:881px){
  .topbar .brand-name{font-weight:700;}
  .topbar .brand-sub{padding:2px 7px;background:rgba(249,115,22,.09);border:1px solid rgba(249,115,22,.22);border-radius:6px;font-size:10.5px!important;}
  .topbar-right{padding-left:14px;margin-left:6px;position:relative;}
  .topbar-right::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:20px;width:1px;background:var(--tg-line-2);}
  .topsearch{box-shadow:inset 0 1px 0 rgba(255,255,255,.025);}
  .topsearch .ts-ico{color:var(--tg-orange);opacity:.85;}
  .wallet-pill{padding:0 15px;letter-spacing:.01em;}
  .status-pill .status-lbl{text-transform:uppercase;letter-spacing:.08em;font-size:10px;}
}
@media (min-width:881px){
  #sb-toggle{display:none;}
  .sidebar{display:none;}
}


/* ---- right sidebar · Edge-style portfolio holdings (pf-tok aesthetic, rail-compact) ---- */
.term-hold { display:flex; flex-direction:column; gap:0; padding:8px 10px 6px; border-top:1px solid rgba(255,255,255,.06); }
.term-hold-h { display:flex; align-items:center; justify-content:space-between; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--tg-dim,#8a93a8); font-weight:700; margin-bottom:3px; padding:0 2px; }
.term-hold-h .thh-all { color:var(--cvx-orange,#f97316); cursor:pointer; font-size:10px; }
.term-hold-h .thh-all:hover { text-decoration:underline; }
.th-tok { display:flex; align-items:center; gap:8px; width:100%; padding:7px 6px; border:0; border-bottom:1px solid rgba(255,255,255,.055); border-radius:0; background:transparent; cursor:pointer; text-align:left; transition:background .15s; }
.th-tok:last-child { border-bottom:0; }
.th-tok:hover { background:rgba(249,115,22,.06); }
.th-tok-ico { width:23px; height:23px; border-radius:50%; background:linear-gradient(135deg,#f97316,#2c6fff); display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:800; color:#fff; flex:0 0 auto; overflow:hidden; }
.th-tok-ico img { width:100%; height:100%; object-fit:cover; }
.th-tok-mid { flex:1; min-width:0; display:flex; flex-direction:column; }
.th-tok-sym { font-weight:700; color:#fff; font-size:12px; line-height:1.15; }
.th-tok-sub { font-size:10px; color:var(--tg-dim,#8a93a8); margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.th-tok-r { text-align:right; flex:0 0 auto; }
.th-tok-v { font-weight:700; color:#fff; font-family:'JetBrains Mono',ui-monospace,monospace; font-size:12px; font-variant-numeric:tabular-nums; }
.th-tok-pct { font-size:10px; margin-top:1px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.th-tok-pct.up { color:var(--tg-up,#4ade80); }
.th-tok-pct.down { color:var(--tg-down,#f87171); }
.term-hold-h .thh-pnl { font-size:9.5px; font-weight:700; margin-left:6px; letter-spacing:0; text-transform:none; font-variant-numeric:tabular-nums; }
.thh-pnl.up { color:var(--tg-up,#4ade80); }
.thh-pnl.down { color:var(--tg-down,#f87171); }

/* Pyth live-tick flash */
@keyframes cvxTick { 0% { color: var(--cvx-orange,#f97316); } 100% {} }
.cvx-tick { animation: cvxTick .8s ease-out; }

/* holdings · +N more expander */
.term-hold .th-tok.th-hidden { display:none; }
.term-hold.exp .th-tok.th-hidden { display:flex; }
.thh-more { display:block; width:100%; margin-top:6px; background:transparent; border:1px dashed rgba(255,255,255,.12); border-radius:7px; color:var(--tg-dim,#8a93a8); font-family:inherit; font-size:10px; font-weight:600; padding:6px 0; cursor:pointer; letter-spacing:.04em; }
.thh-more:hover { color:var(--cvx-orange,#f97316); border-color:var(--cvx-orange,#f97316); }

/* sidebar 7d portfolio sparkline */
.th-spark { display:none; margin-top:7px; opacity:.9; }
.th-spark svg { display:block; }


/* ============================================================================
   MOBILE APP PASS · 2026-06-23 · native-app feel (safe-area, frosted chrome,
   premium tab bar w/ elevated center action). Additive · reversible (delete
   this block to revert). Wins by source order over the earlier mobile rules.
   ============================================================================ */
@media (max-width:880px){
  html, body { -webkit-tap-highlight-color:transparent; }
  .chat-thread, .tg-pane-body, .work-surface { -webkit-overflow-scrolling:touch; }

  /* grid · let the top row grow for the notch (safe-area), pad the nav for the home indicator */
  body{
    grid-template-rows:[top] auto [tick] var(--tg-tick) [body] minmax(0,1fr) [cmd] auto [nav] auto;
  }

  /* ---- frosted app bar (header) ---- */
  .topbar{
    height:auto; min-height:var(--tg-top);
    padding-top:calc(env(safe-area-inset-top) + 2px);
    background:rgba(9,9,12,.78);
    -webkit-backdrop-filter:blur(18px) saturate(1.25); backdrop-filter:blur(18px) saturate(1.25);
    border-bottom:1px solid rgba(255,255,255,.06);
    box-shadow:0 1px 0 rgba(255,255,255,.02), 0 6px 22px rgba(0,0,0,.34);
  }
  .topbar .brand-glyph img{ width:26px; height:26px; border-radius:8px; }
  .topbar .brand-name{ font-weight:800; letter-spacing:-.01em; }
  .topbar-right .iconbtn{ width:34px; height:34px; border-radius:11px; }
  .topbar-right .iconbtn:active{ transform:scale(.9); background:rgba(249,115,22,.12); }

  /* ---- ticker · slightly tighter, blends into the app bar ---- */
  .ticker{ background:rgba(9,9,12,.6); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }

  /* ---- premium tab bar ---- */
  .botnav{
    background:rgba(11,11,14,.82);
    -webkit-backdrop-filter:blur(22px) saturate(1.4); backdrop-filter:blur(22px) saturate(1.4);
    border-top:1px solid rgba(255,255,255,.07);
    box-shadow:0 -10px 34px rgba(0,0,0,.5);
    padding-bottom:env(safe-area-inset-bottom);
    overflow:visible;
  }
  .botnav .bn-item{
    position:relative; gap:3px; padding:10px 0 8px; font-size:9px; font-weight:600;
    color:var(--tg-faint); transition:color .18s ease, transform .1s ease;
  }
  .botnav .bn-item .bn-ico{ font-size:19px; line-height:1; transition:transform .18s ease, filter .18s ease; }
  .botnav .bn-item:active{ transform:scale(.9); }
  .botnav .bn-item.active{ color:var(--tg-orange); }
  .botnav .bn-item.active .bn-ico{ transform:translateY(-1px); filter:drop-shadow(0 0 7px rgba(249,115,22,.55)); }
  /* active indicator · little glowing bar tucked under the top edge */
  .botnav .bn-item.active::after{
    content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:24px; height:3px; border-radius:0 0 4px 4px;
    background:var(--tg-orange); box-shadow:0 0 9px rgba(249,115,22,.8);
  }

  /* ---- elevated center action (Chat) · floating gradient button ---- */
  .botnav .bn-mid{ justify-content:flex-end; }
  .botnav .bn-mid .bn-ico{
    width:46px; height:46px; margin-top:-16px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-size:21px; color:#0a0a0c;
    background:linear-gradient(135deg,#f97316,#ff9a4d);
    box-shadow:0 7px 20px rgba(249,115,22,.5), 0 0 0 5px rgba(11,11,14,.95);
  }
  .botnav .bn-mid.active .bn-ico{ transform:none; filter:none; }
  .botnav .bn-mid.active::after{ display:none; }   /* the FAB is its own indicator */
  .botnav .bn-mid:active .bn-ico{ transform:scale(.92); }

  /* ---- app-like cards · rounder, soft depth ---- */
  .chat-thread .result-card, .chat-thread .card, .chat-thread .pf-card, .chat-thread .ac-card{
    border-radius:16px!important;
  }
  /* tap feedback on any actionable chip/button */
  .chat-thread button:active, .action-chip:active, .followup-chip:active, .pf-chip:active{ transform:scale(.96); }
}
@media (max-width:880px){
  /* frosted composer · ties the app chrome together (bar + input + tabbar all glass) */
  .composer{ border-top:1px solid rgba(255,255,255,.06); background:rgba(9,9,12,.72); -webkit-backdrop-filter:blur(14px) saturate(1.2); backdrop-filter:blur(14px) saturate(1.2); }
}


/* ============================================================================
   MOBILE · keyboard-aware composer · 2026-06-23. When the chat input is focused
   the soft keyboard opens · drop the tab bar + ticker and fit the layout to the
   VISIBLE viewport (--vvh) so the composer sits right above the keyboard with the
   whole thread visible above it (fixes the cramped "not enough screen" feel).
   ============================================================================ */
@media (max-width:880px){
  /* keyboard-aware · while typing, only HIDE the tab bar (+Chat FAB) so the composer
     sits above the keyboard. The [nav] grid row is auto, so it collapses to 0 cleanly.
     No body-height / grid overrides (that caused jank) · interactive-widget + 100dvh
     handle the resize natively. */
  body.kb-open .botnav{ display:none!important; }
  body.kb-open .composer{ box-shadow:0 -8px 24px rgba(0,0,0,.45); }
}
@media (max-width:880px){
  /* CRITICAL · the chat input MUST be >=16px on mobile or iOS auto-zooms the page on
     focus (the #composer-input id rule above sets 13px for the desktop terminal look).
     This restores 16px on phones only · no zoom, layout stays fit-to-screen. */
  #composer-input{ font-size:16px !important; }
}

/* Markets · real token logo overlaid on the monogram (auto fallback) */
.tg-row .r-ico{position:relative;overflow:hidden;}
.tg-row .r-ico .r-logo{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--tg-line-2);}

/* holdings · real token logo overlaid on the gradient monogram (auto fallback) */
.th-tok-ico{position:relative;overflow:hidden;}
.th-tok-ico .th-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* Markets search/filter box */
.mkt-search{display:flex;align-items:center;gap:6px;margin:0 8px 6px;padding:6px 9px;background:var(--tg-panel-2);border:1px solid var(--tg-line-2);border-radius:8px;}
.mkt-search svg{width:13px;height:13px;color:var(--tg-faint);flex:none;}
.mkt-search input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--tg-txt);font-family:var(--tg-mono,monospace);font-size:12px;}
.mkt-search input::placeholder{color:var(--tg-faint);}
.mkt-search:focus-within{border-color:var(--cvx-orange,#f97316);}


/* ===== styled X / tweet card (get_tweet) ===== */
.twc{background:linear-gradient(165deg,#15151c,#0c0c11);border:1px solid var(--tg-line-2,rgba(255,255,255,.1));border-radius:16px;padding:15px 16px;display:flex;flex-direction:column;gap:11px;max-width:560px;}
.twc-head{display:flex;align-items:center;gap:11px;}
.twc-av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;background:var(--tg-line-2);}
.twc-av.hide{display:none;}
.twc-av-fb{display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#f97316,#2c6fff);font-size:18px;}
.twc-id{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.twc-name{font-weight:800;color:#fff;font-size:14.5px;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.twc-vf{color:#1d9bf0;font-size:12px;font-weight:900;}
.twc-sub{color:var(--tg-dim,#8a93a8);font-size:12px;}
.twc-x{margin-left:auto;color:#fff;font-size:18px;text-decoration:none;opacity:.85;flex:none;}.twc-x:hover{opacity:1;color:var(--tg-orange,#f97316);}
.twc-text{color:#e7e7ea;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;}
.twc-text a{color:#1d9bf0;text-decoration:none;}.twc-text a:hover{text-decoration:underline;}
.twc-media{display:grid;grid-template-columns:1fr;gap:6px;}
.twc-media.multi{grid-template-columns:1fr 1fr;}
.twc-media img{width:100%;object-fit:cover;border-radius:11px;max-height:300px;border:1px solid var(--tg-line-2,rgba(255,255,255,.08));}
.twc-eng{display:flex;flex-wrap:wrap;gap:15px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06);}
.twc-stat{color:var(--tg-dim,#9aa3b8);font-size:12px;font-variant-numeric:tabular-nums;}
.twc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--tg-faint,#6b7280);}
.twc-open{color:var(--tg-orange,#f97316);text-decoration:none;font-weight:600;}.twc-open:hover{text-decoration:underline;}


/* ===== styled X profile card ===== */
.twcp{position:relative;}
.twcp-banner{height:74px;margin:-15px -16px 4px;background-position:center;background-size:cover;border-radius:16px 16px 0 0;}
.twcp .twc-head.twcp-head-b{margin-top:-26px;}
.twcp .twc-head.twcp-head-b .twc-av{border:3px solid #0c0c11;width:52px;height:52px;}
.twcp-bio{font-size:13.5px;color:#cfcfd6;}
.twcp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:10px;padding-top:11px;border-top:1px solid rgba(255,255,255,.06);}
.twcp-stat{display:flex;flex-direction:column;gap:1px;}
.twcp-sv{font-weight:800;color:#fff;font-size:15px;font-variant-numeric:tabular-nums;}
.twcp-sk{font-size:10.5px;color:var(--tg-dim,#8a93a8);text-transform:uppercase;letter-spacing:.04em;}

/* token card inline mini chart */
.rc-token .tk-chart{margin:2px 0 6px;height:56px;}
.rc-token .tk-spark{width:100%;height:56px;display:block;}
.rc-token .tk-chart-load{height:56px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--tg-faint,#6b7280);}


/* Corvo Flock · rewards + referral (premium · detailed) */
.flk-card{display:flex;flex-direction:column;gap:13px;position:relative;overflow:hidden;}
.flk-card::before{content:"";position:absolute;top:-40%;right:-20%;width:280px;height:280px;background:radial-gradient(circle,rgba(249,115,22,.16),transparent 70%);pointer-events:none;}
.flk-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;position:relative;}
.flk-brand{display:flex;align-items:center;gap:11px;}
.flk-raven{font-size:26px;line-height:1;filter:drop-shadow(0 2px 8px rgba(249,115,22,.35));}
.flk-title{font-weight:800;font-size:16px;letter-spacing:-.02em;color:var(--tg-text,#fff);}
.flk-sub{font-size:11.5px;color:var(--tg-faint,#8b93a7);max-width:42ch;line-height:1.45;}
.flk-badge{font-size:12px;font-weight:800;padding:7px 13px;border-radius:999px;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;white-space:nowrap;box-shadow:0 4px 16px rgba(249,115,22,.4);}
.flk-badge.flk-diamond{background:linear-gradient(135deg,#7dd3fc,#2c6fff);box-shadow:0 4px 18px rgba(44,111,255,.45);}
.flk-badge.flk-platinum{background:linear-gradient(135deg,#cbd5e1,#94a3b8);box-shadow:0 4px 14px rgba(148,163,184,.35);}
.flk-boost{position:relative;font-size:12px;line-height:1.5;background:linear-gradient(100deg,rgba(249,115,22,.14),rgba(44,111,255,.12));border:1px solid rgba(249,115,22,.30);border-radius:13px;padding:10px 13px;color:var(--tg-text,#e8ecf4);overflow:hidden;}
.flk-boost-tag{font-weight:800;color:#fb923c;}
.flk-boost::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.10) 50%,transparent 70%);transform:translateX(-100%);animation:flkShine 3.4s ease-in-out infinite;}
@keyframes flkShine{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.flk-hero{text-align:center;padding:4px 0 0;}
.flk-hero-pts{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1;background:linear-gradient(135deg,#fb923c,#f97316 55%,#2c6fff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.flk-hero-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tg-faint,#8b93a7);margin-top:5px;}
.flk-substats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.flk-substats-2{grid-template-columns:repeat(2,1fr);}
.flk-sub-stat{display:flex;flex-direction:column;align-items:center;gap:2px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:11px 8px;}
.flk-ss-v{font-size:16px;font-weight:800;color:var(--tg-text,#fff);}
.flk-ss-k{font-size:10.5px;color:var(--tg-faint,#8b93a7);letter-spacing:.02em;}
.flk-section{display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:13px;padding:12px;}
.flk-section-h{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tg-faint,#8b93a7);}
.flk-tiers{display:flex;flex-direction:column;gap:3px;}
.flk-trow{display:grid;grid-template-columns:22px 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.02);border:1px solid transparent;opacity:.5;font-size:12.5px;}
.flk-trow.on{opacity:1;}
.flk-trow.cur{background:rgba(249,115,22,.10);border-color:rgba(249,115,22,.4);box-shadow:0 3px 12px rgba(249,115,22,.18);}
.flk-trow-ico{text-align:center;font-size:15px;}
.flk-trow-lbl{font-weight:700;color:var(--tg-text,#e8ecf4);}
.flk-trow-you{font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#f97316,#fb923c);padding:1px 6px;border-radius:999px;margin-left:6px;vertical-align:middle;}
.flk-trow-thr{font-size:11px;color:var(--tg-faint,#8b93a7);}
.flk-trow-rate{font-weight:800;color:#fb923c;min-width:34px;text-align:right;}
.flk-prog{height:7px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:2px;}
.flk-prog-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#f97316,#fb923c,#2c6fff);box-shadow:0 0 12px rgba(249,115,22,.5);transition:width .4s ease;}
.flk-prog-lbl{font-size:11px;color:var(--tg-faint,#8b93a7);text-align:center;}
.flk-explain{font-size:11.5px;line-height:1.55;color:var(--tg-faint,#9aa3b6);}
.flk-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;}
.flk-note{font-size:10.5px;color:var(--tg-faint,#8b93a7);}
.flk-btn{font-size:12.5px;font-weight:700;padding:8px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--tg-text,#e8ecf4);cursor:pointer;transition:.16s;}
.flk-btn:hover{border-color:rgba(249,115,22,.5);background:rgba(249,115,22,.08);}
.flk-btn-primary{background:linear-gradient(135deg,#f97316,#fb923c);border:none;color:#fff;box-shadow:0 4px 14px rgba(249,115,22,.35);}
.flk-btn-primary:hover{filter:brightness(1.06);}
.flk-btn-primary.ok{background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:none;}
.flk-btn-primary:disabled{opacity:.6;cursor:default;}
.flk-btn-lg{padding:11px 22px;font-size:13.5px;}
.flk-refsec{display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(255,255,255,.07);padding-top:13px;}
.flk-refsec-h{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;font-weight:700;color:var(--tg-text,#e8ecf4);}
.flk-refsec-h b{color:#fb923c;}
.flk-refsec-sub{font-size:10.5px;font-weight:600;color:var(--tg-faint,#8b93a7);}
.flk-link-box{display:flex;flex-direction:column;gap:9px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:13px;padding:13px;}
.flk-link-label{font-size:11.5px;color:var(--tg-faint,#8b93a7);}
.flk-link-row{display:flex;gap:8px;}
.flk-link-input{flex:1;min-width:0;font-size:12px;font-family:var(--mono,ui-monospace,monospace);padding:9px 11px;border-radius:9px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.28);color:var(--tg-text,#e8ecf4);}
.flk-link-actions{display:flex;gap:8px;flex-wrap:wrap;}
.flk-empty{font-size:11.5px;color:var(--tg-faint,#8b93a7);text-align:center;padding:4px 8px;line-height:1.5;}
/* styled edit-code modal */
.flk-modal-ov{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(4,6,12,.66);backdrop-filter:blur(4px);animation:flkFade .14s ease;}
@keyframes flkFade{from{opacity:0}to{opacity:1}}
.flk-modal{width:100%;max-width:380px;background:var(--tg-card,#11141c);border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:11px;box-shadow:0 24px 60px rgba(0,0,0,.55);animation:flkPop .16s ease;}
@keyframes flkPop{from{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.flk-modal-h{font-size:15px;font-weight:800;color:var(--tg-text,#fff);}
.flk-modal-sub{font-size:11.5px;color:var(--tg-faint,#8b93a7);line-height:1.5;}
.flk-modal-row{display:flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,.12);border-radius:11px;overflow:hidden;background:rgba(0,0,0,.28);}
.flk-modal-pre{font-size:12px;font-family:var(--mono,ui-monospace,monospace);color:var(--tg-faint,#8b93a7);padding:11px 4px 11px 12px;}
.flk-modal-input{flex:1;min-width:0;font-size:13px;font-family:var(--mono,ui-monospace,monospace);padding:11px 12px 11px 4px;border:none;background:transparent;color:var(--tg-text,#fff);outline:none;}
.flk-modal-err{font-size:11.5px;color:#f87171;line-height:1.4;}
.flk-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:2px;}
@media(max-width:560px){.flk-hero-pts{font-size:34px;}.flk-ss-v{font-size:14px;}.flk-sub{max-width:none;}.flk-trow{grid-template-columns:20px 1fr auto auto;gap:7px;font-size:12px;}}


/* Corvo · premium search bar (command-palette style · appended-last wins) */
.topbar .topsearch{
  height:38px !important; max-width:580px; margin:0 auto;
  padding:0 7px 0 13px !important; gap:9px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)) !important;
  border:1px solid rgba(255,255,255,.10) !important; border-radius:13px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 2px 12px rgba(0,0,0,.28) !important;
  transition:border-color .18s, box-shadow .18s, background .18s !important;
}
.topbar .topsearch:hover{ border-color:rgba(255,255,255,.17) !important; background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03)) !important; }
.topbar .topsearch:focus-within{
  border-color:rgba(249,115,22,.6) !important;
  background:linear-gradient(180deg,rgba(249,115,22,.07),rgba(44,111,255,.045)) !important;
  box-shadow:0 0 0 3px rgba(249,115,22,.14), 0 8px 26px rgba(249,115,22,.16) !important;
}
.topbar .topsearch .ts-ico{ color:var(--tg-orange) !important; opacity:.9; width:16px; height:16px; transition:.18s; }
.topbar .topsearch:focus-within .ts-ico{ opacity:1; filter:drop-shadow(0 0 6px rgba(249,115,22,.55)); }
#topsearch-input{
  font-family:var(--tg-sans) !important; font-size:13px !important; letter-spacing:.005em;
  color:var(--tg-txt) !important;
}
#topsearch-input::placeholder{ color:var(--tg-faint) !important; opacity:.9; font-family:var(--tg-sans) !important; }
.topbar .topsearch::after{
  content:"⌘K" !important; font-family:var(--tg-mono); font-size:10.5px !important; font-weight:600;
  color:var(--tg-dim) !important; background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.13) !important; border-radius:7px !important;
  padding:3px 7px !important; flex:none; line-height:1;
  box-shadow:0 1px 0 rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.06) !important; display:inline-block !important;
}
.topbar .topsearch:focus-within::after{ color:#fb923c !important; border-color:rgba(249,115,22,.4) !important; background:rgba(249,115,22,.12) !important; }


/* Corvo · mobile more-sheet + tiny footer */
@media(max-width:880px){
  /* tiny footer · keyboard hints are useless on mobile · shrink to a whisper */
  .composer-foot{padding:3px 10px 4px !important;font-size:9px !important;line-height:1.2 !important;opacity:.7;}
  .composer-foot .ft-l{display:none !important;}
  .composer-foot .ft-r{font-size:9px !important;letter-spacing:.01em;}
  .composer-foot .kbd{display:none !important;}
  /* botnav polish · premium frosted bar + active glow */
  .botnav{backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);}
  .botnav .bn-item{transition:color .15s,transform .12s;}
  .botnav .bn-item.active .bn-ico{filter:drop-shadow(0 0 8px rgba(249,115,22,.45));}
  .botnav .bn-item:active{transform:scale(.9);}
  #botnav-more{background:none;border:0;font-family:inherit;}
}
.more-sheet-ov{position:fixed;inset:0;z-index:9998;background:rgba(4,6,12,.6);backdrop-filter:blur(5px);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .2s ease;}
.more-sheet-ov.show{opacity:1;}
.more-sheet{width:100%;max-width:520px;background:linear-gradient(180deg,#13161f,#0e1117);border-top-left-radius:22px;border-top-right-radius:22px;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -18px 50px rgba(0,0,0,.5);padding:9px 16px calc(20px + env(safe-area-inset-bottom));transform:translateY(101%);transition:transform .26s cubic-bezier(.2,.85,.25,1);max-height:80vh;overflow-y:auto;}
.more-sheet-ov.show .more-sheet{transform:none;}
.more-grab{width:40px;height:4px;border-radius:999px;background:rgba(255,255,255,.2);margin:3px auto 12px;}
.more-title{font-size:15px;font-weight:800;color:var(--tg-txt,#fff);margin:0 2px 6px;}
.more-sec{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tg-faint,#8b93a7);margin:12px 2px 8px;}
.more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
.more-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:13px 4px;border-radius:15px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);color:var(--tg-txt,#e8ecf4);font-size:11px;font-weight:600;cursor:pointer;transition:transform .12s,background .15s,border-color .15s;}
.more-item span{font-size:21px;line-height:1;}
.more-item:active{background:rgba(249,115,22,.13);border-color:rgba(249,115,22,.45);transform:scale(.94);}


/* Corvo · flex result card */
.flexres{display:flex;flex-direction:column;gap:10px;}
.flexres-img{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.1);display:block;box-shadow:0 8px 28px rgba(0,0,0,.35);}
.flexres-btns{display:flex;gap:8px;}
.flexres-btn{flex:1;text-align:center;font-size:13px;font-weight:700;padding:11px;border-radius:12px;text-decoration:none;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--tg-txt,#e8ecf4);transition:.15s;}
.flexres-btn:hover{border-color:rgba(249,115,22,.45);}
.flexres-share{background:linear-gradient(135deg,#f97316,#fb923c);border:none;color:#fff;}


/* Corvo · predict bet card (premium) */
.pbet-card{display:flex;flex-direction:column;gap:13px;position:relative;overflow:hidden;}
.pbet-card::before{content:"";position:absolute;top:-40%;right:-15%;width:240px;height:240px;background:radial-gradient(circle,rgba(44,111,255,.14),transparent 70%);pointer-events:none;}
.pbet-head{display:flex;align-items:flex-start;gap:10px;}
.pbet-ic{font-size:22px;line-height:1;}
.pbet-q{font-size:15px;font-weight:700;line-height:1.35;color:var(--tg-txt,#fff);}
.pbet-side{display:flex;gap:10px;}
.pbet-tog{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:13px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:var(--tg-dim,#aab);cursor:pointer;transition:.16s;}
.pbet-tog-l{font-size:14px;font-weight:800;letter-spacing:.04em;}
.pbet-tog-p{font-size:12px;opacity:.8;font-family:var(--tg-mono,monospace);}
.pbet-tog.yes.on{border-color:rgba(34,197,94,.55);background:linear-gradient(180deg,rgba(34,197,94,.18),rgba(34,197,94,.06));color:#4ade80;box-shadow:0 4px 16px rgba(34,197,94,.18);}
.pbet-tog.no.on{border-color:rgba(248,113,113,.55);background:linear-gradient(180deg,rgba(248,113,113,.18),rgba(248,113,113,.06));color:#fca5a5;box-shadow:0 4px 16px rgba(248,113,113,.18);}
.pbet-amt{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:6px 14px;background:rgba(0,0,0,.28);transition:.16s;}
.pbet-amt:focus-within{border-color:rgba(249,115,22,.55);box-shadow:0 0 0 3px rgba(249,115,22,.13);}
.pbet-amt-pre{color:var(--tg-faint,#8b93a7);font-size:22px;font-weight:700;}
.pbet-amt-in{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--tg-txt,#fff);font-size:26px;font-weight:700;font-family:var(--tg-mono,monospace);padding:8px 0;letter-spacing:-.01em;}
.pbet-amt-cur{color:var(--tg-faint,#8b93a7);font-size:12px;font-weight:700;}
.pbet-quick{display:flex;gap:7px;}
.pbet-quick button{flex:1;font-size:12.5px;font-weight:700;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--tg-dim,#aab);cursor:pointer;transition:.15s;}
.pbet-quick button:hover{border-color:rgba(249,115,22,.4);color:var(--tg-txt,#fff);}
.pbet-prev{font-size:13px;color:var(--tg-faint,#9aa3b6);line-height:1.55;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:11px 13px;}
.pbet-prev b{color:var(--tg-txt,#fff);}
.pbet-warn{color:#fbbf24;}
.pbet-go{width:100%;padding:14px;border-radius:13px;border:none;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;font-size:14.5px;font-weight:800;cursor:pointer;box-shadow:0 6px 20px rgba(249,115,22,.32);transition:.15s;}
.pbet-go:hover{filter:brightness(1.06);}
.pbet-note{font-size:10.5px;color:var(--tg-faint,#8b93a7);text-align:center;}
.pbet-status{font-size:12.5px;color:var(--tg-txt,#e8ecf4);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:10px 12px;}
.pbet-status.ok{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.1);color:#4ade80;}
.pbet-status.err{border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.1);color:#fca5a5;}

/* ===== Premium swap result card + route picker (2026-06-30) ===== */
.chat-thread .result-card.swr{padding:0;overflow:hidden}
.swr-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--border,rgba(255,255,255,.07))}
.swr-title{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15px;letter-spacing:-.01em}
.swr-check{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:linear-gradient(135deg,#34d399,#10b981);color:#04130d;font-size:12px;font-weight:900;box-shadow:0 2px 8px rgba(16,185,129,.4)}
.swr-route{font-size:11px;font-weight:800;letter-spacing:.02em;padding:5px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.swr-route.route-kyber{color:#5eead4;background:rgba(45,212,191,.10);border-color:rgba(45,212,191,.28)}
.swr-route.route-edge{color:#fb923c;background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.32)}
.swr-route.route-0x{color:#c4b5fd;background:rgba(167,139,250,.10);border-color:rgba(167,139,250,.28)}
.swr-route.route-okx{color:#7cc4ff;background:rgba(0,118,255,.12);border-color:rgba(0,118,255,.34)}
.swr-flow{padding:14px 16px 6px;position:relative}
.swr-leg{display:flex;flex-direction:column;gap:2px;padding:9px 0}
.swr-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#8b93a7)}
.swr-amt{font-size:21px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.swr-amt.swr-neg{color:var(--text,#e7ebf3)}
.swr-amt.swr-pos{color:#34d399}
.swr-usd{font-size:12px;font-weight:600;color:var(--muted,#8b93a7);margin-top:1px}
.swr-sep{display:flex;align-items:center;gap:10px;margin:2px 0}
.swr-sep::before,.swr-sep::after{content:"";height:1px;flex:1;background:var(--border,rgba(255,255,255,.08))}
.swr-sep span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--surface-2,rgba(255,255,255,.05));border:1px solid var(--border,rgba(255,255,255,.1));color:var(--muted,#8b93a7);font-size:12px}
.swr-meta{padding:10px 16px 15px;display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--border,rgba(255,255,255,.07));margin-top:6px}
.swr-mrow{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px}
.swr-mrow>span{color:var(--muted,#8b93a7);font-weight:600}
.swr-mrow>b{font-weight:700;color:var(--text,#e7ebf3);font-variant-numeric:tabular-nums}
.swr-mrow>a{color:#7cc4ff;font-weight:700;text-decoration:none}
.swr-mrow>a:hover{text-decoration:underline}
/* route picker premium bits (rendered inside the generic result-card rows) */
.rpk-b{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.04em;padding:2px 6px;border-radius:6px;text-transform:uppercase;background:var(--surface-2,rgba(255,255,255,.06));color:var(--muted,#8b93a7)}
.rpk-b.best{background:rgba(52,211,153,.14);color:#34d399}
.rpk-b.cmp{background:rgba(124,196,255,.12);color:#7cc4ff}
.rpk-o{font-variant-numeric:tabular-nums}
.rpk-u{color:var(--muted,#8b93a7);font-weight:600;font-size:12px}
.rpk-d{font-weight:800;font-size:11.5px;margin-left:4px}
.rpk-d.pos{color:#34d399}
.rpk-d.neg{color:#f87171}

.swr-route.route-jupiter{color:#c4b5fd;background:rgba(153,69,255,.12);border-color:rgba(153,69,255,.32)}
.swr-route.route-valiant{color:#fbbf77;background:rgba(247,147,26,.13);border-color:rgba(247,147,26,.34)}

.swr-ic{font-size:15px;margin-right:1px}
.swr-review .swr-amt{font-size:19px}
.swr-review .swr-flow{padding-top:12px}
.swr-mrow b.warn{color:#fbbf24}
.swr-review.is-warn .swr-head{border-bottom-color:rgba(251,191,36,.28)}
.swr-foot{padding:11px 16px 14px;font-size:11.5px;line-height:1.5;color:var(--muted,#8b93a7);border-top:1px solid var(--border,rgba(255,255,255,.07))}

/* ===== route_pick · tappable premium route rows ===== */
.chat-thread .result-card.rpk2{padding:0;overflow:hidden}
.rpk2 .swr-head .rpk2-hint{font-size:11px;color:var(--muted,#8b93a7);font-weight:600}
.rpk2-list{display:flex;flex-direction:column}
.rpk2-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:none;border-top:1px solid var(--border,rgba(255,255,255,.06));padding:13px 16px;cursor:pointer;transition:background .13s;font:inherit;color:inherit}
.rpk2-row:first-child{border-top:none}
button.rpk2-row:hover{background:var(--surface-2,rgba(255,255,255,.04))}
button.rpk2-row:active{background:rgba(255,255,255,.07)}
.rpk2-row.is-best{background:rgba(52,211,153,.05)}
.rpk2-row.is-cmp{opacity:.6;cursor:default}
.rpk2-l{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.rpk2-name{font-weight:800;font-size:13.5px}
.rpk2-name.route-kyber{color:#5eead4}.rpk2-name.route-0x{color:#c4b5fd}.rpk2-name.route-okx{color:#7cc4ff}.rpk2-name.route-edge{color:#fb923c}
.rpk2-b{font-size:9px;font-weight:800;letter-spacing:.04em;padding:2px 6px;border-radius:6px;text-transform:uppercase}
.rpk2-b.best{background:rgba(52,211,153,.15);color:#34d399}
.rpk2-b.cmp{background:rgba(124,196,255,.12);color:#7cc4ff}
.rpk2-r{text-align:right;flex-shrink:0}
.rpk2-out{font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;color:var(--text,#e7ebf3)}
.rpk2-sub{font-size:11.5px;color:var(--muted,#8b93a7);font-weight:600;margin-top:1px}
.rpk2-d{font-weight:800;margin-left:5px}
.rpk2-d.pos{color:#34d399}.rpk2-d.neg{color:#f87171}
.rpk2-go{color:var(--muted,#8b93a7);font-size:18px;font-weight:700;flex-shrink:0;margin-left:2px}
.rpk2-cancel{display:block;width:calc(100% - 24px);margin:10px 12px 12px;padding:10px;background:var(--surface-2,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.1));border-radius:11px;color:var(--muted,#9aa3b2);font-weight:700;font-size:13px;cursor:pointer}
.rpk2-cancel:hover{color:var(--text,#e7ebf3);border-color:rgba(255,255,255,.18)}

/* ===== /movers premium card ===== */
.chat-thread .result-card.mv-card{padding:0;overflow:hidden}
.mv-hero{font-size:16px;margin-right:2px}
.mv-pill{font-size:11px;font-weight:800;color:#34d399;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.3);border-radius:999px;padding:4px 10px;white-space:nowrap}
.mv-list{display:flex;flex-direction:column}
.mv-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:none;border-top:1px solid var(--border,rgba(255,255,255,.06));padding:12px 15px;cursor:pointer;transition:background .13s;font:inherit;color:inherit}
.mv-row:first-child{border-top:none}
button.mv-row:hover{background:var(--surface-2,rgba(255,255,255,.04))}
button.mv-row:active{background:rgba(255,255,255,.07)}
.mv-ico{flex-shrink:0;width:34px;height:34px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff;letter-spacing:-.02em}
.mv-ico.mv-base{background:linear-gradient(135deg,#0052ff,#1e3a8a)}
.mv-ico.mv-sol{background:linear-gradient(135deg,#9945ff,#14f195)}
.mv-ico.mv-fogo{background:linear-gradient(135deg,#fb923c,#ea580c)}
.mv-l{flex:1;min-width:0}
.mv-sym{font-weight:800;font-size:14px;display:flex;align-items:center;gap:6px}
.mv-vet{font-size:8.5px;font-weight:800;letter-spacing:.04em;color:#34d399;background:rgba(52,211,153,.15);border-radius:5px;padding:2px 5px}
.mv-sub{font-size:11.5px;color:var(--muted,#8b93a7);font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums}
.mv-r{text-align:right;flex-shrink:0}
.mv-pct{font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}
.mv-pct.pos{color:#34d399}.mv-pct.neg{color:#f87171}
.mv-1h{font-size:10px;color:var(--muted,#8b93a7);opacity:.7}
.mv-go{color:var(--muted,#8b93a7);font-size:18px;font-weight:700;flex-shrink:0}
.mv-foot{padding:10px 15px 13px;font-size:11px;line-height:1.5;color:var(--muted,#8b93a7);border-top:1px solid var(--border,rgba(255,255,255,.06))}

/* ===== predict (Jupiter Forecast) cards ===== */
.chat-thread .result-card.pm-card,.chat-thread .result-card.pm-detail{padding:0;overflow:hidden}
.pm-hero{font-size:16px;margin-right:2px}
.pm-pill{font-size:11px;font-weight:800;color:#4d8dff;background:rgba(0,82,255,.14);border:1px solid rgba(0,82,255,.35);border-radius:999px;padding:4px 10px;white-space:nowrap}
.pm-list{display:flex;flex-direction:column}
.pm-ev{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:none;border-top:1px solid var(--border,rgba(255,255,255,.06));padding:11px 14px;cursor:pointer;transition:background .13s;font:inherit;color:inherit}
.pm-ev:first-child{border-top:none}
button.pm-ev:hover{background:var(--surface-2,rgba(255,255,255,.04))}
button.pm-ev:active{background:rgba(255,255,255,.07)}
.pm-ev-img{flex-shrink:0;width:38px;height:38px;border-radius:10px;object-fit:cover;background:#1a1d24}
.pm-ev-ico{flex-shrink:0;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:19px;background:rgba(255,255,255,.05)}
.pm-ev-main{flex:1;min-width:0}
.pm-ev-title{font-weight:700;font-size:13.5px;color:#e8edf5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-ev-oc{display:flex;gap:9px;margin-top:3px;flex-wrap:wrap}
.pm-oc{display:inline-flex;align-items:center;gap:4px}
.pm-oc-n{font-size:11.5px;color:var(--muted,#8b93a7);font-weight:600}
.pm-oc-p{font-size:11.5px;color:#4d8dff;font-weight:800;font-variant-numeric:tabular-nums}
.pm-ev-meta{font-size:11px;color:var(--muted,#8b93a7);margin-top:3px;font-variant-numeric:tabular-nums}
.pm-go{color:var(--muted,#8b93a7);font-size:18px;font-weight:700;flex-shrink:0}
.pm-foot{padding:10px 14px 13px;font-size:11px;line-height:1.5;color:var(--muted,#8b93a7);border-top:1px solid var(--border,rgba(255,255,255,.06))}
.pm-d-head{display:flex;gap:11px;align-items:flex-start;padding:14px 15px 10px}
.pm-d-img{width:46px;height:46px;border-radius:11px;object-fit:cover;flex-shrink:0;background:#1a1d24}
.pm-d-title{font-weight:800;font-size:15px;color:#f4f4f6;line-height:1.25}
.pm-d-meta{font-size:11.5px;color:var(--muted,#8b93a7);margin-top:4px;font-variant-numeric:tabular-nums}
.pm-mkts{display:flex;flex-direction:column;gap:11px;padding:6px 15px 14px}
.pm-mkt-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.pm-mkt-name{font-size:13px;font-weight:600;color:#e8edf5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-mkt-yes{font-size:13px;font-weight:800;color:#4d8dff;flex-shrink:0;font-variant-numeric:tabular-nums}
.pm-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.pm-bar-fill{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0052ff,#4d8dff)}

/* ===== predict bet buttons ===== */
.pm-bet{display:flex;gap:8px;margin-top:10px}
.pm-bet-btn{flex:1;padding:9px 8px;border-radius:9px;font-weight:800;font-size:12.5px;cursor:pointer;border:1px solid;background:transparent;font-variant-numeric:tabular-nums;transition:background .12s,border-color .12s}
.pm-bet-btn.yes{color:#34d399;border-color:rgba(52,211,153,.35)}
.pm-bet-btn.yes:hover{background:rgba(52,211,153,.14)}
.pm-bet-btn.no{color:#f87171;border-color:rgba(248,113,113,.35)}
.pm-bet-btn.no:hover{background:rgba(248,113,113,.14)}

/* ===== predict positions ===== */
.chat-thread .result-card.pp-card{padding:0;overflow:hidden}
.pp-sec{border-top:1px solid var(--border,rgba(255,255,255,.06))}
.pp-sec-h{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#8b93a7);padding:9px 15px 5px}
.pp-chain{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.pp-chain.sol{background:linear-gradient(135deg,#9945ff,#14f195)}
.pp-chain.base{background:#0052ff}
.pp-row{display:flex;align-items:center;gap:11px;padding:9px 15px}
.pp-side{flex-shrink:0;font-size:10px;font-weight:800;padding:3px 8px;border-radius:6px}
.pp-side.yes{color:#34d399;background:rgba(52,211,153,.12)}
.pp-side.no{color:#f87171;background:rgba(248,113,113,.12)}
.pp-main{flex:1;min-width:0}
.pp-title{font-size:13px;font-weight:600;color:#e8edf5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-sub{font-size:11px;color:var(--muted,#8b93a7);margin-top:2px;font-variant-numeric:tabular-nums;display:flex;gap:6px;align-items:center}
.pp-pnl{font-weight:800}.pp-pnl.pos{color:#34d399}.pp-pnl.neg{color:#f87171}
.pp-val{font-size:12.5px;font-weight:700;color:var(--txt-2,#c4c5cc);flex-shrink:0;text-decoration:none}
.pp-claim{flex-shrink:0;font-size:12px;font-weight:800;color:#07080d;background:#34d399;border:none;border-radius:8px;padding:8px 12px;cursor:pointer;transition:background .12s}
.pp-claim:hover{background:#2fbf88}.pp-claim:disabled{opacity:.6;cursor:default}

/* ===== predict live/soon badges ===== */
.pm-live{display:inline-block;font-size:8.5px;font-weight:800;letter-spacing:.04em;color:#34d399;background:rgba(52,211,153,.14);border:1px solid rgba(52,211,153,.35);border-radius:5px;padding:1px 5px;margin-left:7px;vertical-align:1px}
.pm-soon{display:inline-block;font-size:8.5px;font-weight:800;color:#fbbf24;background:rgba(251,191,36,.14);border:1px solid rgba(251,191,36,.32);border-radius:5px;padding:1px 5px;margin-left:7px;vertical-align:1px}

/* ===== predict probability bar ===== */
.pm-bar{height:4px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden;margin:9px 0 3px}
.pm-bar-fill{display:block;height:100%;background:linear-gradient(90deg,#0052FF,#5b9dff);border-radius:3px}
/* predict probability chip · on-brand (never decorative green) */
.chat-thread .discover-card[data-kind=predict] .dx-tile-bounty{color:#e2e8f5!important}
.chat-thread .discover-card[data-kind=predict] .dx-tile-bounty.dx-bounty-hot{color:#f97316!important}

/* ===== predict autoconvert toggle ===== */
.pp-autoconv{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px 3px;margin-top:6px;border-top:1px solid rgba(255,255,255,.06)}
.pp-ac-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.pp-ac-lbl{font-size:12.5px;font-weight:700;color:#e2e8f5}
.pp-ac-note{font-size:10.5px;color:var(--txt-3,#8b93a7)}
.pp-ac-toggle{flex:0 0 auto;width:41px;height:23px;border-radius:999px;border:1px solid var(--line-2,#2a2a33);background:rgba(255,255,255,.06);position:relative;cursor:pointer;transition:background .15s,border-color .15s;padding:0}
.pp-ac-toggle.on{background:rgba(0,82,255,.55);border-color:#0052FF}
.pp-ac-knob{position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform .15s}
.pp-ac-toggle.on .pp-ac-knob{transform:translateX(18px)}

/* ===== predict event icon fallback ===== */
.pm-d-ico{width:46px;height:46px;border-radius:11px;display:grid;place-items:center;font-size:24px;background:#14161c;flex-shrink:0}

/* ===== predict out-of-range note ===== */
.pm-note{font-size:11px;color:#fbbf24;background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.24);border-radius:8px;padding:6px 9px;margin-top:8px}

/* ===== swap unverified badge ===== */
.swr-unverified{font-size:11px;font-weight:700;color:#fbbf24;background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.28);border-radius:9px;padding:7px 11px;margin:2px 0 11px;line-height:1.35}
