/* Shared chrome palette. Weather scales and series retain their data meaning. */
:root, body .marine-stage, body .marine-stage.day {
  --bg:#181c20;
  --panel:rgba(31,36,41,.97);
  --panel-solid:#1f2429;
  --panel-soft:#272d33;
  --ink:#e2e5e8;
  --muted:#a4adb6;
  --line:#414950;
  --accent:#a9bccb;
  --accent-soft:#35414b;
  --control:#2b3239;
  --control-hover:#37414a;
  --shadow:0 8px 28px rgba(0,0,0,.24);
  color-scheme:dark;
}
body.v9-map-first :is(.topbar,.layer-rail,.marine-hud,.inspect-sheet,.station-browser,.appearance-panel,.information-layers,.route-tools,.route-more-menu,.route-readout,.pro-drawer,.route-layer-drawer,.map-legend,.weather-graph-system,.phone-tabs,.camera-dialog,.graph-track-add-menu,.maplibregl-popup-content),
body.v9-map-first :is(#appearancePanel,#informationLayers,#stationBrowser,#inspectSheet,#phoneTabs,#weatherGraphSystem,#surfaceFrameTrust,#measuredMapNote) {
  background:var(--panel-solid)!important;
  background-image:none!important;
  color:var(--ink)!important;
  border-color:var(--line)!important;
  box-shadow:var(--shadow)!important;
}
body.v9-map-first :is(.layer-group,.layer-stations,.station-quick-controls,.layer-controls,.graph-panel,.graph-track,.graph-track-head,.graph-track-canvas,.dock-lead,.graph-dock-handle,.inspect-head,.station-trust,.station-chart-wrap,.forecast-stack,.forecast-track,.station-tabs,.station-metric-tabs,.timeline-main,.timeline-head,.timeline-range,.timeline-days,.timeline-track,.timeline-day-select,.timeline-day-summary,.time-ticks),
body.v9-map-first #weatherGraphSystem #timeDock {
  background:var(--panel-solid)!important;
  background-image:none!important;
  color:var(--ink)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
body.v9-map-first #weatherGraphSystem {border-color:var(--line)!important}
body.v9-map-first #weatherGraphSystem #timeDock {border-top:1px solid var(--line)!important}
body.v9-map-first :is(.layer-rail,.appearance-panel,#appearancePanel,#informationLayers,.inspect-sheet,.station-browser,.route-tools,.route-more-menu,.route-readout,.pro-drawer,.graph-panel,.station-mini-popup,.camera-dialog) :is(button,select,input[type="search"],input[type="number"],input[type="text"]),
body.v9-map-first #weatherGraphSystem :is(button,select) {
  background:var(--control)!important;
  background-image:none!important;
  color:var(--ink)!important;
  border:1px solid var(--line)!important;
  border-radius:7px!important;
  box-shadow:none!important;
  font-weight:550!important;
  text-shadow:none!important;
}
body.v9-map-first :is(.layer-rail,.appearance-panel,#appearancePanel,#informationLayers,.inspect-sheet,.station-browser,.route-tools,.pro-drawer,.graph-panel) button:is(.active,.selected,[aria-pressed="true"],[aria-selected="true"]),
body.v9-map-first #weatherGraphSystem :is(button,select):is(.active,[aria-pressed="true"],[aria-expanded="true"]),
body.v9-map-first #timelineDaySelect {
  background:var(--accent-soft)!important;
  color:var(--ink)!important;
  border-color:#687b8b!important;
}
@media (hover:hover) {
  body.v9-map-first :is(.layer-rail,#appearancePanel,#informationLayers,.inspect-sheet,.station-browser,.route-tools,.pro-drawer,.graph-panel,#weatherGraphSystem) :is(button,select):hover {
    background:var(--control-hover)!important;
    border-color:var(--accent)!important;
  }
}
body.v9-map-first button:disabled {opacity:.4!important}
body.v9-map-first :is(button,a,input,select,[tabindex]):focus-visible {outline:2px solid var(--accent)!important;outline-offset:2px}
body.v9-map-first :is(.layer-rail button b,.layer-stations button,.station-quick-controls button,.graph-dock-handle,.graph-track-source,.timeline-days button,.timeline-track .tick b,.graph-cursor-time,.graph-cursor-readout b) {font-weight:550!important;text-shadow:none!important}
body.v9-map-first :is(.graph-help,.graph-panel-hint,.layer-scroll-hint,.source-age,.timeline-foot,.timeline-step-note,.station-trust,.forecast-note,.graph-track-source,.graph-dock-handle,.dock-lead small) {color:var(--muted)!important}
body.v9-map-first #dockLeadValue {font-weight:600!important;color:var(--ink)!important}
body.v9-map-first :is(.dock-lead-unit,.dock-lead-name,#dockLeadName,#dockLeadUnit) {color:var(--muted)!important;font-weight:500!important}
body.v9-map-first .graph-station-chip {background:var(--panel-soft)!important;border-color:var(--line)!important;color:var(--ink)!important}
body.v9-map-first .graph-cursor-summary {background:var(--panel-solid)!important;color:var(--muted)!important}
body.v9-map-first .graph-cursor-summary>span {background:var(--panel-soft)!important;border-color:var(--line)!important;color:var(--ink)!important}
body.v9-map-first .graph-cursor-readout {background:var(--panel-solid)!important;color:var(--ink)!important;border-color:var(--line-colour,var(--line))!important;box-shadow:0 2px 8px #0004!important;transform:translateY(-50%)!important;max-width:calc(100% - 8px)}
body.v9-map-first .graph-cursor-readout b {white-space:normal}
body.v9-map-first :is(.graph-grid-line,.chart-grid,.forecast-grid) {stroke:var(--line)!important}
body.v9-map-first :is(.graph-now-line,.chart-now-line) {stroke:var(--muted)!important;opacity:.65}
body.v9-map-first :is(.graph-time-cursor,.chart-selected,.forecast-cursor) {stroke:var(--accent)!important;stroke-width:1.4px!important}
body.v9-map-first .graph-hovering .graph-time-cursor {stroke:var(--ink)!important;stroke-dasharray:3 3}
body.v9-map-first :is(.chart-label,.chart-axis-label,.forecast-axis text) {fill:var(--muted)!important}
/* Keep every ruler surface on the window palette, including the legacy
   collapsed/expanded dock rules. White details provide the only contrast. */
body.v9-map-first #weatherGraphSystem {--timeline-ink:#fff}
body.v9-map-first #weatherGraphSystem :is(#timelineTouch,#timelineDays,#timelineTrack) {
  background:var(--panel-solid)!important;background-image:none!important;
  color:var(--timeline-ink)!important;border-color:var(--line)!important;
}
body.v9-map-first #weatherGraphSystem #timeDock :is(button,select,.timeline-day-affordance),
body.v9-map-first #weatherGraphSystem #timeTicks {color:var(--timeline-ink)!important}
body.v9-map-first #timelineTrack .tick {background:rgba(255,255,255,.38)!important;font-style:normal!important}
body.v9-map-first #timelineTrack .tick.major {background:rgba(255,255,255,.8)!important}
body.v9-map-first #timelineTrack .tick b {
  color:var(--timeline-ink)!important;opacity:1!important;font-style:normal!important;
  font-weight:500!important;font-variant-numeric:tabular-nums;
}
body.v9-map-first #timelineTrack .timeline-band {
  background:rgba(255,255,255,.025)!important;border-color:rgba(255,255,255,.12)!important;
  color:var(--timeline-ink)!important;font-weight:500;
}
body.v9-map-first #weatherGraphSystem #timelineDays button {
  background:var(--panel-solid)!important;color:var(--timeline-ink)!important;
  border-color:var(--line)!important;border-radius:0!important;
}
body.v9-map-first #weatherGraphSystem #timelineDays button.active {
  background:var(--panel-soft)!important;color:var(--timeline-ink)!important;
  box-shadow:inset 0 -1px var(--timeline-ink)!important;
}
@media(hover:hover) {
  body.v9-map-first #weatherGraphSystem #timelineDays button:hover {background:var(--control-hover)!important}
}
body.v9-map-first #weatherGraphSystem :is(#timelineCursor,#forecastCursor),
body.v9-map-first #weatherGraphSystem #timelineCursor::before,
body.v9-map-first #weatherGraphSystem #timelineCursor::after {
  background:var(--timeline-ink)!important;border-color:var(--timeline-ink)!important;
}
body.v9-map-first #timelineBubble {background:var(--panel-solid)!important;color:#fff!important;border:1px solid var(--line)!important;border-radius:8px!important;box-shadow:var(--shadow)!important;text-shadow:none!important}
body.v9-map-first #timelineBubble::after {border-top-color:var(--panel-solid)!important;background:var(--panel-solid)!important}
body.v9-map-first #weatherGraphSystem #timePlay {background:var(--control)!important;color:var(--ink)!important;border-color:var(--line)!important;font-variant-emoji:text}
body.v9-map-first #weatherGraphSystem #timePlay {font-size:0!important}
body.v9-map-first #weatherGraphSystem #timePlay::before {content:'';display:block;width:0;height:0;border:5px solid transparent;border-left:8px solid var(--ink);margin-left:5px}
body.v9-map-first #weatherGraphSystem #timePlay[aria-label^="Stöðva"]::before,
body.v9-map-first #weatherGraphSystem #timePlay[aria-label^="Pause"]::before {content:'';width:8px;height:11px;margin-left:0;border:0;border-left:3px solid var(--ink);border-right:3px solid var(--ink)}
body.v9-map-first #weatherGraphSystem #graphDockHandle {background:var(--panel-soft)!important;color:var(--muted)!important;border-radius:0!important;border-width:0 0 1px!important}
body.v9-map-first #weatherGraphSystem #graphDockHandle span {background:rgba(255,255,255,.45)!important}
body.v9-map-first #timeSlider::-webkit-slider-thumb {background:#fff!important;border-color:#fff!important}
body.v9-map-first #timeSlider::-moz-range-thumb {background:#fff!important;border-color:#fff!important}
body.v9-map-first #marineMap .maplibregl-ctrl-group,
body.v9-map-first #marineMap .maplibregl-ctrl-group button {background:var(--panel-solid)!important;border-color:var(--line)!important;color:var(--ink)!important}
body.v9-map-first #timelineBubble :is(b,span) {color:#fff!important;font-weight:550!important;font-variant-numeric:tabular-nums}
body.v9-map-first #weatherGraphSystem .forecast-ribbon-wrap {
  background:var(--panel-solid)!important;border-color:var(--line)!important;
  filter:none;opacity:1;
}
body.v9-map-first #phoneTabs {border-top:1px solid var(--line)!important}
body.v9-map-first #phoneTabs button {color:var(--muted)!important;background:transparent!important;font-weight:550!important}
body.v9-map-first #phoneTabs button.active {color:var(--ink)!important;background:var(--accent-soft)!important}
body.v9-map-first :is(.obs-table,.forecast-table,.station-info) :is(th,td) {background:transparent!important;color:var(--ink)!important;border-color:var(--line)!important}
body.v9-map-first :is(.obs-table,.forecast-table) :is(thead,.obs-day) {background:var(--panel-soft)!important}
body.v9-map-first .maplibregl-ctrl-group {background:var(--panel-solid)!important;border-color:var(--line)!important}
body.v9-map-first .maplibregl-ctrl-group button {background:var(--panel-solid)!important;border-color:var(--line)!important}
body.v9-map-first .maplibregl-ctrl-icon {filter:invert(.88)!important}
body.v9-map-first :is(.toast,.graph-pick-hint,.station-chart-tooltip,.forecast-readout) {background:var(--panel-soft)!important;color:var(--ink)!important;border-color:var(--line)!important}
/* Horizontal chart gestures must never turn into text selection on iOS. Keep
   native vertical scrolling on charts and retain selection in editable inputs. */
body.v9-map-first :is(#weatherGraphSystem,#timelineBubble,.layer-rail,.panel-grip,.panel-resizer,[data-chart-svg],[data-forecast-svg],.station-chart-tooltip,.forecast-readout),
body.v9-map-first :is(#weatherGraphSystem,[data-chart-svg],[data-forecast-svg]) * {
  -webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;
}
body.v9-map-first :is([data-graph-canvas],[data-chart-svg],[data-forecast-svg]) {touch-action:pan-y!important;cursor:crosshair}
body.v9-map-first :is(#timelineTouch,#graphDockHandle) {touch-action:none!important}
body.v9-map-first .chart-scrubbing {cursor:ew-resize!important}
body.v9-map-first :is(input,textarea,[contenteditable="true"]) {user-select:text!important;-webkit-user-select:text!important}
body.v9-map-first :is(.graph-track-list,.inspect-content,.station-browser-list) {scrollbar-color:#65707a var(--panel-solid)!important;scrollbar-width:thin}
/* Each station owns its metric; keep its selector next to its name. */
body.v9-map-first .weather-graph-system[data-dock-mode="half"] {min-height:var(--graph-dock-readout-min-height,0px)!important}
body.v9-map-first #graphTrackList .graph-track-head {height:68px!important;min-height:68px!important;flex:none!important;align-items:center!important}
body.v9-map-first #graphTrackList .graph-track-title {display:none;color:var(--muted);font-size:11px}
body.v9-map-first #graphTrackList .graph-track-chips {gap:6px;align-items:stretch;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;touch-action:pan-x}
body.v9-map-first #graphTrackList .graph-track-chips::-webkit-scrollbar {display:block;height:3px}
body.v9-map-first #graphTrackList .graph-station-chip {
  display:grid!important;grid-template-columns:7px minmax(0,1fr) 22px;grid-template-rows:21px 32px;
  column-gap:5px;row-gap:3px;width:182px;max-width:182px;min-height:64px;padding:3px 6px;
  border-radius:8px;box-sizing:border-box;
}
body.v9-map-first #graphTrackList .graph-station-name {font-size:10px;line-height:18px}
body.v9-map-first #graphTrackList .graph-station-chip>button {width:22px;height:22px;min-height:22px;border:0!important;background:transparent!important;line-height:20px}
body.v9-map-first #graphTrackList select[data-graph-station-metric] {display:block!important;grid-column:1/-1;width:100%;max-width:none!important;height:32px!important;min-height:32px!important;padding:0 22px 0 8px;font-size:11px!important;font-weight:550!important;touch-action:manipulation}
body.v9-map-first #graphTrackList .graph-track-scales {display:flex;flex:none;gap:10px;align-items:center;overflow-x:auto;white-space:nowrap;min-height:20px;font-size:9px;color:var(--muted);scrollbar-width:thin}
body.v9-map-first #graphTrackList .graph-track-scales[hidden] {display:none!important}
body.v9-map-first #graphTrackList .graph-track-scales b {color:var(--ink);font-weight:550}
body.v9-map-first .graph-cursor-summary>span {max-width:none}
@media(min-width:900px) {
  body.v9-map-first #graphTrackList .graph-track {height:auto!important;min-height:max(198px,calc(var(--graph-readout-space,0px) + 78px))!important}
  body.v9-map-first #graphTrackList .graph-track-canvas {height:max(120px,var(--graph-readout-space,0px))!important;min-height:max(120px,var(--graph-readout-space,0px))!important}
  body.v9-map-first #graphTrackList .graph-track-canvas svg {height:100%!important}
}
@media(max-width:899px) {
  body.v9-map-first.layout-navigation-hidden #weatherGraphSystem:not(.dock-floating) {bottom:calc(env(safe-area-inset-bottom,0px) + var(--atlas-visual-bottom,0px))!important}
  body.v9-map-first #graphMobileHelp {display:none!important}
  body.v9-map-first #graphTrackList .graph-track-head {display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:28px 68px;height:100px!important;min-height:100px!important;gap:4px 6px;align-items:center!important}
  body.v9-map-first #graphTrackList .graph-track-title {display:block;grid-column:1;grid-row:1}
  body.v9-map-first #graphTrackList .graph-track-chips {grid-column:1/-1;grid-row:2;width:100%;height:68px}
  body.v9-map-first #graphTrackList .graph-station-chip {width:calc((100% - 6px)/2);max-width:182px;min-width:136px}
  body.v9-map-first #graphTrackList .graph-track-add {grid-column:2;grid-row:1;width:82px;height:28px;min-height:28px;justify-content:center;white-space:nowrap;font-size:10px}
  body.v9-map-first #graphTrackList .graph-track-remove {grid-column:3;grid-row:1;display:inline-flex!important;flex:none;width:28px;height:28px;min-height:28px;align-items:center;justify-content:center}
  body.v9-map-first #graphTrackList .graph-track {min-height:max(180px,calc(var(--graph-readout-space,0px) + 118px))!important}
  body.v9-map-first #graphTrackList .graph-track:only-child {height:100%!important;min-height:max(180px,calc(var(--graph-readout-space,0px) + 118px))!important;flex:1 0 auto!important}
  body.v9-map-first #graphTrackList .graph-track-canvas {flex:1 1 auto!important;height:auto!important;min-height:max(64px,var(--graph-readout-space,0px))!important;max-height:none!important}
  body.v9-map-first #graphTrackList .graph-track-canvas svg {height:100%!important}
}
/* Floating windows stay above the dock; long settings scroll within the panel. */
body.v9-map-first #appearancePanel {
  position:fixed!important;top:var(--floating-panel-top,80px)!important;bottom:auto!important;
  height:auto!important;max-height:var(--settings-panel-height,520px)!important;
  overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;
  scrollbar-color:var(--line) var(--panel-solid);
}
body.v9-map-first #appearancePanel>header {
  position:sticky;top:-1px;z-index:5;background:var(--panel-solid);padding-bottom:9px;
}
/* The original VÍ image has its own pan/zoom and optional independent clock. */
body.v9-map-first #officialPrecipViewer:not([hidden]) {
  position:fixed;inset:var(--reference-panel-top,134px) var(--reference-panel-right,74px) auto auto;z-index:90;
  display:flex!important;flex-direction:column;align-items:stretch;text-align:left;width:min(460px,calc(100vw - var(--reference-panel-right,74px) - 12px));
  max-height:var(--reference-panel-height,calc(100dvh - 250px));padding:12px;gap:8px;overflow:auto;pointer-events:auto;
  overscroll-behavior:contain;scrollbar-width:thin;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
  background:var(--panel-solid);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);
}
body.v9-map-first #officialPrecipViewer header {display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;font-size:12px}
body.v9-map-first #officialPrecipViewer header strong {font-weight:600}
body.v9-map-first #officialPrecipViewer button {min-width:36px;min-height:36px;background:var(--control);border:1px solid var(--line);border-radius:7px;color:var(--ink);font-size:20px}
body.v9-map-first #officialImageViewport {position:relative;flex:1 1 auto;width:100%;min-height:80px;height:min(310px,35dvh);overflow:hidden;touch-action:none;background:var(--bg);border-radius:5px;cursor:zoom-in}
body.v9-map-first #officialImageViewport.is-zoomed {cursor:grab}
body.v9-map-first #officialImageViewport.is-zoomed:active {cursor:grabbing}
body.v9-map-first #officialPrecipViewer img {display:block;width:100%;height:100%;max-width:none;object-fit:contain;transform-origin:center;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none}
body.v9-map-first #officialPrecipViewer [hidden] {display:none!important}
body.v9-map-first #officialPrecipViewer #retryOfficialVedur {align-self:flex-start;padding:6px 12px;font-size:12px}
body.v9-map-first #officialPrecipViewer p {position:static;transform:none;display:block;margin:0;padding:0;background:none;box-shadow:none;color:var(--muted);font-size:11px;font-weight:450;line-height:1.5;white-space:normal;max-width:none;overflow:visible}
body.v9-map-first #officialPrecipViewer .official-reference-toolbar {display:flex;flex:none;align-items:center;justify-content:space-between;gap:8px}
body.v9-map-first #officialPrecipViewer .official-reference-zoom {display:flex;gap:4px}
body.v9-map-first #officialPrecipViewer :is(#officialZoomReset,#officialIndependentTime) {padding:0 9px;font-size:11px;font-variant-numeric:tabular-nums}
body.v9-map-first #officialPrecipViewer #officialIndependentTime[aria-pressed="true"] {background:var(--accent-soft);border-color:var(--accent);color:#fff}
body.v9-map-first #officialPrecipViewer #officialIndependentTime::before {content:'○';margin-right:5px}
body.v9-map-first #officialPrecipViewer #officialIndependentTime[aria-pressed="true"]::before {content:'✓'}
body.v9-map-first #officialTimeline {flex:none;border-top:1px solid var(--line);padding-top:8px;color:#fff;font-size:11px}
body.v9-map-first #officialTimeLabel {display:block;text-align:center;font-variant-numeric:tabular-nums}
body.v9-map-first .official-reference-time-row {display:flex;align-items:center;gap:8px;margin-top:4px}
body.v9-map-first #officialTimeSlider {min-width:0;flex:1;accent-color:#fff;touch-action:none;user-select:none!important;-webkit-user-select:none!important}
body.v9-map-first .official-reference-time-ends {display:flex;justify-content:space-between;gap:8px;margin-top:5px;font-size:9px;color:var(--muted)}
@media(max-width:899px) {
  body.v9-map-first #officialImageViewport {height:min(260px,30dvh)}
  body.v9-map-first #officialPrecipViewer header strong {font-size:11px}
  body.v9-map-first #officialPrecipViewer {padding:9px!important;gap:6px!important}
}
/* The reconstructed image layer shares the neutral settings surface. */
.vi-image-note{margin:0 0 12px;padding:9px 10px;border:1px solid var(--neutral-border,#414a51);border-radius:8px;background:#252c32;color:#d8dfe4;font-size:11px;line-height:1.45}
/* Official station insight. The compass stays visible even without a reading. */
body.v9-map-first.official-data-only #weatherGraphSystem[data-dock-mode="collapsed"] {height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important}
body.v9-map-first.official-data-only #weatherGraphSystem .forecast-ribbon-wrap,
body.v9-map-first.official-data-only #weatherGraphSystem #timelineInsight {display:none!important}
body.v9-map-first.official-data-only #weatherGraphSystem .time-dock {flex:none!important;height:92px!important;min-height:92px!important}
body.v9-map-first.official-data-only #weatherGraphSystem .timeline-main {grid-template-rows:26px 58px!important}
body.v9-map-first .official-insight {--insight-accent:#b8d1d0;flex:none;min-width:0;width:100%;box-sizing:border-box;padding:7px 14px 5px;background:#1f2429;color:#f4f6f8;border-top:1px solid #414a51;font-variant-numeric:tabular-nums;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y}
body.v9-map-first .insight-controls {display:flex;align-items:center;gap:7px;min-width:0}
body.v9-map-first .insight-controls label {margin:0;min-width:0;display:block}
body.v9-map-first .insight-context {flex:1 1 170px;max-width:320px}
body.v9-map-first .insight-metric {flex:0 1 158px}
body.v9-map-first .insight-controls select {display:block;width:100%;min-width:0;max-width:100%;height:30px!important;min-height:30px!important;padding:3px 7px!important;background:#293137!important;color:#f4f6f8!important;border:1px solid #48535c!important;border-radius:6px!important;font:500 11px/1.2 system-ui;text-overflow:ellipsis;box-shadow:none!important}
body.v9-map-first .insight-sources {display:flex;gap:5px;margin-left:auto;flex:none}
body.v9-map-first .official-insight button {height:30px!important;min-height:30px!important;min-width:30px;padding:4px 8px!important;background:#293137!important;border:1px solid #48535c!important;border-radius:6px!important;color:#f4f6f8!important;font:500 10px/1.2 system-ui;box-shadow:none!important;touch-action:manipulation}
body.v9-map-first .insight-sources button[aria-pressed="false"] {color:#a5afb7!important;background:#1f2429!important;border-style:dashed!important}
body.v9-map-first .official-insight :is(button,select):focus-visible,
body.v9-map-first .insight-plot:focus-visible {outline:2px solid #c1d9dd;outline-offset:2px}
body.v9-map-first .insight-visual {display:grid;grid-template-columns:70px 122px minmax(0,1fr);gap:8px;align-items:center;padding-top:5px}
body.v9-map-first .insight-bearing {position:relative;text-align:center;align-self:start}
body.v9-map-first .insight-bearing svg {width:57px;height:54px;display:block;margin:0 auto;overflow:visible;fill:none;stroke:#55616a;stroke-width:1}
body.v9-map-first .insight-bearing text {font:9px system-ui;fill:#f4f6f8;stroke:none;text-anchor:middle}
body.v9-map-first .compass-cross {stroke:#38434b;stroke-dasharray:2 2}
body.v9-map-first #insightNeedle {stroke:var(--insight-accent);stroke-width:1.5}
body.v9-map-first #insightNeedle path:first-child {fill:var(--insight-accent);stroke:none}
body.v9-map-first .compass-pin {fill:#eff4f5;stroke:none}
body.v9-map-first .insight-bearing small {display:block;font:9px/1.3 system-ui;white-space:nowrap;color:#c8d2d9;margin-top:1px}
body.v9-map-first .insight-reading {align-self:center;min-width:0}
body.v9-map-first .insight-reading>small {display:block;font:9px/1.3 system-ui;color:#b3bfc8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.v9-map-first .insight-reading>div {display:flex;gap:5px;align-items:baseline;white-space:nowrap}
body.v9-map-first #insightValue {font:600 28px/1.25 system-ui;letter-spacing:-1px;color:#f8fafb}
body.v9-map-first #insightUnit {font-size:10px;color:#c4cfd6}
body.v9-map-first #insightKind {font-size:8px;letter-spacing:.5px}
body.v9-map-first .insight-trend {min-width:0;align-self:center}
body.v9-map-first .insight-meta {display:flex;align-items:center;justify-content:space-between;gap:9px;font:9px/1.4 system-ui;min-width:0;color:#c4cfd6}
body.v9-map-first #insightCoverage {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.v9-map-first #insightTime {white-space:nowrap;flex:none;color:#f4f6f8}
body.v9-map-first .insight-plot {height:58px;min-width:0;position:relative;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:4px}
body.v9-map-first .insight-plot svg {width:100%;height:100%;overflow:visible}
body.v9-map-first .insight-grid {fill:none;stroke:#414a51;stroke-width:.65}
body.v9-map-first .insight-line {fill:none;stroke:var(--insight-accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.v9-map-first .insight-line.forecast {stroke-dasharray:4 3}
body.v9-map-first .insight-point {fill:var(--insight-accent)}
body.v9-map-first .insight-vector {fill:none;stroke:var(--insight-accent);stroke-width:1.4}
body.v9-map-first .insight-axis {fill:#c4cfd6;font:9px system-ui}
body.v9-map-first .insight-empty {fill:#9faeb8;font:10px system-ui}
body.v9-map-first .insight-time-line {stroke:#edf3f6;stroke-width:1;stroke-dasharray:2 2}
body.v9-map-first .official-insight.is-hovering {--insight-accent:#d3e7e6}
body.v9-map-first .insight-details {margin-top:7px;border-top:1px solid #414a51;padding-top:7px;max-height:min(170px,24dvh);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
body.v9-map-first .insight-details[hidden] {display:none!important}
body.v9-map-first .insight-details p {font:10px/1.45 system-ui;color:#c4cfd6;margin:0 0 6px}
body.v9-map-first #insightStations {display:grid;grid-template-columns:1fr 1fr;gap:5px}
body.v9-map-first #insightStations button {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 8px;text-align:left;height:auto!important;min-height:39px!important}
body.v9-map-first #insightStations button span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.v9-map-first #insightStations button small {grid-column:1/-1;color:#adbcc5;font-size:9px}
body.v9-map-first .insight-links {display:flex;gap:15px;margin-top:8px!important}
body.v9-map-first .insight-links a {color:#d4e1e5!important}
@media(max-width:599px) {
  body.v9-map-first .official-insight {padding:6px 8px 5px}
  body.v9-map-first .insight-controls {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) 32px;gap:5px}
  body.v9-map-first .insight-controls select {font-size:10px;min-height:32px!important;height:32px!important}
  body.v9-map-first .insight-sources {grid-column:1/3;grid-row:2;justify-self:start;margin:0}
  body.v9-map-first .insight-sources button {height:25px!important;min-height:25px!important}
  body.v9-map-first #insightExpand {grid-column:3;grid-row:1}
  body.v9-map-first .insight-visual {grid-template-columns:56px 84px minmax(0,1fr);gap:5px;padding-top:2px}
  body.v9-map-first #insightValue {font-size:24px}
  body.v9-map-first .insight-meta {flex-wrap:wrap;gap:0;font-size:8px;line-height:1.3}
  body.v9-map-first #insightCoverage {flex-basis:100%}
  body.v9-map-first #insightTime {font-size:8px}
  body.v9-map-first .insight-reading>small {font-size:8px}
  body.v9-map-first .insight-bearing small {font-size:8px}
  body.v9-map-first #insightStations {grid-template-columns:1fr}
  body.v9-map-first.official-data-only #weatherGraphSystem .time-dock {height:84px!important;min-height:84px!important}
  body.v9-map-first.official-data-only #weatherGraphSystem .timeline-main {grid-template-rows:24px 52px!important}
}

/* Map detail and colour balance share the settings panel palette. */
body.v9-map-first .map-colour-balance {display:grid;gap:10px;margin:10px 0 12px}
body.v9-map-first .map-colour-balance .settings-opacity {margin:0}
body.v9-map-first .map-colour-balance small {color:var(--muted);font-size:10px;line-height:1.4}
body.v9-map-first .settings-opacity input {accent-color:var(--accent)}

/* Map space controls stay reachable when the rest of the chrome is folded. */
body.v9-map-first #mapLayoutBar {display:flex;flex:none;align-items:center;gap:5px;min-height:40px;padding:4px 10px;box-sizing:border-box;background:var(--panel-solid);border-bottom:1px solid var(--line);user-select:none;-webkit-user-select:none}
body.v9-map-first #mapLayoutBar button {min-width:0;min-height:32px;padding:5px 10px;border:1px solid var(--line);border-radius:6px;color:#f4f6f8;background:var(--control);font:500 11px/1.2 system-ui;white-space:nowrap;touch-action:manipulation}
body.v9-map-first #mapLayoutBar button i {font-style:normal;margin-left:5px;color:var(--muted)}
body.v9-map-first #mapLayoutBar button[aria-expanded=true] {background:var(--accent-soft);border-color:var(--accent)}
body.v9-map-first #layoutFocusToggle {margin-left:auto}
body.v9-map-first #layoutStationPanel {flex:none;padding:7px 12px;background:var(--panel-solid);border-bottom:1px solid var(--line)}
body.v9-map-first #layoutStationPanel .layer-bar-tools {display:block!important;width:100%;padding:0;margin:0;border:0;background:none;box-shadow:none}
body.v9-map-first #layoutStationPanel .station-mode-row {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
body.v9-map-first #layoutStationPanel .station-mode-row button {min-width:0;min-height:36px;padding:6px;border:1px solid var(--line);border-radius:6px;color:#fff;background:var(--control);font:500 11px system-ui}
body.v9-map-first #layoutStationPanel .station-mode-row button[aria-pressed=true] {background:var(--accent-soft);border-color:var(--accent)}
body.v9-map-first :is(#layoutStationPanel,#officialInsight)[hidden] {display:none!important}
body.v9-map-first #layoutMenu {position:fixed;inset:auto;margin:0;box-sizing:border-box;padding:10px;z-index:150;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:10px;background:var(--panel-solid);color:#f4f6f8;box-shadow:var(--shadow);font:12px system-ui}
body.v9-map-first #layoutMenu[hidden] {display:none!important}
body.v9-map-first #layoutMenu::backdrop {background:transparent;pointer-events:none}
body.v9-map-first #layoutMenu header {display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
body.v9-map-first #layoutMenu label {display:flex;align-items:center;gap:10px;min-height:38px;margin:0;cursor:pointer}
body.v9-map-first #layoutMenu input {width:17px;height:17px;accent-color:var(--accent)}
body.v9-map-first #layoutMenu button {min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--control);color:#fff;font:11px system-ui}
body.v9-map-first #closeLayoutMenu {min-width:34px;font-size:18px}
body.v9-map-first #layoutMenu>button {width:100%;margin-top:6px}
body.v9-map-first :is(#mapLayoutBar,#layoutMenu) :is(button,input):focus-visible {outline:2px solid var(--accent);outline-offset:2px}
body.v9-map-first.layout-ready .primary-rail-hint {display:none!important}
body.v9-map-first.layout-layers-hidden .layer-rail,
body.v9-map-first.layout-timeline-hidden #timeDock,
body.v9-map-first.layout-navigation-hidden #phoneTabs {display:none!important}
body.v9-map-first.layout-map-only :is(.layer-rail,.topbar,.managed-panel,#officialPrecipViewer,#graphPanel,#dockLead,#graphDockHandle,#graphSelectedValues,.route-tools,.route-readout,.route-more-menu,.climate-legend,#surfaceFrameTrust) {display:none!important}
body.v9-map-first.layout-map-only #weatherGraphSystem {position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:calc(env(safe-area-inset-bottom,0px) + var(--atlas-visual-bottom,0px))!important;transform:none!important;width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;display:flex!important;flex-direction:column!important;border-radius:0!important}
body.v9-map-first.layout-map-only #mapLayoutBar {border-bottom:0}
body.v9-map-first.layout-auto-fit .managed-panel:not([hidden]) {max-width:calc(100vw - 16px)!important;max-height:var(--managed-panel-height,calc(var(--atlas-visual-height,100dvh) - 24px))!important;overflow-y:auto!important;overscroll-behavior:contain}
body.v9-map-first.layout-auto-fit dialog.managed-panel {max-height:calc(var(--atlas-visual-height,100dvh) - 24px)!important}
body.v9-map-first .layout-fit-setting {margin:0 0 10px}
body.v9-map-first #appearancePanel {scroll-padding-top:64px;scroll-padding-bottom:12px}
body.v9-map-first .reference-header-actions {display:flex;flex:none;gap:5px}
body.v9-map-first #officialPrecipViewer.reference-collapsed {overflow:hidden;min-height:0!important;height:auto!important}
body.v9-map-first #officialPrecipViewer.reference-collapsed>:not(header) {display:none!important}
body.v9-map-first #officialImageViewport {flex:0 1 auto;min-height:80px;isolation:isolate}
/* Explicit fitted pixels prevent flexbox from clipping a width-sized image in a short viewport. */
body.v9-map-first #officialPrecipViewer #officialPrecipImage {position:absolute;display:block;min-width:0;min-height:0;max-width:none;max-height:none;object-fit:contain;object-position:center;margin:0;transform-origin:center}
/* In a short landscape window keep the whole image beside its controls. */
body.v9-map-first #officialPrecipViewer.reference-short:not(.reference-collapsed):not([hidden]) {display:grid!important;grid-template-columns:minmax(0,1fr) 184px;grid-template-rows:28px 28px minmax(0,1fr);height:var(--reference-panel-height);padding:6px!important;gap:4px!important;overflow:hidden;box-sizing:border-box}
body.v9-map-first #officialPrecipViewer.reference-short header {grid-column:1/-1;grid-row:1;font-size:10px}
body.v9-map-first #officialPrecipViewer.reference-short button {min-width:28px;min-height:28px;height:28px}
body.v9-map-first #officialPrecipViewer.reference-short .official-reference-toolbar {grid-column:2;grid-row:2;gap:4px}
body.v9-map-first #officialPrecipViewer.reference-short #officialImageViewport {grid-column:1;grid-row:2/4;width:100%;height:100%;min-height:0}
body.v9-map-first #officialPrecipViewer.reference-short #officialTimeline {grid-column:2;grid-row:3;padding:0;border:0;overflow-y:auto}
body.v9-map-first #officialPrecipViewer.reference-short #officialTimeLabel {font-size:9px;line-height:10px}
body.v9-map-first #officialPrecipViewer.reference-short .official-reference-time-row {margin:0;gap:4px}
body.v9-map-first #officialPrecipViewer.reference-short :is(#officialTimeMode,#officialPrecipCaption,.official-reference-time-ends) {display:none}
body.v9-map-first #officialPrecipViewer.reference-short #retryOfficialVedur {grid-column:1;grid-row:3;z-index:1;font-size:10px}
@media(max-width:899px) {
  body.v9-map-first.layout-ready .layer-rail {padding:5px 7px!important;gap:0!important;border-radius:12px!important}
  body.v9-map-first #mapLayoutBar {padding:3px 7px;gap:4px;min-height:42px}
  body.v9-map-first #mapLayoutBar button {min-height:36px;padding:5px 7px;font-size:10px}
  body.v9-map-first #mapLayoutBar button i {margin-left:2px}
  body.v9-map-first #layoutStationPanel {padding:5px 8px}
  body.v9-map-first.layout-map-only .maplibregl-ctrl-top-right {top:12px!important;bottom:auto!important}
}
@media(max-width:359px) {
  body.v9-map-first #mapLayoutBar {gap:3px;padding:3px 5px}
  body.v9-map-first #mapLayoutBar button {padding:4px 5px;font-size:9px}
}
@media(max-height:480px) {
  body.v9-map-first #appearancePanel {padding:6px!important;scroll-padding-top:38px;scroll-padding-bottom:6px}
  body.v9-map-first #appearancePanel>header {min-height:28px;padding-bottom:4px}
  body.v9-map-first #appearancePanel>header small {display:none}
  body.v9-map-first #appearancePanel>header b {font-size:11px}
  body.v9-map-first #appearancePanel .appearance-header-actions button {width:28px;min-width:28px;height:28px;min-height:28px}
}
