.music-toggle { flex:0 0 34px; min-width:34px; height:44px; padding:0;
 display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
 background:none; border:0; color:#a44766; font-size:9px; line-height:1.2; }
.music-disc { width:23px; height:23px; border:1px solid #d9a5b7; border-radius:50%; display:grid; place-items:center; }
.music-disc svg { width:14px; height:14px; }
.music-toggle[aria-pressed="true"] .music-disc { background:#efd0da; border-color:#bf6583; }
.music-toggle[aria-pressed="true"] .music-disc svg { animation:music-sway 3s ease-in-out infinite; }
@keyframes music-sway { 0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)} }
.music-panel { position:fixed; z-index:180; bottom:calc(80px + env(safe-area-inset-bottom,0px)); left:50%; transform:translateX(-50%);
 width:calc(100% - 36px); max-width:404px; padding:22px 23px 18px; background:#fff8f5; border:1px solid #e3b9c8;
 border-radius:4px; box-shadow:0 9px 32px #63273c21; color:var(--ink); }
.music-panel .eyebrow { font-size:8px; letter-spacing:.18em; }
.music-panel h2 { font:italic 26px Georgia,serif; margin:14px 0 6px; }
.music-artist { font-size:10px; letter-spacing:.05em; margin:0 0 17px; }
#musicStatus { font-size:12px; line-height:1.8; margin:0 0 12px; }
.music-panel-close { position:absolute; right:6px; top:5px; width:38px; height:38px; border:0; background:none; color:var(--ink); font-size:23px; }
.music-pick { position:relative; display:block; text-align:center; padding:11px 12px; border:1px dashed #cf8ca4; background:#f9e5ed; font-size:12px; cursor:pointer; }
.music-pick input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.music-pick:focus-within { outline:2px solid #ac4869; outline-offset:2px; }
.music-local-note { margin:11px 0 0; font-size:10px; color:#986174; line-height:1.8; }
@media(max-width:374px){ .music-toggle{flex-basis:30px;min-width:30px} .bottom-bar .action-btn{font-size:10px;padding:8px 3px} }
@media(prefers-reduced-motion:reduce){.music-disc svg{animation:none!important}}
