:root{--cream:#fff8e7;--ink:#0b2d43;--blue:#0c5b8e;--blue2:#143f6d;--yellow:#f4b400;--green:#4f8e2f;--paper:rgba(255,250,236,.94);--shadow:0 16px 42px rgba(5,33,52,.22);--font-scale:1}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0b3650;font-family:ui-rounded,"SF Pro Rounded","Avenir Next",system-ui,sans-serif;color:var(--ink);font-size:calc(16px * var(--font-scale))}button,input{font:inherit}button{cursor:pointer}.app-shell,.screen{position:fixed;inset:0}.screen{display:none;overflow:hidden}.screen.is-active{display:block}.screen-home{background:#173e55}.hero-photo{position:absolute;inset:0;background:url('../images/v5/home-hero.jpg') center/cover no-repeat;transform:scale(1.035)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,25,40,.18) 0%,rgba(5,34,49,.04) 34%,rgba(7,36,47,.38) 59%,rgba(4,27,40,.84) 100%)}.home-settings{position:absolute!important;right:max(16px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));z-index:5}.icon-button{width:48px;height:48px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(9,48,70,.72);color:#fff;display:grid;place-items:center;font-size:1.45rem;box-shadow:0 8px 22px rgba(0,0,0,.18);backdrop-filter:blur(10px)}.home-brand{position:absolute;left:24px;right:24px;top:max(54px,calc(env(safe-area-inset-top) + 44px));color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}.brand-emblem{font-size:2.2rem}.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;margin:8px 0 4px;color:#fff4bf}.home-brand h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.15rem,9vw,3.6rem);line-height:.94;margin:5px 0 10px;letter-spacing:-.03em}.home-brand h1 span{color:#ffd052}.subtitle{margin:0;font-size:1.03rem;font-weight:700}.home-card{position:absolute;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:14px;border-radius:26px;background:linear-gradient(180deg,rgba(255,252,239,.96),rgba(253,244,220,.92));box-shadow:0 24px 54px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.85);backdrop-filter:blur(12px)}.home-action{width:100%;border:0;border-radius:19px;padding:14px 14px;display:grid;grid-template-columns:52px 1fr 22px;align-items:center;text-align:left;margin:0 0 10px;color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.4),0 7px 15px rgba(30,47,49,.16)}.home-action.discovery{background:linear-gradient(135deg,#78a83f,#427f2d)}.home-action.play{background:linear-gradient(135deg,#2a81b8,#155684)}.home-action.progress{background:linear-gradient(135deg,#7664a8,#564483)}.action-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:1.35rem}.home-action strong{display:block;font-size:1.18rem}.home-action small{display:block;opacity:.9;font-size:.76rem;margin-top:2px}.home-action b{font-size:2rem;font-weight:400}.reassure{text-align:center;margin:5px 0 0;font-size:.72rem;font-weight:700;color:#5d6e70}.screen-journey{background:#081f2b}.journey-topbar{position:absolute;left:0;right:0;top:0;height:calc(72px + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) 14px 10px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;z-index:40;background:linear-gradient(180deg,rgba(3,24,36,.86),rgba(3,24,36,.18),transparent);color:#fff}.journey-topbar>div{text-align:center}.journey-topbar strong,.journey-topbar span{display:block}.journey-topbar strong{font-size:1rem}.journey-topbar span{font-size:.72rem;opacity:.8;margin-top:2px}.world{position:absolute;inset:0;background:#8fd1ee;overflow:hidden;--scene:url('../images/v5/scene-valley.jpg')}.raster-scene{position:absolute;inset:-5% -20%;background-image:var(--scene);background-repeat:repeat-x;background-size:auto 110%;background-position:center bottom;will-change:transform;transition:background-image .6s ease,filter .8s ease}.scene-far{filter:blur(1.5px) saturate(.9) brightness(1.08);opacity:.72}.scene-mid{clip-path:polygon(0 18%,100% 12%,100% 100%,0 100%);opacity:.86}.scene-near{clip-path:polygon(0 62%,100% 53%,100% 100%,0 100%);filter:saturate(1.06) contrast(1.03);opacity:.93}.atmosphere{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 26%,transparent 66%,rgba(4,29,35,.24));pointer-events:none}.scene-objects{position:absolute;inset:0;z-index:10}.scene-label{position:absolute;top:calc(86px + env(safe-area-inset-top));left:18px;right:18px;max-width:360px;margin:auto;padding:12px 16px;border-radius:18px;background:rgba(255,249,229,.9);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);backdrop-filter:blur(12px);text-align:center}.scene-label span{display:block;font-family:Georgia,serif;font-size:1.15rem;font-weight:700}.scene-label small{display:block;margin-top:3px;color:#557166}.memory-event{position:absolute;left:10%;top:45%;font-size:2.4rem;filter:drop-shadow(0 4px 4px rgba(0,0,0,.25));animation:float 2.8s ease-in-out infinite}.train-raster{position:absolute;z-index:16;left:-7%;right:15%;bottom:8%;height:31%;display:flex;align-items:flex-end;pointer-events:none;filter:drop-shadow(0 14px 14px rgba(0,0,0,.28))}.train-raster img{width:100%;height:100%;object-fit:contain;object-position:left bottom}.train-raster.moving{animation:trainBob .8s ease-in-out infinite}.travel-message{position:absolute;z-index:30;left:50%;top:42%;transform:translate(-50%,-50%) scale(.95);background:rgba(9,50,68,.88);color:#fff;padding:16px 22px;border-radius:22px;font-weight:800;font-size:1.15rem;box-shadow:var(--shadow);opacity:0;transition:.3s;white-space:nowrap}.travel-message.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.scene-progress{position:absolute;z-index:30;left:18px;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));height:7px;border-radius:20px;background:rgba(255,255,255,.35);overflow:hidden}.scene-progress span{display:block;width:0;height:100%;background:#ffd038;border-radius:inherit;transition:width .5s}.game-panel{position:absolute;inset:0;z-index:50;padding:calc(86px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#d8eff6,#f7efda 40%,#f5e9cc);overflow:auto}.is-hidden{display:none!important}.question-card,.result-card{background:rgba(255,252,241,.97);border:1px solid #fff;border-radius:26px;padding:20px;box-shadow:0 20px 44px rgba(23,60,72,.2)}.eyebrow{display:inline-block;border-radius:999px;background:#174f79;color:#fff;padding:7px 12px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.question-card h2,.result-card h2{font-family:Georgia,serif;font-size:1.55rem;line-height:1.08;margin:14px 0 18px}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answer-button{min-height:88px;border:2px solid #d6c79f;border-radius:18px;background:linear-gradient(#fff,#fff6df);color:#17354a;font-weight:800;font-size:1.05rem;box-shadow:0 5px 12px rgba(36,54,57,.1)}.answer-button.correct{border-color:#5c9c38;background:#e5f3d9}.answer-button.soft-wrong{border-color:#d6a768;background:#fff2d6}.sequence-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:16px}.slot{min-height:64px;border:2px dashed #c7ae70;border-radius:16px;background:#fffaf0;color:#725f36;font-weight:900}.slot.filled{border-style:solid}.slot small{display:block;font-size:.64rem;line-height:1.1;font-weight:700;margin-top:3px}.slot-ok{background:#e8f4dd;border-color:#5e9b42}.slot-fix{background:#fff0d6;border-color:#d5a156}.scene-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.scene-card{padding:0;border:3px solid transparent;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 6px 14px rgba(34,61,67,.12)}.scene-card img{display:block;width:100%;height:115px;object-fit:cover}.scene-card strong{display:block;padding:9px 6px;font-size:.76rem}.scene-card.selected{border-color:#f4b400;transform:translateY(-2px)}.scene-card.used{opacity:.42}.sequence-help{text-align:center;font-size:.8rem;color:#66766e}.big-button{width:100%;border:0;border-radius:18px;min-height:56px;font-weight:900;font-size:1rem;margin-top:10px}.big-button.accent{background:linear-gradient(135deg,#ffc72f,#efa700);color:#3f3103;box-shadow:0 7px 16px rgba(180,123,0,.22)}.big-button.secondary{background:#ece5d2;color:#234358}.result-card{text-align:center;margin-top:8vh}.result-star{font-size:4rem;animation:pop .6s ease}.result-card p{font-size:1rem;line-height:1.45}.modal{position:fixed;inset:0;z-index:100;background:rgba(3,22,31,.64);display:grid;place-items:center;padding:18px}.modal-card{position:relative;width:min(520px,100%);max-height:86vh;overflow:auto;background:#fff9e9;border-radius:26px;padding:24px;box-shadow:0 26px 70px rgba(0,0,0,.35)}.modal-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:#eadfc5;color:#3e5360;font-size:1.6rem}.modal h2{font-family:Georgia,serif;margin:3px 0 20px}.settings-list{display:grid;gap:14px}.settings-list label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #eadfc8}.settings-list input[type=range]{width:145px}.settings-note{font-size:.82rem;line-height:1.45;color:#68736e}.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.progress-summary div{padding:16px 8px;background:#eef4e8;border-radius:17px;text-align:center}.progress-summary strong,.progress-summary span{display:block}.progress-summary strong{font-size:1.45rem;color:#1c5e83}.progress-summary span{font-size:.65rem;margin-top:4px}.reduced-motion *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}@keyframes trainBob{0%,100%{transform:translateY(0) rotate(-.15deg)}50%{transform:translateY(-3px) rotate(.15deg)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pop{0%{transform:scale(.3) rotate(-20deg)}70%{transform:scale(1.18) rotate(7deg)}100%{transform:scale(1)}}
@media(min-width:700px){.home-card{left:50%;right:auto;width:520px;transform:translateX(-50%)}.home-brand{max-width:540px;left:50%;transform:translateX(-50%);text-align:center}.scene-label{top:120px}.game-panel{padding-left:calc((100% - 620px)/2);padding-right:calc((100% - 620px)/2)}.train-raster{left:8%;right:30%;height:34%}}

/* V5.1 - Accueil illustré plein écran */
.screen-home{background:#1d6fa8}
.hero-photo{
  inset:0;
  background-image:url('../images/v5/home-cover-v5.jpg');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:none;
}
.hero-shade{
  background:linear-gradient(180deg,rgba(0,27,50,.02) 0%,rgba(0,27,50,0) 46%,rgba(5,28,37,.12) 67%,rgba(3,22,31,.48) 100%);
  pointer-events:none;
}
.home-settings{
  opacity:.88;
  background:rgba(8,48,70,.58);
}
.home-card{
  left:14px;
  right:14px;
  bottom:max(16px,env(safe-area-inset-bottom));
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  z-index:8;
}
.home-action{
  min-height:68px;
  margin-bottom:10px;
  border:2px solid rgba(255,255,255,.76);
  box-shadow:inset 0 1px rgba(255,255,255,.45),0 10px 24px rgba(0,0,0,.28);
  backdrop-filter:blur(8px);
}
.home-action.discovery{background:linear-gradient(135deg,rgba(92,145,49,.95),rgba(48,108,38,.95))}
.home-action.play{background:linear-gradient(135deg,rgba(36,126,180,.96),rgba(17,79,126,.96))}
.home-action.progress{background:linear-gradient(135deg,rgba(119,91,171,.96),rgba(79,59,126,.96))}
.home-action strong{font-size:1.22rem}
.home-action small{font-size:.78rem}
.reassure{
  display:inline-block;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  margin:2px 0 0;
  padding:7px 12px;
  border-radius:999px;
  color:#fff;
  background:rgba(3,28,41,.55);
  text-shadow:0 1px 3px rgba(0,0,0,.35);
  backdrop-filter:blur(8px);
  white-space:nowrap;
}
.home-actions-delayed{
  opacity:0;
  transform:translateY(28px);
  pointer-events:none;
  transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.25,1);
}
.home-actions-delayed.is-revealed{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
@media (max-height:740px){
  .home-action{min-height:58px;padding:10px 12px}
  .home-action small{display:none}
  .reassure{font-size:.66rem;padding:5px 10px}
}
@media(min-width:700px){
  .home-card{left:50%;right:auto;width:520px;transform:translateX(-50%)}
  .home-actions-delayed{transform:translate(-50%,28px)}
  .home-actions-delayed.is-revealed{transform:translate(-50%,0)}
}
@media (prefers-reduced-motion:reduce){
  .home-actions-delayed{transition:none}
}

/* V5.2 - Accueil en 4 PNG indépendants */
.hero-photo{background-image:url('../images/home-v5/accueil-fond.png');background-position:center top;background-size:cover}
.hero-shade{background:linear-gradient(180deg,rgba(0,20,40,.01),rgba(0,20,40,0) 70%,rgba(0,20,30,.24) 100%)}
.home-settings{top:max(74px,calc(env(safe-area-inset-top) + 14px));right:14px}
.home-reveal{position:absolute;z-index:7;left:50%;bottom:max(44px,calc(env(safe-area-inset-bottom) + 26px));transform:translateX(-50%);border:0;border-radius:18px;padding:10px 16px;background:rgba(34,27,14,.62);color:#fff;display:flex;align-items:center;gap:10px;font-weight:800;line-height:1.15;text-align:center;box-shadow:0 8px 22px rgba(0,0,0,.25);backdrop-filter:blur(6px);transition:opacity .35s ease}.tap-hand{font-size:1.6rem}.home-reveal.is-hidden{opacity:0;pointer-events:none}
.home-card{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;left:10px;right:10px;bottom:max(12px,env(safe-area-inset-bottom));align-items:end}
.home-action,.home-action.discovery,.home-action.play,.home-action.progress{display:block;width:100%;min-height:0;margin:0;padding:0;border:0;border-radius:18px;background:transparent;box-shadow:0 8px 18px rgba(0,0,0,.3);overflow:hidden;backdrop-filter:none}
.home-action img{display:block;width:100%;height:auto}
.home-actions-delayed{opacity:0;transform:translateY(24px);pointer-events:none}.home-actions-delayed.is-revealed{opacity:1;transform:translateY(0);pointer-events:auto}
@media(max-width:390px){.home-card{gap:5px;left:6px;right:6px}.home-action{border-radius:14px}}
/* V5.3 - pas de popup, boutons recadres depuis le visuel source */
.home-actions-delayed{z-index:8;background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:0}
.home-actions-delayed.is-revealed{opacity:1;transform:translateY(0);pointer-events:auto}
.home-action img{width:100%;height:auto;object-fit:contain}

/* V5.6 - alignement strict des boutons et couverture iPhone */
html,body,.app-shell,.screen{width:100%;height:100%;height:100dvh;min-height:100dvh}
.screen-home{inset:0;min-height:100dvh;background:#0877c8;overflow:hidden}
.hero-photo{
  inset:0;
  width:100%;
  height:100%;
  min-height:100dvh;
  transform:none;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.home-card{
  left:max(8px,env(safe-area-inset-left));
  right:max(8px,env(safe-area-inset-right));
  bottom:max(10px,env(safe-area-inset-bottom));
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
}
.home-action,.home-action.discovery,.home-action.play,.home-action.progress{
  width:100%;
  height:auto;
  aspect-ratio:1 / 1.13;
  border-radius:18px;
  display:flex;
  align-items:stretch;
  justify-content:stretch;
}
.home-action img{
  width:100%;
  height:100%;
  display:block;
  object-fit:fill;
}
@media(max-width:390px){.home-card{gap:5px}.home-action,.home-action.discovery,.home-action.play,.home-action.progress{border-radius:14px}}
@media(min-width:700px){.home-card{left:50%;right:auto;width:min(620px,calc(100% - 32px));transform:translateX(-50%)}}

/* V6 - Discovery illustrated full-screen journey */
.discovery-gallery{position:absolute;inset:0;z-index:25;background:#071d2b;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .45s ease}
.discovery-gallery.is-active{opacity:1;pointer-events:auto}
.discovery-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:0;transform:scale(1.015);transition:opacity .9s ease,transform 5s ease;will-change:opacity,transform}
.discovery-slide.is-current{opacity:1;transform:scale(1.045)}
.discovery-caption{position:absolute;z-index:3;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100% - 40px);padding:10px 18px;border-radius:999px;background:rgba(5,37,52,.72);color:#fff;font-weight:800;text-align:center;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.24);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-shadow:0 1px 2px rgba(0,0,0,.35)}
.discovery-gallery .scene-progress{z-index:4}
body.reduced-motion .discovery-slide{transform:none!important}

/* V6.1 - Jeu d'ordre basé sur les 5 illustrations de la Découverte */
.illustrated-sequence{padding:16px 14px 20px}
.illustrated-sequence h2{margin:10px 0 6px;font-size:1.38rem}
.sequence-intro{margin:0 0 12px;color:#60706a;font-size:.83rem;text-align:center}
.five-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:12px}
.five-slots .slot{min-width:0;min-height:62px;padding:6px 3px;border-radius:12px}
.five-slots .slot>span{display:block;font-size:1.05rem}
.five-slots .slot small{font-size:.52rem;line-height:1.02;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.five-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.five-cards .discovery-card:last-child{grid-column:1 / -1;width:50%;justify-self:center}
.discovery-card img{height:138px;object-fit:cover;object-position:center}
.discovery-card strong{min-height:43px;display:flex;align-items:center;justify-content:center;padding:6px;font-size:.72rem;line-height:1.15}
.discovery-card.used{opacity:.36;filter:saturate(.65)}
.correct-route{margin-top:14px;padding:12px 14px;border-radius:16px;background:#eef5df;color:#294b2d;font-size:.78rem;line-height:1.35}
.correct-route strong,.correct-route span{display:block}.correct-route strong{margin-bottom:5px}
@media(max-height:720px){.discovery-card img{height:108px}.illustrated-sequence h2{font-size:1.22rem}.five-slots .slot{min-height:54px}}
@media(min-width:700px){.five-cards{grid-template-columns:repeat(3,1fr)}.five-cards .discovery-card:last-child{grid-column:auto;width:auto}.discovery-card img{height:170px}}

/* V6.2 - reponse plein ecran, tous formats de telephone */
.game-panel.fullscreen-answer{
  inset:0;
  width:100%;
  height:100%;
  height:100dvh;
  min-height:100dvh;
  padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
  overflow:hidden;
  background:linear-gradient(180deg,#d8eff6,#f7efda 42%,#f5e9cc);
}
.game-panel.fullscreen-answer .illustrated-sequence{
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  border-radius:22px;
  padding:12px;
  display:grid;
  grid-template-rows:auto auto auto auto minmax(0,1fr) auto;
  overflow:hidden;
}
.game-panel.fullscreen-answer .illustrated-sequence h2{margin:7px 0 3px;font-size:clamp(1.08rem,4.6vw,1.4rem)}
.game-panel.fullscreen-answer .sequence-intro{margin:0 0 7px;font-size:clamp(.7rem,2.9vw,.84rem)}
.game-panel.fullscreen-answer .five-slots{margin-bottom:8px;gap:4px}
.game-panel.fullscreen-answer .five-slots .slot{min-height:52px;padding:4px 2px}
.game-panel.fullscreen-answer .five-cards{
  min-height:0;
  height:100%;
  align-content:stretch;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:6px;
}
.game-panel.fullscreen-answer .five-cards .discovery-card{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto}
.game-panel.fullscreen-answer .five-cards .discovery-card:nth-child(4){grid-column:1 / 2}
.game-panel.fullscreen-answer .five-cards .discovery-card:last-child{grid-column:2 / 3;width:100%;justify-self:stretch}
.game-panel.fullscreen-answer .discovery-card img{width:100%;height:100%;min-height:0;object-fit:cover}
.game-panel.fullscreen-answer .discovery-card strong{min-height:34px;padding:4px 3px;font-size:clamp(.58rem,2.35vw,.72rem)}
.game-panel.fullscreen-answer .big-button{min-height:48px;margin-top:7px}
.game-panel.fullscreen-answer .correct-route{position:absolute;inset:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));z-index:5;margin:0;padding:18px;border-radius:22px;display:flex;flex-direction:column;justify-content:center;font-size:clamp(.9rem,3.4vw,1.05rem);box-shadow:0 16px 44px rgba(0,0,0,.2)}
.game-panel.fullscreen-answer .correct-route strong{font-size:1.15em;margin-bottom:10px}
.game-panel.fullscreen-answer .correct-route span{padding:4px 0}
@media(max-height:700px){
 .game-panel.fullscreen-answer .illustrated-sequence{padding:8px}
 .game-panel.fullscreen-answer .five-slots .slot{min-height:44px}
 .game-panel.fullscreen-answer .discovery-card strong{min-height:28px;padding:2px;font-size:.58rem}
 .game-panel.fullscreen-answer .big-button{min-height:42px;margin-top:5px}
}
@media(min-width:700px){
 .game-panel.fullscreen-answer{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
 .game-panel.fullscreen-answer .illustrated-sequence{max-width:720px;margin:auto}
}

/* V6.3 - unique full-screen memory introduction */
.memory-intro-v63{position:fixed;inset:0;width:100%;height:100dvh;background:#071c31;overflow:hidden;cursor:pointer;z-index:70}
.memory-intro-v63 img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;user-select:none;-webkit-user-drag:none}
.memory-intro-hit{position:absolute;left:7%;right:7%;bottom:max(3.5%,env(safe-area-inset-bottom));height:12%;border:0;background:transparent;border-radius:999px}
/* V7 destination selector */
.destination-selector{position:fixed;inset:0;width:100%;height:100dvh;background:#08294a;overflow:hidden;z-index:75}
.destination-selector>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.dest-hit{position:absolute;top:32%;bottom:14%;width:43%;border:0;background:transparent;border-radius:28px}
.dest-hit.pyrenees{left:5%}.dest-hit.arles{right:5%}
.dest-hit:focus-visible{outline:4px solid #fff;outline-offset:-6px}

/* V2 - nouvel accueil Le Petit Train de la Memoire */
.screen-home{background:#148fd0}
.screen-home .hero-photo{inset:0;transform:none;background-image:url('../images/home-v1/accueil-fond.png');background-position:center center;background-size:cover;background-repeat:no-repeat}
.screen-home .hero-shade{display:none}
.screen-home .home-settings{top:max(18px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:12}
.screen-home .home-card{z-index:10;display:flex;flex-direction:column;gap:8px;left:6%;right:6%;bottom:max(1.2%,calc(env(safe-area-inset-bottom) + 2px));padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
.screen-home .home-action,.screen-home .home-action.discovery,.screen-home .home-action.play,.screen-home .home-action.progress{display:block;width:100%;height:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.screen-home .home-action img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 6px 7px rgba(0,0,0,.20))}
.screen-home .home-actions-delayed{opacity:0;transform:translateY(22px);pointer-events:none;transition:opacity .35s ease,transform .35s ease}
.screen-home .home-actions-delayed.is-revealed{opacity:1;transform:translateY(0);pointer-events:auto}
@media(max-height:720px){.screen-home .home-card{left:7%;right:7%;gap:4px;bottom:max(.5%,env(safe-area-inset-bottom))}}
@media(min-width:700px){.screen-home .home-card{left:50%;right:auto;width:min(560px,72vw);transform:translate(-50%,22px)}.screen-home .home-actions-delayed.is-revealed{transform:translate(-50%,0)}}

/* V2 corrigée : transitions de trajet à double buffer, sans image parasite. */
.discovery-slide:not([src]),.discovery-slide[src=""]{visibility:hidden}
.discovery-slide[src]{visibility:visible}

/* V2 correction accueil/retour selecteur */
.dest-back{position:absolute;left:1.8%;top:max(3.2%,calc(env(safe-area-inset-top) + 4px));width:15%;aspect-ratio:1/1;border:0;background:transparent;border-radius:50%;z-index:3}
.dest-back:focus-visible{outline:4px solid #fff;outline-offset:-4px}

/* V3 corrigee : plein ecran, accueil stable et zones de retour */
html,body{
  width:100%;height:100%;min-height:100%;overflow:hidden;
  overscroll-behavior:none;
  touch-action:manipulation;
  -webkit-text-size-adjust:100%;
}
body{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100svh;}
.app-shell,.screen{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100svh;overflow:hidden;}
button,img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;}

/* Accueil : les trois boutons restent groupes en bas, visibles et dans l'ordre. */
.screen-home .home-card{
  position:absolute;
  z-index:10;
  left:5.5%;right:5.5%;
  bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));
  width:auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:stretch;
  gap:clamp(5px,1vh,10px);
  padding:0;
  margin:0;
  transform:none;
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.screen-home .home-action,
.screen-home .home-action.discovery,
.screen-home .home-action.play,
.screen-home .home-action.progress{
  flex:0 0 auto;
  width:100%;
  height:clamp(62px,9.2dvh,92px);
  min-height:0;
  display:block;
  margin:0;
  padding:0;
  overflow:visible;
}
.screen-home .home-action img{
  width:100%;height:100%;display:block;
  object-fit:contain;object-position:center;
}
@media (max-height:720px){
  .screen-home .home-card{left:6.5%;right:6.5%;bottom:max(10px,calc(env(safe-area-inset-bottom) + 4px));gap:4px}
  .screen-home .home-action,.screen-home .home-action.discovery,.screen-home .home-action.play,.screen-home .home-action.progress{height:clamp(54px,8.6dvh,68px)}
}
@media (min-width:700px){
  .screen-home .home-card{left:50%;right:auto;width:min(560px,72vw);transform:translateX(-50%)}
  .screen-home .home-actions-delayed{transform:translate(-50%,22px)}
  .screen-home .home-actions-delayed.is-revealed{transform:translate(-50%,0)}
}

/* Retour sur les ecrans Regarde bien : zone correspondant a l'icone en haut a gauche. */
.memory-intro-back{
  position:absolute;
  z-index:5;
  left:max(1.5%,env(safe-area-inset-left));
  top:max(1.5%,env(safe-area-inset-top));
  width:18%;
  max-width:92px;
  aspect-ratio:1/1;
  border:0;
  border-radius:50%;
  background:transparent;
}
.memory-intro-back:focus-visible{outline:4px solid #fff;outline-offset:-5px}

/* Le bandeau de trajet et tous les panneaux couvrent toujours le viewport dynamique. */
.screen-journey,.world,.game-panel,.memory-intro-v63,.destination-selector{
  width:100vw;height:100dvh;min-height:100svh;max-height:100dvh;
}

/* V3.2 - viewport WebApp iOS exact et transitions fondues */
:root{--app-height:100dvh;--route-fade:850ms}
html,body{
  margin:0!important;padding:0!important;
  width:100%!important;height:var(--app-height)!important;
  min-height:0!important;max-height:var(--app-height)!important;
  overflow:hidden!important;background:#071d2b!important;
}
body{position:fixed!important;inset:0!important;}
.app-shell,.screen,.screen-journey,.world,.game-panel,.memory-intro-v63,.destination-selector{
  position:fixed;
  top:0;right:0;bottom:auto;left:0;
  width:100vw!important;
  height:var(--app-height)!important;
  min-height:0!important;max-height:var(--app-height)!important;
  overflow:hidden;
}
.screen-home .hero-photo,.screen-home .hero-shade{height:var(--app-height)!important;min-height:0!important}
.game-panel.fullscreen-answer{height:var(--app-height)!important;min-height:0!important;max-height:var(--app-height)!important}

/* Le trajet utilise un seul vrai fondu croise entre les deux buffers. */
.discovery-gallery{transition:opacity .55s ease;background:#071d2b}
.discovery-slide{
  visibility:hidden;
  opacity:0;
  transform:none;
  transition:opacity var(--route-fade) ease-in-out;
  will-change:opacity;
}
.discovery-slide[src]{visibility:visible}
.discovery-slide.is-current{opacity:1;transform:none}
body.reduced-motion .discovery-gallery,
body.reduced-motion .discovery-slide{transition-duration:.12s!important;transform:none!important}

/* Fondu global pour l'entree/sortie du trajet. */
.route-fade-layer{
  position:fixed;inset:0;width:100vw;height:var(--app-height);
  z-index:120;pointer-events:none;background:#071d2b;
  opacity:0;transition:opacity .35s ease;
}
.route-fade-layer.is-on{opacity:1}
body.reduced-motion .route-fade-layer{transition-duration:.08s}

/* V4 - progression adaptative */
.adaptive-intro-badge{
  position:absolute;
  left:50%;
  bottom:max(16%,calc(env(safe-area-inset-bottom) + 92px));
  transform:translateX(-50%);
  z-index:3;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(7,28,49,.88);
  color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.35);
  white-space:nowrap;
  font-size:clamp(.78rem,3.2vw,.98rem);
}
.adaptive-intro-badge strong{color:#ffd65b}
.adaptive-status{display:flex;flex-direction:column;gap:5px;padding:15px;border-radius:16px;background:#eef6fb;border:1px solid #cfe0eb}
.adaptive-status strong{font-size:1.05rem}.adaptive-status span{color:#38556b}
.adaptive-feedback{padding:10px 12px;border-radius:14px;background:#eef8ef;color:#284d34;font-weight:700}
.progression-offer h3{margin:8px 0 14px;font-size:1.1rem}

.game-panel.fullscreen-answer .five-slots.dynamic-count.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.game-panel.fullscreen-answer .five-slots.dynamic-count.count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.game-panel.fullscreen-answer .five-cards.dynamic-count.count-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:minmax(0,1fr);
}
.game-panel.fullscreen-answer .five-cards.dynamic-count.count-4{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
}
.game-panel.fullscreen-answer .five-cards.dynamic-count.count-3 .discovery-card,
.game-panel.fullscreen-answer .five-cards.dynamic-count.count-4 .discovery-card{grid-column:auto;width:100%;justify-self:stretch}
/* V6 - destinations bonus */
.v6-selector{background:linear-gradient(#087dc0,#07355c);padding:max(70px,env(safe-area-inset-top)) 6% max(24px,env(safe-area-inset-bottom));box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}
.v6-selector .dest-back{position:absolute;left:18px;top:max(18px,env(safe-area-inset-top));width:54px;height:54px;border-radius:50%;border:4px solid #ffc719;background:#07355c;color:#ffc719;font-size:42px;line-height:40px;z-index:3}
.dest-title{text-align:center;color:white;margin-bottom:22px;text-shadow:0 3px 8px #001b31}.dest-title strong{display:block;font-size:clamp(25px,7vw,42px)}.dest-title span{display:block;margin-top:8px;font-size:clamp(14px,4vw,20px)}
.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:680px;width:100%;margin:auto}.dest-card{min-height:180px;border:3px solid rgba(255,255,255,.85);border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(229,244,255,.92));box-shadow:0 8px 20px #001b3166;color:#07355c;padding:16px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center}.dest-card b{font-size:48px}.dest-card strong{font-size:clamp(16px,4.5vw,24px);margin-top:7px}.dest-card span{font-size:13px;margin-top:4px}.dest-card.bonus{border-color:#ffd42a;box-shadow:0 0 0 2px #b77b00,0 8px 22px #001b3177}
.memory-html-copy{position:absolute;z-index:2;top:max(5.5%,env(safe-area-inset-top));left:6%;right:6%;text-align:center;color:#fff;text-shadow:0 3px 8px #00345f,0 1px 2px #00345f}.memory-html-copy h1{font-size:clamp(28px,7vw,48px);margin:0 0 22px;font-weight:900}.memory-html-copy p{font-size:clamp(19px,4.6vw,31px);line-height:1.35;margin:0;font-weight:700}
@media(max-height:720px){.dest-card{min-height:135px}.dest-card b{font-size:36px}.dest-title{margin-bottom:12px}}

/* V8 - éléments issus de la planche technique */
.dest-card .dest-character{
  display:block;
  width:min(96px,26vw);
  height:min(96px,26vw);
  object-fit:contain;
  object-position:center bottom;
  margin:-8px auto 2px;
  filter:drop-shadow(0 5px 7px rgba(0,27,49,.18));
  pointer-events:none;
}
@media(max-height:720px){
  .dest-card .dest-character{width:68px;height:68px;margin:-4px auto 0}
}
