.sim-dialog{width:min(1200px,calc(100% - 24px));height:min(1000px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--sky-border,#444);border-radius:18px;background:var(--sky-panel,#000);color:var(--sky-text,#eee);font:12px/1.5 'IBM Plex Mono',monospace;overflow:hidden;box-shadow:0 25px 100px #0009}.sim-dialog[open]{display:flex;flex-direction:column}.sim-dialog::backdrop{background:#000a;backdrop-filter:blur(3px)}.sim-dialog [hidden]{display:none!important}.sim-dialog button,.sim-dialog input,.sim-dialog select{font:inherit;color:inherit}.sim-dialog button{border:1px solid var(--sky-border,#555);border-radius:8px;background:var(--sky-surface,#090909);padding:9px 12px;min-height:42px;cursor:pointer}.sim-dialog button:focus-visible,.sim-dialog input:focus-visible,.sim-dialog select:focus-visible{outline:2px solid var(--sky-accent,#2fd37a);outline-offset:2px}.sim-dialog button:disabled{opacity:.45;cursor:wait}.sim-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--sky-border,#444)}.sim-kicker{margin:0;color:var(--sky-muted,#999);font-size:9px;letter-spacing:.15em}.sim-header h2{font:700 27px/1.1 'Barlow Condensed',sans-serif;margin:3px 0}.sim-header>button{font-size:24px;min-width:44px}.sim-setup{padding:12px 20px;flex:none}.sim-setup p{margin:0 0 12px}.sim-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.sim-fields label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--sky-muted,#aaa)}.sim-fields input,.sim-fields select{width:100%;min-width:0;min-height:42px;border:1px solid var(--sky-border,#444);border-radius:8px;padding:8px;background:var(--sky-surface,#050505);color:var(--sky-text,#eee)}.sim-dialog .sim-primary{background:var(--sky-text,#eee);color:var(--sky-panel,#000);font-weight:600}.sim-setup .sim-hint{font-size:10px;color:var(--sky-muted,#aaa);margin:10px 0 0}.sim-live-bar{display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 20px}.sim-live-bar strong{margin-right:auto;font:700 20px 'Barlow Condensed',sans-serif}.sim-pill{padding:2px 5px;border:1px solid currentColor;border-radius:4px;font-size:10px;color:var(--sky-accent,#2fd37a)}.sim-map-wrap{position:relative;flex:1;min-height:150px;background:var(--sky-surface,#050505);overflow:hidden}#sim-map{position:absolute;inset:0;outline-offset:-3px}#sim-follow{position:absolute;right:10px;top:10px;z-index:2;font-size:10px;background:var(--sky-panel,#000)}#sim-map-message{position:absolute;left:10px;bottom:20px;z-index:2;background:var(--sky-panel,#000);border:1px solid var(--sky-border,#555);padding:8px;max-width:330px;font-size:10px}.sim-instruments{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;padding:12px 20px;border-top:1px solid var(--sky-border,#444);flex:none}.sim-instruments>div{min-width:0}.sim-instruments dt{font-size:9px;letter-spacing:.05em;color:var(--sky-muted,#aaa)}.sim-instruments dd{font:600 clamp(14px,2vw,22px) 'Barlow Condensed',sans-serif;margin:3px 0 0;overflow-wrap:anywhere}.sim-controls{display:flex;flex:none;align-items:center;justify-content:space-between;gap:14px;padding:10px 20px;border-top:1px solid var(--sky-border,#444)}.sim-pad{display:flex;gap:6px;align-items:center;touch-action:none;user-select:none}.sim-pad>div{display:grid;gap:5px}.sim-pad button{min-width:62px;min-height:42px;font-size:18px;padding:3px 10px;touch-action:none}.sim-pad button span{font-size:9px;margin-left:5px}.sim-pad button[aria-pressed=true]{background:var(--sky-accent,#2fd37a);color:#000}.sim-throttle{display:block;flex:1;max-width:400px;min-width:90px;font-size:10px}.sim-throttle output{float:right}.sim-throttle input{width:100%;height:40px;margin:0;accent-color:var(--sky-accent,#2fd37a)}.sim-status{font-size:10px;min-height:26px;margin:0;padding:5px 20px;color:var(--sky-text,#eee);overflow-wrap:anywhere;flex:none}.sim-footer{font-size:9px;line-height:1.5;color:var(--sky-muted,#aaa);padding:5px 20px 12px;margin:0;flex:none}.sim-own-marker,.sim-traffic-marker{position:relative;width:40px;height:40px;color:var(--sky-accent,#2fd37a);pointer-events:auto}.sim-own-marker svg,.sim-traffic-marker svg{display:block;width:40px;height:40px;filter:drop-shadow(0 0 2px #000)}.sim-own-marker span,.sim-traffic-marker span{position:absolute;top:40px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:2px 5px;border-radius:3px;color:#fff;background:#000d;font:10px/1.5 ui-monospace,monospace}.sim-traffic-marker{background:transparent!important;border:0!important;padding:0!important;min-height:0!important}.sim-own-marker{outline:2px solid currentColor;border-radius:50%;outline-offset:4px}.shared-sim-details{font:11px/1.5 ui-monospace,monospace;margin-top:12px;border-top:1px solid var(--sky-border,#444);padding-top:10px}.shared-sim-details summary{cursor:pointer}.shared-sim-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 0}.shared-sim-details dt{font-size:9px;color:var(--sky-muted,#999)}.shared-sim-details dd{margin:3px 0 0;overflow-wrap:anywhere}
@media(max-width:700px){.sim-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:12px}.sim-header{padding:10px 12px}.sim-header h2{font-size:24px}.sim-setup{padding:10px 12px;max-height:49dvh;overflow:auto}.sim-fields{grid-template-columns:1fr 1fr;gap:8px}.sim-setup>p:first-child{font-size:10px}.sim-live-bar{padding:8px 12px;gap:6px}.sim-live-bar strong{font-size:18px;flex:1}.sim-live-bar button{padding:7px 9px;font-size:10px;min-height:36px}.sim-live-bar #sim-watch{order:3;flex:1}.sim-map-wrap{min-height:140px}.sim-instruments{padding:9px 12px;gap:6px}.sim-instruments dd{font-size:16px}.sim-instruments dt{font-size:8px}.sim-controls{padding:8px 12px;gap:8px;flex-wrap:wrap}.sim-pad{gap:4px}.sim-pad button{min-width:46px;min-height:40px;padding:3px 6px}.sim-pad button span{display:none}.sim-throttle{max-width:none;min-width:105px;flex:1}#sim-level{font-size:10px;min-height:38px}.sim-status{padding:4px 12px}.sim-footer{font-size:8px;padding:4px 12px 9px}.sim-instruments>div:last-child{display:none}.sim-instruments{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-height:650px) and (min-width:701px){.sim-setup{max-height:230px;overflow:auto}.sim-footer{display:none}.sim-header{padding:8px 16px}.sim-instruments{padding:7px 16px}.sim-controls{padding:6px 16px}.sim-pad>div{display:flex}}

.sim-speed-form{display:flex;flex:none;align-items:center;flex-wrap:wrap;gap:8px;padding:0 20px 8px;font-size:10px}.sim-speed-form input{width:130px;min-width:0;min-height:38px;padding:7px;border:1px solid var(--sky-border,#444);border-radius:8px;background:var(--sky-surface,#050505);color:var(--sky-text,#eee)}.sim-speed-form button{min-height:38px;padding:7px 10px}.sim-speed-form small{color:var(--sky-muted,#999)}@media(max-width:700px){.sim-speed-form{padding:0 12px 5px;gap:6px}.sim-speed-form input{width:90px}.sim-speed-form small{flex-basis:100%;font-size:8px}.sim-map-wrap{min-height:120px}.sim-footer{max-height:42px;overflow:auto}}

@media(max-width:700px) and (max-height:760px){.sim-dialog{overflow-y:auto}.sim-map-wrap{flex:0 0 160px}.sim-header{position:sticky;top:0;z-index:3;background:var(--sky-panel,#000)}.sim-footer{max-height:none}}

.sim-dialog{overflow-y:auto}.sim-map-wrap{flex-shrink:0}.sim-autopilot{flex:none;padding:8px 20px;border-block:1px solid var(--sky-border,#444);font-size:11px}.sim-autopilot summary{cursor:pointer;font-weight:600;padding:3px 0}.sim-ap-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}.sim-ap-fields label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--sky-muted,#aaa)}.sim-ap-fields input{box-sizing:border-box;width:100%;min-width:0;min-height:38px;border:1px solid var(--sky-border,#444);border-radius:8px;padding:7px;background:var(--sky-surface,#050505);color:var(--sky-text,#eee)}.sim-ap-actions{display:flex;flex-wrap:wrap;gap:8px}.sim-ap-actions button{min-height:38px;font-size:10px}.sim-autopilot p{margin:8px 0 0;color:var(--sky-muted,#aaa);font-size:10px}.sim-header{position:sticky;top:0;z-index:5;background:var(--sky-panel,#000)}@media(max-width:700px){.sim-autopilot{padding:7px 12px}.sim-ap-fields{gap:6px}.sim-ap-fields input{font-size:11px}.sim-ap-fields label{font-size:9px}}
/* Simulator expansion: small collapsible panels keep the map usable on phones. */
.sim-section{flex:none;padding:8px 20px;border-top:1px solid var(--sky-border,#444);font-size:11px}.sim-section>summary{padding:5px 0;cursor:pointer;font-weight:600}.sim-section p{font-size:10px;color:var(--sky-muted,#999);margin:9px 0}.sim-section input[type=number],.sim-section select{box-sizing:border-box;min-height:40px;min-width:0;max-width:100%;border:1px solid var(--sky-border,#444);border-radius:7px;background:var(--sky-surface,#050505);padding:7px;color:var(--sky-text,#eee)}.sim-check{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;min-height:40px;color:var(--sky-text,#eee)!important}.sim-check input[type=checkbox]{width:18px!important;min-height:18px!important;flex:none;accent-color:var(--sky-accent,#2fd37a)}.sim-fields .sim-check{align-self:center}.sim-section .sim-ap-fields button{align-self:end}.sim-section .sim-ap-fields input{width:100%}#sim-waypoint-list{padding:0;list-style:none;max-height:180px;overflow:auto}#sim-waypoint-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:5px 0;border-bottom:1px solid var(--sky-border,#444);padding-bottom:5px}#sim-waypoint-list span{min-width:0;overflow-wrap:anywhere}#sim-waypoint-list button{min-height:36px;padding:5px 8px;font-size:10px}.sim-report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sim-report-metrics dt{font-size:9px;color:var(--sky-muted,#999)}.sim-report-metrics dd{margin:3px 0;overflow-wrap:anywhere}#sim-report-list>details{padding:9px 0;border-top:1px solid var(--sky-border,#444)}#sim-report-list summary{cursor:pointer}#sim-group-members{display:flex;gap:7px;flex-wrap:wrap;padding-top:8px}#sim-group-members button{font-size:10px}.sim-stick-layout{display:flex;align-items:center;gap:24px;padding:12px 0}.sim-stick-layout>label{flex:1;min-width:0;max-width:400px;font-size:10px}.sim-stick-layout input{width:100%;accent-color:var(--sky-accent,#2fd37a)}.sim-stick-layout small{display:block;color:var(--sky-muted,#999);font-size:9px}#sim-joystick{flex:none;position:relative;width:130px;height:130px;border-radius:50%;border:1px solid var(--sky-border,#666);background:linear-gradient(90deg,transparent 49.5%,var(--sky-border,#444) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,var(--sky-border,#444) 50%,transparent 50.5%),var(--sky-surface,#090909);touch-action:none;user-select:none;cursor:grab}#sim-stick-knob{position:absolute;width:44px;height:44px;top:calc(50% - 22px);left:calc(50% - 22px);border-radius:50%;background:var(--sky-accent,#2fd37a);border:3px solid var(--sky-text,#fff);box-shadow:0 2px 12px #0006;pointer-events:none}.sim-runway-label{padding:1px 4px;background:#000d;color:#fff;border:1px solid #fff9;border-radius:3px;font:9px/1.3 ui-monospace,monospace;pointer-events:none}#sim-plan-pick[aria-pressed=true]{border-color:var(--sky-accent,#2fd37a);color:var(--sky-accent,#2fd37a)}.sim-map-wrap{flex-basis:260px;min-height:220px}.sim-setup{overflow:visible;max-height:none}.sim-dialog{scrollbar-gutter:stable}.sim-dialog input,.sim-dialog select{box-sizing:border-box}.sim-section button,.sim-dialog .sim-check{touch-action:manipulation}#sim-guidance{font-variant-numeric:tabular-nums}#sim-fuel,#sim-rotate{color:var(--sky-text,#eee)}
@media(max-width:700px){.sim-section{padding:7px 12px}.sim-section .sim-ap-fields{grid-template-columns:1fr 1fr}.sim-section .sim-ap-fields>button{grid-column:1/-1}.sim-stick-layout{gap:15px}#sim-joystick{width:112px;height:112px}.sim-report-metrics{grid-template-columns:1fr 1fr;gap:10px}.sim-map-wrap{flex-basis:240px;min-height:220px}.sim-setup{max-height:none}.sim-dialog button{touch-action:manipulation}}

.sim-waypoint-label{display:grid;place-items:center;width:22px;height:22px;border:2px solid #000;border-radius:50%;background:#f6c85f;color:#000;font:700 11px ui-monospace,monospace;pointer-events:none}

/* The flying view owns its controls, keeping them within reach of the scenery. */
.sim-view-toolbar{display:flex;align-items:center;gap:6px;padding:7px 20px;flex:none;border-block:1px solid var(--sky-border,#444)}.sim-view-toolbar>span{font-size:10px;color:var(--sky-muted,#999);margin-right:auto}.sim-view-toolbar button{font-size:10px;min-height:38px;padding:6px 12px}.sim-view-toolbar button[aria-pressed=true]{background:var(--sky-text,#eee);color:var(--sky-panel,#000)}.sim-control-home{display:contents}.sim-stick-layout>.sim-control-home{display:block;flex:none}
.sim-3d-view{position:absolute;inset:0;overflow:hidden;background:#5c91b5;color:#f1fff6;font-family:'IBM Plex Mono',monospace}.sim-3d-view canvas{display:block;width:100%;height:100%;outline-offset:-3px}.sim-dialog[data-flight-view=cockpit] .sim-map-wrap,.sim-dialog[data-flight-view=chase] .sim-map-wrap{height:clamp(400px,calc(100dvh - 205px),740px);flex-basis:auto;min-height:400px;scroll-margin-top:65px}.sim-dialog[data-flight-view=cockpit] #sim-map-message,.sim-dialog[data-flight-view=chase] #sim-map-message{display:none}.sim-3d-canopy{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 70px #15232922;background:linear-gradient(transparent 78%,#07101722 90%,#0a1119dd 100%)}.sim-dialog[data-flight-view=cockpit] .sim-3d-canopy::before,.sim-dialog[data-flight-view=cockpit] .sim-3d-canopy::after{content:'';position:absolute;top:-20%;height:125%;width:14px;background:linear-gradient(90deg,#101923,#35434b,#111923);box-shadow:0 0 2px #000;transform:rotate(16deg);left:6%}.sim-dialog[data-flight-view=cockpit] .sim-3d-canopy::after{left:auto;right:6%;transform:rotate(-16deg)}.sim-dialog[data-flight-view=chase] .sim-3d-canopy{box-shadow:none;background:linear-gradient(transparent 80%,#07101733 95%,#0a1119dd 100%)}
.sim-3d-hud{position:absolute;inset:24px 8% 190px;pointer-events:none;text-shadow:0 1px 3px #000,0 0 8px #143526;color:#e6ffdb;font-variant-numeric:tabular-nums}.sim-3d-hud small{display:block;font-size:9px;letter-spacing:.09em}.sim-3d-hud strong{display:block;font-size:clamp(22px,3vw,36px);line-height:1.3;font-weight:600}.sim-3d-hud span{font-size:10px}.sim-3d-heading{position:absolute;left:50%;transform:translateX(-50%);text-align:center;min-width:95px;border-bottom:2px solid #daffd4;padding-bottom:5px}.sim-3d-speed,.sim-3d-altitude{position:absolute;top:45%;padding:8px;border-block:1px solid #daffd488}.sim-3d-speed{left:0}.sim-3d-altitude{right:0;text-align:right}.sim-3d-reticle{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:8px}.sim-3d-reticle>span{font-size:25px;line-height:1}.sim-3d-reticle>i{display:block;width:36px;height:6px;border-bottom:2px solid #e6ffdb;border-inline-end:2px solid #e6ffdb}.sim-3d-reticle>i:last-child{transform:scaleX(-1)}.sim-3d-flight-status{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.sim-3d-flight-status span{font-size:10px;font-weight:600;letter-spacing:.04em}
.sim-3d-settings{position:absolute;right:12px;top:12px;max-width:360px;width:max-content;z-index:3;color:#eee;background:#0b1119ed;border:1px solid #68747e;border-radius:8px;overflow:auto;max-height:55%}.sim-3d-settings>summary{cursor:pointer;list-style-position:inside;padding:10px 12px;font-size:10px;min-height:18px}.sim-3d-settings[open]{width:min(360px,calc(100% - 24px))}.sim-3d-settings .sim-autopilot,.sim-3d-settings .sim-section{padding:9px 12px;background:#0b1119;color:#eee}.sim-3d-settings input,.sim-3d-settings select{background:#111d29!important;color:#eee!important}.sim-3d-settings p,.sim-3d-settings label{color:#bdcbd4!important}.sim-3d-settings .sim-check{color:#eee!important}.sim-3d-settings button{background:#182534;color:#fff}.sim-3d-settings .sim-ap-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.sim-3d-settings .sim-ap-fields input{font-size:11px}
#sim-3d-message{position:absolute;top:72px;left:12px;max-width:280px;margin:0;padding:8px 10px;background:#09131cdd;border-radius:6px;font-size:10px}#sim-3d-controls{position:absolute;bottom:19px;left:0;right:0;z-index:2}.sim-3d-view .sim-controls{display:grid;grid-template-columns:112px minmax(90px,1fr) 160px;grid-template-rows:auto auto;gap:4px 18px;max-width:650px;margin:0 auto;padding:12px 22px;border:1px solid #596670;border-radius:22px 22px 5px 5px;background:linear-gradient(#18212bea,#080f17f5);color:#f0f5f9;box-shadow:0 -5px 25px #0004;user-select:none}.sim-3d-view .sim-pad{grid-column:3;grid-row:1/3;justify-content:center}.sim-3d-view .sim-pad button{min-width:46px;min-height:44px;background:#101923;border-color:#68747e;color:#fff}.sim-3d-view .sim-pad button span{display:none}.sim-3d-view .sim-throttle{grid-column:2;grid-row:1;width:100%;min-width:0;max-width:none;align-self:end}.sim-3d-view #sim-level{grid-column:2;grid-row:2;font-size:10px;min-height:32px;padding:3px 8px;background:#182634;color:#fff;border-color:#68747e}.sim-3d-view #sim-3d-stick-slot{grid-column:1;grid-row:1/3;display:grid;place-items:center}.sim-3d-view #sim-joystick{width:92px;height:92px;background:linear-gradient(90deg,transparent 49%,#60717c 50%,transparent 51%),linear-gradient(transparent 49%,#60717c 50%,transparent 51%),#111d27;border-color:#82939e}.sim-3d-view #sim-stick-knob{background:#b5d8e9;border-color:#fff;width:34px;height:34px;top:calc(50% - 17px);left:calc(50% - 17px)}.sim-3d-bottom{position:absolute;left:12px;right:12px;bottom:159px;display:flex;justify-content:space-between;align-items:center;gap:10px}.sim-3d-bottom>span{font-size:9px;text-shadow:0 1px 3px #000}.sim-3d-bottom button{min-height:32px;padding:4px 8px;font-size:9px;background:#0b1725d9;color:#fff;border-color:#8d9da5}.sim-3d-bottom button[aria-pressed=true]{background:#914627}.sim-3d-credit{position:absolute;bottom:2px;left:8px;right:8px;text-align:center;font-size:8px;color:#d4dbe0;line-height:14px}
@media(max-width:700px){.sim-view-toolbar{padding:5px 10px;gap:4px}.sim-view-toolbar>span{font-size:9px}.sim-view-toolbar button{font-size:9px;padding:6px 8px}.sim-dialog[data-flight-view=cockpit] .sim-map-wrap,.sim-dialog[data-flight-view=chase] .sim-map-wrap{height:max(390px,calc(100dvh - 210px));min-height:390px}.sim-3d-hud{inset:16px 5% 175px}.sim-3d-heading{left:27%;min-width:73px}.sim-3d-hud strong{font-size:23px}.sim-3d-hud small{font-size:8px}.sim-3d-hud span{font-size:8px}.sim-3d-speed,.sim-3d-altitude{padding:5px;top:45%}.sim-3d-reticle>i{width:21px}.sim-3d-flight-status span{font-size:8px}.sim-3d-settings{top:10px;right:8px;max-width:58%}.sim-3d-settings>summary{padding:9px 7px;font-size:8px}.sim-3d-settings[open]{width:calc(100% - 16px);max-width:none;max-height:52%}.sim-3d-view .sim-controls{grid-template-columns:80px minmax(70px,1fr) 100px;padding:9px 10px;gap:3px 8px;border-radius:16px 16px 0 0}.sim-3d-view #sim-joystick{width:74px;height:74px}.sim-3d-view .sim-pad{gap:3px}.sim-3d-view .sim-pad button{min-width:29px;min-height:38px;padding:3px;font-size:16px}.sim-3d-view .sim-pad>div{gap:4px}.sim-3d-view .sim-throttle{font-size:8px}.sim-3d-view .sim-throttle input{height:31px}.sim-3d-view #sim-level{font-size:8px;min-height:27px}.sim-3d-bottom{bottom:135px;left:10px;right:10px}.sim-3d-bottom>span{font-size:8px}.sim-3d-credit{font-size:6px}#sim-3d-message{top:60px;max-width:230px;font-size:9px}.sim-3d-canopy::before,.sim-3d-canopy::after{width:9px!important}}
@media(max-height:600px) and (min-width:701px){.sim-dialog[data-flight-view=cockpit] .sim-map-wrap,.sim-dialog[data-flight-view=chase] .sim-map-wrap{height:370px;min-height:370px}.sim-3d-hud{inset:12px 8% 165px}.sim-3d-heading strong{font-size:24px}.sim-3d-bottom{bottom:145px}}
.sim-3d-view .sim-pad>div{display:grid}

.sim-training-status{margin:12px 20px;padding:12px 16px;border:1px solid #8bdcc044;border-radius:12px;color:inherit;background:#8bdcc00a;font:inherit;font-size:13px;line-height:1.6}.sim-training-status[data-failed=true]{border-color:#ffae6c88;background:#ffae6c12}.sim-training-status[hidden]{display:none}

.sim-training-fog{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#bbc6cdb0,#b5c4cd35 75%,transparent)}.sim-training-fog[hidden]{display:none}
