/* Fixed viewpoint, gently moving foliage and softly breathing natural light. */
.forest-scene{position:absolute;inset:0;isolation:isolate;overflow:hidden;pointer-events:none;background:#294035 url('./images/mein-waldlicht-thumb-v377.webp') 50% 60%/cover no-repeat;}
.forest-scene[hidden]{display:none!important;}
.forest-photo,.forest-foliage,.forest-scene canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;}
.forest-photo:not([src]){display:none;}
.forest-scene canvas{z-index:1}.forest-scene canvas[hidden]{display:none;}
.forest-foliage{z-index:2;pointer-events:none;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;will-change:transform;backface-visibility:hidden;transform:translateZ(0) scale(1.018);}
.forest-canopy{-webkit-mask-image:radial-gradient(ellipse 62% 28% at 58% 13%,#000 20%,#000c 48%,transparent 82%);mask-image:radial-gradient(ellipse 62% 28% at 58% 13%,#000 20%,#000c 48%,transparent 82%);transform-origin:58% 8%;animation:forest-canopy-sway 7.6s ease-in-out infinite alternate;}
.forest-ferns{-webkit-mask-image:radial-gradient(ellipse 30% 18% at 8% 94%,#000 18%,#000b 48%,transparent 85%),radial-gradient(ellipse 28% 18% at 94% 93%,#000 18%,#000b 48%,transparent 85%);mask-image:radial-gradient(ellipse 30% 18% at 8% 94%,#000 18%,#000b 48%,transparent 85%),radial-gradient(ellipse 28% 18% at 94% 93%,#000 18%,#000b 48%,transparent 85%);transform-origin:50% 100%;animation:forest-ferns-sway 9.2s ease-in-out infinite alternate;}
.forest-breath-light{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity 1.2s ease;}
.forest-scene[data-playback="running"] .forest-breath-light,.forest-scene[data-playback="paused"] .forest-breath-light{opacity:1;}
.forest-breath-shade{position:absolute;inset:0;background:radial-gradient(ellipse 86% 72% at 58% 57%,#172b1c40 0%,#172b1c28 48%,#172b1c00 100%);will-change:opacity;}
.forest-rays{position:absolute;pointer-events:none;transform-origin:50% 0;background:linear-gradient(180deg,#fff6d500 0%,#fff6d540 35%,#fff6d52e 64%,#fff6d500 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#0003 24%,#000 50%,#0003 76%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#0003 24%,#000 50%,#0003 76%,transparent 100%);will-change:opacity,transform;}
.forest-pool{position:absolute;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,#fff0c850 0%,#fff0c836 32%,#fff0c812 58%,#fff0c800 85%);transform-origin:center;will-change:opacity,transform;}
.forest-dapple{position:absolute;left:12%;right:8%;top:55%;height:30%;pointer-events:none;filter:blur(12px);background:radial-gradient(ellipse at 25% 45%,#fff0bd55 0 4%,transparent 18%),radial-gradient(ellipse at 58% 62%,#fff3c948 0 5%,transparent 21%),radial-gradient(ellipse at 82% 38%,#ffeab23d 0 4%,transparent 17%);mix-blend-mode:soft-light;}
.forest-dust{z-index:2;position:absolute;inset:18% 8% 24% 28%;pointer-events:none;opacity:.48;filter:blur(.25px);mix-blend-mode:screen;background:radial-gradient(circle at 14% 82%,#fff5cfcc 0 1px,transparent 2.4px),radial-gradient(circle at 31% 28%,#fff3c8b8 0 1.2px,transparent 2.7px),radial-gradient(circle at 48% 66%,#fff0bfa8 0 .9px,transparent 2.3px),radial-gradient(circle at 64% 18%,#fff6d6c0 0 1.1px,transparent 2.5px),radial-gradient(circle at 79% 74%,#ffefbfa0 0 1px,transparent 2.4px),radial-gradient(circle at 91% 41%,#fff7d4b8 0 1.15px,transparent 2.6px);animation:forest-dust-drift 12s ease-in-out infinite alternate;will-change:transform,opacity;}
.forest-scene[data-renderer="webgl"] .forest-dapple{display:none;}
.forest-scene::after{content:'';z-index:4;position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#12261db3 0%,#172c2140 17%,transparent 35%,transparent 74%,#10241bd9 100%);}
@keyframes forest-canopy-sway{0%{transform:translate3d(-7px,1px,0) scale(1.018) rotate(-.12deg)}48%{transform:translate3d(2px,-2px,0) scale(1.019) rotate(.04deg)}100%{transform:translate3d(10px,1px,0) scale(1.018) rotate(.16deg)}}
@keyframes forest-ferns-sway{0%{transform:translate3d(-5px,1px,0) scale(1.018) rotate(-.10deg)}55%{transform:translate3d(2px,-1px,0) scale(1.019) rotate(.04deg)}100%{transform:translate3d(7px,1px,0) scale(1.018) rotate(.13deg)}}
@keyframes forest-dust-drift{0%{transform:translate3d(-9px,14px,0);opacity:.30}50%{opacity:.52}100%{transform:translate3d(12px,-18px,0);opacity:.38}}
.forest-scene:not([data-playback="running"]) .forest-foliage,.forest-scene:not([data-playback="running"]) .forest-dust,.forest-scene[data-page-hidden="true"] .forest-foliage,.forest-scene[data-page-hidden="true"] .forest-dust{animation-play-state:paused;}
body[data-forest-active="true"] #waterCanvas,body[data-forest-active="true"] #waterFallback{visibility:hidden;}
body.water-breath-app[data-forest-active="true"] .stage::before{display:none!important;}
body.water-breath-app[data-forest-active="true"] .phase-chip{color:#fffaf0!important;background:#14291fd9!important;border:1px solid #e8e1bf38;border-radius:24px;padding:9px 20px;text-shadow:0 1px 3px #071a12;}
body.water-breath-app[data-forest-active="true"] .water-intro{color:#fff9e9;text-shadow:0 1px 4px #071a12,0 2px 14px #071a12;}
body.water-breath-app[data-forest-active="true"] .idle-copy{background:#172f25f2!important;}
body.water-breath-app[data-forest-active="true"] #placeShortcut{background:#172f25ed;color:#fff9e9;border-color:#eee4bf66;}
@media(prefers-reduced-motion:reduce){.forest-foliage,.forest-dust{display:none;animation:none;will-change:auto}.forest-pool,.forest-rays{will-change:opacity}.forest-breath-light{transition:none;}}
@media(orientation:landscape){.forest-scene{background-position:50% 70%;}.forest-photo,.forest-foliage{object-position:50% 70%;}}
