/* Al Día · inscripción. Marca B · Cuenta regresiva (04-Marca/Al Día - marca.html, pestaña
   Visual): todo lo que es pantalla va en oscuro, plano, grafito y papel con la escala de
   urgencia. Pensada primero para el celular. */
@font-face{font-family:"Archivo";font-weight:400;font-style:normal;font-display:swap;src:url(fuentes/archivo-400.woff) format("woff")}
@font-face{font-family:"Archivo";font-weight:700;font-style:normal;font-display:swap;src:url(fuentes/archivo-700.woff) format("woff")}
@font-face{font-family:"Archivo Condensada";font-weight:800;font-style:normal;font-display:swap;src:url(fuentes/archivo-condensada-800.woff) format("woff")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url(fuentes/plex-mono-500.woff) format("woff")}

:root{
  --grafito:#15171C; --papel:#F3F4F6; --gris-osc:#A9AFBC;
  --urgente:#E1474C; --se-acerca:#EFA531; --con-tiempo:#1F9E76;
  --o-fondo:#0F1114; --o-superficie:#1A1D23; --o-tarjeta:#22262E; --o-borde:#2A2E36;
  --o-texto:#F3F4F6; --o-texto2:#9AA0AD; --o-pista:#2E323B;
  --o-urg-bg:rgba(225,71,76,.18); --o-urg-tx:#FF8A8D;
  --o-ace-bg:rgba(239,165,49,.16); --o-ace-tx:#F5BC63;
  --o-con-bg:rgba(31,158,118,.18); --o-con-tx:#56CFA5;
  --f-titulo:"Archivo Condensada","Archivo",system-ui,sans-serif;
  --f-texto:"Archivo",system-ui,-apple-system,sans-serif;
  --f-dato:"IBM Plex Mono",ui-monospace,monospace;
  --radio:6px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--o-fondo);color:var(--o-texto);font:16px/1.55 var(--f-texto)}
.app{max-width:520px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px max(32px,env(safe-area-inset-bottom));display:grid;gap:22px}
h1,h2,p{margin:0}
b{font-weight:700}
.dsp{font-family:var(--f-titulo);font-weight:800;text-transform:uppercase;line-height:.94;letter-spacing:-.01em}
.dato{font-family:var(--f-dato);font-weight:500;font-size:.92em}
.ey{display:block;font:500 11px var(--f-dato);letter-spacing:.07em;text-transform:uppercase;color:var(--o-texto2)}

/* barra */
.barra{display:flex;align-items:center;justify-content:space-between}
.logo{display:inline-flex;align-items:center;gap:.22em;font-size:26px;line-height:1;color:var(--papel)}
.logo svg{width:.92em;height:.92em;flex:none}
.logo .w{font-family:var(--f-titulo);font-weight:800;text-transform:uppercase;line-height:.9}
.chip{font:500 11px var(--f-dato);letter-spacing:.08em;text-transform:uppercase;color:var(--o-ace-tx);background:var(--o-ace-bg);border-radius:4px;padding:3px 8px}

/* portada */
.portada{display:grid;gap:14px}
.portada h1{font-size:clamp(42px,13vw,60px)}
.lead{color:var(--o-texto2)}
.plan{background:var(--o-superficie);border:1px solid var(--o-borde);border-radius:10px;padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:12px 16px}
.plan b{font-size:15px}
.plan .derecha{text-align:right}
.plan .fila{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--o-borde);padding-top:10px;font-size:14px}
.plan .fila .ey{display:inline}

/* progreso: el anillo se cierra a medida que se avanza */
.progreso{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:2;background:var(--o-fondo);padding:10px 0;border-bottom:1px solid var(--o-borde)}
.anillo{width:44px;height:44px;flex:none}
#arco{transition:stroke-dashoffset .5s ease}
.progreso b{font-size:17px}

/* pasos */
.paso{display:none;gap:16px}
.paso.activo{display:grid}
label{display:grid;gap:6px;font-weight:700;font-size:15px}
label small{font-weight:400;color:var(--o-texto2);font-size:13px}
input[type=text],input:not([type]),input[type=email],input[type=password]{
  width:100%;font:16px var(--f-texto);color:var(--o-texto);background:var(--o-superficie);
  border:1px solid var(--o-borde);border-radius:var(--radio);padding:12px 12px;min-height:48px}
input[name=token]{font-family:var(--f-dato);font-size:15px}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--se-acerca);outline-offset:2px}
input[aria-invalid=true]{border-color:var(--urgente)}
.con-boton{display:flex;gap:8px}
.mini{flex:none;font:500 13px var(--f-dato);color:var(--o-texto);background:var(--o-tarjeta);border:1px solid var(--o-borde);border-radius:var(--radio);padding:0 14px;min-height:48px;cursor:pointer}
.boton{display:block;width:100%;text-align:center;text-decoration:none;font:700 16px var(--f-texto);color:var(--grafito);background:var(--se-acerca);border:0;border-radius:var(--radio);padding:14px 16px;min-height:50px;cursor:pointer}
.boton:disabled{opacity:.55;cursor:wait}
.boton.secundario{background:transparent;color:var(--o-texto);border:1px solid var(--o-borde)}
.boton.grande{font-size:18px;min-height:58px;padding:18px}
.botones{display:grid;grid-template-columns:1fr 2fr;gap:10px}
.error{color:var(--o-urg-tx);font-size:14px;min-height:0}
.error:empty{display:none}
.aviso{background:var(--o-ace-bg);border-left:4px solid var(--se-acerca);border-radius:0 var(--radio) var(--radio) 0;padding:12px 14px;font-size:14px;color:var(--o-texto)}
.suave{color:var(--o-texto2);font-size:14px}
.link{word-break:break-all;color:var(--o-texto2);font-size:12px;background:var(--o-superficie);border-radius:var(--radio);padding:10px}

/* tutorial */
.tutorial{margin:0;padding:0;list-style:none;counter-reset:t;display:grid;gap:16px}
.tutorial>li{counter-increment:t;display:grid;gap:10px;background:var(--o-superficie);border:1px solid var(--o-borde);border-radius:10px;padding:14px}
.tutorial>li>p::before{content:counter(t);display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:var(--o-tarjeta);font:500 12px var(--f-dato);color:var(--o-ace-tx)}
.captura{margin:0;border-radius:var(--radio);overflow:hidden;border:1px solid var(--o-borde);background:var(--o-tarjeta)}
.captura img{display:block;width:100%;height:auto}
.captura figcaption{display:none}
/* Mientras no estén las capturas de Nicolás: un espacio marcado con su número. */
.captura.falta{aspect-ratio:16/10;display:grid;place-items:center;border:1.5px dashed var(--se-acerca)}
.captura.falta img{display:none}
.captura.falta figcaption{display:block;font:500 12px var(--f-dato);letter-spacing:.06em;text-transform:uppercase;color:var(--o-ace-tx)}

/* consentimiento */
#consentimiento{display:grid;gap:12px}
#consentimiento>p{color:var(--o-texto2);font-size:15px}
.punto{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-weight:400;font-size:14.5px;line-height:1.5;background:var(--o-superficie);border:1px solid var(--o-borde);border-radius:10px;padding:14px;cursor:pointer}
.punto b{display:block;font-size:15px;margin-bottom:2px}
.punto input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--con-tiempo)}
.punto:has(input:checked){border-color:var(--con-tiempo);background:#1B3432}
.punto.opcional{border-style:dashed}

/* último paso: la cuenta regresiva de los 30 minutos */
#p4 h2{font-size:40px}
.cuenta{background:var(--o-tarjeta);border:1px solid var(--o-borde);border-radius:var(--radio);padding:12px 14px 12px 18px;position:relative;display:grid;gap:3px}
.cuenta::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:5px;border-radius:0 3px 3px 0;background:var(--con-tiempo)}
.cuenta.se-acerca::before{background:var(--se-acerca)}
.cuenta.urgente::before{background:var(--urgente)}
.cuenta .t{font-size:28px}
.cuenta .m{font-size:13px;color:var(--gris-osc)}

/* universidad: la misma página para las dos */
.solo-unab{display:none}
body.unab .solo-unab{display:inline}
body.unab .solo-uc{display:none}

.pie{border-top:1px solid var(--o-borde);padding-top:14px;display:grid;gap:4px;font-size:12px;color:var(--o-texto2)}
@media (prefers-reduced-motion:reduce){#arco{transition:none}}
.campos{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.campos li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:var(--o-tarjeta);border-radius:var(--radio);padding:9px 12px;font-size:14px}
.campos .ey{display:inline}
