/* r6 · Atmosphere accents that support photography (not CSS toy furniture) */
.room-atmo{
  position:absolute; inset:0; z-index:4; pointer-events:none;
  overflow:hidden; border-radius:inherit;
}
.room-atmo[hidden]{ display:none!important; }

.room-atmo-glow{
  position:absolute; inset:-10%;
  background:
    radial-gradient(ellipse 50% 38% at 74% 26%, #f0d58a22, transparent 62%),
    radial-gradient(ellipse 42% 36% at 18% 72%, #7a9e8218, transparent 70%);
  opacity:.35; mix-blend-mode:soft-light;
  transition:opacity .9s ease;
}
body.sill-locked .room-atmo-glow{ opacity:.22; }
body.sill-open .room-atmo-glow{ opacity:.55; }

.room-atmo-window-shaft{
  position:absolute; top:-8%; right:4%; width:48%; height:86%;
  background:linear-gradient(118deg, #f5e6b02a 0%, #f5e6b00c 40%, transparent 74%);
  clip-path:polygon(42% 0, 100% 0, 70% 100%, 0 100%);
  opacity:.28; filter:blur(1.2px);
  animation:atmo-shaft 16s ease-in-out infinite alternate;
}
body.sill-locked .room-atmo-window-shaft{ opacity:.16; animation:none; }
body.sill-open .room-atmo-window-shaft{ opacity:.42; }

@keyframes atmo-shaft{
  from{ opacity:.22; transform:translateX(0); }
  to{ opacity:.42; transform:translateX(-8px); }
}

.room-atmo-dust{ position:absolute; inset:0; overflow:hidden; }
.room-atmo-dust i{
  position:absolute; width:2px; height:2px; border-radius:50%;
  background:#f3e6c0; opacity:0;
  box-shadow:0 0 5px #f3e6c066;
  animation:atmo-dust var(--dur,12s) linear infinite;
  animation-delay:var(--delay,0s);
}
body.sill-locked .room-atmo-dust i{ animation:none; opacity:0!important; }
body.sill-locked .room-atmo-dust i:nth-child(-n+3){
  animation:atmo-dust-faint 18s linear infinite;
}
@keyframes atmo-dust{
  0%{ opacity:0; transform:translate3d(0,24px,0); }
  12%{ opacity:.5; }
  70%{ opacity:.28; }
  100%{ opacity:0; transform:translate3d(var(--dx,12px),-120px,0); }
}
@keyframes atmo-dust-faint{
  0%,100%{ opacity:0; }
  40%{ opacity:.16; }
}

/* Soft curtain breath — fabric edge, not a flat panel prop */
.room-atmo-curtain{
  position:absolute; top:0; left:0; width:11%; height:100%; z-index:2;
  background:
    linear-gradient(90deg, #141c18dd 0%, #1c282088 55%, transparent),
    repeating-linear-gradient(90deg, transparent 0 9px, #0000000a 9px 10px);
  opacity:0; transform:translateX(-18%);
  transition:opacity .9s ease, transform .9s cubic-bezier(.16,1,.3,1);
  box-shadow:10px 0 40px #00000044;
}
body.sill-open .room-atmo-curtain{ opacity:.55; transform:none; }
body.sill-open:not([data-calm=true]) .room-atmo-curtain{
  animation:atmo-curtain 11s ease-in-out infinite alternate;
}
@keyframes atmo-curtain{
  from{ transform:translateX(0) skewX(0); }
  to{ transform:translateX(1.2%) skewX(-.35deg); }
}

/* Warm pool hint near left desk (lived photo has lamp) */
.room-atmo-warm-pool{
  position:absolute; left:8%; bottom:12%; width:28%; height:28%;
  border-radius:50%;
  background:radial-gradient(ellipse, #f0d58a33 0%, #f0d58a10 38%, transparent 70%);
  filter:blur(12px); opacity:0;
  transition:opacity .8s ease;
  animation:atmo-lamp-flicker 6s ease-in-out infinite;
}
body.sill-open .room-atmo-warm-pool{ opacity:.7; }
@keyframes atmo-lamp-flicker{
  0%,100%{ opacity:.55; }
  50%{ opacity:.78; }
}

/* Free invite — quiet brass breath on empty floor */
.room-atmo-invite{
  position:absolute; left:10%; bottom:16%; width:72px; height:10px;
  border-radius:50%; background:radial-gradient(ellipse, #cbb77a55, transparent 70%);
  opacity:0; transition:opacity .5s ease;
}
body.sill-locked .room-atmo-invite{ opacity:.45; }

/* Subtle prop-sheet reflection strip for Pro (photographic still-life echo) */
.room-atmo-prop-hint{
  position:absolute; right:6%; bottom:10%; width:min(220px,28%); height:72px;
  background:url('assets/r6/prop-sheet.jpg') center/cover no-repeat;
  border-radius:8px; opacity:0; filter:blur(.2px) saturate(.9) brightness(.85);
  box-shadow:0 12px 32px #00000055; mix-blend-mode:soft-light;
  transform:rotate(-2deg) translateY(8px);
  transition:opacity .7s ease, transform .7s ease;
  mask-image:linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
}
body.sill-open .room-atmo-prop-hint{ opacity:.22; transform:rotate(-2deg); }

.sanctuary-home-scene[data-live=true] .room-atmo-glow{ opacity:.7; }
.sanctuary-home-scene[data-live=true] .room-atmo-window-shaft{ opacity:.5; }

@media (max-width:760px){
  .room-atmo-curtain{ width:14%; }
  .room-atmo-prop-hint{ display:none; }
  .room-atmo-warm-pool{ left:4%; width:36%; }
}
@media (prefers-reduced-motion:reduce){
  .room-atmo-window-shaft,.room-atmo-curtain,.room-atmo-warm-pool,.room-atmo-dust i{
    animation:none!important;
  }
}
