.room-refinements{position:absolute;inset:0;pointer-events:none}.room-refinements i{position:absolute;pointer-events:none}.ref-hearth{background:linear-gradient(115deg,#201925,#070713 65%,#282035);box-shadow:inset 0 0 9px #b6abce}.ref-fire{overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#ffb76070,transparent 70%)}.ref-fire b{position:absolute;bottom:10%;width:6%;height:var(--height);border-radius:70% 40% 20% 20%;background:linear-gradient(0deg,#ffd49c,#fff1c7aa 35%,#ffb45d40 75%,transparent);transform-origin:50% 100%;filter:blur(1px);animation:ref-flame 2.7s ease-in-out infinite;animation-delay:var(--phase)}.ref-blue-fire{background:linear-gradient(164deg,transparent 72%,#b8c9f860 77%,#685caf 81%,#e2c8ff44 84%,transparent 90%)}.ref-blue-fire b{background:linear-gradient(0deg,#9caaff,#7672ffb0 25%,#c080ff90 65%,transparent)}.ref-blue-fire:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,#ffffff0b 37%,transparent 42%);border-bottom:2px solid #b1bbeb88}.ref-display-glow{border-radius:50%;border-bottom:5px solid #ffd5ef;filter:blur(4px);mix-blend-mode:screen;animation:ref-colors 16s ease-in-out infinite;box-shadow:0 13px 16px -8px currentColor;color:#f5acd9}.ref-niche-led{border-radius:50%;background:currentColor;box-shadow:0 0 8px 4px currentColor;opacity:.44;animation:ref-colors 16s ease-in-out infinite}.ref-glint{border-radius:50%;background:#fff5d5;box-shadow:0 0 8px 3px #ffe1a899;animation:ref-glint 4.7s ease-in-out infinite;animation-delay:var(--phase);opacity:.3}.ref-snow-pane{overflow:hidden;border-radius:8px}.ref-snow-pane b{position:absolute;top:-10%;width:2px;height:2px;border-radius:50%;background:#fff;animation:ref-snow var(--duration) linear infinite;animation-delay:var(--phase)}.ref-theater-arrival{background:radial-gradient(ellipse at 50% 45%,transparent 20%,#1c143c85 100%);animation:ref-arrive 4s ease-out both}.ref-garden-water{overflow:hidden;background:repeating-linear-gradient(174deg,transparent 0 17px,#ddf5ff14 19px,transparent 22px);animation:ref-reflection 8s ease-in-out infinite}.ref-water-ring{left:48%;top:27%;width:13%;height:12%;border:1.5px solid #e4f5edaa;border-radius:50%;box-shadow:0 2px 3px #f1e5bf44;animation:ref-ring 8s linear infinite;animation-delay:var(--phase);opacity:0}.ref-well-flow{background:repeating-linear-gradient(90deg,transparent 0 6px,#e4f5ff80 8px,transparent 10px);mask-image:linear-gradient(0deg,transparent,#000 15% 85%,transparent);animation:ref-flow 2.4s ease-in-out infinite}.ref-foliage{background-repeat:no-repeat;mask-image:radial-gradient(ellipse,#000 20%,transparent 70%);transform-origin:50% 95%;animation:ref-foliage 9s ease-in-out infinite}.ref-cloud-drift{background:radial-gradient(ellipse at 25% 45%,#f6cae51a,transparent 65%),radial-gradient(ellipse at 70% 60%,#d4c6ff1a,transparent 60%);filter:blur(8px);animation:ref-cloud 30s ease-in-out infinite}.room-refinements~.patio-foliage{animation-duration:8s}
#ambient-effects .patio-foliage{animation-name:ref-foliage}#ambient-effects .patio-twinkle{filter:drop-shadow(0 0 2px #fff1c7)}#ambient-effects .patio-fire{filter:brightness(1.16)}
@keyframes ref-flame{0%,100%{transform:scaleY(.7) skewX(-5deg);opacity:.68}38%{transform:scaleY(1) skewX(4deg);opacity:.96}69%{transform:scaleY(.81) skewX(-2deg);opacity:.8}}@keyframes ref-colors{0%,100%{color:#f7acd7;border-color:#f7acd7}25%{color:#ba97ef;border-color:#ba97ef}50%{color:#88caff;border-color:#88caff}75%{color:#fff3ed;border-color:#fff3ed}}@keyframes ref-glint{0%,100%{opacity:.23;transform:scale(.8)}43%{opacity:.8;transform:scale(1.15)}70%{opacity:.4}}@keyframes ref-snow{to{transform:translate(5px,105px)}}@keyframes ref-arrive{from{opacity:0}to{opacity:.65}}@keyframes ref-ring{0%{opacity:0;transform:scale(.5)}20%{opacity:.65}100%{opacity:0;transform:scale(5,4)}}@keyframes ref-reflection{50%{background-position:9px 5px;opacity:.7}}@keyframes ref-flow{50%{transform:translateY(3px) rotate(-8deg);opacity:.5}}@keyframes ref-foliage{0%,100%{transform:rotate(-.24deg) translateX(-.7px)}50%{transform:rotate(.3deg) translateX(1px)}}@keyframes ref-cloud{50%{transform:translateX(28px);opacity:.6}}
.motion-paused .room-refinements *,.motion-paused .room-refinements *:after{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.room-refinements *,.room-refinements *:after{animation:none!important}.ref-water-ring,.ref-snow-pane{display:none}}
#season-visitor-selector{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin:18px auto;padding:12px 20px;max-width:580px;border:1px solid #c8ad79;border-radius:20px;background:linear-gradient(120deg,#fff9ef,#f3eaf5);color:#543f59}#season-visitor-selector[hidden]{display:none}#season-visitor-selector select{max-width:100%;min-height:44px;padding:10px;border-radius:12px;border:1px solid #c8ad79;background:#fffdf9;color:#543f59}.explore-details{margin:20px 0;text-align:left;line-height:1.6}.explore-details summary{min-height:44px;cursor:pointer;font-weight:bold}.explore-details p{font-size:1rem}.season-summary{padding:14px;border:1px solid #c8ad79;border-radius:14px;background:#fff9ef}.season-options label{min-height:44px}

.gem-collectible img{display:block;width:100%;height:auto;border-radius:16px;margin:16px 0}.gem-collectible a{display:inline-flex;min-height:44px;align-items:center}#treasure-share{min-height:44px;background:#653f72;color:white;border-radius:24px;padding:12px 22px}

/* Focused living-motion refinements; Collector and Christmas timing unchanged. */
.ref-candle{border-radius:50% 50% 35% 35%;background:radial-gradient(ellipse,#fffce2,#ffe1a075,transparent 72%);mix-blend-mode:screen;box-shadow:0 0 9px 3px #ffd18a45;animation:ref-candle var(--duration,4s) ease-in-out infinite;animation-delay:var(--phase);transform-origin:center bottom}
@keyframes ref-candle{0%,100%{opacity:.5;transform:scale(.85,1)}31%{opacity:.78;transform:scale(1,.88)}64%{opacity:.56;transform:scale(.9,1.12)}82%{opacity:.7;transform:scale(1.03,.96)}}
.ref-impact-ring{border:1px solid #edfbffc0;border-radius:50%;box-shadow:0 0 4px #f1e4c270;animation:ref-ring 3.6s linear infinite;animation-delay:var(--phase)}
.ref-foliage{animation-delay:var(--phase,0s)}
@keyframes ref-foliage{0%,100%{transform:rotate(-.65deg) translateX(-2px)}35%{transform:rotate(.85deg) translateX(2.5px)}72%{transform:rotate(-.2deg) translateX(.6px)}}
.ref-cloud-drift{background:radial-gradient(ellipse at 22% 43%,#f6cce565,transparent 65%),radial-gradient(ellipse at 70% 60%,#dacfff50,transparent 60%);animation-duration:22s;mix-blend-mode:screen}
@keyframes ref-cloud{0%,100%{transform:translateX(-20px);opacity:.5}50%{transform:translateX(40px);opacity:.85}}
.ref-well-flow{background:repeating-linear-gradient(170deg,transparent 0 5px,#effbffd0 7px,#b9e4f980 9px,transparent 12px);background-size:100% 24px;filter:drop-shadow(0 0 2px #b7e6f8);animation:ref-stream .8s linear infinite}
@keyframes ref-stream{to{background-position:0 24px}}
.ref-garden-water{background:repeating-linear-gradient(174deg,transparent 0 17px,#e6faff30 19px,transparent 22px)}
.ref-water-ring{border-color:#e4f5edcc;animation-duration:6.5s}
.ref-theater-arrival{background:radial-gradient(ellipse at 50% 45%,#f7d4b00a 15%,#100d29d9 100%);animation:ref-arrive 5s ease-in-out both}
@keyframes ref-arrive{0%{opacity:.05}35%{opacity:.3}80%,100%{opacity:.85}}
.ref-hearth{background:linear-gradient(180deg,#c3a77e 0 4%,#665057 5%,#211a25 11%,#080811 24% 85%,#3c303e 91%,#c3a77e 95%,#eee1c9);box-shadow:inset 0 0 14px #05020d}
.ref-blue-fire{box-shadow:inset 0 8px 8px #080710;}
#ambient-effects .patio-twinkle{filter:drop-shadow(0 0 3px #fff1c7)}
#ambient-effects .patio-fire{filter:brightness(1.28)}
@media(prefers-reduced-motion:reduce){.room-refinements *{animation:none!important}}

/* Water-only refinement: independent contact rings and non-tiled reflections. */
.ref-garden-water{background:radial-gradient(ellipse at 28% 40%,#ffe8b515,transparent 34%),radial-gradient(ellipse at 68% 62%,#d7f6ff18,transparent 40%);animation:pond-reflect 11.7s ease-in-out infinite}
.ref-water-ring{width:8%;height:7%;border-width:1px;border-color:#e8f9ff80 transparent #fff0c970 #e8f9ff40;box-shadow:0 1px 2px #fff1b51c;animation:pond-ring var(--ring-time,7s) cubic-bezier(.17,.5,.4,1) infinite;animation-delay:var(--phase);transform:translate(-50%,-50%)}
.ref-impact-ring{animation:pond-contact var(--ring-time,4.5s) ease-out infinite;animation-delay:var(--phase);border-color:#f5faff80 #d6efff30 #ffeacb70 transparent;box-shadow:none}
.ref-well-flow{background:linear-gradient(90deg,transparent 12%,#c1eafa32 30%,#f1fcff90 45%,#c5ebff40 65%,transparent 85%);clip-path:polygon(39% 0,60% 0,66% 28%,58% 50%,73% 77%,84% 100%,14% 100%,30% 76%,38% 50%,31% 28%);filter:blur(.6px);animation:pond-stream 2.73s ease-in-out infinite alternate}
.ref-well-flow:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 48% 25%,#ffffffa0,transparent 40%);animation:pond-thread 1.43s linear infinite}
@keyframes pond-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.18)}12%{opacity:.68}65%{opacity:.28}100%{opacity:0;transform:translate(-50%,-50%) scale(4.2,3.1)}}
@keyframes pond-contact{0%{opacity:0;scale:.3}18%{opacity:.7}100%{opacity:0;scale:3.8 2.4}}
@keyframes pond-reflect{0%,100%{opacity:.5}37%{opacity:.85}71%{opacity:.62}}
@keyframes pond-stream{0%{opacity:.55;filter:blur(.7px)}42%{opacity:.8;filter:blur(.4px)}100%{opacity:.66;filter:blur(.8px)}}
@keyframes pond-thread{from{translate:0 -70%;opacity:0}30%{opacity:.6}to{translate:0 70%;opacity:0}}
.motion-paused .ref-well-flow:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.ref-water-ring,.ref-impact-ring,.ref-well-flow:after{display:none}.ref-garden-water,.ref-well-flow{animation:none!important;opacity:.45}}
