/* SignalDesk charcoal. Shared presentation only; visibility remains owned by each page. */
html.sd-charcoal {
  color-scheme: dark;
  --bg:#131414; --bg-soft:#181919; --panel:#1d1e1e; --panel-1:#1d1e1e;
  --panel-2:#181919; --panel2:#181919; --surface:#1d1e1e; --surface-2:#232525; --surface-3:#181919;
  --ink:#e8eae8; --text:#e8eae8; --muted:#a7ada9; --soft:#929995; --faint:#767e79;
  --line:#303232; --line-strong:#454945; --up:#63c6a5; --down:#e78c8b;
  --primary:#63c6a5; --primary-strong:#89d3b8; --cyan:#a7c7ba; --blue:#63c6a5;
  --warn:#d4b573; --amber:#d4b573; --danger:#e78c8b;
  --radius:10px; --shadow:0 12px 36px rgb(0 0 0 / 12%);
  --sans:"IBM Plex Sans","Noto Sans TC","PingFang TC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#131414; color:#e8eae8; font-family:var(--sans);
}
html.sd-charcoal body { background:#131414; color:#e8eae8; font-family:var(--sans); -webkit-font-smoothing:antialiased; }
html.sd-charcoal :where(h1,h2,h3,p) { text-wrap:pretty; }
html.sd-charcoal :where(button,input,select,textarea) { font-family:inherit; }
html.sd-charcoal :where(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #89d3b8; outline-offset:3px; }
html.sd-charcoal :where(input,textarea)::placeholder { color:#929995; opacity:1; }
html.sd-charcoal ::selection { background:#365447; color:#f5f7f5; }
html.sd-charcoal body :is(.topbar, .sd-main-nav-panel, .sd-main-nav-panel-head, .sd-standalone-mobile-nav, .sd-standalone-mobile-menu-panel, .mobile-nav, .mobile-menu-panel) { background:#181919; border-color:#353836; box-shadow:none; }
html.sd-charcoal body > nav { background:#181919 !important; border-color:#303232; }
html.sd-charcoal body :is(.sd-main-nav-trigger,.sd-main-nav-close,.topbar-search) { background:#232525; border-color:#353836; color:#daddda; box-shadow:none; }
html.sd-charcoal body :is(.sd-main-nav-trigger:hover,.sd-main-nav-trigger[aria-expanded="true"],.sd-main-nav-close:hover) { background:#2a2e2b; border-color:#59615b; color:#e8eae8; }
html.sd-charcoal body :is(.sd-main-nav-current,.sd-main-nav-heading,.sd-mobile-nav-heading) { color:#a7ada9; }
html.sd-charcoal body .sd-main-nav-panel-head strong { color:#e8eae8; }
html.sd-charcoal body .sd-main-nav-link { color:#b8beba !important; font-weight:500 !important; }
html.sd-charcoal body .sd-main-nav-link::before { background:#747d76; box-shadow:none; }
html.sd-charcoal body :is(.sd-main-nav-link:hover,.sd-main-nav-link:focus-visible) { background:#2a2d2a; color:#e8eae8 !important; }
html.sd-charcoal body :is(.sd-main-nav-link.active,.sd-main-nav-link[aria-current="page"]) { background:#27372f; border-color:#40574a; color:#a8ddc7 !important; }
html.sd-charcoal body :is(.sd-main-nav-link.active,.sd-main-nav-link[aria-current="page"])::before { background:#63c6a5; box-shadow:none; }
html.sd-charcoal body .sd-main-nav-link.sd-main-nav-danger { color:#e7a5a1 !important; }
html.sd-charcoal body .sd-main-nav-link.sd-main-nav-danger::before { background:#e78c8b; }
html.sd-charcoal body :is(.mobile-nav>a,.mobile-more-toggle,.sd-standalone-mobile-nav>a,.sd-standalone-mobile-more-toggle) { background:transparent; border-color:transparent; color:#a7ada9; box-shadow:none; border-radius:8px !important; }
html.sd-charcoal body :is(.mobile-nav>a.active,.mobile-more.open .mobile-more-toggle,.sd-standalone-mobile-nav>a.active,.sd-standalone-mobile-more.open .sd-standalone-mobile-more-toggle,.sd-standalone-mobile-more.has-current .sd-standalone-mobile-more-toggle) { background:#2a322c; border-color:#3d4a40; color:#d0e6d8; }
html.sd-charcoal body :is(.mobile-menu-panel,.sd-standalone-mobile-menu-panel) .sd-main-nav-link { background:#232525; border-color:#353836; border-radius:9px; }
html.sd-charcoal body .sd-brand { color:#e8eae8; }
html.sd-charcoal body .sd-brand-mark { background:#202521; border-color:#3d4940; box-shadow:none; }
html.sd-charcoal body .sd-brand-title { color:#e8eae8; font-weight:650; }
html.sd-charcoal body .sd-brand-sub { color:#a7ada9; font-weight:500; letter-spacing:.12em; }
html.sd-charcoal body :is(.card,.portfolio-surface,.activate-shell,.download-card,.support-modal,.modal-box) { background:#1d1e1e; border-color:#353836; border-radius:10px; box-shadow:none; }
html.sd-charcoal body :is(.stat-box,.portfolio-metric,.closed-stat,.macro-tag,.pipeline-item,.ticket-item,.message-item,.upgrade-item,.benefit-card,.telegram-note,.install-note) { background:#181919; border-color:#303232; box-shadow:none; }
html.sd-charcoal body :is(.badge-gray,.badge-muted,.level-gray) { background:#2b2e2b; border-color:#414641; color:#bac2bc; }
html.sd-charcoal body :is(.form-input,.support-form input,.support-form select,.support-form textarea,.reply-form textarea,.request-form input,.request-form select,.request-form textarea,.activate-shell input) { background:#161817; border-color:#454945; color:#e8eae8; border-radius:8px; box-shadow:none; }
html.sd-charcoal body :is(.form-input,.support-form input,.support-form select,.support-form textarea,.reply-form textarea,.request-form input,.request-form select,.request-form textarea,.activate-shell input):focus { background:#181b19; border-color:#89b49c; box-shadow:0 0 0 3px rgb(99 198 165 / 9%); }
html.sd-charcoal body :is(.btn-primary,.btn.primary,.request-form button) { background:#79c4a5; border-color:#79c4a5; color:#12241c; box-shadow:none; font-weight:650; }
html.sd-charcoal body :is(.btn-primary,.btn.primary,.request-form button):hover:not(:disabled) { background:#96d2b8; border-color:#96d2b8; box-shadow:none; }
html.sd-charcoal body :is(.btn-outline,.btn-ghost,.btn.secondary,.position-action) { background:#242624; border-color:#454945; color:#d3d9d4; font-weight:550; }
html.sd-charcoal body :is(.btn-outline,.btn-ghost,.btn.secondary,.position-action):hover { background:#303530; border-color:#5c665e; color:#edf0ed; }
html.sd-charcoal body :is(thead th,.portfolio-table th) { background:#181919; border-color:#353836; color:#a7ada9; }
html.sd-charcoal body tbody td { border-color:#303232; }
html.sd-charcoal body :is(tbody tr:hover,.row-hover:hover) { background:rgb(255 255 255 / 3%); }
html.sd-charcoal body .page { padding-top:32px; }
html.sd-charcoal body .page-header { margin-bottom:24px; }
html.sd-charcoal body .page-title { font-size:26px; font-weight:650; line-height:1.3; }
html.sd-charcoal body .page-subtitle { font-size:14px; line-height:1.75; }
html.sd-charcoal body :is(.page-kicker,.eyebrow,.kicker) { color:#a7ada9; font-weight:550; letter-spacing:.1em; }
/* Legacy Tailwind surfaces. Semantic red/green/amber utilities stay intact. */
html.sd-charcoal body :is(.bg-gray-900,.bg-gray-800) { background-color:#202321; }
html.sd-charcoal body .bg-gray-700 { background-color:#323733; }
html.sd-charcoal body :is(.border-gray-800,.border-gray-700) { border-color:#353b36; }
html.sd-charcoal body :is(.text-gray-500,.text-gray-400) { color:#a7ada9; }
html.sd-charcoal body :is(.text-gray-300,.text-gray-200,.text-white) { color:#e0e5e0; }
html.sd-charcoal body :is(.bg-blue-600,.bg-blue-700) { background-color:#397159; }
html.sd-charcoal body :is(.text-blue-300,.text-blue-400) { color:#a6cfbb; }
html.sd-charcoal body .form-label { color:#bcc3bd; font-weight:550; }
/* Authentication: quiet editorial introduction and one clearly defined form. */
html.sd-charcoal body.sd-page-login .auth-wrap { width:min(1200px,calc(100% - 64px)); gap:48px; padding-top:48px; padding-bottom:56px; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); align-items:start; }
html.sd-charcoal body.sd-page-login .intro-panel { padding:16px 0; border:0; background:transparent; box-shadow:none; min-height:0; gap:28px; }
html.sd-charcoal body.sd-page-login .intro-title { font-size:clamp(30px,3vw,40px); line-height:1.3; font-weight:600; max-width:580px; }
html.sd-charcoal body.sd-page-login .intro-copy { font-size:15px; line-height:1.9; max-width:560px; }
html.sd-charcoal body.sd-page-login .login-card { background:#1d1e1e; border-color:#3a3e3a; box-shadow:none; padding:32px; border-radius:12px; }
html.sd-charcoal body.sd-page-login .login-title { font-size:27px; font-weight:600; }
html.sd-charcoal body.sd-page-login :is(.market-card,.feature-card,.rail-card) { background:#1b1d1b; border-color:#323632; border-radius:9px; box-shadow:none; }
html.sd-charcoal body.sd-page-login .feature-card { min-height:145px; padding:16px; }
html.sd-charcoal body.sd-page-login .feature-card:hover { background:#252925; border-color:#536054; transform:none; }
html.sd-charcoal body.sd-page-login :is(.section-title,.feature-card b) { font-weight:600; }
html.sd-charcoal body.sd-page-login :is(.feature-accent,.feature-card:nth-child(n) .feature-accent) { background:#54645a; height:2px; }
html.sd-charcoal body.sd-page-login :is(.bar-fill,.bar-row:nth-child(n) .bar-fill) { background:#779c86; }
html.sd-charcoal body.sd-page-login :is(.auth-note,.secure-pill,.live-tag) { background:#252e27; border-color:#3b4c40; color:#bacfbf; font-weight:500; box-shadow:none; }
html.sd-charcoal body.sd-page-login .secure-pill::before { background:#90b39b; box-shadow:none; }
html.sd-charcoal body.sd-page-login .eyebrow::before { background:#778f7d; border-color:#778f7d; }
html.sd-charcoal body.sd-page-login .btn-google { background:#e4e8e2; color:#20271f; border-color:#e4e8e2; font-weight:600; box-shadow:none; }
html.sd-charcoal body.sd-page-login .btn-google:hover:not(:disabled) { background:#f4f6f1; box-shadow:none; }
html.sd-charcoal body.sd-page-login .dispatch-item { border-color:#303632; background:#222622; }
html.sd-charcoal body.sd-page-login .about-link { font-weight:500; }
html.sd-charcoal body.sd-page-login .disclaimer { font-size:12px; line-height:1.85; }
html.sd-charcoal body:is(.sd-page-forgot-password,.sd-page-reset-password,.sd-page-auth-callback) .card { padding:32px !important; border-color:#3a3e3a; }
html.sd-charcoal body:is(.sd-page-forgot-password,.sd-page-reset-password,.sd-page-auth-callback) h1 { font-size:26px !important; font-weight:600 !important; }
/* Policy pages retain every word; typography makes long passages readable. */
html.sd-charcoal body:is(.sd-page-privacy,.sd-page-terms,.sd-page-refund) main { max-width:900px; padding-top:52px; }
html.sd-charcoal body:is(.sd-page-privacy,.sd-page-terms,.sd-page-refund) h1 { font-size:clamp(30px,4vw,42px); line-height:1.25; font-weight:600; margin-top:14px; }
html.sd-charcoal body:is(.sd-page-privacy,.sd-page-terms,.sd-page-refund) .card { padding:32px 36px; margin-top:28px; }
html.sd-charcoal body:is(.sd-page-privacy,.sd-page-terms,.sd-page-refund) h2 { font-size:21px; line-height:1.5; font-weight:600; margin-top:32px; padding-top:24px; border-top:1px solid #353836; }
html.sd-charcoal body:is(.sd-page-privacy,.sd-page-terms,.sd-page-refund) .card h2:first-child { margin-top:0; padding-top:0; border-top:0; }
html.sd-charcoal body:is(.sd-page-privacy,.sd-page-terms,.sd-page-refund) :is(p,li) { color:#b8c0b9; font-size:15px; line-height:1.95; }
html.sd-charcoal body:is(.sd-page-privacy,.sd-page-terms,.sd-page-refund) .nav { font-weight:500; }
html.sd-charcoal body:is(.sd-page-privacy,.sd-page-terms,.sd-page-refund) footer { color:#a7ada9; border-color:#303232; line-height:1.8; }
html.sd-charcoal body.sd-page-about .hero { min-height:660px; }
html.sd-charcoal body.sd-page-about .hero::after { background:linear-gradient(180deg,rgb(19 20 20 / 40%),rgb(19 20 20 / 82%) 45%,#131414); }
html.sd-charcoal body.sd-page-about h1 { font-size:clamp(36px,5vw,62px); font-weight:600; line-height:1.2; max-width:880px; }
html.sd-charcoal body.sd-page-about h2 { font-size:clamp(24px,3vw,30px); font-weight:600; }
html.sd-charcoal body.sd-page-about :is(.lead,.plan-preview-card li) { color:#c0c9c1; }
html.sd-charcoal body.sd-page-about :is(.shot-media,.ai-shot .shot-media) { background:#202320; }
html.sd-charcoal body.sd-page-about .plan-preview-card::before { background:#5f7163; height:2px; }
html.sd-charcoal body.sd-page-about .tag { background:#252b26; border-color:#404c42; color:#c0d2c3; font-weight:500; }
html.sd-charcoal body.sd-page-about :is(.btn,.nav) { font-weight:600; }
html.sd-charcoal body.sd-page-settings :is(.upgrade-card,.telegram-binding-card) { background:#1d1e1e; border-color:#3b463e; }
html.sd-charcoal body.sd-page-settings :is(.command-icon,.step-num) { background:#2b3a2f; color:#abd2b7; }
html.sd-charcoal body.sd-page-settings #token-display { background:#181c19; color:#94c9aa; border-color:#496050; }
html.sd-charcoal body.sd-page-settings .mfa-qr-frame { background:#fff; }
html.sd-charcoal body.sd-page-settings .mfa-qr-frame[data-state="expired"] { background:#252925; }
html.sd-charcoal body.sd-page-admin :is(.codex-capacity-card,.pipeline-item) { background:#202420; border-color:#3a433c; }
html.sd-charcoal body.sd-page-support :is(.message-staff,.ticket-item.active) { background:#25332a; border-color:#425447; }
html.sd-charcoal body.sd-page-support :is(.message-user,.message-body) { background:#242824; border-color:#3b423c; }
html.sd-charcoal body.sd-page-trader-downloads h1 { font-size:clamp(30px,4vw,42px); font-weight:600; line-height:1.3; }
html.sd-charcoal body.sd-page-trader-downloads .lead { color:#bbc4bc; font-size:16px; }
html.sd-charcoal body.sd-page-trader-activate .activate-shell { padding:30px; }
html.sd-charcoal body.sd-page-pricing main { background:#1d1e1e; border-color:#353836; }
@media(max-width:980px) {
 html.sd-charcoal body.sd-page-login .auth-wrap { grid-template-columns:1fr; width:min(720px,calc(100% - 40px)); gap:28px; padding-top:28px; }
 html.sd-charcoal body.sd-page-login .login-card { max-width:none; order:-1; }
}
@media(max-width:640px) {
 html.sd-charcoal body .page { padding-top:22px; }
 html.sd-charcoal body .page-title { font-size:23px; }
 html.sd-charcoal body .page-subtitle { font-size:13px; }
 html.sd-charcoal body.sd-page-login .auth-wrap { width:calc(100% - 28px); gap:28px; padding-top:20px; }
 html.sd-charcoal body.sd-page-login .login-card { padding:24px 20px; }
 html.sd-charcoal body.sd-page-login .intro-title { font-size:29px; }
 html.sd-charcoal body.sd-page-login .intro-panel { padding:12px 4px; }
 html.sd-charcoal body:is(.sd-page-privacy,.sd-page-terms,.sd-page-refund) main { padding-top:32px; }
 html.sd-charcoal body:is(.sd-page-privacy,.sd-page-terms,.sd-page-refund) .card { padding:24px 20px; }
 html.sd-charcoal body:is(.sd-page-privacy,.sd-page-terms,.sd-page-refund) :is(p,li) { font-size:14px; line-height:1.9; }
 html.sd-charcoal body.sd-page-about .hero { min-height:600px; }
 html.sd-charcoal body.sd-page-about .hero-inner { padding-bottom:40px; }
}
@media(prefers-reduced-motion:reduce) {
 html.sd-charcoal *,html.sd-charcoal *::before,html.sd-charcoal *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

/* Research and simulation pages: presentation only. Status colors, charts,
   state visibility, form behavior, and strategy content remain inherited. */

html.sd-charcoal body.sd-page-probability-analysis {
  --pa-bg: #131414;
  --pa-surface: #1d1e1e;
  --pa-surface-raised: #232525;
  --pa-surface-deep: #181919;
  --pa-text: #e8eae8;
  --pa-muted: #a7ada9;
  --pa-faint: #8a938d;
  --pa-line: #303232;
  --pa-line-strong: #454a47;
  --pa-accent: #63c6a5;
  --pa-accent-ink: #15211b;
  --pa-accent-soft: rgba(99, 198, 165, .10);
}
html.sd-charcoal body.sd-page-probability-analysis :is(.pa-options, .pa-chart-tooltip) {
  background: #232525;
  border-color: #454a47;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .24);
}
html.sd-charcoal body.sd-page-probability-analysis .pa-progress { background: #303232; }
/* Match the unchanged canvas median line, which is painted in JavaScript. */
html.sd-charcoal body.sd-page-probability-analysis .pa-chart-legend .median::before { background: #24d39a; }
html.sd-charcoal body.sd-page-probability-analysis .pa-combobox > input::placeholder { color: #8a938d; }
html.sd-charcoal body.sd-page-probability-analysis .pa-submit:hover:not(:disabled) {
  background: #78d4b4;
  border-color: #78d4b4;
}
html.sd-charcoal body.sd-page-probability-analysis .pa-submit:disabled {
  background: #303232;
  color: #a7ada9;
  border-color: #454a47;
}
html.sd-charcoal body.sd-page-probability-analysis :is(.pa-primary-answer > p, .pa-replica-note p) { color: #d3d8d4; }
html.sd-charcoal body.sd-page-probability-analysis :is(.pa-lead, .pa-primary-answer > p) { font-size: 15px; }
html.sd-charcoal body.sd-page-probability-analysis :is(.pa-builder, .pa-result) { box-shadow: none; }

html.sd-charcoal body.sd-page-pure-ai-analysis {
  --pai-bg: #131414;
  --pai-panel: #1d1e1e;
  --pai-panel-2: #232525;
  --pai-line: #303232;
  --pai-line-strong: #454a47;
  --pai-text: #e8eae8;
  --pai-muted: #a7ada9;
  --pai-accent: #63c6a5;
  --pai-accent-soft: rgba(99, 198, 165, .10);
}
html.sd-charcoal body.sd-page-pure-ai-analysis .pai-topbar { background: #181919; }
html.sd-charcoal body.sd-page-pure-ai-analysis :is(.pai-quota, .pai-device, .pai-search-row, .pai-icon-button, .pai-history-row button) {
  background: #181919;
  border-color: #303232;
}
html.sd-charcoal body.sd-page-pure-ai-analysis .pai-button:not(.primary) { background: #232525; }
html.sd-charcoal body.sd-page-pure-ai-analysis .pai-segments button:not(.active) { background: #181919; }
html.sd-charcoal body.sd-page-pure-ai-analysis .pai-symbol-picker .global-search-options {
  background: #232525;
  border-color: #454a47;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .24);
}
html.sd-charcoal body.sd-page-pure-ai-analysis :is(.pai-quota-track, .pai-progress-track) { background: #303232; }
html.sd-charcoal body.sd-page-pure-ai-analysis .pai-narrative h3 { color: #a7ada9; }
html.sd-charcoal body.sd-page-pure-ai-analysis :is(.pai-narrative p, .pai-watch) { color: #d3d8d4; font-size: 14px; line-height: 1.75; }
html.sd-charcoal body.sd-page-pure-ai-analysis .pai-heading > div > p:last-child { font-size: 15px; }

html.sd-charcoal body.sd-page-ni-alpha-picks {
  --ap-bg: #131414;
  --ap-surface: #1d1e1e;
  --ap-surface-2: #232525;
  --ap-line: #303232;
  --ap-line-strong: #454a47;
  --ap-text: #e8eae8;
  --ap-muted: #a7ada9;
  --ap-accent: #63c6a5;
  --ap-accent-soft: rgba(99, 198, 165, .10);
}
html.sd-charcoal body.sd-page-ni-alpha-picks :is(.ap-topbar, .ap-workspace-nav, .ap-runtime > div, .ap-strategy select, .ap-status, .ap-band-head, .ap-table-head, .ap-current-head) {
  background: #181919;
  border-color: #303232;
}
html.sd-charcoal body.sd-page-ni-alpha-picks :is(.ap-alert p, .ap-audit-row p, .ap-table-row, .ap-current-note) { color: #cdd3cf; }
html.sd-charcoal body.sd-page-ni-alpha-picks :is(.ap-phase small, .ap-validity-item small) { color: #a7ada9; }
html.sd-charcoal body.sd-page-ni-alpha-picks .ap-current-head p { color: #63c6a5; }
html.sd-charcoal body.sd-page-ni-alpha-picks .ap-heading p:not(.ap-kicker) { font-size: 15px; }
html.sd-charcoal body.sd-page-ni-alpha-picks :is(.ap-alert p, .ap-current-note) { font-size: 13px; line-height: 1.7; }

html.sd-charcoal body.sd-page-ni-breadth-tactical {
  --bt-bg: #131414;
  --bt-panel: #1d1e1e;
  --bt-panel-2: #232525;
  --bt-border: #303232;
  --bt-text: #e8eae8;
  --bt-muted: #a7ada9;
  --bt-accent: #63c6a5;
}
html.sd-charcoal body.sd-page-ni-breadth-tactical :is(.bt-workspace-nav a.active, .bt-tabs button.active, .bt-period-tabs button.active) {
  background: rgba(99, 198, 165, .10);
  border-color: rgba(99, 198, 165, .40);
  color: #c9e8da;
}
html.sd-charcoal body.sd-page-ni-breadth-tactical .bt-table th { background: #181919; }
html.sd-charcoal body.sd-page-ni-breadth-tactical .bt-table tbody tr:hover { background: #282b29; }
html.sd-charcoal body.sd-page-ni-breadth-tactical .bt-period-tabs button:not(.active) { background: #181919; }
html.sd-charcoal body.sd-page-ni-breadth-tactical .bt-period-tabs button:hover { border-color: #64776c; }
html.sd-charcoal body.sd-page-ni-breadth-tactical .bt-equity-tooltip {
  background: rgba(35, 37, 37, .98);
  border-color: #454a47;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .25);
}
html.sd-charcoal body.sd-page-ni-breadth-tactical .bt-pill { background: rgba(99, 198, 165, .10); }
html.sd-charcoal body.sd-page-ni-breadth-tactical :is(.bt-live, .bt-current, .bt-view) { border-radius: 12px; }
html.sd-charcoal body.sd-page-ni-breadth-tactical .bt-heading p:not(.bt-kicker) { font-size: 15px; }

html.sd-charcoal body.sd-page-ni-data-analysis {
  --nr-bg: #131414;
  --nr-panel: #1d1e1e;
  --nr-panel-hover: #252827;
  --nr-line: #303232;
  --nr-line-strong: #454a47;
  --nr-text: #e8eae8;
  --nr-muted: #a7ada9;
  --nr-accent: #63c6a5;
  --nr-accent-soft: rgba(99, 198, 165, .10);
}
html.sd-charcoal body.sd-page-ni-data-analysis .nr-topbar { background: #181919; }
html.sd-charcoal body.sd-page-ni-data-analysis :is(.nr-mode, .nr-tool:hover, .nr-tool:focus-visible) { border-color: rgba(99, 198, 165, .38); }
html.sd-charcoal body.sd-page-ni-data-analysis .nr-tool { border-radius: 12px; }
html.sd-charcoal body.sd-page-ni-data-analysis .nr-index { background: #181919; }
html.sd-charcoal body.sd-page-ni-data-analysis .nr-open { color: #8ed2b7; font-size: 13px; }
html.sd-charcoal body.sd-page-ni-data-analysis :is(.nr-heading > div > p:last-child, .nr-tool-copy > span) { font-size: 15px; line-height: 1.75; }

html.sd-charcoal body.sd-page-trader {
  --panel-3: #282b29;
  --line-2: #454a47;
  --faint: #8a938d;
}
html.sd-charcoal body.sd-page-trader .sidebar { background: #181919; }
html.sd-charcoal body.sd-page-trader :is(.card, .modal, .toast) {
  background: #1d1e1e;
  border-color: #303232;
}
html.sd-charcoal body.sd-page-trader .card { box-shadow: none; }
html.sd-charcoal body.sd-page-trader :is(.owned-strategy-item, .event, .modal-device, .check-row) {
  background: #181919;
  border-color: #303232;
}
html.sd-charcoal body.sd-page-trader .check-row:hover { background: #232525; border-color: #454a47; }
html.sd-charcoal body.sd-page-trader .switch:not(.on) { background: #181919; }
html.sd-charcoal body.sd-page-trader .btn:not(.danger):not(.warn):not(.primary):hover { background: #282b29; }
html.sd-charcoal body.sd-page-trader :is(.mobile-nav, .mobile-menu-panel) { background: #181919; border-color: #303232; }
html.sd-charcoal body.sd-page-trader .side-note { background: #1d1e1e; border-color: #303232; }
html.sd-charcoal body.sd-page-trader :is(.nav-dot, .mark, .mark::after) { box-shadow: none; }
html.sd-charcoal body.sd-page-trader .sub { font-size: 15px; }
html.sd-charcoal body.sd-page-trader :is(.field-note, .check-copy small, .strategy-title small) { font-size: 12px; line-height: 1.65; }

html.sd-charcoal body.sd-page-marketplace {
  --surface: #1d1e1e;
  --surface-2: #181919;
  --surface-3: #232525;
  --faint: #8a938d;
  --green: #63c6a5;
  --green-ink: #15211b;
  background: #131414;
}
html.sd-charcoal body.sd-page-marketplace :is(.rail-card, .seller-form, .checkout-panel, .orders-card, .rules-panel article, .listing-card, .dialog-panel, .toast) {
  background: #1d1e1e;
  border-color: #303232;
}
html.sd-charcoal body.sd-page-marketplace .listing-card:hover { background: #252827; border-color: #4f6c5e; }
html.sd-charcoal body.sd-page-marketplace :is(.stat-strip div, .metric-row div, .rail-meta span, .builder-workspace, .spec-card, .job-row, .wallet-meta span, .ledger-row, .admin-listing-row, .payment-destination, .rule-grid div, .empty-state, .fee-steps li, .fee-steps div) {
  background: #181919;
  border-color: #303232;
}
html.sd-charcoal body.sd-page-marketplace :is(.builder-card, .rule-row, .check-tile, .window-metric, .job-metrics span, .publish-status, .admin-listing-meta span) {
  background: #232525;
  border-color: #303232;
}
html.sd-charcoal body.sd-page-marketplace .mode-tile:not(.is-active) { background: #232525; }
html.sd-charcoal body.sd-page-marketplace :is(.mode-tile.is-active, .tab.active, .builder-workspace:focus, .builder-workspace.is-dragover) {
  background: rgba(99, 198, 165, .10);
  border-color: rgba(99, 198, 165, .38);
}
html.sd-charcoal body.sd-page-marketplace :is(.builder-card:hover, .builder-card:focus-visible) { background: #29312d; border-color: #4f6c5e; }
html.sd-charcoal body.sd-page-marketplace .guided-copy { background: #232525; border-color: #454a47; }
html.sd-charcoal body.sd-page-marketplace .admin-json { background: #131414; }
html.sd-charcoal body.sd-page-marketplace :is(.listing-summary, .rail-card p, .panel-copy, .checkout-note) { font-size: 14px; line-height: 1.7; }
/* The legacy shell installs its own body variables at runtime. Keep this scope
   more specific so mobile cards and dynamically created controls share the theme. */
html.sd-charcoal body.sd-dashboard-shell {
 --bg:#131414; --panel:#1d1e1e; --panel-2:#181919; --panel-3:#232525;
 --line:#303232; --line-strong:#454945; --text:#e8eae8; --muted:#a7ada9; --faint:#929995;
 --up:#63c6a5; --down:#e78c8b; --warn:#d4b573; --cyan:#a7c7ba; --blue:#63c6a5;
}
html.sd-charcoal body .sidebar { background:#181919; border-color:#303232; }
html.sd-charcoal body :is(.sidebar .side-note,.sidebar .mark) { background:#202621; border-color:#3b483e; box-shadow:none; }
html.sd-charcoal body .sidebar .nav a { color:#a7ada9; font-weight:500; }
html.sd-charcoal body .sidebar .nav a.active { background:#29362e; color:#c0e0cd; }
html.sd-charcoal body .sidebar .nav a:hover { background:#252c27; color:#e8eae8; }
html.sd-charcoal body :is(.sidebar .nav-dot,.sidebar .mark::after) { box-shadow:none; }
html.sd-charcoal body :is(.tracker-status-item,.announcement-note,.announcement-form textarea) { background:#181919; border-color:#353836; }
html.sd-charcoal body .portfolio-metrics { background:#303232; }
html.sd-charcoal body .sd-price-status { background:#222623; border-color:#39423b; color:#a7ada9; }
html.sd-charcoal body #ai-chat-trigger.ai-chat-trigger { background:#242b25 !important; border-color:#536758 !important; box-shadow:0 6px 20px rgb(0 0 0 / 18%) !important; }
html.sd-charcoal body #ai-chat-panel.ai-chat-panel { background:#1d1e1e !important; border-color:#414a43 !important; box-shadow:0 12px 36px rgb(0 0 0 / 24%) !important; }
html.sd-charcoal body #ai-chat-panel .ai-chat-msg.user { background:#2b3d30 !important; }
@media(min-width:901px) { html.sd-charcoal body.sd-dashboard-shell .shell { grid-template-columns:220px minmax(0,1fr); } }
@media(max-width:640px) {
 html.sd-charcoal body.sd-dashboard-shell .content :is(.page-title,h1) { font-size:26px !important; font-weight:600; line-height:1.3 !important; }
}
html.sd-charcoal body.sd-page-admin #announcement-message { background:#181919 !important; border-color:#454945; color:#e8eae8; }
@media(max-width:420px) {
 html.sd-charcoal body.sd-page-login .login-card header { position:relative; gap:0; }
 html.sd-charcoal body.sd-page-login .auth-note { margin-bottom:16px; }
}

html.sd-charcoal body.sd-page-trader :is(input:not([type="checkbox"]),select) { background:#181919; border-color:#454945; color:#e8eae8; }
html.sd-charcoal body.sd-page-trader :is(input:disabled,select:disabled) { background:#1a1d1a; }
html.sd-charcoal body.sd-page-support .support-toolbar select { background:#181919; border-color:#454945; color:#e8eae8; }
html.sd-charcoal body :is(.mobile-more,.sd-standalone-mobile-more) { background:transparent; }
html.sd-charcoal body.sd-dashboard-shell .content :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { background:#181919 !important; }
html.sd-charcoal body.sd-page-marketplace :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { background:#181919; border-color:#454945; color:#e8eae8; }
html.sd-charcoal body.sd-page-positions .tab-btn { border:0; border-bottom:2px solid transparent; border-radius:0 !important; }
html.sd-charcoal body.sd-page-positions .tab-btn.active { border-bottom-color:#63c6a5; }
html.sd-charcoal body.sd-page-watchlist table:has(#watchlist-table td[colspan]) { min-width:100% !important; }
html.sd-charcoal body.sd-page-watchlist table:has(#watchlist-table td[colspan]) thead { display:none; }
html.sd-charcoal body.sd-page-pure-ai-analysis #pai-progress[hidden],
html.sd-charcoal body.sd-page-positions #closed-stats[hidden] { display:none; }
html.sd-charcoal body.sd-page-signaldesk-preview .strategy-owned-select { background:#181919; border-color:#454945; color:#e8eae8; }
