/* v0.22: a lobby that fits the viewport, with setup and analysis on demand. */
body.compact-lobby:not(.playing) #app{display:grid;grid-template-columns:minmax(250px,30%) minmax(0,1fr);grid-template-rows:48px 44px minmax(0,1fr);grid-template-areas:'header header' 'nav nav' 'choices arena';gap:12px;height:100dvh;min-height:360px;max-width:1200px;padding:10px max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left));margin:0 auto}
.compact-lobby:not(.playing) .topbar{position:static;height:auto;min-height:0;background:none;border:0;gap:8px}
.compact-lobby:not(.playing) .brand{font-size:16px;gap:8px}.compact-lobby:not(.playing) .brandmark{width:32px;height:32px}
.compact-lobby:not(.playing) .brand small{font-size:9px!important;margin-top:3px;letter-spacing:.5px}
.compact-lobby:not(.playing) .toolbar{gap:5px}.compact-lobby:not(.playing) .toolbar button{width:36px;height:36px;min-height:36px;min-width:36px;border-radius:10px}
.compact-lobby:not(.playing) .toolbar #pause,.compact-lobby:not(.playing) .profile-shortcut,.compact-lobby:not(.playing) .edition{display:none}
.compact-lobby:not(.playing) .toolbar #help{display:flex}
.compact-lobby:not(.playing) .lobby-nav{grid-area:nav;display:flex;gap:4px;padding:3px;border-radius:13px;min-width:0}
.compact-lobby:not(.playing) .lobby-nav button{flex:1;min-height:36px;min-width:0;padding:6px;display:block;text-align:center;border-radius:9px}
.compact-lobby:not(.playing) .lobby-nav strong{font-size:12px}.compact-lobby:not(.playing) .lobby-nav small,.compact-lobby:not(.playing) .lobby-nav .ui-icon{display:none}
.compact-lobby .lobby-selection{grid-area:choices;display:flex;flex-direction:column;gap:12px;min-width:0;justify-content:center}
.playing .lobby-selection{display:none}
.compact-lobby:not(.playing) #app>.understage{display:none}
.compact-lobby .lobby-selection .experience-select{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.compact-lobby .lobby-selection .experience-card{min-height:74px;padding:12px 9px;border-radius:12px}
.compact-lobby .lobby-selection .experience-copy strong{font-size:18px;letter-spacing:-.5px;line-height:1.05}
.compact-lobby .lobby-selection .experience-copy small,.compact-lobby .lobby-selection .experience-tag{display:none}
.compact-lobby .lobby-selection .experience-check{top:6px;right:6px;width:14px;height:14px;font-size:9px}
.compact-lobby .lobby-selection .fighter-select{margin:0;padding:12px;border-radius:15px}
.compact-lobby .lobby-selection .fighter-select-heading{margin:0 0 9px}.compact-lobby .lobby-selection .fighter-select-heading .label{font-size:9px}
.compact-lobby .lobby-selection .fighter-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.compact-lobby .lobby-selection .fighter-card{min-height:72px;padding:0 5px 0 0;gap:5px;border-radius:10px}
.compact-lobby .lobby-selection .fighter-card img{height:70px;width:40px}.compact-lobby .lobby-selection .fighter-card strong{font-size:15px}
.compact-lobby .lobby-selection .fighter-card b{font-size:6px;letter-spacing:0;line-height:1.4;margin:5px 0 0}.compact-lobby .lobby-selection .fighter-card i{display:none}
.compact-lobby .lobby-selection .fighter-choice-note{margin:5px 0 0;display:block}.compact-lobby .lobby-selection .fighter-choice-note p{display:none}
.compact-lobby .lobby-selection #moves-open{margin:0;min-height:36px;width:100%;padding:7px;background:transparent;border:0;font-size:11px}
.fight-setup-button{display:block;text-align:left;width:100%;min-height:62px;padding:11px 13px;border:1px solid #675631;border-radius:13px;background:linear-gradient(120deg,#322819,#15161e);color:#f0d58f}
.fight-setup-button>span{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}.fight-setup-button strong{display:block;font-size:12px;line-height:1.4;margin-top:6px;font-weight:400;color:#ded8ca}.fight-setup-button b{font-size:14px;line-height:10px}
.compact-lobby:not(.playing) #app>.arena{grid-area:arena;height:100%;min-height:0;max-height:none;width:100%;margin:0;border-radius:20px}
.compact-lobby:not(.playing) .arena-label,.compact-lobby:not(.playing) .arena #game{visibility:hidden}
.compact-lobby:not(.playing) .menu{padding:28px;align-items:stretch}
.compact-lobby:not(.playing) .menu-copy{display:flex;flex-direction:column;justify-content:flex-end;width:100%;max-width:none;height:100%;pointer-events:auto}
.compact-lobby:not(.playing) .menu .eyebrow{font-size:8px;letter-spacing:1px;margin:0 0 12px;line-height:1.5}
.compact-lobby:not(.playing) .menu h1{font-size:clamp(44px,6vw,84px);line-height:.96;letter-spacing:-2px;margin:0}
.compact-lobby:not(.playing) .menu h1 br{display:block}.compact-lobby:not(.playing) .menu h1 em{display:inline}
.compact-lobby:not(.playing) .menu .tagline,.compact-lobby:not(.playing) .menu-links,.compact-lobby:not(.playing) .orientation-tip,.compact-lobby:not(.playing) #training-open{display:none}
.compact-lobby:not(.playing) .menu .bout{font-size:13px;line-height:1.3;margin:14px 0 18px;padding-top:10px;max-width:240px}
.compact-lobby:not(.playing) .menu .start-row{display:flex;align-self:flex-start;width:fit-content;max-width:100%;margin:0}
.compact-lobby:not(.playing) .menu #start{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;max-width:100%;min-height:44px;padding:8px 16px;font-size:13px;line-height:1.2;text-transform:uppercase}
.compact-lobby:not(.playing) .menu #start svg{width:14px;height:14px;flex:none}
.compact-lobby:not(.playing) .menu #start:focus-visible{outline:2px solid #fff;outline-offset:3px}
.compact-lobby:not(.playing) .menu #loading{font-size:10px!important;line-height:1.4;margin:9px 0 0;max-width:none;min-height:14px}
.compact-lobby:not(.playing)[data-fighters=apk] .apk-keyart{inset:0 0 0 20%;grid-template-columns:1fr 1fr}
.compact-lobby:not(.playing) .apk-keyart img{object-position:center 15%}
.compact-lobby:not(.playing)[data-fighters=apk] .menu:after{background:linear-gradient(90deg,#070b11d9,#070b1133 75%),linear-gradient(0deg,#070b11 0%,#070b1199 40%,transparent 85%)}
.compact-lobby:not(.playing)[data-experience=rba] .menu>.key-art{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
/* Setup keeps large choices; only the dedicated screen scrolls. */
.compact-dialog{padding:24px;width:860px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:20px}
.compact-dialog-header{position:sticky;top:-24px;display:flex;align-items:center;gap:10px;padding:14px 44px 14px 0;margin-bottom:14px;background:#14161d;z-index:6}.compact-dialog-header .dialog-close{top:50%;right:0;transform:translateY(-50%)}
.compact-dialog-header h2{order:-1;flex:1;font:900 italic 26px/1.1 Arial,sans-serif;letter-spacing:-1px;margin:0}
.compact-dialog-header .dialog-build{position:static;margin:0;font-size:9px;white-space:nowrap}
#fight-setup-dialog .preflight{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:22px;position:static}
#fight-setup-dialog .setup-heading{display:none}#fight-setup-dialog .arena-choice{grid-column:1/-1}
#fight-setup-dialog .arena-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#fight-setup-dialog .arena-options[data-count='2']{grid-template-columns:1fr 1fr}
#fight-setup-dialog .arena-card{height:130px}#fight-setup-dialog .difficulty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#fight-setup-dialog .difficulty-options button{display:block;min-height:76px;padding:10px 5px;text-align:center}#fight-setup-dialog .choice-index,#fight-setup-dialog .difficulty-options small{display:block}
#fight-setup-dialog .style-options button{min-height:54px;padding:9px}#fight-setup-dialog .setup-summary{display:none}
.setup-dialog-actions{position:sticky;bottom:-24px;margin:20px -24px -24px;padding:12px 24px 18px;background:#14161df5;border-top:1px solid #393b45;z-index:5}.setup-dialog-actions button{width:100%;min-height:46px}
#training-menu #next-goal{display:flex;gap:12px;padding:12px;margin:0 0 18px;min-height:0;border-radius:12px}
#training-menu #next-goal .goal-symbol,#training-menu #next-goal-description,#training-menu #next-goal-progress{display:none}
#training-menu #next-goal .eyebrow{font-size:7px;margin:0 0 5px}#training-menu #next-goal h2{font:700 14px/1.3 Arial,sans-serif;letter-spacing:0;margin:0}
#training-menu .goal-actions{margin:0}#training-menu #next-goal-start{font-size:10px;min-height:40px;padding:8px}
#help-dialog footer{display:flex;flex-wrap:wrap;gap:12px;line-height:1.5;font-size:10px;margin:20px 0 0;padding:16px 0 0;border-top:1px solid #3b3d47}
/* One-screen scorecard; full analysis remains available through Details. */
.compact-lobby.playing #result{align-items:center;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.compact-lobby #result .result-panel{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:18px 24px;width:780px;max-width:100%;padding:24px;border-radius:20px;text-align:left}
.result-heading{min-width:0}.compact-lobby .result-heading .dialog-build{position:static;display:block;margin:0 0 12px}
.compact-lobby #result .eyebrow{display:block;font:600 8px/1.5 Arial,sans-serif;letter-spacing:1px;margin:0 0 6px}
.compact-lobby #result h2{font:900 italic clamp(36px,6vw,58px)/1 Arial,sans-serif;letter-spacing:-2px;margin:0}
.compact-lobby #result .result-matchup{font-size:11px;line-height:1.5;color:#b9bfce;margin:9px 0 0}
.compact-lobby #result .result-run{font-size:10px;color:#f0ce82;margin:8px 0 0;line-height:1.4}
.compact-lobby #result .result-numbers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;border:0;text-align:left}
.compact-lobby #result .result-numbers>div{padding:12px;border:1px solid #41434d;border-radius:12px;background:#ffffff04;min-width:0}
.compact-lobby #result .result-numbers span{font:600 8px/1.4 Arial,sans-serif;letter-spacing:.8px;color:#a8afbd}
.compact-lobby #result .result-numbers strong,.compact-lobby #result #result-combo{display:block;font:900 30px/1.1 Arial,sans-serif;letter-spacing:-1px;color:#f4f1e8;margin:5px 0 0}
.compact-lobby #result #result-xp{color:#f0c66c}
.result-actions{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:10px;grid-column:1/-1}
.compact-lobby #result .result-actions button{width:100%;min-height:48px;margin:0;padding:10px 12px;font-size:12px}
.result-save-note{grid-column:1/-1;display:block;text-align:center;color:#929caf;font-size:10px;line-height:1.4;margin-top:-7px}
#result-details-dialog{width:620px;text-align:left}#result-details-dialog p{font-size:13px;line-height:1.65;color:#c7ccd7}
#result-details-dialog .result-details{justify-content:flex-start;flex-wrap:wrap;font-size:12px;gap:16px}
#result-details-dialog .result-rules{font-size:10px;color:#cdb67b}#result-details-dialog .result-tip{padding:14px;border:1px solid #675b3f;background:#2b251c;border-radius:12px;color:#eadbb8}
#result-details-dialog .local-note{display:block;font-size:11px;line-height:1.5;margin:18px 0}
#result-details-dialog .combo-practice,#result-details-dialog .text-button{min-height:44px;display:block;margin:10px 0;padding:10px 14px;font-size:12px}
#result-details-done{width:100%;margin-top:16px}
.compact-lobby .training-result-panel{width:700px;max-width:100%;border-radius:18px;padding:24px;background:#141820}
.training-result-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.compact-lobby .training-result-actions button{flex:1;min-width:110px;min-height:44px;margin:0;padding:10px;font-size:11px}
.compact-lobby .training-result-panel h2{font-size:42px;margin:0}.compact-lobby .training-result-panel h2 br{display:none}.compact-lobby .training-result-panel h3{font-size:18px;margin:12px 0 4px}.compact-lobby .training-result-panel .local-note{display:block;font-size:10px;margin:8px 0 16px}
@media(orientation:portrait){
 body.compact-lobby:not(.playing) #app{grid-template-columns:minmax(0,1fr);grid-template-rows:46px 44px minmax(170px,1fr) auto;grid-template-areas:'header' 'nav' 'arena' 'choices';gap:10px;min-height:590px;padding:8px 12px max(12px,env(safe-area-inset-bottom))}
 .compact-lobby .lobby-selection{gap:8px;justify-content:flex-end}.compact-lobby .lobby-selection .experience-card{min-height:50px;padding:10px 12px}.compact-lobby .lobby-selection .experience-copy strong{font-size:19px}
 .compact-lobby .lobby-selection .fighter-select{padding:10px}.compact-lobby .lobby-selection .fighter-select-heading{display:none}
 .compact-lobby .lobby-selection .fighter-card{min-height:56px}.compact-lobby .lobby-selection .fighter-card img{height:54px;width:40px}.compact-lobby .lobby-selection .fighter-card strong{font-size:16px}
 .compact-lobby .lobby-selection .fighter-choice-note{margin:2px 0 0}.compact-lobby .lobby-selection #moves-open{min-height:32px;padding:5px}
 .fight-setup-button{min-height:54px;padding:9px 12px}.fight-setup-button strong{margin-top:4px;font-size:11px}
 .compact-lobby:not(.playing) .menu{padding:18px}.compact-lobby:not(.playing) .menu .eyebrow{font-size:7px;margin-bottom:6px}
 .compact-lobby:not(.playing) .menu h1{font-size:43px;line-height:.92}.compact-lobby:not(.playing) .menu .bout{font-size:12px;margin:8px 0 12px;padding-top:7px}
 .compact-lobby:not(.playing) .menu #loading{font-size:9px!important;margin-top:6px}
 .compact-lobby:not(.playing)[data-fighters=apk] .apk-keyart{inset:0 0 10% 0}.compact-lobby:not(.playing) .apk-keyart img{object-position:center 18%}
 .compact-lobby:not(.playing)[data-fighters=apk] .menu:after{background:linear-gradient(0deg,#070b11 0%,#070b11a9 45%,#070b1111 95%)}
 .compact-lobby #result .result-panel{grid-template-columns:1fr;width:450px;gap:18px;padding:22px}
 .compact-lobby #result h2{font-size:48px}.compact-lobby #result .result-numbers>div{padding:14px}.compact-lobby #result .result-numbers strong,.compact-lobby #result #result-combo{font-size:32px}
 .result-actions{gap:7px}.compact-lobby #result .result-actions button{font-size:11px;padding:10px 7px}
}
@media(max-width:600px){
 .compact-lobby:not(.playing) .brand{font-size:13px;gap:6px}.compact-lobby:not(.playing) .brandmark{width:28px;height:28px}.compact-lobby:not(.playing) .toolbar{gap:4px}.compact-lobby:not(.playing) .toolbar button{width:32px;height:36px;min-width:32px}
 .compact-lobby:not(.playing) .toolbar #help{display:none}
 .compact-dialog{padding:18px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:16px}.compact-dialog-header{top:-18px}.compact-dialog-header h2{font-size:24px}
 #fight-setup-dialog .preflight{grid-template-columns:1fr;gap:20px}#fight-setup-dialog .arena-options{grid-template-columns:1fr}
 #fight-setup-dialog .arena-card{height:100px}#fight-setup-dialog .arena-options[data-count='2']{grid-template-columns:1fr}
 .setup-dialog-actions{bottom:-18px;margin:18px -18px -18px;padding:10px 18px 14px}
}
@media(orientation:landscape) and (max-height:550px){
 body.compact-lobby:not(.playing) #app{grid-template-columns:minmax(235px,36%) minmax(0,1fr);grid-template-rows:38px 38px minmax(0,1fr);gap:8px;min-height:280px;padding:6px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))}
 .compact-lobby .lobby-selection{gap:8px;justify-content:center}.compact-lobby .lobby-selection .experience-card{min-height:44px;padding:8px}.compact-lobby .lobby-selection .experience-copy strong{font-size:16px}
 .compact-lobby .lobby-selection .fighter-select{padding:8px}.compact-lobby .lobby-selection .fighter-select-heading{display:none}.compact-lobby .lobby-selection .fighter-card{min-height:52px}.compact-lobby .lobby-selection .fighter-card img{height:50px;width:34px}.compact-lobby .lobby-selection .fighter-card strong{font-size:14px}.compact-lobby .lobby-selection #moves-open{min-height:30px;padding:4px;font-size:10px}.compact-lobby .lobby-selection .fighter-choice-note{margin:2px 0 0}
 .fight-setup-button{min-height:50px;padding:8px 10px}.fight-setup-button strong{font-size:10px;margin-top:3px}
 .compact-lobby:not(.playing) .menu{padding:16px 20px}.compact-lobby:not(.playing) .menu h1{font-size:43px;line-height:.92}.compact-lobby:not(.playing) .menu .eyebrow{font-size:7px;letter-spacing:.7px;margin-bottom:8px}.compact-lobby:not(.playing) .menu .bout{font-size:12px;margin:8px 0 12px;padding-top:6px}.compact-lobby:not(.playing) .menu #loading{font-size:9px!important;margin-top:6px}
 .compact-lobby #result .result-panel{padding:16px 20px;gap:12px 22px}.compact-lobby #result .result-numbers>div{padding:9px 12px}.compact-lobby #result .result-numbers strong,.compact-lobby #result #result-combo{font-size:26px}.compact-lobby #result .result-actions button{min-height:44px}
 .compact-lobby .training-result-panel{padding:14px 20px}.compact-lobby .training-result-panel .dialog-build{margin-bottom:8px}.compact-lobby .training-result-panel .eyebrow{margin:0 0 6px}.compact-lobby .training-result-panel h2{font-size:32px}.compact-lobby .training-result-panel h3{font-size:16px;margin:6px 0 0}.compact-lobby .training-result-panel p{margin:6px 0}.compact-lobby .training-result-panel .local-note{margin:6px 0 10px}
}
@media(orientation:landscape) and (max-height:320px){
 body.compact-lobby:not(.playing) #app{grid-template-rows:34px 36px minmax(0,1fr);gap:6px;padding-top:4px;padding-bottom:6px}
 .compact-lobby .lobby-selection .experience-copy strong{font-size:14px;white-space:nowrap}.compact-lobby .lobby-selection .fighter-select{padding:6px}
 .compact-lobby .lobby-selection{gap:6px}.compact-lobby .lobby-selection #moves-open{min-height:26px;font-size:10px;padding:3px}.compact-lobby .lobby-selection .fighter-card{min-height:44px}.compact-lobby .lobby-selection .fighter-card img{height:42px;width:30px}.compact-lobby .lobby-selection .fighter-card b{display:none}
 .fight-setup-button{min-height:44px;padding:6px 9px}.compact-lobby:not(.playing) .menu{padding:10px 15px}.compact-lobby:not(.playing) .menu h1{font-size:35px}.compact-lobby:not(.playing) .menu .eyebrow{display:none}.compact-lobby:not(.playing) .menu .bout{margin:6px 0 8px}
 .compact-lobby #result .result-panel{padding:12px 16px;gap:10px 20px}.compact-lobby #result .result-numbers>div{padding:8px 10px}.compact-lobby #result .result-numbers strong,.compact-lobby #result #result-combo{font-size:23px}.compact-lobby #result h2{font-size:38px}.compact-lobby .result-heading .dialog-build{margin-bottom:8px}
}
