:root{--fondo:#0f1220;--papel:#161a2e;--linea:#2a3050;--texto:#e9ecf7;--suave:#9aa3c7;
--acento:#7aa2ff;--ok:#5fd0a0;--mal:#ff8a8a;--radio:10px}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--texto);
font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.barra{display:flex;justify-content:space-between;align-items:center;gap:16px;
padding:14px 16px;border-bottom:1px solid var(--linea);flex-wrap:wrap}
.marca{color:var(--texto);text-decoration:none;font-weight:600;letter-spacing:.2px}
.barra a{color:var(--acento)}.quien{color:var(--suave);margin-right:12px}
main{padding:0 16px}
.estrecho{max-width:760px;margin:32px auto 80px}
h1{font-size:1.6rem;line-height:1.25;margin:0 0 8px}
.nota,.ayuda{color:var(--suave);font-size:.92rem}
.aviso{background:#1c2440;border-left:3px solid var(--acento);padding:10px 14px;border-radius:6px}
.error{background:#3a1d26;border-left:3px solid var(--mal);padding:10px 14px;border-radius:6px}
.formulario{display:grid;gap:14px;margin:20px 0}
label{display:block;font-weight:500}
input:not([type=radio]):not([type=checkbox]):not([type=file]),textarea,.celda,select.celda{
width:100%;margin-top:6px;padding:10px 12px;background:var(--papel);color:var(--texto);
border:1px solid var(--linea);border-radius:var(--radio);font:inherit}
textarea{resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--acento);outline-offset:1px}
button{padding:11px 18px;background:var(--acento);color:#0b1020;border:0;
border-radius:var(--radio);font:inherit;font-weight:600;cursor:pointer}
button:hover{filter:brightness(1.08)}
.anadir-fila{background:transparent;color:var(--acento);border:1px solid var(--linea);
padding:7px 12px;margin-top:8px;font-weight:500}
.bloques{list-style:none;padding:0;display:grid;gap:10px}
.bloques a{display:block;padding:14px 16px;background:var(--papel);border:1px solid var(--linea);
border-radius:var(--radio);text-decoration:none;color:var(--texto)}
.bloques a:hover{border-color:var(--acento)}
.bloques .titulo{display:block;font-weight:600}
.bloques .meta{color:var(--suave);font-size:.88rem}
.pregunta{padding:18px 0;border-bottom:1px solid var(--linea)}
.enunciado{font-weight:500}
.enunciado .id{color:var(--suave);font-size:.8rem;margin-right:6px}
.opciones{display:grid;gap:6px;margin-top:10px}
.opcion{display:flex;gap:9px;align-items:flex-start;font-weight:400;cursor:pointer}
.explicacion{background:var(--papel);border:1px solid var(--linea);border-radius:var(--radio);
padding:4px 16px;margin:22px 0}
.rejilla{width:100%;border-collapse:collapse;margin-top:10px;display:block;overflow-x:auto}
.rejilla th{text-align:left;font-size:.82rem;color:var(--suave);font-weight:500;
padding:6px 4px;white-space:nowrap}
.rejilla td{padding:3px 4px}
.rejilla.ejemplo td{color:var(--suave);font-size:.88rem}
.estado{display:block;margin-top:8px;font-size:.85rem;color:var(--suave);min-height:1.2em}
.estado.ok{color:var(--ok)}.estado.mal{color:var(--mal)}
.unidad{color:var(--suave);font-size:.9rem;margin-left:8px}
.volver a{color:var(--suave);text-decoration:none}
.cierre{margin-top:28px;color:var(--suave)}
details.ejemplo summary{cursor:pointer;color:var(--acento);font-size:.9rem;margin-top:8px}
footer{border-top:1px solid var(--linea);padding:16px;color:var(--suave);font-size:.85rem;text-align:center}
@media (max-width:560px){.estrecho{margin:20px auto 60px}h1{font-size:1.35rem}}
