/* DPD por un día · Examen avanzado: estética sobria de examen (sin carpetas, sellos, rachas ni animaciones). Tokens del kit de la web. */
.examen { min-height: calc(100vh - 61px); display: grid; grid-template-rows: auto 1fr auto; }
.x-convocatoria { max-width: 820px; width: 100%; margin: 0 auto; padding: 32px 16px; }
.x-etiqueta { font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--el-accent); font-weight: 600; margin-bottom: 6px; }
.x-nota { font-size: 14px; color: var(--el-ink-4); border-left: 3px solid var(--el-line); padding-left: 12px; }
.x-revision { font-size: 13px; font-weight: 700; letter-spacing: .5px; color: var(--mal); background: var(--mal-fondo); border: 1px solid var(--mal); border-radius: 8px; padding: 8px 12px; }
.x-modos { display: grid; gap: 10px; }
@media (min-width: 640px) { .x-modos { grid-template-columns: 1fr 1fr; } }
.x-modo { font: inherit; text-align: left; cursor: pointer; display: grid; gap: 4px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--el-line); background: var(--el-surface); color: var(--el-ink-3); }
.x-modo strong { color: var(--el-ink); font-size: 16px; }
.x-modo span { font-size: 13px; }
.x-modo.activo { border-color: var(--el-accent); box-shadow: inset 0 0 0 1px var(--el-accent); }
.x-modo:disabled { cursor: not-allowed; opacity: .6; }
.x-falta { color: var(--el-ink-4); font-style: italic; }
.x-normas { padding-left: 1.2rem; color: var(--el-ink-2); }
.x-normas li { margin: 6px 0; }

/* Barra superior del examen */
.x-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 10px 16px; border-bottom: 1px solid var(--el-line-soft); background: var(--el-surface-solid); font-size: 14px; position: sticky; top: 61px; z-index: 5; }
.x-titulo { font-weight: 700; color: var(--el-ink); }
.x-progreso { color: var(--el-ink-4); }
.x-reloj { margin-left: auto; font: 700 16px/1 ui-monospace, Consolas, monospace; color: var(--el-ink); background: var(--el-surface-2); border: 1px solid var(--el-line); border-radius: 6px; padding: 6px 10px; }
.x-reloj.urgente { color: #1D1D1C; background: var(--el-lvl-high); border-color: var(--el-lvl-high); }

/* Pregunta + navegador lateral */
.x-cuerpo { display: grid; gap: 16px; max-width: 1100px; width: 100%; margin: 0 auto; padding: 24px 16px; align-items: start; }
@media (min-width: 900px) { .x-cuerpo { grid-template-columns: minmax(0, 1fr) 280px; } }
.x-pregunta { background: var(--el-surface); border: 1px solid var(--el-line-soft); border-radius: 12px; padding: clamp(18px, 3vw, 28px); }
.x-numero { font-size: 13px; color: var(--el-ink-4); font-weight: 600; letter-spacing: .3px; }
.x-supuesto { background: var(--el-surface-2); border-left: 3px solid var(--el-accent); border-radius: 6px; padding: 12px 14px; margin-bottom: 12px; color: var(--el-ink-2); font-size: 15px; }
.x-supuesto p { margin: 0 0 8px; }
.x-supuesto p:last-child { margin: 0; }
.x-pregunta h2 { font-family: var(--el-sans); font-size: clamp(17px, 2.4vw, 19px); font-weight: 600; letter-spacing: 0; line-height: 1.5; color: var(--el-ink); }
.x-opciones { display: grid; gap: 10px; margin: 16px 0; }
.x-opcion { font: inherit; text-align: left; cursor: pointer; display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 8px; border: 1px solid var(--el-line); background: transparent; color: var(--el-ink-2); line-height: 1.5; }
.x-opcion:hover { border-color: var(--el-accent); }
.x-opcion.elegida { border-color: var(--el-accent); background: var(--el-tint); color: var(--el-ink); }
.x-letra { flex: 0 0 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 13px; border: 1px solid var(--el-line); color: var(--el-ink-3); }
.x-opcion.elegida .x-letra { background: var(--el-accent); color: var(--el-accent-ink); border-color: var(--el-accent); }
.x-acciones { display: flex; flex-wrap: wrap; gap: 10px; }
.x-acciones .marcado { border-color: var(--el-lvl-high); color: var(--el-lvl-high); }
.x-ayuda { font-size: 12px; color: var(--el-ink-4); margin: 12px 0 0; }
.x-lateral { background: var(--el-surface); border: 1px solid var(--el-line-soft); border-radius: 12px; padding: 16px; }
.x-lateral h3 { font-family: var(--el-sans); font-size: 14px; margin-bottom: 10px; }
.x-nav { display: grid; grid-template-columns: repeat(auto-fill, minmax(36px, 1fr)); gap: 6px; max-height: 50vh; overflow-y: auto; }
.x-num { font: 600 13px/1 var(--el-sans); height: 34px; border-radius: 6px; border: 1px solid var(--el-line); background: transparent; color: var(--el-ink-3); cursor: pointer; display: inline-grid; place-items: center; min-width: 30px; padding: 0 4px; }
.x-num.respondida { background: var(--el-surface-2); color: var(--el-ink); border-color: var(--el-ink-4); }
.x-num.marcada { border-color: var(--el-lvl-high); box-shadow: inset 0 -3px 0 var(--el-lvl-high); }
.x-num.actual { outline: 2px solid var(--el-accent); outline-offset: 1px; }
.x-leyenda { font-size: 12px; color: var(--el-ink-4); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 12px 0 0; }
.x-leyenda .x-num { height: 22px; min-width: 22px; cursor: default; }

/* Informe */
.x-resultado { font-size: 16px; font-weight: 600; padding: 10px 14px; border-radius: 8px; }
.x-resultado.apto { background: rgba(169, 194, 164, 0.14); color: var(--bien); border: 1px solid var(--bien); }
.x-resultado.noapto { background: var(--mal-fondo); color: var(--mal); border: 1px solid var(--mal); }
.informe-examen h1 { font-size: clamp(36px, 7vw, 56px); letter-spacing: 2px; }
.x-dominios { display: grid; gap: 14px; }
.x-dominio p { margin: 0 0 6px; color: var(--el-ink-2); }
.x-barra-fondo { position: relative; display: block; height: 10px; border-radius: 6px; background: var(--el-line-soft); overflow: hidden; }
.x-barra-relleno { display: block; height: 100%; background: var(--el-grad-line); }
.x-barra-relleno.bajo { background: var(--el-lvl-high); }
.x-umbral { position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; background: var(--el-ink); opacity: .6; }
.x-tabla { width: 100%; border-collapse: collapse; font-size: 14px; margin-bottom: 8px; }
.x-tabla th, .x-tabla td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--el-line-soft); }
.x-tabla th:nth-child(n+2), .x-tabla td:nth-child(n+2) { text-align: right; white-space: nowrap; }
.x-tabla tr.flojo td { color: var(--mal); }
.x-plan { margin-top: 16px; padding: 14px 18px; border-radius: 12px; background: var(--el-tint); border: 1px solid var(--el-tint-line); }
.x-plan h2 { font-size: 20px; }
.x-fallo { border: 1px solid var(--el-line-soft); border-radius: 8px; padding: 10px 14px; margin-bottom: 8px; background: var(--el-surface); }
.x-fallo summary { cursor: pointer; font-weight: 600; color: var(--el-ink-2); }
.x-fallo p { font-size: 14px; margin: 8px 0 0; }
@media print { .x-barra, .x-lateral, .x-acciones { display: none !important; } }
/* Enunciados largos: texto de lectura, no titular */
.x-pregunta h2.x-largo { font-size: 16px; font-weight: 500; line-height: 1.6; }
/* Parte II · supuestos prácticos */
.x-caso .x-datos { margin: 0 0 18px; }
.x-cuestion { border-top: 1px solid var(--el-line-soft); padding-top: 16px; margin-top: 18px; }
.x-cuestion h3 { font-family: var(--el-sans); font-size: 16px; font-weight: 600; line-height: 1.55; letter-spacing: 0; margin: 0 0 10px; color: var(--el-ink); }
