:root{--bg:#020d1c;--panel:#061b36;--panel2:#03152c;--line:#164b7d;--line2:#0d3965;--text:#f1f7ff;--muted:#9cbce3;--blue:#1785ff;--cyan:#55b7ff;--green:#21e6a0;--red:#ff5353;--yellow:#ffd21e;--shadow:0 16px 38px rgba(0,0,0,.22)}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;min-height:100vh;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 50% -25%,#123c6b 0,transparent 42%),linear-gradient(145deg,#020a16,#03142a 58%,#021127);background-attachment:fixed}.shell{width:min(1600px,calc(100% - 24px));margin:auto;padding:8px 0 26px}.topbar{min-height:72px;border:1px solid var(--line2);border-radius:20px;padding:8px 16px;display:flex;align-items:center;gap:22px;background:rgba(2,15,32,.78);backdrop-filter:blur(12px);box-shadow:var(--shadow);position:sticky;top:6px;z-index:20}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-icon{font-size:34px}.brand-name{font-size:clamp(1rem,2vw,1.3rem);font-weight:750}.brand-subtitle{font-size:.75rem;color:var(--muted);margin-top:2px}.nav{display:flex;align-items:center;gap:5px;flex:1}.nav a{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:13px;color:#d9e9ff;text-decoration:none;font-size:.94rem;white-space:nowrap;border:1px solid transparent}.nav a:hover,.nav a.active{background:linear-gradient(135deg,#086fe8,#0b4ec4);border-color:#218bff;box-shadow:0 0 22px rgba(20,118,255,.25)}.nav a.future{opacity:.5;pointer-events:none}.status-pill{display:flex;align-items:center;gap:9px;padding:10px 18px;border-radius:999px;border:1px solid #075f4a;background:#042b24;color:#34f2b5;white-space:nowrap}.status-pill.offline{border-color:#7a2934;background:#35151b;color:#ff808c}.status-pill.offline .dot{background:var(--red);box-shadow:0 0 12px var(--red)}.dot{width:11px;height:11px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.version{text-align:center;line-height:1.25;min-width:90px;font-size:.75rem;color:var(--muted)}.version strong{color:var(--text)}.main{padding-top:20px}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(7,31,61,.95),rgba(3,19,40,.96));box-shadow:var(--shadow);overflow:hidden;position:relative}.card-pad{padding:22px}.temp-card{grid-column:span 4;min-height:195px;display:flex;align-items:center;gap:25px}.temp-icon{font-size:70px;filter:drop-shadow(0 0 10px rgba(70,150,255,.35))}.eyebrow,.label{color:var(--muted);font-size:1.03rem}.temp-value{font-size:clamp(4rem,7vw,6rem);line-height:.94;font-weight:750;letter-spacing:-.055em}.temp-value small{font-size:.45em;font-weight:600;vertical-align:top;margin-left:7px}.quality{margin-top:15px;color:var(--muted)}.quality strong{color:var(--green)}.info-card{grid-column:span 6;min-height:195px}.info-row{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid rgba(47,104,157,.4)}.info-row:last-child{border:0}.info-row span{color:var(--muted)}.online-card,.trust-card{grid-column:span 3;min-height:195px;display:flex;flex-direction:column;justify-content:center}.big-icon{font-size:42px;margin-bottom:8px}.online-big{font-size:2.1rem;color:var(--green);font-weight:760;margin:16px 0 8px}.trust-big{font-size:3.4rem;font-weight:760;margin:15px 0}.trust-big small{font-size:.55em;color:#a8c9f5}.metric{grid-column:span 2;min-height:180px}.wind-speed-card,.gust-card{grid-column:span 2;min-height:195px}.metric-head{display:flex;align-items:center;gap:14px;color:#b4d0f3;font-size:1.08rem}.metric-icon{font-size:36px}.metric-value{font-size:clamp(2.3rem,4vw,3.25rem);font-weight:740;margin:14px 0 4px;letter-spacing:-.04em;white-space:nowrap}.wind-speed-card .metric-value,.gust-card .metric-value{font-size:clamp(2.5rem,4.5vw,3.6rem)}.unit{font-size:.55em;color:#a6c9f2;font-weight:500;letter-spacing:0}.detail{color:var(--muted);line-height:1.5}.wind-direction-card{grid-column:span 4;grid-row:span 2;min-height:390px}.chart-card{grid-column:span 12;min-height:335px}.wind-map{height:255px;position:relative;background:linear-gradient(145deg,#071d39,#031329);overflow:hidden}.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted);background:radial-gradient(circle at 50% 50%,rgba(31,113,180,.25),transparent 50%)}.map-placeholder span{font-size:2rem}.map-placeholder b{color:#d7eaff;margin-top:5px}.map-placeholder small{margin-top:5px}.map-grid{position:absolute;inset:-30%;opacity:.17;transform:rotate(25deg);background-image:linear-gradient(#65aee8 1px,transparent 1px),linear-gradient(90deg,#65aee8 1px,transparent 1px);background-size:34px 34px}.map-badge{position:absolute;left:12px;top:12px;padding:8px 14px;border-radius:12px;background:#0565d7;font-weight:700;z-index:4}.compass{position:absolute;width:220px;height:220px;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid rgba(225,241,255,.85);border-radius:50%;z-index:3;box-shadow:0 0 20px rgba(0,0,0,.3)}.compass:before,.compass:after{content:"";position:absolute;background:rgba(255,255,255,.35)}.compass:before{width:1px;height:100%;left:50%}.compass:after{height:1px;width:100%;top:50%}.cardinal{position:absolute;font-size:1.42rem;font-weight:800;text-shadow:0 2px 7px #000;z-index:5}.n{left:50%;top:7px;transform:translateX(-50%)}.s{left:50%;bottom:7px;transform:translateX(-50%)}.w{left:8px;top:50%;transform:translateY(-50%)}.e{right:8px;top:50%;transform:translateY(-50%)}.arrow{position:absolute;left:50%;top:50%;width:178px;height:28px;transform:translate(-50%,-50%) rotate(0deg);transform-origin:center;transition:transform .7s cubic-bezier(.2,.8,.2,1);z-index:6}.arrow-line{position:absolute;left:13px;right:29px;top:10px;height:8px;border-radius:8px;background:#168cff;box-shadow:0 0 0 3px white,0 0 15px #168cff}.arrow-head{position:absolute;right:7px;top:0;width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:27px solid white;filter:drop-shadow(0 0 5px #168cff)}.arrow-head:after{content:"";position:absolute;right:5px;top:-10px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:20px solid #168cff}.wind-footer{min-height:135px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:13px 20px;border-top:1px solid var(--line);gap:0}.wind-dir-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;min-width:0}.wind-dir-item+.wind-dir-item{border-left:1px solid var(--line)}.wind-dir-label{color:#dcecff;font-weight:650}.wind-dir-value{font-size:1.48rem;color:#2c8fff;font-weight:760;white-space:nowrap}.direction-name:before{content:"("}.direction-name:after{content:")"}.wind-dir-caption{grid-column:1/-1;color:var(--muted);text-align:center;border-top:1px solid rgba(22,75,125,.55);padding-top:9px;margin-top:3px}.chart-title{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:20px 22px 4px}.chart-title h2{font-size:1.2rem;margin:0}.chart-title p{color:var(--muted);margin:5px 0 0;font-size:.88rem}.minmax{display:flex;gap:28px}.minmax span:first-child{color:#2a8dff}.minmax span:last-child{color:#ff5353}canvas{display:block;width:100%;height:260px;padding:5px 14px 15px}.footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px}.quick{display:flex;flex-wrap:wrap;gap:12px}.quick a,.disabled-link{padding:14px 20px;border:1px solid var(--line);border-radius:14px;color:#bed8f8;text-decoration:none;background:rgba(5,27,54,.8)}.disabled-link{opacity:.48}.refresh-note{color:var(--muted)}.spin{display:inline-block;animation:spin 2.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1150px){.nav{overflow-x:auto}.brand-subtitle{display:none}.temp-card{grid-column:span 6}.wind-speed-card,.gust-card{grid-column:span 3}.metric{grid-column:span 3}.wind-direction-card{grid-column:span 6;grid-row:auto}.chart-card{grid-column:span 12}.info-card{grid-column:span 6}.online-card,.trust-card{grid-column:span 3}}@media(max-width:760px){.shell{width:min(100% - 12px,1600px)}.topbar{position:static;flex-wrap:wrap}.nav{order:3;width:100%}.status-pill{margin-left:auto}.grid{gap:10px}.temp-card,.wind-speed-card,.gust-card,.metric,.wind-direction-card,.chart-card,.info-card,.online-card,.trust-card{grid-column:span 12}.wind-direction-card{grid-row:auto}.card-pad{padding:17px}.temp-card{min-height:175px}.compass{width:195px;height:195px}.wind-map{height:250px}.footer{align-items:flex-start;flex-direction:column}.version{display:none}}@media(max-width:430px){.brand-name{font-size:.96rem}.temp-icon{font-size:50px}.temp-value{font-size:4rem}.nav a{padding:10px}.wind-footer{padding:11px 8px}.wind-dir-value{font-size:1.06rem}.wind-dir-label{font-size:.88rem}.wind-dir-caption{font-size:.78rem}.minmax{gap:10px;font-size:.85rem}.chart-title{align-items:flex-start;flex-direction:column}}

.station-map{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.9)}
.half-chart{grid-column:span 6}.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 18px}.page-head h1{margin:0;font-size:clamp(1.7rem,4vw,2.5rem)}.page-head p{margin:7px 0 0;color:var(--muted)}.page-head label{color:var(--muted);display:flex;align-items:center;gap:10px}.page-head select,.page-head input{border:1px solid var(--line);background:#041932;color:var(--text);border-radius:11px;padding:10px 13px;font:inherit}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.stat-card{padding:20px}.stat-card span{display:block;color:var(--muted);margin-bottom:12px}.stat-card b{font-size:1.7rem}.table-card{padding-bottom:8px}.table-wrap{overflow:auto;padding:0 18px 18px}table{border-collapse:collapse;width:100%;min-width:850px}th,td{text-align:right;padding:13px 12px;border-bottom:1px solid rgba(47,104,157,.42);white-space:nowrap}th:first-child,td:first-child{text-align:left}th{color:#a9c9ee;font-size:.88rem}td a{color:#55b7ff;text-decoration:none}tbody tr:hover{background:rgba(23,133,255,.07)}
@media(max-width:900px){.half-chart{grid-column:span 12}.summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.page-head{align-items:flex-start;flex-direction:column}.summary-grid{grid-template-columns:1fr}.stat-card b{font-size:1.45rem}}

/* Phase 5: Regenradar und vorbereitete Satellitenseite */
.radar-page-head{align-items:center}.radar-status{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid rgba(33,230,160,.45);border-radius:999px;background:rgba(33,230,160,.08);color:#caffe9}.radar-status .dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.radar-status.error{border-color:rgba(255,83,83,.5);color:#ffd6d6}.radar-status.error .dot{background:var(--red);box-shadow:0 0 12px var(--red)}
.radar-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.radar-card{overflow:hidden}.radar-map{height:clamp(480px,66vh,780px);background:#071b34}.radar-map .leaflet-control-attribution{color:#18324f}.radar-timebar{display:flex;justify-content:space-between;gap:18px;padding:13px 18px;border-top:1px solid var(--line);background:rgba(2,17,38,.94)}.radar-timebar div{display:flex;flex-direction:column;gap:4px}.radar-timebar span{font-size:.78rem;color:var(--muted)}.radar-timebar strong{font-size:.96rem}.radar-controls{padding:22px;display:flex;flex-direction:column;gap:15px;align-self:start;position:sticky;top:92px}.radar-controls h2{margin:0 0 3px}.radar-controls label{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.radar-controls input[type=range]{width:100%;accent-color:var(--blue)}.primary-button,.secondary-button{border-radius:12px;padding:12px 14px;font:inherit;font-weight:700;cursor:pointer}.primary-button{border:1px solid #268eff;color:white;background:linear-gradient(135deg,#0877ef,#0a50c5)}.secondary-button{border:1px solid var(--line);color:#d7eaff;background:#061a33}.primary-button:hover,.secondary-button:hover{filter:brightness(1.12)}.radar-legend,.source-note{border-top:1px solid rgba(22,75,125,.65);padding-top:15px}.radar-legend h3,.source-note strong{margin:0 0 9px;display:block}.legend-scale{height:13px;border-radius:999px;background:linear-gradient(90deg,#5bd0ff,#42ef88,#ffe441,#ff8c25,#ed244d,#9a36d5)}.legend-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.76rem;margin-top:6px}.source-note p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.radar-info{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:14px;padding:20px 22px}.radar-info h2{margin:0 0 7px;font-size:1.05rem}.radar-info p{margin:0;color:var(--muted);line-height:1.55}
.prepared-badge{padding:9px 14px;border-radius:999px;border:1px solid rgba(85,183,255,.5);background:rgba(23,133,255,.1);color:#bdddff;font-weight:700}.satellite-hero{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:32px;padding:28px}.satellite-hero h2{font-size:clamp(1.5rem,3vw,2.3rem);margin:7px 0 11px}.satellite-hero p{max-width:820px;color:var(--muted);line-height:1.65;margin:0}.satellite-orbit{width:190px;height:190px;border:1px solid rgba(85,183,255,.35);border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(23,133,255,.2),transparent 62%)}.earth{font-size:80px}.satellite-icon{position:absolute;font-size:34px;animation:orbit 9s linear infinite;transform-origin:-72px center;left:calc(50% + 72px);top:calc(50% - 17px)}@keyframes orbit{to{transform:rotate(360deg)}}.pipeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0}.pipeline-step{padding:20px}.pipeline-step>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0b66d7;border:1px solid #218bff;font-weight:800}.pipeline-step h3{margin:14px 0 7px}.pipeline-step p{margin:0;color:var(--muted);line-height:1.52}.satellite-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:14px}.satellite-placeholder,.metadata-card{padding:20px}.placeholder-image{min-height:400px;border:1px dashed rgba(85,183,255,.4);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;background:radial-gradient(circle at 50% 30%,rgba(23,133,255,.18),transparent 55%),#03152c}.placeholder-image span{font-size:70px}.placeholder-image strong{font-size:1.25rem}.placeholder-image small{max-width:500px;color:var(--muted);line-height:1.5}.metadata-card h2{margin:0 0 15px}.metadata-card dl{margin:0}.metadata-card dl div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(22,75,125,.5)}.metadata-card dt{color:var(--muted)}.metadata-card dd{margin:0;text-align:right;font-weight:700}.future-module{margin-top:14px;padding:20px 22px}.future-module h2{margin:0 0 8px}.future-module p{margin:0;color:var(--muted);line-height:1.6}.future-module code{color:#8bc7ff}
@media(max-width:1050px){.radar-layout{grid-template-columns:1fr}.radar-controls{position:static;display:grid;grid-template-columns:1fr 1fr}.radar-controls h2,.radar-controls .radar-legend,.radar-controls .source-note{grid-column:1/-1}.pipeline-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.radar-timebar,.radar-info{grid-template-columns:1fr;display:grid}.radar-controls{display:flex}.satellite-hero{grid-template-columns:1fr;text-align:center}.satellite-orbit{margin:auto}.satellite-grid{grid-template-columns:1fr}.pipeline-grid{grid-template-columns:1fr}.radar-map{height:520px}}

/* Phase 5.1: robuste Vollbreiten-Radarkarte */
.radar-status.warning{border-color:rgba(255,210,30,.55);background:rgba(255,210,30,.08);color:#fff1a6}.radar-status.warning .dot{background:var(--yellow);box-shadow:0 0 12px var(--yellow)}
.radar-stage{min-height:650px;overflow:hidden;isolation:isolate}.radar-map-wide{height:clamp(610px,72vh,880px);width:100%;background:#071b34}.radar-stage .leaflet-container{font-family:Inter,Segoe UI,Roboto,Arial,sans-serif}.radar-stage .leaflet-tile-pane{filter:saturate(.92) brightness(.96)}.radar-stage .leaflet-pane.leaflet-radar-pane img{background:transparent!important}.radar-stage .leaflet-tile{outline:1px solid transparent}
.radar-floating-controls{position:absolute;z-index:900;right:18px;top:18px;display:flex;flex-direction:column;gap:9px}.radar-icon-button{width:46px;height:46px;border:1px solid rgba(104,169,255,.65);border-radius:14px;background:rgba(3,20,44,.9);backdrop-filter:blur(10px);color:#eaf5ff;font-size:1.25rem;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.25)}.radar-icon-button:hover,.radar-icon-button.active{background:linear-gradient(135deg,#0877ef,#0a50c5);border-color:#52a6ff;transform:translateY(-1px)}
.radar-overlay-panel{position:absolute;z-index:890;left:18px;top:18px;width:min(310px,calc(100% - 110px));padding:14px 16px;border:1px solid rgba(104,169,255,.5);border-radius:16px;background:rgba(3,20,44,.88);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(0,0,0,.25)}.radar-overlay-title{display:flex;justify-content:space-between;gap:15px;margin-bottom:10px}.radar-overlay-title span{color:#9fc5f3}.radar-overlay-panel input[type=range]{width:100%;accent-color:var(--blue)}.radar-legend.compact{border:0;padding:9px 0 0}.radar-legend.compact .legend-scale{height:9px}.radar-legend.compact .legend-labels{font-size:.7rem}
.radar-timebar-overlay{position:absolute;z-index:880;left:18px;right:18px;bottom:18px;border:1px solid rgba(104,169,255,.45);border-radius:15px;background:rgba(2,17,38,.9);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(0,0,0,.24)}.radar-timebar-overlay{display:grid;grid-template-columns:repeat(3,1fr)}.radar-timebar-overlay>div+div{border-left:1px solid rgba(104,169,255,.3);padding-left:18px}
.radar-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.radar-meta-card{padding:20px 22px}.radar-meta-card h2{margin:0 0 8px;font-size:1.05rem}.radar-meta-card p{margin:0;color:var(--muted);line-height:1.55}
.radar-stage.radar-expanded{position:fixed;z-index:2000;inset:8px;border-radius:18px}.radar-stage.radar-expanded .radar-map-wide{height:100%}.radar-expanded-body{overflow:hidden}
@media(max-width:760px){.radar-stage{min-height:560px}.radar-map-wide{height:68vh;min-height:540px}.radar-overlay-panel{left:10px;top:10px;width:min(265px,calc(100% - 72px));padding:11px 12px}.radar-floating-controls{right:10px;top:10px}.radar-icon-button{width:42px;height:42px}.radar-timebar-overlay{left:10px;right:10px;bottom:10px;grid-template-columns:1fr 1fr;padding:10px 12px}.radar-timebar-overlay>div:nth-child(3){display:none}.radar-timebar-overlay>div+div{padding-left:11px}.radar-meta-grid{grid-template-columns:1fr}}

/* V6.0 – Vorhersage und Diagrammstatus */
.forecast-card{grid-column:1/-1;padding:18px}.forecast-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px}.forecast-head h2{margin:0}.forecast-head p{margin:4px 0 0;color:var(--muted,#9cbce3)}.forecast-days{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:10px}.forecast-day{border:1px solid rgba(95,145,215,.32);background:rgba(8,28,58,.58);border-radius:13px;padding:12px;text-align:center}.forecast-day.trend{opacity:.78}.forecast-date{font-weight:800}.forecast-icon{font-size:1.8rem;margin:8px 0}.forecast-temp{font-size:1.15rem;font-weight:800}.forecast-min{color:#9cbce3;font-size:.88rem}.forecast-rain,.forecast-wind{font-size:.76rem;color:#b8cdeb;margin-top:5px}.forecast-status{font-size:.78rem;color:#9cbce3}.chart-card.loading canvas{opacity:.35}.chart-message{padding:10px 0;color:#9cbce3;font-size:.82rem}
@media(max-width:900px){.forecast-days{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.forecast-days{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.forecast-day{min-width:128px;scroll-snap-align:start}}


/* V6.0.1 – Responsive Navigation und kompakte Kartenanzeige */
.mobile-menu-button,.mobile-nav-backdrop{display:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.compact-status-tile.radar-timebar-overlay{left:auto;right:12px;bottom:10px;width:auto;min-width:128px;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:12px;background:rgba(2,17,38,.58);border:1px solid rgba(135,185,245,.32);box-shadow:0 6px 18px rgba(0,0,0,.2);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:.82;font-variant-numeric:tabular-nums}
.compact-status-tile.radar-timebar-overlay>div{display:block;padding:0;border:0}
.compact-status-tile.radar-timebar-overlay>div+div{padding:0;border:0}
.compact-status-tile strong{font-size:.72rem;line-height:1;white-space:nowrap}
.compact-status-refresh{display:flex!important;align-items:center;gap:3px;color:#b9d2f2}
.compact-live-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.radar-meta-grid{display:none!important}

@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  body.mobile-nav-open{overflow:hidden}
  .shell{width:100%;padding:0 6px 16px}
  .topbar{position:sticky;top:0;z-index:1800;min-height:58px;margin:0;padding:7px 9px;border-radius:0 0 15px 15px;display:flex;flex-wrap:nowrap;gap:8px;background:rgba(2,15,32,.95)}
  .brand{min-width:0;gap:8px;flex:1}
  .brand-icon{font-size:25px;flex:0 0 auto}
  .brand-name{font-size:.94rem;overflow:hidden;text-overflow:ellipsis}
  .brand-subtitle{display:none}
  .version{display:none}
  .status-pill{padding:7px 9px;font-size:.75rem;margin:0;max-width:92px;overflow:hidden}
  .status-pill .dot{width:8px;height:8px}
  .mobile-menu-button{display:flex;flex-direction:column;justify-content:center;gap:4px;width:44px;height:44px;flex:0 0 44px;border:1px solid rgba(96,158,238,.45);border-radius:12px;background:rgba(5,28,56,.9);padding:11px;cursor:pointer;z-index:1810}
  .mobile-menu-button span{height:2px;width:100%;border-radius:2px;background:#eaf4ff;transition:transform .2s,opacity .2s}
  .mobile-nav-open .mobile-menu-button span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .mobile-nav-open .mobile-menu-button span:nth-child(2){opacity:0}
  .mobile-nav-open .mobile-menu-button span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .nav{position:fixed;z-index:1805;top:0;right:0;width:min(84vw,330px);height:100dvh;padding:78px 15px max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:stretch;gap:6px;overflow-y:auto;overflow-x:hidden;background:linear-gradient(160deg,rgba(4,25,51,.99),rgba(2,12,27,.99));border-left:1px solid rgba(83,147,226,.42);box-shadow:-18px 0 40px rgba(0,0,0,.42);transform:translateX(105%);transition:transform .24s ease}
  .mobile-nav-open .nav{transform:translateX(0)}
  .nav a{width:100%;min-height:48px;padding:13px 14px;border-radius:12px;font-size:.98rem;white-space:normal}
  .mobile-nav-backdrop{position:fixed;display:block;z-index:1801;inset:0;width:100%;height:100%;border:0;background:rgba(0,6,15,.64);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}
  .mobile-nav-open .mobile-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  .main{padding-top:10px}
  .page-head{margin-bottom:10px;padding:0 5px}
  .page-head h1{font-size:clamp(1.3rem,6vw,1.75rem)}
  .page-head p{font-size:.82rem;line-height:1.35}
  .radar-page-head .radar-status{font-size:.72rem;padding:7px 9px}
}

@media(max-width:600px){
  .topbar{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
  .brand-name{max-width:58vw}
  .status-pill{display:none}
  .radar-page-head{display:none}
  .radar-stage{border-radius:14px;min-height:calc(100dvh - 72px)}
  .radar-map-wide{height:calc(100dvh - 72px);min-height:520px}
  .compact-status-tile.radar-timebar-overlay{right:7px;bottom:7px;min-width:112px;padding:6px 8px;gap:5px;opacity:.72}
  .compact-status-tile strong{font-size:.67rem}
}

/* V6.1 – 10-Tage-Wetter */
.forecast-more{display:flex;justify-content:flex-end;margin-top:12px}.forecast-link{font-weight:800;color:#79c7ff;text-decoration:none}.forecast-link:hover{text-decoration:underline}.forecast-day{display:block;color:inherit;text-decoration:none;position:relative}.forecast-trend-label{position:absolute;right:7px;top:7px;padding:2px 6px;border-radius:999px;background:rgba(245,188,65,.16);border:1px solid rgba(245,188,65,.42);font-size:.64rem;font-weight:800;color:#ffd784}.forecast-page{padding-bottom:48px}.forecast-page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:8px 0 20px}.forecast-page-head h1{margin:3px 0 6px;font-size:clamp(1.55rem,3vw,2.35rem)}.forecast-page-head p{max-width:760px;margin:0;color:var(--muted,#9cbce3)}.forecast-page-status{white-space:nowrap;color:#9cbce3;font-size:.84rem}.forecast-page-days{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:12px}.forecast-page-day{position:relative;border:1px solid rgba(95,145,215,.34);background:linear-gradient(180deg,rgba(12,42,82,.82),rgba(6,22,47,.82));color:inherit;border-radius:16px;padding:15px;text-align:center;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.18);transition:transform .18s ease,border-color .18s ease}.forecast-page-day:hover,.forecast-page-day:focus-visible{transform:translateY(-2px);border-color:#45a9ff;outline:none}.forecast-page-day.trend{opacity:.8}.forecast-temp-row{display:flex;justify-content:center;align-items:baseline;gap:9px;margin:8px 0}.forecast-temp-row strong{font-size:1.45rem}.forecast-temp-row span{color:#9cbce3}.forecast-metric{font-size:.78rem;color:#bed2eb;margin-top:6px}.forecast-detail{margin-top:18px;padding:20px}.forecast-detail[hidden]{display:none}.forecast-detail-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.forecast-detail-head h2{margin:3px 0 0}.forecast-detail-close{width:38px;height:38px;border:1px solid rgba(95,145,215,.4);border-radius:10px;background:rgba(3,17,38,.72);color:#fff;font-size:1.5rem;cursor:pointer}.forecast-detail-summary{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin:18px 0}.forecast-detail-summary>div{padding:11px;border:1px solid rgba(95,145,215,.26);border-radius:12px;background:rgba(8,28,58,.5)}.forecast-detail-summary span,.forecast-detail-summary b{display:block}.forecast-detail-summary span{font-size:.72rem;color:#9cbce3;margin-bottom:4px}.forecast-hourly-wrap{overflow-x:auto;border-radius:13px;border:1px solid rgba(95,145,215,.28)}.forecast-hourly{width:100%;border-collapse:collapse;min-width:820px}.forecast-hourly th,.forecast-hourly td{padding:9px 11px;border-bottom:1px solid rgba(95,145,215,.18);text-align:left;white-space:nowrap}.forecast-hourly th{position:sticky;top:0;background:#09264d;color:#bcd5ef;font-size:.74rem}.forecast-hourly td{font-size:.8rem}
@media(max-width:1100px){.forecast-page-days{grid-template-columns:repeat(3,1fr)}.forecast-detail-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.forecast-page-head{display:block}.forecast-page-status{margin-top:10px}.forecast-page-days{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.forecast-page-day{min-width:158px;scroll-snap-align:start}.forecast-detail{padding:14px}.forecast-detail-summary{grid-template-columns:repeat(2,1fr)}}

/* V6.1.1 – Forecast UX Update */
.forecast-days{grid-template-columns:repeat(7,minmax(115px,1fr))}
.forecast-page-days{grid-template-columns:repeat(7,minmax(150px,1fr))}
.forecast-page-day{overflow:hidden}
.forecast-condition{min-height:2.2em;margin-top:-2px;font-size:.76rem;font-weight:800;color:#d6e8fb}
.forecast-page-day .forecast-condition{font-size:.82rem}
.forecast-quality{position:absolute;right:8px;top:8px;display:flex;align-items:center;gap:4px;font-size:.61rem;color:#afc8e5}
.forecast-quality i{width:7px;height:7px;border-radius:50%;background:#f0c75e;box-shadow:0 0 8px currentColor}
.forecast-quality.quality-very-high i{background:#42d88a}.forecast-quality.quality-high i{background:#78d48d}.forecast-quality.quality-medium i{background:#f0c75e}
.weather-symbol{display:inline-block;font-size:1em;line-height:1;transform-origin:center;filter:drop-shadow(0 5px 7px rgba(0,0,0,.22))}
.forecast-icon .weather-symbol{font-size:2.15rem}.weather-symbol-small{font-size:1.2rem!important;vertical-align:-.1em}
.weather-sunny{animation:forecastSun 9s linear infinite}.weather-mostlySunny,.weather-partly{animation:forecastCloud 4s ease-in-out infinite}.weather-showers,.weather-rain,.weather-thunder,.weather-snow{animation:forecastRain 1.8s ease-in-out infinite}.weather-cloudy,.weather-fog{animation:forecastCloud 5s ease-in-out infinite}
@keyframes forecastSun{to{transform:rotate(360deg)}}@keyframes forecastCloud{50%{transform:translateX(3px)}}@keyframes forecastRain{50%{transform:translateY(2px)}}
.forecast-rain-bar{height:4px;margin:8px 0 5px;border-radius:99px;background:rgba(121,181,231,.13);overflow:hidden}.forecast-rain-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#58bfff,#397ef3)}
.wind-arrow{display:inline-block;font-weight:900;transform:rotate(var(--wind-rotation));transform-origin:50% 50%;color:#8ed6ff;margin-right:2px}
.forecast-sun{font-size:.76rem;color:#b8cdeb;margin-top:5px}
.temp-cold{color:#8ed7ff!important}.temp-cool{color:#8ff0d0!important}.temp-mild{color:#ffe07a!important}.temp-warm{color:#ffb268!important}.temp-hot{color:#ff7e6f!important}
.forecast-detail-summary{grid-template-columns:repeat(4,minmax(130px,1fr))}
.forecast-hourly td:nth-child(2){font-size:1.08rem}.forecast-hourly tr.hour-night td{background:rgba(1,11,28,.28);color:#afc5df}.forecast-hourly tr.hour-current td{background:rgba(33,128,230,.24);box-shadow:inset 0 1px rgba(111,193,255,.26),inset 0 -1px rgba(111,193,255,.26)}.forecast-hourly tr.hour-sunrise td{background:rgba(255,210,82,.10)}.forecast-hourly tr.hour-sunset td{background:rgba(255,132,72,.10)}.now-label{display:inline-block;margin-left:5px;padding:1px 5px;border-radius:999px;background:#168cff;color:#fff;font-size:.62rem;font-weight:800}
body.forecast-weather-sunny .shell,body.forecast-weather-mostlySunny .shell{background:radial-gradient(circle at 75% 8%,rgba(54,157,255,.16),transparent 35%)}body.forecast-weather-cloudy .shell,body.forecast-weather-partly .shell{background:radial-gradient(circle at 75% 8%,rgba(143,169,198,.12),transparent 38%)}body.forecast-weather-rain .shell,body.forecast-weather-showers .shell{background:radial-gradient(circle at 75% 8%,rgba(50,105,165,.17),transparent 38%)}body.forecast-weather-thunder .shell{background:radial-gradient(circle at 75% 8%,rgba(101,67,160,.19),transparent 38%)}body.forecast-weather-snow .shell{background:radial-gradient(circle at 75% 8%,rgba(188,226,255,.16),transparent 38%)}
@media(max-width:1350px){.forecast-page-days{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.forecast-page-days{grid-template-columns:repeat(3,1fr)}.forecast-detail-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.forecast-page-days{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding:2px 2px 10px}.forecast-page-day{min-width:172px;scroll-snap-align:center}.forecast-days{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.forecast-day{min-width:145px;scroll-snap-align:start}.forecast-detail-summary{grid-template-columns:1fr 1fr}.forecast-hourly th,.forecast-hourly td{padding:10px 9px}}
@media(prefers-reduced-motion:reduce){.weather-symbol{animation:none!important}.forecast-page-day{transition:none}}
\n\n/* V6.2.4 – öffentliches Wetterdashboard */
.public-dashboard .grid{gap:18px}
body{background:radial-gradient(circle at 18% -8%,rgba(25,111,191,.34),transparent 34%),radial-gradient(circle at 86% 12%,rgba(27,164,202,.14),transparent 30%),linear-gradient(155deg,#020b17,#04172c 54%,#031126)}
.card{border-color:rgba(76,145,210,.36);border-radius:24px;background:linear-gradient(150deg,rgba(9,37,70,.96),rgba(3,19,39,.97));box-shadow:0 18px 46px rgba(0,0,0,.24)}
.card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(143,207,255,.42),transparent);pointer-events:none}
.temp-card{grid-column:span 6;min-height:245px;padding:30px 34px}
.temp-icon{font-size:86px}
.temp-value{font-size:clamp(5rem,8vw,7.2rem)}
.wind-speed-card,.gust-card{grid-column:span 3;min-height:245px;padding:28px}
.wind-speed-card .metric-value,.gust-card .metric-value{font-size:clamp(3rem,5vw,4.35rem)}
.wind-direction-card{grid-column:span 6;min-height:470px}
.wind-map{height:315px}
.metric{grid-column:span 3;min-height:215px;padding:26px}
.metric-value{font-size:clamp(2.75rem,4.4vw,4rem);margin-top:20px}
.metric-head{font-size:1.12rem}.metric-icon{font-size:40px}
.forecast-card{padding:26px 26px 24px}.forecast-head{margin-bottom:20px}.forecast-head h2{font-size:1.45rem}.forecast-days{gap:13px}.forecast-day{padding:17px 12px;border-radius:17px;background:linear-gradient(180deg,rgba(15,51,94,.78),rgba(6,25,50,.82));min-height:205px;display:flex;flex-direction:column;justify-content:center}.forecast-icon{font-size:2.35rem}.forecast-temp{font-size:1.4rem}
.chart-card{min-height:455px}.half-chart{grid-column:span 12}.chart-title{padding:27px 30px 8px}.chart-title h2{font-size:1.45rem}.chart-title p{font-size:.95rem}.minmax{font-size:1rem}canvas{height:365px;padding:10px 22px 22px}
.footer{margin-top:22px;padding:0 4px}.refresh-note{font-size:.84rem;opacity:.8}
@media(max-width:1150px){.temp-card{grid-column:span 6}.wind-speed-card,.gust-card{grid-column:span 3}.metric{grid-column:span 6}.wind-direction-card{grid-column:span 12}.wind-map{height:340px}}
@media(max-width:760px){.temp-card,.wind-speed-card,.gust-card,.metric,.wind-direction-card{grid-column:span 12}.temp-card{min-height:210px;padding:24px}.temp-icon{font-size:64px}.wind-speed-card,.gust-card,.metric{min-height:175px}.wind-map{height:285px}.forecast-card{padding:18px}.chart-card{min-height:390px}.chart-title{padding:20px 18px 8px}canvas{height:305px;padding:8px 8px 18px}}


/* V7.0-r2 – Öffentliche Stationsauswahl */
[hidden]{display:none!important}
.station-picker{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(260px,.8fr) auto;
  gap:24px;
  align-items:center;
  padding:24px 28px;
  margin-bottom:22px;
  border:1px solid rgba(81,166,255,.32);
  background:
    radial-gradient(circle at 10% 20%,rgba(34,145,255,.17),transparent 38%),
    linear-gradient(135deg,rgba(8,31,61,.98),rgba(4,18,38,.96));
}
.station-picker-copy h1{margin:4px 0 5px;font-size:clamp(1.45rem,2.4vw,2.25rem)}
.station-picker-copy p{margin:0;color:var(--muted,#a8c5e8)}
.station-picker-control{display:grid;gap:7px;color:#bfd7f4;font-size:.86rem;font-weight:700}
.station-picker-control select{
  width:100%;
  padding:13px 42px 13px 14px;
  border-radius:10px;
  border:1px solid rgba(91,169,245,.45);
  background:#071a32;
  color:#f4f9ff;
  font:inherit;
}
.station-picker-status{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;min-width:180px}
.station-picker-status strong{font-size:1.05rem}
.station-picker-status small{grid-column:2;color:#9cbce3;margin-top:3px;white-space:nowrap}
.station-picker-dot{width:11px;height:11px;border-radius:50%;background:#35d07f;box-shadow:0 0 0 5px rgba(53,208,127,.12)}
.station-picker.offline .station-picker-dot{background:#ff6767;box-shadow:0 0 0 5px rgba(255,103,103,.12)}
@media(max-width:900px){
  .station-picker{grid-template-columns:1fr 1fr}
  .station-picker-status{grid-column:1/-1}
}
@media(max-width:620px){
  .station-picker{grid-template-columns:1fr;padding:20px}
  .station-picker-status{grid-column:auto}
  .station-picker-status small{white-space:normal}
}
