/* Accepted mobile concept: real actor → 4×4 loadout → uninterrupted dance. */
#home.club-lobby{padding:24px;display:flex;background:#0e1426}#home .hero-shell{display:block;width:min(680px,100%);min-height:0;max-height:none;border-radius:20px;overflow:visible;background:#151e30;padding:24px}
.hero-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.hero-heading h1{flex-basis:100%;font-size:36px;font-style:normal;line-height:1.1;letter-spacing:-.04em;margin:0 0 20px;color:#fff8e8}.hero-body{display:block}
#home .solo-casting{display:block;padding:0;border:0;background:none;margin:0;overflow:visible}#home .solo-casting .lobby-preview{height:360px;border-radius:14px;overflow:hidden;background:#202a48}#home .character-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}#home .character-choice{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:72px;padding:14px 8px!important;font-size:13px}#home .character-choice .character-check{position:static}.hero-options details{border-bottom:1px solid #35415b}.hero-options summary{padding:16px 0;cursor:pointer;min-height:44px;font-size:13px;color:#d9e4f0}.hero-options summary>span{float:right;color:#aabbd2;font-size:12px}.hero-options .venue-choices{margin:8px 0 12px}.hero-options .song-choice{width:100%;margin-bottom:14px;min-height:48px}.hero-links{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.hero-links>a,.hero-links button{font-size:12px;min-height:44px;display:flex;align-items:center}.hero-links button{background:none;border-color:#4d5c77;padding:8px 12px}#home #homeRecord{display:block;margin-top:16px;line-height:1.5}#home .home-actions{display:block;position:static;padding:20px 0 0;margin:0;border:0;background:none}#home .home-actions #startRound{width:100%;text-align:center;font-size:17px;min-height:54px}
.loadout-screen{position:fixed;inset:0;z-index:45;background:#101727;color:#fff8e8;overflow:auto;padding:24px;overscroll-behavior:contain}.loadout-shell{max-width:1060px;margin:auto;display:grid;grid-template-columns:1fr 1.15fr;grid-template-rows:auto 1fr auto;gap:18px 26px;min-height:min(760px,calc(100dvh - 48px))}.loadout-head{height:auto;min-height:48px;grid-column:1/-1;display:flex;gap:16px;border:0}.loadout-head button{min-width:44px;min-height:44px;padding:8px;font-size:20px}.loadout-head h1{font-size:24px;font-weight:750;margin:0;letter-spacing:-.03em}.loadout-head>span{margin-left:auto;color:#dfff70;font-size:13px}.loadout-preview{grid-column:1;grid-row:2/4;position:relative;min-height:360px;overflow:hidden;border-radius:14px;background:#202a48}.loadout-preview #loadoutCanvas{position:absolute;inset:0}.loadout-preview canvas{width:100%;height:100%;display:block;touch-action:pan-y}.preview-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:14px;background:linear-gradient(transparent,#102030ef);gap:12px;pointer-events:none}.preview-caption small{font-size:10px;color:#e3edfa;display:block;text-shadow:0 1px 4px #000}.preview-caption b{font-size:20px;display:block;margin-top:4px}.preview-caption button{min-height:44px;min-width:44px;pointer-events:auto;background:#192139e8}.loadout-content{grid-column:2;min-height:0}.loadout-character{margin:0 0 16px}.loadout-character>span{display:block;font-size:18px;font-weight:700}.loadout-character small{display:block;font-size:12px;color:#a8bbd4;margin-top:6px}.loadout-group{margin:0 0 14px}.loadout-group h2{display:flex;gap:10px;font-size:12px;letter-spacing:.06em;color:var(--group-color);margin:0 0 7px}.loadout-group h2 span{font-size:10px;opacity:.7;letter-spacing:0}.loadout-group>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.loadout-group button{position:relative;text-align:left;min-height:69px;border-radius:10px;padding:9px 8px;border-top:2px solid var(--group-color);background:#202b41;overflow-wrap:anywhere}.loadout-group button small{display:block;font-size:9px;color:#a7b4ca;margin-bottom:6px}.loadout-group button strong{font-size:12px;line-height:1.2;display:block;font-weight:600}.loadout-group button>span{position:absolute;right:7px;top:7px;font-size:11px;color:var(--group-color)}.loadout-actions{grid-column:2;display:flex;flex-direction:column;gap:10px;padding:0;border:0;color:inherit}.loadout-actions>p{font-size:12px;color:#bdcce1;margin:0;line-height:1.4;min-height:17px}#loadoutModes{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#202b41;padding:4px;border:1px solid #4b5b77;border-radius:10px}#loadoutModes button{min-height:40px;font-size:13px;background:none;border:0;padding:8px}#loadoutModes button[aria-pressed=true]{background:#dfff70;color:#182416}#loadoutConfirm{min-height:52px;width:100%;font-size:16px;font-weight:750}.picker-heading{display:flex;align-items:center;gap:12px;margin-bottom:10px}.picker-heading button{min-height:44px;font-size:12px;padding:8px}.picker-heading h2{font-size:14px;color:#dfff70;margin:0}.move-search{display:block;font-size:11px;color:#adbed8;margin:12px 0}.move-search input{display:block;width:100%;border:1px solid #53617c;border-radius:8px;background:#202b41;color:#fff8e8;font:inherit;font-size:16px;padding:12px;min-height:44px;margin-top:6px}#pickerHint{font-size:12px;color:#b3c4db;margin:0}.picker-moves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:330px;overflow:auto;overscroll-behavior:contain;padding:3px}.picker-moves button{min-height:64px;padding:9px 7px;text-align:left;border-radius:9px}.picker-moves button strong{font-size:12px;display:block;line-height:1.25;overflow-wrap:anywhere}.picker-moves button small{font-size:10px;display:block;margin-top:6px;color:#a9bdd7}.picker-moves button[aria-pressed=true]{background:#334b3a;border:2px solid #dfff70;padding:8px 6px}.picker-moves>p{grid-column:1/-1;font-size:13px}
.mobile-timing{background:#202b41;border:1px solid #4a5c76;border-radius:9px;padding:9px 12px;margin:7px 0}.mobile-timing>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.mobile-timing b{font-size:15px}.mobile-timing span{font-size:11px;text-align:right;max-width:65%}.timing-track{position:relative;height:5px;margin-top:9px;background:#4a5a6b;border-radius:6px}.timing-track:after{content:'';position:absolute;top:0;bottom:0;right:0;width:var(--window,25%);background:#dfff70;border-radius:6px}.timing-track i{position:absolute;top:-3px;width:11px;height:11px;border-radius:50%;background:#fff8e8;transform:translateX(-50%);z-index:1}.mobile-timing[data-timed=false] .timing-track{opacity:.3}.mobile-timing[data-timed=false] .timing-track:after,.mobile-timing[data-timed=false] .timing-track i{display:none}.mobile-timing[data-kind=open]{border-color:#dfff70}.mobile-timing[data-kind=queued]{border-color:#aacfe4}.mobile-timing[data-kind=queued] span{color:#bce8ff}
#catalogToggle{font-size:12px}.keyboard[data-quick=true] .key-row{display:block}.keyboard[data-quick=true] .row-label{display:flex;width:auto;margin:0 0 6px}.keyboard[data-quick=true] .row-label small{display:none}.keyboard[data-quick=true] .row-pads{grid-template-columns:repeat(4,minmax(0,1fr))}.keyboard[data-quick=true]{grid-template-columns:1fr 1fr;gap:14px}.keyboard[data-quick=true] .pad{height:52px}.keyboard[data-quick=true] .pad strong{font-size:12px;margin-top:3px}.mobile-timing{display:none}
@media(max-width:700px),(max-height:460px) and (orientation:landscape) and (max-width:1000px){
 #home.club-lobby{padding:0}#home .hero-shell{padding:16px 16px calc(98px + env(safe-area-inset-bottom));border:0;border-radius:0;min-height:100dvh;width:100%}.hero-heading{gap:6px}.hero-heading h1{font-size:27px;margin:7px 0 14px}.hero-body{display:block}#home .solo-casting .lobby-preview{height:clamp(200px,35dvh,330px);border-radius:12px}#home .character-choices{margin-top:10px;gap:7px}#home .character-choice{min-height:56px;font-size:12px;padding:10px 6px!important;gap:4px}.hero-options{margin-top:8px}.hero-links{margin-bottom:0}.hero-options summary{padding:13px 0}.hero-options .lobby-more{margin-top:0}#home #homeRecord{font-size:11px;margin-top:9px}#home .home-actions{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#151e30f5;border-top:1px solid #35415b;z-index:3}#home .home-actions #startRound{min-height:54px;font-size:16px}
 .loadout-screen{padding:0;overflow:hidden;padding-top:env(safe-area-inset-top)}.loadout-shell{height:calc(100dvh - env(safe-area-inset-top));min-height:0;display:flex;flex-direction:column;gap:0;max-width:none}.loadout-head{min-height:54px;padding:5px 12px;flex:none;gap:12px}.loadout-head h1{font-size:22px}.loadout-head>span{font-size:12px}.loadout-preview{flex:none;min-height:0;height:clamp(170px,29dvh,260px);border-radius:0;margin:0 12px;border-radius:12px}.preview-caption{padding:10px}.preview-caption b{font-size:18px}.preview-caption small{font-size:9px}.loadout-content{flex:1;min-height:0;overflow-y:auto;padding:12px 14px 10px;overscroll-behavior:contain}.loadout-character{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.loadout-character>span{font-size:13px}.loadout-character small{font-size:10px;margin:0;max-width:50%;text-align:right}.loadout-group{margin-bottom:13px}.loadout-group button{min-height:58px}.loadout-group button strong{font-size:12px}.loadout-group h2{font-size:11px}.loadout-group button small{margin-bottom:4px}.loadout-actions{padding:10px 14px calc(10px + env(safe-area-inset-bottom));flex:none;background:#151e30;border-top:1px solid #35415b;gap:7px}.loadout-actions>p{font-size:11px;min-height:15px}#loadoutConfirm{min-height:48px;font-size:15px}#loadoutModes{padding:3px}#loadoutModes button{min-height:36px;font-size:12px}.picker-moves{max-height:none;overflow:visible}.picker-moves button{min-height:64px}.picker-heading{gap:9px;margin-bottom:6px}.picker-heading h2{font-size:12px}.move-search{margin:10px 0;font-size:11px}.move-search input{font-size:16px}
 body[data-control-bank=loadout][data-screen=playing] .app header,body[data-control-bank=loadout][data-screen=paused] .app header{height:44px}.app header nav button{min-width:38px;min-height:40px;padding:6px}.app header nav{gap:3px}.app header #catalogToggle{display:block}.app .hud{height:48px}.app .hud small{font-size:8px}.app .hud strong{font-size:25px}.app .hud #combo{font-size:8px}.app .hud .clock strong{font-size:25px}
 body[data-control-bank=loadout] .app .arena{min-height:100px}body[data-control-bank=loadout] .app .arena-top #phase{font-size:11px}.app .arena-top{top:8px}.app .flow-line{display:none}.app .dance-signal{display:none!important}.app .comic{width:120px;padding:7px;top:30px;right:10px}.app .comic-title{font-size:15px}.app .comic-points{font-size:22px}.app .comic-kicker{font-size:8px}.app .comic-rhythm{display:none}
 .app .mobile-timing{display:block;flex:none;margin:6px 0;padding:8px 10px;min-height:43px}.app .mobile-timing b{font-size:13px}.app .mobile-timing span{font-size:10px}.app .timing-track{margin-top:8px;height:4px}
 body[data-control-bank=loadout][data-screen=playing] .app .deck,body[data-control-bank=loadout][data-screen=paused] .app .deck{max-height:none;display:block;padding-top:0;flex:none;min-height:0}body[data-control-bank=loadout] .deck-heading,body[data-control-bank=loadout] #movePages,body[data-control-bank=loadout] .acro-families{display:none!important}
 .app .keyboard[data-quick=true]{display:grid;grid-template-columns:1fr;gap:7px;padding:2px 2px 4px;max-height:none;overflow:visible}.app .keyboard[data-quick=true] .row-label{display:flex;align-items:center;margin:0 0 4px;padding:0;height:12px}.app .keyboard[data-quick=true] .row-label strong{font-size:10px;line-height:12px;letter-spacing:.06em}.app .keyboard[data-quick=true] .row-pads{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.app .keyboard[data-quick=true] .pad{height:clamp(44px,6.15dvh,52px);min-height:44px;padding:5px 7px;border-top:2px solid var(--color);align-items:center}.app .keyboard[data-quick=true] .pad strong{font-size:12px;line-height:1.15;font-weight:650;margin:0;letter-spacing:-.015em}.app .keyboard[data-quick=true] .pad[data-active=true]{background:#dfff70;color:#182416;border-color:#dfff70;box-shadow:none;padding-bottom:15px}.app .keyboard[data-quick=true] .pad[data-queued=true]{border:2px dashed #dfff70;padding-bottom:15px}.app .keyboard[data-quick=true] .pad[data-active=true]:after,.app .keyboard[data-quick=true] .pad[data-queued=true]:after{content:attr(data-state-label);position:absolute;bottom:3px;left:7px;top:auto;right:auto;padding:0;font-size:7px;letter-spacing:.035em;color:inherit;background:none}.app .keyboard[data-quick=true] .pad[data-suggested=true]{outline:none;box-shadow:inset 0 0 0 1px #dfff70}.app .keyboard[data-quick=true] .pad .link-badge{font-size:10px;right:3px;top:3px}.app .deck-footer{padding:3px 2px 6px}.app .deck-footer button{min-height:44px;font-size:12px}.app .round-progress{margin-bottom:3px;flex:none}
}
@media(max-width:370px),(max-height:650px) and (orientation:portrait){
 .loadout-preview{height:clamp(130px,26dvh,180px)}.loadout-head{min-height:48px}.loadout-actions{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.loadout-actions>p{font-size:10px}.loadout-group button strong{font-size:11px}.loadout-character{display:none}
 .app .keyboard[data-quick=true]{gap:5px}.app .keyboard[data-quick=true] .row-label{margin-bottom:3px;height:10px}.app .keyboard[data-quick=true] .row-label strong{font-size:9px;line-height:10px}.app .keyboard[data-quick=true] .pad{height:44px;font-size:11px;padding-left:6px}.app .keyboard[data-quick=true] .pad strong{font-size:11px}.app .keyboard[data-quick=true] .pad[data-active=true]:after,.app .keyboard[data-quick=true] .pad[data-queued=true]:after{font-size:6px;bottom:2px}.app .hud{height:40px}.app .hud strong{font-size:23px}.app .mobile-timing{min-height:38px;padding:6px 8px;margin:4px 0}.app .mobile-timing span{font-size:9px}.app .deck-footer{padding-bottom:4px}.app .deck-footer button{min-height:40px}.app .comic{display:none}
}
@media(max-height:460px) and (orientation:landscape) and (max-width:1000px){
 .loadout-screen{padding:8px 12px}.loadout-shell{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:44px 1fr auto;height:calc(100dvh - 16px);gap:6px 12px;min-height:0}.loadout-head{grid-column:1/-1;padding:0;min-height:40px}.loadout-preview{grid-column:1;grid-row:2/4;margin:0;min-height:0;height:auto}.loadout-content{grid-column:2;grid-row:2;min-height:0;overflow-y:auto;padding:0}.loadout-actions{grid-column:2;grid-row:3;padding:6px 0 0;gap:4px}.loadout-character{display:none}.loadout-actions>p{font-size:10px}#loadoutModes button{min-height:32px}#loadoutConfirm{min-height:40px}.loadout-group button{min-height:50px}.picker-moves{max-height:none}.loadout-group{margin-bottom:9px}
 .app .mobile-timing{display:block;grid-column:1;grid-row:3;margin:5px 0 0;padding:7px 10px}.app main{grid-template-rows:48px minmax(0,1fr) 45px!important}.app .hud{height:48px}.app .deck{grid-row:1/4!important}body[data-control-bank=loadout] .app .keyboard[data-quick=true]{display:grid;grid-template-columns:1fr;gap:5px;padding:2px;overflow-y:auto}.app .keyboard[data-quick=true] .row-label{display:flex!important;margin-bottom:3px;height:10px}.app .keyboard[data-quick=true] .row-label strong{font-size:9px}.app .keyboard[data-quick=true] .row-pads{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.app .keyboard[data-quick=true] .pad{height:44px;min-height:44px;padding:5px}.app .keyboard[data-quick=true] .pad strong{font-size:11px;margin:0}.app .deck-footer{flex:none}.app .deck-footer button{min-height:40px}
}
@media(max-width:370px){.app header .brand{font-size:16px;gap:3px}.app header nav button{white-space:nowrap;font-size:11px}.app header .brand>span{font-size:24px}}

@media(max-height:460px) and (orientation:landscape) and (max-width:1000px){
 body[data-control-bank=loadout][data-screen=playing] .app .deck,body[data-control-bank=loadout][data-screen=paused] .app .deck{display:flex;flex-direction:column;max-height:none}
 body[data-control-bank=loadout] .app .deck-heading,body[data-control-bank=loadout] .app #movePages{display:none!important}.app .dance-signal,.app .flow-line{display:none!important}.app .keyboard[data-quick=true]{flex:1;min-height:0;max-height:none}
}

#home .character-choice img{display:block;width:64px;height:58px;object-fit:cover;object-position:center 30%;border-radius:7px;margin-bottom:4px}#home .character-choice{position:relative}#home .character-choice .character-check{position:absolute;top:7px;right:7px}
/* Preview captions never cover the feet or support hand. */
.loadout-preview #loadoutCanvas{bottom:54px}.preview-caption{height:54px;background:#19263c;padding:8px 12px}.preview-caption b{font-size:17px;margin-top:2px}
@media(max-width:700px) and (orientation:portrait){.loadout-preview{height:clamp(220px,31dvh,280px)}}
@media(max-width:370px),(max-height:650px) and (orientation:portrait){.loadout-preview{height:190px}}
#home .character-choice img[src*="photo-boy"]{object-position:center top}

/* Stay with the selected controls through the mobile round. */
@media(max-width:700px),(max-height:460px) and (orientation:landscape) and (max-width:1000px){body[data-control-bank=loadout] .app header #catalogToggle{display:none!important}.desktop-controls{display:none}}
.help-tap{display:none}body[data-input-mode=tap] .help-tap{display:inline}body[data-input-mode=tap] .help-hold{display:none}
.help-options{text-align:left;border-top:1px solid #40506a;margin:16px 0}.help-options>summary{cursor:pointer;padding:12px 0;min-height:44px;font-size:12px;color:#b5c7e2}

/* Result navigation stays reachable even when the score/advice need scrolling. */
#result>div{display:flex;flex-direction:column;max-height:calc(100dvh - 24px);overflow:hidden}
.result-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 2px}
.result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;flex:none;padding-top:10px}
.result-actions #again{grid-column:1/-1}.result-actions>button{min-height:44px;margin:0!important;font-size:12px;padding:9px 6px}.result-actions .text-button{background:#243249;border:1px solid #53607a;border-radius:8px;color:#dce7f2}
@media(max-width:700px),(max-height:460px) and (orientation:landscape) and (max-width:1000px){#result{padding:12px}#result>div{padding:16px}.result-actions{padding-top:8px}.result-content .result-tip{font-size:11px}}
/* The Yandex quick-player is the single player control; local audio keeps mute. */
body[data-external-music=true] .app header #sound{display:none}
.mobile-timing[data-kind=travel] .timing-track:before{content:'';position:absolute;inset:0;background:#dfff70;transform:scaleX(var(--progress,0));transform-origin:left}
.mobile-timing[data-kind=travel] .timing-track i{opacity:0}
@media(max-width:700px),(max-height:460px) and (orientation:landscape) and (max-width:1000px){
 body[data-screen=playing] .app,body[data-screen=paused] .app{padding-top:env(safe-area-inset-top)}
 #home .hero-shell{padding-top:calc(16px + env(safe-area-inset-top))}
 .app header nav button{min-width:44px;min-height:44px}
 .app .keyboard[data-quick=true] .pad[data-active=true]:after,.app .keyboard[data-quick=true] .pad[data-queued=true]:after{font-size:8px}
 .app .deck-footer button{min-height:44px}
}
@media(max-height:460px) and (orientation:landscape) and (max-width:1000px){.app{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}}

#home .home-actions{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
#home .career-entry{display:grid;place-items:center;text-align:center;color:#dfff70;border:1px solid #62785b;border-radius:10px;background:#213630;text-decoration:none;min-height:48px;padding:6px;font-size:14px;font-weight:750}
#home .career-entry:focus-visible{outline:2px solid #dfff70;outline-offset:2px}
