@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#fff8e8;background:#07132f;font-synthesis:none;--navy: #07132f;--navy-2: #0e2048;--cream: #fff8e8;--coral: #ff514a;--mint: #22e7a7;--gold: #ffbd2e;--muted: #9dabc8;--line: rgba(255,255,255,.13)}*{box-sizing:border-box}html{min-height:100%;background:var(--navy)}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.045em;line-height:1.02}input{width:100%;border:1px solid rgba(255,255,255,.18);background:#020919ad;color:#fff;border-radius:14px;padding:15px 16px;outline:none}input:focus{border-color:var(--mint);box-shadow:0 0 0 3px #22e7a721}input::placeholder{color:#667697}input[type=range]{appearance:none;height:5px;padding:0;margin-top:14px;overflow:visible;background:#ffffff26;border:0;border-radius:10px;box-shadow:none}input[type=range]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;border-radius:50%;background:var(--mint);border:5px solid var(--navy);box-shadow:0 0 0 2px var(--mint)}.shell{min-height:100vh;position:relative;overflow:hidden;padding:max(20px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 95% 0,rgba(255,81,74,.14),transparent 35%),radial-gradient(circle at 0 90%,rgba(34,231,167,.09),transparent 32%),var(--navy)}.noise{position:fixed;inset:0;opacity:.15;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}.shell>*:not(.noise){position:relative;z-index:1}.brand{display:inline-flex;align-items:center;gap:10px;font-family:Manrope;font-size:20px;letter-spacing:-.04em}.brand img{width:51px;height:51px;object-fit:contain}.brand b{font-weight:800}.brand--compact img{width:42px;height:42px}.brand--compact{font-size:18px}.topbar,.screen-header,.player-header{max-width:1240px;margin:0 auto 28px;display:flex;justify-content:space-between;align-items:center;gap:12px}.icon-link{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:14px}.icon-link svg{width:17px}.button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 18px;border:1px solid transparent;border-radius:14px;font-weight:700;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}.button:hover{transform:translateY(-2px)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button svg{width:19px}.button--wide{width:100%}.button--coral{background:var(--coral);color:#fff;box-shadow:0 9px 25px #ff514a38}.button--mint{background:var(--mint);color:var(--navy);box-shadow:0 9px 25px #22e7a72e}.button--navy{background:var(--navy);border-color:var(--line)}.button--ghost{background:#ffffff0f;border-color:var(--line)}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.home{display:flex;flex-direction:column}.home header{width:100%;max-width:1180px;margin:0 auto;order:0}.hero{min-height:calc(100vh - 140px);max-width:1180px;margin:0 auto;display:grid;align-items:center;padding:40px 0}.hero-art{position:relative;display:grid;place-items:center;min-height:275px}.hero-art img{position:relative;width:min(78vw,370px);animation:float 5s ease-in-out infinite;filter:drop-shadow(0 35px 35px rgba(0,0,0,.3))}.record-ring{position:absolute;width:260px;aspect-ratio:1;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 36px #ffffff05,0 0 0 72px #ffffff05}@keyframes float{50%{transform:translateY(-10px) rotate(2deg)}}.pill,.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800}.pill{display:inline-flex;align-items:center;gap:7px;color:var(--mint)}.eyebrow{color:var(--mint);display:block;margin-bottom:10px}.hero h1{font-size:clamp(46px,15vw,88px);margin:16px 0 18px}.hero h1 em,.screen-stage h1 em{color:var(--coral);font-style:normal}.hero-copy>p{color:var(--muted);line-height:1.65;font-size:17px;max-width:520px}.join-bar{margin:28px 0 14px;max-width:440px}.join-bar label{display:block;font-size:12px;color:var(--muted);margin:0 0 8px 2px}.join-bar>div{display:flex;gap:5px;padding:5px;background:#ffffff12;border:1px solid var(--line);border-radius:17px}.join-bar input{background:transparent;border:0;letter-spacing:.16em;text-transform:uppercase;font-weight:700;box-shadow:none}.join-bar button{border:0;min-width:48px;border-radius:12px;background:var(--mint);color:var(--navy);cursor:pointer}.join-bar button.join-bar__scan{background:#ffffff17;color:var(--cream);border:1px solid var(--line)}.home-actions{display:flex;flex-direction:column;gap:10px;max-width:440px}.home footer{text-align:center;color:#62718f;font-size:11px}.my-games{width:100%;max-width:1180px;margin:22px auto 8px;order:1}.hero{order:2}.home footer{order:3}.my-games__heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.my-games__heading h2{margin:0;font-size:30px}.my-games__heading>svg{color:var(--gold)}.session-list{display:grid;gap:12px}.session-card{display:grid;gap:15px;padding:17px;border:1px solid rgba(34,231,167,.22);border-radius:19px;background:linear-gradient(145deg,#142c5bf5,#0a1b3ef5);box-shadow:0 18px 45px #0000002e}.session-card--finished{border-color:var(--line);opacity:.82}.session-card__top,.session-card__room,.session-card__stats{display:flex;align-items:center;justify-content:space-between;gap:12px}.session-role{display:inline-flex;align-items:center;gap:7px;min-width:0;color:var(--mint);font-size:12px;font-weight:800}.session-role--team{color:var(--gold)}.session-role svg{width:17px;flex:0 0 auto}.session-forget{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:12px;background:#ffffff0f;color:var(--muted);cursor:pointer}.session-forget svg{width:17px}.session-card__room>div{display:grid}.session-card__room small{color:var(--muted);font-size:9px;letter-spacing:.13em}.session-card__room strong{color:var(--cream);font-size:25px;letter-spacing:.12em}.session-status{max-width:58%;padding:6px 9px;border-radius:99px;background:#22e7a71a;color:var(--mint);font-size:10px;font-weight:800;text-align:center}.session-status--finished{background:#ffffff12;color:var(--muted)}.session-card__stats{align-items:flex-start;min-height:32px;color:var(--muted);font-size:11px}.session-card__stats span{display:grid;gap:2px}.session-card__stats span:last-child{text-align:right}.session-card__stats b{color:var(--cream);font-size:13px}.session-empty{min-height:132px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:22px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);text-align:center}.session-empty svg{color:var(--mint)}.session-empty span{font-size:12px}.center-card,.panel,.leaderboard{background:#0e2048cc;border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 80px #0000002e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.center-card{max-width:520px;margin:8vh auto;padding:26px}.center-card h1{font-size:35px;margin-bottom:12px}.center-card>p,.panel>p{color:var(--muted);line-height:1.55}.stack-form{display:grid;gap:18px;margin-top:25px}.stack-form label,.answer-fields label{color:var(--muted);font-size:13px;display:grid;gap:8px}.field-label{color:var(--muted);font-size:13px;display:block;margin-bottom:8px}.stack-form label strong{color:var(--cream);float:right}.notice{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border-radius:12px;margin:15px 0;font-size:13px;line-height:1.4}.notice--error{background:#ff514a1f;border:1px solid rgba(255,81,74,.32);color:#ffaca8}.notice--success{background:#22e7a71c;color:var(--mint)}.notice svg{flex:0 0 auto}.loading{min-height:50vh;display:grid;place-items:center;color:var(--muted)}.room-chip{background:var(--cream);color:var(--navy);border-radius:12px;padding:7px 12px;display:flex;align-items:center;gap:9px}.room-chip span{font-size:9px;letter-spacing:.12em;font-weight:800;color:#66708a}.room-chip b{letter-spacing:.12em}.host-layout{max-width:1180px;margin:auto;display:grid;gap:18px}.host-main{min-width:0}.panel,.leaderboard{padding:21px}.section-heading,.round-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.section-heading h2,.round-top h2{margin:0;font-size:26px}.section-heading>svg{color:var(--gold)}.invite-panel{display:flex;flex-direction:column;gap:22px;margin-bottom:18px}.invite-panel h1{font-size:34px;margin-bottom:10px}.invite-panel h1 em{color:var(--gold);font-style:normal;letter-spacing:.08em}.invite-panel p{overflow-wrap:anywhere}.qr-card{background:var(--cream);border-radius:16px;padding:12px;display:flex;flex-direction:column;align-items:center;align-self:center;color:var(--navy)}.qr-card small{margin-top:8px;font-weight:700}.team-badges{display:flex;flex-wrap:wrap;gap:7px}.team-badges span{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:1px 6px;padding:8px 10px;border-radius:10px;background:#22e7a717;color:var(--mint);font-size:12px}.team-badges span small{grid-column:2;color:currentColor;opacity:.7;font-size:9px;font-weight:700}.team-badges .team-badge--offline{background:#ffffff0d;color:var(--muted)}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.category-grid button{min-height:75px;text-align:left;padding:12px;border-radius:13px;border:1px solid var(--line);background:#0000001f;cursor:pointer}.category-grid button span{display:block;font-size:13px;font-weight:700}.category-grid button b{display:block;margin-top:6px;color:var(--muted);font-size:11px}.category-grid button.selected{border-color:var(--mint);background:#22e7a71c;box-shadow:inset 0 0 0 1px var(--mint)}.category-grid button.selected b{color:var(--mint)}.input-action{display:flex;gap:7px}.input-action button{flex:0 0 50px;background:var(--cream);color:var(--navy);border:0;border-radius:13px;cursor:pointer}.playback-note{display:flex;gap:8px;margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#22e7a712;border:1px solid rgba(34,231,167,.18);color:var(--muted);font-size:12px;line-height:1.5}.unknown-card{background:#ffbd2e12;border:1px dashed rgba(255,189,46,.4);padding:17px;border-radius:16px;display:grid;gap:13px}.unknown-card .pill{color:var(--gold)}.unknown-card h3{margin:0}.unknown-card p{color:var(--muted);font-size:13px;margin:0}.modal-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;overflow-y:auto;overscroll-behavior:contain;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#020816e0;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.scanner-modal{position:relative;width:min(100%,480px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;border-radius:22px;background:var(--navy-2);border:1px solid var(--line);box-shadow:0 24px 80px #00000085}.scanner-modal h2{padding-right:38px}.modal-close{position:absolute;top:14px;right:14px;border:0;background:#ffffff14;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;cursor:pointer}.scanner-frame{position:relative;min-height:min(62vw,300px);border-radius:16px;overflow:hidden;background:var(--navy);border:1px solid var(--line)}.scanner-video{display:block;width:100%;height:min(62vw,300px);object-fit:cover}.scanner-reticle{position:absolute;z-index:1;inset:11%;border:3px solid rgba(255,255,255,.82);border-radius:12px;pointer-events:none;box-shadow:0 0 0 999px #02081614}.scanner-canvas{display:none}.scanner-loading{position:absolute;z-index:2;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:24px;text-align:center;background:var(--navy)}.scanner-loading span{width:34px;height:34px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--mint);border-radius:50%;animation:spin .8s linear infinite}.scanner-loading b{font-size:14px}.scanner-loading small{max-width:260px;color:var(--muted);line-height:1.45}.scanner-feedback{display:grid;gap:7px;margin:12px 0 0;padding:11px 12px;border-radius:12px;background:#ffbd2e14;border:1px solid rgba(255,189,46,.22);color:var(--gold)}.scanner-feedback span{display:flex;align-items:center;gap:8px;font-size:12px}.scanner-feedback small{color:var(--muted);line-height:1.45}.scanner-feedback--detected{background:#22e7a717;border-color:#22e7a747;color:var(--mint)}.detected-value{display:block;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.scanner-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.scanner-actions .button{min-height:46px;padding:10px;font-size:12px;cursor:pointer}.scanner-photo{position:relative}.scanner-photo input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.hint,.muted{color:var(--muted);font-size:12px}.countdown{width:82px;aspect-ratio:1;flex:0 0 auto;border-radius:50%;border:5px solid var(--mint);display:grid;place-content:center;text-align:center;box-shadow:0 0 0 5px #22e7a714}.countdown span{font-family:Manrope;font-size:27px;font-weight:800;line-height:1}.countdown small{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.countdown--urgent{border-color:var(--coral);animation:pulse 1s infinite}@keyframes pulse{50%{box-shadow:0 0 0 11px #ff514a08}}.secret-card{display:flex;align-items:center;gap:15px;padding:17px;border-radius:15px;margin:22px 0;background:linear-gradient(110deg,#ffbd2e1a,#ff514a14);border:1px dashed rgba(255,189,46,.35)}.secret-card>svg{color:var(--gold)}.secret-card div{display:grid;gap:2px}.secret-card small{color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:800}.secret-card strong{font-size:18px}.secret-card span{color:var(--muted);font-size:13px}.submission-meter>div{display:flex;align-items:baseline;gap:7px}.submission-meter b{font-size:32px;font-family:Manrope}.submission-meter span{color:var(--muted);font-size:13px}.submission-meter>i{height:7px;display:block;margin-top:10px;border-radius:8px;background:#ffffff1a;overflow:hidden}.submission-meter>i span{height:100%;display:block;background:var(--mint);border-radius:inherit;transition:width .3s}.submission-meter>small{display:block;margin-top:9px;color:var(--muted)}.playback-steps{display:grid;gap:9px;margin:0 0 22px;padding:17px;border-radius:15px;background:#22e7a712;border:1px solid rgba(34,231,167,.2)}.playback-steps b{color:var(--cream)}.playback-steps span{color:var(--muted)}.button-row--stack{display:grid}.spotify-fallback{justify-self:center;padding:6px;color:var(--muted);font-size:12px;text-decoration:underline}.answer-reveal{padding:27px 18px;border-radius:18px;text-align:center;background:radial-gradient(circle at top,rgba(255,81,74,.22),transparent 65%),#ffffff09;border:1px solid rgba(255,81,74,.25)}.answer-reveal span{font-size:9px;color:var(--coral);letter-spacing:.16em;font-weight:800}.answer-reveal h3,.answer-reveal h1{font-size:clamp(30px,8vw,48px);margin:12px 0 7px}.answer-reveal p{color:var(--muted);margin:0;font-size:16px}.judge-list{margin-top:24px}.review-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.review-heading h3{margin:0}.review-heading>span{padding:6px 9px;border-radius:99px;background:#ffffff0f;color:var(--muted);font-size:11px;white-space:nowrap}.judge-row{padding:14px 0;border-top:1px solid var(--line);display:grid;gap:12px}.judge-row>div:first-child{display:grid}.judge-row small{color:var(--muted);margin-top:3px}.match-tag{justify-self:start;margin-top:7px;padding:4px 7px;border-radius:6px;background:#ffbd2e1a;color:var(--gold);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.match-tag--yes{color:var(--mint);background:#22e7a71a}.point-picker{display:flex;flex-wrap:wrap;gap:5px}.point-picker button{min-width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#ffffff0a;cursor:pointer}.point-picker button.active{background:var(--mint);color:var(--navy);border-color:var(--mint);font-weight:800}.winner-card{min-height:420px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.winner-card>svg,.winner-icon{width:68px;height:68px;color:var(--gold);margin-bottom:22px}.winner-card h1{font-size:45px}.leaderboard .section-heading{align-items:center;margin-bottom:15px}.leaderboard .section-heading h2{font-size:22px}.leaderboard ol{list-style:none;padding:0;margin:0;display:grid;gap:8px}.leaderboard li{position:relative;min-height:58px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;padding:9px 11px 14px;border-radius:13px;background:#ffffff09;overflow:hidden}.leaderboard li.is-leading{background:#ffbd2e14}.rank{color:var(--muted);font-weight:700;text-align:center}.is-leading .rank{color:var(--gold)}.team-name{display:flex;align-items:center;gap:7px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.presence-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.presence-dot--online{background:var(--mint);box-shadow:0 0 0 4px #22e7a71a}.presence-dot--offline{background:#64718d}.score b{font-size:20px}.score small{color:var(--muted);font-size:10px}.score-track{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff0f}.score-track i{display:block;height:100%;background:var(--mint);transition:width .4s}.empty{min-height:160px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.empty svg{color:var(--mint)}.player-shell{padding-left:16px;padding-right:16px}.player-header{margin-bottom:30px}.player-header>div:last-child{display:grid;text-align:right}.player-header span{color:var(--muted);font-size:11px}.player-header b{color:var(--mint)}.player-wait,.player-round{max-width:580px;margin:6vh auto}.player-wait{min-height:62vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.player-wait h1,.player-round h1{font-size:38px}.player-wait>p,.player-round .round-top p{color:var(--muted)}.pulse-record{width:130px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle,#101f42 0 8px,#1a2d55 9px 11px);border:7px solid rgba(255,255,255,.04);margin-bottom:35px;animation:spin 8s linear infinite}.pulse-record svg{width:35px;height:35px;color:var(--coral)}@keyframes spin{to{transform:rotate(360deg)}}.answer-form{margin-top:30px}.answer-fields{display:grid;gap:17px;margin-bottom:22px}.answer-fields input{min-height:58px;font-size:17px}.submitted{min-height:330px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.submitted>svg{width:62px;height:62px;padding:15px;border-radius:50%;color:var(--navy);background:var(--mint);margin-bottom:20px}.submitted p{color:var(--muted)}.submitted p strong{color:var(--cream)}.submitted>small{display:block;max-width:380px;margin:-5px 0 20px;color:var(--muted);line-height:1.5}.submitted--locked>svg{background:var(--coral);color:#fff}.my-result{text-align:center;margin:18px 0}.my-result>b{display:block;color:var(--mint);font-family:Manrope;font-size:54px;line-height:1;margin:7px 0 2px}.my-result>span{color:var(--mint);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.my-result>small{color:var(--muted)}.my-result>div{max-width:420px;display:grid;gap:4px;margin:17px auto 0;padding:13px 16px;border-radius:13px;background:#ffffff0b;border:1px solid var(--line)}.my-result>div em{color:var(--muted);font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.my-result>div strong{overflow-wrap:anywhere}.my-result--partial>b,.my-result--partial>span{color:var(--gold)}.my-result--missed>b,.my-result--missed>span{color:var(--coral)}.result-screen>.leaderboard{margin-top:20px}.code-input{text-transform:uppercase;text-align:center;font-size:26px;letter-spacing:.18em;font-weight:800}.screen-header .room-chip{padding:8px 14px}.screen-grid{max-width:1300px;margin:5vh auto 0;display:grid;gap:20px}.screen-stage{min-height:53vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.screen-stage h1{font-size:clamp(48px,10vw,105px);margin:12px 0 20px;max-width:900px}.screen-stage>p{color:var(--muted);font-size:19px}.screen-stage .countdown{width:130px;margin:15px 0}.screen-stage .countdown span{font-size:49px}.reveal-artist{font-size:clamp(25px,4vw,46px)!important;color:var(--cream)!important}.year-chip{font-size:25px;font-weight:800;color:var(--navy);background:var(--gold);padding:8px 18px;border-radius:99px}.huge-score{font-size:32px!important;color:var(--mint)!important;font-weight:800}.locked-display{display:flex;align-items:center;gap:10px;padding:14px 19px;border-radius:99px;background:#ff514a1f;color:var(--coral);font-weight:700}@media(min-width:680px){.shell{padding-left:30px;padding-right:30px}.home-actions{flex-direction:row}.invite-panel{flex-direction:row;align-items:center;justify-content:space-between}.category-grid{grid-template-columns:repeat(3,1fr)}.judge-row{grid-template-columns:1fr auto;align-items:center}.session-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.hero{order:1}.my-games{order:2;margin-top:40px}.hero{grid-template-columns:.9fr 1.1fr;gap:50px}.hero-art{order:2}.hero-copy{order:1}.host-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.host-layout aside{position:sticky;top:25px}.screen-grid{grid-template-columns:minmax(0,1fr) 390px;align-items:center}.leaderboard--large{padding:28px}.leaderboard--large li{min-height:70px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
