/* The room and the real game panels share one red/blue light cycle. */
.lab-police-webgl {position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; mix-blend-mode: screen;}
.lab-scenery[data-scene="police"].police-webgl-ready .lab-scene-light {display: none;}
.lab-police-reflection {--police-red: 255,52,79; --police-blue: 39,143,255; position: absolute !important; inset: 0; z-index: 8 !important; border-radius: inherit; pointer-events: none; mix-blend-mode: screen; overflow: hidden; will-change: opacity;
  background: radial-gradient(ellipse at 0 8%,rgba(var(--police-red),.21),transparent 65%),radial-gradient(ellipse at 100% 85%,rgba(var(--police-blue),.18),transparent 68%);
  box-shadow: inset 2px 0 2px rgba(var(--police-red),.72),inset -2px 0 2px rgba(var(--police-blue),.64),inset 0 1px 0 rgba(var(--police-red),.25); opacity: 0;}
.lab-police-reflection.reverse {--police-red: 39,143,255; --police-blue: 255,52,79;}
.lab-police-vault {position:fixed;z-index:4;pointer-events:none;overflow:hidden;border-radius:32px;}
.lab-police-vault>.lab-police-reflection {background: radial-gradient(ellipse 85% 65% at 0 12%,rgba(var(--police-red),.28),transparent 80%),radial-gradient(ellipse 70% 90% at 100% 62%,rgba(var(--police-blue),.24),transparent 80%); box-shadow: inset 3px 0 3px rgba(var(--police-red),.72),inset -3px 0 3px rgba(var(--police-blue),.7),inset 0 2px 1px rgba(var(--police-red),.3);}
#dial>.lab-police-reflection {border-radius: 50%; background: conic-gradient(from 35deg,transparent,rgba(var(--police-red),.35) 20%,transparent 37%,rgba(var(--police-blue),.35) 65%,transparent 82%); box-shadow: inset 2px 0 1px rgba(var(--police-red),.7),inset -2px 0 1px rgba(var(--police-blue),.7);}
body:has(.police-webgl-fallback)[data-background="police"] .lab-police-reflection {animation: lab-siren-red-colour 6s ease-in-out infinite;}
body:has(.police-webgl-fallback)[data-background="police"] .lab-police-reflection.reverse {animation-name: lab-siren-blue-colour;}
body:has(.police-lighting-paused) .lab-police-reflection,
.lab-scenery.police-lighting-paused .lab-scene-light::before,
.lab-scenery.police-lighting-paused .lab-scene-light::after {animation-play-state: paused !important;}
body.lab-modal-open .lab-police-reflection {visibility: hidden;}
@media(max-width:880px) {.lab-police-reflection {will-change: auto;}}
@media(prefers-reduced-motion:reduce) {.lab-police-reflection {animation: none !important; will-change: auto;} body:has(.police-webgl-fallback) .lab-police-reflection:not(.reverse) {opacity: .35;}}
