/* ==========================================
   1. VARIABLES (facil configuración de colores)
   ========================================== */
:root {
  --bg-color: #553232;     /* Fondo oscuro */
  --text-color: #ffffff;   /* Texto principal */
  --accent-color: #b9a41d; /* Color dominante de la portada */
  --shadow-color: #b9a41d;
  --op: 0;
  --rot-end: 0;
  --rot-start: 360;

  --btn-opacity: 0.7;
}

/* ==========================================
   2. ESTILOS GLOBALES
   ========================================== */
html, body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  background-color: var(--bg-color) !important;
  color: var(--text-color) !important;
  scrollbar-width: none;        /* Firefox */
  -ms-overflow-style: none;     /* IE y Edge antiguo */
}

body::-webkit-scrollbar {
  display: none;                /* Chrome, Safari, Edge */
}

.marca-agua {
  position: fixed;
  top: 10px;
  right: 10px;
  opacity: 0.4;/
  font-size: 14px;
  color: var(--text-color);
  padding: 5px 10px;
  border-radius: 5px;
  pointer-events: none;
  z-index: 9999;
}

.portadaAlbum {
  position: relative;
  top: 60px
}

.displayTitleA {
  font-family: Apparat, serif;
  filter: brightness(2);
  font-size: 30px;
  color: var(--accent-color) !important;
  text-shadow: 0 0 19px var(--accent-color);
  position: relative;
  top: 60px;
  font-weight: 600;
  text-align: center;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  letter-spacing: 2px;
}


.displayArtist {
  font-family: Apparat, serif;
  filter: brightness(2.5);
  font-size: 40px;
  top: 60px;
  color: var(--accent-color) !important;
  text-shadow: 0 0 19px var(--accent-color);
  position: relative;
  font-weight: 600;
  text-align: center;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  letter-spacing: 2px;
}

/* ==========================================
   3. VISTAS Y CONTENEDORES
   ========================================== */

#loadingScreen {
  transition: opacity 0.7s ease;
}

.view {
  display: none;
  opacity: 0;
  min-height: 100vh;
  background-color: transparent !important;
  transition: opacity 0.5s ease, transform 0.5s ease;
  transform: translateY(10px) translateX(-180px) !important;
}

.mt-8 {
  position: fixed;
  align-items: center;
  background-color: var(--bg-color) !important;
  opacity: 0.5;
}

.view.visible { display: block; }

.view.active {
  opacity: 1;
  transform: translateY(0);
}

#view-ready.visible {
  position: fixed;
  inset: 0;
  z-index: 20;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* ==========================================
   4. SECCIÓN DE LETRAS (LYRICS)
   ========================================== */
.lyrics-container {
  height: 60vh;
  width: 1050px !important;
  overflow-y: auto;
  background: transparent;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.lyrics-container::-webkit-scrollbar {
  display: none;
}

/* Letras inactivas (ya cantadas o por cantar) */
.lyric-line {
  font-family: Apparat_Black, serif;
  padding: 15px 0;
  color: var(--accent-color);
  font-size: 2rem;
  cursor: pointer;
  transition: filter 0.4s ease, font-size 0.4s ease, transform 0.5s ease;
  text-shadow: 0 0 4px var(--accent-color);
  filter: brightness(1.1);
}

.lyric-line:hover {
  color: var(--accent-color);
  filter: brightness(0.7);
  transform: scale(1.05);
}

.lyric-line.active {
  font-family: Apparat_Black, serif;
  font-size: 2.75rem;
  font-weight: bold;
  filter: brightness(2.3);
  transform: scale(1.2);
  text-shadow: 0 0 19px var(--shadow-color);
}

/* ==========================================
   5. CONTROLES INTERACTIVOS
   ========================================== */
input[type="range"] {
  width: 100%;
  cursor: pointer;
  accent-color: var(--accent-color);
}

/* ==========================================
   6. ANIMACION DEL ALBUM COVER
   ========================================== */

@keyframes albumFall {
  0%   { transform: translateY(-150px) rotate(var(--rot-start)); opacity: 0; }
  10%  { opacity: var(--op); }
  90%  { opacity: var(--op); }
  100% { transform: translateY(110vh) rotate(var(--rot-end)); opacity: 0; }
}

.falling-cover {
  position: absolute;
  top: 0;
  border-radius: 10px;
  object-fit: cover;
  animation: albumFall linear infinite;
  pointer-events: none;
  will-change: transform, opacity;
}

/* ==========================================
   7. ANIMACIÓN DEL BOTÓN PLAY/PAUSA
   ========================================== */
#playPauseBtn {
  opacity: var(--btn-opacity);
  animation: spinButton 4s linear infinite;
  animation-play-state: paused;
  transition: opacity 0.3s ease;
}

#playPauseBtn:hover {
  opacity: 1;
}

#playPauseBtn.is-playing {
  animation-play-state: running;
}

@keyframes spinButton {
  from { rotate: 0deg; }
  to { rotate: 360deg; }
}

@font-face {
  font-family: 'Apparat';
  src: url('font/fonnts.com-Apparat_Regular.otf') format('otf'),
  url('font/fonnts.com-Apparat_Regular.otf') format('otf');
}
body {
  font-family: 'Apparat', serif;
}
