/* Le JT d'AIgocratie : plateau à 4 avatars */
.jt-studio-wrap { border-radius: 1rem; overflow: hidden; box-shadow: 0 18px 50px rgba(2, 6, 23, .35); background: #020617; }
.jt-studio { display: block; width: 100%; height: auto; }
.jt-text { font-family: 'Inter', var(--bs-font-sans-serif); }

/* Écran du sujet */
.jt-screen-text { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 74px; font-family: 'Inter', var(--bs-font-sans-serif); }
#jt-screen-title { color: #fff; font-size: 19px; font-weight: 800; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.jt-screen-link { flex: 0 0 auto; background: #f59e0b; color: #0f172a; font-size: 14px; font-weight: 800; padding: 6px 14px; border-radius: 999px; text-decoration: none; }
.jt-screen-link:hover { background: #fbbf24; color: #0f172a; }
.jt-screen-link[hidden] { display: none; }

/* Yeux : clignements décalés */
.jt-eyes { transform-box: fill-box; transform-origin: center; animation: jt-blink 5s infinite; }
.jt-speaker[data-speaker="tech"] .jt-eyes { animation-delay: 1.2s; }
.jt-speaker[data-speaker="business"] .jt-eyes { animation-delay: 2.5s; }
.jt-speaker[data-speaker="outremer"] .jt-eyes { animation-delay: 3.6s; }
@keyframes jt-blink { 0%, 95%, 100% { transform: scaleY(1); } 97% { transform: scaleY(.1); } }

/* Bouche : ouverte / fermée pendant la parole */
.jt-mouth-open { display: none; }
.jt-speaker.mouth-open .jt-mouth-open { display: inline; }
.jt-speaker.mouth-open .jt-mouth-closed { display: none; }

/* Intervenant qui parle : halo, plaque soulignée */
.jt-glow { opacity: 0; transition: opacity .3s; }
.jt-glow.is-speaking { opacity: 1; }
.jt-plate rect { transition: stroke .3s; }
.jt-plate.is-speaking rect { stroke: #f59e0b; stroke-width: 2.5; }

/* Bandeau défilant */
.jt-ticker { animation: jt-ticker 32s linear infinite; }
@keyframes jt-ticker { from { transform: translateX(1130px); } to { transform: translateX(-2200px); } }

.jt-subtitle { min-height: 3.2rem; padding: .75rem 1rem; border-radius: .75rem; background: var(--pp-surface, #fff); border: 1px solid var(--bs-border-color); font-size: 1.1rem; }
.jt-subtitle:empty { display: none; }
.jt-topic { transition: transform .15s, box-shadow .15s; }
.jt-topic:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(2, 6, 23, .15); }

@media (prefers-reduced-motion: reduce) {
    .jt-eyes, .jt-ticker { animation: none; }
    .jt-ticker { transform: translateX(16px); }
}
