*{box-sizing:border-box;margin:0;padding:0}html,body{color:#eef2ff;background:#0b1026;height:100%;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}.world-root{position:fixed;inset:0}.world-root canvas{touch-action:none;display:block}.hud{pointer-events:none;z-index:10;position:absolute}.panel{pointer-events:auto;-webkit-backdrop-filter:blur(10px);background:#0a0f23b8;border:1px solid #ffffff1f;border-radius:14px;padding:14px 16px;box-shadow:0 8px 30px #00000059}.hud-topleft{max-width:320px;top:16px;left:16px}.panel-compact{max-width:340px;padding:10px 14px}.hud-title{letter-spacing:.2px;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;font-size:13.5px;font-weight:700;display:flex}.hud-title-right{align-items:center;gap:8px;display:inline-flex}.hud-toggle{color:#9fb0d8;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;padding:4px 7px;font-size:10px;line-height:1;display:none}.hud-line{color:#c7d4f2;white-space:nowrap;font-size:12px;line-height:1.5}.hud-line b{color:#fff}.hud-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.hud-btn{margin-top:0;padding:4px 10px;font-size:11.5px}.src-grid{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.src-btn{color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;border-radius:9px;align-items:center;gap:8px;min-width:0;padding:5px 9px;transition:background .12s,opacity .12s;display:flex}.src-btn:hover{background:#ffffff24}.src-icon{flex:none;font-size:15px}.src-text{flex-direction:column;min-width:0;display:flex}.src-label{white-space:nowrap;font-size:11px;font-weight:650;line-height:1.25}.src-info{color:#8fa0c4;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.25;overflow:hidden}.src-off{opacity:.45}.src-off .src-icon{filter:grayscale()}.fly-btn{-webkit-backdrop-filter:blur(10px);color:#fff;width:100%;font:inherit;letter-spacing:.2px;cursor:pointer;background:linear-gradient(135deg,#00bf7861,#009e6342);border:1px solid #00bf788c;border-radius:9px;margin-top:8px;padding:8px 12px;font-size:12.5px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s;display:block;box-shadow:inset 0 1px #ffffff40,0 3px 12px #00bf7840}.fly-btn:hover{background:linear-gradient(135deg,#00bf7885,#009e6361);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff4d,0 5px 16px #00bf7859}.fly-btn.stop{background:linear-gradient(135deg,#e5484d61,#be323742);border-color:#e5484d8c;box-shadow:inset 0 1px #ffffff40,0 3px 12px #e5484d40}.fly-btn.stop:hover{background:linear-gradient(135deg,#e5484d85,#be323761);box-shadow:inset 0 1px #ffffff4d,0 5px 16px #e5484d59}.flight-stats{margin-top:6px}.fly-keys{color:#8fa0c4;white-space:nowrap;margin-top:8px;font-size:10.5px;line-height:1.9}.fly-keys kbd{color:#dbe4f8;background:#ffffff17;border:1px solid #ffffff2e;border-bottom-width:2px;border-radius:5px;padding:0 5px;font-family:inherit;font-size:10px;display:inline-block}.jam-badge{color:#fff;background:#e5484d;border-radius:8px;margin-right:6px;padding:1px 8px;font-weight:700;display:inline-block}.joystick{-webkit-backdrop-filter:blur(6px);z-index:20;touch-action:none;-webkit-user-select:none;user-select:none;background:#0a0f2366;border:1px solid #ffffff38;border-radius:50%;width:116px;height:116px;position:absolute;bottom:28px;left:20px}.joystick-knob{pointer-events:none;background:#ffffff59;border:1px solid #ffffff8c;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}.touch-btns{z-index:20;flex-direction:column;gap:14px;display:flex;position:absolute;bottom:32px;right:20px}.touch-btn{color:#eef2ff;-webkit-backdrop-filter:blur(6px);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#0a0f238c;border:1px solid #ffffff47;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:68px;height:68px;font-size:20px;display:flex}.touch-btn span{color:#c7d4f2;font-size:10px}.touch-btn:active{background:#ffffff47}.pick-tip{z-index:25;pointer-events:none;-webkit-backdrop-filter:blur(8px);background:#0a0f23d9;border:1px solid #ffffff24;border-radius:10px;max-width:230px;padding:8px 11px;display:none;position:absolute;box-shadow:0 6px 22px #0006}.pick-tip-title{margin-bottom:2px;font-size:12.5px;font-weight:700}.pick-tip-body{color:#c7d4f2;white-space:pre-line;font-size:11.5px;line-height:1.45}.clock{font-variant-numeric:tabular-nums;color:#9fb0d8;font-size:11px;font-weight:400}.menu-overlay{-webkit-backdrop-filter:blur(3px);z-index:30;background:#05081473;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.menu-box{text-align:center;width:calc(100% - 48px);max-width:820px;padding:28px 30px}.menu-title{letter-spacing:.3px;font-size:26px;font-weight:800}.menu-sub{color:#9fb0d8;margin:4px 0 22px;font-size:13px}.mode-cards,.plane-cards{justify-content:center;gap:14px;display:flex}.plane-cards{flex-wrap:wrap}.plane-cards .plane-card{flex:calc(33.33% - 10px);min-width:200px;max-width:250px}.orbit-card{text-align:left;align-items:center;gap:16px;width:100%;margin-top:14px;padding:14px 20px;display:flex}.orbit-card .mode-emoji{margin-bottom:0}.orbit-card .mode-name{margin-bottom:2px}.plane-preview{object-fit:contain;background:#ffffff0a;border-radius:8px;width:100%;height:88px;margin-bottom:8px;display:block}.mode-card,.plane-card{color:inherit;font:inherit;text-align:center;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff21;border-radius:14px;flex:1;padding:20px 16px;transition:transform .12s,background .12s}.plane-card{text-align:left;border-top:3px solid;padding:16px}.mode-card:hover,.plane-card:hover{background:#ffffff1a;transform:translateY(-3px)}.mode-emoji{margin-bottom:8px;font-size:34px}.mode-name{margin-bottom:5px;font-size:15.5px;font-weight:700}.mode-desc{color:#aebbdd;font-size:12px;line-height:1.45}.plane-swatch{border-radius:4px;width:34px;height:10px;margin-bottom:10px}.stat{color:#8fa0c4;align-items:center;gap:8px;margin-top:8px;font-size:10.5px;display:flex}.stat span{text-align:left;width:58px}.stat-bar{background:#ffffff1f;border-radius:3px;flex:1;height:5px;overflow:hidden}.stat-bar div{border-radius:3px;height:100%}.menu-back{color:#dbe4f8;font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:9px;margin-top:16px;padding:7px 14px;font-size:12.5px}.menu-back:hover{background:#ffffff26}.loading-overlay{z-index:50;color:#9fb0d8;background:#0b1026;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}.spinner{border:3px solid #ffffff26;border-top-color:#4f8cff;border-radius:50%;width:34px;height:34px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:640px){.hud-toggle{display:inline-block}.hud:not(.hud-open) .hud-body{display:none}.hud-topleft{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));max-width:none}.panel-compact{max-width:none}.src-btn{padding:8px 10px}.src-label{font-size:12px}.src-info{font-size:11px}.fly-btn{padding:11px 12px;font-size:13.5px}.fly-keys{white-space:normal}.menu-overlay{padding:max(14px, env(safe-area-inset-top)) 0 max(14px, env(safe-area-inset-bottom));align-items:flex-start;overflow-y:auto}.menu-box{width:calc(100% - 24px);padding:18px 16px}.menu-title{font-size:21px}.menu-sub{margin-bottom:16px}.plane-cards{flex-direction:column;gap:10px}.plane-cards .plane-card{grid-template-columns:104px 1fr;align-items:center;column-gap:12px;min-width:0;max-width:none;padding:12px;display:grid}.plane-cards .plane-preview{grid-area:1/1/span 5;height:68px;margin-bottom:0}.plane-cards .plane-swatch,.plane-cards .mode-name,.plane-cards .mode-desc,.plane-cards .stat{grid-column:2}.plane-cards .plane-swatch{margin-bottom:4px}.plane-cards .mode-name{margin-bottom:2px}.plane-cards .stat{margin-top:4px}.orbit-card{gap:12px;margin-top:10px;padding:12px 14px}}@media (max-width:360px){.src-grid{grid-template-columns:1fr}}
