:root {
  --fondo: #f6f5f2;
  --tarjeta: #ffffff;
  --texto: #1d1d1f;
  --suave: #6b6b70;
  --acento: #f38020;
  --borde: #e3e1dc;
}
@media (prefers-color-scheme: dark) {
  :root {
    --fondo: #141416;
    --tarjeta: #1f1f23;
    --texto: #f1f1f3;
    --suave: #9a9aa2;
    --borde: #33333a;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--fondo);
  color: var(--texto);
  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
}
main { max-width: 640px; margin: 0 auto; padding: 24px 16px 48px; }
header { display: flex; align-items: center; justify-content: space-between; }
h1 { font-size: 1.6rem; margin: 0 0 16px; }
button {
  font: inherit; cursor: pointer; border: 0; border-radius: 8px;
  padding: 8px 16px; background: var(--acento); color: #fff;
}
button.secundario { background: var(--tarjeta); color: var(--texto); border: 1px solid var(--borde); }
input {
  font: inherit; padding: 8px 12px; border-radius: 8px;
  border: 1px solid var(--borde); background: var(--tarjeta); color: var(--texto);
}
.fila { display: flex; gap: 8px; margin-top: 4px; }
.fila input { flex: 1; }
.error { color: #d93025; min-height: 1.5em; }
.ahora { background: var(--tarjeta); border: 1px solid var(--borde); border-radius: 12px; padding: 16px; }
.etiqueta { display: block; font-size: .8rem; color: var(--suave); text-transform: uppercase; letter-spacing: .05em; }
audio { width: 100%; margin: 12px 0; }
.controles { display: flex; gap: 8px; }
.controles input { flex: 1; min-width: 0; }
ol { list-style: none; padding: 0; margin: 16px 0 0; }
li button {
  width: 100%; text-align: left; background: transparent; color: var(--texto);
  border-radius: 8px; padding: 10px 12px;
}
li button:hover { background: var(--tarjeta); }
li.activa button { background: var(--tarjeta); color: var(--acento); font-weight: 600; }
