/* 01/10 écran v2 global — carnet de Fossilou. Aucun effet sans body.ecran-v2. */
body.ecran-v2 { --ink:#253f36; --blue:#1f5c4e; --red:#e4572e; --red-d:#b73f1b; --ok:#226448; --ok-bg:#eef2ea; background:#fcf8ef; color:var(--ink); }
body.ecran-v2 :is(button,a,summary,input,select) { touch-action:manipulation; }
body.ecran-v2 :is(button,summary) { min-height:44px; }
body.ecran-v2 :is(button,a,input,select,summary):focus-visible { outline:3px solid #1f5c4e; outline-offset:3px; }
body.ecran-v2 :is(h1,h2,h3,.title) { color:#253f36; text-wrap:balance; }
body.ecran-v2 :is(.big,.mi-next,.mm-go,.ul-read) { font-family:'Baloo 2',sans-serif; border-radius:20px; line-height:1.2; }
body.ecran-v2 :is(.big.red,.big.green,.mi-next,.mm-go,.ul-read) { background:#e4572e; color:#fff; box-shadow:0 5px 0 #b73f1b; }
body.ecran-v2 :is(.ghost,.mm-say,.mm-dream-say,.mi-prev) { background:#fffdf8; border:1px solid #ded5c2; color:#344e43; box-shadow:none; border-radius:16px; }
body.ecran-v2 :is(.ghost.tiny,.hint,.mm-sub,.mm-coll,.mm-a-card small) { color:#526356; opacity:1; }
body.ecran-v2 :is(.start-card,.round-card,.mm-card,.focus-card,.avatar-pick-card,.card,.book,.mm-a-card,.mm-recap,.mm-bubble) { background:#fcf8ef; border:3px solid #fffdf8; border-radius:26px; box-shadow:0 5px 0 #e9dfc9; }
body.ecran-v2 :is(.mm-over,.focus,.avatar-pick) { background:rgba(36,57,47,.45); backdrop-filter:blur(5px); }
body.ecran-v2 :is(.mm-k,.badge,.tag) { text-transform:none; letter-spacing:0; }
body.ecran-v2 :is(.mm-k,.mm-words,.mm-next b,.mm-tease b) { color:#98421e; }
body.ecran-v2 .topbar { min-height:64px; gap:6px; }
body.ecran-v2 .badge { background:#eee5d3; color:#4f493a; font-size:13px; }
body.ecran-v2 :is(.mm-scene,.mm-evo-banner,.mm-home,.mi-read,.mm-tease) { background:#f6eddc; box-shadow:none; }
body.ecran-v2 :is(.mm-scene,.mi-stage,.end-img) { border-radius:0; }   /* 02/10 : .mm-egg-wrap garde son halo rond (sinon carré visible à l'éclosion) */   /* 01/10 fondateur : pas de coins arrondis (avant : arche 48% 48% 24px 24px) */
body.ecran-v2 .mm-screen { background:#fcf8ef; }
/* Accueil : image et reprise au centre, liens parents au pied du carnet. */
body.ecran-v2 #screen-start { padding:12px 16px; min-height:100dvh; justify-content:center; }
body.ecran-v2 .start-card { padding:14px 16px; gap:8px; }
body.ecran-v2 .home-brand { margin:0; font-size:24px; }
body.ecran-v2 .avatar-btn { width:88px; height:88px; margin:0; border-color:#fffdf8; box-shadow:0 4px 0 #e9dfc9; }
body.ecran-v2 #home-title { font-size:32px; margin:2px 0; }
body.ecran-v2 :is(#avatar-hint,#welcome) { display:none; }
body.ecran-v2 #name { border:1px solid #b4bba9; background:#fffdf8; font-size:22px; padding:8px; }
body.ecran-v2 .start-card > .big { width:100%; min-height:50px; padding:10px 16px; font-size:22px; }
body.ecran-v2 #btn-mimots { background:#fffdf8!important; color:#344e43!important; box-shadow:none!important; border:1px solid #ded5c2; order:1; }
body.ecran-v2 #btn-start { order:0; }
body.ecran-v2 .start-card > :is(#btn-sound-test,#sound-msg,.row,.home-account,#unsupported) { order:2; }
body.ecran-v2 .start-card > .row { gap:0; flex-wrap:wrap; width:100%; justify-content:center; background:#eef2ea; border-radius:16px; }
body.ecran-v2 :is(#btn-parent,#btn-other,#btn-sound-test,#btn-logout) { background:transparent; border:0; color:#1f5c4e; font-size:13px; padding:5px 8px; margin:0; }
body.ecran-v2 .home-account { margin:0; font-size:12px; color:#526356; }
body.ecran-v2 .mm-home { margin:0; padding:8px; gap:6px; }
body.ecran-v2 .mm-home .mm-mid { width:64px; height:64px; }
body.ecran-v2 .mm-bubble { padding:8px 10px; font-size:14px; line-height:1.3; border-radius:18px; }
body.ecran-v2 .mm-bubble .mm-dream-say { float:right; margin:0; }
body.ecran-v2 .mm-home .big { min-height:50px; padding:10px; font-size:22px; }
body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) #btn-start { background:#fffdf8; color:#344e43; box-shadow:none; border:1px solid #ded5c2; }
body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) .avatar-btn { width:60px; height:60px; }
/* Bibliothèque et album : couverture papier, parcours secondaires discrets. */
body.ecran-v2 .book { border-width:3px; border-color:#fffdf8; }
body.ecran-v2 .book img { border-radius:6px; object-fit:contain; }   /* 02/10 fondateur : images carrées, coins à peine arrondis (avant : arche 70px) */
body.ecran-v2 .book .tag { background:#eef2ea; color:#1f5c4e; }
body.ecran-v2 .book .actions button { min-height:44px; background:#fffdf8; border:1px solid #ded5c2; color:#344e43; }
body.ecran-v2 .book .actions .lire { background:#e4572e; border-color:#e4572e; color:#fff; box-shadow:0 3px 0 #b73f1b; }
body.ecran-v2 .book .actions .unlock { background:#eef2ea; color:#1f5c4e; }
body.ecran-v2 .lib-locked .book { opacity:1; }
body.ecran-v2 .lib-more { background:#eef2ea; color:#1f5c4e; padding:8px 14px; }
body.ecran-v2 .mm-lib-btn { background:#f6eddc; box-shadow:0 3px 0 #e9dfc9; }
body.ecran-v2 .mm-how { min-height:44px; }
body.ecran-v2 .mm-a-card { border-radius:18px; }
body.ecran-v2 .mm-hero-banner .mm-hero { object-fit:contain; border-radius:0; }
body.ecran-v2 .mm-hero-full { background:#fcf8ef; }
body.ecran-v2 .mm-hero-full p { color:#344e43; }
/* Écoute : la même hiérarchie image, phrase, commande que la lecture. */
body.ecran-v2 #screen-listen { height:100dvh; min-height:0; }
body.ecran-v2 #screen-listen .page-grid { min-height:0; grid-template-rows:minmax(110px,1fr) auto; gap:18px; padding:0 18px 24px; }
body.ecran-v2 #screen-listen .illu { min-height:0; }
body.ecran-v2 #listen-img { object-fit:contain; max-height:100%; border:5px solid #fffdf8; border-radius:100px 100px 22px 22px; box-shadow:0 5px 0 #e9dfc9; }
body.ecran-v2 #listen-text { background:none; box-shadow:none; text-align:center; font-size:clamp(24px,7.5vw,34px); line-height:1.45; padding:4px; }
body.ecran-v2 #listen-text .cur { background:#fef0cf; color:#553d18; }
body.ecran-v2 #listen-hint { margin:0; }
body.ecran-v2 #listen-play { min-height:60px; }
/* Récompenses, éclosions, fiches et aide. */
body.ecran-v2 :is(#screen-round,#screen-end) { padding:16px; }
body.ecran-v2 .round-card { padding:16px; gap:8px; }
body.ecran-v2 .round-card .mm-round { gap:6px; margin:0; width:100%; }
body.ecran-v2 .mm-scene { min-height:160px; padding:6px; }
body.ecran-v2 .mm-scene .mm-big { width:145px; height:145px; }
body.ecran-v2 #screen-round #btn-next { position:static; min-height:60px; margin:4px 0; box-shadow:0 5px 0 #b73f1b!important; font-size:24px; }
body.ecran-v2 .mm-parents { background:#eef2ea; border-radius:14px; margin:0; padding:0 8px; }
body.ecran-v2 .mm-parents summary { color:#1f5c4e; }
body.ecran-v2 .round-card > .puzzle { max-width:230px; }
body.ecran-v2 .round-stars { font-size:36px; }
body.ecran-v2 .round-card .end-img { max-height:35dvh; width:auto; max-width:100%; object-fit:contain; }
body.ecran-v2 .mm-over .mm-card { padding:24px 16px 18px; gap:10px; max-height:calc(100dvh - 32px); }
body.ecran-v2 .mm-over.sheet .mm-card { padding-top:54px; }
body.ecran-v2 .mm-over.mega .mm-card { background:#fcf8ef; }
body.ecran-v2 .mm-evo.mm-evo-big { width:min(260px,60vw); height:min(260px,30dvh); }
body.ecran-v2 .mm-name { background:#fffdf8; box-shadow:0 4px 0 #e9dfc9; }
body.ecran-v2 :is(.mm-mic,#focus-mic) { width:84px; height:84px; background:#e4572e; box-shadow:0 5px 0 #b73f1b; }
body.ecran-v2 .focus-card { padding:26px 16px; gap:16px; }
body.ecran-v2 .focus-card .row { flex-wrap:wrap; justify-content:center; }
body.ecran-v2 .focus-word { font-size:clamp(30px,10vw,48px); }
body.ecran-v2 .mi-card { min-height:min(610px,85dvh); }
body.ecran-v2 .mi-stage { background:#f6eddc; }
/* Parents : sauge, formulaires calmes, une action de paiement principale. */
body.ecran-v2 :is(#screen-parent,#login) { background:#eef2ea; }
body.ecran-v2 :is(.login-card,#sub-sheet .sub-card,.flag-card,.pgate .mm-card) { background:#fcf8ef; border:3px solid #fffdf8; border-radius:26px; box-shadow:0 5px 0 #dce2d5; padding:20px 16px; }
body.ecran-v2 .login-card { margin:12px 0; gap:12px; }
body.ecran-v2 .login-nl { background:#eef2ea; font-size:13px; }
body.ecran-v2 :is(.login-sub,.login-legal,.login-or) { opacity:1; color:#526356; }
body.ecran-v2 .login-msg:empty { display:none; }
body.ecran-v2 #login button[type=submit] { border-radius:16px; box-shadow:0 4px 0 #143f35; }
body.ecran-v2 :is(.login-home,.login-legal a) { display:inline-flex; align-items:center; min-height:44px; }
body.ecran-v2 :is(.login-google,.sub-cta2) { border-radius:16px; background:#fffdf8; }
body.ecran-v2 #sub-sheet { background:rgba(36,57,47,.45); backdrop-filter:blur(5px); padding:16px; align-items:center; }
body.ecran-v2 :is(.sub-cta,#p-sub,.pgate .big) { background:#1f5c4e; color:#fff; box-shadow:0 4px 0 #143f35; border-radius:16px; }
body.ecran-v2 :is(.sub-x,.mm-x,.mi-skip) { width:44px; min-width:44px; background:#fffdf8; color:#344e43; }
body.ecran-v2 #screen-parent :is(.big,.ghost,.pbtn) { color:#1f5c4e; background:#fffdf8; box-shadow:none; border:1px solid #bdc9ba; }
body.ecran-v2 :is(.install,#inapp-bar,#offline-bar) { background:#eef2ea!important; color:#1f5c4e!important; box-shadow:0 4px 0 #dce2d5!important; }
body.ecran-v2 .install { padding:8px 12px; }
body.ecran-v2 .install-txt { font-size:12px; }
body.ecran-v2 .install-txt span { display:none; }
body.ecran-v2 #inapp-bar button { min-height:44px; }
body.ecran-v2:has(#offline-bar) #screen-start { padding-bottom:96px; }
body.ecran-v2 #avatar-img { width:100%; height:100%; box-shadow:none; border:3px solid #fffdf8; }
body.ecran-v2 #login input { min-width:0; width:100%; }
body.ecran-v2 #login .login-nl input { width:20px; }
body.ecran-v2 #login-code-in { letter-spacing:5px; }
body.ecran-v2 #screen-start:has(~ #inapp-bar:not([hidden])) { padding-top:180px; }
body.ecran-v2 .install:not(.hidden) + #screen-start { min-height:calc(100dvh - 68px); }
body.ecran-v2 .home-account { opacity:1; }
body.ecran-v2 :is(#inapp-open,#inapp-close) { color:#1f5c4e!important; background:#fffdf8!important; }
body.ecran-v2 .book .actions .lire { font-size:19px; }
body.ecran-v2 .mm-a-card.soon { opacity:1; }
body.ecran-v2 :is(.v2-coming,.v2-album-coming) { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding:4px 0 8px; }
body.ecran-v2 :is(.v2-coming,.v2-album-coming) > * { flex:0 0 100%; min-width:0; scroll-snap-align:start; }
body.ecran-v2 .v2-coming .lib-theme { margin:0; }
body.ecran-v2 .v2-coming .lib-row .book { flex-basis:125px; }
body.ecran-v2 .v2-coming .book img { height:60px; width:100%; }
body.ecran-v2 .v2-coming :is(.tag,.mm-badge,.book .sub) { display:none; }
body.ecran-v2 .v2-coming .book .info { padding:6px; }
body.ecran-v2 .v2-coming .book .t { font-size:14px; }
body.ecran-v2 .lib-row .book.active { flex-basis:230px; }
body.ecran-v2 .lib-row .book.active > img { height:145px; width:100%; }
body.ecran-v2 #library { padding-bottom:8px!important; }
body.ecran-v2 .lib-theme { margin:0 0 4px; }
body.ecran-v2 .lib-more { margin:4px 16px; }
body.ecran-v2 .mm-lib-btn { margin-top:0; padding:6px 12px; }
body.ecran-v2 .mm-album { gap:8px; padding-bottom:4px; }
body.ecran-v2 .mm-hero-banner .mm-hero { max-height:160px; }
body.ecran-v2 .mm-hero-banner p { padding:8px 12px; font-size:14px; }
body.ecran-v2 .v2-album-coming .mm-a-grid { display:flex; overflow-x:auto; gap:8px; padding-bottom:6px; }
body.ecran-v2 .v2-album-coming .mm-a-card { flex:0 0 100px; padding:6px; }
body.ecran-v2 .v2-album-coming .mm-a-card img { width:46px; height:46px; }
body.ecran-v2 .v2-album-coming .mm-a-card small { font-size:12px; }
body.ecran-v2 .mm-over.sheet .mm-card { gap:8px; }
body.ecran-v2 .mm-over.sheet .mm-disc { font-size:14px; padding:6px; }
body.ecran-v2 .mm-over.sheet .mm-sheet-top .mm-big { width:90px; height:90px; }
body.ecran-v2 .mm-over.sheet .big { padding:12px; font-size:22px; }
body.ecran-v2 .mm-a-grid.mine { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding:0 0 8px; }
body.ecran-v2 .mm-a-grid.mine .mm-a-card { flex:0 0 105px; scroll-snap-align:start; }
body.ecran-v2 .mm-voice { color:#344e43; background:#fffdf8; border:1px solid #ded5c2; box-shadow:none; }
body.ecran-v2 #screen-album .topbar { padding:0 0 8px; }
body.ecran-v2 #screen-album { padding-top:8px; }
body.ecran-v2 .lib-theme-title { margin-top:0; margin-bottom:4px; }
body.ecran-v2 .mm-over.sheet h3 { margin:6px 0; font-size:18px; }
body.ecran-v2 .mm-over.sheet .mm-sheet-top { width:100%; }
body.ecran-v2 .mm-over.sheet .mm-sheet-top > div { min-width:0; }
body.ecran-v2 .mm-over.sheet .mm-name.small { font-size:27px; padding:6px 4px; }
body.ecran-v2 .mm-over.sheet .mm-sub { font-size:14px; line-height:1.4; }
body.ecran-v2 .mm-over.sheet .mm-forms img { width:44px; height:44px; }
body.ecran-v2 :is(.mm-say,.mm-dream-say) { font-size:0; position:relative; }
body.ecran-v2 :is(.mm-say,.mm-dream-say)::after { content:''; position:absolute; inset:11px; background:#344e43; mask:var(--v2-i-sound) center/contain no-repeat; }
body.ecran-v2 :is(#focus-mic,.mm-mic) { position:relative; font-size:0; }
body.ecran-v2 :is(#focus-mic,.mm-mic)::after { content:''; position:absolute; inset:24px; background:#fff; mask:var(--v2-i-mic) center/contain no-repeat; }
body.ecran-v2 #screen-page > .topbar { min-height:54px; }
body.ecran-v2 .lib-dispo .book:not(:first-child) .actions .lire { background:#fffdf8; color:#344e43; border-color:#ded5c2; box-shadow:none; }
body.ecran-v2 .flag-card { background:#eef2ea; }
body.ecran-v2 .flag-opt { background:#fffdf8; color:#1f5c4e; border:1px solid #b9c6b5; }
body.ecran-v2 .round-flags .w { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; color:#1f5c4e; background:#fffdf8; border-color:#bdc9ba; }
body.ecran-v2 .round-flags .w.n { background:#fffdf8; color:#1f5c4e; border-color:#bdc9ba; }
body.ecran-v2 .round-note input { min-height:44px; }
body.ecran-v2 .v2-notice { background:#eef2ea!important; color:#1f5c4e!important; box-shadow:0 4px 0 #dce2d5!important; }
body.ecran-v2 .mm-parents .round-flags { color:#526356; }
body.ecran-v2 button { min-width:44px; }
body.ecran-v2 #screen-parent :is(label,a) { min-height:44px; display:inline-block; }
body.ecran-v2 #screen-listen:has(#listen-next.big) #listen-play { background:#fffdf8; color:#344e43; box-shadow:none; border:1px solid #ded5c2; font-size:18px; }
body.ecran-v2 #screen-listen .listen-controls { gap:8px; flex-wrap:wrap; justify-content:center; }
body.ecran-v2 #listen-next.big { font-size:22px; padding:12px; }
body.ecran-v2 #text .w.ok,
body.ecran-v2 #text .w.ok :is(.s1,.s2,.v,.c,.mute) { color:#226448; }
body.ecran-v2 .mm-a-grid.mine { scrollbar-width:thin; }
body.ecran-v2 .mm-name.small { box-shadow:none; background:none; }
body.ecran-v2 .mm-evo-wrap .mm-rays { inset:0; }
body.ecran-v2 .mm-over .mm-card { grid-template-columns:minmax(0,1fr); }
body.ecran-v2 .mm-over .mm-card > * { min-width:0; max-width:100%; }
body.ecran-v2 .mm-over .mm-card > p { margin:4px 0; }
body.ecran-v2 .v2-dots .echauf { color:#98421e; }
body.ecran-v2 #text .w.dim { opacity:1; }
body.ecran-v2 #screen-start .start-card { gap:6px; }
body.ecran-v2 .mm-home .mm-mid { width:52px; height:52px; }
body.ecran-v2 #sound-msg { font-size:12px; line-height:1.4; margin:0; }
body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) .avatar-btn { width:48px; height:48px; }
body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) #home-title { font-size:28px; }
body.ecran-v2 #screen-start:has(~ #inapp-bar:not([hidden])) { padding-top:150px; }
body.ecran-v2 #screen-start:has(~ #inapp-bar:not([hidden])) #unsupported { font-size:12px; padding:8px; margin:0; }
body.ecran-v2:has(#offline-bar) #screen-start { padding-bottom:80px; }
body.ecran-v2 .lib-dispo .lib-theme-title { font-size:21px; }
body.ecran-v2 .mm-album .mm-coll { font-size:13px; line-height:1.4; }
/* Les paragraphes du mode Écoute gardent la place des commandes de fin de page. */
body.ecran-v2 #listen-text { font-size:clamp(22px,6.15vw,30px); line-height:1.4; }
body.ecran-v2 #listen-text .punct { color:#526356; }
body.ecran-v2 #screen-listen:has(#listen-next.big) .listen-controls { display:grid; grid-template-columns:44px 1fr; }
body.ecran-v2 #screen-listen:has(#listen-next.big) #listen-next { grid-column:1 / -1; }
body.ecran-v2 #screen-listen:has(#listen-next.big) #listen-play { min-height:44px; padding:8px; }
body.ecran-v2 #screen-page .flags button,
body.ecran-v2 #screen-page .v2-menu .v2-menu-x { min-height:44px; height:44px; min-width:44px; }
body.ecran-v2 .pgate .big { color:#1f5c4e; background:#fffdf8; box-shadow:none; border:1px solid #b9c6b5; }
body.ecran-v2 #unlock { background:rgba(36,57,47,.45); backdrop-filter:blur(5px); }
body.ecran-v2 #unlock .ul-card { border:3px solid #fffdf8; border-radius:26px; box-shadow:0 5px 0 #e9dfc9; }
body.ecran-v2 #unlock .ul-title { color:#98421e; }
body.ecran-v2 #unlock .ul-cover img { border:4px solid #fffdf8; border-radius:60px 60px 18px 18px; object-fit:contain; box-shadow:0 4px 0 #e9dfc9; }
body.ecran-v2:has(#offline-bar) .start-card { gap:4px; padding:10px 14px; }
body.ecran-v2:has(#offline-bar) #screen-start { padding-bottom:96px; }
body.ecran-v2 .avatar-edit { width:20px; height:20px; right:-2px; bottom:0; font-size:11px; box-shadow:0 2px 0 #e9dfc9; }
body.ecran-v2 .pgate .big { background:#fffdf8!important; color:#1f5c4e!important; box-shadow:none!important; }
body.ecran-v2:has(#offline-bar) .start-card { gap:3px; padding:8px 14px; }

/* ===================== 01/10 corrections fondateur ===================== */
/* éléments propres à un style : .v2-seul n'existe qu'en v2, .v2-ancien qu'avec l'ancien style (?ecran=0) */
body:not(.ecran-v2) .v2-seul { display:none !important; }
body.ecran-v2 .v2-ancien { display:none !important; }
body.ecran-v2 {
  --v2-i-book:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4.5h6a4 4 0 0 1 4 4V21a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 4.5h-6a4 4 0 0 0-4 4V21a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");
  --v2-i-egg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5c-3.9 0-7 7-7 11.5a7 7 0 0 0 14 0c0-4.5-3.1-11.5-7-11.5z'/%3E%3Cpath d='M8.5 13.5l2 1.6 2-2 2 1.6'/%3E%3C/svg%3E");
  --v2-i-headphones:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18v-6a9 9 0 0 1 18 0v6'/%3E%3Cpath d='M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z'/%3E%3C/svg%3E");
}
/* icône devant un bouton : un ::before masqué, de la couleur du texte */
body.ecran-v2 :is(#btn-start,#btn-mimots,.book .actions .lire,.book .actions .ecouter) { display:inline-flex; align-items:center; justify-content:center; gap:9px; }
body.ecran-v2 :is(#btn-start,#btn-mimots,.book .actions .lire,.book .actions .ecouter)::before { content:""; flex:none; width:1.05em; height:1.05em; background:currentColor; -webkit-mask:var(--v2-i-book) center/contain no-repeat; mask:var(--v2-i-book) center/contain no-repeat; }
/* :is() prend la spécificité de son argument le plus fort (#btn-start) : les icônes propres passent donc en !important */
body.ecran-v2 #btn-mimots::before { -webkit-mask-image:var(--v2-i-egg) !important; mask-image:var(--v2-i-egg) !important; }
body.ecran-v2 .book .actions .ecouter::before { -webkit-mask-image:var(--v2-i-headphones) !important; mask-image:var(--v2-i-headphones) !important; }

/* 4 · bandeau installation : logo sans carré, texte « raccourci » */
body.ecran-v2 .install .install-logo { flex:none; width:34px; height:31px; }
/* 4 · 6 · accueils : avatar et titre plus grands */
body.ecran-v2 .avatar-btn { width:112px; height:112px; }
body.ecran-v2 #home-title { font-size:38px; line-height:1.1; }
body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) .avatar-btn { width:68px; height:68px; }
body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) #home-title { font-size:33px; }
body.ecran-v2 .avatar-edit { width:26px; height:26px; font-size:13px; }
/* 7 · reprise : plus de « Pas toi ? » (déplacé dans l'Espace parents) ni de bandeau autour d'« Espace parents » */
body.ecran-v2 #btn-other { display:none !important; }
body.ecran-v2 .start-card > .row { background:none; }
/* 5 · navigateur intégré : boutons plus petits, à droite */
body.ecran-v2 #inapp-bar { font-size:14px !important; padding:10px 12px !important; }
body.ecran-v2 #inapp-bar > div { justify-content:flex-end; margin-top:8px !important; }
body.ecran-v2 :is(#inapp-open,#inapp-close) { flex:0 0 auto !important; min-height:40px; padding:7px 16px !important; font-size:14px !important; line-height:1.3; }
body.ecran-v2 #inapp-open { background:#1f5c4e !important; color:#fff !important; }
body.ecran-v2 #screen-start:has(~ #inapp-bar:not([hidden])) { padding-top:118px; }
/* 8 · Espace parents : les mots qui lui résistent */
body.ecran-v2 .v2-resiste ol { list-style:none; margin:6px 0 4px; padding:0; display:grid; gap:6px; counter-reset:r; }
body.ecran-v2 .v2-resiste li { counter-increment:r; display:flex; align-items:center; gap:10px; background:#fffdf8; border:1px solid #e3dccb; border-radius:14px; padding:6px 12px; }
body.ecran-v2 .v2-resiste li::before { content:counter(r); flex:none; width:24px; height:24px; border-radius:50%; background:#f6eddc; color:#98421e; font-weight:700; font-size:14px; display:grid; place-items:center; }
body.ecran-v2 .v2-resiste li b { font:700 22px Andika,sans-serif; color:#183d36; flex:1; }
body.ecran-v2 .v2-resiste li span { font-size:13px; color:#526356; }
/* 9 · réglages avancés : le choix du moteur vocal n'est plus montré (valeur et logique inchangées) */
body.ecran-v2 #screen-parent .p-engine-row { display:none; }
/* 10 · bibliothèque : boutons avec icône, espace sous la barre de progression */
body.ecran-v2 .book .progress { margin-bottom:12px; }
body.ecran-v2 .book .actions { gap:8px; }
body.ecran-v2 .book .actions :is(.lire,.ecouter) { border-radius:999px; font-size:19px; padding:8px 8px; }
body.ecran-v2 .book .actions .ecouter { background:#fffdf8; color:#1f5c4e; border:1.5px solid #b9c6b5; }
/* 12 · album : image principale carrée, pleine largeur, sans arrondi */
body.ecran-v2 .mm-hero-banner { border-radius:0 !important; border:0; overflow:visible; }
body.ecran-v2 .mm-hero-banner .mm-hero { width:100%; max-height:none; aspect-ratio:1/1; object-fit:cover; border-radius:0; border:0; box-shadow:none; }
/* 13 · écoute : image sans arrondi */
body.ecran-v2 #listen-img { border-radius:0; border:0; box-shadow:none; }
/* 14 · lecture mot : phrase collée sous l'image, micro plus gros */
body.ecran-v2 #screen-page #text { align-content:flex-start; align-items:flex-start; padding-top:12px; }   /* align-items : cas d'une seule ligne (nowrap) */
body.ecran-v2 #screen-page .controls { height:126px; }
body.ecran-v2 #screen-page .controls .mic-wrap { width:104px; height:104px; }
body.ecran-v2 #btn-mic { width:98px; height:98px; }
body.ecran-v2 #btn-mic::after { width:42px; height:42px; margin:-21px 0 0 -21px; }
/* 15 · aide (zoom sur un mot) : ni voile ni carte ; elle remplace la phrase sous l'image ; pas de « Signaler » (menu ⋯) */
body.ecran-v2 #focus { top:var(--v2-aide-haut,0px); bottom:var(--v2-aide-bas,0px); background:var(--v2-cream,#fcf8ef); backdrop-filter:none; -webkit-backdrop-filter:none; padding:8px 16px; align-items:center; }
body.ecran-v2 #focus .focus-card { background:none; border:0; box-shadow:none; padding:0; gap:12px; }
body.ecran-v2 #focus .flags { display:none; }
body.ecran-v2 #screen-start:has(~ #inapp-bar:not([hidden])) #unsupported { display:none; }   /* 5 · le bandeau demande deja d ouvrir le navigateur */
/* 6 · 7 · accueils plus grands mais sans défilement : bouton 🔊 dans la bulle, compte sur une ligne, petits écrans compactés */
body.ecran-v2 .mm-home .mm-bubble { position:relative; padding-right:58px; }
body.ecran-v2 .mm-home .mm-bubble .mm-dream-say { position:absolute; right:8px; top:50%; transform:translateY(-50%); margin:0; float:none; }
body.ecran-v2 .home-account { display:flex; flex-wrap:nowrap; justify-content:center; align-items:center; gap:4px; font-size:12px; margin:0; max-width:100%; }
body.ecran-v2 #home-email { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.ecran-v2 #btn-logout { flex:none; }
@media (max-height:760px) {
  body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) .home-brand { display:none; }
  body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) .avatar-btn { width:60px; height:60px; }
  body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) #home-title { font-size:30px; }
  body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) :is(#btn-sound-test,.row) { min-height:40px; }
}
@media (max-height:660px) {
  body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) .mm-home .mm-mid { width:40px; height:40px; }
  body.ecran-v2 .start-card:has(.mm-home:not(.hidden)) > .big { min-height:46px; font-size:20px; }
  body.ecran-v2 #screen-start .start-card:has(.mm-home:not(.hidden)) { gap:2px; padding-top:8px; padding-bottom:8px; }
  body.ecran-v2 #screen-start:has(.mm-home:not(.hidden)) { padding-top:6px; padding-bottom:6px; }
}
