:root { --bg: #fff; --raised: #fff; --text: #202124; --muted: #5f6368; --border: #dadce0; --hover: #f1f3f4; --selected: #e8f0fe; --accent: #1a73e8; --grid: #e8eaed; --axis: #9aa0a6; --neutral: #3c4043; --danger: #b3261e; --danger-bg: #fce8e6; --danger-bg-hover: #fad2cf; --warn: #8a4b00; --warn-bg: #fef4e0; --mock: #d93025; --outage-text: #d93025; --event-bad: #d93025; --event-good: #188038; --event-power: #80868b; --event-mark: #00838f; --tooltip-bg: rgb(255 255 255 / 0.9); --shadow: rgb(0 0 0 / 0.25); font: 14px/1.4 system-ui, 'Segoe UI', Roboto, sans-serif; color: var(--text); background: var(--bg); color-scheme: light; } :root[data-theme='dark'] { --bg: #1b1c1e; --raised: #2a2b2e; --text: #e8eaed; --muted: #9aa0a6; --border: #3c4043; --hover: #2f3033; --selected: #233a5e; --accent: #8ab4f8; --grid: #3c4043; --axis: #5f6368; --neutral: #bdc1c6; --danger: #f2b8b5; --danger-bg: #44211f; --danger-bg-hover: #5a2a27; --warn: #fdd663; --warn-bg: #3d3214; --outage-text: #f28b82; --event-bad: #f28b82; --event-good: #81c995; --event-power: #bdc1c6; --event-mark: #4dd0e1; --tooltip-bg: rgb(42 43 46 / 0.9); --shadow: rgb(0 0 0 / 0.6); color-scheme: dark; } *, *::before, *::after { box-sizing: border-box; } body { margin: 0; } /* Read by screen readers, not shown. */ .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; } .btn { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; height: 2rem; padding: 0 0.625rem; border: 1px solid var(--border); border-radius: 4px; background: var(--bg); color: inherit; font: inherit; text-decoration: none; cursor: pointer; } .btn:hover { background: var(--hover); } .btn:disabled { opacity: 0.5; cursor: default; background: var(--bg); } input[type='date'] { height: 2rem; padding: 0 0.375rem; border: 1px solid var(--border); border-radius: 4px; background: var(--bg); color: inherit; font: inherit; } /* MapLibre controls and popups ship light-only styles. */ .maplibregl-popup-content { background: var(--raised); color: var(--text); } .maplibregl-popup-close-button { color: inherit; } .maplibregl-popup-anchor-top .maplibregl-popup-tip, .maplibregl-popup-anchor-top-left .maplibregl-popup-tip, .maplibregl-popup-anchor-top-right .maplibregl-popup-tip { border-bottom-color: var(--raised); } .maplibregl-popup-anchor-bottom .maplibregl-popup-tip, .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip, .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip { border-top-color: var(--raised); } .maplibregl-popup-anchor-left .maplibregl-popup-tip { border-right-color: var(--raised); } .maplibregl-popup-anchor-right .maplibregl-popup-tip { border-left-color: var(--raised); } [data-theme='dark'] .maplibregl-ctrl-group, [data-theme='dark'] .maplibregl-ctrl-attrib, [data-theme='dark'] .maplibregl-ctrl-scale { background: rgb(42 43 46 / 0.9); color: var(--text); } [data-theme='dark'] .maplibregl-ctrl-group button + button { border-top-color: var(--border); } [data-theme='dark'] .maplibregl-ctrl-scale { border-color: var(--text); } [data-theme='dark'] .maplibregl-ctrl-attrib a { color: var(--text); } [data-theme='dark'] .maplibregl-ctrl button .maplibregl-ctrl-icon, [data-theme='dark'] .maplibregl-ctrl-attrib-button { filter: invert(1); }