/* Règle 12 — Contrat commun des colonnes de l'éditeur d'activité.
   Les modes repliés modifient seulement le jeton du côté concerné.
   Ne pas transformer les grilles propres aux éditeurs individuels. */
@media (min-width:801px) {
  :is(.tri-workspace:not(.tri-detail-active):not(.tri-native-active),
      .chg-workspace,.den-workspace,.sui-workspace,.mq-workspace,.dom-shell,
      .loto-workspace,.lab-workspace,.puz-workspace).ef-side-layout {
    grid-template-columns:var(--ef-left-current,var(--ef-library-width)) minmax(0,1fr)
                          var(--ef-right-current,var(--ef-parameters-width));
  }
  .ef-side-layout:not(.ef-right-collapsed) {--ef-right-current:var(--ef-parameters-width);}
  .ef-side-layout.ef-left-collapsed {--ef-left-current:44px;}
  .ef-side-layout.ef-right-collapsed {--ef-right-current:44px;}
}
/* Paramètres : contenus aérés et lisibles au bureau. Aucun changement en plein écran. */
@media screen and (min-width: 1100px) {
  :is(#view-tri,#view-chemins,#view-denombrer,#view-suites,#view-manque):not(:fullscreen)
  :is(.tri-settings-scroll,.chg-settings-scroll,.den-settings-scroll,.sui-settings-scroll,.mq-settings-scroll) {
    scrollbar-width:thin;
    padding-right:7px;
  }
  :is(#view-tri,#view-chemins,#view-denombrer,#view-suites,#view-manque):not(:fullscreen)
  :is(.tri-general-settings,.chg-setting-section,.den-setting-section,.sui-section,.mq-section) {
    gap:10px;
    min-width:0;
  }
  :is(#view-tri,#view-chemins,#view-denombrer,#view-suites,#view-manque):not(:fullscreen)
  :is(.tri-general-settings,.chg-setting-section,.den-setting-section,.sui-section,.mq-section) label {
    min-width:0;
    line-height:1.35;
    font-size:12px;
  }
  :is(#view-tri,#view-chemins,#view-denombrer,#view-suites,#view-manque):not(:fullscreen)
  :is(.tri-general-settings,.chg-setting-section,.den-setting-section,.sui-section,.mq-section) :is(select,input[type=text],input[type=number],textarea) {
    box-sizing:border-box;
    max-width:100%;
  }
}
/* Les boutons de fermeture restent directement accessibles sans deuxième panneau. */
.ef-side-panel {position:relative;}
.ef-side-toggle {
  position:absolute;top:8px;z-index:2;display:grid;place-items:center;
  width:30px;height:30px;min-width:30px;min-height:30px;
  border:1px solid #ded4c4;border-radius:9px;background:#fff;color:#18344c;
  padding:0;cursor:pointer;font:900 23px/1 Arial,sans-serif;
}
.ef-side-left > .ef-side-toggle {right:7px;}
.ef-side-right > .ef-side-toggle {left:6px;}
.ef-side-toggle:hover {background:#fff1c9;border-color:#dfac25;}
.ef-side-toggle:focus-visible {outline:2px solid #127aa9;outline-offset:2px;}
.ef-side-left > :is(h2,.tri-pane-heading):first-child {padding-right:33px;}
.ef-side-right > :is(h2,.tri-pane-heading):first-child {padding-left:31px;}
/* Panneau replié : seul le bouton de réouverture est rendu ; les champs restent dans le DOM. */
.ef-side-layout > .ef-side-panel.ef-side-collapsed {
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding:8px 3px;gap:0;min-width:0;overflow:hidden;
}
.ef-side-layout > .ef-side-panel.ef-side-collapsed > :not(.ef-side-toggle) {display:none!important;}
.ef-side-layout > .ef-side-panel.ef-side-collapsed > .ef-side-toggle {position:static;flex:0 0 30px;}
/* L'éditeur individuel de Tri conserve sa disposition spécialisée et ses réglages visibles. */
.tri-workspace:is(.tri-detail-active,.tri-native-active) > .ef-side-toggle,
.tri-workspace:is(.tri-detail-active,.tri-native-active) > .ef-side-panel > .ef-side-toggle {display:none!important;}
@media(max-width:800px) {
  /* Le bureau bascule dans sa mise en page empilée : les panneaux repliés
     occupent une fine barre accessible, pas un tiroir hors écran. */
  .ef-side-layout > .ef-side-panel.ef-side-collapsed {
    min-height:46px;max-height:46px;height:46px;flex:0 0 46px;
    align-items:flex-start;justify-content:center;padding:7px 9px;
  }
}
@media print {.ef-side-toggle {display:none!important;}}

/* Règle 12 — Loto, Labyrinthe et Puzzle : même contrat de trois volets que
   Cartes à pince. Les moteurs de jeu, la taille physique des feuilles et
   les ressources métier restent propres à chaque activité. */
:is(#view-loto,#view-labyrinthe,#view-puzzle):not([hidden]) {
  flex:1 1 auto;min-height:0;overflow:hidden;gap:8px;font-size:12px;
}
:is(.loto-workspace,.lab-workspace,.puz-workspace) {
  display:grid;gap:var(--ef-activity-gap);flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;align-items:stretch;
}
:is(.loto-library,.lab-library,.puz-library,.loto-settings-panel,.lab-settings-panel,.puz-settings-panel,
    .loto-center,.lab-center,.puz-center) {
  box-sizing:border-box;min-width:0;min-height:0;border:1px solid #e8dfd0;
  border-radius:var(--ef-activity-radius);background:#fff;
}
:is(.loto-library,.lab-library,.puz-library) {
  padding:13px 7px;display:flex;flex-direction:column;gap:9px;overflow:hidden;
  overscroll-behavior:contain;scrollbar-width:thin;
}
:is(.loto-settings-content,.lab-settings-content,.puz-settings-content) h2 {
  margin:0 0 10px;font-size:clamp(13px,1.25vw,18px);line-height:1.2;
  font-weight:700;letter-spacing:-.02em;
}

:is(.loto-settings-content,.lab-settings-content,.puz-settings-content) h2:not(:first-child) {margin-top:13px}
:is(.loto-settings-content,.lab-settings-content,.puz-settings-content) h3 {font-size:13px;line-height:1.3;margin:11px 0 7px}
:is(.loto-settings-panel,.lab-settings-panel,.puz-settings-panel) {
  display:grid;grid-template-columns:minmax(0,1fr) var(--ef-rail-width);align-items:stretch;gap:8px;
  padding:13px 6px 13px 12px;overflow:hidden;position:relative;
}
:is(.loto-settings-content,.lab-settings-content,.puz-settings-content) {
  min-width:0;min-height:0;grid-column:1;grid-row:1;overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;scrollbar-width:thin;padding:5px 4px 6px 0;
}
:is(.loto-settings-rail,.lab-settings-rail,.puz-settings-rail) {
  position:relative;grid-column:2;grid-row:1;top:auto;right:auto;
  width:var(--ef-rail-width);min-width:var(--ef-rail-width);display:flex;flex-direction:column;gap:6px;align-self:start;
}
:is(.loto-center,.lab-center,.puz-center) {display:flex;flex-direction:column;overflow:hidden;gap:8px;padding:13px}
:is(.loto-center-heading,.lab-center-heading,.puz-center-heading) {
  display:flex;align-items:center;justify-content:space-between;min-height:31px;flex:none;
  background:#fff;font-size:12px;gap:8px;
}
:is(.loto-prep-scroll,.lab-prep-scroll,.puz-prep-scroll) {
  flex:1 1 auto;min-width:0;min-height:0;overflow:auto;
  padding:9px;border:1px solid #e7eded;border-radius:14px;background:#f2f5f4;
  overscroll-behavior:contain;
}
/* Les sources choisies utilisent les vignettes fixes de la bibliothèque commune,
   sans anciennes grilles de 2, 3 ou 12 colonnes. */
:is(.loto-resource-gallery,.lab-card-list,.puz-page-gallery) {align-content:start}
@media (max-width:800px){
  :is(.loto-workspace,.lab-workspace,.puz-workspace) {
    display:flex;flex-direction:column;overflow-y:auto;gap:9px;
  }
  :is(.loto-center,.lab-center,.puz-center) {min-height:400px;flex:0 0 400px;order:0}
  :is(.loto-library,.lab-library,.puz-library) {min-height:180px;flex:0 0 auto;max-height:270px;order:1}
  :is(.loto-settings-panel,.lab-settings-panel,.puz-settings-panel) {min-height:200px;flex:0 0 auto;max-height:300px;order:2}
}
