/* Atmosferă anuală; fundalul și actorii folosesc aceeași scenă SVG. */
#tractor { display:none!important; }
#atmosphere-sky,#atmosphere-rain,#atmosphere-impacts { pointer-events:none; }
body[data-atmosphere="overcast"] #animals,body[data-atmosphere="overcast"] #water { filter:saturate(.6) brightness(.68); }
body[data-atmosphere="overcast"] .scene-backdrop { filter:blur(24px) saturate(.45) brightness(.60); }
body.night-mode[data-atmosphere="overcast"] .scene-backdrop { filter:blur(24px) saturate(.5) brightness(.4); }
#atmosphere-rain,#atmosphere-impacts { transition:opacity .5s; }

body[data-atmosphere="overcast"] main {background:#65747a;}
body.night-mode[data-atmosphere="overcast"] main {background:#080e16;}
body[data-precipitation="rain"] #bees > g:not([aria-label]),body[data-precipitation="snow"] #bees > g:not([aria-label]) {opacity:0!important;}

/* Stretch the common SVG world: backgrounds and actors keep the same mapping. */
html,body,main {width:100%;height:100%;min-height:0!important;}
main {height:100dvh!important;}
#world {inset:0;width:100%;height:100%;}
.scene-backdrop {display:none!important;}
body[data-precipitation="rain"] #scene-bg {filter:url(#atmosphere-rain-tone)!important;}
body.night-mode[data-precipitation="rain"] #scene-bg {filter:none!important;}
body[data-precipitation="rain"] header {filter:brightness(.72) saturate(.65);}
body[data-precipitation="snow"] header {filter:brightness(.88) saturate(.8);}
body.night-mode header {filter:brightness(.72) saturate(.7);}
header {transition:filter 1s;}
h1 {position:relative;}
#atmosphere-logo-water {position:absolute;left:24%;top:0;width:52%;height:130%;overflow:visible;pointer-events:none;}
@media(max-width:700px){#atmosphere-logo-water{left:8%;width:84%;}header{top:max(5%,36px)!important;}h1{font-size:clamp(36px,10vw,64px)!important;}.scene-controls{bottom:max(38px,env(safe-area-inset-bottom))!important;left:10px!important;right:10px!important;max-width:none;justify-content:center;}footer{bottom:12px!important;}#scene-status{bottom:88px!important;}}

@media(max-width:700px) and (orientation:portrait){
 .scene-controls{gap:6px!important;}
 .scene-controls select,.scene-controls button{font-size:13px!important;min-height:42px!important;padding:9px 11px!important;}
 .scene-controls select{max-width:40vw;min-width:0!important;}
 header .tagline{font-size:10px!important;letter-spacing:2px!important;}
}

/* All logo effects use the measured letter coordinates, at every screen size. */
#atmosphere-logo-water,#atmosphere-logo-snow{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
#atmosphere-bee-winter{position:absolute;inset:0;width:100%;height:100%;z-index:4;overflow:visible;pointer-events:none;}
body.night-mode #atmosphere-logo-snow{opacity:.58;}
body.night-mode[data-atmosphere="overcast"] #scene-bg{filter:url(#atmosphere-night-terrain)!important;}

#atmosphere-bee-umbrella{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:5;pointer-events:none;}
body[data-precipitation="overcast"] #scene-bg{filter:url(#atmosphere-rain-tone)!important;}
body.night-mode[data-precipitation="overcast"] #scene-bg{filter:url(#atmosphere-night-terrain)!important;}
body[data-precipitation="overcast"] header{filter:brightness(.85) saturate(.85);}
body.night-mode[data-precipitation="overcast"] header{filter:brightness(.72) saturate(.7);}

/* The complete photographic variants already contain wings and accessories. */
.logo-bee.has-seasonal-mascot > .logo-bee-base,.logo-bee.has-seasonal-mascot > .logo-wing{visibility:hidden;}
.logo-bee #atmosphere-mascot-winter{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:4;}
.logo-bee #atmosphere-mascot-rain{position:absolute;inset:auto;left:-9%;top:-9%;width:110%;height:110%;object-fit:contain;z-index:4;}

/* The same proportional world keeps hives, flowers and drinking stone together. */
@media(max-width:1024px) and (orientation:portrait){
 main{background:linear-gradient(#88b9cf 0%,#b7c9c4 43%,#697c51 100%)!important;}
 body.night-mode main{background:linear-gradient(#102330,#243039 55%,#18241b)!important;}
 body[data-atmosphere="overcast"]:not(.night-mode) main{background:linear-gradient(#859397,#a9b0a9 50%,#66715a)!important;}
 #world{top:22%!important;bottom:auto!important;height:auto!important;aspect-ratio:1672/941;width:100%!important;overflow:visible;}
 header{top:8%!important;}
 .scene-controls{bottom:12%!important;}
 #scene-status{bottom:24%!important;}
}
body:not(.night-mode)[data-precipitation="clear"].season-spring #scene-bg{filter:saturate(1.28) brightness(1.035) contrast(1.025)!important;}
body:not(.night-mode)[data-precipitation="clear"].season-summer #scene-bg{filter:saturate(1.3) brightness(1.04) contrast(1.035)!important;}
body:not(.night-mode)[data-precipitation="clear"].season-autumn #scene-bg{filter:saturate(1.24) brightness(1.04) sepia(.055)!important;}
body:not(.night-mode)[data-precipitation="clear"].season-winter #scene-bg{filter:saturate(1.09) brightness(1.045) contrast(1.02)!important;}
.scene-loading #world > g{visibility:hidden;}
.scene-switching{opacity:1!important;filter:none!important;}
.mascot-parts{position:absolute;inset:0;z-index:4;pointer-events:none;}
.mascot-parts.mascot-rain{inset:auto;left:-9%;top:-9%;width:110%;height:110%;}
.logo-bee .mascot-wing-part{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:mascot-wing-beat .15s ease-in-out infinite alternate;will-change:transform;}
@keyframes mascot-wing-beat{from{transform:rotate(-3deg) scaleY(.55)}to{transform:rotate(5deg) scaleY(1)}}
@media(prefers-reduced-motion:reduce){.logo-bee .mascot-wing-part{animation:none;}}

.logo-bee #winter-mascot-animated{position:absolute;inset:0;width:100%;height:100%;z-index:4;overflow:visible;pointer-events:none;}
.winter-moving-wing{animation:winter-wing-beat .14s ease-in-out infinite alternate;transform-box:view-box;}
@keyframes winter-wing-beat{from{transform:rotate(-4deg) scaleY(.56)}to{transform:rotate(3deg) scaleY(1)}}
@media(prefers-reduced-motion:reduce){.winter-moving-wing{animation:none;}}

/* Overcast keeps diffuse daylight; rain retains its darker treatment. */
body:not(.night-mode)[data-precipitation="overcast"] #scene-bg{filter:url(#atmosphere-overcast-tone)!important;}
body:not(.night-mode)[data-precipitation="overcast"] #animals,
body:not(.night-mode)[data-precipitation="overcast"] #water{filter:saturate(.9) brightness(.92);}
body:not(.night-mode)[data-precipitation="overcast"] header{filter:brightness(.95) saturate(.95);}
#night-fireflies{display:none!important;}

/* Restore the full-height scene and its shared coordinate mapping on small screens. */
@media(max-width:1024px) and (orientation:portrait){
 #world{inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;overflow:hidden;}
 #scene-status{bottom:75px!important;}
}
body.auto-weather .scene-controls{display:none!important;}
#cenei-weather-status{position:fixed;right:18px;bottom:44px;z-index:12;max-width:calc(100vw - 36px);margin:0;padding:7px 11px;border-radius:14px;background:rgba(22,36,34,.62);color:#eef1e9;font:12px/1.5 system-ui,sans-serif;text-shadow:0 1px 2px #26352f;pointer-events:auto;}
#cenei-weather-status a{color:inherit;opacity:.75;text-decoration:none;font-size:10px;margin-left:7px;}
@media(max-width:700px){#cenei-weather-status{right:10px;bottom:35px;font-size:11px;max-width:calc(100vw - 20px);}}
#cenei-forecast-open{border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:4px 2px;min-height:34px;text-align:left;}
#cenei-forecast-open::after{content:'  ›';font-size:18px;vertical-align:-1px;}
#cenei-forecast-open:focus-visible{outline:2px solid #e8c46a;outline-offset:3px;border-radius:5px;}
#cenei-forecast{box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid #c6d1c5;border-radius:22px;background:#f3f4ed;color:#263a32;box-shadow:0 24px 90px #0006;font:14px/1.45 system-ui,sans-serif;overflow:auto;overscroll-behavior:contain;}
#cenei-forecast::backdrop{background:rgba(10,24,20,.65);}
.forecast-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.forecast-eyebrow{font-size:10px;letter-spacing:2px;color:#687b70;margin:0 0 5px;}
#forecast-title{font-size:26px;line-height:1.2;margin:0;font-weight:650;letter-spacing:-.6px;}
.forecast-close{flex:0 0 42px;width:42px;height:42px;font:28px system-ui;color:#345244;background:#e3e8df;border:0;border-radius:50%;cursor:pointer;}
.forecast-cities{display:flex;gap:6px;border-radius:13px;background:#e2e8df;padding:4px;margin:20px 0 12px;}
.forecast-cities button{flex:1;border:0;border-radius:10px;padding:11px 10px;background:transparent;color:#4b6254;font:600 14px system-ui;cursor:pointer;}
.forecast-cities button[aria-pressed=true]{background:#2e5141;color:#fff;box-shadow:0 2px 5px #20382b22;}
.forecast-message{min-height:20px;font-size:12px;color:#607466;margin:8px 0;}
.forecast-row{display:grid;grid-template-columns:82px 1fr 96px 48px;align-items:center;gap:8px;border-bottom:1px solid #dce3d8;padding:11px 0;}
.forecast-row:last-child{border:0;}
.forecast-day strong,.forecast-day small{display:block;}
.forecast-day strong{text-transform:capitalize;font-size:13px;}
.forecast-day small{font-size:11px;color:#768477;margin-top:1px;}
.forecast-condition{display:flex;gap:8px;align-items:center;}
.forecast-condition span{font-size:25px;line-height:1.1;min-width:29px;text-align:center;color:#73824e;}
.forecast-condition small{font-size:12px;color:#576c5e;}
.forecast-temp{text-align:right;white-space:nowrap;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;}
.forecast-precip{font-size:12px;text-align:right;color:#547b91;font-variant-numeric:tabular-nums;}
.forecast-foot{font-size:11px;color:#778476;margin:17px 0 0;line-height:1.7;}
.forecast-foot a{color:#456854;}
.forecast-retry{border:0;border-radius:9px;background:#2e5141;color:white;padding:11px 14px;margin-top:12px;font:600 13px system-ui;cursor:pointer;}
#cenei-forecast button:focus-visible{outline:2px solid #b08423;outline-offset:3px;}
@media(max-width:480px){#cenei-forecast{padding:18px 16px;border-radius:18px;}#forecast-title{font-size:23px;}.forecast-row{grid-template-columns:61px 1fr 78px 35px;gap:6px;padding:10px 0;}.forecast-condition{gap:3px;}.forecast-condition small{font-size:10px;}.forecast-condition span{font-size:21px;min-width:25px;}.forecast-temp{font-size:12px;}.forecast-precip{font-size:11px;}}

@media(max-width:1024px){.scene-backdrop{filter:blur(6px)}#cenei-weather-status,.scene-controls,.forecast-cities,.toolkit-backdrop,.toolkit-dialog{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Remove residual static wing outlines from the body sprite only. */
.logo-bee > .logo-bee-base{clip-path:polygon(0% 21%,33% 21%,39.4% 24.8%,44% 29%,45% 33%,44.7% 35.6%,48% 38%,51% 40.5%,53% 42%,58.5% 43%,63.5% 48.3%,69% 56%,74% 70%,76% 100%,0% 100%);}


/* Discreet attribution, readable and keyboard accessible. */
.forecast-attribution{display:block;font-size:10px;line-height:1.5;margin-top:5px;color:#647062;}
.forecast-attribution a{color:inherit;text-decoration:none;}
.forecast-attribution a:hover,.forecast-attribution a:focus-visible{text-decoration:underline;}

/* Caseta meteo: mai discretă și sub piatra albinei */
#cenei-weather-status {
  bottom: 14px !important;
  background: rgba(22, 36, 34, .38) !important;
}
@media (max-width: 700px) {
  #cenei-weather-status {
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    background: rgba(22, 36, 34, .38) !important;
  }
}

/* CENEI forecast rain probability legend v1 */
.forecast-precip-legend {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin: 1px 0 4px;
  color: #547b91;
  font: 600 11px/1.35 system-ui, sans-serif;
  white-space: nowrap;
}
.forecast-precip-legend svg { flex: 0 0 auto; }
@media (max-width: 480px) {
  .forecast-precip-legend { font-size: 10px; gap: 4px; }
  .forecast-precip-legend svg { width: 15px; height: 17px; }
}

/* CENEI legend visibility fix v2 */
#cenei-forecast .forecast-precip-static-v2[hidden] { display: none !important; }

/* CENEI precipitation probability hourly v2 */
#cenei-forecast .forecast-hourly-risk{
  grid-column:2 / -1; min-width:0; margin-top:-4px;
  color:#547b91; font:500 11px/1.45 system-ui,sans-serif;
}
#cenei-forecast .forecast-hourly-risk summary{
  cursor:pointer; width:fit-content; max-width:100%; white-space:normal;
  list-style:none; -webkit-tap-highlight-color:transparent;
}
#cenei-forecast .forecast-hourly-risk summary::-webkit-details-marker{display:none;}
#cenei-forecast .forecast-hourly-risk summary::after{content:' ▾';font-size:12px;}
#cenei-forecast .forecast-hourly-risk[open] summary::after{content:' ▴';}
#cenei-forecast .forecast-hourly-risk-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px 16px;margin:10px 0 6px;
}
#cenei-forecast .forecast-hourly-risk-hour{
  display:grid;grid-template-columns:44px minmax(0,1fr) 34px;
  gap:6px;align-items:center;color:#607466;font-size:11px;font-variant-numeric:tabular-nums;
}
#cenei-forecast .forecast-hourly-risk-hour>span:last-child{text-align:right;color:#547b91;}
#cenei-forecast .forecast-hourly-risk-track{
  display:block;background:#dce3e1;border-radius:7px;height:7px;overflow:hidden;
}
#cenei-forecast .forecast-hourly-risk-fill{
  display:block;height:100%;border-radius:7px;background:#9cbbc7;
}
#cenei-forecast .forecast-hourly-risk-fill-high{background:#628ca5;}
#cenei-forecast .forecast-hourly-risk-note{
  display:block;color:#778476;font-size:10px;line-height:1.5;
}
@media(max-width:640px){
  #cenei-forecast .forecast-hourly-risk-grid{grid-template-columns:1fr;gap:4px;}
  #cenei-forecast .forecast-hourly-risk{font-size:10px;}
}
