@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--paper:#f3ecdf;--pink:#ff75b1;--yellow:#ffce24;--muted:#c7b8c5;--bg:#18111d}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 5%,#46213d 0,transparent 45%),var(--bg);color:var(--paper);font:16px/1.55 'DM Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}[hidden]{display:none!important}.page{width:min(940px,calc(100% - 40px));margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;border-bottom:1px solid #ff75b144}.brand{display:flex;align-items:center;gap:7px;font-size:18px;font-weight:800;text-decoration:none;letter-spacing:-.6px}.brand span{color:var(--pink);margin-left:-7px}.brand img{object-fit:contain}.room-link{font-size:14px;font-weight:700}.hero{padding:54px 0 32px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800}.hero>.eyebrow{color:var(--pink)}.hero-title{display:flex;align-items:center;justify-content:space-between;gap:30px}h1,h2{font-family:'Archivo Black',Impact,sans-serif;line-height:1.1;font-weight:400;letter-spacing:-1px}h1{font-size:clamp(48px,8vw,85px);margin:16px 0 25px}h1 span,.join h2 span{color:var(--pink)}.bgfm{width:clamp(100px,22vw,200px);height:auto;transform:rotate(5deg);border-radius:18px;box-shadow:8px 8px 0 #ff75b133}.hero h2{font:800 clamp(20px,3vw,26px)/1.3 'DM Sans',Arial,sans-serif;letter-spacing:0;margin:0 0 12px}.intro{max-width:610px;font-size:18px;color:var(--muted);margin:0 0 25px}.share-actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:8px;border:1px solid transparent;font-weight:800;text-decoration:none;line-height:1.3}.pink{background:var(--pink);color:#241222}.yellow{background:var(--yellow);color:#211a08}.outline{background:transparent;border-color:#8e637e;color:var(--paper)}.button:hover:not(:disabled){filter:brightness(1.12)}.status{font-size:14px;margin:12px 0 0;min-height:22px}.status.error{color:#ffaaaa}#share-link{width:100%;padding:10px;margin-top:10px;border:1px solid var(--pink);background:#211727;color:var(--paper)}.poll-panel{background:#241b29;border:1px solid #a16788;border-top:5px solid var(--yellow);box-shadow:7px 7px 0 #ff438b3b;padding:30px;margin:8px 0 40px}.poll-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pill{border:1px solid var(--pink);padding:4px 12px;border-radius:30px;font-size:12px;font-weight:800;color:var(--pink)}.poll-panel h2{font-size:34px;margin:20px 0 12px}.muted{color:var(--muted)}.small{font-size:13px}#deadline{margin-bottom:3px}#local-deadline{margin-top:0}fieldset{border:0;margin:24px 0 0;padding:0;min-width:0}#choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{position:relative;display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #73546c;border-radius:9px;background:#1d1522;cursor:pointer;min-width:0}.choice:hover{border-color:var(--pink)}.choice:has(input:checked){border-color:var(--yellow);background:#39301f;box-shadow:inset 0 0 0 1px var(--yellow)}.choice input{width:20px;height:20px;flex:none;accent-color:var(--yellow);margin:0}.choice-text{min-width:0}.choice strong{display:block;line-height:1.35;font-size:16px}.choice small{display:block;color:var(--muted);margin-top:4px;font-size:12px;overflow-wrap:anywhere}.vote-action{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px}.rules{font-size:12px;color:var(--muted);margin:16px 0 22px;max-width:650px}details{border-top:1px solid #73546c;padding-top:18px}summary{font-weight:800;cursor:pointer;min-height:38px}summary span{color:var(--pink)}.result-row{margin:18px 0}.result-label{display:flex;justify-content:space-between;gap:16px;font-size:14px}.result-label strong{flex:none;color:var(--pink)}.bar{height:7px;border-radius:5px;background:#493346;margin-top:7px;overflow:hidden}.bar span{display:block;height:100%;background:var(--pink);border-radius:5px}.winner{padding:26px 30px;background:var(--yellow);color:#281b10;margin:0 0 40px;border-radius:10px}.winner h2{font-size:30px;margin:12px 0}.winner #winner-songs{font-size:21px;font-weight:800}.winner p{margin:8px 0}.join{border:1px solid #6b4660;padding:30px;margin:0 0 35px;background:#2b1b2b}.join h2{font-size:clamp(29px,5vw,43px);margin:15px 0}.join>p:not(.eyebrow){max-width:600px;color:var(--muted)}#archive{margin-bottom:35px}.archive-row{padding:15px 0;border-bottom:1px solid #73546c}.archive-row strong{display:block;color:var(--yellow)}footer{font-size:12px;color:var(--muted);padding:20px 0 40px;line-height:1.8}footer span{display:inline-block;margin-top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:600px){.page{width:calc(100% - 28px)}header{padding:18px 0}.brand{font-size:15px}.brand img{width:32px;height:32px}.room-link{font-size:12px}.hero{padding-top:32px}.hero-title{gap:12px}.hero-title h1{font-size:clamp(42px,10vw,60px)}.bgfm{width:100px;border-radius:10px;box-shadow:5px 5px 0 #ff75b133}.intro{font-size:16px}.poll-panel{padding:22px 16px;box-shadow:4px 4px 0 #ff438b3b}#choices{grid-template-columns:1fr}.choice{padding:14px}.vote-action{align-items:stretch;gap:12px}.vote-action .button{width:100%}.poll-panel h2{font-size:29px}.winner,.join{padding:24px 20px}.share-actions .button{font-size:14px;padding:12px 14px}.eyebrow{font-size:11px;letter-spacing:1.5px}}
