:root{--cream:#fff9ea;--paper:#fffefb;--ink:#241c2f;--muted:#746b7d;--pink:#ff4f81;--pink-dark:#d92f60;--marigold:#ffc83d;--peacock:#168aad;--leaf:#43a047;--indigo:#5b4bdb;--indigo-dark:#4032a8;--border:#e7dce4;--danger:#b3261e}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #5b4bdb47}a{text-decoration:none}.page-shell{justify-content:center;min-height:100vh;padding:24px 16px 40px;display:flex}.page-content{width:100%;max-width:760px}.brand-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.room-brand-row{align-items:center}.brand{letter-spacing:-.04em;align-items:center;gap:9px;font-size:28px;font-weight:900;display:inline-flex}.brand-mark{background:var(--pink);width:34px;height:34px;box-shadow:3px 3px 0 var(--marigold), 0 8px 18px #241c2f1f;border-radius:11px 8px 12px;position:relative;transform:rotate(-5deg)}.brand-mark:after{content:"";background:var(--paper);border-radius:50%;width:10px;height:10px;position:absolute;top:8px;left:12px}.folk-strip{background:radial-gradient(circle at 10px 5px, var(--pink) 0 3px, transparent 3.4px), radial-gradient(circle at 28px 5px, var(--marigold) 0 3px, transparent 3.4px), radial-gradient(circle at 46px 5px, var(--peacock) 0 3px, transparent 3.4px), radial-gradient(circle at 64px 5px, var(--leaf) 0 3px, transparent 3.4px), #f3ead7;background-size:72px 10px;border-radius:999px;width:100%;height:10px;margin-bottom:22px}.panel{background:#fffefbf7;border:1px solid #e7dce4d9;border-radius:28px;padding:24px;box-shadow:0 18px 50px #241c2f14}.panel.compact{max-width:560px;margin:8vh auto 0}.eyebrow{color:var(--indigo);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.05em;margin-bottom:12px;font-size:clamp(29px,7vw,48px);line-height:1.02}h2{margin-bottom:8px;font-size:24px;line-height:1.1}.subtitle{color:var(--muted);font-size:15px;line-height:1.5}.room-meta{flex-wrap:wrap;gap:8px;margin:18px 0 22px;display:flex}.badge{color:var(--indigo-dark);background:#f8f1ff;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.badge.code{color:#765500;letter-spacing:.12em;background:#fff4c9}.form-stack{gap:12px;display:grid}.label{margin-bottom:6px;font-size:14px;font-weight:800;display:block}.input{border:1px solid var(--border);width:100%;height:54px;color:var(--ink);background:#fff;border-radius:16px;padding:0 16px}.input::placeholder{color:#aaa1ac}.code-input{letter-spacing:.12em;text-transform:uppercase;font-weight:800}.field-hint{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.4}.primary-button,.secondary-button,.share-button{cursor:pointer;border:0;border-radius:17px;min-height:54px;font-weight:900;transition:transform .12s,box-shadow .12s,opacity .12s}.primary-button{color:#fff;background:var(--indigo);box-shadow:0 10px 22px #5b4bdb38}.secondary-button{color:var(--indigo);border:1.5px solid var(--indigo);background:0 0}.share-button{color:var(--ink);background:#fff5d8;border:1px solid #efdca4}.compact-button{border-radius:13px;min-height:40px;padding:0 12px;font-size:12px}.primary-button:hover,.secondary-button:hover,.share-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.share-button:disabled{cursor:default;opacity:.48;transform:none}.link-button{justify-content:center;align-items:center;width:100%;display:inline-flex}.top-share-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.actions.single{grid-template-columns:1fr}.span-two-mobile{grid-column:1/-1}.error{color:var(--danger);margin-top:10px;font-size:13px;line-height:1.4}.center-note{text-align:center;color:var(--muted);font-size:14px}.share-toast{color:var(--indigo-dark);background:#f7f1ff;border-radius:999px;margin-top:14px;padding:8px 12px;font-weight:700}.join-hero,.waiting-hero{text-align:center;padding:4px 0 10px}.join-emoji,.waiting-emoji{margin-bottom:8px;font-size:44px}.options-grid{gap:14px;margin-top:22px;display:grid}.option-card{border:1px solid var(--border);background:#fff;border-radius:20px;padding:16px}.option-title{margin-bottom:12px;font-size:17px;font-weight:900;line-height:1.3}.preference-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.preference{background:var(--cream);cursor:pointer;min-height:72px;color:var(--muted);border:0;border-radius:15px;padding:8px 4px;transition:transform .1s,box-shadow .1s,background .1s,color .1s}.preference:hover{transform:translateY(-1px)}.preference.selected{color:var(--ink);box-shadow:inset 0 0 0 2px}.preference .emoji{margin-bottom:5px;font-size:21px;display:block}.preference .label-small{font-size:11px;font-weight:800;display:block}.preference.want.selected{color:var(--pink-dark);background:#ff4f8121}.preference.okay.selected{color:var(--leaf);background:#43a04721}.preference.no.selected{color:var(--muted);background:#746b7d1f}.preference.never.selected{color:var(--indigo-dark);background:#5b4bdb21}.privacy-note{color:var(--muted);background:#f8f4ed;border-radius:14px;align-items:center;gap:9px;margin-top:14px;padding:11px 13px;font-size:12px;line-height:1.4;display:flex}.privacy-icon{font-size:16px}.status-card{color:var(--muted);background:#f8f4ed;border-radius:18px;margin-top:18px;padding:16px;font-size:14px}.status-card strong{color:var(--ink)}.waiting-card{margin-top:20px}.waiting-count{color:var(--ink);font-size:15px;font-weight:900}.progress-track{background:#eadfe9;border-radius:999px;height:9px;margin:11px 0 14px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--marigold), var(--pink), var(--indigo));height:100%;transition:width .25s}.participant-list{gap:8px;margin-top:12px;display:grid}.participant-row{background:#fff;border-radius:12px;justify-content:space-between;gap:10px;padding:9px 11px;display:flex}.participant-name{font-weight:700}.participant-state{color:var(--muted);font-size:12px;font-weight:800}.result-card{background:linear-gradient(135deg,#fff7cf,#f9ecff);border:1px solid #eadbb9;border-radius:20px;margin-top:20px;padding:18px}.result-card-hero{text-align:center;padding:24px 18px 20px}.result-confetti{margin-bottom:8px;font-size:44px}.result-card-hero h2{margin-top:7px;font-size:27px}.winner-label{color:var(--indigo);letter-spacing:.12em;margin-bottom:7px;font-size:11px;font-weight:900}.result-option{background:#ffffffbd;border-radius:15px;margin-top:9px;padding:13px}.result-option.top{box-shadow:inset 0 0 0 2px var(--indigo);margin-top:18px}.result-option-title{font-weight:900}.result-option-votes{color:var(--muted);margin-top:5px;font-size:12px}.result-list{gap:10px;margin-top:14px;display:grid}.room-footer{gap:10px;margin-top:20px;display:grid}.loading{min-height:40vh;color:var(--muted);place-items:center;display:grid}@media (max-width:650px){.room-brand-row{align-items:flex-start}.top-share-actions{justify-content:flex-end}}@media (max-width:560px){.page-shell{padding:16px 12px 28px}.panel{border-radius:22px;padding:18px}.brand-row{align-items:flex-start}.top-share-actions{width:100%}.room-brand-row{grid-template-columns:1fr;display:grid}.top-share-actions .compact-button{flex:1}.preference-grid{grid-template-columns:repeat(2,1fr)}.actions{grid-template-columns:1fr 1fr}.actions .primary-button{grid-column:1/-1}}
