@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap");:root{--night:#080916;--panel:rgba(19,23,47,.82);--paper:#f7f5ee;--muted:#a7acc7;--line:rgba(247,245,238,.14);--lime:#d5ff3f;--pink:#ff4fa3;--blue:#5d8bff;--danger:#ff6f91;color-scheme:dark;font-family:DM Sans,sans-serif;color:var(--paper);background:var(--night)}*{box-sizing:border-box}html{min-width:320px}body,html{background:var(--night)}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.42}::selection{background:var(--lime);color:var(--night)}.page{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;padding:clamp(18px,3.4vw,48px) clamp(14px,5vw,88px) 72px;background:radial-gradient(ellipse at 80% -10%,rgba(93,139,255,.24),transparent 33%),radial-gradient(ellipse at 6% 100%,rgba(255,79,163,.15),transparent 34%),var(--night)}.page:after,.page:before{position:fixed;z-index:-1;pointer-events:none;content:""}.page:before{inset:0;opacity:.18;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='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");mix-blend-mode:screen}.page:after{width:42vw;height:42vw;right:-20vw;top:18vh;border:1px solid rgba(213,255,63,.12);border-radius:50%;box-shadow:0 0 0 28px rgba(213,255,63,.025),0 0 0 58px rgba(213,255,63,.02)}.shell{position:relative;z-index:1;width:min(1180px,100%);margin:0 auto}.setupShell{width:min(960px,100%)}.lobbyShell{width:min(1240px,100%)}.stack{display:grid;grid-gap:18px;gap:18px}.row{display:flex;gap:14px;align-items:flex-end}.formGrow{flex:1 1;min-width:0}.pillRow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.eyebrow{margin:0 0 13px;color:var(--pink);font:700 11px/1 Space Grotesk,sans-serif;letter-spacing:.18em;text-transform:uppercase}.heroTitle,.sectionTitle,.subsectionTitle{margin:0;font-family:Bebas Neue,Impact,sans-serif;font-weight:400;letter-spacing:.01em}.heroTitle{max-width:8ch;font-size:clamp(72px,13vw,154px);line-height:.78}.sectionTitle{font-size:clamp(34px,5vw,58px);line-height:.86}.subsectionTitle{font-size:28px;line-height:1}.limeText{display:block;color:var(--lime);text-shadow:.06em .06em 0 rgba(93,139,255,.9)}.heroText{max-width:47ch;margin:24px 0 22px;color:var(--muted);font-size:16px;line-height:1.65}.heroSignature{margin:11px 0 0;color:var(--pink);font:400 clamp(25px,3vw,38px)/.9 Bebas Neue,sans-serif;letter-spacing:.08em;text-transform:lowercase;text-shadow:.04em .04em 0 rgba(93,139,255,.65)}.subtle{color:var(--muted)}.releaseNotes{max-width:560px;margin-top:27px;border:1px solid rgba(93,139,255,.28);border-left:3px solid var(--pink);border-radius:16px;padding:15px 17px;background:linear-gradient(135deg,rgba(93,139,255,.1),rgba(255,79,163,.06));box-shadow:0 12px 32px rgba(0,0,0,.14)}.releaseNotesHeader{display:flex;align-items:center;gap:11px;margin-bottom:11px}.releaseNotesHeader>div{display:grid;grid-gap:3px;gap:3px}.releaseNotesHeader strong{color:var(--paper);font:600 13px/1.1 Space Grotesk,sans-serif}.releaseNotesHeader span:not(.releaseVersion){color:var(--muted);font-size:11px}.releaseVersion{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(213,255,63,.55);border-radius:10px;color:var(--lime);font:700 11px/1 Space Grotesk,sans-serif}.releaseNotes ul{display:grid;grid-gap:7px;gap:7px;margin:0;padding-left:17px;color:var(--muted);font-size:11px;line-height:1.42}.releaseNotes li::marker{color:var(--lime)}.heroPanel{min-height:min(680px,calc(100vh - 110px));display:grid;grid-template-columns:1.1fr .9fr;grid-gap:26px;gap:26px;align-items:end;padding:clamp(26px,5vw,68px);overflow:hidden}.heroCopy{align-self:center}.heroPanel:after{content:"BEAT / BATTLE";position:absolute;right:-12px;bottom:38px;color:rgba(213,255,63,.035);font:160px/.78 Bebas Neue,sans-serif;letter-spacing:.05em;transform:rotate(-90deg);transform-origin:right bottom;pointer-events:none}.heroPanel>*{position:relative;z-index:1}.heroVisual{align-self:end;display:grid;grid-gap:16px;gap:16px;min-width:0}.heroMascot{position:relative;display:grid;place-items:end center;min-height:300px;overflow:hidden}.heroMascotGlow{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(93,139,255,.26),rgba(255,79,163,.08) 48%,transparent 72%);filter:blur(8px);transform:translateY(7%)}.heroMascotImage{position:relative;z-index:1;width:min(100%,330px);height:auto;max-height:370px;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 24px 28px rgba(7,8,27,.6))}.menuCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;align-items:stretch}.supportDock{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:8px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}.supportDock>div{display:grid;grid-gap:4px;gap:4px}.supportKicker{color:var(--paper);font:600 13px/1.2 Space Grotesk,sans-serif}.supportText{max-width:48ch;color:var(--muted);font-size:12px;line-height:1.4}.supportActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}.donationButton{display:inline-flex;align-items:center;gap:9px;min-height:44px;border:1px solid rgba(255,79,163,.55);border-radius:999px;padding:0 17px;background:rgba(255,79,163,.1);color:#ffd8eb;font:700 12px/1 Space Grotesk,sans-serif;text-decoration:none;transition:transform .2s ease,background .2s ease,border-color .2s ease}.donationButton:hover{transform:translateY(-2px);border-color:var(--pink);background:rgba(255,79,163,.2)}.aboutButton{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid rgba(93,139,255,.45);border-radius:999px;padding:0 17px;background:rgba(93,139,255,.09);color:#d6deff;font:700 12px/1 Space Grotesk,sans-serif;text-decoration:none;transition:transform .2s ease,background .2s ease,border-color .2s ease}.aboutButton:hover{transform:translateY(-2px);border-color:var(--blue);background:rgba(93,139,255,.18)}.instagramButton{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:0 15px 0 11px;background:rgba(255,255,255,.05);color:var(--paper);font:700 12px/1 Space Grotesk,sans-serif;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}.instagramButton img{width:23px;height:23px;object-fit:contain}.instagramButton:hover{transform:translateY(-2px);border-color:#e1306c;background:rgba(225,48,108,.14)}.donationPanel{width:min(620px,100%);margin:12vh auto 0}.donationLead{max-width:45ch;color:var(--muted);font-size:16px;line-height:1.6}.donationOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.donationOption{display:grid;place-items:center;grid-gap:13px;gap:13px;min-height:150px;border:1px solid rgba(213,255,63,.28);border-radius:18px;padding:18px;background:rgba(213,255,63,.06);color:var(--paper);text-align:center;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.donationOption:hover{transform:translateY(-4px);border-color:var(--lime);background:rgba(213,255,63,.12);box-shadow:0 0 22px rgba(213,255,63,.18)}.donationOption:last-child:hover{border-color:#75a7ff;background:rgba(93,139,255,.12);box-shadow:0 0 22px rgba(93,139,255,.18)}.donationOption span{font:600 12px/1.25 Space Grotesk,sans-serif}.donationLogo{width:auto;max-width:100%;height:auto;object-fit:contain}.donationLogoDeuna{max-height:72px}.donationLogoPaypal{max-height:42px}.aboutPanel{width:min(880px,100%);margin:4vh auto 0}.aboutHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.aboutContent{display:grid;grid-gap:16px;gap:16px;max-width:76ch;color:#d8daea;font-size:16px;line-height:1.75}.aboutContent p,.aboutNotice p{margin:0}.aboutContent strong{color:var(--lime)}.aboutNotice{display:grid;grid-gap:12px;gap:12px;border:1px solid rgba(255,79,163,.28);border-left:3px solid var(--pink);border-radius:16px;padding:20px;background:rgba(255,79,163,.06);color:var(--muted);font-size:14px;line-height:1.65}.aboutNotice .eyebrow{margin-bottom:0}.aboutNotice h2{margin:0;color:var(--paper);font:400 31px/1 Bebas Neue,sans-serif;letter-spacing:.03em}.aboutNoticeBlue{border-color:rgba(93,139,255,.3);border-left-color:var(--blue);background:rgba(93,139,255,.06)}.aboutBackButton{justify-self:start;text-decoration:none}.menuCard{width:100%;min-height:148px;height:100%;display:grid;align-content:start;grid-gap:8px;gap:8px;border:1px solid rgba(213,255,63,.28);box-shadow:0 0 0 1px rgba(213,255,63,.05),0 0 18px rgba(213,255,63,.04)}.menuCard strong{font:400 31px/1 Bebas Neue,sans-serif;letter-spacing:.03em}.menuIcon{color:var(--lime);font:700 13px/1 Space Grotesk,sans-serif;letter-spacing:.18em}.heroPanel,.panel{border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,rgba(22,27,56,.91),rgba(11,14,31,.89));box-shadow:0 22px 70px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{padding:clamp(20px,3.2vw,34px);position:relative}.heroPanel:before,.panel:before{position:absolute;top:0;left:12%;right:12%;height:1px;content:"";background:linear-gradient(90deg,transparent,rgba(213,255,63,.65),transparent);pointer-events:none}.narrowPanel{width:min(620px,100%);margin:9vh auto 0}.sectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.sectionHead>div:first-child{min-width:0}.roomCodeHeading{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.button,.ghostButton{min-height:48px;border-radius:12px;padding:0 19px;border:1px solid transparent;cursor:pointer;font:700 13px/1 Space Grotesk,sans-serif;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.navButton{display:inline-flex;align-items:center;justify-content:center;gap:8px}.navButton svg{width:16px;height:16px;flex:0 0 auto}.copyRoomButton{display:inline-flex;align-items:center;gap:7px;min-height:36px;border:1px solid rgba(213,255,63,.38);border-radius:999px;padding:0 12px;background:rgba(213,255,63,.07);color:var(--lime);cursor:pointer;font:700 11px/1 Space Grotesk,sans-serif;transition:transform .2s ease,background .2s ease,border-color .2s ease}.copyRoomButton svg{width:15px;height:15px}.copyRoomButton:hover{transform:translateY(-2px);border-color:var(--lime);background:rgba(213,255,63,.14)}.copyRoomButton.copied{border-color:rgba(93,139,255,.65);background:rgba(93,139,255,.14);color:#cbd5ff}.button{background:var(--lime);color:var(--night);box-shadow:0 5px 0 #829c1b}.button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 0 #829c1b,0 14px 30px rgba(213,255,63,.15)}.ghostButton{background:rgba(255,255,255,.035);border-color:var(--line);color:var(--paper)}.ghostButton:hover{border-color:var(--lime);color:var(--lime);background:rgba(213,255,63,.07)}.button.secondary{background:#293158;color:var(--paper);box-shadow:none}.input,.select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;outline:0;padding:0 14px;background:rgba(5,7,18,.66);color:var(--paper);transition:border-color .2s ease,box-shadow .2s ease}.input::placeholder{color:#6f7594}.artistInput:focus,.input:focus,.select:focus{border-color:var(--lime);box-shadow:0 0 0 4px rgba(213,255,63,.12)}.code{font:700 22px/1 Space Grotesk,sans-serif;letter-spacing:.23em;text-transform:uppercase}.phaseBadge,.statusBadge{display:inline-flex;align-items:center;gap:7px;width:-moz-fit-content;width:fit-content;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted);font:600 11px/1 Space Grotesk,sans-serif}.statusBadge:before{width:6px;height:6px;content:"";border-radius:50%;background:currentColor;box-shadow:0 0 9px currentColor}.phaseBadge,.statusBadge.accent{color:var(--lime);border-color:rgba(213,255,63,.45);background:rgba(213,255,63,.07)}.kpis,.summaryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi,.summaryCard{min-width:0;display:grid;grid-gap:7px;gap:7px;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:17px;background:rgba(42,49,91,.48)}.kpi strong{color:var(--lime);font:400 42px/.8 Bebas Neue,sans-serif}.kpi span,.summaryCard span{font:600 10px/1 Space Grotesk,sans-serif;letter-spacing:.09em;text-transform:uppercase}.summaryCard strong{overflow:hidden;color:var(--paper);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.genreGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.genrePanel{min-height:150px;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px;background:rgba(5,7,18,.3)}.genreHeader{display:flex;justify-content:space-between;margin-bottom:12px;font-size:12px}.artistTokens,.genreList{display:flex;flex-wrap:wrap;gap:8px}.artistToken,.genreChip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:rgba(42,49,91,.7);color:var(--paper);cursor:pointer;font-size:12px;transition:.2s ease}.artistToken:hover,.genreChip:hover{border-color:var(--pink);transform:translateY(-1px)}.genreChip.selected{border-color:var(--lime);color:var(--lime);background:rgba(213,255,63,.1)}.genreIcon{width:14px;height:14px}.artistComposer{position:relative;display:grid;grid-gap:9px;gap:9px}.artistTokens{min-height:48px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:7px;background:rgba(5,7,18,.66)}.artistToken{padding:6px 9px;border-color:rgba(213,255,63,.36);color:var(--lime);background:rgba(213,255,63,.08)}.artistTokenClose{color:var(--pink);font-weight:700}.artistInput{flex:1 1;min-width:145px;border:0;outline:0;background:transparent;color:var(--paper);padding:7px}.artistSuggestions{display:grid;grid-gap:5px;gap:5px;border:1px solid var(--line);border-radius:12px;padding:7px;background:#11152c;box-shadow:0 18px 36px rgba(0,0,0,.3)}.artistSuggestion{border:0;border-radius:8px;padding:10px;background:transparent;color:var(--paper);text-align:left;cursor:pointer}.artistSuggestion:hover{background:rgba(213,255,63,.1);color:var(--lime)}.artistSuggestionManual{border:1px dashed rgba(213,255,63,.45);color:var(--lime)}.gameGrid,.lobbyLayout{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(300px,.68fr);grid-gap:22px;gap:22px;align-items:start}.playerRow{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;border-bottom:1px solid rgba(255,255,255,.09)}.playerRow:last-child{border-bottom:0}.playerRow strong{font-weight:600}.playerRow>div:last-child{text-align:right;color:var(--lime);font-family:Space Grotesk,sans-serif}.notice{border:1px solid rgba(93,139,255,.25);border-radius:12px;padding:13px 14px;background:rgba(93,139,255,.09);color:#cbd5ff;font-size:13px;line-height:1.45}.notice.error{border-color:rgba(255,111,145,.45);background:rgba(255,111,145,.1);color:#ffd4df}.editorHint{display:grid;grid-gap:10px;gap:10px}.gameStage{min-height:550px}.gameExitButton{margin-top:6px}.gameStageHeader{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line)}.gameHeaderActions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.videoMask{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(213,255,63,.25);border-radius:20px;background:#050711;box-shadow:0 0 0 5px rgba(93,139,255,.08)}.videoFrame{position:absolute;inset:-28% -28%;width:156%;height:156%;border:0;pointer-events:none}.optionButton{display:flex;align-items:center;gap:13px;min-height:61px;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 14px;background:rgba(42,49,91,.52);color:var(--paper);text-align:left;cursor:pointer;transition:.2s ease}.optionButton.selected,.optionButton:hover{border-color:var(--pink);background:rgba(255,79,163,.1);transform:translateX(4px)}.progressTrack{height:7px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.1)}.progressFill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lime),var(--pink));box-shadow:0 0 14px rgba(255,79,163,.5)}.modalOverlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(5,7,18,.83);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.startRoomModal{width:min(470px,100%);border:1px solid rgba(213,255,63,.4);border-radius:26px;padding:32px;background:linear-gradient(145deg,#1b2144,#101329);box-shadow:0 30px 90px rgba(0,0,0,.5),0 0 70px rgba(93,139,255,.18)}.startRoomPulse{width:64px;height:64px;margin-bottom:26px;border:2px solid var(--lime);border-radius:50%}.startRoomMessage{min-height:48px;color:var(--paper);font-size:17px;line-height:1.45}.startRoomMeta{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:820px){.heroPanel{min-height:auto;grid-template-columns:1fr;padding:30px 24px 24px}.heroPanel:after{font-size:100px;bottom:10px}.heroCopy{padding-bottom:30px}.releaseNotes{max-width:none}.heroVisual{width:min(680px,100%);margin:0 auto}.heroMascot{min-height:250px}.supportDock{align-items:stretch;flex-direction:column}.supportActions{justify-content:stretch}.aboutButton,.donationButton,.instagramButton{justify-content:center}.donationOptions{grid-template-columns:1fr}.aboutHeader{flex-direction:column}.gameGrid,.lobbyLayout{grid-template-columns:1fr}}@media (max-width:620px){.page{padding-inline:14px}.heroTitle{font-size:92px}.genreGrid,.kpis,.menuCards,.summaryGrid{grid-template-columns:1fr}.menuCard{min-height:118px}.heroMascot{min-height:220px}.heroMascotImage{width:min(72vw,280px);max-height:270px}.gameStageHeader,.row,.sectionHead{align-items:stretch;flex-direction:column}.row>*{width:100%}.sectionHead .pillRow{align-self:flex-start}.roomCodeHeading{align-items:flex-start;flex-direction:column}.gameHeaderActions{justify-content:stretch}.gameHeaderActions>*{flex:1 1}.button,.ghostButton{width:100%}.gameStage{min-height:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.heroPanel,.panel{position:relative}.gameGrid>.panel:last-child,.sidePanel{position:-webkit-sticky;position:sticky;top:24px}.gameStageHeader .phaseBadge{white-space:nowrap}.gameStageHeader .sectionTitle{max-width:15ch}.gameStage .kpi{background:linear-gradient(135deg,rgba(213,255,63,.11),rgba(93,139,255,.08))}.artistSuggestion:focus-visible,.artistToken:focus-visible,.genreChip:focus-visible,.menuCard:focus-visible,.optionButton:focus-visible,.panel .button:focus-visible,.panel .ghostButton:focus-visible{outline:3px solid var(--paper);outline-offset:3px}@media (max-width:820px){.gameGrid>.panel:last-child,.sidePanel{position:static}}.heroPanel{animation:panelIn .65s cubic-bezier(.2,.75,.2,1) both}.menuCard{transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}.menuCard:hover{transform:translateY(-6px);border-color:var(--lime);background:linear-gradient(135deg,rgba(42,49,91,.85),rgba(213,255,63,.08));box-shadow:0 0 0 1px var(--lime),0 0 18px rgba(213,255,63,.5),0 18px 34px rgba(0,0,0,.25)}.menuCard:nth-child(2):hover{border-color:var(--pink);box-shadow:0 0 0 1px var(--pink),0 0 18px rgba(255,79,163,.5),0 18px 34px rgba(0,0,0,.25);background:linear-gradient(135deg,rgba(42,49,91,.85),rgba(255,79,163,.08))}.panel{animation:panelIn .55s cubic-bezier(.2,.75,.2,1) .05s both}.startRoomPulse{animation:pulseRecord 2.4s ease-in-out infinite,spinRecord 8s linear infinite}.progressFill{transition:width .25s linear}.statusBadge.accent:before{animation:statusBlink 1.5s ease-in-out infinite}@keyframes panelIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseRecord{0%,to{box-shadow:inset 0 0 0 10px rgba(213,255,63,.1),inset 0 0 0 20px rgba(255,79,163,.16),0 0 0 0 rgba(213,255,63,.18)}50%{box-shadow:inset 0 0 0 10px rgba(213,255,63,.1),inset 0 0 0 20px rgba(255,79,163,.16),0 0 0 17px rgba(213,255,63,0)}}@keyframes spinRecord{to{transform:rotate(1turn)}}@keyframes statusBlink{50%{opacity:.35}}