.pagina {
  max-width: 560px;
  min-height: 100svh;
  margin: 0 auto;
  padding: max(28px, env(safe-area-inset-top)) 20px max(28px, env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.cabecera { display: grid; gap: 14px; justify-items: start; }
.logo { width: 132px; }
.cabecera-lema { margin: 0; color: var(--rosa); display: flex; align-items: center; gap: 10px; }

main { display: grid; gap: 22px; }

.bloque {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--fuego);
  background: var(--brasa);
  font-size: 14px;
  color: var(--hueso-2);
}
.bloque b { color: var(--hueso); }

.formulario h1 {
  margin: 0 0 10px;
  font-size: clamp(40px, 11vw, 54px);
  line-height: 1;
  letter-spacing: -0.005em;
}
.formulario h1 em { color: var(--fuego); font-style: italic; }
.ayuda { margin: 0 0 20px; font-size: 15px; color: var(--ceniza); }

.area { min-height: 150px; resize: vertical; font-size: 17px; line-height: 1.45; }
.fila-contador { display: flex; justify-content: flex-end; margin: 6px 0 18px; font-size: 12px; color: var(--humo); }
#contador.casi { color: var(--rosa); }
.etiqueta-campo { display: block; margin-bottom: 8px; color: var(--ceniza); }
.etiqueta-campo span { text-transform: none; letter-spacing: 0; font-weight: 400; }

.error { margin: 16px 0 0; padding: 12px 14px; background: rgba(201, 60, 35, .14); border-left: 3px solid var(--fuego); font-size: 14px; }
.error.info { background: var(--brasa); border-left-color: var(--rosa); }
.enviar { width: 100%; margin-top: 20px; min-height: 54px; font-size: 13px; }

.aviso { display: grid; gap: 4px; padding: 16px; border: 1px solid var(--linea); background: var(--carbon); font-size: 14px; color: var(--ceniza); }
.aviso strong { color: var(--hueso); font-weight: 700; }

.gracias { padding: 30px 22px; border: 1px solid var(--linea); background: var(--carbon); text-align: center; display: grid; justify-items: center; gap: 6px; }
.gracias .estrella.grande { width: 30px; height: 30px; color: var(--fuego); margin-bottom: 8px; }
.gracias h2 { margin: 0; font-size: 38px; line-height: 1.05; }
.gracias p { margin: 0 0 16px; color: var(--ceniza); font-size: 15px; }
.gracias.bloqueada .estrella.grande { color: var(--ceniza); }

.mias h2 { margin: 0 0 10px; color: var(--ceniza); }
.mias ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linea); }
.mias li { display: grid; gap: 8px; padding: 14px 0; border-bottom: 1px solid var(--linea); }
.mias .txt { font-size: 15px; color: var(--hueso-2); overflow-wrap: anywhere; }
.mias .estado { justify-self: start; font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ceniza); }
.mias .estado::before { content: "● "; }
.mias .estado.cola { color: var(--rosa); }
.mias .estado.pantalla { color: #fff; background: var(--fuego); padding: 3px 8px; }
.mias .estado.pantalla::before { content: "★ "; }
.mias .estado.respondida { color: var(--ok); }
.mias .estado.bloqueada { color: var(--humo); }
.mias .estado.enviando { color: var(--hueso-2); }
.mias .estado.enviando::before { content: "↻ "; }

.pie { margin-top: auto; font-size: 12.5px; color: var(--humo); }
