:root{--bz-display:"Bricolage Grotesque", "Helvetica Neue", sans-serif;--bz-ui:"Space Grotesk", "Helvetica Neue", sans-serif;--bz-mono:"JetBrains Mono", ui-monospace, monospace;--bz-bg:#0a0a0a;--bz-surface:#141414;--bz-surface-2:#1c1c1c;--bz-border:#f5f5f014;--bz-border-strong:#f5f5f02e;--bz-ink:#f5f5f0;--bz-dim:#f5f5f08c;--bz-faint:#f5f5f052;--bz-accent:#c5ff00;--bz-accent-text:#0a0a0a;--bz-accent-2:#ff3d8a;--bz-correct:#c5ff00;--bz-wrong:#ff3d3d;--bz-offline:#f5f5f052}*{box-sizing:border-box}html,body,#root{background:var(--bz-bg);height:100%;color:var(--bz-ink);font-family:var(--bz-ui);font-feature-settings:"ss01", "ss02";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em;margin:0}.bz-display{font-family:var(--bz-display);letter-spacing:-.03em;font-weight:800;line-height:.92}.bz-mono{font-family:var(--bz-mono);font-feature-settings:"zero" 1}.bz-stamp{font-family:var(--bz-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--bz-dim);align-items:center;gap:6px;font-size:.62rem;display:inline-flex}.bz-stamp--accent{color:var(--bz-accent)}.bz-live-dot{background:var(--bz-accent-2);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite bz-pulse;display:inline-block}@keyframes bz-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.bz-wordmark{font-family:var(--bz-display);letter-spacing:-.04em;align-items:center;font-weight:800;display:inline-flex}.bz-wordmark .bz-z{color:var(--bz-accent);display:inline-block;transform:rotate(8deg)}.bz-avatar{font-family:var(--bz-display);color:#0a0a0a;letter-spacing:-.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.bz-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100%;padding:24px;display:flex}.bz-host{justify-content:flex-start;gap:22px}.bz-host-top{border-bottom:1.5px solid var(--bz-border);align-items:center;gap:20px;width:100%;padding-bottom:14px;display:flex}.bz-title{font-family:var(--bz-display);letter-spacing:-.03em;margin:0;font-size:max(2rem,min(6vw,4rem));font-weight:800;line-height:.92}.bz-notice{color:var(--bz-accent);font-size:max(1rem,min(3vw,1.5rem));font-weight:700}.bz-hint{color:var(--bz-dim);margin:0;font-size:.95rem}.bz-button{font-family:var(--bz-ui);letter-spacing:.04em;text-transform:uppercase;background:var(--bz-accent);color:var(--bz-accent-text);cursor:pointer;border:none;border-radius:4px;padding:14px 22px;font-size:.95rem;font-weight:700;transition:transform 80ms}.bz-button:active{transform:scale(.98)}.bz-button:focus-visible{outline:3px solid var(--bz-accent);outline-offset:3px}.bz-button:disabled{opacity:.35;cursor:not-allowed}.bz-button-ghost{color:var(--bz-ink);border:1.5px solid var(--bz-border-strong);background:0 0}.bz-button-danger{background:var(--bz-wrong);color:var(--bz-accent-text)}.bz-button-danger:focus-visible{outline-color:var(--bz-ink)}.bz-button-ghost:focus-visible{outline-color:var(--bz-ink)}.bz-button-block{width:100%;padding:18px}.bz-room{flex-direction:column;align-items:center;gap:14px;display:flex}.bz-room-code{font-family:var(--bz-display);letter-spacing:-.02em;color:var(--bz-accent);font-size:max(2rem,min(4vw,3.25rem));font-weight:800}.bz-lobby-headline{text-align:center;align-self:center;font-size:max(1.5rem,min(3.2vw,2.75rem))}.bz-join{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;display:flex}.bz-room-code-block{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.bz-join-url{color:var(--bz-faint);font-size:.8rem;font-family:var(--bz-mono);letter-spacing:.08em}.bz-join-qr{background:#fff;border-radius:6px;padding:12px;line-height:0}.bz-roster{flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.bz-roster-player{background:var(--bz-surface);border:1.5px solid var(--bz-border-strong);border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-weight:600;display:inline-flex}.bz-offline{opacity:.45}.bz-roster-remove{font:inherit;color:var(--bz-ink);cursor:pointer;font-weight:600}.bz-roster-remove-tag{font-family:var(--bz-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.78em;font-weight:700;display:none}.bz-roster-remove:focus{background:var(--bz-wrong);border-color:var(--bz-wrong);color:var(--bz-accent-text);opacity:1;outline:3px solid var(--bz-ink);outline-offset:2px}.bz-roster-remove:focus .bz-roster-remove-tag{display:inline}.bz-form{flex-direction:column;gap:16px;width:min(100%,360px);display:flex}.bz-field{text-align:left;flex-direction:column;gap:6px;display:flex}.bz-field label{font-family:var(--bz-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--bz-dim);font-size:.62rem}.bz-field input{font-family:var(--bz-ui);border:1.5px solid var(--bz-border);background:var(--bz-surface);color:var(--bz-ink);border-radius:4px;outline:none;padding:14px 16px;font-size:1rem;transition:border-color .15s}.bz-field input:focus{border-color:var(--bz-accent)}.bz-field input::placeholder{color:var(--bz-faint)}.bz-color-grid{gap:10px;display:flex}.bz-color-swatch{aspect-ratio:1;cursor:pointer;border:0;border-radius:4px;flex:1;transition:transform 80ms,box-shadow .12s}.bz-color-swatch--selected{box-shadow:0 0 0 2px var(--bz-bg), 0 0 0 4px var(--bz-ink);transform:scale(1.05)}.bz-start{flex-direction:column;align-items:center;gap:10px;margin-top:18px;display:flex}.bz-start-error{color:var(--bz-accent);text-align:center;margin:0;font-weight:700}.bz-error{color:var(--bz-wrong);font-weight:700;font-family:var(--bz-mono);font-size:.85rem}.bz-round{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.bz-round-num{font-family:var(--bz-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--bz-dim);font-size:.7rem;font-weight:600}.bz-turn{font-family:var(--bz-display);letter-spacing:-.02em;font-size:max(1.1rem,min(3vw,1.8rem));font-weight:800}.bz-countdown{font-family:var(--bz-mono);font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:max(1.2rem,min(4vw,2rem));font-weight:600}.bz-paused{color:var(--bz-accent)}.bz-now-playing{color:var(--bz-dim);font-family:var(--bz-mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;font-size:.7rem;display:flex}.bz-eq{align-items:flex-end;gap:3px;height:18px;display:inline-flex}.bz-eq i{background:var(--bz-accent);transform-origin:bottom;width:3px;height:100%;animation:.8s ease-in-out infinite bz-eq;display:block}.bz-eq i:nth-child(2){animation-duration:.6s;animation-delay:.15s}.bz-eq i:nth-child(3){animation-duration:.9s;animation-delay:.3s}.bz-eq i:nth-child(4){animation-duration:.7s;animation-delay:.45s}.bz-eq i:nth-child(5){animation-duration:1s;animation-delay:.1s}.bz-eq--lg{gap:6px;height:52px}.bz-eq--lg i{width:8px}@keyframes bz-eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.bz-tables{flex-direction:column;gap:10px;width:min(100%,1100px);display:flex}.bz-player-row{background:var(--bz-surface);border:1.5px solid var(--bz-border);border-radius:8px;align-items:center;gap:14px;padding:10px 16px;display:flex}.bz-player-row--active{border-color:var(--bz-accent)}.bz-player-name{text-align:left;align-items:center;gap:8px;min-width:120px;font-weight:600;display:flex}.bz-score{font-family:var(--bz-mono);background:var(--bz-accent);color:var(--bz-accent-text);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600}.bz-timeline{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.bz-timeline-song{background:var(--bz-surface);border:1.5px solid var(--bz-border-strong);border-radius:6px;flex-direction:column;gap:2px;min-width:72px;padding:10px 12px;display:flex}.bz-timeline-song--new{border-color:var(--bz-accent)}.bz-song-year{font-family:var(--bz-mono);color:var(--bz-accent);font-size:.95rem;font-weight:600}.bz-song-title{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.8rem;font-weight:600;overflow:hidden}.bz-song-artist{color:var(--bz-dim);font-size:.7rem}.bz-place{flex-direction:column;gap:6px;width:min(100%,360px);display:flex}.bz-place-row{flex-direction:column;gap:6px;display:flex}.bz-slot{border:1.5px dashed var(--bz-border-strong);color:var(--bz-faint);font-family:var(--bz-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;padding:14px;font-size:.75rem;font-weight:600;transition:all .12s}.bz-slot--chosen{border-style:solid;border-color:var(--bz-accent);color:var(--bz-ink);background:var(--bz-surface-2)}.bz-mystery{color:var(--bz-accent);font-weight:800;font-family:var(--bz-display)}.bz-place-song{background:var(--bz-surface);border:1.5px solid var(--bz-border);border-radius:4px;align-items:baseline;gap:8px;padding:10px 12px;display:flex}.bz-listen-head{justify-content:space-between;align-items:center;gap:16px;width:min(100%,360px);display:flex}.bz-listen-actions{gap:10px;width:min(100%,360px);display:flex}.bz-listen-actions .bz-button{flex:1}.bz-verdict{font-family:var(--bz-display);letter-spacing:-.02em;font-size:max(1.4rem,min(4vw,2.4rem));font-weight:800}.bz-correct{color:var(--bz-correct)}.bz-wrong{color:var(--bz-wrong)}.bz-reveal,.bz-ending{flex-direction:column;align-items:center;gap:8px;display:flex}.bz-reveal-cover{object-fit:cover;border-radius:6px;width:140px;height:140px}.bz-attribution{flex-direction:column;align-items:center;gap:6px;margin-top:10px;display:flex}.bz-apple-badge{width:auto;height:40px;display:block}.bz-itunes-credit{color:var(--bz-dim);font-size:.8rem}.bz-reveal-year{font-family:var(--bz-display);letter-spacing:-.03em;color:var(--bz-accent);font-size:max(2.5rem,min(8vw,5rem));font-weight:800;line-height:.92}.bz-reveal-title{font-family:var(--bz-display);letter-spacing:-.02em;font-size:1.4rem;font-weight:800}.bz-reveal-artist{color:var(--bz-dim)}.bz-guess{border:1.5px solid var(--bz-border-strong);background:var(--bz-surface);border-radius:8px;flex-direction:column;gap:10px;width:min(100%,360px);min-width:0;padding:14px;display:flex}.bz-guess .bz-field input{box-sizing:border-box;width:100%;min-width:0;padding:12px 14px}.bz-guess .bz-field input[readonly]{color:var(--bz-dim);border-style:dashed}.bz-guess-head{text-align:left;flex-direction:column;gap:2px;display:flex}.bz-guess-heading{font-family:var(--bz-display);letter-spacing:-.02em;font-size:1.15rem;font-weight:800}.bz-guess-scoring{color:var(--bz-dim);font-size:.75rem}.bz-mark{font-weight:800}.bz-mark--right{color:var(--bz-correct)}.bz-mark--wrong{color:var(--bz-wrong)}.bz-my-guess{border:1.5px solid var(--bz-border-strong);background:var(--bz-surface);border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 16px;max-width:min(100%,360px);padding:12px 16px;display:flex}.bz-my-guess-points{font-family:var(--bz-mono);color:var(--bz-accent)}.bz-my-guess-total{color:var(--bz-dim);font-size:.85rem}.bz-best-ears-caption{font-family:var(--bz-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--bz-accent);font-size:.8rem;font-weight:600}.bz-best-ears caption{padding-bottom:max(2px,min(.6vmin,8px))}.bz-best-ears-place{font-family:var(--bz-mono);color:var(--bz-dim);font-weight:600}.bz-my-best-ears{border:1.5px solid var(--bz-border-strong);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;display:flex}.bz-my-best-ears-place{font-family:var(--bz-display);font-size:1.4rem;font-weight:800}.bz-my-best-ears-total{font-family:var(--bz-mono);color:var(--bz-dim);font-size:.9rem}.bz-row-marks{min-width:7.5em;font-family:var(--bz-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex-direction:column;flex:none;align-items:flex-start;gap:2px;font-size:.7rem;font-weight:600;display:flex}.bz-locked{color:var(--bz-correct)}.bz-passed{color:var(--bz-dim)}.bz-timeline-song--placed{border-style:dashed;border-color:var(--bz-accent);justify-content:center}.bz-reveal-body{flex:1;justify-content:center;align-items:center;gap:max(20px,min(4vw,72px));width:100%;min-height:0;display:flex}.bz-reveal-body .bz-reveal{text-align:center;flex:0 34%;min-width:0}.bz-guesses{border-collapse:separate;border-spacing:0 max(2px,min(.5vmin,6px));flex:0 auto;min-width:0;font-size:max(.8rem,min(1.9vmin,1.15rem))}.bz-guesses th{font-family:var(--bz-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--bz-dim);padding:0 max(6px,min(1.2vmin,14px));font-size:.6em;font-weight:600}.bz-guesses td{background:var(--bz-surface);text-align:center;font-variant-numeric:tabular-nums;padding:max(3px,min(.8vmin,9px)) max(6px,min(1.2vmin,14px))}.bz-guesses td:first-child{border-radius:6px 0 0 6px}.bz-guesses td:last-child{border-radius:0 6px 6px 0}.bz-guesses-name{text-align:left;align-items:center;gap:10px;font-weight:600;display:flex}.bz-guesses-name span{text-overflow:ellipsis;white-space:nowrap;max-width:14em;overflow:hidden}.bz-guesses-songs{font-family:var(--bz-mono);color:var(--bz-dim)}.bz-guesses-points{font-family:var(--bz-mono);color:var(--bz-accent);font-weight:600}.bz-guesses-total{font-family:var(--bz-mono);font-weight:600}.bz-winner{font-family:var(--bz-display);letter-spacing:-.03em;font-size:max(1.8rem,min(6vw,3.5rem));font-weight:800}.bz-host{gap:max(8px,min(2vmin,22px))}.bz-host.bz-lobby{gap:max(6px,min(1.25vmin,16px))}.bz-host .bz-tables{flex:1;gap:max(4px,min(.9vmin,10px));min-height:0}.bz-host .bz-player-row{gap:max(6px,min(1.3vmin,14px));padding:max(4px,min(.9vmin,10px)) max(8px,min(1.5vmin,16px))}.bz-host .bz-timeline{flex-wrap:nowrap;min-width:0}.bz-host .bz-timeline-song{min-width:0;padding:max(3px,min(.74vmin,10px)) max(4px,min(.9vmin,12px))}.bz-host .bz-song-year{font-size:max(.62rem,min(1.4vmin,.95rem))}.bz-host .bz-song-artist{display:none}.bz-lobby-main{order:1;justify-content:center;align-items:stretch;gap:max(28px,min(3vw,64px));width:100%;display:flex}.bz-host.bz-lobby .bz-start{order:2;margin-top:0}.bz-host.bz-lobby .bz-roster{order:3}.bz-variants{text-align:left;flex-direction:column;align-items:flex-start;gap:10px;width:max(340px,min(30vw,560px));display:flex}.bz-variant-scroll{flex:auto;width:100%;min-height:0;position:relative}.bz-variant-list{flex-direction:column;gap:8px;margin:0;padding:6px;list-style:none;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.bz-variant{width:100%;font:inherit;text-align:left;color:var(--bz-ink);background:var(--bz-surface);border:1.5px solid var(--bz-border-strong);cursor:pointer;border-radius:6px;align-items:center;gap:12px;padding:8px;display:flex}button.bz-variant:focus-visible{outline:3px solid var(--bz-ink);outline-offset:2px}.bz-variant--selected{border-color:var(--bz-accent);background:var(--bz-surface-2);box-shadow:inset 5px 0 0 var(--bz-accent)}.bz-variant-art{object-fit:cover;border-radius:4px;flex:none;width:56px;height:56px}.bz-variant-art--placeholder{background:var(--bz-accent);color:var(--bz-accent-text);font-family:var(--bz-display);justify-content:center;align-items:center;font-size:1.9rem;font-weight:800;line-height:1;display:flex}.bz-variant-text{flex-direction:column;gap:2px;min-width:0;display:flex}.bz-variant-title{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.bz-variant-description{color:var(--bz-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.3;display:-webkit-box;overflow:hidden}.bz-variants>.bz-stamp,.bz-variants-empty{padding-left:6px}.bz-variants-empty{color:var(--bz-accent);margin:0;font-weight:700}.bz-confirm{z-index:60;background:#0a0a0ac7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.bz-confirm-card{text-align:center;background:var(--bz-surface);border:1.5px solid var(--bz-border-strong);border-top:4px solid var(--bz-wrong);border-radius:6px;max-width:min(720px,100%);padding:max(20px,min(3.4vmin,44px)) max(24px,min(4vmin,52px))}.bz-confirm-title{font-family:var(--bz-display);letter-spacing:-.03em;color:var(--bz-ink);overflow-wrap:anywhere;margin-bottom:max(8px,min(1.4vmin,16px));font-size:max(28px,min(4.6vmin,54px));font-weight:800;line-height:1.05}.bz-confirm-body{color:var(--bz-dim);margin-bottom:max(14px,min(2.6vmin,30px));font-size:max(15px,min(2.2vmin,24px));line-height:1.3}.bz-confirm-error{background:var(--bz-wrong);color:var(--bz-accent-text);border-radius:4px;margin-bottom:max(12px,min(2vmin,24px));padding:max(6px,min(1.1vmin,12px)) max(10px,min(1.8vmin,20px));font-size:max(13px,min(1.9vmin,20px));font-weight:700}.bz-confirm-actions{flex-wrap:wrap;justify-content:center;gap:max(14px,min(2.4vmin,28px));display:flex}.bz-confirm .bz-button{padding:max(12px,min(1.8vmin,20px)) max(20px,min(3vmin,36px));font-size:max(.95rem,min(2vmin,1.3rem))}
