*{box-sizing:border-box} :root{color-scheme:dark;--bg:#202c36;--accent:#d7e0e6;--text:#eeeae4;--muted:#aaa9a7}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,"Microsoft JhengHei",sans-serif;transition:background 1s;min-width:280px}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 18% 35%,#ffffff09,transparent 65%);z-index:-1}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;min-width:44px;min-height:44px;border-radius:50%;display:inline-grid;place-items:center}button:hover{background:#ffffff0d}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button[aria-pressed=true]{color:var(--accent);background:#ffffff13}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.masthead{max-width:1440px;margin:auto;padding:36px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff12;font-size:12px;letter-spacing:2px}.masthead a{color:inherit;text-decoration:none;font-weight:650;font-size:21px}.masthead a span{font-size:10px;font-weight:400;margin-left:15px;letter-spacing:3px}.edition{font-size:10px;color:var(--muted)}.edition b{margin-left:30px;font-weight:400;color:var(--text)}.player{max-width:1360px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;gap:7%;padding:70px 5% 45px;align-items:start;min-width:0}.art-panel{position:sticky;top:100px;align-self:start;min-width:0;padding-top:70px}.artwork{position:relative;width:100%;aspect-ratio:1.30}.sleeve{position:absolute;width:74%;aspect-ratio:1;left:0;top:0;background:#303539;box-shadow:0 25px 40px #0005;z-index:2;border:1px solid #ffffff18}.sleeve img{width:100%;height:100%;object-fit:contain;display:block}.disc{position:absolute;width:72%;aspect-ratio:1;right:0;top:1.5%;border-radius:50%;filter:drop-shadow(3px 15px 15px #0005)}.disc-surface{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,transparent 0 6%,#a5afb6 6.2% 9%,#c8cdd2 9.3% 12%,transparent 12.4%),conic-gradient(from 20deg,#c3cdd6,#dce4e8 40deg,#acbac9 95deg,#cecbd9 150deg,#e3e6e5 215deg,#adbccb 270deg,#c3cdd6);box-shadow:inset 0 0 0 1px #ffffff80,inset 0 0 12px #0002;mask-image:radial-gradient(circle,transparent 0 5.5%,black 5.9%);animation:spin 9s linear infinite;animation-play-state:paused}.disc-surface:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 72% 26%,#e8f3ff66,transparent 42%),radial-gradient(ellipse at 20% 65%,#c7b2df44,transparent 36%);opacity:.55}.dark .disc-surface{background:radial-gradient(circle,transparent 0 6%,#7c787c 6.2% 9%,#4d454d 9.3% 12%,transparent 12.4%),conic-gradient(from 20deg,#303035,#47434b 50deg,#30262e 105deg,#543941 165deg,#33343b 220deg,#3e3b47 280deg,#303035)}.dark .disc-surface:after{background:radial-gradient(ellipse at 72% 26%,#aaaaba44,transparent 42%),radial-gradient(ellipse at 20% 65%,#933a4e44,transparent 36%)}.playing .disc-surface{animation-play-state:running}@keyframes spin{to{transform:rotate(360deg)}}.art-caption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:var(--muted);margin:20px 0}.art-caption span:first-child{color:var(--accent)}.info{min-width:0}.eyebrow{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:2px;color:var(--muted)}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--muted)}.playing .status-dot{background:var(--accent)}.now-label{margin-left:auto}h1{font-family:"Noto Serif TC","PMingLiU",serif;font-size:clamp(36px,4vw,60px);font-weight:500;letter-spacing:4px;margin:24px 0 8px;overflow-wrap:anywhere}#subtitle{font-size:13px;letter-spacing:3px;color:var(--muted);margin:0}.spectrum{height:80px;display:flex;align-items:flex-end;gap:4px;padding:8px 0;margin-top:22px}.bar{flex:1;min-width:0;height:100%;border-radius:4px;background:#dadbd0;opacity:.55;transform:scaleY(.025);transform-origin:bottom;will-change:transform}.lyric-panel{min-height:100px;display:flex;flex-direction:column;justify-content:center;padding:16px 0}#lyric{font-size:17px;letter-spacing:1px;line-height:1.75;margin:0;overflow-wrap:anywhere}#lyric-status{color:var(--muted);font-size:10px;line-height:1.7;margin-top:7px}input[type=range]{width:100%;height:44px;cursor:pointer;accent-color:var(--accent);margin:0;background:transparent}#seek{display:block}.times{display:flex;justify-content:space-between;font-size:10px;font-variant-numeric:tabular-nums;color:var(--muted);margin-top:-7px}.buttons{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px 0 4px}.primary{width:60px;height:60px;background:var(--text);color:var(--bg)}.primary:hover{background:white}.primary svg{width:24px;height:24px}.volume-row{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.volume-row input{width:90px}.volume-row #repeat-label{margin-left:auto}#error{font-size:12px;color:#efc2b8;line-height:1.5;margin:0}.section-heading{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:2px;padding:24px 0 10px}h2{font-size:10px;font-weight:400;margin:0}.track{width:100%;border-radius:3px;display:grid;grid-template-columns:24px 40px 1fr 36px;gap:12px;text-align:left;padding:10px 8px;border-top:1px solid #ffffff0e;min-height:66px}.track.active{background:#ffffff08}.track img{width:40px;height:40px;object-fit:contain;background:#ffffff08}.track .num{font-size:10px;color:var(--muted)}.track .track-name{display:block;font-size:13px;line-height:1.6}.track .track-sub{font-size:9px;color:var(--muted);letter-spacing:1px}.track .track-time{font-size:10px;color:var(--muted)}.track>span{min-width:0;overflow-wrap:anywhere}.lyrics-full{font-size:12px;margin-top:18px;color:var(--muted);border-top:1px solid #ffffff15}.lyrics-full summary{cursor:pointer;min-height:44px;padding:16px 0}.lyrics-full summary span{font-size:10px}.lyrics-full pre{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;line-height:2.3}.lyrics-full p{font-size:11px;line-height:1.8}footer{max-width:1360px;margin:auto;padding:24px 5%;border-top:1px solid #ffffff10;font-size:9px;letter-spacing:2px;color:var(--muted);display:flex;justify-content:space-between}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.track{justify-items:stretch;align-items:center}.track img{justify-self:start}.track-time{text-align:right}
.track{grid-template-columns:24px 40px minmax(0,1fr) minmax(52px,5ch)}
.track .track-time{min-width:52px;white-space:nowrap;overflow-wrap:normal;word-break:normal;text-align:right;justify-self:end;font-variant-numeric:tabular-nums;line-height:1.4}
.sleeve.wide-cover{overflow:hidden;background:#a6b2c0}
.sleeve.wide-cover:before{content:"";position:absolute;inset:-12%;background-image:var(--cover-art);background-size:cover;background-position:center;filter:blur(22px);opacity:.65;pointer-events:none}
.sleeve.wide-cover img{position:relative;z-index:1}
@media(max-width:900px){.player{gap:5%;padding-top:42px}.art-panel{top:70px;padding-top:40px}.masthead{padding:24px 5%}.edition{display:none}.buttons{gap:10px}.art-caption{font-size:8px;letter-spacing:.5px}}
@media(max-width:650px){.player{display:block;padding:30px 7%}.art-panel{position:relative;top:0;padding:0;max-width:390px;margin:auto}.artwork{width:91%;margin:auto}.art-caption{margin:8px 0 27px}.info{max-width:480px;margin:auto}h1{font-size:38px;margin-top:20px}.spectrum{height:64px;margin-top:16px}.lyric-panel{min-height:92px}.masthead a span{font-size:9px;letter-spacing:2px}.masthead{padding:22px 7%}.buttons{gap:18px}footer{padding:22px 7%;gap:15px;line-height:1.7}footer span{letter-spacing:0}.track{gap:10px}}
@media(orientation:landscape) and (max-height:550px){.masthead{padding:14px 4%}.player{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(300px,1.2fr);gap:5%;padding:20px 4%}.art-panel{position:sticky;top:20px;padding:12px 0;width:100%;margin:0}.artwork{width:100%}.art-caption{margin:10px 0;font-size:7px}.eyebrow{font-size:8px}h1{font-size:30px;margin:10px 0 4px}#subtitle{font-size:10px}.spectrum{height:28px;margin-top:8px}.lyric-panel{min-height:55px;padding:5px 0}#lyric{font-size:14px}#lyric-status{font-size:8px;margin:0}.buttons{margin:4px 0;gap:12px}.primary{width:46px;height:46px}.volume-row{height:36px}.section-heading{padding-top:16px}}
@media(prefers-reduced-motion:reduce){.disc-surface{animation:none}body{transition:none}.bar{will-change:auto}}
.lyric-panel{height:132px;min-height:132px;padding:5px 0;overflow:hidden}
.disc{overflow:hidden}
#lyrics-viewport{position:relative;height:102px;min-height:102px;overflow:hidden;overflow-anchor:none;scrollbar-width:none;contain:layout paint;mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent)}
#lyrics-stack{position:relative;padding:40px 0;opacity:0;transition:opacity 320ms ease-in-out}
#lyrics-viewport.has-context #lyrics-stack{opacity:1}
.lyric-line{margin:0;padding:4px 0;font-size:17px;line-height:1.65;font-weight:500;color:var(--muted);opacity:.35;overflow-wrap:anywhere;transition:color 320ms ease-in-out,opacity 320ms ease-in-out}
.lyric-line.active{color:var(--text);opacity:1}
#lyrics-viewport #lyric{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
#lyrics-viewport.instant #lyrics-stack,#lyrics-viewport.instant .lyric-line{transition:none}
@media(orientation:landscape) and (max-height:550px){.lyric-panel{height:65px;min-height:65px;padding:0}#lyrics-viewport{height:48px;min-height:48px}.lyric-line{font-size:14px;padding:2px 0;line-height:1.4}#lyrics-stack{padding:20px 0}}
@media(prefers-reduced-motion:reduce){#lyrics-stack,.lyric-line{transition:none}}
