@layer tokens{:root{color-scheme:dark;--rgb-black: 5 7 11;--rgb-blue-black: 7 17 29;--rgb-cyan: 125 249 255;--rgb-cyan-hot: 43 217 255;--rgb-cyan-deep: 26 72 99;--rgb-magenta: 255 43 214;--rgb-amber: 255 204 102;--rgb-danger: 255 79 125;--rgb-success: 105 255 178;--rgb-white: 255 255 255;--color-scene-background: #05070b;--color-scene-wall: #07111d;--color-text-primary: #e7fdff;--color-text-secondary: #d9fbff;--color-text-muted: #b7e7ed;--color-text-subtle: #9bc6cf;--color-text-disabled: #91b3bc;--color-text-inverse: #02070b;--color-accent-primary: #7df9ff;--color-accent-primary-strong: #2bd9ff;--color-accent-secondary: #ff2bd6;--color-accent-secondary-contrast: #ffe7fb;--color-accent-warning: #ffcc66;--color-accent-danger: #ff4f7d;--color-accent-danger-soft: #ff8aa8;--color-accent-success: #69ffb2;--color-drone-preview-deep: #0d4c68;--color-focus-ring: #ffcc66;--color-focus-halo: rgb(var(--rgb-amber) / .34);--color-selection: rgb(var(--rgb-cyan) / .32);--surface-glass: rgb(var(--rgb-black) / .76);--surface-glass-strong: rgb(var(--rgb-black) / .86);--surface-glass-soft: rgb(var(--rgb-black) / .52);--surface-control: rgb(var(--rgb-black) / .7);--surface-control-hover: rgb(8 21 31 / .82);--surface-control-pressed: rgb(2 6 10 / .86);--surface-control-disabled: rgb(7 17 29 / .54);--surface-control-loading: rgb(23 43 56 / .78);--surface-control-success: rgb(5 42 28 / .8);--surface-control-error: rgb(52 8 22 / .82);--surface-panel-highlight: linear-gradient(135deg, rgb(var(--rgb-cyan-hot) / .11), transparent 38%);--surface-panel-flare: linear-gradient(315deg, rgb(var(--rgb-magenta) / .09), transparent 44%);--surface-grid: rgb(0 0 0 / .24);--border-hairline: 1px;--border-panel: rgb(var(--rgb-cyan) / .34);--border-panel-strong: rgb(var(--rgb-cyan) / .54);--border-control: rgb(var(--rgb-cyan) / .46);--border-control-hover: rgb(var(--rgb-cyan) / .68);--border-control-pressed: rgb(var(--rgb-cyan-hot) / .72);--border-control-disabled: rgb(183 231 237 / .28);--border-success: rgb(var(--rgb-success) / .72);--border-error: rgb(var(--rgb-danger) / .76);--border-warning: rgb(var(--rgb-amber) / .54);--font-family-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-2xs: .5625rem;--font-size-xs: .625rem;--font-size-sm: .6875rem;--font-size-md: .75rem;--font-size-lg: .8125rem;--font-size-xl: 1rem;--font-size-title: clamp(1.125rem, 3vw, 1.875rem);--font-size-display: clamp(1.875rem, 8vw, 4.25rem);--line-height-tight: .95;--line-height-copy: 1.35;--letter-space-ui: .08em;--letter-space-label: .12em;--letter-space-wide: .16em;--font-weight-copy: 760;--font-weight-strong: 900;--font-weight-ui: 950;--font-weight-display: 1000;--space-0: 0;--space-1: .1875rem;--space-2: .3125rem;--space-3: .4375rem;--space-4: .5rem;--space-5: .625rem;--space-6: .75rem;--space-7: .875rem;--space-8: 1rem;--space-10: 1.25rem;--space-12: 1.5rem;--space-14: 1.75rem;--space-16: 2rem;--space-fluid-panel: clamp(.625rem, 2.5dvh, 1rem);--space-safe-top: env(safe-area-inset-top);--space-safe-right: env(safe-area-inset-right);--space-safe-bottom: env(safe-area-inset-bottom);--space-safe-left: env(safe-area-inset-left);--radius-xs: .375rem;--radius-sm: .625rem;--radius-md: 1.125rem;--radius-lg: 1.25rem;--radius-xl: 1.5rem;--radius-2xl: 1.75rem;--radius-pill: 999px;--radius-round: 50%;--shadow-panel: 0 0 34px rgb(var(--rgb-cyan-hot) / .16), inset 0 0 0 1px rgb(var(--rgb-white) / .04);--shadow-panel-strong: 0 0 42px rgb(var(--rgb-cyan-hot) / .2), inset 0 0 0 1px rgb(var(--rgb-white) / .05);--shadow-control: 0 0 14px rgb(var(--rgb-cyan-hot) / .24), inset 0 -3px 0 rgb(0 0 0 / .36);--shadow-control-hover: 0 0 20px rgb(var(--rgb-cyan-hot) / .34), inset 0 -3px 0 rgb(0 0 0 / .34);--shadow-control-pressed: 0 0 10px rgb(var(--rgb-cyan-hot) / .18), inset 0 2px 0 rgb(0 0 0 / .4);--shadow-control-active: 0 0 20px rgb(var(--rgb-magenta) / .56), inset 0 -3px 0 rgb(0 0 0 / .36);--shadow-focus: 0 0 0 4px var(--color-focus-halo), 0 0 18px rgb(var(--rgb-amber) / .42);--shadow-danger: 0 0 20px rgb(var(--rgb-danger) / .56);--shadow-success: 0 0 20px rgb(var(--rgb-success) / .34);--text-glow-cyan: 0 0 8px rgb(var(--rgb-cyan-hot) / .72);--text-glow-strong: 0 0 18px rgb(var(--rgb-cyan-hot) / .66);--text-glow-danger: 0 0 20px rgb(255 0 80 / .9);--z-canvas: 0;--z-hud: 2;--z-controls: 4;--z-panel: 6;--z-actions: 7;--z-overlay: 10;--z-popover: 11;--z-modal: 12;--z-critical: 20;--target-min: 44px;--target-comfortable: 52px;--target-large: 56px;--control-height-sm: 34px;--control-height-md: 44px;--control-height-lg: 52px;--throttle-width: clamp(58px, 8vw, 78px);--focus-ring-size: 2px;--duration-instant: 80ms;--duration-fast: .14s;--duration-base: .2s;--duration-slow: .32s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.16, 1, .3, 1);--ease-press: cubic-bezier(.34, 1.56, .64, 1);--breakpoint-compact: 720px;--breakpoint-short-landscape: 430px;--breakpoint-coarse: 900px}@media(prefers-contrast:more){:root{--surface-glass: rgb(var(--rgb-black) / .9);--surface-control: rgb(var(--rgb-black) / .88);--border-panel: rgb(var(--rgb-cyan) / .72);--border-control: rgb(var(--rgb-cyan) / .76);--color-text-muted: #d9fbff;--color-text-subtle: #b7e7ed;--shadow-panel: 0 0 0 1px rgb(var(--rgb-cyan) / .45), 0 0 22px rgb(var(--rgb-cyan-hot) / .22)}}@media(forced-colors:active){:root{color-scheme:dark light;--color-scene-background: Canvas;--color-scene-wall: Canvas;--color-text-primary: CanvasText;--color-text-secondary: CanvasText;--color-text-muted: CanvasText;--color-text-subtle: CanvasText;--color-text-disabled: GrayText;--color-accent-primary: Highlight;--color-accent-primary-strong: Highlight;--color-accent-secondary: LinkText;--color-accent-warning: CanvasText;--color-accent-danger: Mark;--color-accent-danger-soft: Mark;--color-accent-success: Highlight;--color-focus-ring: Highlight;--color-focus-halo: transparent;--color-selection: Highlight;--surface-glass: Canvas;--surface-glass-strong: Canvas;--surface-glass-soft: Canvas;--surface-control: ButtonFace;--surface-control-hover: ButtonFace;--surface-control-pressed: ButtonFace;--surface-control-disabled: Canvas;--surface-control-loading: ButtonFace;--surface-control-success: ButtonFace;--surface-control-error: ButtonFace;--surface-panel-highlight: none;--surface-panel-flare: none;--border-panel: CanvasText;--border-panel-strong: CanvasText;--border-control: ButtonText;--border-control-hover: Highlight;--border-control-pressed: Highlight;--border-control-disabled: GrayText;--border-success: Highlight;--border-error: Mark;--border-warning: CanvasText;--shadow-panel: none;--shadow-panel-strong: none;--shadow-control: none;--shadow-control-hover: none;--shadow-control-pressed: none;--shadow-control-active: none;--shadow-focus: none;--shadow-danger: none;--shadow-success: none;--text-glow-cyan: none;--text-glow-strong: none;--text-glow-danger: none}}}@layer base{*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}html{background:var(--color-scene-background);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{position:fixed;inset:0;color:var(--color-text-primary);background:var(--color-scene-background);font-family:var(--font-family-ui);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}::selection{color:var(--color-text-primary);background:var(--color-selection)}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}button,input{font:inherit}button,input,[role=button]{-webkit-tap-highlight-color:transparent}button{position:relative;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled,input:disabled,[aria-disabled=true]{cursor:not-allowed}input{min-height:var(--target-min);color:var(--color-text-primary);background:var(--surface-control)}input::placeholder{color:var(--color-text-subtle);opacity:1}input[type=text]{-webkit-user-select:text;user-select:text}button:focus{outline:none}button:focus-visible,input:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible{outline:var(--focus-ring-size) solid var(--color-focus-ring);outline-offset:3px;box-shadow:var(--shadow-focus)}button:disabled,button[aria-disabled=true],input:disabled,input[aria-disabled=true]{color:var(--color-text-disabled);border-color:var(--border-control-disabled)!important;background:var(--surface-control-disabled)!important;box-shadow:none!important;filter:saturate(.72)}button:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]),input:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]){color:var(--color-text-muted);border-color:var(--border-control-hover)!important;background:var(--surface-control-loading)!important;cursor:progress}button:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]):after{content:"";position:absolute;right:max(.625rem,12%);top:50%;width:.72em;height:.72em;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-round);transform:translateY(-50%);animation:control-spin .86s linear infinite}button:is(.is-success,[data-state=success]),input:is(.is-success,[data-state=success]){color:var(--color-text-primary);border-color:var(--border-success)!important;background:var(--surface-control-success)!important;box-shadow:var(--shadow-success)!important}button:is(.is-error,[data-state=error]),input:is(.is-error,[data-state=error],:user-invalid,[aria-invalid=true]){color:var(--color-text-primary);border-color:var(--border-error)!important;background:var(--surface-control-error)!important;box-shadow:var(--shadow-danger)!important}input[type=range]{min-height:var(--target-min);accent-color:var(--color-accent-primary-strong);background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:8px;border:1px solid rgb(var(--rgb-cyan) / .22);border-radius:var(--radius-pill);background:linear-gradient(90deg,rgb(var(--rgb-cyan-hot) / .45),rgb(var(--rgb-magenta) / .34));box-shadow:inset 0 0 0 1px #0000003d}input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px;border:2px solid var(--color-text-primary);border-radius:var(--radius-round);background:var(--color-accent-primary-strong);box-shadow:0 0 14px rgb(var(--rgb-cyan-hot) / .62);-webkit-appearance:none;appearance:none}input[type=range]::-moz-range-track{height:8px;border:1px solid rgb(var(--rgb-cyan) / .22);border-radius:var(--radius-pill);background:linear-gradient(90deg,rgb(var(--rgb-cyan-hot) / .45),rgb(var(--rgb-magenta) / .34))}input[type=range]::-moz-range-thumb{width:20px;height:20px;border:2px solid var(--color-text-primary);border-radius:var(--radius-round);background:var(--color-accent-primary-strong);box-shadow:0 0 14px rgb(var(--rgb-cyan-hot) / .62)}.game{--fpv-safe-top: calc(var(--space-safe-top) + var(--space-4));--fpv-safe-right: calc(var(--space-safe-right) + var(--space-4));--fpv-safe-bottom: calc(var(--space-safe-bottom) + var(--space-4));--fpv-safe-left: calc(var(--space-safe-left) + var(--space-4));--fpv-safe-inline: calc(var(--fpv-safe-left) + var(--fpv-safe-right));--fpv-safe-block: calc(var(--fpv-safe-top) + var(--fpv-safe-bottom));--fpv-throttle-zone: calc(var(--space-safe-left) + var(--throttle-width) + var(--space-4));--fpv-top-action-zone: calc(var(--fpv-safe-top) + var(--target-large) + var(--space-4));--fpv-action-reserve: calc(var(--target-large) + var(--target-large) + var(--space-5) + var(--space-4));--fpv-readable-panel: 48.75rem;--fpv-readable-dialog: 45rem;--fpv-readable-popover: 21.375rem;position:relative;width:100vw;height:100dvh;min-height:100svh;overflow:hidden;color:var(--color-text-primary);background:radial-gradient(circle at 50% 50%,rgb(var(--rgb-cyan-hot) / .08),transparent 28%),radial-gradient(circle at 80% 18%,rgb(var(--rgb-magenta) / .1),transparent 24%),var(--color-scene-background);isolation:isolate}.canvas-host,canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.canvas-host{z-index:var(--z-canvas);touch-action:none;user-select:none;-webkit-user-select:none;transition:filter var(--duration-slow) var(--ease-standard)}.game.paused .canvas-host{filter:saturate(.72) brightness(.62)}@keyframes control-spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}@media(hover:hover)and (pointer:fine){button:hover:not(:disabled):not([aria-disabled=true]),input[type=range]:hover:not(:disabled){filter:brightness(1.08) saturate(1.08)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(forced-colors:active){.game,.rotate-warning,.entry-card,.preflight-panel,.settings-panel,.multiplayer-panel,.throttle-pad,button,input{forced-color-adjust:auto}canvas,.canvas-host,.reticle,.horizon,.drone-calibration-scope,.preview-drone,.preview-vector,.scope-ring,.gyro-debug{forced-color-adjust:none}}}@layer buttons{.top-actions{pointer-events:auto;position:absolute;z-index:var(--z-actions);top:var(--fpv-safe-top);right:var(--fpv-safe-right);display:flex;gap:var(--space-5);align-items:center}.top-actions button,.icon-button,.action-row button,.preflight-actions button,.settings-panel button,.entry-actions button,.multiplayer-actions button{border:var(--border-hairline) solid var(--border-control);color:var(--color-text-secondary);background:var(--surface-control);box-shadow:var(--shadow-control);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-ui);transition:transform var(--duration-fast) var(--ease-press),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),filter var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.top-actions button,.icon-button{pointer-events:auto;display:grid;place-items:center;width:var(--target-large);min-width:var(--target-large);height:var(--target-large);min-height:var(--target-large);padding:0;border-radius:var(--radius-round)}.config-button{font-size:1.5rem}.game.preflight .top-actions .zero-button{display:none}.action-row{pointer-events:auto;position:absolute;left:calc(var(--fpv-throttle-zone) + var(--space-3));bottom:var(--fpv-safe-bottom);display:flex;gap:var(--space-4);max-width:calc(100vw - var(--fpv-throttle-zone) - var(--fpv-safe-right))}.action-row button{width:54px;min-width:54px;height:54px;min-height:54px;padding:0;border-radius:var(--radius-round)}.preflight-actions button,.settings-panel button,.entry-actions button,.multiplayer-actions button{border-radius:var(--radius-pill)}.preflight-actions button,.settings-panel button{min-height:var(--control-height-md);padding:.5625rem .875rem}.multiplayer-actions button{min-height:var(--control-height-sm);padding:.375rem .625rem;font-size:var(--font-size-sm);letter-spacing:.06em}.entry-actions button{min-width:min(150px,100%);min-height:var(--control-height-lg);padding:.75rem 1.125rem;font-weight:var(--font-weight-display);letter-spacing:.1em}@media(hover:hover)and (pointer:fine){.top-actions button:hover:not(:disabled),.icon-button:hover:not(:disabled),.action-row button:hover:not(:disabled),.preflight-actions button:hover:not(:disabled),.settings-panel button:hover:not(:disabled),.entry-actions button:hover:not(:disabled),.multiplayer-actions button:hover:not(:disabled){border-color:var(--border-control-hover);background:var(--surface-control-hover);box-shadow:var(--shadow-control-hover);transform:translateY(-1px)}}.top-actions button:where(:active,[data-action-pressed=true]):not(:disabled),.icon-button:where(:active,[data-action-pressed=true]):not(:disabled),.action-row button:where(:active,[data-action-pressed=true]):not(:disabled),.preflight-actions button:where(:active,[data-action-pressed=true]):not(:disabled),.settings-panel button:where(:active,[data-action-pressed=true]):not(:disabled),.entry-actions button:where(:active,[data-action-pressed=true]):enabled,.multiplayer-actions button:where(:active,[data-action-pressed=true]):not(:disabled){border-color:var(--border-control-pressed);background:var(--surface-control-pressed);box-shadow:var(--shadow-control-pressed);transform:translateY(1px) scale(.98)}.action-row button.active,.action-row button[aria-pressed=true],.axis-buttons button[aria-pressed=true],.laser-button.active,.laser-button[aria-pressed=true]{border-color:rgb(var(--rgb-magenta) / .82);color:var(--color-accent-secondary-contrast);background:#36082ec7;box-shadow:var(--shadow-control-active)}.laser-button{position:relative;color:#ffe7fbf0!important;font-size:1.5rem}.laser-button:before{content:"";position:absolute;left:50%;bottom:7px;width:8px;height:8px;border-radius:var(--radius-round);transform:translate(-50%);background:rgb(var(--rgb-magenta) / .34);box-shadow:0 0 8px rgb(var(--rgb-magenta) / .32);transition:background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.laser-button.active:before,.laser-button[aria-pressed=true]:before{background:var(--color-accent-secondary);box-shadow:0 0 14px rgb(var(--rgb-magenta) / .95),0 0 28px rgb(var(--rgb-magenta) / .5)}.scope-button{border-color:rgb(var(--rgb-cyan-hot) / .72)!important;color:var(--color-text-primary)!important;font-size:1.125rem;letter-spacing:var(--letter-space-label)}.scope-button:is(:hover,:focus-visible):not(:disabled){border-color:var(--color-accent-primary)!important}.settings-reset-button{border-color:rgb(var(--rgb-amber) / .58)!important}.settings-reset-button[data-confirming]{border-color:rgb(var(--rgb-danger) / .82)!important;color:var(--color-text-primary);background:#340816d1;box-shadow:var(--shadow-danger)}.settings-undo-button:not([hidden]){border-color:rgb(var(--rgb-success) / .64)!important}.onboarding-start-button:enabled,.entry-start-button:enabled{border-color:rgb(var(--rgb-magenta) / .86);color:var(--color-accent-secondary-contrast);background:#36082ecc;box-shadow:0 0 22px rgb(var(--rgb-magenta) / .46),inset 0 -3px #00000061}.onboarding-start-button:enabled:hover,.entry-start-button:enabled:hover{border-color:var(--color-accent-secondary);box-shadow:0 0 30px rgb(var(--rgb-magenta) / .56),inset 0 -3px #0000005c}.top-actions button:focus-visible,.icon-button:focus-visible,.action-row button:focus-visible,.preflight-actions button:focus-visible,.settings-panel button:focus-visible,.entry-actions button:focus-visible,.multiplayer-actions button:focus-visible{outline:var(--focus-ring-size) solid var(--color-focus-ring);outline-offset:3px;box-shadow:var(--shadow-focus),var(--shadow-control-hover)}.top-actions button:disabled,.icon-button:disabled,.action-row button:disabled,.preflight-actions button:disabled,.settings-panel button:disabled,.entry-actions button:disabled,.multiplayer-actions button:disabled,.top-actions button[aria-disabled=true],.icon-button[aria-disabled=true],.action-row button[aria-disabled=true],.preflight-actions button[aria-disabled=true],.settings-panel button[aria-disabled=true],.entry-actions button[aria-disabled=true],.multiplayer-actions button[aria-disabled=true]{color:var(--color-text-disabled);border-color:var(--border-control-disabled)!important;background:var(--surface-control-disabled)!important;box-shadow:none!important;filter:saturate(.72)}.top-actions button:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]),.icon-button:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]),.action-row button:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]),.preflight-actions button:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]),.settings-panel button:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]),.entry-actions button:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]),.multiplayer-actions button:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]){color:var(--color-text-muted);border-color:var(--border-control-hover)!important;background:var(--surface-control-loading)!important;box-shadow:var(--shadow-control-hover)!important;cursor:progress}.top-actions button[aria-busy=true],.icon-button[aria-busy=true],.action-row button[aria-busy=true],.preflight-actions button[aria-busy=true],.settings-panel button[aria-busy=true],.entry-actions button[aria-busy=true],.multiplayer-actions button[aria-busy=true]{pointer-events:none}.top-actions button:is(.is-success,[data-state=success]),.icon-button:is(.is-success,[data-state=success]),.action-row button:is(.is-success,[data-state=success]),.preflight-actions button:is(.is-success,[data-state=success]),.settings-panel button:is(.is-success,[data-state=success]),.entry-actions button:is(.is-success,[data-state=success]),.multiplayer-actions button:is(.is-success,[data-state=success]){border-color:var(--border-success)!important;background:var(--surface-control-success)!important;box-shadow:var(--shadow-success)!important}.top-actions button:is(.is-error,[data-state=error]),.icon-button:is(.is-error,[data-state=error]),.action-row button:is(.is-error,[data-state=error]),.preflight-actions button:is(.is-error,[data-state=error]),.settings-panel button:is(.is-error,[data-state=error]),.entry-actions button:is(.is-error,[data-state=error]),.multiplayer-actions button:is(.is-error,[data-state=error]){border-color:var(--border-error)!important;background:var(--surface-control-error)!important;box-shadow:var(--shadow-danger)!important}@media(prefers-reduced-motion:reduce){.top-actions button,.icon-button,.action-row button,.preflight-actions button,.settings-panel button,.entry-actions button,.multiplayer-actions button{transition-duration:1ms}.top-actions button:where(:active,[data-action-pressed=true]):not(:disabled),.icon-button:where(:active,[data-action-pressed=true]):not(:disabled),.action-row button:where(:active,[data-action-pressed=true]):not(:disabled),.preflight-actions button:where(:active,[data-action-pressed=true]):not(:disabled),.settings-panel button:where(:active,[data-action-pressed=true]):not(:disabled),.entry-actions button:where(:active,[data-action-pressed=true]):enabled,.multiplayer-actions button:where(:active,[data-action-pressed=true]):not(:disabled){transform:none}button:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]):after{animation:none}}@media(max-height:430px)and (orientation:landscape){.top-actions{gap:var(--space-3)}.action-row{left:calc(var(--fpv-throttle-zone) + var(--space-2));bottom:var(--fpv-safe-bottom)}}@media(forced-colors:active){.laser-button:before{background:ButtonText;box-shadow:none}.action-row button.active,.axis-buttons button[aria-pressed=true],.laser-button.active,.settings-reset-button[data-confirming],.settings-undo-button:not([hidden]),.onboarding-start-button:enabled,.entry-start-button:enabled{border-color:Highlight;color:ButtonText;background:ButtonFace}}}@layer panels{.preflight-panel,.settings-panel{pointer-events:auto;position:absolute;z-index:var(--z-panel);color:var(--color-text-primary);border:var(--border-hairline) solid var(--border-panel);border-radius:var(--radius-xl);background:var(--surface-panel-highlight),var(--surface-panel-flare),var(--surface-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-panel);transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-emphasized),border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.preflight-panel.collapsed,.settings-panel.collapsed{opacity:0;pointer-events:none}.settings-panel{z-index:var(--z-modal);top:var(--fpv-safe-top);right:var(--fpv-safe-right);width:min(var(--fpv-readable-dialog),calc(100vw - var(--fpv-safe-inline)));max-height:calc(100dvh - var(--fpv-safe-block));overflow:hidden;padding:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;transform:none}.settings-panel.collapsed{transform:translateY(-10px)}.settings-header,.settings-actions{position:sticky;z-index:1;background:linear-gradient(90deg,rgb(var(--rgb-black) / .92),rgb(var(--rgb-blue-black) / .78)),var(--surface-glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.settings-header{top:0;display:flex;justify-content:space-between;gap:var(--space-6);align-items:start;padding:clamp(.625rem,2.1dvh,.875rem) clamp(.75rem,2.7dvh,1rem);border-bottom:var(--border-hairline) solid rgb(var(--rgb-cyan) / .2)}.settings-actions{bottom:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) clamp(.75rem,2.7dvh,1rem);border-top:var(--border-hairline) solid rgb(var(--rgb-cyan) / .2)}.settings-close-button{flex:0 0 auto}.settings-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;display:grid;grid-template-columns:minmax(180px,.86fr) minmax(250px,1.14fr);gap:var(--space-4);padding:var(--space-5) clamp(.75rem,2.7dvh,1rem)}.settings-scroll:focus-visible{outline:var(--focus-ring-size) solid var(--color-focus-ring);outline-offset:-4px;box-shadow:inset var(--shadow-focus)}.settings-group{min-width:0;display:grid;align-content:start;gap:var(--space-4);padding:var(--space-5);border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .2);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgb(var(--rgb-cyan-hot) / .075),transparent 42%),rgb(var(--rgb-black) / .34);box-shadow:inset 0 0 0 1px rgb(var(--rgb-white) / .025)}.settings-group-axis{grid-column:1 / -1}.settings-group-heading{display:grid;gap:var(--space-1)}.eyebrow,.settings-kicker{margin:0 0 var(--space-4);color:var(--color-accent-warning)!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-wide);text-transform:uppercase}.settings-kicker{margin-bottom:0;font-size:var(--font-size-xs)!important}.preflight-panel h1,.settings-panel h1{margin:0 0 var(--space-4);color:var(--color-text-primary);font-size:var(--font-size-title);line-height:var(--line-height-tight);letter-spacing:.04em;text-transform:uppercase;text-shadow:var(--text-glow-cyan)}.preflight-panel p,.settings-panel p{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-md);line-height:var(--line-height-copy);font-weight:var(--font-weight-copy)}.settings-header p:last-child,.settings-group-heading p:last-child,.settings-actions p,.axis-summary{margin-bottom:0}.settings-panel h2{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg);line-height:var(--line-height-tight);letter-spacing:.1em;text-transform:uppercase}.setting-range,.sensitivity-controls{display:grid;gap:var(--space-2)}.sensitivity-controls{gap:var(--space-3)}.setting-control-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-md);font-weight:var(--font-weight-ui);letter-spacing:.05em}.setting-control-row label{min-width:0}.setting-control-row output,.sensitivity-control b,.fpv-angle-control b{flex:0 0 auto;color:var(--color-accent-warning);font-variant-numeric:tabular-nums;letter-spacing:var(--letter-space-ui)}.setting-range input{width:100%;min-width:0}.axis-summary{padding:var(--space-3) var(--space-4);color:var(--color-accent-warning)!important;border:var(--border-hairline) solid rgb(var(--rgb-amber) / .25);border-radius:var(--radius-sm);background:rgb(var(--rgb-amber) / .08);font-size:var(--font-size-md)!important;font-weight:var(--font-weight-ui)!important;letter-spacing:.04em}.axis-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.axis-buttons button{min-width:0;min-height:var(--target-min);padding:.5rem .625rem;white-space:normal;font-size:var(--font-size-sm);line-height:1.15}.settings-status{flex:1 1 auto;min-width:8rem;color:var(--color-text-secondary)!important}.settings-undo-button[hidden]{display:none!important}@media(max-width:620px){.settings-panel{left:var(--fpv-safe-left);width:auto}.settings-scroll{grid-template-columns:1fr}.settings-group-axis{grid-column:auto}.axis-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-actions{flex-wrap:wrap}.settings-status{flex-basis:100%}}@media(max-height:430px)and (orientation:landscape){.settings-panel{top:var(--fpv-safe-top);right:var(--fpv-safe-right);width:min(760px,calc(100vw - var(--fpv-safe-inline)));max-height:calc(100dvh - var(--fpv-safe-block));border-radius:var(--radius-lg)}.settings-header,.settings-actions{padding:var(--space-4) var(--space-5)}.settings-header{align-items:center}.settings-header .eyebrow{margin-bottom:var(--space-1)}.settings-panel h1{margin-bottom:var(--space-1);font-size:clamp(1.0625rem,4.2dvh,1.5rem)}#settings-summary{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.settings-scroll{grid-template-columns:minmax(170px,.78fr) minmax(230px,1.22fr);gap:var(--space-3);padding:var(--space-4) var(--space-5)}.settings-group{gap:var(--space-3);padding:var(--space-4)}.settings-group-heading p:last-child{margin-bottom:var(--space-1)}.axis-buttons{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.settings-panel button{min-height:var(--target-min);padding-block:.4375rem}.settings-status{font-size:var(--font-size-sm)!important}}@media(max-height:360px)and (orientation:landscape){.settings-panel{width:calc(100vw - var(--fpv-safe-inline));max-height:calc(100dvh - var(--fpv-safe-block))}.settings-scroll{padding-block:var(--space-3)}.settings-group-heading p:last-child{display:none}}@media(forced-colors:active){.preflight-panel,.settings-panel,.settings-group,.axis-summary{border-color:CanvasText;background:Canvas;box-shadow:none}.settings-header,.settings-actions{background:Canvas;border-color:CanvasText}}}@layer hud{.hud{pointer-events:none;position:absolute;z-index:var(--z-hud);inset:var(--fpv-safe-top) var(--fpv-safe-right) var(--fpv-safe-bottom) var(--fpv-safe-left);color:var(--color-text-secondary);text-shadow:var(--text-glow-cyan)}.hud.dead{z-index:var(--z-critical)}.reticle{position:absolute;left:50%;top:50%;width:74px;height:74px;transform:translate(-50%,-50%);border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .64);border-radius:var(--radius-round);box-shadow:0 0 22px rgb(var(--rgb-cyan-hot) / .22),inset 0 0 18px rgb(var(--rgb-cyan-hot) / .08)}.reticle:before,.reticle:after{content:"";position:absolute;background:rgb(var(--rgb-cyan) / .82)}.reticle:before{left:50%;top:14px;bottom:14px;width:1px}.reticle:after{top:50%;left:14px;right:14px;height:1px}.horizon{position:absolute;inset:0;overflow:hidden}.horizon:before,.horizon:after{content:"";position:absolute;left:50%;width:1px;height:34%;background:linear-gradient(transparent,rgb(var(--rgb-cyan) / .2),transparent)}.horizon:before{top:0}.horizon:after{bottom:0}.horizon-line{position:absolute;left:50%;top:50%;width:34vw;min-width:170px;max-width:360px;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent-primary) 18%,var(--color-accent-primary) 82%,transparent);box-shadow:0 0 12px rgb(var(--rgb-cyan) / .85);will-change:transform}.horizon-line:before,.horizon-line:after{content:"";position:absolute;top:-6px;width:22%;height:13px;border-top:2px solid rgb(var(--rgb-cyan) / .7)}.horizon-line:before{right:calc(50% + 45px);border-left:2px solid rgb(var(--rgb-cyan) / .7)}.horizon-line:after{left:calc(50% + 45px);border-right:2px solid rgb(var(--rgb-cyan) / .7)}.pitch-rung{position:absolute;left:50%;width:92px;transform:translate(-50%);color:#bdfcffb8;font-size:var(--font-size-xs);font-weight:var(--font-weight-ui);text-align:center}.pitch-rung:before,.pitch-rung:after{content:"";position:absolute;top:50%;width:28px;height:1px;background:rgb(var(--rgb-cyan) / .58)}.pitch-rung:before{right:calc(50% + 16px)}.pitch-rung:after{left:calc(50% + 16px)}.pitch-rung-up{bottom:34px}.pitch-rung-down{top:34px}.bank-scale{position:absolute;left:50%;top:50%;width:0;height:0}.bank-scale i{position:absolute;left:-1px;top:-66px;width:2px;height:10px;background:rgb(var(--rgb-cyan) / .62);box-shadow:0 0 8px rgb(var(--rgb-cyan) / .4);transform:rotate(var(--bank));transform-origin:1px 66px}.bank-scale i:nth-child(4){height:16px;background:var(--color-text-secondary)}.fpv-wings{position:absolute;left:50%;top:50%;width:140px;height:22px;transform:translate(-50%,-50%)}.fpv-wings:before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border:2px solid var(--color-text-secondary);border-radius:var(--radius-round);transform:translate(-50%,-50%);box-shadow:0 0 10px rgb(var(--rgb-cyan) / .85)}.fpv-wings span{position:absolute;top:50%;width:50px;height:2px;background:var(--color-text-secondary);box-shadow:0 0 10px rgb(var(--rgb-cyan) / .85)}.fpv-wings span:first-child{right:calc(50% + 16px)}.fpv-wings span:last-child{left:calc(50% + 16px)}.flight-metrics{position:absolute;left:50%;top:calc(50% + clamp(42px,10dvh,54px));display:flex;gap:clamp(.625rem,4vw,1.375rem);align-items:center;justify-content:center;transform:translate(-50%);font-variant-numeric:tabular-nums}.metric{display:grid;grid-template-columns:auto auto;grid-template-areas:"label unit" "value value";column-gap:var(--space-2);min-width:70px;color:var(--color-text-secondary);text-align:center}.metric b{grid-area:label;color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:var(--letter-space-wide)}.metric small{grid-area:unit;align-self:center;color:var(--color-text-subtle);font-size:var(--font-size-2xs)}.metric .value{grid-area:value;font-size:clamp(1.375rem,4vw,2.25rem);line-height:var(--line-height-tight);font-weight:var(--font-weight-ui)}.at-max-speed .speed-readout .value{color:var(--color-accent-warning);text-shadow:0 0 12px rgb(var(--rgb-amber) / .82)}.status,.collision-toast,.hud-chip{border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .26);border-radius:var(--radius-pill);background:rgb(var(--rgb-black) / .5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:var(--letter-space-label);font-size:var(--font-size-sm);font-weight:var(--font-weight-ui);text-align:center;text-transform:uppercase}.status,.collision-toast{position:absolute;left:50%;max-width:min(74vw,calc(100vw - var(--fpv-safe-inline)));padding:.375rem .6875rem;transform:translate(-50%)}.status{top:var(--space-2);color:var(--color-text-muted)}.status:empty,.collision-toast:empty{display:none}.collision-toast{bottom:calc(var(--target-large) + var(--space-4));color:var(--color-accent-warning);border-color:rgb(var(--rgb-amber) / .38)}.collision-toast[data-severity=fatal]{color:var(--color-accent-danger-soft);border-color:rgb(var(--rgb-danger) / .64);background:#340816ad;text-shadow:var(--text-glow-danger)}.game.preflight .hud-state-strip,.game[data-phase=entry] .hud-state-strip{display:none}.hud-state-strip{position:absolute;left:50%;top:calc(var(--fpv-safe-top) + var(--space-16) + var(--space-10));display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;width:min(620px,calc(100vw - var(--fpv-safe-inline) - var(--fpv-throttle-zone)));min-width:0;transform:translate(-50%)}.hud-chip{display:inline-flex;gap:var(--space-2);align-items:center;min-height:1.625rem;padding:.25rem .5625rem;color:var(--color-text-muted);white-space:nowrap}.hud-chip[hidden]{display:none!important}.hud-chip:before{content:"";width:.42rem;height:.42rem;border-radius:var(--radius-round);background:currentColor;box-shadow:0 0 8px currentColor}.hud-chip[data-state=active],.hud-chip[data-state=ready]{color:var(--color-accent-success);border-color:rgb(var(--rgb-success) / .46)}.hud-chip[data-state=paused],.hud-chip[data-state=warning]{color:var(--color-accent-warning);border-color:rgb(var(--rgb-amber) / .54);background:#3022088a}.hud-chip[data-state=danger]{color:var(--color-accent-danger-soft);border-color:rgb(var(--rgb-danger) / .62);background:#3408169e;text-shadow:var(--text-glow-danger)}.trail-chip[data-state=idle]{color:var(--color-text-subtle);border-color:rgb(var(--rgb-cyan) / .18);opacity:.72}.trail-chip[data-state=active]{color:var(--color-accent-secondary-contrast);border-color:rgb(var(--rgb-magenta) / .74);background:#36082ea3;box-shadow:0 0 14px rgb(var(--rgb-magenta) / .32)}.game.paused .hud .status{color:var(--color-accent-warning);border-color:var(--border-warning)}.gyro-debug{position:absolute;right:var(--space-4);bottom:var(--space-4);display:none;gap:var(--space-1);width:92px;font-size:var(--font-size-xs);font-weight:var(--font-weight-strong);letter-spacing:.04em;opacity:.42}.game.preflight .gyro-debug{display:grid}.gyro-row{display:grid;grid-template-columns:10px 1fr;gap:var(--space-2);align-items:center}.gyro-row span{color:var(--color-text-muted)}.gyro-bar{position:relative;height:5px;overflow:hidden;background:rgb(var(--rgb-cyan) / .14)}.gyro-fill{position:absolute;left:50%;width:50%;height:100%;background:var(--color-accent-primary);box-shadow:0 0 7px var(--color-accent-primary)}.gyro-fill.negative{right:50%;left:auto;background:var(--color-accent-warning);box-shadow:0 0 7px var(--color-accent-warning)}.signal-lost-banner{position:absolute;z-index:var(--z-critical);inset:calc(-1 * var(--fpv-safe-top)) calc(-1 * var(--fpv-safe-right)) calc(-1 * var(--fpv-safe-bottom)) calc(-1 * var(--fpv-safe-left));display:grid;place-items:center;padding:var(--space-16);color:var(--color-accent-danger);background:radial-gradient(circle,transparent 23%,rgb(255 0 40 / .2)),linear-gradient(180deg,#05070b24,#05070b8a);text-align:center;text-shadow:var(--text-glow-danger)}.signal-lost-banner[hidden]{display:none!important}.signal-lost-banner strong{display:block;font-size:clamp(2.125rem,8vw,5.375rem);font-weight:var(--font-weight-display);letter-spacing:var(--letter-space-label)}.signal-lost-detail{display:block;margin-top:var(--space-5);color:var(--color-accent-danger-soft);font-size:clamp(.75rem,2.2vw,1rem);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-wide);text-transform:uppercase}@media(max-height:430px)and (orientation:landscape){.horizon-line{width:28vw;min-width:140px}.flight-metrics{top:calc(50% + 42px);gap:var(--space-7)}.metric{min-width:54px}.metric .value{font-size:clamp(1.125rem,3.5vw,1.625rem)}.status,.collision-toast,.hud-chip{font-size:var(--font-size-xs)}.hud-state-strip{top:calc(var(--fpv-safe-top) + 58px);width:min(560px,calc(100vw - var(--fpv-safe-inline) - var(--fpv-throttle-zone)))}.collision-toast{bottom:calc(var(--target-large) + var(--space-2))}}@media(max-width:720px){.hud-state-strip{width:min(88vw,calc(100vw - var(--fpv-safe-inline)))}.hud-chip{padding-inline:var(--space-4)}}@media(prefers-reduced-motion:reduce){.reticle,.fpv-wings:before,.fpv-wings span,.horizon-line,.gyro-fill,.trail-chip[data-state=active],.at-max-speed .speed-readout .value,.signal-lost-banner{box-shadow:none;text-shadow:none}.horizon-line{opacity:.72}.signal-lost-banner{background:#340816d1}}@media(forced-colors:active){.status,.collision-toast,.hud-chip{border-color:CanvasText;background:Canvas}.signal-lost-banner{color:Mark;background:Canvas;text-shadow:none}}}@layer controls{.controls{pointer-events:none;position:absolute;user-select:none;-webkit-user-select:none;z-index:var(--z-controls);inset:0;transition:opacity var(--duration-base) var(--ease-standard)}.throttle-pad{pointer-events:auto;position:absolute;left:var(--space-safe-left);top:var(--fpv-safe-top);bottom:var(--fpv-safe-bottom);width:var(--throttle-width);overflow:hidden;border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .32);border-left:0;border-radius:0 var(--radius-xl) var(--radius-xl) 0;background:linear-gradient(180deg,rgb(var(--rgb-cyan) / .11),rgb(var(--rgb-white) / .02)),rgb(var(--rgb-black) / .34);box-shadow:inset -12px 0 24px #0000003d,0 0 18px rgb(var(--rgb-cyan-hot) / .12);touch-action:none;user-select:none;-webkit-user-select:none;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),filter var(--duration-fast) var(--ease-standard)}.throttle-pad:before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:calc(var(--throttle-width) * .42);background:repeating-linear-gradient(0deg,rgb(var(--rgb-white) / .18) 0 1px,transparent 1px 10%);opacity:.84}.throttle-pad.active,.throttle-pad:active{border-color:rgb(var(--rgb-cyan) / .64);box-shadow:inset -12px 0 24px #0000002e,0 0 22px rgb(var(--rgb-cyan-hot) / .36)}.throttle-pad:focus-visible{outline:var(--focus-ring-size) solid var(--color-focus-ring);outline-offset:3px;box-shadow:var(--shadow-focus),inset -12px 0 24px #0000002e}.throttle-fill{position:absolute;left:0;bottom:0;width:50%;height:0;background:linear-gradient(0deg,rgb(var(--rgb-cyan-hot) / .8),rgb(var(--rgb-magenta) / .84));box-shadow:0 0 18px rgb(var(--rgb-cyan-hot) / .72);transition:filter var(--duration-fast) var(--ease-standard)}.throttle-fill:after{content:"";position:absolute;left:6px;right:6px;top:0;height:4px;border-radius:var(--radius-pill);background:var(--color-text-secondary);box-shadow:0 0 12px #d9fbffe6;transform:translateY(-2px)}.throttle-label,.throttle-value{position:absolute;z-index:1;left:0;width:50%;text-align:center;font-size:var(--font-size-md);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-ui);text-shadow:0 0 8px #000}.throttle-label{top:var(--space-6);color:#d9fbffb3}.throttle-value{bottom:var(--space-6);color:#d9fbffdb}.game.preflight .controls{opacity:0;pointer-events:none}.game.paused .controls{opacity:.22;pointer-events:none}.shortcut-help{pointer-events:none;position:absolute;z-index:var(--z-actions);right:var(--fpv-safe-right);bottom:var(--fpv-safe-bottom);width:min(460px,calc(100vw - var(--fpv-safe-inline)));padding:var(--space-5) var(--space-6);border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .34);border-radius:var(--radius-lg);color:var(--color-text-secondary);background:rgb(var(--rgb-black) / .64);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-panel);opacity:.9;visibility:visible;transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard),visibility var(--duration-base) var(--ease-standard)}.game[data-phase=entry] .shortcut-help{opacity:0;transform:translateY(8px);visibility:hidden}.game.paused .shortcut-help{opacity:.42}.shortcut-help-title{margin:0 0 var(--space-3);color:var(--color-accent-warning);font-size:var(--font-size-xs);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-wide);text-transform:uppercase}.shortcut-help dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3) var(--space-5);margin:0}.shortcut-help div{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2);align-items:center;min-width:0}.shortcut-help dt,.shortcut-help dd{margin:0}.shortcut-help dd{overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-ui);letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.shortcut-help kbd{display:inline-grid;min-width:1.55rem;min-height:1.4rem;place-items:center;margin-right:2px;border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .42);border-radius:var(--radius-xs);color:var(--color-text-primary);background:rgb(var(--rgb-cyan-deep) / .48);box-shadow:inset 0 -2px #00000057;font-size:var(--font-size-xs);font-weight:var(--font-weight-ui);line-height:1}@media(max-width:760px),(max-height:430px){.shortcut-help{left:var(--fpv-throttle-zone);right:var(--fpv-safe-right);bottom:var(--fpv-safe-bottom);width:auto;padding:var(--space-4)}.shortcut-help dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.throttle-fill,.shortcut-help{transition:none}}@media(forced-colors:active){.throttle-pad,.shortcut-help{border-color:ButtonText;background:Canvas;box-shadow:none}.throttle-fill,.throttle-fill:after,.shortcut-help kbd{background:Highlight;box-shadow:none}}}@layer multiplayer{.multiplayer-panel{pointer-events:auto;position:absolute;z-index:var(--z-popover);top:var(--fpv-top-action-zone);right:var(--fpv-safe-right);display:grid;gap:var(--space-3);width:min(var(--fpv-readable-popover),calc(100vw - var(--fpv-throttle-zone) - var(--fpv-safe-right)));max-height:calc(100dvh - var(--fpv-top-action-zone) - var(--fpv-safe-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding:var(--space-5);border:var(--border-hairline) solid var(--border-panel);border-radius:var(--radius-md);background:var(--surface-glass);background-image:var(--surface-panel-highlight),var(--surface-panel-flare);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-panel);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:transform var(--duration-base) var(--ease-emphasized),opacity var(--duration-base) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.multiplayer-panel.reconnect-only{top:var(--fpv-safe-top);right:var(--fpv-safe-right);left:var(--fpv-safe-left);width:min(380px,calc(100vw - var(--fpv-safe-inline)));max-height:calc(100dvh - var(--fpv-safe-block));margin-inline:auto;transform:none;border-color:var(--border-warning);box-shadow:0 0 24px rgb(var(--rgb-amber) / .18),inset 0 0 0 1px rgb(var(--rgb-white) / .04)}.multiplayer-panel[hidden],.multiplayer-panel [hidden]{display:none!important}.multiplayer-card{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;min-width:0}.multiplayer-status{position:relative;min-width:0;overflow:hidden;color:var(--color-accent-primary);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-ui);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;text-shadow:var(--text-glow-cyan)}.multiplayer-status:before{content:"";display:inline-block;width:.5rem;height:.5rem;margin-right:var(--space-3);border-radius:var(--radius-round);background:var(--color-accent-primary);box-shadow:0 0 12px rgb(var(--rgb-cyan-hot) / .72);vertical-align:.05em}.multiplayer-panel[data-room-status=offline] .multiplayer-status{color:var(--color-text-muted);text-shadow:none}.multiplayer-panel[data-room-status=offline] .multiplayer-status:before{background:var(--color-text-subtle);box-shadow:none}.multiplayer-panel[data-room-status=connecting] .multiplayer-status:before{animation:multiplayer-pulse 1.1s var(--ease-standard) infinite}.multiplayer-panel[data-room-status=connected]{border-color:rgb(var(--rgb-success) / .38)}.multiplayer-panel[data-room-status=connected] .multiplayer-status,.game.multiplayer-room .multiplayer-status{text-shadow:var(--text-glow-cyan)}.multiplayer-panel[data-room-status=connected] .multiplayer-status:before{background:var(--color-accent-success);box-shadow:0 0 14px rgb(var(--rgb-success) / .58)}.multiplayer-panel[data-room-status=error]{border-color:var(--border-error);box-shadow:0 0 24px rgb(var(--rgb-danger) / .24),inset 0 0 0 1px rgb(var(--rgb-white) / .04)}.multiplayer-panel[data-room-status=error] .multiplayer-status{color:var(--color-accent-danger-soft);text-shadow:var(--text-glow-danger)}.multiplayer-panel[data-room-status=error] .multiplayer-status:before,.multiplayer-panel[data-room-status=disconnected] .multiplayer-status:before,.multiplayer-panel.has-stale-peer .multiplayer-status:before{background:var(--color-accent-warning);box-shadow:0 0 12px rgb(var(--rgb-amber) / .58)}.multiplayer-room-code{flex:0 0 auto;max-width:46%;overflow:hidden;padding:.25rem .5rem;border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .24);border-radius:var(--radius-pill);color:var(--color-text-secondary);background:#00000047;font-size:var(--font-size-xs);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-ui);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.multiplayer-detail,.multiplayer-empty,.multiplayer-stale{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-copy);line-height:var(--line-height-copy)}.multiplayer-empty,.multiplayer-stale{padding:var(--space-3) var(--space-4);border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .2);border-radius:var(--radius-sm);background:rgb(var(--rgb-blue-black) / .46)}.multiplayer-empty{color:var(--color-accent-warning);border-color:rgb(var(--rgb-amber) / .3);background:#32240a61}.multiplayer-stale{color:var(--color-accent-warning);border-color:rgb(var(--rgb-amber) / .34)}.multiplayer-row{display:flex;gap:var(--space-3);align-items:center}.player-name-control span{color:var(--color-text-muted);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-label);text-transform:uppercase}.player-name-input{flex:1;min-width:0;min-height:var(--control-height-md);padding:.5rem .6875rem;border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .28);border-radius:var(--radius-pill);outline:none;color:var(--color-text-primary);background:#00000057;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.player-name-input:hover:not(:disabled){border-color:rgb(var(--rgb-cyan) / .5);background:#0000006b}.player-name-input:focus,.player-name-input:focus-visible{border-color:rgb(var(--rgb-cyan) / .78);box-shadow:var(--shadow-focus),0 0 12px rgb(var(--rgb-cyan-hot) / .24)}.player-name-input:disabled,.player-name-input[aria-disabled=true]{color:var(--color-text-disabled);border-color:var(--border-control-disabled)!important;background:var(--surface-control-disabled)!important;box-shadow:none!important}.player-name-input:is(.is-loading,.loading,[aria-busy=true],[data-state=loading]){border-color:var(--border-control-hover)!important;background:var(--surface-control-loading)!important}.player-name-input:is(.is-success,[data-state=success]){border-color:var(--border-success)!important;background:var(--surface-control-success)!important;box-shadow:var(--shadow-success)!important}.player-name-input:is(.is-error,[data-state=error],:user-invalid,[aria-invalid=true]){border-color:var(--border-error)!important;background:var(--surface-control-error)!important;box-shadow:var(--shadow-danger)!important}.multiplayer-actions{flex-wrap:wrap}.multiplayer-actions button{min-width:0;min-height:var(--target-min)}.multiplayer-actions button[hidden]{display:none!important}.multiplayer-meta{justify-content:space-between;color:var(--color-text-muted);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-ui);text-transform:uppercase}.multiplayer-peers{color:var(--color-accent-warning)}.multiplayer-capacity{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.multiplayer-error{min-height:1rem;margin:0;padding:var(--space-3) var(--space-4);border:var(--border-hairline) solid rgb(var(--rgb-danger) / .36);border-radius:var(--radius-sm);color:var(--color-accent-danger-soft);background:#3408167a;font-size:var(--font-size-xs);font-weight:850;line-height:var(--line-height-copy)}.multiplayer-error:empty:before{content:""}.multiplayer-readout{position:absolute;left:50%;top:42px;display:flex;gap:var(--space-5);transform:translate(-50%);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-ui);letter-spacing:.1em;text-transform:uppercase}.multiplayer-stale .multiplayer-readout,.game.multiplayer-stale .multiplayer-readout{color:var(--color-accent-warning)}.game.multiplayer-connected .multiplayer-panel{border-color:rgb(var(--rgb-success) / .38)}@keyframes multiplayer-pulse{0%,to{opacity:.44;transform:scale(.82)}50%{opacity:1;transform:scale(1.08)}}@media(max-width:720px)and (orientation:portrait){.multiplayer-panel:not(.reconnect-only){right:var(--fpv-safe-right);left:var(--fpv-throttle-zone);width:auto}}@media(max-height:430px)and (orientation:landscape){.multiplayer-panel:not(.reconnect-only){top:var(--fpv-safe-top);right:calc(var(--fpv-safe-right) + var(--fpv-action-reserve));width:min(330px,calc(100vw - var(--fpv-throttle-zone) - var(--fpv-safe-right) - var(--fpv-action-reserve)));max-height:calc(100dvh - var(--fpv-safe-block));padding:var(--space-4)}.multiplayer-detail,.multiplayer-empty,.multiplayer-stale{font-size:var(--font-size-2xs)}}@media(prefers-reduced-motion:reduce){.multiplayer-panel[data-room-status=connecting] .multiplayer-status:before{animation:none}}@media(forced-colors:active){.multiplayer-panel,.player-name-input,.multiplayer-room-code,.multiplayer-empty,.multiplayer-stale,.multiplayer-error{border-color:CanvasText;background:Canvas;box-shadow:none}.multiplayer-status,.multiplayer-peers,.multiplayer-empty,.multiplayer-stale{color:CanvasText;text-shadow:none}.multiplayer-error{color:Mark}}}@layer entry-preflight{.game.entry-gated .top-actions,.game.entry-gated .preflight-panel{opacity:0;pointer-events:none}.rotate-warning{position:absolute;z-index:var(--z-critical);inset:0;display:none;place-items:center;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--fpv-safe-top) var(--fpv-safe-right) var(--fpv-safe-bottom) var(--fpv-safe-left);color:var(--color-text-primary);text-align:center;background:radial-gradient(circle at 50% 40%,rgb(var(--rgb-cyan-hot) / .14),transparent 34%),radial-gradient(circle at 78% 22%,rgb(var(--rgb-magenta) / .11),transparent 25%),var(--color-scene-background)}.game.entry-gated .rotate-warning,.rotate-warning[data-layer-visible=true]{display:grid}.entry-card{width:min(520px,calc(100vw - var(--fpv-safe-inline)));max-height:calc(100dvh - var(--fpv-safe-block));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .36);border-radius:var(--radius-2xl);padding:clamp(1rem,4.5dvh,1.875rem);background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-panel-strong)}.entry-title{margin:0;font-size:var(--font-size-display);line-height:.92;font-weight:var(--font-weight-display);letter-spacing:var(--letter-space-ui);text-transform:uppercase;text-shadow:var(--text-glow-strong)}.entry-copy{margin:var(--space-6) 0 1.125rem;color:var(--color-text-muted);font-size:clamp(.8125rem,2.8vw,1rem);font-weight:850;letter-spacing:var(--letter-space-ui);text-transform:uppercase}.entry-readiness{display:grid;gap:var(--space-3);margin:0 0 var(--space-6);padding:0;list-style:none;text-align:left}.entry-check{display:grid;grid-template-columns:minmax(116px,.72fr) minmax(0,1.28fr);gap:var(--space-4);align-items:center;min-height:42px;padding:var(--space-3) var(--space-4);border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .22);border-radius:var(--radius-md);background:rgb(var(--rgb-black) / .34)}.entry-check span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-label);text-transform:uppercase}.entry-check b,.entry-start-hint{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-copy);letter-spacing:.04em}.entry-check:before{content:"Pending";justify-self:start;grid-column:1 / -1;margin-bottom:calc(-1 * var(--space-2));color:var(--color-accent-warning);font-size:var(--font-size-2xs);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-wide);text-transform:uppercase}.entry-check[data-state=success]{border-color:var(--border-success)}.entry-check[data-state=success]:before{content:"Ready";color:var(--color-accent-success)}.entry-check[data-state=unavailable],.entry-check[data-state=best-effort]{border-color:var(--border-warning)}.entry-check[data-state=unavailable]:before{content:"Unavailable"}.entry-check[data-state=best-effort]:before{content:"Best effort"}.entry-check[data-state=denied]{border-color:var(--border-error)}.entry-check[data-state=denied]:before{content:"Blocked";color:var(--color-accent-danger-soft)}.entry-start-hint{min-height:1.2em;margin:0 0 var(--space-6);color:var(--color-accent-warning);font-weight:var(--font-weight-strong)}.entry-actions{display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:center}.preflight-panel{left:var(--fpv-safe-left);right:var(--fpv-safe-right);top:calc(50% + var(--fpv-safe-top) / 2 - var(--fpv-safe-bottom) / 2);width:min(var(--fpv-readable-panel),calc(100vw - var(--fpv-safe-inline)));max-height:calc(100dvh - var(--fpv-safe-block));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding:var(--space-fluid-panel);display:grid;grid-template-columns:minmax(210px,.86fr) minmax(250px,1.14fr);grid-template-areas:"copy scope" "readout scope" "status actions" "reason actions";gap:clamp(.5rem,2dvh,.75rem) clamp(.75rem,3vw,1.125rem);margin-inline:auto;transform:translateY(-50%)}.preflight-panel.collapsed{transform:translateY(calc(-50% - 12px))}.game:not(.preflight) .preflight-panel{display:none}.preflight-copy{grid-area:copy}.preflight-setup-options{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.setup-option{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .2);border-radius:var(--radius-md);background:rgb(var(--rgb-black) / .32)}.setup-option b{color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-wide);text-transform:uppercase}.setup-option span,.preflight-controller-status,.preflight-gyro-status{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-copy);font-weight:var(--font-weight-copy);letter-spacing:.03em}.game.gyro-fallback .setup-option-controller,.game.controller-ready .setup-option-controller,.game.preflight-armed .setup-option-gyro{border-color:var(--border-success);box-shadow:inset 0 0 0 1px rgb(var(--rgb-success) / .12),0 0 18px rgb(var(--rgb-success) / .1)}.controller-button-hints{display:flex;flex-wrap:wrap;gap:var(--space-2)}.controller-button-hints span{display:inline-flex;gap:var(--space-2);align-items:center;min-height:28px;padding:.125rem .4375rem;border-radius:var(--radius-pill);color:var(--color-text-secondary);background:rgb(var(--rgb-cyan) / .1);font-size:var(--font-size-xs);font-weight:var(--font-weight-ui);letter-spacing:.04em}.controller-button-hints kbd{min-width:1.65em;padding:.0625rem .3125rem;border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .36);border-radius:var(--radius-xs);color:var(--color-accent-warning);background:rgb(var(--rgb-black) / .48);font:inherit;text-align:center}.drone-calibration-scope{position:relative;grid-area:scope;user-select:none;-webkit-user-select:none;min-height:clamp(190px,46dvh,310px);overflow:hidden;border:var(--border-hairline) solid rgb(var(--rgb-cyan) / .24);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 50%,rgb(var(--rgb-cyan-hot) / .2),transparent 32%),linear-gradient(rgb(var(--rgb-cyan) / .09) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--rgb-cyan) / .09) 1px,transparent 1px),var(--surface-grid);background-size:auto,26px 26px,26px 26px,auto;perspective:620px}.scope-ring{position:absolute;inset:34px;border:var(--border-hairline) dashed rgb(var(--rgb-cyan) / .38);border-radius:var(--radius-round)}.preview-drone{position:absolute;left:50%;top:50%;width:116px;height:116px;transform-style:preserve-3d;transition:transform var(--duration-instant) linear}.drone-body{position:absolute;left:50%;top:50%;width:34px;height:58px;border-radius:45% 45% 55% 55%;background:linear-gradient(var(--color-text-secondary),var(--color-accent-primary-strong) 55%,var(--color-drone-preview-deep));box-shadow:0 0 18px rgb(var(--rgb-cyan-hot) / .72);transform:translate(-50%,-50%)}.drone-body:before{content:"";position:absolute;left:50%;top:-18px;width:0;height:0;border-right:13px solid transparent;border-bottom:24px solid var(--color-accent-primary);border-left:13px solid transparent;transform:translate(-50%)}.drone-arm{position:absolute;left:50%;top:50%;width:106px;height:5px;border-radius:var(--radius-pill);background:#d9fbffd1;transform:translate(-50%,-50%)}.arm-z{transform:translate(-50%,-50%) rotate(90deg)}.preview-drone i{position:absolute;width:18px;height:18px;border:2px solid var(--color-accent-warning);border-radius:var(--radius-round);box-shadow:0 0 10px rgb(var(--rgb-amber) / .78)}.preview-drone i:nth-of-type(1){left:0;top:0}.preview-drone i:nth-of-type(2){right:0;top:0}.preview-drone i:nth-of-type(3){left:0;bottom:0}.preview-drone i:nth-of-type(4){right:0;bottom:0}.preview-vector{position:absolute;left:50%;top:50%;width:156px;height:3px;transform-origin:left center;transition:transform var(--duration-instant) linear,width var(--duration-instant) linear,opacity var(--duration-instant) linear}.preview-vector:after{content:"";position:absolute;right:-1px;top:50%;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:12px solid currentColor;transform:translateY(-50%)}.preview-vector span{position:absolute;right:0;bottom:9px;font-size:var(--font-size-2xs);font-weight:var(--font-weight-ui);letter-spacing:var(--letter-space-label)}.forward-vector{color:var(--color-accent-primary-strong);background:var(--color-accent-primary-strong);transform:translateY(-50%) rotate(-90deg)}.thrust-vector{color:var(--color-accent-secondary);background:var(--color-accent-secondary);transform:translateY(-50%) rotate(-90deg)}.preview-axis-readout{grid-area:readout;display:grid;gap:var(--space-3);align-content:end}.preview-axis-readout>div{display:grid;grid-template-columns:42px 1fr;gap:var(--space-4);align-items:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-ui);letter-spacing:.1em}.preview-axis-bar{position:relative;height:8px;overflow:hidden;border-radius:var(--radius-pill);background:rgb(var(--rgb-cyan) / .16)}.preview-axis-bar i{position:absolute;left:50%;width:50%;height:100%;background:var(--color-accent-primary-strong);box-shadow:0 0 8px rgb(var(--rgb-cyan-hot) / .82);transform:scaleX(0)}.preview-axis-bar i.negative{right:50%;left:auto;background:var(--color-accent-warning)}.onboarding-arm-status{grid-area:status;min-height:18px;margin-bottom:0!important;color:var(--color-accent-warning)!important;font-weight:var(--font-weight-strong);letter-spacing:.04em}.preflight-launch-reason{grid-area:reason;min-height:1.2em;margin-bottom:0!important;color:var(--color-text-muted)!important;font-size:var(--font-size-sm)!important;line-height:var(--line-height-copy)}.game.preflight-armed .preflight-launch-reason{color:var(--color-accent-success)!important}.game.gyro-fallback .onboarding-arm-status{color:var(--color-accent-danger-soft)!important}.game.controller-ready .onboarding-arm-status{color:var(--color-accent-primary)!important}.preflight-actions{position:sticky;z-index:2;bottom:0;grid-area:actions;display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:end;justify-content:flex-end;min-width:0;padding-top:var(--space-2);background:linear-gradient(180deg,transparent,rgb(var(--rgb-black) / .74) 34%,rgb(var(--rgb-black) / .88))}@media(orientation:portrait){.rotate-warning{display:grid;align-items:start}.entry-check{grid-template-columns:1fr;text-align:center}.entry-actions{flex-direction:column;align-items:stretch}.entry-actions button{width:100%}}@media(max-width:720px)and (orientation:portrait){.preflight-panel{grid-template-columns:1fr;grid-template-areas:"copy" "scope" "readout" "status" "reason" "actions"}.drone-calibration-scope{min-height:230px}.preview-vector{width:116px}}@media(prefers-reduced-motion:reduce){.preview-drone,.preview-vector,.preview-axis-bar i{transition:none!important}.drone-calibration-scope{perspective:none}}@media(max-height:430px)and (orientation:landscape){.preflight-panel{grid-template-columns:minmax(172px,.82fr) minmax(180px,1.18fr);gap:var(--space-3);max-height:calc(100dvh - var(--fpv-safe-block));padding:var(--space-4)}.preflight-copy p:not(.eyebrow),.preview-vector span{display:none}.preflight-setup-options{gap:var(--space-2);margin-top:var(--space-2)}.setup-option{gap:var(--space-1);padding:var(--space-2) var(--space-3)}.controller-button-hints span{min-height:var(--target-min)}.drone-calibration-scope{min-height:clamp(128px,44dvh,184px)}.preview-axis-readout{gap:var(--space-2)}.preflight-panel h1{font-size:clamp(1.0625rem,4.2dvh,1.5rem)}.preflight-actions{align-self:end}.preflight-actions button{min-height:var(--target-min);padding-block:.4375rem}}@media(max-width:420px),(max-height:380px){.entry-card{padding:var(--space-8)}.entry-copy{margin-block:var(--space-5)}.entry-readiness{gap:var(--space-2);margin-bottom:var(--space-5)}}@media(max-height:360px)and (orientation:landscape){.preflight-panel{grid-template-columns:minmax(158px,.9fr) minmax(148px,1.1fr);padding:var(--space-3)}.setup-option span,.controller-button-hints{display:none}.drone-calibration-scope{min-height:clamp(104px,38dvh,140px)}.preview-axis-readout>div{grid-template-columns:36px 1fr;gap:var(--space-3)}.onboarding-arm-status,.preflight-launch-reason{font-size:var(--font-size-xs)!important;line-height:1.2}}@media(forced-colors:active){.rotate-warning,.entry-card,.entry-check,.setup-option,.controller-button-hints span,.drone-calibration-scope{border-color:CanvasText;background:Canvas;box-shadow:none}.preview-vector,.preview-axis-bar i,.drone-body{background:Highlight}.preview-vector:after{border-left-color:Highlight}}}
