:root{color-scheme:dark;--bg:#0b0b11;--panel:#171721;--soft:#222231;--text:#f6f5fb;--muted:#aaa9b8;--lime:#c8ff3d;--violet:#8b5cf6;--red:#ff6577;--radius:22px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 0,#33245f 0,transparent 36rem),var(--bg);color:var(--text)}button,input{font:inherit}.topbar{height:64px;padding:0 max(20px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12;background:#0b0b11cc;backdrop-filter:blur(16px);position:sticky;top:0;z-index:5}.brand{font-weight:850;color:var(--text);text-decoration:none;letter-spacing:-.03em}.brand span{color:var(--lime)}.connection{font-size:.76rem;color:#85e6b2;border:1px solid #85e644;padding:5px 9px;border-radius:99px}.shell{width:min(880px,100%);margin:auto;padding:28px 18px 100px}.hero{padding:42px 4px 24px}.eyebrow{color:var(--lime);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.hero h1{font-size:clamp(2.55rem,11vw,5rem);line-height:.94;letter-spacing:-.065em;margin:12px 0 20px;max-width:720px}.lede{color:var(--muted);font-size:1.08rem;line-height:1.55;max-width:590px}.panel{background:linear-gradient(145deg,#1b1b27,#13131c);border:1px solid #ffffff14;border-radius:var(--radius);padding:18px;box-shadow:0 24px 80px #0005}.choices{display:grid;gap:12px}.choice{min-height:120px;text-align:left;color:var(--text);background:var(--soft);border:1px solid #ffffff0f;border-radius:18px;padding:20px;cursor:pointer}.choice.primary{background:var(--lime);color:#10110c}.choice-icon{display:block;font-size:1.6rem;margin-bottom:18px}.choice strong,.choice small{display:block}.choice strong{font-size:1.15rem}.choice small{opacity:.66;margin-top:4px}.back{background:none;border:0;color:var(--muted);padding:5px 0 20px;cursor:pointer}.form{display:grid;gap:14px}.form h1{margin:0 0 4px;letter-spacing:-.04em}.form label{font-size:.84rem;color:var(--muted);display:grid;gap:7px}.form input{width:100%;border:1px solid #ffffff1f;background:#0f0f17;color:var(--text);border-radius:13px;padding:15px 14px;outline:none}.form input:focus{border-color:var(--lime);box-shadow:0 0 0 3px #c8ff3d1c}.btn{border:0;border-radius:13px;background:var(--lime);color:#10110c;font-weight:800;padding:15px;cursor:pointer}.btn.secondary{background:var(--soft);color:var(--text)}.btn.danger{background:#3c1820;color:#ffb0ba}.btn:disabled{opacity:.5;cursor:not-allowed}.room-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.room-head h1{font-size:1.8rem;letter-spacing:-.045em;margin:4px 0}.room-code{font:800 1.1rem ui-monospace,monospace;color:var(--lime);letter-spacing:.15em}.role{color:var(--muted);font-size:.82rem}.tabs{display:flex;gap:8px;margin-bottom:18px}.tabs button{flex:1;border:0;border-radius:12px;padding:12px;background:var(--soft);color:var(--muted)}.tabs button.active{background:var(--text);color:#111}.song-list{display:grid;gap:11px}.empty{text-align:center;color:var(--muted);padding:50px 20px}.song{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:16px;background:var(--panel);border:1px solid #ffffff12;border-radius:18px}.vote-stack{display:grid;align-content:start;justify-items:center}.vote{border:0;background:none;color:var(--muted);font-size:1.15rem;padding:4px 9px;cursor:pointer}.vote.on{color:var(--lime)}.score{font-weight:850}.song h3{margin:0;font-size:1.03rem;line-height:1.3}.song p{margin:5px 0;color:var(--muted);font-size:.88rem}.song-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.badge{font-size:.7rem;border-radius:99px;background:var(--soft);color:var(--muted);padding:5px 8px}.badge.approved{background:#1e3e2d;color:#8cf0b5}.badge.played{background:#253750;color:#a9ceff}.badge.blocked{background:#49222a;color:#ffadb7}.host-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;padding-top:10px;border-top:1px solid #ffffff0c}.host-actions button{font-size:.76rem;background:var(--soft);color:var(--text);border:0;padding:8px 10px;border-radius:9px}.fab{position:fixed;right:max(20px,calc((100vw - 880px)/2 + 20px));bottom:max(22px,env(safe-area-inset-bottom));width:58px;height:58px;border-radius:50%;border:0;background:var(--lime);color:#111;font-size:1.7rem;box-shadow:0 10px 30px #0008;cursor:pointer}.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:end center;z-index:10}.modal-card{width:min(600px,100%);background:var(--panel);border-radius:24px 24px 0 0;padding:24px 20px max(25px,env(safe-area-inset-bottom))}.share{display:grid;justify-items:center;text-align:center;gap:12px}.share img{width:min(260px,70vw);border-radius:14px}.share code{font-size:2rem;color:var(--lime);letter-spacing:.2em}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,130%);background:#fff;color:#111;border-radius:12px;padding:12px 16px;transition:.25s;z-index:20;max-width:calc(100% - 32px)}.toast.show{transform:translate(-50%,0)}.ended{border:1px solid #ff657744;background:#3a151c;color:#ffc1c8;border-radius:14px;padding:14px;margin-bottom:16px}@media(min-width:700px){.choices{grid-template-columns:1fr 1fr}.shell{padding-top:46px}.modal{place-items:center}.modal-card{border-radius:24px}.song{grid-template-columns:auto 1fr auto}.host-actions{grid-column:auto;border:0;padding:0;align-content:start;max-width:230px}}
/* CrowdTune wordmark shared by the app and admin headers. */
.topbar .brand{display:inline-flex;align-items:center;gap:8px;min-width:0}
.topbar .brand img{display:block;width:180px;height:60px;object-fit:contain;mix-blend-mode:screen}
@media(max-width:420px){.topbar .brand img{width:156px;height:52px}}
