:root{color:#e6efeb;font-synthesis:none;background:#091c28;font-family:Inter,Helvetica Neue,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas#flight{width:100vw;height:100vh;display:block}button,input{font:inherit}button{cursor:pointer;color:inherit;background:#132935b3;border:1px solid #bad2d32c;border-radius:3px;padding:13px 17px;transition:background .2s,border-color .2s}button:hover{background:#24434f;border-color:#e3eceb80}button:focus-visible,input:focus-visible{outline-offset:4px;outline:2px solid #edd094}header{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:30px;left:36px;right:36px}header button{pointer-events:auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:20px;font-size:12px;display:flex}#seedLabel{color:#b1c4ca;text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.identity{text-shadow:0 2px 14px #071622;align-items:center;gap:12px;display:flex}.identity svg{fill:none;stroke:#e8d4aa;stroke-width:1px;width:36px;height:36px}.identity h1{margin:0;font-size:25px;font-weight:450;line-height:1.2}.identity p{color:#b5c8ce;margin:5px 0 0;font-size:11px}.heading{text-shadow:0 1px 6px #000;align-items:center;gap:12px;padding:0 18px 15px;font-size:12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.heading i{background:#c6d8dc60;width:1px;height:11px}#heading{color:#e8d4aa}.compass-rule{background:repeating-linear-gradient(90deg,#c6d8dc77 0 1px,#0000 1px 10px);border-bottom:1px solid #c6d8dc38;height:5px;position:absolute;bottom:0;left:0;right:0}footer{pointer-events:none;justify-content:space-between;align-items:flex-end;gap:24px;display:flex;position:absolute;bottom:24px;left:36px;right:36px}.controls{color:#bfd0d4;text-shadow:0 1px 6px #000;flex-wrap:wrap;gap:7px 13px;max-width:265px;font-size:10px;line-height:1.7;display:flex}.controls>span{white-space:nowrap}kbd{color:#f0f2e9;border-bottom:1px solid #c5d8d777;min-width:15px;margin-right:2px;padding:0 2px;font:10px Arial,sans-serif;display:inline-block}.instruments{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#0c1d2966,#0c1d29dd);border-top:1px solid #b0cbd74d;border-radius:0 0 3px 3px;gap:28px;padding:18px 25px 13px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.instrument{min-width:76px}.instrument small{color:#b8cbd0;justify-content:space-between;gap:12px;margin-bottom:5px;font-size:10px;display:flex}.instrument em{color:#90a9b5;font-size:9px;font-style:normal}.instrument>span{font-variant-numeric:tabular-nums;font-size:28px;font-weight:300;line-height:1.25}.instrument.power{min-width:58px}.power>span{color:#e8d0a4}.ticks{background:repeating-linear-gradient(90deg,#d6e5e64d 0 1px,#0000 1px 7px);border-bottom:1px solid #afc8d124;height:5px;margin-top:8px}.zero-line{border-bottom:1px solid #afc8d155;height:5px;margin-top:8px}.power-track{background:#d6e5e62a;height:3px;margin-top:10px}.power-track i{background:#d5bb84;width:62%;height:3px;display:block}.aircraft-label{color:#d2dddd;text-align:right;align-items:center;gap:10px;font-size:11px;display:flex}.aircraft-label small{color:#92adb8;margin-top:5px;font-size:9px;display:block}.aircraft-symbol{color:#d7c39b;font-size:25px}#flightState{color:#cdd;text-shadow:0 1px 7px #071522;font-size:10px;transition:color .2s;position:absolute;bottom:135px;left:50%;transform:translate(-50%)}#flightState:before{content:"";vertical-align:middle;background:#a4d6c4;border-radius:50%;width:4px;height:4px;margin-right:7px;display:inline-block}#flightState.warning{color:#ffe0a4;background:#392d1ee8;border:1px solid #eac48255;border-radius:3px;padding:8px 13px}#flightState.warning:before{background:#edc06f}#notice{color:#e2e9e4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;text-align:center;background:#0a202bd9;border-left:2px solid #e6c487;padding:12px 20px;font-size:12px;transition:opacity .25s;position:absolute;top:110px;left:50%;transform:translate(-50%)}#notice.visible{opacity:1}#vignette{pointer-events:none;background:linear-gradient(#05132128,#0000 18% 77%,#07152266);transition:box-shadow .25s;position:absolute;inset:0;box-shadow:inset 0 0 140px #07162835}body.contact #vignette{box-shadow:inset 0 0 180px #d3b28077}#pause{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(90deg,#071923e8,#0b223b22);align-items:center;padding:9vw;display:flex;position:absolute;inset:0}#pause[hidden]{display:none}.pause-card{width:360px}.section-label{color:#d7bf90;margin:0 0 27px;font-size:11px}h2{letter-spacing:-1.5px;color:#eaece0;margin:0 0 24px;font-family:Georgia,Times New Roman,serif;font-size:49px;font-weight:400;line-height:1.05}#pause p,.world-content>p:not(.section-label){color:#b7cbd1;margin:0 0 28px;font-size:13px;line-height:1.8}.primary{color:#162b33;background:#ddc697;border:1px solid #ddc697;justify-content:space-between;align-items:center;width:100%;padding:15px 18px;font-size:12px;display:flex}.primary:hover{background:#f0dbb5;border-color:#f0dbb5}.pause-card>small,.world-content>small{color:#89a4af;margin-top:18px;font-size:10px;display:block}dialog{color:#e6efeb;background:#102632;border:1px solid #aec7ca4d;border-radius:4px;width:820px;max-width:calc(100vw - 50px);padding:0;box-shadow:0 35px 120px #0009}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06172380}#worldForm{grid-template-columns:1fr 1fr;display:grid}.chart-panel{background:#0b202a;border-right:1px solid #aec7ca20;padding:32px 26px}.chart-title,.chart-caption{color:#acc5ca;justify-content:space-between;font-size:10px;display:flex}.chart-title span{color:#d9c596}#chart{border:1px solid #abc8cc20;width:100%;height:auto;margin:22px 0 14px;display:block}.chart-caption{color:#d0b982}.chart-panel p{color:#72949f;margin:24px 0 0;font-size:10px;line-height:1.7}.world-content{padding:48px 34px 34px}.world-content h2{font-size:43px}.world-content>p:not(.section-label){font-size:12px}.world-content label{color:#bed0d3;margin-bottom:10px;font-size:11px;display:block}.seed-entry{border:1px solid #92b0bc50;border-radius:3px;margin-bottom:17px;display:flex;overflow:hidden}.seed-entry input{color:#e4efeb;background:#091d27;border:0;width:100%;min-width:0;padding:14px;font-size:13px}.seed-entry button{border:0;border-left:1px solid #92b0bc30;border-radius:0;padding:8px 14px;font-size:21px}.close{color:#b0c8ce;background:0 0;border:0;padding:2px 10px;font-size:24px;position:absolute;top:8px;right:10px}@media (width<=1150px){footer{left:22px;right:22px}.aircraft-label{display:none}.controls{max-width:200px}.instruments{gap:23px;left:auto;right:0;transform:none}#flightState{left:auto;right:24px;transform:none}header{top:24px;left:24px;right:24px}}@media (height<=760px){footer{bottom:19px}.instruments{padding-top:12px}#flightState{bottom:119px}.world-content{padding-top:34px}.chart-panel{padding-top:24px}#chart{object-fit:contain;max-height:280px}.chart-panel p{margin-top:15px}}@media (width<=740px){.heading,.controls{display:none}.instruments{gap:17px;margin:auto;position:relative;left:auto;right:auto;transform:none}footer{justify-content:center}.instrument{min-width:62px}.instrument>span{font-size:24px}#flightState{right:50%;transform:translate(50%)}#worldForm{grid-template-columns:1fr}.chart-panel{display:none}.world-content{padding:35px}.identity p{display:none}#seedLabel{max-width:90px}}#loading{z-index:20;text-align:center;background:#091c28ed;place-items:center;display:grid;position:fixed;inset:0}#loading[hidden]{display:none}#loading p{margin:18px 0 10px;font-size:21px}#loading small{color:#b5c8ce;font-size:13px}.loading-mark{color:#e8d4aa;font-size:38px;animation:1.5s ease-in-out infinite alternate loading-breathe;display:block}@keyframes loading-breathe{to{opacity:.35;transform:scale(.9)}}.demo-controls{display:none}.demo-actions{z-index:6;gap:6px;display:flex;position:fixed;top:76px;left:20px}.demo-actions button{color:#eef5f4;background:#0c202bdd;border:1px solid #dbe8eb55;border-radius:5px;min-height:36px;padding:7px 12px;font:12px Arial,sans-serif}.demo-actions button:focus-visible,.demo-controls button:focus-visible{outline-offset:3px;outline:2px solid #e7c98b}@media (width<=740px){header{top:15px!important;left:15px!important;right:15px!important}header h1{font-size:21px}.identity p,.heading,.controls{display:none!important}.identity svg{width:28px;height:28px}#worldButton{min-height:40px;padding:8px 12px;font-size:12px}#seedLabel{max-width:65px}.demo-actions{top:66px;left:15px}footer{bottom:14px!important;left:10px!important;right:10px!important}.instruments{gap:12px!important;padding:10px 12px!important}.instrument{min-width:48px}.instrument>span{font-size:20px}#flightState{white-space:nowrap;bottom:92px!important}#notice{max-width:85%;font-size:12px;top:112px}dialog{max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);overflow:auto}#worldForm{padding:24px}#worldForm h2,.pause-card h2{font-size:35px}.world-content{padding:10px}.pause-card{padding:24px}}@media (pointer:coarse){.demo-controls{z-index:5;pointer-events:none;justify-content:space-between;align-items:end;display:flex;position:fixed;bottom:110px;left:14px;right:14px}.demo-controls button{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;background:#102530d9;border:1px solid #d5e8ed77;border-radius:9px;width:44px;height:44px;padding:0;font:23px Arial,sans-serif}.demo-controls button:active{background:#426271}.demo-direction{grid-template-columns:repeat(3,44px);gap:5px;display:grid}[data-control=up]{grid-column:2}[data-control=left]{grid-area:2/1}[data-control=down]{grid-area:2/2}[data-control=right]{grid-area:2/3}.demo-power{grid-template-columns:44px 44px;gap:5px;display:grid}.demo-power span{text-align:center;color:#f0f5f4;text-shadow:0 1px 4px #000;grid-column:1/-1;font:11px Arial,sans-serif}.demo-paused .demo-controls{visibility:hidden}.controls{display:none!important}}@media (pointer:coarse) and (orientation:landscape) and (height<=500px){.demo-controls{bottom:18px}footer{left:160px!important;right:120px!important}.instruments{gap:8px!important;padding:8px!important}.instrument{min-width:42px}.instrument>span{font-size:18px}.demo-actions{top:62px}}@media (pointer:coarse) and (orientation:portrait){footer{top:108px;bottom:auto!important}.instruments{padding:8px 12px!important}.demo-controls{bottom:16px}#flightState{top:187px;bottom:auto!important}#notice{top:218px}}
