:root{--bg:#0b1220;--panel:#131c2e;--panel2:#1b2740;--line:#2a3a5c;--text:#e8eefc;--muted:#9fb0d0;--accent:#3b82f6;--accent2:#22c55e;--warn:#f59e0b;--danger:#ef4444}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}button,.btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:8px 14px;font-size:14px}button.secondary,.btn.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}button.danger{background:var(--danger)}button.ok{background:var(--accent2)}input,select,textarea{color:var(--text);border:1px solid var(--line);background:#0f1829;border-radius:8px;width:100%;padding:8px 10px;font-size:14px}label{color:var(--muted);margin:8px 0 4px;font-size:12px;display:block}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:16px}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.row>*{flex:180px}.pill{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.pill.on{background:#14532d;border-color:#166534}.pill.off{background:#3f1d1d;border-color:#7f1d1d}.muted{color:var(--muted)}.admin{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.admin nav{background:var(--panel);border-right:1px solid var(--line);padding:16px}.admin nav a{color:var(--text);border-radius:8px;margin-bottom:4px;padding:10px 12px;display:block}.admin nav a:hover{background:var(--panel2)}.admin main{max-width:1200px;padding:24px}.admin h1{margin:0 0 16px;font-size:22px}.brand{align-items:center;gap:10px;margin-bottom:20px;font-weight:700;display:flex}.brand img{height:34px}.tv{background:radial-gradient(1200px 600px at 20% 0%, #16233f 0%, var(--bg) 60%);min-height:100vh;padding:48px 64px}.tv h1{margin:0;font-size:48px}.tv .sub{color:var(--muted);margin-top:8px;font-size:22px}.tiles{grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px;display:grid}.tile{background:var(--panel);min-height:190px;color:var(--text);border:3px solid #0000;border-radius:20px;outline:none;flex-direction:column;justify-content:space-between;padding:28px;font-size:26px;display:flex}.tile:focus,.tile.focus{border-color:var(--accent);transform:scale(1.02);box-shadow:0 0 0 6px #3b82f659}.tile .ic{font-size:48px}.tile .hint{color:var(--muted);font-size:16px}.paircode{letter-spacing:.2em;margin:24px 0;font-size:140px;font-weight:800}.chanlist{flex-direction:column;gap:10px;width:360px;display:flex}.chan{background:var(--panel);border:3px solid #0000;border-radius:12px;align-items:center;gap:14px;padding:16px 18px;font-size:22px;display:flex}.chan:focus,.chan.focus{border-color:var(--accent)}.chan .n{width:40px;font-weight:800}.player{aspect-ratio:16/9;background:#000;border-radius:16px;flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.player video,.player img{object-fit:contain;background:#000;width:100%;height:100%}.osd{background:#000000b3;border-radius:12px;padding:12px 20px;font-size:24px;position:fixed;bottom:48px;left:64px}.phone{max-width:520px;margin:0 auto;padding:20px}.phone .big{text-align:left;border-radius:14px;width:100%;margin:10px 0;padding:18px;font-size:18px;display:block}
