/* Construcción explicada y revisión final con 3 jueces (6-nov-2026, public/construccion.js, docs/JUECES.md). Usa las variables de estilo.css
   (claro y oscuro); sin colores fijos salvo el lima de marca en el hito en curso. */
.ce-entendido{border:1px solid var(--line);border-radius:var(--r,20px);background:var(--surface);padding:18px 20px;margin:14px 0;box-shadow:var(--sombra)}
.ce-entendido h3{margin:0 0 10px;font:600 1.1rem/1.3 var(--display,inherit);color:var(--ink)}
.ce-entendido h3 span{color:var(--accent)}
.ce-entendido dl{display:grid;gap:8px;margin:0}
.ce-entendido dl>div{display:grid;grid-template-columns:minmax(96px,30%) 1fr;gap:10px;align-items:start}
.ce-entendido dt{color:var(--muted);font-size:.9rem}
.ce-entendido dd{margin:0;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.ce-entendido dd ul{margin:0;padding-left:18px}
.ce-nota{color:var(--muted);font-size:.9rem;margin:10px 0 0}
.ce-acc{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ce-btn{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 .95rem/1 var(--body,inherit);cursor:pointer}
.ce-btn.primario{background:var(--pri,var(--accent));border-color:var(--pri,var(--accent));color:var(--pri-ink,var(--accent-ink))}
.ce-btn.primario:hover:not(:disabled){background:var(--pri-hover,var(--accent-2));border-color:var(--pri-hover,var(--accent-2))}
.ce-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.ce-btn[disabled]{opacity:.6;cursor:progress}
.ce-cambio{margin-top:12px}
.ce-cambio[hidden]{display:none}
.ce-cambio label{display:block;font-weight:600;margin-bottom:6px;color:var(--ink)}
.ce-cambio textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--line-campo,var(--line));border-radius:12px;padding:10px;background:var(--surface);color:var(--ink);font:inherit}
.ce-estado{min-height:1.2em;color:var(--muted);font-size:.9rem;margin:6px 0 0}

.ce-linea{display:grid;gap:12px}
.ce-total{display:grid;gap:6px}
.ce-barra{height:8px;border-radius:999px;background:var(--bg-2);overflow:hidden}
.ce-barra>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit;transition:width .4s var(--ease,ease)}
.ce-barra-h{height:5px;margin-top:6px}
.ce-tiempo{margin:0;color:var(--muted);font-size:.88rem}
.ce-hitos{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ce-hito{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;padding:8px 10px;border-radius:14px}
.ce-hito .ce-n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:600 .85rem/1 var(--mono,monospace);border:1px solid var(--line);color:var(--muted);background:var(--surface)}
.ce-hito.hecho .ce-n{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.ce-hito.actual{background:var(--accent-soft)}
.ce-hito.actual .ce-n{background:var(--accent);color:var(--accent-ink);border-color:transparent;box-shadow:0 0 0 3px var(--punto-marca,#C6FF3D)}
.ce-hito.pendiente{opacity:.72}
.ce-hc{display:grid;gap:2px;min-width:0}
.ce-hc b{color:var(--ink);font-weight:600}
.ce-hc small,.ce-breve{color:var(--muted);font-size:.85rem}
.ce-aula{border-left:4px solid var(--accent);background:var(--bg-2);border-radius:12px;padding:12px 14px}
.ce-aula p{margin:0;color:var(--ink);line-height:1.5}
.ce-aula .ce-aula-t{font-weight:600;color:var(--accent);margin-bottom:6px}
.ce-aula .ce-ya{margin-top:8px;color:var(--muted);font-style:italic}
.ce-ajuste label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:6px}
.ce-fila{display:flex;gap:8px}
.ce-fila input{flex:1;min-width:0;min-height:44px;border:1.5px solid var(--line-campo,var(--line));border-radius:12px;padding:0 12px;background:var(--surface);color:var(--ink);font:inherit}
.ce-ajustes{font-size:.9rem;color:var(--ink)}
.ce-ajustes ul{margin:4px 0 0;padding-left:18px}
.ce-tec{font-size:.82rem}
.ce-tec summary{cursor:pointer;color:var(--accent);font-weight:600;min-height:32px}
.ce-tec table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.ce-tec th,.ce-tec td{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;color:var(--ink)}
.ce-tec td:last-child{white-space:normal;min-width:180px}

.ce-jueces{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--surface);margin:12px 0}
.ce-jueces h4{margin:0 0 8px;font-size:1rem;color:var(--ink);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ce-insignia{font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--ok-soft);color:var(--ok)}
.ce-jueces.bajo .ce-insignia{background:var(--warn-soft);color:var(--warn)}
.ce-jueces>ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ce-jueces>ul>li b{color:var(--ink)}
.ce-jueces small{color:var(--muted)}
.ce-jueces p{margin:2px 0 0;color:var(--ink);font-size:.92rem}
.ce-hall{margin:4px 0 0;padding-left:18px;color:var(--muted);font-size:.88rem}
@media (max-width:560px){.ce-entendido dl>div{grid-template-columns:1fr;gap:2px}.ce-fila{flex-direction:column}}
@media (prefers-reduced-motion:reduce){.ce-barra>i{transition:none}}
#pExplica[hidden]{display:none!important}
.ce-panel .st-panel-c{padding-top:12px}
.construyendo-col{display:grid;gap:10px;min-width:0}
#construyendoBarra[hidden],#construyendoTiempo[hidden],#lineaHitos[hidden]{display:none}
.ce-panel .ce-entendido{padding:14px;margin:0;box-shadow:none}
.ce-panel .ce-entendido dl>div{grid-template-columns:1fr;gap:2px}
.ce-panel .ce-hito{grid-template-columns:28px 1fr;padding:6px 8px}
/* Modo oscuro suave (#44, 6-nov-2026): botón principal violeta lleno (--pri), campos con borde AA (--line-campo), superficies por luminancia y sin halos. */
:root[data-theme="dark"] .ce-entendido,:root[data-theme="dark"] .ce-jueces{box-shadow:none}
:root[data-theme="dark"] .ce-hito.actual{background:rgba(255,255,255,.06)}
:root[data-theme="dark"] .ce-hito.actual .ce-n{background:var(--pri,var(--accent));color:var(--pri-ink,var(--accent-ink))}
:root[data-theme="dark"] .ce-aula{background:var(--bg-2)}
.ce-cambio textarea:focus,.ce-fila input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
