.logo-menu {
  position: absolute;
  top: 2rem;
  left: 2rem;
  width: 100px;
}

.menu-principal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

.titulo-menu {
  width: clamp(360px, 30vw, 630px);
  height: auto;
  margin-top: -7.5rem;
  margin-bottom: -3rem;
}

.boton-menu {
  min-width: 280px;
  padding: 1.2rem 3rem;
  font-family: var(--fuente-display);
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--hueso);
  background: var(--carmesi);
  border: 3px solid var(--rojo-sangre);
  border-radius: var(--radio-borde);
  cursor: pointer;
  box-shadow:
    inset 2px 2px 3px rgba(66, 66, 66, 0.281),
    inset -3px -3px 6px rgba(0, 0, 0, 0.4),
    0 4px 12px rgba(0, 0, 0, 0.45);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.boton-menu:hover {
  transform: scale(1.06);
  box-shadow:
    inset 2px 2px 3px rgba(255, 0, 0, 0.548),
    inset -3px -3px 6px rgba(255, 0, 0, 0.45),
    0 6px 18px rgba(196, 123, 123, 0.55);
}

.boton-menu:active {
  transform: scale(1.02);
  box-shadow:
    inset -2px -2px 3px rgba(255, 255, 255, 0.15),
    inset 3px 3px 6px rgba(0, 0, 0, 0.5);
}

.boton-menu[data-accion="resetear"] {
  background: var(--rojo-sangre);
  border-color: #2e0a0d;
}

.boton-menu:disabled {
  cursor: not-allowed;
  opacity: 0.5;
  transform: none !important;
}

.boton-ajustes {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  border: 1px solid var(--negro-borde);
  background: var(--negro-panel);
  color: var(--hueso);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  transition: transform 200ms ease, border-color 200ms ease;
}

.boton-ajustes:hover {
  transform: scale(1.08);
  border-color: var(--carmesi);
}

.modal-ajustes-contenido {
  position: relative;
  width: min(640px, 85vw, 80vh);
  height: min(640px, 85vw, 80vh);
  background: var(--negro-panel);
  border: 2px solid var(--carmesi);
  border-radius: 24px;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  overflow-y: auto;
}

.modal-ajustes-contenido h2 {
  font-family: var(--fuente-display);
  font-size: 2rem;
  text-align: center;
}

.ajustes-campo {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.ajustes-campo label {
  color: var(--hueso-tenue);
  font-size: 0.95rem;
}

.ajustes-campo-fila {
  display: flex;
  gap: 0.75rem;
}

.ajustes-campo-fila input {
  flex: 1;
  padding: 0.7rem 1rem;
  border-radius: 8px;
  border: 1px solid var(--negro-borde);
  background: var(--negro-abismo);
  color: var(--hueso);
  font-family: var(--fuente-mono);
}

.ajustes-campo-fila input:focus {
  outline: none;
  border-color: var(--carmesi);
}

.ajustes-mensaje {
  font-size: 0.9rem;
  min-height: 1.2em;
}

.ajustes-mensaje.exito { color: #8fd694; }
.ajustes-mensaje.error { color: var(--rojo-ascua); }

.boton-menu[data-bloqueado="true"] {
  background: var(--negro-panel);
  border-color: var(--negro-borde);
  color: var(--hueso-tenue);
  cursor: not-allowed;
  box-shadow: none;
}

.boton-menu[data-bloqueado="true"]:hover {
  transform: none;
  background: var(--negro-panel);
  box-shadow: none;
}