/* Permanent pointer controls; all visuals remain outside the page's layout. */
#jet-flight-layer { position: fixed; inset: 0; z-index: 118; margin: 0; padding: 0; border: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; overflow: visible; background: transparent; pointer-events: none; color: #e8dfcd; font: 400 11px/1.5 var(--sans, sans-serif); }
#jet-flight-layer::backdrop { background: transparent; pointer-events: none; }
#jet-flight-layer:popover-open { display: block; }
#jet-flight-layer[hidden] { display: none !important; }
#jet-flight-layer [hidden] { display: none !important; }
#jet-flight-layer canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
#jet-flight-layer button { pointer-events: auto; min-height: 44px; border: 1px solid #c8ae7955; background: #20221beF; color: #ddd3bd; font: inherit; cursor: pointer !important; touch-action: manipulation; }
#jet-flight-layer button:hover { border-color: #d6bd8a; color: #fff3d8; }
#jet-flight-layer button:focus-visible { outline: 2px solid #ebc990; outline-offset: 4px; }
#jet-flight-layer .pointer-modes { position: absolute; right: var(--jet-entry-right, 158px); bottom: 18px; padding: 4px; display: flex; align-items: center; gap: 3px; border: 1px solid #c8ae7944; border-radius: 30px; background: #1d211aeb; backdrop-filter: blur(12px); }
#jet-flight-layer .pointer-modes button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 7px 11px; border-radius: 24px; border-color: transparent; background: transparent; font-size: 10px; }
#jet-flight-layer .pointer-modes button[aria-pressed="true"] { border-color: #d8bd7d88; background: #ccb17d25; color: #f0dba9; }
#jet-flight-layer .pointer-modes svg { width: 15px; height: 15px; }
#jet-flight-layer .pointer-modes button>span { font-size: 17px; line-height: 1; }
#jet-flight-layer .pointer-modes button:disabled { opacity: .45; cursor: default !important; }
#jet-flight-layer .jet-hud { position: absolute; top: 100px; right: max(24px, env(safe-area-inset-right)); width: 280px; padding: 15px; border: 1px solid #b79d6955; border-radius: 9px; background: #171b15ee; box-shadow: 0 12px 35px #0003; backdrop-filter: blur(12px); }
#jet-flight-layer .jet-hud-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: #cbb488; }
#jet-flight-layer .jet-hud p { font: 400 11px/1.6 var(--sans, sans-serif); letter-spacing: 0; margin: 8px 0 12px; color: #babcae; }
#jet-flight-layer .jet-actions { display: flex; gap: 8px; }
#jet-flight-layer .jet-actions button { flex: 1; border-radius: 4px; padding: 9px; }
#jet-flight-layer .jet-actions button:first-child { color: #171a14; background: #d4bd90; }
#jet-flight-layer .jet-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#jet-flight-layer .pointer-touch-deck { position: absolute; left: max(20px, env(safe-area-inset-left)); bottom: max(150px, calc(env(safe-area-inset-bottom) + 130px)); width: 112px; text-align: center; color: #cbb488; }
#jet-flight-layer .pointer-touch-pad { position: relative; display: block; width: 112px; height: 112px; padding: 0; border-radius: 50%; border: 1px solid #c8ae7966; background: radial-gradient(circle, #d4bd9010 0 28%, transparent 29% 58%, #c8ae7914 59% 60%, transparent 61%), #171b15e8; box-shadow: 0 8px 32px #0003, inset 0 0 20px #d4bd9006; touch-action: none; user-select: none; -webkit-user-select: none; }
#jet-flight-layer .pointer-touch-pad::before, #jet-flight-layer .pointer-touch-pad::after { content: ''; position: absolute; background: #c8ae7925; pointer-events: none; }
#jet-flight-layer .pointer-touch-pad::before { left: 50%; top: 12px; bottom: 12px; width: 1px; }
#jet-flight-layer .pointer-touch-pad::after { top: 50%; left: 12px; right: 12px; height: 1px; }
#jet-flight-layer .pointer-touch-knob { position: absolute; inset: 36px; z-index: 1; border-radius: 50%; border: 1px solid #ead5a5aa; background: radial-gradient(circle at 35% 30%, #ddcba5, #9c8964); box-shadow: 0 3px 12px #0006; pointer-events: none; }
#jet-flight-layer .pointer-touch-label { display: block; margin-top: 7px; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
#jet-flight-layer[data-touch-controls="true"] .jet-hud { top: auto; bottom: max(150px, calc(env(safe-area-inset-bottom) + 130px)); right: max(20px, env(safe-area-inset-right)); width: min(190px, calc(100vw - 168px)); padding: 12px; }
#jet-flight-layer[data-touch-controls="true"] .jet-hud p { display: none; }
#jet-flight-layer[data-touch-controls="true"] .jet-hud-top { margin-bottom: 8px; }
#jet-flight-layer[data-touch-controls="true"] .jet-actions { flex-wrap: wrap; }
#jet-flight-layer[data-touch-controls="true"] .jet-actions button { flex-basis: 100%; }
html.jet-flight-cursor, html.jet-flight-cursor * { cursor: none !important; }
html.jet-flight-cursor #jet-flight-layer button { cursor: pointer !important; }
::highlight(jet-hit) { color: transparent; -webkit-text-fill-color: transparent; text-shadow: none; }
@media (max-width: 650px) {
  #jet-flight-layer .pointer-modes { bottom: 72px; right: 20px; }
  #jet-flight-layer .pointer-modes button { padding-inline: 10px; }
  #jet-flight-layer .jet-hud { top: auto; bottom: 138px; right: 20px; max-width: calc(100% - 40px); width: 270px; padding: 12px; }
  #jet-flight-layer .jet-hud p { display: none; }
  #jet-flight-layer .jet-hud-top { margin-bottom: 8px; }
}
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
  #jet-flight-layer canvas, #jet-flight-layer .jet-hud, #jet-flight-layer .pointer-touch-deck { display: none !important; }
  html.jet-flight-cursor, html.jet-flight-cursor * { cursor: auto !important; }
}
@media print { #jet-flight-layer { display: none; } }
