@import url('https://fonts.googleapis.com/css2?family=Lilita+One&family=Nunito:wght@400;600;700;800;900&display=swap');

:root{--cream:#fff8ec;--ink:#4b2940;--pink:#ed5175;--pink-dark:#ad294f;--muted:#846575;--display:'Lilita One','Arial Rounded MT Bold','Trebuchet MS',sans-serif;--body:'Nunito','Trebuchet MS',sans-serif;--cell:clamp(32px,calc((100svh - 405px)/10),49px)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;background:var(--cream);color:var(--ink);font-family:var(--body);-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,.board:focus-visible{outline:3px solid #7055b2;outline-offset:4px}[hidden]{display:none!important}.icon-library{position:absolute;width:0;height:0;overflow:hidden}button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}button:active:not(:disabled){transform:translateY(3px);box-shadow:none}.world-scenery{position:fixed;inset:0;z-index:-1;pointer-events:none;background:#fff8ec center bottom/cover no-repeat}.art-world-ready .world-scenery{background-image:linear-gradient(#fff8ec25,#fff8ec12),url('assets/sweet-world-v2.png')}.page-shell{max-width:1380px;padding:0 44px;margin:auto}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:8px;font:36px/1 var(--display);color:var(--pink);text-decoration:none;letter-spacing:-1px;text-shadow:0 2px #fff,0 4px #ad294f20}.brand-giro{color:#754980}.brand-dot{color:#e1a93d}.brand img{width:48px;height:48px;transform:rotate(-9deg);filter:drop-shadow(0 3px 0 #ae59612a)}.topbar-note{font-size:10px;letter-spacing:1.5px;font-weight:900;color:#966876;background:#fff8eccc;border:2px solid #fff;padding:10px 17px;border-radius:40px}.utilities{display:flex;gap:9px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border-radius:16px;border:2px solid #fff;background:linear-gradient(#fffdfa,#f7e5d5);box-shadow:0 4px 0 #d5b5a7,0 5px 8px #73424b12}.icon-button:hover{background:#ffe0e7}.icon-button[aria-pressed=true]{background:#d6ecd9}.icon-button:disabled{opacity:.5}
.game-layout{display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(190px,.8fr);gap:56px;align-items:center;max-width:1100px;margin:15px auto 28px}.play-area{width:calc(var(--cell)*6 + 36px)}.intro{max-width:285px}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:1.1px;font-weight:900;color:var(--pink-dark)}.intro>.eyebrow{display:inline-block;padding:7px 12px;background:#fff2ca;border:2px solid #fff;border-radius:40px;box-shadow:0 3px 0 #e5cfa4;transform:rotate(-3deg);font-size:9px}.tiny-star{color:#db9c25;font-size:17px;vertical-align:middle;margin-right:5px}h1,h2,h3{font-family:var(--display);font-weight:400}h1{font-size:clamp(44px,4.8vw,67px);line-height:1.02;letter-spacing:-1.3px;margin:24px 0 18px;text-shadow:0 3px #fff}.intro h1 em{color:var(--pink);font-style:normal}.intro-copy{font-size:14px;line-height:1.65;color:#785467}.candy-trail{display:flex;align-items:center;gap:9px;margin:22px 0 26px;font-family:var(--display)}.little-candy{width:43px;height:43px;font-size:24px;display:grid;place-items:center;transform:rotate(-8deg)}.little-candy:nth-of-type(3){transform:rotate(8deg)}.little-candy:nth-of-type(5){width:51px;height:51px;transform:rotate(-5deg);font-size:29px}.trail-plus,.trail-arrow{font-size:24px;color:#b78b86}.trail-spark{font-size:31px;color:#dfab4b}.quick-guide{list-style:none;margin:0;padding:0;display:grid;gap:11px}.quick-guide li{display:flex;gap:11px;align-items:center}.step-number{width:30px;height:30px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-family:var(--display);background:#fff9ef;border:2px solid #fff;box-shadow:0 3px 0 #e7d0bd;color:var(--pink)}.quick-guide strong{font-size:12px;font-weight:900}.quick-guide p{font-size:11px;color:#8c6875;margin:3px 0}.slow-note{font-size:10px;color:#805f68;margin:22px 0 0;display:flex;align-items:center;gap:7px}.slow-note>span{width:7px;height:7px;background:#84bca0;border-radius:50%;box-shadow:0 0 0 3px #84bca030}.keyboard-note{font-size:10px;line-height:2.5;color:#987881;margin:12px 0 0}kbd{font:inherit;font-size:9px;border:1px solid #ead3c4;border-bottom-width:3px;background:#fffaf1;border-radius:5px;padding:2px 5px;margin-right:3px}
.scoreboard{display:grid;grid-template-columns:1.1fr 1.1fr .9fr;gap:7px;margin-bottom:12px}.scoreboard>div{text-align:center;background:linear-gradient(#fffefa,#fff1df);border:2px solid #fff;border-radius:17px;padding:7px 3px 8px;box-shadow:0 4px 0 #dfc6ad,0 7px 10px #5b39400b;min-width:0}.scoreboard .record-stat{background:linear-gradient(#fff3cc,#ffe3a0);box-shadow:0 4px 0 #dcb570}.stat-label{font-size:8px;letter-spacing:.8px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:3px;color:#987264}.stat-label svg{width:10px;height:10px;fill:#c49334;stroke:#c49334;stroke-width:1.5}.scoreboard strong{font:clamp(19px,2vw,27px)/1.2 var(--display);display:block;margin-top:2px;white-space:nowrap;color:#67435a}.record-stat strong{color:#9d672b}
.mission-panel{position:relative;background:linear-gradient(125deg,#fff4e6,#fffaf2);border:2px solid #fff;border-radius:19px;padding:0 13px 10px;box-shadow:0 4px 0 #e2c4b0,0 7px 16px #7048590b}.mission-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mission-top button{border:0;background:transparent;min-height:44px;padding:5px 0;font-size:11px;font-weight:900}.level-link{color:#ba3c5d}.mode-link{color:#8c6a78;text-decoration:underline;text-underline-offset:3px}.mission-top button:disabled{opacity:.45}.mission-panel>strong{font-size:13px;font-weight:900;display:block}.mission-bottom{display:flex;align-items:center;gap:10px;margin-top:7px}.mission-meter,.goal-progress{height:10px;background:#e4d3c5;border-radius:20px;overflow:hidden;box-shadow:inset 0 2px 2px #9f756425;border:1px solid #ead9cf}.mission-meter{flex:1}.mission-meter>span,.goal-progress>span{display:block;height:100%;border-radius:20px;background:repeating-linear-gradient(120deg,#f27199 0 8px,#ffafc5 8px 13px);box-shadow:inset 0 2px #ffffff70;transition:width .3s ease-out}#mission-count{font-size:10px;font-weight:900;color:#987064;white-space:nowrap}
.piece-strip{display:flex;align-items:center;justify-content:space-between;height:47px;margin:6px 3px 3px;gap:5px}.tempo{font-size:8px;font-weight:900;letter-spacing:.3px;display:flex;align-items:center;gap:6px;color:#876578}.tempo-dot{width:7px;height:7px;background:#82b998;border-radius:50%;box-shadow:0 0 0 3px #9acbae35}.next-block{display:flex;align-items:center;gap:8px;padding:0 6px 0 10px;background:#fff9f0c9;border:2px solid #fff;border-radius:15px;box-shadow:0 2px 0 #e9d1bd}.queue-label{font-size:8px;color:#9c7281;font-weight:900;letter-spacing:.6px}.mini-piece{position:relative;width:54px;height:42px;flex-shrink:0}.mini-tile{position:absolute;width:13px;height:13px;display:grid;place-items:center;font:9px/1 var(--display);border-radius:4px}.touch-guide{display:none;text-align:center;font-size:10px;color:#886270;margin:0 0 7px}
.jar-wrap{position:relative;padding-top:25px}.jar-lid{position:absolute;left:9%;right:9%;height:31px;top:0;z-index:2;border-radius:12px 12px 7px 7px;background:repeating-linear-gradient(90deg,#f28ca6 0 7px,#e97796 7px 9px);box-shadow:inset 0 3px #ffd1df,inset 0 -4px #bc577b,0 3px 0 #9f658925;display:flex;align-items:center;justify-content:center;border:2px solid #fff0e8}.jar-lid span{font-size:8px;letter-spacing:1.2px;font-weight:900;color:#994a69;background:#ffdae5;border-radius:7px;border:1px solid #ffc1d4;padding:3px 11px;white-space:nowrap}.jar{position:relative;isolation:isolate;overflow:hidden;padding:17px 15px 15px;border-radius:29px 29px 36px 36px;border:3px solid #f4ffff;background:linear-gradient(115deg,#e4f7f2,#b9dfe7 58%,#a9d3df);box-shadow:inset 4px 0 0 #ffffff70,inset -5px -7px 0 #7ebac76b,0 6px 0 #72a6b056,0 12px 24px #71415714}.jar::after{content:'';position:absolute;inset:8px;border:1px solid #f0fffd8c;border-radius:22px 22px 30px 30px;pointer-events:none}.jar-shine{position:absolute;left:5px;top:38px;bottom:50px;width:4px;border-radius:10px;background:#fff9;pointer-events:none}.jar-shadow{width:86%;height:12px;background:#aa7f8830;filter:blur(5px);position:absolute;bottom:-12px;left:7%;border-radius:50%;z-index:-1}.board{position:relative;width:100%;aspect-ratio:6/10;border-radius:13px;background:#8dbac445;box-shadow:inset 0 3px 4px #48879330;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.grid-cells{position:absolute;inset:3px;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(10,1fr);gap:6px;pointer-events:none}.grid-cells>div{border-radius:25%;background:#effaf65e;box-shadow:inset 0 2px 2px #568d9d1c,inset 0 -1px #fff9}.board-layer{position:absolute;inset:0;pointer-events:none}#landing{z-index:1}#tiles{z-index:2}#falling{z-index:4}#board-effects{z-index:6}
.value-2{--candy:#f18daa;--candy-shadow:#dc678a;--candy-light:#ffb7cd;--candy-text:#642b49}.value-4{--candy:#f6c96d;--candy-shadow:#dfaa48;--candy-light:#ffe4a6;--candy-text:#735024}.value-8{--candy:#9acbae;--candy-shadow:#75b791;--candy-light:#c6e7cf;--candy-text:#305f4e}.value-16{--candy:#ae9cda;--candy-shadow:#907bc4;--candy-light:#d4c6ef;--candy-text:#4a3676}.value-32{--candy:#83c5d4;--candy-shadow:#59a7bb;--candy-light:#b3e4eb;--candy-text:#225e73}.value-64{--candy:#f38f74;--candy-shadow:#d97058;--candy-light:#ffb7a5;--candy-text:#78382d}.value-128{--candy:#cd82b5;--candy-shadow:#b56299;--candy-light:#ebb4db;--candy-text:#572649}.value-256{--candy:#b5ce69;--candy-shadow:#94b14b;--candy-light:#d9eaa1;--candy-text:#465c24}.value-512{--candy:#719ed8;--candy-shadow:#507cbb;--candy-light:#aecaf1;--candy-text:#203e6c}.value-1024{--candy:#ebbc5b;--candy-shadow:#c78c31;--candy-light:#ffe6a2;--candy-text:#6d4918}.value-2048{--candy:#f36286;--candy-shadow:#cc385e;--candy-light:#ffa6bd;--candy-text:#fff8ee}
.tile,.little-candy,.goal-candy,.mini-tile,.level-number{background-color:var(--candy,#f18daa);color:var(--candy-text,#642b49);border-radius:25%;box-shadow:inset 0 -4px 0 var(--candy-shadow,#dc678a),inset 0 2px 0 var(--candy-light,#ffb7cd),0 2px 3px #54323c20;text-shadow:0 1px #ffffff50}.art-tile-ready :is(.tile,.little-candy,.goal-candy,.mini-tile,.level-number){background-image:url('assets/jelly-tile-v2.png');background-size:116% 116%;background-position:center;background-blend-mode:luminosity;box-shadow:0 2px 2px #54323c20}.tile{position:absolute;width:calc(100%/6 - 6px);height:calc(10% - 6px);display:grid;place-items:center;font:clamp(18px,calc(var(--cell)*.53),28px)/1 var(--display);letter-spacing:-.4px;transition:top .19s ease-out,left .15s ease-out,opacity .15s;transform-origin:center 85%}.tile.big-number{font-size:calc(var(--cell)*.37)}.tile.huge-number{font-size:calc(var(--cell)*.27)}.tile.falling-tile{outline:2px solid #613b62;outline-offset:1px;box-shadow:0 3px 4px #59395030;transition:top .1s ease-out,left .08s ease-out}.tile.landing-tile{background:none!important;border:2px dashed #667f95;color:#516b83;box-shadow:none!important;opacity:.7;font-size:calc(var(--cell)*.4)}.piece-link{position:absolute;background:#613b62;border-radius:4px;z-index:-1}.instant .tile{transition:none!important}.tile.consumed{opacity:0;transform:scale(.5)}.tile.merged{animation:sweet-merge .38s ease-out}.tile.landed{animation:sweet-landing .32s ease-out}.board.dragging .falling-tile{transition:top .1s ease-out;filter:brightness(1.06)}
.board-overlay{position:absolute;inset:0;z-index:12;display:grid;place-items:center;text-align:center;padding:16px;background:#f2fbf0c9;backdrop-filter:blur(3px)}.board-overlay>div{width:100%;max-width:245px;padding:15px 13px 18px;border-radius:25px;background:linear-gradient(#fffdf7,#fff0e1);border:3px solid #fff;box-shadow:0 5px 0 #e1bcab,0 9px 20px #47657022}.board-overlay h2{font-size:30px;line-height:1.08;margin:10px 0 12px;color:#754058;letter-spacing:-.4px}.board-overlay p{font-size:12px;line-height:1.5;color:#846070;margin:0 0 17px}.board-overlay .eyebrow{font-size:8px}.board-overlay .primary-button{width:100%;padding:10px 7px;font-size:15px}.board-overlay.rescue-overlay{inset:auto 4px 46%;background:transparent;backdrop-filter:none;padding:8px;pointer-events:none}.rescue-overlay>div{padding:12px}.rescue-overlay h2{font-size:22px;margin:5px 0}.rescue-overlay p{font-size:11px;margin:0}.compact-overlay .pause-art,.rescue-overlay .eyebrow{display:none}.preview-badge{position:absolute;top:9px;left:50%;transform:translateX(-50%);z-index:10;font-size:8px;letter-spacing:.6px;font-weight:900;border:2px solid #fff;background:#fff4d8;color:#92603b;border-radius:20px;padding:6px 10px;white-space:nowrap;pointer-events:none}.game-status{height:28px;margin:10px 0 7px;text-align:center;font-size:10px;line-height:1.35;color:#81586b;font-weight:700;display:grid;place-items:center}.game-status.celebrate{color:#b62d56}
.piece-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.piece-controls button{height:51px;border:2px solid #fff;border-radius:15px;background:linear-gradient(#fffdf5,#f8e4d4);box-shadow:0 4px 0 #d8b5a5,0 5px 6px #7842520c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.piece-controls button>span{font-size:25px;font-weight:900;line-height:22px}.piece-controls button>small{font-size:10px;font-weight:900}.piece-controls .drop-control{background:linear-gradient(#f784a4,#ed5175);color:#fff;border-color:#ffc6d6;box-shadow:0 4px 0 #ad294f,0 6px 9px #c3526920}.piece-controls button:hover:not(:disabled){filter:brightness(1.04)}.piece-controls button:disabled{opacity:.46}.power-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.power-button{position:relative;overflow:hidden;display:flex;align-items:center;gap:6px;text-align:left;padding:8px 7px;min-height:61px;border:2px solid #fff;border-radius:17px;background:linear-gradient(#ffe8d0,#ffd4b8);box-shadow:0 4px 0 #d9987f}.power-button.turn-power{background:linear-gradient(#f0e5ff,#dbcaef);box-shadow:0 4px 0 #af94cd}.power-button>svg{width:25px;height:25px;flex-shrink:0}.power-button>span:not(.power-stock){display:flex;flex-direction:column;gap:3px;flex:1}.power-button strong{font-size:10px;font-weight:900;white-space:nowrap}.power-button small{font-size:9px;color:#866275;line-height:1.2}.power-stock{min-width:18px;height:22px;display:grid;place-items:center;font:13px var(--display);background:#fff8ef;border-radius:7px;box-shadow:0 2px 0 #ad766738}.power-button::after{content:'';position:absolute;bottom:0;left:0;height:3px;width:var(--charge,100%);background:#b15b794d;transition:width .2s}.power-button:disabled{opacity:.6;filter:saturate(.6)}.power-button.selected{outline:3px solid #9b4365;outline-offset:2px}.power-button.charged:not(:disabled){border-color:#fffdf0}.power-hint{font-size:9px;text-align:center;line-height:1.4;color:#987080;margin:9px 0 0;min-height:13px}.confirm-actions{display:flex;align-items:stretch;gap:8px;margin-top:12px;min-height:61px}.confirm-actions>button{flex:1;font-size:12px}
.primary-button,.confirm-button,.cancel-button{min-height:48px;padding:11px 19px;border:2px solid #ffc6d6;border-radius:16px;background:linear-gradient(#f582a2,#ed5175);box-shadow:0 4px 0 #ad294f;color:#fff;font-family:var(--display);font-size:17px;letter-spacing:.1px;display:inline-flex;align-items:center;justify-content:center;gap:12px}.primary-button:hover,.confirm-button:hover{filter:brightness(1.05)}.primary-button:disabled{opacity:.5}.cancel-button{background:linear-gradient(#fffdf7,#f7e2d4);border-color:#fff;color:#855a6c;box-shadow:0 4px 0 #d5b5a7;font:800 12px var(--body)}.text-button{border:0;background:none;color:#a44f6c;text-decoration:underline;text-underline-offset:4px;font-size:12px;font-weight:900;min-height:44px;display:block;margin:10px auto 0}.game-art{display:none;object-fit:contain;pointer-events:none}.art-jar-ready .jar-art,.art-bomb-ready .bomb-art,.art-turn-ready .turn-art,.art-trophy-ready .trophy-art,.art-spilled-ready .spilled-art{display:block}.art-bomb-ready .bomb-fallback,.art-turn-ready .turn-fallback{display:none}.pause-art{width:90px;height:90px;margin:-40px auto 5px;filter:drop-shadow(0 5px 5px #8b516220)}.power-art{width:34px;height:34px;flex-shrink:0;filter:drop-shadow(0 2px 1px #7c465c25)}.bomb-marker{position:absolute;width:calc(100%/6 - 6px);height:calc(10% - 6px);z-index:9;pointer-events:none;filter:drop-shadow(0 2px 2px #502f4b40)}.bomb-targets{position:absolute;inset:0;z-index:8;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(10,1fr)}.bomb-targets button{border:0;padding:0;background:transparent;border-radius:10px;min-width:0;touch-action:none}.bomb-targets button.in-blast{background:#f77d9859;box-shadow:inset 0 0 0 1px #cd617e}.bomb-targets button.bomb-center{background:#f47b987a;box-shadow:inset 0 0 0 2px #944669}.bomb-targets button:focus-visible{outline-offset:-3px}
.side-notes{max-width:230px}.goal-card{position:relative;transform:rotate(2deg);text-align:center;padding:17px 15px 20px;background:linear-gradient(#fffdf7,#fff0db);border:3px solid #fff;border-radius:28px;box-shadow:0 5px 0 #e1c2aa,0 9px 20px #75445612}.goal-card::before{content:'';position:absolute;top:-12px;left:35%;width:30%;height:25px;background:#f6b6c580;transform:rotate(-5deg);clip-path:polygon(0 0,100% 0,95% 20%,100% 40%,95% 60%,100% 80%,100% 100%,0 100%,5% 80%,0 60%,5% 40%,0 20%)}.goal-card>.eyebrow{font-size:8px;color:#b98670}.goal-illustration{position:relative;height:180px;margin:3px 0 0;display:grid;place-items:center}.goal-art{width:165px;height:165px;opacity:1}.goal-candy{position:absolute;display:grid;place-items:center;bottom:11px;right:5px;width:68px;height:68px;font:36px var(--display);transform:rotate(-9deg);z-index:1}.goal-candy.big-number{font-size:25px}.goal-spark{position:absolute;font-size:27px;color:#dfa541}.spark-one{top:22px;left:10px}.spark-two{top:75px;right:-3px;font-size:22px}.goal-card h2{font-size:24px;line-height:1.05;margin:10px 0 9px}.goal-card p{font-size:11px;line-height:1.6;color:#8d6874;margin:0 0 13px}.goal-progress{width:82%;margin:auto;height:8px}.goal-detail{font-size:10px;font-weight:900;margin-top:7px;color:#a17d6d}.tip-note{margin:25px 0 20px;padding:12px 13px;display:flex;align-items:center;gap:9px;background:#fff9efae;border:2px solid #fff;border-radius:17px;transform:rotate(-3deg)}.hand-arrow{font-size:36px;color:#ba778c}.tip-note p{font-size:11px;line-height:1.7;margin:0;color:#9f7880}.tip-note strong{color:#7e5668}.recipe-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;width:110px;height:110px;margin:auto;border:3px dashed #dc9e7b;border-radius:50%;background:#fff4c999;transform:rotate(9deg);box-shadow:0 0 0 5px #fff8ec8c;color:#bd7860}.recipe-stamp span{font-size:7px;font-weight:900;letter-spacing:1px}.recipe-stamp strong{font:22px/1.6 var(--display)}.page-footer{display:flex;justify-content:space-between;gap:16px;font-size:9px;color:#b38482;padding:10px 0 20px;max-width:1100px;margin:auto}.page-footer>span:last-child{letter-spacing:1.5px;font-size:8px;font-weight:900}
.game-dialog{width:min(500px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow-y:auto;overscroll-behavior:contain;border:4px solid #fff;border-radius:32px;background:linear-gradient(145deg,#fffdf7,#ffeedc);box-shadow:0 7px 0 #d9ac99,0 22px 80px #59385250;color:var(--ink);padding:32px}.game-dialog::backdrop{background:#65405960;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:14px;right:14px;box-shadow:0 3px 0 #d5b5a7;border-radius:15px}.game-dialog h2{font-size:32px;line-height:1.07;letter-spacing:-.4px;margin:10px 0 18px}.game-dialog p{font-size:12px;line-height:1.75;color:#866271}.game-dialog>.eyebrow{display:block}.dialog-art{width:100px;height:100px;margin:0 auto 7px;filter:drop-shadow(0 6px 4px #b76c6c1a)}.help-art{margin:-10px 0 0;width:70px;height:70px}.help-list{list-style:none;counter-reset:help;padding:0;display:grid;gap:10px;margin:20px 0}.help-list li{counter-increment:help;padding:11px 12px 11px 44px;border:2px solid #fff;background:#fff9ef;border-radius:15px;font-size:12px;line-height:1.6;position:relative;color:#846070}.help-list li::before{content:counter(help);position:absolute;left:12px;top:12px;width:23px;height:23px;display:grid;place-items:center;background:#f8cad7;border-radius:50%;color:#ab4565;font-family:var(--display)}.help-list strong{color:var(--ink)}.game-dialog details{font-size:12px;margin:16px 0}.game-dialog summary{font-weight:900;cursor:pointer;min-height:44px;padding:10px 0}.game-dialog details p{margin-top:0}.compact-dialog{text-align:center;max-width:410px}.compact-dialog .primary-button{width:100%}.dialog-actions{display:flex;gap:9px;margin-top:23px}.dialog-actions>*{flex:1}.dialog-actions .primary-button{font-size:14px}.end-score{font:48px var(--display);color:#b44d70;margin:12px 0}.win-art{width:140px;height:140px;margin:-10px auto -3px;filter:drop-shadow(0 6px 7px #ba885d25)}.level-stars{font-size:25px;letter-spacing:4px;color:#dfa541;text-shadow:0 2px #ffe5ac;margin-top:7px}.levels-dialog{max-width:540px}.map-art{width:85px;height:85px;margin:-9px 0 -10px}.levels-dialog h2{font-size:31px;margin-right:20px}.level-map{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:13px 11px;margin:22px 0 19px;padding:0 0 6px}.level-stop{position:relative;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:9px;min-height:94px;text-align:left;padding:10px 9px 19px;border:2px solid #fff;border-radius:19px;background:linear-gradient(#fffdfa,#ffeeda);box-shadow:0 4px 0 #dfc4ab}.level-stop:nth-child(2n){transform:translateY(7px)}.level-stop strong{font-size:12px;font-weight:900;display:block;line-height:1.2}.level-stop small{display:block;font-size:9px;line-height:1.4;color:#9b7481;margin-top:4px}.level-number{width:40px;height:40px;display:grid;place-items:center;font:25px var(--display);transform:rotate(-7deg)}.level-stop:nth-child(4n+2) .level-number{--candy:#f6c96d;--candy-shadow:#dfaa48;--candy-text:#735024}.level-stop:nth-child(4n+3) .level-number{--candy:#9acbae;--candy-shadow:#75b791;--candy-text:#305f4e}.level-stop:nth-child(4n+4) .level-number{--candy:#ae9cda;--candy-shadow:#907bc4;--candy-text:#4a3676}.map-stars{position:absolute;left:60px;bottom:5px;font-size:13px;letter-spacing:2px;color:#d7a450}.level-stop.current{background:linear-gradient(#ffdce6,#ffc3d4);border-color:#fff;box-shadow:0 4px 0 #c57c98,0 0 0 2px #ed7b9b}.level-stop.complete,.level-stop.completed{background:linear-gradient(#f3fae7,#d8ecc7);box-shadow:0 4px 0 #a7c18b}.level-stop:disabled{filter:saturate(.28);opacity:.62;box-shadow:0 3px 0 #ddcebd}.stars-guide{padding:12px 14px;background:#fff5d9;border-radius:15px;font-size:10px!important;line-height:1.6!important}.levels-dialog>.primary-button{width:100%}
.combo-burst{position:absolute;z-index:11;top:41%;left:50%;transform:translate(-50%,-50%);width:90%;text-align:center;font:30px/1.1 var(--display);color:#fff9ea;text-shadow:2px 2px #b24368,-1px -1px #b24368,0 4px 0 #ad456830;opacity:0;pointer-events:none}.combo-burst.pop{animation:sweet-burst 1.2s ease-out forwards}.particles{position:absolute;inset:0;z-index:10;pointer-events:none;overflow:hidden}.particle{position:absolute;left:50%;top:50%;width:8px;height:12px;background:var(--pcolor);border-radius:3px;box-shadow:inset 0 2px #fff6;animation:sweet-confetti .9s ease-out forwards}.cell-pulse{position:absolute;width:17%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;border-radius:30%;border:3px solid var(--candy-light);box-shadow:0 0 10px var(--candy);animation:sweet-ring .5s ease-out forwards}.cell-pulse::before,.cell-pulse::after{content:'✦';position:absolute;color:#fff9d1;font-size:16px;top:-13px;left:-6px}.cell-pulse::after{top:auto;left:auto;bottom:-10px;right:-10px;font-size:12px}.bomb-pulse{width:50%;border-radius:50%;border:3px solid #ffd680;box-shadow:0 0 18px #f68896;animation-duration:.55s}.blast-flash{position:absolute;inset:0;z-index:9;pointer-events:none;background:#ffd7a177;animation:blast-flash .35s ease-out forwards}.magnet-beam{position:absolute;z-index:3;width:5px;border-radius:5px;background:#fff1c7;box-shadow:0 0 8px 3px #ed5175;pointer-events:none;transform:translateX(-50%);animation:magnet-flash .4s ease-out forwards}
@keyframes sweet-merge{0%{transform:scale(.85)}50%{transform:scale(1.13)}100%{transform:scale(1)}}@keyframes sweet-landing{0%{transform:scale(1)}40%{transform:scale(1.07,.86)}75%{transform:scale(.98,1.02)}100%{transform:scale(1)}}@keyframes sweet-ring{0%{opacity:.95;transform:translate(-50%,-50%) scale(.7)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.8)}}@keyframes sweet-burst{0%{opacity:0;transform:translate(-50%,-40%) scale(.7)}15%,65%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-65%) scale(1.03)}}@keyframes sweet-confetti{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--dr))}}@keyframes blast-flash{from{opacity:1}to{opacity:0}}@keyframes magnet-flash{0%{opacity:0;transform:translateX(-50%) scaleY(.3)}30%{opacity:1;transform:translateX(-50%) scaleY(1)}100%{opacity:0;transform:translateX(-50%) scaleY(1)}}
@media(max-width:1150px){.page-shell{padding:0 25px}.game-layout{gap:30px;grid-template-columns:minmax(180px,1fr) auto 190px}.intro h1{font-size:49px}.topbar-note{font-size:8px}.goal-illustration{height:150px}.goal-art{width:145px;height:145px}.goal-candy{width:57px;height:57px;font-size:31px}.goal-card h2{font-size:21px}}
@media(max-width:900px){
 :root{--cell:clamp(28px,calc((100svh - 465px)/10),49px)}.page-shell{padding:env(safe-area-inset-top,0px) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.world-scenery{background-position:center bottom}.art-world-ready .world-scenery{background-image:linear-gradient(#fff8ec55,#fff8ec20),url('assets/sweet-world-v2.png')}.topbar{height:66px;max-width:480px;margin:auto;gap:8px}.brand{font-size:27px;gap:4px}.brand img{width:32px;height:32px}.utilities{gap:4px}.icon-button{width:44px;height:44px;border-radius:14px}.topbar-note,.intro,.side-notes,.page-footer{display:none}.game-layout{display:block;width:min(100%,calc(var(--cell)*6 + 36px));max-width:420px;margin:7px auto 20px}.play-area{width:100%}.scoreboard{gap:6px;margin-bottom:10px}.scoreboard>div{padding:4px 2px 5px;border-radius:14px}.scoreboard strong{font-size:24px}.stat-label{font-size:8px;letter-spacing:.4px}.mission-panel{padding:0 11px 8px;border-radius:17px}.mission-top button{font-size:11px}.mission-panel>strong{font-size:12px}.mission-bottom{margin-top:5px}.piece-strip{height:42px;margin:5px 1px 2px}.tempo,.queue-label{font-size:8px;letter-spacing:0}.next-block{gap:5px;padding-left:7px}.touch-guide{display:block;font-size:9px;margin:1px 0 7px}.jar-wrap{padding-top:23px}.jar{padding:13px 13px 12px;border-radius:24px 24px 31px 31px}.jar-lid{height:28px}.jar-lid span{font-size:7px}.game-status{height:28px;margin:6px 0 5px;font-size:10px}.piece-controls{gap:7px}.piece-controls button{height:49px}.power-controls{gap:7px;margin-top:10px}.power-button{padding:7px 5px;gap:4px;min-height:59px}.power-art{width:31px;height:31px}.power-button strong{font-size:10px}.power-button small{font-size:9px}.power-stock{min-width:16px}.power-hint{font-size:9px;margin-top:8px}.pause-art{width:78px;height:78px;margin-top:-35px}.board-overlay h2{font-size:27px;margin:8px 0 10px}.board-overlay p{font-size:11px;margin-bottom:13px}.board-overlay>div{padding:14px 10px 16px;max-width:225px}.game-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:25px 20px}.game-dialog h2{font-size:29px}.level-map{gap:13px 8px}.level-stop{grid-template-columns:34px 1fr;gap:7px;padding:9px 7px 18px;min-height:95px}.level-number{width:33px;height:33px;font-size:22px}.level-stop strong{font-size:11px}.level-stop small{font-size:9px}.map-stars{left:49px;letter-spacing:1px}.win-art{width:120px;height:120px}
}
@media(max-width:370px){.brand{font-size:24px}.brand img{display:none}.utilities{gap:3px}.topbar{height:62px}.power-art{width:26px;height:26px}.power-button strong{font-size:9px}.power-button small{font-size:8px}.power-button{gap:3px}.scoreboard strong{font-size:21px}.board-overlay h2{font-size:24px}.level-stop{grid-template-columns:28px 1fr;gap:5px}.level-number{width:28px;height:28px;font-size:19px}.level-stop strong{font-size:10px}.level-stop small{font-size:8px}.map-stars{left:41px}}
@media(min-width:901px) and (max-height:800px){.topbar{height:75px}.game-layout{margin-top:9px;gap:40px}.intro h1{font-size:51px}.quick-guide{gap:8px}.candy-trail{margin:18px 0}.goal-illustration{height:145px}.goal-art{width:140px;height:140px}.goal-card{padding:13px 12px 16px}.tip-note{margin:20px 0}.recipe-stamp{width:95px;height:95px}.pause-art{width:65px;height:65px;margin-top:-30px}.board-overlay h2{font-size:25px;margin:7px 0}.board-overlay p{font-size:10px;margin-bottom:12px}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:550px){.page-shell{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.topbar{height:54px;max-width:730px}.topbar-note,.intro,.side-notes,.page-footer{display:none}.game-layout{display:block;width:100%;max-width:730px;margin:8px auto 16px}.play-area{width:100%;display:grid;grid-template-columns:minmax(150px,calc((100svh - 110px)*.6 + 28px)) minmax(240px,1fr);gap:6px 20px;align-items:start}.play-area>*{grid-column:2;margin-top:0;margin-bottom:0}.play-area>.jar-wrap{grid-column:1;grid-row:1/10}.scoreboard{margin-bottom:3px}.scoreboard strong{font-size:21px}.piece-strip{height:42px}.touch-guide{display:block}.piece-controls button{height:44px}.power-button{min-height:54px}.power-hint{font-size:9px}.jar{padding:11px}.pause-art{width:54px;height:54px;margin-top:-22px}.board-overlay h2{font-size:23px;margin:7px 0}.board-overlay p{font-size:10px}.board-overlay>div{padding:10px}.jar-lid span{font-size:6px}.tile{font-size:18px}}
:root{--cell:clamp(28px,calc((100svh - 600px)/10),49px)}
@media(min-width:901px){.intro{position:relative}.intro::before{content:'';position:absolute;inset:-22px -17px;background:#fff8ec65;border-radius:35px;filter:blur(12px);z-index:-1}.intro-copy,.quick-guide p{color:#745363}}
@media(max-width:900px){:root{--cell:clamp(28px,calc((100svh - 500px)/10),49px)}.scoreboard>div{padding:3px 2px}.scoreboard strong{font-size:22px;line-height:1}.scoreboard{margin-bottom:9px}.mission-panel{padding-bottom:6px}.mission-top button{min-height:44px}.mission-bottom{margin-top:3px}.mission-panel>strong{font-size:11px}.piece-strip{height:36px;margin-top:4px}.next-block{height:36px}.touch-guide{font-size:9px;margin-bottom:4px}.jar{padding:11px 13px 10px}.game-status{height:24px;margin:5px 0 4px;font-size:9px}.piece-controls button{height:46px}.power-controls{margin-top:9px}.power-button{min-height:55px}.power-hint{margin-top:7px}.game-layout{margin-bottom:10px}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:550px){.play-area{grid-template-columns:minmax(150px,calc((100svh - 110px)*.6 + 28px)) minmax(240px,1fr)}.piece-strip{height:40px}.jar{padding:11px}.tile{font-size:18px}}
@media(max-width:900px){.game-layout{margin-bottom:0}.page-shell{padding-bottom:max(4px,env(safe-area-inset-bottom,0px))}.power-art{width:26px;height:26px}.power-button{gap:3px}.power-button strong{font-size:9px}.power-stock{min-width:14px;font-size:12px}.power-button small{font-size:8px}}
body{min-width:0}
@media(max-width:370px){.brand{font-size:21px}.topbar{gap:4px}.power-art{width:22px;height:22px}.power-button{padding:7px 4px;gap:3px}.power-stock{position:absolute;right:4px;top:4px;height:14px;min-width:12px;font-size:10px}.power-button strong{font-size:8.5px}.power-button small{font-size:8px}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:550px){.play-area{row-gap:3px}.touch-guide,.power-hint{display:none}.piece-controls button{height:44px}.power-button{min-height:52px}.scoreboard{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.particle,.cell-pulse{display:none}.combo-burst.pop{opacity:1}.tile.landed{transform:none}}
