/* PR4 Theme system — Dark / Light / Pyonya. Toggled by setting
 * `data-theme="X"` on <body>. Acts as overrides to landing.css ':root'
 * defaults (which are the Dark palette). Apply via <body data-theme="…">
 * or via static/theme.js which persists the choice in localStorage. */

body[data-theme="light"] {
  --bg:           #F4F6FA;
  --bg-elev:      #FFFFFF;
  --panel:        #FFFFFF;
  --panel-2:      #F2F5FA;
  --panel-line:   #E2E8F0;
  --panel-line-hot: #94A3B8;
  --fg:           #0F172A;
  --fg-muted:     #475569;
  --fg-dim:       #94A3B8;

  --ton-blue:        #0098EA;
  --ton-blue-bright: #1F84D6;
  --pyo-yellow:      #D88E2A;
  --pyo-orange:      #C76327;
  --pyo-pink:        #C13E80;
  --pyo-violet:      #7C5DDB;

  --ok: #16A34A;
  --x:  #DC2626;

  --shadow-soft: 0 6px 18px rgba(15,23,42,0.06);
  --shadow-pop:  0 12px 36px rgba(15,23,42,0.10);
  --shadow-blue: 0 12px 32px rgba(31,132,214,0.18);
}
body[data-theme="light"]::before { opacity: 0.5; }
body[data-theme="light"] .lpx-nav { background: rgba(255,255,255,0.92); border-bottom: 1px solid var(--panel-line); }
body[data-theme="light"] .lpx-footer { background: var(--bg); border-top: 1px solid var(--panel-line); }
body[data-theme="light"] .lpx-btn-primary { color: white; }

body[data-theme="pyonya"] {
  --bg:           #1A0B2E;
  --bg-elev:      #25143F;
  --panel:        #2C1A4A;
  --panel-2:      #361F58;
  --panel-line:   #4A2D70;
  --panel-line-hot: #7A4DB6;
  --fg:           #FBE9C3;
  --fg-muted:     #D9B7E8;
  --fg-dim:       #A18CC0;

  --ton-blue:        #5BB6FF;
  --ton-blue-bright: #FFD562;
  --pyo-yellow:      #FFD562;
  --pyo-orange:      #FF9F4D;
  --pyo-pink:        #FF7EB9;
  --pyo-violet:      #C4A0FF;

  --shadow-soft: 0 8px 24px rgba(255,213,98,0.10);
  --shadow-pop:  0 14px 48px rgba(255,213,98,0.18);
  --shadow-blue: 0 14px 32px rgba(255,176,82,0.32);
}
body[data-theme="pyonya"]::before {
  background: radial-gradient(ellipse 100% 80% at 50% 0%,
              rgba(255,176,82,0.10), transparent 60%),
              radial-gradient(ellipse 80% 60% at 0% 100%,
              rgba(255,213,98,0.06), transparent 70%);
}

/* ---------------------------------------------------------------------------
 * Shared theme-toggle component. JS in theme.js builds the markup; the only
 * CSS surface needed here is the pill UI.
 * ------------------------------------------------------------------------- */
.pyo-theme-toggle {
  display: inline-flex;
  align-items: center;
  background: var(--bg-elev);
  border: 1px solid var(--panel-line);
  border-radius: 999px;
  padding: 3px;
  gap: 2px;
}
.pyo-theme-toggle button {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  color: var(--fg-muted);
  font: 700 11.5px/1 Inter, system-ui, sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  cursor: pointer;
  transition: color 0.18s, background 0.18s;
}
.pyo-theme-toggle button:hover { color: var(--fg); }
.pyo-theme-toggle button.active {
  color: var(--fg);
  background: rgba(54, 184, 255, 0.16);
}
body[data-theme="light"] .pyo-theme-toggle button.active {
  background: rgba(31, 132, 214, 0.12);
  color: #1F84D6;
}
body[data-theme="pyonya"] .pyo-theme-toggle button.active {
  background: rgba(255, 213, 98, 0.18);
  color: #FFD562;
}

/* Mount the toggle into the nav next to the CTA. Hide on the smallest
 * widths where the nav links collapse — the toggle isn't load-bearing on
 * mobile. */
.lpx-nav-themer { display: inline-flex; margin-left: 14px; }
@media (max-width: 720px) {
  .lpx-nav-themer { display: none; }
}

/* ---------------------------------------------------------------------------
 * Shared DYOR disclaimer block. Mounted on pages that surface wallet-level
 * inference (Cabal Score, Whale Watch, protected KOL activity, NFT whales, etc).
 * ------------------------------------------------------------------------- */
.pyo-dyor-block {
  max-width: 980px;
  margin: 28px auto 18px;
  padding: 18px 22px;
  border-radius: 14px;
  background: rgba(248, 113, 113, 0.07);
  border: 1px solid rgba(248, 113, 113, 0.38);
  font: 500 13.5px/1.55 Inter, system-ui, sans-serif;
  color: var(--fg);
}
.pyo-dyor-block strong { color: #fca5a5; }
body[data-theme="light"] .pyo-dyor-block { background: rgba(220, 38, 38, 0.06); border-color: rgba(220, 38, 38, 0.32); }
body[data-theme="light"] .pyo-dyor-block strong { color: #b91c1c; }
body[data-theme="pyonya"] .pyo-dyor-block { background: rgba(255, 213, 98, 0.06); border-color: rgba(255, 176, 82, 0.32); }
body[data-theme="pyonya"] .pyo-dyor-block strong { color: #FFD562; }

/* Canonical nav: labels never wrap ("Open Map" / "AI Web ->" were breaking
 * onto two lines on crowded viewports). */
.lpx-nav-links a { white-space: nowrap; }

/* ===== Nav: slightly larger presence ===== */
.lpx-nav-links a{font-size:15px}
.lpx-nav-links{gap:26px}
.lpx-brand-name{font-size:22px}
.lpx-nav-cta .lpx-btn{font-size:14px;padding:11px 18px}

/* ===== Eye-catching animated sheen: primary app CTA + post-signup button ===== */
.lpx-nav-cta a.lpx-btn-primary,a.lpx-btn-app{
  position:relative;overflow:hidden;
  background:linear-gradient(100deg,#2E7FFF,#4d9dff)!important;color:#fff!important;border:0!important;
  box-shadow:0 0 18px rgba(46,127,255,.55),0 0 5px rgba(247,224,138,.3)!important}
.lpx-nav-cta a.lpx-btn-primary::after,a.lpx-btn-app::after{
  content:"";position:absolute;top:0;bottom:0;left:0;width:55%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(247,224,138,.65),transparent);
  transform:translateX(-200%);animation:btnSheen 3.2s ease-in-out infinite}
@keyframes btnSheen{0%{transform:translateX(-200%)}55%,100%{transform:translateX(360%)}}
@media(prefers-reduced-motion:reduce){.lpx-nav-cta a.lpx-btn-primary::after,a.lpx-btn-app::after{animation:none;opacity:0}}

/* ===== Footer always bottom-aligned (content pages) ===== */
body:has(> footer.lpx-foot){min-height:100vh;display:flex;flex-direction:column}
body:has(> footer.lpx-foot) > footer.lpx-foot{margin-top:auto}

/* Footer: bottom-align the brand block with the (taller) link columns on every page. */
.lpx-foot-inner{align-items:end}

/* ================= LIGHT MODE — component sweep (white bg · blue/champagne · black accents) ================= */
/* Live panel boards */
body[data-theme="light"] .lpx-panel{background:#fff;border-color:#e5e9f0;box-shadow:0 8px 26px rgba(15,23,42,.07)}
body[data-theme="light"] .lpx-panel-head{background:#f6f8fc;border-bottom-color:#e5e9f0;-webkit-backdrop-filter:none;backdrop-filter:none}
body[data-theme="light"] .lpx-panel::after{opacity:.6}
body[data-theme="light"] .lpx-token-row a:hover{background:rgba(46,127,255,.07);box-shadow:inset 0 0 0 1px rgba(46,127,255,.1)}
body[data-theme="light"] .lpx-token-meta{color:#64748b}
body[data-theme="light"] .lpx-token-sym{color:#0f172a}
body[data-theme="light"] .lpx-kol-locked{background:#eef2f8;border-color:#cbd5e1;color:#475569}
body[data-theme="light"] .lpx-kol-name{color:#1e293b}
body[data-theme="light"] #trendingList .lpx-token-icon::after{background:#fff;color:#a97e12;border-color:rgba(169,126,18,.55)}

/* Two-part series slides */
body[data-theme="light"] .dfs-slide{background:linear-gradient(160deg,#ffffff,#f4f7fc);border-color:#e5e9f0}
body[data-theme="light"] .dfs-slide h3{color:#0f172a}
body[data-theme="light"] .dfs-slide p{color:#334155}
body[data-theme="light"] .dfs-slide p strong{color:#0f172a}
body[data-theme="light"] .dfs-arrow{background:#f1f5f9;border-color:#cbd5e1;color:#334155}
body[data-theme="light"] .dfs-arrow:hover{background:rgba(46,127,255,.14);color:#0f172a}
body[data-theme="light"] .dfs-dot{background:rgba(15,23,42,.22)}

/* Compare slider */
body[data-theme="light"] .cmpx-vp{border-color:#e5e9f0;box-shadow:0 12px 30px rgba(15,23,42,.08)}
body[data-theme="light"] .cmpx-intel{background:linear-gradient(180deg,rgba(46,127,255,.1),#ffffff)}
body[data-theme="light"] .cmpx-other{background:linear-gradient(180deg,#f4f7fc,#ffffff)}
body[data-theme="light"] .cmpx-head{border-bottom-color:#e5e9f0}
body[data-theme="light"] .cmpx-intel .cmpx-side{color:#a97e12}
body[data-theme="light"] .cmpx-other .cmpx-side{color:#64748b}
body[data-theme="light"] .cmpx-list li{color:#1e293b;border-bottom-color:#eef2f8}
body[data-theme="light"] .cmpx-mk.ok{background:rgba(247,224,138,.4);border-color:#d4af37;color:#7a5f16}
body[data-theme="light"] .cmpx-other .cmpx-mk.ok{background:#eef2f8;border-color:#cbd5e1;color:#64748b}
body[data-theme="light"] .cmpx-mk.no{background:#f1f5f9;border-color:#cbd5e1;color:#94a3b8}
body[data-theme="light"] .cmpx-arrow{background:#f1f5f9;border-color:#cbd5e1;color:#334155}
body[data-theme="light"] .cmpx-arrow:hover{background:rgba(46,127,255,.14);color:#0f172a}
body[data-theme="light"] .cmpx-dot{background:rgba(15,23,42,.22)}

/* Cluster nodes */
body[data-theme="light"] .lpx-cl-fill{fill:#ffffff}
body[data-theme="light"] .lpx-cl-label{fill:#334155}

/* $PYONYA band + copy CA */
body[data-theme="light"] .lpx-py-ca{background:#f1f5f9;border-color:#cbd5e1;color:#334155}
body[data-theme="light"] .lpx-py-hand{color:#0f172a}

/* Search + waitlist inputs */
body[data-theme="light"] .lpx-hero-search,body[data-theme="light"] .lpx-waitlist-shell{background:#fff;border-color:#e5e9f0}
body[data-theme="light"] #lpxWaitlistEmail,body[data-theme="light"] #heroAddress{background:#f6f8fc;border-color:#cbd5e1;color:#0f172a}

/* Footer */
body[data-theme="light"] .lpx-foot{background:#f6f8fc;border-top:1px solid #e5e9f0}
body[data-theme="light"] .lpx-foot-bottom{border-top-color:#e5e9f0;color:#64748b}
body[data-theme="light"] .lpx-foot-cols a{color:#475569}

/* Generic dark cards/tables on other pages — lift onto white */
body[data-theme="light"] .lpx-quick-card,body[data-theme="light"] .lpx-pricing-card,body[data-theme="light"] .lpx-price-card,body[data-theme="light"] .lpx-plan,body[data-theme="light"] .lpx-card{background:#fff !important;border-color:#e5e9f0 !important}

/* Light mode — nav dropdown + scrolled nav + misc dark boxes (were invisible/dark in light) */
body[data-theme="light"] .lpx-nav.is-scrolled{background:rgba(255,255,255,.94)}
body[data-theme="light"] .lpx-chain-menu{background:#fff;border-color:#cbd5e1;box-shadow:0 16px 38px rgba(15,23,42,.18)}
body[data-theme="light"] .lpx-chain-menu a{background:#f6f8fc;border-color:#e5e9f0}
body[data-theme="light"] .lpx-chain-menu a:hover{background:rgba(46,127,255,.09);border-color:rgba(46,127,255,.3)}
body[data-theme="light"] .lpx-chain-menu em{color:#a97e12}
body[data-theme="light"] .lpx-hero-visual-caption{background:rgba(255,255,255,.85);color:#334155}
body[data-theme="light"] .lpx-waitlist-form input{background:#f6f8fc;border-color:#cbd5e1;color:#0f172a}
body[data-theme="light"] .lpx-vsproof-tag{background:rgba(15,23,42,.06);color:#475569}
/* generic safety net: any nav submenu/popover left dark */
body[data-theme="light"] .lpx-nav-links .lpx-chain-menu strong{color:#0f172a}

/* Light mode — Launchpads page dark cards → white */
body[data-theme="light"] .lp-status,
body[data-theme="light"] .lp-macro-card,
body[data-theme="light"] .lp-card,
body[data-theme="light"] .lp-detail,
body[data-theme="light"] .lp-section{background:#fff !important;border-color:#e5e9f0 !important}
body[data-theme="light"] .lp-chip{background:#f6f8fc;border-color:#e5e9f0;color:#475569}


/* ============ LIGHT MODE — per-page dark-component sweep (2026-07-08) ============ */
/* Light mode — launchpads-topblast */
body[data-theme="light"] .tb-row{background:#f6f8fc !important;border-color:#e5e9f0 !important}

/* Light mode — launchpads-generic */
body[data-theme="light"] .lpv-panel,
body[data-theme="light"] .lpv-card{background:#fff !important;border-color:#e5e9f0 !important}
body[data-theme="light"] .lpv-stat{background:#f6f8fc !important;border-color:#e5e9f0 !important}
body[data-theme="light"] .lpv-controls select,
body[data-theme="light"] .lpv-controls button,
body[data-theme="light"] .lpv-linkbtn{background:#f6f8fc !important;border-color:#cbd5e1 !important;color:#0f172a}
body[data-theme="light"] .lpv-controls button,
body[data-theme="light"] .lpv-linkbtn{color:#a97e12}
body[data-theme="light"] .lpv-row{border-color:#e5e9f0}
body[data-theme="light"] .lpv-side-row{border-color:#e5e9f0}

/* Light mode — gifts: no hardcoded dark backgrounds (variable-based) — no overrides needed */
/* Light mode — gifts-detail: no hardcoded dark backgrounds (only translucent colored chips) — no overrides needed */

/* Light mode — hacks */
body[data-theme="light"] .hx-toolbar select,
body[data-theme="light"] .hx-toolbar button{background:#f6f8fc;border-color:#cbd5e1;color:#0f172a}

/* Light mode — cabal-catcher */
body[data-theme="light"] .cc-lock{background:#fff !important;border-color:#e5e9f0;-webkit-backdrop-filter:none;backdrop-filter:none}
body[data-theme="light"] .cc-stat{background:#f6f8fc !important;border-color:#e5e9f0}
body[data-theme="light"] .cc-panel{background:#fff !important;border-color:#e5e9f0;box-shadow:0 18px 54px rgba(15,23,42,.12)}
body[data-theme="light"] .cc-example{background:#f6f8fc !important;border-color:#e5e9f0}
body[data-theme="light"] .cc-example button{background:rgba(255,213,98,.18);border-color:rgba(169,126,18,.4);color:#a97e12}

/* Light mode — grinch-cabal: no hardcoded dark component backgrounds (only red-tinted callouts, which read fine on white) */

/* Light mode — hyperliquid */
body[data-theme="light"] .hl-stat{background:#f6f8fc !important;border-color:#e5e9f0}
body[data-theme="light"] .hl-card{background:#fff !important;border-color:#e5e9f0;box-shadow:0 20px 60px rgba(15,23,42,.12)}
body[data-theme="light"] .hl-row.head{background:#f6f8fc;-webkit-backdrop-filter:none;backdrop-filter:none}

/* Light mode — api_access */
body[data-theme="light"] .api-embed code{background:#f6f8fc;border:1px solid #e5e9f0;color:#0f172a}

/* Light mode — account (no inline-style dark boxes; JS-generated ref input at line ~902 uses inline rgba(0,0,0,.3) + color:#dfe7f5 that CSS can't override — noted, not fixable via class) */

/* Light mode — kols */
body[data-theme="light"] .kn-nav{background:rgba(255,255,255,.92);border-bottom-color:#e5e9f0}
body[data-theme="light"] .kc-panel{background:#fff !important;border-color:#e5e9f0}
body[data-theme="light"] .kc-panel h3{color:#a97e12}
body[data-theme="light"] .kc-stat{background:#f6f8fc;border-color:#e5e9f0}
body[data-theme="light"] .kc-close{background:#f1f5f9;border-color:#cbd5e1;color:#334155}

/* Light mode — deployers */
body[data-theme="light"] .dp-status{background:#fff !important;border-color:#e5e9f0}
body[data-theme="light"] .dp-status strong{color:#a97e12}
body[data-theme="light"] .dp-select{background:#f6f8fc;border-color:#cbd5e1;color:#0f172a}
body[data-theme="light"] .dp-table{background:#fff !important;border-color:#e5e9f0}
body[data-theme="light"] .dp-table th{background:#f6f8fc;border-bottom-color:#e5e9f0}
body[data-theme="light"] .dp-launches{color:#a97e12}

/* Light mode — leaderboard: no hardcoded dark boxes (uses var(--panel)/--bg-elev; grade badges are bright theme-independent colors) — nothing to override */

/* Light mode — intel (intel.html + intel/intel.css): no hardcoded dark boxes (all var(--panel)/--bg-elev + blue tints + a transparent gradient) — nothing to override */

/* Light mode — try-widget */
body[data-theme="light"] .tw-frame-overlay{background:rgba(255,255,255,.72);color:#334155}

/* Light mode — whale-watch */
body[data-theme="light"] .ww-drawer{background:#f6f8fc !important;border-top-color:#e5e9f0}
body[data-theme="light"] .ww-panel{background:#fff !important;border-color:#e5e9f0}
body[data-theme="light"] .ww-kol{color:#a97e12}

/* Light mode — snipers */
body[data-theme="light"] .sn-toolbar select,
body[data-theme="light"] .sn-toolbar button,
body[data-theme="light"] .sn-toolbar a{background:#f6f8fc !important;border-color:#cbd5e1 !important;color:#0f172a !important}
body[data-theme="light"] .sn-card{background:#fff !important;border-color:#e5e9f0 !important;box-shadow:0 12px 30px rgba(15,23,42,.08) !important}

/* Light mode — account (JS-generated referral input, inline dark bg) */
body[data-theme="light"] #acRefOut input{background:#f6f8fc !important;border-color:#cbd5e1 !important;color:#0f172a !important}

/* Light mode — utya-vs-grinch */
body[data-theme="light"] .vs-head{background:#f6f8fc !important}
body[data-theme="light"] .art-cover{background:radial-gradient(120% 140% at 88% 60%,rgba(212,175,55,.18),transparent 55%),radial-gradient(90% 120% at 0% 0%,rgba(46,127,255,.08),transparent 60%),linear-gradient(135deg,#ffffff 0%,#f4f7fc 55%,#ffffff 100%) !important;border-color:#e5e9f0 !important;box-shadow:inset 0 0 0 1px rgba(212,175,55,.12),0 24px 70px rgba(15,23,42,.12) !important}
body[data-theme="light"] .art-cover-title{color:#1e293b}
body[data-theme="light"] .art-cover-title .gold{background:none;-webkit-text-fill-color:#a97e12;color:#a97e12}
body[data-theme="light"] .art-cover-sub{color:#334155}
body[data-theme="light"] .art-cover-eye{color:#a97e12}


/* ===== Pyonya assistant — PYONYA-mode side-margin popup, ONE rotating tip at a time ===== */
.pyo-assist{position:fixed;right:20px;bottom:20px;z-index:120;width:242px;max-width:calc(100vw - 32px);text-align:center;
  background:linear-gradient(165deg,#1c1235,#0e0a1c);border:1px solid rgba(247,224,138,.32);border-radius:20px;
  box-shadow:0 22px 54px rgba(0,0,0,.55);padding:20px 18px 18px;
  transform:translateY(24px) scale(.96);opacity:0;pointer-events:none;transition:transform .38s cubic-bezier(.16,.84,.28,1),opacity .38s}
.pyo-assist.show{transform:none;opacity:1;pointer-events:auto}
.pyo-assist-x{position:absolute;top:9px;right:12px;background:none;border:0;color:#9a8fb5;font-size:20px;line-height:1;cursor:pointer;padding:2px 4px}
.pyo-assist-x:hover{color:#fff}
.pyo-assist-av{width:86px;height:86px;border-radius:50%;object-fit:cover;border:3px solid rgba(247,224,138,.6);margin:0 auto;display:block;animation:pyoAvFloat 3s ease-in-out infinite}
@keyframes pyoAvFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.pyo-assist-av{animation:none}}
.pyo-assist-name{font:800 16px Inter;color:#fff;margin-top:10px}
.pyo-assist-tip{display:block;margin-top:14px;padding:14px 16px;border-radius:13px;font:800 18px/1.2 Inter;color:#fff;
  background:rgba(247,224,138,.13);border:1px solid rgba(247,224,138,.42);text-decoration:none;
  opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s,background .15s,border-color .15s}
.pyo-assist-tip.in{opacity:1;transform:none}
.pyo-assist-tip::after{content:" \2192";opacity:.7}
.pyo-assist-tip:hover{background:rgba(247,224,138,.24);border-color:rgba(247,224,138,.65)}
@media(max-width:520px){.pyo-assist{right:12px;bottom:12px;width:214px}}}
