*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at top,#174457,#091622 75%);color:#f4f7fa;font:16px/1.5 system-ui,sans-serif}
header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;max-width:960px;margin:auto;padding:7px 18px}
a{color:#b2e8ed;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
button{font:inherit;font-weight:750;min-height:44px;padding:10px 22px;border:1px solid #fff0a7;border-radius:999px;background:#ffda73;color:#26312d;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
a:focus-visible,button:focus-visible,canvas:focus-visible{outline:3px solid #fbd46e;outline-offset:4px}
main{text-align:center;padding:0 12px 16px}
h1{font-size:clamp(24px,4vw,32px);line-height:1.2;margin:0 0 6px}
.intro{font-size:14px;color:#d0e4ea;margin:0 0 12px}.intro span{display:block;color:#f6d891}
.player{position:relative;overflow:hidden;display:block;background:#0a2330;border:1px solid #ffffff30;border-radius:18px;margin:auto;width:min(100%,calc((100dvh - 174px)*.45));min-width:240px;aspect-ratio:9/20;box-shadow:0 16px 60px #0005}
canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;background:#0a2330}
.cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:18px;background:linear-gradient(160deg,#1b5362,#102437)}
.cover[hidden]{display:none}.cover img{width:min(90%,300px);height:auto;border-radius:18px}.cover p{font-size:14px;max-width:26ch;color:#d6e7ea;margin:0}#status{min-height:42px}progress{width:min(100%,260px);accent-color:#ffda73}
footer{max-width:70ch;margin:16px auto 0;font-size:12px;color:#acc6ce}
.player:fullscreen{width:100%;height:100%;min-width:0;aspect-ratio:auto;border:0;border-radius:0;background:#08131e}
.player:fullscreen canvas{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100vw,45dvh);height:min(100dvh,222.222vw)}
@media(max-width:360px){header{padding:7px 12px}.intro{font-size:12px}button{padding:8px 14px}}
