:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#8ebfdb}canvas{display:block}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;color:#f5fafcf5;text-shadow:0 1px 18px rgba(5,25,35,.35)}.brand{position:absolute;top:22px;left:22px}.brand strong{display:block;font-size:16px;font-weight:700;letter-spacing:.24em}.brand span{display:block;margin-top:7px;font-size:14px;opacity:.8}.metrics{position:absolute;top:18px;right:22px;display:flex;gap:28px;text-align:right}.metric b{display:block;font-size:18px;font-weight:650;font-variant-numeric:tabular-nums}.metric small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.18em;opacity:.66;margin-top:4px}.center-reticle{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);opacity:.3}.center-reticle:before,.center-reticle:after{content:"";position:absolute;background:#ffffffd9}.center-reticle:before{left:0;top:7px;width:16px;height:1px}.center-reticle:after{top:0;left:7px;width:1px;height:16px}.controls{position:absolute;bottom:72px;left:50%;transform:translate(-50%);display:flex;gap:12px;align-items:center;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#0c182029;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:11px;white-space:nowrap;opacity:1;transition:opacity .7s ease,transform .7s ease}body.flight-hints-faded .controls{opacity:0;transform:translate(-50%,8px);pointer-events:none}.chip{padding:4px 7px;border-radius:6px;border:1px solid rgba(255,255,255,.24);background:#ffffff14;font-size:10px;font-weight:650;margin-right:4px}#notice{position:absolute;top:16%;left:50%;transform:translate(-50%);padding:10px 14px;border-radius:999px;background:#0c18202e;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12px;opacity:0;transition:opacity .28s ease,transform .28s ease}#notice.show{opacity:.95;transform:translate(-50%) translateY(0)}#flightTransition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;pointer-events:none;background:#121c224d;opacity:0;transition:opacity .08s linear}body.motion-reduced #flightTransition,body.motion-reduced .dock-panel,body.motion-reduced #notice,body.motion-reduced #start,body.motion-reduced .controls,body.motion-reduced .stick-knob{transition:none}#flightTransition.active{opacity:var(--transition-opacity, 0)}.recovery-action{position:fixed;left:50%;bottom:clamp(74px,11vh,118px);transform:translate(-50%);z-index:7;border:1px solid rgba(255,255,255,.38);border-radius:999px;padding:10px 15px;color:#fffffff0;background:#192326d1;box-shadow:0 8px 24px #0000002e;font:600 12px/1.1 var(--sans, system-ui);cursor:pointer}.recovery-action:hover{background:#28373aeb}.recovery-action:focus-visible{outline:2px solid rgba(224,246,241,.95);outline-offset:3px}.recovery-action .chip{margin-left:7px}#touchControls{display:none}.flight-stick{position:relative;width:138px;height:138px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#0a1c2633;touch-action:none}.stick-ring{position:absolute;top:25px;right:25px;bottom:25px;left:25px;border:1px dashed rgba(255,255,255,.28);border-radius:50%}.stick-knob{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px;border-radius:50%;background:#ffffffb3;box-shadow:0 4px 18px #00000040;pointer-events:none;transition:transform .08s ease-out}.stick-caption{position:absolute;left:0;right:0;bottom:9px;text-align:center;font-size:8px;letter-spacing:.14em;opacity:.6}.touch-actions{display:grid;grid-template-columns:repeat(2,48px);gap:8px}.touch-button{width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:#0a1c264d;color:#fff;font:22px sans-serif;touch-action:manipulation}.touch-button.throttle{font-size:25px}#start{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#ffffff2e,#071d2c14 42%,#07172057);z-index:10;transition:opacity .7s ease}#start.hidden{opacity:0;pointer-events:none}.start-card{width:min(720px,calc(100vw - 40px));text-align:center;color:#fff}.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;opacity:.72}h1{margin:10px 0;font-family:Georgia,serif;font-size:clamp(58px,9vw,112px);font-weight:400;letter-spacing:-.05em;line-height:.9}.tagline{margin:0 auto 14px;font-size:17px;opacity:.86}.desc{margin:0 auto 24px;max-width:560px;font-size:14px;line-height:1.5;opacity:.72}#fly{pointer-events:auto;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.45);background:#ffffff24;color:#fff;padding:13px 22px;border-radius:999px;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.footnote{margin-top:16px;font-size:11px;opacity:.55}@media(max-width:820px){.metrics{gap:14px;right:16px}.metric b{font-size:15px}.brand{top:18px;left:16px}.brand strong{font-size:14px}.brand span{font-size:12px}.controls{font-size:10px;gap:10px;max-width:calc(100vw - 20px);overflow:auto}.controls .optional{display:none}}#configDock{position:fixed;inset:auto 0 0 0;z-index:11;color:#f8fafbf2;pointer-events:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}body.benchmark-mode #configDock{display:none}.dock-panel{position:absolute;left:0;right:0;bottom:58px;min-height:232px;padding:22px 32px 24px;background:#2d2d2fe0;border-top:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(18px) saturate(.85);backdrop-filter:blur(18px) saturate(.85);transform:translateY(115%);opacity:0;pointer-events:none;transition:transform .28s ease,opacity .2s ease}.dock-panel.open{transform:translateY(0);opacity:1;pointer-events:auto}.dock-tabs{height:58px;display:flex;align-items:center;gap:8px;padding:0 22px;background:#1b1d1fb8;border-top:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dock-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#ffffff8c;height:100%;padding:0 18px;cursor:pointer;font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;position:relative}.dock-tab:hover{color:#ffffffd1}.dock-tab:focus-visible,.choice:focus-visible,.config-action:focus-visible,#seedInput:focus-visible,.sound-slider:focus-visible,#fly:focus-visible{outline:2px solid rgba(224,246,241,.95);outline-offset:3px}.dock-tab.active{color:#fff;text-shadow:0 0 14px rgba(255,255,255,.5)}.dock-tab.active:after{content:"";position:absolute;left:18px;right:18px;bottom:7px;height:2px;background:#fffc;box-shadow:0 0 10px #ffffffb3}.dock-close{margin-left:auto}.config-section{display:none;max-width:1180px;margin:0 auto}.config-section.active{display:block}.config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}.config-group label{display:block;margin-bottom:10px;color:#ffffffdb;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.touch-only{display:none}.choice-row{display:grid;grid-template-columns:repeat(var(--cols, 4),minmax(0,1fr));gap:7px}.choice-row.cols-2{--cols: 2}.choice-row.cols-3{--cols: 3}.choice-row.cols-4{--cols: 4}.config-group.full-width{grid-column:1 / -1}.choice{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:66px;border:1px solid rgba(255,255,255,.06);cursor:pointer;background:#ffffff0b;color:#ffffffa3;font:inherit;font-size:11px;letter-spacing:.035em;padding:9px 7px;transition:background .16s,color .16s,border-color .16s,transform .16s}.choice:hover{background:#ffffff16;color:#fff;transform:translateY(-1px)}.choice.active{background:#465e60a8;border-color:#ffffff2e;color:#fff;box-shadow:inset 0 0 0 1px #ffffff08}.choice .icon{display:block;font-size:22px;margin-bottom:5px;line-height:1;font-family:sans-serif}.seed-row{display:flex;gap:8px}#seedInput{width:100%;min-width:0;height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.08);background:#00000029;color:#ffffffdb;outline:none;font:inherit;letter-spacing:.08em}.config-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#fff;min-height:48px;padding:0 16px;cursor:pointer;font:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.config-action:hover{background:#ffffff1f}.sound-slider{width:100%;accent-color:#d5e4e1}.vehicle-card{display:grid;grid-template-columns:52px 1fr;gap:12px;text-align:left;align-items:center;min-height:92px;padding:4px 6px}.vehicle-card .silhouette{font-size:28px;text-align:center;opacity:.88}.vehicle-card strong{display:block;font-size:11px;margin-bottom:4px}.vehicle-card small{display:block;font-size:9px;line-height:1.35;opacity:.58}#aircraftSection .choice-row{grid-template-columns:repeat(4,minmax(190px,1fr))}.config-help{margin-top:13px;font-size:10px;color:#ffffff70}#menuPause{position:fixed;left:50%;bottom:74px;transform:translate(-50%);z-index:7;opacity:0;color:#fff;pointer-events:none;font-size:10px;letter-spacing:.18em;text-transform:uppercase;transition:opacity .2s}#menuPause.show{opacity:.55}body.config-open .controls{opacity:0}body.config-open .center-reticle{opacity:.08}@media(max-width:760px),(pointer:coarse){.touch-only{display:block}#touchControls{position:fixed;left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:6;display:flex;justify-content:space-between;align-items:end;pointer-events:auto}.controls{display:none}#configDock{z-index:8}#notice{top:20%}}@media(max-width:900px){.dock-panel{padding:18px 16px 20px;max-height:58vh;overflow:auto}.config-grid{grid-template-columns:1fr;gap:20px}.choice-row{--cols: 2 !important}#aircraftSection .choice-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dock-tabs{padding:0 8px}.dock-tab{padding-inline:10px;font-size:10px}.dock-tab.active:after{left:10px;right:10px}}@media(max-width:560px){.brand span{max-width:150px}.metrics{top:16px;gap:10px}.metric b{font-size:13px}.metric small{font-size:8px;letter-spacing:.12em}.flight-stick{width:122px;height:122px}.touch-actions{grid-template-columns:repeat(2,44px);gap:6px}.touch-button{width:44px;height:44px;border-radius:12px}}@media(prefers-reduced-motion:reduce){.recovery-action{transition:none}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body.flight-hints-faded .controls{transform:translate(-50%)}}
