#flight .ff-thrust-hardware{width:220px;height:184px;position:relative;background:url('../assets/controls/flight_control_neutral.png') center/100% 100% no-repeat}
#flight .ff-thrust-hardware.matching{background-image:url('../assets/controls/flight_control_match_active.png')}
#flight .ff-thrust-hardware.thrusting:not(.matching){background-image:url('../assets/controls/flight_control_deflect_left.png')}
#flight .ff-thrust-hardware .ff-dpad{position:absolute;left:20px;top:15px;grid-template-columns:repeat(3,44px);gap:0}
#flight .ff-thrust-hardware .ff-dpad button{height:44px;min-height:44px;background:#0a192855;border-color:#c4d7d53b;text-shadow:0 1px 3px #000;border-radius:50%;font-size:17px}
#flight .ff-thrust-hardware #ffQuickMatch{position:absolute;left:137px;top:24px;width:57px;border-radius:5px;font-size:10px;background:#112b3ee8;border-color:#65d5d8}
#flight .ff-thrust-hardware [data-dir=right]{grid-column:3;grid-row:2}#flight .ff-thrust-hardware [data-dir=down-left]{grid-column:1;grid-row:3}#flight .ff-thrust-hardware [data-dir=down]{grid-column:2;grid-row:3}#flight .ff-thrust-hardware [data-dir=down-right]{grid-column:3;grid-row:3}
#flight .ff-thrust-hardware .is-held{background:#b67425b0!important;border-color:#ffe7bb!important}
#flight #ffGrappleControls{position:relative;width:240px;height:194px;background:url('../assets/controls/grapple_control_neutral.png') center top/240px 180px no-repeat;display:block;flex-shrink:0}
#flight #ffGrappleControls.pulsing{background-image:var(--sol-pulse-art,url('../assets/controls/grapple_control_pulse_active.png'))}#flight #ffGrappleControls.reeling:not(.pulsing){background-image:url('../assets/controls/grapple_control_reel.png')}
#flight #ffGrappleControls .ff-aim{position:absolute;left:75px;top:13px;width:98px;height:85px;font-size:9px;background:#091c2955;border-color:#9ddcdd77}
#flight .ff-grapple-actions{display:contents}#flight .ff-grapple-actions button{position:absolute;background:#102735e8}
#flight #ffDetach{left:178px;top:47px;width:57px}#flight #ffPulse{left:169px;top:103px;width:64px}#flight #ffInteract{left:79px;top:150px;width:156px}
#flight .ff-hardware-winch{position:absolute;left:20px;top:87px;width:49px;display:grid;gap:1px}#flight .ff-hardware-winch button{min-height:44px;padding:0;font-size:10px;border-color:#c99852;background:#211e1be8}
#flight .controls-help{max-width:160px}#flight .ff-controls{gap:8px;padding:8px}
#flight .ff-instrument{margin:12px 0}#flight .ff-instrument-body{position:relative;width:100%;aspect-ratio:5/4;background:url('../assets/controls/folding_console_open.png') center/100% 100% no-repeat}
#flight .ff-instrument-screen{position:absolute;left:25%;top:16%;width:46%;height:20%;color:#fff0b7;text-align:center;font:13px/1.4 ui-monospace,monospace;display:flex;flex-direction:column;justify-content:center;overflow:hidden;text-shadow:0 1px 2px #321b00}
#flight .ff-instrument-screen small{font-size:8px;line-height:1.2}#flight .ff-instrument-screen output{display:block;overflow-wrap:anywhere}
#flight .ff-instrument-keys{position:absolute;left:24%;top:47.5%;width:49.5%;height:25%;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,1fr);gap:2px}
#flight .ff-instrument-keys button{min-height:0;padding:0;border:0;background:#12243275;font:12px ui-monospace,monospace;border-radius:3px;color:#fff1c4}
#flight .ff-instrument.folded .ff-instrument-body{background-image:url('../assets/controls/folding_console_closed.png')}#flight .ff-instrument.folded .ff-instrument-screen,#flight .ff-instrument.folded .ff-instrument-keys{display:none}
@media(pointer:coarse){#flight .ff-instrument-keys{position:static;display:grid;width:100%;height:auto;padding-top:78%;grid-template-rows:repeat(3,44px)}#flight .ff-instrument-keys button{min-height:44px;background:#1a3040;border:1px solid #52636c}#flight .ff-instrument-body{aspect-ratio:auto;min-height:230px;background-size:100% auto;background-position:top}#flight .ff-instrument-screen{top:40px;height:48px}#flight .ff-instrument.folded .ff-instrument-body{height:210px}}
body.compact-landscape #flight .ff-thrust-hardware{width:136px;height:136px;background-size:contain}body.compact-landscape #flight .ff-thrust-hardware .ff-dpad{position:static;gap:2px;grid-template-columns:repeat(3,44px)}body.compact-landscape #flight .ff-thrust-hardware #ffQuickMatch{position:static;width:44px;grid-column:2;grid-row:2;font-size:8px}
body.compact-landscape #flight #ffGrappleControls{width:auto;height:auto;display:grid;position:relative;background-size:100px 84px;background-position:center}
body.compact-landscape #flight #ffGrappleControls .ff-aim{position:static;width:100px;height:84px;grid-column:2;grid-row:1/3}
body.compact-landscape #flight .ff-grapple-actions button{position:static;width:auto}body.compact-landscape #flight .ff-hardware-winch{display:none}
body.compact-landscape #flight #ffDetach,body.compact-landscape #flight #ffPulse,body.compact-landscape #flight #ffInteract{position:static;width:auto;left:auto;top:auto}
@media(max-width:640px){body:not(.compact-landscape) #flight .ff-controls{flex-wrap:wrap;justify-content:center}body:not(.compact-landscape) #flight .ff-thrust-hardware{width:180px}body:not(.compact-landscape) #flight #ffGrappleControls{width:240px}}

@media(max-width:640px){body:not(.compact-landscape) #flight .ff-controls{gap:4px;flex-wrap:nowrap}body:not(.compact-landscape) #flight .ff-thrust-hardware{width:136px;height:150px;flex-shrink:0}body:not(.compact-landscape) #flight .ff-thrust-hardware .ff-dpad{position:static;gap:2px;grid-template-columns:repeat(3,44px)}body:not(.compact-landscape) #flight .ff-thrust-hardware #ffQuickMatch{position:static;width:44px;grid-column:2;grid-row:2;font-size:8px}body:not(.compact-landscape) #flight #ffGrappleControls{width:216px;flex-shrink:0}body:not(.compact-landscape) #flight #ffGrappleControls .ff-aim{left:60px}body:not(.compact-landscape) #flight .ff-hardware-winch{left:5px}body:not(.compact-landscape) #flight #ffDetach{left:160px}body:not(.compact-landscape) #flight #ffPulse{left:145px}body:not(.compact-landscape) #flight #ffInteract{left:60px;width:150px}}
