html.game-app-active,body.game-app-active{height:100%;overflow:hidden;overscroll-behavior:none}
body.game-app-active>header,body.game-app-active>footer,body.game-app-active>.school-build-progress{display:none!important}
body.game-app-active #app{position:fixed;inset:0;max-width:none;margin:0;padding:0;height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--paper,#fffdf5);overflow:hidden;z-index:20}
.game-app-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));padding-top:max(8px,env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--paper);min-height:64px}
.game-app-toolbar h1{font:800 clamp(15px,2.5vw,22px)/1.2 system-ui;margin:0;max-height:54px;overflow:auto;overflow-wrap:anywhere}
.game-app-toolbar a,.game-app-toolbar button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border-radius:12px;font:700 14px/1.2 system-ui;text-decoration:none;color:var(--ink);background:#e8efdf;white-space:nowrap}
.game-app-toolbar .game-app-exit{background:#f6e8dc;border:1px solid #d8bfa4}.game-app-toolbar .school-reader-controls{display:block;margin:0;padding:0;min-height:0}.game-app-toolbar .school-reader-controls button{font-size:18px;min-width:44px}
.game-app-layout{width:min(100%,1000px);margin:auto;height:100%;min-height:0;display:grid;grid-template-rows:minmax(80px,22%) minmax(0,1fr) 140px;gap:8px;padding:10px max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
.game-app-prompt{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 4px}.game-app-prompt h2{font-size:clamp(18px,3vw,25px);margin:6px 0 10px}.game-app-prompt p{margin:4px 0;font-size:clamp(14px,2vw,18px)}.game-app-prompt .level-badge,.game-app-prompt .cp-game-level{margin:2px 0;font-size:14px;padding:3px 8px}.game-app-prompt .panel{padding:12px;margin:8px 0}.game-app-prompt .flag-display{padding:5px;margin:6px auto;max-width:180px;height:85px}.game-app-prompt .flag-display img{height:100%;width:auto}.game-app-prompt .capital-country{padding:8px;margin:4px 0}.game-app-prompt .capital-country img{width:60px;height:40px}.game-app-prompt .game-object{font-size:3rem;margin:5px}.game-app-prompt .cp-count-basket{margin:5px;padding:4px}.game-app-prompt .cp-count-row{margin:1px}.game-app-prompt .cp-count-row span{font-size:24px}.game-app-prompt .game-target{padding:5px}.game-app-prompt .game-target .math-figure{max-height:70px}.game-app-prompt .culture-city{max-width:360px;margin:5px auto}.game-app-prompt .culture-city p{font-size:12px}.game-app-prompt .culture-order{margin:6px 0}.game-app-prompt .culture-order button{min-height:36px;padding:5px 10px}.game-app-prompt .culture-map-legend{font-size:12px;gap:3px}.game-app-prompt .culture-map-legend li{padding:4px}
.game-app-board{min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain;padding:6px}.game-app-board>.mobile-choices,.game-app-board>.cp-game-choices,.game-app-board>.culture-options{width:min(100%,680px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(56px,12dvh,92px);align-content:center;gap:12px;margin:0}.game-app-board>.mobile-choices button,.game-app-board>.cp-game-choices button,.game-app-board>.culture-options button{height:100%;min-height:0;margin:0;padding:8px 10px;font-size:clamp(15px,2.2vw,20px);overflow:auto;line-height:1.3;transform:none!important;animation:none!important;box-sizing:border-box}.game-app-board .cp-game-choices button>span{font-size:28px;margin:0}.game-app-board .cp-game-choices strong{font-size:inherit}.game-app-board .game-balloons button:after{display:none}.game-app-board .game-balloons button{border-radius:18px}.game-app-board .culture-match{width:min(100%,700px);margin:0;gap:10px}.game-app-board .culture-match button{min-height:44px;height:clamp(44px,8dvh,68px);overflow:auto;font-size:clamp(13px,2vw,17px);padding:7px 10px}.game-app-board .culture-map,.game-app-board .culture-art{width:min(100%,380px);min-width:260px;min-height:260px;margin:auto;flex-shrink:0}
.game-app-board .memory-grid,.game-app-board .cp-memory-grid{display:grid;grid-template-columns:repeat(var(--memory-columns,4),minmax(0,1fr));grid-template-rows:repeat(var(--memory-rows,4),minmax(0,1fr));gap:10px;width:min(100%,calc(var(--memory-columns,4)*100px),calc((100dvh - 240px)*var(--memory-columns,4)/var(--memory-rows,4)));height:auto;aspect-ratio:var(--memory-columns,4)/var(--memory-rows,4);min-width:0;margin:auto;align-self:center}
.game-app-board .memory-card,.game-app-board .cp-memory-card{width:100%;height:100%;min-height:0;min-width:0;padding:4px;font-size:clamp(18px,5vw,34px);display:grid;place-items:center;position:relative;line-height:1.1;overflow:hidden;transform:none!important;transition:none!important;animation:none!important;border-radius:12px;box-shadow:none!important}.game-app-board .cp-memory-card small{position:absolute;right:3px;bottom:3px;line-height:1;font-size:13px}.game-app-memory .game-app-layout{grid-template-rows:90px minmax(0,1fr) 132px}.game-app-memory .game-app-prompt{font-size:14px}.game-app-memory .game-app-prompt p{font-size:14px}
.game-app-bottom{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 52px;gap:8px}.game-app-feedback{min-height:0;overflow:auto;overscroll-behavior:contain;border-radius:12px;background:#edf3e6;padding:8px 12px;font-size:15px;line-height:1.4}.game-app-feedback:empty{background:transparent}.game-app-feedback .feedback,.game-app-feedback .cp-game-feedback,.game-app-feedback .culture-feedback,.game-app-feedback .puzzle-note{margin:0;padding:0;min-height:0;box-shadow:none;background:transparent;font-size:inherit;line-height:inherit}.game-app-controls{min-height:0;display:flex;justify-content:center;gap:10px;align-items:stretch}.game-app-controls>button{margin:0;min-height:44px;width:min(100%,340px);padding:6px 12px;font-size:16px;line-height:1.2;overflow:auto}.game-app-controls>button[hidden]{display:block!important;visibility:hidden}.game-app-controls .puzzle-bottom{display:flex;margin:0;gap:8px;width:100%;position:static;padding:0}.game-app-controls .puzzle-bottom>*{flex:1;min-width:0;padding:6px;font-size:14px;margin:0;min-height:44px}.game-app-puzzle .hero-puzzle-grid{width:min(100%,380px,calc(100dvh - 280px));margin:auto;flex-shrink:0}.game-app-puzzle .puzzle-cell{min-height:0;padding:0}.game-app-puzzle .puzzle-gesture-guide{font-size:12px}.game-app-puzzle .puzzle-status{margin:0}
.game-app-toolbar a:focus-visible,.game-app-toolbar button:focus-visible{outline:3px solid #b87517;outline-offset:2px}
#parent-dialog,#install-guide{width:min(94vw,650px);max-height:88vh;max-height:88dvh;overflow:auto;overscroll-behavior:contain;padding:0 20px 22px;scrollbar-gutter:stable}
.dialog-topbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;margin:0 0 14px;background:var(--paper,#fffdf5);border-bottom:1px solid var(--line);font-size:16px}.dialog-topbar .dialog-close{display:grid;place-items:center;margin:0;padding:0;width:44px;height:44px;min-width:44px;background:#e8efdf;color:var(--ink);border:1px solid #bdcdb6;border-radius:50%;font:700 30px/1 system-ui}.dialog-close:focus-visible{outline:3px solid #b87517;outline-offset:2px}
@media(max-width:480px){.game-app-toolbar{gap:6px;grid-template-columns:auto minmax(0,1fr) auto auto;padding-left:8px;padding-right:8px}.game-app-toolbar h1{font-size:14px}.game-app-toolbar a{font-size:12px;padding:7px}.game-app-layout{padding-left:10px;padding-right:10px;gap:5px;grid-template-rows:minmax(80px,25%) minmax(0,1fr) 132px}.game-app-board .memory-grid,.game-app-board .cp-memory-grid{gap:7px}.game-app-board>.mobile-choices,.game-app-board>.cp-game-choices,.game-app-board>.culture-options{gap:8px}.game-app-board .culture-match{gap:7px}.game-app-memory .game-app-layout{grid-template-rows:85px minmax(0,1fr) 132px}}
@media(max-height:500px) and (orientation:landscape){.game-app-toolbar{min-height:48px;padding-top:3px;padding-bottom:3px}.game-app-layout,.game-app-memory .game-app-layout{grid-template-columns:minmax(180px,36%) minmax(0,1fr);grid-template-rows:minmax(0,1fr) 96px;gap:6px}.game-app-prompt{grid-column:1;grid-row:1/3}.game-app-board{grid-column:2;grid-row:1}.game-app-bottom{grid-column:2;grid-row:2;grid-template-rows:minmax(0,1fr) 44px}.game-app-board .memory-grid,.game-app-board .cp-memory-grid{width:min(100%,calc((100dvh - 165px)*var(--memory-columns,4)/var(--memory-rows,4)))}.game-app-board .hero-puzzle-grid{width:min(100%,calc(100dvh - 170px))}.game-app-feedback{font-size:12px;padding:4px 7px}}

@media(max-width:480px){.game-app-toolbar{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title title title" "levels audio exit";gap:5px;min-height:90px}.game-app-title{grid-area:title}.game-app-toolbar h1{font-size:17px;line-height:1.2;max-height:42px;overflow:hidden}.game-app-levels{grid-area:levels;justify-self:start}.game-app-toolbar .school-reader-controls{grid-area:audio}.game-app-exit{grid-area:exit}.game-app-board .memory-grid,.game-app-board .cp-memory-grid{max-width:100%}}
@media(max-height:500px) and (orientation:landscape){.game-app-toolbar{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:none;min-height:48px}.game-app-toolbar>*{grid-area:auto}.game-app-toolbar h1{font-size:15px;max-height:40px}}

.game-app-toolbar h1{font-size:clamp(17px,2.5vw,22px)!important;line-height:1.2!important;margin:0!important}.game-app-toolbar .game-app-title{min-width:0}@media(max-width:480px){.game-app-toolbar h1{font-size:17px!important}}

.game-app-board .memory-card{font-size:clamp(14px,3.5vw,24px)!important;overflow-wrap:anywhere;line-height:1.15!important}.game-app-board .cp-memory-card{font-size:clamp(22px,5vw,34px)!important}

.game-app-memory .game-app-layout{grid-template-rows:110px minmax(0,1fr) 132px}.game-app-board .memory-grid,.game-app-board .cp-memory-grid{width:min(100%,calc(var(--memory-columns,4)*100px),calc((100dvh - 350px)*var(--memory-columns,4)/var(--memory-rows,4)));min-width:calc(var(--memory-columns,4)*44px + (var(--memory-columns,4) - 1)*7px)}
@media(max-height:650px) and (orientation:portrait){.game-app-memory .game-app-layout{grid-template-rows:74px minmax(0,1fr) 100px}.game-app-memory .game-app-bottom{grid-template-rows:minmax(0,1fr) 44px}}
@media(max-height:500px) and (orientation:landscape){.game-app-memory .game-app-layout{grid-template-rows:minmax(0,1fr) 96px}.game-app-board .memory-grid,.game-app-board .cp-memory-grid{width:min(100%,calc((100dvh - 165px)*var(--memory-columns,4)/var(--memory-rows,4)))}}

body.game-app-active #app{padding:0!important}.game-app-board .memory-grid,.game-app-board .cp-memory-grid{--memory-gap:10px;gap:var(--memory-gap);min-width:calc(var(--memory-columns,4)*44px + (var(--memory-columns,4) - 1)*var(--memory-gap))}@media(max-width:480px){.game-app-board .memory-grid,.game-app-board .cp-memory-grid{--memory-gap:7px}}@media(max-height:500px) and (orientation:landscape){.game-app-board .memory-grid,.game-app-board .cp-memory-grid{width:min(100%,calc((100dvh - 190px)*var(--memory-columns,4)/var(--memory-rows,4)))}}

.game-app-toolbar h1{overflow:hidden!important}.game-app-controls .puzzle-bottom{flex-wrap:nowrap!important}.game-app-controls .puzzle-check{flex-basis:auto!important}

/* Consigne lisible, images CP plus grandes et lecteur dans une zone réservée. */
body.game-app-active #app{--game-audio-height:calc(64px + env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) var(--game-audio-height)}
.game-app-audio-slot{display:flex;align-items:center;justify-content:center;background:#edf3e6;border-top:1px solid #bfd0ba;color:#4d6856;font:600 14px/1.2 system-ui;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));min-height:0}
.game-app-active #audio-panel{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%;height:calc(64px + env(safe-area-inset-bottom))!important;min-height:0!important;max-height:calc(64px + env(safe-area-inset-bottom))!important;max-width:none;margin:0!important;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border:0;border-top:1px solid #bfd0ba;border-radius:0;background:#edf3e6;box-shadow:none;overflow:hidden;z-index:30;box-sizing:border-box}
.game-app-active #audio-panel:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.game-app-active #audio-panel #audio-label{font:700 14px/1.2 system-ui;min-width:0}.game-app-active #audio-panel .audio-row{display:flex;align-items:center;gap:6px;margin:0;min-width:0}.game-app-active #audio-panel .audio-row button{height:44px;min-height:44px;margin:0;padding:6px 8px;font:700 14px/1.2 system-ui;flex:0 1 auto;white-space:nowrap}.game-app-active #audio-panel #audio-back:disabled,.game-app-active #audio-panel #audio-forward:disabled,.game-app-active #audio-panel #recorded-audio,.game-app-active #audio-panel #audio-info{display:none!important}
.game-app-mission-label{display:block;color:#335b3b;font:800 12px/1.3 system-ui;letter-spacing:.06em;text-transform:uppercase;margin:4px 0 8px}.game-app-prompt{border:1px solid #d4dfc9;border-radius:14px;background:#f4f8e9;padding:10px 12px}.game-app-prompt h2{font-family:system-ui;font-weight:800;line-height:1.3;margin:3px 0 10px}.game-app-prompt .cp-game-level{font-size:13px;margin:0 0 7px;padding:0;color:#52674f}.game-app-prompt p{line-height:1.4}
.game-app-cp-quiz .game-app-layout{grid-template-rows:clamp(170px,27dvh,220px) minmax(0,1fr) 88px}.game-app-cp-quiz .game-app-bottom{grid-template-rows:minmax(0,1fr) 48px;gap:6px}.game-app-cp-quiz .game-app-feedback{padding:5px 10px}.game-app-cp-quiz .game-app-prompt h2{font-size:21px}.game-app-cp-quiz .game-app-prompt p{font-size:15px}.game-app-listen{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;padding:9px 12px;margin:8px 0;border:1px solid #77936e;border-radius:12px;background:#dfedcf!important;color:#23452e!important;font:800 16px/1.25 system-ui!important;box-shadow:none!important}.game-app-cp-sounds .game-app-toolbar .school-reader-controls{display:none}
.game-app-cp-quiz .game-app-board{display:grid;grid-template-rows:28px minmax(0,1fr);align-items:center;justify-items:center;gap:8px}.game-app-board-label{align-self:center;justify-self:start;margin:0;color:#426248;font:800 13px/1.3 system-ui}.game-app-cp-quiz .game-app-board>.cp-game-choices{grid-auto-rows:var(--cp-tile-height,140px);gap:12px;align-content:center;width:min(100%,760px)}.game-app-cp-quiz .game-app-board>.cp-game-choices button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:20px;border-width:3px;background:#fffdf5!important;overflow:hidden}.game-app-cp-quiz .game-app-board>.cp-game-choices button>span{font-size:var(--cp-tile-icon,60px)!important;line-height:1.05;margin:0}.game-app-cp-quiz .game-app-board>.cp-game-choices strong{font-size:22px!important;line-height:1.2;overflow-wrap:anywhere}.game-app-cp-quiz .cp-game-choices>button:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc((100% - 12px)/2)}.game-app-board .cp-memory-card{font-size:var(--cp-memory-icon,48px)!important}
@media(max-height:650px) and (orientation:portrait){.game-app-cp-quiz .game-app-layout{grid-template-rows:150px minmax(0,1fr) 74px}.game-app-cp-quiz .game-app-prompt{padding:7px 10px}.game-app-cp-quiz .game-app-prompt h2{font-size:18px}.game-app-cp-quiz .game-app-prompt p{font-size:13px}.game-app-listen{min-height:40px;margin:4px 0;font-size:14px!important}.game-app-mission-label{margin:2px 0 4px}}
@media(max-height:500px) and (orientation:landscape){.game-app-cp-quiz .game-app-layout{grid-template-rows:minmax(0,1fr) 80px}.game-app-cp-quiz .game-app-board>.cp-game-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.game-app-cp-quiz .cp-game-choices>button:last-child:nth-child(odd){grid-column:auto;width:100%}.game-app-cp-quiz .game-app-prompt h2{font-size:18px}.game-app-active #audio-panel{height:52px!important;max-height:52px!important;padding-top:4px;padding-bottom:4px}body.game-app-active #app{--game-audio-height:52px}.game-app-cp-quiz .game-app-board>.cp-game-choices strong{font-size:17px!important}}

.game-app-cp-quiz .game-app-board{grid-template-columns:minmax(0,1fr);justify-content:stretch}

.game-app-cp-quiz .game-app-mission-label{margin:0 0 5px}.game-app-cp-quiz .game-app-prompt h2{margin:0 0 7px}.game-app-cp-quiz .game-app-prompt .cp-game-level{margin:0 0 4px}.game-app-listen{margin:6px 0}.game-app-cp-quiz .game-app-prompt p{margin:2px 0}@media(max-height:650px) and (orientation:portrait){.game-app-cp-quiz .game-app-layout{grid-template-rows:182px minmax(0,1fr) 74px}.game-app-cp-quiz .game-app-board>.cp-game-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.game-app-cp-quiz .cp-game-choices>button:last-child:nth-child(odd){grid-column:auto;width:100%}.game-app-cp-quiz .game-app-board>.cp-game-choices strong{font-size:18px!important}.game-app-cp-quiz .game-app-board>.cp-game-choices button{gap:4px;padding:6px}}

.game-app-board .memory-card{font-size:var(--memory-text-size,18px)!important}
