@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(./fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(./fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(./fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}:root{--a:#25f4ff;--b:#ff3dd8;--text:#fff;--text-2:#ffffffa8;--panel:#120c2cc7;--glass:#ffffff14;--glass-2:#ffffff24;--stroke:#ffffff29;--on-accent:#0b0820;--bg0:#0a0822;--shadow:0 24px 70px #00000080;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--font:"Fredoka", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--ring-y:53vh;--ring-r:58px;--spring:cubic-bezier(.2, .9, .25, 1.25)}:root[data-light=true]{--text-2:#1410329e;--panel:#ffffffd1;--glass:#ffffff8c;--glass-2:#ffffffbf;--stroke:#1e14501f;--shadow:0 24px 60px #281e5a38}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{overscroll-behavior:none;background:var(--bg0);width:100%;height:100%;color:var(--text);font-family:var(--font);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none}svg{display:block}#game{touch-action:none;display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:1;position:fixed;inset:0}.screen{opacity:0;visibility:hidden;transition:opacity .28s,visibility 0s linear .28s;position:absolute;inset:0}.screen.show{opacity:1;visibility:visible;transition:opacity .28s,visibility}.screen button,.screen label,.sheet{pointer-events:auto}.icon-btn{background:var(--glass);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%);border-radius:50%;place-items:center;width:44px;height:44px;transition:transform .14s,background .2s,opacity .2s;display:grid}.icon-btn svg{width:22px;height:22px}.icon-btn:active,.btn:active,.dock-btn:active,.mode:active,.pill:active{transform:scale(.92)}.icon-btn.toggle.off{opacity:.45}.pill{background:var(--glass);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:8px;height:42px;padding:0 16px 0 9px;font-size:18px;font-weight:600;transition:transform .14s;display:inline-flex}.pill.small{height:34px;padding:0 12px 0 7px;font-size:15px}.pill.bump{animation:bump .45s var(--spring)}.coin{--s:22px;width:var(--s);height:var(--s);background:radial-gradient(circle at 34% 30%,#fff6b0 0 12%,#ffc93d 42%,#f29a00 100%);border-radius:50%;flex:none;display:inline-block;position:relative;box-shadow:0 2px #b86e00,inset 0 0 0 1.5px #a05a0059}.coin:after{content:"";border:2px solid #a05a006b;border-radius:50%;position:absolute;inset:26%}.pill.small .coin{--s:18px}.btn{background:var(--glass-2);border:1px solid var(--stroke);border-radius:999px;justify-content:center;align-items:center;gap:10px;height:52px;padding:0 22px;font-size:17px;font-weight:600;transition:transform .14s,filter .2s;display:inline-flex}.btn svg{width:20px;height:20px}.btn.wide{width:100%}.btn.primary{letter-spacing:.01em;height:60px;color:var(--on-accent);background:linear-gradient(135deg, var(--a), var(--b));box-shadow:0 12px 32px color-mix(in srgb, var(--b) 42%, transparent), inset 0 1px 0 #ffffff73;border:none;font-size:20px;font-weight:700}.btn.primary.big{height:66px;font-size:22px}.btn.primary.breathe{animation:2.4s ease-in-out infinite breathe}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.danger{color:#ff5a7a}.btn[disabled]{filter:grayscale(.8);opacity:.5}.btn .coin{--s:20px}.row{gap:10px;margin-top:10px;display:flex}.row>.btn{flex:1}.row.mini{justify-content:center;margin-top:16px}.topbar{top:calc(var(--sat) + 12px);left:calc(var(--sal) + 16px);right:calc(var(--sar) + 16px);justify-content:space-between;align-items:center;display:flex;position:absolute}.topbar-right{gap:10px;display:flex}.logo{left:0;right:0;top:calc(var(--sat) + max(64px, 11vh));letter-spacing:-.035em;filter:drop-shadow(0 6px 26px color-mix(in srgb, var(--a) 45%, transparent));animation:logo-in .8s var(--spring) both;justify-content:center;align-items:center;font-size:clamp(46px,15.5vw,92px);font-weight:700;line-height:1;display:flex;position:absolute}.logo-text{background:linear-gradient(100deg, var(--a), var(--b));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 -.1em;padding:.06em .1em}.logo-text:first-child{background-position:0 0;background-size:140% 100%}.logo-text:last-child{background-position:100% 0;background-size:700% 100%}.logo-o{background:conic-gradient(from 200deg, var(--a), var(--b), var(--a));border-radius:50%;width:.54em;height:.54em;margin:.14em .035em 0;animation:1.017s ease-out infinite beat,6s linear infinite spin;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - .13em),#000 calc(100% - .12em));mask:radial-gradient(farthest-side,#0000 calc(100% - .13em),#000 calc(100% - .12em))}.home-best{left:0;right:0;top:calc(var(--sat) + max(64px, 11vh) + clamp(58px, 18vw, 106px));text-align:center;letter-spacing:.14em;color:var(--text-2);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600;position:absolute}.home-best b{color:var(--text);font-weight:700}.home-note{left:24px;right:24px;top:calc(var(--sat) + max(64px, 11vh) + clamp(84px, 24vw, 136px));text-align:center;color:var(--text-2);font-size:14px;position:absolute}.tap-label{left:0;right:0;top:calc(var(--ring-y) + var(--ring-r) * 1.55 + 10px);text-align:center;letter-spacing:.32em;text-indent:.32em;font-size:15px;font-weight:700;animation:1.6s ease-in-out infinite blink;position:absolute}.home-bottom{left:calc(var(--sal) + 16px);right:calc(var(--sar) + 16px);bottom:calc(var(--sab) + 16px);flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute}.mode-info{text-align:center;color:var(--text-2);min-height:19px;font-size:14px;line-height:1.35}.mode-info b{color:var(--text)}.modes{background:var(--glass);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%);border-radius:999px;gap:4px;padding:4px;display:flex}.mode{min-width:92px;height:40px;color:var(--text-2);border-radius:999px;padding:0 16px;font-size:16px;font-weight:600;transition:background .25s,color .25s,transform .14s;position:relative}.mode.on{color:var(--on-accent);background:linear-gradient(135deg, var(--a), var(--b));box-shadow:0 6px 18px color-mix(in srgb, var(--b) 35%, transparent)}.dot,.badge{width:9px;height:9px;box-shadow:0 0 0 2px var(--bg0);background:#ff3b6b;border-radius:50%;display:none;position:absolute;top:6px;right:10px}.has-dot .dot,.has-badge .badge{animation:1.4s ease-in-out infinite pulse-dot;display:block}.dock{gap:10px;width:100%;max-width:420px;display:flex}.dock-btn{background:var(--glass);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%);border-radius:22px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;height:64px;font-size:13px;font-weight:600;transition:transform .14s;display:flex;position:relative}.dock-btn svg{width:24px;height:24px}.dock-btn .badge{top:8px;right:calc(50% - 20px)}.dock-btn.has-badge svg{animation:2.4s ease-in-out infinite wiggle}.pause-btn{top:calc(var(--sat) + 12px);left:calc(var(--sal) + 16px);position:absolute}.modal{padding:calc(var(--sat) + 16px) 16px calc(var(--sab) + 16px);place-items:center;display:grid}.card{text-align:center;background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(26px)saturate(170%);backdrop-filter:blur(26px)saturate(170%);width:min(92vw,380px);max-height:100%;box-shadow:var(--shadow);transition:transform .42s var(--spring);pointer-events:auto;touch-action:pan-y;border-radius:32px;padding:26px 20px 20px;overflow-y:auto;transform:translateY(28px)scale(.94)}.modal.show .card{transform:none}.card>.btn.wide+.btn.wide{margin-top:10px}.card-title{letter-spacing:-.01em;font-size:30px;font-weight:700}.card-sub{color:var(--text-2);margin:4px 0 18px;font-size:15px}.card-sub:empty{margin-bottom:12px}.revive-timer{width:132px;height:132px;margin:2px auto 18px;position:relative}.revive-timer svg{width:100%;height:100%;transform:rotate(-90deg)}.revive-timer circle{fill:none;stroke-width:7px;stroke-linecap:round}.revive-timer .track{stroke:var(--glass-2)}.revive-timer .bar{stroke:var(--a);stroke-dasharray:276.5;stroke-dashoffset:0}.revive-timer b{place-items:center;font-size:44px;font-weight:700;display:grid;position:absolute;inset:0}.results-card{padding-top:22px}.res-kicker{letter-spacing:.24em;color:var(--text-2);font-size:15px;font-weight:700}.res-kicker.best{letter-spacing:.08em;background:linear-gradient(90deg,#ffd23f,#ff3d6e,#b03dff,#3dc8ff,#ffd23f) 0 0/300% 100%;color:#0000;animation:shimmer 2.5s linear infinite, pop-in .6s var(--spring) both;-webkit-background-clip:text;background-clip:text;font-size:22px}.res-cause{color:var(--text-2);min-height:18px;margin-top:4px;font-size:14px}.res-score{letter-spacing:-.03em;font-variant-numeric:tabular-nums;background:linear-gradient(135deg, var(--text) 30%, color-mix(in srgb, var(--a) 70%, var(--text)));color:#0000;-webkit-background-clip:text;background-clip:text;margin:2px 0 0;font-size:84px;font-weight:700;line-height:1.05}.res-best{letter-spacing:.12em;color:var(--text-2);font-size:15px;font-weight:600}.res-nudge{color:var(--a);min-height:0;margin-top:8px;font-size:15px;font-weight:600}:root[data-light=true] .res-nudge{color:var(--b)}.res-nudge:empty{display:none}.res-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 12px;display:grid}.res-stats div{background:var(--glass);border:1px solid var(--stroke);border-radius:18px;padding:10px 4px}.res-stats b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;display:block}.res-stats span{color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.res-coins{justify-content:center;align-items:center;gap:8px;margin-bottom:8px;font-size:22px;font-weight:700;display:flex}.res-missions{flex-direction:column;gap:6px;margin-bottom:14px;list-style:none;display:flex}.res-missions li{text-align:left;animation:slide-in .5s var(--spring) both;background:#3dffa229;border:1px solid #3dffa266;border-radius:16px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex}.res-missions li.skin{background:color-mix(in srgb, var(--a) 16%, transparent);border-color:color-mix(in srgb, var(--a) 45%, transparent)}.res-missions li svg{color:#3dffa2;flex:none;width:18px;height:18px}.res-missions li span{flex:1}.res-missions li b{align-items:center;gap:4px;font-weight:700;display:flex}.res-missions .coin{--s:16px}.scrim{opacity:0;pointer-events:none;background:#03020c80;transition:opacity .3s;position:absolute;inset:0}.scrim.show{opacity:1;pointer-events:auto}.sheet{overscroll-behavior:contain;touch-action:pan-y;max-width:560px;max-height:88%;padding:18px calc(var(--sar) + 18px) calc(var(--sab) + 22px) calc(var(--sal) + 18px);background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(28px)saturate(170%);backdrop-filter:blur(28px)saturate(170%);box-shadow:var(--shadow);visibility:hidden;border-bottom:none;border-radius:30px 30px 0 0;margin:0 auto;transition:transform .42s cubic-bezier(.2,.9,.2,1),visibility 0s linear .42s;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(105%)}.sheet.show{visibility:visible;transition:transform .42s cubic-bezier(.2,.9,.2,1),visibility;transform:none}.sheet-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.sheet-head h2{flex:1;font-size:28px;font-weight:700}.sheet-hint{color:var(--text-2);margin-bottom:14px;font-size:14px}.sheet-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);margin:20px 0 10px;font-size:13px;font-weight:700}.skin-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.skin-card{background:var(--glass);border:1.5px solid var(--stroke);text-align:center;border-radius:22px;padding:10px 10px 12px;transition:transform .16s,border-color .2s;position:relative}.skin-card canvas{aspect-ratio:1;border-radius:16px;width:100%;display:block}.skin-card h4{margin-top:8px;font-size:17px;font-weight:700}.skin-card .status{min-height:22px;color:var(--text-2);justify-content:center;align-items:center;gap:5px;margin-top:4px;font-size:13px;font-weight:600;display:flex}.skin-card .status .coin{--s:16px}.skin-card .status svg{width:15px;height:15px}.skin-card.equipped{border-color:var(--a);box-shadow:0 0 0 3px color-mix(in srgb, var(--a) 30%, transparent)}.skin-card.equipped .status{color:var(--a)}.skin-card.previewing{border-color:var(--text);transform:translateY(-3px)}.skin-card.locked canvas{filter:saturate(.55)brightness(.8)}.skin-card.confirm .status{color:var(--on-accent);background:linear-gradient(135deg, var(--a), var(--b));border-radius:999px;width:-moz-fit-content;width:fit-content;margin:4px auto 0;padding:2px 8px}.skin-card.shake{animation:.4s shake}.gift-card{background:linear-gradient(135deg, color-mix(in srgb, var(--a) 22%, transparent), color-mix(in srgb, var(--b) 22%, transparent));border:1px solid var(--stroke);border-radius:22px;align-items:center;gap:14px;margin:8px 0 18px;padding:14px;display:flex}.gift-card .gift-ico{background:var(--glass-2);border-radius:16px;flex:none;place-items:center;width:52px;height:52px;display:grid}.gift-card .gift-ico svg{width:30px;height:30px}.gift-card.ready .gift-ico svg{animation:1.6s ease-in-out infinite wiggle}.gift-card .gift-txt{text-align:left;flex:1}.gift-card .gift-txt b{font-size:17px;display:block}.gift-card .gift-txt span{color:var(--text-2);font-size:13px}.gift-card .btn{height:44px;padding:0 16px;font-size:16px}.gift-card .btn.primary{height:44px;font-size:16px}.mission-list{flex-direction:column;gap:10px;list-style:none;display:flex}.mission{background:var(--glass);border:1px solid var(--stroke);border-radius:20px;padding:14px}.mission .m-top{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.mission .m-top span{flex:1}.mission .m-top b{align-items:center;gap:5px;font-size:15px;display:flex}.mission .m-top .coin{--s:17px}.mission .bar{background:var(--glass-2);border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.mission .bar i{background:linear-gradient(90deg, var(--a), var(--b));border-radius:999px;height:100%;transition:width .6s;display:block}.mission .m-prog{color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums;margin-top:6px;font-size:12px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-grid div{background:var(--glass);border:1px solid var(--stroke);text-align:center;border-radius:16px;padding:10px 6px}.stat-grid b{font-variant-numeric:tabular-nums;font-size:19px;display:block}.stat-grid span{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.settings-list{flex-direction:column;gap:8px;margin:12px 0 18px;display:flex}.set-row{background:var(--glass);border:1px solid var(--stroke);cursor:pointer;border-radius:18px;align-items:center;gap:14px;padding:12px 14px;font-size:17px;font-weight:600;display:flex}.set-row>i svg{width:22px;height:22px}.set-row span{flex:1}.switch{appearance:none;background:var(--glass-2);border:1px solid var(--stroke);cursor:pointer;border-radius:999px;flex:none;width:52px;height:32px;transition:background .25s;position:relative}.switch:after{content:"";width:24px;height:24px;transition:transform .28s var(--spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0000004d}.switch:checked{background:linear-gradient(135deg, var(--a), var(--b))}.switch:checked:after{transform:translate(20px)}.sheet>.btn.wide{margin-top:10px}.credits{text-align:center;color:var(--text-2);margin-top:18px;font-size:12px;line-height:1.6}.howto-card{width:min(94vw,420px)}.howto-list{text-align:left;flex-direction:column;gap:10px;margin:16px 0 18px;list-style:none;display:flex}.howto-list li{background:var(--glass);border:1px solid var(--stroke);border-radius:18px;align-items:center;gap:12px;padding:8px;display:flex}.howto-list canvas{border-radius:14px;flex:none;width:60px;height:60px}.howto-list p{color:var(--text-2);font-size:14.5px;line-height:1.35}.howto-list b{color:var(--text)}#toasts{top:calc(var(--sat) + 66px);pointer-events:none;z-index:5;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;left:16px;right:16px}.toast{background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);max-width:100%;box-shadow:var(--shadow);animation:toast-in .45s var(--spring) both, toast-out .35s ease 2.8s forwards;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:15px;font-weight:600;display:flex}.toast .coin{--s:18px}#boot{z-index:10;background:#07061a;place-items:center;transition:opacity .45s,visibility 0s linear .45s;display:grid;position:fixed;inset:0}#boot.gone{opacity:0;visibility:hidden}.boot-ring{border:9px solid #25f4ff;border-radius:50%;width:72px;height:72px;animation:.9s ease-in-out infinite beat;box-shadow:0 0 28px #25f4ff,inset 0 0 18px #ff3dd8}@keyframes beat{0%{transform:scale(1.08)}30%{transform:scale(.96)}to{transform:scale(1)}}@keyframes spin{to{rotate:360deg}}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes logo-in{0%{opacity:0;transform:translateY(-18px)scale(.9)}}@keyframes pop-in{0%{opacity:0;transform:scale(.5)}}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)}}@keyframes shimmer{to{background-position:300% 0}}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.35)}}@keyframes wiggle{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-14deg)}82%{transform:rotate(12deg)}88%{transform:rotate(-8deg)}94%{transform:rotate(5deg)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-16px)scale(.9)}}@keyframes toast-out{to{opacity:0;transform:translateY(-10px)scale(.96)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-height:640px){.dock-btn{height:54px}.dock-btn span,.home-note{display:none}}
