
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}
body{background:#f6f5f2;color:#121212;font-family:Arial,Helvetica,sans-serif}
.stage{height:100dvh;padding:5vh 6vw;display:flex;flex-direction:column;gap:2vh}
header,footer{display:flex;align-items:center;justify-content:space-between;gap:3vw}
header{border-bottom:1px solid #b8b8b5;padding-bottom:2vh;font-size:clamp(13px,1.4vw,24px)}
.title{font-weight:700;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#label{font-family:monospace;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(11px,1vw,18px)}
main{flex:1;min-height:0;display:flex;align-items:center;cursor:pointer}
#lyrics{width:100%;font-size:clamp(22px,4.6vw,90px);font-weight:750;letter-spacing:-.045em;line-height:1.19}
.line{margin:.1em 0;overflow-wrap:break-word}
footer{min-height:7vh;padding-top:2vh;border-top:1px solid #b8b8b5}
footer img{width:clamp(100px,13vw,220px);height:auto;max-height:7vh;object-fit:contain;mix-blend-mode:multiply}
#count{font:clamp(12px,1.2vw,20px) monospace;font-variant-numeric:tabular-nums}
#progress{position:fixed;bottom:0;left:0;height:5px;background:#111;transition:width .15s}
.controls{position:fixed;bottom:11vh;right:5vw;display:flex;gap:6px;padding:8px;background:#f6f5f2;box-shadow:0 4px 25px #0002;border:1px solid #bbb;border-radius:12px}
button{font:inherit;cursor:pointer;min-height:42px;min-width:44px;border:1px solid #aaa;background:#fff;color:#111;border-radius:7px;padding:8px 12px}
button:focus-visible{outline:3px solid #555;outline-offset:3px}button:disabled{opacity:.35;cursor:default}
.hidden{display:none}.blackout{background:#000}.blackout .stage,.blackout #progress{visibility:hidden}
.hint{position:fixed;top:12px;left:50%;transform:translateX(-50%);background:#111;color:white;padding:10px 15px;border-radius:8px;font:13px Arial;z-index:3;max-width:95vw}
@media(max-width:600px){.stage{padding:4vh 6vw}#lyrics{font-size:7vw}.controls{bottom:12vh;right:3vw}}
@media(prefers-reduced-motion:reduce){#progress{transition:none}}
