#neon-music { position:fixed; left:max(14px,env(safe-area-inset-left)); bottom:max(16px,env(safe-area-inset-bottom)); z-index:1100; width:min(310px,calc(100vw - 28px)); font:14px/1.5 system-ui,-apple-system,"Microsoft YaHei",sans-serif; color:#263958; text-align:left; }
#neon-music * { box-sizing:border-box; }
#neon-music [hidden] { display:none !important; }
#neon-music button { font:inherit; color:inherit; cursor:pointer; border:0; margin:0; line-height:1.3; touch-action:manipulation; }
#neon-music button:disabled { opacity:.45; cursor:wait; }
#neon-music button:focus-visible,#neon-music a:focus-visible,#neon-music input:focus-visible { outline:3px solid #79adff; outline-offset:3px; }
#neon-music .nm-panel { border:1px solid rgba(255,255,255,.9); border-radius:20px; padding:14px; background:linear-gradient(135deg,rgba(233,244,255,.94),rgba(245,239,255,.92)); backdrop-filter:blur(26px) saturate(1.3); -webkit-backdrop-filter:blur(26px) saturate(1.3); box-shadow:0 10px 36px rgba(35,65,120,.18); }
#neon-music .nm-panel { max-height:calc(100vh - 32px); max-height:calc(100svh - 32px); overflow-y:auto; overscroll-behavior:contain; }
#neon-music .nm-head { display:flex; align-items:center; gap:7px; margin-bottom:13px; }
#neon-music .nm-tag { color:#227fe5; background:#dbeaff; border-radius:7px; padding:3px 7px; font-size:11px; font-weight:700; }
#neon-music .nm-heading { font-size:12px; font-weight:700; flex:1; }
#neon-music .nm-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:rgba(255,255,255,.68); font-size:20px; }
#neon-music .nm-track { display:flex; align-items:center; gap:12px; }
#neon-music .nm-art { position:relative; display:grid; place-items:center; flex:0 0 52px; height:52px; border-radius:50%; overflow:hidden; background:radial-gradient(circle,#edf6ff 9%,#478cde 10%,#629ce2 17%,#263953 18%,#162940 62%,#5d8fcd 64%,#233856 65%); color:white; font-size:20px; }
#neon-music .nm-art img { position:absolute; width:100%; height:100%; object-fit:cover; }
#neon-music .nm-text { min-width:0; flex:1; }
#neon-music .nm-title { font-size:14px; font-weight:750; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#neon-music .nm-artist { margin-top:3px; color:#7687a0; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#neon-music .nm-seek { display:flex; align-items:center; gap:7px; margin:12px 0 8px; font-size:10px; color:#7687a0; font-variant-numeric:tabular-nums; }
#neon-music input[type=range] { min-width:0; height:18px; margin:0; padding:0; border:0; accent-color:#3887f1; background:transparent; cursor:pointer; }
#neon-music .nm-seek input { flex:1; width:100%; }
#neon-music .nm-controls { display:flex; align-items:center; gap:9px; }
#neon-music .nm-play { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:50%; color:white; background:#3184ef; font-size:20px; box-shadow:0 4px 12px #3184ef35; }
#neon-music .nm-next,#neon-music .nm-list-toggle { min-height:36px; background:transparent; padding:6px; color:#4676a8; font-size:12px; }
#neon-music .nm-volume { display:flex; gap:5px; align-items:center; margin-left:auto; color:#7d8fa7; font-size:12px; }
#neon-music .nm-volume input { width:55px; }
#neon-music .nm-status { margin-top:10px; min-height:18px; font-size:11px; color:#6c819e; }
#neon-music .nm-list { margin:10px 0 0; padding:7px 0 0; border-top:1px solid #ceddef; list-style:none; max-height:155px; overflow-y:auto; overscroll-behavior:contain; }
#neon-music .nm-list button { display:block; text-align:left; padding:8px; border-radius:9px; width:100%; background:transparent; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:12px; }
#neon-music .nm-list button[aria-current=true] { background:#dceaff; color:#1e76dc; }
#neon-music .nm-source { display:inline-block; font-size:10px; color:#7b8ea7; text-decoration:none; margin-top:6px; }
#neon-music .nm-mini { display:flex; align-items:center; gap:8px; max-width:100%; width:fit-content; padding:8px 10px; border:1px solid #ffffffdc; border-radius:28px; background:rgba(235,245,255,.94); box-shadow:0 5px 20px #2a52872a; backdrop-filter:blur(20px); }
#neon-music .nm-expand { display:flex; align-items:center; gap:7px; max-width:165px; min-height:30px; padding:0; background:transparent; color:#347fda; }
#neon-music .nm-mini-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; max-width:115px; }
#neon-music .nm-mini-play { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#3184ef; color:#fff; }
#neon-music.is-playing .nm-art { animation:nm-spin 16s linear infinite; }
@keyframes nm-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { #neon-music.is-playing .nm-art { animation:none; } }
@media(max-width:600px) { #neon-music { left:max(10px,env(safe-area-inset-left)); bottom:max(12px,env(safe-area-inset-bottom)); width:min(300px,calc(100vw - 20px)); } }
