/* One frame survives every application route. Its bounds are the visible dock
   unless the listener explicitly opens the world or a settings drawer. */
#unified-player{position:fixed;z-index:40;left:92px;right:14px;bottom:12px;height:138px;isolation:isolate;border:1px solid #bca5d52b;border-radius:18px;overflow:hidden;background:#100d16;box-shadow:0 15px 65px #0007}
#unified-player iframe{width:100%;height:100%;border:0;display:block;background:transparent}
#unified-player iframe[hidden],#unified-player .unified-player-loading-status[hidden]{display:none}
#unified-player .unified-player-loading-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;margin:0;padding:24px;color:#cfc2dd;font-size:13px;letter-spacing:.02em}
#unified-player .unified-player-loading-status:before{content:'';width:6px;height:6px;border-radius:50%;background:#c4b1fa;box-shadow:0 0 18px #c4b1fa55}
#unified-player[data-mode="full"],#unified-player[data-panel="true"]{inset:0;width:100%;height:100dvh;border:0;border-radius:0;z-index:80}
#unified-player[data-mode="compact"][data-panel="true"]{background:transparent;box-shadow:none}
body.unified-player-loading>.player,body.unified-player-ready>.player{display:none!important}
body.unified-player-loading,body.unified-player-ready{--player-height:158px}
body.unified-room-open,body.unified-panel-open{overflow:hidden}
body.entrance-active #unified-player:not([data-mode="full"]):not([data-panel="true"]){visibility:hidden;pointer-events:none}

html.pmp-embedded,html.pmp-embedded body{width:100%;height:100%;min-height:0;overflow:hidden;background:#0b0a10}
html.pmp-embedded.pmp-compact,html.pmp-embedded body.pmp-compact{background:transparent!important}
.pmp-embedded .topbar .room-return{display:none}
.pmp-embedded .topbar .brand{cursor:pointer}
.pmp-embedded .room-continuation{margin-top:20px}
.pmp-embedded #unified-mode-toggle{color:#d6c9ea}
.pmp-embedded .pmp-compact .topbar,.pmp-embedded .pmp-compact .skip,.pmp-embedded .pmp-compact .lab-world-heading,.pmp-embedded .pmp-compact .lab-palette{display:none!important}
.pmp-embedded .pmp-compact .room{display:contents!important;height:auto!important;min-height:0!important}
.pmp-embedded .pmp-compact .room>*:not(.right-rail){display:none!important}
.pmp-embedded .pmp-compact .right-rail{position:fixed;inset:auto 0 94px;display:flex!important;flex-direction:row;align-items:center;justify-content:flex-end;gap:7px;height:44px;padding:0 17px;min-height:0;width:100%;background:linear-gradient(90deg,#100e16,#191321);border:0;border-bottom:1px solid #c8b3dd16;z-index:8}
.pmp-embedded .pmp-compact .right-rail .rail-spacer{display:none}
.pmp-embedded .pmp-compact .rail-btn{display:inline-flex;flex-direction:row;gap:7px;width:auto;min-width:65px;min-height:36px;height:36px;padding:0 9px;font-size:10px;border-radius:8px;color:#c3b7d1}
.pmp-embedded .pmp-compact .rail-btn .icon{width:17px;height:17px}
.pmp-embedded .pmp-compact .rail-btn b{top:0;right:2px;font-size:8px;min-width:12px;line-height:12px}
.pmp-embedded .pmp-compact #unified-mode-toggle{margin-left:10px;padding-inline:13px;border:1px solid #c7b3dd32;background:#c7b3dd0b;color:#e4d8ef}
.pmp-embedded .pmp-compact #transport{position:fixed;inset:auto 0 0;height:94px;min-height:94px;display:grid;grid-template-columns:minmax(160px,1fr) minmax(240px,1.35fr) minmax(150px,.65fr);gap:22px;padding:11px 23px;border:0;background:linear-gradient(120deg,#1a1521,#100e17 68%,#16121f);box-shadow:none;z-index:7}
.pmp-embedded .pmp-compact .track-art{width:48px;height:48px;border-radius:10px}
.pmp-embedded .pmp-compact .track-info h2{font-size:12px;max-width:none;margin:6px 0 4px}
.pmp-embedded .pmp-compact .now-playing{width:auto;gap:11px}
.pmp-embedded .pmp-compact .playback{width:auto;display:block}
.pmp-embedded .pmp-compact .transport-buttons{gap:12px}
.pmp-embedded .pmp-compact .play-btn{width:36px;height:36px}
.pmp-embedded .pmp-compact .transport-buttons .icon-btn{height:28px;width:30px}
.pmp-embedded .pmp-compact .timeline{margin-top:3px;gap:8px}
.pmp-embedded .pmp-compact .wave-track,.pmp-embedded .pmp-compact .wave-track canvas,.pmp-embedded .pmp-compact .wave-track input{height:21px}
.pmp-embedded .pmp-compact .output{display:block;min-width:130px}
.pmp-embedded .pmp-compact .output-caption{font-size:7px}
.pmp-embedded .pmp-compact .volume input{width:76px}
.pmp-embedded .pmp-compact .toast{bottom:151px}
.pmp-embedded .pmp-compact .drawer{bottom:156px;top:20px}
.pmp-embedded .pmp-compact .panel-backdrop{bottom:138px}
.pmp-embedded .pmp-compact .drawer .drawer-head{margin-bottom:24px}
.pmp-embedded .pmp-compact .lab-world-options{display:none!important}
.pmp-embedded .pmp-compact .right-rail{transform:none;border-radius:0;max-height:none}
@media(max-width:900px){#unified-player{left:80px;right:10px}.pmp-embedded .pmp-compact #transport{grid-template-columns:minmax(140px,1fr) minmax(210px,1.2fr);gap:14px;padding-inline:17px}.pmp-embedded .pmp-compact .output{display:none}.pmp-embedded .pmp-compact .rail-btn{min-width:61px;font-size:9px}}
@media(max-width:700px){#unified-player{left:80px;right:8px;bottom:8px;height:161px;border-radius:15px}body.unified-player-loading,body.unified-player-ready{--player-height:183px}.pmp-embedded .pmp-compact .right-rail{bottom:117px;height:44px;padding:0 7px;gap:1px;justify-content:space-between}.pmp-embedded .pmp-compact .rail-btn{min-width:0;padding:0 7px;font-size:8px;gap:5px}.pmp-embedded .pmp-compact .rail-btn .icon{width:15px;height:15px}.pmp-embedded .pmp-compact #help-toggle{display:none}.pmp-embedded .pmp-compact #unified-mode-toggle{margin-left:2px;padding-inline:8px}.pmp-embedded .pmp-compact #transport{height:117px;min-height:117px;grid-template-columns:minmax(130px,1fr) auto;grid-template-rows:48px 36px;gap:8px 12px;padding:10px 14px}.pmp-embedded .pmp-compact .now-playing{grid-column:1;grid-row:1}.pmp-embedded .pmp-compact .track-info h2{font-size:11px;max-width:calc(100vw - 210px)}.pmp-embedded .pmp-compact .track-info .overline{font-size:6px}.pmp-embedded .pmp-compact .track-art{height:39px;width:39px}.pmp-embedded .pmp-compact .playback{display:contents}.pmp-embedded .pmp-compact .transport-buttons{grid-column:2;grid-row:1;gap:3px}.pmp-embedded .pmp-compact #shuffle,.pmp-embedded .pmp-compact #repeat{display:none}.pmp-embedded .pmp-compact .timeline{grid-column:1 / -1;grid-row:2;margin:0}.pmp-embedded .pmp-compact .now-playing>.icon-btn{display:none}.pmp-embedded .pmp-compact .toast{bottom:173px}.pmp-embedded .pmp-compact .drawer{top:10px;bottom:174px}.pmp-embedded .pmp-compact .panel-backdrop{bottom:161px}}
@media(prefers-reduced-motion:reduce){#unified-player{scroll-behavior:auto}}

/* The application's phone navigation occupies its own bottom row. The compact
   iframe must not cover it; full room and deliberate modal drawers still fill
   the viewport through their more-specific data-mode/data-panel rules. */
@media(max-width:600px){
 body.unified-player-loading,body.unified-player-ready{--player-height:calc(249px + env(safe-area-inset-bottom,0px))}
 body.unified-player-loading>.rail,body.unified-player-ready>.rail{height:calc(65px + env(safe-area-inset-bottom,0px));padding-bottom:calc(7px + env(safe-area-inset-bottom,0px))}
 #unified-player{left:8px;right:8px;bottom:calc(73px + env(safe-area-inset-bottom,0px))}
 body.unified-player-loading[data-page] #main,body.unified-player-ready[data-page] #main{padding-bottom:calc(var(--player-height) + 24px)}
}
.pmp-embedded .shared-queue-playback{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 22px}
.pmp-embedded .shared-queue-playback button{min-height:62px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:10px 12px;border:1px solid #bdabcf30;border-radius:11px;background:#bda5d50a;text-align:left;color:#e5ddea}
.pmp-embedded .shared-queue-playback button span{font-size:12px;font-weight:500}
.pmp-embedded .shared-queue-playback button small{font-size:10px;color:#b2a6bf}
.pmp-embedded .shared-queue-playback button[aria-pressed=true]{background:#cbb6e91a;border-color:#ccb6e56b;color:#f0e8fa}
.pmp-embedded .shared-queue-playback button[aria-pressed=true] small{color:#d7c4ed}
.pmp-embedded .shared-queue-playback button:focus-visible{outline:2px solid #d8c7ed;outline-offset:3px}
