* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at top left, rgba(255, 205, 87, 0.35), transparent 32rem),
    radial-gradient(circle at bottom right, rgba(136, 78, 255, 0.28), transparent 30rem),
    #16131d;
  color: #f8f2df;
}

.radio-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.hero-card {
  width: min(760px, 100%);
  padding: 36px;
  border: 1px solid rgba(248, 242, 223, 0.18);
  border-radius: 28px;
  background: rgba(22, 19, 29, 0.78);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}

.eyebrow {
  margin: 0 0 10px;
  color: #ffd25e;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.78rem;
}

h1 {
  margin: 0;
  font-size: clamp(2.6rem, 8vw, 5rem);
  line-height: 0.95;
}

.tagline {
  max-width: 42rem;
  margin: 18px 0 0;
  font-size: 1.2rem;
  color: #f3dfaa;
}

.lore {
  max-width: 42rem;
  margin: 10px 0 28px;
  color: #cfc2e9;
}

.player-card {
  padding: 24px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
}

.label {
  margin: 0 0 6px;
  color: #ffd25e;
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

h2 {
  margin: 0;
  font-size: clamp(1.6rem, 5vw, 2.6rem);
}

#now-artist {
  margin: 8px 0 22px;
  color: #cfc2e9;
}

button {
  width: 100%;
  border: 0;
  border-radius: 999px;
  padding: 16px 22px;
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 900;
  color: #16131d;
  background: #ffd25e;
}

button:hover {
  transform: translateY(-1px);
}

.next {
  margin: 18px 0 0;
  color: #f3dfaa;
}

@media (max-width: 560px) {
  .hero-card {
    padding: 24px;
  }

  .player-card {
    padding: 18px;
  }
}

.track-type {
  margin: 0 0 8px;
  color: #cfc2e9;
  font-size: 0.9rem;
  text-transform: capitalize;
}

.signal-status {
  margin: 8px 0 22px;
  color: #f3dfaa;
  font-size: 0.95rem;
}

.button-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

#resync-button {
  background: #f3dfaa;
}

@media (max-width: 560px) {
  .button-row {
    grid-template-columns: 1fr;
  }
}

.track-type {
  margin: 0 0 8px;
  color: #cfc2e9;
  font-size: 0.9rem;
  text-transform: capitalize;
}

.signal-status {
  margin: 8px 0 22px;
  color: #f3dfaa;
  font-size: 0.95rem;
}

.button-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

#resync-button {
  background: #f3dfaa;
}

@media (max-width: 560px) {
  .button-row {
    grid-template-columns: 1fr;
  }
}


.station-details {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(248, 242, 223, 0.18);
  color: #cfc2e9;
  font-size: 0.95rem;
}

.station-details p {
  margin: 8px 0;
}

.station-details strong {
  color: #ffd25e;
}

.warning {
  color: #f3dfaa;
  font-style: italic;
}

.station-note {
  max-width: 42rem;
  margin: 18px 0 28px;
  padding: 14px 16px;
  border-left: 4px solid #ffd25e;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  color: #f3dfaa;
}

.share-card,
.track-list-card {
  margin-top: 26px;
}

.share-url {
  overflow-wrap: anywhere;
  color: #f8f2df;
  font-size: 1.05rem;
}

#track-list {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 14px 0 0;
  list-style: none;
}

#track-list li {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
  color: #f8f2df;
}

.band-photo {
  width: 100%;
  max-height: 360px;
  margin: 24px 0 0;
  border-radius: 22px;
  object-fit: cover;
  border: 1px solid rgba(248, 242, 223, 0.18);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
}

.bio-card {
  margin-top: 26px;
  padding: 24px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
}

.bio-card p {
  color: #f3dfaa;
  line-height: 1.6;
}

.bio-card a {
  color: #ffd25e;
  font-weight: 800;
}

.track-progress {
  margin: -8px 0 22px;
  color: #f3dfaa;
  font-size: 0.95rem;
}

.track-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.loop-length {
  margin: 6px 0 0;
  color: #cfc2e9;
  font-size: 0.95rem;
}

.secondary-button {
  width: auto;
  min-width: 150px;
  padding: 12px 16px;
  background: #f3dfaa;
}

#track-list.collapsed {
  display: none;
}

@media (max-width: 560px) {
  .track-list-header {
    align-items: stretch;
    flex-direction: column;
  }

  .secondary-button {
    width: 100%;
  }
}

.track-recording-info {
  margin: -2px 0 12px;
  color: #cfc2e9;
  font-size: 0.95rem;
}

.playlist-title,
.playlist-meta {
  display: block;
}

.playlist-meta {
  margin-top: 4px;
  color: #cfc2e9;
  font-size: 0.9rem;
}

.top-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.top-action-button,
.top-action-link {
  width: auto;
  min-width: 118px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 210, 94, 0.55);
  background: rgba(255, 210, 94, 0.13);
  color: #ffd25e;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.donation-menu {
  position: relative;
}

.donation-panel {
  position: absolute;
  z-index: 5;
  top: 46px;
  left: 0;
  width: min(280px, 78vw);
  padding: 16px;
  border: 1px solid rgba(248, 242, 223, 0.18);
  border-radius: 18px;
  background: rgba(22, 19, 29, 0.96);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.42);
}

.donation-title {
  margin: 0 0 6px;
  color: #ffd25e;
  font-weight: 900;
}

.donation-copy {
  margin: 0 0 12px;
  color: #f3dfaa;
  font-size: 0.92rem;
}

.donation-links {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.donation-links a {
  padding: 10px 12px;
  border-radius: 999px;
  background: #ffd25e;
  color: #16131d;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}


.bar-card {
  margin-top: 26px;
  padding: 24px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
}

.bar-content {
  margin-top: 18px;
}

.bottle-form {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}

.bottle-form label {
  display: grid;
  gap: 6px;
  color: #f3dfaa;
  font-size: 0.92rem;
  font-weight: 800;
}

.bottle-form input,
.bottle-form select {
  width: 100%;
  border: 1px solid rgba(248, 242, 223, 0.18);
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(22, 19, 29, 0.72);
  color: #f8f2df;
  font: inherit;
}

.bottle-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bottle {
  min-height: 138px;
  display: grid;
  align-content: end;
  justify-items: center;
  gap: 8px;
  padding: 14px 10px;
  border: 1px solid rgba(248, 242, 223, 0.18);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.07);
}

.bottle-shape {
  width: 42px;
  height: 78px;
  border-radius: 14px 14px 10px 10px;
  border: 2px solid rgba(248, 242, 223, 0.35);
  position: relative;
}

.bottle-shape::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 12px;
  width: 14px;
  height: 22px;
  border-radius: 6px 6px 2px 2px;
  background: inherit;
  border: 2px solid rgba(248, 242, 223, 0.35);
  border-bottom: 0;
}

.bottle-shape.green { background: rgba(80, 180, 110, 0.65); }
.bottle-shape.brown { background: rgba(146, 92, 45, 0.72); }
.bottle-shape.clear { background: rgba(200, 230, 255, 0.32); }
.bottle-shape.fancy { background: rgba(180, 100, 255, 0.55); }
.bottle-shape.jug { background: rgba(255, 210, 94, 0.55); border-radius: 22px 22px 14px 14px; }

.bottle-label {
  color: #ffd25e;
  font-weight: 900;
  text-align: center;
  overflow-wrap: anywhere;
}

.bottle-stamp {
  color: #cfc2e9;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.collapsed {
  display: none !important;
}

.next {
  margin-bottom: 12px;
}

.track-progress {
  margin-top: 10px;
}

#track-list li.current-track {
  border: 1px solid rgba(255, 210, 94, 0.75);
  background: rgba(255, 156, 51, 0.22);
  box-shadow: 0 0 0 2px rgba(255, 156, 51, 0.14);
}

#track-list li.current-track .playlist-title {
  color: #ffd25e;
}

.bottle-shape {
  box-shadow:
    inset 0 10px 18px rgba(255, 255, 255, 0.12),
    inset 0 -14px 18px rgba(0, 0, 0, 0.22),
    0 10px 20px rgba(0, 0, 0, 0.25);
}

.bottle-shape.green {
  width: 38px;
  height: 88px;
  border-radius: 12px 12px 9px 9px;
}

.bottle-shape.brown {
  width: 46px;
  height: 76px;
  border-radius: 18px 18px 10px 10px;
}

.bottle-shape.clear {
  width: 34px;
  height: 92px;
  border-radius: 18px 18px 8px 8px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.22), rgba(200,230,255,0.28), rgba(255,255,255,0.08));
}

.bottle-shape.fancy {
  width: 52px;
  height: 82px;
  border-radius: 26px 26px 12px 12px;
  background:
    radial-gradient(circle at 35% 20%, rgba(255,255,255,0.28), transparent 24px),
    rgba(180, 100, 255, 0.55);
}

.bottle-shape.jug {
  width: 58px;
  height: 70px;
  border-radius: 28px 28px 18px 18px;
}

.bottle-shape.jug::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 22px;
  width: 22px;
  height: 28px;
  border: 3px solid rgba(248, 242, 223, 0.35);
  border-left: 0;
  border-radius: 0 18px 18px 0;
}

.bottle::before {
  content: "";
  width: 76px;
  height: 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.28);
  order: 3;
}

.bottle-shape.can {
  width: 52px;
  height: 74px;
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.32), rgba(170,180,190,0.42), rgba(255,255,255,0.12)),
    rgba(190, 200, 210, 0.7);
}

.bottle-shape.can::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 4px;
  width: 40px;
  height: 10px;
  border-radius: 50%;
  background: rgba(220, 225, 230, 0.85);
  border: 2px solid rgba(248, 242, 223, 0.28);
}

.bottle-shape.can::after {
  content: "";
  position: absolute;
  top: 6px;
  left: 17px;
  width: 18px;
  height: 6px;
  border-radius: 999px;
  border: 2px solid rgba(22, 19, 29, 0.45);
  background: rgba(255, 255, 255, 0.24);
}

.bottle {
  position: relative;
  padding-top: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.07);
}

.bottle::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 210, 94, 0.18);
  box-shadow: 0 0 18px rgba(255, 210, 94, 0.12);
}

.bottle-shape {
  overflow: visible;
}

.bottle-shape::marker {
  display: none;
}

.bottle-shape.green::after,
.bottle-shape.brown::after,
.bottle-shape.clear::after,
.bottle-shape.fancy::after {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: 18px;
  height: 18px;
  border-radius: 5px;
  background:
    linear-gradient(90deg, rgba(22, 19, 29, 0.55), rgba(255, 210, 94, 0.34));
  border: 1px solid rgba(248, 242, 223, 0.24);
}

.bottle-shape.green::before,
.bottle-shape.brown::before,
.bottle-shape.clear::before,
.bottle-shape.fancy::before {
  box-shadow: inset 0 5px 8px rgba(255, 255, 255, 0.14);
}

.bottle-shape.green {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.18), transparent 28%),
    rgba(45, 150, 90, 0.78);
}

.bottle-shape.brown {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.14), transparent 28%),
    rgba(130, 73, 34, 0.82);
}

.bottle-shape.clear {
  border-color: rgba(220, 240, 255, 0.52);
  backdrop-filter: blur(1px);
}

.bottle-shape.fancy {
  transform: rotate(-2deg);
}

.bottle-shape.jug {
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,0.2), transparent 24px),
    rgba(210, 153, 62, 0.72);
}

.bottle-shape.jug::before {
  left: 18px;
  top: -18px;
  width: 18px;
  height: 20px;
}

.bottle-shape.can {
  overflow: hidden;
}

.bottle-shape.can .fake {
  display: none;
}

.bottle-shape.can {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.45), rgba(170,180,190,0.48), rgba(255,255,255,0.1)),
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,0.08) 0,
      rgba(255,255,255,0.08) 3px,
      transparent 3px,
      transparent 11px
    ),
    rgba(190, 200, 210, 0.78);
}

.bottle-shape.can::before {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.22);
}

.bottle-label {
  max-width: 100%;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(22, 19, 29, 0.44);
}

.bottle-stamp {
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(22, 19, 29, 0.38);
}

.bottle-list {
  align-items: end;
}

.bottle {
  isolation: isolate;
}

.bottle-shape {
  margin-top: 16px;
  transition: transform 160ms ease, filter 160ms ease;
}

.bottle:hover .bottle-shape {
  transform: translateY(-3px) rotate(1deg);
  filter: brightness(1.12);
}

.bottle-shape::before {
  z-index: 2;
}

.bottle-shape.green::before,
.bottle-shape.brown::before,
.bottle-shape.clear::before,
.bottle-shape.fancy::before {
  content: "";
  position: absolute;
  top: -22px;
  left: 50%;
  width: 16px;
  height: 24px;
  transform: translateX(-50%);
  border-radius: 6px 6px 2px 2px;
  background: inherit;
  border: 2px solid rgba(248, 242, 223, 0.35);
  border-bottom: 0;
}

.bottle-shape.green::after,
.bottle-shape.brown::after,
.bottle-shape.clear::after,
.bottle-shape.fancy::after {
  box-shadow:
    inset 0 2px 3px rgba(255, 255, 255, 0.16),
    0 2px 6px rgba(0, 0, 0, 0.18);
}

.bottle-shape.green {
  border-radius: 10px 10px 8px 8px;
}

.bottle-shape.green::after {
  bottom: 24px;
}

.bottle-shape.brown::after {
  bottom: 20px;
  height: 20px;
}

.bottle-shape.clear::after {
  bottom: 26px;
  height: 16px;
  background:
    linear-gradient(90deg, rgba(248, 242, 223, 0.55), rgba(255, 210, 94, 0.2));
}

.bottle-shape.fancy::before {
  width: 20px;
  height: 18px;
  top: -15px;
  border-radius: 10px 10px 4px 4px;
}

.bottle-shape.fancy::after {
  left: 8px;
  right: 8px;
  bottom: 22px;
  height: 22px;
  border-radius: 999px;
}

.bottle-shape.jug {
  overflow: visible;
}

.bottle-shape.jug::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 20px;
  width: 16px;
  height: 20px;
  border-radius: 8px 8px 2px 2px;
  background: rgba(210, 153, 62, 0.72);
  border: 2px solid rgba(248, 242, 223, 0.35);
  border-bottom: 0;
}

.bottle-shape.jug::after {
  box-shadow: 4px 0 8px rgba(0, 0, 0, 0.18);
}

.bottle-shape.can {
  border-radius: 8px 8px 10px 10px;
}

.bottle-shape.can::before {
  top: -5px;
  left: 3px;
  width: 42px;
  height: 11px;
}

.bottle-shape.can::after {
  top: 8px;
}

.bottle-shape.can {
  box-shadow:
    inset 8px 0 14px rgba(255, 255, 255, 0.18),
    inset -10px 0 16px rgba(0, 0, 0, 0.18),
    0 10px 20px rgba(0, 0, 0, 0.25);
}

.bottle-label {
  position: relative;
  z-index: 2;
}

.bottle-stamp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.bottle::before {
  width: 86px;
  height: 10px;
  background:
    radial-gradient(ellipse, rgba(0, 0, 0, 0.36), rgba(0, 0, 0, 0.08) 70%, transparent);
}

.bar-card {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.045)),
    rgba(255, 255, 255, 0.08);
}

.bar-content::after {
  content: "";
  display: block;
  height: 12px;
  margin-top: 18px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(92, 52, 27, 0.2), rgba(255, 210, 94, 0.26), rgba(92, 52, 27, 0.2));
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25);
}

/* Bottle-on-the-Bar visual polish pass */
.bottle {
  min-height: 170px;
  align-content: center;
  gap: 10px;
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.035)),
    rgba(255, 255, 255, 0.07);
}

.bottle-shape {
  transform-origin: bottom center;
  margin-top: 26px;
  margin-bottom: 2px;
}

.bottle:hover .bottle-shape {
  transform: translateY(-4px) scale(1.04) rotate(1deg);
}

/* Put a clearer paper label on regular bottles */
.bottle-shape.green::after,
.bottle-shape.brown::after,
.bottle-shape.clear::after,
.bottle-shape.fancy::after {
  left: 8px;
  right: 8px;
  height: 20px;
  bottom: 22px;
  border-radius: 6px;
  background:
    linear-gradient(90deg, rgba(248, 242, 223, 0.72), rgba(255, 210, 94, 0.38));
  border: 1px solid rgba(22, 19, 29, 0.28);
}

/* More distinct bottle silhouettes */
.bottle-shape.green {
  width: 42px;
  height: 96px;
  border-radius: 13px 13px 9px 9px;
}

.bottle-shape.brown {
  width: 54px;
  height: 84px;
  border-radius: 24px 24px 12px 12px;
}

.bottle-shape.clear {
  width: 36px;
  height: 104px;
  border-radius: 20px 20px 8px 8px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.38), rgba(190,215,235,0.28), rgba(255,255,255,0.08)),
    rgba(160, 190, 215, 0.22);
}

.bottle-shape.fancy {
  width: 58px;
  height: 88px;
  border-radius: 30px 30px 15px 15px;
}

/* Jug: make it chunkier and lower */
.bottle-shape.jug {
  width: 66px;
  height: 76px;
  border-radius: 32px 32px 19px 19px;
}

/* Can: add top/bottom rims */
.bottle-shape.can {
  width: 56px;
  height: 82px;
  border-radius: 9px;
}

.bottle-shape.can {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.22), transparent 12%, transparent 88%, rgba(0,0,0,0.16)),
    linear-gradient(90deg, rgba(255,255,255,0.48), rgba(170,180,190,0.50), rgba(255,255,255,0.12)),
    repeating-linear-gradient(
      180deg,
      rgba(255,255,255,0.08) 0,
      rgba(255,255,255,0.08) 3px,
      transparent 3px,
      transparent 11px
    ),
    rgba(190, 200, 210, 0.82);
}

/* Text polish */
.bottle-label {
  font-size: 1rem;
  line-height: 1.1;
  padding: 4px 10px;
}

.bottle-stamp {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
}

/* Make the bar shelf more visible */
.bottle::after {
  left: 18px;
  right: 18px;
  bottom: 12px;
  height: 12px;
  background:
    linear-gradient(90deg, rgba(77, 43, 24, 0.55), rgba(170, 118, 62, 0.55), rgba(77, 43, 24, 0.55));
  box-shadow:
    0 5px 12px rgba(0, 0, 0, 0.34),
    inset 0 1px 2px rgba(255, 255, 255, 0.16);
}

/* Bottle neck personality pass — keep body shapes, vary necks only */
.bottle-shape.green::before {
  width: 18px;
  height: 28px;
  top: -26px;
  border-radius: 8px 8px 3px 3px;
}

.bottle-shape.brown::before {
  width: 22px;
  height: 22px;
  top: -20px;
  border-radius: 9px 9px 4px 4px;
}

.bottle-shape.clear::before {
  width: 15px;
  height: 34px;
  top: -31px;
  border-radius: 7px 7px 2px 2px;
  opacity: 0.85;
}

.bottle-shape.fancy::before {
  width: 30px;
  height: 16px;
  top: -14px;
  border-radius: 999px 999px 5px 5px;
}

.bottle-shape.jug::before {
  width: 24px;
  height: 16px;
  top: -14px;
  left: 20px;
  border-radius: 12px 12px 4px 4px;
}

.bottle-shape.can::before {
  top: -5px;
  height: 10px;
  border-radius: 50%;
}

/* Date Night / Fancy Bottle: purple wine-bottle shape */
.bottle-shape.fancy {
  width: 42px;
  height: 96px;
  border-radius: 13px 13px 9px 9px;
  transform: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.18), transparent 28%),
    rgba(158, 91, 216, 0.78);
}

.bottle-shape.fancy::before {
  width: 18px;
  height: 28px;
  top: -26px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 8px 8px 3px 3px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.18), transparent 28%),
    rgba(158, 91, 216, 0.78);
}

.bottle-shape.fancy::after {
  left: 8px;
  right: 8px;
  height: 20px;
  bottom: 22px;
  border-radius: 6px;
}

/* Mobile spacing fix for Up Next / Tuned In */
@media (max-width: 560px) {
  .next {
    margin-bottom: 18px;
    line-height: 1.45;
  }

  .track-progress {
    margin-top: 16px;
    line-height: 1.45;
  }
}


@media (max-width: 560px) {
}




@media (max-width: 560px) {

    18% {
      opacity: 0.55;
    }

    70% {
      opacity: 0.34;
    }

    100% {
      transform: translate(-50%, -50%) rotate(720deg) translateX(160px) scale(4.2);
      opacity: 0;
    }
  }
}

/* Mobile Bottle-on-the-Bar visibility */
@media (max-width: 560px) {
  .bar-card {
    padding: 18px;
    scroll-margin-top: 18px;
  }

  .bar-content {
    margin-top: 20px;
  }

  .bottle-form {
    gap: 16px;
  }

  .bottle-list {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 18px;
  }

  .bottle {
    min-height: 185px;
    padding: 22px 8px 18px;
  }

  .bottle-shape {
    margin-top: 34px;
  }
}

@media (max-width: 380px) {
  .bottle-list {
    grid-template-columns: 1fr;
  }
}




@media (max-width: 560px) {

    16% {
      opacity: 0.6;
    }

    72% {
      opacity: 0.36;
    }

    100% {
      transform: translate(-50%, -50%) rotate(900deg) translateX(230px) scale(7.2);
      opacity: 0;
    }
  }
}

/* Strong mobile spacing override */
@media (max-width: 560px) {
  .next {
    display: block;
    margin-top: 18px;
    margin-bottom: 28px;
    line-height: 1.65;
  }

  .track-progress {
    display: block;
    margin-top: 24px;
    margin-bottom: 24px;
    line-height: 1.65;
  }

  .button-row {
    margin-top: 18px;
  }
}

.signal-timer {
  margin: 0.25rem 0 0;
  font-size: 0.85rem;
  color: rgba(255, 244, 214, 0.7);
}

/* Phase 2B Bottle on the Bar redesign */
.bottle-bar-section {
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 0%, rgba(255, 220, 140, 0.16), transparent 28%),
    linear-gradient(180deg, rgba(61, 34, 18, 0.95), rgba(24, 14, 9, 0.98));
  border: 1px solid rgba(236, 190, 106, 0.32);
}

.bar-stage {
  padding: 1.25rem;
}

.bar-stage .bar-header h2 {
  margin: 0.15rem 0 0.35rem;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  color: #ffe7aa;
}

.bar-stage .loop-length {
  max-width: 720px;
}

.bottle-bar-section .bottle-form {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(180px, 1fr) auto;
  gap: 0.85rem;
  align-items: end;
  margin: 1.2rem 0 1.5rem;
  padding: 1rem;
  border-radius: 18px;
  background: rgba(12, 7, 4, 0.38);
  border: 1px solid rgba(255, 214, 130, 0.18);
}

.bottle-shelf-wrap {
  position: relative;
  margin-top: 1rem;
  min-height: 260px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2rem 1rem 1.4rem;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(14, 8, 5, 0.15), rgba(7, 4, 3, 0.52)),
    repeating-linear-gradient(
      90deg,
      rgba(96, 54, 24, 0.95) 0,
      rgba(96, 54, 24, 0.95) 42px,
      rgba(75, 39, 18, 0.95) 42px,
      rgba(75, 39, 18, 0.95) 84px
    );
  box-shadow: inset 0 20px 35px rgba(0, 0, 0, 0.42);
}

.bottle-shelf-back {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4.85rem;
  height: 28px;
  background: linear-gradient(180deg, #9b5a2c, #4d2713);
  border-top: 2px solid rgba(255, 219, 146, 0.28);
  border-bottom: 4px solid rgba(20, 9, 4, 0.65);
  box-shadow: 0 -12px 24px rgba(0, 0, 0, 0.25);
}

.bottle-bar-rail {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.1rem;
  height: 42px;
  background: linear-gradient(180deg, #b06a34, #5c2f16 58%, #2a1309);
  border-top: 2px solid rgba(255, 225, 154, 0.34);
  box-shadow: 0 -12px 28px rgba(0, 0, 0, 0.45);
}

.bottle-shelf {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  gap: 1.1rem;
  min-width: max-content;
  padding: 0 0.5rem 2.35rem;
  margin: 0;
  list-style: none;
}

.bottle-shelf .bottle {
  flex: 0 0 auto;
  width: 92px;
  min-height: 170px;
  margin: 0;
  display: grid;
  justify-items: center;
  align-content: end;
  filter: drop-shadow(0 12px 12px rgba(0, 0, 0, 0.35));
}

.bottle-shelf .bottle-shape {
  width: 58px;
  height: 118px;
}

.bottle-shelf .bottle-label {
  max-width: 86px;
  margin-top: 0.45rem;
  padding: 0.22rem 0.4rem;
  border-radius: 8px;
  background: rgba(255, 238, 184, 0.9);
  color: #241208;
  font-size: 0.72rem;
  line-height: 1.1;
  text-align: center;
  word-break: break-word;
}

.bottle-shelf .bottle-stamp {
  margin-top: 0.22rem;
  font-size: 0.65rem;
  color: rgba(255, 232, 184, 0.7);
}

@media (max-width: 720px) {
  .bottle-bar-section .bottle-form {
    grid-template-columns: 1fr;
  }

  .bottle-shelf-wrap {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
    border-radius: 18px;
  }
}

/* Phase 2B cleanup: remove old ghost panels and visible date stamps from shelf bottles */
.bottle-shelf .bottle::before,
.bottle-shelf .bottle::after,
.bottle-shelf .bottle-shape::marker {
  display: none !important;
  content: none !important;
}

.bottle-shelf .bottle-stamp {
  display: none !important;
}

.bottle-shelf .bottle {
  cursor: help;
}

.bottle-shelf .bottle:hover .bottle-shape {
  transform: translateY(-8px) scale(1.08);
}

.bottle-shelf .bottle-shape {
  position: relative;
  overflow: visible;
}

/* Phase 2B: St. Louis skyline shelf backdrop */
.bottle-shelf-wrap {
  background:
    radial-gradient(circle at 10% 13%, rgba(255, 244, 205, 0.95) 0 32px, rgba(255, 244, 205, 0.28) 33px 48px, transparent 50px),
    radial-gradient(circle at 91% 14%, rgba(255, 174, 76, 0.95) 0 34px, rgba(255, 174, 76, 0.28) 35px 54px, transparent 56px),
    linear-gradient(180deg, rgba(7, 31, 72, 0.95) 0%, rgba(12, 58, 111, 0.92) 45%, rgba(18, 35, 62, 0.96) 100%);
}

.bottle-shelf-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5.35rem;
  height: 135px;
  background:
    linear-gradient(180deg, transparent 0 24px, rgba(53, 116, 172, 0.86) 25px 100%),
    repeating-linear-gradient(
      90deg,
      rgba(16, 57, 105, 0.95) 0 28px,
      rgba(33, 86, 142, 0.95) 28px 56px,
      rgba(9, 41, 88, 0.95) 56px 82px,
      rgba(48, 105, 160, 0.95) 82px 118px
    );
  clip-path: polygon(
    0% 48%, 5% 48%, 5% 36%, 10% 36%, 10% 22%, 15% 22%,
    15% 44%, 20% 44%, 20% 30%, 25% 30%, 25% 52%, 31% 52%,
    31% 18%, 36% 18%, 36% 40%, 42% 40%, 42% 28%, 48% 28%,
    48% 46%, 54% 46%, 54% 20%, 59% 20%, 59% 38%, 65% 38%,
    65% 26%, 71% 26%, 71% 50%, 77% 50%, 77% 34%, 83% 34%,
    83% 16%, 88% 16%, 88% 42%, 94% 42%, 94% 30%, 100% 30%,
    100% 100%, 0% 100%
  );
  opacity: 0.95;
  z-index: 0;
}

.bottle-shelf-wrap::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 5.35rem;
  width: 76px;
  height: 124px;
  transform: translateX(-50%);
  border: 6px solid rgba(144, 203, 246, 0.92);
  border-bottom: 0;
  border-radius: 76px 76px 0 0;
  opacity: 0.82;
  z-index: 1;
  box-shadow: 0 0 24px rgba(144, 203, 246, 0.26);
}

.bottle-shelf-back,
.bottle-bar-rail,
.bottle-shelf {
  z-index: 2;
}

.bottle-shelf {
  z-index: 3;
}

/* Phase 2B: improved St. Louis shelf backdrop */
.bottle-shelf-wrap {
  background:
    radial-gradient(circle at 10% 13%, rgba(255, 244, 205, 0.96) 0 33px, transparent 34px),
    radial-gradient(circle at 6% 10%, rgba(7, 31, 72, 0.98) 0 31px, transparent 32px),
    radial-gradient(circle at 91% 14%, rgba(255, 174, 76, 0.95) 0 34px, rgba(255, 174, 76, 0.28) 35px 54px, transparent 56px),
    linear-gradient(180deg, rgba(7, 31, 72, 0.95) 0%, rgba(12, 58, 111, 0.92) 45%, rgba(18, 35, 62, 0.96) 100%);
  background-repeat: no-repeat, no-repeat, no-repeat, repeat-x;
  background-size: auto, auto, auto, 900px 100%;
}

.bottle-shelf-wrap::before {
  left: 0;
  right: auto;
  width: 100%;
  bottom: 5.35rem;
  height: 145px;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(12, 45, 91, 0.96) 0 34px,
      rgba(41, 98, 158, 0.96) 34px 62px,
      rgba(9, 38, 82, 0.96) 62px 92px,
      rgba(57, 126, 186, 0.96) 92px 132px,
      rgba(18, 60, 111, 0.96) 132px 172px
    );
  clip-path: polygon(
    0% 50%, 3% 50%, 3% 38%, 6% 38%, 6% 24%, 9% 24%,
    9% 46%, 12% 46%, 12% 31%, 15% 31%, 15% 54%, 19% 54%,
    19% 18%, 22% 18%, 22% 42%, 26% 42%, 26% 29%, 30% 29%,
    30% 48%, 34% 48%, 34% 21%, 37% 21%, 37% 40%, 41% 40%,
    41% 27%, 45% 27%, 45% 53%, 49% 53%, 49% 35%, 53% 35%,
    53% 17%, 56% 17%, 56% 44%, 60% 44%, 60% 30%, 64% 30%,
    64% 50%, 68% 50%, 68% 38%, 71% 38%, 71% 24%, 75% 24%,
    75% 46%, 79% 46%, 79% 31%, 83% 31%, 83% 54%, 87% 54%,
    87% 18%, 90% 18%, 90% 42%, 94% 42%, 94% 29%, 100% 29%,
    100% 100%, 0% 100%
  );
  z-index: 0;
}

.bottle-shelf-wrap::after {
  left: 50%;
  bottom: 5.28rem;
  width: 132px;
  height: 150px;
  transform: translateX(-50%);
  border: none;
  border-radius: 0;
  background:
    radial-gradient(ellipse at center bottom, transparent 0 41px, rgba(150, 214, 255, 0.95) 42px 48px, transparent 49px),
    radial-gradient(ellipse at center bottom, transparent 0 62px, rgba(150, 214, 255, 0.86) 63px 70px, transparent 71px);
  clip-path: polygon(
    6% 100%, 15% 100%, 19% 76%, 24% 55%, 31% 36%, 40% 20%,
    50% 12%, 60% 20%, 69% 36%, 76% 55%, 81% 76%, 85% 100%,
    94% 100%, 89% 70%, 82% 45%, 72% 24%, 61% 10%, 50% 4%,
    39% 10%, 28% 24%, 18% 45%, 11% 70%
  );
  opacity: 0.95;
  z-index: 1;
  box-shadow: 0 0 24px rgba(144, 203, 246, 0.34);
}

.bottle-shelf-back,
.bottle-bar-rail {
  left: 0;
  right: auto;
  width: 100%;
}

.bottle-bar-rail {
  background:
    repeating-linear-gradient(
      90deg,
      #b06a34 0 90px,
      #8e4e25 90px 180px,
      #6f3718 180px 270px
    );
  border-top: 2px solid rgba(255, 225, 154, 0.34);
}

.bottle-shelf-back {
  background:
    repeating-linear-gradient(
      90deg,
      #9b5a2c 0 80px,
      #7d421f 80px 160px,
      #5e2e16 160px 240px
    );
}

/* Phase 2B: bottle shelf visual fixes */
.bottle-shelf .bottle-shape.jug::after {
  border-color: rgba(115, 68, 31, 0.95) !important;
  background: rgba(159, 103, 48, 0.28) !important;
  box-shadow: inset -4px 0 6px rgba(62, 31, 12, 0.32);
}

/* Keep the Gateway Arch visible as part of the station backdrop */
.bottle-shelf-wrap::after {
  z-index: 4;
  pointer-events: none;
  opacity: 0.72;
  mix-blend-mode: screen;
}

.bottle-shelf {
  z-index: 3;
}

/* Phase 2B: explicit St. Louis backdrop details */
.bottle-shelf-wrap {
  background:
    radial-gradient(circle at 6% 10%, rgba(7, 31, 72, 0.98) 0 31px, transparent 32px),
    radial-gradient(circle at 10% 13%, rgba(255, 244, 205, 0.96) 0 33px, rgba(255, 244, 205, 0.25) 34px 46px, transparent 48px),
    radial-gradient(circle at 91% 14%, rgba(255, 174, 76, 0.95) 0 34px, rgba(255, 174, 76, 0.28) 35px 54px, transparent 56px),
    linear-gradient(180deg, rgba(7, 31, 72, 0.95) 0%, rgba(12, 58, 111, 0.92) 45%, rgba(18, 35, 62, 0.96) 100%);
  background-repeat: no-repeat, no-repeat, no-repeat, repeat-x;
  background-size: auto, auto, auto, 900px 100%;
}

/* Retire old pseudo arch so the real arch element controls placement */
.bottle-shelf-wrap::after {
  display: none !important;
  content: none !important;
}

.gateway-arch {
  position: absolute;
  left: 50%;
  bottom: 5.25rem;
  width: 150px;
  height: 170px;
  transform: translateX(-50%);
  z-index: 4;
  pointer-events: none;
  opacity: 0.82;
}

.gateway-arch::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 9px solid rgba(168, 224, 255, 0.92);
  border-bottom: 0;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  clip-path: polygon(
    0% 100%, 15% 100%, 22% 68%, 31% 42%, 42% 21%,
    50% 12%, 58% 21%, 69% 42%, 78% 68%, 85% 100%,
    100% 100%, 91% 62%, 79% 31%, 65% 10%, 50% 0%,
    35% 10%, 21% 31%, 9% 62%
  );
  filter: drop-shadow(0 0 14px rgba(146, 210, 255, 0.35));
}

.gateway-arch::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 92px;
  height: 132px;
  transform: translateX(-50%);
  border: 4px solid rgba(209, 239, 255, 0.55);
  border-bottom: 0;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  opacity: 0.7;
}

.stl-stadium {
  position: absolute;
  right: 10%;
  bottom: 5.35rem;
  width: 150px;
  height: 78px;
  z-index: 2;
  pointer-events: none;
  opacity: 0.9;
  background:
    radial-gradient(ellipse at center bottom, rgba(130, 205, 255, 0.22) 0 44px, transparent 45px),
    linear-gradient(180deg, transparent 0 20px, rgba(40, 111, 172, 0.95) 21px 100%);
  border-radius: 14px 14px 6px 6px;
  box-shadow: inset 0 0 0 2px rgba(163, 218, 255, 0.22);
}

.stl-stadium::before {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 12px;
  height: 26px;
  border: 4px solid rgba(174, 225, 255, 0.75);
  border-bottom: 0;
  border-radius: 50% 50% 0 0;
}

.stl-stadium::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 12px;
  height: 12px;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(190, 230, 255, 0.65) 0 7px,
      transparent 7px 14px
    );
  border-radius: 999px;
}

.bottle-shelf {
  z-index: 5;
}

.bottle-shelf-back,
.bottle-bar-rail {
  z-index: 6;
}

/* Phase 2B: smoother arch and visible bottle date hover */
.gateway-arch::before {
  clip-path: none !important;
  border: 8px solid rgba(168, 224, 255, 0.92);
  border-bottom: 0;
  border-radius: 999px 999px 0 0 / 100% 100% 0 0;
  background: transparent;
}

.gateway-arch::after {
  clip-path: none !important;
  border: 4px solid rgba(209, 239, 255, 0.55);
  border-bottom: 0;
  border-radius: 999px 999px 0 0 / 100% 100% 0 0;
}

.bottle-shelf .bottle {
  cursor: pointer;
  position: relative;
}

.bottle-shelf .bottle:hover::after {
  content: attr(data-stamp);
  position: absolute;
  left: 50%;
  bottom: -1.6rem;
  transform: translateX(-50%);
  z-index: 20;
  white-space: nowrap;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: rgba(255, 238, 184, 0.96);
  color: #241208;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.35);
}

/* Phase 2B: repair Gateway Arch shape */
.gateway-arch {
  width: 150px;
  height: 175px;
  bottom: 5.2rem;
}

.gateway-arch::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 118px;
  height: 158px;
  transform: translateX(-50%);
  border: 0 !important;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  background: none;
  box-shadow:
    inset 9px 0 0 rgba(168, 224, 255, 0.92),
    inset -9px 0 0 rgba(168, 224, 255, 0.92),
    inset 0 9px 0 rgba(168, 224, 255, 0.92);
  clip-path: ellipse(50% 100% at 50% 100%);
  filter: drop-shadow(0 0 14px rgba(146, 210, 255, 0.35));
}

.gateway-arch::after {
  display: none !important;
  content: none !important;
}

/* Phase 2B: real hover date label for bottles */
.bottle-shelf .bottle-hover-date {
  display: none;
  position: absolute;
  left: 50%;
  bottom: -1.55rem;
  transform: translateX(-50%);
  z-index: 30;
  white-space: nowrap;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: rgba(255, 238, 184, 0.96);
  color: #241208;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.35);
  pointer-events: none;
}

.bottle-shelf .bottle:hover .bottle-hover-date,
.bottle-shelf .bottle:focus-within .bottle-hover-date {
  display: block;
}

/* Phase 2B emergency label restore */
.bottle-shelf .bottle {
  position: relative;
  overflow: visible;
}

.bottle-shelf .bottle-label {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 40;
  max-width: 86px;
  margin-top: 0.45rem;
  padding: 0.22rem 0.4rem;
  border-radius: 8px;
  background: rgba(255, 238, 184, 0.94);
  color: #241208;
  font-size: 0.72rem;
  line-height: 1.1;
  text-align: center;
  word-break: break-word;
}

.bottle-shelf .bottle-hover-date {
  display: none;
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translateX(-50%) translateY(-0.45rem);
  z-index: 80;
  white-space: nowrap;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: rgba(255, 238, 184, 0.98);
  color: #241208;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.35);
  pointer-events: none;
}

.bottle-shelf .bottle:hover .bottle-hover-date {
  display: block !important;
}

/* Disable the older empty pseudo-date hover rule */
.bottle-shelf .bottle:hover::after {
  display: none !important;
  content: none !important;
}

/* Phase 2B: restore bottle names above the bar rail */
.bottle-shelf {
  z-index: 20 !important;
}

.bottle-shelf .bottle {
  z-index: 21 !important;
  position: relative;
  overflow: visible !important;
}

.bottle-shelf .bottle-label {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 50 !important;
  margin-top: 0.45rem !important;
  background: rgba(255, 238, 184, 0.96) !important;
  color: #241208 !important;
}

.bottle-bar-rail {
  z-index: 10 !important;
}

.bottle-shelf-back {
  z-index: 8 !important;
}

/* Larger hover timestamp, without "Bottled:" */
.bottle-shelf .bottle-hover-date {
  display: none;
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translateX(-50%) translateY(-0.45rem);
  z-index: 90 !important;
  white-space: nowrap;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: rgba(255, 238, 184, 0.98);
  color: #241208;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.35);
  pointer-events: none;
}

.bottle-shelf .bottle:hover .bottle-hover-date {
  display: block !important;
}

/* Phase 2B mobile width fix: stop skyline/backdrop from widening the whole page */
.bottle-shelf-wrap::before,
.bottle-shelf-back,
.bottle-bar-rail {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
}

.bottle-shelf-wrap {
  contain: layout paint;
  max-width: 100%;
}

.bottle-shelf {
  max-width: none;
}

/* Phase 2B hard mobile viewport containment */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  position: relative;
}

.radio-shell,
.hero-card,
.player-card,
.bio-card,
.playlist-card,
.bar-card,
.bottle-bar-section,
.bar-stage {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

.bottle-shelf-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  box-sizing: border-box;
}

.bottle-shelf {
  width: max-content;
  max-width: none;
}

@media (max-width: 720px) {
  .radio-shell {
    width: 100%;
    max-width: 100vw;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    overflow-x: hidden;
  }

  .hero-card {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .bottle-shelf-wrap {
    max-width: 100%;
    overflow-x: auto;
  }
}

/* Phase 2B: cooler station title treatment */
.hero-card h1 {
  font-family: "Trebuchet MS", "Arial Black", Impact, system-ui, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 0.95;
  color: #ffe7aa;
  text-shadow:
    0 2px 0 rgba(70, 35, 8, 0.95),
    0 0 16px rgba(255, 194, 87, 0.45),
    0 0 34px rgba(94, 170, 255, 0.22);
}

.hero-card h1::after {
  content: "✦";
  display: inline-block;
  margin-left: 0.28em;
  color: #7ec8ff;
  text-shadow: 0 0 14px rgba(126, 200, 255, 0.7);
}

/* Phase 2B layout stabilization: normal page width, internal shelf scroll only */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.radio-shell,
.hero-card,
.player-card,
.bio-card,
.playlist-card,
.bar-card,
.bottle-bar-section,
.bar-stage {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}

.hero-card h1 {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: clamp(2.35rem, 9vw, 5.4rem);
  letter-spacing: clamp(0.02em, 0.9vw, 0.08em);
}

.bottle-shelf-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  box-sizing: border-box;
  contain: paint;
}

/* Make the scrollable shelf artwork extend with the bottle row without widening the page */
.bottle-shelf {
  width: max-content;
  min-width: 100%;
  max-width: none;
  padding-right: 3rem;
}

.bottle-shelf-wrap::before,
.bottle-shelf-back,
.bottle-bar-rail {
  width: 100%;
  min-width: 100%;
}

/* When bottles overflow, make the background feel continuous inside the scroll area */
.bottle-shelf::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5.35rem;
  height: 145px;
  min-width: 100%;
  z-index: -2;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(12, 45, 91, 0.96) 0 34px,
      rgba(41, 98, 158, 0.96) 34px 62px,
      rgba(9, 38, 82, 0.96) 62px 92px,
      rgba(57, 126, 186, 0.96) 92px 132px,
      rgba(18, 60, 111, 0.96) 132px 172px
    );
  clip-path: polygon(
    0% 50%, 3% 50%, 3% 38%, 6% 38%, 6% 24%, 9% 24%,
    9% 46%, 12% 46%, 12% 31%, 15% 31%, 15% 54%, 19% 54%,
    19% 18%, 22% 18%, 22% 42%, 26% 42%, 26% 29%, 30% 29%,
    30% 48%, 34% 48%, 34% 21%, 37% 21%, 37% 40%, 41% 40%,
    41% 27%, 45% 27%, 45% 53%, 49% 53%, 49% 35%, 53% 35%,
    53% 17%, 56% 17%, 56% 44%, 60% 44%, 60% 30%, 64% 30%,
    64% 50%, 68% 50%, 68% 38%, 71% 38%, 71% 24%, 75% 24%,
    75% 46%, 79% 46%, 79% 31%, 83% 31%, 83% 54%, 87% 54%,
    87% 18%, 90% 18%, 90% 42%, 94% 42%, 94% 29%, 100% 29%,
    100% 100%, 0% 100%
  );
}

@media (max-width: 720px) {
  .radio-shell {
    max-width: 100vw;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .hero-card h1 {
    font-size: clamp(2rem, 11vw, 3.35rem);
    letter-spacing: 0.025em;
  }

  .bottle-shelf-wrap {
    margin-left: 0;
    margin-right: 0;
  }
}

/* Backstage Pass */
.backstage-trigger {
  position: fixed;
  left: 8px;
  bottom: 8px;
  z-index: 20;
  width: auto;
  min-width: 28px;
  padding: 4px 8px;
  border-radius: 999px;
  background: transparent;
  color: rgba(248, 242, 223, 0.22);
  font-size: 1rem;
  line-height: 1;
  box-shadow: none;
  cursor: default;
}

.backstage-trigger:hover {
  color: rgba(248, 242, 223, 0.22);
  background: transparent;
  transform: none;
}

.backstage-dialog {
  position: fixed;
  left: 16px;
  bottom: 44px;
  z-index: 30;
  padding: 10px;
  border: 1px solid rgba(248, 242, 223, 0.16);
  border-radius: 16px;
  background: rgba(22, 19, 29, 0.94);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
}

.backstage-pass {
  width: 140px;
  border: 1px solid rgba(248, 242, 223, 0.2);
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.08);
  color: #f8f2df;
  outline: none;
}

.backstage-pass:focus {
  border-color: rgba(255, 210, 94, 0.65);
}

.backstage-active #track-list li {
  cursor: pointer;
}

.backstage-active #track-list li:hover {
  background: rgba(255, 210, 94, 0.16);
}

.backstage-pick {
  color: #ffd25e;
}

.reaction-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 12px;
}

.reaction-button {
  width: auto;
  min-width: 54px;
  padding: 7px 11px;
  font-size: 0.95rem;
  line-height: 1;
}

.reaction-button span {
  margin-left: 4px;
  font-weight: 900;
}

.player-card .button-row {
  grid-template-columns: 1fr;
  width: min(280px, 100%);
  margin-top: 18px;
}

.player-card .button-row button {
  width: 100%;
}


/* Phase 3 mobile player button polish */
.player-card .button-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
}

.player-card .button-row button {
  width: min(280px, 88vw) !important;
  max-width: 280px !important;
  padding: 12px 18px !important;
}

/* Keep reaction emojis in one row */
.reaction-panel {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  overflow-x: auto !important;
  padding-bottom: 4px !important;
}

.reaction-button {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 48px !important;
  padding: 7px 10px !important;
  white-space: nowrap !important;
}
