:root{--bg:#0b0d10;--card:#171b21;--fg:#f2f4f7;--mut:#9aa3ad;--acc:#e82127;--r:18px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--fg);font:20px/1.3 -apple-system,Segoe UI,Roboto,sans-serif}
header{position:sticky;top:0;z-index:5;background:linear-gradient(var(--bg) 70%,transparent);padding:18px 28px 10px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.brand{font-weight:800;font-size:28px;cursor:pointer;letter-spacing:.5px}
#urlform{flex:1;display:flex;gap:10px;min-width:380px}
#urlform input{flex:1;font-size:20px;padding:14px 18px;border-radius:var(--r);border:2px solid #2a313a;background:var(--card);color:var(--fg)}
#urlform input:focus{outline:none;border-color:var(--acc)}
button{font-size:20px;padding:14px 22px;border-radius:var(--r);border:0;background:#242b34;color:var(--fg);cursor:pointer}
button:active{transform:scale(.97)}
#urlform button,#tabs .active{background:var(--acc)}
#tabs{display:flex;gap:10px}
main{padding:10px 28px 60px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.card{background:var(--card);border-radius:var(--r);overflow:hidden;cursor:pointer;position:relative;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.card .t{padding:14px 16px;font-weight:600}
.card .s{color:var(--mut);font-size:16px;padding:0 16px 14px}
.card .x{position:absolute;top:8px;right:8px;background:#0008;padding:6px 10px;border-radius:12px;font-size:16px}
.badge{display:inline-block;font-size:13px;padding:2px 8px;border-radius:8px;background:#2a313a;color:var(--mut);margin-right:8px;vertical-align:middle}
#player{margin-bottom:24px}
#stage{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:var(--r);overflow:hidden}
#stage iframe,#stage video{position:absolute;inset:0;width:100%;height:100%;border:0}
.bar{display:flex;gap:12px;align-items:center;padding:14px 4px}
.bar #now{flex:1;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
footer{position:fixed;bottom:0;left:0;right:0;text-align:center;color:var(--mut);font-size:14px;padding:8px;background:#0b0d10cc}
#empty{color:var(--mut);text-align:center;margin-top:60px}
/* Apps */
.grid.apps{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.app{border-radius:var(--r);min-height:120px;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#fff;cursor:pointer;letter-spacing:.3px;text-shadow:0 1px 3px #0006}
.app:active{transform:scale(.97)}
.appbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
#appname{font-size:26px;font-weight:800}
#appform{flex:1;display:flex;gap:10px;min-width:380px}
#appform input{flex:1;font-size:20px;padding:14px 18px;border-radius:var(--r);border:2px solid #2a313a;background:var(--card);color:var(--fg)}
#appform input:focus{outline:none;border-color:var(--acc)}
#appform button[type=submit]{background:var(--acc)}
.hint{color:var(--mut);grid-column:1/-1;padding:10px 4px}
