/* Dirección aprobada: escenas legibles, objetos grandes y el mundo del peque
   presente en las materias. El contenido y la interacción siguen en el motor. */
html[data-motor="primaria"] .pm-grupo-materias{width:100%;display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
html[data-motor="primaria"] .pm-grupo-materias[hidden]{display:none}
html[data-motor="primaria"] .pm-grupo-titulo{font-size:1.12rem;margin:8px 0 0;display:flex;align-items:center;gap:14px;text-align:left;color:var(--pm-tinta)}
html[data-motor="primaria"] .pm-grupo-titulo:after{content:"";height:1px;flex:1;background:color-mix(in srgb,var(--pm-acento) 24%,transparent)}
html[data-motor="primaria"] .pm-grupo-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
html[data-motor="primaria"] .pm-grupo-lista .pm-actividad{gap:10px;min-height:150px}
html[data-motor="primaria"] .pm-grupo-lista .pm-actividad-muestra{min-height:84px}
html[data-motor="primaria"] .pm-actividad-muestra .pm-ilustracion{width:84px;height:84px}
html[data-motor="primaria"] .pm-actividad-muestra svg{height:84px;max-width:100%}
html[data-motor="primaria"] .pm-actividad small{font-size:.9rem!important}
html[data-motor="primaria"] body:has(#s-juego.activa):is([data-pm-materia="geo"],[data-pm-materia="cie"],[data-pm-materia="ing"]){background:linear-gradient(145deg,var(--pm-suave),#f9fbfd 65%)!important}
.pm-app #zona-ejercicio:is([data-materia="geo"],[data-materia="cie"],[data-materia="ing"]){padding:22px;gap:18px!important;border-color:color-mix(in srgb,var(--pm-acento) 20%,#e8e5f0);box-shadow:0 6px 0 color-mix(in srgb,var(--pm-acento) 9%,#eef0f6);overflow:visible}
.pm-materia-cabecera{width:100%;padding:0 0 17px;border-bottom:1px solid #e7e0ed;text-align:left}
.pm-materia-detalle{margin:0 0 6px;font-size:.88rem;font-weight:800;color:#645277}
.pm-app .pm-materia-titulo{margin:0;font-size:clamp(1.4rem,3vw,1.85rem);text-align:left;color:var(--pm-tinta)}
.pm-app #zona-ejercicio:is([data-materia="geo"],[data-materia="cie"],[data-materia="ing"]) .enunciado-txt{font-size:clamp(1.1rem,2.5vw,1.35rem);line-height:1.4;text-align:center;width:100%;overflow-wrap:anywhere}
.pm-app #zona-ejercicio .opciones-geo{width:100%;max-width:760px;gap:13px}
.pm-app #zona-ejercicio .opcion-geo{font-family:"Nunito",system-ui,sans-serif;border:2px solid #c6b0dd;box-shadow:0 4px 0 #e5daef;border-radius:16px;min-height:50px;padding:13px 20px;font-size:1.08rem;color:#573f73;background:#fff}
.pm-app #zona-ejercicio .opcion-geo:focus-visible,.pm-app #zona-ejercicio .pieza:focus-visible{outline:3px solid #236d94;outline-offset:4px}
.pm-app #zona-ejercicio .opcion-geo.bien{background:#d6efdf;border-color:#4f9472;color:#245840;box-shadow:0 4px 0 #9cc9ad}
.pm-app #zona-ejercicio .opcion-geo.malo{background:#fff0d2;border-color:#c89d50;color:#75511f}
.pm-app #zona-ejercicio .opcion-geo.apagada{opacity:.36;box-shadow:none}
.pm-app [data-materia="ing"] .opciones-geo:has(.pm-opcion-dibujo){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:630px;background:linear-gradient(155deg,#ecf5fb,#f5effb);padding:18px;border-radius:20px;border:1px solid #d4e2ed}
.pm-app [data-materia="ing"] .opcion-geo.pm-opcion-dibujo{min-height:172px;padding:13px;background:#ffffffdf;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 #d7e0e9;border-color:#c3d8e3}
.pm-app [data-materia="ing"] .opcion-geo.pm-opcion-dibujo.bien{background:#dbf4e6;border-color:#4f9472;box-shadow:0 4px 0 #9cc9ad}
.pm-app .pm-dibujo{display:flex;align-items:center;justify-content:center}
.pm-app .pm-ilustracion{display:block;width:148px;height:148px;max-width:100%;object-fit:contain;filter:drop-shadow(0 7px 3px #34414a16);pointer-events:none;user-select:none}
.pm-app .pm-recorte{position:relative;overflow:hidden;flex-shrink:0}
.pm-app .pm-recorte>img{display:block;position:absolute;max-width:none;max-height:none;object-fit:fill;pointer-events:none}
.pm-app .pm-emoji-reserva{font-size:4.6rem;line-height:1.2;pointer-events:none}
.pm-app .pm-muestra-color{display:block;width:104px;height:104px;border-radius:50%;border:2px solid #5b6375;box-shadow:inset -6px -6px 0 #0000000b,0 5px 0 #30394f14;pointer-events:none}
.pm-app [data-materia="ing"] .cosa-clasificar{display:flex;align-items:center;justify-content:center;min-height:195px;width:100%;max-width:510px;padding:20px;background:linear-gradient(135deg,#eef5fb,#f6effb);border:1px solid #dbe3ee;border-radius:18px}
.pm-app [data-materia="ing"] .cosa-clasificar .pm-ilustracion{width:186px;height:186px}
.pm-app .pm-cosas-contar{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:630px!important;gap:10px!important;padding:16px;border-radius:18px;background:#edf6fa}
.pm-app .pm-cosas-contar .pm-ilustracion{width:82px;height:82px}
.pm-app .pm-cosas-contar .pm-emoji-reserva{font-size:2.8rem}
.pm-app [data-materia="geo"] .mapa-wrap{border:1px solid #a9c7d4;border-radius:19px;overflow:hidden;background:#dbeef6;max-width:780px;box-shadow:0 5px 0 #cddfe8}
.pm-app [data-materia="geo"] svg.mapa{width:100%;max-width:510px;max-height:none;border-radius:0;box-shadow:none;background:#dbeef6}
.pm-app [data-materia="geo"] svg.mapa-mu{max-width:780px}
.pm-app [data-materia="geo"] .mapa .mar{fill:#dbeef6}
.pm-app [data-materia="geo"] .mapa .pieza{stroke:#5a7f8c;stroke-width:1.1;stroke-linejoin:round;transition:fill .2s,filter .2s}
.pm-app [data-materia="geo"] .mapa .pieza.brilla{fill:#b994dd!important;stroke:#653f91;stroke-width:3.5;filter:drop-shadow(0 0 5px #b990df)}
.pm-app [data-materia="geo"] .mapa .oceano.brilla{fill:#9d7cce;fill-opacity:.55;stroke:#66528c;stroke-width:2}
.pm-app [data-materia="geo"] .mapa .pieza.bien{fill:#8bd0ae!important;stroke:#2e7151;stroke-width:3}
.pm-app [data-materia="geo"] .mapa .cajita{stroke:#7f9fac;stroke-width:2}
.pm-app [data-materia="geo"] .mapa .punto-mini{fill:#fff;stroke:#596e89;stroke-width:3}
.pm-app [data-materia="cie"] .mapa-wrap{width:100%;border-radius:18px;background:#edf5e8;border:1px solid #c5d6bb;padding:12px;overflow:hidden}
.pm-app [data-materia="cie"] svg.lamina{max-width:460px;max-height:none;width:100%;height:auto;box-shadow:0 5px 0 #b7c9a94d;border-radius:15px;background:#fff}
.pm-app [data-materia="cie"] .lamina .pieza{stroke-width:2;stroke-linejoin:round}
.pm-app [data-materia="cie"] .lamina .pieza.brilla{stroke:#975e1e!important;stroke-width:5;filter:drop-shadow(0 0 6px #f5c568)}
.pm-app [data-materia="cie"] .cosa-clasificar{min-height:180px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f0f7e9,#e6f3f1);border:1px solid #d5e4cd;border-radius:20px;width:100%;max-width:510px;padding:16px}
.pm-app [data-materia="cie"] .cosa-clasificar .pm-ilustracion{width:178px;height:178px}
.pm-app [data-materia="cie"] .cestas{display:flex;flex-wrap:wrap;width:100%;justify-content:center;align-items:stretch;gap:12px}
.pm-app [data-materia="cie"] .cesta-btn{flex:1;min-width:130px;max-width:240px;padding:16px 10px;gap:9px;border-width:2px;border-color:#b8cfbc;background:#f1f7ee;color:#315d49;box-shadow:0 4px 0 #d3e1cf}
.pm-app [data-materia="cie"] .cesta-btn .pm-ilustracion{width:63px;height:63px}
.pm-app [data-materia="cie"] .cesta-btn.bien{border-color:#488363;background:#d6eedf;color:#245b42}
.pm-app [data-materia="cie"] .cesta-btn.malo{border-color:#c3994c;background:#fff0d6;color:#78551f}
.pm-app .pm-secuencia{display:grid;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:9px;max-width:760px;background:#f0ebf7;padding:13px;border:1px solid #dbd0e7;border-radius:16px;align-items:center}
.pm-app .pm-paso-hueco{display:grid;place-items:center;min-height:54px;border:2px dashed #bfaed1;border-radius:11px;color:#7d6795;font-size:1.1rem;font-weight:800}
.pm-app .pm-secuencia .ficha-ciclo{display:flex;align-items:center;justify-content:center;gap:5px;min-height:54px;border-color:#79af91;background:#e4f4e8;font-size:.92rem;color:#366149;padding:6px;overflow-wrap:anywhere}
.pm-app .pm-numero-paso{font-size:.85rem;align-self:flex-start}
.pm-app .pm-paso-completo-dibujo .pm-ilustracion{width:39px;height:39px;filter:none}
.pm-app .pm-paso-completo-dibujo .pm-emoji-reserva{font-size:1.5rem}
.pm-app [data-materia="cie"] .pasos-ciclo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;width:100%;gap:13px}
.pm-app [data-materia="cie"] .paso-ciclo{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border-width:2px;border-color:#b9cfb7;background:#f8fbf4;border-radius:17px;padding:16px;text-align:center;box-shadow:0 4px 0 #e1e9dc;font-size:1rem;line-height:1.4}
.pm-app [data-materia="cie"] .paso-ciclo .pm-ilustracion{width:94px;height:94px}
.pm-app .paso-ciclo.puesta{opacity:.45;box-shadow:none}
.pm-app [data-materia="ing"] .pasos-ing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:760px;gap:11px}
.pm-app [data-materia="ing"] .pasos-ing .paso-ciclo{border:1px solid #c7b5dd;border-top:7px solid #a17cbd;border-radius:12px;background:#fcfaff;padding:13px 9px;min-width:0;box-shadow:0 4px 0 #e9e0f2;font-size:1rem;line-height:1.4}
.pm-app [data-materia="ing"] .pasos-ing .paso-txt small{opacity:1;color:#756082;font-size:.88rem}
@media(max-width:560px){
  .pm-app #zona-ejercicio:is([data-materia="geo"],[data-materia="cie"],[data-materia="ing"]){padding:15px 11px;gap:15px!important}
  .pm-app .pm-materia-cabecera{padding-bottom:13px}.pm-app .pm-materia-detalle{font-size:.82rem}
  .pm-app [data-materia="ing"] .opciones-geo:has(.pm-opcion-dibujo){padding:11px;gap:11px}
  .pm-app [data-materia="ing"] .opcion-geo.pm-opcion-dibujo{min-height:130px;padding:8px;min-width:0}
  .pm-app .pm-opcion-dibujo .pm-ilustracion{width:108px;height:108px}
  .pm-app .pm-muestra-color{width:77px;height:77px}
  .pm-app .pm-emoji-reserva{font-size:3.5rem}
  .pm-app .pm-cosas-contar{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;padding:10px}
  .pm-app .pm-cosas-contar .pm-ilustracion{width:60px;height:60px}
  .pm-app [data-materia="cie"] .mapa-wrap{padding:6px}
  .pm-app [data-materia="cie"] .cesta-btn{min-width:100px;font-size:.95rem}
  .pm-app [data-materia="cie"] .pasos-ciclo{gap:10px}.pm-app [data-materia="cie"] .paso-ciclo{padding:12px 9px;font-size:.95rem}
  .pm-app [data-materia="cie"] .paso-ciclo .pm-ilustracion{width:75px;height:75px}
  .pm-app [data-materia="ing"] .pasos-ing{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-motor="primaria"] .pm-grupo-lista{gap:11px}
  html[data-motor="primaria"] .pm-grupo-lista .pm-actividad{padding:12px;min-height:148px}
}
@media(max-width:350px){html[data-motor="primaria"] .pm-grupo-lista{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pm-app .pm-ilustracion,.pm-app [data-materia] .pieza,.pm-app [data-materia] .cosa-clasificar{transition:none;animation:none}}

/* Geografía: un atlas con la pregunta y sus respuestas junto al mapa.
   Los trazados, el zoom didáctico y las zonas de toque pertenecen al motor.
   Solo se limita la altura en preguntas con botones: al tocar países se
   conserva el tamaño amplio, especialmente importante para las piezas pequeñas. */
html[data-motor="primaria"] body.pm-app:has(#s-juego.activa)[data-pm-materia="geo"]{
  background:radial-gradient(ellipse at 8% 0%,#dceee7,transparent 55%),#f6f8f5!important;
}
.pm-app[data-pm-materia="geo"] #s-juego{max-width:1120px;padding-top:18px}
.pm-app[data-pm-materia="geo"] #s-juego>.topbar{
  padding:8px 12px;border-color:#dbe7e2;border-radius:18px;box-shadow:0 3px 12px #244a3e05;
}
.pm-app[data-pm-materia="geo"] #s-juego .pbar{background:#e5eee9;box-shadow:none;height:10px}
.pm-app[data-pm-materia="geo"] #s-juego .pbar>div{background:#287765}
.pm-app #zona-ejercicio[data-materia="geo"]{
  padding:24px;gap:18px!important;border:1px solid #d4e2db;border-radius:26px;
  box-shadow:0 12px 36px #224c3d08;background:#fffefa;
}
.pm-app #zona-ejercicio[data-materia="geo"] .pm-materia-cabecera{
  padding:0 0 15px;border-bottom:1px solid #e4e9df;
}
.pm-app #zona-ejercicio[data-materia="geo"] .pm-materia-detalle{
  display:inline-block;padding:5px 12px;margin:0 0 9px;border-radius:9px;
  color:#226351;background:#e7f1e9;font-size:.8rem;letter-spacing:.02em;
}
.pm-app #zona-ejercicio[data-materia="geo"] .pm-materia-titulo{
  color:#243e36;font-size:clamp(1.4rem,2.7vw,1.9rem);
}
.pm-app #zona-ejercicio[data-materia="geo"] .enunciado-txt{
  color:#293f39;font-size:clamp(1.12rem,2.2vw,1.4rem);line-height:1.4;
  margin:0;text-wrap:pretty;
}
.pm-app #zona-ejercicio[data-materia="geo"] .mapa-wrap{
  max-width:100%;min-width:0;align-items:center;border:1px solid #bdd9dc;
  border-radius:19px;background:#e5f2f4;box-shadow:inset 0 0 35px #438b9720;
}
.pm-app #zona-ejercicio[data-materia="geo"] svg.mapa{background:transparent}
.pm-app #zona-ejercicio[data-materia="geo"] .mapa .mar{fill:#e5f2f4}
.pm-app #zona-ejercicio[data-materia="geo"] .mapa .pieza{
  stroke:#587c80;stroke-width:1.05;stroke-linejoin:round;
}
.pm-app #zona-ejercicio[data-materia="geo"] .mapa .pieza.brilla{
  fill:#ffd166!important;stroke:#7e4e18;stroke-width:2.8;filter:drop-shadow(0 0 4px #fff3c1);
}
.pm-app #zona-ejercicio[data-materia="geo"] .mapa .oceano.brilla{
  fill:#ffd166;fill-opacity:.65;stroke:#7e4e18;stroke-width:2;
}
.pm-app #zona-ejercicio[data-materia="geo"] .mapa .pieza.bien{
  fill:#82cfab!important;stroke:#24664d;stroke-width:2.8;
}
.pm-app #zona-ejercicio[data-materia="geo"] .mapa .pieza.malo{
  fill:#e8dcba!important;stroke:#896e3c;
}
.pm-app #zona-ejercicio[data-materia="geo"] .mapa .oceano.malo{fill:#e8dcba;fill-opacity:.55}
.pm-app #zona-ejercicio[data-materia="geo"] .mapa .guia{stroke:#7e4e18}
.pm-app #zona-ejercicio[data-materia="geo"] .opciones-geo{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
  max-width:none;align-items:stretch;
}
.pm-app #zona-ejercicio[data-materia="geo"] .opcion-geo{
  min-width:0;min-height:58px;margin:0;display:flex;align-items:center;gap:12px;
  padding:12px 14px;text-align:left;font-size:1.03rem;line-height:1.3;
  overflow-wrap:anywhere;color:#2c4b41;border:1.5px solid #c4d8cd;border-radius:15px;
  background:#fff;box-shadow:0 3px 0 #dde7df;transition:background .15s,border-color .15s;
}
.pm-app #zona-ejercicio[data-materia="geo"] .opcion-geo::before{
  content:"";width:12px;height:12px;flex-shrink:0;border:2px solid #91afa1;border-radius:50%;
}
.pm-app #zona-ejercicio[data-materia="geo"] .opcion-geo.bien{
  color:#1f583e;background:#e1f2e7;border-color:#438963;box-shadow:0 3px 0 #a4ceb4;
}
.pm-app #zona-ejercicio[data-materia="geo"] .opcion-geo.bien::before{
  background:#438963;border-color:#438963;box-shadow:inset 0 0 0 2px #e1f2e7;
}
.pm-app #zona-ejercicio[data-materia="geo"] .opcion-geo.malo{
  color:#725321;background:#fff5dc;border-color:#b89855;
}
.pm-app #zona-ejercicio[data-materia="geo"] .opcion-geo.apagada{opacity:.42;box-shadow:none}
.pm-app #zona-ejercicio[data-materia="geo"] :is(.opcion-geo,.pieza,.oceano,.toque-mini):focus-visible{
  outline:3px solid #236d94;outline-offset:3px;
}
@media(hover:hover){
  .pm-app #zona-ejercicio[data-materia="geo"] .opcion-geo:not(.apagada):not(.bien):hover{
    background:#eff6f0;border-color:#6f9d88;
  }
  .pm-app #zona-ejercicio[data-materia="geo"] .mapa [role="button"]:not(.apagada):hover{
    stroke:#254e54;stroke-width:2.5;
  }
}
/* Elegir un nombre no exige apuntar a países pequeños. El mapa completo y las
   cuatro opciones caben juntos; el SVG conserva su proporción y su viewBox. */
.pm-app #zona-ejercicio[data-materia="geo"]:has(.opciones-geo) svg.mapa{
  width:100%;max-width:none;height:clamp(270px,48svh,410px);max-height:none;
}
@media(min-width:900px){
  .pm-app #zona-ejercicio[data-materia="geo"]:has(.opciones-geo){
    display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);
    grid-template-rows:auto auto 1fr;column-gap:24px!important;align-items:start;
  }
  .pm-app #zona-ejercicio[data-materia="geo"]:has(.opciones-geo) .pm-materia-cabecera{grid-column:1/-1}
  .pm-app #zona-ejercicio[data-materia="geo"]:has(.opciones-geo) .mapa-wrap{grid-column:1;grid-row:2/4}
  .pm-app #zona-ejercicio[data-materia="geo"]:has(.opciones-geo) .enunciado-txt{
    grid-column:2;grid-row:2;text-align:left;padding:4px 0;
  }
  .pm-app #zona-ejercicio[data-materia="geo"] .opciones-geo{
    grid-column:2;grid-row:3;grid-template-columns:1fr;gap:12px;
  }
  .pm-app #zona-ejercicio[data-materia="geo"] .opcion-geo{min-height:62px}
}
/* Las cuatro puertas conservan sus mapas reales y tienen una identidad propia. */
html[data-motor="primaria"] .pm-grupo-materias:has([data-carta="geo-es"]) .pm-actividad{
  --geo-carta:#24786a;background:#fffefa;border-color:#d6e3dc;
  border-top:4px solid var(--geo-carta);box-shadow:0 5px 0 #dde8e1;
}
html[data-motor="primaria"] .pm-actividad[data-carta="geo-mu"]{--geo-carta:#307b9f!important}
html[data-motor="primaria"] .pm-actividad[data-carta="geo-eu"]{--geo-carta:#7760aa!important}
html[data-motor="primaria"] .pm-actividad[data-carta="geo-cap"]{--geo-carta:#a57927!important}
html[data-motor="primaria"] .pm-actividad[data-carta] .pm-actividad-muestra{
  min-height:112px;background:color-mix(in srgb,var(--geo-carta) 9%,#fffefa);border-radius:12px;
}
html[data-motor="primaria"] .pm-actividad[data-carta] .pm-actividad-muestra svg{
  height:104px;filter:drop-shadow(0 3px 0 #264c4120);
}
html[data-motor="primaria"] .pm-actividad[data-carta] .pm-actividad-muestra path{fill:var(--geo-carta)}
html[data-motor="primaria"] .pm-actividad[data-carta="geo-cap"] .pm-actividad-muestra circle{fill:#563b7c}
html[data-motor="primaria"] .pm-actividad[data-carta] strong{font-size:1.12rem;color:#2c433b}
@media(min-width:1000px){
  html[data-motor="primaria"] .pm-grupo-materias:has([data-carta="geo-es"]) .pm-grupo-lista{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .pm-app[data-pm-materia="geo"] #s-juego{padding:12px 10px 110px}
  .pm-app #zona-ejercicio[data-materia="geo"]{padding:15px 12px;gap:13px!important;border-radius:20px}
  .pm-app #zona-ejercicio[data-materia="geo"] .pm-materia-cabecera{padding-bottom:10px}
  .pm-app #zona-ejercicio[data-materia="geo"] .pm-materia-detalle{margin-bottom:7px;padding:4px 9px;font-size:.75rem}
  .pm-app #zona-ejercicio[data-materia="geo"] .pm-materia-titulo{font-size:1.35rem}
  .pm-app #zona-ejercicio[data-materia="geo"] .enunciado-txt{font-size:1.08rem}
  .pm-app #zona-ejercicio[data-materia="geo"]:has(.opciones-geo) svg.mapa{height:clamp(205px,33svh,285px)}
  .pm-app #zona-ejercicio[data-materia="geo"] .opciones-geo{gap:10px}
  .pm-app #zona-ejercicio[data-materia="geo"] .opcion-geo{padding:11px 10px;font-size:.96rem;gap:8px;min-height:56px}
}
@media(prefers-reduced-motion:reduce){
  .pm-app #zona-ejercicio[data-materia="geo"] :is(.opcion-geo,.pieza,.oceano){animation:none;transition:none}
}
