/* ══════════════════════════════════════════════════════════════════════════
   La Table JDR — RIDEAU DE SCÈNE (projection aux joueurs)
   Source unique, chargée par base.html (application) ET par la page d'accueil,
   qui rejoue ce rideau sur le téléphone de son premier écran. Toute retouche ici
   change donc les deux : c'est voulu (la vitrine montre ce que voient les joueurs).
   Extrait tel quel de theme.css le 06/11/2026.
   ══════════════════════════════════════════════════════════════════════════ */
/* ── Rideau de scène : projection de texte aux joueurs ─────────────────────
   Le moment de révélation = signature visuelle du produit : fond qui tombe,
   filets dorés qui se tracent, titre qui « se pose », texte qui se dévoile. */
.curtain-backdrop {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(200,140,36,.08) 0%, transparent 60%),
    rgba(10, 8, 4, .93);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  animation: curtain-backdrop-in .5s ease both;
}
.curtain-panel  { animation: curtain-in .9s .1s cubic-bezier(.22,1,.36,1) both; }
.curtain-rule   {
  height: 1px; background: linear-gradient(90deg, transparent, var(--gold) 30%, var(--gold) 70%, transparent);
  transform-origin: center; animation: curtain-rule-in 1.2s .3s cubic-bezier(.22,1,.36,1) both;
}
.curtain-title  { letter-spacing: .18em; animation: curtain-title-in 1s .35s cubic-bezier(.22,1,.36,1) both; }
.curtain-body   { animation: curtain-body-in 1s .55s cubic-bezier(.22,1,.36,1) both; }
@keyframes curtain-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes curtain-in       { from { opacity: 0; transform: translateY(30px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes curtain-rule-in  { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: 1; } }
@keyframes curtain-title-in { from { opacity: 0; letter-spacing: .45em; } to { opacity: 1; letter-spacing: .18em; } }
@keyframes curtain-body-in  { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .curtain-backdrop, .curtain-panel, .curtain-rule, .curtain-title, .curtain-body { animation: none; }
}
