*{box-sizing:border-box}
html{color-scheme:dark}
body{position:relative;min-height:100svh;margin:0}
button,input{font:inherit}
a{color:inherit;text-decoration:none}
a,button,input{-webkit-tap-highlight-color:transparent}
button{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible{outline:1px solid #aaa;outline-offset:5px}
html[lang="zh-CN"] [data-locale="en"],html[lang="en"] [data-locale="zh"]{display:none}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px}
.music-header-actions{display:flex;align-items:center;gap:20px}
.brand{font-size:16px;font-weight:600;letter-spacing:-.03em}
.music-navigation{position:relative;display:flex;align-items:flex-start}
.music-back{position:absolute;top:calc(100% + 10px);left:0;display:inline-flex;align-items:center;gap:5px;min-height:20px;white-space:nowrap;color:#929292;font-size:12px;line-height:20px;transition:color .18s ease}
.music-back:hover{color:var(--text)}
.language-toggle{border:1px solid #343434;border-radius:20px;background:transparent;color:#666;padding:8px 12px;font-size:10px;cursor:pointer}
html[lang="zh-CN"] .language-zh,html[lang="en"] .language-en{color:var(--text)}
body[data-site-page="music"] .page-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;align-items:center;min-height:calc(100svh - 175px);padding-block:52px 44px}
.music-player{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(38px,7vw,94px);width:100%}
.music-artwork{width:min(100%,420px,max(220px,calc(100svh - 280px)));aspect-ratio:1;justify-self:center;overflow:hidden;border:1px solid #252525;border-radius:12px;background:#101010}
.current-cover{display:block;width:100%;height:100%;object-fit:cover}
.music-details{min-width:0}
h1,h2,p{margin:0}
.current-title{font-size:clamp(28px,3.5vw,45px);font-weight:500;line-height:1.2;letter-spacing:-.035em;overflow-wrap:anywhere}
.current-album{margin-top:17px;color:#8e8e8e;font-size:15px;line-height:1.6}
.music-timeline{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:13px;margin-top:50px;min-height:30px}
.current-time,.total-time{color:#858585;font-size:10px;font-variant-numeric:tabular-nums}
.total-time{text-align:right}
.music-range{--progress:0%;appearance:none;-webkit-appearance:none;width:100%;height:28px;margin:0;background:transparent;cursor:pointer;touch-action:pan-y}
.music-range::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:linear-gradient(to right,#eee var(--progress),#343434 var(--progress))}
.music-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:8px;height:8px;margin-top:-3px;border:0;border-radius:50%;background:#eee}
.music-range::-moz-range-track{height:2px;background:#343434}.music-range::-moz-range-progress{height:2px;background:#eee}.music-range::-moz-range-thumb{width:8px;height:8px;border:0;border-radius:50%;background:#eee}
.music-range:disabled{opacity:.4;cursor:default}
.music-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin-top:24px}
.transport-controls{grid-column:2;display:flex;align-items:center;gap:20px}
.transport-button,.play-toggle,.playlist-trigger{display:grid;place-items:center;padding:0;border:0;background:transparent;cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease}
.transport-button{width:44px;height:44px;border-radius:50%}
.transport-button svg{width:23px;height:23px;fill:currentColor}
.play-toggle{width:60px;height:60px;border:1px solid #484848;border-radius:50%}
.play-toggle svg{width:26px;height:26px;fill:currentColor}
.play-toggle .pause-symbol,.play-toggle[aria-pressed="true"] .play-symbol{display:none}
.play-toggle[aria-pressed="true"] .pause-symbol{display:block}
.transport-button:hover:not(:disabled),.play-toggle:hover:not(:disabled){background:#191919}
.transport-button:disabled,.play-toggle:disabled{opacity:.32;cursor:default}
.playlist-trigger{width:44px;height:44px;flex-shrink:0;border:0;border-radius:0;background:transparent}
.playlist-trigger:hover{background:transparent;color:#fff}
.playlist-toggle{position:static}
.menu-symbol{position:relative;display:block;width:22px;height:22px}
.menu-symbol>span{position:absolute;left:1px;width:20px;height:1.5px;background:currentColor;border-radius:2px;transform-origin:center;transition:transform .26s cubic-bezier(.2,.7,.2,1),opacity .18s ease}
.menu-symbol>span:nth-child(1){top:3px}.menu-symbol>span:nth-child(2){top:10px}.menu-symbol>span:nth-child(3){top:17px}
.playlist-trigger[aria-expanded="true"] .menu-symbol>span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.playlist-trigger[aria-expanded="true"] .menu-symbol>span:nth-child(2){transform:scaleX(.3);opacity:0}
.playlist-trigger[aria-expanded="true"] .menu-symbol>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.player-status{min-height:22px;margin-top:20px;color:#696969;font-size:11px;line-height:1.7}
.player-status[hidden]{visibility:hidden;display:block}
body[data-site-page="music"] .site-footer{margin-top:0;padding-block:20px 26px;color:#535353;font-size:10px}
.playlist-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100svh;max-height:none;margin:0;padding:82px 24px;border:0;background:transparent;color:var(--text);overflow:auto;overscroll-behavior:contain}
.playlist-dialog[open]{display:grid;place-items:center}
.playlist-dialog::backdrop{background:#000a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:playlist-backdrop-in .26s ease both}
.playlist-dialog.is-closing::backdrop{animation:playlist-backdrop-out .26s ease both}
.playlist-card{width:min(100%,700px);max-height:calc(100svh - 164px);overflow:auto;padding:30px 32px 22px;border:1px solid #303030;border-radius:22px;background:#101010;box-shadow:0 22px 90px #0007;scrollbar-width:thin;scrollbar-color:#454545 transparent}
.playlist-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:23px;border-bottom:1px solid #292929}
.playlist-heading h2{font-size:24px;font-weight:500;letter-spacing:-.025em}.playlist-count{font-size:11px;color:#666;font-variant-numeric:tabular-nums}
.playlist-tracks{margin:0;padding:0;list-style:none}
.playlist-tracks li+li{border-top:1px solid #242424}
.playlist-track{display:grid;grid-template-columns:24px 56px minmax(0,1fr) 20px;align-items:center;gap:20px;width:100%;padding:20px 0;border:0;background:transparent;text-align:left;color:#929292;cursor:pointer}
.playlist-track[aria-current="true"]{color:#f3f3f3}.playlist-track:hover{color:#f3f3f3}.playlist-track:focus-visible{outline-offset:-2px}
.track-number{color:#666;font-size:11px;font-variant-numeric:tabular-nums}
.playlist-track img{display:block;width:56px;height:56px;object-fit:cover;border:1px solid #282828;border-radius:5px;background:#151515}
.track-copy{display:grid;min-width:0;gap:7px}.track-title{font-size:16px;line-height:1.3;overflow-wrap:anywhere}.track-album{color:#737373;font-size:12px;line-height:1.4}
.track-selected{opacity:0}.track-selected svg{display:block;width:20px;height:20px}.playlist-track[aria-current="true"] .track-selected{opacity:1}
.playlist-dismiss{position:fixed;left:var(--toggle-left);top:var(--toggle-top);width:var(--toggle-size,44px);height:var(--toggle-size,44px);z-index:2}
@keyframes playlist-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes playlist-backdrop-out{from{opacity:1}to{opacity:0}}
@media(min-width:768px){
 body[data-site-page="music"] .page-main.playlist-open-desktop{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(38px,7vw,94px);align-items:start}
 .playlist-open-desktop .music-player{grid-template-columns:minmax(0,1fr);gap:0}
 .playlist-open-desktop .music-details{display:contents}
 .playlist-open-desktop .music-artwork{grid-row:1;width:min(100%,300px,max(180px,calc(100svh - 420px)))}
 .playlist-open-desktop .music-timeline{grid-row:2;justify-self:center;width:100%;max-width:360px;margin-top:24px}
 .playlist-open-desktop .track-heading{grid-row:3;justify-self:center;width:100%;max-width:360px;margin-top:15px}
 .playlist-open-desktop .current-title{font-size:27px}.playlist-open-desktop .current-album{margin-top:8px;font-size:13px}
 .playlist-open-desktop .music-controls{grid-row:4;justify-self:center;width:100%;max-width:360px;grid-template-columns:minmax(0,1fr);margin-top:20px}
 .playlist-open-desktop .transport-controls{grid-column:1;justify-self:center}
 .playlist-open-desktop .player-status{grid-row:5;text-align:center;margin-top:14px}

 .playlist-dialog.is-desktop{position:relative;inset:auto;width:100%;height:auto;max-height:none;margin:0;padding:0;overflow:visible}
 .playlist-dialog.is-desktop[open]{display:block}
 .playlist-dialog.is-desktop .playlist-card{width:100%;max-height:calc(100svh - 210px);padding:27px 26px 12px;border-radius:18px}
 .playlist-dialog.is-desktop .playlist-dismiss{display:none}
 .playlist-dialog.is-desktop .playlist-track{grid-template-columns:22px 52px minmax(0,1fr) 18px;gap:14px}
 .playlist-dialog.is-desktop .playlist-track img{width:52px;height:52px}
 .playlist-dialog.is-desktop.is-closing{position:fixed;z-index:5;left:var(--closing-left);top:var(--closing-top);width:var(--closing-width);pointer-events:none}
}
@media(max-width:767px){
 .music-header-actions{gap:14px}
 body[data-site-page="music"] .page-main{min-height:calc(100svh - 145px);padding-block:62px 32px}
 .music-player{grid-template-columns:minmax(0,1fr);gap:32px;max-width:460px;margin-inline:auto}
 .music-artwork{width:min(100%,340px,46svh);border-radius:10px}
 .current-title{font-size:29px;line-height:1.2}.current-album{margin-top:11px;font-size:14px}
 .music-timeline{margin-top:28px;gap:11px}
 .music-controls{margin-top:17px;grid-template-columns:1fr}.transport-controls{grid-column:1;justify-self:center;gap:28px}
 .play-toggle{width:64px;height:64px}

 .player-status{margin-top:21px;text-align:center;font-size:10px}
 .playlist-dialog{padding:90px 20px 42px}.playlist-card{max-height:calc(100svh - 132px);padding:24px 22px 12px;border-radius:20px}
 .playlist-heading{padding-bottom:20px}.playlist-heading h2{font-size:22px}
 .playlist-track{grid-template-columns:18px 48px minmax(0,1fr) 18px;gap:12px;padding-block:18px}
 .playlist-track img{width:48px;height:48px}.track-title{font-size:14px}.track-album{font-size:11px}.track-selected svg{width:18px;height:18px}
 body[data-site-page="music"] .site-footer{font-size:9px;padding-block:16px 22px}
}
@media(max-width:350px){.transport-controls{gap:22px}.playlist-card{padding-inline:16px}.playlist-track{gap:9px}.current-title{font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
