@font-face{font-family:'Bebas Neue';src:url('../fonts/BebasNeue-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Rajdhani';src:url('../fonts/Rajdhani-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Rajdhani';src:url('../fonts/Rajdhani-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{
  --bg:#07111a;
  --panel:#0d1e2a;
  --panel2:#132b3a;
  --paper:#e8f1f5;
  --paper2:#cddde5;
  --ink:#06131d;
  --text:#e9f7ff;
  --muted:#99b6c7;
  --line:#27495b;
  --line2:#5d8498;
  --accent:#15b8ff;
  --accent2:#12d18e;
  --blue:#4fc3ff;
  --yellow:#ffe100;
  --orange:#ff9d00;
  --red:#e30022;
  --violet:#b200ff;
  --ok:#8fb7aa;
  --shadow:#02080d;
}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.35}
.app{position:relative;width:min(1180px,100%);margin:0 auto;padding:18px 14px 24px}
.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;border-left:8px solid var(--accent);padding-left:12px}
.kicker{margin:0 0 5px;color:var(--accent);font:800 11px/1.1 "Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em}
h1{margin:0;font-size:clamp(32px,7vw,56px);line-height:.95;letter-spacing:-.055em;color:var(--text);font-weight:900}
.claim{margin:9px 0 0;color:var(--muted);font-size:15px;font-weight:800}.admin-link{display:inline-block;border:2px solid var(--line2);background:var(--panel2);color:var(--text);padding:9px 13px;text-decoration:none;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.04em}.admin-link:hover{border-color:var(--accent);color:var(--accent)}
.search-card,.weather-app-card,.map-card,.info-panel{border:2px solid var(--line);background:var(--panel);box-shadow:8px 8px 0 var(--shadow)}
.search-card{padding:14px;margin-bottom:16px}.search-form label,.subscribe-form label{display:grid;gap:7px;color:var(--text);font-size:13px;font-weight:900}.search-row{display:grid;grid-template-columns:1fr 126px;gap:10px}input,select{width:100%;border:2px solid var(--line);background:#04101a;color:var(--text);padding:13px 12px;font:800 16px/1.1 Arial,Helvetica,sans-serif;outline:none;appearance:none}input::placeholder{color:#6f8a9a}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(21,184,255,.22)}button,.btn{border:2px solid #02080d;background:var(--accent);color:#02080d;padding:13px 14px;font:900 15px/1 Arial,Helvetica,sans-serif;cursor:pointer;text-decoration:none;text-align:center;text-transform:none;box-shadow:3px 3px 0 #000}button:active,.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #000}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.quick-actions button,.map-back{background:var(--panel2);color:var(--text);border-color:var(--line2)}.updated{margin:12px 0 0;color:var(--muted);font-size:13px}.updated strong{color:var(--text)}
.weather-app-card{padding:14px;margin-bottom:16px;background:var(--paper);color:var(--ink);border-color:#6a8798}.weather-app-card .kicker{color:#006fa3}.weather-now{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.weather-icon{width:68px;height:68px;border:3px solid #06131d;background:#d9f5ff;color:#06131d;display:grid;place-items:center;font-size:38px}.weather-now-main h2{margin:0;font-size:27px;line-height:1;letter-spacing:-.035em;color:var(--ink)}.weather-now-main p:last-child{margin:6px 0 0;color:#37505d;font-weight:900}.weather-temp{font-size:38px;line-height:1;font-weight:950;letter-spacing:-.05em;color:#06131d;white-space:nowrap}.weather-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.weather-mini-grid div{border:2px solid #6a8798;background:#f4fbff;padding:10px}.weather-mini-grid span{display:block;color:#42606f;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.weather-mini-grid strong{display:block;margin-top:3px;font-size:16px;color:#06131d}.forecast-toggle{margin-top:10px;border:2px solid #6a8798;background:#f4fbff;overflow:hidden}.forecast-toggle summary{cursor:pointer;padding:12px 13px;font-weight:950;color:#06131d;list-style:none}.forecast-toggle summary::-webkit-details-marker{display:none}.forecast-toggle summary:after{content:'+';float:right;color:#06131d;font-weight:950}.forecast-toggle[open] summary:after{content:'–'}.hourly-strip,.daily-strip{display:flex;gap:9px;overflow-x:auto;padding:0 12px 12px;scroll-snap-type:x proximity}.hour-card,.day-card{scroll-snap-align:start;min-width:104px;border:2px solid #6a8798;background:#dbeaf1;padding:10px;color:#06131d}.day-card{min-width:142px}.hour-card strong,.day-card strong{display:block;font-size:13px}.hour-card em,.day-card em{display:block;font-style:normal;font-size:29px;line-height:1.25}.hour-card span,.day-card span{display:block;font-weight:950}.hour-card small,.day-card small{display:block;margin-top:2px;color:#42606f;font-size:11px;line-height:1.25;font-weight:800}

/* Lokale Leaflet-Basisregeln: Die Karte bleibt funktionsfähig, auch wenn das CDN-Stylesheet blockiert wird. */
.leaflet-container{overflow:hidden;position:relative;outline:0;touch-action:none;-webkit-tap-highlight-color:transparent}
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane > svg,.leaflet-pane > canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}
.leaflet-map-pane,.leaflet-marker-pane,.leaflet-shadow-pane,.leaflet-tile-pane,.leaflet-overlay-pane,.leaflet-tooltip-pane,.leaflet-popup-pane{position:absolute;left:0;top:0}
.leaflet-pane > svg{width:100%;height:100%;pointer-events:none}
.leaflet-pane > canvas{width:100%;height:100%}
.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{user-select:none;-webkit-user-drag:none}
.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}
.leaflet-marker-icon,.leaflet-marker-shadow{display:block}
.leaflet-clickable,.leaflet-interactive{cursor:pointer;pointer-events:auto}
.leaflet-grab{cursor:grab}.leaflet-dragging .leaflet-grab{cursor:move;cursor:grabbing}
.leaflet-control{position:relative;z-index:800;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}
.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 22px/30px Arial,Helvetica,sans-serif;text-indent:0;text-align:center;text-decoration:none;display:block;width:32px;height:32px}
.leaflet-control-zoom-out{font-size:24px}.leaflet-control a{cursor:pointer}
.leaflet-tooltip{position:absolute;pointer-events:none;white-space:nowrap;z-index:650}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{display:none}
.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left}.leaflet-popup-content{margin:12px 16px;line-height:1.35}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;transform:rotate(45deg)}
.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}

.main-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);gap:16px}.map-card{position:relative;overflow:hidden;padding:0;background:#05101a}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:2px solid var(--line);background:#0a1823}.map-toolbar strong{display:block;font-size:16px;line-height:1.05;color:var(--text)}.map-card #map{height:min(62vh,660px);min-height:430px;width:100%;background:#06131d;touch-action:pan-x pan-y pinch-zoom;cursor:grab}.map-card #map:active{cursor:grabbing}.leaflet-container{background:#06131d}.leaflet-control-zoom a{background:#e8f1f5!important;color:#06131d!important;border-bottom:2px solid #06131d!important}.leaflet-control-zoom{border:2px solid #06131d!important;box-shadow:4px 4px 0 #000}.leaflet-interactive{transition:fill-opacity .12s ease,stroke-width .12s ease}.leaflet-interactive:hover{fill-opacity:.94!important;stroke-width:2.4!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#e8f1f5;color:#06131d;border:2px solid #06131d;border-radius:0}.leaflet-tooltip{background:#e8f1f5;color:#06131d;border:2px solid #06131d;border-radius:0;font-weight:900;box-shadow:3px 3px 0 #000}.leaflet-marker-icon{filter:drop-shadow(3px 3px 0 #000)}.place-label{background:#07111a;color:#d9f5ff;border:2px solid #5d8498;border-radius:0;box-shadow:2px 2px 0 #000;font-size:11px;font-weight:950;padding:2px 5px;text-transform:none}.area-label{background:rgba(232,241,245,.92);color:#06131d;border:2px solid #06131d;border-radius:0;box-shadow:3px 3px 0 rgba(0,0,0,.85);font-weight:950;text-align:center;letter-spacing:.015em;text-transform:none;padding:3px 7px}.state-label{font-size:13px}.district-label{font-size:11px;padding:2px 5px}.map-legend{display:flex;flex-wrap:wrap;gap:6px;margin:10px;border:2px solid var(--line);background:#0a1823;padding:8px;font-size:11px;font-weight:900;color:var(--text)}.map-legend span{display:inline-flex;align-items:center;gap:5px}.map-legend i{width:14px;height:14px;display:inline-block;border:2px solid #02080d}.map-legend .l0{background:var(--ok)}.map-legend .l1{background:var(--yellow)}.map-legend .l2{background:var(--orange)}.map-legend .l3{background:var(--red)}.map-legend .l4{background:var(--violet)}.map-hint{margin:0 10px 10px;padding:9px 10px;border:2px solid var(--line);background:#0a1823;color:#c9e5f2;font-size:12px;font-weight:900}.area-search{display:block;width:calc(100% - 20px);margin:0 10px 10px;border:2px solid var(--line2);background:#0a1823;color:var(--text);padding:10px 12px;font-weight:950;border-radius:0}.area-search::placeholder{color:#7fa3b3}.area-search[hidden]{display:none!important}.area-list{display:flex;flex-wrap:wrap;gap:8px;overflow:visible;padding:0 10px 12px;scroll-snap-type:none}.area-chip{flex:0 1 auto;border:2px solid var(--line2);background:#132b3a;color:var(--text);padding:9px 12px;font-size:12px;font-weight:950;box-shadow:none}.area-chip span{color:#06131d;background:#e8f1f5;padding:2px 5px;margin-left:5px;font-size:10px}.area-empty{margin:0;color:#c9e5f2;font-weight:900;border:2px solid var(--line);padding:10px;background:#0a1823}.area-chip.level-0{border-color:#5d8498}.area-chip.level-1{border-color:var(--yellow)}.area-chip.level-2{border-color:var(--orange)}.area-chip.level-3{border-color:var(--red)}.area-chip.level-4{border-color:var(--violet)}
.info-panel{padding:14px;align-self:start;background:var(--paper);border-color:#6a8798;color:var(--ink)}.info-panel .kicker{color:#006fa3}.panel-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.panel-head h2{margin:0;font-size:25px;line-height:1;letter-spacing:-.035em;color:#06131d}.warn-badge{display:inline-flex;align-items:center;justify-content:center;border:2px solid #06131d;padding:7px 9px;font-size:10px;font-weight:950;text-transform:uppercase;white-space:nowrap;background:#d9e8e1;color:#06131d}.warn-badge.level-1{background:rgba(255,225,0,.55);color:#3b2e00}.warn-badge.level-2{background:rgba(255,157,0,.55);color:#3a2100}.warn-badge.level-3{background:rgba(227,0,34,.22);color:#5f0808}.warn-badge.level-4{background:rgba(178,0,255,.22);color:#41005f}.weather-box{margin-top:13px;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.weather-box.empty{display:block;color:#48616e;border:2px dashed #6a8798;background:#f4fbff;padding:16px}.metric{border:2px solid #6a8798;background:#f4fbff;padding:12px}.metric span{display:block;color:#42606f;font-size:12px;font-weight:900;text-transform:uppercase}.metric strong{display:block;font-size:22px;margin-top:3px;color:#06131d}.warnings-box{margin-top:13px;display:grid;gap:10px}.warning-card{border:2px solid #6a8798;border-left:8px solid #8fb7aa;background:#f4fbff;padding:13px;color:#06131d}.warning-card.level-1{border-left-color:var(--yellow)}.warning-card.level-2{border-left-color:var(--orange)}.warning-card.level-3{border-left-color:var(--red)}.warning-card.level-4{border-left-color:var(--violet)}.warning-card h3{margin:4px 0 6px;font-size:18px}.warning-card p{margin:5px 0;color:#162e3d;font-size:13px;line-height:1.4}.subscribe-form{margin-top:16px;border-top:2px solid #6a8798;padding-top:14px;display:grid;gap:10px}.subscribe-form h3{margin:0;font-size:20px;color:#06131d}.subscribe-form label{color:#06131d}.subscribe-form input,.subscribe-form select{background:#f4fbff;color:#06131d;border-color:#6a8798}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.check{grid-template-columns:auto 1fr!important;align-items:start;font-weight:800!important;color:#162e3d!important}.check input{width:auto;margin-top:3px}.subscribe-form button{background:var(--accent2);color:#06131d}
.site-footer{display:flex;flex-direction:column;align-items:center;gap:9px;margin:20px 0 0;color:var(--muted);font-size:13px}.support-line{margin:0;color:#c9e5f2;text-align:center;font-weight:900}.footer-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.site-footer a{color:#06131d;text-decoration:none;border:2px solid #06131d;background:var(--paper);padding:8px 10px;font-weight:900;box-shadow:3px 3px 0 #000}.site-footer a:hover{background:var(--accent)}.toast{position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;background:var(--paper);border:2px solid #06131d;color:#06131d;padding:13px 14px;box-shadow:6px 6px 0 #000;font-weight:900}.toast.err{border-color:var(--red)}
.legal{max-width:880px;margin:0 auto;padding:20px 0}.legal-card{background:var(--paper);border:2px solid #6a8798;color:#06131d;padding:20px;line-height:1.6;box-shadow:8px 8px 0 var(--shadow)}.legal-card h1,.legal-card h2{letter-spacing:-.035em;color:#06131d}.legal-card a{color:#006fa3;font-weight:900}
@media(max-width:920px){.app{padding-left:10px;padding-right:10px}.topbar{padding-top:8px}.main-grid{grid-template-columns:1fr}.map-card #map{height:54vh;min-height:370px}.info-panel{order:2}.weather-box{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row{grid-template-columns:1fr}.panel-head{position:relative}.warn-badge{font-size:10px;padding:7px 8px}.search-row{grid-template-columns:1fr}.search-row button{width:100%}.weather-now{grid-template-columns:auto 1fr}.weather-temp{grid-column:1/-1;font-size:42px}.weather-mini-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.app{padding:10px 8px 18px}.topbar{border-left-width:6px}.admin-link{padding:8px 10px;font-size:11px}h1{font-size:34px}.claim{font-size:13px}.search-card,.weather-app-card,.map-card,.info-panel{box-shadow:5px 5px 0 var(--shadow)}.quick-actions{grid-template-columns:1fr}.weather-icon{width:58px;height:58px;font-size:32px}.weather-now-main h2{font-size:21px}.weather-mini-grid{grid-template-columns:1fr 1fr}.hour-card{min-width:96px}.day-card{min-width:132px}.map-toolbar{padding:9px 10px}.map-card #map{height:50vh;min-height:330px}.map-legend{font-size:10px;gap:5px}.map-toolbar strong{font-size:14px}.weather-box{grid-template-columns:1fr}.footer-buttons{gap:7px}.site-footer a{padding:7px 8px}.area-chip{font-size:11px;padding:8px 10px}}

.weather-note{
  grid-column:1/-1;
  border:1px solid #6a4c00;
  background:#1f1804;
  color:#ffdc7a;
  padding:8px 10px;
  font-size:13px;
  font-weight:800;
}
.error-detail details{margin-top:10px}
.error-detail summary{cursor:pointer;font-weight:900;color:#00b7ff}
.error-detail textarea{
  margin-top:8px;
  width:100%;
  min-height:150px;
  resize:vertical;
  background:#071018;
  color:#d9f2ff;
  border:1px solid #355466;
  padding:10px;
  font-family:ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size:12px;
  box-sizing:border-box;
}
.warning-meta{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#7b96a5;
  font-weight:900;
}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}
.panel-actions{display:grid;gap:7px;justify-items:end;align-items:start}
.share-btn{padding:8px 9px;font-size:11px;background:#d9f5ff;color:#06131d;border-color:#06131d;white-space:nowrap}
.quick-actions{grid-template-columns:repeat(3,1fr)}
@media(max-width:920px){.quick-actions{grid-template-columns:1fr}.panel-head{gap:8px}.panel-actions{justify-items:start}.share-btn{width:100%}}

.radar-card{
  margin:16px 0;
  background:#07131d;
  border:2px solid #6a8798;
  box-shadow:8px 8px 0 var(--shadow);
  color:#d9f5ff;
  overflow:hidden;
}
.radar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:2px solid #6a8798;
  background:#0b1e2b;
}
.radar-head h2{
  margin:0;
  font-size:22px;
  line-height:1;
  color:#f2fbff;
  letter-spacing:-.035em;
}
.radar-head button{
  width:auto;
  min-width:150px;
  padding:8px 10px;
  background:#d9f5ff;
  color:#06131d;
  border-color:#06131d;
  box-shadow:3px 3px 0 #000;
  font-size:11px;
}
.radar-mini{
  height:330px;
  width:100%;
  background:#05101a;
  position:relative;
  border-bottom:2px solid #6a8798;
}
.radar-mini .leaflet-container,
.radar-mini.leaflet-container{
  background:#05101a;
}
.radar-foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  font-size:11px;
  font-weight:900;
  color:#b6d4e3;
  background:#07131d;
}
.radar-foot a{
  color:#d9f5ff;
  text-decoration:none;
  border-bottom:2px solid #d9f5ff;
}
.radar-error{
  display:grid;
  place-items:center;
  height:100%;
  color:#ffdc7a;
  font-weight:900;
  text-align:center;
  padding:20px;
}
@media(max-width:920px){.radar-mini{height:240px}.radar-head{align-items:flex-start}.radar-head button{min-width:0}}
@media(max-width:460px){.radar-card{box-shadow:5px 5px 0 var(--shadow)}.radar-head{display:grid;grid-template-columns:1fr}.radar-head button{width:100%}.radar-mini{height:205px}.radar-foot{display:grid;grid-template-columns:1fr}}

/* === Raster-/Header-Update v12 === */
:root{
  --grid:12px;
  --btn-h:46px;
  --bg:#06131d;
  --panel:#0a1c28;
  --panel2:#102a38;
  --paper:#eef6f8;
  --paper2:#dcebef;
  --ink:#06131d;
  --text:#eef9fb;
  --muted:#9fc0cd;
  --line:#2f5d6f;
  --line2:#78a7b7;
  --accent:#22c7ff;
  --accent2:#25d48f;
  --storm:#142f3f;
  --shadow:#00070b;
}
body{font-family:'Rajdhani',Arial,Helvetica,sans-serif;font-weight:600;letter-spacing:.01em}
.app{padding:24px 16px 28px}
.topbar{
  position:relative;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  align-items:stretch;
  gap:var(--grid);
  margin:0 0 16px;
  padding:0;
  border:0;
  background:transparent;
}
.brand-mark{
  min-height:92px;
  display:grid;
  place-items:center;
  border:3px solid var(--accent);
  background:#dff7ff;
  color:#06131d;
  font-size:42px;
  font-family:'Bebas Neue',Impact,sans-serif;
  line-height:1;
  box-shadow:6px 6px 0 var(--shadow);
}
.brand-copy{
  border:3px solid var(--line2);
  border-left:12px solid var(--accent);
  background:#0a1c28;
  padding:14px 16px 13px;
  box-shadow:6px 6px 0 var(--shadow);
  min-width:0;
}
.kicker{
  margin:0 0 4px;
  color:var(--accent);
  font-family:'Rajdhani',Arial,Helvetica,sans-serif;
  font-size:13px;
  line-height:1;
  letter-spacing:.18em;
  font-weight:700;
  text-transform:uppercase;
}
h1{
  font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;
  font-weight:400;
  letter-spacing:.018em;
  line-height:.9;
  font-size:clamp(44px,8vw,76px);
  text-transform:none;
}
.claim{margin:8px 0 0;font-size:16px;font-weight:700;color:#c7dee8;letter-spacing:.04em}
.admin-link{display:none!important}
.admin-dot{
  position:absolute;
  right:4px;
  top:4px;
  width:9px;
  height:9px;
  border:1px solid rgba(238,249,251,.35);
  background:rgba(34,199,255,.18);
  overflow:hidden;
  text-indent:-999px;
  opacity:.55;
}
.admin-dot:hover,.admin-dot:focus{opacity:1;background:var(--accent);outline:2px solid #fff;outline-offset:2px}
.search-card,.weather-app-card,.radar-card,.map-card,.info-panel,.legal-card{box-shadow:6px 6px 0 var(--shadow);border-width:3px;border-radius:0}
.search-card,.weather-app-card{padding:var(--grid)}
.search-row,.quick-actions,.form-row,.weather-mini-grid{gap:var(--grid)}
input,select,textarea,button,.btn,.site-footer a,.area-chip,.share-btn,.map-back{border-radius:0!important;min-height:var(--btn-h)}
button,.btn,.site-footer a,.share-btn,.map-back,.quick-actions button,.search-row button,.subscribe-form button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:var(--btn-h);
  min-height:var(--btn-h);
  padding:0 14px;
  font-family:'Rajdhani',Arial,Helvetica,sans-serif;
  font-size:15px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1;
}
.search-row{grid-template-columns:minmax(0,1fr) 150px}
.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.quick-actions button{width:100%}
.weather-now{grid-template-columns:76px minmax(0,1fr) auto;gap:var(--grid)}
.weather-icon{width:76px;height:76px}
.forecast-toggle summary{min-height:var(--btn-h);display:flex;align-items:center;justify-content:space-between;padding:0 12px}
.forecast-toggle summary:after{float:none;margin-left:12px}
.radar-head{padding:var(--grid);gap:var(--grid)}
.radar-head button{height:var(--btn-h);min-width:190px}
.main-grid{gap:18px;align-items:start}.map-toolbar{padding:var(--grid);min-height:60px}.map-back{min-width:112px}.map-hint{margin:0 10px 10px}
.area-search{height:var(--btn-h);min-height:var(--btn-h);margin:0 10px var(--grid);font-family:'Rajdhani',Arial,Helvetica,sans-serif;font-size:15px}
.area-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:8px;
  padding:0 10px 14px;
}
.area-chip{
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0 10px;
  text-align:left;
}
.area-chip span{margin-left:auto;white-space:nowrap}
.panel-actions{min-width:140px}.share-btn,.warn-badge{width:100%}.warn-badge{min-height:34px}
.subscribe-form button{width:100%}.footer-buttons{display:grid;grid-template-columns:repeat(5,minmax(126px,1fr));gap:8px;width:min(760px,100%)}.site-footer a{width:100%}
@media(max-width:920px){.topbar{grid-template-columns:58px minmax(0,1fr)}.brand-mark{min-height:82px;font-size:34px}.brand-copy{padding:12px}.quick-actions{grid-template-columns:1fr}.search-row{grid-template-columns:1fr}.search-row button{width:100%}.footer-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.area-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}
@media(max-width:460px){.app{padding:12px 8px 20px}.topbar{grid-template-columns:1fr}.brand-mark{display:none}.brand-copy{border-left-width:8px;box-shadow:5px 5px 0 var(--shadow)}h1{font-size:48px}.claim{font-size:14px}.footer-buttons{grid-template-columns:1fr}.area-list{grid-template-columns:1fr}.weather-now{grid-template-columns:60px minmax(0,1fr)}.weather-icon{width:60px;height:60px}.radar-head button{min-width:0;width:100%}}

/* === v13 Logo/Header, versteckter Adminpunkt, Astro und Kartenzoom === */
.topbar{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  align-items:center;
  gap:0;
  border-left:0;
  padding:0;
  margin-bottom:14px;
  background:#07111a;
  border:3px solid var(--line2);
  box-shadow:8px 8px 0 var(--shadow);
  overflow:hidden;
}
.brand-mark{
  min-height:128px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#07111a;
  padding:8px 0 8px 10px;
}
.brand-mark img{width:160px;max-width:160px;height:auto;display:block;filter:drop-shadow(4px 4px 0 #00070b)}
.brand-copy{min-height:128px;display:flex;flex-direction:column;justify-content:center;padding:18px 20px 18px 8px;border-left:0;background:#07111a;box-shadow:none}
.brand-copy h1{font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;font-weight:400;letter-spacing:.018em;font-size:clamp(48px,8vw,86px);line-height:.86;text-shadow:4px 4px 0 #00070b}
.brand-copy .claim{font-family:'Rajdhani',Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:.04em}
.admin-dot{position:fixed;right:7px;bottom:7px;width:7px;height:7px;border:0;background:#335362;opacity:.48;display:block;z-index:9999;text-decoration:none;box-shadow:none;overflow:hidden;font-size:0;color:transparent}
.admin-dot:hover{opacity:.9;background:var(--accent)}
.astro-panel{padding:0 12px 14px;color:#06131d}
.astro-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}.astro-summary>div{border:2px solid #6a8798;background:#dbeaf1;padding:10px}.astro-summary span{display:block;color:#42606f;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.astro-summary strong{display:block;margin-top:4px;font-size:17px;line-height:1.1}.astro-summary small{display:block;margin-top:3px;color:#42606f;font-weight:800}.astro-chart{border:2px solid #6a8798;background:#06131d;margin-bottom:10px;overflow:hidden}.astro-chart svg{display:block;width:100%;height:auto}.astro-bg{fill:#06131d}.astro-grid{stroke:#34576a;stroke-width:1}.astro-time{fill:#c7dee8;font-size:11px;font-weight:800;text-anchor:middle}.sun-arc{fill:none;stroke:#ffbf00;stroke-width:6;stroke-linecap:square}.sun-dot{fill:#ffbf00;stroke:#06131d;stroke-width:3}.moon-arc{fill:none;stroke:#b9d7e6;stroke-width:4;stroke-dasharray:9 7;stroke-linecap:square}.moon-label{font-size:25px}.special-days{display:grid;gap:7px}.special-days h3{margin:0 0 2px;color:#06131d;font-size:18px}.special-days div{display:flex;justify-content:space-between;gap:10px;border:2px solid #6a8798;background:#f4fbff;padding:9px 10px;font-weight:900}.special-days span{color:#42606f}.special-days strong{text-align:right;color:#06131d}.leaflet-container .leaflet-marker-pane{pointer-events:auto}
@media(min-width:921px){.radar-mini{height:250px}.radar-card{margin-bottom:16px}}
@media(max-width:920px){.topbar{grid-template-columns:118px minmax(0,1fr)}.brand-mark{min-height:104px}.brand-mark img{width:132px;max-width:132px}.brand-copy{min-height:104px;padding:14px 14px 14px 4px}.brand-copy h1{font-size:58px}.astro-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.topbar{grid-template-columns:86px minmax(0,1fr)}.brand-mark{display:flex;min-height:86px;padding:5px 0 5px 5px}.brand-mark img{width:102px;max-width:102px}.brand-copy{min-height:86px;padding:10px 10px 10px 2px}.brand-copy h1{font-size:46px}.brand-copy .kicker{font-size:9px}.brand-copy .claim{font-size:13px}.astro-summary{grid-template-columns:1fr}.special-days div{display:grid}}

/* === v14 Header-Uhr, neues Logo, Astro-Feinschliff, Mail-Abo-Fix === */
.topbar{
  grid-template-columns:170px minmax(0,1fr) 230px;
  align-items:stretch;
}
.brand-mark{
  min-height:134px;
  padding:8px 0 8px 12px;
  overflow:visible;
}
.brand-mark img{
  width:178px;
  max-width:178px;
}
.brand-copy{
  min-height:134px;
  padding:18px 18px 18px 12px;
}
.header-clock{
  min-height:134px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  gap:4px;
  padding:18px 18px 18px 14px;
  border-left:3px solid var(--line2);
  background:linear-gradient(180deg,#081722,#06131d);
  color:#eef9fb;
  text-align:right;
}
.header-time{
  font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;
  font-size:clamp(38px,4.3vw,58px);
  line-height:.9;
  letter-spacing:.035em;
  text-shadow:4px 4px 0 #00070b;
}
.header-date{
  color:#c7dee8;
  font-size:13px;
  line-height:1.15;
  font-weight:800;
}
.header-special{
  position:relative;
  overflow:visible;
  margin-top:4px;
  border:2px solid #ffbf00;
  background:#241b03;
  color:#ffdf6a;
  padding:5px 7px;
  font-size:11px;
  line-height:1.15;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  max-width:100%;
}

.special-pill{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  margin:0 2px;
  font:inherit;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:help;
}
.special-pill:hover,.special-pill:focus-visible{text-decoration:underline;text-underline-offset:3px;outline:none}
.header-special-pop{
  position:absolute;
  right:0;
  top:calc(100% + 7px);
  z-index:10000;
  width:max-content;
  max-width:280px;
  border:2px solid #ffbf00;
  background:#fff6cf;
  color:#241b03;
  padding:8px 9px;
  box-shadow:4px 4px 0 #00070b;
  text-align:left;
  text-transform:none;
  letter-spacing:0;
  font-size:12px;
  line-height:1.22;
}
.daily-report-choice{
  display:grid;
  gap:8px;
  border:2px solid #6a8798;
  background:#f4fbff;
  padding:10px 11px;
}
.daily-report-choice .check{margin:0}
.daily-report-time{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:950;
}
.daily-report-time select{max-width:150px}
.astro-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.astro-today-special{
  margin:0 0 10px;
  border:2px solid #ffbf00;
  background:#fff6cf;
  color:#4b3500;
  padding:9px 10px;
  font-weight:950;
}
.astro-chart svg{height:auto;min-height:190px}
.astro-grid.minor{stroke:#203d4c;stroke-width:.75;opacity:.75}.astro-horizon{stroke:#78a7b7;stroke-width:2;opacity:.7}.now-line{stroke:#eef9fb;stroke-width:1.2;stroke-dasharray:4 5;opacity:.55}.sun-arc{fill:none;stroke:#ffbf00;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.moon-arc{fill:none;stroke:#b9d7e6;stroke-width:4;stroke-dasharray:9 7;stroke-linecap:round;stroke-linejoin:round}.sun-marker{fill:#ffbf00;stroke:#06131d;stroke-width:2}.sun-dot{fill:#ffbf00;stroke:#06131d;stroke-width:3;filter:drop-shadow(2px 2px 0 #000)}.moon-dot{fill:#d9f5ff;stroke:#06131d;stroke-width:3;filter:drop-shadow(2px 2px 0 #000)}.sun-dot.dim,.moon-dot.dim{opacity:.45}.astro-note{border:2px solid #6a8798;background:#dbeaf1;color:#42606f;padding:8px 10px;margin:-1px 0 10px;font-size:12px;font-weight:900}
.radar-mini{cursor:grab;touch-action:none}.radar-mini:active{cursor:grabbing}
.subscribe-form{
  margin-top:16px;
  border:2px solid #6a8798;
  background:#dbeaf1;
  padding:14px;
  display:grid;
  gap:12px;
}
.subscribe-form h3{line-height:1.05}.subscribe-form label{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;color:#06131d;line-height:1.1}.subscribe-form input,.subscribe-form select{height:46px;min-height:46px;background:#f4fbff;color:#06131d;border:2px solid #06131d;padding:0 12px;line-height:1.1}.subscribe-form .form-row{grid-template-columns:minmax(0,1.35fr) minmax(160px,.65fr)}.subscribe-form .check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px;border:2px solid #6a8798;background:#eef6f8;padding:10px;color:#162e3d!important;font-weight:800!important;line-height:1.25}.subscribe-form .check input{appearance:auto!important;width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px;margin:1px 0 0!important;padding:0!important;background:#fff;color:initial;border:initial;box-shadow:none}.subscribe-form .check a{color:#006fa3;font-weight:950}.subscribe-form button{margin-top:0;width:100%;height:46px;min-height:46px;background:var(--accent2);color:#06131d;border-color:#06131d}
@media(max-width:1040px){.topbar{grid-template-columns:138px minmax(0,1fr) 190px}.brand-mark img{width:150px;max-width:150px}.brand-copy h1{font-size:clamp(48px,7vw,72px)}.header-date{font-size:12px}}
@media(max-width:820px){.topbar{grid-template-columns:118px minmax(0,1fr)}.header-clock{grid-column:1/-1;min-height:auto;align-items:flex-start;text-align:left;border-left:0;border-top:3px solid var(--line2);padding:10px 14px}.header-time{font-size:40px}.astro-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.topbar{grid-template-columns:88px minmax(0,1fr)}.brand-mark{min-height:92px}.brand-mark img{width:108px;max-width:108px}.brand-copy{min-height:92px;padding:10px 10px 10px 4px}.brand-copy h1{font-size:42px}.header-time{font-size:36px}.subscribe-form .form-row{grid-template-columns:1fr}.astro-summary{grid-template-columns:1fr}}


/* === v15 sauberes Logo, Sekunden-Uhr, Location-Dropdown, Astro ohne Zusatzkugeln === */
.topbar{grid-template-columns:170px minmax(0,1fr) 238px;overflow:hidden}
.brand-mark{min-height:134px;padding:8px;overflow:hidden;border:0;background:#07111a}
.brand-mark img{width:150px;max-width:100%;height:auto;display:block;filter:none}
.header-time{font-size:clamp(34px,3.7vw,54px);white-space:nowrap}
.location-picker{position:relative;min-width:0;display:grid;gap:6px}
.field-hint{display:block;color:#42606f;font-size:11px;font-weight:850;line-height:1.2}
.location-choices{position:absolute;left:0;right:0;top:calc(100% - 2px);z-index:80;display:grid;gap:4px;border:2px solid #06131d;background:#f4fbff;padding:6px;box-shadow:5px 5px 0 #000;color:#06131d}
.location-choices[hidden]{display:none!important}
.location-choices button{display:grid;gap:2px;width:100%;height:auto;min-height:44px;padding:7px 9px;text-align:left;background:#dbeaf1;color:#06131d;border:2px solid #6a8798;box-shadow:none;font-family:'Rajdhani',Arial,Helvetica,sans-serif;text-transform:none;line-height:1.1;justify-content:stretch}
.location-choices button:hover,.location-choices button:focus{border-color:#06131d;background:#eef6f8}
.location-choices strong{font-size:14px;line-height:1.1}
.location-choices small,.location-empty{font-size:11px;color:#42606f;font-weight:850;line-height:1.15}
.location-empty{padding:8px 9px}
.astro-note,.moon-label,.sun-marker{display:none!important}
@media(max-width:1040px){.topbar{grid-template-columns:148px minmax(0,1fr) 210px}.brand-mark img{width:132px}.header-time{font-size:42px}}
@media(max-width:820px){.topbar{grid-template-columns:118px minmax(0,1fr)}.brand-mark img{width:106px}.header-clock{grid-column:1/-1}.header-time{font-size:38px}}
@media(max-width:520px){.topbar{grid-template-columns:88px minmax(0,1fr)}.brand-mark img{width:78px}.header-time{font-size:34px}.location-choices{position:static;box-shadow:3px 3px 0 #000}}


/* === v18 Header bereinigt, Logo klickbar/größer mobil, Kartenzoom bleibt Landkreis-freundlich === */
.topbar{
  display:grid!important;
  grid-template-columns:170px minmax(0,1fr) 238px!important;
  align-items:stretch!important;
  gap:0!important;
  margin:0 0 16px!important;
  padding:0!important;
  border:3px solid var(--line2)!important;
  outline:0!important;
  box-shadow:none!important;
  background:#07111a!important;
  overflow:hidden!important;
}
.brand-mark,
.brand-mark:visited{
  min-height:134px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:#07111a!important;
  text-decoration:none!important;
  overflow:hidden!important;
}
.brand-mark:hover img,
.brand-mark:focus-visible img{transform:scale(1.025)}
.brand-mark:focus-visible{box-shadow:inset 0 0 0 3px var(--accent)!important}
.brand-mark img{
  width:150px!important;
  max-width:150px!important;
  height:auto!important;
  display:block!important;
  filter:none!important;
  transform-origin:center center;
  transition:transform .12s ease;
}
.brand-copy{
  min-height:134px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:18px 18px 18px 10px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:#07111a!important;
  overflow:hidden!important;
}
.header-clock{
  min-height:134px!important;
  border:0!important;
  border-left:3px solid var(--line2)!important;
  box-shadow:none!important;
  outline:0!important;
  background:#07111a!important;
}
.map-card #map{touch-action:pan-x pan-y pinch-zoom}
@media(max-width:1040px){
  .topbar{grid-template-columns:150px minmax(0,1fr) 214px!important}
  .brand-mark img{width:138px!important;max-width:138px!important}
  .header-time{font-size:42px!important}
}
@media(max-width:820px){
  .topbar{grid-template-columns:132px minmax(0,1fr)!important}
  .brand-mark{min-height:112px!important;padding:6px!important}
  .brand-mark img{width:124px!important;max-width:124px!important}
  .brand-copy{min-height:112px!important;padding:12px 12px 12px 4px!important}
  .header-clock{grid-column:1/-1!important;min-height:auto!important;align-items:flex-start!important;text-align:left!important;border-left:0!important;border-top:3px solid var(--line2)!important;padding:10px 14px!important}
}
@media(max-width:520px){
  .topbar{grid-template-columns:112px minmax(0,1fr)!important}
  .brand-mark{min-height:104px!important;padding:5px!important}
  .brand-mark img{width:108px!important;max-width:108px!important}
  .brand-copy{min-height:104px!important;padding:10px 10px 10px 2px!important}
  .brand-copy h1{font-size:42px!important}
  .header-time{font-size:34px!important}
}
@media(max-width:390px){
  .topbar{grid-template-columns:102px minmax(0,1fr)!important}
  .brand-mark img{width:100px!important;max-width:100px!important}
  .brand-copy h1{font-size:38px!important}
}


/* === v19 Adminpunkt, mobiler Zeitblock, Kartenzoom-Schwelle === */
.topbar .admin-dot{display:none!important}
.app > .admin-dot{
  position:fixed!important;
  right:max(8px,env(safe-area-inset-right))!important;
  bottom:max(8px,env(safe-area-inset-bottom))!important;
  width:10px!important;
  height:10px!important;
  display:block!important;
  z-index:2147483000!important;
  border:1px solid rgba(255,191,0,.92)!important;
  background:#0c2634!important;
  opacity:.82!important;
  border-radius:50%!important;
  box-shadow:0 0 0 1px rgba(6,19,29,.9)!important;
  overflow:hidden!important;
  text-indent:-9999px!important;
  font-size:0!important;
  color:transparent!important;
}
.app > .admin-dot:hover,.app > .admin-dot:focus-visible{
  opacity:1!important;
  background:#ffbf00!important;
  outline:2px solid #d9f5ff!important;
  outline-offset:2px!important;
}
@media(max-width:820px){
  .header-clock{
    display:grid!important;
    grid-template-columns:minmax(0,auto) minmax(0,1fr)!important;
    align-items:end!important;
    column-gap:14px!important;
    row-gap:5px!important;
    padding:12px 16px 13px!important;
  }
  .header-time{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    font-size:46px!important;
    line-height:.86!important;
    letter-spacing:.035em!important;
  }
  .header-date{
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    font-size:14px!important;
    line-height:1.08!important;
    font-weight:850!important;
  }
  .header-special{
    grid-column:2!important;
    grid-row:2!important;
    justify-self:start!important;
    align-self:start!important;
    margin:0!important;
    padding:5px 8px!important;
    font-size:10px!important;
    line-height:1.05!important;
    max-width:100%!important;
  }
}
@media(max-width:430px){
  .header-clock{grid-template-columns:1fr!important;align-items:start!important;gap:3px!important}
  .header-time,.header-date,.header-special{grid-column:1!important;grid-row:auto!important}
  .header-time{font-size:44px!important}
  .header-date{font-size:13px!important}
}
@media(max-width:360px){.header-time{font-size:40px!important}.header-date{font-size:12px!important}}


/* === v20 Sichtbarer Adminpunkt und Mail-Ortsschutz === */
.app > .admin-dot,
body > .admin-dot{
  position:fixed!important;
  right:max(10px,env(safe-area-inset-right))!important;
  bottom:max(10px,env(safe-area-inset-bottom))!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:2147483647!important;
  border:2px solid #06131d!important;
  background:#ffbf00!important;
  color:#06131d!important;
  opacity:.95!important;
  border-radius:50%!important;
  box-shadow:2px 2px 0 #000!important;
  overflow:hidden!important;
  text-indent:0!important;
  font:900 10px/1 Arial,Helvetica,sans-serif!important;
  text-decoration:none!important;
  pointer-events:auto!important;
}
.app > .admin-dot::before,
body > .admin-dot::before{content:'A';}
.app > .admin-dot:hover,.app > .admin-dot:focus-visible,
body > .admin-dot:hover,body > .admin-dot:focus-visible{
  opacity:1!important;
  background:#15b8ff!important;
  outline:2px solid #e9f7ff!important;
  outline-offset:2px!important;
}


/* === v21 Adminpunkt wirklich im Seitenende, Mail-Suche ab 3 Zeichen, mobile Uhr zentriert === */
.topbar .admin-dot{display:none!important}
.app > .admin-dot,
body > .admin-dot{
  position:static!important;
  inset:auto!important;
  float:none!important;
  display:block!important;
  width:6px!important;
  height:6px!important;
  min-width:6px!important;
  min-height:6px!important;
  margin:7px 2px 0 auto!important;
  padding:0!important;
  border:0!important;
  background:#6f8fa0!important;
  color:transparent!important;
  opacity:.20!important;
  border-radius:50%!important;
  box-shadow:none!important;
  overflow:hidden!important;
  text-indent:-9999px!important;
  font-size:0!important;
  line-height:0!important;
  text-decoration:none!important;
  z-index:auto!important;
  pointer-events:auto!important;
}
.app > .admin-dot::before,
body > .admin-dot::before{content:none!important;display:none!important}
.app > .admin-dot:hover,.app > .admin-dot:focus-visible,
body > .admin-dot:hover,body > .admin-dot:focus-visible{
  opacity:.65!important;
  background:#ffbf00!important;
  outline:1px solid #6f8fa0!important;
  outline-offset:2px!important;
}
@media(max-width:820px){
  .header-clock{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:6px!important;
    padding:13px 12px 15px!important;
  }
  .header-time,.header-date,.header-special{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:center!important;
    align-self:center!important;
    text-align:center!important;
  }
  .header-time{
    font-size:clamp(44px,14vw,68px)!important;
    line-height:.86!important;
  }
  .header-date{font-size:15px!important;line-height:1.08!important}
  .header-special{margin:0 auto!important;justify-content:center!important}
}
@media(max-width:430px){
  .header-clock{align-items:center!important;text-align:center!important}
  .header-time{font-size:clamp(42px,16vw,58px)!important}
  .header-date{font-size:14px!important}
}


/* === v22 Warnstufen-Dropdown und Adminpunkt exakt am Seitenende === */
.warn-level-select{
  font-weight:950!important;
  border-color:#06131d!important;
  color:#06131d!important;
  background:#f4fbff!important;
}
.warn-level-select.level-1{background:#fff09a!important;color:#2e2700!important}
.warn-level-select.level-2{background:#ffd19a!important;color:#3a2100!important}
.warn-level-select.level-3{background:#ffb7bd!important;color:#4d0009!important}
.warn-level-select.level-4{background:#e5b9ff!important;color:#300047!important}
.warn-level-select option{font-weight:900;color:#06131d;background:#f4fbff}
.warn-level-select option[value="1"]{background:#ffe100!important;color:#2e2700!important}
.warn-level-select option[value="2"]{background:#ff9d00!important;color:#241400!important}
.warn-level-select option[value="3"]{background:#e30022!important;color:#fff!important}
.warn-level-select option[value="4"]{background:#b200ff!important;color:#fff!important}
.topbar .admin-dot{display:none!important}
#adminDot.admin-dot{
  position:absolute!important;
  left:auto!important;
  top:auto!important;
  right:2px!important;
  bottom:2px!important;
  display:block!important;
  width:5px!important;
  height:5px!important;
  min-width:5px!important;
  min-height:5px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#6f8fa0!important;
  color:transparent!important;
  opacity:.14!important;
  border-radius:50%!important;
  box-shadow:none!important;
  overflow:hidden!important;
  text-indent:-9999px!important;
  font-size:0!important;
  line-height:0!important;
  text-decoration:none!important;
  z-index:1!important;
  pointer-events:auto!important;
}
#adminDot.admin-dot::before{content:none!important;display:none!important}
#adminDot.admin-dot:hover,#adminDot.admin-dot:focus-visible{
  opacity:.55!important;
  background:#ffbf00!important;
  outline:1px dotted #6f8fa0!important;
  outline-offset:2px!important;
}

/* === v26 Landkreis-Hover und Push-Button im Punktbereich === */
.panel-push-btn{
  width:100%!important;
  min-height:42px!important;
  height:auto!important;
  padding:10px 9px!important;
  font-size:12px!important;
  background:#122d3d!important;
  color:#e8f6ff!important;
  border-color:#6a8798!important;
  white-space:nowrap!important;
}
.panel-push-btn:hover,.panel-push-btn:focus-visible{
  background:#15b8ff!important;
  color:#06131d!important;
}
.quick-actions{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}
.leaflet-interactive{cursor:pointer}


/* === v28 Footer-Push-Abmeldung === */
.site-footer button.footer-action{
  color:#06131d;
  text-decoration:none;
  border:2px solid #06131d;
  background:var(--paper);
  padding:8px 10px;
  font-weight:900;
  box-shadow:3px 3px 0 #000;
  cursor:pointer;
  min-height:var(--btn-h);
  font-family:inherit;
  letter-spacing:.01em;
}
.site-footer button.footer-action:hover,.site-footer button.footer-action:focus-visible{background:#ffbf00;color:#06131d}
.footer-buttons{grid-template-columns:repeat(6,minmax(126px,1fr))}
@media(max-width:920px){.footer-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.footer-buttons{grid-template-columns:1fr}.site-footer button.footer-action{width:100%;padding:7px 8px}}


/* === v29 Mondphase im Header-Spezialhinweis === */

/* === v30 Landkreise unter der Suche einklappbar === */
.area-collapsible{
  margin:0 10px 12px;
}
.area-collapsible[hidden]{display:none!important}
.area-collapsible>summary{
  list-style:none;
  cursor:pointer;
  border:2px solid var(--line2);
  background:#102a38;
  color:var(--text);
  padding:10px 12px;
  font-size:12px;
  font-weight:950;
  box-shadow:3px 3px 0 #000;
  user-select:none;
}
.area-collapsible>summary::-webkit-details-marker{display:none}
.area-collapsible>summary::after{
  content:'+';
  float:right;
  font-size:16px;
  line-height:.8;
}
.area-collapsible[open]>summary::after{content:'–'}
.area-collapsible>summary[hidden]{display:none!important}
.area-collapsible .area-list{
  padding:10px 0 0;
}
.area-collapsible>summary[hidden]+.area-list{
  padding-top:0;
}
@media(max-width:460px){.area-collapsible>summary{font-size:11px;padding:9px 10px}}

/* === v31 Kompakte Tagesanzeige, lesbares Popup, kleines Tagesbericht-Dropdown === */
.topbar{overflow:visible!important}
.header-clock{overflow:visible!important}
.header-special{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  margin-top:2px!important;
  padding:2px 6px!important;
  font-size:10px!important;
  line-height:1!important;
  min-height:18px!important;
  max-height:22px!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.special-pill{
  flex:0 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.header-special-pop,
.header-special-pop-fixed{
  position:fixed!important;
  left:10px;
  top:10px;
  z-index:2147483000!important;
  width:max-content!important;
  max-width:min(300px,calc(100vw - 20px))!important;
  border:2px solid #ffbf00!important;
  background:#fff6cf!important;
  color:#241b03!important;
  padding:8px 9px!important;
  box-shadow:4px 4px 0 #00070b!important;
  text-align:left!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:12px!important;
  line-height:1.22!important;
  white-space:normal!important;
  pointer-events:auto!important;
}
.daily-report-choice{
  display:block!important;
  padding:7px 9px!important;
}
.daily-report-check{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  line-height:1.18!important;
}
.daily-report-check input{flex:0 0 auto!important;margin-top:2px!important}
.daily-report-check span:first-of-type{flex:1 1 auto!important;min-width:0!important}
.daily-report-time{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  margin-left:6px!important;
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.daily-report-time select{
  width:82px!important;
  max-width:82px!important;
  min-height:26px!important;
  height:26px!important;
  padding:2px 5px!important;
  font-size:12px!important;
  line-height:1!important;
}
@media(max-width:620px){
  .daily-report-check{flex-wrap:wrap!important}
  .daily-report-time{margin-left:0!important}
}
@media(max-width:820px){
  .header-special{justify-content:center!important;margin:0 auto!important;max-width:100%!important}
}

/* === v45 Tageszeit-Färbung für Wetterkarten === */
.weather-icon.time-of-day,
.hour-card.time-of-day{
  background:var(--tod-icon-bg,var(--tod-bg));
  border-color:var(--tod-border);
  color:var(--tod-text);
  transition:background-color .35s ease,border-color .35s ease,color .35s ease;
}
.hour-card.time-of-day strong,
.hour-card.time-of-day span{
  color:var(--tod-text);
}
.hour-card.time-of-day small{
  color:var(--tod-muted);
}



/* === v47 Kartenumschalter, integrierte Regenkarte und Deutschlandwetter === */
.map-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.map-switch{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.map-layer-btn{
  min-height:36px!important;
  padding:8px 10px!important;
  font-size:11px!important;
  line-height:1!important;
  background:#102a38!important;
  color:#e8f6ff!important;
  border-color:#78a7b7!important;
  box-shadow:3px 3px 0 #000!important;
  white-space:nowrap!important;
}
.map-layer-btn.active,
.map-layer-btn[aria-pressed="true"]{
  background:#22c7ff!important;
  color:#06131d!important;
  border-color:#06131d!important;
}
.map-card[data-map-view="radar"] .map-legend,
.map-card[data-map-view="weather"] .map-legend,
.map-card[data-map-view="radar"] .area-search,
.map-card[data-map-view="weather"] .area-search,
.map-card[data-map-view="radar"] .area-collapsible,
.map-card[data-map-view="weather"] .area-collapsible{
  display:none!important;
}
.weather-map-divicon{
  background:transparent!important;
  border:0!important;
}
.weather-map-marker{
  width:78px;
  min-height:52px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto;
  align-items:center;
  gap:0 4px;
  border:2px solid #06131d;
  background:#eef6f8;
  color:#06131d;
  box-shadow:4px 4px 0 #000;
  padding:5px 6px 4px;
  font-weight:950;
  text-align:left;
}
.weather-map-marker strong{
  grid-column:1;
  grid-row:1;
  font-size:22px;
  line-height:.9;
  letter-spacing:-.04em;
}
.weather-map-marker span{
  grid-column:2;
  grid-row:1;
  font-size:21px;
  line-height:1;
}
.weather-map-marker small{
  grid-column:1 / -1;
  grid-row:2;
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#315365;
  font-size:10px;
  line-height:1.05;
  margin-top:3px;
}

.weather-map-tooltip{
  max-width:230px!important;
  white-space:normal!important;
  line-height:1.25!important;
}
.weather-map-tooltip .leaflet-tooltip-content,
.weather-map-tooltip-inner{
  white-space:normal!important;
}
.weather-map-tooltip-inner{
  display:grid;
  gap:3px;
  min-width:150px;
  max-width:220px;
  color:#06131d;
}
.weather-map-tooltip-inner strong{
  display:block;
  font-size:13px;
  line-height:1.15;
}
.weather-map-tooltip-inner span{
  display:block;
  font-size:12px;
  line-height:1.2;
}
@media(max-width:620px){
  .map-toolbar{display:grid!important;grid-template-columns:1fr!important;align-items:start!important}
  .map-actions{justify-content:stretch!important;display:grid!important;grid-template-columns:1fr!important}
  .map-switch{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .map-layer-btn{width:100%!important;padding:8px 5px!important;font-size:10px!important}
  .map-back{width:100%!important}
}


/* === v48 Hauptsuche mit PLZ-/Ort-Vorschlägen === */
.search-location-picker{display:block;min-width:0}
.search-location-choices{top:calc(100% + 4px);z-index:120}
.location-choices button.is-active{border-color:#06131d;background:#eef6f8;outline:3px solid rgba(21,184,255,.35)}
@media(max-width:520px){.search-location-choices{position:static;margin-top:6px}}


/* === v50 Deutschlandwetter Temperatur-Legende als Breiten-Farbverlauf === */
.map-hint.weather-legend-host{
  padding:9px 10px 10px;
}
.weather-temp-legend{
  display:grid;
  gap:8px;
  width:100%;
  min-width:0;
}
.weather-temp-legend-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.weather-temp-legend-head strong{
  color:#e8f6ff;
  font-size:12px;
  line-height:1.15;
}
.weather-temp-legend-head small{
  color:#b9d6e3;
  font-size:11px;
  font-weight:850;
  line-height:1.25;
  max-width:660px;
}
.weather-temp-gradient-wrap{
  display:grid;
  gap:4px;
  width:100%;
  min-width:0;
}
.weather-temp-ticks{
  display:grid;
  grid-template-columns:repeat(11,minmax(0,1fr));
  width:100%;
  min-width:0;
  align-items:end;
}
.weather-temp-ticks span{
  display:block;
  min-width:0;
  color:#e8f6ff;
  font-size:clamp(7px,1.45vw,11px);
  font-weight:950;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  letter-spacing:-.035em;
}
.weather-temp-ticks span:first-child{text-align:left}
.weather-temp-ticks span:last-child{text-align:right}
.weather-temp-gradient{
  width:100%;
  height:24px;
  border:2px solid #02080d;
  box-shadow:3px 3px 0 #000;
  image-rendering:pixelated;
}
.astro-today-special{
  display:grid;
  gap:7px;
}
.astro-today-special>strong{
  display:block;
  color:#4b3500;
  font-size:13px;
  line-height:1.1;
}
.astro-today-special div{
  display:grid;
  gap:2px;
}
.astro-today-special span{
  display:block;
  color:#3b2a00;
  font-weight:950;
  line-height:1.12;
}
.astro-today-special small{
  display:block;
  color:#6c5100;
  font-size:12px;
  font-weight:850;
  line-height:1.25;
}
@media(max-width:760px){
  .weather-temp-legend-head small{max-width:none}
}
@media(max-width:420px){
  .weather-temp-ticks span{font-size:7px;letter-spacing:-.08em}
  .weather-temp-gradient{height:20px}
}

/* === v56 Wolkenbild vereinheitlicht === */
.hour-card em,
.day-card em,
.weather-map-marker span{
  display:block;
  color:#06131d;
  text-shadow:
    -1px -1px 0 rgba(6,19,29,.9),
     1px -1px 0 rgba(6,19,29,.9),
    -1px  1px 0 rgba(6,19,29,.9),
     1px  1px 0 rgba(6,19,29,.9),
     0 2px 0 rgba(255,255,255,.55);
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.65));
}
.hour-card em,
.day-card em{
  min-height:36px;
}


/* === v56 Wolkenbild vereinheitlicht === */
.wx-icon{display:inline-flex;align-items:center;justify-content:center}
.wx-icon-cloud{width:1.32em;height:1.02em;filter:drop-shadow(0 1px 0 rgba(255,255,255,.55)) drop-shadow(0 2px 2px rgba(0,0,0,.18))}
.wx-icon-cloud svg{display:block;width:100%;height:100%;overflow:visible}
.weather-icon .wx-icon-cloud{width:58px;height:44px}
.hour-card em .wx-icon-cloud,.day-card em .wx-icon-cloud{width:38px;height:29px}
.weather-map-marker span .wx-icon-cloud{width:29px;height:22px}
.hour-card em,.day-card em,.weather-icon{line-height:1}
.hour-card em .wx-icon,.day-card em .wx-icon,.weather-map-marker span .wx-icon{vertical-align:middle}
.weather-icon .wx-icon{transform:translateY(1px)}

/* === v56 Wolkenbild vereinheitlicht === */
.wx-icon-cloud{width:1.42em;height:1.08em;filter:drop-shadow(0 1px 0 rgba(255,255,255,.6)) drop-shadow(0 2px 2px rgba(0,0,0,.22))}
.weather-icon .wx-icon-cloud{width:60px;height:45px}
.hour-card em .wx-icon-cloud,.day-card em .wx-icon-cloud{width:42px;height:31px}
.weather-map-marker span .wx-icon-cloud{width:31px;height:23px}

/* === v56 Wolkenbild vereinheitlicht === */
.wx-icon-cloud{
  width:1.65em;
  height:1.05em;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.55)) drop-shadow(0 2px 2px rgba(0,0,0,.22));
}
.wx-icon-cloud img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.weather-icon .wx-icon-cloud{width:62px;height:44px}
.hour-card em .wx-icon-cloud,.day-card em .wx-icon-cloud{width:46px;height:32px}
.weather-map-marker span .wx-icon-cloud{width:34px;height:24px}
