/* Dread Raven: free-space edition.
   A reversible, presentation-only experiment. Original art, transport wiring,
   music metadata, and record-transfer animation remain unchanged. */

/* Leave the room, but remove its visible container. Focus stays within the dialog. */
#music-overlay .portal-panel {
  width:min(610px,100%);
  max-height:calc(100svh - 18px);
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  scrollbar-width:none;
}
#music-overlay .portal-panel::before {display:none;}
#music-overlay .panel-head {
  position:relative;
  z-index:9;
  padding:4px clamp(15px,3vw,24px) 8px;
  align-items:center;
}
#music-overlay .panel-head .panel-title {
  font-size:clamp(15px,4.4vw,22px);
  letter-spacing:-.035em;
  text-shadow:0 0 18px rgba(108,231,219,.13);
}
#music-overlay .panel-head .close-button {
  flex:0 0 40px;
  height:40px;
  width:40px;
  border-radius:50%;
  background:rgba(14,7,31,.77);
  backdrop-filter:blur(12px);
}
#music-overlay .music-layout {
  width:100%;
  max-width:470px;
  margin-inline:auto;
  padding:0 clamp(8px,2vw,12px) 4px;
}
#music-overlay .now-playing {
  position:relative;
  isolation:isolate;
  overflow:visible;
  padding:8px clamp(11px,2.3vw,20px) 12px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#music-overlay .now-playing::before,
#music-overlay .now-playing::after {display:none;}
#music-overlay .now-playing .player-top {
  min-height:25px;
  position:relative;
  z-index:10;
  justify-content:flex-end;
}
#music-overlay .now-playing .player-top > span {
  display:none;
}
#music-overlay .now-playing .bey-profile summary {
  backdrop-filter:blur(9px);
  background:rgba(9,7,27,.55);
}
#music-overlay .now-playing .bey-profile-panel {z-index:40;}

/* Make the selector a free-floating control ABOVE Raven.
   Its containing block is the Raven scene, not the playback deck. */
#music-overlay .now-playing .player-deck {position:static;}
#music-overlay .now-playing .player-deck > .archive-shelf,
#music-overlay .now-playing .player-deck > .archive-shelf.is-absorbed {
  position:absolute;
  z-index:30;
  top:43px;
  bottom:auto;
  left:50%;
  right:auto;
  width:min(300px,calc(100% - 30px));
  margin:0;
  padding:0;
  transform:translateX(-50%);
  background:transparent;
  border:0;
  overflow:visible;
  justify-content:center;
  transition:opacity 300ms ease;
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector,
#music-overlay .now-playing .player-deck > .archive-shelf.is-absorbed .song-selector {
  width:100%;
  align-items:center;
  overflow:visible;
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector > summary,
#music-overlay .now-playing.is-dormant .player-deck > .archive-shelf .song-selector > summary,
#music-overlay .now-playing .player-deck > .archive-shelf.is-absorbed .song-selector > summary {
  display:inline-flex;
  position:relative;
  justify-content:center;
  align-items:center;
  gap:9px;
  box-sizing:border-box;
  width:auto;
  max-width:100%;
  min-width:146px;
  min-height:42px;
  padding:10px 15px;
  border:1px solid rgba(156,105,236,.8);
  border-radius:999px;
  background:linear-gradient(118deg,rgba(23,7,45,.87),rgba(13,22,45,.78));
  box-shadow:inset 0 1px 0 rgba(220,190,255,.15),0 0 22px rgba(147,67,239,.22);
  color:#e8d0ff;
  font:400 9px/1.3 var(--pixel);
  letter-spacing:.045em;
  backdrop-filter:blur(15px);
  list-style:none;
  cursor:pointer;
  transition:box-shadow 280ms,border-color 280ms,transform 280ms;
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector > summary:hover,
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector[open] > summary {
  border-color:rgba(93,255,206,.95);
  box-shadow:0 0 25px rgba(28,255,176,.2),inset 0 0 11px rgba(113,244,195,.08);
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector > summary .song-selector-icon {
  color:#76ffe1;
  font:600 16px/1 var(--body);
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector > summary .song-selector-chevron {
  display:inline-block;
  color:#86ffdc;
  font:600 16px/1 var(--body);
  transform:rotate(180deg);
  transition:transform 300ms ease;
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector[open] > summary .song-selector-chevron {
  transform:rotate(0deg);
}

/* No dropdown at all. The song becomes a separate floating object
   across the open air from SELECT RECORD. More records can later occupy
   distinct satellite positions without changing the player. */
#music-overlay .now-playing .player-deck > .archive-shelf,
#music-overlay .now-playing .player-deck > .archive-shelf.is-absorbed {
  top:34px;
  width:calc(100% - 16px);
  max-width:440px;
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector,
#music-overlay .now-playing .player-deck > .archive-shelf.is-absorbed .song-selector {
  position:relative;
  width:100%;
  align-items:stretch;
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector > summary,
#music-overlay .now-playing.is-dormant .player-deck > .archive-shelf .song-selector > summary,
#music-overlay .now-playing .player-deck > .archive-shelf.is-absorbed .song-selector > summary {
  align-self:flex-start;
  min-width:137px;
  min-height:43px;
  margin-left:0;
  padding:10px 13px;
  border-color:rgba(111,250,205,.48);
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector > summary .song-selector-chevron {
  display:none!important;
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector[open] > .song-list,
#music-overlay .now-playing .player-deck > .archive-shelf.is-absorbed .song-selector[open] > .song-list {
  position:absolute;
  z-index:45;
  top:7px;
  right:0;
  left:auto;
  bottom:auto;
  display:flex;
  flex-direction:column;
  flex-wrap:nowrap;
  gap:10px;
  box-sizing:border-box;
  width:clamp(138px,47%,182px);
  max-width:calc(100% - 144px);
  max-height:40svh;
  overflow-y:auto;
  overflow-x:visible;
  padding:0;
  margin:0;
  transform:none;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  animation:raven-record-materialize 560ms cubic-bezier(.14,.82,.22,1) both;
}
@keyframes raven-record-materialize {
  0% {opacity:0;filter:blur(13px) brightness(1.7);scale:.43;rotate:-12deg;}
  56% {opacity:.9;filter:blur(3px) brightness(1.25);scale:1.08;rotate:3deg;}
  100% {opacity:1;filter:blur(0) brightness(1);scale:1;rotate:0deg;}
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector .song-list .track-row,
#music-overlay .now-playing.is-dormant .player-deck > .archive-shelf .song-selector .song-list .track-row,
#music-overlay .now-playing .player-deck > .archive-shelf.is-absorbed .song-selector .song-list .track-row {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:51px;
  padding:10px 9px;
  text-align:center;
  border:1px solid rgba(100,255,206,.62);
  border-radius:999px;
  background:radial-gradient(ellipse at 28% 16%,rgba(48,242,174,.19),transparent 55%),
    linear-gradient(135deg,rgba(17,11,46,.92),rgba(42,18,75,.85));
  box-shadow:0 0 21px rgba(37,249,169,.2),inset 0 1px rgba(218,255,237,.2);
  backdrop-filter:blur(15px);
  transform:none;
  transition:box-shadow 240ms,border-color 240ms,filter 240ms;
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector .song-list .track-row:hover,
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector .song-list .track-row:focus-visible {
  outline:2px solid rgba(114,255,222,.63);
  outline-offset:2px;
  border-color:#c0fff0;
  box-shadow:0 0 27px rgba(53,255,176,.46);
}
#music-overlay .now-playing .player-deck > .archive-shelf .song-selector .song-list .track-row strong {
  color:#d7fff1;
  font:400 9px/1.5 var(--pixel);
  white-space:normal;
  overflow-wrap:anywhere;
  text-shadow:0 0 11px rgba(109,255,216,.4);
}

/* No visible frame around the record. The original spinning artwork is untouched.
   Airy spacing accommodates the detached picker; lower controls do not need it. */
#music-overlay .now-playing .disc-stage {
  width:min(265px,67vw);
  max-width:100%;
  margin:87px auto 2px;
  filter:none;
}
#music-overlay .now-playing .disc-stage .disc.bey-disc {
  filter:drop-shadow(0 0 23px rgba(91,57,179,.3));
}
#music-overlay .now-playing .disc-stage > .transport button {
  backdrop-filter:blur(16px);
  box-shadow:inset 0 0 14px rgba(49,255,177,.08),0 7px 25px #000b,0 0 18px #27eeaa30;
}
#music-overlay .now-playing .disc-stage > .transport .play-main {
  box-shadow:0 0 24px rgba(30,255,176,.38),0 10px 25px #000a;
}
#music-overlay .now-playing .player-deck .track-title {
  text-shadow:0 0 20px rgba(164,102,231,.3);
}
#music-overlay .now-playing .player-deck .track-byline {
  margin-bottom:13px;
  color:#cbffc8;
}
#music-overlay .now-playing .player-deck .seek {
  height:4px;
  background:linear-gradient(90deg,#6effc2 var(--seek-progress),rgba(170,127,250,.35) var(--seek-progress));
  box-shadow:0 0 14px rgba(55,255,198,.21);
}
#music-overlay .now-playing .player-deck .time-row {color:#c4b5e7;}
#music-overlay .now-playing .player-deck .player-actions .action-button,
#music-overlay .now-playing .player-deck .player-actions .action-link {
  border-radius:999px;
  background:linear-gradient(135deg,rgba(18,11,47,.8),rgba(28,11,51,.77));
  backdrop-filter:blur(12px);
  box-shadow:0 0 17px rgba(104,53,223,.18);
}
#music-overlay .now-playing.is-dormant .raven-aura {opacity:0;}

/* The seat sequence still owns the moment; picker dims until the
   flying sleeve has reached Dread Raven. */
#music-overlay .now-playing.is-loading .player-deck > .archive-shelf.is-absorbing {
  opacity:0;
  pointer-events:none;
}
#music-overlay .now-playing.is-seated .player-deck > .archive-shelf.is-absorbed {
  animation:raven-picker-return 630ms ease-out 300ms both;
}
@keyframes raven-picker-return {
  from {opacity:0;filter:blur(8px);}
  to {opacity:1;filter:blur(0);}
}
@media(max-height:710px) {
  #music-overlay .panel-head {padding:0 14px 3px;}
  #music-overlay .now-playing {padding-block:4px;}
  #music-overlay .now-playing .disc-stage {width:min(215px,58vw);margin:75px auto 0;}
  #music-overlay .now-playing .player-deck .player-actions {margin-top:8px;}
  #music-overlay .now-playing .player-deck .track-byline {margin-bottom:8px;}
}
@media(max-width:360px) {
  #music-overlay .now-playing .disc-stage {width:min(220px,66vw);}
  #music-overlay .panel-head .panel-title {font-size:15px;}
}
@media(prefers-reduced-motion:reduce) {
  #music-overlay .now-playing.is-seated .player-deck > .archive-shelf.is-absorbed,
  #music-overlay .now-playing .player-deck > .archive-shelf .song-selector[open] > .song-list {
    animation:none!important;
    scale:1!important;
    rotate:0deg!important;
  }
}
