:root{--ink:#1d1b33;--paper:#fffaf2;--glass:#181434bd;--glass-hi:#ffffff1f;--line:#ffffff2e;--accent:#ff7a3d;--accent-2:#ffc94d;--good:#5fe3a1;--star:#ffd04a;--star-off:#ffffff38;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI Variable Display", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{color:#fff;height:100%;font-family:var(--font);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#1b1a3a;margin:0;overflow:hidden}#view{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#boot{letter-spacing:.04em;z-index:10;background:radial-gradient(circle at 50% 40%,#3b3a7a,#1b1a3a 70%);place-items:center;font-size:28px;font-weight:900;display:grid;position:fixed;inset:0}#boot span{animation:1s ease-in-out infinite alternate pulse}@keyframes pulse{0%{opacity:.4}to{opacity:1}}button{font:inherit;color:inherit;cursor:pointer;pointer-events:auto;touch-action:manipulation;border:0}button:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}.icon{place-items:center;width:1.15em;height:1.15em;display:inline-grid}.icon svg{width:100%;height:100%}.btn{background:var(--glass-hi);min-height:48px;box-shadow:inset 0 0 0 1.5px var(--line), 0 6px 18px #0000002e;-webkit-backdrop-filter:blur(10px);border-radius:16px;justify-content:center;align-items:center;gap:.45em;padding:0 20px;font-size:17px;font-weight:800;transition:transform .12s,filter .12s;display:inline-flex}.btn:hover{filter:brightness(1.12)}.btn:active{transform:translateY(2px)scale(.98)}.btn.primary{text-shadow:0 1px #0003;background:linear-gradient(#ff9a52,#ff6a3d 60%,#f0502e);box-shadow:inset 0 -4px #0000002e,inset 0 2px #ffffff59,0 10px 26px #ff6a3d73}.btn.big{border-radius:20px;min-height:60px;padding:0 34px;font-size:22px}.btn.ghost{background:0 0}.round{background:var(--glass);width:46px;height:46px;box-shadow:inset 0 0 0 1.5px var(--line);-webkit-backdrop-filter:blur(8px);border-radius:50%;place-items:center;font-size:20px;display:inline-grid}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.layer{padding:calc(16px + var(--safe-t)) calc(16px + var(--safe-r)) calc(16px + var(--safe-b)) calc(16px + var(--safe-l));place-items:center;display:grid;position:absolute;inset:0}.layer>*{pointer-events:auto}.layer[data-screen=play]{display:none}.layer[data-screen=title],.layer[data-screen=levels],.layer[data-screen=pause],.layer[data-screen=finish]{background:radial-gradient(at 50% 55%,#1410301a,#1410308c)}.layer[data-screen=fail]{pointer-events:none;place-items:end center}.layer[data-screen=fail]>*{pointer-events:auto}.title{text-align:center;pointer-events:none;justify-items:center;gap:14px;display:grid}.title>*{pointer-events:auto}.logo{letter-spacing:-.03em;color:#fff;text-shadow:0 4px #e4572e,0 8px #b53d22,0 18px 30px #00000059;margin:0;font-size:clamp(54px,13vw,118px);font-weight:900;line-height:.95;animation:3.2s ease-in-out infinite bob;transform:rotate(-3deg)}.logo .fly{color:var(--accent-2);text-shadow:0 4px #e39a17,0 8px #b5720c,0 18px 30px #00000059}@keyframes bob{50%{transform:rotate(-1.5deg)translateY(-6px)}}.tag{letter-spacing:.2em;text-transform:uppercase;text-shadow:0 2px 8px #00000059;margin:0;font-size:clamp(16px,3.6vw,22px);font-weight:800}.hello{opacity:.9;text-shadow:0 1px 6px #00000080;margin:0;font-size:16px;font-weight:800}.title-actions{justify-items:center;gap:12px;margin-top:10px;display:grid}.total{text-shadow:0 2px 6px #0006;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:800;display:inline-flex}.howto{opacity:.85;text-shadow:0 1px 6px #0009;max-width:34ch;margin:4px 0 0;font-size:14px;font-weight:700}.stars{gap:2px;display:inline-flex}.star{width:18px;height:18px;color:var(--star-off)}.star.on{color:var(--star);filter:drop-shadow(0 1px 2px #965a0099)}.stars.small .star{width:16px;height:16px}.star svg{width:100%;height:100%}.levels{background:var(--glass);width:min(760px,100%);max-height:100%;box-shadow:inset 0 0 0 1.5px var(--line), 0 30px 60px #00000059;-webkit-backdrop-filter:blur(16px);border-radius:28px;gap:14px;padding:18px;display:grid;overflow:auto}.levels .bar{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.levels h2{text-align:center;margin:0;font-size:26px;font-weight:900}.tabs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tab{box-shadow:inset 0 0 0 1.5px var(--line);text-align:center;background:#ffffff0f;border-radius:16px;gap:2px;padding:10px 8px;display:grid}.tab b{font-size:14px}.tab small{opacity:.85;font-size:12px}.tab.on.w1{background:linear-gradient(#7cc95a,#3f8f4f)}.tab.on.w2{background:linear-gradient(#8fb0e8,#4f6aa8)}.tab.on.w3{background:linear-gradient(#b46bff,#5a2fa8)}.blurb{text-align:center;opacity:.8;margin:0;font-size:14px;font-weight:700}.grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.tile{aspect-ratio:1/1.05;box-shadow:inset 0 0 0 1.5px var(--line), inset 0 -4px 0 #00000026;background:linear-gradient(#fff3,#ffffff0f);border-radius:18px;align-content:center;justify-items:center;gap:4px;transition:transform .12s;display:grid;position:relative}.tile:hover:not(:disabled){transform:translateY(-2px)}.tile .num{font-size:28px;font-weight:900;line-height:1}.tile .name{opacity:.8;white-space:nowrap;text-overflow:ellipsis;max-width:92%;font-size:11px;font-weight:700;overflow:hidden}.tile.locked{opacity:.45;cursor:default}.tile.locked .icon{font-size:20px}.tile.skipped:after{content:"skipped";opacity:.7;font-size:9px;font-weight:800;position:absolute;top:6px;right:8px}.grid.w1 .tile:not(.locked){background:linear-gradient(#7cc95a8c,#3f8f4f59)}.grid.w2 .tile:not(.locked){background:linear-gradient(#8fb0e88c,#4f6aa859)}.grid.w3 .tile:not(.locked){background:linear-gradient(#b46bff80,#5a2fa859)}.card{text-align:center;background:var(--glass);width:min(440px,100%);box-shadow:inset 0 0 0 1.5px var(--line), 0 30px 60px #00000059;-webkit-backdrop-filter:blur(16px);border-radius:28px;justify-items:center;gap:14px;padding:22px 20px 20px;animation:.35s cubic-bezier(.2,1.4,.4,1) rise;display:grid}.card h2{letter-spacing:-.01em;margin:0;font-size:30px;font-weight:900}.kicker{letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin:0;font-size:14px;font-weight:800}@keyframes rise{0%{opacity:0;transform:translateY(30px)scale(.94)}}.card.fail{gap:8px;width:min(400px,100%);margin-bottom:8px;padding:16px}.card.fail h2{font-size:24px}.big-stars{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.bstar{justify-items:center;gap:4px;display:grid}.bstar .s{width:66px;height:66px;color:var(--star-off)}.bstar:nth-child(2) .s{width:80px;height:80px;margin-top:-10px}.bstar .s svg{width:100%;height:100%}.bstar.on .s{color:var(--star);filter:drop-shadow(0 3px #d99a0b)drop-shadow(0 8px 14px #ffbe2880);animation:.5s cubic-bezier(.2,1.8,.4,1) both pop;animation-delay:var(--d)}.bstar small{opacity:.85;font-size:12px;font-weight:800}.bstar:not(.on) small{opacity:.55}@keyframes pop{0%{transform:scale(0)rotate(-40deg)}}.stats{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.stats>div{background:#ffffff12;border-radius:16px;gap:2px;padding:10px 6px;display:grid}.stats small{opacity:.7;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.stats b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:900}.stats em{opacity:.7;font-size:12px;font-style:normal;font-weight:700}.stats em.new{color:var(--good);opacity:1}.hud{opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.hud.show{opacity:1}.hud .top{top:calc(10px + var(--safe-t));left:calc(10px + var(--safe-l));right:calc(10px + var(--safe-r));grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid;position:absolute}.hud .left,.hud .right{align-items:center;gap:10px;display:flex}.hud .right{justify-content:flex-end}.hud.show button{pointer-events:auto}.hud:not(.show) button{pointer-events:none}.hud .lvl{text-shadow:0 1px 6px #0000008c;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:800;overflow:hidden}.hud .mid{justify-items:center;line-height:1;display:grid}.hud .time{font-variant-numeric:tabular-nums;text-shadow:0 2px 8px #00000073;font-size:26px;font-weight:900;transition:opacity .3s}.hud .time.over{opacity:.6}.hud .par{color:var(--star);text-shadow:0 1px 4px #00000080;margin-top:3px;font-size:12px;font-weight:800}.pill .stylepar{text-transform:none}.pill b.met{color:var(--good)}.pill{white-space:nowrap;background:var(--glass);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:999px;align-items:baseline;gap:6px;padding:8px 14px;display:inline-flex}.pill small{opacity:.7;text-transform:uppercase;font-size:11px;font-weight:800}.pill b{font-variant-numeric:tabular-nums;color:var(--accent-2);font-size:18px;font-weight:900}.hint{left:50%;bottom:calc(28px + var(--safe-b));background:var(--glass);max-width:calc(100% - 32px);box-shadow:inset 0 0 0 1.5px var(--line);text-align:center;opacity:0;-webkit-backdrop-filter:blur(8px);border-radius:18px;padding:12px 20px;font-size:16px;transition:opacity .3s,transform .3s;position:absolute;transform:translate(-50%,20px)}.hint.show{opacity:1;animation:1.6s ease-in-out infinite nudge;transform:translate(-50%)}@keyframes nudge{50%{transform:translate(-50%,-4px)}}.popups{position:absolute;inset:0;overflow:hidden}.popup{white-space:nowrap;color:#fff;text-shadow:0 3px #00000040,0 0 18px #00000059;font-size:19px;font-weight:900;animation:1.1s ease-out forwards float;position:absolute;transform:translate(-50%,-50%)}.popup.flip{color:#fff3a0}.popup.near{color:#ffb3a0;font-size:23px}.popup.fling{color:#b8f3ff}@keyframes float{0%{opacity:0;transform:translate(-50%,-30%)scale(.5)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}.vignette{opacity:0;background:radial-gradient(#0000 45%,#0a061e99 100%);position:absolute;inset:0;box-shadow:inset 0 0 0 3px #ffffff0f}@media (max-width:520px){.grid{grid-template-columns:repeat(4,1fr);gap:8px}.tab b{font-size:12px}.hud .lvl{display:none}.btn{padding:0 16px}.levels{padding:14px}}@media (max-height:460px){.logo{font-size:56px}.title{gap:8px}.howto{display:none}.card{gap:8px;padding:14px}.bstar .s{width:46px;height:46px}.bstar:nth-child(2) .s{width:56px;height:56px}.grid{grid-template-columns:repeat(10,1fr)}.tile .name{display:none}}@media (prefers-reduced-motion:reduce){.logo,.hint.show{animation:none}}
