/* Launch lobby presentation. Gameplay camera and controls remain in index.html. */
#menu .menuWrap>*{min-width:0}#menu .coinContent{min-width:0}#menu #spark{max-width:45%}
#menu{padding:clamp(14px,3vh,32px);background:linear-gradient(90deg,rgba(8,5,14,.62),rgba(8,5,14,.16) 48%,rgba(8,5,14,.66));overflow:auto;scrollbar-width:thin}
#menu .menuWrap{width:min(1120px,100%);grid-template-columns:1fr minmax(360px,470px);gap:clamp(30px,6vw,90px);align-items:center;margin:auto}
.brandLockup{display:flex;align-items:center;gap:22px;margin-bottom:16px}.brandLockup img{border-radius:22px;border:1px solid #ff9c4855;box-shadow:0 12px 48px #0008;width:112px;height:112px;object-fit:cover}
#menu .logo{font-size:clamp(58px,6.8vw,90px);line-height:.87;text-shadow:0 2px 0 #371700,0 0 36px #ff791a45}
#menu .logoSub{font-size:10px;letter-spacing:.17em;margin:0 0 22px;line-height:1.5}
#menu .card{background:linear-gradient(145deg,rgba(25,17,34,.91),rgba(12,9,19,.88));border-color:#dfb5ff29;border-radius:20px;box-shadow:0 20px 70px #0005}
#menu .pane{padding:20px 24px}.joinHeading .eyebrow{font-size:10px;letter-spacing:.22em;color:#ffb777}.joinHeading h2{font-size:32px;line-height:1.15;margin:8px 0;color:#fff3e6}.joinHeading p{font-size:12px;color:#bfb0ce;margin-bottom:24px}
.fieldLabel{display:block;font-size:10px;letter-spacing:.14em;color:#c9b9d6;margin-bottom:7px}#menu .nameRow{margin-top:0}#menu input.txt{background:#07050c99;border-color:#b697d148;min-height:46px}#menu #playBtn{font-size:14px;padding:10px 20px;white-space:nowrap;box-shadow:0 4px 22px #ff7a1a20}
#menu .charRow{padding:12px 0;margin-top:6px;border-bottom:1px solid #b697d126;font-size:10px;gap:8px}#menu .charRow b{font-size:12px}#menu .charRow .btn{font-size:10px;letter-spacing:.02em}
#menu .err{min-height:14px;margin-top:7px}#menu .codeRow{margin:4px 0 14px}#menu #codeLink{color:#d3c1ea;text-underline-offset:4px;line-height:1.5}#menu #codeBox{margin-top:12px}#menu #codeIn{font-size:13px}#menu #codeBtn{font-size:11px;white-space:nowrap}
#menu .prizeLine{margin:12px 0;padding:12px;background:#8550c410;border:1px solid #ba91ec22;border-radius:10px;font-size:11px;line-height:1.6}
#menu summary{cursor:pointer;font-size:11px;color:#dbcde9;padding:10px 0;list-style:none;display:flex;align-items:center;gap:8px}#menu summary::before{content:'+';color:#ffb777;font-size:16px}#menu details[open]>summary::before{content:'−'}#menu summary:focus-visible{outline:2px solid #ffd58b;outline-offset:3px}
#menu .menuSettings,#menu .menuGuide{border-top:1px solid #b697d126}#menu .menuSettings[open]{padding-bottom:10px}#menu .setRow{margin-top:8px}#menu .saveHint{font-size:10px;line-height:1.5;color:#9e8eaf;margin-top:12px}
#menu .coinPanel>summary{font-size:11px;letter-spacing:.12em;padding:0}#menu .coinPanel>summary span{font-size:10px;letter-spacing:0;color:#a794b8;margin-left:auto}#menu .coinPanel[open]>summary{margin-bottom:16px}#menu .coinContent>h3{display:none}#menu .stat{background:#ffffff05;padding:8px 10px}#menu .stat small{font-size:9px}#menu .stat b{font-size:16px}#menu .caLine .btn{font-size:10px;padding:8px}#menu .unlock{margin-top:12px}#menu .menuFoot a{padding:7px 12px;border-radius:6px;color:#e1cde9}
#menu .guideBody{max-height:210px;overflow:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}#menu .steps{max-height:none;overflow:visible;gap:6px}#menu .step{padding:8px}#menu .step div>b{font-size:12px}#menu .step span{font-size:11px}#menu .keys{padding-bottom:12px;font-size:10px}
@media(max-height:740px){#menu .pane{padding:16px 20px}.joinHeading p{margin-bottom:16px}.joinHeading h2{font-size:28px}#menu .logoSub{margin-bottom:14px}.brandLockup{margin-bottom:12px}#menu .charRow{padding:9px 0}#menu .prizeLine{padding:8px;margin:8px 0}}
@media(max-width:700px){#menu{padding:14px;align-items:center}#menu .menuWrap{grid-template-columns:1fr;gap:12px;max-width:470px}.brandLockup{gap:14px;margin-bottom:6px}.brandLockup img{width:64px;height:64px;border-radius:12px}#menu .logo{font-size:44px;line-height:.85}#menu .logoSub{font-size:8px;margin:8px 0 10px}#menu .coinPanel{padding:10px 14px;border-radius:12px}#menu .pane.joinPanel{padding:18px}#menu .joinHeading h2{font-size:25px}#menu .joinHeading p{margin-bottom:16px;font-size:11px}.joinHeading .eyebrow{font-size:9px}#menu .charRow{flex-wrap:wrap}#menu .charRow .btn{padding:8px}#menu .saveHint{font-size:9px;margin-top:8px}#menu .guideBody{max-height:160px}}
@media(max-height:500px) and (min-width:701px){#menu{padding:12px 20px}#menu .menuWrap{grid-template-columns:1fr minmax(350px,440px);gap:28px}#menu .logo{font-size:58px}.brandLockup img{width:80px;height:80px}#menu .joinHeading{display:none}#menu .pane.joinPanel{padding:12px 18px}#menu .saveHint{display:none}#menu .codeRow{margin-bottom:8px}#menu summary{padding:6px 0}#menu .prizeLine{margin:5px 0;padding:6px}#menu .charRow{padding:6px 0}#menu .guideBody{max-height:110px}}
@media(max-width:700px) and (max-height:720px){#menu{padding:10px}#menu .menuWrap{gap:8px}#menu .pane.joinPanel{padding:14px}#menu .joinHeading p{margin-bottom:12px}#menu .joinHeading h2{margin:5px 0}#menu .codeRow{margin-bottom:8px}#menu .charRow{padding:7px 0}#menu .logoSub{margin:6px 0}#menu .saveHint{margin-top:6px}#menu summary{padding:8px 0}}
@media(max-width:700px) and (max-height:800px){#menu:has(#codeBox[style*="flex"]) .joinHeading{display:none}}
