/* Reactiva+ · Modo sencillo — piel sobre reactiva-shell-v42 (body.rp-simple) y lanzador (sencillo.html)
   Principios visuales (ver /root/reactiva-modo-sencillo.md §Interfaz): texto ≥ 28 px, botones ≥ 96 px, contraste alto,
   UN color de acento (verde azulado), la instrucción siempre arriba y las opciones siempre abajo, sin animaciones salvo
   el latido de ayuda y el ✓ de acierto. */
body.rp-simple{
  --rp-s-bg:#f4f6f2;
  --rp-s-ink:#14343d;
  --rp-s-muted:#5b7178;
  --rp-s-teal:#087d74;
  --rp-s-teal-dark:#066860;
  --rp-s-teal-soft:#e3f1ee;
  --rp-s-line:#d3ddd6;
  --rp-s-ok:#22a06b;
  --rp-s-help:#f0a93b;
  --rp-s-card:#fff;
  --rp-s-radius:24px;
  --rp-s-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--rp-s-bg);
  color:var(--rp-s-ink);
  font-family:var(--rp-s-font);
  -webkit-text-size-adjust:100%;
  overscroll-behavior-y:none;
}
body.rp-simple *{-webkit-tap-highlight-color:transparent}
body.rp-simple #stimulus,body.rp-simple #answers,body.rp-simple .rp-s-instr{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
body.rp-simple button{font-family:var(--rp-s-font)}
body.rp-simple :focus-visible{outline:4px solid var(--rp-s-teal);outline-offset:3px}

/* Fuera todo lo que no es la tarea: reloj, nivel, pistas, pausa, ajustes, ranking, resultados clásicos */
body.rp-simple #timeChip,body.rp-simple #timeBar,body.rp-simple #levelChip,body.rp-simple #adaptiveChip,body.rp-simple #trialChip,
body.rp-simple #hintBtn,body.rp-simple #pauseBtn,body.rp-simple #pauseHeadBtn,body.rp-simple #settingsBtn,body.rp-simple #shellSettingsBtn,
body.rp-simple #rankingBtn,body.rp-simple #feedback,body.rp-simple #results,body.rp-simple #detail,body.rp-simple #quitBtn,body.rp-simple #exitBtn,
body.rp-simple #abandonBtn,body.rp-simple #shellHeaderBar,body.rp-simple #shellStickyTop,body.rp-simple .play-topbar,body.rp-simple .shell-top,
body.rp-simple #progressBar,body.rp-simple .play-label{display:none!important}
body.rp-simple .shell-success-pulse,body.rp-simple .shell-error-pulse{animation:none!important}

/* Estructura de pantalla: instrucción + estímulo + opciones forman un bloque que se centra verticalmente en el hueco
   (en pantallas altas no queda todo pegado arriba). Si el bloque no cabe, se apila desde arriba y se puede desplazar. */
body.rp-simple main.app{padding:0!important;max-width:none!important;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--rp-s-bg)}
body.rp-simple #playShell{flex:1;display:flex!important;flex-direction:column;min-height:100vh;min-height:100dvh;padding:0!important}
body.rp-simple #playShell,body.rp-simple .play-card,body.rp-simple #playCard{max-width:none!important;width:100%!important;margin:0!important;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important}
body.rp-simple #playCard{flex:1;display:flex!important;flex-direction:column;justify-content:center;padding:calc(10px + env(safe-area-inset-top,0px)) 0 env(safe-area-inset-bottom,0px)!important}
body.rp-simple #stimulus{display:block;flex:0 0 auto;min-height:0!important;background:none!important;border:0!important;border-radius:0!important;padding:0!important;overflow:visible!important}
body.rp-simple .answers{margin-top:8px!important;flex:0 0 auto}
body.rp-simple #answers{display:block}

/* Instrucción: texto grande arriba y un botón redondo «Repetir» a su lado, siempre en el mismo sitio. */
.rp-s-instr{display:flex;align-items:center;justify-content:center;gap:14px 18px;flex-wrap:wrap;padding:14px 18px 6px;max-width:900px;margin:0 auto}
.rp-s-instr-text{margin:0;font:700 30px/1.25 var(--rp-s-font);color:var(--rp-s-ink);text-align:center;letter-spacing:-.01em;text-wrap:balance}
.rp-s-instr-text b{color:var(--rp-s-teal);font-size:1.2em}
.rp-s-repeat{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 20px var(--rp-s-font);background:var(--rp-s-card);color:var(--rp-s-teal);border:3px solid var(--rp-s-teal);border-radius:999px;padding:0 24px;min-height:64px;min-width:64px;cursor:pointer;box-shadow:0 4px 14px #14343d14;transition:transform .12s,background .12s}
.rp-s-repeat span[aria-hidden]{font-size:26px;line-height:1}
.rp-s-repeat:active{background:var(--rp-s-teal-soft);transform:scale(.96)}

/* Estímulo (foto grande / figura / tapa «?») */
.rp-s-stage{display:flex;justify-content:center;align-items:center;padding:10px 16px 12px}
.rp-s-stage img,.rp-s-target{width:min(56vw,360px);aspect-ratio:4/3;object-fit:cover;border-radius:22px;border:5px solid #fff;box-shadow:0 14px 36px #14343d22;background:#fff}
.rp-s-cover{display:flex;align-items:center;justify-content:center;background:var(--rp-s-teal);color:#ffffffd9;font:900 96px var(--rp-s-font)}
.rp-s-target.rp-s-emoji-stage{display:flex;align-items:center;justify-content:center;font-size:min(30vw,170px);line-height:1}

/* Opciones: fichas blancas grandes (≥ 120 px), borde grueso, una sola acción por ficha. */
.rp-s-grid{display:grid;gap:16px;padding:10px 16px 24px;max-width:900px;margin:0 auto;width:100%}
.rp-s-cols-1{grid-template-columns:minmax(0,1fr);max-width:560px}
.rp-s-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rp-s-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rp-s-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rp-s-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
/* Nunca se sale de la pantalla: las columnas pueden encogerse y las palabras largas se parten o bajan de tamaño */
.rp-s-opt{min-width:0;overflow-wrap:anywhere}
@media(max-width:520px){.rp-s-cols-3 .rp-s-word,.rp-s-cols-4 .rp-s-word,.rp-s-cols-5 .rp-s-word{font-size:clamp(18px,5.4vw,28px);padding:10px 2px}}
.rp-s-opt{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:124px;padding:12px;background:var(--rp-s-card);border:4px solid var(--rp-s-line);border-radius:var(--rp-s-radius);cursor:pointer;font:700 28px/1.2 var(--rp-s-font);color:var(--rp-s-ink);box-shadow:0 6px 18px #14343d10;transition:transform .12s,border-color .15s,box-shadow .15s,opacity .25s,filter .25s}
.rp-s-opt img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;pointer-events:none;background:#eef2ef}
.rp-s-opt:active{transform:scale(.96)}
.rp-s-opt:disabled{cursor:default}
.rp-s-opt.rp-s-dim{opacity:.22;filter:grayscale(1);border-color:#e4e9e4;box-shadow:none}
.rp-s-opt.rp-s-ok{border-color:var(--rp-s-ok);box-shadow:0 0 0 7px #22a06b2e,0 6px 18px #14343d10}
.rp-s-opt.rp-s-ok::after{content:"✓";position:absolute;top:-16px;right:-16px;width:48px;height:48px;border-radius:50%;background:var(--rp-s-ok);color:#fff;font:900 30px/48px var(--rp-s-font);text-align:center;box-shadow:0 6px 14px #22a06b55}
.rp-s-opt.rp-s-hint,.rp-s-card.rp-s-hint{border-color:var(--rp-s-teal);animation:rpSHint 1.4s ease-in-out infinite}
/* Ayuda: latido suave del color de la app (antes un halo naranja/beige que ensuciaba la ficha) */
@keyframes rpSHint{0%,100%{box-shadow:0 0 0 0 #087d7440;transform:scale(1)}50%{box-shadow:0 0 0 10px #087d7400;transform:scale(1.025)}}
.rp-s-word{font:800 40px/1.2 var(--rp-s-font);padding:14px 8px;text-wrap:balance}
.rp-s-blank{display:inline-block;min-width:110px;border-bottom:5px solid var(--rp-s-teal);margin:0 4px;vertical-align:baseline}
.rp-s-num{font-size:68px;line-height:1;min-height:150px;display:flex;align-items:center}
.rp-s-emoji{font-size:min(22vw,120px);line-height:1.1}

/* ✓ grande al acertar: círculo verde suave en el centro, breve. */
.rp-s-flash{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:50;animation:rpSFlash .75s ease-out both}
.rp-s-flash:not(.ok){display:none}
.rp-s-flash::before{content:"✓";display:grid;place-items:center;width:min(52vw,240px);aspect-ratio:1;border-radius:50%;background:#22a06b;color:#fff;font:900 min(34vw,160px)/1 var(--rp-s-font);box-shadow:0 20px 60px #22a06b55}
@keyframes rpSFlash{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.04)}75%{opacity:1}100%{opacity:0;transform:scale(1)}}

/* ¿Cuántos hay? */
.rp-s-count{display:grid;gap:12px;justify-content:center;padding:10px 16px}
.rp-s-qty{display:grid;grid-auto-flow:column;gap:12px;justify-content:center;align-items:center;min-height:150px;padding:8px}
.rp-s-qty .rp-s-fig{width:min(9vw,56px)!important;height:min(9vw,56px)!important}
.rp-s-qty-2{grid-auto-flow:row;grid-template-columns:repeat(3,auto)}
.rp-s-qty-num{display:block;font-size:30px;font-weight:800;opacity:.6;margin-top:-8px}
.rp-s-count-many img{width:min(16vw,84px)!important}
.rp-s-count-emoji{font-size:min(18vw,96px);line-height:1.1}
.rp-s-count-many .rp-s-count-emoji{font-size:min(13vw,64px)}
.rp-s-count img{width:min(22vw,120px);aspect-ratio:1;object-fit:cover;border-radius:16px;border:4px solid #fff;box-shadow:0 8px 20px #14343d1f}

/* Parejas */
.rp-s-cards{display:grid;gap:14px;padding:10px 16px 24px;max-width:820px;margin:0 auto;width:100%}
.rp-s-card{position:relative;aspect-ratio:1;border-radius:20px;border:4px solid transparent;background:var(--rp-s-teal);cursor:pointer;overflow:hidden;box-shadow:0 6px 18px #14343d14;transition:transform .15s,border-color .15s}
.rp-s-card::before{content:"?";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:900 64px var(--rp-s-font);color:#ffffffcc}
.rp-s-card::after{content:"";position:absolute;inset:8px;border-radius:14px;border:2px dashed #ffffff55;pointer-events:none}
.rp-s-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .2s;pointer-events:none}
.rp-s-card:active{transform:scale(.96)}
.rp-s-card.up{background:#fff;border-color:var(--rp-s-line)}
.rp-s-card.up::before{content:""}.rp-s-card.up::after{content:none}.rp-s-card.up img{opacity:1}
.rp-s-card.found{border-color:var(--rp-s-ok);cursor:default;box-shadow:0 0 0 5px #22a06b2e}

/* Figuras y colores */
.rp-s-fig{display:inline-block;box-shadow:0 8px 18px #14343d22}
.rp-s-opt .rp-s-fig{margin:6px auto}
.rp-s-seqbtn{transition:transform .12s,box-shadow .15s,filter .15s}
.rp-s-opt.rp-s-lit{transform:scale(1.03);border-color:var(--rp-s-teal);box-shadow:0 0 0 6px #087d742e,0 8px 22px #14343d22;filter:brightness(1.08)}
.rp-s-opt.rp-s-shake{animation:rpSShake .45s}
@keyframes rpSShake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-10px)}40%,80%{transform:translateX(10px)}}

/* Botón principal (Empezar / Seguir / Terminar) */
.rp-s-big{display:inline-flex;align-items:center;justify-content:center;gap:14px;font:800 30px var(--rp-s-font);background:var(--rp-s-teal);color:#fff;border:0;border-radius:999px;padding:0 48px;min-height:92px;cursor:pointer;box-shadow:0 12px 28px #087d7448;transition:transform .12s,background .12s}
.rp-s-big:active{transform:scale(.97);background:var(--rp-s-teal-dark)}
.rp-s-big .ico{font-size:1.1em;line-height:1}

/* Final de reto: celebración a pantalla completa */
.rp-s-final{position:fixed;inset:0;background:radial-gradient(circle at 50% 30%,#ffffff 0,#f4f6f2 55%,#e3f1ee 100%);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px;animation:rpSFade .3s ease-out both}
@keyframes rpSFade{from{opacity:0}to{opacity:1}}
.rp-s-final-card{text-align:center;max-width:560px;width:100%}
.rp-s-stars{display:flex;justify-content:center;gap:14px;margin-bottom:10px}
.rp-s-stars span{font-size:64px;line-height:1;color:var(--rp-s-help);text-shadow:0 8px 20px #f0a93b55;animation:rpSStar .7s cubic-bezier(.2,1.4,.5,1) both}
.rp-s-stars span:nth-child(2){font-size:80px;animation-delay:.12s}
.rp-s-stars span:nth-child(3){animation-delay:.24s}
@keyframes rpSStar{0%{opacity:0;transform:scale(.3) rotate(-20deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
.rp-s-final h1{font:900 60px/1.05 var(--rp-s-font);letter-spacing:-.03em;color:var(--rp-s-ink);margin:6px 0 10px}
.rp-s-final p{font-size:26px;color:var(--rp-s-muted);margin:0 0 28px;text-wrap:balance}
.rp-s-final .rp-s-big{width:100%;max-width:420px}
.rp-s-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 22px}
.rp-s-dots i{flex:0 0 auto;width:16px;height:16px;border-radius:50%;background:#d3ddd6;display:block}
.rp-s-dots.many{gap:6px}.rp-s-dots.many i{width:11px;height:11px}   /* sesiones largas (decenas de retos): puntos más pequeños y en varias filas, sin aplastarse */
.rp-s-dots i.done{background:var(--rp-s-teal)}
.rp-s-dots i.now{background:var(--rp-s-help);transform:scale(1.25)}

/* Esquina del cuidador: invisible para la persona */
.rp-s-exit{position:fixed;top:0;left:0;width:84px;height:84px;background:transparent;border:0;opacity:0;z-index:200;cursor:default;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.rp-launch-cg{display:block;margin:34px auto 0;background:none;border:0;color:var(--rp-s-muted);font:600 15px var(--rp-s-font);text-decoration:underline;cursor:pointer;padding:12px}

/* ── Lanzador (sencillo.html) ─────────────────────────────────────────────── */
.rp-launch{max-width:900px;margin:0 auto;padding:calc(28px + env(safe-area-inset-top,0px)) 18px calc(48px + env(safe-area-inset-bottom,0px));font-family:var(--rp-s-font);color:var(--rp-s-ink)}
.rp-launch-hero{background:var(--rp-s-card);border-radius:32px;padding:30px 24px 28px;text-align:center;box-shadow:0 16px 40px #14343d12;margin-bottom:26px;position:relative;overflow:hidden}
.rp-launch-hero::before{content:"";position:absolute;inset:auto -40px -120px -40px;height:220px;background:radial-gradient(ellipse at center,#e3f1ee 0,#e3f1ee00 70%);pointer-events:none}
.rp-launch-hero>*{position:relative}
.rp-launch h1{font:900 44px/1.05 var(--rp-s-font);letter-spacing:-.03em;margin:0 0 8px;text-align:center;text-wrap:balance}
.rp-launch .hola{text-align:center;font-size:24px;color:var(--rp-s-muted);margin:0 0 24px;text-wrap:balance}
.rp-launch .rp-s-big{display:flex;width:100%;max-width:520px;margin:0 auto;min-height:100px;font-size:32px}
.rp-launch-minutes{text-align:center;font-size:19px;color:var(--rp-s-muted);margin:14px 0 0}
.rp-launch-done{text-align:center;font-size:28px;color:var(--rp-s-teal);font-weight:800;margin:0 0 20px;text-wrap:balance}
.rp-launch-label{font:800 17px var(--rp-s-font);color:var(--rp-s-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 6px 12px}
.rp-launch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.rp-launch-card{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--rp-s-card);border:4px solid var(--rp-s-line);border-radius:var(--rp-s-radius);padding:12px 12px 16px;text-decoration:none;color:var(--rp-s-ink);font:800 24px/1.2 var(--rp-s-font);text-align:center;box-shadow:0 6px 18px #14343d10;transition:transform .12s,border-color .15s;text-wrap:balance}
.rp-launch-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:#eef2ef}
.rp-launch-card img.rp-launch-cover{height:auto;aspect-ratio:1;object-fit:contain;background:#e4f2ec}
.rp-launch-card .rp-launch-emoji{display:grid;place-items:center;width:100%;aspect-ratio:4/3;border-radius:14px;background:var(--rp-s-teal-soft);font-size:min(12vw,64px);line-height:1;overflow:hidden;white-space:nowrap}
.rp-launch-card span{display:block;text-align:center;text-wrap:balance}
.rp-launch-card:active{transform:scale(.97);border-color:var(--rp-s-teal)}
@media(min-width:700px){.rp-launch-grid{grid-template-columns:repeat(3,1fr)}}

/* ── Menú del cuidador (lo usa el cuidador, no la persona: letra normal, denso pero claro) ── */
.rp-cg{position:fixed;inset:0;background:#0b2a31b8;z-index:300;display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow:auto;font-family:var(--rp-s-font);color:var(--rp-s-ink)}
.rp-cg-card{background:#fff;border-radius:22px;max-width:640px;width:100%;padding:18px 20px 22px;box-shadow:0 20px 60px #0b2a3166;margin:auto}
.rp-cg-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rp-cg-head h2{margin:0;font:800 24px var(--rp-s-font)}
.rp-cg-x{background:#eef2ee;border:0;border-radius:50%;width:44px;height:44px;font-size:20px;cursor:pointer;color:var(--rp-s-ink)}
.rp-cg h3{font:800 14px var(--rp-s-font);margin:20px 0 8px;color:var(--rp-s-teal);letter-spacing:.06em;text-transform:uppercase}
.rp-cg-sum{margin:8px 0;font-size:17px;background:var(--rp-s-teal-soft);border-radius:12px;padding:10px 12px}
.rp-cg-games{display:grid;gap:8px}
.rp-cg-game{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #e3e8df;border-radius:12px;flex-wrap:wrap}
.rp-cg-gname{display:flex;flex-direction:column;min-width:150px}.rp-cg-gname small{color:var(--rp-s-muted)}
.rp-cg-lvl{display:flex;align-items:center;gap:8px}.rp-cg-lvl span{min-width:70px;text-align:center;font-weight:700}
.rp-cg-lvl button{border:1px solid #c9d6d0;background:#fff;border-radius:10px;min-width:44px;height:44px;font:700 20px var(--rp-s-font);cursor:pointer;color:var(--rp-s-ink)}
.rp-cg-lvl .rp-cg-auto{font-size:13px;padding:0 10px;color:var(--rp-s-muted)}.rp-cg-lvl .rp-cg-auto.on{background:var(--rp-s-teal-soft);color:var(--rp-s-teal);border-color:var(--rp-s-teal)}
#rpCgNote{width:100%;box-sizing:border-box;border:1px solid #c9d6d0;border-radius:12px;padding:10px 12px;font:16px var(--rp-s-font);resize:vertical}
.rp-cg-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.rp-cg-btn{flex:1;min-width:150px;border:1px solid #c9d6d0;background:#fff;border-radius:12px;padding:13px 14px;font:700 16px var(--rp-s-font);cursor:pointer;color:var(--rp-s-ink)}
.rp-cg-btn.primary{background:var(--rp-s-teal);color:#fff;border-color:var(--rp-s-teal)}.rp-cg-btn.danger{color:#9b3b2b;border-color:#e6c3bb}
.rp-cg-hint{font-size:13px;color:var(--rp-s-muted);margin:8px 0 0}
@media(max-width:520px){.rp-cg{padding:0;align-items:flex-end}.rp-cg-card{border-radius:22px 22px 0 0;max-height:92vh;overflow:auto;margin:auto 0 0}}

/* ── Pantallas pequeñas ─────────────────────────────────────────────────────── */
@media(max-width:520px){
  .rp-s-instr{padding:10px 14px 4px;gap:10px 14px}
  .rp-s-instr-text{font-size:26px}
  .rp-s-repeat{min-height:60px;font-size:18px;padding:0 18px}
  .rp-s-stage img,.rp-s-target{width:min(62vw,360px)}
  .rp-s-grid{gap:12px;padding:8px 12px 20px}
  .rp-s-opt{min-height:108px;font-size:24px;border-width:3px}
  .rp-s-word{font-size:34px}
  .rp-launch{padding-left:14px;padding-right:14px}
  .rp-launch h1{font-size:34px}
  .rp-launch .hola{font-size:21px}
  .rp-launch .rp-s-big{min-height:88px;font-size:28px}
  /* Móvil: una tarjeta por fila, en horizontal (imagen cuadrada a la izquierda, título a la derecha). Todas de la misma altura. */
  .rp-launch-grid{grid-template-columns:1fr;gap:12px}
  .rp-launch-card{flex-direction:row;align-items:center;gap:16px;padding:10px 16px 10px 10px;min-height:120px;font-size:24px;border-width:3px}
  .rp-launch-card img,.rp-launch-card .rp-launch-emoji{width:96px;height:96px;flex:0 0 96px;aspect-ratio:auto;border-radius:14px}
  .rp-launch-card img.rp-launch-cover{width:96px;height:96px;aspect-ratio:1}
  .rp-launch-card .rp-launch-emoji{font-size:40px}
  .rp-launch-card span{flex:1;text-align:left}
  .rp-s-speaker{position:absolute}
  .rp-s-final h1{font-size:48px}
  .rp-s-final p{font-size:22px}
}

/* Sin animaciones para quien lo pide en el sistema (el latido de ayuda se sustituye por un borde fijo) */
@media(prefers-reduced-motion:reduce){
  .rp-s-opt.rp-s-hint,.rp-s-card.rp-s-hint{animation:none;box-shadow:0 0 0 6px #087d7440}
  .rp-s-flash,.rp-s-final,.rp-s-stars span{animation:none;opacity:1}
  .rp-s-opt.rp-s-shake{animation:none}
}

/* Altavoz (esquina superior derecha): quitar o poner la voz. Objetivo táctil grande y siempre en el mismo sitio. */
.rp-s-speaker{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));right:12px;z-index:150;width:64px;height:64px;border-radius:50%;border:3px solid var(--rp-s-teal);background:var(--rp-s-card);font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px #14343d1f;padding:0}
.rp-s-speaker.off{border-color:#b9c4c0;background:#eef1ef;opacity:.9}
.rp-s-repeat.rp-s-muted{opacity:.45}
@media(max-width:540px){.rp-s-speaker{width:56px;height:56px;font-size:26px;right:8px}}

/* Accesibilidad (WCAG 2.2 AA): texto solo para lectores de pantalla, foco visible grande, alto contraste y modo de colores forzados. */
.rp-s-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
body.rp-simple .rp-s-opt:focus-visible,body.rp-simple .rp-s-repeat:focus-visible,body.rp-simple .rp-s-big:focus-visible,body.rp-simple .rp-s-speaker:focus-visible{outline:5px solid #14343d;outline-offset:4px}
@media(prefers-contrast:more){
  body.rp-simple{--rp-s-muted:#2e4248;--rp-s-line:#8a9a93;--rp-s-teal:#055c55}
  .rp-s-opt{border-width:5px}
  .rp-s-opt.rp-s-dim{opacity:.55;filter:grayscale(1)}
}
@media(forced-colors:active){
  .rp-s-opt,.rp-s-repeat,.rp-s-big,.rp-s-speaker{border:3px solid ButtonText;forced-color-adjust:none;background:ButtonFace;color:ButtonText}
  .rp-s-opt.rp-s-ok{outline:5px solid Highlight;outline-offset:3px}
  .rp-s-opt.rp-s-hint{outline:5px dashed Highlight;outline-offset:3px}
  .rp-s-opt.rp-s-dim{opacity:.4}
}

/* Pantallas superpuestas (final de reto, re-pregunta de «Recuerda esto»): el contenido se centra y, si no cabe, se desplaza desde arriba. */
.rp-s-final{overflow:auto}
.rp-s-final-card{margin:auto}
@media(max-width:700px){.rp-s-final{padding-top:calc(76px + env(safe-area-inset-top,0px))}}
/* Una opción suelta en la última fila (3 o 5 opciones en 2 columnas) se centra en vez de quedarse a un lado. */
.rp-s-cols-2 .rp-s-opt:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 8px)}

/* Tarjeta con engranaje de prueba (solo terapeutas/admin) y diálogo de niveles */
.rp-launch-wrap{position:relative;display:flex}
.rp-launch-wrap .rp-launch-card{flex:1;min-width:0}
.rp-launch-gear{position:absolute;top:8px;right:8px;width:44px;height:44px;border-radius:50%;border:2px solid var(--rp-s-line);background:#fff;font-size:22px;line-height:1;cursor:pointer;color:var(--rp-s-muted);display:flex;align-items:center;justify-content:center;padding:0;z-index:2}
.rp-launch-gear:focus-visible{outline:4px solid var(--rp-s-ink);outline-offset:2px}
.rp-gear-list{display:grid;gap:8px;margin:6px 0 12px}
.rp-gear-lv{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #d3ddd6;border-radius:14px}
.rp-gear-lv b{font-size:17px}.rp-gear-lv small{color:var(--rp-s-teal);font-weight:700}
.rp-gear-d{font-size:15px;color:var(--rp-s-muted);margin-top:2px}
.rp-gear-lv a.rp-cg-btn{text-decoration:none;flex:0 0 auto}

/* Anillo de «lo de hoy» en el lanzador */
.rp-ring{--p:0;width:112px;height:112px;border-radius:50%;margin:6px auto 14px;background:conic-gradient(var(--rp-s-teal) calc(var(--p) * 1%),#dfe7e3 0);display:grid;place-items:center}
.rp-ring span{width:86px;height:86px;border-radius:50%;background:var(--rp-s-card);display:grid;place-items:center;font:900 26px var(--rp-s-font);color:var(--rp-s-teal)}
/* Figuras dentro de una opción: nunca más anchas que el hueco interior de la tarjeta (con 3 columnas en móvil se salían). */
.rp-s-opt .rp-s-fig{max-width:100%!important;height:auto!important;aspect-ratio:1}
.rp-s-cols-3 .rp-s-opt .rp-s-fig{width:min(20vw,150px)!important}

/* Orden visual: pictograma (mano 👆 y, si lo hay, la figura o el objeto que se pide) encima del texto de la instrucción */
.rp-s-instr-visual{flex:1 0 100%;display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 4px}
.rp-s-instr-visual .rp-s-fig{box-shadow:0 4px 10px #14343d22}
.rp-s-instr-visual img{width:min(28vw,120px);aspect-ratio:4/3;object-fit:cover;border-radius:14px;border:4px solid #fff;box-shadow:0 8px 20px #14343d22}
.rp-s-ord{font-size:48px;line-height:1}
.rp-s-instr-visual-hand .rp-s-ord{font-size:36px}
.rp-s-instr-visual .rp-s-emoji{font-size:64px;line-height:1}

/* «Atrás» del ratito más: debajo de la esquina oculta del cuidador, siempre en el mismo sitio */
.rp-s-back{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));left:12px;z-index:150;min-height:52px;padding:0 20px;border-radius:999px;border:3px solid var(--rp-s-teal);background:var(--rp-s-card);color:var(--rp-s-teal);font:800 20px var(--rp-s-font);cursor:pointer;box-shadow:0 4px 14px #14343d1f;display:flex;align-items:center;gap:8px}
.rp-s-back:active{transform:scale(.96)}
.rp-launch-lv{position:absolute;left:10px;top:10px;background:var(--rp-s-teal);color:#fff;font:800 14px var(--rp-s-font);border-radius:999px;padding:3px 10px;z-index:2;font-style:normal}

/* Números de varias cifras (niveles infinitos) dentro de las opciones */
.rp-s-num-3 .rp-s-num{font-size:min(13vw,60px)}
.rp-s-num-long .rp-s-num{font-size:min(10.5vw,56px);letter-spacing:.02em;min-height:0}

/* Lista de retos agrupada por tipo */
.rp-launch-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.rp-launch-chips button{font:700 16px var(--rp-s-font);padding:10px 16px;min-height:44px;border:3px solid var(--rp-s-line);border-radius:999px;background:#fff;color:var(--rp-s-ink);cursor:pointer}
.rp-launch-chips button[aria-pressed="true"]{border-color:var(--rp-s-teal);background:var(--rp-s-teal-soft)}
.rp-launch-group{margin:0 0 22px}.rp-launch-group[hidden]{display:none}
.rp-launch-gh{margin:6px 0 10px;font:800 20px var(--rp-s-font);color:var(--rp-s-ink)}

/* Agenda de hoy */
.rp-agenda{margin:0 0 20px;padding:14px 14px 10px;background:#fff;border:3px solid var(--rp-s-line);border-radius:22px;box-shadow:0 8px 24px #14343d10}
.rp-ag-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.rp-ag-head h2{margin:0;font:800 clamp(20px,5vw,26px) var(--rp-s-font);color:var(--rp-s-ink)}
.rp-ag-say{font:700 17px var(--rp-s-font);min-height:48px;padding:8px 18px;border:3px solid var(--rp-s-teal);border-radius:999px;background:#fff;color:var(--rp-s-teal);cursor:pointer}
.rp-ag-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.rp-ag-it{position:relative;border:3px solid var(--rp-s-line);border-radius:18px;background:#fff;text-align:center}
.rp-ag-btn{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:10px 8px 12px;border:0;background:none;font:inherit;color:inherit;cursor:pointer;border-radius:15px}
.rp-ag-btn:active{background:var(--rp-s-teal-soft)}
.rp-ag-it img{width:min(26vw,110px);height:min(26vw,110px);object-fit:contain;aspect-ratio:1}
.rp-ag-em{font-size:min(16vw,72px);line-height:1.2}
.rp-ag-it b{font:800 22px var(--rp-s-font);color:var(--rp-s-teal)}
.rp-ag-it span:not(.rp-ag-em){font:700 19px/1.15 var(--rp-s-font);color:var(--rp-s-ink)}
.rp-ag-it.next{border-color:var(--rp-s-teal)}.rp-ag-it.next .rp-ag-btn{background:var(--rp-s-teal-soft)}
.rp-ag-it.next em{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--rp-s-teal);color:#fff;font:800 13px var(--rp-s-font);font-style:normal;padding:3px 10px;border-radius:999px;white-space:nowrap}
.rp-ag-it.past{opacity:.55}

/* Panel del cuidador: lista de retos paginada */
.rp-cg-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 4px}
.rp-cg-pager span{font:700 15px var(--rp-s-font,sans-serif);color:#41585f;text-align:center}
.rp-cg-pager .rp-cg-btn{min-height:46px;min-width:112px}.rp-cg-pager .rp-cg-btn:disabled{opacity:.4;cursor:default}

/* Flecha «volver arriba» del lanzador */
.rp-top{position:fixed;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;width:64px;height:64px;border-radius:50%;border:3px solid var(--rp-s-teal);background:#fff;color:var(--rp-s-teal);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;cursor:pointer;box-shadow:0 8px 22px #14343d33;font-family:var(--rp-s-font)}
.rp-top[hidden]{display:none}
.rp-top span{font:800 28px/1 var(--rp-s-font)}.rp-top small{font:800 11px/1 var(--rp-s-font);margin-top:1px;letter-spacing:.02em}
.rp-top:active{background:var(--rp-s-teal-soft)}

/* Panel del cuidador en móvil: nada se sale del ancho (los desplegables largos se recortan con «…») */
.rp-cg-card{box-sizing:border-box;overflow-x:hidden;min-width:0}
.rp-cg-card *{box-sizing:border-box;min-width:0}
.rp-cg-card select,.rp-cg-card input[type=search],.rp-cg-card input[type=text]{max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;min-height:46px}
.rp-cg-card #rpCgVoice{width:100%}
.rp-cg-row>span:first-child{flex:0 0 auto}
@media(max-width:520px){
  .rp-cg-card{padding:16px 16px calc(22px + env(safe-area-inset-bottom,0px))}
  .rp-cg-row:has(select#rpCgVoice),.rp-cg-row:has(select#rpCgHelp){flex-direction:column;align-items:stretch!important;gap:6px}
  .rp-cg-row:has(select#rpCgVoice)>span{font-weight:700}
  .rp-cg-card select{font-size:16px}
}

/* Icono de ajustes (panel del cuidador) del lanzador, arriba a la izquierda, a juego con el altavoz */
.rp-s-gear{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));z-index:150;width:64px;height:64px;border-radius:50%;border:3px solid var(--rp-s-teal);background:var(--rp-s-card);font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px #14343d22}
.rp-s-gear:active{transform:scale(.96)}

/* Teclado de la clave del cuidador */
.rp-pin{max-width:360px}
.rp-pin-dots{text-align:center;font:800 40px/1.2 var(--rp-s-font);letter-spacing:.2em;color:var(--rp-s-teal);margin:6px 0}
.rp-pin-err{text-align:center;color:#9b3b2b;font:700 16px var(--rp-s-font);margin:0 0 6px}
.rp-pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.rp-pin-pad button{min-height:64px;border:2px solid #c9d6d0;background:#fff;border-radius:16px;font:800 28px var(--rp-s-font);color:var(--rp-s-ink);cursor:pointer}
.rp-pin-pad button:active{background:var(--rp-s-teal-soft);border-color:var(--rp-s-teal)}
@media(max-width:520px){.rp-pin{max-width:none}}

/* Micrófono de la búsqueda de retos del panel del cuidador */
.rp-cg-mic{flex:0 0 auto;width:48px;height:48px;border-radius:50%;border:1px solid #c9d6d0;background:#fff;font-size:22px;line-height:1;cursor:pointer}
.rp-cg-mic.on{background:#c0392b;border-color:#c0392b;animation:rpMicPulse 1.1s ease-in-out infinite}
@keyframes rpMicPulse{0%,100%{box-shadow:0 0 0 0 #c0392b55}50%{box-shadow:0 0 0 9px #c0392b00}}
@media(prefers-reduced-motion:reduce){.rp-cg-mic.on{animation:none}}

/* Botón de micrófono para responder con la voz (opcional) */
.rp-s-va{position:fixed;left:max(14px,env(safe-area-inset-left,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;width:72px;height:72px;border-radius:50%;border:3px solid var(--rp-s-teal);background:#fff;color:var(--rp-s-teal);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 8px 22px #14343d33}
.rp-s-va small{font:800 12px var(--rp-s-font);margin-top:2px}
.rp-s-va.on{background:#c0392b;border-color:#c0392b;color:#fff;animation:rpMicPulse 1.1s ease-in-out infinite}

.rp-cg-sup{display:block;margin:2px 0;font:700 12px/1.3 var(--rp-s-font,sans-serif);color:#7a5200;background:#fff4dd;border-radius:8px;padding:2px 8px;width:fit-content;max-width:100%}

.rp-s-support{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom,0px));left:16px;z-index:50;max-width:calc(100% - 112px);padding:8px 16px;border-radius:18px;background:#fff4dd;color:#6b4800;border:2px solid #f0cf8a;font:800 15px/1.25 var(--rp-s-font,sans-serif);text-align:left;box-shadow:0 4px 14px #14343d1f;pointer-events:none}

.rp-launch-card .rp-launch-sup{display:block;margin-top:-4px;padding:3px 10px;border-radius:999px;background:#fff4dd;color:#6b4800;border:2px solid #f0cf8a;font:800 13px/1.25 var(--rp-s-font,sans-serif);text-align:center}

.rp-s-logout{position:fixed;left:max(12px,env(safe-area-inset-left,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:60;min-height:48px;padding:10px 18px;border-radius:999px;border:3px solid var(--rp-s-line,#c8d6cf);background:#fff;color:var(--rp-s-teal,#087d74);font:800 16px/1.1 var(--rp-s-font,sans-serif);cursor:pointer;box-shadow:0 6px 18px #14343d1f}

/* ⓘ Fundamento del reto (temporal, demos): botón discreto abajo a la derecha y ficha para profesionales. */
.rp-s-info{position:fixed;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;width:48px;height:48px;border-radius:50%;border:2px solid var(--rp-s-line,#cfe0da);background:#fff;color:var(--rp-s-muted,#5c7178);font:italic 800 22px Georgia,serif;cursor:pointer;opacity:.75;box-shadow:0 4px 12px #14343d1a}
.rp-s-info:hover,.rp-s-info:focus-visible{opacity:1;border-color:var(--rp-s-teal)}
.rp-s-info-ov{position:fixed;inset:0;z-index:260;background:#0b2a31b8;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.rp-s-info-card{background:#fff;color:var(--rp-s-ink,#14343d);border-radius:22px;max-width:620px;width:100%;max-height:92vh;overflow:auto;padding:22px 22px 18px;font:17px/1.5 var(--rp-s-font,sans-serif);box-shadow:0 24px 60px #0006;margin:auto}
.rp-s-info-k{margin:0 0 4px;font:700 12px/1.2 var(--rp-s-font,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--rp-s-teal)}
.rp-s-info-card h2{margin:0 0 10px;font:900 26px/1.15 var(--rp-s-font,sans-serif)}
.rp-s-info-card h3{margin:14px 0 4px;font:800 15px/1.2 var(--rp-s-font,sans-serif);text-transform:uppercase;letter-spacing:.04em;color:var(--rp-s-muted,#5c7178)}
.rp-s-info-card p{margin:0}.rp-s-info-card ul{margin:0;padding-left:20px}.rp-s-info-card li{margin:2px 0}
.rp-s-info-foot{margin-top:14px!important;font-size:14px;color:var(--rp-s-muted,#5c7178);border-top:1px solid var(--rp-s-line,#cfe0da);padding-top:10px}
.rp-s-info-close{width:100%;margin-top:16px;font-size:22px!important;min-height:56px}
.rp-s-info-card a{color:var(--rp-s-teal);text-decoration:underline;text-underline-offset:3px}

/* Tras lo de hoy: «¿Te apetece un ratito más?» con caras (autoinforme; decide si se ofrece la lista de juegos). */
.rp-launch-ask{margin:18px 0 8px;text-align:center}
.rp-launch-ask h2{font:800 26px/1.25 var(--rp-s-font);margin:0 0 14px;text-wrap:balance}
.rp-launch-faces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:560px;margin:0 auto}
.rp-launch-faces button{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:150px;padding:14px 8px;border-radius:22px;border:3px solid var(--rp-s-line,#cfe0da);background:#fff;color:inherit;cursor:pointer;font:inherit}
.rp-launch-faces button span{font-size:56px;line-height:1}.rp-launch-faces button b{font:800 18px/1.2 var(--rp-s-font)}
.rp-launch-faces button:hover,.rp-launch-faces button:focus-visible{border-color:var(--rp-s-teal);background:var(--rp-s-soft,#e7f3ee)}
@media(max-width:480px){.rp-launch-faces{grid-template-columns:1fr}.rp-launch-faces button{flex-direction:row;min-height:84px;justify-content:flex-start;padding:10px 18px}.rp-launch-faces button span{font-size:44px}}
.rp-launch-faces:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));max-width:400px}

/* Botón «Un ratito más» tras descansar: grande, centrado y con el ancho de su texto (no a todo el ancho de la tarjeta). */
.rp-launch-again{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:72px;padding:0 44px;border-radius:999px;border:3px solid var(--rp-s-teal);background:#fff;color:var(--rp-s-teal);font:800 26px var(--rp-s-font);cursor:pointer;margin:0 auto}
.rp-launch-again:hover,.rp-launch-again:focus-visible{background:var(--rp-s-soft,#e7f3ee)}
.rp-launch-hero .rp-launch-ask,.rp-launch-hero .rp-launch-minutes{margin-left:auto;margin-right:auto}

/* Pantalla sin lista de juegos (hecho lo de hoy, descanso…): la tarjeta queda centrada vertical y horizontalmente. */
.rp-launch.rp-launch-solo{box-sizing:border-box;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center}
.rp-launch.rp-launch-solo .rp-launch-hero{margin-bottom:0}

.rp-s-ptr{position:fixed;top:max(70px,calc(env(safe-area-inset-top,0px) + 56px));left:50%;z-index:80;width:52px;height:52px;border-radius:50%;background:#fff;color:#087d74;border:3px solid #087d74;display:grid;place-items:center;font:800 28px/1 var(--rp-s-font,sans-serif);box-shadow:0 4px 14px #14343d33;opacity:0;transform:translate(-50%,-60px);pointer-events:none}

.rp-s-left{margin:8px 0 0;font:700 20px/1.3 var(--rp-s-font,sans-serif);color:var(--rp-s-muted,#5c7178)}

.rp-cg-assess{background:#fff4dd;border:2px solid #f0cf8a;border-radius:14px;padding:12px 14px;margin:0 0 12px;font-size:15px}.rp-cg-assess ul{margin:6px 0 0;padding-left:20px}.rp-cg-assess li{margin:3px 0}
.rp-launch-assess{margin-top:14px}.rp-launch-assess h2{font:800 26px/1.2 var(--rp-s-font,sans-serif);margin:0 0 6px;text-wrap:balance}.rp-launch-assess .rp-s-big{margin:0 auto}
