:root{--bg1: #3048a8;--bg2: #1a2366;--card: #22307f;--card-edge: #3a4cb0;--text: #fff;--muted: #aab6ff;--gold: #ffd23a;--green: #4cd964;--green-dark: #2a9c40;--blue: #4d6bff;--blue-dark: #2e45c2;--font: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg2);color:var(--text);font-family:var(--font);user-select:none;-webkit-user-select:none;overscroll-behavior:none}#app{position:fixed;inset:0}#game{position:absolute;inset:0;touch-action:none;display:block}.hidden{display:none!important}#hud{position:absolute;left:0;right:0;top:0;height:112px;padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 0;pointer-events:none}.hud-best{position:absolute;left:16px;top:calc(env(safe-area-inset-top,0px) + 18px);display:flex;align-items:center;gap:6px;color:var(--gold);font-weight:800;font-size:20px}.hud-best svg{width:24px;height:24px}.hud-score{text-align:center;font-weight:900;font-size:52px;line-height:1;margin-top:24px;text-shadow:0 3px 0 rgba(10,16,60,.55);font-variant-numeric:tabular-nums}.hud-score.bump{animation:bump .28s cubic-bezier(.3,1.6,.6,1)}@keyframes bump{40%{transform:scale(1.14)}}.hud-combo{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:6px;height:22px;font-weight:900;font-size:14px;letter-spacing:.5px;color:#7fe4ff;text-shadow:0 2px 0 rgba(10,16,60,.55);opacity:0;transform:scale(.7);transition:opacity .2s,transform .2s cubic-bezier(.3,1.6,.6,1)}.hud-combo.on{opacity:1;transform:none}.hud-combo span{margin-right:3px}.hud-combo i{width:8px;height:8px;border-radius:50%;background:#7fe4ff40;transition:background .2s}.hud-combo i.full{background:#7fe4ff;box-shadow:0 0 6px #7fe4ff}.hud-combo.on.last{animation:blink .5s ease-in-out infinite alternate}@keyframes blink{to{opacity:.45}}.icon-btn{pointer-events:auto;width:44px;height:44px;border:0;border-radius:14px;background:#ffffff24;color:#fff;display:grid;place-items:center;cursor:pointer}.icon-btn svg{width:24px;height:24px}.icon-btn:active{transform:scale(.94)}.hud-pause{position:absolute;right:16px;top:calc(env(safe-area-inset-top,0px) + 10px)}#screens:empty{display:none}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;animation:fade .18s ease-out}@keyframes fade{0%{opacity:0}}.menu{gap:28px}.menu-gear{position:absolute;right:16px;top:calc(env(safe-area-inset-top,0px) + 14px)}.logo{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:8px}.logo-row{display:flex;gap:6px}.logo-row span{--s: min(13vw, 58px);width:var(--s);height:var(--s);display:grid;place-items:center;font-weight:900;font-size:calc(var(--s) * .62);color:#fff;border-radius:calc(var(--s) * .18);background:linear-gradient(color-mix(in srgb,var(--c),#fff 25%),var(--c));box-shadow:inset 0 calc(var(--s) * -.1) 0 color-mix(in srgb,var(--c),#000 35%),0 4px 10px #00000040;text-shadow:0 2px 0 rgba(0,0,0,.25);padding-bottom:calc(var(--s) * .08);animation:drop .5s cubic-bezier(.3,1.5,.6,1) backwards}.logo-row:nth-child(2) span{--s: min(11vw, 50px)}.logo-row span:nth-child(1){animation-delay:.02s}.logo-row span:nth-child(2){animation-delay:.06s}.logo-row span:nth-child(3){animation-delay:.1s}.logo-row span:nth-child(4){animation-delay:.14s}.logo-row span:nth-child(5){animation-delay:.18s}.logo-row span:nth-child(6){animation-delay:.22s}@keyframes drop{0%{transform:translateY(-40px) scale(.6);opacity:0}}.menu-best{display:flex;align-items:center;gap:8px;color:var(--gold);font-weight:800;font-size:18px}.menu-best svg{width:22px;height:22px}.menu-best span{color:var(--muted);font-weight:700}.menu-btns{display:flex;flex-direction:column;gap:14px;width:min(300px,100%)}.btn{pointer-events:auto;width:100%;border:0;border-radius:18px;padding:16px 20px 19px;font:900 20px/1 var(--font);letter-spacing:.5px;color:#fff;cursor:pointer;text-shadow:0 2px 0 rgba(0,0,0,.22)}.btn:active{transform:translateY(3px);box-shadow:none!important}.btn.primary{background:linear-gradient(#6be37f,var(--green));box-shadow:inset 0 -5px 0 var(--green-dark),0 6px 14px #00000040}.btn.secondary{background:linear-gradient(#7189ff,var(--blue));box-shadow:inset 0 -5px 0 var(--blue-dark),0 6px 14px #00000040}.btn.ghost{background:#ffffff1f;box-shadow:inset 0 -4px #0000002e}.modal{background:#080c2c99;backdrop-filter:blur(3px)}.card{width:min(340px,100%);background:var(--card);border:2px solid var(--card-edge);border-radius:26px;padding:24px 20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 40px #0006;animation:pop .28s cubic-bezier(.3,1.5,.6,1)}@keyframes pop{0%{transform:scale(.85);opacity:0}}.card h2{margin:0 0 6px;text-align:center;font-size:26px;font-weight:900}.over-label{text-align:center;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:14px}.over-score{text-align:center;font-size:56px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}.over-best{display:flex;justify-content:center;align-items:center;gap:6px;color:var(--gold);font-weight:800;font-size:18px;margin-bottom:8px}.over-best svg{width:20px;height:20px}.record{align-self:center;background:var(--gold);color:#5a3a00;font-weight:900;padding:6px 14px;border-radius:999px;animation:pulse .9s ease-in-out infinite alternate}@keyframes pulse{to{transform:scale(1.08)}}.row{display:flex;align-items:center;justify-content:space-between;padding:12px 4px;font-weight:700;font-size:17px;cursor:pointer}.row input{display:none}.sw{width:52px;height:30px;border-radius:999px;background:#fff3;position:relative;transition:background .15s}.sw:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .15s}.row input:checked+.sw{background:var(--green)}.row input:checked+.sw:after{transform:translate(22px)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 8px}.stats div{background:#0000002e;border-radius:14px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:4px}.stats b{font-size:20px}.stats span{font-size:12px;color:var(--muted);font-weight:700;text-align:center}:root{--orange: #ff9a2e;--orange-dark: #c8650f}.btn.orange{background:linear-gradient(#ffb85c,var(--orange));box-shadow:inset 0 -5px 0 var(--orange-dark),0 6px 14px #00000040}.btn:disabled,.icon-btn:disabled{opacity:.35;pointer-events:none}.btn.mode{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 20px 17px}.btn.mode small{font-size:13px;font-weight:700;letter-spacing:0;opacity:.9}.btn .dot{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:#ff3b5c;border:3px solid var(--bg2);animation:pulse .8s ease-in-out infinite alternate}#hud.goal-mode{height:150px}#hud.goal-mode .hud-score{font-size:34px;margin-top:8px}.hud-goal{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:2px}.goal-label{font-weight:900;font-size:14px;letter-spacing:1px;color:var(--muted)}.goal-chips{display:flex;gap:8px;justify-content:center}.chip{display:flex;align-items:center;gap:5px;background:#0a103c66;border:2px solid rgba(255,255,255,.12);border-radius:14px;padding:4px 10px 4px 6px;font-weight:900;font-size:20px;min-width:62px}.chip svg{width:28px;height:28px;flex:none}.chip b svg{width:20px;height:20px;color:var(--green);display:block}.chip.done{border-color:var(--green)}.chip.pulse{animation:bump .3s cubic-bezier(.3,1.6,.6,1)}.goal-chips.big .chip{font-size:24px;padding:6px 12px 6px 8px}.goal-chips.big .chip svg{width:34px;height:34px}.goal-chips.big .chip>svg:not(.gem):not(.ice){color:var(--gold)}.goal-bar{position:relative;width:min(240px,64vw);height:26px;border-radius:999px;background:#0a103c73;border:2px solid rgba(255,255,255,.14);overflow:hidden}.goal-bar i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(#ffe27a,var(--gold));transition:width .35s}.goal-bar span{position:relative;display:block;text-align:center;line-height:22px;font-weight:900;font-size:14px;text-shadow:0 1px 0 rgba(0,0,0,.35)}.goal-desc{display:flex;flex-direction:column;align-items:center;gap:8px;margin:2px 0 6px;text-align:center}.goal-desc small{color:var(--muted);font-weight:700}.badge{align-self:center;background:#ffffff24;font-weight:900;font-size:13px;padding:5px 12px;border-radius:999px;letter-spacing:.5px}.badge.boss{background:#ff3b5c}.stars{display:flex;gap:2px;color:#0000004d}.stars.center{justify-content:center}.stars span{display:block;width:18px;height:18px}.stars svg{width:100%;height:100%;display:block}.stars span.on{color:var(--gold)}.stars.big{gap:8px;margin:4px 0 6px}.stars.big span{width:54px;height:54px;color:#00000047}.stars.big span:nth-child(2){transform:translateY(-10px)}.stars.big span.on{color:var(--gold);filter:drop-shadow(0 3px 0 #b8860b)}.stars span.pop{animation:starpop .4s cubic-bezier(.3,1.8,.6,1)}.stars.big span:nth-child(2).pop{animation-name:starpop2}@keyframes starpop{0%{transform:scale(.2) rotate(-40deg)}}@keyframes starpop2{0%{transform:translateY(-10px) scale(.2) rotate(-40deg)}}.stars.mini span{width:13px;height:13px}.page{justify-content:flex-start;padding:0}.page-head{display:flex;align-items:center;gap:12px;width:100%;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px}.page-head h1{flex:1;margin:0;font-size:24px;font-weight:900}.star-total,.streak{display:flex;align-items:center;gap:4px;font-weight:900;font-size:18px}.star-total svg{width:22px;height:22px;color:var(--gold)}.star-total span{color:var(--muted);font-size:14px}.streak svg{width:26px;height:26px}.streak.big{justify-content:center;font-size:40px;gap:6px}.streak.big svg{width:44px;height:44px}.streak.big span{font-size:15px;color:var(--muted);align-self:flex-end;margin-bottom:8px}.page-scroll{flex:1;width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 16px calc(env(safe-area-inset-bottom,0px) + 24px)}.map-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:14px 10px;max-width:420px;margin:0 auto}.node{position:relative;aspect-ratio:1;border:0;border-radius:22px;background:linear-gradient(#5a74ff,#4058d8);box-shadow:inset 0 -5px #2c3ea8,0 5px 10px #00000040;color:#fff;font:900 24px/1 var(--font);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;text-shadow:0 2px 0 rgba(0,0,0,.25)}.node:active{transform:translateY(3px)}.node:after{content:"";position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%}.node.k-gems:after{background:#ff3b5c}.node.k-ice:after{background:#bfe9ff}.node.k-score:after{background:var(--gold)}.node.done{background:linear-gradient(#6be37f,var(--green));box-shadow:inset 0 -5px 0 var(--green-dark),0 5px 10px #00000040}.node.boss{border-radius:50%}.node.boss:not(.locked):not(.done){background:linear-gradient(#ff7a8a,#ff3b5c);box-shadow:inset 0 -5px #b81e3a,0 5px 10px #00000040}.node.current{outline:4px solid #fff;outline-offset:2px;animation:pulse .8s ease-in-out infinite alternate}.node.locked{background:#ffffff1a;box-shadow:inset 0 -4px #0003;color:#ffffff59}.node.locked:after{display:none}.node .num svg{width:22px;height:22px;display:block}.node .stars{color:#00000040}.shake{animation:shake .3s}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.daily{display:flex;flex-direction:column;gap:14px;max-width:420px;margin:0 auto}.cal-card{background:var(--card);border:2px solid var(--card-edge);border-radius:22px;padding:14px 12px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-head div{display:flex;flex-direction:column;align-items:center;gap:2px}.cal-head b{font-size:19px}.cal-head small{color:var(--muted);font-weight:700}.icon-btn.small{width:36px;height:36px;border-radius:12px}.icon-btn.small svg{width:20px;height:20px}.icon-btn.flip svg{transform:scaleX(-1)}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-week span{text-align:center;font-size:12px;font-weight:800;color:var(--muted);padding-bottom:4px}.cal-day{aspect-ratio:1;border:0;border-radius:12px;background:#ffffff14;color:#fff;font:800 15px/1 var(--font);display:grid;place-items:center;cursor:pointer;padding:0}.cal-day svg{width:18px;height:18px}.cal-day.done{background:var(--green);box-shadow:inset 0 -3px 0 var(--green-dark)}.cal-day.today{outline:2px solid var(--orange);outline-offset:-2px}.cal-day.future{opacity:.3;pointer-events:none}.cal-day.sel{outline:3px solid #fff;outline-offset:-3px}.streak-row{display:flex;justify-content:space-between;padding:0 6px;color:var(--muted);font-weight:700}.streak-row b{color:#fff}.daily-pick{display:flex;flex-direction:column;gap:10px}.daily-date{text-align:center;font-weight:800;font-size:17px}.win .card{border-color:var(--gold)}body{background:var(--bg2)}.menu-top{position:absolute;left:16px;right:16px;top:calc(env(safe-area-inset-top,0px) + 14px);display:flex;justify-content:space-between;align-items:center}.menu-icons{display:flex;gap:10px}.coin-pill{display:flex;align-items:center;gap:6px;background:#00000040;border-radius:999px;padding:5px 14px 5px 6px;font-weight:900;font-size:18px;font-variant-numeric:tabular-nums}.coin-pill.bump{animation:bump .35s cubic-bezier(.3,1.6,.6,1)}.coin{width:28px;height:28px;flex:none;display:block}.reward{align-self:center;display:flex;align-items:center;gap:6px;background:#00000038;border-radius:999px;padding:6px 16px 6px 8px;font-weight:900;font-size:22px;color:var(--gold);margin:2px 0 6px;animation:pop .4s .3s cubic-bezier(.3,1.6,.6,1) backwards}.btn-coin{display:inline-flex;align-items:center;gap:2px;margin-left:10px;vertical-align:middle}.btn-coin .coin,.btn.small .coin{width:22px;height:22px}.btn.small{display:flex;align-items:center;justify-content:center;gap:4px;padding:9px 10px 12px;font-size:16px;border-radius:14px}.login-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 10px}.login-day{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border-radius:14px;background:#0003;border:2px solid transparent;font-weight:900}.login-day small{font-size:11px;color:var(--muted);font-weight:800}.login-day svg{width:26px;height:26px}.login-day.got{opacity:.5}.login-day.got svg{color:var(--green)}.login-day.today{border-color:var(--gold);background:#ffd23a29;animation:pulse .8s ease-in-out infinite alternate}.login-day.big{grid-column:span 2}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:440px;margin:0 auto}.theme-card{background:var(--card);border:2px solid var(--card-edge);border-radius:20px;padding:8px;display:flex;flex-direction:column;gap:8px;align-items:stretch;text-align:center}.theme-card.cur{border-color:var(--green)}.theme-card canvas,.buy-preview{width:100%;aspect-ratio:3 / 2;border-radius:14px;display:block}.theme-card b{font-size:17px}.badge.on{display:flex;align-items:center;justify-content:center;gap:4px;background:var(--green);align-self:stretch;padding:9px 4px;border-radius:14px;font-size:14px}.badge.on svg{width:18px;height:18px}.seg{display:flex;background:#00000040;border-radius:12px;padding:3px;gap:3px}.seg button{border:0;background:transparent;color:#fff;font:800 14px/1 var(--font);padding:8px 10px;border-radius:9px;cursor:pointer;opacity:.6}.seg button.on{background:var(--blue);opacity:1}.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 40px);transform:translate(-50%);background:#080c2ceb;color:#fff;font-weight:800;padding:12px 20px;border-radius:999px;z-index:50;white-space:nowrap;animation:pop .25s cubic-bezier(.3,1.6,.6,1)}.ver{text-align:center;font-size:12px;color:var(--muted);opacity:.7}.play-link{display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:14px;background:#00000059;color:#fff;text-decoration:none;font-weight:800;font-size:15px}.play-link svg{width:24px;height:24px}.hud-aids{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);display:flex;justify-content:center;gap:14px;pointer-events:none}.aid-btn{pointer-events:auto;position:relative;display:flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:9px 16px 11px 12px;background:#00000047;box-shadow:inset 0 -3px #00000040;color:#fff;font:800 15px/1 var(--font);cursor:pointer;animation:pop .3s cubic-bezier(.3,1.6,.6,1)}.aid-btn:active{transform:translateY(2px)}.aid-btn>svg:first-child{width:22px;height:22px}.aid-btn[data-act=hint]>svg:first-child{color:var(--gold)}.aid-btn b{position:absolute;top:-6px;left:-4px;min-width:20px;height:20px;border-radius:10px;background:#ff3b5c;font-size:12px;line-height:20px;text-align:center;padding:0 5px}.ad-ico{width:22px;height:22px;flex:none;vertical-align:middle}.btn .ad-ico{margin-right:8px;margin-top:-3px}.btn.dbl{align-self:center;width:auto;padding:10px 18px 13px}.push-bell{display:flex;justify-content:center}.push-bell svg{width:64px;height:64px;animation:ring 1.2s ease-in-out infinite;transform-origin:50% 10%}@keyframes ring{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%,40%{transform:rotate(-14deg)}}.ad-sim{position:fixed;inset:0;z-index:100;background:repeating-linear-gradient(45deg,#222 0 18px,#2b2b2b 18px 36px);display:grid;place-items:center;padding:16px}.ad-box{width:min(320px,100%);background:#111;border:3px dashed #ffd23a;border-radius:18px;padding:22px 18px;text-align:center;display:flex;flex-direction:column;gap:10px}.ad-box h3{margin:0;color:#ffd23a;font-size:24px;letter-spacing:1px}.ad-box p{margin:0;color:#ddd;font-weight:600}.ad-meta{font-size:12px;opacity:.6}.ad-count{font-size:44px;font-weight:900;color:#fff}.updating{gap:18px;background:var(--bg2);font-size:18px}.spinner{width:46px;height:46px;border-radius:50%;border:5px solid rgba(255,255,255,.2);border-top-color:var(--gold);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
