/* Landscape training console. Existing desktop presentation is preserved. */
#game-tools[hidden],#game-rotate[hidden]{display:none!important}
.game-contact-options[hidden]{display:none!important}
.game-contact-options>summary{cursor:pointer}
.game-picker-close{display:none}
.nmc-mobile-game{--game-top:56px;--game-bottom:54px;--game-edge:10px;--bg:#000;--ink:#f6f6f8;--muted:#c1c1cb;--line:#45454f}
.nmc-mobile-game.nmc-game-ready{height:100dvh;overflow:hidden;background:#000;color:#f6f6f8}
.nmc-mobile-game.nmc-game-ready>header{position:fixed;inset:0 0 auto;height:calc(var(--game-top) + env(safe-area-inset-top));min-height:0;padding:calc(5px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 5px max(12px,env(safe-area-inset-left));display:grid;grid-template-columns:104px minmax(0,1fr) auto auto;gap:12px;align-items:center;background:#08090c;border-bottom:1px solid #47444d;z-index:30}
.nmc-mobile-game header .brand{grid-column:1;grid-row:1;width:100px;height:41px;border-radius:6px}
.nmc-mobile-game #game-tools{grid-column:2;grid-row:1;display:flex;gap:8px;align-items:center;min-width:0}
.nmc-mobile-game .game-tool{position:relative;background:#24242c;color:#f3f3f8;border:1px solid #55535f;border-radius:8px;font-size:14px;padding:7px 10px;min-height:36px;white-space:nowrap}
.nmc-mobile-game #game-pending-count{position:absolute;right:-5px;top:-5px;background:#e10822;border:2px solid #08090c;color:#fff;border-radius:20px;min-width:23px;font-size:12px;line-height:19px;text-align:center;padding:0 4px}
.nmc-mobile-game header .profile{grid-column:3;grid-row:1;font-size:18px;min-height:40px;gap:8px;margin:0;color:#fff}
.nmc-mobile-game header .profile #header-name{max-width:145px}
.nmc-mobile-game header .profile .gear{font-size:19px;color:#c4c1cd}
.nmc-mobile-game header .header-xp{display:flex;grid-column:4;grid-row:1;margin:0;padding:5px 10px;gap:6px;border:1px solid #b64659;background:#29131c;color:#fff;font-size:15px}
.nmc-mobile-game .header-xp b{font-family:var(--display);font-size:28px;line-height:1}
.nmc-mobile-game .header-xp>span:last-child{font-size:13px;color:#ffcbd4}
.nmc-mobile-game header nav{position:fixed;inset:auto 0 0;height:calc(var(--game-bottom) + env(safe-area-inset-bottom));min-height:0;width:100%;padding:0 max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));display:flex;gap:0;overflow:hidden;background:#101116;border-top:1px solid #5a414c;z-index:50}
.nmc-mobile-game header .nav{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;font-size:18px;min-height:var(--game-bottom);padding:8px 4px;color:#ccc8d3;letter-spacing:0}
.nmc-mobile-game header .nav+.nav{border-left:1px solid #34323b}
.nmc-mobile-game header .nav.active{background:#32131e;color:#fff}
.nmc-mobile-game header .nav.active:after{top:0;bottom:auto;height:3px;background:#f13e58}
.nmc-mobile-game header .nav span{margin-left:0;font-size:13px;background:#36303e;color:#fff}
.nmc-mobile-game.nmc-game-ready>main{position:fixed;inset:calc(var(--game-top) + env(safe-area-inset-top)) 0 calc(var(--game-bottom) + env(safe-area-inset-bottom));height:auto;width:100%;max-width:none;padding:var(--game-edge) max(var(--game-edge),env(safe-area-inset-right)) var(--game-edge) max(var(--game-edge),env(safe-area-inset-left));overflow:auto;overscroll-behavior:contain;background:#000}
.nmc-mobile-game>main>footer{display:none}
.nmc-mobile-game #train-view{height:100%;min-height:0}
.nmc-mobile-game #training-workspace{display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,2fr);grid-template-rows:44px minmax(0,1fr);height:100%;min-height:0;padding:0;gap:8px;align-items:stretch}
.nmc-mobile-game #gesture-picker{grid-column:2;grid-row:1;order:initial;min-width:0;position:static;z-index:auto}
.nmc-mobile-game .gesture-picker-summary{height:44px;min-height:0;flex-wrap:nowrap;gap:10px;padding:6px 12px;border-radius:10px;background:#17151c;border-color:#4b4351}
.nmc-mobile-game .gesture-picker-summary>span:first-child{font-size:11px;display:flex;align-items:baseline;gap:10px;overflow:hidden;color:#c2bcc9}
.nmc-mobile-game .gesture-picker-summary strong{font-size:18px;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}
.nmc-mobile-game .gesture-picker-action{font-size:13px;min-height:30px;color:#ff99ac}
.nmc-mobile-game .gesture-catalog{position:fixed;inset:calc(var(--game-top) + env(safe-area-inset-top) + 8px) max(20px,env(safe-area-inset-right)) calc(var(--game-bottom) + env(safe-area-inset-bottom) + 8px) max(20px,env(safe-area-inset-left));z-index:70;margin:0;padding:16px;overflow:auto;box-shadow:0 0 0 100vmax #000b;background:#17151c;color:#f6f6fa;border:1px solid #b44c60}
.nmc-mobile-game .gesture-catalog .section-heading{min-height:30px;height:auto}
.nmc-mobile-game .gesture-catalog .section-heading{width:calc(100% - 86px)}
.nmc-mobile-game .game-picker-close{display:block;position:absolute;right:12px;top:12px;font-size:14px;min-height:34px;padding:7px 10px}
.nmc-mobile-game .gesture-catalog .section-heading h2{font-size:21px}
.nmc-mobile-game .gesture-catalog .section-heading h2 span{font-size:14px}
.nmc-mobile-game .gesture-catalog .filters{gap:8px;margin:10px 0}
.nmc-mobile-game .gesture-catalog .filter{font-size:16px;min-height:38px;padding:8px 14px}
.nmc-mobile-game .gesture-catalog .catalog-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:12px}
.nmc-mobile-game .gesture-catalog input,.nmc-mobile-game .gesture-catalog select{font-size:16px;min-height:40px;padding:9px;margin:0}
.nmc-mobile-game .gesture-catalog .drill-list{display:grid;grid-template-columns:1fr 1fr;max-height:none;overflow:visible;gap:8px}
.nmc-mobile-game .gesture-catalog .drill-group-heading{grid-column:1/-1;font-size:16px}
.nmc-mobile-game .drill-info b{font-size:17px}.nmc-mobile-game .drill-info small{font-size:14px}
.nmc-mobile-game .level-mini,.nmc-mobile-game .xp-card-bonus{font-size:12px}
.nmc-mobile-game #training-sidebar{--medal-light:#ffdfb6;--medal-mid:#d79b62;--medal-dark:#6c3b23;--medal-ink:#21130c;grid-column:1;grid-row:1 / span 2;order:initial;position:relative;top:auto;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;max-height:none;padding:10px 12px;gap:6px;overflow:auto;scrollbar-width:thin;box-shadow:none;background:radial-gradient(ellipse at 50% 40%,#2a1c24,#111116 80%)}
.nmc-mobile-game #training-sidebar[data-medal=silver]{--medal-light:#f5fbff;--medal-mid:#b8cbd9;--medal-dark:#607789;--medal-ink:#15232f}
.nmc-mobile-game #training-sidebar[data-medal=gold]{--medal-light:#fff2ac;--medal-mid:#e6c04a;--medal-dark:#8d6816;--medal-ink:#302408}
.nmc-mobile-game .timer-sidebar-heading{display:none}
.nmc-mobile-game #challenge-panel{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;min-height:0}
.nmc-mobile-game .training-sidebar .timer-box{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;border:3px solid var(--medal-light);background:radial-gradient(circle at 32% 23%,var(--medal-light),var(--medal-mid) 58%,var(--medal-dark));color:var(--medal-ink);flex:none;width:min(180px,max(112px,calc(100dvh - 220px)));max-width:calc(100% - 16px);height:auto;aspect-ratio:1;padding:20px 12px;gap:2px;margin:7px auto;box-shadow:0 0 0 3px var(--medal-dark),0 0 0 5px var(--medal-mid),inset 0 0 0 5px var(--medal-mid),inset 0 0 0 7px var(--medal-dark),inset 0 0 0 9px var(--medal-light)}
.nmc-mobile-game .training-sidebar .timer-box:before{inset:11px;font-size:130px}
.nmc-mobile-game .training-sidebar .timer-box .eyebrow{font-size:11px;line-height:1.25;letter-spacing:.3px;min-height:28px;max-width:145px;color:var(--medal-ink)}
.nmc-mobile-game .training-sidebar .timer,.nmc-mobile-game.running .training-sidebar .timer{font-size:clamp(35px,12dvh,54px);line-height:1.1;letter-spacing:-.5px;color:var(--medal-ink)}
.nmc-mobile-game .training-sidebar .timer span{font-size:.55em;color:var(--medal-ink)}
.nmc-mobile-game .timer-medal-level{display:block;font-size:12px;line-height:1.3;color:var(--medal-ink)}
.nmc-mobile-game .training-sidebar #timer-button{width:100%;max-width:240px;min-height:44px;margin:0 auto;padding:8px 10px;border-radius:10px;font-size:18px;gap:12px}
.nmc-mobile-game .training-sidebar .timer-button-space{width:100%;max-width:240px;margin:0 auto}
.nmc-mobile-game .training-sidebar .cancel{font-size:13px;min-height:28px;padding:0;margin:0;line-height:1.3}
.nmc-mobile-game .timer-settings{order:3;width:100%;text-align:center;align-self:auto;flex:none;margin:0;font-size:14px}
.nmc-mobile-game .timer-settings:not([open]){position:absolute;top:2px;right:7px;width:auto;z-index:2}
.nmc-mobile-game .timer-settings>summary{min-height:24px;padding:3px 0;text-align:center;font-size:12px;color:#ffadbc}
.nmc-mobile-game .timer-settings[open]{position:absolute;inset:0;max-height:none;z-index:5;padding:10px;overflow:auto;background:#17141d;border:0}
.nmc-mobile-game .timer-settings .challenge-options label,.nmc-mobile-game .timer-settings .personal-best,.nmc-mobile-game .timer-settings .timer-help{font-size:14px;line-height:1.5}
.nmc-mobile-game .timer-settings select{font-size:16px;min-height:38px;padding:7px}
.nmc-mobile-game .timer-settings .xp-preview b,.nmc-mobile-game .timer-settings .xp-preview div>span{font-size:14px}
.nmc-mobile-game .training-sidebar .save-result{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,85vw);max-height:calc(100dvh - 50px);z-index:80;margin:0;padding:20px;overflow:auto;box-shadow:0 0 0 100vmax #000b}
.nmc-mobile-game .save-result>strong{font-size:27px}.nmc-mobile-game .save-result p,.nmc-mobile-game .save-result .check{font-size:16px}
.nmc-mobile-game .save-result .result-actions{flex-wrap:nowrap}.nmc-mobile-game .save-result .result-actions button{font-size:16px;min-height:44px}
.nmc-mobile-game .studio{grid-column:2;grid-row:2;order:initial;height:100%;min-height:0;width:auto;display:flex;flex-direction:column;border-radius:12px;background:#111116;border-color:#514650}
.nmc-mobile-game .studio-top,.nmc-mobile-game .mode-tabs,.nmc-mobile-game #learn-panel{display:none}
.nmc-mobile-game .animation-controls{flex:none;display:flex;gap:10px;align-items:center;margin:6px 8px 0;flex-wrap:nowrap}
.nmc-mobile-game .animation-controls label{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}
.nmc-mobile-game .animation-controls select,.nmc-mobile-game .animation-controls button{font-size:13px;min-height:32px;padding:5px 8px;margin:0}
.nmc-mobile-game .animation-controls button{margin-left:auto}
.nmc-mobile-game .animation-controls p{display:none}
.nmc-mobile-game .training-visuals{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch;flex:1;min-height:0;margin:8px}
.nmc-mobile-game .mat-demonstration{display:flex;flex-direction:column;gap:4px;min-height:0;min-width:0}
.nmc-mobile-game .training-visuals .mat-stage{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;border-radius:8px;border:1px solid #6f8e5d}
.nmc-mobile-game .stage-label{font-size:10px;min-height:0;line-height:1.3;letter-spacing:0;padding:5px 7px 0;gap:4px;flex:none}
.nmc-mobile-game .stage-label span:last-child{font-size:10px;max-width:60%;text-align:right}
.nmc-mobile-game .stage-label,.nmc-mobile-game .stage-bottom{display:none}
.nmc-mobile-game .training-visuals #mat{flex:1;min-height:0;height:0;max-height:none;aspect-ratio:auto;width:100%;margin:0}
.nmc-mobile-game .stage-bottom{font-size:10px;line-height:1.3;flex:none;gap:4px;padding:2px 6px 5px}
.nmc-mobile-game .movement-detail{flex:none;margin:0!important;line-height:1.25}
.nmc-mobile-game .movement-detail>span{display:block;font-size:12px;line-height:1.3;padding:3px 6px;min-height:0;border-radius:5px}
.nmc-mobile-game .movement-detail p{font-size:12px;line-height:1.35;margin:4px 0 0}
.nmc-mobile-game #training-contact{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;margin:0;padding:7px;border-radius:8px;overflow:hidden;background:#17171d;border-color:#554b59}
.nmc-mobile-game .contact-heading{display:none}.nmc-mobile-game .contact-heading h3{font-size:13px;line-height:1.3;margin:0 0 5px}
.nmc-mobile-game .contact-eyebrow,.nmc-mobile-game .contact-badge,.nmc-mobile-game .contact-intro{display:none}
.nmc-mobile-game .training-visuals .contact-scene{flex:1;min-height:0;height:0;aspect-ratio:auto;width:100%;border-radius:6px}
.nmc-mobile-game .contact-current{display:flex;gap:5px;margin-top:5px;flex:none}
.nmc-mobile-game #training-contact .contact-label{font-size:12px;line-height:1.35;min-height:0}
.nmc-mobile-game #training-contact .contact-index{font-size:11px;min-width:26px;margin-top:0}
.nmc-mobile-game #training-contact .contact-action{flex:none;font-size:12px;line-height:1.3;margin:3px 0;min-height:0}
.nmc-mobile-game .game-contact-options{flex:none;font-size:12px}
.nmc-mobile-game .game-contact-options>summary{font-size:12px;min-height:26px;padding:3px 0;color:#ffb2c0}
.nmc-mobile-game .game-contact-options[open] .game-contact-options-content{position:absolute;inset:0;z-index:4;padding:42px 10px 10px;overflow:auto;background:#17151e}
.nmc-mobile-game .game-contact-options[open]>summary{position:absolute;top:8px;left:10px;z-index:5;background:#34303e;border-radius:6px;padding:5px 10px}
.nmc-mobile-game .game-contact-options .contact-controls,.nmc-mobile-game .game-contact-options .contact-navigation{gap:6px;display:flex;flex-wrap:wrap}
.nmc-mobile-game .game-contact-options label,.nmc-mobile-game .game-contact-options button,.nmc-mobile-game .game-contact-options select{font-size:14px;min-height:34px;padding:5px}
.nmc-mobile-game .game-contact-options .contact-legend,.nmc-mobile-game .game-contact-options .contact-note{font-size:13px;line-height:1.4}
.nmc-mobile-game .game-contact-options #learn-panel{display:block!important}
.nmc-mobile-game .game-contact-options .animation-controls{flex-wrap:wrap;margin:0 0 12px}
.nmc-mobile-game .game-contact-options #instructions{padding:0;gap:12px}
.nmc-mobile-game .game-contact-options .instruction p,.nmc-mobile-game .game-contact-options .gesture-note{font-size:15px;line-height:1.6}
.nmc-mobile-game .game-contact-options .steps-head{margin:16px 0 12px}
.nmc-mobile-game .game-contact-options .steps-head h3{font-size:18px}
.nmc-mobile-game .game-contact-options .gesture-note{margin:14px 0}
.nmc-mobile-game #records-view,.nmc-mobile-game #ranking-view{padding:8px 12px 20px}
.nmc-mobile-game .records-intro{padding:5px 0 18px}.nmc-mobile-game .records-intro h1{font-size:38px;margin:8px 0}
.nmc-mobile-game .records-intro p{font-size:16px}.nmc-mobile-game .records-intro .eyebrow{font-size:12px}
.nmc-mobile-game .ranking-filters{display:flex;padding:12px}.nmc-mobile-game .ranking-filters label,.nmc-mobile-game .ranking-filters select,.nmc-mobile-game .ranking-filters button{font-size:15px}
.nmc-mobile-game dialog{max-height:calc(100dvh - 24px);width:min(780px,calc(100vw - 32px));padding:18px;overflow:auto;background:#17151d;color:#f8f7fc;border-color:#675361}
.nmc-mobile-game .dialog-head{margin-bottom:16px}.nmc-mobile-game .dialog-head h2{font-size:28px}
.nmc-mobile-game #game-space-dialog .admin-entry{padding-top:0}.nmc-mobile-game #game-space-dialog .account-bar{font-size:16px}
.nmc-mobile-game #game-space-dialog .training-overview{margin:8px 0}.nmc-mobile-game #game-space-dialog .intro{padding-top:10px}
.nmc-mobile-game #game-space-dialog .training-overview>summary{font-size:18px}
#game-rotate{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at 50% 25%,#2b1620,#07070b 75%);color:#fff;text-align:center}
.game-rotate-card{max-width:400px}
.game-rotate-icon{width:110px;height:110px;color:#ff738b;margin:0 auto 18px}
.game-rotate-card h2{font-family:var(--display);font-size:42px;line-height:1.1;margin:0 0 16px;text-transform:uppercase}
.game-rotate-card p{font-size:19px;line-height:1.65;color:#ded9e4;margin:0 0 24px}
.game-rotate-card .primary{font-size:19px;min-height:54px;padding:14px 22px}
.game-rotate-card small{display:block;font-size:15px;line-height:1.6;color:#c5bdcd;margin-top:20px}
#game-fullscreen-status{font-size:16px;line-height:1.5}
@media(max-height:360px) and (orientation:landscape){
 .nmc-mobile-game{--game-top:48px;--game-bottom:46px;--game-edge:6px}
 .nmc-mobile-game header .brand{width:87px;height:36px}
 .nmc-mobile-game header .nav{font-size:16px;min-height:46px}
 .nmc-mobile-game .training-sidebar .timer-box{padding:14px 9px;margin:6px auto}
 .nmc-mobile-game .training-sidebar .timer-box .eyebrow{font-size:9px;min-height:22px}
 .nmc-mobile-game .training-sidebar .timer{font-size:35px}
 .nmc-mobile-game .timer-medal-level{font-size:10px}
 .nmc-mobile-game .training-sidebar #timer-button{min-height:40px;font-size:16px}
 .nmc-mobile-game .timer-settings>summary{font-size:12px;min-height:22px}
 .nmc-mobile-game .stage-bottom{display:none}
}
@media(max-width:720px) and (orientation:landscape){
 .nmc-mobile-game>header{grid-template-columns:90px minmax(0,1fr) auto auto;gap:7px}
 .nmc-mobile-game #game-tools{gap:5px}.nmc-mobile-game .game-tool{font-size:12px;padding:6px}
 .nmc-mobile-game header .profile{font-size:15px;gap:6px}.nmc-mobile-game header .profile #header-name{max-width:95px}
 .nmc-mobile-game header .header-xp{padding:5px 7px}.nmc-mobile-game .header-xp b{font-size:24px}
 .nmc-mobile-game .gesture-picker-summary>span:first-child{font-size:0;gap:0}.nmc-mobile-game .gesture-picker-summary strong{font-size:16px}
 .nmc-mobile-game .gesture-picker-action{font-size:12px}
 .nmc-mobile-game .animation-controls label{font-size:0}.nmc-mobile-game .animation-controls select{font-size:13px}
}
