/* Matte-black product foundation ------------------------------------------
   One neutral surface language across Charts, LumeQuant, menus and modules.
   Product and data colors retain their semantic meaning; permanent chrome
   stays graphite, gray and white with a restrained plum falloff. */
:root:not([data-theme="light"]) {
  --matte-canvas:#090a0c;
  --matte-base:#0b0c0f;
  --matte-surface:#0f1114;
  --matte-raised:#14161a;
  --matte-elevated:#181a1f;
  --matte-hover:#202228;
  --matte-line:rgba(255,255,255,.085);
  --matte-line-strong:rgba(255,255,255,.145);
  --matte-text:#e7e8ea;
  --matte-body:#c5c7cb;
  --matte-muted:#858890;
  --matte-faint:#60636b;
  --matte-plum:rgba(88,55,105,.12);
  --bg-near-black:var(--matte-canvas);
  --bg-card:var(--matte-surface);
  --bg-card-elevated:var(--matte-raised);
  --border-subtle:var(--matte-line);
  --text-body:var(--matte-body);
  --text-muted:var(--matte-muted);
  --text-headline:var(--matte-text);
  --gradient-surface:linear-gradient(135deg,rgba(255,255,255,.025),rgba(88,55,105,.055));
  --shadow-float:0 24px 70px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.025);
}

html:not([data-theme="light"]),html:not([data-theme="light"]) body {
  background:var(--matte-canvas);color:var(--matte-body);
}
html:not([data-theme="light"]) body {
  background-image:
    radial-gradient(900px 360px at 100% -8%,var(--matte-plum),transparent 68%),
    radial-gradient(700px 320px at 0 -12%,rgba(255,255,255,.035),transparent 70%);
}

html:not([data-theme="light"]) :is(#topbar,#lq-mode-tabs-row) {
  border-color:var(--matte-line);
  background:linear-gradient(108deg,#14181b 0%,#0c0d10 58%,#17121d 100%);
  box-shadow:0 10px 30px rgba(0,0,0,.34);
}
html:not([data-theme="light"]) :is(#chart-toolbar,#chart-context-bar,#chart-range-controls,#chart-tools-bar,
  #results-collapse-bar,#strategy-bar,#se-head,#chart-readout,#chart-live-controls,#headline-strip,
  #chart-backtest-strip-head) {
  border-color:var(--matte-line);background:rgba(10,11,14,.96);box-shadow:none;
}
html:not([data-theme="light"]) :is(#main,#workspace,#chart-shell,#chart-container,#chart-layout-grid,
  .chart-layout-cell,#chart-empty-state,#lumequant-optimize-view) {
  background-color:var(--matte-canvas);
}
html:not([data-theme="light"]) #main {
  background-image:radial-gradient(780px 340px at 100% 0,rgba(88,55,105,.045),transparent 72%);
}

html:not([data-theme="light"]) :is(#rail,#market-rail,#chat-panel,#strategy-editor,#library-view,
  #community-view,#ideas-view,#results-panel,#alert-manager) {
  border-color:var(--matte-line);
  background:linear-gradient(180deg,var(--matte-surface),var(--matte-base));
}
html:not([data-theme="light"]) :is(#chat-panel-head,#chat-composer,#strategy-editor>header,
  #results-header,#result-tabs,.library-head,.community-head) {
  border-color:var(--matte-line);background:var(--matte-surface);
}

html:not([data-theme="light"]) :is(.toolbar-popover,#indicators-popover,#chart-context-menu,
  #workspace-menu,#workspace-manage-menu,#workspace-recovery-menu,.timeframe-popover,.chart-style-popover,
  .unified-code-menu,.unified-code-new-menu,.pine-footer-more-grid,#opening-range-dialog,.chart-tool-dialog,
  #strategy-chooser-dialog,.alert-dialog,.symbol-search-dialog,.instrument-picker,.study-error-popover) {
  border-color:var(--matte-line-strong)!important;
  background:
    radial-gradient(520px 220px at 100% 0,rgba(92,57,108,.09),transparent 72%),
    linear-gradient(145deg,#15181c,#0d0e11)!important;
  color:var(--matte-body);box-shadow:var(--shadow-float)!important;
}

html:not([data-theme="light"]) :is(input,select,textarea) {
  border-color:var(--matte-line-strong);background:#0b0c0f;color:var(--matte-text);
}
html:not([data-theme="light"]) :is(input,select,textarea):focus {
  border-color:rgba(255,255,255,.42)!important;box-shadow:0 0 0 3px rgba(255,255,255,.055)!important;
}
html:not([data-theme="light"]) :is(.icon-btn,.toolbar-btn,.secondary,.lib-btn,.dep-btn,.sb-btn,
  #chart-range-controls button,.toolbar-popover button,.chart-style-popover>button,.timeframe-popover button) {
  border-color:var(--matte-line);background:rgba(255,255,255,.02);color:#b9bbc0;
}
html:not([data-theme="light"]) :is(.icon-btn,.toolbar-btn,.secondary,.lib-btn,.dep-btn,.sb-btn,
  #chart-range-controls button,.toolbar-popover button,.chart-style-popover>button,.timeframe-popover button):hover {
  border-color:var(--matte-line-strong);background:rgba(255,255,255,.065);color:#f5f5f6;
}

/* Vela's layout matrix paints the whole hovered rectangle. This explicit
   override must follow the generic popover-button surface above; otherwise
   the theme layer wins the cascade and leaves every preview cell dark. */
html:not([data-theme="light"]) #chart-layout-matrix button:is(.selected,.preview) {
  border-color:#f1f2f4!important;
  background:#f1f2f4!important;
  box-shadow:none!important;
}
html:not([data-theme="light"]) #chart-layout-presets>button:is(.selected,.preview) .chart-layout-preset-icon i {
  border-color:#f1f2f4!important;background:#f1f2f4!important;
}

html:not([data-theme="light"]) :is(.card,.lq-panel,.lq-telemetry-card,.lq-event-card,
  .lq-best-candidate,.lq-candidates,.lq-analysis-card,.lq-analysis-verdict,
  .results-card,.metric-card,.community-card,.library-card,.strategy-card) {
  border-color:var(--matte-line)!important;
  background:linear-gradient(145deg,var(--matte-raised),#0d0f12 72%,#121018)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.018);
}
html:not([data-theme="light"]) :is(.lq-panel>header,.lq-analysis-card>header,.results-card>header,
  .library-card>header,.strategy-card>header) {
  border-color:var(--matte-line);background:rgba(255,255,255,.012);
}
html:not([data-theme="light"]) body.product-quant {
  --lq-panel:var(--matte-surface);--lq-panel-2:var(--matte-base);
  --lq-line:var(--matte-line);--lq-muted:var(--matte-muted);
}
html:not([data-theme="light"]) body.product-quant :is(#main,#chat-conversation-view,
  #lumequant-optimize-view,#results-panel) {
  background-color:var(--matte-canvas);
}

html:not([data-theme="light"]) :is(table,thead,tbody,tr,th,td) {border-color:var(--matte-line);}
html:not([data-theme="light"]) :is(thead,.table-head,.data-table-head) {background:var(--matte-raised);}
html:not([data-theme="light"]) :is(th,.section-kicker,.panel-kicker) {color:var(--matte-muted);}
html:not([data-theme="light"]) :is(h1,h2,h3,h4,strong,.panel-title) {color:var(--matte-text);}
html:not([data-theme="light"]) :is(small,.muted,.subtitle,.helper-text) {color:var(--matte-muted);}

html:not([data-theme="light"]) * {scrollbar-color:#4a4d54 #0a0b0d;}
html:not([data-theme="light"]) *::-webkit-scrollbar-track {background:#0a0b0d!important;}
html:not([data-theme="light"]) *::-webkit-scrollbar-thumb {
  border-color:#0a0b0d!important;background:linear-gradient(180deg,#51545b,#393c42)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.045)!important;
}
html:not([data-theme="light"]) *::-webkit-scrollbar-thumb:hover {
  background:linear-gradient(180deg,#686b72,#4b4e55)!important;box-shadow:none!important;
}

html:not([data-theme="light"]) #workspace-status {
  color:#8e9198;
}
html:not([data-theme="light"]) #workspace-status:is(.warning,.error),
html:not([data-theme="light"]) #workspace-recovery:not([hidden]) {color:#e5ba72;}

@media (prefers-reduced-motion:reduce) {
  html:not([data-theme="light"]) * {scroll-behavior:auto!important;}
}
