/* Extend the flight deck with the same graphite / lime controller finish. */
.flight-surface{display:flex;flex-direction:column;flex:1;min-height:0}
.touch-toggle{font-size:24px}
.touch-toggle[aria-pressed=true]{background:#33432a;border-color:#91ac6a;color:var(--accent)}
.touch-controls{position:absolute;bottom:12px;left:16px;right:16px;display:flex;justify-content:space-between;gap:20px;z-index:5;pointer-events:none}
.stick-unit{display:flex;flex-direction:column;align-items:center;gap:8px}
.stick-title{color:#f0f7e9;background:#15201fe8;border:1px solid #c1dab538;padding:5px 12px;border-radius:20px;font-size:14px;line-height:1.3}
.joystick{position:relative;width:148px;height:148px;border:1px solid #d9fbb586;border-radius:50%;background:radial-gradient(circle,#34492b99 0 26%,#14221acc 27% 59%,#b7d89824 60% 61%,#14201dd9 62%);box-shadow:inset 0 0 22px #0004,0 4px 20px #0002;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab;color:#f0f7e9}
.joystick:before,.joystick:after{content:'';position:absolute;background:#dcf4c223;pointer-events:none}
.joystick:before{width:1px;top:12px;bottom:12px;left:50%}.joystick:after{height:1px;left:12px;right:12px;top:50%}
.joystick.engaged{border-color:var(--accent);box-shadow:0 0 0 3px #d2f58a24;cursor:grabbing}
.touch-controls.unavailable .joystick{opacity:.65}
.joystick:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.joystick-knob{position:absolute;left:calc(50% - 26px);top:calc(50% - 26px);width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e4ffb3,#b6dc7b);border:2px solid #edffd1;box-shadow:0 4px 14px #0005;pointer-events:none;will-change:transform;z-index:1}
.joystick>span:not(.joystick-knob){position:absolute;font-size:12px;line-height:16px;pointer-events:none;text-shadow:0 1px 3px #000}
.stick-north{top:9px;left:50%;transform:translateX(-50%)}.stick-south{bottom:9px;left:50%;transform:translateX(-50%)}
.joystick .stick-west,.joystick .stick-east{top:50%;transform:translateY(-50%);font-size:20px}.stick-west{left:10px}.stick-east{right:10px}
.touch-tools{position:absolute;left:14px;right:14px;top:58px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}
.touch-actions{display:flex;gap:6px;flex-wrap:wrap}
.touch-action{background:#17231ee8;border:1px solid #d7f0bc55;border-radius:6px;min-height:44px;padding:8px 10px;font-size:14px;pointer-events:auto;touch-action:manipulation}
.touch-tilt{display:flex;flex-direction:column;gap:4px;padding:6px 10px;background:#17231ee8;border:1px solid #d7f0bc55;border-radius:6px;font-size:12px;pointer-events:auto}
.touch-tilt span{display:flex;justify-content:space-between;gap:14px}.touch-tilt output{color:var(--accent)}
.touch-tilt input[type=range]{width:110px;height:26px;margin:0;touch-action:none}
.touch-enabled .viewport{min-height:440px}
.touch-enabled .hud-bottom{bottom:211px;padding:6px 10px;left:14px;right:14px;background:#14221cbc;border-radius:6px;gap:16px}
.touch-enabled .hud-bottom span{font-size:12px}.touch-enabled .hud-bottom strong{font-size:19px}
.touch-enabled .scene-toast{bottom:277px;font-size:12px;z-index:6;pointer-events:none}
.touch-enabled .film-inset:not(.full-view){top:116px;bottom:auto;right:14px;width:120px;height:68px}
.touch-enabled .view-inset{top:185px;bottom:auto;right:14px;font-size:10px}
.touch-enabled .horizon{top:125px;left:18px;right:auto}
.touch-enabled .film-inset:not(.full-view),.touch-enabled .view-inset,.touch-enabled .horizon{display:none}
.touch-guide{padding:18px;background:#283421;border:1px solid #465b36;border-radius:8px;margin-bottom:24px}
.touch-guide h3{color:var(--accent);font-size:16px}.touch-guide p{font-size:14px}
.touch-layout .workspace{display:flex;flex-direction:column;height:auto;min-height:0}
.touch-layout .center-panel{order:0;height:auto;padding:0 12px}
.touch-layout .flight-surface{flex:none}
.touch-layout .viewport{flex:none;aspect-ratio:auto;height:clamp(380px,calc(100svh - 194px),660px);min-height:380px;max-height:660px}
.touch-layout .right-panel{order:1;border-left:0;border-top:1px solid var(--line);padding:22px}
.touch-layout .left-panel{order:2;display:block;border-right:0;border-top:1px solid var(--line);padding:22px}
.touch-layout .left-panel>.section-eyebrow,.touch-layout .left-panel>h2{display:flex}
.touch-layout .left-panel>.setting-label,.touch-layout .left-panel .switch-row{margin:20px 0 12px}
.touch-layout .left-panel>.range-labels{display:flex}.touch-layout .left-panel>.wind-direction{margin:15px 0}
.touch-layout .left-panel>.text-button{margin-top:15px;font-size:14px}
.touch-layout .map-options{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:24px}
.touch-layout .shot-options{grid-template-columns:repeat(3,1fr)}
.touch-layout .scene-toolbar{height:56px;flex-shrink:0;gap:6px}
.touch-layout .scene-actions{gap:5px}.touch-layout .scene-actions button{min-height:44px;min-width:44px}
.touch-layout .scene-actions .view-button{font-size:14px;padding:8px}.touch-layout .scene-actions kbd{display:none}
.touch-layout .live-label{min-width:0;gap:5px}.touch-layout .live-label strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.touch-layout .live-label .tag,.touch-layout .live-dot{display:none}
.touch-layout .flight-bar{flex-shrink:0;gap:6px;padding:10px 0}
.touch-layout .flight-buttons{gap:6px}.touch-layout .flight-bar button{min-height:44px;font-size:14px;padding:9px 10px;white-space:nowrap}
.touch-layout .flight-bar .icon-button{min-width:44px;padding:0}
.touch-layout .flight-bar kbd,.touch-layout .status-bar>span:nth-child(2){display:none}
.touch-layout .record-button{gap:6px}.touch-layout .header-actions{gap:8px}
.touch-layout .app-header{height:64px;padding:0 14px}.touch-layout .hardware,.touch-layout .brand-sub{display:none}
.touch-layout .quiet{min-height:44px}.touch-layout .brand strong{font-size:14px}.touch-layout .brand-mark{width:30px;height:30px;font-size:19px}
.touch-layout .setting-label,.touch-layout .switch-row,.touch-layout .shot-card span,.touch-layout .shot-run,.touch-layout .segments button,.touch-layout .camera-settings select{font-size:14px}
.touch-layout .panel input[type=range]{height:28px;margin:10px 0}
.touch-layout .shot-description p,.touch-layout .feedback-tip,.touch-layout .risk-note p{font-size:14px}
.touch-layout .status-bar{font-size:12px}
.touch-layout .shot-shortcuts{display:none}
/* Keep every flight action available in native fullscreen and on iOS Safari. */
.flight-surface:fullscreen,.flight-surface.expanded{background:var(--bg);padding:0 max(12px,env(safe-area-inset-right)) max(0px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));height:100%;width:100%;display:flex;flex-direction:column}
.flight-surface.expanded{position:fixed;inset:0;z-index:100;height:100dvh;padding-top:env(safe-area-inset-top)}
.flight-surface:fullscreen .viewport,.flight-surface.expanded .viewport{flex:1;height:auto;min-height:0;max-height:none;aspect-ratio:auto}
.flight-surface:fullscreen .scene-toolbar,.flight-surface.expanded .scene-toolbar{flex-shrink:0;height:54px}
.flight-surface:fullscreen .flight-bar,.flight-surface.expanded .flight-bar{flex-shrink:0}
body.flight-expanded{overflow:hidden;overscroll-behavior:none}
@media(max-width:390px){
  .touch-layout .center-panel{padding:0 8px}.touch-controls{left:10px;right:10px;gap:10px}
  .joystick{width:132px;height:132px}.touch-enabled .hud-bottom{bottom:194px}
  .touch-enabled .scene-toast{bottom:257px}.touch-layout .flight-bar button{font-size:13px;padding:9px 8px}
  .touch-layout .scene-actions{gap:3px}.touch-layout .scene-actions button{min-width:42px}
  .touch-layout .brand{gap:7px}.touch-layout .app-header{padding:0 10px}
  .touch-action span{display:none}.touch-tilt input[type=range]{width:98px}
}
@media(orientation:landscape) and (max-height:560px){
  .touch-layout .viewport{height:max(240px,calc(100svh - 180px));min-height:240px}
  .touch-layout .touch-controls{bottom:8px;left:16px;right:16px}
  .touch-layout .joystick{width:120px;height:120px}.touch-layout .stick-unit{gap:4px}
  .touch-layout .stick-title{padding:3px 10px;font-size:12px}
  .touch-layout .hud-top{top:10px;font-size:12px}.touch-layout .hud-top small{display:none}
  .touch-layout .touch-tools{top:8px;left:165px;right:165px}
  .touch-layout .touch-action span{display:none}.touch-layout .touch-tilt{padding:3px 8px}
  .touch-layout .touch-tilt input[type=range]{width:90px;height:22px}
  .touch-layout .hud-bottom{bottom:10px;left:160px;right:160px;justify-content:space-between;gap:8px}
  .touch-layout .hud-bottom>div:nth-child(3){display:none}.touch-layout .hud-status{margin-left:0}
  .touch-layout .hud-bottom strong{font-size:16px}.touch-layout .hud-status b{font-size:16px}
  .touch-layout .scene-toast{bottom:72px;max-width:calc(100% - 320px);padding:7px 10px}
  .touch-layout .film-inset:not(.full-view){top:46px;width:90px;height:51px}
  .touch-layout .view-inset{display:none}.touch-layout .horizon{top:60px;left:24px}
  .touch-layout .flight-overlay{gap:8px;padding:12px}.touch-layout .flight-overlay>span{display:none}
  .touch-layout .flight-overlay h2{font-size:20px}
}
