/* Light is the default, including when browser storage is unavailable. */
:root { --chart-paper:#0c171c; --chart-plot:#071014; --chart-ink:#edf4f6; --chart-grid:#29404a; --chart-zero:#49606a; }
:root:not([data-theme=dark]) {
  color-scheme:light;
  --ink:#172e3a; --muted:#526773; --line:#ccdbe2; --blue:#087b9c; --navy:#12343f;
  --bg:#f1f6f8; --aqua:#087b9c; --panel:#ffffff; --field:#f7fafb;
  --chart-paper:#ffffff; --chart-plot:#f7fafb; --chart-ink:#172e3a; --chart-grid:#d3e1e7; --chart-zero:#96acb8;
}
:root:not([data-theme=dark]) input,
:root:not([data-theme=dark]) select,
:root:not([data-theme=dark]) textarea,
:root:not([data-theme=dark]) dialog { border-color:#a7bdc8; }
:root:not([data-theme=dark]) input::placeholder,
:root:not([data-theme=dark]) textarea::placeholder { color:#617885; }
:root:not([data-theme=dark]) .topbar { background:#fff; color:var(--ink); box-shadow:0 4px 18px rgb(25 65 85 / .08); }
:root:not([data-theme=dark]) .brand-logo { filter:invert(1); }
:root:not([data-theme=dark]) .brand-product { border-color:var(--line); }
:root:not([data-theme=dark]) .view-toolbar { background:var(--panel); }
:root:not([data-theme=dark]) .view-toggle input { background:#718691; border-color:#718691; }
:root:not([data-theme=dark]) .view-toggle input:checked { background:var(--aqua); border-color:var(--aqua); }
:root:not([data-theme=dark]) .view-toggle input:checked::before { background:#fff; }
:root:not([data-theme=dark]) .primary,
:root:not([data-theme=dark]) .ask-submit { color:#fff; }
:root:not([data-theme=dark]) .primary:hover,
:root:not([data-theme=dark]) .ask-submit:hover { background:#05627d; }
:root:not([data-theme=dark]) .text-link:hover,
:root:not([data-theme=dark]) .text-button:hover { color:#04566e; }
:root:not([data-theme=dark]) .secondary { border-color:#a7bdc8; }
:root:not([data-theme=dark]) .ask-icon { background:#e1f2f7; }
:root:not([data-theme=dark]) .examples button { color:#385e70; }
:root:not([data-theme=dark]) .examples button:hover { background:#e1f2f7; color:#143b4e; }
:root:not([data-theme=dark]) .answer .interpretation,
:root:not([data-theme=dark]) .scenario-chip { background:#e7f0f5; color:#294e60; }
:root:not([data-theme=dark]) .error { background:#fff1ea; border-color:#dfb7a7; color:#9a341e; }
:root:not([data-theme=dark]) .recommendation { background:#e4f4f8; border-color:#89bfce; color:var(--ink); border-top-color:var(--aqua); }
:root:not([data-theme=dark]) .recommendation p,
:root:not([data-theme=dark]) .recommended-price span { color:#3c6675; }
:root:not([data-theme=dark]) .recommended-price strong,
:root:not([data-theme=dark]) .provider-badge,
:root:not([data-theme=dark]) .source-ref { color:#076780; }
:root:not([data-theme=dark]) th,
:root:not([data-theme=dark]) .detail-table tfoot td { background:#eef4f7; color:var(--ink); }
:root:not([data-theme=dark]) .provider-row.recommended { background:#eaf6fa; }
:root:not([data-theme=dark]) .provider-row.indicative { color:var(--muted); }
:root:not([data-theme=dark]) .provider-badge.indicative { color:#8a6012; }
:root:not([data-theme=dark]) .bar-track { background:#dce9ef; }
:root:not([data-theme=dark]) .bar { background:#6c9daf; }
:root:not([data-theme=dark]) .recommended .bar { background:var(--aqua); }
:root:not([data-theme=dark]) .notes-panel { background:#edf4f7; color:var(--muted); }
:root:not([data-theme=dark]) .source-section td:last-child { color:var(--muted); }
:root:not([data-theme=dark]) .roi-metrics > div { background:#eef5f8; }
:root:not([data-theme=dark]) .roi-metrics .roi-net { background:#e8f5ef; border-color:#a0cbb9; }
:root:not([data-theme=dark]) .roi-net strong,
:root:not([data-theme=dark]) #header-net { color:#176444; }
:root:not([data-theme=dark]) .roi-net strong.negative,
:root:not([data-theme=dark]) #header-net.negative,
:root:not([data-theme=dark]) #email-status.is-error,
:root:not([data-theme=dark]) .settings-status.is-error,
:root:not([data-theme=dark]) #parameter-file-status.is-error,
:root:not([data-theme=dark]) #explorer-status.is-error,
:root:not([data-theme=dark]) #export-status.is-error,
:root:not([data-theme=dark]) #plot-warning { color:#a63b20; }
:root:not([data-theme=dark]) .header-roi.is-stale #header-quote-status { color:#895f13; }
:root:not([data-theme=dark]) .plot-notice { background:#fff4d9; color:#795411; }
.theme-control { max-width:280px; margin-top:20px; }
.theme-control label { display:block; margin-bottom:8px; font-size:.85rem; }
.theme-control select { width:100%; }
.recommended-price strong { font-size:clamp(1.25rem,2vw,1.8rem); }
.recommendation { flex-wrap:wrap; }
.metrics strong { white-space:normal; font-size:1.15rem; line-height:1.5; }
.header-metrics strong { font-size:clamp(.85rem,1.25vw,1.15rem); line-height:1.4; }
.range-note { font-size:.75rem; margin:10px 0 20px; }
.quote-unavailable .range-note { display:none; }
@media(max-width:600px) { .recommended-price { text-align:left; }.recommended-price strong { display:block; }.recommended-price span { margin-left:0; } }
