.room-music{position:fixed;right:20px;bottom:22px;z-index:30;width:min(340px,calc(100vw - 32px));padding:16px;border:1px solid rgba(47,90,70,.22);border-radius:18px;background:rgba(246,250,240,.97);box-shadow:0 12px 44px rgba(23,40,31,.2);color:#17281f;font:500 14px/1.4 var(--sans,system-ui,sans-serif);backdrop-filter:blur(14px)}
.room-music[hidden]{display:none}
.room-music-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:16px}
.room-music-heading h2{margin:0;font:600 12px var(--mono,monospace);letter-spacing:.05em;text-transform:uppercase}
.room-music button{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid rgba(47,90,70,.22);border-radius:50%;background:transparent;color:inherit;font:500 27px/1 var(--sans,system-ui,sans-serif);cursor:pointer;touch-action:manipulation}
.room-music button:hover{background:#dce7d8}
.room-music .room-music-close{width:36px;height:36px;border:0;font-size:26px}
.room-music select{display:block;width:100%;min-height:44px;padding:9px 30px 9px 11px;border:1px solid rgba(47,90,70,.25);border-radius:9px;background:#fff;color:inherit;font:600 14px var(--sans,system-ui,sans-serif);text-overflow:ellipsis}
.room-music-transport{display:flex;align-items:center;gap:8px;margin:14px 0}
.room-music .room-music-play{background:#2f5a46;color:#fff;font-size:19px}
.room-music .room-music-play:hover{background:#244836}
.room-music-transport span{min-width:0;padding-left:5px;color:#3f5a4b;font-size:12px;line-height:1.3}
.room-music-volume{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px}
.room-music-volume input{flex:1;min-width:0;height:30px;margin:0;accent-color:#2f5a46}
.room-music-credit{display:inline-block;margin-top:9px;color:#3f5a4b;font-size:11px;text-underline-offset:3px}
.room-music :is(button,select,input,a):focus-visible{outline:2px solid #f26a0f;outline-offset:3px}
.room-music-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.room-music{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:14px}}
