/* ============================================================================
   FIRST LIGHT — DAY / NIGHT THEME LAYER            (full-site · preview branch)
   ----------------------------------------------------------------------------
   NIGHT (green-on-black) is the DEFAULT and is left untouched — everything here
   is gated behind html[data-theme="day"], so with no attribute this file is a
   no-op.

   PALETTE — "AURORA"  (cool-neutral premium light)
   ------------------------------------------------
   Operator-selected day theme. Premium-light lineage (Stripe / Linear-light /
   Vercel): COOL near-white surfaces (never warm cream), PURE-WHITE cards that
   LIFT off the page via a small page→card luminance step + a crisp cool shadow,
   HAIRLINE cool-gray borders, HIGH-CONTRAST near-black ink, and restrained but
   SATURATED emerald + amber accents that POP because the field around them is
   quiet and neutral. Type, layout, IBM Plex Mono, the [ SECTION ] bars and the
   sunrise emblem are all unchanged; only the palette turns to daylight. Tuned
   for WCAG AA (ink ~16:1; green/amber body ≥4.5:1; large values clear AA-large).

   Anchor tokens: page #F5F7FA · card #FFFFFF · border #E6E9EE · ink #0E1420 ·
   ink2 #475467 · mut #667085 · green(data) #077D45 · green(big/chart) #0A8F4F ·
   amber #B45309 · shadow cool rgba(16,24,40,.05–.09).

   HOW IT WORKS
   ------------
   First Light is ~85% CSS-custom-property driven. The day theme is mostly a
   re-declaration of those tokens on the Aurora palette; every var()-driven rule
   (including the PRO SVG charts, whose lines/bars/axes read var(--g2) / var(--a)
   / var(--mut)) re-tones automatically. The remaining ~15% are HARDCODED dark
   fills baked into rules (page backdrops, dark inputs, dark tooltips, dark
   chips, the terminal chrome); those are patched per-surface below.

   SCOPE MAP (which block skins which pages)
   -----------------------------------------
     :root                    → explorer (style.css), terminal (terminal.css),
                                 collector pages + otc (they declare tokens on
                                 :root). One superset covers them all.
     body.sd                  → supply-demand / sell-pressure / supply-walls /
                                 conviction (share supply-demand.css tokens)
     body.pro-premium         → pro.html + signals.html
     body.otc-page            → otc.html shell
     .flpn                    → the injected PRO-suite nav bar (all PRO pages)
   ========================================================================== */

/* ══════════════════════════════════════════════════════════════════════════
   1) AURORA — token superset on :root
   Covers every page whose palette tokens live on :root (explorer, terminal,
   collectors, otc). body-scoped palettes (sd / pro-premium) refine below.
   ══════════════════════════════════════════════════════════════════════════ */
html[data-theme="day"]{
  color-scheme: light;

  /* — core identity — */
  --g:#077D45;        /* emerald — primary data values (AA ~5.0 on white)     */
  --a:#B45309;        /* amber — headers/links/accents (AA ~4.9 on white)     */
  --d:#F5F7FA;        /* cool near-white page base                            */
  --dim:#E3E7EE;      /* faint cool hairline (subtle separators)              */
  --mut:#667085;      /* muted cool-gray label (AA ~4.7)                      */
  --code:#0A6E46;     /* code / hashes — deep emerald ink                     */
  --warn:#B45309;  --bad:#C0392B;

  /* — surfaces — */
  --bg:#F5F7FA; --bg2:#EEF1F6;
  --panel:#FFFFFF;    /* PURE-WHITE card — lifts off the cool page            */
  --panel2:#F2F5F9;   /* elevated fill / table header / hover                 */
  --panel3:#F8FAFC;
  --line:#E6E9EE; --line2:#D3D9E2; --line-soft:#E6E9EEcc;
  --txt:#0E1420;      /* near-black cool ink (~16:1)                          */
  --txt2:#475467;     /* secondary text                                       */
  --mut2:#7A8699;

  /* — accents / chart tones (saturated, POP on cool white; SVG lines+bars) — */
  --g2:#0A8F4F;       /* vivid emerald — chart lines, gauges, big values, "up" */
  --gsoft:#078A4C;
  --a2:#92400E;
  --blue:#2563EB;
  --sth:#B45309; --mid:#34A57A; --lth:#0A8F4F;
  /* coin-age ramp: warm accent (young/liquid) → cool emerald (old/absorbed) */
  --b0:#D97706; --b1:#B45309; --b2:#A16207; --b3:#34A57A; --b4:#0A8F4F; --b5:#0A7A44; --b6:#0A5C38;

  /* glows are a night signature; a blur halo muddies light, so DAY drops them.
     Crisp saturated ink keeps the values popping instead. */
  --glow-g:none;
  --glow-a:none;

  --r:12px;
  --card-bg:linear-gradient(180deg,#FFFFFF 0%,#FCFDFE 100%);
  --card-shadow:0 1px 2px rgba(16,24,40,.05), 0 12px 28px rgba(16,24,40,.09);
}

/* ── hardcoded hotspots · assets/style.css (explorer) ───────────────────── */

/* cool near-white backdrop (was radial gl-amber over black) */
html[data-theme="day"] body{
  background:
    radial-gradient(1200px 560px at 50% -14%, rgba(10,143,79,.05), transparent 60%),
    radial-gradient(900px 480px at 90% 0%, rgba(37,99,235,.04), transparent 60%),
    linear-gradient(180deg,#F7F9FC 0%, #F1F4F9 60%), var(--d);
}
/* de-glowed wordmark is near-white mint → ink it for paper */
html[data-theme="day"] .flmark .fl{ color:var(--txt); }
html[data-theme="day"] .tagline .em{ color:var(--g); }

/* punch the big display values (large text → the vivid chart-emerald) */
html[data-theme="day"] .cell .v{ color:#0A8F4F; }
html[data-theme="day"] .cell .v.amber{ color:#C2610B; }

/* dark inputs / chips → pure-white fields */
html[data-theme="day"] .search input,
html[data-theme="day"] .jump input,
html[data-theme="day"] button.copy,
html[data-theme="day"] .copybtn{ background:#FFFFFF; }
html[data-theme="day"] .search input{ box-shadow:0 0 10px rgba(16,24,40,.04) inset; }

/* MatMul hero card — literal dark gradient → crisp white card */
html[data-theme="day"] .matmul{
  background:
    radial-gradient(130% 120% at 0% 0%, rgba(10,143,79,.07), transparent 55%),
    linear-gradient(180deg,#FFFFFF,#F7F9FC);
  box-shadow:var(--card-shadow);
}
/* crosshair tooltip bubble */
html[data-theme="day"] .fl-cx-tip{ background:#FFFFFF; box-shadow:0 6px 18px rgba(16,24,40,.14); }

/* magnitude bars */
html[data-theme="day"] .mbar{ background:rgba(10,143,79,.08); }
html[data-theme="day"] .mbar > i{ background:linear-gradient(90deg,#2CA96A,var(--g2)); box-shadow:none; }
html[data-theme="day"] .mbar.amber > i{ background:linear-gradient(90deg,#E0912E,#C2610B); box-shadow:none; }

/* footer tip-jar (CSS injected by app.js) + wallet-signals panels */
html[data-theme="day"] .tipjar{
  background:radial-gradient(ellipse at 50% 0%,rgba(10,143,79,.05),transparent 72%),#FFFFFF !important;
}
html[data-theme="day"] .tipjar .tj-addr code{ text-shadow:none !important; }
html[data-theme="day"] .sig,
html[data-theme="day"] .sig-compact,
html[data-theme="day"] .wl-note,
html[data-theme="day"] .wl-edit{ background:#FFFFFF !important; }
html[data-theme="day"] .wl-edit select,
html[data-theme="day"] .wl-edit textarea,
html[data-theme="day"] .wl-btn{ background:#F8FAFC !important; }

/* ══════════════════════════════════════════════════════════════════════════
   2) AURORA — SUPPLY & DEMAND family (body.sd)
   supply-demand / sell-pressure / supply-walls / conviction all share these
   tokens, so one refinement re-skins all four (charts included, via var()).
   ══════════════════════════════════════════════════════════════════════════ */
html[data-theme="day"] body.sd{
  --bg:#F5F7FA; --bg2:#EEF1F6; --panel:#FFFFFF; --panel2:#F2F5F9; --panel3:#F8FAFC;
  --line:#E6E9EE; --line2:#D3D9E2; --line-soft:#E6E9EEcc;
  --txt:#0E1420; --txt2:#475467; --mut:#667085; --mut2:#7A8699;
  --g:#077D45; --g2:#0A8F4F; --gsoft:#078A4C; --a:#B45309; --a2:#92400E;
  --warn:#B45309; --bad:#C0392B; --blue:#2563EB;
  --b0:#D97706; --b1:#B45309; --b2:#A16207; --b3:#34A57A; --b4:#0A8F4F; --b5:#0A7A44; --b6:#0A5C38;
  --sth:#B45309; --mid:#34A57A; --lth:#0A8F4F;
}
html[data-theme="day"] body.sd{
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(10,143,79,.05), transparent 55%),
    radial-gradient(900px 460px at 92% 0%, rgba(37,99,235,.04), transparent 60%),
    linear-gradient(180deg,#F7F9FC 0%,#F1F4F9 55%,#EDF0F5 100%) fixed, var(--bg2);
}
/* big KPI / liquidity numbers pop */
html[data-theme="day"] body.sd .kpi .v,
html[data-theme="day"] body.sd .liqbox .lv,
html[data-theme="day"] body.sd .glass-sliver .big{ color:#0A8F4F; }

/* segmented control active pill: deep emerald bg, white label (AA) */
html[data-theme="day"] body.sd .seg button.on{ background:#077D45; color:#FFFFFF; }

/* caveat / warn banners → soft amber tint (amber is semantic here) */
html[data-theme="day"] body.sd .warnbanner{ border-color:#E7C98A; background:linear-gradient(180deg,#FEF6E7,#FDF3DD); }

/* tracks / hovers / zebra (dark fills → cool light) */
html[data-theme="day"] body.sd .ohtrack{ background:#EEF1F6; }
html[data-theme="day"] body.sd .hbar.clickable:hover{ background:#F2F5F9; }
html[data-theme="day"] body.sd .hbar.clickable.open{ background:#EAEEF4; }
html[data-theme="day"] body.sd .feed .fr:nth-child(odd){ background:#F7F9FC; }
html[data-theme="day"] body.sd .drill-table tbody tr:hover,
html[data-theme="day"] body.sd .brow:hover,
html[data-theme="day"] body.sd table.sptab tr:hover td{ background:#F2F5F9; }

/* liquidity map + demand panel (liquid=amber, absorbed=emerald — semantic) */
html[data-theme="day"] body.sd .liqbox.liquid{ border-color:#E7C98A; background:linear-gradient(180deg,#FEF6E7,#FBF2DC); }
html[data-theme="day"] body.sd .liqbox.absorbed{ border-color:#B7DFC8; background:linear-gradient(180deg,#EFF8F3,#ECF6EF); }
html[data-theme="day"] body.sd .panel.demand{ border-color:#E7C98A; background:linear-gradient(180deg,#FEF7E8,var(--bg)); }

/* tooltips / glass-box / token bar / inputs (dark → white) */
html[data-theme="day"] body.sd .tooltip{ background:#FFFFFF; color:var(--txt); box-shadow:0 6px 24px rgba(16,24,40,.14); }
html[data-theme="day"] body.sd .glass-box{ background:linear-gradient(180deg,#FFFFFF,#F4F7FB); }
html[data-theme="day"] body.sd .glass-dot{ background:var(--panel); }
html[data-theme="day"] body.sd .glass-box .glass-formula{ background:#F2F5F9; }
html[data-theme="day"] body.sd .tokbar input,
html[data-theme="day"] body.sd #clipwrap .cliprow input#clipSize{ background:#FFFFFF; }
html[data-theme="day"] body.sd .tokbar button{ background:#077D45; color:#FFFFFF; }

/* dark status/confidence chips → soft light tints (sell-pressure/supply-walls/conviction) */
html[data-theme="day"] body.sd .badge.high,
html[data-theme="day"] body.sd .badge.support,
html[data-theme="day"] body.sd .cbadge.long-hold{ color:#077D45; border-color:#7EC79B; background:#E7F5EC; }
html[data-theme="day"] body.sd .badge.moderate,
html[data-theme="day"] body.sd .badge.resistance,
html[data-theme="day"] body.sd .cbadge.short-hold{ color:#92400E; border-color:#E0B878; background:#FBF0DB; }
html[data-theme="day"] body.sd .badge.low,
html[data-theme="day"] body.sd .cbadge.fast-turnover{ color:#92400E; border-color:#E0B878; background:#FBEECF; }
html[data-theme="day"] body.sd .badge.modeled{ color:#1D5FBF; border-color:#A9C3E8; background:#E8F0FB; }
html[data-theme="day"] body.sd .cbadge.medium-hold{ color:#0A7A44; border-color:#9AD3B4; background:#ECF6F0; }
html[data-theme="day"] body.sd .callout{ background:#FDF3DD; }
html[data-theme="day"] body.sd .unpriced{ background:#EAF1FB; }

/* HODL-waves / URPD / trend SVGs: lines(var --g2), bars(var --a), axes(var --mut)
   all re-tone automatically. The few baked #04120a separator/point STROKES stay
   dark, which still reads as a hairline on light bands — intentional. */

/* ══════════════════════════════════════════════════════════════════════════
   3) AURORA — PRO hub + signals (body.pro-premium)
   pro.html/signals.html declare their palette on body.pro-premium (inline), so
   the day palette is re-declared at the same scope (wins on specificity).
   ══════════════════════════════════════════════════════════════════════════ */
html[data-theme="day"] body.pro-premium{
  --bg:#F5F7FA; --bg2:#EEF1F6;
  --panel:#FFFFFF; --panel2:#F2F5F9; --panel3:#F8FAFC;
  --line:#E6E9EE; --line2:#D3D9E2; --line-soft:#E6E9EEcc;
  --txt:#0E1420; --txt2:#475467; --mut:#667085;
  --g:#077D45; --g2:#0A8F4F; --gsoft:#078A4C;
  --a:#B45309; --slate:#475467; --code:#0A6E46;
  --warn:#B45309; --bad:#C0392B;
  background:
    radial-gradient(120% 90% at 50% -8%, rgba(10,143,79,.06), transparent 55%),
    radial-gradient(900px 480px at 90% 0%, rgba(37,99,235,.04), transparent 60%),
    linear-gradient(180deg,#F7F9FC 0%,#F1F4F9 60%,#EDF0F5 100%) fixed, var(--bg2);
  color:var(--txt);
}
html[data-theme="day"] body.pro-premium a{ color:var(--gsoft); }
html[data-theme="day"] body.pro-premium a:hover{ color:var(--g); }

/* ══════════════════════════════════════════════════════════════════════════
   4) AURORA — OTC standalone shell (body.otc-page)
   otc.css tokens live on :root (covered), the page shell just needs a backdrop.
   ══════════════════════════════════════════════════════════════════════════ */
html[data-theme="day"] body.otc-page{
  background:
    radial-gradient(1000px 480px at 50% -8%, rgba(37,99,235,.04), transparent 60%),
    linear-gradient(180deg,#F7F9FC 0%,#F1F4F9 60%), var(--bg2);
  color:var(--txt);
}

/* ══════════════════════════════════════════════════════════════════════════
   5) AURORA — TERMINAL chrome (terminal.css; plain <body>)
   terminal.css uses --card-bg/--panel (re-toned via :root) for panels, but its
   top bar, status strip, inputs, palette, footer + toasts are baked dark. Patch
   the prominent surfaces so the Desk reads as a clean daylight terminal.
   ══════════════════════════════════════════════════════════════════════════ */
html[data-theme="day"] .topbar{ background:linear-gradient(180deg,#FBFCFE,#F2F5F9); }
html[data-theme="day"] .wordmark .fl{ color:var(--txt); }
html[data-theme="day"] .cmd{ background:#FFFFFF; }
html[data-theme="day"] .cmd::placeholder{ color:#8A93A3; }
html[data-theme="day"] .statusstrip{ background:#F2F5F9; }
html[data-theme="day"] .kbstrip{ background:#F2F5F9; }
html[data-theme="day"] .kbstrip kbd{ background:#EAEEF4; }
html[data-theme="day"] .gauge{ background:#F8FAFC; }
html[data-theme="day"] .bar .track{ background:#EAEEF4; }
html[data-theme="day"] .fill.g{ background:linear-gradient(90deg,#2CA96A,#0A8F4F); }
html[data-theme="day"] .fill.a{ background:linear-gradient(90deg,#E0912E,#C2610B); }
html[data-theme="day"] .fill.b{ background:linear-gradient(90deg,#D3705A,#C0392B); }
html[data-theme="day"] table.mini th{ background:#F2F5F9; }
html[data-theme="day"] .palette{ background:#FFFFFF; }
html[data-theme="day"] .palette .ph{ background:#F2F5F9; }
html[data-theme="day"] .toast{ background:linear-gradient(180deg,#FFFFFF,#F6F8FB); color:var(--txt); }
html[data-theme="day"] .helpcard{ background:linear-gradient(180deg,#FFFFFF,#F4F7FB); }
html[data-theme="day"] .overlay{ background:rgba(15,23,42,.35); }
html[data-theme="day"] .ttip{ background:#FFFFFF; color:var(--txt); }
html[data-theme="day"] .node.wallet{ background:#0A8F4F; }
html[data-theme="day"] .node.root{ background:#0A6E46; }
html[data-theme="day"] .pstate button{ background:#F8FAFC; }   /* Unlock / Retry pills */

/* ══════════════════════════════════════════════════════════════════════════
   6) AURORA — PRO-suite nav bar (.flpn, injected by pro-nav.js)
   Self-contained scoped palette; override its own --flpn-* tokens + kill glows.
   ══════════════════════════════════════════════════════════════════════════ */
html[data-theme="day"] .flpn{
  --flpn-g:#077D45; --flpn-a:#B45309; --flpn-mut:#667085; --flpn-txt:#0E1420;
  --flpn-line:#E6E9EE; --flpn-line2:#D3D9E2; --flpn-panel:#FFFFFF;
  background:linear-gradient(180deg,#FBFCFE 0%,#F2F5F9 100%);
  box-shadow:0 6px 22px rgba(16,24,40,.10);
}
html[data-theme="day"] .flpn-brand,
html[data-theme="day"] .flpn-brand b,
html[data-theme="day"] .flpn-brand .flpn-dot,
html[data-theme="day"] .flpn-links a.on,
html[data-theme="day"] .flpn-tok.set .ind,
html[data-theme="day"] .flpn-pop .h{ text-shadow:none; }
html[data-theme="day"] .flpn-tok,
html[data-theme="day"] .flpn-burger,
html[data-theme="day"] .flpn-pop input,
html[data-theme="day"] .flpn-pop button{ background:#FFFFFF; }
html[data-theme="day"] .flpn-pop{ background:linear-gradient(180deg,#FFFFFF,#F4F7FB); }

/* ══════════════════════════════════════════════════════════════════════════
   6b) AURORA — MINER MAP container (minermap.js injected CSS)
   The <canvas> tones are handled in minermap.js (theme-aware palette; already a
   vivid emerald in day, which matches Aurora); these rules re-skin the panel,
   ASCII underlay, gradient title, tooltip and the narrow-screen list.
   ══════════════════════════════════════════════════════════════════════════ */
html[data-theme="day"] .mm{
  border-color:#E6E9EE;
  background:
    radial-gradient(130% 120% at 50% -12%, rgba(10,143,79,.06), transparent 58%),
    linear-gradient(180deg,#FFFFFF 0%,#F7F9FC 55%,#F2F5F9 100%);
  box-shadow:0 12px 34px rgba(16,24,40,.10), inset 0 1px 0 #ffffff;
}
html[data-theme="day"] .mm::after{ box-shadow:inset 0 0 90px rgba(15,23,42,.06); }
html[data-theme="day"] .mm-base{ color:#34A57A; text-shadow:none; opacity:.20; }
html[data-theme="day"] .mm-hd .t{
  background:linear-gradient(90deg,#077D45,#0A8F4F);
  -webkit-background-clip:text; background-clip:text;
}
html[data-theme="day"] .mm-tip{ background:#FFFFFF; border-color:#0A8F4F; box-shadow:0 8px 24px rgba(16,24,40,.16); }
html[data-theme="day"] .mm-leg .k,
html[data-theme="day"] .mm-leg .bm{ color:#0A8F4F; }
html[data-theme="day"] .mm-list li .bar{ background:rgba(10,143,79,.10); }
html[data-theme="day"] .mm-list li .bar i{ background:linear-gradient(90deg,#2CA96A,#0A8F4F); box-shadow:none; }
html[data-theme="day"] .mm-list li.home .bar i{ background:linear-gradient(90deg,#E0912E,#C2610B); box-shadow:none; }

/* ══════════════════════════════════════════════════════════════════════════
   6c) AURORA — pro.html residual inline fills (body.pro-premium)
   Most of pro.html is var-driven; these are the few baked-dark / neon spots.
   ══════════════════════════════════════════════════════════════════════════ */
html[data-theme="day"] body.pro-premium .gate .go,
html[data-theme="day"] body.pro-premium .pro-query .go,
html[data-theme="day"] body.pro-premium .qb-run,
html[data-theme="day"] body.pro-premium .xbtn.primary{
  background:linear-gradient(180deg,#0A8F4F,#077D45); color:#FFFFFF;
}
html[data-theme="day"] body.pro-premium .lonenode{ background:#F0FBF5; box-shadow:0 0 18px rgba(180,83,9,.12); }
html[data-theme="day"] body.pro-premium .gtip{ background:#FFFFFF; box-shadow:0 8px 24px rgba(16,24,40,.16); }

/* ══════════════════════════════════════════════════════════════════════════
   6d) AURORA — explorer sub-page inline dark fills
   address / network / mining / trace / provenance / pro-api each bake a few
   dark inputs, cards, table-header bands, bar tracks and (for dark bg) over-
   light label colours into page-local <style>. These day-only overrides lift
   every one of them to the Aurora palette so no sub-page is a second-class
   citizen. (All gated on [data-theme="day"] → night is untouched.)
   ══════════════════════════════════════════════════════════════════════════ */
/* dark input / button fields → pure-white */
html[data-theme="day"] .ctrl button,
html[data-theme="day"] .ctrl input,
html[data-theme="day"] .winsel button,
html[data-theme="day"] .gtoolbar button,
html[data-theme="day"] .start input,
html[data-theme="day"] .start .go{ background:#FFFFFF; }
/* dark cards / panels / endpoint blocks / signal panels → crisp white card */
html[data-theme="day"] .card,
html[data-theme="day"] .ep,
html[data-theme="day"] .pstat,
html[data-theme="day"] .twocol .col,
html[data-theme="day"] .wrap .sig{ background:#FFFFFF; }
/* dark table-header band → cool light */
html[data-theme="day"] .tbl-card thead th{ background:#F2F5F9; border-bottom-color:var(--line2); }
/* dark magnitude-bar tracks → light cool track */
html[data-theme="day"] .hbars .track,
html[data-theme="day"] .pbar{ background:#EAEEF4; }
/* label colours picked bright for a dark panel → readable ink on white */
html[data-theme="day"] .wrap .card .sum .bal .bal-lbl,
html[data-theme="day"] .wrap .card .sum-grid .st .k,
html[data-theme="day"] .wrap .sig .sig-hd .sub,
html[data-theme="day"] .wrap .sig .row .t,
html[data-theme="day"] .wrap .sig .row .meta .mut,
html[data-theme="day"] .wrap .sig .row .cav{ color:var(--mut); }
html[data-theme="day"] .banner-warn b{ color:var(--a); }
html[data-theme="day"] .chip.vf{ color:#C0392B; border-color:#E3B4AC; }
/* graph empty-node + tooltips (trace) */
html[data-theme="day"] .lonenode{ background:#F0FBF5; }
html[data-theme="day"] .gtip{ background:#FFFFFF; }

/* pro-api.html docs: dark banner + code blocks + endpoint cards → daylight */
html[data-theme="day"] .doc .caveat{ background:linear-gradient(180deg,#FEF6E7,#FDF3DD); }
html[data-theme="day"] .doc .caveat p{ color:var(--txt2); }
html[data-theme="day"] .doc .ep .body .cav{ color:var(--mut2); }
html[data-theme="day"] .doc pre.code{ background:#F2F5F9; border-color:var(--line); }

/* ══════════════════════════════════════════════════════════════════════════
   6e) AURORA — DAY-MODE DARK-ELEMENT COVERAGE (JS-injected CSS + late gaps)
   Elements whose dark fills are injected by JS at runtime (block-flow cubes,
   the ⓘ info-popover, the watchlist modal) or live in a plain-<body> page
   <style> the earlier sweep missed. Converted to Aurora light cards so NOTHING
   renders as a dark night-box in day. (All day-gated → night byte-identical.)
   ══════════════════════════════════════════════════════════════════════════ */

/* BLOCK FLOW — mined/pending cubes + block-content tiles (mempoolviz.js) */
html[data-theme="day"] .mvz-cube,
html[data-theme="day"] .mvz-tile{
  border-color:var(--line);
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(10,143,79,.05), transparent 62%),
    linear-gradient(180deg,#FFFFFF,#F8FAFC);
  box-shadow:0 4px 14px rgba(16,24,40,.07), inset 0 1px 0 #ffffff;
}
html[data-theme="day"] .mvz-cube:hover,
html[data-theme="day"] .mvz-tile:hover{ border-color:var(--line2); }
html[data-theme="day"] .mvz-tile.cb{
  border-color:#E7C98A;
  background:
    radial-gradient(120% 100% at 50% 0, rgba(180,83,9,.08), transparent 60%),
    linear-gradient(180deg,#FEF7E8,#FBF2DC);
}
html[data-theme="day"] .mvz-cube.byron{ border-color:rgba(180,83,9,.4); }
html[data-theme="day"] .mvz-gauge{ background:rgba(10,143,79,.10); border-color:var(--line); }
/* band-coloured big value → ink for contrast; drop night glows on the labels */
html[data-theme="day"] .mvz-cube .big{ color:var(--txt); text-shadow:none; }
html[data-theme="day"] .mvz-cube .h,
html[data-theme="day"] .mvz-cube .h.g{ text-shadow:none; }

/* ⓘ info-popover (infotip.js · fl-itip) — appears on nearly every page.
   Its text is var-driven (re-tones already); only the dark bg/arrow/glow. */
html[data-theme="day"] .fl-itip-pop{
  background:linear-gradient(180deg,#FFFFFF,#F8FAFC);
  box-shadow:0 12px 34px rgba(16,24,40,.16), 0 0 0 1px rgba(16,24,40,.03) inset;
}
html[data-theme="day"] .fl-itip-pop .arw{ background:#FFFFFF; }
html[data-theme="day"] .fl-itip-pop .h{ text-shadow:none; }

/* watchlist manager modal panel (app.js) — address / signals pages */
html[data-theme="day"] .wl-modal .panel{ background:#FFFFFF; }

/* plain-<body> page containers the earlier sweep missed
   (.id-card address · .chartcard network · .honest/.start/.tree trace+provenance) */
html[data-theme="day"] .id-card,
html[data-theme="day"] .chartcard,
html[data-theme="day"] .honest,
html[data-theme="day"] .start,
html[data-theme="day"] .tree{
  border-color:var(--line);
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(10,143,79,.04), transparent 70%),
    #FFFFFF;
}
html[data-theme="day"] .id-card{ box-shadow:var(--card-shadow); }
html[data-theme="day"] .tokbar button{ background:#FFFFFF; }   /* plain-body; body.sd stays emerald (higher specificity) */
html[data-theme="day"] .banner.trunc{ color:var(--a); }

/* ══════════════════════════════════════════════════════════════════════════
   7) THEME TOGGLE — floating night ☾ / day ☀ pill (injected by theme.js)
   Uses the same tokens so it reads correctly in BOTH themes.
   ══════════════════════════════════════════════════════════════════════════ */
#fl-theme-toggle{
  position:fixed; top:14px; right:14px; z-index:200;
  display:inline-flex; align-items:center; gap:7px;
  font-family:"IBM Plex Mono","SF Mono",Consolas,monospace;
  font-size:11px; letter-spacing:.10em; text-transform:uppercase;
  color:var(--a); background:var(--panel);
  border:1px solid var(--line2); border-radius:20px;
  padding:6px 12px; cursor:pointer; line-height:1;
  box-shadow:0 4px 14px rgba(0,0,0,.28);
  transition:border-color .14s, transform .14s, color .14s;
  -webkit-tap-highlight-color:transparent;
}
html[data-theme="day"] #fl-theme-toggle{ box-shadow:0 4px 14px rgba(16,24,40,.14); }
#fl-theme-toggle:hover{ border-color:var(--a); transform:translateY(-1px); }
#fl-theme-toggle:focus-visible{ outline:none; border-color:var(--g); box-shadow:0 0 0 3px rgba(51,255,102,.18); }
html[data-theme="day"] #fl-theme-toggle:focus-visible{ box-shadow:0 0 0 3px rgba(10,143,79,.22); }
#fl-theme-toggle .glyph{ font-size:13px; line-height:1; }
#fl-theme-toggle .lbl{ font-weight:600; }
@media (max-width:520px){
  #fl-theme-toggle{ top:10px; right:10px; padding:8px 12px; }
  #fl-theme-toggle .lbl{ display:none; }
}
@media (prefers-reduced-motion:reduce){ #fl-theme-toggle{ transition:none; } }
