:root{--bg: #080a09;--panel: #0c0e0d;--ink: #e8e6df;--muted: #9b9d97;--faint: #62645f;--rule: #343733;--rule-strong: #60635c;--signal: #d8ff00;--danger: #ff786e;--sans: "Helvetica Neue", "Noto Sans CJK SC", "Noto Sans CJK JP", Arial, sans-serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}.copyable-text{cursor:copy}.copyable-text:hover{color:var(--signal)}.copy-notice{position:fixed;right:24px;bottom:24px;z-index:10;padding:10px 13px;border:1px solid var(--rule-strong);background:var(--panel);color:var(--ink);font:11px SFMono-Regular,Consolas,monospace;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.copy-notice.visible{opacity:1;transform:translateY(0)}.platform-error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:var(--bg);color:var(--ink)}.platform-error-boundary>div{display:flex;flex-direction:column;gap:12px;align-items:flex-start;max-width:560px;padding:24px;border:1px solid var(--rule);background:var(--panel)}.platform-error-eyebrow{margin:0;color:var(--signal);font:11px SFMono-Regular,Consolas,monospace;letter-spacing:.14em}.platform-error-boundary h1{margin:0;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:600}.platform-error-reason{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.platform-error-detail{display:block;width:100%;overflow-x:auto;padding:8px 10px;border:1px solid var(--rule);color:var(--faint);font:11px SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.platform-button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:0 11px;border:1px solid var(--rule-strong);border-radius:0;background:transparent;color:var(--ink);font:11px var(--sans);text-decoration:none;cursor:pointer}.platform-button:disabled{cursor:not-allowed;opacity:.45}.platform-button--primary{min-height:44px;padding:0 38px;border-color:var(--signal);background:var(--signal);color:#111;font-size:14px;font-weight:600}.platform-button--primary:hover:not(:disabled){background:#efff6a}.platform-button--outline{border-color:var(--signal);color:var(--signal)}.platform-button--danger{border-color:var(--danger);color:var(--danger)}.platform-account-button,.platform-login-button{white-space:nowrap}.language-switcher{display:flex;flex-shrink:0;gap:12px;white-space:nowrap;margin:0;font:11px var(--mono,Menlo,Consolas,monospace)}.language-switcher .language-item{display:flex;gap:12px;align-items:center}.language-switcher .language-item i{color:var(--faint,#62645f);font-style:normal}.language-switcher button{position:relative;border:0;padding:9px 0;background:none;color:var(--muted,#9b9d97);cursor:pointer}.language-switcher button[aria-pressed=true],.language-switcher button:hover{color:var(--signal,#d8ff00)}.language-switcher button[aria-pressed=true]:after{position:absolute;right:0;bottom:3px;left:0;height:1px;content:"";background:var(--signal,#d8ff00)}@media(pointer:coarse){.language-switcher button{min-height:44px}}:root{color-scheme:dark;font-family:var(--sans);background:var(--bg);color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;background:var(--bg);font-size:16px;line-height:1.6}body:before{position:fixed;z-index:-1;inset:0;content:"";background-image:linear-gradient(rgb(232 230 223/2%) 1px,transparent 1px),linear-gradient(90deg,rgb(232 230 223/2%) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(#000,transparent 72%);mask-image:linear-gradient(#000,transparent 72%);pointer-events:none}button,a,input{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--signal);outline-offset:4px;z-index:1}.skip-link{position:fixed;z-index:20;top:12px;left:12px;padding:10px 14px;background:var(--signal);color:var(--bg);font:12px var(--mono);transform:translateY(-160%)}.skip-link:focus{transform:none}.page{display:flex;flex-direction:column;width:calc(100% - 24px);max-width:1400px;min-height:calc(100vh - 24px);margin:12px auto;border:1px solid var(--rule-strong);background:#080a09f5}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:64px;padding:0 clamp(18px,3vw,40px);border-bottom:1px solid var(--rule)}.brand{font:600 12px/1.35 var(--mono);text-decoration:none;white-space:nowrap}.brand:before{margin-right:10px;color:var(--signal);content:"◇"}.topbar-label{color:var(--faint);font:11px var(--mono);letter-spacing:.14em;text-transform:uppercase}.topbar .language-switcher{justify-self:end}.player{display:grid;flex:1;grid-template-columns:minmax(300px,420px) minmax(0,1fr);min-height:0}.side{display:flex;flex-direction:column;gap:18px;padding:clamp(22px,3vw,40px);border-right:1px solid var(--rule)}.cover{margin:0;border:1px solid var(--rule);background:var(--panel);aspect-ratio:1}.cover img{display:block;width:100%;height:100%;object-fit:cover}h1{margin:0;font-size:clamp(2.15rem,3vw,3.4rem);font-weight:650;letter-spacing:-.03em;line-height:1.2}.artist{margin:-10px 0 0;color:var(--muted);font:12px var(--mono)}.controls{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:16px}.play{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border:1px solid var(--signal);background:var(--signal);color:#111;cursor:pointer}.play:hover{background:#efff6a}.scrub{display:flex;flex-direction:column;gap:6px}.scrub input[type=range]{width:100%;height:24px;margin:0;background:transparent;appearance:none;cursor:pointer}.scrub input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--signal) var(--progress,0%),var(--rule-strong) var(--progress,0%))}.scrub input[type=range]::-moz-range-track{height:2px;background:var(--rule-strong)}.scrub input[type=range]::-moz-range-progress{height:2px;background:var(--signal)}.scrub input[type=range]::-webkit-slider-thumb{width:12px;height:12px;margin-top:-5px;border:0;border-radius:0;background:var(--signal);appearance:none}.scrub input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:0;background:var(--signal)}.clock{display:flex;justify-content:space-between;color:var(--muted);font:11px var(--mono)}.notice{margin:0;color:var(--danger);font-size:13px}.downloads{display:flex;flex-wrap:wrap;gap:10px}.downloads .platform-button{min-height:40px;gap:8px}.downloads small{color:var(--muted);font:10px var(--mono)}.platform-button--outline small{color:inherit;opacity:.75}.about{margin:auto 0 0;padding-top:18px;border-top:1px solid var(--rule);color:var(--muted);font-size:13px;line-height:1.75}.lyrics{position:relative;height:calc(100vh - 134px);min-height:420px;overflow:hidden}.lyrics:before,.lyrics:after{position:absolute;z-index:1;right:0;left:0;height:22%;content:"";pointer-events:none}.lyrics:before{top:0;background:linear-gradient(rgb(8 10 9/96%),transparent)}.lyrics:after{bottom:0;background:linear-gradient(transparent,#080a09f5)}.lyrics-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.lyrics-scroll::-webkit-scrollbar{display:none}.lyrics ol{margin:0;padding:45vh clamp(24px,4vw,64px);list-style:none}.lyrics li{padding:9px 0}.lyrics li button{display:block;width:100%;padding:0;border:0;background:none;color:var(--faint);font-size:clamp(1.15rem,1.6vw,1.6rem);font-weight:500;line-height:1.5;text-align:left;cursor:pointer;transition:color .24s ease,opacity .24s ease,transform .24s ease;transform-origin:left center}.lyrics li[data-state=current] button{color:var(--ink);transform:scale(1.08)}.lyrics li[data-state=current] button:before{margin-right:14px;color:var(--signal);content:"›"}.lyrics li[data-state=near] button{color:var(--muted)}.lyrics li[data-state=far] button{color:var(--faint)}.lyrics li[data-state=rest] button{color:var(--faint);opacity:.55}.lyrics li button:hover{color:var(--signal)}.rest-mark{display:block;color:var(--faint);font:12px var(--mono);letter-spacing:.3em}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:14px clamp(18px,3vw,40px);border-top:1px solid var(--rule);color:var(--muted);font:11px/1.6 var(--mono)}.footer a{color:var(--signal);text-underline-offset:5px}@media(max-width:900px){.page{width:calc(100% - 16px);margin:8px auto}.topbar{grid-template-columns:auto 1fr auto;gap:12px;padding:0 16px}.player{grid-template-columns:1fr}.side{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"cover title" "cover artist" "controls controls" "notice notice" "downloads downloads" "about about";column-gap:16px;row-gap:12px;padding:16px;border-right:0;border-bottom:1px solid var(--rule)}.cover{grid-area:cover;align-self:start}h1{grid-area:title;align-self:end;font-size:1.6rem}.artist{grid-area:artist;margin:0}.controls{grid-area:controls}.notice{grid-area:notice}.downloads{grid-area:downloads}.about{grid-area:about;margin:0;padding-top:12px}.lyrics{height:60vh;min-height:360px}.lyrics ol{padding-top:28vh;padding-bottom:28vh}.lyrics li button{font-size:1.1rem}}@media(prefers-reduced-motion:reduce){.lyrics li button{transition:none}html{scroll-behavior:auto}}
