:root{color-scheme:only light}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;overflow:hidden;background:#71b9df}body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}main{position:relative;width:100%;height:100svh;min-height:420px;overflow:hidden;isolation:isolate;background:#71b9df}.scene-backdrop{position:absolute;inset:-24px;background:linear-gradient(rgba(92,173,218,.28),rgba(70,139,177,.18)),url("data:image/webp;base64,UklGRmABAABXRUJQVlA4IFQBAADwBwCdASowABsAPtVcpEyoJaOiMBqtUQAaiWgAs7OmQqFwOlbtCEt0BjQ9eOjH7YFNbNjgJ7nLX5Q36FKi6y4jleLVgDyL62gA/d+sofdmwx+E2zPv/rRPA+6EW70hcra2eswa48HBuecJE979ZQw0m1T3WXoEDawOt4DZ3dIU7HX9NLmnN5Ip7UmSqsLZSIrRHsvlFfi2fV8js4d4Mr7iOCDGjJbfCgmFS+/tx5QjwEwByUVH3Elj3ghgOtOHWA8jPejEGF2lc++635DQqssS1N+LUcTxx2IzPGawhz3MUidOHDs6JNqYAqpgziowkgXRI8xA6tqWOOtgyMoH2B5kd32/u1SlMET/HBS6ztLG0+eljuccPze1MT28zYkAS9TqcQms75o1E0ggGCiBn8laTRxAn91cG/eexdAVvdr/LpG3sqU+2RHHtm5y+RCeD0YOIWAA") center/cover no-repeat;filter:blur(18px) saturate(.85);transform:scale(1.05);opacity:.72}#world{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block}header{position:absolute;z-index:3;top:max(3.8%,env(safe-area-inset-top));left:0;width:100%;text-align:center;color:#fff;pointer-events:none}h1{margin:0;font-size:clamp(3.2rem,7.4vw,7.6rem);font-weight:850;line-height:.9;letter-spacing:-.065em;text-shadow:0 2px 0 #266f9d,0 8px 28px rgba(24,78,112,.25);display:flex;align-items:flex-end;justify-content:center}h1 .logo-word,.logo-i{color:#fff}.logo-i{position:relative;display:inline-block;z-index:1}.logo-dot{color:#f3c44d}header p{margin:.7rem 0 0;font-size:clamp(.66rem,1.05vw,1rem);font-weight:750;letter-spacing:.3em;text-shadow:0 2px 9px rgba(30,75,103,.45)}footer{position:absolute;z-index:3;bottom:max(1.7%,env(safe-area-inset-bottom));width:100%;text-align:center;color:#fff8df;font-size:.72rem;font-weight:650;letter-spacing:.28em;text-shadow:0 2px 8px rgba(26,58,40,.5);pointer-events:none}.reed{transform-box:fill-box;transform-origin:bottom center;animation:sway 7.5s ease-in-out infinite alternate}.ripple{transform-box:fill-box;transform-origin:center;animation:ripple 5.4s ease-out infinite}.bee{filter:url(#soft-shadow)}.bee .tongue{opacity:0;stroke-dasharray:14}.bee.drinking .tongue{opacity:1;animation:sip .8s ease-in-out infinite}.pollen{opacity:0}.bee.loaded .pollen{opacity:1}@keyframes sway{from{transform:rotate(-.55deg)}to{transform:rotate(.8deg)}}@keyframes ripple{from{transform:scale(.55);opacity:.3}to{transform:scale(1.55);opacity:0}}@keyframes sip{50%{stroke-dashoffset:6}}@media(max-width:700px),(max-aspect-ratio:4/5){main{min-height:100svh}.scene-backdrop{display:none}#world{inset:0;width:100%;height:100%;transform:none;background:#71b9df;box-shadow:none}header{top:max(5%,calc(env(safe-area-inset-top) + 8px))}h1{font-size:clamp(3rem,16vw,5.4rem)}header p{margin-top:.5rem;font-size:.62rem;letter-spacing:.2em}footer{font-size:.58rem;letter-spacing:.18em;bottom:max(3%,calc(env(safe-area-inset-bottom) + 8px))}}@media(max-height:520px) and (orientation:landscape){header{top:3%}h1{font-size:clamp(2.5rem,11vh,4.8rem)}header p{margin-top:.3rem}footer{bottom:1.5%}}

.logo-bee {
  position: absolute;
  z-index: 2;
  display: block;
  width: .62em;
  height: .65em;
  left: 52%;
  bottom: .70em;
  margin: 0;
  color: initial;
  filter: drop-shadow(0 2px 2px rgba(35, 64, 70, .24));
  transform: translateX(-50%) rotate(-5deg);
  transform-origin: 50% 80%;
  animation: logo-natural-breathe 4.8s ease-in-out infinite;
}

.logo-bee img {
  display: block;
  position: absolute;
  object-fit: fill;
}

.logo-bee-base { z-index: 3; inset: 0; width: 100%; height: 100%; }
.logo-wing { will-change: transform, opacity; }
.logo-wing-back {
  z-index: 1;
  left: 35.4%; top: .5%; width: 33.7%; height: 39.4%;
  transform-origin: 28.3% 88.2%;
  animation: logo-wing-back-flap .12s ease-in-out infinite alternate;
}
.logo-wing-front {
  z-index: 2;
  left: 43.3%; top: 14.3%; width: 57.3%; height: 36%;
  transform-origin: 3.9% 58.2%;
  animation: logo-wing-front-flap .105s ease-in-out infinite alternate-reverse;
}

@keyframes logo-natural-breathe {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(-5deg); }
  50% { transform: translateX(-50%) translateY(-1px) rotate(-4deg); }
}

@keyframes logo-wing-back-flap {
  from { transform: rotate(0) scaleY(1); opacity: 1; }
  to { transform: rotate(-4deg) scaleY(.88); opacity: .78; }
}

@keyframes logo-wing-front-flap {
  from { transform: rotate(0) scaleY(1); opacity: 1; }
  to { transform: rotate(4deg) scaleY(.85); opacity: .75; }
}

@media (prefers-reduced-motion: reduce) {
  .logo-wing { animation: none; }
}

.toolkit-close:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

.toolkit-modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 18px; }
.toolkit-modal[hidden] { display: none; }
.toolkit-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(25, 42, 35, .6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); cursor: pointer; }
.toolkit-dialog { position: relative; z-index: 1; width: min(1120px, calc(100vw - 36px)); height: min(880px, calc(100dvh - 36px)); overflow: hidden; border: 2px solid #8b6332; border-radius: 24px; background: #fffbed; box-shadow: 0 30px 100px rgba(23,31,25,.42); }
#toolkit-frame { display: block; width: 100%; height: 100%; border: 0; background: #fffbed; }
.toolkit-close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(94,65,29,.2); border-radius: 50%; background: rgba(255,248,221,.97); color: #5a3b1d; box-shadow: 0 3px 13px rgba(51,37,20,.18); font: 400 29px/1 Arial,sans-serif; cursor: pointer; }
.toolkit-close:hover { background: #fff; }

@media (max-width: 700px) {
  .toolkit-modal { padding: 0; }
  .toolkit-dialog { width: 100vw; height: 100dvh; border: 0; border-radius: 0; box-shadow: none; }
  .toolkit-close { top: max(8px, env(safe-area-inset-top)); right: max(8px, env(safe-area-inset-right)); width: 40px; height: 40px; font-size: 26px; }
}

/* Selector lunar: luna schimbă fundalul și comportamentul faunei. */
.month-picker {
  display:flex; align-items:center; gap:8px;
  padding:6px 9px 6px 12px;
  border:1px solid rgba(255,255,255,.3); border-radius:999px;
  background:rgba(13,35,66,.58); color:#fff;
  box-shadow:0 5px 20px rgba(0,0,0,.16);
  backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px);
  font:700 12px/1 system-ui,sans-serif;
}
.month-picker select {
  appearance:none; border:0; border-radius:999px;
  padding:7px 28px 7px 11px;
  background:rgba(255,255,255,.94) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2327455d' stroke-width='2'/%3E%3C/svg%3E") right 9px center/10px 7px no-repeat;
  color:#27455d; font:700 12px/1 system-ui,sans-serif; cursor:pointer;
}
.month-picker select:focus-visible { outline:3px solid #f4d36a; outline-offset:2px; }
@media (max-width:700px) {
  .month-picker { padding:4px 6px; }
  .month-picker > span { display:none; }
  .month-picker select { max-width:112px; padding:7px 24px 7px 9px; }
}

@media print {
  html, body { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; }
}

/* Variantă nocturnă de test. Peisajul rămâne identic; se schimbă doar lumina. */
#scene-bg,
.scene-backdrop,
#night-tint,
#night-stars,
#night-fireflies {
  transition: filter 1.8s ease, opacity 1.8s ease, background-color 1.8s ease;
}

#night-tint,
#night-stars,
#night-fireflies { opacity: 0; pointer-events: none; }

body.night-mode { background: #071426; }
body.night-mode main { background: #071426; }
body.night-mode #scene-bg { filter: none; }
body.night-mode .scene-backdrop {
  filter: blur(18px) saturate(.9);
  opacity: .82;
}
body.night-mode #night-tint,
body.night-mode #night-stars { opacity: 0; }
body.night-mode.season-summer #night-fireflies { opacity: .72; }
body.night-mode:not(.season-summer) #night-fireflies { opacity: 0; }
body.night-mode header { color: #f7f5e9; }
body.night-mode h1 { text-shadow: 0 2px 0 #173c65, 0 0 25px rgba(191,224,255,.2); }
body.night-mode footer { color: #f5e9b9; }
body.night-mode .guard-bee { filter: url(#soft-shadow) brightness(.78); }

/* Fundalurile conțin deja stuf natural; stratul vectorial suplimentar este ascuns zi și noapte. */
#reeds { display: none; }

.night-star { animation: night-twinkle 4.8s ease-in-out infinite alternate; }
.night-firefly { animation: night-firefly 3.6s ease-in-out infinite; }
@keyframes night-twinkle { from { opacity: .25; } to { opacity: .82; } }
@keyframes night-firefly {
  0%, 100% { opacity: .08; transform: translate(0,0); }
  42% { opacity: .95; transform: translate(1px,-2px); }
  65% { opacity: .34; transform: translate(-1px,-3px); }
}

.scene-controls {
  position: absolute;
  z-index: 20;
  top: max(16px, env(safe-area-inset-top));
  right: max(16px, env(safe-area-inset-right));
  display: flex;
  align-items: center;
  gap: 8px;
}
.season-switcher {
  display: flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  background: rgba(13,35,66,.58);
  box-shadow: 0 5px 20px rgba(0,0,0,.16);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
.season-switcher button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 9px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font: 700 12px/1 system-ui,sans-serif;
  cursor: pointer;
}
.season-switcher button:hover { background: rgba(255,255,255,.12); }
.season-switcher button.active { background: rgba(255,255,255,.92); color: #27455d; }
.season-switcher button:focus-visible { outline: 3px solid #f4d36a; outline-offset: 2px; }
.day-night-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 72px;
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 999px;
  background: rgba(13,35,66,.62);
  color: #fff8d8;
  box-shadow: 0 5px 20px rgba(0,0,0,.18);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  font: 700 13px/1 system-ui,sans-serif;
  cursor: pointer;
}
.day-night-toggle:hover { background: rgba(18,48,88,.78); }
.day-night-toggle:focus-visible { outline: 3px solid #f4d36a; outline-offset: 3px; }
body:not(.night-mode) .day-night-toggle { background: rgba(255,250,225,.78); color: #34546d; }
#world { transition: opacity .28s ease; }
#world.scene-switching { opacity: .42; }
body.season-winter .ripple { display: none; }

@media (max-width: 700px) {
  .scene-controls { top: max(8px, env(safe-area-inset-top)); right: max(8px, env(safe-area-inset-right)); gap: 5px; }
  .season-switcher { gap: 1px; padding: 3px; }
  .season-switcher button { width: 34px; height: 34px; justify-content: center; padding: 0; }
  .season-label { display: none; }
  .day-night-toggle { min-width: 42px; padding: 8px 9px; }
  .day-night-toggle .toggle-label { display: none; }
}

/* Fixed landscape: identical world coordinates on desktop, tablet and phone. */
#world{background:transparent;touch-action:auto;transform:none!important}
.scene-backdrop{display:block!important;background-size:cover;background-position:center;opacity:.55;filter:blur(24px) saturate(.75)}
body.night-mode .scene-backdrop{filter:blur(24px) brightness(.65)}
.scene-controls{top:auto;bottom:max(42px,env(safe-area-inset-bottom));right:20px}
.month-picker select{border:1px solid #ffffff66;border-radius:20px;background:#244941c9;color:#fff;padding:9px 15px;font:600 13px system-ui}
.month-picker select option{background:#244941}
#scene-status{position:absolute;bottom:85px;right:20px;color:#fff;z-index:30;font-size:12px}
@media(max-aspect-ratio:1/1){header{top:8%}h1{font-size:clamp(36px,10vw,72px)}.scene-controls{left:0;right:0;bottom:12%;justify-content:center}footer{bottom:5%}#world{background:transparent}header p{font-size:10px}}
@media(min-aspect-ratio:1/1) and (min-height:600px){header{top:6%}h1{font-size:clamp(48px,6vw,96px)}}
@media(max-width:700px){.day-night-toggle .toggle-label{display:inline}}

#weather-select{font:inherit;color:#fff;background:rgba(20,40,34,.65);border:1px solid #ffffff50;border-radius:8px;padding:9px;min-height:44px;max-width:108px}
#weather-select option{background:#233b35;color:white}
#tractor,#weather-shade,#weather-particles{pointer-events:none}
#water>.ripple{opacity:.12!important}
@media(max-width:700px){.scene-controls{gap:6px;max-width:calc(100vw - 20px)}#weather-select{font-size:13px;max-width:94px}.scene-controls select{min-height:44px}}

.day-night-toggle:disabled{opacity:.5;cursor:default}
@media(max-height:520px) and (orientation:landscape){main{min-height:0;height:100svh}#scene-status{bottom:88px}}
@media(max-aspect-ratio:1/1){#scene-status{left:12px;right:12px;bottom:calc(12% + 48px);text-align:center}}
