:root{
  --ink:#1f1638;--panel:#17143f;--purple:#6a1bb1;--pink:#ff2e78;--lime:#b9ff32;--gold:#ffe45e;
  --safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:dark;font-family:Inter,ui-rounded,"SF Pro Rounded",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0a1430;color:white;overscroll-behavior:none}button{font:inherit;color:inherit}button:focus-visible{outline:3px solid #ffe66d;outline-offset:3px}.hidden{display:none!important}.app-shell{height:100dvh;max-width:760px;margin:auto;position:relative;overflow:hidden;background:#172a51;box-shadow:0 0 80px #0009}.screen{position:absolute;inset:0;display:none;overflow:hidden}.screen-active{display:block}.loading-screen{display:none;place-items:center;align-content:center;gap:22px;background:radial-gradient(circle at 50% 28%,#8124ce,#2b135f 45%,#08142e)}.loading-screen.screen-active{display:grid}.loading-logo{width:min(86%,580px);filter:drop-shadow(0 14px 22px #12052d)}.loading-fruits{display:flex;gap:8px;font-size:2rem}.loading-fruits span{animation:fruit-bounce .8s ease-in-out infinite alternate}.loading-fruits span:nth-child(2){animation-delay:.1s}.loading-fruits span:nth-child(3){animation-delay:.2s}.loading-fruits span:nth-child(4){animation-delay:.3s}.loading-fruits span:nth-child(5){animation-delay:.4s}@keyframes fruit-bounce{to{transform:translateY(-14px) rotate(8deg)}}.loading-bar{width:min(72%,440px);height:13px;border-radius:999px;background:#ffffff24;overflow:hidden;border:2px solid #ffffff3b}.loading-bar i{display:block;height:100%;width:8%;background:linear-gradient(90deg,#b9ff32,#ffe45e,#ff5d9e);border-radius:inherit;transition:width .35s}.loading-screen p{margin:0;color:#d8d0f6}.creator-badge{width:260px;max-width:66%;height:auto}.global-hud{position:absolute;z-index:30;left:12px;right:12px;top:calc(10px + var(--safe-top));height:58px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:20px;background:linear-gradient(180deg,#211b52ed,#12183de8);border:1px solid #ffffff26;box-shadow:0 10px 25px #06112570;backdrop-filter:blur(12px)}.icon-button,.avatar-button{border:0;background:linear-gradient(180deg,#ffffff25,#ffffff0f);box-shadow:inset 0 1px #ffffff45,0 5px 12px #0004;border-radius:15px;min-width:44px;height:44px;font-size:1.7rem;font-weight:900;cursor:pointer}.resource{display:flex;align-items:center;gap:4px;background:#0b102f9e;border:1px solid #ffffff1f;padding:8px 10px;border-radius:14px;min-width:67px;justify-content:center}.resource strong{font-size:.98rem}.avatar-button{margin-left:auto;overflow:hidden;padding:0;background:linear-gradient(145deg,#ff9f1c,#ff2e78)}.avatar-button img{width:100%;height:100%;object-fit:cover}.menu-screen{padding:calc(74px + var(--safe-top)) 22px calc(18px + var(--safe-bottom));background:radial-gradient(circle at 20% 17%,#63e6be 0 8%,transparent 27%),radial-gradient(circle at 85% 25%,#8a4fff 0 9%,transparent 27%),linear-gradient(180deg,#1c9fc1 0%,#53d593 42%,#376c35 100%)}.menu-screen:before{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(#0000,#1d3f2f99),url("../img/worlds/world-1.svg") center 78%/cover;opacity:.45}.menu-cloud{position:absolute;border-radius:50%;background:#ffffff52;filter:blur(1px)}.cloud-a{width:240px;height:70px;left:-50px;top:19%}.cloud-b{width:260px;height:76px;right:-100px;top:33%}.main-logo{position:relative;display:block;width:min(96%,620px);margin:0 auto -2vh;filter:drop-shadow(0 15px 24px #18364c99)}.hero-fruits{position:relative;height:min(29vh,310px);display:flex;justify-content:center;align-items:flex-end;gap:min(2vw,12px)}.hero-fruits img{width:min(31%,175px);filter:drop-shadow(0 15px 12px #123a2675);animation:hero-float 2.1s ease-in-out infinite}.hero-fruits img:nth-child(2){width:min(36%,200px);animation-delay:.25s}.hero-fruits img:nth-child(3){animation-delay:.5s}@keyframes hero-float{50%{transform:translateY(-10px) rotate(2deg)}}.primary-button{position:relative;border:4px solid white;border-radius:999px;background:linear-gradient(180deg,#ff5d9e,#ff1971);box-shadow:inset 0 -8px #bd1457,0 10px 0 #8b174d,0 16px 24px #14322566;font-weight:1000;letter-spacing:.06em;text-shadow:0 3px #8c1c4e;cursor:pointer}.primary-button:active{transform:translateY(6px);box-shadow:inset 0 -4px #bd1457,0 4px 0 #8b174d}.mega{display:block;width:min(72%,450px);height:78px;margin:0 auto 20px;font-size:2rem}.menu-actions{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tile-button{border:1px solid #ffffff52;border-radius:20px;background:linear-gradient(180deg,#223b5ddd,#122640e8);box-shadow:inset 0 1px #ffffff50,0 8px 20px #102d2566;padding:10px 5px;min-height:88px;display:grid;place-items:center;cursor:pointer}.tile-button span{font-size:1.8rem}.tile-button b{font-size:.84rem}.tile-button small{color:#bcd9dc;font-size:.67rem}.social-panel{position:relative;margin-top:12px;display:grid;gap:8px}.facebook-button,.secondary-button{height:48px;border:1px solid #ffffff54;border-radius:14px;font-weight:800;cursor:pointer}.facebook-button{background:#1877f2;display:flex;align-items:center;justify-content:center;gap:10px}.facebook-button b{font-family:Arial;font-size:1.8rem}.secondary-button{background:#ffffff22}.menu-creator{position:relative;display:block;width:210px;margin:8px auto 0}.map-screen{padding:calc(78px + var(--safe-top)) 0 calc(15px + var(--safe-bottom));background:linear-gradient(180deg,#40c9a2,#268169)}.map-head{height:72px;margin:0 14px 8px;border-radius:20px;padding:9px 12px;display:flex;align-items:center;gap:12px;background:#102743dc;border:1px solid #ffffff2b;box-shadow:0 10px 24px #123c3670}.map-head div{flex:1}.map-head h1,.map-head p{margin:0}.map-head h1{font-size:1.22rem}.map-head p{font-size:.8rem;color:#b9d7da}.world-tabs{display:flex;gap:8px;padding:8px 14px;overflow-x:auto;scrollbar-width:none}.world-tabs::-webkit-scrollbar{display:none}.world-tab{flex:0 0 auto;border:1px solid #ffffff3b;border-radius:999px;background:#17334dba;padding:9px 14px;font-size:.78rem;cursor:pointer}.world-tab.active{background:linear-gradient(135deg,#ff2e78,#9f30dd);box-shadow:0 5px 14px #240a4b60}.level-map{height:calc(100% - 155px);overflow-y:auto;padding:32px 16px 90px;position:relative;background-position:center;background-size:cover;scroll-behavior:smooth}.level-map:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:110px;transform:translateX(-50%);border-radius:50px;background:linear-gradient(90deg,#c18443,#f7cf72 40%,#fff1aa 50%,#f7cf72 60%,#a76b34);box-shadow:0 0 0 10px #ffffff18}.level-node{position:relative;z-index:1;display:flex;align-items:center;width:100%;min-height:108px}.level-node:nth-child(odd){justify-content:calc(50% - 30px)}.level-node:nth-child(even){justify-content:flex-end;padding-right:calc(50% - 63px)}.level-button{width:78px;height:78px;border-radius:50%;border:5px solid #fff;background:linear-gradient(145deg,#ffdf3e,#ff8c1a);box-shadow:inset 0 -8px #d5600b,0 8px 0 #9e4610,0 13px 20px #09283b7a;font-weight:1000;font-size:1.4rem;cursor:pointer;position:relative}.level-button.locked{filter:grayscale(.9);background:#64748b;box-shadow:inset 0 -8px #384152,0 8px #273140;cursor:not-allowed}.level-button.boss{background:linear-gradient(145deg,#ff477e,#8f2bd1);box-shadow:inset 0 -8px #67198f,0 8px #42116b,0 13px 20px #09283b7a}.node-stars{position:absolute;top:80px;display:flex;font-size:.85rem;letter-spacing:-2px;filter:drop-shadow(0 2px 2px #000)}.game-screen{padding:calc(12px + var(--safe-top)) 10px calc(8px + var(--safe-bottom));background:radial-gradient(circle at 50% 8%,#5dd4d4,#244b87 45%,#101c45)}.game-top{height:72px;display:flex;gap:8px;align-items:center}.level-label,.moves-box,.score-box{height:60px;border:1px solid #ffffff2c;border-radius:17px;background:linear-gradient(180deg,#26235ae8,#14153de8);box-shadow:inset 0 1px #ffffff3b,0 8px 18px #020c2780;padding:7px 12px;text-align:center;min-width:79px;transition:background .3s,box-shadow .3s}.level-label strong,.moves-box strong,.score-box strong{display:block;font-size:1.35rem}.level-label small,.moves-box small,.score-box small{font-size:.57rem;color:#b8cbe6;letter-spacing:.08em}.score-box{flex:1}
.moves-box.low{animation:moves-low-pulse .85s ease-in-out infinite;box-shadow:inset 0 1px #ffffff3b,0 0 18px #ff4d4dcc}
@keyframes moves-low-pulse{50%{transform:scale(1.07);background:linear-gradient(180deg,#5a2323e8,#3d1414e8)}}
.score-box.frenzy{background:linear-gradient(180deg,#ff8a2be8,#ff2e78e8);box-shadow:inset 0 1px #ffffff60,0 0 22px #ff8a2baa;animation:frenzy-pulse 1s ease-in-out infinite}
@keyframes frenzy-pulse{50%{transform:scale(1.035)}}
.combo-meter{position:relative;height:13px;margin:6px 2px 0;border-radius:999px;background:#ffffff1a;border:1px solid #ffffff2a;overflow:hidden;box-shadow:inset 0 2px 4px #00000040}
.combo-meter-fill{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#3ddc97,#ffe45e 55%,#ff5d9e);transition:width .35s cubic-bezier(.3,.7,.3,1);box-shadow:0 0 10px #ffe45e80}
.combo-meter-fill.full{animation:combo-full-pulse .6s ease-in-out infinite}
@keyframes combo-full-pulse{50%{filter:brightness(1.45)}}
.combo-meter-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:900;letter-spacing:.14em;color:#ffffffcc;text-shadow:0 1px 2px #00000090}.goal-list{height:63px;display:flex;justify-content:center;gap:8px;align-items:center}.goal-chip{height:52px;min-width:82px;border-radius:16px;padding:4px 8px;background:#101438d9;border:1px solid #ffffff35;display:flex;align-items:center;justify-content:center;gap:4px;box-shadow:0 5px 12px #0003}.goal-chip img{width:35px;height:38px}.goal-chip .goal-icon{font-size:1.6rem}.goal-chip b{font-size:1.05rem}.goal-chip.done{background:#166534cc;filter:saturate(1.3)}
.goal-chip.near{animation:goal-near-pulse 1s ease-in-out infinite;box-shadow:0 0 14px #ffe45ecc}
@keyframes goal-near-pulse{50%{transform:scale(1.09)}}
.goal-chip{transition:transform .2s}.game-board{--cols:8;position:relative;display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-auto-rows:1fr;aspect-ratio:1/1;width:min(100%,680px);max-height:calc(100dvh - 250px);margin:auto;padding:8px;gap:2px;border-radius:24px;background:linear-gradient(145deg,#132b5c,#0d1739);border:5px solid #ffffff45;box-shadow:inset 0 0 30px #02091f,0 14px 30px #02091f90;touch-action:none;transition:box-shadow .4s}
.game-board.frenzy{box-shadow:inset 0 0 30px #02091f,0 0 0 4px #ffcf4de0,0 0 34px #ff8a2bcc,0 14px 30px #02091f90}.cell{position:relative;border:0;border-radius:15px;background:#ffffff0c;min-width:0;min-height:0;padding:1px;cursor:pointer;overflow:visible}.cell.hole{background:transparent;pointer-events:none}.cell.selected{background:#fff86b70;box-shadow:0 0 0 3px #fff86b,0 0 18px #fff86b}.piece{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 3px #0006);transition:transform .15s}.cell:hover .piece{transform:scale(1.05)}.cell.explode .piece{animation:explode .3s cubic-bezier(.33,0,.67,1) forwards}
.cell.hint{animation:hint-glow 1.05s ease-in-out infinite}
.cell.hint .piece{animation:hint-bounce .65s ease-in-out infinite}
.cell.invalid{box-shadow:0 0 0 3px #ff5d7099,0 0 16px #ff5d7066!important}
.cell.swap-move{animation-name:swap-slide;animation-duration:170ms;animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:both;position:relative;z-index:3}
.cell.falling{--fall:1;animation-name:fall-drop;animation-duration:calc(180ms + var(--fall) * 26ms);animation-timing-function:cubic-bezier(.34,.74,.4,1.15);animation-fill-mode:both}
.cell.shuffle-pop{animation:shuffle-pop .42s ease}
.cell.deal-in{animation:deal-in .46s cubic-bezier(.22,.75,.32,1) both;animation-delay:var(--deal-delay,0ms)}
@keyframes explode{to{transform:scale(1.75) rotate(22deg);opacity:0;filter:brightness(2) saturate(1.4)}}
@keyframes hint-glow{0%,100%{box-shadow:0 0 0 0 #ffe66d00}50%{box-shadow:0 0 16px 5px #ffe66d99}}
@keyframes hint-bounce{50%{transform:scale(1.16) rotate(6deg)}}
@keyframes swap-slide{from{transform:translate(calc(var(--dx,0)*100%),calc(var(--dy,0)*100%))}to{transform:translate(0,0)}}
@keyframes fall-drop{from{transform:translateY(calc(var(--fall) * -100%));opacity:.55}70%{opacity:1}to{transform:translateY(0);opacity:1}}
@keyframes shuffle-pop{0%{transform:scale(1) rotate(0);opacity:1}45%{transform:scale(.12) rotate(150deg);opacity:.15}55%{transform:scale(.12) rotate(190deg);opacity:.15}100%{transform:scale(1) rotate(360deg);opacity:1}}
@keyframes deal-in{from{transform:translateY(-22px) scale(.5);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes board-shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
.game-board.shake{animation:board-shake .32s}
.fx-layer{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:visible}
.score-popup{position:absolute;transform:translate(-50%,-50%);font-weight:1000;font-size:1.3rem;color:#ffe66d;text-shadow:0 3px 6px #00000090,0 0 12px #ffb020aa;animation:score-pop .9s ease-out forwards;white-space:nowrap}
.score-popup.popup-big{font-size:1.85rem;color:#ff9f43}
@keyframes score-pop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}15%{transform:translate(-50%,-50%) scale(1.15);opacity:1}100%{transform:translate(-50%,-160%) scale(1);opacity:0}}
.spark{position:absolute;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:hsl(var(--hue,50) 90% 60%);box-shadow:0 0 6px hsl(var(--hue,50) 90% 60%);animation:spark-fly .55s ease-out forwards}
.spark.spark-special{width:12px;height:12px;margin:-6px}
@keyframes spark-fly{from{transform:translate(0,0) scale(1);opacity:1}to{transform:translate(var(--tx,20px),var(--ty,20px)) scale(.2);opacity:0}}.blocker{position:absolute;inset:-1px;border-radius:13px;pointer-events:none}.blocker-ice{border:5px solid #a6ecff;background:linear-gradient(135deg,#ffffff5c,#77ddff32);box-shadow:inset 0 0 10px white,0 0 7px #67dcff}.blocker-ice.hp2:after{content:"";position:absolute;inset:20%;border-top:3px solid white;transform:rotate(40deg)}.blocker-jam{background:radial-gradient(circle,#ff8cc8aa,#9d2c8f9e);mix-blend-mode:screen;border:3px dotted #ffd2eb}.blocker-crate{background:linear-gradient(45deg,#9a5b26 0 20%,#d49a57 21% 40%,#8f4f21 41% 60%,#d49a57 61% 80%,#8f4f21 81%);border:5px solid #6b3516;box-shadow:inset 0 0 0 5px #f1bd76}.blocker-crate:after{content:"";position:absolute;left:44%;top:-4%;width:12%;height:108%;background:#693111;transform:rotate(45deg)}.ingredient{font-size:clamp(1.8rem,8vw,4rem);display:grid;place-items:center;height:100%;filter:drop-shadow(0 4px 4px #0008)}.special-badge{position:absolute;inset:4%;width:92%;height:92%;object-fit:contain;filter:drop-shadow(0 0 7px #fff);animation:special-glow 1.7s ease-in-out infinite}
@keyframes special-glow{0%,100%{filter:drop-shadow(0 0 7px #fff)}50%{filter:drop-shadow(0 0 13px #fff) brightness(1.25)}}.boosters{height:75px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:7px}.booster{position:relative;border:1px solid #ffffff33;border-radius:17px;background:linear-gradient(180deg,#30235a,#17143d);box-shadow:inset 0 1px #ffffff35,0 7px 15px #050c2980;display:grid;place-items:center;padding:4px;cursor:pointer}.booster>span{font-size:1.65rem}.booster>b{position:absolute;right:5px;top:4px;background:#ff2e78;border-radius:999px;min-width:20px;padding:2px 4px;font-size:.7rem}.booster small{font-size:.61rem;color:#cad6e8}.booster.active{box-shadow:0 0 0 3px #ffe66d,0 0 18px #ffe66d}.combo-banner{position:absolute;z-index:15;top:42%;left:50%;transform:translate(-50%,-50%) rotate(-4deg);font-weight:1000;font-size:clamp(2rem,8vw,4rem);color:#ffe66d;text-shadow:0 5px #c52a76,0 9px #521169;animation:combo .8s both;pointer-events:none}
.combo-banner.frenzy-text{color:#ffcf4d;text-shadow:0 5px #ff5d1f,0 9px #7a1a00;font-size:clamp(1.6rem,7vw,3.2rem)}@keyframes combo{0%{transform:translate(-50%,-50%) scale(.2) rotate(-12deg);opacity:0}35%{transform:translate(-50%,-50%) scale(1.2) rotate(4deg);opacity:1}100%{transform:translate(-50%,-70%) scale(.9);opacity:0}}.modal{position:absolute;z-index:100;inset:0;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:#040819d9;backdrop-filter:blur(8px)}.modal-card{position:relative;width:min(100%,560px);max-height:90%;overflow:auto;border-radius:28px;background:linear-gradient(180deg,#302067,#15133e);border:2px solid #ffffff30;box-shadow:0 25px 80px #000b;padding:27px 20px 22px}.modal-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:#ffffff19;font-weight:900;cursor:pointer}.modal-card h2{margin:0 38px 14px 0;font-size:1.65rem}.modal-card p{color:#d2ccea}.modal-actions{display:grid;gap:10px;margin-top:18px}.modal-actions button{min-height:52px}.result-stars{font-size:3rem;text-align:center;letter-spacing:5px}
.result-stars .star-slot{display:inline-block}
.result-stars .star-slot.star-pop{animation:star-pop .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes star-pop{0%{transform:scale(0) rotate(-40deg)}60%{transform:scale(1.35) rotate(10deg)}100%{transform:scale(1) rotate(0)}}
.result-score{text-align:center;font-size:2rem;font-weight:1000;color:#ffe66d}
.modal-body{position:relative;z-index:1}
.confetti-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.confetti-piece{position:absolute;top:-14px;width:8px;height:14px;opacity:.9;border-radius:2px;animation:confetti-fall linear forwards}
@keyframes confetti-fall{to{transform:translateY(520px) rotate(540deg);opacity:0}}.shop-grid{display:grid;gap:10px}.shop-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border:1px solid #ffffff25;background:#ffffff0b;border-radius:18px;padding:14px}.shop-item h3,.shop-item p{margin:0}.shop-item p{font-size:.8rem}.shop-buy{border:0;border-radius:12px;background:linear-gradient(145deg,#ff2e78,#a63cff);padding:11px 13px;font-weight:900;cursor:pointer}.ranking{display:grid;gap:7px}.rank-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;padding:9px;border-radius:13px;background:#ffffff0d}.rank-row:first-child{background:#ffe66d25;border:1px solid #ffe66d}.rank-pos{font-weight:1000;font-size:1.2rem}.toast{position:absolute;z-index:150;left:50%;bottom:calc(95px + var(--safe-bottom));transform:translateX(-50%);max-width:90%;border-radius:999px;background:#101432e8;border:1px solid #ffffff35;padding:11px 18px;box-shadow:0 8px 30px #0008;animation:toast-in .25s both}@keyframes toast-in{from{opacity:0;transform:translate(-50%,20px)}}@media(min-width:761px){body{background:radial-gradient(circle,#263d6f,#080d20)}.app-shell{border-left:1px solid #ffffff20;border-right:1px solid #ffffff20}.game-board{max-height:620px}.menu-screen{padding-left:55px;padding-right:55px}}@media(max-height:700px){.hero-fruits{height:22vh}.main-logo{width:70%;margin-top:-15px}.mega{height:62px;margin-bottom:10px}.menu-actions .tile-button{min-height:72px}.menu-creator{display:none}.game-board{max-height:calc(100dvh - 220px)}.goal-list{height:52px}.boosters{height:62px}.game-top{height:62px}}

.legal-links{position:relative;display:flex;justify-content:center;gap:14px;font-size:.68rem}.legal-links a{color:#d9f1e7;text-decoration:none;opacity:.8}
