.birthday-music{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:52px minmax(0,1fr) 44px;gap:12px;align-items:center;width:min(410px,calc(100% - 32px));padding:12px;color:#fffaf4;border:1px solid #ffffff36;border-radius:24px;background:linear-gradient(135deg,#ffffff16,#ffffff04 45%,#ffffff0a),#12101175;backdrop-filter:blur(26px) saturate(160%);-webkit-backdrop-filter:blur(26px) saturate(160%);box-shadow:inset 0 1px 0 #ffffff38,inset 0 -1px 0 #ffffff0c,0 12px 36px #0003;transform:translateX(-50%);text-shadow:none;transition:opacity .3s ease,transform .3s ease,visibility .3s}
.birthday-music[hidden]{display:none}
.entered .birthday-music{left:auto;right:max(18px,env(safe-area-inset-right));transform:none}
.birthday-music-art{width:52px;height:52px;object-fit:cover;object-position:50% 35%;border-radius:13px;border:1px solid #ffffff26}
.birthday-music-copy{min-width:0}
.birthday-music-title{margin:0;color:#fffaf4;font-family:'DM Sans',sans-serif;font-size:18px;font-weight:700;line-height:1.25}
.birthday-music-label{margin:4px 0 6px;color:#fffaf4ac;font-size:11px;letter-spacing:.08em;text-transform:uppercase;line-height:1.3}
.birthday-music-timeline{display:flex;align-items:center;gap:7px}
.birthday-music-time{font-size:12px;color:#fffaf4b3;font-variant-numeric:tabular-nums;line-height:1.2;flex:none}
.birthday-music-seek{--music-progress:0%;appearance:none;-webkit-appearance:none;flex:1;min-width:0;height:24px;margin:0;background:transparent;cursor:pointer;touch-action:pan-y}
.birthday-music-seek::-webkit-slider-runnable-track{height:5px;border-radius:99px;background:linear-gradient(to right,#fffaf4 var(--music-progress),#ffffff40 var(--music-progress))}
.birthday-music-seek::-moz-range-track{height:5px;border-radius:99px;background:linear-gradient(to right,#fffaf4 var(--music-progress),#ffffff40 var(--music-progress))}
.birthday-music-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:11px;height:11px;margin-top:-3px;border:0;border-radius:50%;background:#fffaf4}
.birthday-music-seek::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:#fffaf4}
.birthday-music-seek:disabled{cursor:default;opacity:.6}
.birthday-music-play{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #fff9;border-radius:50%;background:#fffaf4;color:#191519;font-size:21px;box-shadow:0 4px 18px #0002}
.birthday-music-status{grid-column:1/-1;margin:0;color:#fffaf4cc;font-size:14px;line-height:1.4}
.birthday-music-status:empty{display:none}
.intro-playing.music-ready .intro-skip{bottom:calc(144px + env(safe-area-inset-bottom))}
@media(max-width:767px){.birthday-music{grid-template-columns:40px minmax(0,1fr) 40px;width:min(300px,calc(100% - 24px));gap:8px;padding:10px;bottom:calc(12px + env(safe-area-inset-bottom));border-radius:19px}.entered .birthday-music{right:max(12px,env(safe-area-inset-right))}.birthday-music-art{width:40px;height:40px;border-radius:10px}.birthday-music-title{font-size:15px}.birthday-music-label{font-size:10.5px;letter-spacing:.03em;margin:3px 0 4px}.birthday-music-time{font-size:11px}.birthday-music-timeline{gap:5px}.birthday-music-play{width:40px;height:40px;font-size:17px}.intro-playing.music-ready .intro-skip{bottom:calc(120px + env(safe-area-inset-bottom))}}
@media(max-height:400px){.intro-playing.music-ready .intro-skip{bottom:auto;top:calc(18px + env(safe-area-inset-top))}}

.entered .birthday-music.is-scrolled{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}
@media(prefers-reduced-motion:reduce){.birthday-music{transition:none}}
