:root{color:#f3f6fc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--background:#0d1017;--surface:#171c27;--surface-raised:#202635;--border:#374154;--border-strong:#566278;--text:#f3f6fc;--text-muted:#b6c0d2;--link:#a9c9ff;--accent:#7656c8;--accent-hover:#8262d0;--focus:#8dc5ff;--up:#69baff;--down:#ff8787;--success:#75dda4;--error:#ff9690;--winner-background:#282442;--winner-border:#9483db;background:#0d1017;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--background);min-width:20rem;margin:0}button,input{font:inherit}a{color:var(--link)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.page{justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex}.app-header{border-bottom:1px solid var(--border);background:#121722;justify-content:space-between;align-items:center;min-height:4.25rem;padding:.75rem clamp(1.25rem,5vw,5rem);display:flex}.brand{color:var(--text);letter-spacing:-.04em;font-weight:800;text-decoration:none}.brand:hover{color:var(--link)}.account-nav{align-items:center;gap:1rem;min-width:0;display:flex}.account-email{color:var(--text-muted);overflow-wrap:anywhere;font-size:.9rem}.text-button,.text-link{color:var(--link);background:0 0;padding:0}.text-button:hover:not(:disabled),.text-link:hover{color:#d4e4ff;background:0 0}.hero-section{text-align:center;max-width:49rem;margin:0 auto;padding:clamp(5rem,13vw,10rem) 1.5rem 5rem}.hero-section h1{font-size:clamp(2.6rem,7vw,5rem);line-height:1}.hero-copy{color:var(--text-muted);max-width:38rem;margin:1.5rem auto 2rem;font-size:1.2rem;line-height:1.5}.hero-actions{justify-content:center;align-items:center;gap:1.25rem;display:flex}.button-link,button{background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:.5rem;padding:.75rem 1rem;font-weight:700;text-decoration:none}.button-link{display:inline-block}.button-link:hover,button:hover:not(:disabled){background:var(--accent-hover)}.secondary-link,.auth-switch a{color:var(--link);font-weight:700}.secondary-link:hover,.auth-switch a:hover,.section-heading a:hover,.round-list a:hover,.back-link:hover,.league-list a:hover,.song-list a:hover{color:#d4e4ff}.steps-section{background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;max-width:70rem;margin:0 auto;padding:3rem clamp(1.5rem,5vw,5rem);display:grid}.steps-section article{color:var(--text-muted);line-height:1.5}.steps-section h2{color:var(--text);margin-bottom:.5rem;font-size:1.2rem}.steps-section span{color:var(--link);font-weight:800}.auth-card,.home-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;width:100%;padding:2.5rem;box-shadow:0 1rem 3rem #0000004d}.auth-card{max-width:28rem}.home-card{max-width:38rem}.eyebrow{color:#c4b1ff;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .5rem;font-size:.875rem;font-weight:700}h1{letter-spacing:-.04em;margin:0;font-size:2rem}.welcome-heading{overflow-wrap:anywhere}.description{color:var(--text-muted);margin:.75rem 0 1.5rem}form{gap:1rem;display:grid}label{gap:.4rem;font-size:.9rem;font-weight:700;display:grid}input{border:1px solid var(--border-strong);color:var(--text);background:#10151f;border-radius:.5rem;padding:.7rem}input::placeholder{color:#94a0b5;opacity:1}input:hover{border-color:#71809a}input:focus{border-color:var(--focus);outline:none}input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:inset 0 0 0 1000px #10151f}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);box-shadow:inset 0 0 0 1000px #10151f}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);box-shadow:inset 0 0 0 1000px #10151f}button:disabled{cursor:wait;opacity:.65}.error{color:var(--error);margin:0;font-size:.9rem}.auth-switch{color:var(--text-muted);margin:1.5rem 0 0;font-size:.9rem}.create-league-form,.join-link-section,.rounds-section,.create-round-section,.leaderboard-section,.phase-controls,.submission-section,.voting-section,.results-section{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.league-list,.round-list,.song-list,.results-list{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.league-list{margin-top:1.5rem}.league-list li,.round-list li,.song-list li,.results-list li{background:var(--surface-raised);border:1px solid var(--border);border-radius:.5rem;padding:.9rem}.league-list li{justify-content:space-between;align-items:center;display:flex}.league-list a{color:var(--text);font-weight:700;text-decoration:none}.league-list span{color:var(--text-muted);text-transform:capitalize;font-size:.8rem}.empty-state,.round-limit-message{color:var(--text-muted);margin:1.5rem 0 0}.round-limit-message{text-align:right;font-size:.85rem}.section-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.section-heading h2,.create-round-section h2,.leaderboard-section h2,.join-link-section h2,.phase-controls h2,.submission-section h2,.voting-section h2,.results-section h2{margin:0;font-size:1.2rem}.section-heading a,.round-list a,.back-link{color:var(--link);font-weight:700;text-decoration:none}.round-list li{gap:.3rem;display:grid}.round-list li.round-list__item--latest{border-color:var(--link);border-width:2px}.round-list span,.round-list small,.leaderboard-list small,.round-details dt,.song-preview span,.song-list span,.results-list span,.join-link-section p,.vote-unavailable,.result-total small{color:var(--text-muted)}.vote-budget{gap:.5rem;display:inline-flex}.vote-budget__up{color:var(--up)!important}.vote-budget__down{color:var(--down)!important}.listen-link{background:var(--accent);border-radius:999px;align-items:center;width:fit-content;margin-top:.5rem;padding:.35rem .7rem;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex;color:#fff!important}.listen-link:hover{background:var(--accent-hover)}.create-round-section form{margin-top:1rem}.leaderboard-list{gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.leaderboard-list li{justify-content:space-between;align-items:center;padding:.5rem .35rem;display:flex}.leaderboard-list li>div,.results-list li>div{overflow-wrap:anywhere;min-width:0}.owner-crown{color:#ebcb72;margin-left:.35rem;display:inline-block}.leaderboard-list small{text-transform:capitalize;font-size:.8rem;display:block}.join-link-section p{margin:.5rem 0 1rem;line-height:1.5}.join-link-section label{margin-top:1rem}.secondary-button{border-color:var(--border-strong);color:var(--link);background:0 0}.secondary-button:hover:not(:disabled){background:var(--surface-raised)}.copy-join-link{margin-top:.75rem}.round-card{max-width:44rem}.back-link{margin-bottom:1.5rem;display:inline-block}.round-details{flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0 0;display:flex}.round-details div{gap:.2rem;display:grid}.round-details dt{font-size:.8rem}.round-details dd{margin:0;font-weight:700}.phase-controls h2,.submission-section h2,.voting-section h2,.results-section h2{margin-bottom:1rem}.song-preview{background:var(--surface-raised);border:1px solid var(--border);border-radius:.5rem;gap:.3rem;margin-bottom:1rem;padding:.9rem;display:grid}.success{color:var(--success)}.song-list li,.results-list li{justify-content:space-between;align-items:center;gap:1rem;display:flex}.song-list a{color:var(--text);font-weight:700;text-decoration:none}.song-list a.listen-link{color:#fff!important}.song-list span,.results-list span{margin-top:.2rem;font-size:.9rem;display:block}.results-list li.results-list__winner,.song-list li.results-list__winner{background-color:var(--winner-background)!important;border-color:var(--winner-border)!important}.results-list .winner-label{color:#ddd5ff;text-transform:uppercase;margin-bottom:.25rem;font-size:.8rem;font-weight:800;display:block}.vote-stepper{align-items:center;gap:.5rem;display:flex}.vote-allocation{justify-items:end;display:grid}.vote-stepper button{min-width:2.4rem;padding:.45rem}.vote-stepper input{text-align:center;max-width:4.5rem;padding:.45rem}.vote-stepper--unavailable{opacity:.45}.vote-stepper--unavailable button,.vote-stepper--unavailable input{cursor:not-allowed}.vote-unavailable{text-align:right;margin:.4rem 0 0;font-size:.8rem}@media (width<=40rem){.account-email{display:none}.steps-section{grid-template-columns:1fr}.song-list li,.results-list li{flex-direction:column;align-items:flex-start}}
