/* Coordinates share the room's 1774 × 784 stage, including mobile panning. */
.room-fridge{left:409px;top:564px;width:66px;height:64px;perspective:240px;isolation:isolate;overflow:visible}
.fridge-interior{position:absolute;inset:1px;border:3px solid #253c39;border-radius:5px;background:#d7eee0;box-shadow:inset 0 0 0 2px #819d94,inset 0 3px 8px #193f474d;overflow:hidden}
.fridge-stock{position:absolute;inset:5px 5px 3px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr;gap:2px}
.mango-can{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(1px 1px 0 #17383b55)}
.fridge-shelf{position:absolute;left:2px;right:2px;bottom:2px;height:3px;background:#eef9ee;border-bottom:1px solid #718e82;box-shadow:0 2px 2px #25493d33}
.fridge-door{position:absolute;inset:0;transform-origin:100% 50%;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .65s;backface-visibility:visible;z-index:2}
.fridge-door svg{width:100%;height:100%;display:block;overflow:hidden;image-rendering:pixelated}
.room-fridge.is-open .fridge-door{transform:rotateY(112deg);filter:brightness(.85)}
.room-record{left:423px;top:484px;width:180px;height:59px}
.record-perspective{position:absolute;left:17px;top:13px;width:112px;height:112px;transform:scaleY(.145);transform-origin:50% 0;pointer-events:none}
.record-rotor{position:absolute;inset:0;border-radius:50%;border:3px solid #142029;background:repeating-radial-gradient(circle,#17222b 0 4px,#29333e 5px 6px,#17222b 7px 10px);overflow:hidden;animation:roomRecordSpin 2.4s linear infinite;animation-play-state:paused}
.record-rotor::before{content:'';position:absolute;inset:0;background:conic-gradient(from 25deg,transparent 0 38deg,#a2bdcb50 39deg 43deg,transparent 44deg 209deg,#7a9ca533 210deg 222deg,transparent 223deg)}
.record-rotor i{position:absolute;inset:37%;border-radius:50%;background:#efece1;box-shadow:0 0 0 2px #536269}
.record-rotor i::before{content:'';position:absolute;left:44%;top:15%;width:12%;height:20%;background:#c75336}
.record-rotor i::after{content:'';position:absolute;inset:42%;border-radius:50%;background:#1f2931}
.room-record.is-spinning .record-rotor{animation-play-state:running}
@keyframes roomRecordSpin{to{rotate:360deg}}
.cup-steam{left:1276px;top:459px;width:38px;height:62px;pointer-events:none;overflow:visible}
.cup-steam path{fill:none;stroke:#fbfff8;stroke-width:2.4;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 1px #b2c9bf);animation:roomCupSteam 3.6s ease-out infinite}
.cup-steam path:nth-child(2){animation-delay:-1.2s;stroke-width:2}.cup-steam path:nth-child(3){animation-delay:-2.4s;stroke-width:1.6}
@keyframes roomCupSteam{0%{opacity:0;transform:translate(0,9px) scaleY(.7)}25%{opacity:.65}70%{opacity:.3}100%{opacity:0;transform:translate(3px,-15px) scaleY(1.05)}}
.room-interaction-status{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.room-motion-paused :is(.record-rotor,.cup-steam path){animation-play-state:paused!important}
body:not([data-page="home"]) :is(.record-rotor,.cup-steam path){animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
  .fridge-door{transition:none}
  .record-rotor,.cup-steam path{animation:none!important}
  .room-record.is-spinning .record-rotor{rotate:30deg}
  .cup-steam path:first-child{opacity:.3}
}
