.encabezado-pasos { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; }
.indicador { font-weight: 700; color: var(--azul); }
.segmentado { display: flex; border: 1px solid var(--control); border-radius: 8px; overflow: hidden; background: var(--superficie); }
.segmentado button { min-height: 2.75rem; padding: 0 .9rem; border: 0; background: var(--superficie); font: 500 .95rem var(--titulos); cursor: pointer; }
.segmentado button + button { border-left: 1px solid var(--control); }
.segmentado button[aria-pressed="true"] { background: var(--azul); color: #fff; }
.interruptor { padding-left: .5rem; font-size: .95rem; }
.riel { width: 2.6rem; height: 1.5rem; border-radius: 999px; border: 1px solid var(--control); background: #e7e1d4; position: relative; }
.riel span { position: absolute; top: 50%; left: .1rem; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: #fff; border: 1px solid var(--control); transform: translateY(-50%); transition: left .15s; }
.interruptor[aria-checked="true"] .riel { background: var(--azul); }
.interruptor[aria-checked="true"] .riel span { left: 1.3rem; }
.avance { width: 100%; height: 1.75rem; margin: 0; accent-color: var(--azul); cursor: pointer; }
.leyenda { list-style: none; margin: .75rem 0 0; padding: .6rem 0 0; border-top: 1px solid var(--linea); display: flex; flex-wrap: wrap; gap: .5rem 1.1rem; font-size: .9rem; font-weight: 700; }
.leyenda li { display: flex; align-items: center; gap: .4rem; }
.muestra { width: 1.1rem; height: 1.1rem; border-radius: 50%; border: 1px solid var(--control); background: var(--superficie); }
.muestra.ahora { background: var(--amarillo); border-color: var(--tinta); }
.muestra.listo { background: var(--azul); border-color: var(--azul); outline: 1px solid var(--azul); outline-offset: 2px; }
.muestra-etiqueta { padding: 0 .35rem; border-radius: 6px; border: 1px solid var(--coral); background: var(--coral-claro); font-size: .8rem; }
.muestra-linea { width: 1.4rem; height: 3px; background: var(--coral); }
.tarjeta h2 { font-size: 1.5rem; line-height: 1.2; }
.tarjeta-texto { font-size: 1.0625rem; text-wrap: pretty; }
.respuesta { padding: .55rem .8rem; border-radius: 8px; font-weight: 700; background: var(--amarillo-claro); color: #7a2e0b; }
.respuesta.correcta { background: var(--verde-claro); color: var(--verde-oscuro); }
.candidatos-titulo { font-size: .9rem; font-weight: 700; color: var(--tenue); margin-bottom: .35rem; }
.candidatos { display: flex; flex-wrap: wrap; gap: .4rem; }
.candidato { padding: .3rem .65rem; border-radius: 999px; border: 1px solid var(--control); font-weight: 700; }
.candidato.menor { background: var(--amarillo); }
.calculos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.calculos li { border-radius: 8px; border: 1px solid var(--borde); padding: .6rem .75rem; display: flex; flex-direction: column; gap: .3rem; }
.calculo-cabecera { display: flex; justify-content: space-between; gap: .5rem; flex-wrap: wrap; font-weight: 700; }
.calculo-cabecera span + span { color: var(--tenue); }
.calculo-comparacion { font-size: .95rem; color: var(--tenue); }
.veredicto { padding: .3rem .6rem; border-radius: 10px; background: #f1ede4; color: var(--tenue); font-weight: 700; }
.veredicto.mejora { background: var(--verde-claro); color: var(--verde-oscuro); }
.revelar { align-self: flex-start; background: var(--amarillo-claro); }
.revelar:hover:not(:disabled) { background: var(--amarillo); }
.enlace { align-self: flex-start; min-height: 2rem; padding: 0; border: 0; background: transparent; color: var(--azul); font-size: .95rem; text-decoration: underline; cursor: pointer; }
.controles-pasos { display: grid; grid-template-columns: 1fr auto 1.4fr; gap: .6rem; }
.controles-pasos .boton { padding: 0 .75rem; white-space: nowrap; }
#reproducir { width: 3.25rem; padding: 0; }
.centrada { text-align: center; font-size: .875rem; }
.tabla-etiquetas { padding: .75rem 1rem; border-radius: 10px; }
.tabla-etiquetas summary { cursor: pointer; font-weight: 700; min-height: 2rem; }
.tabla-etiquetas table { width: 100%; border-collapse: collapse; margin-top: .5rem; font-size: .95rem; }
.tabla-etiquetas th, .tabla-etiquetas td { text-align: left; padding: .35rem; border-bottom: 1px solid #eadfcb; }
.tabla-etiquetas thead th { border-bottom-color: var(--linea); }
.tabla-etiquetas td:nth-child(2) { font-weight: 700; }
.tabla-etiquetas tr.nueva { background: var(--coral-claro); }
.tabla-etiquetas tr.ahora { background: var(--amarillo-claro); }
