/* Extension navigateur uniquement ; le bundle Android reste dans app/web. */
#app { width:100%; max-width:none; border:0; }
/* Le sélecteur en cours de partie a son propre espace ; ses flèches ne couvrent pas le portrait. */
.sf-education-mode #heroModal .hero-card { max-height:calc(100dvh - 32px); }
.sf-education-mode #heroModal .hc-stage { display:grid; grid-template-columns:48px minmax(0,1fr) 48px; gap:8px; }
.sf-education-mode #heroModal .hc-arrow { position:static; width:48px; height:52px; border-radius:16px; transform:none; }
.sf-education-mode #heroModal .hc-arrow:before { width:26px; height:24px; }
.sf-education-mode #heroModal .hc-arrow:active { transform:scale(.94); }
@media (min-width: 960px) {
  .sf-education-mode #heroModal .hero-card { width:min(94vw,960px); }
  .sf-education-mode #heroModal .hero-carousel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:20px 32px; max-width:none; width:100%; align-items:center; }
  .sf-education-mode #heroModal .hc-dots { grid-column:1/-1; }
  .sf-education-mode #heroModal .hc-figure { height:min(42dvh,400px); }
  .sf-education-mode #heroModal .hc-story { font-size:15px; }

  .sf-education-mode #title .hero-carousel {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:24px 48px;max-width:1200px;width:90%;}
  .sf-education-mode #title .hero-carousel .hc-dots {grid-column:1/-1;}
  .sf-education-mode #title .hero-carousel .hc-figure {height:min(58dvh,520px);}
  .sf-education-mode #title .hero-carousel .hc-card {font-size:16px;line-height:1.6;}
  .screen { padding-inline:clamp(20px,3vw,64px); }
  .sfedu-page { padding-inline:0; }
  .sfedu { padding:clamp(20px,2.5vw,48px); }
  .sfedu-hero-home { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px 40px; align-content:start; }
  .sfedu-hero-home>h2, .sfedu-hero-home>.sfedu-continue { grid-column:1/-1; }
  .sfedu-duo { grid-row:span 2; }
  .sfedu-duo-member img { height:clamp(180px,29vh,360px); }
  .sfedu-form-step img { width:clamp(64px,7vw,112px); height:clamp(64px,7vw,112px); }
  .sfedu-lesson-page { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 32px; align-content:start; }
  .sfedu-lesson-page>h2, .sfedu-lesson-page>.sfedu-companion,
  .sfedu-lesson-page>.sf-speech-controls, .sfedu-lesson-page>.sfedu-lesson-tip,
  .sfedu-lesson-page>.sfedu-actions { grid-column:1/-1; }
  .sfedu-lesson-page>.sfedu-lesson-method { grid-column:1/-1; }
  .sfedu-carousel { grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr); }
  .sfedu-carousel>.hc-dots { grid-column:1/-1; }
  .education-shell .sfedu-carousel-figure { height:clamp(200px,min(45dvh,calc(100dvh - 380px)),480px); background-color:#18243b; }
  .education-shell .sfedu-carousel-art { object-fit:contain; object-position:center; }
  .education-shell .sfedu-carousel-card { align-content:center; gap:18px; padding:clamp(20px,3vw,56px); border-radius:0 20px 20px 0; }
  .sfedu-carousel-title { font-size:clamp(22px,2vw,32px); }
  .sfedu-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sfedu-question, .sfedu-passage, .sfedu-companion p { max-width:85ch; }
  .sf-music-dialog { width:calc(100vw - 40px); max-width:none; }
  .sf-music-board-layout { grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr); }
  .sf-music-map { max-width:min(100%,max(360px,calc(100dvh - 360px))); margin-inline:auto; }
  .sf-music-board .sf-music-dialogue { max-width:none; }
  .screen { scrollbar-width: thin; scrollbar-color: #897ba5 #20182c; }
  .screen::-webkit-scrollbar { width: 8px; }
  .screen::-webkit-scrollbar-thumb { background: #897ba5; border-radius: 8px; }
  .screen::-webkit-scrollbar-track { background: #20182c; }
}
@media (min-width:1600px) {
  .sfedu-hero-home { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
button:focus-visible, a:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #ffe5a0;
  outline-offset: 3px;
}
