/* Médiathèque NLO — sélecteurs de révision. Les originaux et leurs preuves restent inchangés. */
.media-library{max-width:1280px;padding-bottom:126px}.media-library-selector{margin:0 0 22px;padding:0;border:0}.media-selector-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:10px}.media-selector-heading strong{font:600 16px/1.1 'League Spartan',sans-serif;color:var(--nl-charcoal,var(--ink))}.media-selector-heading small{margin-left:10px;color:var(--nl-grey-dark,#716b69);font:12px/1.3 'Anonymous Pro',monospace}.media-selector-close{width:28px;height:28px;border:1px solid var(--nl-grey-mid,var(--line));background:transparent;color:var(--nl-charcoal,var(--ink));font:20px/1 Arial}.media-selector-close.is-hidden{visibility:hidden}.media-family-row{display:flex;flex-wrap:wrap;gap:8px}.media-family-row .media-selector-card{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;min-height:38px;padding:8px 13px;text-align:left;border:1px solid var(--nl-grey-mid,#d7ceca);background:var(--nl-pearl,#fbf9f7);box-shadow:none;color:var(--nl-charcoal,var(--ink));font:600 11px/1.1 'League Spartan',sans-serif;letter-spacing:0;text-transform:none}.media-family-row .media-selector-card::after{display:none}.media-family-row .media-selector-card i{display:grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font:12px/1 Arial;font-style:normal;color:var(--nl-grey-dark,#716b69)}.media-family-row .media-selector-card:hover{border-color:var(--nl-charcoal,var(--ink));background:#fff}.media-family-row .media-selector-card.active{border-color:var(--nl-charcoal,var(--ink));box-shadow:inset 3px 0 0 var(--nl-vermilion,#E94B4C);background:#fff;color:var(--nl-charcoal,var(--ink))}.media-family-row .media-selector-card.active i{color:var(--nl-vermilion,#E94B4C)}.media-selector-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 0}.media-selector-summary>span{display:flex;flex-wrap:wrap;gap:6px}.media-selector-summary>span button,.media-selector-reset{border:1px solid var(--nl-grey-mid,var(--line));background:transparent;color:var(--nl-charcoal,var(--ink));padding:5px 8px;font:10px/1 'Anonymous Pro',monospace}.media-selector-summary>span button b{color:var(--nl-vermilion,#E94B4C);font-size:13px}.media-selector-reset{border-color:transparent;color:var(--nl-grey-dark,#716b69);text-decoration:underline}.media-selector-levels{display:none;margin-top:10px;padding:14px;border:1px solid var(--nl-grey-mid,var(--line));background:#fff}.media-selector-levels.is-open{display:block}.media-selector-steps{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.media-selector-steps button{border:1px solid var(--nl-grey-mid,var(--line));background:transparent;color:var(--nl-grey-dark,#716b69);padding:6px 10px;font:10px/1 'Anonymous Pro',monospace;cursor:pointer}.media-selector-steps button.active{border-color:var(--nl-charcoal,var(--ink));color:var(--nl-charcoal,var(--ink))}.media-selector-steps button:disabled{opacity:.4;cursor:not-allowed}.media-selector-level{display:none;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start}.media-selector-level.active{display:grid}.media-selector-level>span{display:grid;place-items:center;height:28px;border:1px solid var(--nl-grey-mid,var(--line));background:var(--nl-grey-light,#f5f2f0);color:var(--nl-grey-dark,#716b69);font:9px/1 'Anonymous Pro',monospace}.media-selector-level>div{display:flex;flex-wrap:wrap;gap:7px}.media-selector-level button{border:1px solid var(--nl-grey-mid,var(--line));background:transparent;color:var(--nl-charcoal,var(--ink));padding:7px 10px;font:11px/1.1 'Anonymous Pro',monospace}.media-selector-level button:hover{border-color:var(--nl-charcoal,var(--ink))}.media-selector-level button.selected{border-color:var(--nl-vermilion,#E94B4C);background:#fff6f4;color:var(--nl-charcoal,var(--ink));box-shadow:inset 0 -2px 0 var(--nl-vermilion,#E94B4C)}.media-selector-empty{display:grid;place-items:center;min-height:72px;border:1px dashed var(--nl-grey-mid,var(--line));color:var(--nl-grey-dark,#716b69);font:12px/1.4 'Anonymous Pro',monospace}.media-library-empty{min-height:146px;place-content:center;background:transparent;border:1px dashed var(--nl-grey-mid,var(--line));text-align:center}.media-library-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.media-library-card{border-color:var(--nl-grey-mid,var(--line));border-radius:0}.media-library-card:hover{border-color:var(--nl-charcoal,var(--ink));transform:none;box-shadow:0 12px 28px rgba(25,22,21,.08)}.media-inspector{width:min(1320px,calc(100vw - 44px));max-height:calc(100vh - 44px)}.media-inspector-layout{grid-template-columns:minmax(0,1fr) 380px;min-height:min(760px,calc(100vh - 44px))}.media-inspector aside{padding:26px}.media-inspector-actions button:first-child,.media-inspector-actions button:nth-child(3){border-color:var(--nl-vermilion,#E94B4C)}.media-inspector-ai strong{font:600 13px 'League Spartan',sans-serif}.media-inspector-details>div{min-height:52px}@media(max-width:900px){.media-selector-heading small{display:none}}@media(max-width:620px){.media-library{padding-inline:16px}.media-family-row .media-selector-card{flex:1 1 calc(50% - 4px)}.media-selector-summary{align-items:flex-start;flex-direction:column}.media-inspector{width:100vw;max-height:100vh}.media-inspector-layout{grid-template-columns:1fr}.media-inspector-visual{min-height:300px}}

/* Responsive safety net: the inspector must fit any viewport and never clip
   headings or controls. The dialog itself owns the scroll, not the page. */
dialog.media-inspector { box-sizing:border-box; width:min(1320px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100vh - 24px); margin:auto; overflow:auto; }
dialog.media-inspector .media-inspector-layout { min-height:0; max-height:none; }
dialog.media-inspector .media-inspector-visual { min-width:0; overflow:hidden; }
dialog.media-inspector .media-inspector-visual img { max-width:100%; width:auto; height:auto; object-fit:contain; }
dialog.media-inspector aside { min-width:0; max-height:none; overflow:auto; }
dialog.media-inspector h2, dialog.media-inspector small, dialog.media-inspector strong { overflow-wrap:anywhere; }
@media (max-width:900px) {
  dialog.media-inspector { width:calc(100vw - 16px); max-width:calc(100vw - 16px); max-height:calc(100vh - 16px); }
  dialog.media-inspector .media-inspector-layout { grid-template-columns:1fr; }
  dialog.media-inspector .media-inspector-visual { min-height:clamp(220px,45vh,420px); }
}
@media (max-width:620px) {
  dialog.media-inspector { width:100vw; max-width:100vw; max-height:100vh; }
  dialog.media-inspector aside { padding:18px; }
}
.media-library-card__explanation { display:block; margin-top:8px; color:var(--nl-grey-dark,#716b69); font:11px/1.35 'Anonymous Pro',monospace; text-align:left; }
.source-reader-timeline{margin-top:18px;padding-top:14px;border-top:1px solid var(--nl-grey-mid,var(--line));}
.source-reader-timeline>strong{display:block;margin-bottom:10px;font:600 12px/1.2 'League Spartan',sans-serif;letter-spacing:.05em;text-transform:uppercase;}
.source-reader-timeline ol{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.source-reader-timeline li{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding-left:12px;border-left:2px solid var(--nl-vermilion,#E94B4C);}
.source-reader-timeline li span{font:11px/1.25 'League Spartan',sans-serif;overflow-wrap:anywhere;}
.source-reader-timeline li small,.source-reader-timeline-empty{color:var(--nl-grey-dark,#716b69);font:10px/1.35 'Anonymous Pro',monospace;}
.source-reader-timeline-empty{margin-top:18px;padding-top:14px;border-top:1px solid var(--nl-grey-mid,var(--line));}

/* Défilement continu — compteur d'état et sentinelle de fin de liste.
   Le compteur reste visible après la fin du chargement : « X / Y » est une
   information, « X » n'en est pas une. */
.media-library-compteur{display:grid;gap:4px;justify-items:center;margin:18px 0 0;padding-top:12px;border-top:1px solid var(--nl-grey-mid,var(--line));color:var(--nl-grey-dark,#716b69);font:11px/1.4 'Anonymous Pro',monospace;letter-spacing:.02em;text-align:center;}
.media-library-compteur .media-flux--fini{color:var(--nl-charcoal,#141212);}
.media-library-compteur .media-flux--rompu{color:var(--nl-vermilion,#E94B4C);}
.media-library-compteur .media-flux-verdict{margin-top:4px;font-weight:600;}
.media-library-compteur .text-button{margin-top:6px;}
#media-sentinelle{height:1px;margin:0;padding:0;}
