/* Generic modal shell */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 15000;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 16px 0;
  pointer-events: all;
  touch-action: manipulation;
}

.modal-content {
  background: #222;
  padding: 2rem;
  border-radius: 10px;
  text-align: center;
  width: 90%;
  max-width: 400px;
  max-height: calc(var(--app-vh, 1vh) * 90);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.modal-content input,
.modal-content button {
  width: 100%;
  padding: 12px;
  margin: 10px 0;
  border: none;
  border-radius: 5px;
  pointer-events: all;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.modal-content button {
  background: var(--gold);
  color: var(--black);
  font-weight: bold;
  cursor: pointer;
  min-height: 48px;
  font-size: 1.1rem;
}

.modal-content button:active {
  transform: scale(0.98);
  opacity: 0.9;
}

.modal.hidden {
  display: none;
  pointer-events: none;
}
