/* 魔童音乐 H5 播放器 — 底部迷你条 + 全屏歌词 */
.gmp-bar *, .gmp-sheet * { outline:none; -webkit-tap-highlight-color:transparent; }
.gmp-bar button, .gmp-sheet button { -webkit-appearance:none; }

/* ===== 底部迷你条 ===== */
.gmp-bar {
  position:fixed; left:50%; bottom:16px; transform:translateX(-50%);
  width:min(720px, calc(100% - 24px)); z-index:1200;
  display:flex; align-items:center; gap:8px; padding:8px 12px;
  background:#fff; border:1px solid #e5e7eb; border-radius:16px;
  box-shadow:0 8px 32px rgba(0,0,0,.1);
  animation:gmp-bar-up .28s cubic-bezier(.22,1,.36,1);
  user-select:none; -webkit-user-select:none;
}
.gmp-bar[hidden] { display:none; }
@keyframes gmp-bar-up { from{opacity:0;transform:translate(-50%,24px)} to{opacity:1;transform:translate(-50%,0)} }
.gmp-bar-mid { flex:1; min-width:0; cursor:pointer; display:flex; flex-direction:column; gap:2px; }
.gmp-bar-title { font-size:14px; font-weight:700; color:#111; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gmp-bar-progress { height:4px; background:#e5e7eb; border-radius:2px; cursor:pointer; }
.gmp-bar-fill { height:100%; background:linear-gradient(135deg,#7c3aed,#ec4899); border-radius:2px; width:0%; transition:width .1s; }
.gmp-bar-btn { background:transparent !important; border:none !important; color:#6b7280; font-size:20px; cursor:pointer; padding:6px; line-height:1; }
.gmp-bar-btn:hover { color:#7c3aed; }
.gmp-bar-close { font-size:16px; color:#9ca3af; }
.gmp-i-play { display:block; width:22px; height:22px; }
.gmp-i-pause { display:none; width:22px; height:22px; }
.gmp-playing .gmp-i-play { display:none; }
.gmp-playing .gmp-i-pause { display:block; }

/* ===== 全屏歌词 ===== */
.gmp-sheet { position:fixed; inset:0; z-index:1300; }
.gmp-sheet[hidden] { display:none; }
.gmp-sheet-bg { position:absolute; inset:0; background:linear-gradient(165deg,#1e1b3a 0%,#2d1b4e 40%,#1a0f2e 100%); }
.gmp-sheet-panel { position:relative; z-index:1; height:100%; display:flex; flex-direction:column; padding:32px 20px 26px; box-sizing:border-box; animation:gmp-sheet-up .38s cubic-bezier(.32,.72,.16,1); }
@keyframes gmp-sheet-up { from{transform:translateY(40px);opacity:.3} to{transform:translateY(0);opacity:1} }
.gmp-sheet-close { position:absolute; top:16px; right:18px; z-index:2; width:40px; height:40px; border:0; border-radius:999px; background:rgba(255,255,255,.1); color:#fff; font-size:18px; cursor:pointer; }
.gmp-sheet-close:hover { background:rgba(255,255,255,.2); }
.gmp-sheet-title { color:#fff; font-size:22px; font-weight:800; margin:0 0 16px; text-align:center; text-shadow:0 2px 12px rgba(0,0,0,.4); flex-shrink:0; }
.gmp-sheet-lrc { flex:1 1 auto; width:100%; overflow-y:auto; min-height:0; text-align:center; padding:8px 20px; }
.gmp-sheet-lrc::-webkit-scrollbar { width:0; }
.gmp-lrc-line { color:rgba(255,255,255,.45); font-size:16px; line-height:2.2; font-weight:600; padding:6px 4px; cursor:pointer; transition:color .25s,font-size .25s; }
.gmp-lrc-line:hover { color:rgba(255,255,255,.7); }
.gmp-lrc-line.gmp-lrc-active { color:#fff; font-size:20px; font-weight:800; text-shadow:0 0 14px rgba(236,72,153,.5); }
.gmp-lrc-plain { text-align:center; }
.gmp-lrc-plaintext { color:rgba(255,255,255,.8); font-size:16px; line-height:2.2; white-space:pre-wrap; }
.gmp-lrc-empty { color:rgba(255,255,255,.45); font-size:14px; padding-top:80px; }

/* 进度条 */
.gmp-sheet-time-row { width:100%; max-width:480px; margin:0 auto; display:flex; align-items:center; gap:10px; padding-top:12px; flex-shrink:0; }
.gmp-sheet-cur, .gmp-sheet-total { font-size:11px; color:rgba(255,255,255,.6); font-variant-numeric:tabular-nums; min-width:36px; }
.gmp-sheet-progress { flex:1; height:6px; background:rgba(255,255,255,.15); border-radius:3px; cursor:pointer; position:relative; }
.gmp-sheet-fill { height:100%; background:linear-gradient(135deg,#7c3aed,#ec4899); border-radius:3px; width:0%; transition:width .1s; }

/* 控制 */
.gmp-sheet-ctrl { width:100%; max-width:480px; margin:0 auto; display:flex; align-items:center; justify-content:center; gap:20px; padding:12px 0; flex-shrink:0; }
.gmp-sheet-ctrl .gmp-bar-btn { color:rgba(255,255,255,.7); font-size:24px; padding:8px; background:transparent !important; border:none !important; }

/* 歌单 */
.gmp-playlist { position:fixed; inset:0; z-index:1400; display:flex; align-items:flex-end; }
.gmp-playlist-mask { position:absolute; inset:0; background:rgba(0,0,0,.5); }
.gmp-playlist-card { position:relative; width:100%; max-height:50vh; background:linear-gradient(180deg,#1e1b3a,#2d1b4e); border-radius:20px 20px 0 0; padding:20px 16px; overflow-y:auto; }
.gmp-pl-item { display:flex; align-items:center; gap:12px; padding:14px 8px; border-bottom:1px solid rgba(255,255,255,.08); cursor:pointer; font-size:14px; color:rgba(255,255,255,.6); }
.gmp-pl-item.gmp-pl-active { color:#a78bfa; font-weight:700; }
.gmp-pl-idx { width:24px; color:rgba(255,255,255,.3); font-size:12px; text-align:center; }
.gmp-pl-title { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gmp-pl-artist { color:#9ca3af; font-size:12px; max-width:120px; overflow:hidden; text-overflow:ellipsis; }
