.mobile-main-nav{display:none}.solo-modes{display:flex;gap:10px;padding:12px 4%;background:var(--menu-bg,#101218)}.solo-modes button{min-height:48px}.solo-modes button[aria-pressed=true]{border-color:var(--menu-accent,#ffe169);color:var(--menu-accent,#ffe169)}.solo-modes small{font-size:10px;margin-left:8px;opacity:.7}.campaign-panel{padding:60px 24px;text-align:center;min-height:45vh}.campaign-panel h2{font:800 42px 'Barlow Condensed',sans-serif}.campaign-panel p{color:#aeb8cb;line-height:1.6}.campaign-panel strong{color:var(--menu-accent,#ffe169)}.campaign-panel button{min-height:48px}.campaign-open .arcade-body,.campaign-open .arcade-footer,.campaign-open .mobile-music-bar{display:none!important}.solo-room-return{margin:0 4% 12px;min-height:48px;color:var(--menu-accent,#ffe169)}.badge-collection{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.achievement-badge{padding:12px;border:1px solid #455366;border-radius:8px;display:grid;gap:8px;justify-items:center;max-width:140px;text-align:center}.achievement-badge b{font-size:30px}.achievement-badge small{font-size:12px}.options-account-section .progress-open{width:100%;margin-top:12px}
@media(max-width:1024px){
 :root{--main-nav-height:64px;--mobile-header-height:56px}
 body[data-screen=menu] header{height:var(--mobile-header-height);padding:6px 16px;box-sizing:border-box}
 header .logo{max-width:65%}header .logo img{width:100%;max-width:220px;height:auto}
 body[data-screen=menu] .header-right>button:not(#sound){display:none}
 .mobile-main-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:90;height:calc(var(--main-nav-height) + env(safe-area-inset-bottom,0px));box-sizing:border-box;padding:4px 12px calc(4px + env(safe-area-inset-bottom,0px));background:var(--menu-panel,#171d26);border-top:1px solid #465167;gap:8px}
 .mobile-main-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;border:0;border-radius:6px;background:transparent;color:#aeb8cb;font:700 12px 'DM Sans',sans-serif;padding:4px}
 .mobile-main-nav button>span{font-size:21px;line-height:23px}.mobile-main-nav button[aria-current=page]{color:var(--menu-accent,#ffe169);background:var(--menu-bg,#0b1018);box-shadow:inset 0 3px currentColor}.battle-status{position:absolute;right:24%;top:4px;color:#8beba6;font-style:normal}
 body[data-screen=menu] #musicMenu{padding-bottom:calc(158px + env(safe-area-inset-bottom,0px))}
 .mobile-music-bar{bottom:calc(var(--main-nav-height) + 8px + env(safe-area-inset-bottom,0px))}
 body[data-destination=battle] #musicMenu,body[data-destination=settings] #musicMenu,.mobile-page-open #musicMenu{visibility:hidden;pointer-events:none}
 body[data-destination=battle],body[data-destination=settings],body.mobile-page-open{overflow:hidden}
 dialog.mobile-page[open]{position:fixed;inset:var(--mobile-header-height) 0 calc(var(--main-nav-height) + env(safe-area-inset-bottom,0px));width:auto;max-width:none;height:auto;max-height:none;margin:0;border:0;border-radius:0;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;padding:20px 16px 32px;z-index:80;background:var(--menu-bg,#101218);box-shadow:none}
 .mobile-page .rooms-head,.mobile-page .optionsTitle,.mobile-page .online-dialog-head,.mobile-page .progress-head{align-items:center}.mobile-page h2{font:800 32px 'Barlow Condensed',sans-serif}
 .mobile-page button,.mobile-page input:not([type=range]),.mobile-page select{min-height:48px}.mobile-page input[type=checkbox]{min-height:24px}
 .solo-modes{padding:10px 16px}.solo-modes button{flex:1;padding:8px;font-size:12px}.solo-modes small{display:block;margin:4px 0 0;font-size:9px}
 body[data-screen=game] .mobile-main-nav{display:none}body[data-screen=game] .solo-modes{display:none}
 body.mobile-panel-from-game .mobile-main-nav{display:none}body.mobile-panel-from-game dialog.mobile-page[open]{inset:0;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
 .mobile-page .rooms-code-row{flex-wrap:wrap}.mobile-page .rooms-code-row strong{overflow-wrap:anywhere}.mobile-page .rooms-settings-row{flex-wrap:wrap}
}

@media(max-width:1024px){body[data-screen=game]:has(#overlay.stage-results:not([hidden])) .mobile-main-nav{display:grid}body[data-screen=game]:has(#overlay.stage-results:not([hidden])) #overlay{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}}

@media(max-width:1024px){
 body[data-screen=menu] .arcade-head{display:none}
 body[data-screen=menu] header{gap:8px;padding:4px 10px;border-bottom:2px solid var(--menu-accent,#ffe169)}
 body[data-screen=menu] header .logo{flex:1;min-width:72px;max-width:220px}
 header .solo-modes{flex:none;padding:0;gap:2px;background:var(--menu-panel,#171d26);border:1px solid #455166;border-radius:6px;overflow:hidden}
 header .solo-modes button{flex:none;min-height:42px;padding:5px 8px;border:0;border-radius:4px;font-size:9px;letter-spacing:.3px;background:transparent}
 header .solo-modes button[aria-pressed=true]{background:var(--menu-accent,#ffe169);color:var(--menu-bg,#101218)}
 header .solo-modes small{display:none}
 body[data-screen=menu] header .header-right{flex:none;gap:0}
 body[data-screen=menu] header #sound{font-size:0;min-width:36px;min-height:42px;padding:4px;margin:0}
 body[data-screen=menu] header #sound:after{content:'♫';font-size:18px}
 body[data-destination=battle] header .solo-modes,body[data-destination=settings] header .solo-modes,.mobile-page-open header .solo-modes{display:none}
}

@media(max-width:1024px){body[data-screen=menu] header .logo{flex:none;min-width:40px;width:40px;max-width:40px}header .logo img{display:block;width:40px;height:40px}header .solo-modes{margin-left:auto}header .solo-modes button{font-size:10px;padding:5px 10px}}
