/* The homepage footer keeps its height; the little radio opens above it. */
.overworld-home .home-footer__tools {
  grid-column: 3;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}
.home-music { flex: none; }
.home-music [hidden] { display: none !important; }
.home-music button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 10px;
  border: 1px solid var(--world-border);
  background: transparent;
  color: var(--world-text);
  cursor: pointer;
}
.home-music button:hover { background: var(--world-raised); color: var(--world-gold); }
.home-music :is(button, input):focus-visible { outline: 2px solid var(--world-gold); outline-offset: 2px; }
.home-music button > svg { width: 20px; height: 20px; }
.home-music .home-music__toggle { position: relative; border-color: transparent; color: var(--world-muted); }
.home-music .home-music__toggle:focus-visible { outline-offset: -3px; }
.home-music .home-music__toggle[aria-expanded="true"] { border-color: var(--world-border); background: var(--world-raised); }
.home-music__light { display: none; position: absolute; right: 5px; top: 6px; width: 4px; height: 4px; background: var(--world-accent); }
.home-music[data-playing="true"] .home-music__toggle { color: var(--world-gold); }
.home-music[data-playing="true"] .home-music__light { display: block; }
.home-music__panel {
  position: fixed;
  right: clamp(16px, 3.5vw, 64px);
  bottom: calc(var(--home-footer-height, 48px) + env(safe-area-inset-bottom, 0px) + 12px);
  width: min(288px, calc(100vw - 32px));
  max-height: calc(100dvh - 150px);
  overflow-y: auto;
  padding: 6px 16px 14px;
  border: 1px solid var(--world-border);
  border-top: 2px solid var(--world-gold);
  background: var(--world-surface);
  color: var(--world-text);
  box-shadow: 4px 4px 0 #07141a66, 0 12px 40px #0004;
  text-align: left;
}
.home-music__heading { display: flex; align-items: center; gap: 8px; }
.home-music__heading p { margin: 0; color: var(--world-gold); font: 10px/1.5 'JetBrains Mono', monospace; text-transform: uppercase; letter-spacing: .09em; }
.home-music__heading button { margin-right: -10px; border-color: transparent; font: 24px/1 sans-serif; }
.home-music__count { margin-left: auto; white-space: nowrap; color: var(--world-muted); font: 10px/1.5 'JetBrains Mono', monospace; }
.home-music .home-music__panel h2 { margin: 4px 0 0; color: var(--world-text); font: 600 20px/1.4 'Exo 2', sans-serif; overflow-wrap: anywhere; }
.home-music__transport { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 12px 0; }
.home-music [data-music-play] { width: 48px; height: 44px; background: var(--world-gold); color: var(--world-ink); border-color: var(--world-gold); }
.home-music [data-music-play]:hover { background: var(--world-accent); color: var(--world-ink); }
.home-music .home-music__stop { display: none; }
.home-music[data-playing="true"] .home-music__play { display: none; }
.home-music[data-playing="true"] .home-music__stop { display: block; }
.home-music__volume { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; color: var(--world-muted); font: 12px/1.4 'Exo 2', sans-serif; }
.home-music__volume input { width: 100%; min-width: 0; height: 32px; margin: 0; accent-color: var(--world-accent); cursor: pointer; }
.home-music .home-music__credit { margin: 0; color: var(--world-muted); font: 12px/1.5 'Exo 2', sans-serif; }
.home-music .home-music__status { margin: 10px 0 0; color: var(--world-muted); font: 12px/1.5 'Exo 2', sans-serif; }
@media (max-width: 1099px), (max-height: 649px) {
  .overworld-home .home-footer__tools { grid-column: 2; }
}
@media (max-width: 480px) {
  .overworld-home .home-footer > .home-container { gap: 8px; }
  .overworld-home .home-footer__tools { gap: 2px; }
  .home-music__panel { right: 16px; }
}
@media (max-width: 380px) {
  .overworld-home .home-footer .home-footer__townhall > small { display: none; }
}
@media print {
  .home-music { display: none !important; }
  .overworld-home .home-footer__tools { grid-column: 2; }
}
