/* Die Wetterwarte bekommt eine eigene, spielerische Szene statt Standardkarten. */
.portal-utility-row{display:flex;justify-content:flex-end;min-height:58px;margin:-31px 0 18px}.portal-utility-row .portal-weather-compact{position:relative;z-index:3;gap:10px;margin:0;padding:9px 13px;border:1px solid rgba(99,144,77,.3);border-radius:17px;background:rgba(255,253,242,.92);box-shadow:0 9px 20px rgba(44,78,39,.11);backdrop-filter:blur(10px);transition:transform .2s,box-shadow .2s}.portal-utility-row .portal-weather-compact:hover{transform:translateY(-3px);box-shadow:0 14px 25px rgba(44,78,39,.17)}.portal-utility-row .portal-weather-compact>span{display:grid;width:35px;height:35px;place-items:center;border-radius:12px;background:#e2f1c9;font-size:21px}.portal-utility-row .portal-weather-compact i{gap:2px;min-width:174px}.portal-utility-row .portal-weather-compact small{margin:0;color:#678064;font-size:7px;letter-spacing:.1em}.portal-utility-row .portal-weather-compact b{display:flex;gap:7px;align-items:center;color:#315b3d;font-size:12px}.portal-utility-row .portal-weather-compact b em{padding:2px 5px;border-radius:6px;background:#f5d672;color:#6c5428;font-size:9px;font-style:normal}.portal-utility-row .portal-weather-compact strong{color:#6f806b;font-size:8px}.portal-utility-row .portal-weather-compact u{margin-left:5px;color:#397842;font-weight:900;text-decoration:none}.portal-utility-row .portal-weather-compact.tone-storm>span{background:#dce8ec}.portal-utility-row .portal-weather-compact.tone-frost>span{background:#e3f3fb}.portal-utility-row .portal-weather-compact.tone-sun>span{background:#ffeba3}
.weather-observatory{position:relative;background:linear-gradient(135deg,#235d4e 0%,#3d9369 54%,#a7c96c 100%)}
.weather-observatory:before,.weather-observatory:after{position:absolute;pointer-events:none;content:"";border-radius:999px;filter:blur(1px)}.weather-observatory:before{top:-160px;right:16%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,241,166,.47) 0 22%,rgba(255,255,255,.1) 23% 38%,transparent 67%)}.weather-observatory:after{left:-14%;bottom:-44%;width:530px;height:270px;background:rgba(11,74,51,.28)}
.weather-observatory.tone-storm{background:linear-gradient(135deg,#233e50 0%,#416274 57%,#8fa1a4 100%)}.weather-observatory.tone-storm:before{background:radial-gradient(circle,rgba(215,236,245,.35),rgba(107,138,159,.12) 42%,transparent 69%)}.weather-observatory.tone-frost{background:linear-gradient(135deg,#32657a 0%,#6199ae 57%,#c5dfe4 100%)}.weather-observatory.tone-sun{background:linear-gradient(135deg,#985136 0%,#db8948 55%,#f4d469 100%)}.weather-observatory.tone-rain{background:linear-gradient(135deg,#305d69 0%,#4d8993 58%,#a8c9ae 100%)}
.weather-observatory-current{position:relative;z-index:1;display:grid;grid-template-columns:82px 116px minmax(0,1fr);gap:21px;align-items:center;min-height:365px;padding:43px 46px}.weather-scene-decor{position:absolute;inset:0;overflow:hidden;opacity:.65}.weather-scene-decor i{position:absolute;border-radius:50%;background:rgba(255,255,255,.18);filter:blur(1px)}.weather-scene-decor i:nth-child(1){top:18%;left:8%;width:88px;height:26px}.weather-scene-decor i:nth-child(2){top:29%;left:15%;width:136px;height:35px}.weather-scene-decor i:nth-child(3){right:12%;bottom:13%;width:180px;height:42px}.tone-storm .weather-scene-decor i{height:5px;border-radius:99px;transform:rotate(-28deg);background:rgba(232,248,255,.32)}.tone-storm .weather-scene-decor i:nth-child(1){top:23%;left:15%;width:95px}.tone-storm .weather-scene-decor i:nth-child(2){top:46%;left:5%;width:160px}.tone-storm .weather-scene-decor i:nth-child(3){right:14%;bottom:24%;width:120px}.tone-frost .weather-scene-decor i{width:8px;height:8px;background:rgba(255,255,255,.6);box-shadow:70px 40px 0 rgba(255,255,255,.4),150px 30px 0 rgba(255,255,255,.5)}
.weather-station-mark{position:relative;z-index:1;display:grid;place-items:center;width:75px;height:75px;border:2px solid rgba(255,247,199,.73);border-radius:50%;background:rgba(13,64,48,.17);box-shadow:0 0 0 7px rgba(255,255,255,.1),inset 0 0 0 4px rgba(255,255,255,.12);color:#fff7c4;text-align:center;transform:rotate(-8deg)}.weather-station-mark span{font-size:8px;font-weight:900;letter-spacing:.16em}.weather-station-mark b{font:800 13px/1 "Playfair Display",serif}.weather-station-mark i{position:absolute;right:-5px;bottom:2px;font-size:14px;font-style:normal}
.weather-symbol{position:relative;z-index:1;display:grid;flex:0 0 auto;width:116px;height:116px;place-items:center;border:2px solid rgba(255,255,255,.44);border-radius:37px;background:linear-gradient(145deg,rgba(255,255,255,.26),rgba(255,255,255,.05));font-size:62px;box-shadow:0 17px 30px rgba(8,57,42,.22),inset 0 0 27px rgba(255,255,255,.18);animation:weather-float 4.5s ease-in-out infinite}.weather-symbol:after{position:absolute;inset:7px;border:1px dashed rgba(255,248,208,.48);border-radius:28px;content:""}.tone-storm .weather-symbol{animation:weather-shiver 3.3s ease-in-out infinite}.weather-current-copy{position:relative;z-index:1;min-width:0}.weather-current-copy .portal-kicker{margin-bottom:10px}.weather-observatory h1{font-size:58px;text-shadow:0 3px 0 rgba(13,65,47,.14)}.weather-current-copy>p:not(.portal-kicker){max-width:470px;margin:12px 0 0;color:#e6f3df;font-size:13px;line-height:1.6}.weather-live-values{gap:9px;margin-top:22px}.weather-live-values span{position:relative;grid-template-columns:18px 1fr;gap:2px 5px;min-width:0;padding:11px 12px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(7,54,42,.23);backdrop-filter:blur(7px)}.weather-live-values i{grid-row:span 2;color:#f5db79;font-size:14px;font-style:normal}.weather-live-values b{margin:0;font-size:11px;white-space:nowrap}.weather-live-values small{color:#d4e7d3;font-size:8px;line-height:1.1}.weather-advice{position:relative;z-index:1;background:linear-gradient(165deg,rgba(10,56,42,.36),rgba(13,76,52,.66));border-left:1px solid rgba(255,255,255,.14);box-shadow:inset 12px 0 35px rgba(9,44,35,.12)}.weather-advice:before{display:block;width:40px;height:4px;margin-bottom:2px;border-radius:4px;background:#f5d66e;content:""}.weather-advice h2{font-size:34px}.weather-advice strong{border:1px solid rgba(255,239,165,.28);box-shadow:inset 0 1px rgba(255,255,255,.18)}.weather-advice a{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:9px 11px;border:1px solid rgba(255,240,174,.45);border-radius:10px;background:rgba(255,255,255,.08)}
.weather-forecast-board{position:relative;overflow:hidden;padding:34px;border:1px solid rgba(105,144,75,.16);background:linear-gradient(150deg,#fffdf4,#f2f7db)}.weather-forecast-board:after{position:absolute;right:-100px;bottom:-125px;width:300px;height:300px;border:24px solid rgba(130,178,99,.09);border-radius:50%;content:""}.weather-board-ribbon{position:absolute;top:0;right:0;z-index:1;display:flex;align-items:center;gap:7px;padding:10px 17px;border-radius:0 0 0 16px;background:#386f48;color:#fff}.weather-board-ribbon span{font-size:14px}.weather-board-ribbon b{font-size:10px}.weather-board-ribbon small{color:#dcecc8;font-size:8px}.weather-forecast-board .panel-head{position:relative;z-index:1;padding-right:190px}.weather-forecast-board .panel-head>span{border:1px solid #d6e3bd;background:#fffdf1;box-shadow:0 3px 0 rgba(92,123,65,.08)}.weather-forecast-grid{position:relative;z-index:1;gap:12px}.weather-forecast-grid article{position:relative;overflow:hidden;min-height:254px;padding:16px;border:1px solid #d7e5c5;border-radius:19px;background:linear-gradient(155deg,#fffef6,#f0f8df);box-shadow:0 7px 14px rgba(61,92,44,.07);transition:transform .2s,box-shadow .2s}.weather-forecast-grid article:hover{z-index:2;transform:translateY(-4px);box-shadow:0 15px 20px rgba(54,91,45,.15)}.weather-forecast-grid article:before{position:absolute;top:-48px;right:-41px;width:105px;height:105px;border-radius:50%;background:rgba(167,207,102,.18);content:""}.weather-forecast-grid article.tone-sun{background:linear-gradient(155deg,#fffdf2,#fff0b9)}.weather-forecast-grid article.tone-rain,.weather-forecast-grid article.tone-sky{background:linear-gradient(155deg,#f6fcfc,#ddf0ee)}.weather-forecast-grid article.tone-frost{background:linear-gradient(155deg,#fbffff,#e5f4fb)}.weather-forecast-grid article.tone-storm{background:linear-gradient(155deg,#f4f7f9,#dce7eb);border-color:#bdced4}.weather-forecast-grid article.is-now{border-color:#e3af48;background:linear-gradient(155deg,#fff9de,#ffedac);box-shadow:0 5px 0 #e7c35d,0 11px 20px rgba(137,96,31,.14)}.weather-forecast-grid header{position:relative;z-index:1}.weather-forecast-grid header small{padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.65);color:#688064}.weather-forecast-grid header b{padding:5px 8px;border-radius:9px;background:#377c48;color:#fff;font-size:12px}.weather-forecast-icon{position:relative;z-index:1;margin:9px 0 1px;font-size:40px;filter:drop-shadow(0 5px 3px rgba(53,77,45,.13))}.weather-forecast-grid h3{position:relative;z-index:1;font-size:21px}.weather-forecast-grid p{position:relative;z-index:1;line-height:1.48}.weather-forecast-grid em{position:relative;z-index:1;display:grid;gap:3px;padding:9px 0 0;color:#745e3b}.weather-forecast-grid em span{color:#a17c39;font-size:8px;font-style:normal;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.weather-howto article{position:relative;overflow:hidden;border:1px solid rgba(101,139,72,.13);background:linear-gradient(145deg,#fffdf7,#eff6d9)}.weather-howto article:after{position:absolute;right:-22px;bottom:-38px;color:rgba(72,130,67,.08);font-size:110px;content:"✦"}.weather-howto article:nth-child(2){background:linear-gradient(145deg,#fff8e9,#f5e3bb)}
@keyframes weather-float{50%{transform:translateY(-8px) rotate(3deg)}}@keyframes weather-shiver{42%,46%{transform:translateX(-2px)}44%,48%{transform:translateX(3px)}}
@media(max-width:980px){.weather-observatory-current{grid-template-columns:76px 106px minmax(0,1fr);padding:37px}.weather-observatory h1{font-size:49px}}@media(max-width:800px){.portal-utility-row{min-height:auto;margin:-19px 0 15px}.portal-utility-row .portal-weather-compact{width:100%;justify-content:flex-start}.portal-utility-row .portal-weather-compact i{min-width:0}.weather-observatory-current{grid-template-columns:58px 74px minmax(0,1fr);gap:13px;padding:27px 23px}.weather-station-mark{width:53px;height:53px}.weather-station-mark span{font-size:6px}.weather-station-mark b{font-size:10px}.weather-symbol{width:74px;height:74px;border-radius:23px;font-size:38px}.weather-symbol:after{inset:5px;border-radius:17px}.weather-observatory h1{font-size:37px}.weather-live-values{grid-template-columns:1fr 1fr}.weather-live-values span:last-child{grid-column:1/-1}.weather-advice{border-left:0;border-top:1px solid rgba(255,255,255,.14)}.weather-forecast-board{padding:22px}.weather-forecast-board .panel-head{padding-right:0;padding-top:26px}.weather-board-ribbon{left:0;right:auto;border-radius:0 0 16px 0}.weather-board-ribbon small{display:none}.weather-forecast-grid article{min-height:235px}.weather-forecast-icon{font-size:35px}}
