#browserLoading{position:fixed;inset:0;z-index:1000;background:#172026;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;color:#e8edef;font:16px 'Segoe UI',sans-serif;gap:12px}#browserLoading b{font-size:24px;color:#27d5ff}#browserLoading small{color:#b5c3cb}#browserLoading button[hidden]{display:none}
.touch-drive{display:none;gap:5px;padding:6px 8px;flex-wrap:wrap}.touch-drive button{min-width:44px;min-height:40px;touch-action:none;user-select:none;-webkit-user-select:none}.touch-drive button.pressed{background:#6a4523;border-color:#e6a345}
#mobileViews{display:none}#cursorValue{user-select:all;-webkit-user-select:all}
#sonarFullscreen{margin-left:auto;min-height:36px}
@media(pointer:coarse){.touch-drive{display:flex}button{min-height:38px}.controlbar span{display:none}.tools button{min-width:42px;min-height:42px}.mini-controls button{min-height:42px}input,select{font-size:16px!important}}
@media(max-width:650px){
 .touch-drive{display:grid;grid-template-columns:repeat(3,1fr)}.touch-drive button:last-child{grid-column:1/-1}
 #sessionbar{height:auto;min-height:36px;flex-wrap:wrap;padding:6px;gap:8px}#sessionbar a{font-size:11px}#sessionbar .spacer{display:none}
 #mobileViews{display:flex;gap:6px;padding:5px;background:#20262a}#mobileViews button{flex:1;min-height:38px}
 #workspace{display:flex;height:calc(100dvh - 114px);min-height:320px}#mapPane,#sonarPane{width:100%;height:100%}
 body:not(.mobile-map) #mapPane{display:none}body.mobile-map #sonarPane{display:none}
 #mapPane iframe{min-height:180px}#cameraPane{height:clamp(115px,24dvh,200px)}
 #sonarStage{min-height:220px;flex:1 0 220px}.sonar-brand{display:flex}.sonar-brand small{display:none}#qualityOpen{display:block}.telemetry{display:flex}#session{display:block}
 .missionbar select{flex-basis:100%}.sonar-only #workspace{height:calc(100dvh - 66px)}.sonar-only #mobileViews{display:none}
 .difficultybar{flex-wrap:wrap}#qualityDialog{font-size:14px}#error{left:10px;right:10px;max-height:65vh;overflow:auto}
}

/* Expand only inside the existing sonar pane; map, camera and workspace stay put. */
body.sonar-fullscreen #sonarPane{display:grid;container-type:inline-size;min-height:0;overflow:hidden;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto auto}
body.sonar-fullscreen #sonarPane>:not(.sonar-toolbar):not(#sonarStage):not(#cursorbar):not(.controlbar):not(.touch-drive){display:none}
body.sonar-fullscreen .sonar-toolbar{grid-column:1/-1;grid-row:1;flex-wrap:nowrap;padding:5px 8px}
body.sonar-fullscreen .sonar-toolbar label:not(.doppler){display:none}
body.sonar-fullscreen .sonar-toolbar button{min-height:40px}
body.sonar-fullscreen #sonarStage{grid-column:1/-1;grid-row:2;min-height:0;flex:auto}
body.sonar-fullscreen #sonarMeta,body.sonar-fullscreen #scanHint{display:none}
body.sonar-fullscreen #cursorbar{grid-column:1;grid-row:3;padding:5px 8px;min-width:0}
body.sonar-fullscreen .controlbar{grid-column:2;grid-row:3;padding:5px 8px}
body.sonar-fullscreen .controlbar span{display:none}
body.sonar-fullscreen .touch-drive{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px 8px 6px}
body.sonar-fullscreen .touch-drive button:last-child{grid-column:auto}
body.sonar-fullscreen .touch-drive button{min-width:0;min-height:42px}
body.sonar-fullscreen #copy,body.sonar-fullscreen #arm{min-height:40px}
@media(max-width:650px){
 body.sonar-fullscreen .sonar-toolbar{gap:5px;flex-wrap:wrap}body.sonar-fullscreen .sonar-toolbar>.label{display:none}
 body.sonar-fullscreen #cursorbar{grid-column:1/-1}body.sonar-fullscreen #cursorbar>span{display:none}
 body.sonar-fullscreen .controlbar{grid-column:1/-1;grid-row:4;justify-content:center}
 body.sonar-fullscreen #sonarPane{grid-template-rows:auto minmax(0,1fr) auto auto auto}
 body.sonar-fullscreen .touch-drive{grid-row:5;grid-template-columns:repeat(4,minmax(0,1fr))}
 body.sonar-fullscreen .touch-drive button{font-size:11px}
}
@container(max-width:520px){
 body.sonar-fullscreen .sonar-toolbar{gap:4px;flex-wrap:wrap}
 body.sonar-fullscreen .sonar-toolbar>.label,body.sonar-fullscreen #cursorbar>span{display:none}
 body.sonar-fullscreen #cursorbar{grid-column:1/-1}
 body.sonar-fullscreen .controlbar{grid-column:1/-1;grid-row:4;justify-content:center}
 body.sonar-fullscreen .touch-drive{grid-row:5}
 body.sonar-fullscreen .touch-drive button{font-size:11px}
}
@media(max-width:650px){body.sonar-fullscreen.mobile-map #sonarPane{display:none}}

/* Keep runtime status nodes for the shared adapter, without occupying UI space. */
body #pingStatus,body .sonar-brand small,body .telemetry,body #session,
body #cameraInfo,body #controlInfo,body .difficultybar small,body #connection.good{display:none}
#notice:empty{display:none}
#qualityOpen{margin-left:auto}
#error a{display:inline-block;margin-left:12px;text-decoration:underline}
