/* All assets and typefaces are supplied by ProjectEOL. */
.balloon-sim{--mint:#86e9bd;--muted:#bed1d7;position:relative;height:calc(100dvh - 77px);min-height:620px;isolation:isolate;overflow:hidden;background:#102832;color:#f2faf8}
body:has(.balloon-sim) main{width:100%;margin:0}body:has(.balloon-sim) .site-footer{display:none}
.balloon-sim [hidden]{display:none!important}.balloon-map{position:absolute;inset:0;z-index:0}
.balloon-sim .glass{background:rgba(9,27,34,.94);border:1px solid #36545c;border-radius:18px;box-shadow:0 12px 38px #0004;backdrop-filter:blur(14px)}
.balloon-sim button,.balloon-sim select,.balloon-sim input{font:inherit;color:inherit}
.balloon-sim button{min-height:44px;padding:10px 14px;border:1px solid #48636a;border-radius:10px;background:#223c45;color:#f4faf8;line-height:1.25;box-shadow:none;cursor:pointer;transform:none}
.balloon-sim button:hover{background:#33535b;transform:none}.balloon-sim button:disabled{opacity:.5;cursor:default}
.balloon-sim button[aria-pressed=true]{border-color:var(--mint);background:#264f46}
.balloon-sim :is(button,a,select,input,summary):focus-visible{outline:3px solid #e6ff8b;outline-offset:3px}
.balloon-sim .primary{background:var(--mint);border-color:var(--mint);color:#082a23;font-weight:800}.balloon-sim .primary:hover{background:#b0f4d4}
.balloon-sim a{color:#c8efdf}.balloon-sim h1,.balloon-sim h2,.balloon-sim p{margin:0}.balloon-sim .eyebrow{font-size:.65rem;font-weight:800;letter-spacing:.13em;color:var(--mint)}
.sim-header{position:absolute;z-index:3;top:8px;left:18px;right:18px;padding:4px 14px;display:flex;align-items:center;gap:14px}
.sim-header h1{font-size:1.25rem;line-height:1.1}.sim-header a{margin-left:auto;font-size:.78rem;display:flex;align-items:center;min-height:44px;max-width:45%}
.sim-pause-notice{position:absolute;z-index:4;top:50%;left:50%;width:min(310px,calc(100% - 40px));padding:18px 24px;transform:translate(-50%,-50%);display:grid;gap:5px;place-items:center;text-align:center;pointer-events:none;color:#fff6f8;border:1px solid #75d9df;border-radius:16px;background:linear-gradient(135deg,rgba(126,31,79,.96),rgba(12,62,78,.96));box-shadow:0 16px 42px #04151dcc,0 0 0 1px #d75c86;backdrop-filter:blur(12px)}.sim-pause-notice strong{font-size:1.35rem;letter-spacing:.04em}.sim-pause-notice span{font-size:.78rem;color:#d2f5ef}
.sim-intro{position:absolute;z-index:4;top:72px;bottom:auto;left:24px;width:min(490px,calc(100% - 48px));max-height:calc(100% - 184px);padding:16px 16px 12px;overflow:auto;scrollbar-width:thin}
.sim-intro h2{font-size:clamp(1.7rem,2.5vw,2.55rem);line-height:1.07;letter-spacing:-.04em;margin:6px 0 12px}
.sim-intro p,.sim-overlay p,.sim-dialog p{font-size:.9rem;line-height:1.55;color:var(--muted);margin:12px 0}.sim-intro p{margin:8px 0}
.sim-setup{display:grid;grid-template-columns:1fr;gap:8px;margin:14px 0 10px}.sim-setup label,.sim-dialog label{display:grid;gap:4px;font-size:.8rem;color:var(--muted)}
.balloon-sim select,.sim-dialog input{width:100%;min-height:46px;padding:10px;border-radius:8px;background:#152f39;border:1px solid #577079;color:#f4faf8;min-width:0}
.sim-check{display:flex;align-items:center;min-height:40px;gap:8px;font-size:.8rem;line-height:1.4}.sim-check input{width:22px;height:22px;accent-color:var(--mint);flex:none}
.sim-intro .sim-weather{padding:8px;border-left:3px solid var(--mint);background:#1c393d;color:#def3e9;font-size:.8rem}
.sim-intro .sim-warning{font-size:.75rem;border-top:1px solid #355159;padding-top:8px;color:#c5d2d5}
.sim-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sim-actions .primary{flex:1}
.sim-intro>.sim-actions{position:sticky;bottom:0;background:transparent;padding:8px 0 0;margin-bottom:0;z-index:1}
.sim-instruments{position:absolute;z-index:3;right:18px;top:108px;width:300px;max-height:calc(100% - 390px);padding:18px;overflow:auto;scrollbar-width:thin}
.sim-main-readings{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px}.sim-main-readings>div{min-width:0;display:flex;flex-direction:column;gap:4px}
.sim-main-readings small{font-size:.67rem;color:var(--muted)}.sim-main-readings strong{font-size:1.45rem;font-variant-numeric:tabular-nums;line-height:1.15;letter-spacing:-.025em}.sim-main-readings span{font-size:.7rem;color:var(--mint)}
.sim-altitude-chart{display:block;width:100%;height:50px;margin-top:14px}.sim-secondary{display:flex;justify-content:space-between;gap:8px;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.sim-forecast-time{display:block;font-size:.65rem;color:var(--muted);margin-top:8px}
.sim-instruments .sim-instructor{margin-top:15px;padding:12px 0;border-top:1px solid #355159;font-size:.78rem;line-height:1.5;color:#d8e9e5}
.sim-wind-profile{font-size:.76rem;color:var(--muted);border-top:1px solid #355159;padding-top:5px}.sim-wind-profile summary{cursor:pointer;min-height:44px;align-content:center;line-height:1.4}.sim-wind-profile [data-wind-profile]{display:grid;gap:6px;padding:8px 0}.sim-wind-profile small{display:block;line-height:1.4;margin-bottom:4px}
.sim-map-controls{position:absolute;z-index:3;left:24px;bottom:32px;display:flex;gap:6px;padding:6px;max-width:calc(100% - 48px);flex-wrap:wrap}.sim-map-controls button{font-size:.75rem;padding:8px 12px}.sim-map-controls [data-zoom]{min-width:44px;font-size:1.2rem}
.balloon-sim:is([data-state=flying],[data-state=paused],[data-state=buffering]) .sim-map-controls{bottom:254px}
.sim-controls{position:absolute;z-index:3;bottom:32px;left:24px;right:24px;padding:16px 20px}
.sim-status{font-size:.8rem;color:#d5eee4;min-height:22px;line-height:1.4;margin-bottom:10px!important}
.sim-pilot-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sim-pilot-controls button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;min-height:70px;text-align:left}
.sim-pilot-controls b{font-size:.95rem}.sim-pilot-controls small{font-size:.7rem;color:#d0dedc}.sim-pilot-controls .burner{border-color:#dcab66;background:#5a4028}.sim-pilot-controls .burner:hover,.sim-pilot-controls .burner[aria-pressed=true]{background:#805129;border-color:#ffd291}
.sim-time-controls{display:flex;align-items:center;gap:8px;margin-top:10px}.sim-time-controls button{font-size:.8rem;min-width:44px}.sim-time-controls>span{font-size:.75rem;color:var(--muted);margin-left:auto}.sim-time-controls [data-end]{margin-left:auto}
.sim-footnote{display:block;font-size:.65rem;color:var(--muted);margin-top:8px;line-height:1.4}
.sim-attribution{position:absolute;z-index:2;bottom:3px;right:12px;left:12px;text-align:right;font-size:10px;background:transparent;color:#173f48;padding:0;line-height:1.3;pointer-events:auto;text-shadow:0 1px 1px #ffffffd9,0 -1px 1px #ffffffa8}.sim-attribution a{color:inherit;text-decoration:underline}
.sim-legend{position:absolute;z-index:3;top:108px;right:18px;width:min(240px,calc(100% - 550px));padding:10px 12px;border:1px solid #48636a;border-radius:12px;background:#0a1c24ed;color:#e6f4f3;pointer-events:none}
.sim-legend>small{display:block;font-size:.7rem;margin-bottom:7px}.sim-wind-gradient{height:8px;border-radius:8px;background:linear-gradient(90deg,#75d7ff,#54e6b3,#f0e65b,#ffad42,#f3545d,#aa4fd7)}
.sim-wind-scale{display:flex;justify-content:space-between;gap:3px;margin-top:5px;font-size:.65rem}.sim-wind-scale small{font-size:inherit}
.balloon-sim:is([data-state=flying],[data-state=paused],[data-state=buffering]) .sim-legend{left:24px;right:auto;width:225px}
.sim-craft{width:55px;height:70px;filter:drop-shadow(0 3px 5px #000c)}.sim-craft img{width:100%;height:100%}.sim-craft.burning{filter:drop-shadow(0 0 14px #ffc678)}
.sim-aim{font-size:44px;color:#fff1a9;text-shadow:0 2px 4px #000}
.sim-overlay{position:absolute;z-index:5;width:min(540px,calc(100% - 32px));left:50%;top:52%;transform:translate(-50%,-50%);padding:28px;max-height:calc(100% - 130px);overflow:auto}.sim-overlay h2{font-size:2rem;line-height:1.1;margin-top:10px}.sim-overlay dl{display:grid;grid-template-columns:1fr 1fr;gap:15px}.sim-overlay dt{font-size:.75rem;color:var(--muted)}.sim-overlay dd{margin:4px 0;font-size:1.2rem}.sim-overlay [data-badges]{color:var(--mint)}
.balloon-sim .sim-dialog{position:fixed;inset:0;margin:auto;width:min(540px,calc(100% - 32px));max-height:85dvh;padding:26px;color:#f2faf8;overflow:auto}.sim-dialog::backdrop{background:#041218c9;backdrop-filter:blur(4px)}.sim-dialog h2{font-size:1.65rem;line-height:1.15}.sim-dialog label{margin:14px 0}
.balloon-sim .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}
@media(min-width:700px) and (max-height:820px){.sim-instruments{max-height:calc(100% - 365px)}.sim-main-readings{gap:10px}.sim-altitude-chart{display:none}.sim-instruments .sim-instructor{margin-top:8px;padding:8px 0}}
@media(max-width:699px){
 .balloon-sim{height:calc(100dvh - 69px);min-height:690px}.sim-header{top:8px;left:8px;right:8px;padding:8px 12px;gap:10px;border-radius:12px!important}.sim-header h1{font-size:1.1rem}.sim-header .eyebrow{font-size:.5rem}.sim-header a{font-size:.67rem;max-width:48%;line-height:1.4}.sim-pause-notice{top:52%;width:min(270px,calc(100% - 32px));padding:15px 18px}.sim-pause-notice strong{font-size:1.18rem}.sim-pause-notice span{font-size:.72rem}
 .sim-intro{top:auto;height:auto;max-height:60%;left:8px;bottom:85px;width:calc(100% - 16px);padding:16px 16px 12px;background:rgba(9,27,34,.94)!important}.sim-intro h2{font-size:1.9rem}.sim-intro p{font-size:.83rem}.sim-intro .sim-warning{font-size:.7rem}.sim-setup{margin-top:12px;gap:8px}.sim-actions button{font-size:.8rem}.sim-intro>.sim-actions{bottom:0}
 .sim-instruments{top:85px;left:8px;right:8px;width:auto;padding:12px;max-height:200px;border-radius:12px!important}.sim-main-readings{grid-template-columns:repeat(4,1fr);gap:7px}.sim-main-readings strong{font-size:1.05rem;white-space:nowrap}.sim-main-readings small{font-size:.6rem;min-height:26px;line-height:1.2}.sim-main-readings span{font-size:.6rem}.sim-altitude-chart{display:none}.sim-secondary{margin-top:10px;font-size:.65rem}.sim-instruments .sim-instructor{font-size:.7rem;margin-top:8px;padding:7px 0 0}.sim-wind-profile{font-size:.7rem;margin-top:6px}.sim-wind-profile summary{min-height:44px}
 .sim-map-controls{left:8px;bottom:28px;max-width:calc(100% - 16px);padding:4px;gap:3px;flex-wrap:nowrap;border-radius:12px!important}.sim-map-controls button{padding:5px 7px;font-size:.63rem}.balloon-sim:is([data-state=flying],[data-state=paused],[data-state=buffering]) .sim-map-controls{bottom:264px}
 .sim-controls{left:8px;right:8px;bottom:calc(26px + env(safe-area-inset-bottom));padding:10px;border-radius:12px!important}.sim-status{font-size:.68rem;min-height:30px;margin-bottom:6px!important}.sim-pilot-controls{gap:5px}.sim-pilot-controls button{padding:8px 7px;min-height:78px;gap:4px}.sim-pilot-controls b{font-size:.74rem}.sim-pilot-controls small{font-size:.59rem;line-height:1.35}.sim-time-controls{gap:4px;margin-top:7px}.sim-time-controls button{font-size:.66rem;padding:5px;min-width:38px}.sim-time-controls>span{display:none}.sim-time-controls [data-pause]{flex:1;min-width:65px}.sim-time-controls [data-end]{min-width:70px}.sim-time-controls [data-rate],.sim-time-controls [data-help-flight]{min-width:44px}.sim-footnote{font-size:.58rem;margin-top:7px}.sim-attribution{font-size:9px;bottom:env(safe-area-inset-bottom);left:8px;right:8px}
 .sim-overlay{padding:20px;top:54%}.sim-overlay h2{font-size:1.7rem}.sim-overlay dl{gap:12px}.sim-craft{width:44px;height:58px}
}
@media(prefers-reduced-motion:reduce){.balloon-sim *{animation:none!important;transition:none!important}}
@media(max-width:699px){
 .sim-legend,.balloon-sim:is([data-state=flying],[data-state=paused],[data-state=buffering]) .sim-legend{left:8px;right:auto;width:150px;padding:8px;top:84px}
 .balloon-sim:is([data-state=flying],[data-state=paused],[data-state=buffering]) .sim-legend{top:292px}
 .sim-legend>small{font-size:.59rem;margin-bottom:5px}.sim-wind-scale{font-size:.55rem;gap:1px}
}
