/* Touch controls and phone panels; desktop keeps its separate right column. */
.mobile-nav,.mobile-board-toolbar,.mobile-selection,.mobile-sheet-toolbar,.mobile-pause-note,.mobile-panel-backdrop{display:none}
.board-viewport{min-width:0}
.battle-panel:fullscreen .board-viewport{flex:1;min-height:360px}
.battle-panel:fullscreen .board-wrap{height:100%;aspect-ratio:auto}
@media(max-width:780px), (max-width:1024px) and (max-height:600px) and (pointer:coarse){
 html{scroll-padding-bottom:100px;-webkit-text-size-adjust:100%}
 body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 body.mobile-sheet-open{overflow:hidden;overscroll-behavior:none}
 .app-shell{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
 .topbar{height:88px;gap:16px;justify-content:space-between}
 .brand{margin-left:12px}.brand-logo{width:128px}.topbar nav,.system-status,.status-dot{display:none}
 .top-actions{gap:3px;margin-left:0}.top-actions .icon-button,.help-button{width:44px;height:44px;min-width:44px;border-radius:10px;margin:0}
 .top-actions svg{width:18px;height:18px}.help-button{font-size:18px}
 main{padding-top:15px}.heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:0 0 14px;align-items:stretch}
 .heading>div{display:contents}.heading .eyebrow,.heading>div>p{display:none}
 h1{grid-column:1/-1;font-size:23px;line-height:1.13;max-width:none;margin:0 0 3px;letter-spacing:-.5px}h1 span{display:inline}
 .player-trigger,.mission-switch{width:100%;min-width:0;min-height:48px;margin:0;padding:9px 10px;gap:7px;border-radius:9px;text-align:left}
 .player-trigger{font-size:10px;line-height:1.4}.player-trigger>svg{width:18px;flex-shrink:0}.player-trigger b{display:block;font-size:11px}
 .mission-switch{align-items:center}.mission-symbol{font-size:10px;padding:6px}.mission-switch small{font-size:7px;letter-spacing:.5px}.mission-switch b{font-size:11px;line-height:1.3}
 .stats{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}
 .stat{min-width:0;min-height:69px;padding:12px 10px;gap:9px}.stat small{font-size:7px;letter-spacing:.6px;line-height:1.5}.stat strong{font-size:23px}
 .stat-icon{width:30px;height:32px;border-radius:8px}.stat-icon svg{width:18px}.stat-tail{font-size:9px}
 .mini-health{left:49px;right:10px;bottom:7px}
 .stat:nth-child(3),.stat:nth-child(4){min-height:50px;padding:8px 10px}
 .stat:nth-child(3) .stat-icon,.stat:nth-child(3) .stat-tail,.autonomy-note,.autonomy #autonomyLabel{display:none}
 .stat:nth-child(3)>div{display:flex;align-items:center;gap:10px;flex:1}.stat:nth-child(3) small{order:2;margin:0}.stat:nth-child(3) strong{font-size:19px}
 .autonomy-ring{width:34px;height:34px;padding:3px}.autonomy-ring span{width:28px;height:28px;font-size:9px}.autonomy small{margin-bottom:0}
 .game-layout{display:flex;flex-direction:column;gap:12px}.battle-panel{width:100%;border-radius:12px;min-width:0}
 .panel-toolbar{padding:5px 10px;height:56px;gap:5px}.map-title{gap:7px}.map-title b{font-size:12px}
 .map-controls{gap:4px}.map-controls button{width:44px;height:44px;font-size:15px;border-radius:8px}.map-controls .icon-button svg{width:17px;height:17px}
 .studio-strip{min-height:34px;padding:6px 10px;gap:7px;font-size:9px;flex-wrap:wrap}.studio-file{font-size:9px}.studio-stage{font-size:7px;letter-spacing:.3px}#studioNodeCount{font-size:8px}
 .flow-brief{padding:10px;gap:6px}.flow-brief>span:first-child{width:100%;font-size:8px;line-height:1.4}
 .flow-chip{font-size:10px;padding:5px 7px;line-height:1.4;letter-spacing:0!important;margin:0!important}.flow-chip i{margin:0 4px}
 .mobile-board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line);background:#11242f}
 .mobile-board-toolbar>span{font-size:10px;color:#a3bdc9;line-height:1.5}.mobile-board-toolbar button{min-height:44px;padding:8px 13px;font-size:12px;color:#c4f1ff;border:1px solid #62cff755;border-radius:8px;background:#00adee0d;white-space:nowrap}
 .mobile-board-toolbar button[aria-pressed="true"]{color:#001822;background:var(--arctic);border-color:var(--arctic)}
 .mobile-selection{display:flex;gap:9px;align-items:center;justify-content:space-between;padding:9px 10px;background:#a0e72010;border-bottom:1px solid #a0e72044}
 .mobile-selection b{display:block;color:#c0ef6b;font-size:12px;line-height:1.5}.mobile-selection small{display:block;color:#c1d8d0;font-size:10px;margin-top:2px}
 .mobile-selection button{min-height:44px;padding:8px 10px;border:1px solid #a0e72044;background:transparent;border-radius:7px;font-size:11px}
 .board-viewport{width:100%;overflow:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-width:thin;scrollbar-color:#42e3b477 #11242f;scroll-margin:12px}
 .board-wrap{width:100%;aspect-ratio:1200/720;min-height:0}.board-viewport.zoomed{overscroll-behavior:contain;max-height:55vh;max-height:55svh}.board-viewport.zoomed .board-wrap{width:760px;min-width:760px;aspect-ratio:1200/720}
 #board{touch-action:pan-x pan-y pinch-zoom}.board-hint{display:none}.map-coordinate{font-size:6px}.map-coordinate span{font-size:5px}
 .board-viewport.zoomed .entry-tag,.board-viewport.zoomed .company-tag{font-size:8px}.board-viewport.zoomed .map-coordinate{font-size:8px}
 .placement-feedback{position:absolute;left:50%;top:10px;transform:translateX(-50%);max-width:calc(100% - 20px);width:max-content;font-size:11px;line-height:1.5;padding:8px 12px;margin:0}
 .pause-overlay h2{font-size:18px}.pause-overlay .primary{min-height:44px;font-size:13px}
 .wave-panel{padding:12px;display:grid;grid-template-columns:1fr;gap:10px}.wave-info{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px}.wave-info>strong{margin:0;font-size:12px}.wave-label{font-size:10px}.wave-progress{grid-column:1/-1;margin:4px 0 0}
 .launch-button{min-height:50px;width:100%;justify-content:center;font-size:13px;padding:12px}
 .ability-bar{display:grid;grid-template-columns:1fr 1fr;padding:10px;gap:8px}.ability{min-height:54px;border:1px solid var(--line);padding:8px;border-radius:8px;gap:7px}.ability b{font-size:10px;line-height:1.4}.ability small{font-size:8px;line-height:1.5;margin-top:3px}.ability-icon{width:28px;height:30px;flex-shrink:0}
 .right-sidebar{display:contents}.right-sidebar .advisor-dock,.right-sidebar .arsenal,.services-panel{display:none}
 .mobile-panel-backdrop:not(.hidden){display:block;position:fixed;inset:0;z-index:30;background:#00131db3;backdrop-filter:blur(4px)}
 .right-sidebar .advisor-dock.mobile-panel-open,.right-sidebar .arsenal.mobile-panel-open,.services-panel.mobile-panel-open{display:block;position:fixed;z-index:35;left:max(8px,env(safe-area-inset-left,0px));right:max(8px,env(safe-area-inset-right,0px));bottom:calc(79px + env(safe-area-inset-bottom,0px));width:auto;max-width:560px;margin:0 auto;padding:14px;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;border:1px solid #638e9b99;border-radius:18px;background:#152630;box-shadow:0 -12px 50px #0006;scroll-padding:12px}
 .mobile-sheet-toolbar{position:sticky;top:-14px;background:#152630;z-index:2;display:flex;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-bottom:4px;font-size:12px;font-weight:600;color:#c4f1ff}
 .mobile-sheet-toolbar button{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:10px;background:#00adee08;color:var(--text);font-size:25px}
 .mobile-panel-budget{font-variant-numeric:tabular-nums;color:#c0ef6b}
 .mobile-pause-note{display:block;grid-column:1/-1;font-size:10px!important;line-height:1.5;margin:0 0 14px!important;color:#a3bdc9!important}
 .arsenal-heading{margin-bottom:14px}.arsenal-heading .eyebrow{font-size:9px}.arsenal h2{font-size:18px}.tool-count{font-size:11px}
 .tool-list{grid-template-columns:1fr;gap:8px}.tool-card{min-height:76px;padding:12px!important;gap:11px}.tool-icon{width:38px;height:40px}.tool-copy{min-width:0}.tool-copy b{font-size:13px}.tool-copy small,.tool-card:last-child .tool-copy small{font-size:10px;line-height:1.5}.tool-fit,.tool-card:last-child .tool-fit{font-size:10px;line-height:1.5}.tool-key{display:none}.tool-price{font-size:14px;flex-shrink:0}.tool-price small{font-size:9px}
 .tower-details{margin:15px 0 0;padding-top:15px}.tower-details h3{font-size:16px}.tower-details p,.match-detail,.development-note,.tower-details .detail-stats{font-size:12px;line-height:1.6}.tower-details button{min-height:44px;font-size:12px;padding:10px}.node-inspector-label{font-size:10px}
 .right-sidebar .advisor-dock.mobile-panel-open{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px}
 .right-sidebar .advisor-avatar{width:38px;height:40px}.right-sidebar .advisor-title b{font-size:16px}.right-sidebar .advisor-title>span{font-size:8px}.right-sidebar .advisor-copy p{font-size:12px;line-height:1.65}.right-sidebar .advisor-chip{font-size:10px;padding:5px 7px}
 .right-sidebar .advisor-actions .assistant-place-primary{min-height:64px}.right-sidebar .assistant-place-primary .placement-button-copy b{font-size:16px}.right-sidebar .advisor-actions .assistant-place-primary small{font-size:11px}.right-sidebar .placement-click-hint{font-size:11px}.right-sidebar .advisor-secondary-actions button{min-height:44px;font-size:12px}.right-sidebar .advisor-actions #advisorCoverage{font-size:10px;padding-top:12px}
 .services-heading .eyebrow{font-size:9px}.services-heading h2{font-size:18px;line-height:1.2}.services-heading>span{font-size:11px;white-space:nowrap}.services-panel>p{font-size:12px;line-height:1.6}.service-list{grid-template-columns:1fr}.service-card,.service-card:last-child{grid-column:auto;min-height:90px;padding:14px;gap:12px}.service-card>svg{width:24px;height:24px}.service-card b{font-size:14px}.service-card small{font-size:12px}.service-card em{font-size:12px;line-height:1.5}.project-status{font-size:12px}
 .mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:40;left:0;right:0;bottom:0;min-height:74px;padding:6px max(6px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px));border-top:1px solid #638e9b66;background:#102630f5;backdrop-filter:blur(16px);gap:3px}
 .mobile-nav button{position:relative;min-width:0;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:6px 1px;border:1px solid transparent;border-radius:10px;background:transparent;color:#9eb8c7;font-size:10px;line-height:1.3}
 .mobile-nav button svg{width:22px;height:22px}.mobile-nav button.active{color:var(--arctic);background:#42e3b410;border-color:#42e3b42d}.mobile-nav button[data-mobile-panel="assistant"]{color:#d1bae1}
 .mobile-nav i{position:absolute;top:3px;left:calc(50% + 7px);border:2px solid #102630;border-radius:12px;min-width:20px;padding:1px 4px;background:var(--green);color:#172105;font:700 10px/14px var(--font);text-align:center}
 .bottom-row{display:block;margin-top:12px}.objective{display:none}.activity{padding:14px}.activity p{font-size:11px;line-height:1.6}.activity small{font-size:9px}
 footer{font-size:8px;line-height:1.5;padding:17px 0}footer button{min-height:44px;font-size:10px}
 .toast{bottom:calc(90px + env(safe-area-inset-bottom,0px));padding:12px 15px;font-size:12px;line-height:1.5;width:max-content;max-width:calc(100% - 24px)}
 .modal-backdrop{padding:max(12px,env(safe-area-inset-top,0px)) 10px max(12px,env(safe-area-inset-bottom,0px));align-items:center}
 .modal{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:52px 18px 22px;border-radius:16px;scroll-padding:18px}
 .modal-close{width:44px;height:44px;right:10px;top:7px;z-index:2;background:#152630;border:1px solid var(--line);border-radius:9px}
 .modal h2{font-size:24px;line-height:1.15}.modal p{font-size:13px;line-height:1.7}.modal-kicker{font-size:9px;line-height:1.7}
 .modal button{min-height:44px;font-size:13px;line-height:1.4}.modal .primary,.modal .secondary{padding:12px 14px}
 .modal input:not([type="range"]),.modal textarea{font-size:16px;min-height:44px}.modal textarea{min-height:110px}
 .advisor-recommendation h3{font-size:16px}.advice-task>span{font-size:13px}.advice-task small,.advice-immunity,.advice-budget{font-size:11px;line-height:1.6}.advisor-recommendation p{font-size:12px}
 .assistant-note{font-size:11px!important;line-height:1.7!important}.assistant-output p,.assistant-output ol{font-size:12px}.assistant-output h3{font-size:16px}.assistant-form label{font-size:13px}
 .placement-preview{height:180px}.placement-list li{gap:8px}.placement-list b{font-size:13px}.placement-list small{font-size:11px;line-height:1.5}.placement-list strong{font-size:12px;white-space:nowrap}.placement-actions{flex-direction:column;align-items:stretch}.placement-actions button{width:100%}.placement-budget{gap:12px;font-size:12px}.placement-blocked,.placement-empty,.placement-status{font-size:12px}
 .help-grid,.task-guide{grid-template-columns:1fr}.help-grid b,.task-guide b{font-size:14px}.help-grid p,.task-guide>div{font-size:12px}.task-guide small,.shortcut{font-size:11px}
 .mission-card b{font-size:15px}.mission-card small{font-size:12px}.mission-card em{font-size:11px}
 .result-actions{flex-direction:column;gap:0}.result-stats b{font-size:22px}.result-stats small{font-size:9px}.score-table{font-size:11px;min-width:450px}.score-table th{font-size:9px}.score-scroll{overflow:auto}
 .achievement b{font-size:12px}.achievement small{font-size:10px}.audio-theme b{font-size:14px}.audio-theme small{font-size:11px}.audio-sliders label{font-size:13px}.audio-sliders input{height:26px;min-height:26px}
}
@media(max-width:359px){.brand-logo{width:115px}.topbar{gap:8px}.top-actions{gap:0}h1{font-size:21px}.stat{gap:7px;padding-left:8px;padding-right:8px}.stat small{font-size:6.5px}.mobile-nav button{font-size:9px}.mobile-nav{gap:0}.player-trigger{font-size:9px}.mission-switch b{font-size:10px}}
@media(max-width:780px) and (orientation:landscape), (max-width:1024px) and (max-height:600px) and (pointer:coarse) and (orientation:landscape){.heading,.stats{display:none}.topbar{height:76px}.brand-logo{width:120px}main{padding-top:10px}.mobile-nav{min-height:58px;padding-top:3px;padding-bottom:calc(3px + env(safe-area-inset-bottom,0px))}.mobile-nav button{min-height:50px;gap:3px}.mobile-nav button svg{width:19px;height:19px}.right-sidebar .advisor-dock.mobile-panel-open,.right-sidebar .arsenal.mobile-panel-open,.services-panel.mobile-panel-open{bottom:calc(64px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 80px - env(safe-area-inset-bottom,0px))}.board-viewport{max-height:60svh}.panel-toolbar{height:50px}.mobile-board-toolbar{padding:4px 10px}.studio-strip{display:none}}
