/* ============================================================
   Page musique — thème sombre & néon
   Chargé uniquement sur musique.html, après site-v2.css.
   Redéfinit les variables couleur sur .music-dark : tout ce qui
   utilise déjà var(--ink)/var(--soft)/var(--line)/var(--paper)/
   var(--accent) se réhabille automatiquement, sans toucher au
   reste du site.
   ============================================================ */

body.music-dark {
  --ink:#f3f1ec;
  --soft:#8f8d89;
  --line:#242320;
  --paper:#0b0b0c;
  --accent:#ff4d2e;
  position:relative;
  overflow-x:clip;
}

/* Grain léger façon bande analogique — reste très discret */
body.music-dark::before {
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.05;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

body.music-dark .site-header,
body.music-dark footer,
body.music-dark .next-project {
  position:relative;
  z-index:2;
}

/* Header / footer / nav : accent au survol légèrement lumineux */
body.music-dark .nav a:hover,
body.music-dark .brand:hover,
body.music-dark footer a:hover { opacity:.7; }
body.music-dark .brand-dot { text-shadow:0 0 10px rgba(255,77,46,.75); }

/* Halo derrière le titre — le seul geste "fort" de la page */
body.music-dark .project-page { position:relative; z-index:2; }
body.music-dark .project-head { position:relative; }
body.music-dark .project-head::before {
  content:'';
  position:absolute;
  left:-8%;
  top:50%;
  width:46%;
  aspect-ratio:1/1;
  transform:translateY(-50%);
  background:radial-gradient(circle, rgba(255,77,46,.22), rgba(255,77,46,0) 70%);
  filter:blur(6px);
  pointer-events:none;
  z-index:-1;
}
body.music-dark .project-title { text-shadow:0 0 46px rgba(255,77,46,.16); }
body.music-dark .project-info { color:var(--soft); }

/* Tracklist */
body.music-dark .tracklist { border-top-color:var(--line); }
body.music-dark .track { border-bottom-color:var(--line); transition:background .25s ease; }
body.music-dark .track:hover { background:rgba(255,255,255,.015); }

body.music-dark .play-btn {
  border-color:var(--line);
  box-shadow:0 0 0 0 rgba(255,77,46,0);
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
body.music-dark .play-btn:hover {
  border-color:var(--accent);
  box-shadow:0 0 14px rgba(255,77,46,.35);
}
body.music-dark .play-btn.playing {
  box-shadow:0 0 18px rgba(255,77,46,.55), 0 0 40px rgba(255,77,46,.18);
}

/* Les deux barres de l'icône "pause" pulsent comme un vu-mètre pendant la lecture */
body.music-dark .play-btn.playing svg rect {
  transform-origin:center bottom;
  animation:m-eq 1.05s ease-in-out infinite;
}
body.music-dark .play-btn.playing svg rect:nth-child(2) { animation-delay:.22s; }
@keyframes m-eq {
  0%, 100% { transform:scaleY(.55); }
  50% { transform:scaleY(1); }
}
@media (prefers-reduced-motion:reduce) {
  body.music-dark .play-btn.playing svg rect { animation:none; }
}

body.music-dark .track-title { color:var(--ink); }
body.music-dark .track-bar { background:var(--line); }
body.music-dark .track-bar-fill {
  background:var(--accent);
  box-shadow:0 0 8px rgba(255,77,46,.7);
}

/* Bas de page */
body.music-dark .next-project { border-top-color:var(--line); }
body.music-dark footer { border-top-color:var(--line); }

@media (max-width:760px) {
  body.music-dark .project-head::before { width:70%; left:-15%; }
}
