:root{color-scheme:light dark;--bg:#fafafa;--fg:#111;--card:#fff;--mut:#666;--acc:#e5484d}
@media(prefers-color-scheme:dark){:root{--bg:#111;--fg:#eee;--card:#1c1c1e;--mut:#999}}
*{box-sizing:border-box}body{margin:0;font:16px system-ui,sans-serif;background:var(--bg);color:var(--fg);padding-bottom:260px}
header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;position:sticky;top:0;background:var(--bg);z-index:2}
h1{font-size:20px;margin:0}main{padding:0 16px;max-width:900px;margin:auto}h2{font-size:15px;color:var(--mut)}
button,select,input{font:inherit;border-radius:10px;border:1px solid #8884;padding:8px 12px;background:var(--card);color:var(--fg)}
button.on,form button,.add{background:var(--acc);color:#fff;border:0}
form{display:flex;gap:8px}input{flex:1}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.card{background:var(--card);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.card img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;background:#8882}
.list .card{flex-direction:row;align-items:center}.list .card img{width:120px;aspect-ratio:16/9;flex:none}
.card .m{flex:1;min-width:0}.s{color:var(--mut);font-size:12px}
#player{position:fixed;bottom:0;left:0;right:0;background:var(--card);box-shadow:0 -4px 20px #0005;z-index:3}
.pbar{display:flex;gap:8px;align-items:center;padding:8px}.pbar b{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#yt-frame{width:100%;height:200px}dialog{max-width:600px;width:95%;background:var(--bg);color:var(--fg);border-radius:12px}
