/* Product-specific semantic colors. Labels and signs remain the primary evidence. */
:root{
 --sem-red:#f58189;--sem-orange:#efa36d;--sem-yellow:#dec66f;
 --sem-green:#80ce94;--sem-mint:#7bdabb;--sem-teal:#64c5b9;
 --sem-cyan:#78cce0;--sem-blue:#8aaff2;--sem-indigo:#a6a9ee;
 --sem-purple:#c2a0e7;--sem-pink:#ffaded;--sem-brown:#c2a48b;
 --positive:var(--sem-green);--negative:var(--sem-red);--blue:var(--sem-blue);
}
body.light{
 --sem-red:#b03546;--sem-orange:#985019;--sem-yellow:#786015;
 --sem-green:#286b3d;--sem-mint:#206b54;--sem-teal:#226b63;
 --sem-cyan:#24667c;--sem-blue:#345e9b;--sem-indigo:#555696;
 --sem-purple:#765091;--sem-pink:#9c357e;--sem-brown:#79583e;
}
[data-tone=error]{--tone:var(--sem-red)}
[data-tone=warning]{--tone:var(--sem-orange)}
[data-tone=caution]{--tone:var(--sem-yellow)}
[data-tone=success]{--tone:var(--sem-green)}
[data-tone=live]{--tone:var(--sem-mint)}
[data-tone=reference]{--tone:var(--sem-teal)}
[data-tone=official]{--tone:var(--sem-cyan)}
[data-tone=info]{--tone:var(--sem-blue)}
[data-tone=published]{--tone:var(--sem-indigo)}
[data-tone=modeled]{--tone:var(--sem-purple)}
[data-tone=action]{--tone:var(--sem-pink)}
[data-tone=historical]{--tone:var(--sem-brown)}
.live-badge[data-tone],.data-label[data-tone],.live-tag[data-tone],.seismic-status[data-tone]{color:var(--tone);background:color-mix(in srgb,var(--tone) 9%,var(--panel));border:1px solid color-mix(in srgb,var(--tone) 38%,var(--border));border-radius:3px;padding:3px 5px;line-height:1.35}
.error-banner[data-tone]{color:var(--tone);background:color-mix(in srgb,var(--tone) 7%,var(--panel));border:1px solid color-mix(in srgb,var(--tone) 35%,var(--border))}
.error-banner[data-tone] button{color:inherit;text-decoration:underline;text-underline-offset:3px}
.search-status[data-tone],.search-empty[data-tone],.empty[data-tone],.empty-line[data-tone],.source-line[data-tone],.rate-note[data-tone]{color:var(--tone)}
.earth-loading-panel[data-tone] strong,.earth-loading-panel[data-tone] .loading-track i{color:var(--tone)}
.earth-loading-panel[data-tone] .loading-track i{background:var(--tone)}
.quote-time[data-tone],.seismic-mag[data-tone],.magnitude[data-tone]{color:var(--tone)}
.seismic-mag[data-tone],.magnitude[data-tone]{border-color:color-mix(in srgb,var(--tone) 35%,var(--border));background:color-mix(in srgb,var(--tone) 8%,var(--panel))}
.release-meta,.release-type{color:var(--sem-cyan)}
.prediction-chance,.forecast-outcomes>div:first-child{color:var(--sem-purple)}
.forecast-outcomes>div:last-child{color:var(--sem-indigo)}
.probability-track i,.forecast-split i{background:var(--sem-purple)}
.forecast-split{background:color-mix(in srgb,var(--sem-indigo) 22%,var(--panel))}
.global-resource-context>summary{color:var(--sem-brown)}
.resource-source,.resource-context{color:var(--sem-brown)}
.status-dot{background:var(--sem-mint)}
.seismic-dot.low{background:var(--sem-blue)}.seismic-dot.mid{background:var(--sem-orange)}.seismic-dot.high{background:var(--sem-red)}
.seismic-bin[data-tone] i{background:var(--tone)}
.weather-snapshot.sun .weather-snapshot-now>svg{color:var(--sem-yellow)}
.weather-snapshot.rain .weather-snapshot-now>svg{color:var(--sem-cyan)}
.topic-population{--topic-color:var(--sem-blue)}.topic-health{--topic-color:var(--sem-teal)}
.topic-economy{--topic-color:var(--sem-indigo)}.topic-energy{--topic-color:var(--sem-orange)}
.topic-environment{--topic-color:var(--sem-green)}.topic-food{--topic-color:var(--sem-brown)}
.topic-technology{--topic-color:var(--sem-purple)}.topic-education{--topic-color:var(--sem-cyan)}
.save-button.saved,.save-button[aria-pressed=true]{color:var(--accent)}
button:focus-visible,a:focus-visible{outline:2px solid var(--sem-blue);outline-offset:2px}
input:focus-visible,select:focus-visible{border-color:var(--sem-blue)}
::selection{background:var(--sem-pink);color:#181118}
