/* Anglais Visuel PLAY (Francia): estética de plataforma de series con el coral de la marca (no el rojo de Netflix).
   Base: la app PLAY de España; lo nuevo de Francia va al final (saisons, pasos del épisode, Parler, ejercicios). */
@font-face{font-family:'Bebas Neue';src:url(fuentes/bebas-neue.woff2) format('woff2');font-display:swap}
@font-face{font-family:'DM Sans';src:url(fuentes/dm-sans.woff2) format('woff2');font-weight:100 1000;font-display:swap}
:root{--bg:#0E0F13;--card:#1A1C22;--card2:#23262F;--linea:#2B2F3A;--txt:#F5F2EE;--mut:#9AA0A8;--v:#FF5A4A;--am:#F5C542;--ok:#2FA36B;--mal:#E5484D;
  --abajo:env(safe-area-inset-bottom,0px);--arriba:env(safe-area-inset-top,0px)}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg)}
body{background:var(--bg);color:var(--txt);font-family:'DM Sans',system-ui,sans-serif;max-width:560px;margin:0 auto;overflow-x:hidden;
  padding-bottom:calc(70px + var(--abajo));-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block}
[hidden]{display:none!important}
b,strong{font-weight:800}

.logo{font:400 30px/1 'Bebas Neue';letter-spacing:.02em;white-space:nowrap}.logo b{color:var(--v);font-weight:400}
.logo small{font:800 11px 'DM Sans';background:var(--v);color:#fff;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:5px;letter-spacing:.06em}
.cargando{min-height:80vh;display:grid;place-items:center}

/* Barra de arriba e inicio */
.bar{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:center;
  padding:calc(14px + var(--arriba)) 16px 14px;background:linear-gradient(rgba(14,15,19,.9),transparent);max-width:560px;margin:0 auto}
.bar .ic{display:flex;gap:18px;font-size:19px}
.chips{position:absolute;top:calc(58px + var(--arriba));left:16px;z-index:3;display:flex;gap:8px}
.chips a{font-size:13px;font-weight:700;border:1px solid rgba(255,255,255,.4);padding:5px 12px;border-radius:99px;background:rgba(14,15,19,.35)}
.hero{position:relative;height:min(540px,124vw);overflow:hidden;background:radial-gradient(72% 52% at 50% 36%,#FFFFFF 0%,#F6F3EC 52%,rgba(246,243,236,0) 100%),var(--col,#2F6FD6)}
.hero .arte{position:absolute;left:0;right:0;top:calc(46px + var(--arriba));bottom:38%;display:grid;place-items:center}
.hero .arte img{max-width:74%;max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.16))}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(14,15,19,.7),transparent 15%,transparent 50%,rgba(14,15,19,.88) 68%,var(--bg) 92%)}
.hero .info{position:absolute;left:0;right:0;bottom:18px;z-index:2;text-align:center;padding:0 20px}
.tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--am)}
.hero h1{font:400 clamp(44px,13vw,60px)/.95 'Bebas Neue';letter-spacing:.01em;margin:6px 0}
.hero h1.medio{font-size:clamp(38px,10.5vw,50px)}.hero h1.largo{font-size:clamp(32px,8.6vw,42px)}
.meta{font-size:13px;color:#D9D6D2}.meta b{color:var(--ok)}
.botones{display:flex;gap:10px;margin-top:14px}
.botones>*{flex:1;font-weight:800;font-size:15px;padding:12px 0;border-radius:8px;text-align:center}
.play{background:#fff;color:#111}.mas{background:rgba(110,110,115,.55);color:#fff}

/* Filas tipo carrusel */
.fila{margin:24px 0 0}
.fila h2{font-size:17px;font-weight:800;padding:0 16px;margin-bottom:9px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.fila h2 small,.fila h2 a{font-size:12px;color:var(--mut);font-weight:600;white-space:nowrap}
.fila h2 a{color:var(--txt)}
.carril{display:flex;gap:9px;overflow-x:auto;padding:0 16px;scrollbar-width:none;scroll-snap-type:x proximity}
.carril::-webkit-scrollbar{display:none}
.t{flex:none;width:150px;position:relative;scroll-snap-align:start}
.t .img{position:relative;width:100%;aspect-ratio:4/3;border-radius:7px;overflow:hidden;background:#F7F5F1}
.t .img img{width:100%;height:100%;object-fit:cover}
.t .lvl{position:absolute;top:6px;left:6px;font-size:10.5px;font-weight:800;background:rgba(14,15,19,.82);color:#fff;padding:2px 7px;border-radius:5px}
.t .listo{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--ok);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.t .prog{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(0,0,0,.35)}.t .prog i{display:block;height:100%;background:var(--v)}
.t p{font-size:13px;font-weight:700;margin-top:6px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.t p small{display:block;font-weight:500;color:var(--mut);font-size:11.5px}
.t.v .img{background:#000}.t.v .img:after{content:'▶';position:absolute;inset:0;display:grid;place-items:center;font-size:22px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.t.v .dur{position:absolute;right:6px;bottom:8px;font-size:11px;font-weight:700;background:rgba(0,0,0,.7);padding:1px 6px;border-radius:4px;z-index:1}
.top10 .t{width:178px;display:flex;align-items:flex-end}
.top10 .num{font:400 124px/.78 'Bebas Neue';color:var(--bg);-webkit-text-stroke:2px #6B6F78;margin-right:-12px;z-index:1;flex:none}
.top10 .img{width:118px;aspect-ratio:3/4;flex:none}
.top10 .img img{object-position:50% 40%}
.tema{flex:none;width:150px;height:96px;border-radius:9px;padding:11px;display:flex;flex-direction:column;justify-content:space-between;scroll-snap-align:start}
.tema b{font-size:14px;line-height:1.2}.tema small{font-size:11.5px;font-weight:700;opacity:.85}

/* Tarjetas */
.hoy{margin:22px 16px 0;background:linear-gradient(135deg,#232631,#1A1C22);border:1px solid var(--linea);border-radius:14px;padding:14px;display:flex;gap:12px;align-items:center}
.anillo{--p:0;width:56px;height:56px;border-radius:50%;background:conic-gradient(var(--am) calc(var(--p)*1%),#30343F 0);display:grid;place-items:center;flex:none}
.anillo span{width:44px;height:44px;border-radius:50%;background:#1F2129;display:grid;place-items:center;font-weight:800;font-size:13px}
.anillo.grande{width:120px;height:120px}.anillo.grande span{width:98px;height:98px;font:400 34px 'Bebas Neue';flex-direction:column;line-height:.9}
.anillo.grande span small{font:700 10px 'DM Sans';color:var(--mut);letter-spacing:.06em}
.hoy b{display:block;font-size:15px}.hoy p{font-size:13px;color:var(--mut);margin-top:2px;line-height:1.35}
.hoy .flecha{margin-left:auto;color:var(--mut);font-size:20px}
.hoy.pdf-home{flex-direction:column;align-items:stretch;gap:12px;margin-top:12px}
.pdf-liv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pdf-liv a{display:block;text-align:center;background:var(--card2);border:1px solid var(--linea);border-top:3px solid var(--col);border-radius:10px;padding:8px 2px 7px;color:inherit}
.hoy .pdf-liv b{font-size:16px;font-weight:800}
.pdf-liv small{display:block;font-size:10.5px;color:var(--mut);margin-top:2px;white-space:nowrap}
.hoy.repasar{background:linear-gradient(135deg,#3A1F22,#1A1C22);border-color:#5A2C30}
.hoy.repasar .n{width:46px;height:46px;border-radius:12px;background:var(--v);color:#fff;font:400 26px 'Bebas Neue';display:grid;place-items:center;flex:none}
.aviso-fijo{margin:14px 16px 0;background:#1F2A24;border:1px solid #2C4A38;border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.4;display:flex;gap:10px;align-items:center}
.aviso-fijo button{margin-left:auto;background:var(--ok);color:#fff;font-weight:800;font-size:13px;padding:8px 12px;border-radius:8px;white-space:nowrap}

/* Ficha del mapa */
.det-img{position:relative;background:#F7F5F1;cursor:zoom-in}
.det-img img{width:100%;height:auto}
.det-img .lupa{position:absolute;right:10px;bottom:10px;font-size:12px;font-weight:800;background:rgba(14,15,19,.85);color:#fff;padding:6px 10px;border-radius:99px}
.volver{position:fixed;top:calc(10px + var(--arriba));z-index:6;width:38px;height:38px;border-radius:50%;background:rgba(14,15,19,.85);color:#fff;font-size:20px;display:grid;place-items:center;margin-left:10px}
.det-info{padding:16px 16px 4px}
.etis{display:flex;gap:6px;flex-wrap:wrap;font-size:12px;font-weight:700;color:var(--mut)}
.etis span{background:var(--card);padding:3px 8px;border-radius:5px}.etis .niv{background:var(--v);color:#fff}
.det-info h1{font:400 clamp(40px,11vw,52px)/.95 'Bebas Neue';margin:10px 0 4px;letter-spacing:.01em}
.det-info .sub{font-size:15px;color:#D9D6D2}
.det-info .estado{font-size:13px;color:var(--ok);font-weight:700;margin-top:8px}
.card{margin:14px 16px 0;background:var(--card);border:1px solid var(--linea);border-radius:14px;padding:16px}
.card h3{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--am);margin-bottom:10px}
.clave li{list-style:none;position:relative;padding:0 0 9px 22px;font-size:15px;line-height:1.45}
.clave li:last-child{padding-bottom:0}
.clave li:before{content:'';position:absolute;left:4px;top:8px;width:8px;height:8px;border-radius:50%;background:var(--v)}
.clave b{color:#FFB3A8}
.ej{display:flex;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--linea)}
.ej:first-of-type{border-top:0;padding-top:0}
.ej div{font-size:15px;line-height:1.35}.ej small{display:block;color:var(--mut);font-size:13px}
.voz{width:38px;height:38px;border-radius:50%;background:var(--card2);flex:none;font-size:16px;display:grid;place-items:center}
.voz.suena{background:var(--v)}
.error div{display:flex;gap:10px;align-items:center;font-size:15px;padding:10px 12px;border-radius:10px;margin-top:8px}
.error .m{background:rgba(229,72,77,.12);color:#FF9A9D;text-decoration:line-through;text-decoration-color:rgba(255,154,157,.6)}
.error .b{background:rgba(47,163,107,.14);color:#8EE0B5}
.error div i{font-style:normal;text-decoration:none;font-weight:800}

/* Test */
.test .sub2{font-size:13px;color:var(--mut);margin:-4px 0 6px}
.preg{margin-top:16px}.preg>p{font-weight:700;font-size:15.5px;line-height:1.4;margin-bottom:9px}
.op{display:block;width:100%;text-align:left;font-weight:500;font-size:15px;color:var(--txt);background:var(--card2);border:1.5px solid var(--linea);
  border-radius:11px;padding:12px 14px;margin-bottom:8px}
.op:disabled{cursor:default}
.op.bien{background:rgba(47,163,107,.16);border-color:var(--ok);color:#9BE8C0;font-weight:700}
.op.mal{background:rgba(229,72,77,.13);border-color:var(--mal);color:#FF9A9D;text-decoration:line-through}
.explica{font-size:14px;line-height:1.45;background:#2A2618;border:1px solid #4A4020;border-radius:10px;padding:10px 12px;color:#F2E6C2}
.explica b{color:var(--am)}
.resultado{margin-top:18px;text-align:center;padding:18px 14px;border-radius:12px;background:var(--card2)}
.resultado .nota{font:400 54px/1 'Bebas Neue'}.resultado p{font-size:14px;color:#D9D6D2;margin-top:4px;line-height:1.45}
.resultado .botones{margin-top:14px}
.festejo{animation:festejo .6s ease-out}
@keyframes festejo{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.04)}100%{transform:scale(1);opacity:1}}

/* Páginas */
.pag{padding:calc(16px + var(--arriba)) 0 0}
.pt{font:400 40px/1 'Bebas Neue';padding:0 16px;letter-spacing:.01em}
.pt-sub{font-size:14px;color:var(--mut);padding:4px 16px 0}
.buscar{margin:14px 16px 0;position:relative}
.buscar input{width:100%;font:500 16px 'DM Sans';color:var(--txt);background:var(--card);border:1px solid var(--linea);border-radius:10px;padding:12px 14px 12px 40px;outline:none}
.buscar input:focus{border-color:#4A4F5C}
.buscar:before{content:'🔍';position:absolute;left:13px;top:12px;font-size:15px;opacity:.7}
.filtros{display:flex;gap:7px;overflow-x:auto;padding:12px 16px 2px;scrollbar-width:none}
.filtros::-webkit-scrollbar{display:none}
.filtros button{flex:none;font-size:13px;font-weight:700;border:1px solid var(--linea);background:var(--card);padding:6px 13px;border-radius:99px;color:var(--mut)}
.filtros button.act{background:#fff;color:#111;border-color:#fff}
.grupo h2{font-size:16px;font-weight:800;padding:22px 16px 10px;display:flex;justify-content:space-between;align-items:baseline}
.grupo h2 small{font-size:12px;color:var(--mut);font-weight:600}
.grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 10px;padding:0 16px}
.grilla .t{width:auto}
.vacio{padding:40px 24px;text-align:center;color:var(--mut);font-size:15px;line-height:1.5}
.vacio b{display:block;font-size:42px;margin-bottom:8px}

/* Mi plan */
.resumen{display:flex;gap:18px;align-items:center;margin:16px 16px 0}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1}
.stats div{background:var(--card);border:1px solid var(--linea);border-radius:10px;padding:9px 10px}
.stats b{display:block;font:400 26px/1 'Bebas Neue'}.stats small{font-size:11.5px;color:var(--mut);font-weight:600}
.barras{margin-top:4px}
.barra{display:grid;grid-template-columns:30px 1fr 64px;gap:10px;align-items:center;font-size:13px;font-weight:700;margin-top:10px}
.barra i{height:8px;background:#30343F;border-radius:99px;overflow:hidden;display:block}
.barra i em{display:block;height:100%;background:var(--am);border-radius:99px}
.barra small{color:var(--mut);text-align:right;font-weight:600}
.dia{border-top:1px solid var(--linea)}
.dia:first-child{border-top:0}
.dia>button{width:100%;display:flex;gap:12px;align-items:center;text-align:left;padding:11px 0}
.dia .num{width:40px;height:40px;border-radius:10px;background:var(--card2);display:grid;place-items:center;font:400 20px 'Bebas Neue';flex:none;color:var(--mut)}
.dia.hecho .num{background:var(--ok);color:#fff}.dia.actual .num{background:var(--am);color:#1a1300}
.dia .que{font-size:13.5px;line-height:1.35;color:#D9D6D2;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dia .que b{display:block;color:var(--txt);font-size:14px}
.dia .carril{padding:0 0 12px}
.ajuste{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--linea);font-size:14.5px}
.ajuste:first-of-type{border-top:0;padding-top:0}
.ajuste small{display:block;color:var(--mut);font-size:12.5px;margin-top:2px;line-height:1.35}
.ajuste button,.btn2{flex:none;font-weight:800;font-size:13px;background:var(--card2);border:1px solid var(--linea);padding:9px 12px;border-radius:8px}
.btn{display:block;width:calc(100% - 32px);margin:16px 16px 0;text-align:center;background:#fff;color:#111;font-weight:800;font-size:16px;padding:14px;border-radius:10px}
.btn.coral{background:var(--v);color:#fff}

/* Repaso */
.sesion{margin:16px}
.sesion .de{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.puntos{display:flex;gap:5px;margin:10px 0 14px}.puntos i{flex:1;height:4px;border-radius:99px;background:#30343F}
.puntos i.ya{background:var(--am)}
.sesion .mini{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.sesion .mini img{width:64px;aspect-ratio:4/3;border-radius:6px;object-fit:cover;background:#F7F5F1}
.sesion .mini b{font-size:14px;line-height:1.3}

/* Bienvenida y acceso */
.bienvenida{min-height:100vh;padding:calc(40px + var(--arriba)) 24px 40px;display:flex;flex-direction:column;justify-content:center;
  background:radial-gradient(120% 60% at 50% 0%,rgba(255,90,74,.25),transparent 60%)}
.bienvenida .logo{font-size:44px}
.bienvenida h1{font:400 40px/1 'Bebas Neue';margin:26px 0 10px;letter-spacing:.01em}
.bienvenida p{font-size:15.5px;line-height:1.5;color:#D9D6D2}
.bienvenida ul{margin:18px 0 6px;list-style:none}.bienvenida li{font-size:15px;padding:6px 0;display:flex;gap:10px}
.bienvenida input{width:100%;font:500 17px 'DM Sans';color:var(--txt);background:var(--card);border:1px solid var(--linea);border-radius:10px;padding:14px;margin-top:18px;outline:none}
.bienvenida .btn{width:100%;margin:12px 0 0}
.bienvenida .error-txt{color:#FF9A9D;font-size:14px;margin-top:8px;min-height:20px}

/* Barra de abajo */
#nav{position:fixed;bottom:0;left:0;right:0;z-index:5;max-width:560px;margin:0 auto;background:rgba(14,15,19,.97);border-top:1px solid #23252D;
  display:flex;justify-content:space-around;padding:8px 0 calc(10px + var(--abajo));backdrop-filter:blur(8px)}
#nav a{font-size:10.5px;font-weight:700;color:var(--mut);text-align:center;position:relative;min-width:56px}
#nav a b{display:block;font-size:19px;margin-bottom:1px;filter:grayscale(1) brightness(1.3);opacity:.75}
#nav a.act{color:#fff}#nav a.act b{filter:none;opacity:1}
#nav i{position:absolute;top:-3px;right:10px;background:var(--v);color:#fff;font:800 10px 'DM Sans';font-style:normal;min-width:17px;height:17px;border-radius:99px;display:grid;place-items:center;padding:0 4px}

/* Visor del mapa en grande */
#visor{position:fixed;inset:0;z-index:20;background:#0B0B0D;display:flex;flex-direction:column}
.visor-barra{display:flex;align-items:center;gap:8px;padding:calc(8px + var(--arriba)) 10px 8px;color:var(--mut);font-size:12px}
.visor-barra span{flex:1;text-align:center}
.visor-barra button{width:40px;height:40px;border-radius:50%;background:#22252D;color:#fff;font-size:18px}
.visor-lienzo{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;display:flex;align-items:center}
.visor-lienzo img{width:100%;max-width:none;margin:auto;background:#fff}
#aviso{position:fixed;left:50%;bottom:calc(84px + var(--abajo));transform:translateX(-50%);z-index:30;background:#fff;color:#111;font-weight:700;font-size:14px;
  padding:10px 16px;border-radius:99px;box-shadow:0 8px 24px rgba(0,0,0,.4);max-width:90vw;text-align:center}
@media (orientation:landscape) and (max-height:500px){.visor-barra span{display:none}}

/* ===== Francia ===== */
.fila h2 span{display:flex;align-items:center;gap:8px;min-width:0}
.fila h2 em.st{font-style:normal;font-size:11px;font-weight:800;color:#fff;padding:3px 7px;border-radius:5px;flex:none}
.t .lvl{font-size:10px}
.t .img{background:#fff}.t .img img{object-fit:contain;padding:8px}
.tema b{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.25)}.tema small{color:#fff}

/* Saisons */
.stag{display:flex;gap:14px;align-items:center;margin:12px 16px 0;padding:14px;border-radius:14px;background:#1A1C22;background:linear-gradient(120deg,color-mix(in srgb,var(--col) 34%,#1A1C22),#1A1C22 70%);border:1px solid var(--linea)}
.stag-num{width:58px;height:58px;border-radius:12px;background:var(--col);display:grid;place-items:center;font:400 30px 'Bebas Neue';flex:none;color:#fff}
.stag-txt{flex:1;min-width:0}.stag-txt small{font-size:11.5px;font-weight:700;color:var(--mut);letter-spacing:.04em;text-transform:uppercase}
.stag-txt b{display:block;font:400 26px/1.05 'Bebas Neue';letter-spacing:.01em;margin:2px 0}.stag-txt p{font-size:13px;color:#C9C6C2;line-height:1.35}
.stag .flecha{color:var(--mut);font-size:22px}
.barrita{display:block;height:5px;background:#30343F;border-radius:99px;overflow:hidden;margin-top:9px}.barrita em{display:block;height:100%;background:var(--am);border-radius:99px}
.stag-hero{padding:calc(62px + var(--arriba)) 16px 20px;background:linear-gradient(170deg,var(--col) -20%,var(--bg) 78%)}
.stag-hero small{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:.85}
.stag-hero h1{font:400 clamp(44px,13vw,60px)/.95 'Bebas Neue';margin:6px 0}
.stag-hero p{font-size:14.5px;color:#E2DFDB;line-height:1.4}
.stag-prog{display:flex;gap:10px;align-items:center;margin-top:12px}.stag-prog .barrita{flex:1;margin:0}.stag-prog span{font-size:12.5px;font-weight:700;color:#E2DFDB;white-space:nowrap}
.stag-hero .botones>*{flex:none;padding:12px 22px}
.lista-ep{padding:0 16px}
.ep{display:flex;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--linea)}
.ep:first-child{border-top:0}
.ep .img{position:relative;width:112px;aspect-ratio:4/3;border-radius:7px;overflow:hidden;background:#fff;flex:none}
.ep .img img{width:100%;height:100%;object-fit:contain;padding:6px}
.ep .listo{position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:50%;background:var(--ok);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}
.ep .prog{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(0,0,0,.2)}.ep .prog i{display:block;height:100%;background:var(--v)}
.ep-txt{min-width:0}.ep-txt b{display:block;font-size:14.5px;line-height:1.25}
.ep-txt small{font-size:12.5px;color:var(--mut);margin-top:2px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pallini{display:flex;gap:4px;margin-top:6px}.pallini i{width:16px;height:4px;border-radius:99px;background:#30343F}.pallini i.si{background:var(--ok)}

/* Épisode: pasos */
.passi{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:calc(8px + var(--arriba)) 12px 8px;margin-top:12px;background:rgba(14,15,19,.96);backdrop-filter:blur(8px);border-bottom:1px solid #23252D}
.passi a{text-align:center;font-size:11.5px;font-weight:700;color:var(--mut);padding:7px 2px;border-radius:10px;background:var(--card);border:1px solid var(--linea)}
.passi a b{display:block;font-size:17px;margin-bottom:2px}
.passi a.si{color:#9BE8C0;border-color:#2C4A38}.passi a.si b{color:var(--ok)}
.passi a.act{background:#fff;color:#111;border-color:#fff}.passi a.act b{color:#111}
.volver{z-index:7;position:absolute}
body{position:relative}
.extra{margin-top:10px;font-size:14px;line-height:1.45;background:var(--card2);border-radius:10px;padding:10px 12px}
.pensala{display:flex;gap:10px;margin-top:12px;font-size:14.5px;line-height:1.45;background:#1E2638;border:1px solid #2E3A57;border-radius:10px;padding:11px 12px}
.pensala>span>b:first-child{color:#9DB8FF}
.formule div{display:grid;grid-template-columns:minmax(70px,30%) 1fr;gap:10px;align-items:center;padding:8px 0;border-top:1px dashed #3A3F4B}
.formule div:first-child{border-top:0;padding-top:0}
.formule small{font-size:12.5px;font-weight:700;color:#8EE0B5}.formule span{font-size:15px;font-weight:600;line-height:1.35}
.formule b,.confronto span b,.chips2 b,.nota b,.extra b{color:#FFB3A8}
.chips2{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chips2 small{width:100%;font-size:12.5px;font-weight:700;color:var(--mut)}
.chips2 span{font-size:13.5px;font-weight:700;background:var(--card2);border:1px solid var(--linea);padding:5px 10px;border-radius:99px}
.confronto{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.confronto div{background:var(--card2);border-radius:10px;padding:10px;font-size:13.5px;line-height:1.4}.confronto div>b{display:block;margin-bottom:3px;color:var(--am)}
.nota{margin-top:12px;font-size:14px;line-height:1.45;color:#D9D6D2;background:#1F2A24;border-radius:10px;padding:10px 12px}
.error div{align-items:flex-start}
.error div span{display:block;line-height:1.35}.error div small{display:block;font-size:12.5px;opacity:.85;margin-top:2px}
.error .m{text-decoration:none}
.pista{font-size:13px;color:var(--mut);padding:12px 16px 0;line-height:1.4}.pista b{color:var(--txt)}
.avanti{margin-top:16px}
.card .sub2{font-size:13px;color:var(--mut);margin:-4px 0 8px;line-height:1.4}.sub2.piccolo{font-size:12px;margin:12px 0 0}

/* Écouter */
.ctrl{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}.ctrl.centro{justify-content:center;margin:14px 0 4px}
.btn2.forte{background:#fff;color:#111;border-color:#fff}
.btn2.on{background:var(--am);color:#1a1300;border-color:var(--am)}
.btn2.suena,.voz.suena{background:var(--v);color:#fff;border-color:var(--v)}
.frasi .ej{border-radius:10px;padding:9px 6px;margin:0 -6px}
.frasi .ej.ora{background:#2A2618}
.dib{width:52px;height:52px;border-radius:9px;background:#fff;object-fit:contain;padding:3px;flex:none}
.dib.ok{display:grid;place-items:center;background:rgba(47,163,107,.18);color:var(--ok);font-weight:800;font-size:20px}
.ej .txt{flex:1;min-width:0}.ej .en{display:block;font-size:16px;font-weight:600;line-height:1.35}
.nascoste .en:not(.vista){filter:blur(7px);cursor:pointer;user-select:none}

/* Parler */
.parler{text-align:center}
.parler .puntos{margin:6px 0 12px}
.dib-g{width:120px;height:120px;object-fit:contain;background:#fff;border-radius:16px;padding:8px;margin:4px auto 10px}
.frase{font-size:clamp(21px,6vw,26px);font-weight:800;line-height:1.25}
.trad{font-size:14.5px;color:var(--mut);margin-top:6px}
.mic.rec,.btn2.rec{background:var(--v);color:#fff;border-color:var(--v);animation:pulso 1.1s ease-in-out infinite}
@keyframes pulso{50%{box-shadow:0 0 0 8px rgba(255,90,74,.25)}}
.verdict{display:flex;gap:12px;align-items:center;text-align:left;margin-top:12px;background:var(--card2);border-radius:12px;padding:12px}
.verdict b{font-size:15px}.verdict small{display:block;font-size:12.5px;color:var(--mut);margin-top:6px;line-height:1.35}
.voto{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font:400 22px 'Bebas Neue';flex:none;color:#fff}
.voto.alto{background:var(--ok)}.voto.medio{background:#C98A12}.voto.basso{background:#8A3B3E}
.parole{margin-top:6px;font-size:16px;font-weight:700;line-height:1.5}
.w-ok{color:#8EE0B5}.w-no{color:#FF9A9D;text-decoration:underline wavy rgba(255,154,157,.6)}
.parler>.ctrl:last-child{justify-content:center;margin-top:12px}

/* Esercizi */
.test .de{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.test .puntos{margin:8px 0 6px}
.test .mini{display:flex;gap:10px;align-items:center;margin:10px 0 0}
.test .mini img{width:64px;aspect-ratio:4/3;border-radius:6px;object-fit:contain;background:#fff;padding:3px}
.test .mini b{font-size:14px;line-height:1.3}.test .mini small{display:block;color:var(--mut);font-weight:500}
.voz.grande{width:84px;height:84px;font-size:34px;margin:6px auto 14px;background:var(--card2);border:1px solid var(--linea)}
.risposta{min-height:58px;border:1.5px dashed #3A3F4B;border-radius:12px;padding:8px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;margin-bottom:12px}
.risposta.giusta{border-color:var(--ok);background:rgba(47,163,107,.1)}.risposta.sbagliata{border-color:var(--mal);background:rgba(229,72,77,.08)}
.banca{display:flex;flex-wrap:wrap;gap:8px;min-height:44px}
.pezzo{font-size:16px;font-weight:700;background:var(--card2);border:1.5px solid #3A3F4B;border-bottom-width:3px;padding:8px 12px;border-radius:10px}
.pezzo:disabled{opacity:.85}
.test .btn{width:100%;margin:14px 0 0}.test .btn:disabled{opacity:.35}
.explica{margin-top:12px}.explica.si{background:#1D2E25;border-color:#2C4A38;color:#C9F1DA}.explica.si b{color:#8EE0B5}

/* Il mio percorso */
.barra{color:inherit}
.settimana{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.giorno i{display:grid;place-items:center;height:38px;border-radius:9px;background:#30343F;font-style:normal;font-weight:800;font-size:14px}
.giorno.mezzo i{background:#5C4A18;color:var(--am)}.giorno.pieno i{background:var(--ok);color:#fff}
.giorno small{display:block;font-size:11px;color:var(--mut);margin-top:4px;font-weight:700}
.ctrl.tua{margin-top:12px}
.explica .codice{opacity:.55;font-size:11px;white-space:nowrap}
.pdf-stag{display:block;margin-top:12px;font-size:14px;font-weight:700;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:11px 14px}
.pdf-stag small{display:block;font-size:12px;font-weight:500;color:#D9D6D2;margin-top:2px}
a.ajuste{color:inherit}a.ajuste .btn2{flex:none}
.det-info .ctrl .btn2{font-size:13px}
