/* Aluminium frames + asphalt displays. Green means availability, not branding. */
:root {
  color-scheme: dark;
  --forecourt-asphalt: #111418;
  --forecourt-panel: #1b2025;
  --forecourt-metal: #b9c1c8;
  --forecourt-yellow: #ffc64a;
  --forecourt-led: #ff6860;
  --forecourt-green: #70d5a0;
  --navy: #ffc64a;
  --navy-soft: #ffda7c;
  --navy-pale: #342a17;
  --canvas: #111418;
  --surface: #1b2025;
  --ink: #f5f6f7;
  --muted: #adb6bf;
  --line: #3c444d;
  --green: #70d5a0;
  --green-pale: #1c3027;
  --yellow: #ffc64a;
  --yellow-pale: #342a17;
  --red: #ff6860;
  --red-pale: #382320;
  --accent: #ffc64a;
  --accent-ink: #20190b;
  --shadow: 0 16px 38px rgb(0 0 0 / 26%);
}

html, body, .content-view, .gift-view { color: var(--ink); background: var(--canvas); }
:focus-visible { outline-color: var(--forecourt-yellow); }
::selection, .skip-link { color: var(--accent-ink); background: var(--forecourt-yellow); }
.button:hover { transform: none; }
.sidebar { background: #171b20; border-right: 1px solid var(--line); }
.sidebar .brand { color: var(--ink); }
.nav-item { color: #c5ccd3; }
.brand-mark, .brand-mark.small, .legal-brand-mark, .gift-heading-icon {
  color: var(--forecourt-yellow); border: 1px solid #656970;
  border-radius: 8px; background: #24292f; box-shadow: none;
}
.brand-dot { color: var(--forecourt-yellow); }
.nav-item.active { color: var(--accent-ink); background: var(--forecourt-yellow); }
.nav-item.active::before { background: var(--forecourt-metal); }
.sidebar-foot, .sidebar-legal a { color: var(--muted); }
.pulse-dot { background: var(--forecourt-green); box-shadow: none; }
.topbar, body.map-active .topbar { border-color: var(--line); background: #171b20; box-shadow: none; }
.mobile-brand { color: var(--ink); }
.report-button, .report-button:hover { color: var(--accent-ink); border-color: var(--forecourt-yellow); background: var(--forecourt-yellow); border-radius: 10px; }
.button-primary, .route-link, .route-link:hover, .drawer-actions .route-link,
.gift-submit, .gift-submit:hover, .gift-payment-dialog .button {
  color: var(--accent-ink); background: var(--forecourt-yellow); box-shadow: none;
}
.button-secondary, .refresh-button, .map-location-button, .rail-head select,
.network-filter select { color: var(--ink); border-color: var(--line); background: var(--surface); }
.button-secondary:hover, .map-location-button:hover { color: var(--forecourt-yellow); border-color: var(--forecourt-yellow); background: var(--surface); }
.mobile-nav { border-color: #586069; border-radius: 14px; background: #1b2025; box-shadow: none; }
.mobile-nav button { border-radius: 9px; }
.mobile-nav button.active { color: var(--forecourt-yellow); background: #343021; }
.filter-panel, #map-view.map-mode .filter-panel { border-color: #586069; border-radius: 12px; background: #1b2025; box-shadow: none; }
.search-field, #map-view.map-mode .search-field { border-color: var(--line); border-radius: 8px; background: #111418; }
.search-field:focus-within, #map-view.map-mode .search-field:focus-within { border-color: var(--forecourt-yellow); box-shadow: none; }
.search-field input, #map-view.map-mode .search-field input { color: var(--ink); }
.search-field kbd { color: var(--muted); background: var(--surface); }
.fuel-chip, #map-view.map-mode .fuel-chip { color: var(--ink); border-color: #515963; border-radius: 7px; background: #24292f; }
.fuel-chip.active, #map-view.map-mode .fuel-chip.active, .mobile-segment button.active {
  color: var(--accent-ink); border-color: var(--forecourt-yellow); background: var(--forecourt-yellow); box-shadow: none;
}
.mobile-segment { border-radius: 10px; background: var(--surface); }
.mobile-segment button { border-radius: 7px; }
.station-rail, .rail-head, .station-row { color: var(--ink); border-color: var(--line); background: var(--surface); }
.station-row:hover, .station-row.selected { background: #292b29; box-shadow: inset 3px 0 0 var(--forecourt-yellow); }
.station-distance, .drawer-kicker { color: var(--forecourt-yellow); }
.fuel-wheel { border-color: var(--surface); }
.fuel-state-badge.unknown { color: #adb6bf; background: #2a3037; }
.maplibregl-ctrl-group { border-color: #646d75; border-radius: 9px; background: #1b2025; box-shadow: none; }
.maplibregl-ctrl-group button { filter: invert(1) grayscale(1) brightness(1.75); }
.maplibregl-ctrl-attrib { color: var(--muted); background: #1b2025 !important; }
.station-map-popup .maplibregl-popup-content { color: var(--ink); border-color: var(--line); background: var(--surface); }
.station-drawer, .telegram-dialog, .report-dialog { color: var(--ink); border-color: #6a737c; background: var(--surface); }
.station-drawer { border-top: 3px solid var(--forecourt-metal); }
.drawer-drag-handle { background: var(--surface); }
.drawer-close, .dialog-close { color: var(--ink); background: #2a3037; }
.drawer-title, .drawer-section h3, .rail-head strong { color: var(--ink); }
.price-row { border-color: #646d75; border-radius: 8px; background: #111418; box-shadow: none; }
.price-row.is-available { border-color: #5c7867; background: #16221c; box-shadow: inset 3px 0 0 var(--forecourt-green); }
.price-row.is-unavailable, .price-row.is-unknown { background: #111418; }
.price-fuel, .price-row.is-available .price-fuel { color: var(--ink); font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: .015em; }
.price-state strong, .price-row.is-available .price-state strong, .price-state strong.age-strong { color: var(--forecourt-green); }
.price-state strong::before { box-shadow: none; }
.quick-report-button, .price-watch-button { color: var(--muted); border-color: #616b75; border-radius: 7px; background: #24292f; }
.quick-report-button:hover, .price-watch-button:hover { color: var(--forecourt-yellow); border-color: var(--forecourt-yellow); background: #30291c; }
.quick-report-button.active, .price-watch-button.active, .price-watch-button.active:hover { color: var(--accent-ink); border-color: var(--forecourt-yellow); background: var(--forecourt-yellow); box-shadow: none; }
.station-insight-list, .analytics-panel, .forecast-station, .watch-list,
.about-lead, .about-facts, .disclaimer, .community-card, .community-empty { color: var(--ink); border-color: var(--line); background: var(--surface); }
.watch-row .watch-manage-button { color: var(--forecourt-yellow); border-color: var(--line); background: #24292f; }
.telegram-card { color: var(--ink); border: 1px solid var(--line); background: #202830; }
.telegram-card p, .telegram-card ul { color: #c8d2dc; }
.forecast-fuel, .bar-track { background: #24292f; }
.station-signal-panel { border-color: #666d72; border-radius: 10px; background: var(--surface); }
.station-signal-panel > summary { color: var(--forecourt-yellow); }
.signal-fuel-button.active, .signal-choice-grid button.active { color: var(--accent-ink); border-color: var(--forecourt-yellow); background: var(--forecourt-yellow); }
.station-history-event.is-available .station-history-dot { background: var(--forecourt-green); box-shadow: none; }
.station-insight-summary:focus-visible, .station-history-scroll:focus-visible { outline-color: var(--forecourt-yellow); }
.report-add-button { color: var(--forecourt-yellow); border-color: #75633b; background: #2c271d; box-shadow: none; }
.storage-notice-copy a { color: var(--forecourt-yellow); }
.storage-notice > button { color: var(--accent-ink); border-radius: 8px; background: var(--forecourt-yellow); }
.gift-fuel-card { border-color: #747e88; border-radius: 9px; background: #15191e; }
.gift-fuel-card::before { inset: 0 0 auto; height: 5px; opacity: 1; }
.gift-tier-1::before { background: #ef922f; }
.gift-tier-2::before { background: #20865c; }
.gift-tier-3::before { background: #c23d69; }
.gift-tier-4::before { background: #164b82; }
.gift-card-stars { display: none; }
.gift-fuel-card strong { color: var(--forecourt-led); letter-spacing: .015em; font-variant-numeric: tabular-nums; }
.gift-fuel-card.selected { border-color: var(--forecourt-yellow); box-shadow: inset 0 0 0 1px var(--forecourt-yellow); }
.gift-card-check { color: var(--accent-ink); background: var(--forecourt-yellow); box-shadow: none; }
.gift-calculator { border-color: #64707b; border-radius: 10px; background: var(--surface); box-shadow: none; }
.gift-stepper button, .gift-stepper input { border-radius: 8px; background: #111418; }
.gift-stepper input:focus-visible { border-color: var(--forecourt-yellow); box-shadow: none; }
.gift-submit { border-radius: 9px; }
.gift-submit:disabled { color: #a6afb9; background: #2c3239; }
.legal-inline-links a:hover { color: var(--forecourt-yellow); }
.legal-hero-icon { border-color: #686c6e; border-radius: 10px; color: var(--forecourt-yellow); background: #24292f; }
.legal-summary { border-color: #646b71; border-radius: 10px; background: var(--surface); }
.legal-summary > div + div { border-color: var(--line); }
.legal-summary strong { color: var(--ink); }
.legal-summary span { color: var(--muted); }
.legal-meta { color: var(--muted); }

@media (max-width: 680px) {
  #map-view.map-mode .map-location-button:hover { color: var(--forecourt-yellow); border-color: var(--forecourt-yellow); background: var(--surface); }
  #map-view.map-mode .maplibregl-ctrl-attrib a { color: #f5ce73; }
  #map-view.map-mode .map-loading-spinner { border-color: #514934; border-top-color: var(--forecourt-yellow); }
}
