/* ---------- v7: sharp corners everywhere ---------- */
*, *::before, *::after { border-radius: 0 !important; }
input[type="range"]::-webkit-slider-thumb { border-radius: 0 !important; }
input[type="range"]::-moz-range-thumb { border-radius: 0 !important; }

/* ---------- v7: smaller, lighter play button ---------- */
.play-btn { width: 24px !important; height: 24px !important; flex: 0 0 24px !important;
  font-size: 9px !important; background: #CB767C !important; }
.play-btn:hover { background: #B85A61 !important; }

/* ---------- v7: theme toggle + brand link ---------- */
.brand { text-decoration: none; color: inherit; cursor: pointer; }
.theme-toggle { margin-left: 14px; font-family: var(--sans); font-size: 12px; letter-spacing: .06em;
  padding: 5px 10px; background: transparent; color: var(--ink); border: 1px solid var(--line);
  cursor: pointer; flex: 0 0 auto; }
.theme-toggle:hover { border-color: var(--brick); color: var(--brick); }

/* ---------- v7: region / county name labels on the map ---------- */
.region-label { font-family: var(--serif); font-size: 12.5px; font-weight: 600; letter-spacing: .1em;
  color: #4A4234; white-space: nowrap; pointer-events: none; display: none;
  text-shadow: 0 0 5px rgba(245,242,234,.95), 0 0 3px rgba(245,242,234,.95), 0 0 9px rgba(245,242,234,.85); }
.county-label { font-family: var(--sans); font-size: 10.5px; letter-spacing: .05em;
  color: #5A5344; white-space: nowrap; pointer-events: none; display: none;
  text-shadow: 0 0 5px rgba(245,242,234,.95), 0 0 3px rgba(245,242,234,.9); }
#map-wrap.show-rlab .region-label { display: block; }
#map-wrap.show-clab .county-label { display: block; }

/* ---------- v7: dark tech theme ---------- */
body.theme-dark { --paper: #0A0F14; --ink: #D7E3EA; --muted: #8299A6; --line: #24363F;
  background: #0A0F14; color: #D7E3EA; }
body.theme-dark .site-header { background: #0D141B; border-bottom-color: #22333E; }
body.theme-dark .brand-sub { color: #7E94A2; }
body.theme-dark .brand-name span { color: #E06A72; }
body.theme-dark .site-nav a { color: #A9BEC9; }
body.theme-dark .site-nav a.active, body.theme-dark .site-nav a.cur { color: #FFFFFF; }
body.theme-dark .theme-toggle { border-color: #2A3F4C; color: #C9D6DE; }
body.theme-dark .theme-toggle:hover { border-color: #E06A72; color: #E06A72; }
body.theme-dark .glass { background: rgba(10,17,23,.86); border-color: rgba(120,170,190,.30);
  color: #D7E3EA; box-shadow: 0 10px 30px rgba(0,0,0,.45); }
body.theme-dark .panel h2 .en, body.theme-dark .snapshot-note, body.theme-dark .tl-note,
body.theme-dark .tl-hint, body.theme-dark .layer-meta small, body.theme-dark .dossier-rows dt { color: #8299A6; }
body.theme-dark .search-box input { background: rgba(16,26,34,.92); color: #D7E3EA; border-color: #2A3F4C; }
body.theme-dark .legend { color: #B9CBD4; border-top-color: #22333E; }
body.theme-dark .dossier-kicker { color: #E06A72; }
body.theme-dark .dossier { border-color: rgba(120,170,190,.30); }
body.theme-dark .crumbs .sep { color: #5F7684; }
body.theme-dark .crumbs button { color: #C9D6DE; }
body.theme-dark .city-label { background: rgba(10,18,24,.9); color: #D7E3EA;
  border: 1px solid rgba(120,170,190,.35); box-shadow: 0 3px 10px rgba(0,0,0,.5); }
body.theme-dark .city-label b { color: #6FC3DF; }
body.theme-dark .region-label { color: #C7D8E0;
  text-shadow: 0 0 5px rgba(10,15,20,.95), 0 0 3px rgba(10,15,20,.95), 0 0 9px rgba(10,15,20,.85); }
body.theme-dark .county-label { color: #93A9B5;
  text-shadow: 0 0 5px rgba(10,15,20,.95), 0 0 3px rgba(10,15,20,.9); }
body.theme-dark .map-tip { background: rgba(8,14,19,.93); color: #D7E3EA; }
body.theme-dark .maplibregl-popup-content { background: #0E161D; color: #D7E3EA;
  box-shadow: 0 8px 24px rgba(0,0,0,.55); }
body.theme-dark .pp-sub { color: #93A9B5; }
body.theme-dark .maplibregl-ctrl-group { background: rgba(10,17,23,.86) !important;
  border: 1px solid rgba(120,170,190,.30); }
body.theme-dark .maplibregl-ctrl-group button { background: transparent !important; }
body.theme-dark .maplibregl-ctrl-group button span { filter: invert(.85); }
body.theme-dark .maplibregl-ctrl-scale { background: rgba(10,17,23,.72); color: #B9CBD4;
  border-color: #3A4F5C; }
body.theme-dark .maplibregl-ctrl-attrib { background: rgba(10,17,23,.72) !important; color: #7E94A2; }
body.theme-dark .maplibregl-ctrl-attrib a { color: #9FB4C0; }
body.theme-dark .tl-year { color: #8FD8F2; }
body.theme-dark .tl-coords { color: #6FC3DF; }
body.theme-dark .switch span { background: #2A3F4C; }
body.theme-dark .bawrap p, body.theme-dark .lead-ul li { color: #C2D2DB; }
body.theme-dark .bawrap p strong, body.theme-dark .bawrap li strong { color: #EAF1F5; }
body.theme-dark .lede { color: #8299A6; }
body.theme-dark .doc-rule { border-top-color: #2A3F4C; }
body.theme-dark .doc-footer { border-top-color: #2A3F4C; }
body.theme-dark .doc-footer .brand-line { color: #D7E3EA; }
body.theme-dark .doc-footer a { color: #8299A6; }

/* v7.1: outrank earlier !important radius rules */
.maplibregl-ctrl-group, .maplibregl-ctrl-group button, .maplibregl-popup-content,
.maplibregl-ctrl-scale, .glass, .panel, .dossier, .timeline, .crumbs { border-radius: 0 !important; }

