/* Original HTML5-Mini-Music-Player UI, BSD-3-Clause; see third_party. */
#dcshop-music { position: fixed; left: 20px; bottom: 45px; width: 56px; height: 56px; z-index: 1100; }
#dcshop-music button { font: inherit; }
#dcshop-music .music-box { border: 0; padding: 0; }
    #dcshop-music .music-box{width:50px;height:50px;overflow:hidden;border-radius:50px;background:rgba(255,255,255,0.25);box-shadow:0 8px 32px 0 rgba(31,38,135,0.37);backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%);position:relative;flex-shrink:0;}
    #dcshop-music .music{box-sizing:content-box;position:fixed;bottom:45px;left:20px;width:50px;height:50px;background:rgba(255,255,255,0.35);box-shadow:0 4px 6px rgba(0, 0, 0, 0.1);border-radius:50px;overflow:hidden;backdrop-filter:blur(30px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);border:3px solid rgba(255,255,255,0.8);transition:width 0.5s,background 0.4s,bottom 0.45s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;z-index:999;}
    #dcshop-music .music:hover{width:280px;background:rgba(255,255,255,0.8);box-shadow:0 8px 32px 0 rgba(31,38,135,0.37);}
    #dcshop-music .music-img{width:50px;height:50px;transition:transform 0.4s linear;}
    #dcshop-music .play-btn{-webkit-tap-highlight-color:transparent;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;background:rgba(70, 70, 70, 0.2);border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer;}
    #dcshop-music .music-info{display:none;flex-direction:row;align-items:center;height:50px;margin-left:16px;width:206px;overflow:hidden;}
    #dcshop-music .music-box:hover .play-btn{display:flex;}
    #dcshop-music .music:hover .music-info{display:flex;}
    #dcshop-music .music-box .note-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:35px;height:35px;display:none;pointer-events:none;z-index:2;}
    #dcshop-music .music-box.show-note .note-icon{display:block;}
    #dcshop-music .info-texts{display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0;}
    #dcshop-music .song-title{font-size:16px;font-weight:bold;color:#16b597;line-height:1.2;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-align:center;position:relative;}
    #dcshop-music .song-title.scrolling{text-align:left;}
    #dcshop-music .song-title.scrolling .song-title-inner{display:inline-block;padding-right:50px;animation:dcshop-song-title-scroll var(--song-title-duration,8s) linear infinite;}
   @keyframes dcshop-song-title-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
    #dcshop-music .song-lyric{font-size:13px;color:#FF9A3D;line-height:22px;font-weight:bold;height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;}
    #dcshop-music .song-lyric-anim{display:inline-block;opacity:0;transform:translateY(10px);animation:dcshop-lyric-fade-move 0.5s cubic-bezier(.4,0,.2,1) forwards;}
   @keyframes dcshop-lyric-fade-move{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
    #dcshop-music .expand-btn{-webkit-tap-highlight-color:transparent;margin-left:13px;background:#16b597;color:#fff;border:none;border-radius:16px;padding:6px 9px;cursor:pointer;font-size:13px;height:32px;display:flex;align-items:center;justify-content:center;transition:background 0.2s,transform 0.3s;}
    #dcshop-music .expand-btn:hover{background:#199988;}
    #dcshop-music .expand-btn.active{transform:rotate(180deg);}
    #dcshop-music .music.panel-open{bottom:var(--music-panel-bottom,150px);transition:left 0.8s cubic-bezier(.4,0,.2,1),bottom 0.45s cubic-bezier(.4,0,.2,1),width 0.5s,background 0.4s;}
    #dcshop-music .expand-panel{position:fixed;bottom:20px;left:20px;width:50px;height:0;opacity:0;overflow:hidden;background:rgba(255,255,255,0.80);backdrop-filter:blur(18px) saturate(200%);-webkit-backdrop-filter:blur(18px) saturate(200%);border:3px solid rgba(255,255,255,0.9);border-radius:30px 30px 30px 30px;box-shadow:0 8px 32px 0 rgba(31,38,135,0.37);z-index:998;transition:width 0.45s cubic-bezier(.4,0,.2,1),height 0.45s cubic-bezier(.4,0,.2,1),opacity 0.35s;display:flex;flex-direction:column;box-sizing:border-box;padding:0;}
    #dcshop-music .expand-panel.open{width:287px;height:var(--expand-panel-height,200px);opacity:1;padding:55px 6px 7px;}
    #dcshop-music .ep-lyrics{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;min-height:0;position:relative;--ep-lyric-scroll-duration:320ms;}
    #dcshop-music .ep-lyrics.overlay-open .ep-lyric-line,#dcshop-music .ep-lyrics.overlay-open .ep-lyric-trans{display:none;}
    #dcshop-music .ep-lyric-line{width:100%;text-align:center;text-overflow:ellipsis;transition:all 0.4s cubic-bezier(.4,0,.2,1);padding:2px 0;will-change:transform,opacity;}
    #dcshop-music .ep-lyric-line.prev,#dcshop-music .ep-lyric-line.next{font-size:12px;color:rgba(100,100,100,0.55);font-weight:normal;}
    #dcshop-music .ep-lyric-line.current{font-size:16px;color:#16b597;font-weight:bold;transform:scale(1.05);}
    #dcshop-music .ep-lyric-line.selected{font-size:16px;color:#333;font-weight:600;transform:scale(1.04);}
    #dcshop-music .ep-lyric-trans{width:100%;text-align:center;font-size:11px;color:rgba(120,120,120,0.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 0 2px;transition:opacity 0.3s;will-change:transform,opacity;}
    #dcshop-music .ep-lyric-trans.current-trans{color:#555;font-weight:600;}
    #dcshop-music .ep-lyric-trans.selected-trans{color:#333;font-weight:600;}
    #dcshop-music .ep-lyric-line.center-focus-bg,#dcshop-music .ep-lyric-trans.center-focus-bg{transition:background 0.18s ease,color 0.2s ease;}
    #dcshop-music .ep-lyrics.ep-hovering .ep-lyric-line.center-focus-bg,#dcshop-music .ep-lyrics.ep-hovering .ep-lyric-trans.center-focus-bg{background:#99999925;}
    #dcshop-music .ep-lyrics.ep-scroll-up .ep-lyric-line,#dcshop-music .ep-lyrics.ep-scroll-up .ep-lyric-trans{animation:dcshop-ep-lyrics-scroll-up var(--ep-lyric-scroll-duration) cubic-bezier(.22,.61,.36,1);}
    #dcshop-music .ep-lyrics.ep-scroll-down .ep-lyric-line,#dcshop-music .ep-lyrics.ep-scroll-down .ep-lyric-trans{animation:dcshop-ep-lyrics-scroll-down var(--ep-lyric-scroll-duration) cubic-bezier(.22,.61,.36,1);}
    #dcshop-music .ep-lyrics.ep-scroll-fast{--ep-lyric-scroll-duration:140ms;}
   @keyframes dcshop-ep-lyrics-scroll-up{from{transform:translateY(16px);opacity:.35;}to{transform:translateY(0);opacity:1;}}
   @keyframes dcshop-ep-lyrics-scroll-down{from{transform:translateY(-16px);opacity:.35;}to{transform:translateY(0);opacity:1;}}
    #dcshop-music .ep-controls{display:flex;align-items:center;gap:1px;margin-top:6px;width:100%;padding:0 3px;}
    #dcshop-music .ep-ctrl-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background 0.2s;flex-shrink:0;}
    #dcshop-music .ep-ctrl-btn:hover{background:rgba(22,181,151,0.13);}
    #dcshop-music .ep-ctrl-btn svg{width:22px;height:22px;}
    #dcshop-music .ep-progress-wrap{flex:1;display:flex;align-items:center;gap:6px;min-width:0;}
    #dcshop-music .ep-progress-bar{flex:1;height:4px;background:rgba(0,0,0,0.10);border-radius:2px;cursor:pointer;position:relative;overflow:hidden;}
    #dcshop-music .ep-progress-fill{height:100%;background:linear-gradient(90deg,#16b597,#13d4a7);border-radius:2px;width:0%;transition:width 0.2s linear;}
    #dcshop-music .ep-time{font-size:10px;color:#888;min-width:32px;text-align:center;flex-shrink:0;user-select:none;}
    #dcshop-music .ep-list-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background 0.2s;flex-shrink:0;}
    #dcshop-music .ep-list-btn:hover{background:rgba(22,181,151,0.13);}
    #dcshop-music .ep-list-btn svg{width:20px;height:20px;}
    #dcshop-music .ep-playlist{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:23px;z-index:10;display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity 0.3s,transform 0.3s;margin-top:8px;}
    #dcshop-music .ep-playlist.show{opacity:1;pointer-events:auto;transform:translateY(0);}
    #dcshop-music .ep-playlist-header{display:flex;align-items:center;justify-content:space-between;padding:3px 19px;font-size:14px;font-weight:bold;color:#16b597;margin-top:5px;}
    #dcshop-music .ep-playlist-close{background:none;border:none;cursor:pointer;font-size:18px;color:#999;padding:2px 6px;border-radius:50%;transition:background 0.2s;}
    #dcshop-music .ep-playlist-close:hover{background:rgba(0,0,0,0.06);}
    #dcshop-music .ep-playlist-list{flex:1;overflow-y:auto;padding:0 10px 0;overscroll-behavior:contain;}
    #dcshop-music .ep-playlist-list::-webkit-scrollbar{width:3px;}
    #dcshop-music .ep-playlist-list::-webkit-scrollbar-thumb{background:#16b597;border-radius:3px;}
    #dcshop-music .ep-playlist-item{padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background 0.2s;margin-bottom:2px;display:flex;align-items:center;gap:8px;}
    #dcshop-music .ep-playlist-item:hover{background:rgba(22,181,151,0.10);}
    #dcshop-music .ep-playlist-item.active{color:#16b597;font-weight:bold;background:rgba(22,181,151,0.08);}
    #dcshop-music .ep-playlist-item .ep-item-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
    #dcshop-music .ep-playlist-item .ep-item-icon svg{width:16px;height:16px;}
    #dcshop-music .ep-playlist-item .ep-item-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;}
   @keyframes dcshop-img-rotate{0%{transform:rotate(0);}100%{transform:rotate(360deg);}}
   @keyframes dcshop-img-rotate-reset{from{transform:rotate(var(--img-rotate-angle,0deg));}to{transform:rotate(0deg);}}
   @media (max-width:600px){#dcshop-music .expand-panel{left:-340px;width:50px;transition:left 0.8s cubic-bezier(.4,0,.2,1),width 0.45s cubic-bezier(.4,0,.2,1),height 0.45s cubic-bezier(.4,0,.2,1),opacity 0.35s;}#dcshop-music .expand-panel.open{width:50px;}#dcshop-music .expand-panel.mobile-show{left:55px;width:256px;}#dcshop-music .music{bottom:72px;left:-340px;width:50px;min-width:50px;transition:left 0.8s cubic-bezier(.4,0,.2,1),width 1s,bottom 0.45s cubic-bezier(.4,0,.2,1);z-index:9999;background:rgba(255,255,255,0.8);-webkit-box-shadow:0px 0px 0px 1px rgba(80,80,80,0.5);border-radius:50px;overflow:hidden;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:3px solid rgba(255,255,255,0.18);box-shadow:0 8px 32px 0 rgba(31,38,135,0.37);}
    #dcshop-music .music.expanded{left:55px;}
    #dcshop-music .music-info{display:flex;width:177px;}
    #dcshop-music .play-btn,#dcshop-music .music-toggle-btn{display:flex;}}
    #dcshop-music .music-toggle-btn{-webkit-tap-highlight-color:transparent;position:fixed;left:10px;bottom:80px;width:36px;height:36px;background:rgba(255,255,255,0.85);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,0.15);align-items:center;justify-content:center;cursor:pointer;z-index:10000;display:none;border:none;border:2px rgb(255 255 255 / 90%) solid;backdrop-filter:blur(20px) saturate(300%);-webkit-backdrop-filter:blur(20px) saturate(300%);}
    #dcshop-music .music-toggle-btn svg{width:18px;height:18px;}
    #dcshop-music .lock-btn{-webkit-tap-highlight-color:transparent;position:absolute;left:0;transform:translateX(-50%);width:25px;height:25px;background:rgb(200 200 200 / 45%);border:none;border-radius:50%;cursor:pointer;color:#fff;font-size:14px;align-items:center;justify-content:center;transition:left 0.3s ease;z-index:1;display:none;box-shadow:inset 0px 0px 15px 1px rgb(161 161 161/50%);overflow:hidden;}
    #dcshop-music .lock-btn svg{width:16px;height:16px;}
    #dcshop-music .music:hover .lock-btn{display:flex;top:1px;left:65px;}
   @media (min-width:601px){#dcshop-music .lock-btn{align-items:center;justify-content:center;}
    #dcshop-music .music.locked{width:280px;background:rgba(255,255,255,0.55);backdrop-filter:blur(18px) saturate(500%);-webkit-backdrop-filter:blur(18px) saturate(500%);border:3px solid rgba(255,255,255,0.18);box-shadow:0 8px 32px 0 rgba(31,38,135,0.37);}
    #dcshop-music .music.locked .music-info{display:flex;}
    #dcshop-music .music.hover-active{box-shadow:0 8px 32px 0 rgba(31,38,135,0.37);}
    #dcshop-music .music.hover-active .music-info{display:flex;}}
    #dcshop-music .next-icon{width:18px;height:18px;}
#dcshop-music .music { position: fixed; top: auto; bottom: var(--dcshop-music-bottom,45px); left: var(--dcshop-music-left,20px); z-index: 2; }
#dcshop-music .expand-panel { position: fixed; top: auto; bottom: var(--dcshop-music-panel-bottom,20px); left: var(--dcshop-music-panel-left,20px); z-index: 1; }
#dcshop-music .music.hover-active { width: 280px; background: rgba(255,255,255,0.8); }
#dcshop-music .music.hover-active .music-info { display: flex; }
#dcshop-music .music-box:hover .note-icon { display: none; }
#dcshop-music .music-info { user-select: none; }
#dcshop-music .lock-btn[aria-pressed="true"] { display: flex; top: 1px; left: 65px; }
#dcshop-music .dcshop-music-pause-icon { display: none; }
#dcshop-music .dcshop-music-lock-closed, #dcshop-music .dcshop-music-toggle-close { display: none; }
#dcshop-music [aria-pressed="true"] .dcshop-music-lock-open, #dcshop-music [aria-expanded="true"] .toggle-icon { display: none; }
#dcshop-music [aria-pressed="true"] .dcshop-music-lock-closed, #dcshop-music [aria-expanded="true"] .dcshop-music-toggle-close { display: block; }
#dcshop-music[data-music-active="true"] .dcshop-music-play-icon { display: none; }
#dcshop-music[data-music-active="true"] .dcshop-music-pause-icon { display: block; }
#dcshop-music .music-img { animation: dcshop-img-rotate-reset .4s linear 1; }
#dcshop-music[data-music-state="playing"] .music-img { animation: dcshop-img-rotate 2s linear infinite; }
#dcshop-music .ep-playlist-item { width: 100%; border: 0; background: transparent; text-align: left; }
#dcshop-music .ep-playlist-item[aria-pressed="true"] { color: #16b597; font-weight: bold; background: rgba(22,181,151,0.08); }
#dcshop-music .dcshop-music-seek { position: absolute; inset: -10px 0; width: 100%; height: 24px; margin: 0; opacity: 0; cursor: pointer; }
#dcshop-music .ep-progress-bar:focus-within { outline: 1px solid #16b597; }
#dcshop-music button:focus-visible { outline: 1px solid #16b597; outline-offset: 1px; }
#dcshop-music .dcshop-music-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width:600px) {
    #dcshop-music .music { left: var(--dcshop-music-left,-340px); }
    #dcshop-music .music.expanded { left: var(--dcshop-music-left,55px); width: 250px; }
    #dcshop-music .music:hover .lock-btn { display: none; }
    #dcshop-music .expand-panel.mobile-show { left: var(--dcshop-music-panel-left,55px); width: 256px; }
    #dcshop-music .music-toggle-btn { display: flex; position: fixed; left: var(--dcshop-music-toggle-left,10px); top: auto; bottom: var(--dcshop-music-toggle-bottom,80px); z-index: 3; }
}
#dcshop-music [hidden] { display: none; }
@media (min-width:601px) {
    #dcshop-music[data-music-side="right"] .music { left: auto; right: var(--dcshop-music-right,20px); flex-direction: row-reverse; }
    #dcshop-music[data-music-side="right"] .music-info { flex-direction: row-reverse; margin-left: 0; margin-right: 16px; }
    #dcshop-music[data-music-side="right"] .expand-btn { margin-left: 0; margin-right: 13px; }
    #dcshop-music[data-music-side="right"] .music .lock-btn { left: auto; right: 65px; transform: translateX(50%); }
}
