.weather-scene-card{--scene-sway:0deg;--scene-wind-duration:8s;--scene-rain-angle:0deg;--scene-wind-opacity:0;margin:0 0 24px;overflow:hidden;border:1px solid rgba(86,150,174,.28);border-radius:28px;background:#edf7f9;box-shadow:0 20px 45px rgba(25,73,95,.14);color:#173f52}
.weather-scene-top{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.4fr);min-height:350px}
.weather-scene-copy{position:relative;z-index:3;padding:32px 30px;background:linear-gradient(140deg,#f4fbfc,#e6f4f7)}
.weather-scene-eyebrow{color:#338a9e;font-size:.67rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.weather-scene-copy h2{margin:12px 0 9px;font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.13;letter-spacing:-.025em}
.weather-scene-copy p{max-width:380px;margin:0;color:#577b8a;font-size:.8rem;line-height:1.6}
.weather-scene-temperature{display:block;margin-top:18px;font-size:clamp(2.6rem,5.6vw,4.1rem);line-height:1.06;letter-spacing:-.035em}
.weather-scene-feels{display:block;margin-top:5px;color:#607e8c;font-size:.75rem}
.weather-scene-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.weather-scene-tags>span{padding:6px 10px;border:1px solid rgba(64,138,162,.18);border-radius:999px;color:#397488;background:rgba(255,255,255,.7);font-size:.59rem;font-weight:800}
.weather-scene-art{position:relative;isolation:isolate;min-width:0;min-height:350px;overflow:hidden;background:linear-gradient(180deg,#72c5e7,#c2e9ef 76%);transition:background .8s}
.weather-scene-card[data-period="night"] .weather-scene-art{background:linear-gradient(180deg,#132645,#305273 80%)}
.weather-scene-card[data-sky="cloudy"] .weather-scene-art,.weather-scene-card:is([data-rain="heavy"],[data-rain="very-heavy"]) .weather-scene-art{background:linear-gradient(180deg,#789daf,#b1c9d0 78%)}
.weather-scene-card[data-period="night"][data-sky="cloudy"] .weather-scene-art,.weather-scene-card[data-period="night"]:is([data-rain="heavy"],[data-rain="very-heavy"]) .weather-scene-art{background:linear-gradient(180deg,#1b2f46,#456070)}
.weather-scene-sun{position:absolute;top:var(--scene-sun-y,15%);left:var(--scene-sun-x,23%);width:73px;height:73px;border-radius:50%;background:#ffefad;box-shadow:0 0 0 14px rgba(255,235,160,.12),0 0 60px 28px rgba(255,237,173,.22);opacity:0;transition:opacity .8s,top 1s,left 1s}
.weather-scene-card[data-period="day"]:is([data-sky="clear"],[data-sky="mixed"]) .weather-scene-sun{opacity:1}
.weather-scene-moon{position:absolute;top:43px;left:26%;width:52px;height:52px;border-radius:50%;background:#eaf5ff;box-shadow:0 0 35px rgba(230,247,255,.25);opacity:0;transition:opacity .8s}
.weather-scene-moon:after{position:absolute;top:-6px;left:14px;width:45px;height:45px;content:"";border-radius:50%;background:#1c3453}
.weather-scene-card[data-period="night"][data-sky="clear"] .weather-scene-moon{opacity:1}
.weather-scene-stars{position:absolute;inset:0;opacity:0;background-image:radial-gradient(circle at 15% 18%,#fff 0 1px,transparent 2px),radial-gradient(circle at 63% 12%,#fff 0 1px,transparent 2px),radial-gradient(circle at 80% 30%,#fff 0 1px,transparent 2px),radial-gradient(circle at 42% 38%,#fff 0 1px,transparent 2px),radial-gradient(circle at 90% 9%,#fff 0 1px,transparent 2px)}
.weather-scene-card[data-period="night"][data-sky="clear"] .weather-scene-stars{opacity:.7}
.weather-scene-cloud{position:absolute;top:65px;left:40%;width:160px;height:43px;border-radius:80px;background:#f2fafc;box-shadow:inset 0 -7px 15px rgba(65,105,135,.08);opacity:0;animation:scene-cloud-drift calc(var(--scene-wind-duration)*3) ease-in-out infinite alternate;transition:opacity .6s}
.weather-scene-cloud:before,.weather-scene-cloud:after{position:absolute;bottom:16px;content:"";width:68px;height:68px;border-radius:50%;background:inherit}
.weather-scene-cloud:before{left:25px}.weather-scene-cloud:after{right:22px;width:51px;height:51px}
.weather-scene-cloud.cloud-two{top:120px;left:5%;transform:scale(.75);animation-delay:-7s}.weather-scene-cloud.cloud-three{top:40px;left:75%;transform:scale(1.15);animation-delay:-11s}
.weather-scene-card:is([data-sky="mixed"],[data-sky="cloudy"]) .weather-scene-cloud{opacity:.91}
.weather-scene-card[data-sky="mixed"] .cloud-three{opacity:0}
.weather-scene-card:not([data-rain="dry"]):not([data-rain="unknown"]) .weather-scene-cloud{opacity:.85;background:#d5e4ec}
.weather-scene-card[data-period="night"] .weather-scene-cloud{background:#8ba6ba;opacity:0}
.weather-scene-card[data-period="night"]:is([data-sky="mixed"],[data-sky="cloudy"]) .weather-scene-cloud,.weather-scene-card[data-period="night"]:not([data-rain="dry"]):not([data-rain="unknown"]) .weather-scene-cloud{opacity:.8}
.weather-scene-hill{position:absolute;right:-15%;bottom:27px;left:-15%;height:125px;border-radius:50% 50% 0 0;background:#98bbac;transform:rotate(-6deg)}
.weather-scene-hill.hill-front{bottom:-10px;left:5%;height:113px;background:#659883;transform:rotate(8deg)}
.weather-scene-ground{position:absolute;bottom:0;left:0;right:0;height:39px;background:linear-gradient(180deg,#55846c,#3b6c5b);z-index:4}
.weather-scene-house{position:absolute;bottom:38px;left:41%;width:81px;height:71px;background:#eae0cd;border-radius:3px;z-index:2;box-shadow:inset -15px 0 rgba(115,110,93,.12)}
.weather-scene-house:before{position:absolute;top:-40px;left:-12px;content:"";border-right:53px solid transparent;border-left:53px solid transparent;border-bottom:43px solid #4d6270}
.weather-scene-house>i{position:absolute;bottom:0;left:32px;width:19px;height:35px;background:#7c8f8c;border-radius:4px 4px 0 0}
.weather-scene-house>b{position:absolute;top:18px;left:12px;width:14px;height:17px;background:#91c8dc;box-shadow:44px 0 #91c8dc}
.weather-scene-card[data-period="night"] .weather-scene-house>b{background:#f3d88b;box-shadow:44px 0 #f3d88b}
.weather-scene-tree{position:absolute;bottom:33px;left:12%;width:77px;height:160px;z-index:3;transform-origin:50% 100%;animation:scene-tree-sway var(--scene-wind-duration) ease-in-out infinite alternate}
.weather-scene-tree>i{position:absolute;bottom:0;left:35px;width:9px;height:111px;border-radius:5px;background:#506b5c}
.weather-scene-tree>span{position:absolute;top:1px;left:0;z-index:2;width:77px;height:98px;border-radius:45% 55% 47% 44%;background:linear-gradient(125deg,#4b956f,#2f715c);box-shadow:-13px 20px 0 -8px #438862,14px 24px 0 -8px #397c60}
.weather-scene-tree.tree-two{left:auto;right:13%;height:125px;width:66px;animation-delay:-2s}.tree-two>span{width:66px;height:80px}.tree-two>i{left:29px;height:88px}
.weather-scene-windsock{position:absolute;bottom:35px;right:30%;width:61px;height:88px;z-index:4}
.weather-scene-windsock>i{position:absolute;left:0;top:0;bottom:0;width:3px;background:#e6eeee}
.weather-scene-windsock>span{position:absolute;top:0;left:2px;width:52px;height:18px;clip-path:polygon(0 0,100% 25%,100% 75%,0 100%);background:repeating-linear-gradient(90deg,#f0ebe1 0 10px,#db8b64 10px 20px);transform-origin:left center;transform:rotate(55deg);animation:scene-sock var(--scene-wind-duration) ease-in-out infinite alternate}
.weather-scene-wind{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:var(--scene-wind-opacity)}
.weather-scene-wind>i{position:absolute;top:47%;left:-30%;width:110px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,rgba(249,255,255,.9));animation:scene-wind-flow var(--scene-wind-duration) linear infinite}.weather-scene-wind>i:nth-child(2){top:65%;animation-delay:-3s;width:65px}.weather-scene-wind>i:nth-child(3){top:27%;animation-delay:-5s;width:95px}
.weather-scene-rain{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.weather-scene-drop{position:absolute;top:-30px;width:2px;height:19px;background:linear-gradient(180deg,transparent,rgba(237,250,255,.94));border-radius:99px;animation:scene-rain-fall var(--drop-duration) var(--drop-delay) linear infinite}
.weather-scene-drop[hidden]{display:none}
.weather-scene-card[data-rain="drizzle"] .weather-scene-drop{height:8px;width:1px;opacity:.65}
.weather-scene-art-caption{position:absolute;bottom:10px;left:16px;z-index:8;color:rgba(242,252,248,.92);font-size:.53rem}
.weather-scene-card[data-period="night"] :is(.weather-scene-hill,.weather-scene-tree,.weather-scene-ground){filter:brightness(.6) saturate(.7)}
.weather-scene-readings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f6fbfc;border-top:1px solid rgba(72,138,157,.18)}
.weather-scene-readings>article{display:flex;align-items:center;gap:13px;padding:19px 23px;border-right:1px solid rgba(72,138,157,.15);min-width:0}.weather-scene-readings>article:last-child{border:0}
.weather-scene-reading-icon{flex:0 0 40px;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#2785a0;background:#e3f1f5;font-size:1.5rem}.compass-icon i{display:block;font-style:normal;transition:transform .6s}
.weather-scene-readings small{display:block;color:#61818f;font-size:.63rem;font-weight:800}.weather-scene-readings strong{display:block;margin-top:5px;font-size:.94rem;line-height:1.3}.weather-scene-readings article div>span{display:block;margin-top:4px;color:#648493;font-size:.57rem}
.weather-scene-card>footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 22px;border-top:1px solid rgba(72,138,157,.13);color:#69838e;font-size:.59rem;background:#eaf4f6}
.weather-scene-card button{padding:7px 12px;border:1px solid rgba(53,124,148,.24);border-radius:999px;background:rgba(255,255,255,.78);color:#35687b;font:inherit;font-weight:800;cursor:pointer}.weather-scene-card button:focus-visible{outline:3px solid #238cb2;outline-offset:3px}
.weather-scene-card:is(.is-paused,.is-stale) .weather-scene-art *{animation-play-state:paused!important}
.weather-scene-card.is-stale .weather-scene-art{filter:saturate(.5)}
.weather-scene-noscript{margin:0;padding:15px 22px;color:#5c7b89;font-size:.72rem}
@keyframes scene-tree-sway{from{transform:rotate(calc(var(--scene-sway)*-.3))}to{transform:rotate(var(--scene-sway))}}
@keyframes scene-cloud-drift{from{margin-left:-25px}to{margin-left:25px}}
@keyframes scene-sock{from{transform:rotate(calc(55deg - var(--scene-sway)*3))}to{transform:rotate(calc(55deg - var(--scene-sway)*3.5))}}
@keyframes scene-wind-flow{to{left:110%}}
@keyframes scene-rain-fall{from{transform:translate(0,-30px) rotate(var(--scene-rain-angle))}to{transform:translate(var(--scene-rain-drift,0px),460px) rotate(var(--scene-rain-angle))}}
@media(max-width:800px){.weather-scene-top{grid-template-columns:1fr}.weather-scene-copy{padding:26px}.weather-scene-art{min-height:290px}.weather-scene-copy h2{font-size:1.9rem}.weather-scene-temperature{font-size:3rem}.weather-scene-readings>article{padding:17px 13px;gap:9px}.weather-scene-readings strong{font-size:.8rem}.weather-scene-reading-icon{flex-basis:31px;width:31px;height:35px}}
@media(max-width:520px){.weather-scene-card{border-radius:21px}.weather-scene-copy{padding:24px 21px}.weather-scene-art{min-height:270px}.weather-scene-readings{grid-template-columns:1fr}.weather-scene-readings>article{border-right:0;border-bottom:1px solid rgba(72,138,157,.15);padding:14px 21px}.weather-scene-readings strong{font-size:.9rem}.weather-scene-readings small{font-size:.69rem}.weather-scene-art-caption{font-size:.49rem}}
@media(prefers-reduced-motion:reduce){.weather-scene-card .weather-scene-art *{animation:none!important}.weather-scene-card *{transition:none!important}.weather-scene-drop{top:20%;height:30px;transform:rotate(var(--scene-rain-angle))}}

/* Extensions use their own namespace and do not alter other page modules. */
.weather-scene-card[data-size="large"] .weather-scene-art{min-height:420px}
.weather-scene-card[data-size="compact"] .weather-scene-top{min-height:280px;grid-template-columns:minmax(230px,.9fr) minmax(0,1.5fr)}
.weather-scene-card[data-size="compact"] .weather-scene-art{min-height:280px}
.weather-scene-card[data-size="compact"] .weather-scene-copy{padding:24px}
.weather-scene-card[data-size="compact"] .weather-scene-temperature{font-size:2.8rem}
.weather-scene-art:after{position:absolute;inset:0;z-index:1;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(203,138,130,.2),rgba(255,181,111,.7) 70%,transparent);opacity:var(--scene-warmth,0)}
.weather-scene-card:is([data-light="dawn"],[data-light="dusk"]) .weather-scene-art{background:linear-gradient(180deg,#698cad,#b7ccd4 78%)}
.weather-scene-card[data-sky="overcast"] .weather-scene-art{background:linear-gradient(180deg,#637e90,#a4b8c1 78%)}
.weather-scene-card[data-period="night"][data-sky="overcast"] .weather-scene-art{background:linear-gradient(180deg,#15283b,#3b5061 80%)}
.weather-scene-cloud-deck{position:absolute;top:-35px;left:-15%;right:-15%;height:52%;border-radius:0 0 45% 30%;z-index:1;opacity:0;background:radial-gradient(ellipse at 25% 10%,#91a7b4 5%,transparent 63%),radial-gradient(ellipse at 80% 55%,#bac8cf 5%,transparent 68%),linear-gradient(180deg,#7d95a5,rgba(190,203,210,.35));box-shadow:0 28px 40px rgba(75,96,111,.2);transition:opacity .7s;animation:scene-cloud-drift calc(var(--scene-wind-duration)*4) ease-in-out infinite alternate}
.weather-scene-card[data-sky="overcast"] .weather-scene-cloud-deck{opacity:.94}
.weather-scene-card[data-sky="overcast"] .weather-scene-cloud{opacity:.95;background:#c1cdd4;z-index:2}
.weather-scene-card[data-period="night"][data-sky="overcast"] .weather-scene-cloud-deck{filter:brightness(.45)}
.weather-scene-card[data-period="night"][data-sky="overcast"] .weather-scene-cloud{opacity:.7;background:#718899}
.weather-scene-rain-context{margin-top:17px;padding:13px 15px;border:1px solid #c8e0e9;border-radius:15px;background:rgba(255,255,255,.7)}
.weather-scene-rain-context small{display:block;color:#648391;font-size:.58rem;font-weight:800;letter-spacing:.035em}
.weather-scene-rain-context strong{display:block;margin-top:5px;font-size:.79rem;line-height:1.4}
.weather-scene-rain-context span{display:block;margin-top:5px;color:#6b8793;font-size:.57rem;line-height:1.5}
.weather-scene-trends{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-top:1px solid #d4e6eb;background:#d4e6eb}
.weather-scene-trends article{padding:17px 23px;background:#eff8fa;min-width:0}
.weather-scene-trends small{display:block;color:#62818f;font-size:.6rem;font-weight:800}
.weather-scene-trends strong{display:block;margin-top:7px;font-size:.74rem;line-height:1.4;color:#27748b}
.weather-scene-trends span{display:block;margin-top:5px;color:#668493;font-size:.55rem;line-height:1.5}
.weather-scene-info{padding:13px 22px;background:#f5fafb;border-top:1px solid #d6e7ec;font-size:.65rem;color:#537887}
.weather-scene-info summary{cursor:pointer;font-weight:800;color:#356f84;width:fit-content;list-style-position:inside;padding:4px 0}
.weather-scene-info summary:focus-visible{outline:3px solid #238cb2;outline-offset:3px;border-radius:5px}
.weather-scene-info p{margin:12px 0;line-height:1.65;max-width:950px}
.weather-scene-gust-note{position:absolute;top:16px;right:16px;z-index:8;max-width:calc(100% - 32px);padding:8px 12px;border-radius:12px;background:rgba(240,249,251,.94);color:#205d75;font-size:.62rem;font-weight:800;box-shadow:0 5px 20px #244f6320}
.has-gust-pulses .weather-scene-tree>span{transform-origin:50% 100%;animation:scene-gust-pulse 12s ease-in-out infinite}
.has-gust-pulses .weather-scene-windsock>span{animation:scene-sock var(--scene-wind-duration) ease-in-out infinite alternate,scene-gust-pulse 12s ease-in-out infinite}
.no-clouds-motion :is(.weather-scene-cloud,.weather-scene-cloud-deck){animation:none!important}
.no-wind-motion :is(.weather-scene-tree,.weather-scene-tree>span,.weather-scene-windsock>span,.weather-scene-wind>i){animation:none!important}
.no-wind-motion .weather-scene-wind{display:none}
.no-rain-motion .weather-scene-drop{animation:none!important;top:var(--drop-static-y,30%);transform:rotate(var(--scene-rain-angle))}
.weather-scene-card [hidden]{display:none!important}
@keyframes scene-gust-pulse{0%,63%,85%,100%{rotate:0deg}69%{rotate:var(--scene-gust-sway,0deg)}73%{rotate:calc(var(--scene-gust-sway,0deg)*-.35)}78%{rotate:calc(var(--scene-gust-sway,0deg)*.65)}}
@media(max-width:800px){.weather-scene-card[data-size] .weather-scene-top{grid-template-columns:1fr}.weather-scene-card[data-size="large"] .weather-scene-art{min-height:320px}.weather-scene-card[data-size="compact"] .weather-scene-art{min-height:250px}.weather-scene-trends article{padding:15px 13px}}
@media(max-width:520px){.weather-scene-trends{grid-template-columns:1fr}.weather-scene-trends article{padding:14px 21px}.weather-scene-card[data-size="large"] .weather-scene-art{min-height:290px}.weather-scene-gust-note{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.weather-scene-cloud-deck{animation:none!important}.weather-scene-drop{top:var(--drop-static-y,30%)}}
