.page-shell {
  align-content: start;
  gap: 18px;
}


.gates-intro {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 36%;
  filter: brightness(1.13) saturate(0.9) contrast(0.98);
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 650ms ease;
}
.gates-intro.is-visible { opacity: 1; }
.intro-control {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 10;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(10, 10, 10, 0.85);
  color: #f7dfaa;
  font-size: 0.8rem;
}
.page-shell { padding-bottom: 90px; }

.player-layout.slim-player {
  width: min(100%, 820px);
  justify-self: center;
  grid-template-columns: 238px minmax(0, 1fr);
  border-radius: 8px;
  background: rgba(10, 10, 10, 0.9);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.3);
}

.player-layout.slim-player .player-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 298px;
  padding: 22px;
  border: 0;
  border-radius: 8px 0 0 8px;
  box-shadow: none;
  background: transparent;
}

.player-layout.slim-player .cover-wrap {
  width: 184px;
  justify-self: center;
}

.player-layout.slim-player .cover-wrap::before {
  inset: -2px;
  filter: blur(5px);
  opacity: 0.4;
  animation: artwork-glow 7s ease-in-out infinite alternate;
}

.player-layout.slim-player .cover-art,
.player-layout.slim-player .cover-fallback {
  border-radius: 4px;
  border-width: 1px;
  box-shadow: none;
}

.player-layout.slim-player .cover-fallback span { font-size: 2rem; }
.player-layout.slim-player .song-copy h1 {
  font-size: 1.2rem;
  line-height: 1.25;
  margin: 5px 0;
}
.player-layout.slim-player .eyebrow { letter-spacing: 0; font-size: 0.65rem; }
.player-layout.slim-player .song-copy p:last-child { font-size: 0.76rem; }
.player-layout.slim-player .visualizer { display: none; }
.player-layout.slim-player .player-stage::before,
.player-layout.slim-player .player-stage::after { display: none; }
.player-layout.slim-player .stage-lines { opacity: 0.25; }

.player-layout.slim-player .controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px;
  align-items: center;
  gap: 20px;
  min-height: 298px;
  padding: 60px 24px 28px;
  align-content: center;
  border: 0;
  border-radius: 0 8px 8px 0;
  box-shadow: none;
  overflow: visible;
  background: transparent;
  backdrop-filter: none;
}

.player-layout.slim-player .transport {
  grid-template-columns: 40px 58px 40px;
  gap: 12px;
  grid-column: 1 / -1;
  padding: 0;
  border: 0;
  background: none;
}
.player-layout.slim-player .icon-button { width: 40px; height: 40px; border: 0; background: none; }
.player-layout.slim-player .play-button { width: 58px; height: 58px; border-radius: 50%; box-shadow: 0 0 28px rgba(217,173,87,.15); }
.player-layout.slim-player .play-icon { transform: scale(0.7); }
.player-layout.slim-player .volume-row { grid-template-columns: 30px minmax(0, 1fr); gap: 6px; }
.player-layout.slim-player .volume-row .icon-button { width: 30px; }
.player-layout.slim-player .timeline { display: grid; gap: 8px; grid-column: 1 / -1; }
.player-layout.slim-player .time-row { font-size: 0.65rem; font-variant-numeric: tabular-nums; }
.player-layout.slim-player input[type="range"] { min-width: 0; margin: 0; }
.player-layout.slim-player .expand-button { top: 16px; right: 16px; width: 36px; height: 36px; box-shadow: none; }
.player-layout.slim-player .expand-button[aria-expanded="true"] { color: var(--accent); background: rgba(217, 173, 87, 0.15); }

.player-layout.slim-player .playlist-section {
  display: grid;
  grid-column: 1 / -1;
  padding: 16px 18px;
  border-top: 1px solid var(--line);
}
.player-layout.slim-player .playlist-section[hidden] { display: none; }
.player-layout.slim-player .playlist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.daily-content { width: min(100%, 820px); }

.playback-bars { display: flex; align-items: center; height: 26px; gap: 4px; pointer-events: none; }
.playback-bars span { width: 3px; height: 20px; background: var(--accent); opacity: .6; transform: scaleY(.25); border-radius: 2px; }
body.is-playing .playback-bars span { animation: playback-dance 1.1s ease-in-out infinite alternate; }
.playback-bars span:nth-child(3n) { animation-delay: -.7s !important; }
.playback-bars span:nth-child(3n + 1) { animation-delay: -.3s !important; }
@keyframes playback-dance { from { transform: scaleY(.2); } to { transform: scaleY(1); } }
@keyframes artwork-glow { from { opacity: .22; } to { opacity: .52; } }

@media (max-width: 950px) {
  .player-layout.slim-player .controls { gap: 18px; }
}

@media (max-width: 600px) {
  .player-layout.slim-player { grid-template-columns: minmax(0, 1fr); }
  .player-layout.slim-player .player-stage { min-height: 176px; grid-template-columns: 128px minmax(0, 1fr); padding: 24px 16px 14px; gap: 16px; }
  .player-layout.slim-player .song-copy { padding-top: 20px; }
  .player-layout.slim-player .cover-wrap { width: 128px; }
  .player-layout.slim-player .song-copy h1 { font-size: 1.05rem; }
  .player-layout.slim-player .controls { min-height: 158px; padding: 4px 16px 18px; grid-template-columns: minmax(0,1fr) 110px; gap: 10px 18px; }
  .player-layout.slim-player .timeline { min-width: 0; }
  .player-layout.slim-player .expand-button { top: 12px; }
  .player-layout.slim-player .playlist { grid-template-columns: 1fr; }
  .daily-content { background: rgba(0, 0, 0, 0.78); }
}

/* Share the artwork's height between the track identity and compact controls. */
.player-layout.slim-player {
  width: min(100%, 640px);
  grid-template-columns: 184px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 8px 20px;
  padding: 18px;
}
.player-layout.slim-player .player-stage { display: contents; }
.player-layout.slim-player .stage-lines { display: none; }
.player-layout.slim-player .cover-wrap { grid-column: 1; grid-row: 1 / 3; align-self: center; }
.player-layout.slim-player .song-copy { grid-column: 2; grid-row: 1; padding: 0 38px 0 0; align-self: end; }
.player-layout.slim-player .song-copy p:last-child { font-size: 1.15rem; font-weight: 600; color: var(--accent); }
.player-layout.slim-player .controls {
  grid-column: 2;
  grid-row: 2;
  grid-template-columns: minmax(0, 1fr) 112px;
  min-height: 0;
  padding: 0;
  gap: 8px 12px;
}
.player-layout.slim-player .transport {
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: 32px 42px 32px;
  gap: 4px;
  justify-content: start;
}
.player-layout.slim-player .icon-button { width: 32px; height: 36px; }
.player-layout.slim-player .play-button { width: 42px; height: 42px; }
.player-layout.slim-player .volume-row { grid-column: 2; grid-row: 1; }
.player-layout.slim-player .timeline { grid-row: 2; gap: 4px; }
.player-layout.slim-player .playback-bars { display: none; }
.player-layout.slim-player .playlist-section { grid-row: 3; }
@media (max-width: 600px) {
  .player-layout.slim-player { grid-template-columns: 128px minmax(0, 1fr); padding: 14px; gap: 12px; }
  .player-layout.slim-player .cover-wrap { grid-row: 1; }
  .player-layout.slim-player .song-copy { padding: 24px 0 0; align-self: center; }
  .player-layout.slim-player .controls { grid-column: 1 / -1; }
}
