/* A quiet, persistent player; the chart and reception retain their space. */
.music-launcher { display: grid; place-items: center; position: relative; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid #c4a3614d; border-radius: 50%; background: #181318a8; color: #dfc38e; }
.music-launcher > span:first-child { font: 24px/1 Georgia, serif; }
.music-launcher:hover, .music-launcher[aria-expanded="true"] { background: #b18a5229; border-color: #d9b575; }
.music-playing-dot { position: absolute; width: 5px; height: 5px; right: 7px; bottom: 7px; border-radius: 50%; background: #aec19d; opacity: 0; }
.music-launcher[data-playing="true"] .music-playing-dot { opacity: 1; }
.music-panel { position: fixed; z-index: 35; top: calc(var(--reception-header, 92px) + 9px); right: 22px; width: 330px; max-width: calc(100vw - 24px); max-height: calc(100vh - var(--reception-header, 92px) - 25px); max-height: calc(100dvh - var(--reception-header, 92px) - 25px); overflow-y: auto; overscroll-behavior: contain; padding: 19px 20px 17px; border: 1px solid #c4a36177; border-radius: 8px; background: #171218fa; color: #eee1c7; box-shadow: 0 14px 50px #0008; }
.music-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.music-panel-head h2 { font: 500 21px/1.5 var(--serif, Georgia, serif); color: #e7cca0; }
.music-panel button { cursor: pointer; }
.music-panel-head button { width: 44px; height: 44px; margin: -8px -10px -8px 0; padding: 0; border: 0; border-radius: 4px; background: transparent; color: #d8c6aa; font-size: 26px; }
.music-status { min-height: 2em; margin: 13px 0 14px; color: #bcae99; font-size: 12px; line-height: 1.8; }
.music-track-name { font: 500 25px/1.6 var(--serif, Georgia, serif); color: #f1dfbc; overflow-wrap: anywhere; }
.music-track-subtitle { margin-top: 3px; min-height: 2.8em; color: #b1a28e; font-size: 11px; line-height: 1.7; overflow-wrap: anywhere; }
.music-transport { display: grid; grid-template-columns: 48px 1fr 48px; gap: 12px; align-items: center; margin-top: 15px; }
.music-transport button { height: 46px; border: 1px solid #b18a5266; border-radius: 4px; background: #b18a5212; color: #e6c998; font-size: 26px; }
.music-transport #music-play { background: #c2a16d; border-color: #c2a16d; color: #191419; font-size: 14px; font-weight: 500; }
.music-transport button:hover { filter: brightness(1.15); }
.music-progress { display: block; width: 100%; height: 3px; margin-top: 20px; border: 0; border-radius: 2px; accent-color: #c4a361; background: #c4a36126; }
.music-progress::-webkit-progress-bar { background: #c4a36126; border-radius: 2px; }
.music-progress::-webkit-progress-value { background: #c4a361; border-radius: 2px; }
.music-progress::-moz-progress-bar { background: #c4a361; }
.music-time { margin-top: 6px; color: #b4a38a; text-align: right; font-size: 10px; font-variant-numeric: tabular-nums; }
.music-volume { display: flex; align-items: center; gap: 12px; margin: 12px 0 13px; color: #cdbb9f; font-size: 12px; }
.music-volume label { flex: 0 0 auto; }
.music-volume input { flex: 1; min-width: 0; height: 32px; margin: 0; accent-color: #c4a361; cursor: pointer; }
.music-volume output { width: 35px; text-align: right; font-variant-numeric: tabular-nums; }
.music-track-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid #b18a523d; }
.music-track-list li { border-bottom: 1px solid #b18a522b; }
.music-track-list button { display: block; width: 100%; min-height: 58px; padding: 10px 12px; border: 0; border-left: 2px solid transparent; background: transparent; color: #cbbba2; text-align: left; line-height: 1.6; }
.music-track-list button span { display: block; font-size: 13px; }
.music-track-list button small { display: block; font-size: 10px; color: #a99a87; overflow-wrap: anywhere; }
.music-track-list button[aria-current="true"] { border-left-color: #d6b57e; background: #b18a5216; color: #ecd3a8; }
.music-track-list button:hover { background: #b18a5220; }
.music-note { margin-top: 14px; font-size: 10px; color: #ae9e89; line-height: 1.9; }
@media (max-width: 800px) {
 .music-panel { right: 12px; padding: 17px 18px; }
 .reception-preview .atlas-header .nav-actions { gap: 6px; }
}
@media (max-width: 360px) {
 .reception-preview .atlas-header .nav-shell { gap: 8px; width: calc(100% - 28px); }
 .reception-preview .header-logo { width: 122px; }
 .reception-preview .atlas-header .nav-actions { gap: 4px; }
}
@media print { .music-launcher, .music-panel { display: none !important; } }
