/* Local artwork corrections. Keep these fixed to the interior's coordinate plane
   so the cabinet opening and speaker figures remain aligned during camera moves. */
#insideRecords{left:312px;top:565px;width:155px;height:64px;border-radius:0}
#insideRecords::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url('./assets/cabinet-vinyls-warm.png');
  background-repeat:no-repeat;
  background-size:1078.7096774193549% 1470.3125%;
  background-position:20.566908371786422% 64.42417331812999%;
  clip-path:polygon(14% 2%,84% 2%,94% 10%,98% 30%,96% 66%,87% 91%,16% 94%,5% 82%,1% 54%,3% 25%);
}
.world.lights-off #insideRecords::before{filter:url(#moonlit-equipment)}

/* One transparent atlas holds the two reference toys in both lighting states.
   These intentional overrides take precedence over the original object atlas. */
#figureOne{left:570px;top:528px;width:39px;height:45.6px}
#figureTwo{left:629px;top:530px;width:36px;height:43.4px}
#figureOne .object-image,#figureTwo .object-image{
  background-image:url('./assets/speaker-reference-figures.png')!important;
  clip-path:none!important;
}
#figureOne .object-image{background-size:246.8503937007874% 211.11111111111111%!important;background-position:14.47721179624665% 6.0606060606060606%!important;}
#figureTwo .object-image{background-size:268.52248394004283% 222.73534635879219%!important;background-position:85.89580686149937% 9.696092619392186%!important;}

/* Warm sprites are a new painted redraw, including their original soft glow.
   Display the complete half-atlas so the generated edge alpha stays intact. */
#figureOne .object-image,
#figureTwo .object-image{
  right:auto;bottom:auto;
  background-image:url('./assets/speaker-painted-figures-warm.png')!important;
  background-size:200% 100%!important;
}
#figureOne .object-image{left:-9.769px;top:-10.552px;width:48.238px;height:64.317px;background-position:0 0!important}
#figureTwo .object-image{left:-0.132px;top:-8.891px;width:44.921px;height:59.894px;background-position:100% 0!important}

/* Keep the moonlit toys in the same exposure range as the unlit speaker. */
.world.lights-off #figureOne .object-image,
.world.lights-off #figureTwo .object-image{filter:url(#moonlit-hirono)}

.world.lights-off #turntable .object-image,
.world.lights-off #speaker .object-image,
.world.lights-off #recordPile .object-image,
.world.lights-off #plush .object-image,
.world.lights-off .speaker-hardware{filter:url(#moonlit-equipment)}
/* Only the lit LED is emissive. Its unlit bezel follows the room exposure. */
.world.lights-off .speaker-hardware{filter:none}
.world.lights-off .speaker-hardware i:not(.speaker-status),
.world.lights-off.muted .speaker-hardware .speaker-status{filter:url(#moonlit-equipment)}
.world.lights-off.muted .speaker-hardware .speaker-status{box-shadow:none}
