html.site-technical-theme,
html.station-technical-theme {
  --theme-page: #071016;
  --theme-surface: #0d181f;
  --theme-surface-raised: #101f27;
  --theme-surface-soft: #10232c;
  --theme-surface-deep: #071116;
  --theme-line: #29414b;
  --theme-line-strong: #46616d;
  --theme-text: #f2f7f8;
  --theme-muted: #a9bcc3;
  --theme-cyan: #58d8ff;
  --theme-green: #78c96b;
  --theme-yellow: #f2bf68;
  --theme-orange: #ff8a65;
  --theme-red: #ff6578;
  --theme-violet: #c7a4ff;
  --theme-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
  --ink: var(--theme-text);
  --ink-soft: var(--theme-muted);
  --muted: var(--theme-muted);
  --paper: var(--theme-surface);
  --paper-strong: var(--theme-surface-raised);
  --line: var(--theme-line);
  --warm: var(--theme-orange);
  --warm-soft: #ffad82;
  --cool: var(--theme-cyan);
  --cool-deep: var(--theme-cyan);
  --storm: #8bdcf2;
  --rain: #53b8d2;
  --field: var(--theme-green);
  --sun: var(--theme-yellow);
  --shadow: var(--theme-shadow);
  --radius-xl: 6px;
  --radius-lg: 6px;
  --radius-md: 5px;
  --radius-sm: 4px;
  color-scheme: dark;
  background: var(--theme-page);
}

html.site-technical-theme.site-theme-light,
html.station-technical-theme.station-theme-light {
  --theme-page: #e9f1f4;
  --theme-surface: #edf4f6;
  --theme-surface-raised: #f8fbfc;
  --theme-surface-soft: #edf7f9;
  --theme-surface-deep: #e1ecef;
  --theme-line: #b9ccd3;
  --theme-line-strong: #91b2bd;
  --theme-text: #122a34;
  --theme-muted: #465e68;
  --theme-cyan: #006a84;
  --theme-green: #377d37;
  --theme-yellow: #9a6500;
  --theme-orange: #c84f31;
  --theme-red: #9d2b3d;
  --theme-violet: #67459b;
  --theme-shadow: 0 12px 28px rgba(18, 42, 52, 0.12);
  --warm: #c84f31;
  --warm-soft: #a9432a;
  --cool-deep: #005d74;
  --storm: #137996;
  --rain: #17839e;
  --field: #377d37;
  --sun: #8a6000;
  color-scheme: light;
  background: var(--theme-page);
}

html.site-technical-theme {
  --page: var(--theme-page);
  --panel: var(--theme-surface);
  --panel-raised: var(--theme-surface-raised);
  --panel-deep: var(--theme-surface-deep);
  --line-bright: var(--theme-line-strong);
  --text: var(--theme-text);
  --cyan: var(--theme-cyan);
  --green: var(--theme-green);
  --yellow: var(--theme-yellow);
  --orange: var(--theme-orange);
  --red: var(--theme-red);
  --violet: var(--theme-violet);
  --jz-bg: var(--theme-page);
  --jz-bg-strong: var(--theme-surface-soft);
  --jz-card: var(--theme-surface);
  --jz-card-soft: var(--theme-surface-raised);
  --jz-panel-deep: var(--theme-surface-deep);
  --jz-panel-raised: var(--theme-surface-raised);
  --jz-text: var(--theme-text);
  --jz-ink: var(--theme-text);
  --jz-muted: var(--theme-muted);
  --jz-border: var(--theme-line);
  --jz-line-bright: var(--theme-line-strong);
  --jz-accent: var(--theme-cyan);
  --jz-accent-dark: var(--theme-cyan);
  --jz-success: var(--theme-green);
  --jz-warning: var(--theme-yellow);
  --jz-warning-bg: color-mix(in srgb, var(--theme-yellow) 12%, var(--theme-surface));
  --jz-danger: var(--theme-red);
  --jz-danger-bg: color-mix(in srgb, var(--theme-red) 12%, var(--theme-surface));
  --jz-paper-strong: var(--theme-surface-raised);
  --jz-shadow: var(--theme-shadow);
  --bg: var(--theme-page);
  --text: var(--theme-text);
  --panel: var(--theme-surface);
  --accent: var(--theme-cyan);
  --accent-dark: var(--theme-cyan);
  --strong-line: var(--theme-line-strong);
  --warn: var(--theme-yellow);
  --danger: var(--theme-red);
  --good: var(--theme-green);
}

html.site-technical-theme *,
html.site-technical-theme *::before,
html.site-technical-theme *::after {
  letter-spacing: 0;
}

html.site-technical-theme body.site-tool-page {
  min-width: 320px;
  color: var(--theme-text);
  background-color: var(--theme-page);
  background-image:
    linear-gradient(rgba(88, 216, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(88, 216, 255, 0.025) 1px, transparent 1px);
  background-size: 32px 32px;
  font-family: "Segoe UI", Inter, Arial, sans-serif;
  font-synthesis: none;
}

html.site-technical-theme.site-theme-light body.site-tool-page {
  background-image:
    linear-gradient(rgba(0, 106, 132, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 106, 132, 0.045) 1px, transparent 1px);
}

html.site-technical-theme .sky {
  display: none;
}

html.site-technical-theme h1,
html.site-technical-theme h2,
html.site-technical-theme h3,
html.site-technical-theme h4 {
  color: var(--theme-text);
  font-family: "Segoe UI", Inter, Arial, sans-serif;
}

html.site-technical-theme .eyebrow,
html.site-technical-theme .panel-kicker,
html.site-technical-theme .jz-kicker,
html.site-technical-theme .jz-section-label,
html.site-technical-theme [class$="__label"] {
  color: var(--theme-cyan);
  font-family: Consolas, "SFMono-Regular", monospace;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

html.site-technical-theme .section__caption,
html.site-technical-theme .download-panel__note,
html.site-technical-theme .jz-section-caption,
html.site-technical-theme .jz-muted,
html.site-technical-theme [class$="__detail"],
html.site-technical-theme [class$="__meta"] {
  color: var(--theme-muted);
}

html.site-technical-theme a {
  color: var(--theme-cyan);
}

html.site-technical-theme .dashboard-shell > .section,
html.site-technical-theme .dashboard-shell > .site-health-panel.section {
  border: 1px solid var(--theme-line);
  border-radius: 6px;
  background: var(--theme-surface);
  box-shadow: var(--theme-shadow);
  backdrop-filter: none;
}

.site-theme-control {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.site-theme-control__label {
  color: var(--theme-muted);
  font-family: Consolas, "SFMono-Regular", monospace;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.site-theme-toggle {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 9.5rem;
  padding: 3px;
  border: 1px solid var(--theme-line-strong);
  border-radius: 5px;
  background: var(--theme-surface-deep);
}

.site-theme-toggle button {
  min-width: 0;
  min-height: 2.5rem;
  padding: 0.42rem 0.58rem;
  border: 1px solid transparent;
  border-radius: 3px;
  color: var(--theme-muted);
  background: transparent;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 750;
  cursor: pointer;
}

.site-theme-toggle button[aria-pressed="true"] {
  border-color: var(--theme-cyan);
  color: var(--theme-text);
  background: color-mix(in srgb, var(--theme-cyan) 15%, var(--theme-surface));
}

.site-theme-toggle button:hover,
.site-theme-toggle button:focus-visible {
  border-color: var(--theme-cyan);
  color: var(--theme-text);
  outline: none;
}

html.site-technical-theme .button,
html.site-technical-theme .icon-button,
html.site-technical-theme .weather-jump-nav__link,
html.site-technical-theme .archive-preset-button,
html.site-technical-theme .section-collapse-button,
html.site-technical-theme .jz-control-button,
html.site-technical-theme .jz-hero__link,
html.site-technical-theme .jz-source-page-link,
html.site-technical-theme .home-link {
  min-height: 2.75rem;
  border: 1px solid var(--theme-line-strong);
  border-radius: 5px;
  color: var(--theme-cyan);
  background: var(--theme-surface-soft);
  box-shadow: none;
  font-weight: 700;
}

html.site-technical-theme .button:hover,
html.site-technical-theme .button:focus-visible,
html.site-technical-theme .icon-button:hover,
html.site-technical-theme .icon-button:focus-visible,
html.site-technical-theme .weather-jump-nav__link:hover,
html.site-technical-theme .weather-jump-nav__link:focus-visible,
html.site-technical-theme .archive-preset-button:hover,
html.site-technical-theme .archive-preset-button:focus-visible,
html.site-technical-theme .section-collapse-button:hover,
html.site-technical-theme .section-collapse-button:focus-visible,
html.site-technical-theme .jz-control-button:hover,
html.site-technical-theme .jz-control-button:focus-visible,
html.site-technical-theme .jz-hero__link:hover,
html.site-technical-theme .jz-hero__link:focus-visible,
html.site-technical-theme .home-link:hover,
html.site-technical-theme .home-link:focus-visible {
  border-color: var(--theme-cyan);
  color: var(--theme-text);
  background: color-mix(in srgb, var(--theme-cyan) 14%, var(--theme-surface));
  outline: none;
}

html.site-technical-theme .weather-jump-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  padding: 0.5rem;
  border: 1px solid var(--theme-line);
  border-radius: 5px;
  background: color-mix(in srgb, var(--theme-page) 94%, transparent);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}

html.site-technical-theme .weather-jump-nav__link {
  flex: 0 1 auto;
  justify-content: center;
  padding-inline: 0.72rem;
  white-space: nowrap;
}

html.site-technical-theme input:not([type="checkbox"]):not([type="radio"]),
html.site-technical-theme select,
html.site-technical-theme textarea {
  border: 1px solid var(--theme-line-strong);
  border-radius: 4px;
  color: var(--theme-text);
  background: var(--theme-surface-deep);
}

html.site-technical-theme input:focus-visible,
html.site-technical-theme select:focus-visible,
html.site-technical-theme textarea:focus-visible {
  border-color: var(--theme-cyan);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-cyan) 20%, transparent);
  outline: none;
}

html.site-technical-theme .download-panel,
html.site-technical-theme .anywhere-coordinate-readout,
html.site-technical-theme .canada-coordinate-readout,
html.site-technical-theme .anywhere-preview-panel,
html.site-technical-theme .anywhere-summary-bar,
html.site-technical-theme .anywhere-mode-help,
html.site-technical-theme .weather-brief-card,
html.site-technical-theme .forecast-card,
html.site-technical-theme .hourly-forecast-card,
html.site-technical-theme .radar-card,
html.site-technical-theme .radar-control-panel,
html.site-technical-theme .sounding-card,
html.site-technical-theme .sounding-parameter-row,
html.site-technical-theme .sounding-bottom-line,
html.site-technical-theme .storm-potential-card,
html.site-technical-theme .storm-source,
html.site-technical-theme .storm-term,
html.site-technical-theme .storm-summary-box,
html.site-technical-theme .site-health-panel,
html.site-technical-theme .site-health-panel__card,
html.site-technical-theme .source-comparator-card {
  border-color: var(--theme-line);
  border-radius: 5px;
  color: var(--theme-text);
  background: var(--theme-surface-raised);
  box-shadow: none;
}

html.site-technical-theme .alert-card {
  border-color: var(--theme-line);
  border-radius: 5px;
  color: var(--theme-text);
  background: var(--theme-surface-raised);
}

html.site-technical-theme .alert-card--extreme,
html.site-technical-theme .alert-card--severe {
  border-color: color-mix(in srgb, var(--theme-red) 70%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-red) 12%, var(--theme-surface));
}

html.site-technical-theme .alert-card--moderate {
  border-color: color-mix(in srgb, var(--theme-orange) 70%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-orange) 12%, var(--theme-surface));
}

html.site-technical-theme .alert-card--minor {
  border-color: color-mix(in srgb, var(--theme-yellow) 60%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-yellow) 10%, var(--theme-surface));
}

html.site-technical-theme .anywhere-mode-toggle,
html.site-technical-theme .radar-mode-toggle,
html.site-technical-theme .canada-radar-mode-toggle {
  border-color: var(--theme-line-strong);
  border-radius: 5px;
  background: var(--theme-surface-deep);
}

html.site-technical-theme .anywhere-mode-toggle button,
html.site-technical-theme .radar-mode-toggle button,
html.site-technical-theme .canada-radar-mode-toggle button {
  min-height: 2.75rem;
  color: var(--theme-muted);
  background: transparent;
}

html.site-technical-theme .anywhere-mode-toggle button[aria-pressed="true"],
html.site-technical-theme .radar-mode-toggle button[aria-pressed="true"],
html.site-technical-theme .canada-radar-mode-toggle button[aria-pressed="true"] {
  color: var(--theme-text);
  background: color-mix(in srgb, var(--theme-cyan) 15%, var(--theme-surface));
}

html.site-technical-theme .anywhere-summary-item,
html.site-technical-theme .canada-coordinate-readout__value span {
  border-color: var(--theme-line);
  color: var(--theme-text);
  background: var(--theme-surface-soft);
}

html.site-technical-theme .anywhere-summary-item--alert {
  border-color: color-mix(in srgb, var(--theme-red) 55%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-red) 10%, var(--theme-surface));
}

html.site-technical-theme .anywhere-summary-item--storm {
  border-color: color-mix(in srgb, var(--theme-orange) 55%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-orange) 9%, var(--theme-surface));
}

html.site-technical-theme .anywhere-summary-label,
html.site-technical-theme .anywhere-summary-detail,
html.site-technical-theme .canada-coordinate-readout__label,
html.site-technical-theme .canada-coordinate-readout__pair,
html.site-technical-theme .canada-coordinate-readout__query {
  color: var(--theme-muted);
}

html.site-technical-theme .anywhere-summary-value,
html.site-technical-theme .canada-coordinate-readout__value {
  color: var(--theme-text);
}

html.site-technical-theme .leaflet-control-zoom a {
  width: 44px;
  height: 44px;
  line-height: 44px;
  color: var(--theme-text);
  background: var(--theme-surface);
}

html.site-technical-theme .leaflet-control-attribution {
  color: #20323a;
  background: rgba(248, 251, 252, 0.9);
}

/* Anywhere and Canada retain their forecast and hazard hierarchy. */
html.site-technical-theme .anywhere-hero,
html.site-technical-theme .canada-hero {
  border-left: 4px solid var(--theme-cyan);
}

html.site-technical-theme .anywhere-status-card,
html.site-technical-theme .canada-status-card,
html.site-technical-theme .canada-alert-impact__card,
html.site-technical-theme .canada-radar-trend__card,
html.site-technical-theme .canada-risk-timeline-card,
html.site-technical-theme .canada-sounding-site,
html.site-technical-theme .canada-source-card,
html.site-technical-theme .canada-source-health__item,
html.site-technical-theme .canada-aqhi-legend-card,
html.site-technical-theme .canada-radar-legend,
html.site-technical-theme .canada-sounding-raw-card {
  border-color: var(--theme-line);
  border-radius: 5px;
  color: var(--theme-text);
  background: var(--theme-surface-raised);
}

html.site-technical-theme .canada-shell {
  --canada-accent-soft: color-mix(in srgb, #d64040 14%, var(--theme-surface));
}

html.site-technical-theme:not(.site-theme-light) .canada-page .canada-status-card__badge {
  color: var(--theme-text);
}

/* Soil cards keep green, moisture, snow, temperature, and watch-point meaning. */
html.site-technical-theme .soil-hero,
html.site-technical-theme .soil-brief-section,
html.site-technical-theme .soil-location,
html.site-technical-theme .soil-site-nav,
html.site-technical-theme .soil-chart-dialog,
html.site-technical-theme .soil-sensor-card,
html.site-technical-theme .soil-alert-card,
html.site-technical-theme .soil-alert-empty,
html.site-technical-theme .soil-alert-meta {
  border-color: var(--theme-line);
  border-radius: 6px;
  color: var(--theme-text);
  background: var(--theme-surface);
}

html.site-technical-theme .soil-hero {
  border-left: 4px solid var(--theme-green);
}

html.site-technical-theme .soil-site-nav__link,
html.site-technical-theme .soil-site-nav__link.button--secondary,
html.site-technical-theme .soil-site-nav__link:not(.soil-site-nav__link--active) {
  border-color: var(--theme-line-strong);
  color: var(--theme-cyan);
  background: var(--theme-surface-soft);
}

html.site-technical-theme .soil-site-nav__link--active {
  border-color: var(--theme-green);
  color: var(--theme-text);
  background: color-mix(in srgb, var(--theme-green) 18%, var(--theme-surface));
}

html.site-technical-theme .soil-brief-card,
html.site-technical-theme .soil-sensor-card--moisture {
  border-color: color-mix(in srgb, var(--theme-green) 50%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-green) 10%, var(--theme-surface-raised));
}

html.site-technical-theme .soil-brief-card--attention,
html.site-technical-theme .soil-alert-card--active {
  border-color: color-mix(in srgb, var(--theme-orange) 60%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-orange) 11%, var(--theme-surface-raised));
}

html.site-technical-theme .soil-sensor-card--snow {
  border-color: color-mix(in srgb, var(--theme-cyan) 45%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-cyan) 8%, var(--theme-surface-raised));
}

html.site-technical-theme .soil-sensor-card--temperature,
html.site-technical-theme .soil-sensor-card--combo {
  background: var(--theme-surface-raised);
}

html.site-technical-theme .soil-sensor-card__change--up {
  color: var(--theme-green);
}

html.site-technical-theme .soil-sensor-card__change--down {
  color: var(--theme-red);
}

html.site-technical-theme .soil-sensor-card__action {
  color: var(--theme-cyan);
}

html.site-technical-theme .soil-chart-canvas,
html.site-technical-theme .jz-chart-canvas {
  border-color: var(--theme-line);
  background: var(--theme-surface-deep);
}

html.site-technical-theme .archive-disclosure {
  border-color: var(--theme-line);
  background: var(--theme-surface-raised);
}

html.site-technical-theme .archive-disclosure__summary {
  color: var(--theme-text);
  background: var(--theme-surface-soft);
}

html.site-technical-theme .archive-disclosure__summary small {
  color: var(--theme-muted);
}

html.site-technical-theme .archive-disclosure__summary::after {
  border-color: var(--theme-line-strong);
  color: var(--theme-cyan);
  background: var(--theme-surface-deep);
}

html.site-technical-theme.site-theme-light .soil-sensor-card__change--up {
  color: #2c682f;
}

html.site-technical-theme .soil-detail-table th:first-child,
html.site-technical-theme .soil-detail-table td:first-child {
  background: var(--theme-surface-raised);
}

html.site-technical-theme .table-scroll {
  border-color: var(--theme-line);
  background: var(--theme-surface-deep);
}

html.site-technical-theme table thead th {
  border-color: var(--theme-line);
  color: var(--theme-muted);
  background: var(--theme-surface-soft);
}

html.site-technical-theme table tbody td {
  border-color: var(--theme-line);
  color: var(--theme-text);
}

html.site-technical-theme table tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--theme-cyan) 4%, var(--theme-surface));
}

/* Hurricane is an operational workspace, with threat colors left distinct. */
html.site-technical-theme .hurricane-hero {
  border-left: 4px solid var(--theme-cyan);
  background: var(--theme-surface);
}

html.site-technical-theme .hurricane-hero__panel,
html.site-technical-theme .hurricane-mode-bar,
html.site-technical-theme .hurricane-storm-focus,
html.site-technical-theme .hurricane-basin-switch,
html.site-technical-theme .hurricane-kpi,
html.site-technical-theme .hurricane-situation-card,
html.site-technical-theme .hurricane-change-card,
html.site-technical-theme .hurricane-advisory-card,
html.site-technical-theme .hurricane-location-impact-card,
html.site-technical-theme .hurricane-storm-table-shell,
html.site-technical-theme .hurricane-storm-card,
html.site-technical-theme .hurricane-briefing-card,
html.site-technical-theme .hurricane-source-card,
html.site-technical-theme .hurricane-recon-card,
html.site-technical-theme .hurricane-briefing-metric,
html.site-technical-theme .hurricane-key-messages,
html.site-technical-theme .hurricane-impact-guidance,
html.site-technical-theme .hurricane-impact-item,
html.site-technical-theme .hurricane-impact-context-card,
html.site-technical-theme .hurricane-hazard-card,
html.site-technical-theme .hurricane-product-text,
html.site-technical-theme .hurricane-official-text,
html.site-technical-theme .hurricane-map-workspace,
html.site-technical-theme .hurricane-recon-map-card,
html.site-technical-theme .hurricane-overlay-controls,
html.site-technical-theme .hurricane-location-form input {
  border-color: var(--theme-line);
  border-radius: 5px;
  color: var(--theme-text);
  background: var(--theme-surface-raised);
  box-shadow: none;
}

html.site-technical-theme .hurricane-situation-section {
  border-left: 4px solid var(--theme-cyan);
}

html.site-technical-theme .hurricane-mode-toggle {
  border: 1px solid var(--theme-line-strong);
  border-radius: 5px;
  background: var(--theme-surface-deep);
}

html.site-technical-theme .hurricane-mode-toggle button {
  min-height: 2.75rem;
  border: 1px solid transparent;
  border-radius: 3px;
  color: var(--theme-muted);
  background: transparent;
}

html.site-technical-theme .hurricane-mode-toggle button[aria-pressed="true"] {
  border-color: var(--theme-cyan);
  color: var(--theme-text);
  background: color-mix(in srgb, var(--theme-cyan) 18%, var(--theme-surface));
}

html.site-technical-theme .hurricane-situation-card--impact,
html.site-technical-theme .hurricane-situation-card--watch,
html.site-technical-theme .hurricane-kpi--impact,
html.site-technical-theme .hurricane-impact-context-card--moderate,
html.site-technical-theme .hurricane-impact-context-card--medium {
  border-color: color-mix(in srgb, var(--theme-orange) 66%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-orange) 11%, var(--theme-surface));
}

html.site-technical-theme .hurricane-situation-card--alert,
html.site-technical-theme .hurricane-situation-card--severe,
html.site-technical-theme .hurricane-kpi--alert,
html.site-technical-theme .hurricane-location-impact-card--alert,
html.site-technical-theme .hurricane-impact-context-card--alert,
html.site-technical-theme .hurricane-impact-context-card--extreme,
html.site-technical-theme .hurricane-impact-context-card--high {
  border-color: color-mix(in srgb, var(--theme-red) 70%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-red) 12%, var(--theme-surface));
}

html.site-technical-theme .hurricane-location-impact-card--clear,
html.site-technical-theme .hurricane-change-card--new {
  border-color: color-mix(in srgb, var(--theme-green) 62%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-green) 10%, var(--theme-surface));
}

html.site-technical-theme .hurricane-impact-context-card__meta p,
html.site-technical-theme .hurricane-storm-card__metric,
html.site-technical-theme .hurricane-recon-field,
html.site-technical-theme .hurricane-recon-remark,
html.site-technical-theme .hurricane-alert-summary,
html.site-technical-theme .hurricane-recon-plan-section {
  border-color: var(--theme-line);
  color: var(--theme-muted);
  background: var(--theme-surface-soft);
}

html.site-technical-theme .hurricane-map-legend span {
  border-color: var(--theme-line);
  color: var(--theme-muted);
  background: var(--theme-surface-soft);
}

html.site-technical-theme .hurricane-impact-context-card__meta strong,
html.site-technical-theme .hurricane-recon-field strong,
html.site-technical-theme .hurricane-alert-summary strong {
  color: var(--theme-text);
}

html.site-technical-theme .hurricane-storm-table th,
html.site-technical-theme .hurricane-storm-table td {
  border-color: var(--theme-line);
  color: var(--theme-text);
}

html.site-technical-theme .hurricane-map-frame {
  border: 1px solid var(--theme-line-strong);
  border-radius: 5px;
  background: var(--theme-surface-deep);
}

html.site-technical-theme .hurricane-map-badges span,
html.site-technical-theme .hurricane-storm-label,
html.site-technical-theme .hurricane-recon-label {
  border-color: var(--theme-line-strong);
  color: var(--theme-text);
  background: color-mix(in srgb, var(--theme-surface-deep) 92%, transparent);
}

html.site-technical-theme .hurricane-overlay-controls summary,
html.site-technical-theme .hurricane-product-tabs a,
html.site-technical-theme .hurricane-official-text summary {
  color: var(--theme-cyan);
}

/* Existing flight-deck pages inherit the same tokens instead of separate palettes. */
html.site-technical-theme .cockpit-header,
html.site-technical-theme .jz-hero,
html.site-technical-theme .dtb-flight-deck .jz-hero {
  border-color: var(--theme-line);
  border-left-color: var(--theme-cyan);
  background: var(--theme-surface);
}

html.site-technical-theme .control-deck,
html.site-technical-theme .instrument-section,
html.site-technical-theme .readout-section,
html.site-technical-theme .auxiliary-section {
  border-color: var(--theme-line);
  background: var(--theme-page);
}

html.site-technical-theme .selector-console,
html.site-technical-theme .status-console,
html.site-technical-theme .instrument-card,
html.site-technical-theme .readout-card,
html.site-technical-theme .auxiliary-card,
html.site-technical-theme .history-dialog,
html.site-technical-theme .history-chart,
html.site-technical-theme .jz-main-card,
html.site-technical-theme .jz-card,
html.site-technical-theme .jz-mini-chart,
html.site-technical-theme .jz-source-button,
html.site-technical-theme .station-card,
html.site-technical-theme .dtb-location-choice,
html.site-technical-theme .jz-radar-toolset,
html.site-technical-theme .jz-radar-card,
html.site-technical-theme .jz-forecast-card,
html.site-technical-theme .jz-alert,
html.site-technical-theme .jz-sensor,
html.site-technical-theme .jz-river-status,
html.site-technical-theme .jz-river-reference {
  border-color: var(--theme-line);
  border-radius: 6px;
  color: var(--theme-text);
  background: var(--theme-surface);
  box-shadow: none;
}

html.site-technical-theme .cockpit-brand,
html.site-technical-theme .jz-hero h1,
html.site-technical-theme .jz-card h2,
html.site-technical-theme .jz-card h3,
html.site-technical-theme .jz-big-message,
html.site-technical-theme .station-card__name {
  color: var(--theme-text);
}

html.site-technical-theme .jz-hero__text,
html.site-technical-theme .jz-updated,
html.site-technical-theme .jz-source-button__meta,
html.site-technical-theme .station-card__detail,
html.site-technical-theme .station-card__summary {
  color: var(--theme-muted);
}

html.site-technical-theme .history-chart__grid {
  stroke: color-mix(in srgb, var(--theme-muted) 22%, transparent);
}

html.site-technical-theme .history-chart__axis-label {
  fill: var(--theme-muted);
}

html.site-technical-theme:not(.site-theme-light) .instrument--temperature .instrument__code,
html.site-technical-theme:not(.site-theme-light) .instrument--solar .instrument__code {
  color: #ff9f82;
}

html.site-technical-theme .instrument__code {
  font-size: 0.68rem;
  font-weight: 700;
}

html.site-technical-theme .gauge-page .instrument[data-empty="true"] {
  opacity: 1;
  border-style: dashed;
}

html.site-technical-theme.site-theme-light .gauge-page .selector-control__index {
  color: #795000;
}

html.site-technical-theme .gauge-page .refresh-button,
html.site-technical-theme .gauge-page .readout,
html.site-technical-theme .gauge-page .history-dialog,
html.site-technical-theme .gauge-page .history-dialog__close,
html.site-technical-theme .gauge-page .history-range-button {
  border-color: var(--theme-line-strong);
  color: var(--theme-text);
  background: var(--theme-surface-soft);
}

html.site-technical-theme .gauge-page .refresh-button__label,
html.site-technical-theme .gauge-page .readout__value {
  color: var(--theme-cyan);
}

html.site-technical-theme .gauge-page .refresh-button__timer,
html.site-technical-theme .gauge-page .readout__label,
html.site-technical-theme .gauge-page .readout__note,
html.site-technical-theme .gauge-page .cockpit-footer {
  color: var(--theme-muted);
}

html.site-technical-theme.site-theme-light .gauge-page .status-console__item strong,
html.site-technical-theme.site-theme-light .gauge-page .instrument__title,
html.site-technical-theme.site-theme-light .gauge-page .instrument__footer-item strong,
html.site-technical-theme.site-theme-light .gauge-page .auxiliary-card__heading,
html.site-technical-theme.site-theme-light .gauge-page .auxiliary-card__value {
  color: var(--theme-text);
}

html.site-technical-theme.site-theme-light .gauge-page .instrument--temperature .instrument__code,
html.site-technical-theme.site-theme-light .gauge-page .instrument--solar .instrument__code,
html.site-technical-theme.site-theme-light .gauge-page .readout__action {
  color: #8a4600;
}

html.site-technical-theme.site-theme-light .gauge-page .instrument--direction .instrument__code,
html.site-technical-theme.site-theme-light .gauge-page .instrument--uv .instrument__code {
  color: #795000;
}

html.site-technical-theme.site-theme-light .gauge-page .instrument--rain .instrument__code {
  color: #005d74;
}

html.site-technical-theme.site-theme-light .gauge-page .instrument--lightning .instrument__code {
  color: #67459b;
}

html.site-technical-theme.site-theme-light .gauge-page .history-range-button[aria-pressed="true"],
html.site-technical-theme.site-theme-light .jz-control-button[aria-pressed="true"],
html.site-technical-theme.site-theme-light .jz-control-button--active {
  color: #ffffff;
  background: var(--theme-cyan);
}

html.site-technical-theme.site-theme-light .dtb-flight-deck .jz-main-card .jz-section-label {
  color: #795000;
}

html.site-technical-theme.site-theme-light .jz-flight-deck .status-pill--live,
html.site-technical-theme.site-theme-light .dtb-flight-deck .status-pill--live {
  color: #2c682f;
}

/* Admin remains utilitarian while sharing the same accessible palette. */
html.site-technical-theme .admin-shell .panel,
html.site-technical-theme .admin-shell .auth-card,
html.site-technical-theme .admin-shell .status-card,
html.site-technical-theme .admin-shell .feed-card,
html.site-technical-theme .admin-shell .server-health-card,
html.site-technical-theme .admin-shell .editor-card,
html.site-technical-theme .admin-shell .break-glass-status {
  border-color: var(--theme-line);
  border-radius: 6px;
  color: var(--theme-text);
  background: var(--theme-surface);
  box-shadow: none;
}

html.site-technical-theme .admin-shell code {
  color: var(--theme-text);
  background: var(--theme-surface-deep);
}

html.site-technical-theme .admin-shell label {
  color: var(--theme-text);
}

@media (max-width: 760px) {
  .site-theme-control {
    width: 100%;
    justify-content: space-between;
  }

  .site-theme-toggle {
    width: min(10rem, 62vw);
  }

  html.site-technical-theme .weather-jump-nav {
    position: sticky;
    top: 0;
    overflow: visible;
  }

  html.site-technical-theme .weather-jump-nav__link {
    flex: 1 1 auto;
  }

  html.site-technical-theme .soil-site-nav {
    flex-wrap: wrap;
    overflow: visible;
    mask-image: none;
  }

  html.site-technical-theme .soil-site-nav__link {
    flex: 1 1 auto;
    min-height: 2.75rem;
  }

  html.site-technical-theme .cockpit-header__right,
  html.site-technical-theme .jz-hero__actions,
  html.site-technical-theme .section__actions,
  html.site-technical-theme .hurricane-hero__actions {
    flex-wrap: wrap;
  }
}

@media print {
  .site-theme-control {
    display: none !important;
  }
}
