/* Home Page - Neon 80s Music Player */

.home-page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  width: 100vw;
  background: var(--bg-vignette);
  padding: 0;
  margin: 0;
  position: relative;
  overflow: hidden;
}

/* Star-speckled noise overlay */
.home-page::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    radial-gradient(circle at 60% 20%, rgba(0, 240, 255, 0.04) 1px, transparent 1px),
    radial-gradient(circle at 80% 80%, rgba(255, 0, 222, 0.03) 1px, transparent 1px),
    radial-gradient(circle at 40% 90%, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 200px 200px, 150px 150px, 180px 180px, 220px 220px;
  background-position: 0 0, 40px 60px, 80px 20px, 120px 100px;
  pointer-events: none;
  opacity: 0.6;
}

/* Header with title */
.home-page__header {
  position: relative;
  z-index: 10;
  text-align: center;
  padding: 1rem;
  flex-shrink: 0;
}

/* Two-column layout */
.home-page__content {
  container-type: inline-size;
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  width: 100%;
  height: 100%;
  flex: 1;
  padding: 1rem;
  min-height: 0;
  overflow: hidden;
}

/* Desktop: side-by-side */
@media (min-width: 768px) {
  .home-page__content {
    grid-template-columns: minmax(300px, 400px) 1fr;
  }
}

/* Left column - duck artwork */
.home-page__left {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 100%;
  min-height: 0;
  overflow: auto;
}

/* Right column - chat */
.home-page__right {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.home-player__title {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: clamp(0.5rem, 2vw, 1rem);
  margin: 0;
  line-height: 1;
  width: 100%;
}

.home-player__title-word {
  font-size: clamp(1.4rem, 4vw, 2.4rem);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: block;
}

/* RICH - Gold/Orange with warm glow */
.home-player__title-word--rich {
  color: var(--lch-gold);
  text-shadow:
    1px 0 0 var(--lch-orange),
    -1px 0 0 var(--lch-light-aqua),
    0 0 8px var(--lch-gold),
    0 0 13px var(--lch-orange),
    0 0 18px rgba(255, 208, 52, 0.6);
}

/* ANGRY - Neon Pink with italic slant + intense glow */
.home-player__title-word--angry {
  color: var(--lch-neon-pink);
  font-style: italic;
  transform: skewX(-8deg);
  text-shadow:
    1.5px 0 0 var(--lch-electric-cyan),
    -1.5px 0 0 var(--lch-purple-glow),
    0 0 10px var(--lch-neon-pink),
    0 0 15px var(--lch-neon-pink),
    0 0 23px var(--lch-purple-glow),
    0 1px 4px rgba(0, 0, 0, 0.8);
}

/* DUCK - Electric Cyan with cool blue glow */
.home-player__title-word--duck {
  color: var(--lch-electric-cyan);
  text-shadow:
    1px 0 0 var(--lch-neon-pink),
    -1px 0 0 var(--lch-purple-glow),
    0 0 8px var(--lch-electric-cyan),
    0 0 13px var(--lch-light-aqua),
    0 0 20px rgba(0, 240, 255, 0.5);
}

@media (min-width: 768px) {
  .home-player__title-word {
    font-size: clamp(1.8rem, 4.5vw, 3rem);
  }
}

.home-player__subtitle {
  font-size: clamp(0.9rem, 2.5vw, 1.1rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
  color: var(--lch-electric-cyan);
  text-shadow:
    0 0 6px rgba(0, 240, 255, 0.8),
    0 0 12px rgba(0, 240, 255, 0.5),
    0 0 20px rgba(255, 0, 222, 0.3),
    0 1px 2px rgba(0, 0, 0, 0.5);
  margin: 0 0 clamp(0.75rem, 2vw, 1.25rem) 0;
  opacity: 1;
  animation: subtitle-pulse 2s ease-in-out infinite;
  will-change: filter, transform;
  transform: translateZ(0);
}

@keyframes subtitle-pulse {
  0%, 100% {
    filter: brightness(1);
    transform: scale(1);
  }
  50% {
    filter: brightness(1.1);
    transform: scale(1.02);
  }
}

.home-player__artwork {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 3 / 4;
  padding: 3px;
  border-radius: 20px;
  background: var(--bg-artwork-gradient);
  box-shadow: var(--glow-frame-pink-purple);
  overflow: hidden;
}

/* Inner neon stroke */
.home-player__artwork::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px;
  border: 1px solid rgba(255, 0, 222, 0.6);
  pointer-events: none;
  z-index: 2;
}

.home-player__artwork img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 17px;
  display: block;
  cursor: pointer;
}

.home-player__controls-container {
  width: 100%;
  max-width: 100%;
  margin-top: 1rem;
}
