/* Unique 3D clone ID retains the existing development.css panel typography. */
#map-racer-detail-3d { font-size:12px; }
div#map-racer-detail-3d div.map-detail-racer-basic-info,
div#map-racer-detail-3d div.map-detail-details,
div#map-racer-detail-3d div.map-detail-racer-personal-info { display:block; margin:6px 0; font-size:10px; line-height:1.3; }
@media (min-width:768px) {
  #map-racer-detail-3d { font-size:15px; }
  div#map-racer-detail-3d div.map-detail-racer-basic-info,
  div#map-racer-detail-3d div.map-detail-details,
  div#map-racer-detail-3d div.map-detail-racer-personal-info { font-size:12px; }
}
/* Checkpoint text must not hide the half-white icon interior.
   This viewer stylesheet already uses content-hash cache versions. */
div.map-checkpoint-label { background-color:transparent; }
/* Isolated weather styles: never change the existing sidebar/panel layout. */
/* Keep weather below MAIN's z-index:2 racer/sidebar controls. */
#windy.followme-windy-map { position:absolute; inset:0; width:100%; height:100%; z-index:1; isolation:isolate; }
#windy.followme-windy-map[hidden] { display:none !important; }
/* MAIN places basemap/3D/weather outside the z-index:5 toolbar. */
.followme-weather-active > .bkgr-select-wrapper { z-index:3; }
.weather-now-btn { cursor:pointer; border:0; background:#fff; color:#222; padding:8px; font:inherit; }
.weather-now-btn[aria-pressed="true"] { background:#ef7d00; color:#222; }
/* Override MAIN's near-white .ctrls-group .btn focus text only for weather. */
.ctrls-group .btn.weather-now-btn,
.ctrls-group .btn.weather-now-btn:hover,
.ctrls-group .btn.weather-now-btn:focus,
.mobile-map-tools .weather-now-btn { color:#222; }
.weather-now-btn:focus-visible { outline:3px solid #145db1; outline-offset:2px; }
#weather-now-panel { position:fixed; left:10px; bottom:72px; width:570px; max-width:calc(100vw - 20px); padding:6px 10px; background:#fff; color:#222; z-index:20; font:12px/1.4 Arial,sans-serif; box-shadow:0 1px 5px #777; box-sizing:border-box; }
#weather-now-panel[hidden], .weather-layer-row[hidden], #weather-now-status[hidden] { display:none !important; }
/* Old cached JS still uses the standalone status during asset rollout. */
#weather-now-status { position:fixed; left:10px; bottom:72px; max-width:calc(100vw - 20px); padding:6px 10px; background:#fff; color:#222; z-index:20; font-size:12px; box-shadow:0 1px 5px #777; }
#weather-now-panel #weather-now-status { display:block; position:static; margin-top:4px; padding:0; max-width:none; box-shadow:none; overflow-wrap:anywhere; }
.weather-layer-row { display:flex; flex-wrap:wrap; gap:4px 8px; align-items:center; }
.weather-layer-row label { margin:0; font-weight:bold; }
#weather-layer-select { flex:1; min-width:0; max-width:100%; min-height:36px; background:#fff; color:#222; border:1px solid #777; border-radius:4px; font:inherit; }
#weather-layer-select:focus-visible { outline:3px solid #145db1; outline-offset:1px; }
#weather-layer-help { display:block; color:#444; font-size:11px; }
.weather-time-details summary { cursor:pointer; padding-top:4px; }
.weather-time-details summary:focus-visible { outline:3px solid #145db1; }
.followme-weather-detail { position:absolute !important; top:var(--weather-detail-top,0px) !important; left:var(--weather-detail-left,0px) !important; right:auto !important; bottom:auto !important; z-index:4 !important; max-width:min(300px,calc(100% - 16px)); max-height:var(--weather-detail-maxheight,calc(100% - 16px)); overflow:auto; }
.followme-weather-detail.followme-weather-unanchored { visibility:hidden !important; }
.followme-weather-group-open .followme-weather-detail { visibility:hidden !important; }
.followme-weather-detail .map-details-popup-inner-wrapper { transform:none !important; }
.followme-weather-detail .close-map-racer-detail { min-width:32px; min-height:32px; cursor:pointer; }
.followme-weather-racer { position:relative; width:42px; height:34px; }
.followme-weather-racer img { width:42px; height:34px; max-width:none; }
.followme-weather-racer span { position:absolute; left:0; top:3px; width:42px; text-align:center; font:bold 12px/20px Arial,sans-serif; }
.followme-weather-racer.selected { filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 2px #000); }
.followme-weather-checkpoint { width:32px; height:32px; background:transparent; border:1px solid #333; border-radius:50%; position:relative; text-align:center; color:#111; font:bold 12px/28px sans-serif; }
.followme-weather-checkpoint img { width:32px; height:32px; position:absolute; inset:-1px; max-width:none; }
/* The original start/finish PNG is a filled disc: enlarge the white numeral
   badge too, otherwise a 9px-looking black ring survives a CSS border fix. */
.followme-weather-checkpoint span { position:relative; background:transparent; border-radius:50%; padding:0; display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; box-sizing:border-box; vertical-align:middle; line-height:normal; }
.followme-weather-checkpoint.selected { outline:3px solid #ef7d00; }
.followme-weather-choices { width:220px; max-height:260px; overflow:auto; }
.followme-weather-choices button { display:block; width:100%; min-height:36px; text-align:left; background:#fff; color:#222; border:1px solid #ddd; cursor:pointer; }
.followme-weather-choices button[aria-current="true"] { border-left:5px solid #ef7d00; font-weight:bold; }
.followme-weather-choices button:focus-visible { outline:3px solid #145db1; outline-offset:-3px; }
.followme-weather-choices button:disabled { opacity:.5; cursor:default; }
#windy.followme-windy-map .followme-weather-zoom { display:block !important; position:absolute; top:125px; left:12px; margin:0; z-index:1000; }
#windy.followme-windy-map .followme-weather-zoom a,
#windy.followme-windy-map .followme-weather-zoom a:hover,
#windy.followme-windy-map .followme-weather-zoom a:active,
#windy.followme-windy-map .followme-weather-zoom a:focus { display:block !important; width:40px !important; height:40px !important; line-height:40px !important; padding:0 !important; margin:0 !important; transform:none !important; font:26px/40px 'Lucida Console',Monaco,monospace !important; background:#fff; color:#222; text-align:center; box-sizing:border-box; }
#windy.followme-windy-map .followme-weather-zoom a:hover { background:#f4f4f4; }
#windy.followme-windy-map .followme-weather-zoom a:active { background:#e8e8e8; }
#windy.followme-windy-map .followme-weather-zoom a:focus-visible { outline:3px solid #145db1; outline-offset:2px; }
/* Current-weather mode intentionally has no forecast/replay time control. Keep attribution. */
#windy.followme-windy-map #progress-bar { display:none !important; }
@media (max-width:767px) {
  /* Below the existing left tool stack; above the mobile sidebar only for the anchored detail. */
  #windy.followme-windy-map .followme-weather-zoom { top:310px; }
  .followme-weather-detail { z-index:14 !important; }
  /* Keep provider attribution/units clear of MAIN's navigation/replay bars. */
  #windy.followme-windy-map #logo-wrapper { top:50px; }
  #windy.followme-windy-map #legend-mobile { bottom:45px; }
  .weather-now-desktop { display:none !important; } .weather-now-mobile-label { display:none; } .weather-now-mobile { min-width:36px; min-height:36px; }
}
