/* Compact mode switch on large, fine-pointer screens only. */
#flightModeSwitch{position:absolute;left:0;bottom:0;transform:translateX(-50%);width:max-content;white-space:nowrap;z-index:6;display:flex;gap:3px;padding:4px;background:var(--ui-hud);border:1px solid var(--ui-border);border-radius:24px}
body.ui-theme #flightModeSwitch button{border:0;background:transparent;border-radius:20px;font-size:13px;padding:7px 12px;min-height:34px}
body.ui-theme #flightModeSwitch button[aria-pressed=true]{background:var(--ui-accent);color:var(--ui-on-accent)}
body.arriving #flightModeSwitch{display:none}
@media(max-width:1000px),(pointer:coarse){#flightModeSwitch{display:none!important}}
body.ui-theme #calibrationDialog{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:28px;border-radius:22px;overflow:auto;text-align:center}
#calibrationDialog header{display:flex;align-items:center;justify-content:space-between;color:var(--ui-muted);font-size:13px}
#calibrationDialog header button{background:transparent;border:0;padding:5px 10px;font-size:21px}
#calibrationDialog h2{font-size:28px;margin:20px 0 8px;line-height:1.2}
#calibrationDialog #calibrationDirection{font-size:18px;margin:0 0 24px}
.calibration-sticks{display:flex;gap:40px;justify-content:center;margin:20px 0}
.calibration-stick{width:180px;min-width:0;display:grid;gap:12px;justify-items:center}
.calibration-stick>span{font-weight:600}.calibration-stick small{font-size:12px;color:var(--ui-muted)}
.calibration-gimbal{width:150px;height:150px;border-radius:50%;position:relative;border:1px solid var(--ui-border);background:var(--ui-soft)}
.calibration-gimbal:before,.calibration-gimbal:after{content:'';position:absolute;background:var(--ui-border)}
.calibration-gimbal:before{top:50%;left:8%;width:84%;height:1px}.calibration-gimbal:after{left:50%;top:8%;height:84%;width:1px}
.calibration-stick.active .calibration-gimbal{border:2px solid var(--ui-accent)}
.calibration-arrow{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:46px;line-height:1;color:var(--ui-accent);z-index:1}
#calibrationHint,#calibrationHoldText{font-size:14px;line-height:1.5;color:var(--ui-muted)!important;margin:14px 0}
.calibration-hold{height:5px;background:var(--ui-border);border-radius:4px;max-width:280px;margin:20px auto 8px;overflow:hidden}
.calibration-hold i{display:block;height:100%;width:0;background:var(--ui-accent)}
.calibration-actions{margin-top:22px}.calibration-actions button{min-height:44px;min-width:180px}
#calibrationDialog [hidden]{display:none!important}
@media(max-width:500px){body.ui-theme #calibrationDialog{padding:20px 16px}.calibration-sticks{gap:16px}.calibration-stick{width:135px}.calibration-gimbal{width:114px;height:114px}#calibrationDialog h2{font-size:24px}.calibration-stick small{font-size:11px}}
@media(max-height:500px){body.ui-theme #calibrationDialog{padding:12px 20px}#calibrationDialog h2{margin:8px 0}.calibration-sticks{margin:10px 0}.calibration-gimbal{width:92px;height:92px}.calibration-stick{gap:5px}#calibrationDialog #calibrationDirection{margin-bottom:10px}.calibration-actions{margin-top:10px}}

body:has(#calibrationDialog[open]) #controlDialog{visibility:hidden}

/* A quiet transmitter silhouette around the live USB stick indicators. */
.transmitter-shell{display:none}
body.ui-theme.controller-connected .touch{isolation:isolate;background:none;border:0;border-radius:0;padding:45px 16px 31px;gap:14px}
.controller-connected .transmitter-shell{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none}
.transmitter-body{fill:var(--ui-hud);stroke:var(--ui-border);stroke-width:1}
.transmitter-aerial{fill:none;stroke:var(--ui-muted);stroke-width:3;stroke-linecap:round}
.transmitter-grip{fill:none;stroke:var(--ui-border);stroke-width:4;stroke-linecap:round}
body.controller-connected .touch>small{top:29px;font-size:8px}
@media(max-width:700px){body.ui-theme.controller-connected .touch{padding:36px 13px 27px;gap:12px}body.controller-connected .touch>small{top:22px;font-size:7px}}
