.invitation-music{position:fixed;z-index:13;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));font-family:'IBM Plex Sans',sans-serif;color:#46583e;max-width:min(210px,55vw)}
.music-toggle{display:flex;align-items:center;gap:8px;min-height:42px;padding:5px 12px 5px 5px;border:1px solid #cec4ad80;border-radius:40px;background:#fffdf4f2;box-shadow:0 2px 12px #302a2712;color:inherit;cursor:pointer}
.music-disc{display:grid;place-items:center;width:30px;height:30px;border:1px solid #c8c4a7;border-radius:50%;background:radial-gradient(circle,#fdfbf0 28%,#e5e6d4 30%,#f6f3e7 50%,#d6d9c4 52%,#f8f6eb 74%);flex-shrink:0}
.music-disc svg{width:17px;height:17px}
.music-label{font-size:10px;letter-spacing:.2px}
.music-state{width:6px;height:6px;border-radius:50%;background:#bdbbaa}
.music-toggle.is-playing .music-disc{animation:music-turn 8s linear infinite}
.music-toggle.is-playing .music-state{background:#68835c;box-shadow:0 0 0 3px #6d87551a}
.music-toggle:focus-visible{outline:3px solid #70875a;outline-offset:3px}
.music-message{display:block;margin-top:7px;padding:9px 12px;border:1px solid #cec4ad80;border-radius:12px;background:#fffdf4;font-size:11px;line-height:1.6;box-shadow:0 3px 14px #302a2720;max-width:200px}
.music-message[hidden]{display:none}
@keyframes music-turn{to{transform:rotate(360deg)}}
@media(min-width:620px){.invitation-music{left:calc((100vw - 600px)/2 + 12px)}}
@media(max-width:380px){.music-label{display:none}.music-toggle{padding-right:8px;gap:6px}}
@media(prefers-reduced-motion:reduce){.music-toggle.is-playing .music-disc{animation:none}}
