/* Shared visual theme only: no changes to market data or execution gates.
   Keep artwork in its original colors and losses/warnings semantically distinct. */
:root {
  color-scheme:dark;
  --bg:#0c1007;
  --panel:#151c0e;
  --raised:#202a13;
  --input:#101609;
  --line:#354323;
  --line-soft:#28341a;
  --text:#edf2df;
  --muted:#a7b58f;
  --dim:#8c9d72;
  --lime:#b8df18;
  --green:#b8df18;
  --red:#ff8b79;
  --amber:#f2c66d;
  --terminal-muted:var(--muted);
  --terminal-line:var(--line);
  background:var(--bg);
  color:var(--text);
  accent-color:var(--lime);
}
html {background:var(--bg);scrollbar-color:#4a5b2a var(--bg)}
body {background:var(--bg);color:var(--text)}
::selection {background:#b8df18;color:#101609}
:focus-visible {outline-color:var(--lime)!important}
.ambient-grid {background:var(--bg)}
.ambient-grid::before,.ambient-grid::after {background-image:url('/static/images/plus-grid-lime.svg')}
.topbar,.ticker,.ticker-label,.statusbar {background:#101408;border-color:var(--line)}
.brand-mark,header img.brand-mark {
  width:88px;height:58px;flex:0 0 88px;object-fit:contain;
  border:0;border-radius:0;box-shadow:none;background:none;transform:none;
}
@media(max-width:700px) {
  .brand-mark,header img.brand-mark {width:62px;height:42px;flex-basis:62px}
}
.brand-dot {text-shadow:none}
.topbar .wallet-button {
  margin-left:auto;display:flex;align-items:center;justify-content:center;gap:10px;
  flex-shrink:0;min-height:44px;padding:12px 18px;border:1px solid var(--lime);
  border-radius:0;background:var(--lime);color:var(--input);font-size:13px;font-weight:700;
}
.topbar .wallet-button:hover {background:#caef35}
.wallet-button svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
@media(max-width:760px) {
  .topbar .network-pill {display:none}
  .topbar .wallet-button {grid-column:2;grid-row:1;padding:10px;font-size:12px}
}
@media(max-width:560px) {
  .topbar {grid-template-columns:minmax(0,1fr) auto!important;gap:10px;padding:12px}
  .topbar .brand {min-width:0}
}
.main-nav a.active::after {background:var(--lime);box-shadow:0 0 12px #b8df1840}
.global-search,.global-search input:focus,.network-pill,.sidebar-tabs,
.segmented,.direction-toggle,.amount-input,.picker-search,
.ticket-unavailable-control,.preview-panel .ticket-asset-picker input {
  background:var(--input);border-color:var(--line);color:var(--text);
}
.global-search:focus-within {border-color:var(--lime);box-shadow:0 0 0 3px #b8df1810}
input::placeholder {color:var(--dim)}
.global-search kbd {border-color:var(--line);color:var(--dim)}
.ticker-item>span:first-child,.ticker-label {color:var(--muted)}
.ticker-item b {color:var(--text)}
#ticker .ticker-item {border-color:var(--line-soft)}
.panel,.workspace .panel,.loading-state {
  background:var(--panel);border-color:var(--line);box-shadow:none;
}
.basket-terminal .panel-heading,.panel-heading,.discover-heading,
.catalog-group-heading,.coverage-metrics>div,.metrics-bar>div {
  background:#1a2210;border-color:var(--line);color:var(--muted);
}
.basket-terminal .basket-heading {
  background-color:#141b0a;
  background-image:linear-gradient(90deg,#10160955,#10160912 55%,#10160945),url('/static/images/fuse-lime-mesh-v2.png');
  background-size:100% 100%;background-position:center;background-repeat:no-repeat;
  border-color:var(--line);
}
.basket-heading h1 {text-shadow:0 2px 12px #0c1007}
.basket-heading h1>span,.basket-card>b span {color:var(--dim)}
.basket-heading h1 small {color:var(--lime);border-color:#526729;background:var(--input)}
.basket-heading .eyebrow,.basket-heading p,.basket-heading .basket-index>span {color:#c2ceac}
.basket-heading .basket-index {background:#17200e;border-color:var(--line)}
.basket-terminal .chart-container,.basket-terminal .chart-toolbar,
.basket-chart-footer,.basket-source-links,.observation-list,.data-assets th {
  background:var(--panel);border-color:var(--line);
}
.basket-leg,.ticket-pick,.basket-card,.preview-position-card {
  background:#19220f;border-color:var(--line);
}
.basket-leg:hover,.ticket-pick:hover,.basket-card:hover,.basket-card.selected {
  background:#253214;border-color:#829e32;box-shadow:none;
}
.basket-card-foot {
  background:linear-gradient(90deg,#273713,#1b280e);
  border-color:var(--line);color:#c0cfa1;
}
.asset-row:hover,.picker-row:hover,.show-more-row:hover,.observation-tape:hover,
.compact-position-market:hover,.panel-link:hover {background:var(--raised)}
.asset-row.active {background:linear-gradient(90deg,#2b3915,#1a230f);border-left-color:var(--lime)}
.segmented button.active,.direction-toggle button.active,.direction-toggle button.long.active,
.basket-chart-tabs button.active,.history-limits button.active {
  background:#304116;color:var(--lime);box-shadow:none;
}
.direction-toggle button.short.active {background:#482920;color:var(--red)}
.leverage-toggle button {background:var(--input);border-color:var(--line);color:var(--muted)}
.leverage-toggle button.active {background:#304116;border-color:#97b93c;color:var(--lime)}
.margin-presets button {background:#1b260f;border-color:var(--line);color:#bac99e}
.margin-presets button:hover {border-color:var(--lime);color:var(--lime)}
.ticket-estimates {background:var(--input);border-color:var(--line)}
.ticket-estimates>div+div {border-color:var(--line-soft)}
.ticket-estimates dt,.ticket-pick small,.basket-leg small,.picker-row small,
.market-cap,.ticket-source,.ticket-disclosure,.ticket-disclosure summary,
.ticket-disclosure p,.sidebar-disclosure,.basket-chart-tabs button,
.basket-chart-footer,.basket-source-links,.chart-toolbar b,.live-card-meta b,
.index-context b,.observation-row dd,.form-label,.prose p,.network-pill {
  color:var(--muted);
}
.sidebar-disclosure,.picker-row,.preview-position-card,.preview-tape-row {border-color:var(--line-soft)}
.basket-join,.basket-leg i,.text-button,.basket-source-links a,.dex-link:hover,
.catalog-completeness.complete,.copy-button:hover {color:var(--lime)}
.asset-state.success {color:var(--lime)!important}
.adapter-status.success,.live-source,.mode-tag {background:#253410;color:#c6e86a;border-color:#637e29}
.adapter-status.neutral {background:var(--raised);color:var(--muted);border-color:var(--line)}
.primary-button,.wallet-button,.create-button,.review-button {
  background:var(--lime);color:#131b05;border-color:var(--lime);box-shadow:none;
}
.primary-button:hover,.wallet-button:hover,.create-button:hover,.review-button:hover {
  background:#c9ee3c;box-shadow:0 4px 20px #b8df1818;
}
.review-button.short-button {background:var(--red);color:#30130b;border-color:var(--red)}
.secondary-button,.motion-toggle {background:var(--raised);color:#d2deb8;border-color:#51652e}
.secondary-button:hover,.motion-toggle:hover {background:#304116;border-color:var(--lime)}
.disabled-trading-button {background:#252c1b!important;color:#b5c09f!important;border-color:#52613c!important}
.empty-state>strong,.loading-state b,.data-contracts dd,.factory-range b,
.factory-range>div:last-child>span,.coverage-metrics strong {color:var(--text)}
.empty-symbol {color:var(--dim)}
.loading-inline i {background-image:linear-gradient(90deg,#26371a,#6c842e,#26371a)}
.public-price-line {stroke:var(--lime);filter:drop-shadow(0 0 4px #b8df1835)}
.public-price-point {fill:#d4ed83;stroke:var(--panel)}
.public-price-point.stale-point {fill:var(--amber)}
.current-price-line {stroke:#8ba737}
.price-label-bg {fill:var(--lime)}
.price-label {fill:#131b05}
.chart-grid {stroke:var(--line-soft)}
.axis-label {fill:var(--dim)}
.crosshair {stroke:var(--muted)}
.chart-watermark,.chart-watermark>span {color:var(--dim)}
.index-context,.trade-explainer,.prose code,.formula,.sync-command,.coverage-empty {
  background:var(--input);border-color:var(--line);
}
dialog {background:var(--panel);color:var(--text);border-color:#52652d}
dialog::backdrop {background:#080b04bb}
.toast {background:#253414;border-color:#6b8634;color:var(--text)}
.toast.error {background:#38271c;border-color:#8e5744;color:#f0b49e}
/* The isolated testnet lab shares the palette, never the monitor's layout. */
body:has(#balance-state) header {background:#101408;border-color:var(--line)}
body:has(#balance-state) header a {color:var(--text)}
body:has(#balance-state) header span,body:has(#balance-state) a {color:var(--lime)}
body:has(#balance-state) section {background:var(--panel);border-color:var(--line)}
body:has(#balance-state) p,body:has(#balance-state) dt,body:has(#balance-state) label {color:var(--muted)}
body:has(#balance-state) input,body:has(#balance-state) select,body:has(#balance-state) pre {
  background:var(--input);border-color:var(--line);color:var(--text);
}
body:has(#balance-state) button {background:var(--lime);color:#131b05;border-color:var(--lime)}
body:has(#balance-state) .position-row {border-color:var(--line)}
@media(forced-colors:active) {
  .basket-terminal .basket-heading {background-image:none}
  .public-price-line,.current-price-line {stroke:CanvasText;filter:none}
  .public-price-point,.price-label-bg {fill:Highlight}
  .price-label {fill:HighlightText}
}
.preview-panel { padding:14px }
.preview-panel .ticket-heading { min-height:0; padding:0 0 10px; margin:0; align-items:flex-start }
.preview-panel .ticket-heading h2 { margin:4px 0 0; font-size:19px }
.preview-panel .ticket-source { margin-bottom:12px }
.dex-chart-container { min-height:470px; padding:10px!important }
.dex-chart-container iframe { display:block; width:100%; height:410px; border:0; background:var(--panel) }
.dex-chart-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; justify-content:space-between; font-size:10px; padding:4px 0 10px; color:var(--muted) }
.dex-chart-actions a { color:var(--lime) }
.dex-chart-note { font-size:10px; color:var(--muted); margin:8px 0 0 }
