/* passage 13 : ISO MAQUETTE — REFERENCE-VALIDEE/ecrans/pour-bien-t-expliquer.html (= decrire.html) repris tel quel ; ajouts de pour-bien-pdf.html sous body[data-mode=pdf] ; ajouts fonctionnels en bas. */
*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background:linear-gradient(180deg,#faf4e7,#f6efdf);color:#173B2C;display:flex;justify-content:center;min-height:100vh}
.app{width:100%;max-width:430px;padding:14px 20px 0;display:flex;flex-direction:column;min-height:100vh}
.haut{display:flex;align-items:center;gap:10px}.rond{width:42px;height:42px;border-radius:50%;background:#ece6d8;display:grid;place-items:center;flex:none}
.pill{background:#e6f3d2;font:800 14px Nunito;padding:7px 14px;border-radius:999px}
.med{border-radius:50%;padding:3px;background:#bfe48f;flex:none}.med img{width:100%;height:100%;border-radius:50%;display:block}
.bulle{position:relative;background:#d8efbf;font-weight:700;font-size:15px;padding:10px 14px;border-radius:16px}
.bulle:before{content:"";position:absolute;left:-9px;top:16px;border:9px solid transparent;border-right-color:#d8efbf;border-left:0}
h1{font:900 30px/1.06 Nunito;margin-top:12px}h2{font:900 18px Nunito;margin:16px 0 8px}
.sous{font-weight:600;color:#4a5550;margin-top:4px;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:10px 14px;border-radius:14px;background:#fbf7ee;border:2px solid #d9cdb4;font:800 15px Nunito}
.sp .chip{padding:8px 11px;font-size:14px}.chip.on{background:#c3ec96;border-color:#8cc957}
.cta{margin-top:auto;margin-bottom:28px;width:100%;border:0;border-radius:24px;padding:17px;font:900 21px Nunito;color:#173B2C;background:linear-gradient(180deg,#c3ec96,#a6e36f);border:2px solid #8cc957;box-shadow:0 6px 14px rgba(120,180,70,.28)}
.zone{background:#fff;border:2px dashed #cdbf9f;border-radius:16px;padding:12px;font-size:14.5px;color:#7a776d;min-height:72px}
.opt{font:600 12px Inter;color:#7a776d;margin-left:6px}
.tab{background:linear-gradient(160deg,#1f4a3a,#163a2d 60%,#123227);border:9px solid #c98a44;border-radius:10px;box-shadow:inset 0 0 0 2px #9c6127,0 10px 20px rgba(60,40,10,.2);color:#f4f1e6;font-family:Kalam;padding:10px 14px;position:relative}


.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.pg{position:relative;aspect-ratio:3/4;border-radius:12px;background:#fffaf7;box-shadow:0 6px 14px rgba(60,40,10,.15);background-image:linear-gradient(90deg,transparent 14px,#f2a3a3 14px,#f2a3a3 15px,transparent 15px),repeating-linear-gradient(0deg,transparent 0 9px,#d7e3f4 9px 10px);overflow:hidden}
.pg .t{position:absolute;left:20px;top:10px;right:6px;font:400 11px/1.15 Kalam;color:#2a48b0}
.pg svg.d{position:absolute;left:22px;top:42px}
.pg .ok{position:absolute;left:6px;bottom:6px;font:800 10.5px Nunito;background:#e6f3d2;color:#2f7d32;padding:2px 7px;border-radius:999px}
.pg .x{position:absolute;right:5px;top:5px;width:22px;height:22px;border-radius:50%;background:rgba(23,59,44,.8);color:#fff;font:900 13px/22px Nunito;text-align:center}
.pg .n{position:absolute;right:6px;bottom:6px;font:900 11px Nunito;color:#7a776d}
.add{aspect-ratio:3/4;border-radius:12px;border:2.5px dashed #b9c9a3;background:#f3f9ea;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:800 13px Nunito;color:#2f7d32;text-align:center}
.conseil{display:flex;gap:10px;align-items:center;margin-top:16px;background:#fff;border:2px solid #ece3cf;border-radius:16px;padding:10px 12px;font:600 13.5px Inter;color:#4a5550}
.cpt{font:800 13px Nunito;background:#fde3c2;color:#a3560f;padding:4px 10px;border-radius:999px;margin-left:auto}
.fic{display:flex;align-items:center;gap:10px;margin-top:14px;background:#fff;border:2px solid #ece3cf;border-radius:16px;padding:10px 12px}.fic b{font:800 15px Nunito;display:block}.fic small{font:600 12.5px Inter;color:#7a776d}
.pg.sel{outline:3px solid #7cc24a;outline-offset:2px}.pg .cb{position:absolute;right:6px;top:6px;width:22px;height:22px;border-radius:7px;border:2px solid #b9b2a3;background:#fff}.pg.sel .cb{background:#7cc24a;border-color:#7cc24a}
.pg.sel .cb:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.pg.off{opacity:.55}
.micz{display:flex;flex-direction:column;align-items:center;margin-top:18px}
.mic{width:112px;height:112px;border-radius:50%;background:linear-gradient(180deg,#c3ec96,#a6e36f);border:3px solid #8cc957;display:grid;place-items:center;box-shadow:0 0 0 12px rgba(166,227,111,.25),0 0 0 26px rgba(166,227,111,.12);animation:pul 1.6s ease-in-out infinite}
@keyframes pul{50%{box-shadow:0 0 0 18px rgba(166,227,111,.2),0 0 0 34px rgba(166,227,111,.08)}}
.onde{display:flex;gap:4px;align-items:center;height:34px;margin-top:22px}.onde i{width:5px;border-radius:3px;background:#7cc24a;animation:on 1s ease-in-out infinite}
@keyframes on{50%{transform:scaleY(.4)}}
.rec{font:800 14px Nunito;color:#c4553a;margin-top:6px}
.trans{margin-top:16px;background:#fff;border:2px solid #ece3cf;border-radius:16px;padding:12px 14px;font:600 14.5px Inter;color:#4a5550;line-height:1.4}
.trans small{display:block;font:800 11.5px Nunito;color:#7a776d;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.conf{margin-top:12px;border-radius:16px;background:linear-gradient(160deg,#1f4a3a,#163a2d 60%,#123227);border:7px solid #c98a44;color:#f4f1e6;padding:12px 14px;text-align:center}
.conf small{font:700 12.5px Inter;opacity:.8}.conf .fx{font:700 26px Kalam;color:#a6e36f;margin-top:4px}
.duo2{display:flex;gap:10px;margin-top:10px}.duo2 a{flex:1;text-align:center;border-radius:14px;padding:10px;font:800 14.5px Nunito;background:#fbf7ee;border:2px solid #e0d4b9}
.ecr{display:block;text-align:center;margin-top:12px;font:800 14.5px Nunito;color:#5d675f}
@media (prefers-reduced-motion:reduce){.mic,.onde i{animation:none}}

.strip{display:flex;gap:10px;margin-top:8px}.strip .pg,.strip .add{width:86px;flex:none}.strip .pg .t{font-size:9.5px;left:18px}.strip .pg svg.d{left:18px;top:34px}.strip .ok{font-size:10px;padding:1px 6px}.zone{position:relative;padding-right:56px}.mi{position:absolute;right:10px;bottom:10px;width:40px;height:40px;border-radius:50%;background:linear-gradient(180deg,#c3ec96,#a6e36f);border:2px solid #8cc957;display:grid;place-items:center}
/* ---- pour-bien-pdf.html (mode PDF) : ses règles en plus, telles quelles ---- */
body[data-mode=pdf] .x2{margin-left:auto;width:30px;height:30px;border-radius:50%;background:#efe7d6;display:grid;place-items:center;font:900 16px Nunito;color:#5d675f;flex:none}
body[data-mode=pdf] .strip{overflow-x:auto;scrollbar-width:none}
body[data-mode=pdf] .strip .pg,body[data-mode=pdf] .strip .add{width:72px!important;font-size:12px}

/* ---- ajouts FONCTIONNELS (aucun changement du rendu de la maquette) ---- */
.toast:not(.vu){display:none}
a.rond,a.add,label.add{cursor:pointer;text-decoration:none;color:inherit}
button.chip{color:#173B2C;cursor:pointer}
button.x2,button.mi{border:0;padding:0;cursor:pointer}button.mi{border:2px solid #8cc957;color:#173B2C}
.zone textarea{display:block;width:100%;border:0;outline:0;background:transparent;resize:none;padding:0;font:inherit;color:#173B2C;line-height:normal;min-height:52px;field-sizing:content}
.zone textarea::placeholder{color:#7a776d;opacity:1}
.zone.grande textarea::placeholder{color:#4a5550}
.zone.grande textarea{min-height:92px}
.zone:focus-within{border-style:solid;border-color:#8cc957}
.strip.plein{overflow-x:auto;scrollbar-width:none;margin-left:-20px;margin-right:-20px;padding:0 20px 10px}
.pg>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
button.pg{border:0;padding:0;display:block;cursor:pointer;font:inherit}
.strip .pg{cursor:pointer}
button.x{border:0;padding:0;cursor:pointer}
.pg .fl{position:absolute;left:6px;bottom:6px;font:800 10.5px Nunito;background:#FFB95E;color:#5a2d00;padding:2px 7px;border-radius:999px}
.flou{margin-top:6px;font:600 13px Inter;color:#a3560f}
.autre{display:block;width:100%;margin-top:8px;border:2px solid #d9cdb4;border-radius:14px;padding:10px 12px;font:600 15px Inter;background:#fff;color:#173B2C}
.compte{font:600 12.5px Inter;color:#4a5550;margin-top:6px;text-align:right}.compte.trop{color:#b3261e}
.erreur{margin:0 0 12px;background:#fde4e1;color:#8a2622;border-radius:12px;padding:10px 12px;font:700 14px Inter}
.cta:disabled{opacity:.55;box-shadow:none}
.cta{display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.cta .ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;animation:tr .8s linear infinite}@keyframes tr{to{transform:rotate(360deg)}}
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* page agrandie : reprendre / tourner / retirer */
.agrandi{position:fixed;inset:0;z-index:50;background:rgba(15,30,24,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px}
.agrandi figure{max-width:min(92vw,520px);max-height:70vh;display:flex;flex-direction:column;align-items:center;gap:8px}
.agrandi img{max-width:100%;max-height:64vh;border-radius:10px;object-fit:contain;background:#fff}
.agrandi figcaption{color:#f4f1e6;font:800 14px Nunito}
.agrandi-b{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.agrandi-x{position:absolute;top:14px;right:14px;border:0;background:#f4f1e6!important}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:8px 14px;border-radius:14px;font:900 15px Nunito;color:#173B2C;background:#fbf7ee;border:2px solid #d9cdb4;cursor:pointer}
.btn-p{background:linear-gradient(180deg,#c3ec96,#a6e36f);border-color:#8cc957}.btn.danger{color:#8a2622}
/* micro (dictée) : panneau sous la zone */
.mi.rec{background:#ff4d4d;border-color:#d93636;color:#fff;animation:mrec 1.2s ease-in-out infinite}@keyframes mrec{50%{box-shadow:0 0 0 8px rgba(255,77,77,.25)}}
.mic-p{margin-top:8px;background:#fff;border:2px solid #ece3cf;border-radius:16px;padding:12px}
.mic-t{display:flex;align-items:center;gap:8px;font:700 14.5px Inter}
.mic-aide{font:600 13.5px/1.45 Inter;color:#4a5550;margin-top:4px}
.mic-rec{display:flex;align-items:center;gap:10px}.mic-pt{width:12px;height:12px;border-radius:50%;background:#ff4d4d;flex:none;animation:mcl 1s steps(2) infinite}@keyframes mcl{50%{opacity:.25}}
.mic-onde{flex:1;display:flex;align-items:center;gap:3px;height:34px}.mic-onde i{flex:1;height:100%;background:#7cc24a;border-radius:3px;transform:scaleY(.12);transition:transform .08s}
.mic-ch{font:800 14px Nunito;font-variant-numeric:tabular-nums}
.mic-b{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.mic-b .btn{flex:1;min-width:130px;white-space:nowrap}
.mic-q{font:900 16px Nunito}.mic-res{margin-top:6px;background:#f1fae6;border-radius:12px;padding:10px 12px;font:500 15.5px/1.5 Inter}
.mic-tourne{width:16px;height:16px;border-radius:50%;border:3px solid #cfe7b5;border-top-color:#4B8F2F;animation:tr .8s linear infinite;flex:none}
@media (prefers-reduced-motion:reduce){.mi.rec,.mic-pt,.mic-tourne,.cta .ic{animation:none}}
.pgb{position:absolute;inset:0;border:0;padding:0;background:none;cursor:pointer}.pgb img{width:100%;height:100%;object-fit:cover;display:block}
#options .chip{white-space:nowrap;flex:none}
/* passage 15 (V5) : ligne « Cours adapté à … › » (CSS de la maquette pour-bien-t-expliquer.html tel quel) */
.niv{display:flex;align-items:center;gap:8px;margin-top:16px;background:#fff;border:1.5px solid #e6dcc6;border-radius:14px;padding:10px 12px;font:600 13px Inter;color:#5d675f}
.niv b{color:#173B2C;font-weight:800}
.niv i{margin-left:auto;font-style:normal;font:800 13px Nunito;color:#2f7d32}
a.niv{text-decoration:none;min-height:44px}.niv.vide b{color:#a3560f}
/* étape unique « Ta classe ? » (première fois) : feuille du bas, mêmes puces que « Mon école » */
.lb2{font:800 13px Nunito;color:#5d675f;margin:12px 0 6px}.lb2 small{font:600 12px Inter;color:#7a776d}
button.chip{color:#173B2C;cursor:pointer;-webkit-appearance:none;appearance:none;line-height:normal}
.tc-voile{position:fixed;inset:0;z-index:60;background:rgba(23,59,44,.45);display:flex;align-items:flex-end;justify-content:center}
.tc-voile[hidden]{display:none}
.tc-feuille{position:relative;width:100%;max-width:430px;max-height:92vh;overflow-y:auto;background:linear-gradient(180deg,#faf4e7,#f6efdf);border-radius:26px 26px 0 0;
  padding:10px 20px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(23,59,44,.18)}
.tc-poignee{width:44px;height:5px;border-radius:5px;background:#d9cdb4;margin:0 auto 8px}
.tc-feuille h2{font:900 24px Nunito;margin:6px 0 2px}
.tc-sous{font:600 14px Inter;color:#4a5550;line-height:1.4}
.tc-feuille .cta{margin:18px 0 0}
.tc-feuille .cta:disabled{opacity:.5;cursor:default}
.tc-feuille .erreur{margin:12px 0 0}
.tc-x{position:absolute;right:14px;top:12px;width:40px;height:40px;border-radius:50%;border:0;background:#ece6d8;font:900 20px Nunito;color:#173B2C;cursor:pointer}
