/* Lecture automatique — barre de commande, sous-titres et bouton central.
   Les couleurs viennent des jetons du thème du diaporama (deck.css). */
.lc-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 0 14px 10px; font-family: var(--font-body); color: var(--ink-2);
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 100%); transform: translateY(100%); opacity: 0; transition: transform .25s, opacity .25s; }
body.lc-awake .lc-bar, .lc-bar:hover, .lc-bar:focus-within, body:not(.lc-playing) .lc-bar { transform: none; opacity: 1; }
.lc-prog { display: flex; gap: 3px; height: 14px; align-items: center; cursor: pointer; padding: 4px 0; }
.lc-seg { position: relative; height: 4px; background: rgba(255,255,255,.22); border-radius: 2px; overflow: hidden; transition: height .15s; min-width: 3px; }
.lc-prog:hover .lc-seg { height: 7px; }
.lc-seg i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--brand-primary, #14E0D1); border-radius: 2px; }
.lc-seg.cur { background: rgba(255,255,255,.35); }
.lc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 4px; }
.lc-group { display: flex; align-items: center; gap: 6px; }
.lc-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; border: 1px solid rgba(255,255,255,.14); background: rgba(10,14,24,.55); color: var(--ink, #fff); cursor: pointer; text-decoration: none; padding: 0; font: 700 13px/1 var(--font-body); backdrop-filter: blur(8px); transition: background .15s, border-color .15s, color .15s; }
.lc-btn svg { width: 20px; height: 20px; fill: currentColor; }
.lc-btn:hover { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.3); }
.lc-btn.is-on { color: var(--brand-primary, #14E0D1); border-color: var(--brand-primary, #14E0D1); }
.lc-btn.lc-txt { width: auto; padding: 0 12px; letter-spacing: .04em; }
#lc-play { width: 46px; background: var(--brand-primary, #14E0D1); color: #061018; border-color: transparent; }
#lc-play:hover { filter: brightness(1.1); }
.lc-count, .lc-time { font: 600 12.5px/1 var(--mono); letter-spacing: .06em; color: var(--ink-2); padding: 0 6px; white-space: nowrap; }
.lc-time { color: var(--ink-3); }
.lc-cap { position: fixed; left: 50%; bottom: 78px; transform: translateX(-50%) translateY(8px); z-index: 39; max-width: min(1100px, 86vw); padding: 12px 20px; border-radius: 12px;
  background: rgba(6,10,20,.78); color: #F5F7FA; font: 500 clamp(14px, 1.55vw, 23px)/1.45 var(--font-body); text-align: center; letter-spacing: .005em;
  box-shadow: 0 8px 30px rgba(0,0,0,.35); backdrop-filter: blur(8px); opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; }
.lc-cap.show { opacity: 1; transform: translateX(-50%); }
html[lang="fr"] .lc-cap { font-variant-ligatures: common-ligatures; }
.lc-big { position: fixed; left: 50%; top: 50%; z-index: 41; width: 92px; height: 92px; margin: -46px 0 0 -46px; border-radius: 50%; border: 0; cursor: pointer;
  background: var(--brand-primary, #14E0D1); color: #061018; box-shadow: 0 10px 40px rgba(0,0,0,.45), 0 0 0 10px rgba(255,255,255,.08); transition: transform .15s, opacity .2s; }
.lc-big svg { width: 44px; height: 44px; fill: currentColor; margin-left: 4px; }
.lc-big:hover { transform: scale(1.06); }
body.lc-playing .lc-big { opacity: 0; pointer-events: none; }
/* encart dans une page : tout est plus petit et la barre reste discrète */
body.lc-embed .lc-bar { padding: 0 8px 6px; }
body.lc-embed .lc-btn { width: 30px; height: 30px; border-radius: 8px; }
body.lc-embed .lc-btn svg { width: 16px; height: 16px; }
body.lc-embed #lc-play { width: 36px; }
body.lc-embed .lc-count, body.lc-embed .lc-time { font-size: 11px; }
body.lc-embed .lc-cap { bottom: 56px; font-size: clamp(11px, 1.9vw, 15px); padding: 8px 12px; max-width: 92vw; border-radius: 8px; }
body.lc-embed .lc-big { width: 64px; height: 64px; margin: -32px 0 0 -32px; }
body.lc-embed .lc-big svg { width: 30px; height: 30px; }
body.lc-embed .lc-txt { display: none; }
@media (max-width: 640px) { .lc-time, #lc-cc, .lc-txt { display: none; } .lc-cap { bottom: 64px; } }
@media print { .lc-bar, .lc-cap, .lc-big { display: none !important; } }

/* Centrage de la diapositive : la scene du moteur est une grille dont la piste
   prend la largeur du canevas (1920 px) et part du bord gauche ; sous 1920 px
   la diapositive, reduite autour de son centre, sortait du cadre (encart,
   portable). On l'ancre au centre de la fenetre avant la mise a l'echelle. */
@media screen {
  body.lc-on:not(.print-mode) .stage { display: block; overflow: hidden; }
  body.lc-on:not(.print-mode) #stage > .slide { position: absolute; left: 50%; top: 50%; margin: -540px 0 0 -960px; }
}
