
#__pinkPlayer{position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:12px 20px 16px 20px;
/* 不用 backdrop-filter：毛玻璃模糊与 60fps 频谱 canvas 叠加会让整卡合成开销暴涨、拖动控件严重卡顿 */
background:linear-gradient(180deg, #ffe3ec 0%, #ffc2d4 55%, #ff9ebb 100%);
border-top:1px solid rgba(255,150,180,.5);
box-shadow:0 -6px 24px rgba(255,134,167,.35);display:none;transition:transform .25s ease,opacity .25s ease;
overflow:hidden !important;contain:layout paint;}
#__pinkPlayer.__hide{transform:translateY(120%);opacity:0;pointer-events:none;}
#__pinkPlayer.__show{display:block;}
#__pinkInner{max-width:760px;margin:0 auto;display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;
position:relative !important;z-index:2 !important;}
.__pinkBtns{display:flex;align-items:center;gap:8px;grid-column:3;grid-row:1;}
@media (max-width:560px){#__pinkInner{grid-template-columns:48px 1fr;gap:10px;}
.__pinkBtns{grid-column:auto;grid-row:auto;}}
#__pinkCover{width:56px;height:56px;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.6);
box-shadow:0 4px 10px rgba(255,134,167,.35);flex-shrink:0;}
#__pinkCover img{width:100%;height:100%;object-fit:cover;}
@media (max-width:560px){#__pinkCover{width:48px;height:48px;border-radius:10px;}}
#__pinkMeta{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px;}
#__pinkTitle{color:#5c3a47;font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#__pinkArtist{color:#7a4a5c;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* 歌词区：复用 site-effects.css .lyric-wrap / .lyric-line 渐入渐出 */
#__pinkLyric{min-height:54px;margin:2px 0 0 0;}
#__pinkLyric:empty{display:none;}
@media (max-width:560px){#__pinkLyric{min-height:46px;} #__pinkLyric .lyric-line{font-size:13px;}}
/* 频谱节奏条：作为播放器卡片背景层（整卡铺满、不遮挡内容） */
.__pinkBars{position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;
z-index:0;opacity:.62;display:block;pointer-events:none;}
.__pinkBars canvas{width:100%;height:100%;display:block;transform:translateZ(0);will-change:transform;}
/* 自定义音量滑块：可拖动，比原生控件音量条更好点 */
.__pinkVolRow{display:flex;align-items:center;gap:7px;margin-top:5px;position:relative;z-index:3;}
.__pinkVolRow .vic{font-size:13px;line-height:1;cursor:pointer;user-select:none;width:18px;text-align:center;}
#__pinkVol{-webkit-appearance:none;appearance:none;flex:0 1 130px;min-width:80px;height:5px;border-radius:999px;
background:linear-gradient(90deg,#ff7aa2 var(--vol,100%), rgba(255,255,255,.65) var(--vol,100%));
outline:none;cursor:pointer;margin:0;}
#__pinkVol::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;
background:#fff;border:2px solid #ff7aa2;box-shadow:0 2px 6px rgba(180,69,101,.35);cursor:grab;}
#__pinkVol::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #ff7aa2;cursor:grab;}
.__pinkVolRow .vpct{font-size:11px;color:#8a4559;min-width:32px;font-weight:700;}
#__pinkAudio{width:100%;}
#__pinkAudio::-webkit-media-controls-panel{background:linear-gradient(180deg,#ffe5ed,#ffd0dd);border-radius:10px;}
#__pinkAudio::-webkit-media-controls-current-time-display,
#__pinkAudio::-webkit-media-controls-time-remaining-display{color:#8a4559;}
#__pinkAudio::-webkit-media-controls-play-button,
#__pinkAudio::-webkit-media-controls-mute-button,
#__pinkAudio::-webkit-media-controls-volume-slider{accent-color:#ff7aa2;}
#__pinkMin,#__pinkStop{background:rgba(255,255,255,.65);border:none;color:#a54565;font-size:18px;width:34px;height:34px;
border-radius:50%;cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:center;
box-shadow:0 3px 8px rgba(255,134,167,.25);transition:transform .15s;}
#__pinkMin:hover,#__pinkStop:hover{transform:scale(1.06);}
#__pinkStop{background:linear-gradient(135deg,#ff7aa2,#e879f9)!important;color:#fff!important;
box-shadow:0 4px 12px rgba(255,134,167,.55)!important;margin-left:8px;}
@media (max-width:560px){#__pinkMin,#__pinkStop{position:absolute;top:10px;width:28px;height:28px;font-size:14px;}
#__pinkMin{right:48px;}#__pinkStop{right:14px;}}
/* 底部占位不再写死：由 JS 按播放器实际高度动态设置 body padding-bottom，任何页面按钮都不会被遮挡 */
