.music .music-row{align-items:center}
.music .m-cover-wrap{padding:0;border:0;color:inherit;flex-shrink:0;cursor:pointer}
.music .m-info{min-width:0;cursor:default}
.music .m-title,.music .m-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.music .m-sub-row{display:flex;align-items:center;gap:6px;min-width:0;height:24px;color:var(--sub);font-size:12px}
.music .m-sub-slot{position:relative;flex:1;min-width:0;height:22px;line-height:22px;overflow:hidden}
.music .m-sub,.music .m-current-lyric{position:absolute;inset:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .2s ease,transform .28s cubic-bezier(.22,1,.36,1)}
.music .m-current-lyric{opacity:0;transform:translateY(6px);font:12px/22px var(--sans)}
.music .m-lyric-caption{position:absolute;inset:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.music .m-lyric-caption.is-entering{animation:musicLyricIn .28s cubic-bezier(.22,1,.36,1) both}
.music .m-lyric-caption.is-leaving{opacity:0;pointer-events:none;animation:musicLyricOut .2s ease both}
@keyframes musicLyricIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes musicLyricOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}
.music.playing.has-lyrics .m-sub{opacity:0;transform:translateY(-6px)}
.music.playing.has-lyrics .m-current-lyric{opacity:1;transform:none}
.music .m-lyrics-toggle{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border:0;background:transparent;color:var(--sub);cursor:pointer;padding:5px}
.music .m-lyrics-toggle svg{width:18px;height:18px;transition:transform .2s}
.music .m-lyrics-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.music .m-lyrics-shell{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1)}
.music .m-lyrics-shell.is-open{grid-template-rows:1fr}
.music .m-lyrics-clip{min-height:0;overflow:hidden;opacity:0;transition:opacity .25s ease}
.music .m-lyrics-shell.is-open .m-lyrics-clip{opacity:1}
.music .m-lyrics{position:relative;max-height:240px;max-height:min(240px,35dvh);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;border-top:1px solid var(--line);padding:12px 6px 12px 2px;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb,#ccc) transparent}
.music .m-lyrics::-webkit-scrollbar{width:3px;height:3px}
.music .m-lyrics::-webkit-scrollbar-track{background:transparent}
.music .m-lyrics::-webkit-scrollbar-thumb{background:var(--scroll-thumb,#ccc);border-radius:3px}
.music .m-lyrics::-webkit-scrollbar-button{display:none;width:0;height:0}
@supports selector(::-webkit-scrollbar){.music .m-lyrics{scrollbar-width:auto;scrollbar-color:auto}}
.music .m-lyrics-lines{display:flex;flex-direction:column;gap:4px}
.music .m-lyrics-lines button{display:flex;flex-direction:column;align-items:center;gap:0;background:none;border:0;border-radius:2px;text-align:center;font:inherit;font-size:13px;line-height:1.8;padding:6px 10px;color:var(--sub);cursor:pointer;overflow-wrap:anywhere;flex-shrink:0;transition:color .28s ease,background-color .28s ease}
.music .m-lyric-original,.music .m-lyric-translation{font:inherit;color:inherit;white-space:pre-line}
.music .m-lyrics-lines button.active{color:var(--text,#222);background:var(--bg,#f4f4f4);font-weight:600}
.music .m-lyrics-lines button:focus-visible{outline:1px solid var(--sub)!important;outline-offset:1px}
.music .m-prog{padding:6px 5px 0;margin-top:4px}
.music .m-bar,.music .m-bar:hover{height:24px;background:transparent;transition:none;touch-action:pan-y}
.music .m-bar::before{content:'';position:absolute;inset:11px 0 auto;height:2px;border-radius:4px;background:var(--line);pointer-events:none;transition:top .2s var(--ease),height .2s var(--ease)}
.music .m-fill{position:absolute;top:11px;left:0;height:2px;max-width:100%;border-radius:4px;transition:top .2s var(--ease),height .2s var(--ease);pointer-events:none}
.music .m-knob{position:absolute;left:0;top:12px;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;transform:scale(.65);opacity:0;transition:opacity .2s var(--ease),transform .2s var(--ease);animation:none!important;pointer-events:none;will-change:auto}
.music .m-bar:is(:hover,:focus-within)::before,.music .m-bar:is(:hover,:focus-within) .m-fill{top:9px;height:6px}
.music .m-bar:is(:hover,:focus-within) .m-knob,.music.playing .m-knob{opacity:1;transform:scale(1)}
.music input.m-seek{position:absolute;inset:0;width:100%;height:24px;margin:0;padding:0;border:0;box-shadow:none;opacity:0;cursor:pointer;touch-action:pan-y;min-height:0}
.music .m-bar:focus-within,.music input.m-seek:focus{outline:none!important;box-shadow:none!important}
.music .m-bar:has(.m-seek:focus-visible) .m-knob{box-shadow:0 0 0 3px rgba(34,34,34,.12)}
.music .m-times{margin-top:0;line-height:1.5;font-variant-numeric:tabular-nums}
@media(max-width:480px){.music .m-lyrics{max-height:200px;max-height:min(200px,32dvh)}}
@media(prefers-reduced-motion:reduce){.music .m-sub,.music .m-current-lyric,.music .m-lyrics-shell,.music .m-lyrics-clip,.music .m-lyrics-toggle svg,.music .m-lyrics-lines button,.music .m-bar::before,.music .m-fill,.music .m-knob{transition:none}}
@media(prefers-reduced-motion:reduce){.music .m-lyric-caption,.music .m-lyrics-lines button :is(.m-lyric-original,.m-lyric-translation){animation:none!important}}
