#music-root[hidden]{display:none}#music-root{position:fixed;right:22px;bottom:22px;z-index:24;width:360px;max-width:calc(100% - 36px)}.music-panel{background:var(--paper);border:1px solid #b9c1af;border-radius:12px;padding:18px;box-shadow:0 10px 40px #27342635;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}.music-panel:focus{outline:2px solid #899678;outline-offset:2px}.music-heading{display:flex;align-items:center;gap:10px}.music-heading h2{font-size:21px;margin-right:auto}.music-heading button{font-size:16px;min-height:44px;padding:8px}.music-heading [data-music=off]{font-size:28px}.music-title{font-size:18px;margin:5px 0 10px}.music-video{width:100%;height:200px;min-width:200px;margin-block:10px}.music-video iframe{display:block;width:100%;height:200px;border:0}.music-controls{display:flex;gap:10px;margin:12px 0}.music-controls .button{flex:1;font-size:18px;padding:10px}.music-settings{display:grid;gap:12px;font-size:18px}.music-volume{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.music-volume input{width:100%;padding:0;border:0;min-height:44px;accent-color:var(--accent)}.music-device-note,.music-order,.music-status,.music-source{font-size:15px;line-height:1.7}.music-device-note{color:var(--muted)}.music-status{margin:12px 0}.music-source{display:inline-block;min-height:35px;text-underline-offset:3px}.music-compact{width:260px!important}.music-compact .music-settings,.music-compact .music-status,.music-compact .music-source{display:none}.music-compact .music-heading h2{font-size:17px}.music-compact .music-heading [data-music=collapse]{display:none}.music-compact .music-panel{padding:12px}.music-compact .music-controls{margin-bottom:0}.music-compact .music-title{font-size:16px}.music-playing::before{content:'♪ ';color:var(--accent)}
@media(max-width:600px){#music-root{right:18px;bottom:18px}.music-panel{padding:16px}.music-heading h2{font-size:22px}.music-status,.music-source,.music-order,.music-device-note{font-size:16px}.music-settings select{font-size:18px}.site-header nav,.site-header:has(.exit) nav{column-gap:12px;row-gap:0}.site-header:has(.exit) nav{display:grid;grid-template-columns:repeat(3,auto)}.card-column,.response-panel{scroll-margin-top:195px}.music-compact{width:248px!important}}

/* 播放器持續掛載，收合只收起設定；預留底部空間讓卡牌可捲到播放器上方。 */
body::after{content:'';display:block;height:var(--music-clearance,0px)}
.music-heading [data-music=expand]{display:none}
.music-heading{gap:6px}.music-heading h2{white-space:nowrap;font-size:20px}.music-heading button{flex-shrink:0}
.music-context{margin:0;font-weight:600;color:var(--accent)}
.music-settings select{max-width:100%;width:100%}
#music-root.music-compact{width:420px!important;max-width:calc(100% - 24px)}
.music-compact .music-panel{display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:0 12px;overflow:visible}
.music-compact .music-video{grid-column:1;grid-row:1 / 4;margin:0;width:200px;height:200px}
.music-compact .music-heading{grid-column:2;gap:0;justify-content:space-between}
.music-compact .music-heading h2{display:none}
.music-compact .music-heading [data-music=expand]{display:inline-block;font-size:18px;padding:4px}
.music-compact .music-title{grid-column:2;margin:0;font-size:17px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.music-compact .music-controls{grid-column:2;display:grid;gap:6px;margin:6px 0 0}
.music-compact .music-controls .button{min-height:44px;margin:0;padding:6px 4px;font-size:18px}
.music-compact.music-needs-play .music-status{display:block;grid-column:1 / -1;font-size:18px;margin:10px 0 0}
.music-needs-play [data-music=play]{outline:2px solid var(--accent);outline-offset:2px}
.music-compact.music-needs-play:has(.music-video[hidden]) .music-panel{display:block}
.music-compact.music-needs-play:has(.music-video[hidden]) .music-controls{display:flex}
@media(max-width:600px){#music-root{right:12px;bottom:12px}.music-compact .music-panel{padding:10px;gap:0 10px}}
@media(max-width:360px){.music-compact .music-panel{padding:8px;gap:0 8px}.music-compact .music-title{font-size:16px}.music-compact .music-heading [data-music=expand]{font-size:16px}.music-compact .music-heading button{padding:4px}.music-compact .music-controls .button{font-size:16px}}
@media(max-width:360px){#music-root,#music-root.music-compact{right:6px;bottom:8px;max-width:calc(100% - 12px)}.music-compact .music-panel{padding:6px;gap:0 6px}}
