:root{color:#f7eee5;font-synthesis:none;background:#141e31;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;position:fixed;inset:0;overflow:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--games-accent);outline-offset:5px}.stage [hidden]{display:none}.stage{width:100%;height:100dvh;min-height:260px;position:relative;overflow:hidden}#board,.vignette{width:100%;height:100%;position:absolute;inset:0}.vignette{pointer-events:none;background:linear-gradient(#10152255,#0000 40%,#10152233 65%,#101522e8)}.brand{top:max(28px, env(safe-area-inset-top));position:absolute;left:4%}h1{letter-spacing:-1.1px;margin:0;font-size:24px;font-weight:750}.eyebrow{letter-spacing:2px;color:#c4c8d6;font-size:10px;font-weight:650}.time{text-align:center;position:absolute;top:29px;left:50%;transform:translate(-50%)}.time>div:nth-child(2){letter-spacing:-2px;font:300 42px/1.3 ui-monospace,Consolas,monospace}:where(.time)>div>span{color:#b7bdcd;margin-left:4px;font-size:17px}.telemetry{position:absolute;top:118px;left:4%}.altitude>div{letter-spacing:-2px;margin-top:4px;font:300 clamp(32px,4vw,54px) ui-monospace,Consolas,monospace}:where(.altitude)>div>span{color:#c1bac4;padding-left:7px;font-size:19px}.telemetry p{letter-spacing:1.4px;color:#c6b9bc;font-size:9px}.telemetry strong{letter-spacing:0;color:#f0dfd1;margin-top:7px;font:500 14px ui-monospace,Consolas,monospace;display:block}.checkpoint{text-align:right;text-shadow:0 2px 18px #101522;width:min(300px,28%);position:absolute;top:25%;right:8%}.checkpoint .eyebrow{color:var(--games-accent);font-size:9px}.checkpoint h2{letter-spacing:-1.2px;margin:9px 0 8px;font-size:clamp(22px,2.7vw,34px);font-weight:500}.altimeter{color:#c5bfd0;flex-direction:column;align-items:center;gap:11px;height:33%;font:9px ui-monospace,Consolas,monospace;display:flex;position:absolute;top:25%;right:4%}.altimeter-track{background:#d9c9df45;flex:1;width:1px;position:relative}.altimeter-track i{background:var(--games-accent);width:1px;height:0%;position:absolute;bottom:0}.altimeter-track b{background:var(--games-accent);width:7px;height:7px;position:absolute;bottom:0;left:-3px;transform:rotate(45deg)}.typing{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#131c3085;border-block:1px solid #e5d4dc18;width:100%;padding:23px 0;position:absolute;top:70%;left:0}.typing-hint{text-align:center;letter-spacing:1.3px;color:#c7d9ea;margin:0;font:11px ui-monospace,Consolas,monospace;position:absolute;bottom:calc(100% + 12px);left:0;right:0}.stage:not([data-state=start]) .typing-hint{display:none}.tape-window{width:100%;height:65px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.tape{white-space:pre;will-change:transform;width:max-content;font:400 clamp(24px,3vw,35px)/1.2 ui-monospace,Cascadia Mono,Consolas,monospace;display:flex;position:absolute;top:50%;left:50%;translate:0 -50%}.tape-word{flex:none;display:inline-flex}.tape .char{color:#b0b4c288;flex:none;display:inline-block}.tape .correct{color:#fff4e9}.tape .incorrect{color:#ff748b;text-underline-offset:5px;text-decoration:underline}.caret{background:var(--games-accent);border-radius:2px;width:2px;height:43px;position:absolute;top:50%;left:50%;transform:translateY(-50%);box-shadow:0 0 14px #b6d4f244}[data-state=start] .caret{animation:1.2s steps(2,start) infinite blink}.desktop-notice{bottom:max(12px, env(safe-area-inset-bottom));text-align:center;color:#d5e2ee;width:min(400px,100% - 32px);margin:0;font-size:11px;display:none;position:absolute;left:50%;translate:-50%}#options-button{color:#172638;background:#b6d4f2;border:1px solid #b6d4f280;border-radius:9px;min-width:76px;min-height:36px;margin-top:12px;padding:7px 16px;font-size:12px;font-weight:650;display:block;box-shadow:0 4px 18px #10152233}#options-button:hover{background:#d0e5f8}.type-input{pointer-events:none;opacity:.01;border:0;width:1px;height:20px;padding:0;font-size:16px;position:absolute;bottom:12px;left:50%}.keymap{opacity:.5;gap:4px;display:grid;position:absolute;top:calc(70% + 185px);left:50%;transform:translate(-50%)}.key-row{justify-content:center;gap:4px;display:flex}.key{color:#d1bfc6;background:#c8bccd12;border:1px solid #dac2ce0a;border-radius:4px;place-items:center;width:24px;height:24px;font:10px ui-monospace,Consolas,monospace;display:grid}.key.active{color:var(--games-accent);background:#b6d4f222;border-color:#b6d4f266}.key.space{width:142px;height:18px;font-size:7px}kbd{font:inherit;color:#e5d8d2;border:1px solid #dbc5d13b;border-radius:4px;padding:2px 6px}.flight-footer{right:4%;bottom:max(15px, env(safe-area-inset-bottom));position:absolute}.flight-footer button{color:#e6d4cc;background:0 0;border:0;min-width:44px;min-height:44px;padding:8px;font:10px ui-monospace,Consolas,monospace}.modal-layer{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:10;background:#11152880;place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow-y:auto}#paused{z-index:11}.panel{text-align:center;background:#202631f2;border:1px solid #bdcddd33;border-radius:18px;width:min(440px,100%);padding:34px;box-shadow:0 30px 100px #0005}.panel .eyebrow{color:var(--games-accent)}.panel h2{letter-spacing:-2px;margin:12px 0 8px;font-size:clamp(30px,6vw,44px);font-weight:550}.panel p{color:#c9cdd4;font-size:13px;line-height:1.5}.primary{background:var(--games-accent);color:var(--games-on-accent);border:0;border-radius:8px;min-height:44px;padding:13px 23px;font-weight:700}.pause-actions{gap:10px;margin-top:22px;display:grid}.secondary{color:#d8e1eb;background:0 0;border:1px solid #b6c9df44;border-radius:8px;min-height:44px;padding:12px 20px}.options-dialog{color:#edf0f3;background:#202631;border:1px solid #bdcddd33;border-radius:16px;width:min(400px,100% - 32px);max-height:calc(100dvh - 32px);padding:28px;overflow-y:auto;box-shadow:0 30px 100px #0005}.options-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#11152899}.options-dialog h2{letter-spacing:-1px;margin:0 0 22px;font-size:28px;font-weight:550}.option-row{border-block:1px solid #bdcddd22;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.option-row small{color:#aeb9c7;margin-top:5px;font-size:12px;display:block}.coming-soon{color:#bed6ef;white-space:nowrap;background:#b6d4f210;border-radius:6px;padding:5px 9px;font-size:11px}.options-dialog p{color:#b6c1ce;margin:16px 0 24px;font-size:13px}.options-dialog>button{width:100%}.options-dialog .wordlist-credit{text-align:center;margin:16px 0 0;font-size:11px}.wordlist-credit a{color:#b6d4f2}.result-altitude{margin:24px 0}.result-altitude output{letter-spacing:-4px;color:#fff1e6;font:300 60px ui-monospace,Consolas,monospace;display:block}.result-altitude span,.result-stats span{letter-spacing:1.5px;color:#c4b9ca;margin-top:5px;font-size:9px;display:block}.result-stats{border-block:1px solid #decbd720;justify-content:space-evenly;padding:17px 0;display:flex}.result-stats strong{font:400 23px ui-monospace,Consolas,monospace}.panel .record{color:var(--games-accent);min-height:20px}.result-actions{justify-content:center;gap:10px;margin:24px 0 6px;display:flex}.result-actions>button:not(.primary){background:0 0;border:1px solid #dfc9d333;border-radius:8px;padding:12px 20px}.panel .result-note{opacity:.65;margin-bottom:0;font-size:10px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes blink{to{opacity:.25}}@media (max-height:790px){.keymap{display:none}.typing{top:auto;bottom:65px}}@media (max-width:700px){.brand{top:25px;left:20px}h1{font-size:20px}.time{top:96px;left:auto;right:20px;transform:none}.time .eyebrow,.telemetry .eyebrow{font-size:8px}.time>div:nth-child(2){font-size:30px}.telemetry{top:96px;left:20px}.telemetry p{font-size:7px}.telemetry strong{font-size:11px}.checkpoint{width:43%;top:24%;right:12%}.checkpoint h2{margin-block:6px;font-size:22px}.altimeter{height:20%;font-size:7px;top:25%;right:20px}.typing{top:auto;bottom:max(59px, calc(env(safe-area-inset-bottom) + 42px))}.tape-window{height:61px}.tape{font-size:27px}.caret{height:36px}.keymap{display:none}.flight-footer{right:18px;bottom:max(8px, env(safe-area-inset-bottom))}.panel{padding:25px}}@media (pointer:coarse){#options-button{min-height:44px}.keymap{display:none}[data-state=start] .desktop-notice{display:block}[data-state=start] .flight-footer{display:none}}@media (max-height:520px){#options-button{left:4%;bottom:max(10px, env(safe-area-inset-bottom));margin:0;position:fixed}.brand{top:17px}h1{font-size:18px}.telemetry{top:65px;left:4%}.telemetry p{display:none}.altitude>div{font-size:28px}.time{top:65px;left:auto;right:4%;transform:none}.time>div:nth-child(2){font-size:28px}.checkpoint{width:29%;top:43%;right:5%}.checkpoint h2{margin-block:5px;font-size:20px}.checkpoint .eyebrow{letter-spacing:1px;font-size:7px}.altimeter,.keymap{display:none}.typing{padding:15px 0;bottom:64px}.typing-hint{font-size:9px;bottom:calc(100% + 8px)}.tape-window{height:45px}.tape{font-size:25px}.caret{height:32px}.flight-footer{inset:15px auto auto 40%}.panel{padding:15px 24px}.panel h2{margin-top:7px;font-size:28px}.result-altitude{margin:10px 0}.result-altitude output{font-size:40px}.result-stats{padding:9px 0}.panel p{margin-block:7px}.panel .result-note{display:none}}@media (max-height:950px){.keymap{display:none}}@media (max-width:600px) and (max-height:520px){.checkpoint{width:49%;top:15%;right:4%}.checkpoint h2{font-size:18px}.time{top:132px;left:4%;right:auto}.time-track,.time .eyebrow{display:none}.flight-footer{top:15px;left:4%}.brand{display:none;top:75px}}@media (max-width:360px){.brand h1{font-size:16px}}@media (prefers-reduced-motion:reduce){[data-state=start] .caret{animation:none}}.option-row select{color:#e9eff5;max-width:185px;min-height:42px;font:inherit;background:#172334;border:1px solid #bdcddd44;border-radius:7px;padding:8px 10px;font-size:13px}.route-summary{pointer-events:none;z-index:12;width:min(530px,100% - 500px);display:none;position:absolute;top:94px;left:4%}.route-summary h2{letter-spacing:-.8px;margin:0 0 9px;font-size:26px;font-weight:500}.route-summary>p{color:#bdcddd;margin:0;font-size:12px;line-height:1.6}[data-state=gameover] .route-summary{display:block}[data-state=gameover] .typing,[data-state=gameover] .keymap,[data-state=gameover] .checkpoint,[data-state=gameover] .altimeter,[data-state=gameover] .flight-footer,[data-state=gameover] .time,[data-state=gameover] .telemetry{visibility:hidden}.results{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;place-items:center end;padding:24px 4%}.results .panel{pointer-events:auto;width:min(360px,100%);padding:25px}.results .panel h2{font-size:34px}@media (max-width:759px){.route-summary{width:calc(100% - 40px);top:80px;left:20px}.route-summary h2{font-size:21px}.route-summary>p{font-size:10px}.results{place-items:end center;padding:12px 16px}.results .panel{width:min(400px,100%);padding:16px 22px}.results .panel h2{font-size:27px}.results .result-altitude{margin:12px 0}.results .result-altitude output{font-size:44px}.results .result-stats{padding:10px 0}.results .panel .result-note{display:none}}@media (max-width:759px) and (max-height:550px){.results .result-actions{margin:10px 0 0}[data-state=gameover] .brand{display:none}.route-summary{width:46%;top:15px;left:4%}.route-summary h2{margin-bottom:4px;font-size:14px}.route-summary>p{font-size:8px;line-height:1.3}.results .panel{padding:7px 15px}.results .panel h2,.results .record{display:none}.results .result-altitude{margin:3px 0}.results .result-altitude output{font-size:30px;display:inline}.results .result-altitude span{margin:0 0 0 6px;display:inline}.results .result-altitude span,.results .result-stats span{font-size:7px}.results .result-stats{padding:4px 0}.results .result-stats strong{font-size:16px}.results .result-actions button{min-height:34px;padding:7px 14px;font-size:12px}}@media (min-width:760px) and (max-height:550px){.route-summary{top:15px}.route-summary h2{font-size:18px}}@media (max-width:759px) and (min-height:551px) and (max-height:799px){.results .record{display:none}}@media (max-width:759px) and (min-height:551px) and (max-height:650px){.results .panel h2{display:none}.results .result-altitude output{font-size:30px}.results .result-actions{margin-top:10px}}
