:root{color-scheme:dark;--bg:#08131b;--ink:#e4e6db;--muted:#7d979f;--cyan:#77e3e7;--line:#30434a;--amber:#ffb45b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 47% 40%,#18303b 0,#0b1821 48%,#070f16 100%);color:var(--ink);font-family:Arial,Helvetica,sans-serif;min-height:100dvh}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.layout{display:grid;grid-template-columns:250px minmax(300px,440px) 250px;gap:48px;align-items:center;justify-content:center;min-height:calc(100dvh - 48px);padding:32px 28px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;line-height:.95;letter-spacing:2.5px}.brand svg{width:38px;height:46px}.edition{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:700;letter-spacing:1.7px;color:#9ab4b7;margin:58px 0 22px}.edition span{width:5px;height:5px;background:#8bb9a1;border-radius:50%}h1{font-family:Georgia,'Times New Roman',serif;font-weight:normal;font-size:68px;letter-spacing:-3px;line-height:.99;margin:0 0 28px}h1 em{font-style:normal;color:#85b9bc}.lead{font-size:17px;line-height:1.6;color:#bbc9c9}.intro-rule{width:34px;height:1px;background:#55767d;margin:28px 0}.subtle{color:var(--muted);font-size:13px;line-height:1.9}.tags{display:flex;gap:7px;margin:27px 0 32px}.tags span{font-size:8px;letter-spacing:1.2px;border:1px solid #2d4149;padding:8px}.doclink{font-size:11px;color:#93b2b8;display:flex;justify-content:space-between;max-width:205px;padding:12px 0;border-bottom:1px solid #30434a}.doclink:hover{color:var(--cyan)}.game-shell{width:100%;background:#0a1720;border:1px solid #3a5059;border-radius:18px;overflow:hidden;box-shadow:0 30px 100px #0006,0 0 0 5px #0c1c25;position:relative}.game-top{height:64px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;background:#0b1921}.chapter{font-size:9px;letter-spacing:1.7px;font-weight:700;color:#8aa5aa}.status{margin-top:7px;font-size:9px;letter-spacing:1px;display:flex;gap:10px;align-items:center}#health{color:#ffb45b;font-size:13px;letter-spacing:2px}.divider{color:#405963}#zone{color:#718e99;font-size:8px}.top-actions{display:flex;align-items:center;gap:8px}#timer{font-size:13px;letter-spacing:1px;font-variant-numeric:tabular-nums;margin-right:3px}.icon-btn{border:1px solid #2c434c;background:transparent;width:27px;height:28px;border-radius:6px;font-size:15px}.viewport{position:relative;width:100%;aspect-ratio:420/680;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}.altitude{position:absolute;right:12px;top:45px;bottom:80px;width:2px;background:#5a7b8233;display:flex;align-items:flex-end;pointer-events:none}#climb-fill{background:#89cac8;width:2px;transition:height .2s}.altitude-label{position:absolute;right:7px;top:23px;font-size:8px;color:#9ab5b7}.hint{position:absolute;top:9px;left:22px;right:28px;text-align:center;font-size:11px;line-height:1.5;color:#cbdeda;text-shadow:0 2px 4px #000;background:#0a1a237d;padding:7px 8px;border-radius:6px;pointer-events:none;transition:opacity .3s}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(#0713201a,#07152192 30%,#071521dc);padding:24px;z-index:3}.overlay.hidden{display:none}.start-card{width:100%;max-width:310px;text-align:center;padding-top:32px}.micro{font-size:9px;letter-spacing:2px;color:#8da9ad;font-weight:700}h2{font-family:Georgia,'Times New Roman',serif;font-size:39px;font-weight:normal;line-height:1.09;letter-spacing:-1.1px;margin:20px 0 15px}.start-card>p{color:#a4bcc3;font-size:12px;line-height:1.85;margin:12px 0 24px}.start-tips{display:grid;gap:12px;text-align:left;margin:25px auto 30px;width:220px;font-size:12px;color:#c2d3d3}.start-tips b{color:#6d929b;margin-right:16px;font-size:10px;font-weight:normal}.primary{width:100%;background:#a7dfd8;color:#0d2c35;border:1px solid #c7f1e8;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;border-radius:6px;box-shadow:0 4px 22px #6bcad51a}.primary:hover{background:#c1f3e9}.primary:active{transform:translateY(1px)}.start-card>small{display:block;font-size:9px;color:#78939e;margin:15px 0 0}.secondary{width:100%;background:transparent;border:1px solid #38525c;padding:12px;border-radius:6px;font-size:12px;margin-top:10px;color:#b8cdcf}.energy-row{display:flex;align-items:center;gap:12px;padding:13px 18px 3px;height:31px;background:#0b1921;font-size:8px;letter-spacing:1.5px;color:#92b5bc}.energy-track{flex:1;height:3px;background:#243e48}#energy-fill{height:100%;background:#60cbd8;width:28%;transition:width .1s}#energy-value{font-variant-numeric:tabular-nums;width:29px;text-align:right}.controls{height:92px;padding:12px 16px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0b1921;touch-action:none;user-select:none}.direction,.powers{display:flex;gap:7px;align-items:center}.controls button{height:52px;width:47px;background:#152b36;border:1px solid #38525f;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;touch-action:none;user-select:none}.controls svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.controls .direction button{width:49px;height:55px}.controls .power{background:transparent;border-color:#29414d;width:47px;color:#83b6c3}.controls .jet{color:#7d779c}.controls .jet.ready{color:#c2adff;border-color:#8f7dc0;background:#342f49;box-shadow:0 0 14px #9b86ff22}.controls .jump{height:62px;width:66px;border-color:#9bc4be;background:#a2d6cf;color:#133039}.controls span{font-size:7px;letter-spacing:1px;font-weight:700}.controls button.pressed{background:#3a6370;transform:scale(.94)}.controls .jump.pressed{background:#d0fff1}.fieldnotes{padding-left:10px}h3{font-family:Georgia,'Times New Roman',serif;font-weight:normal;font-size:29px;letter-spacing:-.5px;margin:18px 0 12px}.fieldnotes>p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:32px}.mechanic{display:flex;gap:15px;margin-bottom:25px}.mechanic-icon{font-size:25px;width:27px;color:#9cbdab;font-family:Georgia,serif}.mechanic-icon.cyan{color:#75bdcd}.mechanic-icon.purple{color:#a899cc}h4{font-size:12px;margin:0 0 8px;font-weight:600}.mechanic p{font-size:11px;line-height:1.7;margin:0;color:var(--muted)}.experiment{border-top:1px solid #30434a;border-bottom:1px solid #30434a;padding:18px 0;margin-top:32px}.setting{display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:12px;gap:20px}.setting small{display:block;color:#78939c;font-size:9px;margin-top:6px}.setting input{appearance:none;width:31px;height:17px;border-radius:10px;background:#344a55;position:relative;cursor:pointer;margin:0;flex-shrink:0}.setting input:before{content:'';width:11px;height:11px;border-radius:50%;background:#a8b7b9;position:absolute;top:3px;left:3px;transition:transform .2s}.setting input:checked{background:#447b77}.setting input:checked:before{transform:translateX(14px);background:#bcf0df}.experiment p{font-size:10px;color:#74929b;line-height:1.8;margin:13px 0 0}.keyboard{margin:24px 0 18px}.keyboard>span{font-size:8px;letter-spacing:1.5px;color:#6c8992}.keyboard p{font-size:10px;color:#78969e;margin:12px 0}kbd{font-family:inherit;font-size:8px;border:1px solid #304751;border-radius:3px;padding:4px 5px;color:#a9c0c5;margin-right:5px}.desktop-footer{height:48px;display:flex;justify-content:space-between;align-items:center;padding:0 48px;font-size:8px;letter-spacing:1.5px;color:#56717d}.desktop-footer i{font-style:normal;margin:0 12px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0;text-align:left}.stats div{border-top:1px solid #33505b;padding-top:10px}.stats strong{font-size:23px;color:#c4e7df;display:block;font-weight:400}.stats span{font-size:9px;color:#8eabb4;display:block;margin-top:5px}.result-link{display:block;font-size:10px;color:#86a5ac;margin-top:15px}.result h2{font-size:33px}.result>p{margin:10px 0}.start-card .setting{padding:12px 0 22px}
@media(min-width:901px) and (max-height:950px){.layout{grid-template-columns:240px minmax(280px,360px) 235px;gap:40px;padding:22px}.game-top{height:56px}.controls{height:82px;padding-top:8px;padding-bottom:12px}.viewport{max-height:calc(100dvh - 245px)}.game-shell{max-width:360px}.edition{margin-top:40px}h1{font-size:61px}.fieldnotes{padding-left:0}}
@media(max-width:1100px) and (min-width:761px){.layout{grid-template-columns:230px minmax(300px,400px);gap:35px}.fieldnotes{display:none}}
@media(max-width:760px){body{overflow:hidden;background:#0b1921}.layout{display:block;padding:0;height:100dvh;min-height:0}.intro,.fieldnotes,.desktop-footer{display:none}.game-shell{max-width:500px;width:100%;height:100dvh;margin:auto;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.game-top{height:58px;flex-shrink:0;padding:10px 16px}.viewport{flex:1;aspect-ratio:auto;min-height:0;width:100%}.energy-row{flex-shrink:0}.controls{flex-shrink:0;height:calc(90px + env(safe-area-inset-bottom));padding-bottom:calc(17px + env(safe-area-inset-bottom))}.start-card{padding-top:0;max-width:290px}.start-tips{margin:20px auto}.start-card h2{font-size:36px}.hint{font-size:10px}.overlay{padding:18px}.result .stats{gap:10px;margin:14px 0}.result h2{font-size:29px}.result>p{font-size:11px}.controls .direction button{width:53px}.powers{gap:9px}}
@media(max-width:370px){.controls{padding-left:10px;padding-right:10px;gap:7px}.controls .direction button{width:43px}.controls .power{width:42px}.controls .jump{width:56px}.powers{gap:6px}.game-top{padding-left:12px;padding-right:12px}.chapter{font-size:8px}.top-actions{gap:5px}.start-tips{gap:9px;margin:15px auto}.start-card h2{font-size:30px;margin:12px 0}.start-card>p{margin-bottom:14px}.primary{padding:13px 16px}.start-card>small{font-size:8px}}
@media(max-height:650px) and (max-width:760px){.start-tips{display:none}.start-card h2{font-size:28px;margin:10px 0}.start-card>p{margin:10px 0}.controls{height:78px;padding-top:6px;padding-bottom:8px}.controls .jump{height:55px}.result .stats{grid-template-columns:repeat(3,1fr)}.stats strong{font-size:17px}.stats span{font-size:8px}.start-card>small{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
#pause-screen,#result-screen{background:#071521eb}
