*{box-sizing:border-box}body{margin:0;font:16px system-ui,Arial;color:#fff;background:radial-gradient(circle at 75% 15%,#246db0 0,#092b55 45%,#061b37 100%);min-height:100vh;display:flex;flex-direction:column}header,footer{display:flex;align-items:center;justify-content:space-between;padding:16px 5vw;background:#071b32dd;backdrop-filter:blur(10px)}header{position:sticky;top:0;z-index:5;border-bottom:1px solid #ffffff20}.brand{color:#fff;text-decoration:none;font-size:24px}nav{display:flex;gap:8px}button{font:inherit;cursor:pointer}nav button,footer button{border:0;background:transparent;color:#dcecff;padding:8px}.hero{width:min(1180px,92vw);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center;padding:42px 0}.badge{display:inline-block;background:#ffffff18;border:1px solid #ffffff25;border-radius:999px;padding:8px 13px}.copy h1{font-size:clamp(44px,7vw,82px);line-height:.94;margin:20px 0}.copy em{font-style:normal;color:#ffd348}.copy p{color:#d5e6f7;max-width:580px;font-size:18px}.actions{display:flex;gap:12px;margin:24px 0}.primary,.secondary{padding:13px 18px;border-radius:12px;border:1px solid #ffffff40}.primary{background:#ffd348;color:#10253d;border:0;font-weight:700}.secondary{background:#ffffff14;color:#fff}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tiles button{background:#ffffff10;border:1px solid #ffffff20;color:#fff;border-radius:14px;padding:14px;text-align:left}.tiles small{display:block;color:#bcd2e7;margin-top:5px}.visual{position:relative}.visual img{width:100%;display:block;border-radius:24px;box-shadow:0 24px 60px #0007}.live{position:absolute;left:18px;bottom:18px;background:#071b32e8;padding:9px 12px;border-radius:9px;font-weight:700}main{flex:1;display:flex}footer{font-size:14px;color:#bdd1e5;gap:20px}dialog{width:min(700px,92vw);border:1px solid #ffffff2a;border-radius:18px;background:#0b2747;color:#fff;padding:30px;box-shadow:0 20px 80px #000b}dialog::backdrop{background:#001020b8}.close{float:right;border:0;background:#ffffff16;color:#fff;border-radius:50%;width:36px;height:36px;font-size:24px}.modalText h2{margin-top:4px}.modalText p,.modalText li{color:#d5e6f7;line-height:1.6}#cookie{position:fixed;left:20px;right:20px;bottom:20px;z-index:8;background:#fff;color:#13283d;padding:14px 18px;border-radius:14px;display:flex;align-items:center;gap:14px;box-shadow:0 12px 40px #0007}#cookie span{flex:1}#cookie button{background:#0b4e86;color:#fff;border:0;border-radius:9px;padding:10px 14px}@media(max-width:800px){.hero{grid-template-columns:1fr;padding:26px 0}.visual{order:-1}.copy h1{font-size:48px}.tiles{grid-template-columns:1fr}header nav button:first-child{display:none}footer{flex-direction:column;align-items:flex-start}#cookie{flex-wrap:wrap}.brand{font-size:20px}}
.weatherHead{display:flex;justify-content:space-between;align-items:center;gap:20px}.weatherHead div{display:flex;flex-direction:column}.weatherHead strong{font-size:54px;color:#ffd348}.weatherHead small,.source{color:#9fc0dd}.placeForm{display:flex;gap:8px;margin:18px 0}.placeForm input{flex:1;min-width:0;padding:12px;border-radius:10px;border:1px solid #ffffff30;background:#061b37;color:#fff}.placeForm button{border:0;border-radius:10px;background:#ffd348;color:#10253d;font-weight:700;padding:10px 14px}.forecast{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.forecast div{background:#ffffff0d;border:1px solid #ffffff18;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.forecast b{font-size:22px}.forecast span{font-size:12px;color:#bdd1e5}@media(max-width:600px){.forecast{grid-template-columns:repeat(2,1fr)}.placeForm{flex-direction:column}}

.brandRow{display:flex;align-items:center;gap:18px}.headerPlaceForm{display:flex;gap:6px}.headerPlaceForm input{width:190px;padding:9px 11px;border-radius:9px;border:1px solid #ffffff30;background:#061b37;color:#fff}.headerPlaceForm button{border:0;border-radius:9px;background:#ffd348;color:#10253d;font-weight:700;padding:9px 12px}@media(max-width:800px){header{align-items:flex-start;gap:10px}.brandRow{flex-wrap:wrap;gap:8px}.headerPlaceForm input{width:145px}.headerPlaceForm button{padding:8px 10px}}

.tvModal{max-width:760px}.tvStage{position:relative;overflow:hidden;border-radius:16px;background:#061b37;box-shadow:0 16px 45px #0008}.tvStage img{width:100%;display:block;transform-origin:50% 65%;transition:transform .4s}.tvLive{position:absolute;top:14px;left:14px;background:#b51622;color:#fff;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:800}.tvLower{position:absolute;left:0;right:0;bottom:0;padding:13px 16px;background:linear-gradient(90deg,#061b37ed,#0b4e86e8);display:flex;justify-content:space-between;gap:12px}.tvControls{display:flex;gap:10px;margin:16px 0}.tvStatus{color:#bcd2e7}.tvScript{background:#ffffff0b;border:1px solid #ffffff18;border-radius:12px;padding:13px;margin:12px 0}.tvScript p{margin-bottom:0}.tvStage.speaking img{animation:presenterMove 3.2s ease-in-out infinite}.tvStage.speaking .tvLive{animation:livePulse 1.1s ease-in-out infinite}@keyframes presenterMove{0%,100%{transform:scale(1) translateX(0)}25%{transform:scale(1.012) translateX(-2px)}55%{transform:scale(1.018) translateX(2px)}75%{transform:scale(1.008) translateY(-2px)}}@keyframes livePulse{50%{opacity:.6}}@media(max-width:600px){.tvLower{font-size:13px}.tvControls{flex-direction:column}}

/* Wetter TV 1.3.1: feste 16:9-TV-Ansicht ohne Scrollen */
dialog:has(.tvScreen){width:min(1280px,96vw);max-width:none;height:auto;max-height:96vh;padding:10px;overflow:hidden;background:#04152a;border-radius:14px}dialog:has(.tvScreen)>.close{display:none}.tvScreen{width:100%;height:min(88vh,calc(96vw * .62));max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.tvPicture{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:10px;background:#061b37}.tvPicture>img{width:100%;height:100%;object-fit:cover;display:block}.tvTop{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;gap:12px;padding:9px 14px;background:linear-gradient(#03152be8,#03152b99,transparent);font-size:clamp(11px,1.2vw,16px);text-shadow:0 2px 5px #000}.tvTop b{color:#fff}.tvTicker{position:absolute;left:0;right:0;bottom:0;height:48px;display:flex;align-items:center;background:#071b32f2;border-top:1px solid #ffffff33;overflow:hidden}.tvTicker>b{height:100%;display:flex;align-items:center;padding:0 18px;background:#b51622;white-space:nowrap;font-size:clamp(11px,1.2vw,16px)}.tickerWindow{overflow:hidden;flex:1;white-space:nowrap}.tickerWindow span{display:inline-block;padding-left:100%;animation:w24Ticker 26s linear infinite}.tvControls{height:58px;flex:0 0 58px;display:flex;align-items:center;justify-content:center;gap:10px;margin:0;padding:8px;background:#061b37}.tvControls button{border:1px solid #ffffff55;border-radius:9px;padding:9px 18px;color:#fff;font-weight:700}.tvPlay{background:#c81f25}.tvStop,.tvClose{background:#ffffff13}.tvControls #tvStatus{margin-left:8px;color:#bcd2e7;font-size:13px}.tvPicture.speaking>img{animation:tvCamera 7s ease-in-out infinite}.tvPicture.speaking .tvTop b{animation:livePulse 1.1s ease-in-out infinite}@keyframes w24Ticker{to{transform:translateX(-100%)}}@keyframes tvCamera{0%,100%{transform:scale(1)}50%{transform:scale(1.015)}}@media(max-width:700px){dialog:has(.tvScreen){width:98vw;padding:5px}.tvScreen{height:min(88vh,78vw)}.tvTicker{height:38px}.tvControls{height:52px;flex-basis:52px;gap:5px}.tvControls button{padding:8px 10px;font-size:12px}.tvControls #tvStatus{display:none}.tvTicker>b{padding:0 9px}}

/* Wetter TV 1.3.2: echte 16:9-Buehne, Bild vollstaendig sichtbar */
dialog:has(.tvScreen){width:min(1440px,98vw);height:min(96vh,900px);padding:6px;overflow:hidden}
.tvScreen{width:100%;height:100%;max-height:none;display:grid;grid-template-rows:minmax(0,1fr) 54px;background:#04152a}
.tvPicture{width:100%;height:100%;min-height:0;aspect-ratio:16/9;margin:auto;background:#020b16;display:flex;align-items:center;justify-content:center}
.tvPicture>img{width:100%;height:100%;object-fit:contain;object-position:center center;background:#020b16}
.tvTicker{bottom:0;height:44px}
.tvControls{height:54px;min-height:54px;padding:6px 8px}
.tvControls #tvStatus{display:none}
@media (min-aspect-ratio:16/10){.tvScreen{max-width:calc((96vh - 66px) * 16 / 9);margin:auto}}
@media(max-width:700px){dialog:has(.tvScreen){width:99vw;height:96vh}.tvScreen{height:100%;grid-template-rows:minmax(0,1fr) 48px}.tvControls{height:48px;min-height:48px}.tvPicture{aspect-ratio:auto}.tvTicker{height:36px}}

/* Wetter TV 1.4 - video/avatar layer */
.tvAvatarVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#020b16;display:none;z-index:1}
.tvPicture.hasVideo .tvAvatarVideo{display:block}
.tvPicture.hasVideo .tvFallback{visibility:hidden}
.tvTop,.tvTicker{z-index:3}
.tvPicture.speaking.hasVideo .tvAvatarVideo{animation:avatarBreath 4.8s ease-in-out infinite}
@keyframes avatarBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.006)}}
/* v1.6.0 HTML Wetter-TV */
.htmlTv .tvPicture{isolation:isolate}.htmlTv .tvFallback{z-index:0}.htmlTv .tvScene{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(1.025);transition:opacity .7s ease,transform .9s ease;pointer-events:none}.htmlTv .tvScene.active{opacity:1;transform:scale(1)}.sceneCard{padding:22px 34px;border-radius:16px;background:linear-gradient(135deg,#041a36e8,#0a4784d9);border:1px solid #ffffff45;box-shadow:0 14px 45px #0008;text-align:center;backdrop-filter:blur(5px);max-width:72%}.sceneCard small,.sceneCard span{display:block}.sceneCard small{font-weight:800;letter-spacing:.12em;color:#cfe9ff}.sceneCard strong{display:block;font-size:clamp(30px,5vw,72px);line-height:1.05;margin:6px 0;color:#fff}.sceneCard span{font-size:clamp(14px,1.7vw,24px)}.sceneNow{justify-content:flex-end!important;align-items:flex-start!important;padding:12% 8% 0 0}.sceneNow .sceneCard{min-width:28%}.sceneForecast{align-items:flex-end!important;padding-bottom:70px}.forecastTv{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:min(760px,75%);padding:10px;border-radius:14px;background:#041a36d9;border:1px solid #ffffff35}.forecastTv>div{display:grid;text-align:center;padding:9px 5px;border-radius:9px;background:#ffffff12}.forecastTv b{font-size:clamp(20px,2.7vw,38px)}.forecastTv span{font-size:clamp(10px,1vw,14px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sceneOutro .sceneCard{background:linear-gradient(135deg,#071b32ed,#0b5ca5dd)}.tvFull{background:#ffffff13}.htmlTv:fullscreen{width:100vw;height:100vh;max-width:none;background:#020b16;padding:0}.htmlTv:fullscreen .tvPicture{border-radius:0}.htmlTv:fullscreen .tvControls{position:absolute;left:0;right:0;bottom:0;z-index:10;opacity:.2;transition:opacity .2s}.htmlTv:fullscreen .tvControls:hover{opacity:1}@media(max-width:700px){.sceneCard{max-width:84%;padding:12px 18px}.sceneNow{padding:14% 4% 0 0}.forecastTv{width:88%;padding:6px}.tvFull{display:none}}
/* v1.6.1: Wetter-TV vollständig als HTML/CSS, kein Webseiten-/Studio-Hintergrundbild */
.htmlStudio{position:relative;background:linear-gradient(145deg,#061629 0%,#0a3765 45%,#071b32 100%);overflow:hidden}
.htmlStudio:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.7%,#5bc0ff33 50%,transparent 50.3%),linear-gradient(#ffffff08 1px,transparent 1px);background-size:100% 100%,100% 64px;pointer-events:none}
.studioLights{position:absolute;left:0;right:0;top:0;height:14%;background:radial-gradient(ellipse at 20% 0,#8ed7ff88 0,transparent 45%),radial-gradient(ellipse at 50% 0,#8ed7ff66 0,transparent 42%),radial-gradient(ellipse at 80% 0,#8ed7ff88 0,transparent 45%)}
.studioFloor{position:absolute;left:-8%;right:-8%;bottom:44px;height:34%;background:linear-gradient(180deg,#0d315500,#0b2748 28%,#071526 100%);clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);border-top:2px solid #52b9ff55}
.studioBrand{position:absolute;left:3%;top:8%;display:flex;flex-direction:column;z-index:1;text-shadow:0 2px 12px #000}.studioBrand b{font-size:clamp(18px,2.4vw,38px)}.studioBrand b span{color:#ffd348}.studioBrand small{color:#cfe9ff;font-size:clamp(10px,1vw,15px)}
.presenterSlot{position:absolute;left:7%;bottom:44px;width:34%;height:72%;z-index:1;display:flex;align-items:flex-end;justify-content:center}.presenterPlaceholder{width:58%;height:78%;border:1px dashed #a9dcff66;border-radius:48% 48% 18% 18%/24% 24% 12% 12%;background:linear-gradient(180deg,#ffffff10,#5bc0ff0d);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#bfe6ff;text-align:center}.presenterPlaceholder span{font-weight:800;font-size:clamp(14px,1.5vw,22px)}.presenterPlaceholder small{opacity:.7}.presenterSlot .tvAvatarVideo{inset:auto;width:100%;height:100%;object-fit:contain;background:transparent;z-index:2}.tvPicture.hasVideo .presenterPlaceholder{display:none}.tvPicture.hasVideo .tvAvatarVideo{display:block}
.weatherWall{position:absolute;right:4%;top:13%;width:52%;height:67%;z-index:1;border:1px solid #79caff66;border-radius:16px;background:linear-gradient(145deg,#0c4d86e8,#06284ee8);box-shadow:inset 0 0 40px #4bbcff18,0 16px 45px #0005;padding:2.5%;display:grid;grid-template-rows:auto 1fr auto}.wallTitle{font-size:clamp(16px,2vw,30px);font-weight:800}.mapVector{margin:auto;width:min(55%,280px);aspect-ratio:.78;clip-path:polygon(43% 0,60% 8%,67% 18%,80% 24%,73% 38%,88% 51%,80% 65%,69% 69%,63% 88%,48% 100%,35% 88%,21% 91%,18% 72%,5% 61%,13% 48%,7% 32%,22% 24%,27% 10%);background:linear-gradient(145deg,#58a95b,#1d713e);box-shadow:inset 0 0 35px #bfffc633;display:flex;flex-direction:column;align-items:center;justify-content:center;text-shadow:0 2px 6px #000}.mapIcon{font-weight:900;font-size:clamp(20px,3vw,42px);opacity:.35}.mapVector strong{font-size:clamp(26px,4vw,58px)}.mapVector small{font-size:clamp(10px,1.1vw,16px);max-width:80%;text-align:center}.wallForecast{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.wallForecast>div{background:#ffffff10;border-radius:8px;padding:5px;text-align:center;display:grid}.wallForecast b{font-size:clamp(13px,1.5vw,22px)}.wallForecast small,.wallForecast span{font-size:clamp(8px,.8vw,12px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.htmlTv .sceneIntro{background:linear-gradient(90deg,#03152b66,#03152b11)}
@media(max-width:700px){.weatherWall{right:2%;width:58%;top:14%;height:62%}.presenterSlot{left:2%;width:38%;height:65%}.studioBrand{left:2%;top:7%}.wallForecast{grid-template-columns:repeat(2,1fr)}.wallForecast>div:nth-child(n+3){display:none}}
/* v1.6.2: Moderatorin separat + aufgeräumte Deutschland-Wetterwand */
.presenterSlot{left:3.5%;bottom:44px;width:37%;height:82%;overflow:hidden;border-radius:18px 18px 0 0;background:linear-gradient(180deg,#12395a,#061b37);box-shadow:0 12px 34px #0007}
.presenterPhoto{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block;filter:saturate(.95) contrast(1.03)}
.tvPicture.speaking .presenterPhoto{animation:presenterBreath 4.5s ease-in-out infinite;transform-origin:50% 75%}
@keyframes presenterBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.012) translateY(-2px)}}
.weatherWall{left:42%;right:3%;top:11%;bottom:56px;padding:14px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px}
.wallTitle{font-size:clamp(16px,2vw,28px)}
.germanyMap{position:relative;min-height:0;border-radius:16px;background:radial-gradient(circle at 50% 45%,#145b83,#082d50 68%,#061b37);border:1px solid #ffffff24;display:flex;align-items:center;justify-content:center;overflow:hidden}
.germanyMap svg{height:92%;width:auto;filter:drop-shadow(0 10px 18px #0008)}
.mapCurrent{position:absolute;right:5%;top:8%;padding:10px 14px;border-radius:12px;background:#041a36d9;border:1px solid #ffffff30;text-align:center}.mapCurrent strong{display:block;font-size:clamp(24px,3vw,46px)}.mapCurrent span{font-size:clamp(11px,1.1vw,16px)}
.htmlTv .tvScene{z-index:4}.sceneIntro,.sceneOutro{background:linear-gradient(90deg,#03152bcc,#03152b55)}
.sceneNow{padding:13% 5% 0 0}.sceneNow .sceneCard{max-width:42%}
.sceneForecast{padding-left:40%;padding-bottom:66px}.forecastTv{width:92%}
@media(max-width:700px){.presenterSlot{left:2%;width:36%;height:72%}.weatherWall{left:39%;right:2%;top:13%;bottom:42px;padding:7px}.wallForecast{display:none}.mapCurrent{padding:6px 8px}.sceneForecast{padding-left:34%;padding-bottom:48px}}

/* v1.6.5 – 16:9 TV layout refinement */
.htmlStudio{background:radial-gradient(circle at 28% 28%,#0b3762 0,#061d38 38%,#020b16 78%);}
.presenterSlot{left:3.2%;bottom:44px;width:40%;height:82%;align-items:flex-end;justify-content:flex-start;overflow:visible}
.presenterPhoto{display:block;width:100%;height:100%;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 16px 22px #0008)}
.weatherWall{right:2.5%;top:9%;width:58%;height:73%;padding:1.7% 2%;border-radius:18px;background:linear-gradient(145deg,#0b4d86f2,#06284ef2)}
.wallTitle{font-size:clamp(18px,2.2vw,32px)}
.germanyMap{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.germanyMap svg{height:94%;width:auto;max-width:64%;filter:drop-shadow(0 9px 15px #0006)}
.mapCurrent{right:2%;top:4%;min-width:25%}
.wallForecast{gap:8px;margin-top:3px}
.wallForecast>div{padding:7px 5px}
.tvTicker{height:42px}
.tvControls{height:48px;min-height:48px;gap:8px;padding:5px 8px}
.tvControls button{padding:7px 15px}
.htmlTv .tvScene.sceneNow{padding:11% 3.5% 0 0}
.htmlTv .tvScene.sceneForecast{padding-left:36%;padding-bottom:58px}
@media(max-width:700px){.presenterSlot{left:1%;width:39%;height:78%}.weatherWall{left:auto;right:1%;width:61%;top:11%;height:70%}.germanyMap svg{max-width:82%;height:88%}.tvTicker{height:34px}.tvControls{height:44px;min-height:44px}}
/* v1.6.6: presenter larger on wide TV screens */
.presenterSlot{left:1.8%;width:45%;height:88%;bottom:42px}
@media(max-width:700px){.presenterSlot{left:1%;width:42%;height:82%}}

/* v1.6.7: continuous moderation, Tina prominent */
.presenterSlot{left:1%;width:50%;height:94%;bottom:40px}
.weatherWall{right:1.5%;width:57%;}
@media(max-width:700px){.presenterSlot{left:0;width:45%;height:86%}.weatherWall{right:1%;width:59%}}

/* v1.7.0 Dynamisches Wetter-TV */
.weatherWall,.germanyMap,.sceneNow,.sceneForecast,.studioBrand,.studioLights,.studioFloor{display:none!important}
.htmlStudio{background:#07182c;overflow:hidden}.weatherAtmosphere{position:absolute;inset:0;z-index:0;overflow:hidden;background:linear-gradient(180deg,#327fba,#6da8cc 48%,#16334d);transition:.8s}.weatherAtmosphere:after{content:"";position:absolute;left:0;right:0;bottom:40px;height:34%;background:linear-gradient(180deg,transparent,#071725bb),radial-gradient(ellipse at 75% 100%,#456746 0 27%,transparent 28%)}
.weatherSun{position:absolute;right:18%;top:17%;width:12%;aspect-ratio:1;border-radius:50%;background:#ffd54a;box-shadow:0 0 45px #ffd54aaa,0 0 100px #ffe28c88;opacity:0}.weatherCloud{position:absolute;width:22%;height:10%;border-radius:999px;background:#e9f1f6;box-shadow:inset 0 -12px 20px #9bb0bf66,0 12px 25px #001a2d55;opacity:0}.weatherCloud:before,.weatherCloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.weatherCloud:before{width:45%;aspect-ratio:1;left:13%;bottom:28%}.weatherCloud:after{width:36%;aspect-ratio:1;right:14%;bottom:35%}.cloudOne{right:13%;top:23%}.cloudTwo{right:37%;top:34%;transform:scale(.72)}
.weatherRain,.weatherSnow,.weatherFog,.weatherFlash{position:absolute;inset:0;opacity:0}.weatherRain{background:repeating-linear-gradient(110deg,transparent 0 22px,#bde6ff99 23px 25px,transparent 26px 44px);animation:rainMove .8s linear infinite}.weatherSnow{background-image:radial-gradient(circle,#fff 0 2px,transparent 3px),radial-gradient(circle,#eaf6ff 0 3px,transparent 4px);background-size:42px 42px,67px 67px;animation:snowMove 6s linear infinite}.weatherFog{background:repeating-linear-gradient(180deg,transparent 0 11%,#eaf5fa66 12% 18%,transparent 19% 28%);filter:blur(5px)}.weatherFlash{animation:flash 5s steps(1) infinite}
.weather-sunny .weatherSun,.weather-partly .weatherSun{opacity:1}.weather-partly .weatherCloud,.weather-cloudy .weatherCloud,.weather-rain .weatherCloud,.weather-snow .weatherCloud,.weather-storm .weatherCloud,.weather-changeable .weatherCloud{opacity:.92}.weather-rain .weatherRain,.weather-storm .weatherRain{opacity:.58}.weather-snow .weatherSnow{opacity:.75}.weather-fog .weatherFog{opacity:.8}.weather-storm .weatherFlash{opacity:.18}.weather-cloudy .weatherAtmosphere,.weather-rain .weatherAtmosphere,.weather-storm .weatherAtmosphere{background:linear-gradient(180deg,#526b7e,#314b60 50%,#102436)}.weather-fog .weatherAtmosphere{background:linear-gradient(180deg,#aab9c1,#879aa4 55%,#40535e)}.weather-snow .weatherAtmosphere{background:linear-gradient(180deg,#91b4cb,#d3e3ea 56%,#557486)}
.presenterSlot{left:1%;bottom:40px;width:43%;height:92%;z-index:3;overflow:visible;background:transparent;box-shadow:none}.presenterPhoto{object-fit:contain;object-position:left bottom;filter:drop-shadow(0 16px 25px #00101daa)}
.weatherVisualPanel{position:absolute;z-index:2;right:2.5%;top:13%;bottom:54px;width:59%;padding:3%;border-radius:22px;background:linear-gradient(180deg,#06182d22,#06182d99 60%,#04101ddd);border:1px solid #ffffff2b;box-shadow:0 18px 50px #0005}.weatherLocation{position:absolute;top:5%;left:5%;display:flex;flex-direction:column;text-shadow:0 3px 10px #000}.weatherLocation small{font-weight:800;letter-spacing:.15em;color:#d8edff}.weatherLocation strong{font-size:clamp(24px,3.2vw,48px)}.weatherNow{position:absolute;top:20%;left:5%;display:flex;align-items:center;gap:18px;text-shadow:0 3px 12px #000}.weatherBigIcon{font-size:clamp(54px,7vw,105px)}.weatherNow>div{display:flex;flex-direction:column}.weatherNow strong{font-size:clamp(46px,6vw,88px);line-height:.95}.weatherNow b{font-size:clamp(17px,2vw,30px)}.weatherNow small{color:#d7eafa;margin-top:5px}
.tvDays{position:absolute;left:4%;right:4%;bottom:5%;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.tvDay{min-width:0;padding:10px 5px;border-radius:12px;background:#06182dcc;border:1px solid #ffffff2c;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px}.dayIcon{font-size:clamp(22px,2.6vw,38px)}.tvDay b{font-size:clamp(13px,1.4vw,21px)}.tvDay em{font-style:normal;font-size:clamp(8px,.8vw,12px);color:#cce5f7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.tvTop{z-index:5}.tvTicker{z-index:6}
@keyframes rainMove{to{background-position:-45px 80px}}@keyframes snowMove{to{background-position:30px 100px,-35px 120px}}@keyframes flash{0%,92%,96%,100%{background:transparent}93%,95%{background:#eaf7ff}}
@media(max-width:700px){.presenterSlot{width:39%;height:82%}.weatherVisualPanel{right:1%;width:65%;top:14%;bottom:40px;padding:2%}.tvDays{grid-template-columns:repeat(3,1fr)}.tvDay:nth-child(n+4){display:none}}

/* v1.7.1 hard reset: alte Karten-/Szenenreste sicher ausblenden */
.htmlTv .weatherWall,.htmlTv .germanyMap,.htmlTv .sceneNow,.htmlTv .sceneForecast,
.htmlTv .studioBrand,.htmlTv .studioLights,.htmlTv .studioFloor,
.htmlTv [class*="germany"],.htmlTv [class*="mapCard"]{display:none!important;visibility:hidden!important}
.htmlTv .htmlStudio{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;aspect-ratio:16/9!important;min-height:0!important}
.htmlTv .weatherAtmosphere{display:block!important;visibility:visible!important;z-index:0!important}
.htmlTv .presenterSlot{display:block!important;visibility:visible!important;left:1.5%!important;bottom:7%!important;width:45%!important;height:88%!important;z-index:3!important}
.htmlTv .presenterPhoto{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:left bottom!important}
.htmlTv .weatherVisualPanel{display:block!important;visibility:visible!important;right:2%!important;left:auto!important;top:13%!important;bottom:9%!important;width:60%!important;height:auto!important;z-index:2!important}
.htmlTv .weatherLocation small:before{content:"";}.htmlTv .weatherLocation small{font-size:0}.htmlTv .weatherLocation small:after{content:"AKTUELL IN";font-size:13px}
.htmlTv .weatherNow{display:flex!important}.htmlTv .tvDays{display:grid!important}
.htmlTv .tvTop,.htmlTv .tvTicker{display:flex!important}
@media (min-width:1000px){.tvScreen{width:min(96vw,1500px)!important;max-width:none!important}.htmlTv .tvControls{width:100%!important}}

/* v1.7.2 Feinschliff */
.htmlTv .weatherVisualPanel{top:15%!important;bottom:10%!important}
.htmlTv .weatherLocation{top:4%!important;left:5%!important;z-index:5!important}
.htmlTv .weatherLocation small:after{content:"AKTUELL IN";font-size:14px!important}
.htmlTv .weatherLocation strong{font-size:clamp(28px,3.4vw,52px)!important;line-height:1.05!important}
.htmlTv .weatherNow{top:21%!important;left:5%!important;z-index:5!important}
.htmlTv .weatherBigIcon{font-size:clamp(58px,7.2vw,110px)!important}
.htmlTv .weatherNow strong{font-size:clamp(48px,6.2vw,92px)!important}
.htmlTv .tvDays{left:4%!important;right:4%!important;bottom:5%!important;gap:10px!important}
.htmlTv .tvDay{padding:13px 7px!important;min-height:96px!important}
.htmlTv .dayIcon{font-size:clamp(25px,2.9vw,42px)!important}
.htmlTv .tvDay b{font-size:clamp(14px,1.55vw,23px)!important}
.htmlTv .presenterSlot{left:.5%!important;width:48%!important;height:94%!important;bottom:6%!important}
.htmlTv .tvTop{min-height:46px!important}
@media(max-width:700px){
 .htmlTv .presenterSlot{width:42%!important;height:85%!important}
 .htmlTv .weatherVisualPanel{top:16%!important;width:64%!important}
 .htmlTv .weatherNow{top:23%!important}
}

/* v1.7.3 Sendungsablauf */
.htmlTv .weatherLocation small{font-size:14px!important;letter-spacing:.14em!important}
.htmlTv .weatherLocation small:after,.htmlTv .weatherLocation small:before{content:none!important}
.htmlTv .weatherLocation{top:6%!important}
.htmlTv .weatherNow{top:23%!important}
.htmlTv .weatherVisualPanel{transition:background .5s ease,transform .35s ease}
.htmlTv .weatherNow,.htmlTv .weatherLocation{transition:opacity .3s ease,transform .3s ease}

/* v1.9.0 stabiler Neuaufbau auf 1.7.3 */
.htmlTv #tvStage,.htmlTv .htmlStudio{position:relative!important;overflow:hidden!important}
.htmlTv #tvStage{background:#172431 center/cover no-repeat!important}
.htmlTv .htmlStudio{background:linear-gradient(90deg,rgba(8,17,29,.22),rgba(8,17,29,.40))!important}
.htmlTv .presenterSlot{position:absolute!important;left:1%!important;bottom:7%!important;width:44%!important;height:88%!important;z-index:5!important}
.htmlTv .presenterPhoto{width:100%!important;height:100%!important;object-fit:contain!important;object-position:left bottom!important}
.htmlTv .weatherVisualPanel{position:absolute!important;left:auto!important;right:2%!important;top:12%!important;bottom:14%!important;width:56%!important;z-index:4!important;background:rgba(8,25,43,.72)!important;border-radius:18px!important;padding:12px!important}
.htmlTv .weatherLocation{top:5%!important;left:5%!important}
.htmlTv .weatherNow{top:22%!important;left:5%!important}
.htmlTv .tvDays{left:4%!important;right:4%!important;bottom:5%!important;gap:7px!important}
.htmlTv .tvTicker{z-index:9!important}
@media(max-width:900px){
 .htmlTv .presenterSlot{width:40%!important;height:82%!important}
 .htmlTv .weatherVisualPanel{width:61%!important;right:1%!important;top:11%!important;bottom:15%!important}
 .htmlTv .weatherLocation strong{font-size:clamp(21px,4vw,36px)!important}
 .htmlTv .weatherNow strong{font-size:clamp(36px,7vw,65px)!important}
 .htmlTv .tvDay{min-height:68px!important;padding:5px 2px!important}
}

/* v1.9.6 Ortsfoto als echte Bildebene */
.htmlTv #tvStage{position:relative!important;background:#172431!important}
.htmlTv #tvStage .tvPlacePhoto{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;z-index:0!important;opacity:0!important;transition:opacity .6s ease!important}
.htmlTv #tvStage .tvPlacePhoto.ready{opacity:.72!important}
.htmlTv #tvStage:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(7,16,28,.16),rgba(7,16,28,.38))}
.htmlTv #tvStage .htmlStudio{position:relative!important;z-index:2!important;background:transparent!important}
.htmlTv #tvStage .weatherAtmosphere{z-index:3!important;opacity:.30!important}
.htmlTv #tvStage .presenterSlot{z-index:5!important}
.htmlTv #tvStage .weatherVisualPanel{z-index:4!important}
.htmlTv #tvStage .tvTicker{z-index:8!important}

/* v1.9.7 Feinschliff auf stabiler 1.9.6 Basis */
.htmlTv #tvStage .tvPlacePhoto.ready{opacity:.90!important;filter:brightness(1.08) saturate(1.08)!important}
.htmlTv #tvStage:after{background:linear-gradient(90deg,rgba(7,16,28,.08),rgba(7,16,28,.27))!important}
.htmlTv #tvStage .weatherAtmosphere{opacity:.20!important}
.htmlTv .presenterSlot{left:.2%!important;width:46%!important;height:91%!important;bottom:6%!important}
.htmlTv .weatherVisualPanel{right:1.5%!important;width:55%!important;top:10%!important;bottom:14%!important;background:rgba(7,24,42,.66)!important;border:1px solid rgba(255,255,255,.18)!important;backdrop-filter:blur(4px)!important}
.htmlTv .weatherLocation{display:block!important;visibility:visible!important;opacity:1!important;top:4%!important;left:5%!important;z-index:8!important}
.htmlTv .weatherLocation small{display:block!important;font-weight:800!important;font-size:13px!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.htmlTv .weatherLocation strong{display:block!important;font-size:clamp(26px,3.2vw,48px)!important;line-height:1.05!important}
.htmlTv .weatherNow{top:23%!important}
.htmlTv .tvDay{background:rgba(7,25,44,.58)!important}
@media(max-width:900px){
 .htmlTv .presenterSlot{left:0!important;width:41%!important;height:84%!important}
 .htmlTv .weatherVisualPanel{width:61%!important;right:.5%!important;top:9%!important;bottom:15%!important}
 .htmlTv .weatherLocation strong{font-size:clamp(20px,4vw,34px)!important}
 .htmlTv .weatherNow{top:22%!important}
 .htmlTv .tvDays{gap:4px!important}
}
@media(min-width:1200px){
 .htmlTv .presenterSlot{width:45%!important;height:93%!important}
 .htmlTv .weatherVisualPanel{width:56%!important}
}

/* v1.9.8 kompakter – KEIN Bild im Update */
.htmlTv #tvStage .tvPlacePhoto{
 width:100%!important;height:100%!important;
 object-fit:contain!important;object-position:left center!important;
 background:#172431!important
}
.htmlTv #tvStage .tvPlacePhoto.ready{opacity:.86!important}
.htmlTv .presenterSlot{left:.3%!important;width:43%!important;height:87%!important;bottom:7%!important}
.htmlTv .weatherVisualPanel{
 right:2%!important;width:48%!important;top:14%!important;bottom:17%!important;
 padding:8px!important;border-radius:14px!important
}
.htmlTv .weatherLocation{top:4%!important;left:4%!important}
.htmlTv .weatherLocation strong{font-size:clamp(22px,2.7vw,40px)!important}
.htmlTv .weatherNow{top:22%!important;left:4%!important}
.htmlTv .weatherBigIcon{font-size:clamp(42px,5vw,76px)!important}
.htmlTv .weatherNow strong{font-size:clamp(38px,5vw,72px)!important}
.htmlTv .tvDays{left:3%!important;right:3%!important;bottom:4%!important;gap:5px!important}
.htmlTv .tvDay{min-height:68px!important;padding:5px 3px!important}
@media(max-width:900px){
 .htmlTv .presenterSlot{width:38%!important;height:79%!important}
 .htmlTv .weatherVisualPanel{width:53%!important;right:1%!important;top:13%!important;bottom:18%!important}
 .htmlTv .weatherLocation strong{font-size:clamp(18px,3.5vw,30px)!important}
 .htmlTv .tvDay{min-height:58px!important}
}

/* v1.9.9 – nur Layout, KEINE Bildgenerierung */
.htmlTv .weatherVisualPanel{
 right:1.5%!important;width:44%!important;top:15%!important;bottom:18%!important;
 padding:7px!important;border-radius:12px!important
}
.htmlTv .weatherLocation strong{font-size:clamp(20px,2.4vw,36px)!important}
.htmlTv .weatherNow{top:23%!important}
.htmlTv .weatherBigIcon{font-size:clamp(38px,4.5vw,66px)!important}
.htmlTv .weatherNow strong{font-size:clamp(34px,4.6vw,64px)!important}
.htmlTv .tvDays{left:3%!important;right:3%!important;bottom:4%!important;gap:4px!important}
.htmlTv .tvDay{min-height:60px!important;padding:4px 2px!important}
.htmlTv .presenterSlot{width:42%!important;height:86%!important}
.htmlTv #tvStage .tvPlacePhoto{object-fit:contain!important;object-position:left center!important}
@media(max-width:900px){
 .htmlTv .weatherVisualPanel{width:49%!important;right:.7%!important;top:14%!important;bottom:19%!important}
 .htmlTv .presenterSlot{width:37%!important;height:78%!important}
 .htmlTv .tvDay{min-height:52px!important}
}

/* v1.10.0 – finale Größen + klare Ortsanzeige */
.htmlTv .weatherVisualPanel{width:41%!important;right:1.2%!important}
.htmlTv .weatherLocation{display:block!important;visibility:visible!important;opacity:1!important;top:3%!important;left:4%!important;z-index:20!important}
.htmlTv .weatherLocation small{display:block!important;color:#fff!important;font-size:12px!important;font-weight:800!important;letter-spacing:.13em!important;text-transform:uppercase!important;text-shadow:0 2px 5px #000!important}
.htmlTv .weatherLocation strong{display:block!important;color:#fff!important;font-size:clamp(20px,2.2vw,34px)!important;text-shadow:0 2px 6px #000!important}
@media(max-width:900px){.htmlTv .weatherVisualPanel{width:46%!important}.htmlTv .weatherLocation strong{font-size:clamp(18px,3.2vw,28px)!important}}

.htmlTv .tvFixedLocation{position:absolute;right:2.2%;top:3%;z-index:30;color:#fff;text-align:right;text-shadow:0 2px 6px #000;pointer-events:none}
.htmlTv .tvFixedLocation small{display:block;font-size:11px;font-weight:800;letter-spacing:.14em}
.htmlTv .tvFixedLocation strong{display:block;font-size:clamp(20px,2.2vw,34px);line-height:1.05}

/* v1.10.4 – nur rechte Anzeige + Ortsname */
.htmlTv .weatherVisualPanel{right:.4%!important;width:39%!important;top:15%!important;bottom:18%!important}
.htmlTv .tvFixedLocation{
 right:1.2%!important;top:2.5%!important;z-index:40!important;
 padding:6px 10px!important;border-radius:9px!important;
 background:rgba(6,22,38,.58)!important;text-align:right!important
}
.htmlTv .tvFixedLocation small{font-size:11px!important;letter-spacing:.13em!important}
.htmlTv .tvFixedLocation strong{font-size:clamp(21px,2.3vw,35px)!important}
@media(max-width:900px){
 .htmlTv .weatherVisualPanel{right:.2%!important;width:44%!important}
 .htmlTv .tvFixedLocation{right:.8%!important;top:2%!important}
 .htmlTv .tvFixedLocation strong{font-size:clamp(18px,3vw,28px)!important}
}

/* v1.10.5 – Ort direkt in Wetterbox + sauberer Ticker */
.htmlTv .tvInlineLocation{
 position:absolute!important;left:4%!important;top:3%!important;z-index:25!important;
 font-size:clamp(14px,1.45vw,22px)!important;font-weight:800!important;color:#fff!important;
 text-shadow:0 2px 5px rgba(0,0,0,.8)!important
}
.htmlTv .tvTicker{left:0!important;right:0!important;width:100%!important;overflow:hidden!important;white-space:nowrap!important}
.htmlTv .tvTickerTrack{display:inline-block!important;min-width:100%!important;white-space:nowrap!important}
@media(max-width:900px){.htmlTv .tvInlineLocation{font-size:clamp(12px,2.3vw,18px)!important}}

/* v1.11.0 – sinnvolle kompakte rechte Wetterkarte */
.htmlTv .weatherVisualPanel.compactWeatherCard{
 right:1.2%!important;top:15%!important;bottom:auto!important;width:38%!important;height:auto!important;
 min-height:46%!important;padding:14px!important;border-radius:16px!important;
 background:rgba(7,24,42,.72)!important;display:block!important;overflow:hidden!important
}
.htmlTv .compactWeatherCard .cwHead small{font-size:clamp(12px,1.2vw,17px);font-weight:900;letter-spacing:.08em}
.htmlTv .compactWeatherCard .cwNow{display:flex;align-items:center;gap:10px;margin-top:10px}
.htmlTv .compactWeatherCard .cwIcon{font-size:clamp(36px,4.4vw,64px);line-height:1}
.htmlTv .compactWeatherCard .cwNow>strong{font-size:clamp(42px,5vw,72px);line-height:1}
.htmlTv .compactWeatherCard .cwNow div{display:flex;flex-direction:column}
.htmlTv .compactWeatherCard .cwNow b{font-size:clamp(15px,1.7vw,24px)}
.htmlTv .compactWeatherCard .cwNow small{font-size:clamp(10px,1vw,14px);opacity:.8}
.htmlTv .compactWeatherCard .cwFacts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0 10px}
.htmlTv .compactWeatherCard .cwFacts span{background:rgba(255,255,255,.08);border-radius:8px;padding:7px 4px;text-align:center;font-size:clamp(9px,.9vw,12px)}
.htmlTv .compactWeatherCard .cwFacts b{display:block;font-size:clamp(12px,1.2vw,17px)}
.htmlTv .compactWeatherCard .cwDays{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.htmlTv .compactWeatherCard .cwDays span{display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.06);border-radius:7px;padding:5px 2px}
.htmlTv .compactWeatherCard .cwDays b{font-size:clamp(9px,.85vw,12px)}
.htmlTv .compactWeatherCard .cwDays i{font-style:normal;font-size:clamp(17px,2vw,28px)}
.htmlTv .compactWeatherCard .cwDays em{font-style:normal;font-weight:800;font-size:clamp(9px,.9vw,13px)}
.htmlTv .compactWeatherCard .weatherLocation,.htmlTv .compactWeatherCard .weatherNow,.htmlTv .compactWeatherCard .tvDays,.htmlTv .compactWeatherCard .tvInlineLocation{display:none!important}
@media(max-width:900px){
 .htmlTv .weatherVisualPanel.compactWeatherCard{width:43%!important;right:.5%!important;top:14%!important;padding:9px!important}
 .htmlTv .compactWeatherCard .cwFacts{margin:7px 0}
}

/* v1.12.0 – Wetterbericht auf einzelne TV-Seiten verteilt */
.htmlTv .weatherVisualPanel.reportPage{right:1.2%!important;top:22%!important;bottom:auto!important;width:38%!important;min-height:38%!important;height:auto!important;padding:15px!important;border-radius:16px!important;background:rgba(7,24,42,.72)!important;overflow:hidden!important}
.htmlTv .reportPage .rpTitle{font-size:clamp(18px,2vw,30px);font-weight:900;margin-bottom:12px}
.htmlTv .reportPage .rpHero{display:flex;align-items:center;gap:12px}.htmlTv .reportPage .rpHero i{font-style:normal;font-size:clamp(44px,5vw,76px)}.htmlTv .reportPage .rpHero>strong{font-size:clamp(48px,5.8vw,84px);line-height:1}.htmlTv .reportPage .rpHero span{display:flex;flex-direction:column}.htmlTv .reportPage .rpHero b{font-size:clamp(16px,1.7vw,25px)}.htmlTv .reportPage .rpHero small{font-size:clamp(10px,1vw,14px)}
.htmlTv .reportPage .rpSlots,.htmlTv .reportPage .rpOutlook{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}.htmlTv .reportPage .rpOutlook{grid-template-columns:repeat(5,1fr)}
.htmlTv .reportPage .rpSlots span,.htmlTv .reportPage .rpOutlook span{display:flex;flex-direction:column;align-items:center;text-align:center;background:rgba(255,255,255,.07);padding:8px 3px;border-radius:8px}.htmlTv .reportPage .rpSlots b{font-size:clamp(16px,1.7vw,24px)}.htmlTv .reportPage .rpOutlook i{font-style:normal;font-size:clamp(22px,2.4vw,34px)}.htmlTv .reportPage .rpOutlook strong{font-size:clamp(16px,1.7vw,24px)}.htmlTv .reportPage .rpEnd{font-size:clamp(18px,2vw,28px);padding:18px 0}
@media(max-width:900px){.htmlTv .weatherVisualPanel.reportPage{width:43%!important;right:.5%!important;top:20%!important;padding:10px!important}.htmlTv .reportPage .rpTitle{margin-bottom:7px}}

/* v1.12.1 eigener TV-Berichtsbereich */
.htmlTv .weatherVisualPanel.tvLegacyHidden{display:none!important}
.htmlTv #tvReportLayer{position:absolute;z-index:25;right:1.2%;top:19%;width:39%;min-height:38%;padding:15px;border-radius:16px;background:rgba(7,24,42,.76);color:#fff;display:none;box-sizing:border-box}
.htmlTv #tvReportLayer.show{display:block}
.htmlTv #tvReportLayer .rpTitle{font-size:clamp(18px,2vw,30px);font-weight:900;margin-bottom:12px}
.htmlTv #tvReportLayer .rpHero{display:flex;align-items:center;gap:12px}.htmlTv #tvReportLayer .rpHero i{font-style:normal;font-size:clamp(44px,5vw,76px)}.htmlTv #tvReportLayer .rpHero>strong{font-size:clamp(48px,5.8vw,84px);line-height:1}.htmlTv #tvReportLayer .rpHero span{display:flex;flex-direction:column}.htmlTv #tvReportLayer .rpHero b{font-size:clamp(16px,1.7vw,25px)}.htmlTv #tvReportLayer .rpHero small{font-size:clamp(10px,1vw,14px)}
.htmlTv #tvReportLayer .rpSlots,.htmlTv #tvReportLayer .rpOutlook{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}.htmlTv #tvReportLayer .rpOutlook{grid-template-columns:repeat(5,1fr)}
.htmlTv #tvReportLayer .rpSlots span,.htmlTv #tvReportLayer .rpOutlook span{display:flex;flex-direction:column;align-items:center;text-align:center;background:rgba(255,255,255,.08);padding:8px 3px;border-radius:8px}.htmlTv #tvReportLayer .rpOutlook i{font-style:normal;font-size:clamp(22px,2.4vw,34px)}
.htmlTv #tvReportLayer .rpEnd{font-size:clamp(18px,2vw,28px);padding:18px 0}
@media(max-width:900px){.htmlTv #tvReportLayer{right:.5%;top:18%;width:44%;padding:10px}}

/* v1.12.2 robuste Umschaltung unabhängig von alter Button-ID */
.htmlTv #tvStage.reportPlaying .weatherVisualPanel{display:none!important}
.htmlTv #tvStage.reportPlaying #tvReportLayer{display:block!important}

/* v1.12.3 – TV-Wetterseiten weiter zur Mitte, keine Bilder im Update */
.htmlTv #tvReportLayer{
 right:5.5%!important;
 top:24%!important;
 width:42%!important;
 min-height:36%!important;
 padding:16px!important;
}
.htmlTv #tvReportLayer .rpTitle{text-align:center!important}
.htmlTv #tvReportLayer .rpHero{justify-content:center!important}
.htmlTv #tvReportLayer .rpSlots,
.htmlTv #tvReportLayer .rpOutlook{justify-content:center!important}
.htmlTv #tvReportLayer .rpEnd{text-align:center!important}
@media(max-width:900px){
 .htmlTv #tvReportLayer{right:2%!important;top:22%!important;width:48%!important;padding:10px!important}
}

/* v1.15.0 – einfache Visitenkarten-Startseite, ohne Scrollen */
body.w24CardHome{overflow:hidden!important;height:100vh!important}
body.w24CardHome header{position:relative;z-index:30}
body.w24CardHome main{height:calc(100vh - 72px)!important;min-height:0!important;overflow:hidden!important;padding:0!important}
#w24CardHome{height:100%;display:grid;grid-template-columns:minmax(260px,42%) 1fr;align-items:center;gap:3vw;padding:2.5vh 5vw;box-sizing:border-box;position:relative;overflow:hidden}
#w24CardHome .cardTina{height:min(74vh,720px);display:flex;align-items:flex-end;justify-content:center}
#w24CardHome .cardTina img{max-height:100%;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 16px 24px rgba(0,0,0,.28))}
#w24CardHome .cardInfo{max-width:650px;z-index:2}
#w24CardHome .cardBrand{font-size:clamp(15px,1.4vw,21px);font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.8}
#w24CardHome h1{font-size:clamp(42px,6vw,82px);line-height:.94;margin:.16em 0 .2em}
#w24CardHome h1 span{color:#f2c84b}
#w24CardHome .cardWeather{font-size:clamp(20px,2.4vw,34px);font-weight:750;margin:18px 0 26px}
#w24CardHome .cardWeather small{display:block;font-size:.48em;font-weight:500;opacity:.7;margin-top:6px}
#w24CardHome .cardActions{display:flex;gap:12px;flex-wrap:wrap}
#w24CardHome button{border:0;border-radius:14px;padding:15px 22px;font:inherit;font-weight:800;cursor:pointer}
#w24CardHome .primary{background:#f2c84b;color:#172033}
#w24CardHome .secondary{background:rgba(255,255,255,.1);color:inherit;border:1px solid rgba(255,255,255,.2)}
#w24CardHome .cardLinks{margin-top:22px;display:flex;gap:16px;flex-wrap:wrap}
#w24CardHome .cardLinks button{padding:4px 0;background:none;color:inherit;border:0;font-size:14px;opacity:.72}
body.w24CardHome footer{display:none!important}
body.w24CardHome #modal{max-width:min(92vw,900px);max-height:86vh}
body.w24CardHome #modalContent{max-height:72vh;overflow:auto}
@media(max-width:760px){
 #w24CardHome{grid-template-columns:40% 60%;gap:1vw;padding:2vh 3vw}
 #w24CardHome .cardTina{height:66vh}
 #w24CardHome h1{font-size:clamp(34px,8vw,58px)}
 #w24CardHome .cardActions{flex-direction:column;align-items:stretch}
}

/* v1.15.1 – Wetter TV als großes 16:9 Popup */
body.w24CardHome #modal.tvModal{
 width:min(96vw,1500px)!important;max-width:none!important;
 height:auto!important;max-height:96vh!important;
 padding:14px!important;overflow:hidden!important;
}
body.w24CardHome #modal.tvModal #modalContent{max-height:none!important;overflow:visible!important}
body.w24CardHome #modal.tvModal .modalText{padding:0!important}
body.w24CardHome #modal.tvModal .modalText>h2{margin:0 0 8px!important;font-size:18px}
body.w24CardHome #modal.tvModal .tvScreen{width:100%!important;max-width:none!important}
body.w24CardHome #modal.tvModal #tvStage{aspect-ratio:16/9!important;width:100%!important;height:auto!important;max-height:calc(96vh - 105px)!important}
body.w24CardHome #modal.tvModal .tvControls{display:flex!important;justify-content:center!important;gap:8px!important;flex-wrap:wrap!important}

/* v1.15.2 – Wetter-TV ohne zusätzlichen Popup-Titel */
body.w24CardHome #modal.tvModal{padding-top:8px!important}
body.w24CardHome #modal.tvModal #tvStage{max-height:calc(96vh - 72px)!important}

/* v1.15.3 – Visitenkarten-Footer */
body.w24CardHome main{height:calc(100vh - 112px)!important}
body.w24CardHome footer{
 display:flex!important;position:fixed!important;left:0;right:0;bottom:0;height:40px!important;
 align-items:center!important;justify-content:center!important;gap:18px!important;
 padding:0 18px!important;margin:0!important;z-index:40;background:rgba(15,20,31,.96)!important;
 box-sizing:border-box!important;text-align:center!important;font-size:13px!important
}
body.w24CardHome footer>*{margin:0!important}
body.w24CardHome footer a{display:inline-flex!important;align-items:center!important}

/* v1.15.5 – Adminzugang */
body.w24CardHome .cardInfo{position:relative}
body.w24CardHome .cardAdmin{position:absolute;top:0;right:0;z-index:5;font-size:12px!important;
 text-decoration:none!important;opacity:.72;padding:5px 9px;border:1px solid rgba(255,255,255,.22);
 border-radius:8px}
body.w24CardHome .cardAdmin:hover{opacity:1}
