:root{--bg:#1c1230;--surface:#271a42;--line:#3b2b5e;--text:#f3eefc;--muted:#b3a6cf;--accent:#ff5d8f;--accent-ink:#2a0c19;--r:14px}
@media(prefers-color-scheme:light){:root{--bg:#f6f2fd;--surface:#fff;--line:#ddd2f1;--text:#241a3a;--muted:#6a5c88;--accent:#d6306a;--accent-ink:#fff}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.bar{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:.9rem clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.15rem;text-decoration:none;letter-spacing:-.01em}
.disc{width:1.6rem;height:1.6rem;border-radius:50%;background:radial-gradient(circle,var(--bg) 0 14%,var(--accent) 15% 40%,#0006 41% 44%,var(--accent) 45%)}
.find{display:flex;flex:1 1 280px;max-width:520px}
.find input{flex:1;min-width:0;padding:.65rem 1rem;border:1px solid var(--line);border-right:0;border-radius:999px 0 0 999px;background:var(--surface);color:inherit;font:inherit}
.find button{padding:.65rem 1.2rem;border:0;border-radius:0 999px 999px 0;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:700;cursor:pointer}
main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:0 clamp(1rem,4vw,1.5rem) 9rem}
.hero{padding:clamp(3rem,10vw,6rem) 0 2rem}
.hero h1{font-size:clamp(2rem,6vw,3.6rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 1rem;max-width:16ch}
.hero p{color:var(--muted);margin:0;max-width:46ch}
h2{font-size:1.05rem;margin:2.2rem 0 .8rem}
.chips ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chips a{display:block;padding:.4rem .95rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:var(--surface)}
.chips a:hover{border-color:var(--accent)}
.results h1{font-size:clamp(1.6rem,4.5vw,2.4rem);letter-spacing:-.02em;margin:2rem 0 .2rem}
.results h1 small{font-size:.45em;color:var(--muted);font-weight:500;margin-left:.4rem}
.count,.empty{color:var(--muted);margin:0 0 1.2rem}
.tracks{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.track{display:flex;align-items:center;gap:1rem;width:100%;padding:.5rem .9rem .5rem .5rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer}
.track:hover{border-color:var(--accent)}
.track img{border-radius:8px;object-fit:cover;flex:none;background:var(--line)}
.meta{flex:1;min-width:0;display:flex;flex-direction:column}
.meta strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meta em{font-style:normal;color:var(--muted);font-size:.88rem}
.play{width:2.4rem;height:2.4rem;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink)}
.track.on{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}
.about p{color:var(--muted);max-width:60ch}
.foot{border-top:1px solid var(--line);padding:1.5rem;text-align:center;color:var(--muted);font-size:.9rem}
.foot nav{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}
.dock{position:fixed;inset:auto 0 0 0;display:flex;gap:1rem;align-items:center;padding:.7rem clamp(1rem,4vw,2.5rem);background:var(--surface);border-top:2px solid var(--accent)}
.dock[hidden]{display:none}
.screen{width:200px;height:200px;flex:none;border-radius:10px;overflow:hidden;background:#000;position:absolute;right:clamp(1rem,4vw,2.5rem);bottom:100%;margin-bottom:.6rem;box-shadow:0 4px 24px #0006}
.screen iframe{width:100%;height:100%}
.ctl{flex:1;min-width:0}
.now{margin:0 0 .3rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#seek{width:100%;accent-color:var(--accent)}
.btns{display:flex;gap:.5rem;justify-content:center}
.btns button{width:2.6rem;height:2.6rem;border:1px solid var(--line);border-radius:50%;background:none;color:inherit;font-size:1rem;cursor:pointer}
#toggle{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
@media(max-width:560px){.screen{left:1rem;right:1rem;width:auto;height:auto;aspect-ratio:16/9;min-height:200px}.track img{width:84px;height:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
