/* ════════════════════════════════════════════════════════════════
   PAGES PUBLIQUES D'ANNALES — /annales-dscg et /annales-dscg/<ue-annee>
   Complète css/notions.css (même charte Grand Livre). Pages générées
   par _outils/gen_annales_publiques.py.
   ════════════════════════════════════════════════════════════════ */

/* Page des 30 sujets : pas de sommaire latéral, contenu plus large */
.n-layout-large { grid-template-columns: minmax(0, 1fr); max-width: 980px; }
.n-layout-large article { max-width: none; }
.n-layout-large article > section:not(#sujets) { max-width: 70ch; }

/* Barème : une barre de 100 %, un segment par dossier */
.bareme { display: flex; height: 18px; border-radius: 9px; overflow: hidden; margin: 14px 0 12px; gap: 2px; background: var(--bg2); }
.bareme span { min-width: 6px; }
.bareme-legende { list-style: none; margin: 0 0 8px !important; display: grid; gap: 6px; }
.bareme-legende li { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto 3.2em; align-items: baseline; gap: 10px; margin: 0; font-size: 15px; }
.bareme-legende i { width: 12px; height: 12px; border-radius: 3px; align-self: center; }
.bareme-legende b { font-family: 'JetBrains Mono', monospace; font-weight: 500; font-size: 14px; }
.bareme-legende small { color: var(--text2); text-align: right; font-size: 13px; }

/* Titre de dossier : points à droite */
article h2 .pts { font-family: 'Plus Jakarta Sans', sans-serif; font-size: .95rem; font-weight: 600; color: var(--green);
  white-space: nowrap; margin-left: 6px; }

/* Contexte et annexes du sujet */
.contexte { margin-bottom: 14px; overflow-x: auto; }
.contexte table, .annexes table { margin: 8px 0; font-size: 14px; }
.annexes { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 12px 16px; margin: 6px 0 18px; }
.annexes summary { cursor: pointer; font-weight: 600; color: var(--green); }
.annexes[open] summary { margin-bottom: 8px; }
.annexes > div { overflow-x: auto; font-size: 14.5px; }

/* Liste des questions : numéro officiel en marge */
.questions { list-style: none; margin: 0 0 18px !important; border-top: 1px solid var(--border); }
.questions li { display: grid; grid-template-columns: 4.2em minmax(0, 1fr); gap: 10px; padding: 10px 0; margin: 0; border-bottom: 1px solid var(--border); }
.q-num { font-family: 'JetBrains Mono', monospace; font-size: 14px; color: var(--green); padding-top: 2px; }
.q-libre { display: inline-block; margin-left: 8px; font-size: 13px; font-weight: 600; }

/* Corrigé en accès libre */
.corrige { background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--green); border-radius: 10px;
  padding: 18px 20px 6px; margin: 8px 0 24px; scroll-margin-top: 20px; overflow-x: auto; }
.corrige h3 { margin-top: 0; }
.corrige-q { font-weight: 600; }
.corrige-suite { border-top: 1px dashed var(--border); padding-top: 12px; color: var(--text2); font-size: 15px; }
.corrige-suite a { font-weight: 600; }

/* Évolutions du droit depuis la session */
.alertes { list-style: none; margin-left: 0 !important; }
.alertes li { padding: 10px 14px; margin-bottom: 8px; background: rgba(201,150,44,.1); border-left: 3px solid var(--gold); border-radius: 0 8px 8px 0; font-size: 15px; }

/* Grille des 30 sujets : une ligne par UE, une colonne par session */
.grille-annales th[scope="row"] { min-width: 210px; font-family: 'Fraunces', serif; font-weight: 500; font-size: 1.05rem; background: var(--surface); }
.grille-annales th small, .grille-annales td small { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 400; font-size: 12.5px; color: var(--text2); }
.grille-annales td { padding: 6px; }
.grille-annales td a { display: block; padding: 8px 10px; border-radius: 8px; text-decoration: none; font-weight: 600; color: var(--ink);
  border: 1px solid var(--border); background: var(--bg); }
.grille-annales td a:hover, .grille-annales td a:focus-visible { border-color: var(--gold); background: var(--surface); }

@media (max-width: 560px) {
  .bareme-legende li { grid-template-columns: 12px minmax(0, 1fr) auto; }
  .bareme-legende small { display: none; }
  .questions li { grid-template-columns: 3.6em minmax(0, 1fr); }
}
