/* Block Breaker — flagship device-fit pass (2026-09-09) */
#stage {
  padding-left: max(12px, env(safe-area-inset-left));
  padding-right: max(12px, env(safe-area-inset-right));
  padding-top: max(0px, env(safe-area-inset-top));
  padding-bottom: max(0px, env(safe-area-inset-bottom));
}

/* Preserve the cabinet's compact look without dropping below reliable touch sizes. */
.settings button,
#auth-row button,
.hud button,
#btn-action,
.howto summary {
  min-height: 44px;
  touch-action: manipulation;
}

.settings #btn-fs {
  min-width: 44px;
}

.control-deck input[type="range"] {
  min-height: 44px;
  touch-action: pan-x;
}

.screen,
.result-panel,
.title-layout {
  scroll-margin-top: max(10px, env(safe-area-inset-top));
  scroll-margin-bottom: max(10px, env(safe-area-inset-bottom));
}

/* Instrument feedback added by polish.js. */
.cabinet-feedback {
  position: absolute;
  z-index: 3;
  right: 14px;
  bottom: 14px;
  display: flex;
  gap: 5px;
  pointer-events: none;
}

.cabinet-feedback .lamp {
  min-width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #57615c;
  box-shadow: inset 0 0 0 1px #0008;
  opacity: .55;
}

.cabinet-feedback .lamp.on {
  background: var(--acid);
  box-shadow: 0 0 12px #d5ee8b88, inset 0 0 0 1px #fff5;
  opacity: 1;
}

@media (max-width: 480px) {
  #stage {
    padding-left: max(8px, env(safe-area-inset-left));
    padding-right: max(8px, env(safe-area-inset-right));
  }
  .settings {
    gap: 4px;
  }
  .settings button {
    padding-inline: 7px;
  }
  #auth-row button {
    min-height: 44px;
    padding: 7px 10px;
  }
  .howto summary {
    display: flex;
    align-items: center;
  }
}

@media (orientation: landscape) and (max-height: 520px) {
  .cabinet-header button,
  .control-deck .btn,
  .hud button {
    min-height: 44px;
  }
  .hud button {
    width: 44px;
  }
  .chamber {
    min-height: 44px;
  }
  .control-deck {
    min-height: 52px;
  }
  #frame {
    height: calc(100dvh - 126px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cabinet-feedback .lamp {
    transition: none !important;
  }
}
