:root{--bg:#f4f5ff;--card:#fff;--ink:#1c1b4b;--muted:#6b6f93;--p:#5b4bf5;--p2:#7c6cff;--tint:#e8e9ff;--ok:#22c55e;--bad:#ef4444;--gold:#fbbf24;--line:#dfe1fa;--r:18px;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font:1rem/1.6 var(--sans);color:var(--ink);background:var(--bg);overflow-x:clip}
a{color:var(--p)}h1,h2,h3{line-height:1.15;margin:0}
.wrap{width:min(1040px,100% - 2rem);margin-inline:auto}.muted{color:var(--muted)}
.top{background:#fff;border-bottom:1px solid var(--line)}.bar{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0}
.brand{display:flex;gap:.7rem;align-items:center;text-decoration:none;color:var(--ink)}.brand span:last-child{display:flex;flex-direction:column;line-height:1.15}.brand small{color:var(--muted);font-size:.72rem}
.logo{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--p);font-size:1.3rem}
.nav a{margin-left:1rem;text-decoration:none;font-weight:600;color:var(--ink)}.nav a:hover{color:var(--p)}
.btn{display:inline-block;border:0;cursor:pointer;background:var(--p);color:#fff;font:600 1rem var(--sans);padding:.75rem 1.3rem;border-radius:14px;text-decoration:none;box-shadow:0 6px 16px #5b4bf544;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.chip{border:1px solid var(--line);background:#fff;color:var(--ink);font:600 .9rem var(--sans);padding:.45rem .9rem;border-radius:999px;cursor:pointer}
.chip[aria-pressed=false]{opacity:.5;text-decoration:line-through}
.hero{margin:1.5rem 0;padding:2rem;border-radius:24px;background:linear-gradient(135deg,#e4e5ff,#f1eaff)}
.hero h1{font-size:clamp(2.2rem,7vw,3.4rem);color:#3b2fb8}.hero p{color:var(--muted);margin:.5rem 0 1rem}
.q{margin:2rem 0 1rem;font-size:1.2rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:3rem}
.tile{display:block;background:var(--card);border-radius:var(--r);padding:.8rem .8rem 1rem;text-decoration:none;color:var(--ink);box-shadow:0 2px 10px #1c1b4b12;transition:transform .2s,box-shadow .2s}
a.tile:hover{transform:translateY(-5px) rotate(-.4deg);box-shadow:0 14px 30px #5b4bf533}
.tile h3{margin:.8rem .3rem .1rem}.tile p{margin:0 .3rem;color:var(--muted);font-size:.88rem}.go{display:block;margin:.4rem .3rem 0;color:var(--p);font-size:.88rem}
.art{height:150px;border-radius:12px;display:grid;grid-template-columns:repeat(3,1fr);place-items:center;font-size:2.2rem;background:#eefaf7}
.art.big{display:grid;place-items:center;font-size:2.6rem;letter-spacing:.3rem}
.t-ma .art{background:linear-gradient(135deg,#bfdbfe,#fde68a)}.t-fi .art{background:linear-gradient(135deg,#fecdd3,#fed7aa)}.t-qu .art{background:linear-gradient(135deg,#fde68a,#c7d2fe)}
.t-en .art span{animation:bob 2.4s ease-in-out infinite}.t-en .art span:nth-child(2n){animation-delay:.6s}
.soon{opacity:.75}.soon .go{color:var(--muted)}
@keyframes bob{50%{transform:translateY(-8px) rotate(6deg)}}
.foot{padding:1.5rem 0;text-align:center;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line);background:#fff}
.vacio{text-align:center;padding:4rem 0}
/* juego */
.game h1{margin:1.5rem 0 .3rem;font-size:clamp(1.8rem,5vw,2.4rem)}.tools{display:flex;gap:.5rem;margin:1rem 0}
#mapa h2{font-size:1.15rem;margin:1rem 0}
.niveles{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.8rem}
.nv{border:0;background:#fff;border-radius:16px;padding:.8rem .3rem;font:700 1.5rem var(--sans);color:var(--p);cursor:pointer;box-shadow:0 2px 8px #1c1b4b14;transition:transform .15s}
.nv:hover:not(:disabled){transform:translateY(-3px) scale(1.04)}.nv small{display:block;font-size:.8rem;letter-spacing:.1rem;min-height:1.2em;color:var(--gold)}
.nv:disabled{color:#b6b8d3;cursor:not-allowed;background:#eceefb;box-shadow:none}.nv.sig{outline:3px solid var(--p2)}
.hud{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin:1rem 0}.hud b{font-size:1.1rem}.hud span{color:var(--muted)}.hud .chip:last-child{margin-left:auto}
.tablero{display:grid;gap:.8rem;grid-template-columns:repeat(var(--c,4),1fr);perspective:1000px;max-width:760px;margin:0 auto 3rem}
.card{border:0;padding:0;background:none;aspect-ratio:3/4;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}
.in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.card.v .in,.card.ok .in{transform:rotateY(180deg)}
.face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:.4rem;overflow:hidden;box-shadow:0 4px 12px #1c1b4b22}
.back{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;font-size:2rem}
.back::after{content:"?";font-weight:800;opacity:.9}.card:hover:not(.v):not(.ok) .in{transform:translateY(-4px) rotate(-2deg)}
.front{transform:rotateY(180deg);background:#fff;border:3px solid var(--line);font-weight:700;text-align:center;word-break:break-word}
.front.en{color:var(--p)}.front.es{color:#0f766e;background:#f0fdfa}
.front .e{font-size:clamp(1.8rem,6vw,2.8rem);line-height:1}.front img{width:70%;max-height:55%;object-fit:contain;border-radius:8px}
.front .w{font-size:clamp(.9rem,3.2vw,1.25rem)}.front i{font-style:normal;font-size:.62rem;font-weight:600;opacity:.55;text-transform:uppercase;letter-spacing:.08em}
.card.ok .front{border-color:var(--ok);animation:pop .5s}.card.mal .in{animation:shake .45s}
@keyframes pop{40%{transform:rotateY(180deg) scale(1.12)}}
@keyframes shake{25%{transform:rotateY(180deg) translateX(-7px)}75%{transform:rotateY(180deg) translateX(7px)}}
.modal{position:fixed;inset:0;background:#1c1b4bcc;display:grid;place-items:center;z-index:20;padding:1rem}.modal[hidden]{display:none}
.caja{background:#fff;border-radius:24px;padding:2rem;text-align:center;max-width:380px;animation:subir .4s cubic-bezier(.3,1.4,.5,1)}
.est{font-size:2.8rem;letter-spacing:.3rem;margin-bottom:.5rem}.est .off{filter:grayscale(1);opacity:.3}.acc{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.2rem}
@keyframes subir{from{transform:translateY(40px) scale(.9);opacity:0}}
.conf{position:fixed;top:-2rem;font-size:1.6rem;z-index:30;pointer-events:none;animation:cae linear forwards}@keyframes cae{to{transform:translateY(110vh) rotate(540deg)}}
[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* une las palabras */
.juegos{display:flex;gap:.5rem;margin-top:1.2rem;flex-wrap:wrap}.juegos a{padding:.4rem .9rem;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;font-weight:600;color:var(--ink);font-size:.9rem}
.juegos a[aria-current]{background:var(--p);color:#fff;border-color:var(--p)}
.une{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;max-width:640px;margin:0 auto 3rem}.col{display:grid;gap:.7rem;align-content:start}
.it{position:relative;border:3px solid var(--line);background:#fff;border-radius:16px;cursor:pointer;font:700 clamp(1rem,4vw,1.4rem) var(--sans);color:var(--ink);min-height:84px;display:flex;align-items:center;justify-content:center;padding:.4rem;transition:transform .15s,border-color .15s,background .3s;animation:entra .4s both}
.it:hover:not(:disabled){transform:scale(1.04)}.it.sel{border-color:var(--p);background:var(--tint);transform:scale(1.06);box-shadow:0 0 0 4px #5b4bf533}
.it .e{font-size:clamp(2.2rem,8vw,3.2rem);line-height:1}.it img{max-width:100%;max-height:78px;object-fit:contain;border-radius:8px}
.it.hecho{border-color:hsl(var(--h) 65% 45%);background:hsl(var(--h) 80% 93%);color:hsl(var(--h) 60% 25%);cursor:default;animation:pop2 .5s}
.it.hecho::after{content:"✔";position:absolute;top:4px;right:8px;font-size:.8rem;color:hsl(var(--h) 60% 35%)}
.it.mal{animation:shake2 .4s;border-color:var(--bad)}
@keyframes entra{from{opacity:0;transform:translateY(14px)}}@keyframes pop2{40%{transform:scale(1.12)}}@keyframes shake2{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
/* ordena las letras */
.scr{max-width:640px;margin:0 auto 3rem;text-align:center}.pista{min-height:90px;display:grid;place-items:center;font-size:4rem;line-height:1}.pista img{max-height:90px;max-width:60%;object-fit:contain;border-radius:10px}
.scr .es{font-weight:700;color:var(--muted);margin:.3rem 0 1.2rem;font-size:1.1rem}
.slots,.pool{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.2rem}
.sl,.lt{width:clamp(40px,12vw,58px);height:clamp(48px,14vw,68px);border-radius:12px;font:800 clamp(1.3rem,6vw,2rem) var(--sans);display:grid;place-items:center;text-transform:uppercase}
.sl{border:3px dashed var(--line);background:#fff;color:var(--ink);cursor:pointer;padding:0}.sl.on{border-style:solid;border-color:var(--p);animation:pop2 .25s}
.sl.bien{border-color:var(--ok);background:#dcfce7;color:#166534;animation:pop2 .5s}.sl.mal{border-color:var(--bad);background:#fee2e2;animation:shake2 .4s}.sl.pis{border-color:var(--gold);background:#fef9c3}
.lt{border:0;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;cursor:pointer;box-shadow:0 4px 0 #3a2fb8;transition:transform .12s;animation:entra .35s both}
.lt:hover:not(:disabled){transform:translateY(-3px)}.lt:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #3a2fb8}.lt:disabled{visibility:hidden}

/* menú de inglés + bloque inferior */
.niv{font-weight:700}.niv select{font:600 .9rem var(--sans);padding:.35rem .6rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.sobre{max-width:640px;margin:0 auto 3rem;padding:1.2rem 1.4rem;background:#fff;border-radius:var(--r);box-shadow:0 2px 10px #1c1b4b12}.sobre h2{font-size:1rem;margin-bottom:.4rem}.sobre p{margin:0;color:var(--muted);font-size:.92rem}.sobre .tools{margin:.9rem 0 0}
.hub{margin-block:2rem 3rem}.hub h1{font-size:clamp(1.8rem,5vw,2.4rem)}.tiles.tres{margin-top:1.5rem}
.t-c .art{background:linear-gradient(135deg,#c7d2fe,#fbcfe8)}.t-u .art{background:linear-gradient(135deg,#bbf7d0,#bae6fd)}.t-o .art{background:linear-gradient(135deg,#fde68a,#fdba74)}
.art.letras{display:flex;gap:.3rem;flex-wrap:wrap;align-content:center;justify-content:center;padding:.5rem}.art.letras b{width:34px;height:42px;border-radius:9px;background:var(--p);color:#fff;display:grid;place-items:center;font-size:1.3rem;box-shadow:0 3px 0 #3a2fb8;animation:bob 2.4s ease-in-out infinite}.art.letras b:nth-child(2n){animation-delay:.5s;background:var(--p2)}
.art.une2{grid-template-columns:1fr 1fr;font-size:2.4rem}.art.une2 em{font:700 1.2rem var(--sans);font-style:normal;background:#fff;border-radius:10px;padding:.2rem .7rem}

.art{overflow:hidden}.art em{font:700 .95rem var(--sans);font-style:normal;background:#fff;color:var(--ink);border-radius:10px;padding:.2rem .65rem;box-shadow:0 2px 6px #1c1b4b1a}
.t-c .art{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:.3rem;padding:.4rem}
/* quiz */
.qz{max-width:640px;margin:0 auto 2rem;text-align:center}.barra{height:10px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:1.2rem}.barra i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--p),var(--p2));transition:width .4s}
.qc{background:#fff;border-radius:20px;padding:1.2rem 1rem;box-shadow:0 2px 10px #1c1b4b12;margin-bottom:1rem;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;animation:entra .35s both}
.qv{font-size:4rem;line-height:1}.qv img{max-height:110px;max-width:70%;object-fit:contain;border-radius:10px}.qt{font-weight:800;font-size:clamp(1.6rem,6vw,2.4rem);color:var(--p);line-height:1.1}.qp{color:var(--muted);font-weight:600}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.opt{border:3px solid var(--line);background:#fff;border-radius:16px;padding:.9rem .5rem;font:700 clamp(1rem,4vw,1.3rem) var(--sans);color:var(--ink);cursor:pointer;min-height:64px;transition:transform .15s,border-color .15s,background .2s}
.opt:hover:not(:disabled){transform:translateY(-3px);border-color:var(--p2)}.opt:disabled{cursor:default}
.opt.bien{border-color:var(--ok);background:#dcfce7;color:#166534;animation:pop2 .5s}.opt.mal{border-color:var(--bad);background:#fee2e2;animation:shake2 .4s}
@media(max-width:420px){.opts{grid-template-columns:1fr}}
.t-q .art{background:linear-gradient(135deg,#fecdd3,#ddd6fe)}.art.qz2{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.6rem;align-content:center}.art.qz2 em:first-child{grid-column:1/3;text-align:center;background:transparent;box-shadow:none;font-size:1.1rem}.art.qz2 em.b{background:#bbf7d0;color:#166534}
/* matemáticas: tablas de multiplicar */
.art.mult{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.8rem;align-content:center}.art.mult em{text-align:center;font-size:1.15rem}.art.mult em.b{background:#bbf7d0;color:#166534}
.estudio{max-width:560px}.estudio h2{font-size:1.6rem;color:var(--p)}.estudio>p{margin:.4rem 0 1rem}
.tabla{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.5rem}
.fila{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:.5rem .9rem;font-weight:700;box-shadow:0 2px 6px #1c1b4b10;animation:entra .35s both}.fila .op{color:var(--ink)}.fila b{color:var(--p)}
.fila:nth-child(4n+1),.fila:nth-child(4n+2){background:var(--tint)}
.qm{font-weight:800;font-size:clamp(2.2rem,10vw,3.6rem);color:var(--p);line-height:1.1;letter-spacing:.02em}
.resp{margin:0 auto 1rem;max-width:240px;background:#fff;border:3px solid var(--line);border-radius:16px;padding:.5rem;font:800 2.4rem var(--sans);text-align:center;min-height:68px}.resp.vacia{color:#b6b8d3}
.resp.bien{border-color:var(--ok);background:#dcfce7;color:#166534;animation:pop2 .5s}.resp.mal{border-color:var(--bad);background:#fee2e2;color:#991b1b;animation:shake2 .4s}
.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;max-width:300px;margin:0 auto}
.key{border:0;background:#fff;border-radius:14px;min-height:56px;font:800 1.5rem var(--sans);color:var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--line);transition:transform .1s}.key:active{transform:translateY(2px);box-shadow:none}.key.go2{background:var(--p);color:#fff;box-shadow:0 3px 0 #3a2fb8}
.fb{min-height:1.8rem;margin-top:1rem;font-weight:700}.fb.ok{color:#166534}.fb.mal{color:#991b1b}
@media(max-width:420px){.tabla{grid-template-columns:1fr}}
/* matemáticas: mayor o menor */
.t-my .art{background:linear-gradient(135deg,#bbf7d0,#fde68a)}
.tabla.ej{grid-template-columns:1fr}.tabla.ej .fila:nth-child(n){background:#fff}.tabla.ej .fila:nth-child(odd){background:var(--tint)}
.tabla.ej .op{font-size:1.2rem}.tabla.ej b{font-size:.9rem;text-align:right}
.qm.t{font-size:clamp(1.5rem,6vw,2.2rem)}.qm.n{font-size:clamp(1.7rem,8vw,3rem)}
.opts.c2{grid-template-columns:1fr 1fr}.opts.c3{grid-template-columns:repeat(3,1fr)}
.opt.nm{min-height:92px;font:800 clamp(1.5rem,7vw,2.6rem) var(--sans);color:var(--p);white-space:nowrap;padding:.6rem .3rem}
.opt.sg{min-height:96px;font:800 2.6rem var(--sans);color:var(--p);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;gap:.3rem}
.opt.sg small{font:600 .72rem var(--sans);color:var(--muted)}
.opt.bien.nm,.opt.bien.sg{color:#166534}.opt.mal.nm,.opt.mal.sg{color:#991b1b}
@media(max-width:420px){.opts.c2{grid-template-columns:1fr 1fr}.opts.c3{grid-template-columns:repeat(3,1fr)}.opts.c3 .opt.nm{font-size:clamp(1.1rem,6vw,1.6rem)}}
/* matemáticas: resuelve la ecuación */
.t-ec .art{background:linear-gradient(135deg,#fecdd3,#bae6fd)}
.pg-ecuacion .tabla.ej .fila{flex-wrap:wrap;gap:.2rem .8rem}.pg-ecuacion .tabla.ej b{text-align:right;flex:1 1 12rem}
.opts.c1{grid-template-columns:1fr}
.opt.ps{font:700 clamp(.95rem,3.8vw,1.15rem) var(--sans);min-height:56px;padding:.6rem .8rem}
.pg-ecuacion .pad .vacio{visibility:hidden}.pg-ecuacion .pad .key.ancho{grid-column:1/-1}
/* matemáticas: busca el tesoro */
.t-ts .art{background:linear-gradient(135deg,#fde68a,#fdba74)}
.pg-tesoro .mundo{position:relative;border-radius:20px;overflow:hidden;border:3px solid var(--line);box-shadow:0 8px 24px rgba(60,50,120,.15);background:#0ea5e9;margin:.4rem 0 1rem}
.pg-tesoro canvas{display:block;width:100%;height:auto;aspect-ratio:800/420}
.ruta{display:flex;align-items:center;justify-content:center;gap:.35rem;margin:.2rem 0}
.ruta i{width:22px;height:22px;border-radius:50%;background:#e4e5f4;border:2px solid var(--line);display:grid;place-items:center;font:700 .65rem var(--sans);color:var(--muted);font-style:normal;transition:all .3s}
.ruta i.hecha{background:var(--ok);border-color:var(--ok);color:#fff}.ruta i.ahora{background:#fff;border-color:var(--p);color:var(--p);transform:scale(1.25);box-shadow:0 0 0 4px rgba(108,92,231,.18)}
.ruta i.cofre{width:auto;border-radius:12px;padding:0 .35rem;font-size:.9rem;background:#fff7d6;border-color:#facc15}
.pg-tesoro .ajustes{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;align-items:center;justify-content:center;margin:1rem 0}
.pg-tesoro .skins{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.pg-tesoro .skins span{font-weight:700;color:var(--muted);font-size:.9rem}
.pg-tesoro .chip[aria-pressed=true]{outline:3px solid var(--p)}
.pg-tesoro .pad .vacio{visibility:hidden}.pg-tesoro .pad .key.ancho{grid-column:1/-1}
.pg-tesoro .fb.tip{background:#fff7d6;color:#854d0e;border-color:#facc15}
.pg-tesoro .qz.reposo .qm{font-size:1.1rem;color:var(--muted)}
@media(max-width:420px){.ruta i{width:18px;height:18px}.pg-tesoro .hud{font-size:.85rem}}
/* que todo quepa en pantalla: nada de buscar el botón al fondo */
.estudio .acc{position:sticky;bottom:.7rem;z-index:5;margin-top:1rem}.estudio .acc .btn{box-shadow:0 8px 22px rgba(60,50,120,.35)}
@media(max-height:820px){
  .qc{min-height:100px;padding:.7rem 1rem;margin-bottom:.6rem}.barra{margin-bottom:.6rem}
  .opt{min-height:54px;padding:.55rem .5rem}.opts{gap:.5rem}
  .key{min-height:46px}.pad{gap:.45rem}.resp{min-height:54px;font-size:2rem;margin-bottom:.6rem;padding:.3rem}
  .fb{margin-top:.5rem;min-height:1.4rem}.acc{margin-top:.7rem}.qz{margin-bottom:1rem}
  .opt.nm{min-height:70px}.opt.sg{min-height:76px}
}
.pg-tesoro #juego[hidden]{display:none}
@media(min-width:960px){
  .pg-tesoro #juego{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:0 1.3rem;align-items:start}
  .pg-tesoro #juego>.hud,.pg-tesoro #juego>.ruta{grid-column:1/-1}.pg-tesoro #juego>.hud{margin:.4rem 0}
  .pg-tesoro #juego>.mundo{grid-column:1;margin:.5rem 0}
  .pg-tesoro #juego>.qz{grid-column:2;max-width:none;margin:.5rem 0}
  .pg-tesoro .qc{min-height:110px}
}
@media(max-width:959px){
  .pg-tesoro .mundo{position:sticky;top:.4rem;z-index:6;text-align:center}
  .pg-tesoro canvas{width:auto;max-width:100%;max-height:36vh;margin:0 auto}
}
/* fichas educativas: inglés, la familia */
.pg-ficha .fx{display:grid;gap:1.2rem;margin:1rem 0 1.5rem}
.pg-ficha .fx[data-vista=editar] .vista,.pg-ficha .fx[data-vista=ver] .panel{display:none}
.pg-ficha .vistas{display:flex;gap:.5rem;margin:.6rem 0}
.pg-ficha .chip[aria-pressed=true]{background:var(--tint);outline:3px solid var(--p)}
.pg-ficha .bloque{background:#fff;border-radius:18px;padding:1rem;box-shadow:0 2px 10px #1c1b4b12;margin-bottom:1rem}
.pg-ficha .bloque h2{font-size:1.15rem;margin-bottom:.6rem}
.pg-ficha .chips{display:flex;flex-wrap:wrap;gap:.4rem}
.pg-ficha .grupo{display:block;margin:.7rem 0 0}.pg-ficha .grupo>b{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.3rem}
.pg-ficha .campos{display:grid;gap:.6rem;margin-top:.8rem}.pg-ficha .campos label,.pg-ficha label.grupo{display:block;font-size:.85rem;font-weight:700;color:var(--muted)}
.pg-ficha input[type=text],.pg-ficha select{display:block;width:100%;margin-top:.25rem;border:2px solid var(--line);border-radius:12px;padding:.5rem .7rem;font:600 1rem var(--sans);color:var(--ink);background:#fff}
.pg-ficha .checks{display:grid;gap:.3rem;margin-top:.7rem}.pg-ficha .checks label{font-weight:600;cursor:pointer}
.pg-ficha .sw{width:32px;height:32px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--line);cursor:pointer;padding:0}
.pg-ficha .sw[aria-pressed=true]{box-shadow:0 0 0 3px var(--p)}
.pg-ficha .lista{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.pg-ficha .lista li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:.5rem;align-items:center;border:2px solid var(--line);border-radius:14px;padding:.4rem}
.pg-ficha .lista .th{width:56px;height:56px;border-radius:12px;cursor:pointer}
.pg-ficha .lista .ts{display:grid;gap:.25rem}.pg-ficha .lista .ts input{margin:0;padding:.3rem .55rem;font-size:.95rem}
.pg-ficha .lista .bt{display:grid;grid-template-columns:1fr 1fr;gap:.2rem}
.pg-ficha .mini{border:2px solid var(--line);background:#fff;border-radius:10px;padding:.15rem .4rem;cursor:pointer;font:inherit;font-size:.85rem;line-height:1.4}.pg-ficha .mini:disabled{opacity:.35;cursor:default}
.pg-ficha .acc.izq{justify-content:flex-start;margin-top:.8rem}
.pg-ficha #paginas canvas{display:block;width:100%;max-width:620px;height:auto;background:#fff;border-radius:10px;box-shadow:0 6px 22px rgba(60,50,120,.18);margin:0 auto 1rem}
.pg-ficha .barra-pdf{position:sticky;bottom:.7rem;z-index:8;display:flex;gap:.8rem;align-items:center;justify-content:center;flex-wrap:wrap;background:#fffffff2;border:2px solid var(--line);border-radius:18px;padding:.6rem .9rem;box-shadow:0 8px 24px rgba(60,50,120,.2);margin-bottom:1.5rem}
.pg-ficha .ed{max-width:520px;width:100%;max-height:92vh;overflow:auto;text-align:left}
.pg-ficha .ed h2{margin-bottom:.5rem}
.pg-ficha .ed canvas{display:block;width:190px;height:190px;margin:0 auto .7rem;border-radius:22px;box-shadow:0 6px 18px rgba(60,50,120,.2)}
.pg-ficha .ed .tabs{justify-content:center;margin-bottom:.4rem}
.pg-ficha .emojis{display:grid;grid-template-columns:repeat(8,1fr);gap:.3rem}.pg-ficha .emojis button{font-size:1.4rem;background:#fff;border:2px solid var(--line);border-radius:10px;cursor:pointer;padding:.15rem}
.pg-ficha .ed .acc.fijo{position:sticky;bottom:-1px;background:#fff;padding:.7rem 0 .2rem;margin-top:.8rem}
.pg-ficha .btn.sub{display:inline-block;cursor:pointer}
@media(min-width:960px){
  .pg-ficha .fx{grid-template-columns:minmax(380px,460px) minmax(0,1fr);align-items:start}
  .pg-ficha .fx[data-vista] .vista,.pg-ficha .fx[data-vista] .panel{display:block}
  .pg-ficha .vistas{display:none}
  .pg-ficha .vista{position:sticky;top:.8rem;max-height:calc(100vh - 7rem);overflow:auto;padding:.3rem}
}
