/* All artwork shares the original 1536 × 1024 coordinate system. */
.interaction-art{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.globe-ball{position:absolute;left:15.495%;top:36.23%;width:4.948%;aspect-ratio:1;z-index:3;pointer-events:none;border-radius:50%;overflow:hidden;transform:rotate(-14deg);box-shadow:inset -3px 0 4px #41371b33}
.globe-ball canvas{display:block;width:100%;height:100%}.globe-ball:not(.ready){visibility:hidden}
.weather-picture{opacity:0;transition:opacity 1.3s}.weather-sea #sea-view,.weather-forest #forest-view{opacity:1}
#window-rain{opacity:0;transition:opacity 1s}.weather-rain #window-rain{opacity:.72}
#window-rain line{animation:window-rain .8s linear infinite;stroke:#b8d1e5;stroke-width:1;stroke-linecap:round;opacity:.6}
@keyframes window-rain{from{transform:translate(0,-80px)}to{transform:translate(-24px,45px)}}
.weather-spill{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse at 60% 32%,#829cb346,transparent 45%);mix-blend-mode:soft-light;opacity:0;transition:opacity 1.5s,background 1.5s}
.weather-sea .weather-spill{opacity:.6;background:radial-gradient(ellipse at 60% 32%,#d6c08d99,transparent 46%)}.weather-forest .weather-spill{opacity:.8;background:radial-gradient(ellipse at 60% 32%,#86b6a088,transparent 48%)}.weather-rain .weather-spill{opacity:.9}
#tea-steam path{animation:tea-drift 3.4s ease-in-out infinite;transform-origin:692px 377px;filter:blur(.7px)}#tea-steam path:nth-child(2){animation-delay:-1.2s}#tea-steam path:nth-child(3){animation-delay:-2.2s}@keyframes tea-drift{0%,100%{opacity:.2;transform:translateY(1px) scaleX(.8)}50%{opacity:.72;transform:translateY(-8px) scaleX(1.12)}}
#table-petals path{filter:drop-shadow(0 1px .5px #60402c44)}
.hotspot[data-interactive]{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}.hotspot[data-interactive="camera"]{cursor:pointer}.handling-object .hotspot[data-interactive]{cursor:grabbing}.handling-object .hotspot .label{opacity:0}
.play-hint{position:absolute;left:50%;bottom:181px;transform:translateX(-50%);z-index:11;display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 12px;border-radius:18px;background:#f7efdfeb;border:1px solid #fff9ed99;color:#65586b;font-size:11px;box-shadow:0 3px 18px #3a284514;max-width:calc(100vw - 28px)}
.play-hint span{line-height:1.5}.play-hint button{white-space:nowrap;border:0;border-left:1px solid #c6bba7;background:none;padding:2px 0 2px 9px;font-size:10px;color:#4a617e}.play-hint button[aria-pressed=true]{color:#925e42}
.stage.play-zoom .scene{transform:scale(1.58);transform-origin:34% 32%}.stage.handling-object{transition:none}.stage.play-zoom{z-index:2}
@media(max-width:700px){.play-hint{bottom:229px;width:calc(100vw - 34px);font-size:10px;gap:8px;padding:8px 10px}.play-hint span{flex:1}.stage.play-zoom .scene{transform:scale(1.8);transform-origin:34% 24%}.hotspot[data-interactive]{min-width:28px;min-height:28px}.play-hint button{font-size:10px}.hotspot[data-project="room-01"]{min-width:24px}}
@media(prefers-reduced-motion:reduce){.weather-picture,#window-rain,.weather-spill{transition:none}#window-rain line,#tea-steam path{animation:none}.stage.play-zoom .scene{transition:none}}
.interaction-art{z-index:4}.screening #tea-art,.screening #flower-art{filter:brightness(.88)}

#flying-sign{filter:drop-shadow(1px 2px 1px #4b342a33)}
.stage.play-zoom .hotspot[data-interactive] .label{opacity:0}
@media(hover:none){.hotspot[data-interactive] .label{display:none}}
