.music-shell-root, .music-shell-root body { width: 100%; height: 100%; overflow: hidden; }
body.music-shell > :not(#music-page-frame):not(#music-mini-player):not(#music-navigation-status) { display: none !important; }
#music-page-frame { position: fixed; inset: 0; z-index: 100; width: 100%; height: 100%; height: 100dvh; border: 0; background: #f5efe3; }
#music-mini-player { position: fixed; z-index: 110; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); width: 320px; max-width: calc(100vw - 24px); padding: 14px 16px 10px; border: 1px solid #4c453a; border-top: 2px solid #bd6955; border-radius: 8px; color: #f4ede0; background: #192026; box-shadow: 0 8px 30px #10181240; font: 12px/1.5 "Noto Sans KR", sans-serif; }
#music-mini-player[hidden], #music-navigation-status[hidden] { display: none !important; }
#music-mini-player * { box-sizing: border-box; }
#music-mini-player button { display: grid; place-items: center; flex-shrink: 0; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; color: #f4ede0; background: transparent; cursor: pointer; font: inherit; }
#music-mini-player button:hover { background: #ffffff16; }
#music-mini-player :focus-visible { outline: 2px solid #e6a083; outline-offset: 3px; }
.music-mini-heading, .music-mini-track, .music-mini-tools, .music-mini-buttons, .music-mini-volume { display: flex; align-items: center; }
.music-mini-heading { gap: 6px; }
.music-mini-track { flex: 1; min-width: 0; gap: 10px; color: inherit; text-decoration: none; }
.music-mini-track img { width: 44px; height: 44px; flex-shrink: 0; border-radius: 3px; object-fit: cover; background: #313932; }
.music-mini-track > span { min-width: 0; }
.music-mini-subtitle { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #d39376; font-size: 11px; }
.music-mini-subtitle[hidden] { display: none; }
.music-mini-title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 600; }
#music-mini-player .music-mini-close { align-self: flex-start; width: 36px; height: 36px; margin: -8px -9px 0 0; color: #b9b8b0; font-size: 22px; }
.music-mini-seek { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
#music-mini-player input[type="range"] { min-width: 0; height: 24px; margin: 0; padding: 0; accent-color: #d58d73; cursor: pointer; }
.music-mini-seek input { width: 100%; flex: 1; }
.music-mini-time { color: #b5b9b8; font-size: 9px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.music-mini-tools { justify-content: space-between; gap: 12px; }
.music-mini-buttons { gap: 2px; }
#music-mini-player .music-mini-play { width: 40px; height: 40px; border: 1px solid #7d6659; color: #f6dfc4; font-size: 16px; }
.music-mini-buttons svg { width: 18px; height: 18px; fill: currentColor; }
.music-mini-volume { flex: 1; justify-content: flex-end; gap: 8px; color: #c3c5bf; font-size: 10px; }
.music-mini-volume input { width: 70px; }
.music-mini-status { min-height: 15px; margin: 4px 0 0; color: #b7bcb5; font-size: 10px; overflow-wrap: anywhere; }
.music-playback-feedback { margin: 12px 0 0; color: #efb59b; font-size: 12px; line-height: 1.6; }
#music-navigation-status { position: fixed; top: 12px; left: 50%; transform: translateX(-50%); z-index: 120; display: flex; align-items: center; gap: 12px; max-width: calc(100% - 24px); padding: 10px 16px; border: 1px solid #bcae99; border-radius: 5px; background: #fbf8f1; color: #3b352b; font: 12px/1.5 "Noto Sans KR", sans-serif; box-shadow: 0 4px 20px #211a2220; }
#music-navigation-status button { flex-shrink: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: #8f281d; cursor: pointer; }
.music-shell-child { scroll-padding-bottom: var(--music-mini-clearance, 0px); }
.music-shell-child body { padding-bottom: var(--music-mini-clearance, 0px); }
.music-shell-child .floating-banner-group[data-position="bottom-right"] { bottom: calc(20px + var(--music-mini-clearance, 0px)); max-height: min(50dvh, calc(100dvh - 110px - var(--music-mini-clearance, 0px))); }
.music-shell-child .back-to-top { bottom: calc(20px + var(--music-mini-clearance, 0px)); }
@media (max-width: 600px) {
  #music-mini-player { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); padding: 12px 14px 8px; }
  .music-shell-child .floating-banners { bottom: calc(12px + var(--music-mini-clearance, 0px)); max-height: min(55dvh, calc(100dvh - 100px - var(--music-mini-clearance, 0px))); }
}
@media (pointer: coarse) {
  #music-mini-player button { width: 44px; height: 44px; }
  #music-mini-player .music-mini-close { width: 44px; height: 44px; }
}
