:root{color-scheme:dark;--void: #07080c;--metal: #161a22;--metal-hi: #2a3140;--ice: #3de0ff;--mag: #ff2a6d;--ink: #dce8f0;--muted: #a9b4c0;--sodium: #e8a030;--gold: #ffd166;--green: #3dff8a;--ctl-border: rgba(61, 224, 255, .45);--ctl-border-hover: rgba(61, 224, 255, .75);--scrollbar-thumb: rgba(61, 224, 255, .5);--scrollbar-track: transparent;--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--fs-xs: clamp(.6875rem, .5rem + .4vmin, .875rem);--fs-sm: clamp(.75rem, .53125rem + .5vmin, 1rem);--fs-md: clamp(.8125rem, .5625rem + .6vmin, 1.125rem);--fs-lg: clamp(.9375rem, .625rem + .8vmin, 1.375rem);--fs-num: clamp(2rem, 1.25rem + 2.4vmin, 3.5rem);--hit: 44px;--shadow-ink: 0 1px 2px rgba(7, 8, 12, .95)}html,body{margin:0;height:100%;height:100dvh;background:var(--void);overflow:hidden;overflow:clip;font-family:Share Tech Mono,ui-monospace,monospace;font-size:var(--fs-sm);color:var(--ink);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;cursor:crosshair}canvas{display:block;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}#hud:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.025) 0px,rgba(255,255,255,.025) 1px,transparent 1px,transparent 3px);mix-blend-mode:overlay;pointer-events:none}#hud:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(7,8,12,.62) 0%,transparent 16%,transparent 80%,rgba(7,8,12,.62) 100%);box-shadow:inset 0 0 120px 30px #07080cd9;pointer-events:none}h1,h2,h3,h4{margin:0;font-size:inherit;font-weight:inherit}.corner{position:absolute;width:26px;height:26px;border:1px solid rgba(61,224,255,.35);opacity:.8}.corner.tl{top:calc(18px + var(--sat));left:calc(18px + var(--sal));border-right:0;border-bottom:0}.corner.tr{top:calc(18px + var(--sat));right:calc(18px + var(--sar));border-left:0;border-bottom:0}.corner.bl{bottom:calc(18px + var(--sab));left:calc(18px + var(--sal));border-right:0;border-top:0}.corner.br{bottom:calc(18px + var(--sab));right:calc(18px + var(--sar));border-left:0;border-top:0}#hud button{pointer-events:auto;touch-action:manipulation;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;scale:1}@media(hover:hover){#hud :where(button:not(.on)):hover{color:var(--ice);border-color:var(--ctl-border-hover)}}@media(prefers-reduced-motion:no-preference){#hud button:active{scale:.97}}#hud :where(button,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--ice);outline-offset:3px;box-shadow:0 0 0 4px #3de0ff47}@supports not (scrollbar-color: auto){.help-card::-webkit-scrollbar,#settings .overlay-card::-webkit-scrollbar,#lesson .overlay-card::-webkit-scrollbar{width:12px;height:12px}.help-card::-webkit-scrollbar-thumb,#settings .overlay-card::-webkit-scrollbar-thumb,#lesson .overlay-card::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}.help-card::-webkit-scrollbar-track,#settings .overlay-card::-webkit-scrollbar-track,#lesson .overlay-card::-webkit-scrollbar-track{background:var(--scrollbar-track)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.hidden{display:none!important}#score,#best,#vel{font-variant-numeric:tabular-nums}#score{position:absolute;top:calc(26px + var(--sat));left:calc(34px + var(--sal));font-size:var(--fs-num);line-height:1;letter-spacing:.08em;color:var(--ice);text-shadow:var(--shadow-ink),0 0 14px rgba(61,224,255,.55),0 0 2px rgba(61,224,255,.9);transform-origin:left center}#score.pop{animation:pop .34s cubic-bezier(.2,1.6,.4,1) both}#score.hot{color:#fff;text-shadow:0 0 22px var(--ice),0 0 4px #fff}@keyframes pop{0%{transform:scale(1.5) translateY(-4px);filter:brightness(2)}to{transform:scale(1) translateY(0);filter:brightness(1)}}#scoreLabel{position:absolute;top:calc(76px + var(--sat));left:calc(36px + var(--sal));font-size:var(--fs-xs);letter-spacing:.32em;color:var(--muted);text-shadow:var(--shadow-ink)}#best{position:absolute;top:calc(34px + var(--sat));right:calc(34px + var(--sar));font-size:var(--fs-sm);letter-spacing:.22em;color:var(--muted);text-shadow:var(--shadow-ink);text-align:right}#best.beat{color:var(--sodium);text-shadow:0 0 12px rgba(232,160,48,.6)}#lives{position:absolute;top:calc(56px + var(--sat));right:calc(34px + var(--sar));font-family:Orbitron,sans-serif;font-size:var(--fs-lg);letter-spacing:.12em;color:var(--green);text-shadow:0 0 12px rgba(61,255,138,.7);text-align:right;transform-origin:right center}#lives.pop{animation:pop .34s cubic-bezier(.2,1.6,.4,1) both}#lives span{margin-inline-start:.12em}#vel{position:absolute;bottom:calc(28px + var(--sab));left:calc(36px + var(--sal));font-size:var(--fs-xs);letter-spacing:.26em;color:var(--muted);text-shadow:var(--shadow-ink)}#vel b{color:var(--ice);font-weight:400}#velBar{position:absolute;bottom:calc(22px + var(--sab));left:calc(36px + var(--sal));width:160px;height:2px;background:#8a97a640}#velBar i{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--ice),var(--mag));box-shadow:0 0 8px #3de0ff99;transition:width .3s ease-out}#keys{position:absolute;bottom:calc(26px + var(--sab));right:calc(36px + var(--sar));font-size:var(--fs-xs);letter-spacing:.26em;color:var(--muted);text-shadow:var(--shadow-ink);text-align:right}#toast{position:absolute;left:50%;top:63%;transform:translate(-50%,-50%);font-family:Orbitron,sans-serif;font-weight:500;font-size:clamp(.875rem,.625rem + 1.2dvw,1.375rem);letter-spacing:.4em;color:var(--ice);opacity:0;white-space:nowrap}#toast.show{animation:toast 1.1s ease-out both}#toast.ice{color:var(--ice);text-shadow:0 0 18px rgba(61,224,255,.7)}#toast.sodium{color:var(--sodium);text-shadow:0 0 18px rgba(232,160,48,.7)}#toast.mag{color:var(--mag);text-shadow:0 0 18px rgba(255,42,109,.7)}#toast.gold{color:var(--gold);text-shadow:0 0 18px rgba(255,209,102,.7)}#toast.green{color:var(--green);text-shadow:0 0 18px rgba(61,255,138,.7)}@keyframes toast{0%{opacity:0;transform:translate(-50%,-50%) scaleX(1.35) scaleY(1.2)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-70%) scale(.96)}}#center{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);text-align:center;isolation:isolate;max-inline-size:calc(100dvw - 48px - var(--sal) - var(--sar))}#center:before{content:"";position:absolute;z-index:-1;top:-18%;right:-12%;bottom:-18%;left:-12%;background:radial-gradient(ellipse at center,rgba(7,8,12,.82) 0%,rgba(7,8,12,.46) 52%,transparent 74%);pointer-events:none}#center.rise{animation:rise .5s ease-out both}@keyframes rise{0%{opacity:0;transform:translate(-50%,-44%)}to{opacity:1;transform:translate(-50%,-50%)}}#title{position:relative;font-family:Orbitron,sans-serif;font-weight:700;font-size:clamp(1.875rem,1rem + 4.2dvw,4.25rem);letter-spacing:.24em;color:var(--ink);text-shadow:0 0 28px rgba(255,42,109,.35),0 0 2px rgba(220,232,240,.8)}#title span{color:var(--mag);text-shadow:0 0 22px rgba(255,42,109,.7)}#center.dead #title{color:var(--mag);animation:glitch .7s steps(2,end) 2}#center.dead.extract #title{color:var(--ice);animation:none;text-shadow:0 0 18px rgba(61,224,255,.55)}@keyframes glitch{0%{text-shadow:-3px 0 var(--ice),3px 0 var(--mag);transform:skew(0)}20%{text-shadow:4px 0 var(--ice),-4px 0 var(--mag);transform:skew(-6deg) translate(3px)}40%{text-shadow:-2px 0 var(--ice),2px 0 var(--mag);transform:skew(4deg)}60%{text-shadow:6px 0 var(--ice),-6px 0 var(--mag);transform:translate(-4px)}80%{text-shadow:-1px 0 var(--ice),1px 0 var(--mag)}to{text-shadow:0 0 22px rgba(255,42,109,.7);transform:none}}#rule{width:100%;height:1px;margin:14px auto 0;background:linear-gradient(90deg,transparent,var(--ice),transparent);opacity:.6;position:relative;overflow:clip}#rule:after{content:"";position:absolute;top:-1px;left:0;width:30%;height:3px;transform:translate(-100%);background:linear-gradient(90deg,transparent,#fff,transparent);animation:sweep 2.4s linear infinite}@keyframes sweep{to{transform:translate(334%)}}#prompt{margin-top:18px;font-size:var(--fs-md);letter-spacing:.34em;color:var(--ice);animation:blink 1.6s ease-in-out infinite}#center.dead #prompt{animation:none;color:var(--ink);font-size:var(--fs-md)}@keyframes blink{0%,to{opacity:1}50%{opacity:.45}}#sub{margin-top:10px;font-size:var(--fs-xs);letter-spacing:.18em;color:var(--muted)}#menu{margin-top:22px;display:flex;flex-direction:column;align-items:stretch;gap:6px;min-inline-size:15em}#menu button{position:relative;min-block-size:var(--hit);padding:8px 26px;border:1px solid var(--ctl-border);background:#07080cb8;color:var(--muted);font-size:var(--fs-lg);letter-spacing:.34em;transition:color .15s,border-color .15s,background .15s}#menu button:before{content:"";position:absolute;inset-inline-start:10px;top:50%;width:6px;height:6px;transform:translateY(-50%) rotate(45deg);background:var(--ice);box-shadow:0 0 8px var(--ice);opacity:0}#menu button.sel,body[data-input=keys] #menu button:hover{color:var(--ice);border-color:#3de0ffb3;background:#3de0ff12;text-shadow:0 0 12px rgba(61,224,255,.55)}#menu button.sel:before{opacity:1;animation:blink 1.6s ease-in-out infinite}#blurb{margin-top:12px;min-block-size:3em;font-size:var(--fs-xs);letter-spacing:.14em;line-height:1.5;color:var(--ink);text-shadow:var(--shadow-ink);text-wrap:balance}.screen{pointer-events:auto;cursor:default}.screen .overlay-card{max-inline-size:min(34em,calc(100dvw - 56px - var(--sal) - var(--sar)));text-align:start}.screen .overlay-title{text-align:center}.screen dl{margin:22px 0 0;display:grid;grid-template-columns:max-content 1fr;column-gap:22px;row-gap:9px;font-size:var(--fs-sm);letter-spacing:.12em;line-height:1.55}.screen dt{color:var(--ice);letter-spacing:.24em;text-shadow:0 0 10px rgba(61,224,255,.35);white-space:nowrap}.screen dd{margin:0;color:var(--ink)}.screen .overlay-sub{text-align:center;margin-top:24px}.screen .back{display:block;margin:18px auto 0;min-inline-size:160px;min-block-size:var(--hit);border:1px solid var(--ctl-border);background:#07080cb8;color:var(--ice);font-size:var(--fs-sm);letter-spacing:.22em}#credits .overlay-card{text-align:center}#credits dl{grid-template-columns:1fr;row-gap:4px;text-align:center;user-select:text;-webkit-user-select:text}#credits dt{margin-top:14px;font-size:var(--fs-xs)}#credits dd{font-family:Orbitron,sans-serif;font-size:clamp(.875rem,.625rem + 1.2dvw,1.25rem);letter-spacing:.14em}#entry{margin-top:18px}.entry-slots{display:flex;justify-content:center;gap:14px}.slot{display:flex;flex-direction:column;align-items:center;gap:2px}.slot button{min-inline-size:var(--hit);min-block-size:var(--hit);padding:4px;border:0;background:transparent;color:var(--ink);font-size:var(--fs-sm);line-height:1}.slot b{font-family:Orbitron,sans-serif;font-weight:700;font-size:clamp(1.75rem,1rem + 3.5dvw,2.625rem);letter-spacing:.08em;color:var(--ink);min-inline-size:1.1em;text-align:center;border-bottom:2px solid transparent}.slot.sel b{color:var(--ice);text-shadow:0 0 14px rgba(61,224,255,.55);border-bottom-color:var(--ice);animation:blink 1.6s ease-in-out infinite}.entry-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:16px}#btnEnter,#btnSkip{min-inline-size:120px;min-block-size:var(--hit);padding:8px 16px;border:1px solid var(--ctl-border);background:#07080cb8;color:var(--ice);font-size:var(--fs-sm);letter-spacing:.22em}#btnSkip{color:var(--ink);border-color:#a9b4c0b3}#scores .overlay-card{min-inline-size:min(22em,calc(100dvw - 56px - var(--sal) - var(--sar)))}#scoresList{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:6px;font-family:Orbitron,sans-serif;font-size:clamp(.75rem,.5rem + 1.1dvw,1rem);letter-spacing:.16em}#scoresList li{display:grid;grid-template-columns:2.4em 5.4em 1fr;column-gap:16px;color:var(--ink)}#scoresList .rank{color:var(--ice);text-align:end;font-variant-numeric:tabular-nums}#scoresList .pts{text-align:end;color:var(--muted);font-variant-numeric:tabular-nums}#scoresList li.you{color:var(--mag);text-shadow:0 0 12px rgba(255,42,109,.55)}#scoresList li.you .rank,#scoresList li.you .pts,#scoresList .you-mark{color:var(--mag)}#scoresList .you-mark{margin-inline-end:.35em}#scoresStatus{margin-top:12px;animation:blink 1.6s ease-in-out 2}#scoresTabs{display:flex;justify-content:center;gap:8px;margin-top:14px}#scoresTabs button{min-block-size:var(--hit);padding:6px 14px;border:1px solid var(--ctl-border);background:#07080cb8;color:var(--ink);font-size:var(--fs-xs);letter-spacing:.2em}#scoresTabs button.sel{color:var(--ice);border-color:#3de0ffb3;text-shadow:0 0 10px rgba(61,224,255,.45)}#scoresDay{margin-top:8px;letter-spacing:.28em}#settings .overlay-card{inline-size:min(40em,calc(100dvw - 56px - var(--sal) - var(--sar)));max-inline-size:min(40em,calc(100dvw - 56px - var(--sal) - var(--sar)));max-block-size:calc(100dvh - 28px - var(--sat) - var(--sab));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;scrollbar-width:auto;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.settings-h{margin:18px 0 8px;color:var(--ice);font-size:var(--fs-xs);letter-spacing:.24em;text-shadow:0 0 10px rgba(61,224,255,.35)}.settings-row{display:grid;grid-template-columns:7.2em minmax(var(--hit),auto) minmax(6em,1fr) 3.2em minmax(var(--hit),auto);align-items:center;column-gap:10px;min-block-size:var(--hit)}.settings-row[data-setting=quality]{grid-template-columns:7.2em minmax(0,1fr);margin-top:4px}.settings-name{color:var(--ink);font-size:var(--fs-sm);letter-spacing:.16em}.settings-row.sel .settings-name{color:var(--ice);text-shadow:0 0 10px rgba(61,224,255,.45)}.settings-nudge{min-inline-size:var(--hit);min-block-size:var(--hit);padding:4px;border:1px solid var(--ctl-border);background:#07080cb8;color:var(--ice);font-size:var(--fs-sm)}.settings-meter{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;height:10px}.settings-meter i{display:block;height:100%;box-sizing:border-box;border:1px solid var(--ctl-border);background:#3de0ff1f}.settings-meter i.on{border-color:var(--ice);background:var(--ice);box-shadow:0 0 8px #3de0ff8c}.settings-readout{font-family:Orbitron,sans-serif;font-variant-numeric:tabular-nums;text-align:end;letter-spacing:.06em;color:var(--ink);font-size:var(--fs-sm)}.settings-choices{display:flex;flex-wrap:wrap;gap:8px}.settings-choices button{min-block-size:var(--hit);padding:6px 14px;border:1px solid var(--ctl-border);background:#07080cb8;color:var(--ink);font-size:var(--fs-xs);letter-spacing:.2em}.settings-choices button.sel{color:var(--ice);border-color:#3de0ffb3;text-shadow:0 0 10px rgba(61,224,255,.45)}.settings-caption{margin:10px 0 0;text-align:center;font-size:var(--fs-xs);letter-spacing:.16em;color:var(--muted)}#pause{top:calc(100px + var(--sat));left:calc(34px + var(--sal))}#exit{bottom:calc(22px + var(--sab));right:calc(30px + var(--sar))}#pause,#exit{position:absolute;z-index:3;min-inline-size:48px;min-block-size:var(--hit);padding:6px 14px;border:1px solid var(--ctl-border);background:#07080cb8;color:var(--ice);font-size:var(--fs-xs);letter-spacing:.18em}body[data-mode=tutorial] #pause{top:calc(56px + var(--sat))}#tutorialTag{position:absolute;top:calc(30px + var(--sat));left:calc(36px + var(--sal));font-size:var(--fs-xs);letter-spacing:.34em;color:var(--sodium);text-shadow:var(--shadow-ink),0 0 12px rgba(232,160,48,.55)}body[data-mode=tutorial] #score,body[data-mode=tutorial] #scoreLabel,body[data-mode=tutorial] #best,body[data-mode=tutorial] #keys{display:none}body[data-mode=challenge] #score{font-size:calc(var(--fs-num) * .78)}#sys{position:absolute;top:calc(62px + var(--sat));right:calc(22px + var(--sar));display:flex;gap:8px;pointer-events:auto;z-index:3}#sys.playing{display:none}#sys button{min-inline-size:48px;min-block-size:48px;padding:6px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--ctl-border);background:#07080cb8;color:var(--ice);font-size:var(--fs-xs);letter-spacing:.12em}#sys button.on{border-color:var(--sodium);color:var(--sodium)}#sys button svg{flex:none;pointer-events:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}#zones{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;pointer-events:none}#zones .zone{flex:1;display:flex;align-items:flex-end;justify-content:center;padding-bottom:calc(64px + var(--sab));letter-spacing:.28em;font-size:var(--fs-xs);color:var(--ice);text-shadow:var(--shadow-ink)}#zones .zone.left{border-right:1px dashed rgba(61,224,255,.28);background:linear-gradient(to right,rgba(61,224,255,.07),transparent 72%)}#zones .zone.right{color:var(--mag);text-shadow:var(--shadow-ink);background:linear-gradient(to left,rgba(255,42,109,.07),transparent 72%)}#touch{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#touch .stick,#touch .tapring{position:absolute;left:0;top:0;will-change:transform}#touch .stick{width:0;height:0}#touch .stick-ring,#touch .stick-nub{position:absolute;border-radius:50%;transform:translate(-50%,-50%)}#touch .stick-ring{width:96px;height:96px;left:0;top:0;border:1px solid rgba(61,224,255,.45);box-shadow:0 0 18px #3de0ff33,inset 0 0 16px #3de0ff14}#touch .stick-nub{width:22px;height:22px;left:0;top:0;background:#3de0ffd9;box-shadow:0 0 12px #3de0ffb3}#touch .tapring{width:52px;height:52px;margin:-26px 0 0 -26px;border:1px solid rgba(255,42,109,.7);border-radius:50%;box-shadow:0 0 16px #ff2a6d59}#lesson{z-index:4}#lesson .overlay-card{pointer-events:auto;cursor:default;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;scrollbar-width:auto;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);max-inline-size:min(30em,calc(100dvw - 56px - var(--sal) - var(--sar)))}#lesson .lesson{display:flex;flex-direction:column;align-items:center}#lesson .lesson.hidden{display:none}#lesson svg{width:110px;height:110px;margin-bottom:14px;overflow:visible}#lesson .lesson.flight svg{width:min(200px,70dvw);height:auto}#lesson .lesson.damper .overlay-title{color:var(--gold);text-shadow:0 0 18px rgba(255,209,102,.55)}#lesson .lesson.life .overlay-title{color:var(--green);text-shadow:0 0 18px rgba(61,255,138,.55)}#lesson .lesson.shunt .overlay-title{color:var(--ice);text-shadow:0 0 18px rgba(61,224,255,.55)}#lesson .lesson.damper svg{filter:drop-shadow(0 0 16px rgba(255,209,102,.6))}#lesson .lesson.life svg{filter:drop-shadow(0 0 16px rgba(61,255,138,.6))}#lesson .lesson.shunt svg{filter:drop-shadow(0 0 16px rgba(61,224,255,.6))}#lesson .lesson p{margin:14px 0 0;font-size:var(--fs-sm);line-height:1.75;letter-spacing:.1em;color:var(--ink);text-wrap:pretty}#lesson .lesson p b{font-weight:400;color:var(--ice)}#lesson .tap{margin-top:20px;font-size:var(--fs-xs);letter-spacing:.34em;color:var(--ice);animation:blink 1.6s ease-in-out 2}@keyframes orbit{to{transform:rotate(360deg)}}#lesson .ring{transform-origin:60px 60px;animation:orbit 4s linear 1}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;padding:calc(14px + var(--sat)) calc(14px + var(--sar)) calc(14px + var(--sab)) calc(14px + var(--sal));display:flex;align-items:center;justify-content:center;align-items:safe center;justify-content:safe center;background:#07080cb8;z-index:4}#rotate{z-index:5}.overlay-card{box-sizing:border-box;max-inline-size:100%;text-align:center;padding-block:8px;padding-inline:28px}.overlay-title{font-family:Orbitron,sans-serif;font-weight:700;font-size:clamp(1rem,.625rem + 2.5dvw,1.75rem);letter-spacing:.16em;word-spacing:.28em;color:var(--ice);text-shadow:0 0 18px rgba(61,224,255,.45);text-wrap:balance}.overlay-sub{margin-top:12px;font-size:var(--fs-xs);letter-spacing:.14em;word-spacing:.22em;color:var(--muted);text-wrap:balance}#paused.countdown{background:#07080c66}#paused.countdown .overlay-title{font-size:clamp(3rem,1.5rem + 9dvw,6rem);letter-spacing:.04em;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 28px rgba(61,224,255,.6)}#paused.countdown .overlay-title.pop{animation:countdown-pop .9s ease-out}#paused.countdown .overlay-sub{animation:blink 1.6s ease-in-out infinite}@keyframes countdown-pop{0%{transform:scale(1.35);opacity:.2}30%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:.85}}.overlay-glyph{width:54px;height:34px;margin:0 auto 16px;border:2px solid var(--ice);border-radius:4px;box-shadow:0 0 14px #3de0ff59;animation:tilt 1.8s ease-in-out infinite}.fs-btn{margin:22px auto 0;min-inline-size:220px;min-block-size:var(--hit);padding:10px 18px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ctl-border);background:#07080cb8;color:var(--ice);font-size:var(--fs-sm);letter-spacing:.14em}#paused .fs-btn+.fs-btn{margin-top:10px}#btnQuit{color:var(--ink);border-color:#a9b4c0b3}.fs-btn.on{border-color:var(--sodium);color:var(--sodium)}.fs-btn svg{flex:none;pointer-events:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}#rotateFsHint{margin-top:18px;max-width:18em;line-height:1.7;letter-spacing:.12em}@keyframes tilt{0%,to{transform:rotate(-90deg)}40%,60%{transform:rotate(0)}}body.help-open #center,body.help-open #zones{visibility:hidden}#help{pointer-events:auto;cursor:default;background:#07080cd6}.help-card{position:relative;box-sizing:border-box;inline-size:min(780px,100%);max-block-size:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;padding:26px 32px 30px;border:1px solid rgba(61,224,255,.28);background:#07080cd1;box-shadow:0 0 48px #3de0ff14,inset 0 0 60px #07080cb3;text-align:start;scrollbar-width:auto;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.help-card p,.help-card li{user-select:text;-webkit-user-select:text}#help.rise .help-card{animation:helpIn .36s ease-out both}@keyframes helpIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.help-card:before,.help-card:after{content:"";position:absolute;width:18px;height:18px;border:1px solid rgba(61,224,255,.7);pointer-events:none}.help-card:before{top:6px;left:6px;border-right:0;border-bottom:0}.help-card:after{top:6px;right:6px;border-left:0;border-bottom:0}.help-head{text-align:center}.help-rule{width:100%;height:1px;margin:16px auto 0;background:linear-gradient(90deg,transparent,var(--ice),transparent);opacity:.6}.help-sec{margin-top:22px}.help-h{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-family:inherit;font-weight:400;font-size:var(--fs-xs);letter-spacing:.28em;color:var(--muted)}.help-h:before{content:"";width:14px;height:1px;background:var(--ice);box-shadow:0 0 8px #3de0ffb3}.help-h:after{content:"";flex:1;height:1px;background:#8a97a62e}.help-row{display:grid;grid-template-columns:auto 1fr;gap:12px 26px;align-items:center}.help-sec>.help-list{margin-top:16px}.help-list{margin:0;padding:0;list-style:none;font-size:var(--fs-sm);line-height:1.75;letter-spacing:.06em;color:var(--muted);text-wrap:pretty}.help-list li{position:relative;padding-inline-start:16px}.help-list li:before{content:"";position:absolute;inset-inline-start:0;top:.7em;width:6px;height:6px;border:1px solid var(--ice);transform:rotate(45deg);opacity:.8}.help-list b{font-weight:400;color:var(--ink);letter-spacing:.14em}.help-fig{display:block;fill:none;stroke-linecap:round;stroke-linejoin:round}.help-fig-flight{width:200px;height:124px}.fig-hex{stroke:#3de0ffb3;stroke-width:1.5;fill:#161a22b3}.fig-hex.faint{stroke:#3de0ff40;fill:#07080c99;stroke-dasharray:3 4}.fig-hatch{stroke:var(--sodium);stroke-width:1.5;fill:#e8a0301f;filter:drop-shadow(0 0 4px rgba(232,160,48,.6))}.fig-path{stroke:#dce8f0b3;stroke-width:1.4;stroke-dasharray:4 4}.fig-grav{stroke:var(--mag);stroke-width:1.6}.fig-flap{stroke:var(--ice);stroke-width:1.6}.fig-bird{fill:var(--ink);filter:drop-shadow(0 0 4px rgba(61,224,255,.9))}.fig-wing{stroke:var(--mag);stroke-width:1.8}.fig-text{font-family:Share Tech Mono,ui-monospace,monospace;font-size:9px;letter-spacing:.24em;text-anchor:middle;stroke:none}.fig-text.ice{fill:var(--ice)}.fig-text.mag{fill:var(--mag)}.fig-text.gold{fill:var(--gold);font-size:11px}.help-touch{display:none}body[data-input=touch] .help-touch{display:block}body[data-input=touch] .help-keys{display:none}.help-binds{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:14px 24px}.help-bind{display:flex;flex-direction:column;align-items:center;gap:10px}.help-kbds{display:flex;align-items:center;gap:6px;min-height:44px}.help-or{color:var(--muted);font-size:var(--fs-sm);margin:0 2px}.help-act{font-size:var(--fs-xs);letter-spacing:.3em;color:var(--ink)}.help-card kbd{display:inline-flex;align-items:center;justify-content:center;min-inline-size:30px;min-block-size:30px;padding:2px 9px;box-sizing:border-box;border:1px solid rgba(61,224,255,.55);border-bottom-width:3px;background:#07080cb3;color:var(--ice);font-family:inherit;font-size:var(--fs-xs);letter-spacing:.08em;box-shadow:0 0 10px #3de0ff24}.help-minor{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(138,151,166,.18);font-size:var(--fs-xs);letter-spacing:.16em;color:var(--muted)}.help-minor span{display:inline-flex;align-items:center;gap:8px}.help-minor kbd{min-inline-size:24px;min-block-size:24px;padding:1px 6px;font-size:var(--fs-xs);border-bottom-width:2px}.help-mouse{width:30px;height:42px;fill:none;stroke:#3de0ffb3;stroke-width:1.5;stroke-linejoin:round}.help-mouse .lit{fill:#3de0ff8c;stroke:none;filter:drop-shadow(0 0 4px rgba(61,224,255,.8))}.help-fig-phone{width:260px;height:138px}.phone-body{stroke:#8a97a68c;stroke-width:1.5;fill:#161a22cc}.phone-screen{stroke:#3de0ff40;stroke-width:1;fill:#07080ce6}.phone-split{stroke:#3de0ff59;stroke-width:1;stroke-dasharray:4 4}.fig-stick-ring{stroke:#3de0ff99;stroke-width:1.5;fill:#3de0ff0d}.fig-stick-nub{fill:var(--ice);filter:drop-shadow(0 0 5px rgba(61,224,255,.8))}.fig-arrows{stroke:var(--ice);stroke-width:1.6}.fig-tap-ring{stroke:#ff2a6dcc;stroke-width:1.5;fill:none}.fig-tap-ring.faint{stroke:#ff2a6d4d;stroke-dasharray:3 5}.fig-tap-dot{fill:var(--mag);filter:drop-shadow(0 0 5px rgba(255,42,109,.8))}.help-fig-phone .fig-text{font-size:11px}.help-orbs{display:grid;grid-template-columns:1fr 1fr;gap:18px}.help-orb{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding-block:12px;padding-inline:8px 16px;border:1px solid rgba(138,151,166,.18);background:#07080c80}.help-orb.gold{border-color:#ffd1664d}.help-orb.green{border-color:#3dff8a4d}.help-orb.ice{border-color:#3de0ff4d}.help-orb.wide{grid-column:1 / -1}.help-orb-fig{width:96px;height:96px;display:block;animation:orbBob 2.2s ease-in-out 2}.help-orb.green .help-orb-fig{animation-delay:-1.1s}@keyframes orbBob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.04)}}.orb-shell{stroke-width:1.4}.help-orb.gold .orb-shell{stroke:#ffd166d9}.help-orb.green .orb-shell{stroke:#3dff8ad9}.help-orb.ice .orb-shell{stroke:#3de0ffd9}.orb-icon path{fill:none;stroke-linecap:round;stroke-linejoin:round}.orb-stroke{stroke-width:8}.orb-core{stroke-width:3}.help-orb.gold .orb-stroke{stroke:var(--gold)}.help-orb.gold .orb-core{stroke:#fff6d8}.help-orb.green .orb-stroke{stroke:var(--green)}.help-orb.green .orb-core{stroke:#e8fff0}.help-orb.ice .orb-stroke{stroke:var(--ice)}.help-orb.ice .orb-core{stroke:#e8fbff}.help-orb-name{font-family:Orbitron,sans-serif;font-weight:700;font-size:var(--fs-md);letter-spacing:.26em}.help-orb.gold .help-orb-name{color:var(--gold);text-shadow:0 0 14px rgba(255,209,102,.55)}.help-orb.green .help-orb-name{color:var(--green);text-shadow:0 0 14px rgba(61,255,138,.55)}.help-orb.ice .help-orb-name{color:var(--ice);text-shadow:0 0 14px rgba(61,224,255,.55)}.help-orb-text p{margin:8px 0 0;font-size:var(--fs-sm);line-height:1.6;letter-spacing:.05em;color:var(--ink);text-wrap:pretty}.help-orb-text p b{font-weight:400}.help-orb.green .help-orb-text p b{color:var(--green)}.help-orb.ice .help-orb-text p b{color:var(--ice)}.help-orb-sub{margin-top:8px;font-size:var(--fs-xs);letter-spacing:.26em;color:var(--muted)}#help .fs-btn{margin-top:26px}@media(max-width:640px){#menu button{letter-spacing:.14em;padding-inline:16px}.help-card{padding:22px 18px 24px}.help-row,.help-orbs{grid-template-columns:1fr}.help-row .help-fig{margin:0 auto}.help-binds{grid-template-columns:1fr;justify-items:center}}@media(max-height:480px){#score{top:calc(14px + var(--sat));left:calc(20px + var(--sal))}#scoreLabel{top:calc(50px + var(--sat));left:calc(22px + var(--sal))}#best{top:calc(16px + var(--sat));right:calc(20px + var(--sar))}#lives{top:calc(36px + var(--sat));right:calc(20px + var(--sar))}#sys{top:calc(42px + var(--sat));right:calc(14px + var(--sar))}#title{font-size:clamp(1.375rem,.75rem + 5dvh,2.5rem);letter-spacing:.16em}#prompt{margin-top:12px}#vel{bottom:calc(12px + var(--sab));left:calc(20px + var(--sal))}#velBar{bottom:calc(8px + var(--sab));left:calc(20px + var(--sal))}#keys{bottom:calc(12px + var(--sab));right:calc(20px + var(--sar))}#zones .zone{padding-bottom:calc(42px + var(--sab))}#center{top:50%}#menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px;gap:4px;min-inline-size:min(52em,calc(100dvw - 48px - var(--sal) - var(--sar)))}#menu button{padding:6px 10px;letter-spacing:.12em}#blurb{margin-top:8px}#entry,.entry-actions{margin-top:10px}#scoresList{margin-top:10px;gap:3px 18px;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,auto);grid-auto-flow:column}.screen dl{margin-top:12px;row-gap:5px}.screen .overlay-sub{margin-top:12px}#lesson .overlay-card{max-block-size:calc(100dvh - 28px - var(--sat) - var(--sab));overflow-y:auto}#lesson .lesson{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;text-align:start}#lesson .lesson svg{grid-row:1 / span 2;width:72px;height:72px;margin:0}#lesson .lesson.flight svg{width:132px;height:82px}#lesson .lesson p{margin-top:6px}#exit{bottom:calc(10px + var(--sab));right:calc(20px + var(--sar))}#pause{top:calc(68px + var(--sat));left:calc(20px + var(--sal))}body[data-mode=tutorial] #pause{top:calc(38px + var(--sat))}#tutorialTag{top:calc(16px + var(--sat));left:calc(22px + var(--sal))}#help{padding:calc(8px + var(--sat)) calc(10px + var(--sar)) calc(8px + var(--sab)) calc(10px + var(--sal))}.help-card{padding:16px 22px 20px}.help-sec{margin-top:14px}.help-h{margin-bottom:8px}.help-fig-flight{width:150px;height:93px}.help-fig-phone{width:200px;height:106px}.help-orb-fig{width:72px;height:72px}#help .fs-btn{margin-top:16px}}@media(prefers-reduced-motion:reduce){#hud *,#hud *:before,#hud *:after{animation:none!important}#velBar i{transition:none}#toast.show{opacity:1}}@media(prefers-contrast:more){:root{--muted: #d5dee8;--ink: #ffffff;--ctl-border: var(--ice);--ctl-border-hover: var(--ice);--scrollbar-thumb: var(--ink);--scrollbar-track: var(--void)}#menu button,#sys button,#pause,#exit,.fs-btn,.screen .back,#btnEnter,#btnSkip,#scoresTabs button,.settings-nudge,.settings-choices button,.help-card,.help-orb{border-color:var(--ice);background:var(--void)}#score,#scoreLabel,#best,#vel,#keys,#tutorialTag,#title,.overlay-title,#menu button.sel,#blurb{text-shadow:none}}@media(prefers-reduced-transparency:reduce){.overlay,#help,#paused.countdown,#menu button,#sys button,#pause,#exit,.fs-btn,.screen .back,#btnEnter,#btnSkip,#scoresTabs button,.settings-nudge,.settings-choices button,.help-card,.help-orb{background:var(--void)}#center:before{background:var(--void)}}@media(forced-colors:active){#menu button.sel,#scoresTabs button.sel,.settings-choices button.sel,.settings-row.sel,#sys button.on,.fs-btn.on,#hud :where(button,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid Highlight;outline-offset:2px}.slot.sel b{border-bottom-color:Highlight}#velBar{border:1px solid GrayText}.settings-meter i.on,#velBar i,#menu button.sel:before{background:Highlight;box-shadow:none;forced-color-adjust:none}}
