/* Pulse Meme Coin Finder — global CSS vars + modal styles
   Loaded on all pages that include pulse.js (pulse page, watchlist, signal lab) */

/* ── CSS Variables (dark default) ── */
:root{
  /* Lovable-matched color system */
  --bg:#0B111C;          /* 222 47% 8%  — dark navy page bg */
  --s1:#091019;          /* 222 50% 7%  — card/panel bg */
  --s2:#111B2B;          /* 222 45% 12% — secondary/input bg */
  --s3:#182438;          /* 222 40% 16% — muted bg, progress tracks */
  --s4:#1e2d47;          /* slightly lighter muted */
  --b1:rgba(51,204,255,.18);   /* cyan border at 18% */
  --b2:rgba(51,204,255,.25);   /* cyan border at 25% — matches --border */
  --b3:rgba(51,204,255,.35);   /* cyan border at 35% */
  --accent:#33CCFF;      /* 191 100% 60% — primary cyan */
  --accent2:#0066FF;     /* gradient endpoint — blue */
  --txt:#E6F7FF;         /* 195 100% 95% — near-white with cyan tint */
  --txt2:#CCF0FF;        /* 195 80%  90% — secondary text */
  --txt3:#66AACC;        /* 195 50%  60% — muted/dimmed text */
  --green:#17B169;       /* 145 80%  45% — buy/gains/bullish */
  --red:#D93636;         /* 0   72%  51% — sell/losses/bearish */
  --yellow:#F5A623;      /* 38  92%  50% — warnings/moderate risk */
  --orange:#F97316;      /* whale sell, take-profit */
  --cyan:#33CCFF;        /* alias for accent */
  --purple:#A64DFF;      /* 280 100% 70% — SOL-branded */
  --fn:'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --hdr:44px; --hdr-safe:44px; --footer:32px;
  --col-border:rgba(14,165,233,.08);
}
/* Applied by JS theme sync */
body.light{
  --bg:#f0f4f8;--s1:#ffffff;--s2:#f8fafc;--s3:#eef2f7;--s4:#e2e8f0;
  --b1:rgba(0,0,0,.08);--b2:rgba(0,0,0,.13);--b3:rgba(0,0,0,.18);
  --txt:#0f172a;--txt2:#374151;--txt3:#6b7280;
}

/* ── Shortcode host ── */
#pmf-root,#pmf-root *{box-sizing:border-box;}
#pmf-root{font-family:var(--fn);background:var(--bg);color:var(--txt);}

/* ── Spinner (used by modal loading state) ── */
@keyframes pmf-spin{to{transform:rotate(360deg)}}
.pmf-spinner{
  width:24px;height:24px;border-radius:50%;
  border:3px solid var(--b2);border-top-color:var(--accent);
  animation:pmf-spin .7s linear infinite;margin:0 auto;
}

/* ── Token Card CSS (needed for modal on non-pulse pages) ──*/
.pmf-card{
  padding:9px 10px 8px;border-bottom:1px solid var(--b1);
  cursor:pointer;position:relative;transition:background .12s;
}
.pmf-card:hover{background:var(--s2);}
.pmf-card:last-child{border-bottom:none;}
.pmf-card.new-in{animation:pmf-slide-in .3s ease-out;border-left:2px solid var(--accent);}
.pmf-card.graduating{border-left:2px solid var(--green);}
.pmf-card.moon{border-left:2px solid var(--yellow);}
@keyframes pmf-slide-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* Whale badge (top-left absolute) */
.pmf-whale-badge{
  position:absolute;top:8px;left:58px;
  display:flex;align-items:center;gap:3px;
  font-size:9px;font-weight:700;color:var(--cyan);
  background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.2);
  border-radius:4px;padding:0 5px;
}

.pmf-card-row{display:flex;align-items:flex-start;gap:8px;}

/* Image col: larger 48px to match screenshot 2 */
.pmf-img-col{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;}
.pmf-img-wrap{position:relative;width:48px;height:48px;}
.pmf-token-img{width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--s3);display:block;}
.pmf-paid-pip{
  position:absolute;bottom:-2px;right:-2px;
  width:14px;height:14px;border-radius:50%;
  background:var(--accent);border:2px solid var(--bg);
  display:flex;align-items:center;justify-content:center;
}
.pmf-paid-pip::after{content:'✓';font-size:8px;color:#fff;font-weight:800;}
.pmf-addr-lbl{font-size:8px;color:var(--txt3);letter-spacing:.1px;line-height:1;max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Mid section */
.pmf-mid{flex:1;min-width:0;}

/* Row 1: symbol + name + icons + gem */
.pmf-name-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:3px;}
.pmf-sym{font-size:13px;font-weight:800;color:var(--txt);}
.pmf-name{font-size:10px;color:var(--txt3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:68px;}
.pmf-potential{font-size:12px;line-height:1;}

/* Gem badge — solid colored pill with score like "S100" "A72" */
.pmf-gem{
  font-size:9px;font-weight:800;padding:2px 6px;border-radius:5px;
  letter-spacing:.2px;flex-shrink:0;
}
.pmf-gem-s{background:#fbbf24;color:#000;}
.pmf-gem-a{background:var(--green);color:#000;}
.pmf-gem-b{background:var(--accent);color:#fff;}
.pmf-gem-c{background:var(--txt3);color:var(--bg);}
.pmf-gem-d{background:var(--orange);color:#fff;}
.pmf-gem-f{background:var(--red);color:#fff;}

/* Row 2: age + socials + buys + txns */
.pmf-stats{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--txt3);margin-bottom:3px;flex-wrap:wrap;}
.pmf-stats .age{color:var(--txt2);font-weight:600;}
.pmf-soc-icons{display:flex;gap:2px;}
.pmf-soc-icons a{font-size:10px;color:var(--txt3);text-decoration:none;transition:color .12s;}
.pmf-soc-icons a:hover{color:var(--accent);}

/* Row 3: risk metrics — compact inline */
.pmf-risk{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:9px;color:var(--txt3);}
.rw{color:var(--orange)!important;} .rb{color:var(--red)!important;}
.pmf-paid-badge{
  font-size:8.5px;font-weight:700;
  background:rgba(14,165,233,.12);border:1px solid rgba(14,165,233,.25);
  color:var(--accent);padding:0 5px;border-radius:4px;
}

/* Right side: MC + Vol + tag + trade */
.pmf-right{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0;}
.pmf-mc{
  font-size:13px;font-weight:800;color:var(--green);
  white-space:nowrap;font-variant-numeric:tabular-nums;
}
.pmf-mc.dn{color:var(--red);}
.pmf-vol{font-size:9.5px;color:var(--txt3);white-space:nowrap;}
.pmf-tag{font-size:8.5px;color:rgba(240,68,68,.8);font-weight:700;letter-spacing:.2px;}
.pmf-trade-btn{
  display:flex;align-items:center;justify-content:center;
  width:32px;height:28px;margin-top:3px;
  background:var(--accent);
  border:none;border-radius:8px;color:#fff;font-size:13px;
  cursor:pointer;transition:opacity .15s,transform .12s;
  box-shadow:0 2px 8px rgba(14,165,233,.3);
}
.pmf-trade-btn:hover{opacity:.85;transform:scale(1.07);}

/* Bonding bar */
.pmf-bond{margin-top:7px;}
.pmf-bond-row{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--txt3);}
.pmf-bond-lbl{white-space:nowrap;flex-shrink:0;}
.pmf-bond-track{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;}
.pmf-bond-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent2),var(--accent));transition:width .4s;}
.pmf-bond-fill.y{background:linear-gradient(90deg,#f59e0b,#fbbf24);}
.pmf-bond-fill.g{background:linear-gradient(90deg,#00c853,var(--green));}
.pmf-bond-pct{font-weight:700;color:var(--txt2);white-space:nowrap;min-width:38px;text-align:right;}
/* Glow ring at ≥90% */
.pmf-bond-track.glow{box-shadow:0 0 6px rgba(0,230,118,.4);}
/* overlays */
.pmf-card-rug,.pmf-card-dump{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:4;backdrop-filter:blur(5px);background:rgba(6,9,15,.6);border-radius:4px;}
.pmf-card-rug span{background:rgba(240,68,68,.9);color:#fff;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px;}
.pmf-card-dump span{background:rgba(249,115,22,.9);color:#fff;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px;}

/* ══════════════════════════════════════
   SUB-SECTIONS (Graduating column)
══════════════════════════════════════ */
.pmf-sub{border-top:1px solid var(--b1);}
.pmf-sub-hd{
  display:flex;align-items:center;gap:5px;padding:9px 10px;
  font-size:11px;font-weight:700;color:var(--txt2);
  cursor:pointer;user-select:none;transition:background .12s;
}
.pmf-sub-hd:hover{background:var(--s2);}
.pmf-sub-arr{margin-left:auto;color:var(--txt3);font-size:12px;transition:transform .18s;}
.pmf-sub.open .pmf-sub-arr{transform:rotate(180deg);}
.pmf-sub-cnt{font-size:10px;color:var(--txt3);font-weight:500;}

/* Community picks time selectors */
.pmf-sub-time-sel{display:flex;gap:3px;margin-left:auto;margin-right:4px;}
.pmf-time-btn{
  background:var(--s3);border:1px solid var(--b1);border-radius:999px;
  padding:1px 7px;font-size:9.5px;font-weight:700;color:var(--txt3);cursor:pointer;
  transition:all .15s;
}
.pmf-time-btn.on{background:rgba(249,115,22,.15);border-color:rgba(249,115,22,.3);color:var(--orange);}

.pmf-sub-body{display:none;padding:5px 8px 10px;background:var(--s1);}
/* When open: cap height and scroll internally so subs don't overflow the column */
.pmf-sub.open .pmf-sub-body{
  display:block;
  max-height:340px;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.08) transparent;
}
.pmf-sub.open .pmf-sub-body::-webkit-scrollbar{width:3px;}
.pmf-sub.open .pmf-sub-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px;}

/* Compact cards in subs */
.pmf-compact{
  display:flex;align-items:center;gap:6px;
  padding:5px 2px;border-bottom:1px solid var(--b1);
  cursor:pointer;transition:background .1s;border-radius:6px;
}
.pmf-compact:last-child{border-bottom:none;}
.pmf-compact:hover{background:var(--s2);}
.pmf-compact img{width:28px;height:28px;border-radius:7px;object-fit:cover;background:var(--s3);flex-shrink:0;}
.pmf-compact-mid{flex:1;min-width:0;}
.pmf-compact-sym{font-size:11px;font-weight:700;color:var(--txt);}
.pmf-compact-sub{font-size:9.5px;color:var(--txt3);}
.pmf-compact-mc{font-size:11px;font-weight:700;color:var(--green);text-align:right;white-space:nowrap;}
.pmf-compact-pch{font-size:9.5px;text-align:right;white-space:nowrap;}
.pmf-compact-pch.up{color:var(--green);} .pmf-compact-pch.dn{color:var(--red);}
.pmf-runner-bar{width:3px;border-radius:3px;align-self:stretch;flex-shrink:0;}
.pmf-runner-bar.a{background:var(--green);} .pmf-runner-bar.r{background:var(--red);} .pmf-runner-bar.d{background:var(--orange);}

/* ══════════════════════════════════════
   LOADING / EMPTY
══════════════════════════════════════ */
.pmf-loading{padding:20px;text-align:center;color:var(--txt3);font-size:11px;}
.pmf-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.08);border-top-color:var(--accent);border-radius:50%;animation:pmf-spin .65s linear infinite;margin:0 auto 8px;}
@keyframes pmf-flick-up{0%,100%{color:inherit}40%{color:var(--green)}}
@keyframes pmf-flick-dn{0%,100%{color:inherit}40%{color:var(--red)}}
.fup{animation:pmf-flick-up .38s ease;} .fdn{animation:pmf-flick-dn .38s ease;}

/* ══════════════════════════════════════
   DROPDOWNS
══════════════════════════════════════ */
.pmf-dd{
  position:fixed;z-index:9999;
  background:var(--s2);border:1px solid var(--b2);
  border-radius:9px;padding:4px;min-width:190px;display:none;
  box-shadow:0 12px 40px rgba(0,0,0,.6);
  animation:pmf-dd-in .12s ease;
}
.pmf-dd-item{
  display:flex;align-items:center;gap:6px;
  padding:7px 12px;font-size:11.5px;color:var(--txt2);
  border-radius:6px;cursor:pointer;transition:background .1s;
}
.pmf-dd-item:hover{background:var(--s3);color:var(--txt);}
.pmf-dd-item.on{color:var(--accent);}

/* Toast */
#pmf-toast{
  position:fixed;bottom:72px;left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--s3);border:1px solid var(--b2);
  color:var(--txt);font-size:12px;font-weight:600;
  padding:8px 16px;border-radius:8px;
  opacity:0;pointer-events:none;z-index:99999;
  transition:.25s;box-shadow:0 6px 20px rgba(0,0,0,.4);white-space:nowrap;
}
#pmf-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ══════════════════════════════════════
   MODAL
══════════════════════════════════════ */
/* Backdrop — bottom offset clears the 32px fixed status bar on desktop */

/* ── Modal CSS (needed on watchlist/signal-lab pages) ──*/
/* Modal backdrop — JS sets bottom:32px (pulse) or 0px (watchlist/signal-lab) */
#pmf-modal-root > div{ /* backdrop — no static styles needed, all set via JS */ }
/* Mobile: FULL SCREEN — covers everything including MPWA nav and status bar */
@media(max-width:768px){
  #pmf-modal-root > div{ bottom:0 !important; }
}
/* Whale Activity rows */
.pmf-whale-row{display:flex;align-items:center;gap:7px;padding:6px 8px;border-bottom:1px solid var(--b1);transition:background .12s;}
.pmf-whale-row:last-child{border-bottom:none;}
.pmf-whale-row:hover{background:var(--s3);}
.pmf-whale-img{width:28px;height:28px;border-radius:7px;object-fit:cover;background:var(--s3);flex-shrink:0;}
.pmf-whale-info{flex:1;min-width:0;}
.pmf-whale-top{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;}
.pmf-whale-sym{font-size:11px;font-weight:800;color:var(--txt);flex-shrink:0;}
.pmf-whale-usd{font-size:11px;font-weight:700;flex-shrink:0;}
.pmf-whale-bot{display:flex;align-items:center;gap:4px;margin-top:2px;}
.pmf-whale-chart-btn{flex-shrink:0;background:linear-gradient(135deg,var(--accent2),var(--accent));border:none;border-radius:6px;color:#fff;font-size:11px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;transition:opacity .15s;}
.pmf-whale-chart-btn:hover{opacity:.8;}
.pmf-mobile-social{
  display:flex;align-items:center;gap:5px;
  overflow-x:auto;flex-wrap:nowrap;
  padding:5px 10px;
  border-bottom:1px solid var(--b1);
  flex-shrink:0;
  scrollbar-width:none;
  background:var(--s1);
}
.pmf-mobile-social::-webkit-scrollbar{display:none;}
#pmf-modal-root .pmf-modal{
  background:var(--s1);border:1px solid var(--b2);
  border-radius:16px 16px 0 0;
  width:100%;max-width:1080px;
  /* height is set by JS inline style (accounts for status bar on pulse page) */
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 -8px 60px rgba(0,0,0,.7);
  animation:pmf-modal-up .22s cubic-bezier(.22,1,.36,1);
}
/* Desktop: centered card */
@media(min-width:769px){
  #pmf-modal-root .pmf-modal{
    border-radius:14px;
    animation:pmf-modal-in .2s ease-out;
  }
}
/* Mobile: FULL SCREEN — covers everything, feels native */
@media(max-width:768px){
  #pmf-modal-root .pmf-modal{
    border-radius:0;
    height:100dvh;
    max-width:100%;
    animation:pmf-modal-up .22s cubic-bezier(.22,1,.36,1);
  }
  .pmf-modal-body{flex-direction:column;overflow-y:auto;}
  .pmf-chart-side{
    border-right:none;border-bottom:1px solid var(--b1);
    height:55vh;min-height:260px;max-height:58vh;flex-shrink:0;
  }
  .pmf-panel-side{width:100%;overflow-y:visible;}
}
@keyframes pmf-modal-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes pmf-modal-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.pmf-modal-banner{display:flex;align-items:center;gap:7px;padding:6px 14px;font-size:11.5px;font-weight:600;flex-shrink:0;border-bottom:1px solid transparent;}
.pmf-modal-banner.g{background:rgba(0,230,118,.08);color:var(--green);border-color:rgba(0,230,118,.14);}
.pmf-modal-banner.y{background:rgba(251,191,36,.07);color:var(--yellow);border-color:rgba(251,191,36,.14);}
.pmf-modal-banner.r{background:rgba(240,68,68,.09);color:var(--red);border-color:rgba(240,68,68,.2);animation:pmf-pulse-r 2s infinite;}
@keyframes pmf-pulse-r{0%,100%{opacity:1}55%{opacity:.7}}
.pmf-banner-close{margin-left:auto;background:none;border:none;color:inherit;opacity:.5;font-size:14px;cursor:pointer;}
.pmf-modal-hdr{display:flex;align-items:flex-start;gap:10px;padding:12px 14px 10px;border-bottom:1px solid var(--b1);flex-shrink:0;}
.pmf-modal-img{width:44px;height:44px;border-radius:10px;object-fit:cover;background:var(--s3);flex-shrink:0;}
.pmf-modal-meta{flex:1;min-width:0;}
.pmf-modal-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:15px;font-weight:800;color:var(--txt);}
.pmf-modal-sym{color:var(--txt2);font-weight:500;font-size:13px;}
.pmf-modal-age{font-size:10px;color:var(--txt3);background:var(--s3);border:1px solid var(--b1);border-radius:4px;padding:0 5px;line-height:17px;}
.pmf-modal-stats{display:flex;align-items:center;gap:11px;margin-top:4px;font-size:11px;color:var(--txt3);flex-wrap:wrap;}
.pmf-modal-stats strong{color:var(--txt);font-weight:600;}
.pmf-modal-stats .up{color:var(--green);} .pmf-modal-stats .dn{color:var(--red);}
.pmf-modal-price-col{text-align:right;flex-shrink:0;}
.pmf-modal-price{font-size:20px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums;line-height:1.1;}
.pmf-modal-price.dn{color:var(--red);}
.pmf-modal-price-sub{font-size:10.5px;color:var(--txt3);text-align:right;margin-top:2px;}
.pmf-modal-star{background:none;border:none;font-size:17px;color:var(--txt3);cursor:pointer;transition:color .15s;padding:2px;align-self:flex-start;}
.pmf-modal-star:hover,.pmf-modal-star.on{color:var(--yellow);}
.pmf-modal-close{background:var(--s3);border:1px solid var(--b2);border-radius:7px;padding:4px 9px;color:var(--txt2);font-size:14px;cursor:pointer;transition:all .15s;align-self:flex-start;}
.pmf-modal-close:hover{background:var(--s4);color:var(--txt);}
.pmf-social-bar{display:flex;align-items:center;gap:4px;padding:6px 14px;border-bottom:1px solid var(--b1);flex-shrink:0;flex-wrap:wrap;}
.pmf-sbar-btn{display:flex;align-items:center;gap:3px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;background:var(--s2);border:1px solid var(--b2);color:var(--txt2);cursor:pointer;transition:all .14s;text-decoration:none;}
.pmf-sbar-btn:hover{border-color:var(--accent);color:var(--accent);}
.pmf-sbar-dot{width:5px;height:5px;border-radius:50%;}
.pmf-sbar-sep{width:1px;height:16px;background:var(--b1);margin:0 2px;}
.pmf-reactions{display:flex;gap:2px;}
.pmf-rxn-btn{display:flex;align-items:center;gap:2px;background:var(--s2);border:1px solid var(--b2);border-radius:5px;padding:2px 6px;font-size:13px;color:var(--txt2);cursor:pointer;transition:all .13s;}
.pmf-rxn-btn:hover{background:var(--s3);}
.pmf-rxn-btn.on{background:rgba(14,165,233,.1);border-color:rgba(14,165,233,.28);}
.pmf-rxn-cnt{font-size:10px;font-weight:600;color:var(--txt3);}
.pmf-modal-body{display:flex;flex:1;min-height:0;overflow:hidden;}
.pmf-chart-side{flex:1;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--b1);min-width:0;}
.pmf-panel-side{width:280px;flex-shrink:0;overflow-y:auto;background:var(--s1);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.07) transparent;}
.pmf-panel-side::-webkit-scrollbar{width:3px;}
.pmf-panel-side::-webkit-scrollbar-thumb{background:rgba(255,255,255,.09);border-radius:3px;}
.pmf-chart-area{flex:1;overflow:hidden;min-height:0;position:relative;}
.pmf-chart-area iframe{width:100%;height:100%;border:none;display:block;}
.pmf-chart-footer{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;border-top:1px solid var(--b1);font-size:10px;color:var(--txt3);flex-shrink:0;background:var(--s1);}
.pmf-chart-footer a{color:var(--accent);font-weight:600;text-decoration:none;}
.pmf-chart-brand{font-size:10px;font-weight:800;letter-spacing:.4px;color:var(--txt2);}
.pmf-section{padding:11px 13px;border-bottom:1px solid var(--b1);}
.pmf-section-title{font-size:9.5px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.9px;margin-bottom:9px;display:flex;align-items:center;justify-content:space-between;}
.pmf-addr-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:10.5px;}
.pmf-addr-lbl{color:var(--txt3);}
.pmf-addr-val{display:flex;align-items:center;gap:3px;color:var(--accent);font-size:10px;}
.pmf-addr-val a{color:var(--accent);text-decoration:none;}
.pmf-copy-btn{background:none;border:none;padding:1px 2px;color:var(--txt3);cursor:pointer;font-size:10px;border-radius:3px;transition:color .12s;}
.pmf-copy-btn:hover{color:var(--accent);}
.pmf-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:7px;}
.pmf-metric{background:var(--s2);border:1px solid var(--b1);border-radius:8px;padding:7px 4px 6px;text-align:center;}
.pmf-metric.danger{border-color:rgba(240,68,68,.35);background:rgba(240,68,68,.09);}
.pmf-metric.danger .pmf-metric-val{color:var(--red);}
.pmf-metric.danger .pmf-metric-lbl{color:rgba(240,68,68,.65);}
.pmf-metric-val{font-size:13px;font-weight:800;color:var(--txt);line-height:1;}
.pmf-metric-val.r{color:var(--red);} .pmf-metric-val.g{color:var(--green);}
.pmf-metric-val.rw{color:var(--orange);} .pmf-metric-val.rb{color:var(--red);}
.pmf-metric-val.dim{color:var(--txt3);}
.pmf-metric-lbl{font-size:8px;color:var(--txt3);margin-top:2px;}
.pmf-dex-paid{display:flex;justify-content:space-between;font-size:10.5px;margin-top:4px;}
.pmf-dex-paid span:first-child{color:var(--txt3);}
.pmf-dex-paid .yes{color:var(--green);font-weight:700;} .pmf-dex-paid .no{color:var(--txt3);}
.pmf-ath{margin-top:9px;}
.pmf-ath-hdr{display:flex;justify-content:space-between;font-size:10.5px;margin-bottom:3px;}
.pmf-ath-hdr span{color:var(--txt3);} .pmf-ath-hdr strong{color:var(--txt);font-weight:700;}
.pmf-ath-track{height:20px;background:var(--s3);border-radius:7px;overflow:hidden;position:relative;margin:4px 0;}
.pmf-ath-fill{height:100%;border-radius:7px;background:linear-gradient(90deg,var(--accent2),var(--accent));transition:width .7s ease;position:relative;display:flex;align-items:center;min-width:0;}
.pmf-ath-fill::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);animation:pmf-shimmer 2.5s infinite;}
@keyframes pmf-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(200%)}}
.pmf-ath-fill.near{background:linear-gradient(90deg,#d97706,var(--yellow));}
.pmf-ath-fill.new-ath{background:linear-gradient(90deg,var(--yellow),var(--red));}
.pmf-ath-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--txt3);margin-top:2px;}
.pmf-ath-new{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;font-weight:700;color:var(--yellow);background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.25);border-radius:4px;padding:1px 6px;margin-top:3px;}
.pmf-pump-row{display:flex;justify-content:space-between;background:rgba(14,165,233,.07);border:1px solid rgba(14,165,233,.14);border-radius:6px;padding:5px 9px;margin-top:5px;font-size:10.5px;}
.pmf-pump-row span:first-child{color:var(--txt2);} .pmf-pump-row span:last-child{color:var(--accent);font-weight:700;}
.pmf-rug-card{border-radius:8px;border:1px solid var(--b2);padding:9px;background:var(--s2);margin-bottom:5px;}
.pmf-rug-card.low{border-color:rgba(0,230,118,.2);background:rgba(0,230,118,.025);}
.pmf-rug-card.medium{border-color:rgba(251,191,36,.2);}
.pmf-rug-card.high{border-color:rgba(249,115,22,.22);}
.pmf-rug-card.danger{border-color:rgba(240,68,68,.25);}
.pmf-rug-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.pmf-rug-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:6px;}
.pmf-rug-badge.low{background:rgba(0,230,118,.12);color:var(--green);}
.pmf-rug-badge.medium{background:rgba(251,191,36,.1);color:var(--yellow);}
.pmf-rug-badge.high{background:rgba(249,115,22,.12);color:var(--orange);}
.pmf-rug-badge.danger{background:rgba(240,68,68,.12);color:var(--red);}
.pmf-rug-score{font-size:10px;color:var(--txt3);}
.pmf-rug-row{display:flex;justify-content:space-between;font-size:10.5px;padding:2px 0;}
.pmf-rug-row span:first-child{color:var(--txt3);} .pmf-rug-row span:last-child{color:var(--txt);font-weight:600;}
.pmf-rug-warn{display:flex;align-items:flex-start;gap:4px;margin-top:5px;background:rgba(249,115,22,.07);border-radius:4px;padding:4px 7px;font-size:9.5px;color:var(--orange);}
.pmf-lock-panel{border-radius:8px;border:1px solid var(--b2);padding:12px;text-align:center;background:var(--s2);}
.pmf-lock-panel h4{font-size:11.5px;font-weight:700;color:var(--txt);margin:5px 0 4px;}
.pmf-lock-panel p{font-size:10.5px;color:var(--txt3);margin-bottom:9px;}
.pmf-lock-tags{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin-bottom:9px;}
.pmf-lock-tag{font-size:9.5px;padding:1px 7px;border-radius:4px;background:var(--s3);border:1px solid var(--b2);color:var(--txt3);}
.pmf-lock-btn{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,var(--accent2),var(--accent));border:none;border-radius:7px;padding:6px 14px;color:#fff;font-size:11px;font-weight:700;cursor:pointer;}
.pmf-ai-card{border-radius:8px;border:1px solid var(--b2);padding:9px;background:var(--s2);}
.pmf-ai-top{display:flex;align-items:center;gap:6px;margin-bottom:6px;}
.pmf-ai-badge{font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:5px;}
.pmf-ai-badge.good{background:rgba(0,230,118,.12);color:var(--green);border:1px solid rgba(0,230,118,.22);}
.pmf-ai-badge.risky{background:rgba(251,191,36,.1);color:var(--yellow);border:1px solid rgba(251,191,36,.2);}
.pmf-ai-badge.avoid{background:rgba(240,68,68,.1);color:var(--red);border:1px solid rgba(240,68,68,.2);}
.pmf-ai-text{font-size:10.5px;color:var(--txt2);line-height:1.5;margin-bottom:7px;}
.pmf-ai-text strong{color:var(--txt);}
.pmf-conf-row{display:flex;align-items:center;gap:6px;}
.pmf-conf-lbl{font-size:9.5px;color:var(--txt3);flex-shrink:0;}
.pmf-conf-bar{flex:1;height:3px;background:var(--s3);border-radius:3px;overflow:hidden;}
.pmf-conf-fill{height:100%;border-radius:3px;}
.pmf-conf-fill.h{background:var(--green);} .pmf-conf-fill.m{background:var(--yellow);} .pmf-conf-fill.l{background:var(--red);}
.pmf-conf-pct{font-size:9.5px;color:var(--txt3);flex-shrink:0;}
.pmf-alert-row{display:flex;gap:5px;}
.pmf-alert-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px;border-radius:7px;font-size:10.5px;font-weight:600;cursor:pointer;transition:all .14s;border:1px solid;}
.pmf-alert-btn.b{background:rgba(0,230,118,.07);border-color:rgba(0,230,118,.2);color:var(--green);}
.pmf-alert-btn.s{background:rgba(240,68,68,.07);border-color:rgba(240,68,68,.2);color:var(--red);}
.pmf-alert-btn.b.on{background:rgba(0,230,118,.2);border-color:var(--green);}
.pmf-alert-btn.s.on{background:rgba(240,68,68,.16);border-color:var(--red);}
.pmf-trade,.pmf-sl{padding:11px 13px;}
.pmf-sl{border-top:1px solid var(--b1);}
.pmf-bs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:10px;}
.pmf-bs-btn{padding:8px;border:1px solid;border-radius:8px;font-size:13px;font-weight:800;cursor:pointer;transition:all .15s;text-align:center;}
.pmf-bs-btn.b{border-color:rgba(0,230,118,.25);background:rgba(0,230,118,.06);color:var(--green);}
.pmf-bs-btn.s{border-color:rgba(240,68,68,.25);background:rgba(240,68,68,.06);color:var(--red);}
.pmf-bs-btn.b.on{background:rgba(0,230,118,.18);border-color:var(--green);box-shadow:0 0 12px rgba(0,230,118,.12);}
.pmf-bs-btn.s.on{background:rgba(240,68,68,.16);border-color:var(--red);box-shadow:0 0 12px rgba(240,68,68,.12);}
.pmf-amt-box{background:var(--s2);border:1px solid var(--b2);border-radius:9px;padding:9px 10px;margin-bottom:7px;}
.pmf-amt-inner{display:flex;align-items:center;gap:5px;}
.pmf-amt-input{flex:1;background:none;border:none;outline:none;color:var(--txt);font:700 17px var(--fn);min-width:0;}
.pmf-amt-input::placeholder{color:var(--txt3);font-weight:400;}
.pmf-amt-unit{font-size:12px;font-weight:700;color:var(--txt2);flex-shrink:0;}
.pmf-amt-max{background:var(--s3);border:1px solid var(--b2);border-radius:5px;padding:2px 8px;font-size:9.5px;font-weight:800;color:var(--txt2);cursor:pointer;transition:all .13s;flex-shrink:0;}
.pmf-amt-max:hover{border-color:var(--accent);color:var(--accent);}
.pmf-amt-sub{display:flex;justify-content:space-between;font-size:9.5px;color:var(--txt3);margin-top:4px;}
.pmf-quick{display:flex;gap:3px;margin-bottom:9px;flex-wrap:wrap;}
.pmf-quick-btn{flex:1;min-width:calc(20% - 3px);padding:5px 3px;border-radius:6px;font-size:9.5px;font-weight:800;background:var(--s2);border:1px solid var(--b2);color:var(--txt2);cursor:pointer;transition:all .13s;text-align:center;}
.pmf-quick-btn:hover{border-color:var(--accent);color:var(--accent);}
.pmf-exec-btn{width:100%;padding:11px;border:none;border-radius:10px;font-size:14px;font-weight:800;cursor:pointer;transition:all .15s;margin-bottom:5px;}
.pmf-exec-btn.b{background:linear-gradient(135deg,#00c853,var(--green));color:#000;}
.pmf-exec-btn.s{background:linear-gradient(135deg,#cc2000,var(--red));color:#fff;}
.pmf-exec-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px);}
.pmf-exec-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.pmf-connect-btn{width:100%;padding:11px;border:1px solid rgba(14,165,233,.25);border-radius:10px;background:rgba(14,165,233,.08);color:var(--accent);font:700 13px var(--fn);cursor:pointer;transition:all .15s;margin-bottom:5px;}
.pmf-connect-btn:hover{background:rgba(14,165,233,.15);}
.pmf-trade-note{font-size:9px;color:var(--txt3);text-align:center;}
/* Wallet status row inside trade panel */
.pmf-wallet-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;gap:6px;}
.pmf-wallet-addr{font-family:monospace;font-size:10px;color:var(--txt2);}
.pmf-wallet-disc{
  background:none;border:1px solid var(--b2);border-radius:6px;
  padding:3px 9px;font-size:10px;font-weight:600;color:var(--txt3);
  cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0;
}
.pmf-wallet-disc:hover{border-color:var(--red);color:var(--red);background:rgba(217,54,54,.08);}
.pmf-wallet-refresh{
  background:none;border:1px solid var(--b2);border-radius:6px;
  padding:3px 7px;font-size:10px;color:var(--txt3);cursor:pointer;
  transition:all .15s;flex-shrink:0;
}
.pmf-wallet-refresh:hover{border-color:var(--accent);color:var(--accent);}
.pmf-bal-row{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;color:var(--txt3);margin-bottom:4px;}
.pmf-bal-row strong{color:var(--txt);}
.pmf-pnl-banner{display:flex;justify-content:space-between;align-items:center;background:var(--s2);border:1px solid var(--b1);border-radius:6px;padding:6px 9px;font-size:10.5px;margin-bottom:7px;}
.pmf-pnl-banner span:first-child{color:var(--txt3);}
.pmf-pnl-val.profit{color:var(--green);font-weight:700;} .pmf-pnl-val.loss{color:var(--red);font-weight:700;}
.pmf-sl-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.pmf-sl-lbl{font-size:11.5px;font-weight:700;color:var(--txt);}
.pmf-sw{position:relative;width:34px;height:19px;}
.pmf-sw input{opacity:0;width:0;height:0;}
.pmf-sw-track{position:absolute;inset:0;background:var(--s4);border:1px solid var(--b2);border-radius:999px;cursor:pointer;transition:.18s;}
.pmf-sw-track::before{content:'';position:absolute;width:13px;height:13px;left:2px;top:2px;background:var(--txt3);border-radius:50%;transition:.18s;}
.pmf-sw input:checked + .pmf-sw-track{background:rgba(0,230,118,.18);border-color:var(--green);}
.pmf-sw input:checked + .pmf-sw-track::before{transform:translateX(15px);background:var(--green);}
.pmf-pct-row{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:8px;}
.pmf-pct-btn{padding:3px 8px;border-radius:5px;font-size:9.5px;font-weight:700;background:var(--s2);border:1px solid var(--b2);color:var(--txt3);cursor:pointer;transition:all .13s;}
.pmf-pct-btn:hover,.pmf-pct-btn.on{border-color:var(--accent);color:var(--accent);}
.pmf-pct-btn.r:hover,.pmf-pct-btn.r.on{border-color:var(--red);color:var(--red);background:rgba(240,68,68,.07);}
.pmf-pct-btn.gr:hover,.pmf-pct-btn.gr.on{border-color:var(--green);color:var(--green);background:rgba(0,230,118,.07);}
.pmf-sl-pr{display:flex;justify-content:space-between;font-size:10.5px;color:var(--txt3);padding:3px 0;}
.pmf-sl-pr strong{color:var(--txt);}
#pmf-ts{position:fixed;inset:0;z-index:30000;background:rgba(0,0,0,.88);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;}
.pmf-ts-card{background:var(--s1);border:1px solid var(--b2);border-radius:14px;padding:28px 24px;text-align:center;max-width:320px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.7);animation:pmf-modal-in .18s ease-out;}
.pmf-ts-icon{font-size:38px;margin-bottom:10px;} .pmf-ts-title{font-size:16px;font-weight:800;margin-bottom:5px;}
.pmf-ts-detail{font-size:12px;color:var(--txt2);margin-bottom:12px;}
.pmf-ts-err{font-size:10.5px;color:var(--red);background:rgba(240,68,68,.07);border-radius:5px;padding:5px 9px;margin:6px 0;}
.pmf-ts-bar{height:2.5px;background:var(--s3);border-radius:3px;overflow:hidden;margin-top:10px;}
.pmf-ts-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));animation:pmf-bar-fill 3s linear forwards;}
@keyframes pmf-bar-fill{from{width:0}to{width:100%}}
.pmf-ts-close{margin-top:12px;background:var(--s2);border:1px solid var(--b2);border-radius:8px;padding:7px 18px;color:var(--txt);font-size:12px;font-weight:600;cursor:pointer;}

/* ══════════════════════════════════════
   MOBILE
══════════════════════════════════════ */
@media(max-width:900px){
  #pmf-main{grid-template-columns:1fr;overflow-y:auto;}
  .pmf-col{border-right:none;border-bottom:2px solid var(--b2);}
  .pmf-col-body.fixed-5{height:auto;max-height:50vh;}
  .pmf-col-body.fill{max-height:50vh;flex:none;}
  .pmf-subs-wrap{max-height:none;overflow-y:visible;}
  .pmf-chips{display:none;}
  .pmf-chip-more{display:none;}
  .pmf-user-name{display:none;}
}

/* ══════════════════════════════════════
   LIGHT MODE OVERRIDES
══════════════════════════════════════ */
body.light .pmf-logo-txt{filter:brightness(.7);}
body.light .pmf-nav-link{color:var(--txt3);}
body.light .pmf-nav-link.active{color:var(--txt);background:rgba(14,165,233,.07);}
body.light .pmf-hdr-btn{color:var(--txt3);}
body.light .pmf-hdr-btn:hover{background:rgba(0,0,0,.05);}
body.light .pmf-runners-pill{background:rgba(168,85,247,.1);}
body.light .pmf-col-hdr{background:var(--s2);}
body.light .pmf-card:hover{background:var(--s3);}
body.light .pmf-sub-body{background:var(--s2);}
body.light .pmf-sub-hd:hover{background:var(--s3);}
body.light .pmf-modal{background:var(--s1);}
body.light .pmf-panel-side{background:var(--s2);}
body.light .pmf-section{border-color:var(--b1);}
body.light .pmf-metric{background:var(--s3);border-color:var(--b1);}
body.light .pmf-ai-card{background:var(--s2);}
body.light .pmf-rug-card{background:var(--s3);}
body.light .pmf-trade{background:var(--s1);}
body.light .pmf-amt-box{background:var(--s3);}
body.light .pmf-user-menu{background:var(--s1);border-color:var(--b2);}
body.light .pmf-menu-item:hover{background:var(--s3);}
body.light #pmf-status-bar{background:var(--s2);border-color:var(--b1);}
body.light .pmf-dd{background:var(--s1);}

/* ── Header + Nav CSS (shared across all pages) ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;}
body{
  background:var(--bg);color:var(--txt);
  font-family:var(--fn);font-size:13px;
  display:flex;flex-direction:column;
  transition:background .25s,color .25s;
}
/* Pulse page: needs overflow:hidden so JS manages column scroll */
body.pmf-pulse-page{
  height:100%;overflow:hidden;
}
/* Non-pulse pages: normal scroll, auto height */
/* Non-pulse pages scroll on html, not body — avoids iOS fixed position bug */
html{overflow-y:auto;}
body:not(.pmf-pulse-page){
  display:block;
  overflow:visible;
  min-height:100dvh;
}
/* ── MPWA Bottom Nav — handled by pmf inject_nav_fix wp_footer hook ── */
html body.mpwa-nav-active{padding-bottom:90px!important;}
html body.pmf-pulse-page.mpwa-nav-active{padding-bottom:0!important;}
html body.pmf-pulse-page.mpwa-nav-active #pmf-root{padding-bottom:90px;}
#mpwa-nav{align-items:center!important;padding:10px 20px!important;height:auto!important;min-height:56px!important;}
#mpwa-nav .mpwa-nav-link{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:6px 10px!important;margin:0!important;min-height:44px!important;gap:2px!important;flex:1!important;}
#mpwa-more-overlay *{margin:revert;padding:revert;box-sizing:border-box!important;}
@supports(padding-top:env(safe-area-inset-top)){
  #mpwa-more-overlay .mpwa-more-header{padding-top:calc(8px + env(safe-area-inset-top,0px))!important;}
  #bp-better-messages-mini-mobile-container{margin-top:env(safe-area-inset-top,0px)!important;}
}
/* Accent colors overridden per-page via inline <style> tag */
/* Light mode — body.light class added by JS theme sync */
body.light{
  --bg:#f0f4f8;--s1:#ffffff;--s2:#f8fafc;--s3:#eef2f7;--s4:#e2e8f0;
  --b1:rgba(0,0,0,.08);--b2:rgba(0,0,0,.13);--b3:rgba(0,0,0,.18);
  --txt:#0f172a;--txt2:#374151;--txt3:#6b7280;
  background:#f0f4f8!important;color:#0f172a!important;
}
body.dark{
  background:#06090f!important;color:#dde6f0!important;
}
/* ── Status Bar — fixed at bottom, never touches the flex layout ── */
#pmf-status-bar{
  position:fixed;bottom:0;left:0;right:0;height:32px;
  background:var(--s1);border-top:1px solid var(--b1);
  display:flex;align-items:center;padding:0 10px;
  font-size:10.5px;color:var(--txt3);overflow:hidden;white-space:nowrap;
  z-index:200;transition:background .25s,border-color .25s;
}
.pmf-sb-sep{width:1px;height:14px;background:var(--b2);flex-shrink:0;margin:0 7px;}
.pmf-sb-item{display:flex;align-items:center;gap:3px;flex-shrink:0;}
.pmf-sb-link{color:var(--txt3);text-decoration:none;transition:color .13s;}
.pmf-sb-link:hover{color:var(--accent);}
.pmf-sb-stat{font-weight:600;color:var(--txt2);}
.pmf-sb-stat.up{color:var(--green);}.pmf-sb-stat.dn{color:var(--red);}
.pmf-sb-conn-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 5px var(--green);animation:pmf-blink 2s infinite;flex-shrink:0;}
.pmf-sb-conn-dot.off{background:var(--red);box-shadow:0 0 5px var(--red);animation:none;}
.pmf-sb-copy{margin-left:auto;font-size:10px;color:var(--txt3);flex-shrink:0;}
.pmf-theme-toggle{background:none;border:1px solid var(--b2);border-radius:5px;padding:1px 7px;font-size:11px;color:var(--txt3);cursor:pointer;transition:all .15s;flex-shrink:0;margin-left:6px;}
.pmf-theme-toggle:hover{border-color:var(--accent);color:var(--accent);}
@media(max-width:1100px){.pmf-sb-wide{display:none!important;}}
@media(max-width:900px){.pmf-sb-med{display:none!important;}}
@media(max-width:768px){#pmf-status-bar{display:none;}}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:4px}
a{text-decoration:none;color:inherit;}
button{font-family:var(--fn);}

/* ══════════════════════════════════════
   HEADER
══════════════════════════════════════ */
#pmf-hdr{
  height:var(--hdr);flex-shrink:0;
  background:rgba(6,9,15,.88);
  backdrop-filter:blur(20px) saturate(1.5);
  border-bottom:1px solid var(--b1);
  display:flex;align-items:center;gap:0;
  position:relative;z-index:300;
  transition:background .35s,border-color .35s,backdrop-filter .35s;
  /* PWA safe area — push header below iPhone notch/status bar */
  padding-top:env(safe-area-inset-top,0px);
  height:calc(var(--hdr) + env(safe-area-inset-top,0px));
}
/* Mobile: sticky with transparent blur — becomes solid on scroll */
@media(max-width:768px){
  #pmf-hdr{
    position:sticky;top:0;z-index:400;
    background:rgba(6,9,15,.55);
    backdrop-filter:blur(18px) saturate(1.8);
    border-bottom-color:transparent;
    padding-left:4px;padding-right:4px;
  }
  #pmf-hdr.pmf-scrolled{
    background:rgba(6,9,15,.92);
    border-bottom-color:var(--b1);
    backdrop-filter:blur(24px) saturate(2);
  }
  /* Remove ALL vertical divider lines on mobile */
  .pmf-logo{ border-right:none!important; padding:0 10px; gap:8px; }
  .pmf-logo img{ max-height:32px!important; }
  .pmf-logo-txt{ font-size:17px!important; }
  .pmf-user-wrap{ border-left:none!important; }
  .pmf-user-trigger{ border:none!important; padding:0 8px!important; }
  .pmf-nav-link{ border-right:none!important; }
  .pmf-hdr-btn{ border-left:none!important; }
  /* Avatar slightly bigger on mobile */
  .pmf-user-av{ width:30px!important; height:30px!important; }
  .pmf-user-av-ph{ width:30px!important; height:30px!important; font-size:13px!important; }
}
/* Transparent at top (no scroll yet) */
#pmf-hdr.pmf-transparent{
  background:rgba(6,9,15,.25);
  border-bottom-color:transparent;
  backdrop-filter:blur(6px);
}
/* Solid once user has scrolled */
#pmf-hdr.pmf-scrolled{
  background:rgba(6,9,15,.97);
  border-bottom-color:var(--b2);
  backdrop-filter:blur(28px) saturate(2);
}
/* Light mode */
body.light #pmf-hdr{background:rgba(240,244,248,.9);border-bottom-color:var(--b1);}
body.light #pmf-hdr.pmf-transparent{background:rgba(240,244,248,.25);}
body.light #pmf-hdr.pmf-scrolled{background:rgba(240,244,248,.98);}
@media(max-width:768px){
  body.light #pmf-hdr{background:rgba(240,244,248,.6);border-bottom-color:transparent;}
  body.light #pmf-hdr.pmf-scrolled{background:rgba(240,244,248,.96);border-bottom-color:var(--b1);}
}

/* Logo */
.pmf-logo{
  display:flex;align-items:center;gap:7px;
  padding:0 14px;height:100%;border-right:1px solid var(--b1);
  text-decoration:none;flex-shrink:0;
}
.pmf-logo img{max-height:22px;width:auto;}
.pmf-logo-txt{
  font-size:14px;font-weight:800;letter-spacing:-.3px;
  color:var(--accent);
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
/* Fallback for browsers where gradient clip doesn't work */
@supports not (-webkit-background-clip: text){
  .pmf-logo-txt{ -webkit-text-fill-color:unset; color:var(--accent); }
}

/* Nav links (Community, Pulse, + extras) */
.pmf-nav{display:flex;align-items:center;height:100%;}
.pmf-nav-link{
  display:flex;align-items:center;gap:4px;
  height:100%;padding:0 12px;font-size:12px;font-weight:600;
  color:var(--txt3);border-right:1px solid var(--b1);
  transition:color .15s,background .15s;white-space:nowrap;
}
.pmf-nav-link:hover{color:var(--txt2);background:rgba(255,255,255,.04);}
.pmf-nav-link.active{color:var(--txt);background:rgba(14,165,233,.07);}

/* Live + runners */
.pmf-hdr-live{display:flex;align-items:center;gap:5px;padding:0 10px;flex-shrink:0;}
.pmf-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 5px var(--green);animation:pmf-blink 2s infinite;flex-shrink:0;}
.pmf-dot.off{background:var(--red);box-shadow:0 0 5px var(--red);animation:none;}
@keyframes pmf-blink{0%,100%{opacity:1}50%{opacity:.35}}
.pmf-live-txt{font-size:11px;font-weight:700;color:var(--green);}
.pmf-runners-pill{
  display:flex;align-items:center;gap:5px;
  background:rgba(168,85,247,.1);border:1px solid rgba(168,85,247,.22);
  border-radius:999px;padding:3px 10px;
  font-size:11px;font-weight:700;color:#c084fc;
  cursor:pointer;transition:background .15s;white-space:nowrap;flex-shrink:0;
}
.pmf-runners-pill:hover{background:rgba(168,85,247,.2);}

/* Chips row — runner tokens */
.pmf-chips{display:flex;align-items:center;gap:4px;flex:1;overflow:hidden;padding:0 8px;min-width:0;}
.pmf-chip{
  display:flex;align-items:center;gap:3px;
  background:var(--s2);border:1px solid var(--b2);
  border-radius:999px;padding:2px 8px 2px 4px;
  font-size:10.5px;font-weight:600;cursor:pointer;
  transition:all .15s;white-space:nowrap;flex-shrink:0;
}
.pmf-chip:hover{border-color:var(--accent);color:var(--accent);}
.pmf-chip img{width:16px;height:16px;border-radius:50%;object-fit:cover;}
.pmf-chip-mc{font-size:9.5px;color:var(--txt3);margin-left:2px;}
.pmf-chip-more{font-size:10.5px;color:var(--txt3);cursor:pointer;padding:0 5px;white-space:nowrap;flex-shrink:0;}

/* Right side controls */
.pmf-hdr-right{display:flex;align-items:center;height:100%;flex-shrink:0;margin-left:auto;}
.pmf-hdr-btn{
  display:flex;align-items:center;gap:5px;
  height:100%;padding:0 11px;font-size:11px;font-weight:600;color:var(--txt3);
  background:none;border:none;border-left:1px solid var(--b1);
  cursor:pointer;transition:color .15s,background .15s;white-space:nowrap;
}
.pmf-hdr-btn:hover{color:var(--txt2);background:rgba(255,255,255,.04);}
.pmf-hdr-btn.active{color:var(--green);}
.pmf-hdr-btn svg{transition:transform .5s;}
.pmf-hdr-btn.spinning svg{animation:pmf-spin .6s linear infinite;}
@keyframes pmf-spin{to{transform:rotate(360deg)}}

/* User avatar + dropdown */
.pmf-user-wrap{position:relative;height:100%;border-left:1px solid var(--b1);}
.pmf-user-trigger{
  display:flex;align-items:center;gap:7px;
  height:100%;padding:0 12px;
  cursor:pointer;transition:background .15s;
}
.pmf-user-trigger:hover{background:rgba(255,255,255,.04);}
.pmf-user-av{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid rgba(14,165,233,.3);}
.pmf-user-av-ph{
  width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;color:#fff;flex-shrink:0;
}
.pmf-user-name{font-size:11px;font-weight:600;color:var(--txt2);}
.pmf-user-arrow{font-size:10px;color:var(--txt3);transition:transform .18s;}
.pmf-user-wrap.open .pmf-user-arrow{transform:rotate(180deg);}

/* User dropdown menu */
.pmf-user-menu{
  position:absolute;top:calc(100% + 4px);right:0;
  background:var(--s2);border:1px solid var(--b2);
  border-radius:10px;min-width:200px;padding:5px;
  box-shadow:0 12px 40px rgba(0,0,0,.6);
  display:none;z-index:9999;
  animation:pmf-dd-in .14s ease;
}
.pmf-menu-mobile-nav{display:none;}
@media(max-width:768px){.pmf-menu-mobile-nav{display:block;}}
.pmf-user-wrap.open .pmf-user-menu{display:block;}
@keyframes pmf-dd-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.pmf-user-menu-hdr{
  padding:10px 12px 8px;border-bottom:1px solid var(--b1);margin-bottom:4px;
}
.pmf-user-menu-name{font-size:12px;font-weight:800;color:var(--txt);}
.pmf-user-menu-handle{font-size:10.5px;color:var(--txt3);}
.pmf-menu-item{
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;font-size:12px;font-weight:500;color:var(--txt2);
  border-radius:7px;cursor:pointer;transition:background .12s;
  text-decoration:none;background:none;border:none;width:100%;text-align:left;
}
.pmf-menu-item:hover{background:var(--s3);color:var(--txt);}
.pmf-menu-item.danger{color:var(--red);}
.pmf-menu-item.danger:hover{background:rgba(240,68,68,.08);}
.pmf-menu-sep{height:1px;background:var(--b1);margin:3px 4px;}
.pmf-menu-wallet-status{
  display:flex;align-items:center;gap:6px;
  padding:7px 12px;font-size:11px;color:var(--txt3);
  background:var(--s3);border-radius:7px;margin-bottom:3px;
}
.pmf-menu-wallet-status .dot{width:6px;height:6px;border-radius:50%;background:var(--red);}
.pmf-menu-wallet-status .dot.on{background:var(--green);}

/* ══════════════════════════════════════
   MAIN GRID — three columns
   flex:1 fills remaining height after the header.
   Status bar is position:fixed so doesn't affect this.
══════════════════════════════════════ */
#pmf-main{
  flex:1;min-height:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
  /* Push content above fixed status bar */
}
/* Each column is flex-column: header | body | subs */
.pmf-col{
  display:flex;flex-direction:column;
  border-right:1px solid var(--b1);
  overflow:hidden;min-height:0;
}
.pmf-col:last-child{border-right:none;}

/* Column header */
.pmf-col-hdr{
  display:flex;align-items:center;gap:5px;
  height:36px;padding:0 10px;flex-shrink:0;
  background:var(--s1);border-bottom:1px solid var(--b1);
}
.pmf-col-title{font-size:12px;font-weight:800;color:var(--txt);}
.pmf-col-cnt{
  font-size:10px;font-weight:700;color:var(--txt3);
  background:var(--s3);border:1px solid var(--b1);
  border-radius:999px;padding:0 7px;line-height:18px;
}
.pmf-col-actions{margin-left:auto;display:flex;align-items:center;gap:2px;}
.pmf-preset{
  padding:2px 7px;border-radius:5px;font-size:10px;font-weight:800;
  background:var(--s3);border:1px solid var(--b2);color:var(--txt3);
  cursor:pointer;transition:all .15s;
}
.pmf-preset:hover{border-color:var(--accent);color:var(--accent);}
.pmf-preset.on{background:rgba(14,165,233,.12);border-color:var(--accent);color:var(--accent);}
.pmf-col-icon-btn{
  background:none;border:none;padding:3px 5px;color:var(--txt3);
  font-size:12px;cursor:pointer;border-radius:4px;transition:all .15s;
}
.pmf-col-icon-btn:hover{color:var(--txt2);background:var(--s3);}

/* ── Token list: graduating col has fixed ~5-card height, others fill ── */
.pmf-col-body{
  overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.07) transparent;
}
/* New + Migrated: fill all remaining space */
.pmf-col-body.fill{flex:1;min-height:0;}
/* Graduating: fixed height ~5 cards (card ~88px each) then subs visible below */
.pmf-col-body.fixed-5{
  height:calc(88px * 5);
  flex-shrink:0;
  border-bottom:1px solid var(--b2);
}
.pmf-col-body::-webkit-scrollbar{width:3px;}
.pmf-col-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.09);border-radius:3px;}

/* Sub-sections wrapper — overflows if many subs open */
.pmf-subs-wrap{
  flex:1;min-height:0;overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.06) transparent;
}
.pmf-subs-wrap::-webkit-scrollbar{width:3px;}

/* ══════════════════════════════════════
   TOKEN CARD — matches screenshot 2
══════════════════════════════════════ */
.pmf-card{
  padding:9px 10px 8px;border-bottom:1px solid var(--b1);
  cursor:pointer;position:relative;transition:background .12s;
}
.pmf-card:hover{background:var(--s2);}
.pmf-card:last-child{border-bottom:none;}
.pmf-card.new-in{animation:pmf-slide-in .3s ease-out;border-left:2px solid var(--accent);}
.pmf-card.graduating{border-left:2px solid var(--green);}
.pmf-card.moon{border-left:2px solid var(--yellow);}
@keyframes pmf-slide-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* Whale badge (top-left absolute) */
.pmf-whale-badge{
  position:absolute;top:8px;left:58px;
  display:flex;align-items:center;gap:3px;
  font-size:9px;font-weight:700;color:var(--cyan);
  background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.2);
  border-radius:4px;padding:0 5px;
}

.pmf-card-row{display:flex;align-items:flex-start;gap:8px;}

/* Image col: larger 48px to match screenshot 2 */
.pmf-img-col{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;}
.pmf-img-wrap{position:relative;width:48px;height:48px;}
.pmf-token-img{width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--s3);display:block;}
.pmf-paid-pip{
  position:absolute;bottom:-2px;right:-2px;
  width:14px;height:14px;border-radius:50%;
  background:var(--accent);border:2px solid var(--bg);
  display:flex;align-items:center;justify-content:center;
}
.pmf-paid-pip::after{content:'✓';font-size:8px;color:#fff;font-weight:800;}
.pmf-addr-lbl{font-size:8px;color:var(--txt3);letter-spacing:.1px;line-height:1;max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Mid section */
.pmf-mid{flex:1;min-width:0;}

/* Row 1: symbol + name + icons + gem */
.pmf-name-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:3px;}
.pmf-sym{font-size:13px;font-weight:800;color:var(--txt);}
.pmf-name{font-size:10px;color:var(--txt3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:68px;}
.pmf-potential{font-size:12px;line-height:1;}

/* Gem badge — solid colored pill with score like "S100" "A72" */
.pmf-gem{
  font-size:9px;font-weight:800;padding:2px 6px;border-radius:5px;
  letter-spacing:.2px;flex-shrink:0;
}
.pmf-gem-s{background:#fbbf24;color:#000;}
.pmf-gem-a{background:var(--green);color:#000;}
.pmf-gem-b{background:var(--accent);color:#fff;}
.pmf-gem-c{background:var(--txt3);color:var(--bg);}
.pmf-gem-d{background:var(--orange);color:#fff;}
.pmf-gem-f{background:var(--red);color:#fff;}

/* Row 2: age + socials + buys + txns */
.pmf-stats{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--txt3);margin-bottom:3px;flex-wrap:wrap;}
.pmf-stats .age{color:var(--txt2);font-weight:600;}
.pmf-soc-icons{display:flex;gap:2px;}
.pmf-soc-icons a{font-size:10px;color:var(--txt3);text-decoration:none;transition:color .12s;}
.pmf-soc-icons a:hover{color:var(--accent);}

/* Row 3: risk metrics — compact inline */
.pmf-risk{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:9px;color:var(--txt3);}
.rw{color:var(--orange)!important;} .rb{color:var(--red)!important;}
.pmf-paid-badge{
  font-size:8.5px;font-weight:700;
  background:rgba(14,165,233,.12);border:1px solid rgba(14,165,233,.25);
  color:var(--accent);padding:0 5px;border-radius:4px;
}

/* Right side: MC + Vol + tag + trade */
.pmf-right{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0;}
.pmf-mc{
  font-size:13px;font-weight:800;color:var(--green);
  white-space:nowrap;font-variant-numeric:tabular-nums;
}
.pmf-mc.dn{color:var(--red);}
.pmf-vol{font-size:9.5px;color:var(--txt3);white-space:nowrap;}
.pmf-tag{font-size:8.5px;color:rgba(240,68,68,.8);font-weight:700;letter-spacing:.2px;}
.pmf-trade-btn{
  display:flex;align-items:center;justify-content:center;
  width:32px;height:28px;margin-top:3px;
  background:var(--accent);
  border:none;border-radius:8px;color:#fff;font-size:13px;
  cursor:pointer;transition:opacity .15s,transform .12s;
  box-shadow:0 2px 8px rgba(14,165,233,.3);
}
.pmf-trade-btn:hover{opacity:.85;transform:scale(1.07);}

/* Bonding bar */
.pmf-bond{margin-top:7px;}
.pmf-bond-row{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--txt3);}
.pmf-bond-lbl{white-space:nowrap;flex-shrink:0;}
.pmf-bond-track{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;}
.pmf-bond-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent2),var(--accent));transition:width .4s;}
.pmf-bond-fill.y{background:linear-gradient(90deg,#f59e0b,#fbbf24);}
.pmf-bond-fill.g{background:linear-gradient(90deg,#00c853,var(--green));}
.pmf-bond-pct{font-weight:700;color:var(--txt2);white-space:nowrap;min-width:38px;text-align:right;}
/* Glow ring at ≥90% */
.pmf-bond-track.glow{box-shadow:0 0 6px rgba(0,230,118,.4);}
/* overlays */
.pmf-card-rug,.pmf-card-dump{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:4;backdrop-filter:blur(5px);background:rgba(6,9,15,.6);border-radius:4px;}
.pmf-card-rug span{background:rgba(240,68,68,.9);color:#fff;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px;}
.pmf-card-dump span{background:rgba(249,115,22,.9);color:#fff;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px;}

/* ══════════════════════════════════════
   SUB-SECTIONS (Graduating column)
══════════════════════════════════════ */
.pmf-sub{border-top:1px solid var(--b1);}
.pmf-sub-hd{
  display:flex;align-items:center;gap:5px;padding:9px 10px;
  font-size:11px;font-weight:700;color:var(--txt2);
  cursor:pointer;user-select:none;transition:background .12s;
}
.pmf-sub-hd:hover{background:var(--s2);}
.pmf-sub-arr{margin-left:auto;color:var(--txt3);font-size:12px;transition:transform .18s;}
.pmf-sub.open .pmf-sub-arr{transform:rotate(180deg);}
.pmf-sub-cnt{font-size:10px;color:var(--txt3);font-weight:500;}

/* Community picks time selectors */
.pmf-sub-time-sel{display:flex;gap:3px;margin-left:auto;margin-right:4px;}
.pmf-time-btn{
  background:var(--s3);border:1px solid var(--b1);border-radius:999px;
  padding:1px 7px;font-size:9.5px;font-weight:700;color:var(--txt3);cursor:pointer;
  transition:all .15s;
}
.pmf-time-btn.on{background:rgba(249,115,22,.15);border-color:rgba(249,115,22,.3);color:var(--orange);}

.pmf-sub-body{display:none;padding:5px 8px 10px;background:var(--s1);}
/* When open: cap height and scroll internally so subs don't overflow the column */
.pmf-sub.open .pmf-sub-body{
  display:block;
  max-height:340px;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.08) transparent;
}
.pmf-sub.open .pmf-sub-body::-webkit-scrollbar{width:3px;}
.pmf-sub.open .pmf-sub-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px;}

/* Compact cards in subs */
.pmf-compact{
  display:flex;align-items:center;gap:6px;
  padding:5px 2px;border-bottom:1px solid var(--b1);
  cursor:pointer;transition:background .1s;border-radius:6px;
}
.pmf-compact:last-child{border-bottom:none;}
.pmf-compact:hover{background:var(--s2);}
.pmf-compact img{width:28px;height:28px;border-radius:7px;object-fit:cover;background:var(--s3);flex-shrink:0;}
.pmf-compact-mid{flex:1;min-width:0;}
.pmf-compact-sym{font-size:11px;font-weight:700;color:var(--txt);}
.pmf-compact-sub{font-size:9.5px;color:var(--txt3);}
.pmf-compact-mc{font-size:11px;font-weight:700;color:var(--green);text-align:right;white-space:nowrap;}
.pmf-compact-pch{font-size:9.5px;text-align:right;white-space:nowrap;}
.pmf-compact-pch.up{color:var(--green);} .pmf-compact-pch.dn{color:var(--red);}
.pmf-runner-bar{width:3px;border-radius:3px;align-self:stretch;flex-shrink:0;}
.pmf-runner-bar.a{background:var(--green);} .pmf-runner-bar.r{background:var(--red);} .pmf-runner-bar.d{background:var(--orange);}

/* ══════════════════════════════════════
   LOADING / EMPTY
══════════════════════════════════════ */
.pmf-loading{padding:20px;text-align:center;color:var(--txt3);font-size:11px;}
.pmf-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.08);border-top-color:var(--accent);border-radius:50%;animation:pmf-spin .65s linear infinite;margin:0 auto 8px;}
@keyframes pmf-flick-up{0%,100%{color:inherit}40%{color:var(--green)}}
@keyframes pmf-flick-dn{0%,100%{color:inherit}40%{color:var(--red)}}
.fup{animation:pmf-flick-up .38s ease;} .fdn{animation:pmf-flick-dn .38s ease;}

/* ══════════════════════════════════════
   DROPDOWNS
══════════════════════════════════════ */
.pmf-dd{
  position:fixed;z-index:9999;
  background:var(--s2);border:1px solid var(--b2);
  border-radius:9px;padding:4px;min-width:190px;display:none;
  box-shadow:0 12px 40px rgba(0,0,0,.6);
  animation:pmf-dd-in .12s ease;
}
.pmf-dd-item{
  display:flex;align-items:center;gap:6px;
  padding:7px 12px;font-size:11.5px;color:var(--txt2);
  border-radius:6px;cursor:pointer;transition:background .1s;
}
.pmf-dd-item:hover{background:var(--s3);color:var(--txt);}
.pmf-dd-item.on{color:var(--accent);}

/* Toast */
#pmf-toast{
  position:fixed;bottom:72px;left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--s3);border:1px solid var(--b2);
  color:var(--txt);font-size:12px;font-weight:600;
  padding:8px 16px;border-radius:8px;
  opacity:0;pointer-events:none;z-index:99999;
  transition:.25s;box-shadow:0 6px 20px rgba(0,0,0,.4);white-space:nowrap;
}
#pmf-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ══════════════════════════════════════
   MODAL
══════════════════════════════════════ */
/* Backdrop — bottom offset clears the 32px fixed status bar on desktop */

