:root{color-scheme:light;--canvas:#fafafa;--surface:#fff;--text:#0f172a;--secondary:#475569;--border:#e2e8f0;--brand:#00ffff;--brand-hover:#00e5e5;--brand-soft:#e6ffff;--link:#006a73;--navy:#0b1020;--song-soft:#f3e8ff;--song-text:#7e22ce}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--canvas);color:var(--text);font-family:Arial,"Noto Sans TC","Noto Sans JP","Microsoft JhengHei",sans-serif;font-size:17px;line-height:1.9}a{color:var(--link);text-underline-offset:4px}a:hover{color:#003e45}button,a,summary,audio{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--link);outline-offset:4px}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.6}.page-shell{width:min(100% - 48px,800px);margin:auto}.skip-link{position:absolute;left:12px;top:-100px;z-index:5;background:var(--brand);color:var(--navy);padding:10px 16px;border-radius:8px}.skip-link:focus{top:10px}.brand-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:27px 0;border-bottom:1px solid var(--border)}.brand{font-size:18px;font-weight:750;color:var(--navy);text-decoration:none;letter-spacing:-.025em}.brand span{font-size:12px;font-weight:400;color:var(--secondary);margin-left:15px;letter-spacing:.08em}.back-link{font-size:13px;text-decoration:none;white-space:nowrap;padding:9px 0}.article-header{padding:52px 0 32px}.category{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--song-text);background:var(--song-soft);border-radius:50px;padding:4px 13px}.song-name{color:var(--secondary);font-size:16px;margin:23px 0 12px}h1{font-size:clamp(32px,5.5vw,47px);line-height:1.5;letter-spacing:-.035em;margin:0;font-weight:750}.deck{font-size:18px;line-height:1.95;color:var(--secondary);max-width:690px;margin:24px 0}.metadata{display:flex;flex-wrap:wrap;gap:8px 19px;color:var(--secondary);font-size:12px;margin:27px 0 0}.metadata>span{border-left:1px solid #cbd5e1;padding-left:19px}.contents{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:19px 0 23px;margin-bottom:36px}.contents>p{font-size:12px;letter-spacing:.08em;color:var(--secondary);margin:0 0 10px}.contents>div{display:flex;flex-wrap:wrap;gap:4px 24px}.contents a{display:flex;gap:9px;align-items:center;font-size:14px;text-decoration:none;min-height:44px;color:var(--text)}.contents a:hover{text-decoration:underline;text-decoration-color:var(--link)}.contents a span{font-size:11px;color:var(--secondary);font-variant-numeric:tabular-nums}article>p{margin:24px 0}article>p:first-child{font-size:18px}.chapter{padding-top:41px;margin-top:24px;border-top:1px solid var(--border)}.chapter-number{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary);margin:0 0 12px}h2{font-size:clamp(24px,3.8vw,29px);line-height:1.65;letter-spacing:-.025em;margin:0 0 27px}p{margin:23px 0}strong{font-weight:750}.sound-card{margin:31px 0;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:23px 25px 21px;box-shadow:0 3px 12px #0f172a04}.sound-card.playing{border-color:#00bfc5;box-shadow:0 0 0 1px #00bfc5}.card-kicker{font-size:11px;letter-spacing:.07em;color:var(--secondary)}.sound-card h3{font-size:18px;line-height:1.6;letter-spacing:-.01em;margin:6px 0}.time-range{display:block;font-size:12px;color:var(--secondary);font-variant-numeric:tabular-nums}.listen-hint{font-size:14px;line-height:1.8;color:var(--secondary);margin:15px 0 19px}.versions{display:flex;flex-wrap:wrap;gap:8px}.versions button{font-size:13px;font-weight:600;line-height:1.4;min-height:44px;padding:10px 16px;border:1px solid #cbd5e1;border-radius:25px;background:white;color:var(--text)}.versions button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--navy)}.versions button[aria-pressed=true]::before{content:'✓ ';font-weight:700}.versions button:hover{border-color:var(--link)}.source-kind{font-size:12px;line-height:1.7;color:var(--secondary);margin:13px 0}.sound-card audio,.extra-listen audio{display:block;width:100%;height:44px;margin-top:11px}.player-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:13px}.player-actions button{border:1px solid var(--border);border-radius:9px;background:var(--canvas);color:var(--text);font-size:12px;min-height:44px;padding:8px 13px}.player-actions button[aria-pressed=true]{background:var(--brand-soft);border-color:var(--link);color:var(--link)}.player-actions button:hover{background:var(--brand-soft)}.play-state{font-size:12px;line-height:1.6;color:var(--secondary);margin-left:auto;text-align:right}.audio-error{color:#b91c1c;background:#fef2f2;border-radius:8px;padding:10px;font-size:13px}.lyric-box{margin-top:13px;border-top:1px solid var(--border);padding-top:5px}.lyric-box summary{font-size:12px;color:var(--secondary);min-height:44px;display:list-item;align-content:center;cursor:pointer}.lyric-content{border-left:3px solid #cbd5e1;padding-left:15px;margin:8px 0}.playing .lyric-content{border-color:var(--brand)}.lyric-content p{margin:4px 0;line-height:1.75}.lyric-ja{font-size:16px}.lyric-zh{font-size:13px;color:var(--secondary)}.chord-cues{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.chord-cues span{padding:6px 13px;border-radius:8px;background:#f1f5f9;font-size:15px;font-weight:700;min-width:65px;text-align:center;border:1px solid transparent}.chord-cues span.active{background:var(--brand-soft);border-color:var(--link)}.chord-cues span.active::before{content:'♪ ';color:var(--link)}.beat-guide:not([hidden]){display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:12px 0 0}.beat-guide>span{border-radius:50%;width:30px;height:30px;text-align:center;font-size:13px;border:1px solid #cbd5e1;line-height:28px}.beat-guide>span.active{background:var(--brand);border-color:var(--link);font-weight:bold}.beat-guide small{font-size:12px;color:var(--secondary);margin-left:3px}.listen-note{border-left:2px solid #cbd5e1;padding:2px 0 2px 20px;margin:31px 0;color:var(--secondary);font-size:15px}.listen-note>strong{font-size:12px;color:var(--text)}.listen-note p{margin:7px 0}.extra-listen{padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:25px 0;font-size:14px}.extra-listen summary{cursor:pointer;color:var(--link);padding:10px 0;min-height:44px}.extra-listen p{color:var(--secondary);font-size:14px}.relisten{padding-top:48px;margin-top:46px;border-top:1px solid var(--border)}.listening-map{border:1px solid var(--border);border-radius:16px;background:white;overflow:hidden}.listening-map a{display:flex;align-items:center;gap:20px;padding:20px 23px;text-decoration:none;color:var(--text)}.listening-map a+a{border-top:1px solid var(--border)}.listening-map a:hover{background:var(--brand-soft)}.listening-map a>span:first-child{font-size:14px;color:var(--link);font-variant-numeric:tabular-nums}.listening-map a>span:last-child{margin-left:auto;color:var(--link)}.listening-map strong{font-size:15px}.listening-map p{font-size:13px;color:var(--secondary);margin:3px 0}.sources{margin-top:45px;padding-top:30px;border-top:1px solid var(--border);font-size:14px;color:var(--secondary)}.sources h2{font-size:18px;margin:0}.sources details{margin-top:20px}.sources summary{cursor:pointer;min-height:44px;align-content:center;color:var(--text)}footer{display:flex;justify-content:space-between;gap:15px;margin-top:37px;padding:26px 0 38px;border-top:1px solid var(--border);font-size:12px;color:var(--secondary)}[hidden]{display:none!important}::selection{background:var(--brand-soft);color:#003e45}
@media(max-width:540px){.page-shell{width:calc(100% - 38px)}body{font-size:16px}.brand-bar{padding:17px 0}.brand{font-size:16px}.brand span{display:none}.article-header{padding:33px 0 26px}.deck{font-size:16px}.song-name{font-size:14px}h1{font-size:33px;line-height:1.6}.metadata{gap:6px 12px}.metadata>span{padding-left:12px}.contents>div{gap:0 20px}.contents a{font-size:13px}.chapter{padding-top:29px}.sound-card{padding:18px 16px;border-radius:16px;margin:27px 0}.sound-card h3{font-size:17px}.versions{gap:7px}.versions button{font-size:12px;padding:10px 12px}.play-state{flex-basis:100%;text-align:left;margin:2px 0 0}.listening-map a{padding:18px 15px;gap:12px}.listening-map p{line-height:1.7}.listen-note{padding-left:15px}footer{font-size:11px}.chapter h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Video-based article: text-first opening, no metadata/category strip. */
.article-header .song-name{margin-top:0}.listening-map a>span:first-child{min-width:42px;line-height:1.6}.lyric-content{min-height:76px}
@media print{audio,.player-actions,.versions,.beat-guide,.chord-cues{display:none}.sound-card{break-inside:avoid}.page-shell{width:100%}}
