.music-library-card { background: #151c2b; border: 1px solid #455069; border-radius: 14px; padding: 16px; display: grid; gap: 12px; margin: 16px 0; }
.music-card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.music-card-heading h3 { font-size: 17px; }.music-card-heading p { color: #c6d1e4; font-size: 13px; margin-top: 4px; }
.music-library-card label { font-size: 14px; color: #e1e8f5; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.music-library-card select,.music-library-card input { font-size: 15px; }
.music-library-card select,.music-library-card .dock-input { min-height: 38px; padding: 6px 10px; }
.music-library-card .button { min-height: 38px; padding: 7px 12px; font-size: 14px; }
.music-source-panel { display: grid; gap: 10px; padding: 12px; border: 1px solid #39465e; border-radius: 10px; background: #101724; }
.music-source-panel input[type=file] { color: #dbe6f7; font-size: 13px; width: 100%; }
.music-source-panel input[type=file]::file-selector-button { border: 1px solid #73618e; border-radius: 7px; background: #322940; color: #f3eaff; padding: 7px 10px; margin-right: 10px; font: inherit; cursor: pointer; }
.music-control-line { display: flex; align-items: flex-end; gap: 12px; }.music-control-line>label { flex: 1; }
.music-source-panel .button { min-height: 38px; font-size: 14px; }
.music-library-card progress { width: 100%; height: 10px; accent-color: #9ee8ce; }
.music-state { color: #c5e8dc; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.music-state[data-tone=error] { color: #ffc1cb; }
.music-help { font-size: 13px; line-height: 1.65; color: #c4cfe2; }
.music-help a { color: #d4b8ff; text-underline-offset: 3px; }
.music-transport { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding-top: 14px; border-top: 1px solid #ffffff14; }
.music-track-name { flex: 1 1 100%; color: #fff; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.music-transport .check-label { display: inline-flex; align-items: center; gap: 8px; flex-direction: row; margin-right: auto; font-size: 13px; }
.music-transport input[type=checkbox] { width: 16px; height: 16px; }
.youtube-music-dock { position: fixed; z-index: 70; right: 20px; bottom: 20px; width: min(360px,calc(100vw - 32px)); min-width: 240px; background: #111722; border: 1px solid #a78ec2; border-radius: 12px; box-shadow: 0 18px 70px #0009; overflow: hidden; }
.youtube-dock-header { padding: 9px 11px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #f4eaff; font-size: 13px; }
.youtube-dock-header button { background: transparent; border: 1px solid #5b4c6b; border-radius: 6px; padding: 5px 9px; color: #e8ddfa; font-size: 12px; }
.youtube-dock-header>strong { margin-right: auto; }
.youtube-dock-actions { display: flex; align-items: center; gap: 6px; }
.youtube-dock-header button { white-space: nowrap; }
.youtube-music-mini-dock { position: fixed; left: 20px; bottom: 16px; z-index: 70; display: flex; align-items: center; gap: 10px; max-width: calc(100vw - 32px); padding: 9px 10px 9px 14px; border: 1px solid #87719c; border-radius: 12px; background: #141b29; box-shadow: 0 6px 24px #0005; color: #dbe4f3; font-size: 12px; line-height: 1.4; }
.youtube-music-mini-dock button { border: 1px solid #a48cbd; border-radius: 7px; background: #32283e; color: #f5ebff; padding: 7px 10px; font: inherit; font-weight: 600; white-space: nowrap; cursor: pointer; }
.youtube-music-mini-dock button:focus-visible,.youtube-dock-header button:focus-visible { outline: 2px solid #d7beef; outline-offset: 3px; }
.youtube-player-box { width: 100%; height: max(200px,calc(min(360px,100vw - 32px)*.5625)); background: #080b12; }
.youtube-player-box>div,.youtube-player-box iframe { display: block; width: 100%; height: 100%; min-height: 200px; min-width: 200px; border: 0; }
.youtube-dock-footer { padding: 10px 14px; font-size: 12px; line-height: 1.6; color: #cfdaef; }
.youtube-dock-footer a { color: #e3c6ff; display: inline-block; margin-top: 4px; }
body.obs-mode .youtube-music-dock,body.obs-mode .youtube-music-mini-dock { display: none !important; }
@media(max-width:540px) { .music-library-card { padding: 14px; }.music-control-line { flex-direction: column; align-items: stretch; }.music-source-panel { padding: 12px; }.music-library-card select,.music-library-card input { font-size: 16px; }.youtube-music-dock { right: 16px; bottom: 16px; }.youtube-music-mini-dock { left: 16px; bottom: 16px; }.music-card-heading { flex-direction: column; } }
