@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-display:swap;src:url(./fredoka-latin-DM6njrJ3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-display:swap;src:url(./fredoka-latin-ext-CYrqKuxd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--font-game:"Fredoka", "Baloo 2", "Nunito", "Segoe UI", system-ui, sans-serif;--ink:#1d3a52;--ink-soft:#5c7b93;--ink-inverse:#fff;--panel:#fff;--panel-soft:#eef6fb;--panel-edge:#cfe4f0;--primary:#39c463;--primary-dark:#1f9143;--primary-light:#7ce09a;--secondary:#3aa8f0;--secondary-dark:#1c74b8;--secondary-light:#8ad2fa;--danger:#ef5b57;--danger-dark:#b93733;--gold:#ffc63d;--gold-dark:#c98a10;--gold-light:#ffe89b;--sea-deep:#0d3b66;--sea-mid:#1c7fb8;--sea-light:#3fb8cf;--sky-top:#2f7fd4;--sky-low:#a9e4f7;--foam:#f2fbff;--shadow-soft:0 calc(var(--u) * .6) calc(var(--u) * 2) #0b2c442e;--shadow-card:0 calc(var(--u) * 1.4) calc(var(--u) * 4) #0b2c4442;--shadow-inset:inset 0 calc(var(--u) * -.9) 0 #00000029;--shadow-highlight:inset 0 calc(var(--u) * .7) 0 #ffffff73;--r-sm:calc(var(--u) * 2.2);--r-md:calc(var(--u) * 3.4);--r-lg:calc(var(--u) * 5);--r-pill:999px;--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--ease-soft:cubic-bezier(.22, .61, .36, 1);--u:4px;--ui-scale:1;--screen-w:100vw;--screen-h:100vh;--play-w:100vw;--play-h:100vh;--play-x:0px;--sa-top:0px;--sa-right:0px;--sa-bottom:0px;--sa-left:0px}@media (prefers-reduced-motion:reduce){:root{--ease-pop:ease-out}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html,body{background:var(--sea-mid);height:100%;color:var(--ink);font-family:var(--font-game);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0;font-weight:500;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}canvas{touch-action:none;display:block}#stage{background:var(--sea-mid);width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#stage>canvas{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}#ui-layer{pointer-events:none;font-size:calc(var(--u) * 4);position:absolute;top:0;bottom:0;left:0;right:0}#ui-layer>:not(.screen--hud){pointer-events:auto}.noscript{text-align:center;color:#fff;background:var(--sea-deep);font-family:var(--font-game);z-index:99;place-items:center;padding:2rem;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.screen{padding:calc(var(--u) * 5 + var(--sa-top)) calc(var(--u) * 5) calc(var(--u) * 5 + var(--sa-bottom));opacity:1;transition:opacity .32s var(--ease-soft), transform .32s var(--ease-soft);flex-direction:column;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.screen>:not(.hud){width:100%;max-width:var(--play-w)}.screen--hud{pointer-events:none}.screen--hud .btn,.screen--hud .icon-btn,.screen--hud .pill{pointer-events:auto}.screen[hidden]{display:none}.screen.is-entering{opacity:0;transform:translateY(calc(var(--u) * 3))}.screen.is-leaving{opacity:0;transform:translateY(calc(var(--u) * -2));pointer-events:none}.screen__spacer{flex:auto}.btn{justify-content:center;align-items:center;gap:calc(var(--u) * 2);padding:calc(var(--u) * 3.1) calc(var(--u) * 6);min-height:calc(var(--u) * 13);border-radius:var(--r-md);font-family:var(--font-game);font-weight:600;font-size:calc(var(--u) * 5);letter-spacing:.02em;color:#fff;text-shadow:0 calc(var(--u) * .25) 0 #00000038;background:linear-gradient(180deg, var(--btn-top,#59d47f) 0%, var(--btn-bottom,#34b95c) 100%);box-shadow:var(--shadow-highlight), 0 calc(var(--u) * 1.1) 0 var(--btn-edge,#1f9143), var(--shadow-card);transition:transform 90ms var(--ease-soft), box-shadow 90ms var(--ease-soft), filter .16s var(--ease-soft);will-change:transform;display:inline-flex;position:relative;transform:translateY(0)}.btn:active,.btn.is-pressed{transform:translateY(calc(var(--u) * .95));box-shadow:var(--shadow-highlight), 0 calc(var(--u) * .15) 0 var(--btn-edge,#1f9143), var(--shadow-soft)}.btn:focus-visible{outline:calc(var(--u) * .7) solid #ffffffd9;outline-offset:calc(var(--u) * .5)}.btn[disabled]{filter:grayscale(.55)brightness(.92);pointer-events:none}.btn--primary{--btn-top:#59d47f;--btn-bottom:#34b95c;--btn-edge:#1f8f43}.btn--secondary{--btn-top:#6cc4f7;--btn-bottom:#3aa8f0;--btn-edge:#1c74b8}.btn--gold{--btn-top:#ffd873;--btn-bottom:#ffbe2e;--btn-edge:#c98a10;color:#4a3405;text-shadow:0 calc(var(--u) * .25) 0 #ffffff80}.btn--ghost{--btn-top:#ffffffeb;--btn-bottom:#e9f4fbeb;--btn-edge:#b9d5e6;color:var(--ink);text-shadow:none}.btn--xl{min-height:calc(var(--u) * 17);font-size:calc(var(--u) * 7);padding:calc(var(--u) * 4) calc(var(--u) * 9);border-radius:var(--r-lg)}.btn--block{width:100%}.btn--shine{overflow:hidden}.btn__shine{pointer-events:none;will-change:transform;background:linear-gradient(90deg,#fff0 0%,#ffffff80 50%,#fff0 100%);width:42%;animation:3.4s linear infinite btn-shine;position:absolute;top:-25%;bottom:-25%;left:0;transform:translate(-170%)skew(-18deg)}@keyframes btn-shine{0%,72%{transform:translate(-170%)skew(-18deg)}to{transform:translate(360%)skew(-18deg)}}.btn__icon{width:calc(var(--u) * 6.2);height:calc(var(--u) * 6.2);flex:none}.icon-btn{width:calc(var(--u) * 12);height:calc(var(--u) * 12);box-shadow:inset 0 calc(var(--u) * .6) 0 #ffffffe6, 0 calc(var(--u) * .9) 0 #b7d3e5, var(--shadow-soft);color:var(--secondary-dark);transition:transform 90ms var(--ease-soft), box-shadow 90ms var(--ease-soft);background:linear-gradient(#fff 0%,#e6f2fa 100%);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{transform:translateY(calc(var(--u) * .8));box-shadow:inset 0 calc(var(--u) * .6) 0 #ffffffe6, 0 calc(var(--u) * .1) 0 #b7d3e5}.icon-btn svg{width:58%;height:58%}.icon-btn.is-off{color:#9db4c4}.logo{align-items:center;gap:calc(var(--u) * .5);text-align:center;animation:logo-in .85s var(--ease-pop) both;flex-direction:column;display:flex}.logo__mark{width:calc(var(--u) * 30);height:calc(var(--u) * 30);margin-bottom:calc(var(--u) * -1);filter:drop-shadow(0 calc(var(--u) * 1.2) calc(var(--u) * 2) #06223a59);animation:3.4s ease-in-out infinite mark-bob}.logo__line{letter-spacing:.01em;color:#fff;-webkit-text-stroke:calc(var(--u) * 1.5) #0f4d7d;paint-order:stroke fill;text-shadow:0 calc(var(--u) * .9) 0 #0b3a60, 0 calc(var(--u) * 1.8) calc(var(--u) * 1.6) #06223a73;font-weight:700;line-height:.92}.logo__line--small{font-size:calc(var(--u) * 9.5);color:#ffe89b;-webkit-text-stroke:calc(var(--u) * 1.2) #0f4d7d;letter-spacing:.08em}.logo__line--big{font-size:calc(var(--u) * 17);-webkit-text-stroke:0;text-shadow:none;background:linear-gradient(#fff8e2 0%,#ffd873 52%,#ffb02a 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;position:relative}.logo__line--big:before{content:attr(data-text);z-index:-1;color:#0f4d7d;-webkit-text-fill-color:#0f4d7d;-webkit-text-stroke:calc(var(--u) * 1.7) #0f4d7d;width:100%;text-shadow:0 calc(var(--u) * 1) 0 #0b3a60, 0 calc(var(--u) * 2) calc(var(--u) * 1.8) #06223a80;background:0 0;position:absolute;top:0;left:0}.logo__tagline{margin-top:calc(var(--u) * 1.6);font-size:calc(var(--u) * 3.6);color:#eaf7ff;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 calc(var(--u) * .4) calc(var(--u) * 1) #06223a80;font-weight:500}@keyframes logo-in{0%{opacity:0;transform:translateY(calc(var(--u) * -6)) scale(.86)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes mark-bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(calc(var(--u) * -1.4)) rotate(2deg)}}.hud{top:calc(var(--sa-top) + var(--u) * 3);left:calc(var(--sa-left) + var(--u) * 3.5);right:calc(var(--sa-right) + var(--u) * 3.5);align-items:center;gap:calc(var(--u) * 2.5);pointer-events:none;display:flex;position:absolute}.hud>*{pointer-events:auto}.hud__spacer{pointer-events:none;flex:auto}.pill{align-items:center;gap:calc(var(--u) * 1.8);height:calc(var(--u) * 11);padding:0 calc(var(--u) * 4) 0 calc(var(--u) * 1.4);border-radius:var(--r-pill);box-shadow:inset 0 calc(var(--u) * .6) 0 #fffffff2, 0 calc(var(--u) * .9) 0 #b7d3e5, var(--shadow-soft);font-weight:600;font-size:calc(var(--u) * 4.6);color:var(--ink);background:linear-gradient(#fffffff5 0%,#e4f1fa 100%);display:inline-flex}.pill__icon{width:calc(var(--u) * 8.4);height:calc(var(--u) * 8.4);flex:none}.pill__value{min-width:calc(var(--u) * 9);font-variant-numeric:tabular-nums}.pill--level{padding-left:calc(var(--u) * 4)}.pill--level .pill__label{font-size:calc(var(--u) * 3.2);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-right:calc(var(--u) * -.6);font-weight:600}.pill.is-bumped{animation:pill-bump .42s var(--ease-pop)}@keyframes pill-bump{0%{transform:scale(1)}35%{transform:scale(1.14)}to{transform:scale(1)}}.card{border-radius:var(--r-lg);padding:calc(var(--u) * 5);background:linear-gradient(180deg, #fff 0%, var(--panel-soft) 100%);box-shadow:inset 0 calc(var(--u) * .8) 0 #fffffff2, var(--shadow-card)}.card__title{margin:0 0 calc(var(--u) * 3);font-size:calc(var(--u) * 6.4);color:var(--ink);text-align:center;font-weight:700}.sheet-backdrop{padding:calc(var(--u) * 6);-webkit-backdrop-filter:blur(calc(var(--u) * .8));backdrop-filter:blur(calc(var(--u) * .8));animation:fade-in .2s var(--ease-soft);z-index:20;background:#08263e80;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.sheet-backdrop[hidden]{display:none}.sheet{width:100%;max-width:calc(var(--u) * 84);animation:sheet-in .34s var(--ease-pop)}.sheet__rows{gap:calc(var(--u) * 2.4);margin-bottom:calc(var(--u) * 4);flex-direction:column;display:flex}.row{justify-content:space-between;align-items:center;gap:calc(var(--u) * 3);padding:calc(var(--u) * 2.4) calc(var(--u) * 3);border-radius:var(--r-sm);box-shadow:inset 0 0 0 calc(var(--u) * .3) var(--panel-edge);font-size:calc(var(--u) * 4.2);color:var(--ink);background:#ffffffbf;font-weight:600;display:flex}.switch{width:calc(var(--u) * 15);height:calc(var(--u) * 8);border-radius:var(--r-pill);box-shadow:inset 0 calc(var(--u) * .5) calc(var(--u) * 1) #0000002e;transition:background .2s var(--ease-soft);background:#c9dbe7;flex:none;position:relative}.switch:after{content:"";top:calc(var(--u) * .8);left:calc(var(--u) * .8);width:calc(var(--u) * 6.4);height:calc(var(--u) * 6.4);box-shadow:0 calc(var(--u) * .5) calc(var(--u) * 1.2) #00000047;transition:transform .2s var(--ease-pop);background:#fff;border-radius:50%;position:absolute}.switch.is-on{background:var(--primary)}.switch.is-on:after{transform:translateX(calc(var(--u) * 7))}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(calc(var(--u) * 6)) scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.boot{justify-content:center;align-items:center;gap:calc(var(--u) * 5);z-index:40;transition:opacity .45s var(--ease-soft);background:linear-gradient(#1f6fc4 0%,#3f92dc 45%,#7fc4ef 100%);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.boot.is-done{opacity:0;pointer-events:none}.boot__bar{width:calc(var(--u) * 62);height:calc(var(--u) * 4.4);border-radius:var(--r-pill);box-shadow:inset 0 calc(var(--u) * .4) calc(var(--u) * 1) #00000040;background:#082a4659;position:relative;overflow:hidden}.boot__fill{border-radius:var(--r-pill);background:linear-gradient(180deg, var(--gold-light) 0%, var(--gold) 60%, var(--gold-dark) 100%);width:0%;transition:width .28s var(--ease-soft);position:absolute;top:0;bottom:0;left:0;right:auto}.boot__label{font-size:calc(var(--u) * 3.6);letter-spacing:.12em;text-transform:uppercase;color:#ffffffe6;font-weight:500}.boot__boat{bottom:calc(100% - var(--u) * .4);width:calc(var(--u) * 9);height:calc(var(--u) * 9);transition:left .28s var(--ease-soft);position:absolute;left:0;transform:translate(-50%)}.menu__actions{align-items:center;gap:calc(var(--u) * 3.2);width:100%;max-width:calc(var(--u) * 70);flex-direction:column;margin:0 auto;display:flex}.menu__row{justify-content:center;align-items:center;gap:calc(var(--u) * 3.2);display:flex}.menu__note{margin-top:calc(var(--u) * 1);font-size:calc(var(--u) * 3);letter-spacing:.04em;color:#ffffffd1;text-shadow:0 calc(var(--u) * .3) calc(var(--u) * .8) #06223a8c;text-align:center;font-weight:500}.debug{left:calc(var(--u) * 3);bottom:calc(var(--sa-bottom) + var(--u) * 2);padding:calc(var(--u) * 1) calc(var(--u) * 2);border-radius:var(--r-sm);color:#dff4fb;font-size:calc(var(--u) * 2.6);font-variant-numeric:tabular-nums;white-space:pre;z-index:30;background:#06223a8c;font-weight:500;line-height:1.5;position:absolute}.hud-bottom{align-items:center;gap:calc(var(--u) * 2.4);padding-bottom:calc(var(--u) * 1);max-width:var(--play-w);flex-direction:column;margin:0 auto;display:flex}.hud-bottom__slots{padding:calc(var(--u) * 1.2) calc(var(--u) * 3.4);border-radius:var(--r-pill);color:#eaf7ff;font-size:calc(var(--u) * 3.2);letter-spacing:.05em;background:#082a466b;font-weight:600}.hud-bottom__powerups{gap:calc(var(--u) * 2.6);min-height:calc(var(--u) * 13);display:flex}.sheet__actions{gap:calc(var(--u) * 2.2);flex-direction:column;display:flex}.step-chip{left:50%;bottom:calc(var(--sa-bottom) + var(--u) * 30);pointer-events:none;align-items:center;gap:calc(var(--u) * 2);max-width:calc(var(--u) * 80);padding:calc(var(--u) * 2.4) calc(var(--u) * 4);border-radius:var(--r-md);box-shadow:var(--shadow-card);color:var(--ink);font-size:calc(var(--u) * 3.3);text-align:center;animation:chip-in .4s var(--ease-pop) both;background:linear-gradient(#fffffff0 0%,#e7f3fb 100%);font-weight:600;line-height:1.35;display:flex;position:absolute;transform:translate(-50%)}@keyframes chip-in{0%{opacity:0;transform:translate(-50%, calc(var(--u) * 4)) scale(.94)}to{opacity:1;transform:translate(-50%)scale(1)}}html.reduced-effects .btn__shine,html.reduced-effects .logo__mark{animation:none}html.reduced-effects .btn__shine{display:none}.rotate{z-index:60;justify-content:center;align-items:center;gap:calc(var(--u) * 3);padding:calc(var(--u) * 6);text-align:center;animation:fade-in .25s var(--ease-soft);background:linear-gradient(#1f6fc4 0%,#2f8bd0 55%,#4ab6d8 100%);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.rotate[hidden]{display:none}.rotate__mark{width:calc(var(--u) * 34);height:calc(var(--u) * 34);max-width:40vh;max-height:40vh;filter:drop-shadow(0 calc(var(--u) * 1.2) calc(var(--u) * 2) #06223a66)}.rotate__mark .og-phone{transform-origin:60px 60px;animation:3s ease-in-out infinite rotate-hint}@keyframes rotate-hint{0%,12%{transform:rotate(-90deg)}42%,88%{transform:rotate(0)}to{transform:rotate(-90deg)}}.rotate__title{font-size:calc(var(--u) * 6.4);color:#fff;text-shadow:0 calc(var(--u) * .5) calc(var(--u) * 1.2) #06223a80;font-weight:700}.rotate__body{max-width:calc(var(--u) * 80);font-size:calc(var(--u) * 3.8);color:#ffffffe6;font-weight:500}html.reduced-effects .rotate__mark .og-phone{animation:none;transform:rotate(0)}.slotrow{gap:calc(var(--u) * 1.4);padding:calc(var(--u) * 1.2) calc(var(--u) * 1.8);border-radius:var(--r-pill);background:#082a466b;display:flex}.slotpip{width:calc(var(--u) * 6);height:calc(var(--u) * 4.2);border-radius:calc(var(--u) * 1.2);box-shadow:inset 0 0 0 calc(var(--u) * .35) #e9f7ff73;color:#eaf7ff;font:inherit;font-size:calc(var(--u) * 3.4);cursor:default;background:#e9f7ff38;border:0;padding:0;font-weight:700;line-height:1}.slotpip.is-taken{box-shadow:inset 0 0 0 calc(var(--u) * .35) #8c580880;background:#ffd166}.slotpip.is-locked{box-shadow:inset 0 0 0 calc(var(--u) * .35) #e9f7ff4d;border:calc(var(--u) * .35) dashed #e9f7ff8c;color:#eaf7ffcc;cursor:pointer;background:#082a4640}.slotpip.is-locked:active{transform:translateY(calc(var(--u) * .25))}.levelbrowser{left:calc(var(--u) * 2);bottom:calc(var(--u) * 2);width:min(96%, calc(var(--u) * 108));align-items:flex-start;gap:calc(var(--u) * 1.5);z-index:40;font-size:calc(var(--u) * 3);flex-direction:column;line-height:1.35;display:flex;position:absolute}.levelbrowser__tab{padding:calc(var(--u) * 1.5) calc(var(--u) * 4);color:#9fe3ff;font:inherit;letter-spacing:.08em;cursor:pointer;background:#0c1a26e0;border:0;border-radius:999px;font-weight:700}.levelbrowser__panel{box-sizing:border-box;width:100%;padding:calc(var(--u) * 3);border-radius:calc(var(--u) * 3);color:#e8f6ff;gap:calc(var(--u) * 2);background:#08141ef0;flex-direction:column;max-height:62vh;display:flex;overflow-y:auto}.levelbrowser__title{font-weight:700;font-size:calc(var(--u) * 4)}.levelbrowser__stats{color:#8fb6cc;font-size:calc(var(--u) * 2.6)}.levelbrowser__nav,.levelbrowser__verdicts,.levelbrowser__tools{gap:calc(var(--u) * 1.5);flex-wrap:wrap;display:flex}.lb-btn,.lb-verdict{border-radius:calc(var(--u) * 2);padding:calc(var(--u) * 1.5) calc(var(--u) * 2.5);color:#e8f6ff;font:inherit;cursor:pointer;min-height:calc(var(--u) * 9);background:#9fe3ff1a;border:1px solid #9fe3ff59}.lb-btn--wide{flex:auto}.lb-verdict.is-on{color:#04131d;background:#2ea8e0;border-color:#2ea8e0;font-weight:700}.lb-jump{width:calc(var(--u) * 14);border-radius:calc(var(--u) * 2);color:#e8f6ff;font:inherit;padding:calc(var(--u) * 1.5);text-align:center;background:#00000059;border:1px solid #9fe3ff59}.levelbrowser__note,.levelbrowser__out{box-sizing:border-box;border-radius:calc(var(--u) * 2);color:#e8f6ff;width:100%;font:inherit;padding:calc(var(--u) * 2);resize:vertical;background:#00000059;border:1px solid #9fe3ff59}.levelbrowser__list{flex-direction:column;gap:2px;max-height:34vh;display:flex;overflow-y:auto}.lb-row{grid-template-columns:calc(var(--u) * 7) 1fr auto auto calc(var(--u) * 5);gap:calc(var(--u) * 1.5);border-radius:calc(var(--u) * 1.5);padding:calc(var(--u) * 1.5) calc(var(--u) * 2);color:#cfe8f6;font:inherit;text-align:left;cursor:pointer;background:#9fe3ff0f;border:0;align-items:center;display:grid}.lb-row.is-current{color:#fff;background:#2ea8e059}.lb-row__id{color:#7fa8bf}.lb-row__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-row__n{color:#8fb6cc;font-variant-numeric:tabular-nums}.lb-row__flag{text-align:center;color:#ffd166}.levelbrowser__hint{color:#6e93a8;font-size:calc(var(--u) * 2.4)}.levelbrowser__notes{gap:calc(var(--u) * 2);flex-direction:column;display:flex}.levelbrowser [hidden]{display:none!important}
