/* One palette for every surface. Keep imagery and provider branding untouched. */
:root {
  color-scheme: dark;
  --bg-0: #09101a; --bg-1: #101b2a; --bg-2: #16243a;
  --ink-0: #f7fbff; --ink-1: #c4d2e1; --line: #354d68;
  --accent: #3ee8b5; --accent-2: #7ed6ff; --good: #56f2c2; --bad: #ff8b9e;
  --surface: #0b1421; --surface-2: #142135; --surface-3: #1c2e44;
  --panel-fill: linear-gradient(145deg, #111e2d, #0b1421 72%);
  --hero-fill: radial-gradient(ellipse at 96% 0, #7ed6ff08, transparent 52%), linear-gradient(135deg, #111f2d, #0b1523 72%);
  --header-fill: #09101af5; --muted: #adc0d2; --subtle: #a0b6ca;
  --line-soft: #8ba8c130; --tint: #7ed6ff08; --tint-strong: #3ee8b510;
  --field: #091421; --table-head: #192a3f; --hover: #7ed6ff0e;
  --action-bg: #3ee8b5; --action-ink: #062018; --gold: #ffcd7a;
  --chart-1:#32e7b8; --chart-2:#75bcff; --chart-3:#ffc56f; --chart-4:#f78dbd; --chart-5:#b8e278;
  --shadow: 0 8px 24px #00000016; --dialog-shadow: 0 24px 80px #020a1770;
  --grid-color: #ffffff05; --glow-green: #3ee8b509; --glow-blue: #7ed6ff0a;
  --bg: var(--bg-0); --panel: var(--surface); --panel-2: var(--surface-2);
  --ink: var(--ink-0); --acid: var(--accent); --cyan: var(--accent-2);
  --red: var(--bad); --orange: var(--gold); --ok: var(--good); --warn: var(--gold); --degraded: var(--bad);
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg-0: #f0f7fa; --bg-1: #f4f8fc; --bg-2: #edf5f8;
  --ink-0: #112c43; --ink-1: #486174; --line: #c6d9e4;
  --accent: #007e62; --accent-2: #086db4; --good: #007a51; --bad: #c23252;
  --surface: #ffffff; --surface-2: #eff6fa; --surface-3: #e3eff5;
  --panel-fill: linear-gradient(135deg, #fffffff5, #f8fcfff5);
  --hero-fill: radial-gradient(ellipse at 96% 0, #8bd7ff3b, transparent 56%), linear-gradient(125deg, #e2f8ef, #f6fbff 70%);
  --header-fill: #f5fbffed; --muted: #506b7e; --subtle: #566f81;
  --line-soft: #244c681c; --tint: #167cb407; --tint-strong: #00976c0e;
  --field: #f8fcff; --table-head: #e8f2f8; --hover: #008b6910;
  --action-bg: #20dfaa; --action-ink: #062e24; --gold: #8b5a0b;
  --chart-1:#008064; --chart-2:#146db5; --chart-3:#9b6500; --chart-4:#bd3672; --chart-5:#547b12;
  --shadow: 0 12px 34px #1d56740c; --dialog-shadow: 0 24px 80px #12395224;
  --grid-color: #12618a08; --glow-green: #5de0b41a; --glow-blue: #86c5ff20;
}
html { background:var(--bg-0); scrollbar-color:var(--line) var(--bg-0); }
html[data-theme-changing] *, html[data-theme-changing] *::before, html[data-theme-changing] *::after { transition:none !important; }
html body {
  color:var(--ink-0);
  background:radial-gradient(ellipse at 3% 5%,var(--glow-green),transparent 45rem), radial-gradient(ellipse at 100% 0,var(--glow-blue),transparent 60rem), linear-gradient(155deg,var(--bg-0),var(--bg-1) 58%,var(--bg-2));
  background-attachment:fixed;
}
::selection { background:var(--action-bg); color:var(--action-ink); }
html .bg-grid { background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px); }
html :is(input,textarea,select) { accent-color:var(--accent); }
html :is(input,textarea)::placeholder { color:var(--subtle); opacity:1; }
html :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--accent-2); outline-offset:4px; }

/* Compact, always-visible control: no collapsed mobile-menu dependency. */
.site-theme-toggle {
  box-sizing:border-box; display:inline-grid; place-items:center; flex:0 0 38px;
  width:38px; height:38px; padding:0; border:1px solid var(--line); border-radius:10px;
  background:var(--surface-2); color:var(--accent-2); cursor:pointer;
  box-shadow:inset 0 1px 0 var(--tint); transition:background 160ms,border-color 160ms,color 160ms;
}
.site-theme-toggle:hover { color:var(--accent); border-color:var(--accent); background:var(--tint-strong); }
.site-theme-toggle svg { width:19px; height:19px; }
.site-theme-toggle .theme-moon { display:none; }
[data-theme="light"] .site-theme-toggle .theme-sun { display:none; }
[data-theme="light"] .site-theme-toggle .theme-moon { display:block; }
.theme-toggle-floating { position:fixed; top:16px; right:16px; z-index:35; }
.site-header .brand-block { margin-right:auto; }
.site-header.site-header { gap:12px; background:var(--header-fill); border-color:var(--line-soft); box-shadow:0 -20px 0 20px var(--header-fill); }
.site-header .site-navigation { flex:0 1 auto; }
html .site-header :is(.sol-price,.menu-toggle), html .site-view-options button { background:var(--tint); color:var(--ink-1); border-color:var(--line); }
html .site-header .menu-toggle:not([hidden]) { color:var(--ink-0); background:var(--surface-2); border-color:var(--line); }
html .site-navigation :is(.nav-link,summary,#auth-trigger-btn) { color:var(--ink-1); }
html .site-navigation :is(.nav-link,summary,#auth-trigger-btn):hover { color:var(--ink-0); background:var(--tint-strong); }
html .site-navigation .nav-link[aria-current="page"], html .site-navigation .nav-group.current > summary { color:var(--accent); background:var(--tint-strong); }
html .site-navigation .nav-link[aria-current="page"] { box-shadow:inset 0 -2px var(--accent); }
html .site-navigation .nav-trade { color:var(--action-ink); background:var(--action-bg); border-color:transparent; box-shadow:0 3px 16px #18d5a019; }
html .site-navigation .nav-trade:hover { background:#65f0c5; }
html .nav-dropdown { color:var(--ink-0); border-color:var(--line); background:var(--surface); box-shadow:var(--dialog-shadow); }
html .nav-dropdown a { color:var(--ink-0); }
html .nav-dropdown :is(.nav-group-label,a small) { color:var(--muted); }
html .nav-dropdown a:hover, html .nav-dropdown a[aria-current="page"] { color:var(--accent); background:var(--tint-strong); }
html .site-navigation .nav-search { color:var(--ink-0); background:var(--surface-2); border-color:var(--line); }
html .nav-search :is(svg,kbd) { color:var(--accent-2); border-color:var(--line); }
html .site-view-options button:hover { color:var(--accent); border-color:var(--accent); }

/* Shared cards, data surfaces and table hierarchy. */
html :is(.market-radar,.directory-hero,.validator-hero,.leader-live-panel) { background:var(--hero-fill); border-color:var(--line); box-shadow:var(--shadow); }
html :is(.content,.sidebar,.catalog-panel,.intel-panel,.auth-dialog,.panel,.card,.explore-card,.provider-card,.workflow,.top10,.contact,.leader-panel) { background:var(--panel-fill); border-color:var(--line); box-shadow:var(--shadow); }
html :is(.wallet-card,.metric-card,.intel-fact,.cleaner-stats > div,.status-card,.metric,.leader-turn,.intel-group,.diagnostic-cards article) { background:var(--surface-2); border-color:var(--line-soft); }
html :is(.metric-card,.intel-fact) { box-shadow:inset 0 1px 0 var(--tint); }
html :is(.leader-panel-head,.catalog-head) { background:var(--table-head); border-color:var(--line-soft); }
html :is(.table-wrap,.lb-table-wrap,.catalog-list,.program-list,.validator-list) { background:var(--surface); border-color:var(--line); }
html .provider-stat { background:var(--surface-2); border-color:var(--line-soft); }
html :is(.lb-table,.intel-table,.cleaner-table) :is(td,th) { border-bottom-color:var(--line-soft); }
html :is(.lb-table,.cleaner-table) thead th { color:var(--ink-1); background:var(--table-head); }
html .intel-table th { color:var(--muted); }
html .intel-table a { color:var(--accent-2); }
html .intel-table :is(a:hover,a:focus-visible) { color:var(--accent); }
html :is(.lb-table,.intel-table,.cleaner-table) tbody tr:nth-child(even) { background:var(--tint); }
html :is(.lb-table,.intel-table,.cleaner-table) tbody tr:hover,
html :is(.market-leader-row,.coin-leader-row,.program-row,.validator-row):hover { background:var(--hover); }
html :is(.market-leader-row,.coin-leader-row,.program-row,.validator-row) { border-color:var(--line-soft); }
html :is(.leader-rank,.token-rank) { color:var(--ink-1); background:var(--tint); border-color:var(--line); }
html :is(.market-leader-row,.coin-leader-row):nth-child(-n+3) .leader-rank,
html .token-page tbody tr:first-child .token-rank { color:var(--accent); border-color:var(--accent); background:var(--tint-strong); }
html :is(.leader-number strong,.coin-price strong) { color:var(--ink-0); }
html :is(.leader-number span,.card-category,.radar-tabs button span,.radar-refresh,.catalog-meta,.catalog-foot,.intel-muted,.intel-empty,.intel-table small,.intel-status,.intel-fact span,.intel-chart-hint,.token-mint code,.token-scope,.inspect-time,.inspect-mint-row code,.inspect-meta .inspect-link span:first-child,.inspect-technical summary,.inspect-label,.inspect-tx-signature,.side-kicker,.search-empty span) { color:var(--muted); }
html :is(.eyebrow,.radar-kicker,.inspect-eyebrow,.token-live) { color:var(--accent); }
html .home-page .radar-kicker { color:var(--accent); }
html .home-page .radar-footnote { color:var(--muted); }
html .intel-head p { color:var(--ink-1); }
html :is(.intel-positive,.pos,.good,.metric-value.pos,.metric-value.good,.catalog-value.good,.coin-change.positive) { color:var(--good); }
html :is(.intel-negative,.neg,.bad,.metric-value.neg,.metric-value.bad,.catalog-value.bad,.coin-change.negative,.intel-status.error) { color:var(--bad); }
html :is(.token-live.is-delayed,.leader-live-status[data-state="stale"],.leader-live-status[data-state="error"],.validator-badge.jito) { color:var(--gold); }
html :is(.radar-chip,.intel-chip,.category-pill,.status-pill,.client-pill,.wallet-chip,.context-pill,.route-pill,.chain-badge,.leader-live-status,.leader-turn-order,.program-pill,.badge) { background:var(--tint); border-color:var(--line); color:var(--ink-1); }
html :is(.category-pill.amm,.wallet-badge,.status-pill.current,.leader-live-status[data-state="live"],.chain-badge,.badge-notarb) { color:var(--accent); background:var(--tint-strong); }
html :is(.category-pill.router,.client-pill,.badge-smb) { color:var(--accent-2); }
html :is(.status-pill.active,.status-pill.upgradeable) { color:var(--good); background:var(--tint-strong); }
html .status-pill.recent { color:var(--accent-2); }
html :is(.status-pill.quiet,.status-pill.immutable) { color:var(--gold); }
html :is(.status-pill.delinquent,.auth-message.err) { color:var(--bad); }
html :is(.radar-switch,.program-type-filter,.radar-tabs,.window-picker) { background:var(--field); border-color:var(--line); }
html .home-page .radar-tabs:not([hidden]) { background:var(--field); border-color:var(--line); }
html :is(.catalog-search,.catalog-select,.intel-input,.field input,.auth-field input,.search,.compare-input) { background:var(--field); color:var(--ink-0); border-color:var(--line); }
html .intel-btn { color:var(--ink-0); background:var(--tint); border-color:var(--line); }
html :is(.intel-btn:hover,.intel-btn.active,.tf-btn.active,.top10-btn.active,.day-btn.active,.side-btn.active,.sort-chip.active,.primary-btn,.radar-window.active) { background:var(--action-bg); color:var(--action-ink); border-color:transparent; }
html .auth-dialog .primary-btn { color:var(--action-ink); background:var(--action-bg); }
html .side-btn.active :is(.program-rank,.program-revenue) { color:var(--action-ink); }
html :is(.side-btn,.day-btn,.secondary-btn,.ghost-btn,.site-footer a) { color:var(--ink-1); }
html :is(.side-btn,.day-btn,.secondary-btn,.ghost-btn) { background:var(--tint); border-color:var(--line); }
html :is(.site-footer,.home-page .site-footer) { color:var(--muted); }
html .site-footer a, html .home-page .site-footer a { color:var(--ink-1); text-decoration:none; }
html .site-footer a:hover { color:var(--accent); }

/* Research views and readable chart tooltips in either palette. */
html .intel-chart text { fill:var(--muted); }
html .intel-chart .gridline { stroke:var(--line-soft); }
html .intel-chart-focus { fill:var(--surface); }
html .intel-chart-tooltip { background:var(--panel-fill); color:var(--ink-0); border-color:var(--line); box-shadow:var(--dialog-shadow); }
html .research-table th { background:var(--table-head); }
html .research-table time { color:var(--muted); }
html :is(#wallet-transactions,#research-rankings,#telegram-watchlist) label { color:var(--ink-1); }
html .research-spark { color:var(--accent); }
html .research-jump { color:var(--accent-2); }
html :is(.intel-chart-tooltip-date,.intel-chart-tooltip-label,.intel-chart-tooltip-period,.intel-chart-tooltip-row > span,.intel-chart-tooltip-label span) { color:var(--muted); border-color:var(--line-soft); }
html :is(.inspect-asset,.token-avatar) { color:var(--ink-0); background:var(--tint-strong); border-color:var(--line); }
html :is(.inspect-asset small,.inspect-markets .inspect-label) { color:var(--muted); }
html body[data-tool="inspector"] .intel-page a:not(.intel-btn) { color:var(--accent-2); }
html .intel-tabs a { color:var(--ink-1); }
html .intel-tabs a[aria-current="page"] { color:var(--accent); }
html :is(.inspect-execution,.inspect-route-block,.inspect-technical,.inspect-transactions,.token-mint,.home-toolkit,.panel-head) { border-color:var(--line-soft); }
html .leader-turn.current { background:var(--tint-strong); border-color:var(--accent); }
html .directory-freshness { background:var(--surface); border-color:var(--line); }

/* Search, authentication and notifications must not retain a dark-only layer. */
html .global-search { color:var(--ink-0); background:var(--panel-fill); border-color:var(--line); box-shadow:var(--dialog-shadow); }
html .global-search::backdrop { background:#03132299; }
html :is(.global-search-field,.global-search-head button) { color:var(--ink-1); background:var(--field); border-color:var(--line); }
html .global-search input { color:var(--ink-0); }
html #global-search-results a { color:var(--ink-0); background:var(--tint); }
html #global-search-results a:hover, html #global-search-results a:focus-visible { background:var(--tint-strong); border-color:var(--accent); }
html :is(.global-search .search-eyebrow,#global-search-status,#global-search-results small,#global-search-results code,.global-search-footer,.search-shortcuts kbd,.search-empty strong) { color:var(--muted); border-color:var(--line); }
html :is(.search-result-icon,#global-search-results .search-kind) { color:var(--accent); background:var(--tint-strong); border-color:var(--line); }
html .auth-head, html .auth-foot, html .auth-section { border-color:var(--line-soft); }
html .auth-section { background:var(--tint); }
html .arb-toast { background:var(--panel-fill); border-color:var(--accent); box-shadow:var(--dialog-shadow); }
html :is(.arb-toast-label,.arb-toast-wallet,.arb-toast-meta,.arb-toast-close,.arb-toast-profit span) { color:var(--muted); }
html .arb-toast-markets { color:var(--ink-0); }
html .arb-toast-profit { color:var(--accent); }
html .arb-toast-profit:hover { color:var(--good); }

/* Light-only compatibility for legacy hardcoded colors and branded logos. */
[data-theme="light"] :is(.program-avatar,.provider-avatar,.validator-avatar) { background:#102739; border-color:#c7dbe4; }
[data-theme="light"] :is(.leader-map-shell,.leader-map-empty) { background:#e5f1f7; border-color:var(--line); }
[data-theme="light"] .leader-ocean { fill:#e7f2f9; }
[data-theme="light"] .leader-graticule { stroke:#b2d0e2; }
[data-theme="light"] .leader-region-labels text { fill:#3f6a81; }
[data-theme="light"] .leader-hub-labels text { fill:#24485f; stroke:#eef6fa; }
[data-theme="light"] .leader-hub-labels circle { fill:#2b718f; }
[data-theme="light"] .leader-land-image { opacity:1; }
[data-theme="light"] .leader-map-caption { background:#ffffffeb; color:var(--ink-0); border-color:var(--line); }
[data-theme="light"] .leader-marker-caption rect { fill:#f9feff; stroke:#248c77; }
[data-theme="light"] :is(.leader-marker-name,.leader-marker-place) { fill:#173e51; stroke:#f9feff; }
[data-theme="light"] .status-box, [data-theme="light"] .result-box { background:var(--surface); color:var(--ink-1); }
[data-theme="light"] :is(.cleaner-table,.lb-table) tbody tr { border-color:var(--line-soft); }
[data-theme="light"] .intel-hour { border-color:var(--line); }
[data-theme="light"] .intel-hour small { color:var(--ink-1); }
[data-theme="light"] .intel-chart-hint span { color:var(--muted); }
[data-theme="light"] :is(.coin-avatar,.leader-turn-order) { background:var(--surface-3); }

/* Private control-room pages share the palette, not the public navigation. */
html .rail { background:var(--header-fill); border-color:var(--line); }
html :is(.metric,.panel) { color:var(--ink-0); }
html .hero-metric { background:var(--hero-fill); border-color:var(--accent); }
html .top-actions .site-theme-toggle { flex-shrink:0; }
html :is(.nav-item:hover,.nav-item.active,.privacy-actions button) { color:var(--ink-0); background:var(--surface-2); }
html .shell :is(td,.bar-label) { color:var(--ink-1); }
html .shell th { color:var(--muted); }
html .shell .badge { color:var(--ink-1); background:var(--surface-2); }
html .shell .badge.live { color:var(--accent); background:var(--tint-strong); }
html .shell .badge.new { color:var(--accent-2); background:var(--tint); }
html .quality-ring { background:conic-gradient(var(--accent) var(--score),var(--surface-3) 0); }
html .bar-track { background:var(--surface-3); }
html #traffic-chart text { fill:var(--muted); }
html #traffic-chart line { stroke:var(--line); }
html :is(#traffic-chart,#visitor-sparkline) [stroke="#c7ff4a"] { stroke:var(--accent); }
html #traffic-chart [stroke="#49d8d1"] { stroke:var(--accent-2); }
html #traffic-chart stop { stop-color:var(--accent); }

@media(min-width:961px) and (max-width:1100px) {
  html .site-header.site-header { gap:8px; }
  html .site-navigation :is(.nav-link,summary,#auth-trigger-btn) { padding-inline:8px; }
  html .site-navigation .nav-trade { margin-left:2px; gap:8px; padding-inline:10px; }
}
@media(max-width:960px) {
  html .site-header .site-navigation { background:var(--surface); border-color:var(--line); }
  .site-header .brand-block { order:0; }
  .site-header .site-theme-toggle { order:1; flex-basis:44px; width:44px; height:44px; }
  .site-header .menu-toggle { order:2; }
  .site-header .site-navigation { order:3; }
}
@media(max-width:400px) {
  html .site-header.site-header { gap:8px; }
  html .site-header .menu-toggle-label { display:none; }
  html .site-header .menu-toggle:not([hidden]) { justify-content:center; width:44px; height:44px; padding:0; }
}
@media(prefers-reduced-motion:reduce) { .site-theme-toggle { transition:none; } }
