/* Stage stays inside the park's existing scroll area. */
#wave2StageHost[hidden]{display:none!important}
.wave2-theatre{min-width:0;max-width:100%;margin:18px 0 24px;background:#fffdf240;border:1px solid #aebf994d;border-radius:22px;overflow:hidden}
.wave2-controls{display:flex;flex-wrap:wrap;gap:24px;padding:14px 16px}
.wave2-controls .btn{min-height:56px;font-size:17px;padding:10px 16px}
.wave2-title{padding:0 18px 8px;font-size:18px;line-height:1.5;min-height:36px;color:#4e6752}
.wave2-stage{position:relative;width:100%;min-height:320px;overflow:hidden;isolation:isolate;background:linear-gradient(#d5ebdf 0 55%,#c0dba7 55%);border-radius:20px;transition:background-color .6s,filter .6s;touch-action:pan-y}
.wave2-stage[data-scene=garden]{background:linear-gradient(#f1e4dc 0 42%,#e5ccbc 42% 55%,#c9dcae 55%)}
.wave2-stage[data-scene=pond]{background:linear-gradient(#d5eae7 0 30%,#bcd9b0 30% 46%,#afd6d2 46%)}
.wave2-stage[data-time=evening]{background-color:#e5d2b8;filter:sepia(.12)}
.wave2-stage[data-time=night]{background-color:#b0c0cb;filter:brightness(.8) saturate(.85)}
.wave2-stage[data-weather=rain]:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(110deg,transparent 0 36px,#e9f3ef66 37px 39px,transparent 40px 80px)}
.wave2-backdrop,.wave2-effects,.wave2-bubbles,.wave2-actors{position:absolute;inset:0;pointer-events:none}
.wave2-backdrop{z-index:-1}.wave2-effects{z-index:2}.wave2-actors{z-index:3}.wave2-bubbles{z-index:4}
.wave2-brick,.wave2-fence,.wave2-bank,.wave2-water,.wave2-path,.wave2-bench{position:absolute;pointer-events:none}
.wave2-brick{inset:0 0 60%;background:repeating-linear-gradient(0deg,transparent 0 22px,#caa99670 24px 27px),repeating-linear-gradient(90deg,transparent 0 58px,#caa99650 59px 61px)}
.wave2-fence{inset:43% 0 48%;background:repeating-linear-gradient(90deg,#c3b89888 0 9px,transparent 10px 38px);border-block:4px solid #c3b89888}
.wave2-bank{inset:18% 0 64%;border-radius:45%;background:#cadfb3}.wave2-water{inset:35% 0 0;background:repeating-linear-gradient(0deg,transparent 0 28px,#d8eeeb50 30px 32px)}
.wave2-path{inset:53% 2% 12%;border:15px solid #decead66;border-radius:50%}.wave2-bench{width:100px;height:18px;left:8%;top:30%;background:#bca58266;border-radius:7px}
.wave2-actor{position:absolute;width:88px;height:88px;min-width:88px;min-height:88px;padding:0;background:transparent;pointer-events:auto;touch-action:pan-y;border-radius:18px;cursor:pointer;z-index:1}
.wave2-actor:focus-visible,.wave2-prop-target:focus-visible{outline:3px solid #597847;outline-offset:2px}
.wave2-body{display:block;width:72px;height:72px;margin:auto;transform-origin:center;pointer-events:none;will-change:transform}
.wave2-body .portrait{width:100%;height:100%}.wave2-body .emoji-art{font-size:52px}.wave2-body svg{width:100%;height:100%}
.wave2-name{display:block;font-size:14px;line-height:16px;white-space:nowrap;color:#344f44;background:#fffdf2b0;border-radius:8px;pointer-events:none}
.wave2-actor[data-layer=subwater] .wave2-body{opacity:.85}
.wave2-actor[data-safe=true]{background:#fff8d31c;border:1px solid #ddd19c44}
.wave2-effect{position:absolute;display:block;pointer-events:none;transform-origin:center}.wave2-effect img,.wave2-effect svg{width:100%;height:100%;object-fit:contain}
.wave2-effect[data-effect=numbers]{font-size:24px;font-weight:800;color:#796c52}
.wave2-bubble{position:absolute;display:flex;flex-direction:column;gap:2px;min-width:120px;padding:6px 10px;background:#fffef5f0;border:2px solid #a1b78c;border-radius:20px;text-align:center;pointer-events:none;color:#344f44;box-shadow:0 2px 5px #52674320}
.wave2-bubble strong{font-size:18px}.wave2-bubble span{font-size:18px;line-height:1.6;overflow-wrap:anywhere}
.wave2-bubble[hidden]{display:none!important}
.wave2-prop-target{position:absolute;bottom:0;right:8px;width:88px;height:88px;padding:19px;background:transparent;pointer-events:auto;border-radius:20px;touch-action:manipulation}
.wave2-prop-target svg{width:100%;height:100%}.wave2-prop-target:nth-last-child(2){right:120px}.wave2-prop-target:nth-last-child(3){right:232px}.wave2-prop-target:nth-last-child(4){right:344px}.wave2-prop-target:nth-last-child(5){right:456px}
.wave2-prop-target[hidden]{display:none!important}
.wave2-completing .wave2-effects,.wave2-completing .wave2-bubbles{opacity:0;transition:opacity .5s}
.wave2-card-thumbnail{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;width:100%;min-height:90px;border-radius:16px;background:#ddebd044;pointer-events:none;font-size:38px}
.wave2-card-thumbnail .portrait{width:48px;height:48px!important}.wave2-card-thumbnail .emoji-art{font-size:34px}
.wave2-event-card:disabled{opacity:.65}.wave2-event-card strong{font-size:18px}.wave2-event-card small{font-size:14px}
.wave2-replay{width:min(940px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:12px;overflow:auto}.wave2-replay .wave2-controls{display:none}
.observe-book-tabs{display:flex;gap:24px;padding:0 28px 12px;flex-shrink:0}.observe-book-tabs button{min-height:56px}
#observeEventGrid{overflow:auto;overscroll-behavior:contain;min-height:0}
@media(orientation:portrait){.wave2-stage{min-height:360px}}
@media(prefers-reduced-motion:reduce){.wave2-stage{transition:none}.wave2-body{will-change:auto}}

.portrait .emoji-art svg{display:block;width:100%;height:100%}.silhouette .emoji-art{filter:brightness(0);opacity:.72}
