/* ══════════════════════════════════════════════════════
   Skin: photonegative — the photo is the interface
   Active only when: html[data-skin="photonegative"] + body.index-home
   Default list layout is unchanged when data-skin is absent/default.
   ══════════════════════════════════════════════════════ */

.skin-map--photonegative {
  display: none;
}

html[data-skin="photonegative"] body.index-home .skin-map--photonegative {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 80;
  background: #05060a;
  overflow: hidden;
}

html[data-skin="photonegative"] body.index-home .site-header,
html[data-skin="photonegative"] body.index-home .page-wrap,
html[data-skin="photonegative"] body.index-home .page-watermark,
html[data-skin="photonegative"] body.index-home .newsletter-popup {
  display: none !important;
}

.skin-map__stage {
  position: absolute;
  inset: 0;
}

.skin-map__frame {
  position: relative;
  width: 100%;
  height: 100%;
}

.skin-map__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  user-select: none;
  pointer-events: none;
  -webkit-user-drag: none;
}

/* Mobile: stretch edge-to-edge — never crop the frame */
@media (max-width: 600px) {
  .skin-map__img {
    object-fit: fill;
    object-position: center;
  }
}

.skin-map__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 2;
}

.skin-map__hit {
  /* SVG ignores pointer events on fill:transparent / fill:none in several browsers */
  fill: #fff;
  fill-opacity: 0.01;
  stroke: none;
  cursor: pointer;
  outline: none;
  pointer-events: fill;
}

/* Hand-traced white outline — instant, no fade */
.skin-map__trace {
  opacity: 0;
  pointer-events: none;
}

.skin-map__spot--music:hover .skin-map__trace,
.skin-map__spot--music:focus-visible .skin-map__trace,
.skin-map__spot--music.is-hot .skin-map__trace {
  opacity: 1;
}

html[data-hitboxes="1"] .skin-map__hit {
  fill: #ff4632;
  fill-opacity: 0.16;
  stroke: rgba(255, 110, 80, 0.85);
  stroke-width: 1.25;
  stroke-dasharray: 4 3;
  vector-effect: non-scaling-stroke;
}

/* Persistent chrome — lives outside spa-content */
#bfSkinToggle {
  position: fixed;
  top: calc(16px + env(safe-area-inset-top, 0px));
  right: calc(16px + env(safe-area-inset-right, 0px));
  z-index: 120;
  font-family: monospace;
  font-size: 0.68em;
  letter-spacing: 0.1em;
  text-transform: lowercase;
  color: #000;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #000;
  border-radius: 0;
  padding: 6px 11px;
  cursor: pointer;
  line-height: 1;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

#bfSkinToggle:hover,
#bfSkinToggle:focus-visible {
  background: #000;
  color: #fff;
  outline: none;
}

html[data-skin="photonegative"] body.index-home #bfSkinToggle {
  color: rgba(255, 255, 255, 0.55);
  background: transparent;
  border-color: rgba(255, 255, 255, 0.25);
  box-shadow: none;
}

html[data-skin="photonegative"] body.index-home #bfSkinToggle:hover,
html[data-skin="photonegative"] body.index-home #bfSkinToggle:focus-visible {
  background: rgba(255, 255, 255, 0.92);
  color: #000;
  border-color: #000;
}

body:not(.index-home) #bfSkinToggle {
  display: none;
}
