/* Parcours guidés : largeur intrinsèque maîtrisée, contenu secondaire replié. */
main,#content,.panel,fieldset,label,.section-head>div{min-width:0}
fieldset{min-inline-size:0}
input,select,textarea{max-width:100%;min-width:0}
button,summary,.panel,.source-link{overflow-wrap:anywhere}
button{white-space:normal}
.actions,.course-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.daily-card{background:#edf4e8;padding:24px;max-width:780px}
.daily-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;font-size:12px;color:var(--muted)}
.daily-card h2{margin:14px 0 5px;font-size:27px}
.daily-topic{font-size:17px;max-width:600px;margin:5px 0 10px}
.daily-card .primary{margin:5px 0 12px;min-width:190px;min-height:48px}
.daily-path{list-style:none;padding:0;margin:8px 0 0}
.daily-path li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #d5e0ce}
.daily-path li>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#dfead8;color:var(--green);font-size:13px}
.daily-path li.current>span{background:var(--green);color:white}
.daily-path strong{font-size:14px}.daily-path small{display:block;font-size:12px;color:var(--muted)}
.daily-path b{font-size:11px;font-weight:550;color:var(--muted)}
.daily-path .done{opacity:.75}.daily-reward{margin:12px 0 0}
.daily-paper,.daily-agenda{max-width:780px;padding:15px 18px}
.course-current>div{flex:1;min-width:0}.course-current>details{width:100%}
.course-tools{margin:0 0 18px;justify-content:space-between}



.course-history .timeline-row{display:block;padding:12px 0}
.practice-navigation{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.practice-navigation>span{font-size:12px;color:var(--muted)}
.practice-card{max-width:820px}.practice-card .question{font-size:23px;line-height:1.4}
.practice-card .mission-track{margin:12px 0 16px}
.practice-card .timer-row{display:block;margin:8px 0;color:var(--muted)}
.timer-row summary{font-size:12px}.timer-row[open]>span{display:block;font-size:12px}
.question-audio{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.question-audio p{flex-basis:100%;margin:0}.question-audio .text-button{font-size:12px}
.question-audio #audio-error:empty{display:none}
.answer-label{min-width:0}.answer-label select,.answer-label input,.answer-label textarea{width:100%;max-width:100%}
.question-source{margin-top:18px}.question-source summary{font-size:12px}
.mission-finish{max-width:780px}.mission-finish h2{margin:10px 0}
.mission-finish>details{margin-top:20px}.mission-finish>#finish-home{margin:12px 0}
.mission-finish>#finish-game{display:block}
.parent-mobile-nav{display:none}
.parent-actions{background:transparent;border:0;padding:0;margin:20px 0}
.parent-actions h3{font-size:16px;margin:0 0 5px}
.parent-action>span:nth-child(2){min-width:0}.parent-action small{display:block;text-align:left;margin:4px 0 0}
.parent-all-good{font-size:13px}
.parent-info-link{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;margin:16px 0}
.parent-info-link>span+span{font-size:12px;font-weight:400}
.settings-intro{margin-bottom:12px}




#enrich-panel{scroll-margin-top:12px;margin-bottom:18px;border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--white)}
#enrich-panel .enrich-strip{margin:0;padding:0;background:none;border:0}
#enrich-panel h3{font-size:17px;margin:0 0 8px}
#enrich-panel .enrich-strip strong{font-size:12px;font-weight:550}
#enrich-panel details{margin-top:12px}
.enrich-strip>div{min-width:0;flex:1}
.auto-settings>summary{font-size:12px}
/* Téléphone : graines, étape et pauses sous le titre (la barre latérale est masquée sous 760 px). */
.xp-line{display:none}
@media(max-width:760px){.xp-line{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;margin-top:4px;font-size:13px;color:var(--muted)}.xp-line .text-button{font-size:13px;min-height:44px;padding:0 4px;font-weight:650}}
/* Téléphone : le bouton visé s'arrête au-dessus de la barre de navigation du bas. */
@media(max-width:760px){#submit-answer{scroll-margin-bottom:calc(92px + env(safe-area-inset-bottom))}}
/* Mission reprise après un rechargement (doc 02, E2). */
.resume-banner{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:#edf4e7;font-size:14px;font-weight:600}
/* Écran d'attente de l'enfant (§7.5.8). */
.prep-banner{display:grid;gap:10px;margin-bottom:14px;border-left:4px solid var(--green)}
.prep-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0}
.prep-line strong{font-size:15px}.prep-line small{flex:1;color:var(--muted);font-size:12px}
.prep-line button{width:auto;margin-top:4px}
/* Préparations par matière (§7.5.8) : un texte par état, et l'action possible. */
.job-list{display:grid;gap:8px;margin-top:12px}
.job-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px}
.job-row>div{min-width:0;flex:1}.job-row strong{font-size:13px}.job-row p{margin:3px 0 0;overflow-wrap:anywhere}
.job-row[data-job-state="failed"] p,.job-row[data-job-state="rejected"] p{color:#9a3b12}
.job-row button{flex-shrink:0}


.parent-help{margin:18px 0}.parent-help .family-flow{box-shadow:none;border:0;padding:16px 0}
.parent-help .pipeline-strip{padding:12px;box-shadow:none}
.parent-head button{min-height:44px}
body:has(dialog[open]){overflow:hidden}
dialog{overscroll-behavior:contain}
#parent-dialog{max-width:940px}
#parent-content,#parent-page{min-width:0;max-width:100%}
.communication-list article,.notice-observations article{overflow-wrap:anywhere}
.reviewed-card>summary{min-height:32px}
.capture-fields{margin:10px 0}.capture-pages{margin:10px 0}.capture-analysis{font-size:12px}
.capture-fix{margin:16px 0 4px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.capture-fix p{margin:0 0 10px;font-size:13px}.capture-fix-row{display:flex;gap:8px;flex-wrap:wrap}.capture-fix-row select{flex:1;min-width:160px;width:auto}.capture-delete{color:#a14332}.capture-delete[data-armed]{font-weight:750;text-decoration:underline}
@media(max-width:760px){
 .topbar{min-height:65px;padding:12px 16px}.topbar h1{font-size:21px}
 main{padding:14px 12px 86px}
 footer{margin-top:15px;padding:12px 0}
 button.primary,button.secondary,.quiet{min-height:44px}
 .panel{padding:16px;margin-bottom:12px}
 .daily-card{padding:18px}.daily-card h2{font-size:24px;margin-top:12px}
 .daily-card .primary{width:100%;font-size:16px;min-width:0}
 .daily-topic{font-size:16px}
 .daily-caption{font-size:11px}.daily-caption .eyebrow{font-size:9px;letter-spacing:.7px}
 .daily-path li{gap:9px;padding:10px 0}.daily-path small{font-size:12px}
 .daily-path b{font-size:10px}.daily-reward{font-size:12px}
 .daily-paper,.daily-agenda{padding:13px 16px}
 .course-current h2{font-size:21px}.course-current>div>.primary{width:100%;margin-top:7px}
 .course-tools button{font-size:13px}.course-tools .secondary{flex:1}
 .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
 .tabs button{font-size:12px;min-height:44px}
 .practice-card{padding:16px 14px}.practice-card .question{font-size:20px}
 .question-top .eyebrow{max-width:80%;font-size:10px}
 .practice-navigation>span{font-size:11px}
 .practice-card .answer-label{margin:13px 0}
 .practice-card input,.practice-card select,.practice-card textarea{font-size:16px}
 .practice-card #submit-answer{min-height:48px;font-size:14px}
 .feedback{margin-top:12px}.feedback .actions{align-items:stretch}
 #next-question{width:100%;min-height:48px}
 .task-row{grid-template-columns:24px minmax(0,1fr);gap:8px}
 .task-row .due{grid-column:2;grid-row:2;text-align:left;max-width:100%;font-size:12px}
 .task-row p{font-size:14px}.task-check input{width:22px;height:22px}
 dialog{width:calc(100% - 12px);max-height:calc(100vh - 12px);max-height:calc(100dvh - 12px);margin:6px auto;padding:16px 12px;border-radius:14px}
 .dialog-head h2{font-size:19px}.dialog-head>button{font-size:13px;min-height:44px}
 .parent-head{margin:0 0 10px}.parent-head .eyebrow{display:none}
 .parent-tabs{display:none}
 .parent-mobile-nav{display:grid;gap:4px;font-size:11px;color:var(--muted);margin-bottom:16px}
 .parent-mobile-nav select{width:100%;font-size:16px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--white)}
 .review-heading h3{font-size:19px}.review-heading p{font-size:13px}
 .review-heading{margin-bottom:12px}.review-card{padding:14px 12px}
 .review-question{font-size:14px}.review-answer{font-size:16px;padding:10px 12px}
 .review-actions button{font-size:14px;min-height:46px}
 .parent-action{grid-template-columns:16px minmax(0,1fr) 16px;padding:12px 9px}
 .parent-action strong{font-size:14px}.parent-action small{grid-column:auto;font-size:12px}
 .parent-info-link{display:grid;gap:4px;font-size:14px}
 #enrich-panel{padding:14px}.enrich-strip{display:grid;gap:12px}
 .enrich-strip p{font-size:12px}.enrich-strip button{width:100%;font-size:14px}
 .job-row{display:grid;gap:6px}.job-row button{justify-self:start;font-size:13px}
 
 
 
 .source-excerpt{font-size:14px}
 .subject-followup>summary b{max-width:90px}
 .mission-finish{padding:22px 16px}.mission-finish h2{font-size:24px}
 .mission-finish>#finish-home{width:100%;font-size:14px}
}

.communication-list{margin:22px 0}.communication-message{padding:14px 0;border-top:1px solid var(--line)}
.communication-message summary{font-size:14px;line-height:1.5;min-height:44px}
.communication-message summary small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:5px}
.notice-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;padding:12px;background:var(--white);border-radius:10px}
.notice-hours{display:block;padding:12px 0}.notice-hours summary{font-size:14px}.notice-hours summary strong{display:block;margin-top:6px}
.notice-history{margin-top:20px}.notice-history .notice-life{margin-top:20px}.parent-info-link .fresh-badge{margin-left:8px}

.question-illustration{margin:18px 0;text-align:center}.question-illustration img{display:block;width:min(220px,70vw);max-height:250px;object-fit:contain;margin:0 auto}.question-illustration figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.count-pill{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:11px;background:var(--soft);color:var(--green);font-size:12px;font-weight:700;vertical-align:3px;letter-spacing:0}
