.lighthouse-scene { position:relative; overflow:hidden; aspect-ratio:1; }
.lighthouse-scene img { display:block; }
[data-motion-scene] { overflow:hidden; }
.scene-atmosphere { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:0; }
[data-motion-running="true"] .scene-atmosphere { opacity:1; }
.scene-atmosphere * { animation-play-state:paused !important; }
[data-motion-running="true"] .scene-atmosphere * { animation-play-state:running !important; }
.lantern-glow { animation:lantern-breathe 3.6s ease-in-out -1s infinite; }
.water-lines { animation:water-drift 3.2s ease-in-out -1s infinite; }
.water-second { animation:water-drift 4s ease-in-out -2s infinite reverse; }
.chimney-smoke { animation:smoke-rise 3.8s ease-out -1s infinite; transform-origin:99px 157px; stroke-dasharray:35 80; }
.smoke-second { animation-delay:-2.9s; stroke-width:6; }
.meadow-light { animation:meadow-drift 6s ease-in-out -3s infinite alternate; }
@keyframes lantern-breathe { 0%,100% {opacity:.3} 50% {opacity:1} }
@keyframes water-drift { 0%,100% {transform:translateX(-15px);opacity:.3} 50% {transform:translateX(18px);opacity:.95} }
@keyframes smoke-rise { 0% {stroke-dashoffset:0;opacity:0;transform:translate(0,0)} 25% {opacity:.65} 100% {stroke-dashoffset:100;opacity:0;transform:translate(20px,-35px)} }
@keyframes meadow-drift { from {transform:translate(-200px,-65px);opacity:.35} to {transform:translate(200px,30px);opacity:1} }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .home-games .game-card .button span,.home-hero .button span { display:inline-block; transition:transform 180ms ease; }
  .home-games .game-card .button:hover span,.home-hero .button:hover span { transform:translate(2px,-2px); }
  .home-games .game-card { transition:box-shadow 240ms ease; }
  .home-games .game-card:hover { box-shadow:0 7px 0 -5px var(--lg-color-forest); }
}
@media (prefers-reduced-motion:reduce) {
  .scene-atmosphere { display:none; }
  .scene-atmosphere * { animation:none !important; }
}

.beacon-beam { transform-origin:622px 197px; animation:beacon-sweep 5s ease-in-out -1.5s infinite alternate; }
@keyframes beacon-sweep { from {transform:rotate(-12deg);opacity:.3} to {transform:rotate(10deg);opacity:.85} }
.island-boat{transform-origin:855px 845px;animation:island-buoyancy 4.8s ease-in-out infinite}
.island-layer-art{display:none}
[data-island-layers="ready"] .island-layer-art{display:initial}
.island-flag{transform-origin:784px 400px;animation:island-breeze 6s ease-in-out infinite}
.island-bird{animation:island-glide 18s ease-in-out infinite}
.bird-b{animation-delay:-9s}
@keyframes island-buoyancy{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(3px) rotate(.4deg)}}
@keyframes island-breeze{0%,100%{transform:skewY(0) scaleX(1)}50%{transform:skewY(3deg) scaleX(.95)}}
@keyframes island-glide{0%,60%,100%{transform:translate(0,0);opacity:1}68%{opacity:1}80%{transform:translate(130px,-32px);opacity:0}81%,85%{transform:translate(-25px,8px);opacity:0}92%{transform:translate(0,0);opacity:1}}
