/* ==============================================================
   PLF 2.3 · RANGE RUNNER · METRO DE DATOS
============================================================== */

#rangeRunnerPLF23 {
    --rr-fondo:#fff9ee; --rr-tinta:#15283b; --rr-suave:#657080; --rr-panel:#fff;
    --rr-linea:#d8d5cf; --rr-verde:#13a886; --rr-coral:#ff654f; --rr-amarillo:#ffd23f;
    --rr-azul:#2b68d8; --rr-rojo:#d83d59;
    min-height:100vh; padding:clamp(18px,3vw,42px); color:var(--rr-tinta); border-radius:24px;
    background:radial-gradient(circle at 8% 4%,rgba(255,210,63,.3),transparent 25rem),radial-gradient(circle at 94% 8%,rgba(19,168,134,.16),transparent 28rem),var(--rr-fondo);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
#rangeRunnerPLF23 *,#rangeRunnerPLF23 *::before,#rangeRunnerPLF23 *::after{box-sizing:border-box}
#rangeRunnerPLF23 h1,#rangeRunnerPLF23 h2,#rangeRunnerPLF23 h3,#rangeRunnerPLF23 p{margin-top:0}
#rangeRunnerPLF23 button,#rangeRunnerPLF23 input,#rangeRunnerPLF23 select{font:inherit}
#rangeRunnerPLF23 button{cursor:pointer} #rangeRunnerPLF23 button:disabled{cursor:not-allowed;opacity:.4}
#rangeRunnerPLF23 code,#rangeRunnerPLF23 pre{font-family:"Cascadia Code",Consolas,monospace}
#rangeRunnerPLF23 .enlace-volver{margin-bottom:17px;padding:6px 0;color:var(--rr-verde);border:0;background:transparent;font-weight:900}

.rr23-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:28px;align-items:center;overflow:hidden;padding:clamp(28px,5vw,58px);color:#fff;border:3px solid var(--rr-tinta);border-radius:30px;background:linear-gradient(122deg,#10293b,#173e53);box-shadow:10px 11px 0 var(--rr-amarillo)}
.rr23-hero::before{content:"";position:absolute;left:-4%;right:-4%;bottom:22px;height:12px;border-top:4px solid rgba(255,255,255,.16);border-bottom:4px solid rgba(255,255,255,.16);transform:rotate(-3deg)}
.rr23-hero>*{position:relative;z-index:1}.rr23-kicker{display:inline-block;margin-bottom:10px;color:var(--rr-amarillo);font-size:.7rem;font-weight:950;letter-spacing:.16em}.rr23-hero h1{margin-bottom:16px;font-size:clamp(3.3rem,8vw,7rem);line-height:.77;letter-spacing:-.08em}.rr23-hero h1 em{color:#53dfbd;font-style:normal}.rr23-hero p{max-width:750px;margin:0;color:#d5e5eb;line-height:1.65}.rr23-hero code{color:var(--rr-amarillo)}
.rr23-tablero{padding:20px;color:var(--rr-tinta);border:3px solid #fff;border-radius:18px;background:var(--rr-coral);box-shadow:6px 6px 0 #53dfbd}.rr23-tablero small,.rr23-tablero strong,.rr23-tablero span,.rr23-tablero b{display:block}.rr23-tablero small{font-size:.62rem;font-weight:950;letter-spacing:.13em}.rr23-tablero strong{display:inline;margin-right:4px;font-size:3.3rem;line-height:1}.rr23-tablero span{display:inline;font-weight:900}.rr23-tablero>div{height:8px;margin-top:13px;overflow:hidden;border:2px solid var(--rr-tinta);border-radius:99px;background:rgba(255,255,255,.42)}.rr23-tablero i{display:block;width:0;height:100%;background:var(--rr-amarillo);transition:width .3s}.rr23-tablero b{margin-top:10px;font-size:.74rem}

.rr23-identificacion{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:12px;margin-top:26px;padding:18px;border:2px solid var(--rr-tinta);border-radius:17px;background:#fff;box-shadow:5px 5px 0 rgba(21,40,59,.13)}
.rr23-identificacion label,.rr23-controles-demo label,.rr23-panel-parametros label{color:var(--rr-suave);font-size:.72rem;font-weight:900}.rr23-identificacion input,.rr23-identificacion select,.rr23-controles-demo input,.rr23-panel-parametros input{display:block;width:100%;min-height:43px;margin-top:6px;padding:8px 11px;color:var(--rr-tinta);border:2px solid var(--rr-linea);border-radius:9px;outline:0;background:#fff}.rr23-identificacion input:focus,.rr23-identificacion select:focus,.rr23-controles-demo input:focus,.rr23-panel-parametros input:focus{border-color:var(--rr-verde);box-shadow:0 0 0 3px rgba(19,168,134,.13)}

.rr23-simulador,.rr23-misiones{margin-top:27px;padding:clamp(21px,3vw,35px);border:2px solid var(--rr-tinta);border-radius:23px;background:rgba(255,255,255,.94);box-shadow:7px 8px 0 rgba(21,40,59,.12)}
.rr23-titulo-seccion>span{display:block;margin-bottom:6px;color:var(--rr-coral);font-size:.67rem;font-weight:950;letter-spacing:.14em}.rr23-titulo-seccion h2,.rr23-mision h2,.rr23-cierre h2{margin-bottom:6px;font-size:clamp(1.55rem,3vw,2.3rem);letter-spacing:-.045em}.rr23-titulo-seccion p,.rr23-mision header p,.rr23-cierre p{margin-bottom:0;color:var(--rr-suave);line-height:1.55}
.rr23-controles-demo{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end;margin:20px 0 13px}.rr23-controles-demo label small{display:block;color:var(--rr-coral);font-size:.58rem}.rr23-controles-demo button,.rr23-principal,.rr23-cierre button{min-height:43px;padding:8px 14px;color:#fff;border:2px solid var(--rr-tinta);border-radius:9px;background:var(--rr-verde);box-shadow:3px 3px 0 var(--rr-tinta);font-weight:900}.rr23-controles-demo button:active,.rr23-principal:active,.rr23-cierre button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--rr-tinta)}
.rr23-consola{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;padding:13px 15px;color:#e7f3f7;border-radius:11px;background:var(--rr-tinta)}.rr23-consola span{color:var(--rr-amarillo);font-size:.62rem;font-weight:950;letter-spacing:.1em}.rr23-consola code{color:#6de3c5}.rr23-consola strong{overflow-wrap:anywhere;text-align:right}
.rr23-mapa{min-height:112px;margin-top:13px;padding:15px;overflow-x:auto;border:2px dashed #b9b4aa;border-radius:13px;background:#fbf7ed}.rr23-via{position:relative;display:flex;min-width:max-content;gap:28px;align-items:flex-start;padding:12px 10px 0}.rr23-via::before{content:"";position:absolute;left:25px;right:25px;top:28px;height:6px;border-top:2px solid var(--rr-tinta);border-bottom:2px solid var(--rr-tinta);background:var(--rr-amarillo)}.rr23-parada{position:relative;z-index:1;display:grid;justify-items:center;min-width:45px;animation:rr23llegada .35s both;animation-delay:calc(var(--orden) * .055s)}.rr23-parada i{width:28px;height:28px;border:5px solid var(--rr-tinta);border-radius:50%;background:var(--rr-verde);box-shadow:0 0 0 3px #fff}.rr23-parada strong{margin-top:7px;font-size:.92rem}.rr23-parada small{min-height:12px;color:var(--rr-coral);font-size:.52rem;font-weight:950}.rr23-via.compacta{gap:17px;padding-top:4px}.rr23-via.compacta::before{top:20px}.rr23-via.compacta .rr23-parada i{width:24px;height:24px}.rr23-ruta-vacia,.rr23-error-via{padding:18px;color:var(--rr-suave);text-align:center;font-weight:850}.rr23-error-via{color:var(--rr-rojo)}.rr23-aviso{margin:9px 0 0;color:var(--rr-suave);font-size:.77rem;text-align:center}@keyframes rr23llegada{from{opacity:0;transform:translateX(-14px) scale(.7)}to{opacity:1;transform:none}}

.rr23-navegacion{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:19px 0 14px}.rr23-navegacion button{display:grid;grid-template-columns:33px minmax(0,1fr);gap:8px;align-items:center;min-height:62px;padding:8px;color:var(--rr-suave);text-align:left;border:2px solid var(--rr-linea);border-radius:11px;background:#fff;font-size:.7rem;font-weight:850}.rr23-navegacion b{display:grid;place-items:center;width:31px;height:31px;color:#fff;border-radius:50%;background:var(--rr-tinta)}.rr23-navegacion button.activa{color:var(--rr-tinta);border-color:var(--rr-verde);background:#eafff9}.rr23-navegacion button.revisada b{color:var(--rr-tinta);background:var(--rr-coral)}.rr23-navegacion button.perfecta{border-color:#cfaa12;background:#fff9d9}.rr23-navegacion button.perfecta b{background:var(--rr-amarillo)}
.rr23-mision{overflow:hidden;border:2px solid var(--rr-tinta);border-radius:17px;background:#fff}.rr23-mision>header{display:flex;justify-content:space-between;gap:18px;padding:21px;color:#fff;background:var(--rr-tinta)}.rr23-mision>header span{color:var(--rr-amarillo);font-size:.64rem;font-weight:950;letter-spacing:.12em}.rr23-mision>header p{color:#cbd9df}.rr23-intentos{flex:0 0 auto;min-width:82px;padding:10px;color:var(--rr-tinta);text-align:center;border:2px solid #fff;border-radius:10px;background:var(--rr-coral)}.rr23-intentos small,.rr23-intentos strong{display:block}.rr23-intentos small{font-size:.57rem;font-weight:950}.rr23-intentos strong{font-size:1.7rem}.rr23-actividad{padding:21px}
.rr23-objetivo,.rr23-meta-final{padding:15px;border:2px solid var(--rr-linea);border-radius:12px;background:#fbf8ef}.rr23-objetivo>small,.rr23-meta-final>small,.rr23-funcion>span{display:block;margin-bottom:8px;color:var(--rr-coral);font-size:.62rem;font-weight:950;letter-spacing:.12em}.rr23-panel-parametros{display:grid;grid-template-columns:repeat(3,1fr) minmax(180px,1.4fr);gap:10px;align-items:end;margin-top:13px;padding:14px;border:2px solid var(--rr-linea);border-radius:11px;background:#fff}.rr23-panel-parametros>div{padding:8px 10px;color:#fff;border-radius:8px;background:var(--rr-tinta)}.rr23-panel-parametros>div small,.rr23-panel-parametros>div code{display:block}.rr23-panel-parametros>div small{color:var(--rr-amarillo);font-size:.55rem;font-weight:950}.rr23-panel-parametros.correcta{border-color:var(--rr-verde);background:#effff9}.rr23-panel-parametros.incorrecta{border-color:var(--rr-rojo);background:#fff2f4}
.rr23-lista-casos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rr23-caso{padding:15px;border:2px solid var(--rr-linea);border-radius:12px;background:#fff}.rr23-caso>span{display:block;color:var(--rr-coral);font-size:.61rem;font-weight:950;letter-spacing:.1em}.rr23-caso>code{display:block;margin:8px 0 12px;padding:12px;color:#6de3c5;border-radius:8px;background:var(--rr-tinta)}.rr23-caso>div{display:grid;gap:7px}.rr23-caso button,.rr23-funcion button{padding:8px 10px;color:var(--rr-suave);text-align:left;border:2px solid var(--rr-linea);border-radius:8px;background:#fff;font-size:.76rem;font-weight:800}.rr23-caso button:hover,.rr23-caso button.elegida,.rr23-funcion button:hover,.rr23-funcion button.elegida{color:var(--rr-tinta);border-color:var(--rr-verde);background:#e9fff9}.rr23-caso.correcta{border-color:var(--rr-verde);background:#effff9}.rr23-caso.incorrecta{border-color:var(--rr-rojo);background:#fff3f5}
.rr23-consigna{padding:12px;color:#704d00;border-left:5px solid var(--rr-amarillo);border-radius:8px;background:#fff7cf}.rr23-taller-limites{display:grid;gap:11px}.rr23-taller-limites>article{padding:15px;border:2px solid var(--rr-linea);border-radius:12px;background:#fff}.rr23-taller-limites>article>small{color:var(--rr-coral);font-weight:950}.rr23-taller-limites>article>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.rr23-taller-limites>article.correcta{border-color:var(--rr-verde);background:#effff9}.rr23-taller-limites>article.incorrecta{border-color:var(--rr-rojo);background:#fff3f5}
.rr23-jefe{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:4px}.rr23-funcion,.rr23-meta-final{padding:15px;border:2px solid var(--rr-linea);border-radius:12px;background:#fbf8ef}.rr23-funcion pre{margin:0 0 12px;padding:13px;color:#e7f3f7;border-radius:8px;background:var(--rr-tinta);line-height:1.55;white-space:pre-wrap}.rr23-funcion>div{display:grid;gap:7px}.rr23-meta-final .rr23-panel-parametros{grid-template-columns:repeat(3,1fr)}.rr23-jefe.correcta>*{border-color:var(--rr-verde)}.rr23-jefe.incorrecta>*{border-color:var(--rr-rojo)}
.rr23-retro{margin:0 21px 21px;padding:13px 15px;color:var(--rr-suave);border-left:5px solid var(--rr-azul);border-radius:8px;background:#edf4ff}.rr23-retro.exito{color:#12644f;border-color:var(--rr-verde);background:#e8fff8}.rr23-retro.error{color:#8b2134;border-color:var(--rr-rojo);background:#fff0f3}.rr23-navegadores{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;margin-top:14px}.rr23-secundario{min-height:40px;padding:8px 13px;color:var(--rr-tinta);border:2px solid var(--rr-tinta);border-radius:9px;background:#fff;font-weight:850}.rr23-navegadores #rr23Siguiente{justify-self:end}
.rr23-cierre{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-top:27px;padding:24px;color:#fff;border:3px solid var(--rr-tinta);border-radius:18px;background:linear-gradient(120deg,var(--rr-coral),#e84b63);box-shadow:7px 7px 0 var(--rr-amarillo)}.rr23-cierre>div>span{display:block;margin-bottom:6px;color:var(--rr-amarillo);font-size:.65rem;font-weight:950;letter-spacing:.13em}.rr23-cierre p{max-width:730px;color:#fff1ed}.rr23-cierre button{flex:0 0 auto;color:var(--rr-tinta);background:var(--rr-amarillo)}.rr23-acceso{margin-top:12px}

@media(max-width:980px){.rr23-navegacion{grid-template-columns:repeat(3,1fr)}.rr23-controles-demo{grid-template-columns:repeat(3,1fr)}.rr23-controles-demo button{grid-column:1/-1}.rr23-panel-parametros{grid-template-columns:repeat(3,1fr)}.rr23-panel-parametros>div{grid-column:1/-1}}
@media(max-width:740px){#rangeRunnerPLF23{padding:14px;border-radius:0}.rr23-hero,.rr23-identificacion,.rr23-jefe{grid-template-columns:1fr}.rr23-lista-casos{grid-template-columns:1fr}.rr23-cierre{display:block}.rr23-cierre button{margin-top:13px}.rr23-consola{grid-template-columns:1fr}.rr23-consola strong{text-align:left}}
@media(max-width:520px){.rr23-navegacion,.rr23-controles-demo,.rr23-panel-parametros,.rr23-taller-limites>article>div:last-child{grid-template-columns:1fr}.rr23-mision>header{display:block}.rr23-intentos{margin-top:12px}.rr23-navegadores{grid-template-columns:1fr}.rr23-navegadores #rr23Siguiente{justify-self:stretch}.rr23-hero::before{display:none}}
@media(prefers-reduced-motion:reduce){#rangeRunnerPLF23 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Alinea los accesos de la Unidad 2 cuando este estilo está disponible. */
#laboratorioPLF .ruta #abrirTemaPLF21,#laboratorioPLF .ruta #abrirTemaPLF22,#laboratorioPLF .ruta #abrirTemaPLF23{display:block;width:100%;margin-top:12px}
