:root{--bg:#100b20;--card:#1d1436;--text:#fff;--muted:#c9c0e6;--accent:#21d4fd;--pink:#ff4ecd;--ok:#5cffb0}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:radial-gradient(circle at top,#2b1858,#100b20 55%,#05030a);color:var(--text);min-height:100vh}.wrap{max-width:980px;margin:0 auto;padding:24px}.hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0}.hero-logo{padding:24px;border-radius:28px;background:linear-gradient(135deg,rgba(33,212,253,.12),rgba(255,78,205,.22));border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 70px rgba(0,0,0,.25)}.hero-left{display:flex;align-items:center;gap:20px}.brand-logo{width:96px;height:96px;object-fit:contain;border-radius:20px;background:white;padding:8px;box-shadow:0 0 28px rgba(255,255,255,.35)}.hero h1{font-size:clamp(34px,7vw,72px);margin:0}.hero p{color:var(--muted);font-size:20px}.ticker{overflow:hidden;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);margin:10px 0 18px}.ticker-track{white-space:nowrap;display:inline-block;padding:12px 0;font-weight:900;animation:ticker 22s linear infinite}@keyframes ticker{from{transform:translateX(100%)}to{transform:translateX(-100%)}}.card{background:rgba(29,20,54,.9);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:22px;margin:18px 0;box-shadow:0 20px 60px rgba(0,0,0,.3)}label{display:block;margin:12px 0 8px;color:var(--muted)}input,select{font-size:18px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#0d0820;color:#fff;outline:none}input{width:100%;font-size:22px;padding:16px 18px}input:focus{border-color:var(--accent)}.btn,button{border:0;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--pink));color:#08030f;font-weight:800;padding:12px 18px;cursor:pointer;text-decoration:none;display:inline-block}.secondary,.adminlink{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}.adminlink{padding:10px 14px;border-radius:999px;text-decoration:none}.song,.qitem{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid rgba(255,255,255,.1);padding:14px 0}.song span,.qitem span,small{display:block;color:var(--muted);margin-top:4px}.qitem.singing{background:rgba(33,212,253,.12);padding:16px;border-radius:18px;border:1px solid rgba(33,212,253,.35)}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions button{padding:8px 10px;font-size:13px}.wide-actions button{font-size:15px;padding:12px 18px}.setting-row{display:flex;align-items:center;gap:10px;margin:16px 0}.checkline{display:flex;align-items:center;gap:10px}.checkline input{width:auto}.ok{color:var(--ok)}.error{color:#ff8b8b}.hint{color:var(--muted)}.login{max-width:440px;margin:10vh auto}.notice{margin:0 0 16px 0;padding:14px 16px;border-radius:16px;font-weight:800}.notice.closed{background:rgba(255,80,120,.14);border:1px solid rgba(255,80,120,.4);color:#ffd0dc}.notice.final{background:rgba(255,206,80,.16);border:1px solid rgba(255,206,80,.45);color:#ffe7a3;text-align:center;font-size:18px}.final-2{background:rgba(255,145,60,.18);border-color:rgba(255,145,60,.5);color:#ffd4ad}.final-1{background:rgba(255,80,120,.18);border-color:rgba(255,80,120,.5);color:#ffd0dc;font-size:20px}.tv .wrap{max-width:1200px}.tvnow{margin-top:40px;text-align:center;background:rgba(255,255,255,.08);border-radius:34px;padding:60px}.tvnow h2{font-size:clamp(54px,10vw,130px);margin:10px}.tvnow p{font-size:clamp(28px,5vw,60px);color:var(--muted)}.tvnext{font-size:34px;padding:16px;border-bottom:1px solid rgba(255,255,255,.14)}.tvending{margin:24px 0;text-align:center;padding:28px;border-radius:28px;font-size:clamp(32px,5vw,72px);font-weight:900;line-height:1.25;background:rgba(255,206,80,.16);border:1px solid rgba(255,206,80,.45);box-shadow:0 20px 70px rgba(0,0,0,.35)}.tvending-2{background:rgba(255,145,60,.18);border-color:rgba(255,145,60,.5)}.tvending-1{background:rgba(255,80,120,.18);border-color:rgba(255,80,120,.5)}@media(max-width:700px){.song,.qitem,.hero,.hero-left{align-items:stretch;flex-direction:column}.actions button{flex:1}.wrap{padding:14px}.brand-logo{width:76px;height:76px}}
