@font-face{font-family:Oxanium;font-style:normal;font-display:swap;font-weight:500;src:url(./oxanium-latin-500-normal-tnlOn7Ka.woff2)format("woff2"),url(./oxanium-latin-500-normal-BsTRBkab.woff)format("woff")}@font-face{font-family:Oxanium;font-style:normal;font-display:swap;font-weight:600;src:url(./oxanium-latin-600-normal-DW9ldEDP.woff2)format("woff2"),url(./oxanium-latin-600-normal-DNQhW0y0.woff)format("woff")}@font-face{font-family:Oxanium;font-style:normal;font-display:swap;font-weight:800;src:url(./oxanium-latin-800-normal-C_tm0Sz6.woff2)format("woff2"),url(./oxanium-latin-800-normal-7VoEFedH.woff)format("woff")}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(./exo-2-latin-400-normal-D8MC3_dU.woff2)format("woff2"),url(./exo-2-latin-400-normal-_vYD6UCb.woff)format("woff")}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./exo-2-latin-600-normal-DOMk466V.woff2)format("woff2"),url(./exo-2-latin-600-normal-DZPWd1Z-.woff)format("woff")}:root{--bg:#0a0920;--panel:#100e2eed;--panel-2:#1a1848;--panel-3:#262363;--line:#3d388c;--text:#f1eeff;--muted:#a49fd4;--cyan:#5ee6ff;--mint:#7dffd6;--coral:#ff5d73;--amber:#ffc45c;--violet:#b48cff;--magenta:#ff6fd0;--display:"Oxanium", "Eurostile", "Trebuchet MS", sans-serif;--body:"Exo 2", "Segoe UI", "Helvetica Neue", sans-serif;--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);--touch:1;--gx:0px;--gy:0px;--gw:100vw;--gh:100vh;--u:1px;--flash:.5;--cut:polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);--cut-s:polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--body);-webkit-tap-highlight-color:transparent;margin:0;font-size:clamp(15px,1.5vmin + 8px,19px);font-weight:400}body{overscroll-behavior:none;overflow:hidden}#app{background:radial-gradient(120% 90% at 50% 100%, #3a2168, var(--bg) 70%);-webkit-user-select:none;user-select:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#game{left:var(--gx);top:var(--gy);position:absolute}#game canvas{display:block}#app.playing{touch-action:none}#flash{left:var(--gx);top:var(--gy);width:var(--gw);height:var(--gh);pointer-events:none;opacity:0;background:#fff;position:absolute}#flash.on{animation:.5s ease-out flash}#flash.coral{background:var(--coral)}#flash.violet{background:radial-gradient(circle, #fff, var(--violet) 60%, var(--magenta))}@keyframes flash{0%{opacity:var(--flash)}to{opacity:0}}#ui{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}#ui .overlay.on,#ui button,#ui .tbtn,#ui .update,#ui .hint.on{pointer-events:auto}h2,h3{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:800}h3{color:var(--violet);letter-spacing:.14em;margin:1.1em 0 .5em;font-size:.82rem;font-weight:600}p{margin:.5em 0;line-height:1.45}a{color:var(--mint)}.muted{color:var(--muted)}.small{font-size:.85em}.center{text-align:center}.icon{flex:none;width:1.1em;height:1.1em}.btn{-webkit-appearance:none;appearance:none;background:linear-gradient(180deg, var(--panel-3), var(--panel-2));min-height:2.75rem;color:var(--text);font:600 1rem var(--display);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;clip-path:var(--cut-s);box-shadow:inset 0 0 0 1.5px var(--line);border:0;justify-content:center;align-items:center;gap:.55em;padding:.55em 1.3em;transition:transform 80ms,filter .12s,box-shadow .12s;display:inline-flex}.btn:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--violet), inset 0 -14px 20px -12px #b48cff80;filter:brightness(1.15);outline:none}.btn:focus-visible{box-shadow:inset 0 0 0 1.5px var(--violet), inset 0 -14px 20px -12px #b48cff80;filter:brightness(1.15);outline:none}.btn:active:not(:disabled){transform:translateY(1px)scale(.985)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{color:#062a22;box-shadow:none;background:linear-gradient(#a6ffe5,#45cfa6);font-weight:800}.btn.primary:hover:not(:disabled){box-shadow:inset 0 0 0 2px #fff}.btn.primary:focus-visible{box-shadow:inset 0 0 0 2px #fff}.btn.ghost{background:0 0}.btn.danger{color:#2c0410;box-shadow:none;background:linear-gradient(#ff8494,#d93a52);font-weight:800}.btn.small{min-height:2.2rem;padding:.3em .9em;font-size:.82rem}.btn.big{padding:.7em 2em;font-size:1.15rem}.overlay{padding:calc(12px + var(--sat)) calc(12px + var(--sar)) calc(12px + var(--sab)) calc(12px + var(--sal));justify-content:center;align-items:center;display:none;position:absolute;top:0;bottom:0;left:0;right:0}.overlay.on{display:flex}.overlay.dim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08061cb8}.overlay.solid{background:radial-gradient(120% 90% at 50% 100%, #3a2168, var(--bg) 70%)}.overlay.clear{background:linear-gradient(90deg,#08061ce0,#08061c59 55%,#08061c00);justify-content:flex-start}#app.tall .overlay.clear,#app.narrow .overlay.clear{background:linear-gradient(#08061c8c,#08061ce6);justify-content:center}.panel{background:var(--panel);width:min(100%,34rem);max-height:100%;clip-path:var(--cut);box-shadow:inset 0 0 0 1.5px var(--line), inset 0 3px 0 0 var(--violet);flex-direction:column;animation:.22s ease-out rise;display:flex}.panel.narrow{width:min(100%,24rem)}.panel.mid{width:min(100%,36rem)}.panel.wide{width:min(100%,60rem)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.panel>header{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem .7rem;display:flex}.panel>header h2{font-size:1.25rem}.panel>.body{overscroll-behavior:contain;padding:.25rem 1.25rem 1rem;overflow-y:auto}.panel>footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding:.8rem 1.25rem 1.1rem;display:flex}.logo{font-family:var(--display);line-height:.92}.logo .l1{letter-spacing:.04em;flex-direction:column;font-size:clamp(2.6rem,9vmin,5.2rem);font-weight:800;display:flex}.logo .l1 span:first-child{color:var(--text);text-shadow:0 0 28px #b48cffb3}.logo .l1 .flip{background:linear-gradient(180deg, var(--mint), var(--cyan) 60%, var(--violet));color:#0000;filter:drop-shadow(0 0 14px #7dffd673);-webkit-background-clip:text;background-clip:text;margin-top:-.12em;line-height:1.15;animation:5s ease-in-out infinite hang;transform:scaleY(-1)}@keyframes hang{0%,to{transform:scaleY(-1)translateY(0)}50%{transform:scaleY(-1)translateY(-5px)}}.logo .l2{letter-spacing:.5em;color:var(--coral);margin-top:.7em;font-size:clamp(.8rem,2.4vmin,1.15rem);font-weight:600}.loading{text-align:center;flex-direction:column;align-items:center;gap:1.2rem;display:flex}.loading .logo .l1{align-items:center}.loading .bar{background:var(--panel-2);clip-path:polygon(3px 0,100% 0,calc(100% - 3px) 100%,0 100%);width:min(70vw,22rem);height:6px}.loading .bar i{background:linear-gradient(90deg, var(--violet), var(--mint));width:0;height:100%;transition:width .2s;display:block}.loading .foot{min-height:3.5rem}.menu{flex-direction:column;gap:.9rem;width:min(100%,23rem);max-height:100%;margin-left:clamp(0px,5vw,5rem);padding:.5rem;display:flex;overflow-y:auto}#app.tall .menu,#app.narrow .menu{text-align:center;align-items:center;margin-left:0}#app.tall .menu .logo .l1,#app.narrow .menu .logo .l1{align-items:center}.tagline{color:var(--muted);margin:0;font-style:italic}.menu-buttons{flex-direction:column;gap:.5rem;width:100%;display:flex}.menu-buttons .btn{justify-content:flex-start;width:100%}.menu-buttons.tight{margin-top:.6rem}#app.short .menu{gap:.45rem}#app.short .menu .logo .l1{font-size:2.1rem}#app.short .menu-buttons{grid-template-columns:1fr 1fr;display:grid}#app.short .menu-buttons .btn{min-height:2.3rem;font-size:.85rem}#app.short .tagline{display:none}.progress{margin:0;font-size:.82rem}.chapter h3{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:.7em;font-size:1rem;font-weight:800;display:flex}.chapter h3 .ch-n{color:var(--coral);letter-spacing:.2em;font-size:.72rem;font-weight:600}.chapter h3 small{font-family:var(--body);text-transform:none;letter-spacing:0;color:var(--muted);font-size:.82rem;font-weight:400}.chapter.closed h3{opacity:.6}.level-grid{grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.6rem;display:grid}.card.level{-webkit-appearance:none;appearance:none;text-align:left;color:var(--text);font:inherit;background:linear-gradient(160deg, var(--panel-3), var(--panel-2));clip-path:var(--cut-s);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;border:0;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .6rem;padding:.7rem .8rem;transition:filter .12s,transform 80ms;display:grid}.card.level:hover:not(:disabled){filter:brightness(1.2);box-shadow:inset 0 0 0 1.5px var(--mint);outline:none}.card.level:focus-visible{filter:brightness(1.2);box-shadow:inset 0 0 0 1.5px var(--mint);outline:none}.card.level:active:not(:disabled){transform:scale(.98)}.card.level.done{box-shadow:inset 0 0 0 1.5px var(--line), inset 3px 0 0 0 var(--mint)}.card.level.locked{cursor:default;color:var(--muted);background:repeating-linear-gradient(135deg,#17153c 0 8px,#1c1a46 8px 16px)}.lv-id{font:800 1.5rem var(--display);color:var(--violet);grid-row:span 2}.locked .lv-id{color:var(--muted)}.lv-name{font:600 .92rem var(--display);letter-spacing:.05em;text-transform:uppercase}.lv-meta{color:var(--muted);grid-column:1/-1;gap:.9em;font-size:.8rem;display:flex}.lv-meta span{align-items:center;gap:.3em;display:inline-flex}.lv-meta .flawless{color:var(--mint)}.lv-lock{color:var(--muted)}.stars{color:#3f3a86;gap:.15em;display:inline-flex}.stars .on{color:var(--amber);filter:drop-shadow(0 0 5px #ffc45cb3)}.stars.big{margin:.2rem 0 .6rem;font-size:2.6rem}.stars .wait{color:#3f3a86;filter:none}.stars .pop{animation:.45s cubic-bezier(.2,1.6,.4,1) pop}@keyframes pop{0%{transform:scale(.2)rotate(-40deg)}}.res-name{font:600 1rem var(--display);letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.results{gap:.3rem;display:grid}.res-row{box-shadow:inset 3px 0 0 0 var(--line);background:#26236380;grid-template-columns:8.5rem auto 1fr;align-items:baseline;gap:.8rem;padding:.4rem .7rem;display:grid}.res-row.good{box-shadow:inset 3px 0 0 0 var(--mint)}.res-row b{font:800 1.1rem var(--display)}.res-row.good b{color:var(--mint)}.res-row small{color:var(--muted);text-align:right}.unlocked{color:var(--mint);justify-content:center;align-items:center;gap:.5em;font-weight:600;display:flex}.set-row{justify-content:space-between;align-items:center;gap:1rem;padding:.35rem 0;display:flex}.set-row>span{flex-direction:column;display:flex}.set-row small{color:var(--muted);font-size:.78rem}.set-actions{justify-content:flex-end;margin-top:.5rem;display:flex}.seg{clip-path:var(--cut-s);box-shadow:inset 0 0 0 1.5px var(--line);display:inline-flex}.seg button{-webkit-appearance:none;appearance:none;color:var(--muted);font:600 .82rem var(--display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;min-height:2.2rem;padding:.5em .9em}.seg button.on{background:var(--violet);color:#160a3a}.seg button:focus-visible{outline:2px solid var(--mint);outline-offset:-2px}input[type=range]{width:min(48vw,12rem);accent-color:var(--mint);height:1.8rem}.key-row{grid-template-columns:1fr 6.2rem 6.2rem;align-items:center;gap:.4rem;padding:.15rem 0;font-size:.9rem;display:grid}.keycap{-webkit-appearance:none;appearance:none;background:var(--panel-2);min-height:2rem;color:var(--text);font:600 .8rem var(--display);box-shadow:inset 0 0 0 1.5px var(--line), inset 0 -3px 0 0 #00000059;cursor:pointer;border:0;border-radius:5px}.keycap.listening{box-shadow:inset 0 0 0 1.5px var(--mint);color:var(--mint)}.controls-list>div{border-bottom:1px solid #3d388c80;grid-template-columns:11rem 1fr;gap:.8rem;padding:.3rem 0;font-size:.9rem;display:grid}.controls-list b{font-weight:600}.controls-list span{color:var(--muted)}.credits{padding-left:1.2em;line-height:1.7}.stage{left:var(--gx);top:var(--gy);width:var(--gw);height:var(--gh);font-size:calc(var(--u) * 15);position:absolute;overflow:hidden}#app.tall .stage{font-size:calc(var(--u) * 19)}.hud>div{position:absolute}.hud-tl{left:calc(.8em + var(--sal));top:calc(.7em + var(--sat))}.hud-name{font:600 .82em var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-shadow:0 1px 4px #000}.hud-row{align-items:center;gap:.9em;margin-top:.15em;display:flex}.hud-time{font:800 1.5em var(--display);font-variant-numeric:tabular-nums;text-shadow:0 2px 6px #000;min-width:3.6em}.hud-frags{color:#7870bebf;gap:.2em;font-size:1.15em;display:flex}.hud-frags .got{color:var(--amber);filter:drop-shadow(0 0 5px #ffc45ccc)}.hud-retries{color:var(--coral);font:600 .95em var(--display);align-items:center;gap:.25em;display:flex}.hud-tr{right:calc(.7em + var(--sar));top:calc(.7em + var(--sat));gap:.45em;display:flex}.hud-btn{-webkit-appearance:none;appearance:none;width:2.7em;min-width:40px;height:2.7em;min-height:40px;color:var(--text);clip-path:var(--cut-s);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;background:#16143ebf;border:0;place-items:center;font-size:1em;display:grid}.hud-btn:hover,.hud-btn.on{box-shadow:inset 0 0 0 1.5px var(--mint);color:var(--mint);outline:none}.hud-btn:focus-visible{box-shadow:inset 0 0 0 1.5px var(--mint);color:var(--mint);outline:none}.hud-tc{left:50%;top:calc(.6em + var(--sat));flex-direction:column;align-items:center;gap:.2em;display:flex;transform:translate(-50%)}.compass{width:4.6em;height:4.6em;box-shadow:inset 0 0 0 1.5px var(--line);background:radial-gradient(circle,#16143ee6 55%,#16143e66);border-radius:50%;position:relative}.compass .ca{width:1.5em;height:1.5em;font:800 1.05em var(--display);color:#7870be73;place-items:center;line-height:1;display:grid;position:absolute}.ca-up{top:.05em;left:calc(50% - .75em)}.ca-down{bottom:.05em;left:calc(50% - .75em)}.ca-left{top:calc(50% - .75em);left:.05em}.ca-right{top:calc(50% - .75em);right:.05em}.compass .ca.can{color:var(--text)}.compass .ca.now{color:#160a3a;background:var(--mint);border-radius:50%;transform:scale(1.12);box-shadow:0 0 12px #7dffd6cc}.compass .charges{font:800 1.1em var(--display);color:var(--amber);place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.compass.deny{box-shadow:inset 0 0 0 2px var(--coral);animation:.35s deny}.compass.locked{opacity:.55}@keyframes deny{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.compass-note{font:600 .68em var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--amber);text-shadow:0 1px 4px #000}.hud-bc{left:50%;bottom:calc(1em + var(--sab));flex-direction:column;align-items:center;gap:.45em;width:min(92%,36em);display:flex;transform:translate(-50%)}.prompt,.hint,.goal,.countdown{display:none}.prompt.on{clip-path:var(--cut-s);box-shadow:inset 0 0 0 1.5px var(--mint);background:#16143ee0;align-items:center;gap:.6em;padding:.35em .9em;font-weight:600;display:flex}.prompt b{background:var(--mint);color:#062a22;font:800 .9em var(--display);border-radius:4px;padding:.05em .5em}.hint.on{clip-path:var(--cut-s);box-shadow:inset 3px 0 0 0 var(--amber), inset 0 0 0 1.5px var(--line);text-align:left;cursor:pointer;background:#16143eeb;align-items:center;gap:.7em;padding:.55em .6em .55em 1em;line-height:1.35;animation:.25s ease-out rise;display:flex}.hint-x{-webkit-appearance:none;appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;min-width:1.6em;min-height:1.6em;font-size:1.4em;line-height:1}.goal.on{color:var(--muted);text-align:center;clip-path:var(--cut-s);background:#16143ecc;padding:.3em .9em;font-size:.92em;animation:.25s ease-out rise;display:block}.countdown.on{font:800 2.4em var(--display);color:var(--amber);text-shadow:0 0 14px #ffc45ccc,0 2px 6px #000;animation:.3s pop;display:block}#app.touching .hud-bc{bottom:auto;top:calc(8.6em + var(--sat))}#app.playing .toasts{top:calc(var(--gy) + var(--sat) + var(--u) * 88)}#app.playing.tall .toasts{top:calc(var(--gy) + var(--sat) + var(--u) * 112)}.intro{text-align:center;opacity:0;pointer-events:none;text-shadow:0 2px 12px #000;position:absolute;top:30%;left:0;right:0}.intro.on{animation:2.6s ease-out intro}@keyframes intro{0%{opacity:0;transform:translateY(12px)}12%,78%{opacity:1;transform:none}to{opacity:0}}.i-ch{font:600 .85em var(--display);letter-spacing:.4em;color:var(--coral)}.i-name{font:800 2.6em var(--display);letter-spacing:.06em;text-transform:uppercase}.i-text{max-width:30em;color:var(--muted);margin:.3em auto 0;padding:0 1em;font-style:italic}.banner{text-align:center;opacity:0;pointer-events:none;position:absolute;top:24%;left:0;right:0}.banner.on{animation:2.6s ease-out intro}.banner .t{font:800 2.7em var(--display);letter-spacing:.1em;text-shadow:0 0 22px var(--magenta), 0 2px 8px #000}.banner.break .t{background:linear-gradient(90deg, var(--cyan), #fff, var(--magenta));color:#0000;filter:drop-shadow(0 0 12px #ff6fd0b3);-webkit-background-clip:text;background-clip:text;animation:.16s steps(2,end) infinite jitter}#app:not(.breaking) .banner.break .t{animation:none}@keyframes jitter{50%{transform:translate(2px)skew(-4deg)}}.banner .s{color:var(--text);text-shadow:0 1px 6px #000}.breakfx{opacity:0;pointer-events:none;mix-blend-mode:screen;background:repeating-linear-gradient(0deg,#ff6fd029 0 2px,#0000 2px 7px),radial-gradient(#0000 48%,#b48cff66 78%,#ff6fd0bf 100%);position:absolute;top:0;bottom:0;left:0;right:0}#app.breaking .breakfx{animation:.5s steps(4,end) infinite tear}@keyframes tear{25%{background-position:0 3px,0 0}50%{background-position:0 -2px,0 0}75%{background-position:0 5px,0 0}}.gpulse{opacity:0;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.gpulse.on{animation:.45s ease-out gpulse}.gpulse.down{background:linear-gradient(#0000 55%,#b48cff66)}.gpulse.up{background:linear-gradient(#b48cff66,#0000 45%)}.gpulse.left{background:linear-gradient(270deg,#0000 55%,#b48cff66)}.gpulse.right{background:linear-gradient(90deg,#0000 55%,#b48cff66)}.gpulse.soft{filter:opacity(.4)}@keyframes gpulse{0%{opacity:1}to{opacity:0}}.debug{color:#d8ffe9;pointer-events:none;background:#0009;margin:0;padding:.4em .6em;font:11px/1.35 ui-monospace,Menlo,monospace;position:absolute;bottom:.5em;left:.5em}.debug:empty{display:none}.toasts{left:50%;top:calc(var(--gy) + var(--gh) * .2);flex-direction:column;align-items:center;gap:.4rem;display:flex;position:absolute;transform:translate(-50%)}.toast{clip-path:var(--cut-s);box-shadow:inset 0 0 0 1.5px var(--mint);white-space:nowrap;background:#16143eeb;padding:.4em 1em;font-weight:600;animation:2.6s ease-out forwards toast}@keyframes toast{0%{opacity:0;transform:translateY(8px)}10%,80%{opacity:1;transform:none}to{opacity:0}}.update{left:50%;bottom:calc(.8rem + var(--sab));background:var(--panel);box-shadow:inset 0 0 0 1.5px var(--line);align-items:center;gap:.6rem;padding:.5rem .8rem;display:flex;position:absolute;transform:translate(-50%)}.update:empty{display:none}.touch-layer{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.touch{--b:calc(58px * var(--touch));position:absolute;top:0;bottom:0;left:0;right:0}.tbtn{width:var(--b);height:var(--b);color:var(--text);touch-action:none;font-size:calc(var(--b) * .42);background:#1e1b529e;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;box-shadow:inset 0 0 0 2px #b48cff8c}.tbtn span{font:800 calc(var(--b) * .17) var(--display);letter-spacing:.08em}.tbtn.on{box-shadow:inset 0 0 0 2px var(--mint);background:#7dffd680;transform:scale(.95)}.tbtn.dim{opacity:.3}.tbtn.hop{box-shadow:inset 0 0 0 2px #7dffd6bf}.touch-move,.touch-act,.touch-grav{bottom:calc(14px + var(--sab));position:absolute}.touch-move{left:calc(12px + var(--sal));width:calc(var(--b) * 3);height:calc(var(--b) * 3)}.tb-up{left:var(--b);top:0}.tb-left{left:0;top:var(--b)}.tb-right{left:calc(var(--b) * 2);top:var(--b)}.tb-down{left:var(--b);top:calc(var(--b) * 2)}.touch-grav{--g:calc(var(--b) * .82);right:calc(12px + var(--sar));width:calc(var(--g) * 3);height:calc(var(--g) * 3)}.touch-grav .tbtn{width:var(--g);height:var(--g);color:var(--amber);background:#3c1e509e;box-shadow:inset 0 0 0 2px #ffc45c99}.touch-grav .tbtn.now{background:var(--mint);color:#062a22;box-shadow:0 0 14px #7dffd6b3}.touch-grav .tbtn.off{opacity:.25}.tg-label{left:0;right:0;top:calc(var(--g) * 1.36);text-align:center;font:800 calc(var(--g) * .15) var(--display);letter-spacing:.06em;color:var(--amber);pointer-events:none;position:absolute}.tg-up{left:var(--g);top:0}.tg-left{left:0;top:var(--g)}.tg-right{left:calc(var(--g) * 2);top:var(--g)}.tg-down{left:var(--g);top:calc(var(--g) * 2)}.touch-act{right:calc(12px + var(--sar) + var(--b) * .82 * 3 + 10px);width:calc(var(--b) * 1.25);height:calc(var(--b) * 2.2)}.tb-jump{width:calc(var(--b) * 1.25);height:calc(var(--b) * 1.25);box-shadow:inset 0 0 0 2px var(--mint);background:#285a5099;border-radius:50%;bottom:0;right:0}.tb-act{width:calc(var(--b) * .9);height:calc(var(--b) * .9);right:calc(var(--b) * .175);border-radius:50%;top:0}.tb-act.ready{box-shadow:inset 0 0 0 2px var(--mint), 0 0 12px #7dffd6b3}.touch.left .touch-move{left:auto;right:calc(12px + var(--sar))}.touch.left .touch-grav{right:auto;left:calc(12px + var(--sal))}.touch.left .touch-act{right:auto;left:calc(12px + var(--sal) + var(--b) * .82 * 3 + 10px)}#app.tall.narrow .touch{--b:calc(50px * var(--touch))}#app.tall.narrow .touch-move{left:calc(6px + var(--sal))}#app.tall.narrow .touch-grav{right:calc(6px + var(--sar))}#app.tall.narrow .touch-act{right:calc(6px + var(--sar) + var(--b) * .82 * 3 + 6px);width:calc(var(--b) * 1.1)}#app.tall.narrow .tb-jump{width:calc(var(--b) * 1.1);height:calc(var(--b) * 1.1)}#app.tall.narrow .tb-act{right:calc(var(--b) * .1)}#app.tall.narrow .touch.left .touch-move{left:auto;right:calc(6px + var(--sar))}#app.tall.narrow .touch.left .touch-grav{right:auto;left:calc(6px + var(--sal))}#app.tall.narrow .touch.left .touch-act{right:auto;left:calc(6px + var(--sal) + var(--b) * .82 * 3 + 6px)}#app.tall.narrow .hud-name{white-space:nowrap;text-overflow:ellipsis;max-width:34vw;overflow:hidden}#app.tall.narrow .hud-row{flex-direction:column;align-items:flex-start;gap:.1em}#app.tall.narrow .hud-time{font-size:1.25em}#app.short .touch{--b:calc(46px * var(--touch))}#app.short .tbtn:not(.now):not(.on){background:#1e1b5266}#app.short .touch-move,#app.short .touch-act,#app.short .touch-grav{bottom:calc(8px + var(--sab))}#app.short .toast,#app.short .hint.on,#app.short .goal.on{font-size:.9em}#app.short .stage{font-size:calc(var(--u) * 17)}#app.narrow .res-row{grid-template-columns:6.5rem auto 1fr}#app.narrow .controls-list>div{grid-template-columns:7rem 1fr}#app.narrow .key-row{grid-template-columns:1fr 4.6rem 4.6rem}@media (prefers-reduced-motion:reduce){.logo .l1 .flip,.banner.break .t,#app.breaking .breakfx{animation:none}}
