:root{color-scheme:light;--ink:#272727;--paper:#ebebeb;--muted:#757575;--accent:#ed512e;--line:rgba(37,37,37,.14)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{background:#dddddd;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent}button,input,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{cursor:default}button svg{width:22px;height:22px}button{border:0}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}
.game-shell{max-width:1600px;margin:0 auto;min-height:650px;height:100svh;display:flex;flex-direction:column;background:var(--paper);overflow:hidden}
.topbar{height:98px;flex:none;display:flex;align-items:center;padding:0 4.2%;border-bottom:1px solid var(--line);gap:44px;z-index:2}.wordmark{font-size:25px;font-weight:850;letter-spacing:-1.3px;text-decoration:none;color:var(--ink);position:relative;white-space:nowrap}.wordmark span{font-weight:350}.wordmark i{display:inline-block;background:var(--accent);height:6px;width:6px;margin:0 0 2px 5px}.level-label{display:flex;flex-direction:column;gap:5px;font-size:14px;border-left:1px solid var(--line);padding-left:30px}.eyebrow{display:block;font-family:inherit;font-size:11px;font-weight:650;letter-spacing:1.7px;line-height:1.5;color:var(--muted)}.top-actions{margin-left:auto;display:flex;gap:12px}.icon-button{width:40px;height:40px;display:grid;place-items:center;color:var(--ink);background:transparent;border-radius:50%;transition:background .2s}.icon-button:hover{background:#dcdcdc}.icon-button.muted .sound-waves{opacity:.18}
.playfield{flex:1;min-height:340px;position:relative;isolation:isolate;overflow:hidden;background:#dddddd}#world{position:absolute;inset:0;width:100%;height:100%;display:block}.scene-head{position:absolute;top:30px;left:4.2%;right:4.2%;display:flex;justify-content:space-between;pointer-events:none;transition:opacity .4s}.scene-head p{font-size:17px;margin:7px 0 0;font-weight:450;letter-spacing:-.3px}.payload{text-align:right}#ammo{display:flex;gap:9px;justify-content:flex-end;margin-top:10px}#ammo i{width:7px;height:19px;background:var(--ink);border-radius:4px 4px 2px 2px;transition:opacity .3s,transform .3s;position:relative}#ammo i:after{content:"";position:absolute;left:-2px;bottom:0;width:11px;height:5px;background:inherit}#ammo i.used{opacity:.15;transform:translateY(2px)}.scene-note{position:absolute;top:96px;left:4.2%;display:flex;gap:8px;align-items:center;font-size:12px;color:#6a6a6a;pointer-events:none;transition:opacity .3s}.orange-dot{width:5px;height:5px;border-radius:100%;background:var(--accent)}.coordinates{position:absolute;bottom:17px;left:4.2%;right:4.2%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.6px;color:#909090;pointer-events:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;padding:30px 8%;z-index:4}.intro{background:linear-gradient(90deg,rgba(233,233,233,.99) 0%,rgba(233,233,233,.92) 27%,rgba(233,233,233,.15) 62%,transparent);transition:opacity .35s}.intro-content{padding-bottom:12px;max-width:430px}.intro h1{font-size:clamp(46px,5.5vw,78px);line-height:1.01;font-weight:520;letter-spacing:-4px;margin:22px 0}.intro h1 em{font-style:normal;color:#797979}.intro p{font-size:16px;line-height:1.7;color:#626262;margin:0 0 27px}.primary{display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:53px;padding:0 22px;min-width:192px;background:var(--ink);color:#f3f3f3;border-radius:5px;font-size:14px;font-weight:500;transition:background .2s}.primary:hover{background:#414141}.primary span{font-size:23px;font-weight:300}.intro-foot{font-size:10px;letter-spacing:1.4px;margin-top:22px;color:#868686}.intro-foot b{font-weight:400;margin:0 9px}.result{justify-content:center;background:rgba(230,230,230,.82);backdrop-filter:blur(9px);text-align:center}.result-content{max-width:460px}.result .eyebrow{color:var(--accent)}h2{font-size:clamp(37px,4vw,60px);font-weight:450;letter-spacing:-2.4px;margin:15px 0}.result p{font-size:15px;color:#656565;line-height:1.7}.result-stats{display:flex;justify-content:center;gap:54px;margin:28px 0}.result-stats>div{display:flex;flex-direction:column;gap:7px}.result-stats strong{font-size:36px;font-weight:350;letter-spacing:-2px}.result-stats span{font-size:10px;letter-spacing:1.5px;color:#767676}.result .primary{margin:auto}.result .best{font-size:12px;margin:18px 0 0}.pause-overlay{justify-content:center;text-align:center;background:rgba(228,228,228,.86);backdrop-filter:blur(8px)}.pause-overlay .primary{margin:24px auto 0}
.flight-deck{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 4.2%;border-top:1px solid var(--line);position:relative;z-index:5;background:var(--paper);flex:none}.altitude-panel{width:235px}.control-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;font-weight:650}.control-heading span{font-weight:400;letter-spacing:1px;color:#777777}.altitude-control{display:flex;align-items:center;gap:14px;height:39px}.altitude-control>span{font-size:20px;font-weight:300;color:#777777}input[type=range]{width:100%;margin:0;accent-color:var(--ink);height:28px;cursor:ew-resize;touch-action:none;background:transparent;-webkit-appearance:none;appearance:none}input[type=range]::-webkit-slider-runnable-track{height:2px;background:#bcbcbc}input[type=range]::-webkit-slider-thumb{appearance:none;width:19px;height:19px;background:var(--paper);border:2px solid var(--ink);border-radius:100%;margin-top:-8px}input[type=range]::-moz-range-track{height:2px;background:#bcbcbc}input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--paper);border:2px solid var(--ink);border-radius:100%}.control-help{font-size:12px;color:#777777}.flight-instruction{display:flex;gap:16px;align-items:center;color:#868686;font-size:13px;line-height:1.7}.flight-instruction strong{font-weight:400;color:#535353}.tiny-plane{font-size:28px}.drop-button{display:flex;align-items:center;gap:15px;border:1px solid #3e3e3e;color:#f5f5f5;background:var(--ink);min-width:182px;height:76px;border-radius:7px;padding:0 24px;transition:background .2s,opacity .2s}.drop-button>svg{height:28px;width:28px}.drop-button>span{text-align:left;font-size:17px;letter-spacing:1.5px;font-weight:650}.drop-sub{display:block;font-size:9px;letter-spacing:2px;margin-top:3px;color:#b1b1b1}.drop-button kbd{font-size:9px;font-family:inherit;border:1px solid #5d5d5d;border-radius:3px;padding:4px;margin-left:8px;color:#c5c5c5}.drop-button:not(:disabled):hover{background:#3a3a3a}.drop-button:disabled{opacity:.32}.drop-button.ready{background:var(--accent);border-color:var(--accent)}.drop-button.ready .drop-sub{color:#ffded5}.bottomline{height:32px;padding:0 4.2%;display:flex;justify-content:space-between;align-items:flex-start;font-size:9px;letter-spacing:1.2px;color:#909090;flex:none}.bottomline b{margin:0 8px;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
body.is-intro .scene-head,body.is-intro .scene-note{opacity:0}body.is-intro .flight-instruction{opacity:.45}
@media(min-width:1500px){.game-shell{border-inline:1px solid var(--line)}}
@media(max-width:750px){.topbar{height:75px;gap:20px;padding-inline:6%}.wordmark{font-size:22px}.level-label{padding-left:20px;font-size:12px}.level-label .eyebrow{font-size:9px}.top-actions{gap:0}.icon-button{width:34px}.flight-instruction{display:none}.flight-deck{padding:20px 6%;gap:25px}.altitude-panel{width:48%}.drop-button{min-width:140px;height:70px;padding:0 20px;gap:10px}.drop-button kbd{display:none}.bottomline{padding-inline:6%;height:28px;font-size:8px}.keyboard-help{display:none}.scene-head{top:24px;left:6%;right:6%}.scene-head p{font-size:15px}.scene-note{top:83px;left:6%;font-size:11px}.coordinates{left:6%;right:6%;font-size:8px;letter-spacing:1px}.intro{align-items:flex-start;padding:45px 8%;background:linear-gradient(180deg,rgba(233,233,233,.96),rgba(233,233,233,.84) 39%,rgba(233,233,233,.08) 78%)}.intro h1{font-size:53px;letter-spacing:-3px;margin:18px 0}.intro p{font-size:14px;margin-bottom:20px}.intro .eyebrow{font-size:9px}.intro-foot{margin-top:18px;font-size:9px}.primary{min-height:49px;min-width:180px}.overlay.result{padding:25px 7%}.result h2{font-size:42px}.result-stats{margin:23px 0}.control-heading{font-size:9px}.control-help{font-size:10px}}
@media(max-width:420px){.level-label{display:none}.topbar{height:66px}.game-shell{min-height:600px}.flight-deck{padding-block:16px;gap:18px}.drop-button{min-width:128px}.scene-note{max-width:65%}.bottomline{font-size:7px;letter-spacing:1px}.intro{padding-top:34px}.intro h1{font-size:49px}}
@media(max-height:590px) and (orientation:landscape){.game-shell{min-height:0;height:100svh}.topbar{height:52px}.playfield{min-height:180px}.flight-deck{padding-block:9px}.drop-button{height:52px}.bottomline{display:none}.scene-head{top:14px}.scene-note{top:66px}.intro{align-items:center;padding:15px 8%;background:linear-gradient(90deg,#e9e9e9,rgba(233,233,233,.9) 30%,transparent 65%)}.intro h1{font-size:38px;margin:9px 0;letter-spacing:-2px}.intro h1 br{display:none}.intro p{font-size:12px;margin:0 0 10px}.intro-foot{display:none}.intro .primary{min-height:38px}.result h2{font-size:32px;margin:6px 0}.result p{margin:5px 0;font-size:12px}.result-stats{margin:10px 0;gap:40px}.result-stats strong{font-size:24px}.result .primary{min-height:38px}.result .best{margin:6px 0}.control-help{display:none}.coordinates{bottom:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.game-shell{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.top-actions a.icon-button{display:grid;place-items:center;color:var(--ink)}.top-actions a.icon-button svg{width:22px;height:22px}
.topbar .icon-button{min-width:44px;min-height:44px}
.eyebrow{font-size:12px}.control-help{font-size:12px}.control-heading{font-size:12px}
@media(max-width:750px){.level-label .eyebrow,.intro .eyebrow{font-size:11px}.control-heading{font-size:11px}.control-help{font-size:11px}.scene-note{font-size:12px}.topbar{gap:12px}}
@media(max-height:590px) and (orientation:landscape){.intro h1 em{margin-left:.15em}}
.level-label{min-width:0}#level-select{font:inherit;font-size:14px;border:0;color:var(--ink);background:transparent;min-height:32px;max-width:220px;padding:3px 18px 3px 0;cursor:pointer}#level-select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.target-state{display:block;font-size:11px;letter-spacing:1px;color:#ad3d22;margin-top:9px}.target-state.closed{color:#555}.target-state:empty{display:none}.scene-note{top:118px;max-width:72%;line-height:1.4}.secondary{background:transparent;color:var(--ink);display:flex;gap:14px;justify-content:center;align-items:center;min-height:44px;padding:8px 18px;margin:8px auto 0;font-size:14px}.primary #next-label,.primary #again-label,.secondary #again-label{font-size:14px;font-weight:500}.overlay{overflow:auto}.intro-content{max-width:430px}
@media(max-width:750px){.topbar{height:112px;flex-wrap:wrap;align-content:center;gap:3px 12px;padding-block:5px}.top-actions{order:2}.level-label{display:flex!important;order:3;flex-basis:100%;flex-direction:row;align-items:center;justify-content:space-between;border:0;padding:0;gap:10px}.level-label .eyebrow{font-size:11px}#level-select{font-size:14px;min-height:36px;max-width:230px}.scene-note{top:109px;max-width:80%}.scene-head p{max-width:230px}.target-state{font-size:10px}.result-stats{margin:16px 0}.result .best{margin-top:10px}}
@media(max-height:590px) and (orientation:landscape){.topbar{height:55px;flex-wrap:nowrap}.level-label{order:1;flex-basis:auto;flex-direction:column;align-items:flex-start;gap:0}.top-actions{order:2}.level-label .eyebrow{display:none}#level-select{max-width:195px;font-size:13px}.scene-note{top:88px;font-size:11px}.target-state{margin-top:5px}.overlay.result{padding:12px 5%}.result .secondary{min-height:36px;margin-top:2px}.intro-content{max-width:430px}}
