/* Shared lights overrides — load after page styles */

/* Flashlight layers hidden while fully lit */
body.lights-on .dark,
body.lights-on .glow,
body.lights-on .core,
body.lights-on .hint,
body.lights-on .embers,
body.lights-on .smoke {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  animation: none !important;
  display: none !important;
}

/* removed stuck lights-anim dark overlay */

body.lights-on {
  cursor: auto !important;
  background: #0a0806 !important;
}

/* Dark / flashlight mode (desktop + mobile) */
body.lights-off,
body:not(.lights-on) {
  cursor: none;
  background: #000;
}

body.lights-off .dark,
body:not(.lights-on) .dark {
  opacity: 1;
  visibility: visible;
  display: block !important;
  animation: none !important;
}

body.lights-off .glow,
body:not(.lights-on) .glow,
body.lights-off .core,
body:not(.lights-on) .core {
  opacity: 1;
  visibility: visible;
  display: block !important;
}

/* Mobile: keep flashlight layers available when dark.
   Override page-level rules that hide .dark/.glow/.core under 768px. */
@media (max-width: 768px) {
  body.lights-off .dark,
  body:not(.lights-on) .dark,
  body.lights-off .glow,
  body:not(.lights-on) .glow,
  body.lights-off .core,
  body:not(.lights-on) .core {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.lights-on .dark,
  body.lights-on .glow,
  body.lights-on .core,
  body.lights-on .hint,
  body.lights-on .embers,
  body.lights-on .smoke {
    display: none !important;
  }

  /* smaller cursor core on touch */
  body.lights-off .core,
  body:not(.lights-on) .core {
    width: 18px;
    height: 18px;
    margin: -9px;
  }
}
