/* Acabado de los minijuegos. No afecta a ejercicios ni a la zona de padres. */
#pm-juegos-rejilla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;max-width:720px;margin:8px auto 18px;}
#s-premios .pm-juego-tarjeta{display:flex;flex-direction:column;gap:0;width:100%;max-width:none!important;padding:0;overflow:hidden;border:2px solid #fff;border-radius:25px;background:var(--juego-color);color:#443852;text-align:left;box-shadow:0 6px 0 #493b6112,0 10px 24px #493b610e;white-space:normal;}
#s-premios .pm-juego-tarjeta:focus-visible{outline:3px solid #785fbc;outline-offset:4px;}
#s-premios .pm-juego-arte{display:block;width:100%;height:126px;background:var(--juego-color);overflow:hidden;}
.pm-juego-arte>svg{width:100%;height:100%;display:block;}
#s-premios .pm-juego-info{display:flex;flex:1;flex-direction:column;gap:7px;width:100%;padding:13px 16px 16px;box-sizing:border-box;background:#ffffff91;}
#s-premios .pm-juego-nombre{font-family:"Fredoka",system-ui,sans-serif;font-size:1.2rem;line-height:1.2;font-weight:600;}
#s-premios .pm-juego-texto{font-family:"Nunito",system-ui,sans-serif;font-size:.94rem;line-height:1.4;font-weight:600;}
#s-premios .pm-juego-datos{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;margin-top:auto;padding-top:7px;font:700 .82rem "Nunito",system-ui,sans-serif;}
#s-premios .pm-juego-datos small{background:#fff;padding:5px 9px;border-radius:12px;font:800 .95rem "Nunito",system-ui,sans-serif;color:#443852;}
.pm-juego-intro{box-sizing:border-box;width:calc(100% - 32px);max-width:440px;max-height:calc(100dvh - 40px);border:3px solid #fff;border-radius:28px;padding:20px;background:#fffaf3;color:#443852;text-align:center;box-shadow:0 22px 90px #2c244050;font-family:"Nunito",system-ui,sans-serif;}
.pm-juego-intro::backdrop{background:#30244288;backdrop-filter:blur(4px);}
.pm-juego-intro h2{font:600 1.6rem "Fredoka",system-ui,sans-serif;color:#443852;margin:14px 0 8px;}
.pm-juego-intro p{font-size:1rem;line-height:1.5;margin:10px 0;}
.pm-intro-arte{background:var(--juego-color);border-radius:19px;max-width:280px;margin:auto;}
.pm-intro-arte>svg{display:block;width:100%;height:150px;}
.pm-juego-intro .btn{display:block;margin:10px auto 0;max-width:100%;white-space:normal;font-size:1rem;}
.pm-juego-intro .pm-intro-duracion{font-size:.88rem;color:#665a71;}
.pm-gesto{font:600 2rem "Nunito",system-ui,sans-serif;animation:pm-gesto 1.8s ease-in-out 3;}
@keyframes pm-gesto{50%{transform:translateX(12px);}}
#pm-juego-aviso{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:110;box-sizing:border-box;width:calc(100% - 28px);max-width:540px;margin:0;padding:13px 17px;border:2px solid #edd399;border-radius:18px;background:#fff8df;color:#58412a;font:700 1rem "Nunito",system-ui,sans-serif;box-shadow:0 5px 22px #30244226;pointer-events:none;text-align:center;}
#pm-juego-aviso[hidden]{display:none;}
#s-globos #globos-zona,#s-plataformas #plat-zona{background:radial-gradient(ellipse at 10% 23%,#ffffffeb 0 8%,transparent 8.4%),radial-gradient(ellipse at 90% 52%,#ffffffe8 0 12%,transparent 12.4%),radial-gradient(circle at 78% 13%,#fff0ac 0 8%,transparent 8.3%),linear-gradient(#b8e0f0,#e6dbf3)!important;border:3px solid #ffffffb0;}
#s-globos .globo{width:70px;height:116px;min-width:44px;min-height:44px;padding:0;background:none;border:0;box-shadow:none;line-height:1;cursor:pointer;}
#s-globos .globo>svg{width:100%;height:100%;filter:drop-shadow(2px 5px 3px #67466120);}
#s-mariposas #mariposas-zona{background:radial-gradient(ellipse at 15% 100%,#76b3a4 0 21%,transparent 21.4%),radial-gradient(ellipse at 85% 102%,#9ec888 0 27%,transparent 27.4%),radial-gradient(circle at 80% 17%,#fff2bb 0 8%,transparent 8.4%),linear-gradient(#cfecdf,#f1f2ce)!important;border:3px solid #ffffffb0;touch-action:none;}
#s-mariposas[data-caza="espacio"] #mariposas-zona{background:radial-gradient(circle at 80% 17%,#a395d0 0 10%,transparent 10.3%),radial-gradient(circle at 20% 55%,#fff 0 2px,transparent 3px),linear-gradient(#272341,#746695)!important;}
#s-mariposas[data-caza="mar"] #mariposas-zona{background:radial-gradient(ellipse at 20% 100%,#609f96 0 18%,transparent 18.4%),radial-gradient(ellipse at 80% 105%,#95ba9b 0 25%,transparent 25.4%),linear-gradient(#b8edf0,#579fb3)!important;}
#s-naves #naves-zona{background:radial-gradient(ellipse at 95% 85%,#9072ba77,transparent 65%),radial-gradient(ellipse at 0 10%,#6577a76e,transparent 50%),linear-gradient(#201e3a,#3b315d)!important;border:3px solid #b6a6d65c;}
#naves-zona::before{content:"";position:absolute;right:10%;top:10%;width:88px;height:88px;border-radius:50%;background:linear-gradient(130deg,#e4acc9,#8272a7);box-shadow:inset -15px -10px 0 #28244830,0 0 48px #cfafd72b;pointer-events:none;}
#nave-jug{width:58px;height:88px;}
#nave-jug>svg{width:100%;height:100%;filter:drop-shadow(0 6px 8px #d8bcff55);}
#nave-jug.pm-recoge>svg{animation:pm-recoge .35s ease-out;}
#naves-feedback{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:6;color:#fff3c8;font-weight:800;pointer-events:none;white-space:nowrap;text-shadow:0 2px 5px #201e3a;}
@keyframes pm-recoge{50%{filter:drop-shadow(0 0 15px #fff5b4);}}
#s-plataformas .pm-plataforma{background:linear-gradient(#fff,#d1e7f5)!important;border-top:4px solid #fff;border-radius:45% 45% 12px 12px!important;box-shadow:0 6px 0 #96bfd244!important;}
.pm-juego-ayuda{font-size:.95rem;line-height:1.4;margin:0 0 10px;color:var(--tinta-suave);text-align:center;}
#s-dibujar .pm-dib-herramientas{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:8px 0;width:100%;}
#s-dibujar .pm-dib-herramientas .btn{font-size:.95rem;padding:10px 16px;min-height:44px;}
#s-dibujar #dib-lienzo{border:7px solid #d5bb94;box-sizing:border-box;box-shadow:0 5px 0 #bca07f,0 12px 26px #70563214!important;}
#s-dibujar #dib-estado{font-size:.88rem;line-height:1.4;color:var(--tinta-suave);margin:10px 0;}
#s-dibujar #dib-album-wrap{width:100%;max-width:560px;}
#dib-album{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
#dib-album button{padding:5px;background:#fff;border:2px solid #ead5b9;border-radius:12px;cursor:pointer;min-height:64px;}
#dib-album img{display:block;width:100%;aspect-ratio:1.25;object-fit:contain;}
#s-dibujar #dib-descargar{display:inline-block;min-height:44px;padding:10px;color:#634b91;font-weight:800;}
#s-dibujar #dib-descargar[hidden],#dib-album-wrap[hidden]{display:none;}
#s-pocion #poc-mesa{box-sizing:border-box;width:100%;max-width:460px;padding:27px 16px 19px;border-radius:50% 50% 22px 22px;background:radial-gradient(ellipse at 50% 22%,#f2e7ff,#e8dcf2 55%,#d2bacf);box-shadow:inset 0 -8px 0 #bca2bd44;}
#s-pocion #poc-caldero{border-top:8px solid #534562;box-shadow:inset 10px 0 8px #ffffff26,inset -10px -10px 10px #40334d55,0 10px 8px #705a7840;}
#s-pocion .poc-ing{background:#f8f0df;border:2px solid #fff;padding:7px 5px;}
#s-pocion .poc-ing .em svg{display:block;width:62px;height:69px;}
#s-pocion .poc-ing .nom,#s-pocion .poc-ficha .nom{font-size:.82rem;line-height:1.25;color:#4a3d59;}
#s-pocion .poc-ficha{padding:9px 4px;background:#fffaf0;}
#s-pocion .poc-ficha.vacia{opacity:1;background:#e8e0ef;color:#75667f;}
#s-pocion #poc-resultado:not(:empty){box-sizing:border-box;margin:10px auto;padding:14px;border-radius:18px;background:#fff8e9;border:2px solid #ead7b8;}
#s-pocion #poc-burbuja.pm-mezcla{animation:pm-mezcla .7s ease-out;}
@keyframes pm-mezcla{0%{transform:scale(.5) translateY(15px);}60%{transform:scale(1.2) translateY(-10px);}100%{transform:scale(1);}}
#s-armario #arm-muneco{box-sizing:border-box;max-width:280px;padding:4px 26px 8px;background:radial-gradient(ellipse at 50% 40%,#fff7ef 0 45%,#dbc9e4 45.5% 49%,transparent 49.5%),linear-gradient(90deg,#e3b7cc,#f4dae3 16%,#f7eef2 17% 83%,#f4dae3 84%,#e3b7cc);border-radius:80px 80px 22px 22px;border-bottom:8px solid #ccb1c0;}
#s-armario #arm-muneco>svg{filter:drop-shadow(0 6px 3px #60485822);}
#s-armario .arm-item .nom{font-size:.82rem;line-height:1.2;color:#4a3d59;}
#s-armario .arm-item{padding:8px 5px;border:2px solid #fff;background:#f9edf4;}
#s-armario .arm-item .em>svg{display:block;width:70px;height:92px;}
#s-armario .arm-tab{min-height:44px;}
#s-armario .arm-reto{background:#fff3cd;border:2px solid #fff;}
@media(max-width:420px){#pm-juegos-rejilla{gap:12px;}#s-premios .pm-juego-arte{height:106px;}#s-premios .pm-juego-info{padding:11px;}#s-premios .pm-juego-nombre{font-size:1.04rem;}#s-premios .pm-juego-texto{font-size:.86rem;}#s-pocion #poc-estante{grid-template-columns:repeat(3,minmax(0,1fr));}#s-pocion #poc-cuaderno{grid-template-columns:repeat(3,minmax(0,1fr));}#dib-album{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(prefers-reduced-motion:reduce){.pm-gesto,#nave-jug.pm-recoge>svg,#s-pocion #poc-burbuja.pm-mezcla{animation:none!important;}}

#s-mariposas .mariposa>svg{display:block;width:58px;height:58px;filter:drop-shadow(0 3px 2px #4d655025);}

/* Canastas y Penaltis (deportes.js, D-48). Las piezas se colocan una a una dentro de
   la zona, sin contenedores con transform: el balon tiene que poder pasar ENTRE la
   mitad trasera y la delantera del aro, y un transform crearia su propia pila. */
#s-canastas #can-zona{background:linear-gradient(#bfe3f5,#efe4f7 78%)!important;border:3px solid #ffffffb0;cursor:grab;user-select:none;-webkit-user-select:none;}
#s-penaltis #pen-zona{background:#7a6aa8!important;border:3px solid #ffffffb0;cursor:grab;user-select:none;-webkit-user-select:none;}
#can-zona>*,#pen-zona>*{position:absolute;pointer-events:none;}
#can-zona>[hidden],#pen-zona>[hidden]{display:none!important;}
.dep-tablero>svg,.dep-red>svg,.dep-balon>svg,.dep-guarda>svg{display:block;width:100%;height:100%;}
.dep-nube{border-radius:20px;background:#ffffffc4;}
.dep-parque{left:0;right:0;bottom:0;height:17%;background:#f2c48d;border-top:5px solid #d99a5b;}
.dep-arco{left:50%;bottom:calc(-70px*var(--dep-k,1));width:calc(220px*var(--dep-k,1));height:calc(140px*var(--dep-k,1));margin-left:calc(-110px*var(--dep-k,1));border:4px solid #ffffff99;border-radius:50%;box-sizing:border-box;}
.dep-poste{top:0;width:calc(10px*var(--dep-k,1));background:#9aa9c4;border-radius:0 0 4px 4px;z-index:1;}
.dep-tablero{z-index:1;filter:drop-shadow(0 4px 3px #4d5f8030);}
.dep-aro{height:calc(16px*var(--dep-k,1));border:calc(5px*var(--dep-k,1)) solid #e8622c;border-radius:50%;box-sizing:border-box;z-index:2;}
.dep-aro-f{border-color:#f07a3c;clip-path:inset(50% 0 0 0);}
.dep-red{height:48px;z-index:2;transform-origin:top center;}
.dep-red.dep-swish{animation:dep-red .4s ease-out;}
.dep-balon{z-index:3;will-change:transform,left,top;filter:drop-shadow(0 3px 2px #3a2c4a33);}
.dep-sombra{width:calc(46px*var(--dep-k,1));height:calc(12px*var(--dep-k,1));transform-origin:center;border-radius:50%;background:#3a2c4a;z-index:1;}
.dep-dot{width:calc(9px*var(--dep-k,1));height:calc(9px*var(--dep-k,1));border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px #7f9cc088;z-index:2;transform:translate(-50%,-50%);}
.dep-flecha{width:0;height:calc(120px*var(--dep-k,1));border-left:calc(5px*var(--dep-k,1)) dashed #fff;transform-origin:bottom center;z-index:2;filter:drop-shadow(0 1px 1px #3a2c4a55);}
.dep-grada{left:0;right:0;top:0;overflow:hidden;}
.dep-grada>span{position:absolute;width:15px;height:15px;border-radius:50%;}
.dep-valla{left:0;right:0;height:22px;background:repeating-linear-gradient(90deg,#fff 0 58px,#ed93b1 58px 116px,#fff 116px 174px,#85b7eb 174px 232px);border-top:3px solid #3a2c4a33;}
.dep-cesped{left:0;right:0;bottom:0;background:repeating-linear-gradient(#8fcf7a 0 42px,#7fc36b 42px 84px);}
.dep-area{border:3px solid #ffffffcc;border-top:0;box-sizing:border-box;}
.dep-punto{left:50%;width:calc(12px*var(--dep-k,1));height:calc(7px*var(--dep-k,1));margin-left:calc(-6px*var(--dep-k,1));border-radius:50%;background:#ffffffcc;}
.dep-porteria{left:50%;transform:translateX(-50%);transform-origin:bottom center;border:7px solid #fff;border-bottom:0;border-radius:10px 10px 0 0;box-sizing:border-box;z-index:2;background:repeating-linear-gradient(90deg,transparent 0 12px,#ffffffb0 12px 13.5px),repeating-linear-gradient(0deg,transparent 0 12px,#ffffffb0 12px 13.5px),#2a1e3a38;}
.dep-porteria.dep-gol{animation:dep-malla .45s ease-out;}
.dep-portero{z-index:3;transform-origin:50% 80%;}
.dep-guarda{position:relative;width:100%;height:100%;animation:dep-bote 1.1s ease-in-out infinite;}
.dep-cabeza{position:absolute;left:50%;top:-2%;transform:translateX(-50%);line-height:1;}
.dep-feedback{left:50%;top:44%;z-index:8;font-size:calc(2.1rem*var(--dep-k,1));font-weight:800;color:#fff;white-space:nowrap;text-shadow:0 2px 0 #3a2c4a,0 0 12px #3a2c4a66;opacity:0;transform:translate(-50%,-50%);}
.dep-feedback.dep-pop{animation:dep-pop 1s ease-out;}
.dep-pista{left:8px;right:8px;bottom:12px;text-align:center;font-weight:800;font-size:1.05rem;z-index:7;color:#3a2c4a;}
#pen-zona .dep-pista{color:#fff;text-shadow:0 1px 3px #3a2c4a99;}
@keyframes dep-pop{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}20%{transform:translate(-50%,-50%) scale(1.15);opacity:1}75%{opacity:1}100%{transform:translate(-50%,-90%) scale(1);opacity:0}}
@keyframes dep-red{35%{transform:scaleY(1.4)}}
@keyframes dep-malla{30%{transform:translateX(-50%) scale(1.04,1.12)}}
@keyframes dep-bote{50%{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.dep-guarda,.dep-red.dep-swish,.dep-porteria.dep-gol{animation:none!important;}.dep-feedback.dep-pop{animation:dep-pop-quieto 1.2s linear;}}
@keyframes dep-pop-quieto{0%,85%{opacity:1}100%{opacity:0}}
