/* Game lobby: the character stage and start button remain the primary controls. */
body:not(.playing) .topbar{height:64px}.menu{display:grid;grid-template-columns:240px minmax(0,1fr);gap:12px 30px;max-width:1240px!important;align-items:center;padding:16px 28px!important}
.menu .lobby-brand{text-align:center;margin:0!important}.lobby-logo{display:block;width:220px;height:220px;margin:0 auto 16px;border-radius:24px;box-shadow:0 12px 45px #0008,0 0 50px #d69a251c}.menu .lobby-brand h1{font:900 35px/1.13 Cinzel,serif!important;color:#fff0bb;margin:16px 0!important}.menu .lobby-brand h1 br{display:block}.menu .lobby-brand h1 em{margin:0;color:#ffcf6c}.lobby-kicker{font-size:11px;letter-spacing:2px;color:#f4d398}.lobby-tag{font-size:13px;color:#d0d9bc}.lobby-lives{color:#ec8756;font-size:24px;letter-spacing:7px;text-shadow:0 0 18px #ef802966}
.menu .selection-title{margin:0!important}.hero-stage{height:310px}.character{height:252px!important}.stage-halo{background:radial-gradient(ellipse,#f4ba4c36,transparent 65%)}.stage-caption{font-size:11px}.hero-detail{min-height:90px!important;margin:0 auto!important}.hero-detail p{font-size:14px!important}.hero-detail .eyebrow{font-size:11px!important}.hero-detail h3{font-size:29px!important}.power-detail>span{font-size:11px}.departure>.eyebrow{display:none}.departure .primary{font-weight:900;letter-spacing:2px;min-width:300px;box-shadow:0 5px 0 #6c401a,0 0 32px #e9a43840;animation:start-glow 3s ease-in-out infinite}.lobby-tools{grid-column:1/-1;display:flex;justify-content:center;gap:12px;padding:12px 0;border-top:1px solid #d9b87530}.lobby-tools button{border:1px solid #d8b96d66;background:#122e25e8;color:#efdfb2;border-radius:5px;padding:12px 18px;font:700 12px 'DM Sans',sans-serif;letter-spacing:1px;cursor:pointer}.lobby-tools button:hover,.lobby-tools button:focus-visible{border-color:#ffe7a4;background:#29483a}.lobby-tools button:disabled{opacity:.65;cursor:default}.arcade-intro{grid-column:1/-1;text-align:center;margin:0!important;font-size:12px!important}
#lobby-dialog{color:#f6e7be;background:linear-gradient(145deg,#213d30,#10261e);border:2px solid #c6a45c;border-radius:14px;padding:30px;width:min(460px,90vw);max-height:85dvh;box-shadow:0 20px 100px #000b}#lobby-dialog::backdrop{background:#07130edb;backdrop-filter:blur(5px)}#lobby-dialog h2{font:700 24px Cinzel,serif;margin:8px 35px 20px 0;color:#ffdc8e}#lobby-dialog p,#lobby-dialog li{font-size:16px;line-height:1.6}#lobby-dialog ol{padding-left:23px}#lobby-dialog a{color:#ffdc8e}#lobby-dialog-body{white-space:normal}#lobby-dialog-body pre{white-space:pre-wrap;font:14px/1.7 monospace}#lobby-close{position:absolute;right:12px;top:12px;width:38px;height:38px;background:#ffffff0a;border:1px solid #d8b96d66;border-radius:50%;color:#ffe8b3;cursor:pointer}
@keyframes start-glow{50%{box-shadow:0 5px 0 #6c401a,0 0 46px #e9a43866}}
@media(max-width:700px){.menu{grid-template-columns:1fr;gap:7px;padding:10px 12px!important}.menu .lobby-brand{display:flex;align-items:center;justify-content:center;gap:16px}.lobby-logo{width:104px;height:104px;margin:0;border-radius:16px}.menu .lobby-brand h1{font-size:24px!important}.lobby-kicker,.lobby-tag,.lobby-lives{display:none}.hero-stage{height:265px}.character{height:215px!important}.hero-detail{min-height:85px!important}.power-detail{max-width:none}.hero-detail p{font-size:12px!important}.lobby-tools{gap:7px;flex-wrap:wrap;padding:10px 0}.lobby-tools button{padding:11px 10px;font-size:11px}.departure .primary{width:100%;min-width:0}.arcade-intro{font-size:11px!important}}
@media(min-width:600px) and (max-height:520px){body:not(.playing) .topbar{height:44px}.menu{grid-template-columns:140px minmax(0,1fr);gap:6px 16px;padding:4px 16px!important}.menu .lobby-brand{display:block}.lobby-logo{width:130px;height:130px;margin:auto}.menu .lobby-brand h1,.lobby-tag,.lobby-lives{display:none}.lobby-kicker{display:block;font-size:10px}.selection{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:4px}.selection-title{display:none!important}.hero-stage{height:170px;grid-column:1;grid-row:1}.character{height:140px!important;width:150px!important;margin-left:-75px!important;top:0!important}.carousel-arrow{top:60px;width:35px;height:35px}.stage-plinth{width:210px;height:35px;bottom:18px}.stage-caption{font-size:8px}.hero-detail{grid-column:2;grid-row:1;display:block!important;padding:4px!important;min-height:0!important}.hero-detail h3{font-size:21px!important}.hero-detail p{font-size:11px!important}.power-detail{max-width:100%;border:0;padding:4px 0}.power-detail p{display:none}.departure{grid-column:1/-1;margin:0!important}.departure .primary{padding:9px;min-width:250px;font-size:15px}.lobby-tools{padding:6px 0}.lobby-tools button{padding:8px 14px}.arcade-intro{display:none}}
@media(prefers-reduced-motion:reduce){.departure .primary{animation:none}}
/* PC title screen: one centered vertical reading order. */
@media (pointer:fine) and (min-width:701px){
 body:not(.playing) .topbar{height:46px;border-bottom:0;margin:0 24px}
 body:not(.playing) .topbar .brand{visibility:hidden}
 .menu{display:flex;flex-direction:column;align-items:stretch;gap:6px;max-width:1060px!important;padding:4px 28px 16px!important}
 .menu .lobby-brand{display:block;flex:none}
 .lobby-logo{width:clamp(96px,16vh,180px);height:clamp(96px,16vh,180px);margin:0 auto 8px;border-radius:20px}
 .menu .lobby-brand h1,.lobby-kicker,.lobby-tag,.lobby-lives{display:none!important}
 .selection{display:block;width:100%}
 .selection-title h2{font-size:12px!important;letter-spacing:4px}
 .hero-stage{height:clamp(195px,28vh,310px)}
 .character{height:clamp(150px,23vh,255px)!important;width:220px!important;margin-left:-110px!important}
 .carousel-arrow{top:36%;width:48px;height:48px}
 .carousel-arrow.prev{left:8%}.carousel-arrow.next{right:8%}
 .stage-plinth{bottom:26px;height:46px;width:340px}
 .stage-caption{bottom:2px;font-size:10px}
 .hero-detail{min-height:76px!important;padding:7px 24px!important;max-width:760px;margin:0 auto!important;gap:25px}
 .hero-detail h3{font-size:26px!important}.hero-detail p{font-size:13px!important}.hero-detail .eyebrow{font-size:10px!important}
 .departure{margin:8px 0 10px!important}.departure .primary{min-width:330px;padding:13px 34px}
 .lobby-tools{border:0;padding:6px 0;gap:16px}.arcade-intro{font-size:11px!important;margin:3px 0 0!important}
 body:not(.playing) .credits-link{opacity:.65}
}
/* Physical arcade controls, kept separate from in-game touch controls. */
.menu .departure .primary{border:3px solid #e9bc66;border-radius:40px;background:linear-gradient(#c25736 0%,#97321e 48%,#792918 51%,#ad4426 100%);color:#fff0c8;font-family:Cinzel,serif;font-weight:900;letter-spacing:3px;text-shadow:0 2px 1px #41170d;box-shadow:inset 0 2px 0 #ffd8a280,inset 0 -3px 0 #451b1380,0 6px 0 #4c2416,0 9px 0 #c1974d66,0 12px 28px #0008;animation:none;transition:filter .15s,transform .1s,box-shadow .1s}
.menu .departure .primary:hover,.menu .departure .primary:focus-visible{filter:brightness(1.2);outline:2px solid #ffedb4;outline-offset:5px;transform:translateY(-1px)}
.menu .departure .primary:active{transform:translateY(5px);box-shadow:inset 0 2px 5px #32190b,0 1px 0 #4c2416,0 4px 18px #0008}
.menu .lobby-tools button{border:2px solid #b89a58;border-radius:24px;background:linear-gradient(#365a46,#18372a 52%,#10291f);color:#f7df9e;font-family:Cinzel,serif;font-weight:800;letter-spacing:1px;box-shadow:inset 0 2px 0 #fff3bd33,0 4px 0 #091b13,0 5px 0 #c2a66866;padding:11px 20px;transition:transform .1s,filter .15s}
.menu .lobby-tools button:hover,.menu .lobby-tools button:focus-visible{background:linear-gradient(#527454,#2e4a31);filter:brightness(1.15);outline:2px solid #ffe3a1;outline-offset:3px}
.menu .lobby-tools button:active{transform:translateY(3px);box-shadow:inset 0 2px 5px #07190e,0 1px 0 #b89a5866}
.menu .carousel-arrow{border:2px solid #c6a461;background:radial-gradient(circle at 40% 25%,#5e7350,#183727 70%);box-shadow:inset 0 2px 2px #ffe7ac44,0 4px 0 #08190f,0 5px 0 #b4945666;color:#ffe0a0}
.menu .carousel-arrow:active{transform:translateY(3px)}
@media(prefers-reduced-motion:reduce){.menu button{transition:none!important}}
