:root{--bg:#121019;--card:#1d1a28;--fg:#f2effa;--mu:#a59fba;--ac:#9b7bff;color-scheme:dark}*{box-sizing:border-box}
body{margin:0;font:16px/1.4 system-ui,sans-serif;background:var(--bg);color:var(--fg);padding-bottom:150px}
header{position:sticky;top:0;background:var(--bg);padding:10px 14px;z-index:5;border-bottom:1px solid #2a2638}h1{margin:0 0 6px;font-size:22px;color:var(--ac)}
nav{display:flex;gap:6px;overflow-x:auto}button{background:var(--card);color:var(--fg);border:1px solid #33304a;border-radius:10px;min-height:44px;padding:8px 12px;font:inherit;cursor:pointer}
button.on,.chips button.on{background:var(--ac);color:#000}main{padding:0 14px;max-width:900px;margin:auto}.tab{display:none}.tab.on{display:block}
h2{font-size:17px;margin:18px 0 8px}.muted{color:var(--mu);font-size:14px}.chips{display:flex;flex-wrap:wrap;gap:8px}
.list{display:grid;gap:6px}.item{display:flex;align-items:center;gap:10px;background:var(--card);border-radius:10px;padding:6px 8px}
.item img,#pArt{width:44px;height:44px;border-radius:6px;object-fit:cover;background:#2a2638;flex:none}.item .m{flex:1;min-width:0}.item b,.item span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item button{min-height:40px;padding:4px 10px}.badge{font-size:11px;padding:1px 6px;border-radius:6px;background:#2a2638;color:var(--mu);margin-left:4px}
form{display:flex;gap:6px}input{flex:1;min-height:44px;background:var(--card);color:var(--fg);border:1px solid #33304a;border-radius:10px;padding:8px 12px;font:inherit}
#player{position:fixed;bottom:0;left:0;right:0;background:#1a1724;border-top:1px solid #33304a;padding:8px 12px calc(8px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;align-items:center;gap:10px;z-index:9}
.pmeta{flex:1;min-width:120px}.pmeta b,.pmeta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pbtn{display:flex;gap:4px}
#queuePanel{flex-basis:100%;max-height:200px;overflow:auto}#notice{background:#2b2148;padding:10px 14px;margin:8px 14px;border-radius:10px}
.acct{background:var(--card);border-radius:10px;padding:10px;margin-bottom:8px}#order li{margin:4px 0}#order button{min-height:36px;padding:2px 8px;margin-left:4px}
footer{padding:20px 14px;color:var(--mu);font-size:13px;max-width:900px;margin:auto}footer a{color:var(--ac)}.ver{opacity:.7}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
header{display:block}.getapp{position:absolute;right:14px;top:12px;color:#000;background:var(--ac);border-radius:10px;padding:6px 12px;text-decoration:none;font-weight:600}
