/* Opt-in shader study: the existing glass, artwork and layout stay in charge. */
.heat-preview-layer {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(ellipse at 38% 100%, #f5752438, transparent 65%);
}
.heat-preview-layer canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  opacity: 0.7;
  mask-image: linear-gradient(to right, #000 20%, #0008 60%, #0003);
}
#game[data-heat-effect="paused"] .heat-preview-layer canvas,
#game[data-heat-effect="fallback"] .heat-preview-layer canvas {
  visibility: hidden !important;
}
.heat-preview-toggle {
  display: block;
  margin-top: 1rem;
  padding: 0.45rem 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-size: 0.8rem;
  text-decoration: underline;
  text-underline-offset: 0.25em;
  cursor: pointer;
}
.heat-preview-toggle[hidden] { display: none; }
.heat-preview-toggle:focus-visible { outline: 2px solid var(--lime); outline-offset: 5px; }
@media (max-width: 760px) {
  .heat-preview-layer canvas { mask-image: linear-gradient(#000, #0004); }
}
@media (prefers-reduced-motion: reduce), (prefers-reduced-transparency: reduce), (prefers-contrast: more), (forced-colors: active) {
  .heat-preview-layer, .heat-preview-toggle { display: none; }
}
