/* Portrait-first kitchen: one playable board, scenery around its edges. */
body{background:#9e653d url('assets/bakery-wide.png') center/cover fixed;color:#583b27;min-height:100dvh}body:before{content:'';position:fixed;inset:0;background:linear-gradient(#5b321b15,#48240e22);pointer-events:none;z-index:-1}.portrait-tip{display:none}.intro,main>aside,footer{display:none!important}header{max-width:460px;width:calc(100% - 20px);height:auto;min-height:0;margin:10px auto 8px;padding:7px 11px 3px;border:2px solid #b27c49;border-radius:16px;background:linear-gradient(100deg,#fff0c8f5,#f5dba9f5);box-shadow:0 3px 0 #795036,0 8px 22px #44220d35;display:flex;flex-wrap:wrap;gap:0 8px;justify-content:space-between}.brand{font-size:27px;gap:7px}.brand span{font-size:25px;color:#9c463d;text-shadow:0 1px #fff8e0}.brand small{font-size:7px;letter-spacing:1.8px;color:#82623c;margin-top:3px}.audio-controls{width:auto;gap:4px;order:0}.sound{position:static;background:#fff7df;border:1px solid #cead7e;border-radius:12px;min-height:32px;padding:4px 7px;font-size:9px;box-shadow:0 2px #ddbf91}nav{width:100%;order:2;gap:0;justify-content:space-around;padding-top:3px}nav button{font-size:11px;min-height:34px;padding:6px 10px;flex:1}.active{border-color:#9d4f43!important}#stars{background:#e9ce8c;color:#72502b}main{display:block!important;width:min(440px,100%);max-width:440px;margin:0 auto;padding:0 10px 12px}.game{border:2px solid #b5824e;border-radius:20px;padding:10px 12px;background:linear-gradient(#fff4d8ee,#f6dfb5f5);box-shadow:0 4px 0 #81512d,0 12px 35px #3c1b1050;position:relative}.game-top .eyebrow{display:none}.game-top h2{font-size:21px;margin:0 0 8px;line-height:1.3;color:#7e4630}.icon{min-height:32px;min-width:32px;background:#fff4d2;border:1px solid #bc9763;box-shadow:0 2px #d3b281}.metrics{background:linear-gradient(#e8d0a6,#fdf0cd);border:1px solid #ceb080;border-radius:10px;padding:6px 0;margin-bottom:7px;box-shadow:inset 0 1px #fff8de}.metrics span{font-size:8px;color:#85603a}.metrics b{font-size:20px;color:#674327;margin-bottom:1px}.play-options{gap:5px;margin-bottom:5px;flex-wrap:nowrap}.play-options button{font-size:9px;min-height:32px;border:1px solid #c6a272;background:#fff3d3;padding:5px 7px;box-shadow:0 2px #ddbd8b}.scoreboard{font-size:7px;color:#805e3d;line-height:20px}.scoreboard b{font-size:14px;color:#7c462d}#comboBanner{font-size:10px;height:27px;padding:6px 0;color:#a64d39;text-shadow:0 1px #fff8d5}.board-wrap{border:6px solid #ac6c38;border-top-color:#d39a60;border-left-color:#c38b52;padding:10px 8px 6px;border-radius:15px;background:repeating-linear-gradient(1deg,#b77640 0,#ca9056 3px,#d19c63 29px,#bd8249 31px,#d39e66 36px);box-shadow:inset 0 3px 9px #542c2166,0 4px 0 #704422,0 6px 8px #7a482c38}.board{gap:7px;position:relative}.tile{aspect-ratio:1.06;background:radial-gradient(ellipse at 50% 75%,#68411c25,transparent 67%);border-radius:11px;isolation:isolate}.tile svg{filter:drop-shadow(1px 4px 2px #5c2c1c60);transition:transform .15s;width:100%;height:100%}.tile.fresh svg{animation:food-settle .45s cubic-bezier(.2,.8,.3,1);animation-delay:var(--coat-delay)}.tile:hover svg{transform:none}.tile.marked svg{transform:translateY(-3px) scale(1.05);filter:drop-shadow(0 0 5px #ffe5a4)}.tile.marked:after{content:'';position:absolute;inset:2px;border-radius:13px;border:1px solid #fff0b4;box-shadow:0 0 9px #ffe09f;pointer-events:none}.target{width:14px;height:14px;bottom:0;left:calc(50% - 7px);border:2px solid #fff3cf;box-shadow:0 1px 3px #572c22b0;z-index:3}.tile.done .target:after{font-size:11px;top:-2px}.board-label{font-size:6px;color:#74451f;letter-spacing:1.8px;margin-top:7px;text-shadow:0 1px #e6b578}.obstacle{display:block;height:100%;opacity:1}.tile.next-slot:after{inset:0;border-color:#fff2bd;background:#f9d58d15}.tile.next-slot:before{background:#fff1bd;color:#754722;z-index:4}.instruction{font-size:10px;min-height:29px;margin:10px 0 2px;color:#785333}.pantry{background:linear-gradient(#fff1ceaa,#e9cd9b);border-radius:12px;padding:2px 3px;border-bottom:3px solid #ae7b47;gap:3px}.jar-btn{font-size:8px;padding:3px 0 5px;min-height:70px;border:1px solid transparent;transition:transform .15s}.jar-btn.selected{background:linear-gradient(#fff5d7,#f4d69f);border-color:#ac6c3f;box-shadow:0 0 0 2px #fff0ba,0 4px 5px #79502a33;transform:translateY(-3px)}.jar-illustration{height:57px;width:100%}.jar-illustration svg{height:100%;max-width:100%;filter:drop-shadow(0 2px 1px #784b3030)}.jar-btn:disabled{opacity:.33}.controls{margin-top:5px;padding-top:4px;border-color:#d4b88c}.controls button{font-size:10px;min-height:38px;padding:5px 3px}.bottom-note{font-size:7px;letter-spacing:.2px;margin-top:2px;color:#886640;line-height:1.3}dialog{background:linear-gradient(120deg,#fff7df,#f1dbb0);border:2px solid #b68a54;box-shadow:0 6px 0 #815538,0 25px 80px #351d1980}dialog::backdrop{background:#3d241a70;backdrop-filter:blur(3px)}dialog button:not(.close){background:linear-gradient(#87976b,#5e7450);box-shadow:0 2px 0 #43563a}.lesson-board{background:repeating-linear-gradient(2deg,#cd9459 0 18px,#d7a36a 20px 42px);border-color:#a56d3d}.lesson-board button{box-shadow:inset 0 2px 7px #c88d3e;background:radial-gradient(#ffe8a7,#dfb467)!important}.lesson-jam{box-shadow:inset 2px 3px 4px #fff4b960,inset -2px -3px 4px #8e3d3630}.lesson-jam:after{content:'';position:absolute;left:8%;top:10%;width:45%;height:8%;border-radius:50%;background:#fff7df;opacity:.5}.is-spreading .jam-layer{animation:coat-right .5s cubic-bezier(.18,.65,.35,1) both;animation-delay:var(--coat-delay)}.spread-left.is-spreading .jam-layer{animation-name:coat-left}.spread-down.is-spreading .jam-layer{animation-name:coat-down}.spread-up.is-spreading .jam-layer{animation-name:coat-up}.is-mixing .jam-layer{animation-duration:.68s}.is-mixing .jam-fill{animation:jam-swirl .7s ease-out;animation-delay:var(--coat-delay);transform-origin:48px 48px}.mix-sparkles{opacity:0;animation:mix-glint .75s ease-out;animation-delay:calc(var(--coat-delay) + .2s);transform-origin:48px 48px}.old-jam{pointer-events:none}.preview-jam{transition:opacity .11s}.portrait-tip{font-size:12px;background:#fff1cf;color:#68452b;text-align:center;padding:7px}
@keyframes coat-right{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes coat-left{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}@keyframes coat-down{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes coat-up{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes food-settle{0%{transform:scale(.97)}45%{transform:scale(1.04)}100%{transform:scale(1)}}@keyframes jam-swirl{30%{filter:brightness(1.3) saturate(.7)}70%{filter:brightness(1.1) saturate(1.25)}}@keyframes mix-glint{15%{opacity:1;transform:scale(.7)}55%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(1.3)}}
@media(max-width:600px){body{background-image:url('assets/bakery-portrait.png');background-position:center top;background-size:cover;background-attachment:fixed}header{margin-top:max(7px,env(safe-area-inset-top));max-width:420px}.brand span{font-size:23px}.brand small{font-size:6px}.audio-controls .sound{font-size:8px;padding:4px 5px;min-height:30px}main{padding:0 8px max(8px,env(safe-area-inset-bottom));}.game{padding:9px 10px}.game-top h2{font-size:19px}.board{gap:6px}.tile{aspect-ratio:1.06}.jar-btn{font-size:8px}.play-options button{font-size:8px;padding:4px 6px}.jar-illustration{height:52px}.bottom-note{font-size:7px}.pantry{padding-top:2px}}
@media(max-width:360px),(max-height:740px){header{padding:5px 9px 2px;margin-bottom:6px}.brand span{font-size:21px}.brand small{display:none}nav button{min-height:30px;font-size:10px}.game-top h2{font-size:17px;margin-bottom:6px}.metrics{padding:4px 0}.metrics b{font-size:18px}.tile{aspect-ratio:1.25}.board-wrap{padding:7px 7px 4px}.board{gap:5px}.jar-illustration{height:43px}.jar-btn{min-height:57px}.instruction{min-height:27px;margin-top:8px}.controls button{min-height:34px}.scoreboard b{font-size:12px}#comboBanner{height:23px;padding:4px 0}.board-label{margin-top:4px}}
@media(orientation:landscape) and (max-height:550px){.portrait-tip{display:block}}
@media(prefers-reduced-motion:reduce){.food-art,.jam-layer,.jam-fill,.mix-sparkles,.preview-jam,.jar-btn{animation:none!important;transition:none!important}.mix-sparkles{opacity:0}}

.tile{min-height:0}.tile>svg{position:absolute;inset:0}.tile>.obstacle{position:absolute;inset:0}
@media(max-width:600px) and (max-height:700px){header{margin-top:4px}.game{padding:6px 8px}.metrics{margin-bottom:4px}.play-options button{min-height:28px}.instruction{min-height:20px;margin-top:6px}.board-label{display:none}.board-wrap{padding:5px}.controls button{min-height:36px}.bottom-note{display:none}}
.line-clearing{animation:serve-toast .75s ease-in both}.toast-arriving{animation:arrive-toast .35s ease-out both}@keyframes serve-toast{0%,50%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1.09)}100%{opacity:0;transform:translateY(-18px) scale(.7)}}@keyframes arrive-toast{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.line-clearing,.toast-arriving{animation:none}}
/* Larger grid, persistent target labels and a visible drawing trail. */
main{width:min(480px,100%);max-width:480px;padding-left:4px;padding-right:4px}.game{padding-left:7px;padding-right:7px}.board-wrap{padding-left:3px;padding-right:3px}.board{gap:6px}.tile{aspect-ratio:1.04}.target{width:51px;height:18px;left:calc(50% - 25.5px);bottom:-1px;border-radius:9px;border:2px solid #fff8de;font:800 8px/14px sans-serif;letter-spacing:.15px;box-shadow:0 2px 3px #58301980}.tile.done .target{padding-left:9px}.tile.done .target:after{content:'✓';position:absolute;left:1px;top:0;font-size:11px;color:inherit}.tile.marked:after{border-width:2px;box-shadow:0 0 10px #ffedb4}.board{position:relative}#swipeTrail{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:5}#swipeTrail polyline{fill:none;stroke:#fff4c3;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 1px 1px #74411e)}
@media(max-width:600px){main{padding-left:3px;padding-right:3px}.game{padding-left:6px;padding-right:6px}.board-wrap{border-width:5px}.tile{aspect-ratio:1.04}}
@media(max-width:600px) and (max-height:740px){.tile{aspect-ratio:1.3}.board{gap:5px}.target{height:17px;line-height:13px;font-size:7px}.board-label{display:none}}
/* Six by six keeps the same wooden board and portrait frame. */
.board{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.tile{aspect-ratio:.88}.target{width:calc(100% - 2px);max-width:48px;left:1px;height:16px;font-size:7px;line-height:12px;letter-spacing:0;border-width:2px}.tile.done .target{padding-left:6px}.tile.done .target:after{font-size:9px;left:0}.tile>svg{height:calc(100% - 7px)}#swipeTrail polyline{stroke-width:1.1}.board-label{margin-top:7px}
@media(max-width:600px){.board{gap:4px}.tile{aspect-ratio:.9}.target{font-size:6.5px;height:15px;line-height:11px}}
@media(max-width:600px) and (max-height:740px){.tile{aspect-ratio:1.17}.board{gap:3px}.target{height:14px;font-size:6px;line-height:10px}.board-wrap{padding-top:4px;padding-bottom:4px}.instruction{min-height:22px;margin-top:5px}.board-label{display:none}}
.tile{aspect-ratio:1.05}.target{font-size:7px}@media(max-width:600px){.tile{aspect-ratio:1.05}.target{font-size:7px}}@media(max-width:600px) and (max-height:740px){.tile{aspect-ratio:1.3}.target{font-size:6.5px}.instruction{margin-top:3px;min-height:20px}}
@media(max-width:600px) and (max-height:740px){.game-top h2{margin-bottom:2px}.game{padding-top:4px}}
.toast-pop{animation:toast-pop .37s cubic-bezier(.2,.8,.3,1) both;animation-delay:var(--pop-delay,0ms);pointer-events:none}.toast-pop:before{content:'✦';position:absolute;inset:0;display:grid;place-items:center;color:#fff2a5;font-size:30px;z-index:8;text-shadow:18px -15px #fff8dc,-17px 12px #efb259;animation:crumb-burst .45s ease-out both;animation-delay:var(--pop-delay,0ms)}.toast-falling{animation:toast-fall .43s cubic-bezier(.22,.75,.35,1) both}.lesson-popped{animation:toast-pop .6s ease-in both}.board{overflow:hidden}
@keyframes toast-pop{0%{transform:scale(1);opacity:1}30%{transform:scale(.82)}60%{transform:scale(1.2);opacity:1}100%{transform:scale(.25);opacity:0}}
@keyframes crumb-burst{0%{opacity:0;transform:scale(.3)}40%{opacity:1}100%{opacity:0;transform:scale(1.6)}}
@keyframes toast-fall{0%{transform:translateY(calc(var(--fall-rows) * -100%));opacity:.5}75%{transform:translateY(3px);opacity:1}100%{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.toast-pop,.toast-pop:before,.toast-falling,.lesson-popped{animation:none!important}.toast-pop,.lesson-popped{opacity:0}}

/* Full-size toast: target colors follow the bread silhouette. */
.board{gap:2px}.tile>svg{width:100%;height:100%}.tile{aspect-ratio:1}.target{display:none}.toast-outline{filter:drop-shadow(0 0 1px #fff9e6);stroke-linecap:round}.tile.done .toast-outline{stroke-dasharray:3 2}.special-emblem{filter:drop-shadow(0 2px 1px #713e27);transform-origin:48px 48px;animation:special-shine 2s ease-in-out infinite}.tile.marked .toast-outline{stroke-width:8}.board-wrap{padding-top:6px;padding-bottom:4px}.lesson-board button{outline:3px solid #e52d4b;outline-offset:-4px}.lesson-board i{display:none}
@keyframes special-shine{50%{filter:drop-shadow(0 0 5px #fff5b1);transform:scale(1.1)}}
@media(max-width:600px){.board{gap:2px}.tile{aspect-ratio:1}}
@media(max-width:600px) and (max-height:740px){.tile{aspect-ratio:1.16}}
@media(prefers-reduced-motion:reduce){.special-emblem{animation:none}}
@media(max-width:600px){header{margin-top:5px;margin-bottom:5px}.instruction{min-height:24px;margin-top:7px}.game-top h2{font-size:18px}.board-label{margin-top:3px}.controls button{min-height:34px}.bottom-note{margin:0}.board-wrap{padding-top:4px}}

/* Three color selectors and live connection rewards. */
.pantry{grid-template-columns:repeat(3,minmax(0,1fr))}.jar-btn{font-size:10px}.jar-btn:disabled{display:none}.color-rest .food-art{opacity:1}.special-toast .food-art{opacity:1;filter:drop-shadow(0 0 4px #fff8a8) drop-shadow(0 2px 2px #7c4024)}.special-toast:before{content:'✦';position:absolute;right:0;top:-2px;color:#fff8ba;font-size:18px;z-index:4;text-shadow:0 0 4px #bd7123}.special-star .food-art{filter:drop-shadow(0 0 5px #edc1ff)}
#comboBanner{position:relative;border-radius:8px;background:linear-gradient(90deg,#e9bb6544 var(--path-progress,0%),transparent 0);transition:background .15s;font-weight:700}#comboBanner.reward-ready{background:linear-gradient(100deg,#ffe38a,#fff4c8);color:#914322;box-shadow:inset 0 0 0 1px #cb9043}#comboBanner.reward-star{background:linear-gradient(100deg,#f0d3ff,#fff0b1);color:#6d2987}
.blast-layer{position:absolute;inset:0;pointer-events:none;z-index:20;overflow:hidden}.blast-origin{position:absolute;inset:0;--blast-color:#ffcd4b}.blast-origin b{position:absolute;left:var(--bx);top:var(--by);font-size:65px;color:#fff5ad;text-shadow:0 0 18px var(--blast-color);transform:translate(-50%,-50%);animation:blast-emblem 1s ease-out both}.blast-ring{position:absolute;left:var(--bx);top:var(--by);width:30px;height:30px;border:6px solid #fff0b4;box-shadow:0 0 20px var(--blast-color),inset 0 0 15px var(--blast-color);border-radius:50%;animation:blast-wave .95s ease-out both}.blast-ray{position:absolute;background:linear-gradient(transparent,var(--blast-color),#fffad8,var(--blast-color),transparent);box-shadow:0 0 25px #fff2a9;animation:blast-beam .9s ease-out both}.blast-ray.horizontal{left:0;right:0;top:calc(var(--by) - 15px);height:30px}.blast-ray.vertical{top:0;bottom:0;left:calc(var(--bx) - 15px);width:30px;background:linear-gradient(90deg,transparent,var(--blast-color),#fffad8,var(--blast-color),transparent)}.star-burst{background:radial-gradient(circle at var(--bx) var(--by),#fff5b688,transparent 70%);animation:blast-beam 1s ease-out both}.star-burst .blast-ring{border-color:#e9baff;border-width:10px}.star-burst .blast-ray{transform:rotate(45deg)}
@keyframes blast-wave{from{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(-50%,-50%) scale(24);opacity:0}}@keyframes blast-beam{0%{opacity:0}18%{opacity:1}55%{opacity:.85}100%{opacity:0}}@keyframes blast-emblem{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}40%{transform:translate(-50%,-50%) scale(1.7);opacity:1}100%{transform:translate(-50%,-50%) scale(2.4);opacity:0}}
@media(prefers-reduced-motion:reduce){.blast-layer{display:none}#comboBanner{transition:none}}

/* Quick glossy spread, followed by the pop and impact. */
.is-spreading .jam-layer{animation-duration:.26s;animation-delay:calc(var(--coat-delay) * .35)}.special-mega{z-index:6}.special-mega .food-art{transform:scale(1.14);filter:drop-shadow(0 0 5px #ffdc6d) drop-shadow(0 0 3px #ed4077)}.special-mega .special-emblem{transform-origin:48px 48px;animation:supernova-idle 1.4s ease-in-out infinite}.special-mega:before{content:'✹';font-size:23px;color:#fff3a0}.mega-burst{background:radial-gradient(circle at var(--bx) var(--by),#fff2b8aa,#fa657c88,transparent 80%);animation:blast-beam 1s ease-out both}.mega-burst .blast-ring{border-width:14px;border-color:#fff1a6;animation-duration:1s}.mega-burst .blast-ray{height:48px;filter:drop-shadow(0 0 14px #ff6990)}.mega-burst b{font-size:110px}.board:has(.blast-layer){animation:board-impact .32s ease-out}.toast-pop:before{font-size:38px;text-shadow:20px -18px #fff8dc,-21px 15px #efb259,12px 24px #ffad6c}.metrics .urgent{color:#b12b30}.metrics .urgent b{color:#b12b30}
@keyframes board-impact{20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,1px)}80%{transform:translate(1px,-1px)}}@keyframes supernova-idle{50%{transform:scale(1.18);filter:drop-shadow(0 0 8px #fff5ba)}}
@media(prefers-reduced-motion:reduce){.board:has(.blast-layer),.special-mega .special-emblem{animation:none}}

.spread-warning{margin:0 0 6px;padding:5px 7px;border:1px solid #c99445;border-radius:8px;background:#ffe5a9;color:#87491d;font-size:10px;font-weight:700;text-align:center;line-height:1.3}.spread-warning[hidden]{display:none}.spread-warning.last-spread{background:#ffe1c8;border-color:#b7563f;color:#942c27}.metrics .low-spreads{background:#ffe1a1;border-radius:7px;box-shadow:inset 0 0 0 2px #ce9042}.metrics .low-spreads b{color:#a34b22}.metrics .last-spread{background:#ffd2b3;box-shadow:inset 0 0 0 2px #b64b39;animation:spread-alert 1.6s ease-in-out infinite}.metrics .last-spread b{color:#a02329}.saved-combo{font-weight:700;color:#a05238;background:#ffe9b8;border-radius:12px;padding:10px}.ad-disclosure{font-size:11px;opacity:.8}dialog .new-run-button{background:linear-gradient(#fff2d3,#eed2a1)!important;color:#78482d;border:1px solid #bd9563;box-shadow:0 2px #c19a68!important}
@keyframes spread-alert{50%{box-shadow:inset 0 0 0 2px #b64b39,0 0 9px #cc653a66}}@media(prefers-reduced-motion:reduce){.metrics .last-spread{animation:none}}

#scoreProgress{display:block;width:100%;height:6px;margin:3px 0;border:0;border-radius:6px;overflow:hidden;accent-color:#a96937}#scoreProgress::-webkit-progress-bar{background:#e6cda2}#scoreProgress::-webkit-progress-value{background:linear-gradient(90deg,#bf7750,#e6ac50)}.metrics span:last-child b{font-size:16px}

.earned-stars{font-size:38px;color:#bd7b24;text-shadow:0 1px #fff0ad;letter-spacing:6px;text-align:center}.daily-card{background:linear-gradient(#fff0c4,#eed19d);border:1px solid #bb8d53;border-radius:14px;padding:13px;margin:12px 0}.daily-card p{margin:6px 0}.daily-card small{display:block;font-size:11px}.challenge-nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.challenge-nodes button{display:flex;flex-direction:column;align-items:center;gap:5px;min-height:86px;border-radius:16px;background:linear-gradient(#fff4d4,#e3c08a)!important;color:#73482a;border:2px solid #b18551;box-shadow:0 3px #af824d!important}.challenge-nodes b{font-size:24px}.challenge-nodes span{color:#986025;font-size:15px}.challenge-nodes small{font-size:10px}.challenge-nodes .map-next{outline:2px solid #87905d;outline-offset:2px}.challenge-nodes button:disabled{opacity:.48}.map-pages{display:flex;justify-content:space-between;gap:10px}.map-legend{font-size:11px;text-align:center}.map-pages button{font-size:12px}#mapStatus{font-size:11px;text-align:center}
.challenge-nodes button,.challenge-nodes button b,.challenge-nodes button small{color:#73482a!important}.challenge-nodes button:disabled{opacity:.65}

/* A thumb-friendly flour trail through the bakery. */
.challenge-nodes.bakery-trail{display:block;margin:18px -8px;border:1px solid #c69a62;border-radius:24px;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 126px,#b7814720 127px 129px),radial-gradient(ellipse at 30% 15%,#fff3ce99,transparent 60%),#e7c58e;box-shadow:inset 0 0 22px #a56c3433}
.trail-canvas{position:relative;width:100%}.flour-trail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.flour-trail path{fill:none;stroke-linecap:round}.trail-shadow{stroke:#ad7d43;stroke-width:20;opacity:.25}.trail-flour{stroke:#fff6d9;stroke-width:12;stroke-dasharray:2 17}
.bakery-trail button{position:absolute;transform:translateX(-50%);width:84px!important;min-height:86px;margin:0!important;padding:8px 3px!important;border-radius:45% 45% 38% 38%;border:3px solid #ad753b;gap:2px;z-index:1;background:linear-gradient(#ffedb7,#e3b46a)!important;box-shadow:0 5px 0 #a66c39,0 8px 12px #82582e40!important}.bakery-trail button b{font-size:25px}.bakery-trail button .trail-stars{font-size:17px;letter-spacing:1px;color:#975214!important;text-shadow:0 1px #fff6cc}.bakery-trail button.map-cleared{background:linear-gradient(#fff3ad,#edc667)!important;border-color:#a87525}.bakery-trail button.map-next{outline:3px solid #6e8051;outline-offset:4px}.bakery-trail button:disabled{opacity:.72;filter:saturate(.45)}.bakery-trail button:focus-visible{outline:3px solid #704b32;outline-offset:5px}.trail-scenery{position:absolute;width:30%;text-align:center;color:#77502d;pointer-events:none}.trail-scenery span{display:block;font-size:33px;filter:drop-shadow(0 3px 1px #98602f33)}.trail-scenery small{display:block;font-size:10px;margin-top:4px;font-weight:bold}.map-pages button{min-height:44px}.map-legend{line-height:1.6}

.bakery-trail{background-color:var(--area-tint,#e7c58e)!important}.area-heading{display:flex;align-items:center;gap:12px;margin-top:22px;border-top:1px solid #c79e66;padding-top:16px}.area-heading>span{font-size:36px}.area-heading small{font-size:10px;letter-spacing:1px;color:#80603f}.area-heading h3{font:600 24px Georgia,serif;margin:4px 0;color:#68442c}.area-heading p{font-size:12px;margin:3px 0}.area-party{position:relative;isolation:isolate;overflow:hidden;text-align:center;background:linear-gradient(145deg,#fff1ba,#efd09a);border:2px solid #c89748;border-radius:20px;padding:20px 12px;margin:4px 0 18px}.area-party-icon{font-size:55px;animation:bakery-cheer .7s ease-out}.area-party small{letter-spacing:2px;font-weight:bold;font-size:10px;color:#86592c}.area-party h2{font-size:26px!important;margin:10px 0!important}.area-party p{font-size:13px}.area-unlock{background:#fffae3b0;border-radius:12px;padding:12px;line-height:1.7;font-size:13px}.bakery-confetti{position:absolute;inset:0;pointer-events:none;z-index:-1}.bakery-confetti i{position:absolute;left:calc(var(--i)*8.5%);top:-12px;width:7px;height:12px;border-radius:2px;background:#b45148;animation:bakery-confetti 2.5s ease-out both;animation-delay:calc(var(--i)*.07s)}.bakery-confetti i:nth-child(3n){background:#83965c}.bakery-confetti i:nth-child(3n + 1){background:#dcaa3c}@keyframes bakery-confetti{to{transform:translateY(370px) rotate(480deg);opacity:0}}@keyframes bakery-cheer{0%{transform:scale(.5) rotate(-15deg)}65%{transform:scale(1.15) rotate(8deg)}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.area-party-icon,.bakery-confetti i{animation:none}.bakery-confetti{display:none}}

body{background-image:url('assets/supplied-background.png')!important;background-position:center;background-size:cover}#board{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important}.board-wrap{padding:8px 4px 5px!important}.tile{min-width:0!important;min-height:0!important;aspect-ratio:1!important}.tile svg{width:100%!important;height:100%!important}.game{padding-left:6px;padding-right:6px}.board-label{margin-top:5px}main{max-width:460px;width:100%;padding-left:5px;padding-right:5px}#goal{line-height:1.5}.special-toast:after{font-size:16px!important}@media(max-width:400px){.game-top h2{font-size:17px}.metrics b{font-size:19px}.pantry{padding-top:3px}.instruction{font-size:10px}}

.controls{justify-content:center}.controls #hint{min-height:44px;flex:1;max-width:280px;font-size:12px;background:#fff1cd;border:1px solid #bf945b;border-radius:12px}

.hint-route{position:absolute;inset:0;width:100%;height:100%;z-index:12;pointer-events:none;overflow:visible}.hint-underlay,.hint-ink{fill:none;stroke-linecap:round;stroke-linejoin:round}.hint-underlay{stroke:#563222;stroke-width:2.5;opacity:.8}.hint-ink{stroke:#fff7ce;stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:1;animation:hint-swipe var(--hint-duration) linear 2 forwards}.hint-stop circle{fill:#fff5d5;stroke:#805133;stroke-width:.5}.hint-stop text{text-anchor:middle;fill:#583925;font-family:Arial,sans-serif;font-size:3.1px;font-weight:800}.hint-start circle{fill:#8a9e5a;stroke:#fff5cf}.hint-start text{fill:white}.hint-end circle{fill:#f2ca6e}.hint-finger{fill:#fff5ceaa;stroke:#8c4c31;stroke-width:.6;filter:drop-shadow(0 0 1px #fff)}#hintReplay{min-height:44px;border:1px solid #b88f58;border-radius:12px;background:#e7d4a7;font-size:11px;padding:6px 10px}.controls{gap:6px}@keyframes hint-swipe{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.hint-ink{animation:none;stroke-dashoffset:0}.hint-finger{display:none}}
.lesson-step{font-size:10px;letter-spacing:2px;color:#98633d;font-weight:bold;margin:5px 0 12px}.lesson-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;position:relative;width:100%;max-width:280px;margin:16px auto;padding:0!important;touch-action:none}.lesson-grid button{position:relative;aspect-ratio:1;min-width:0;min-height:0;padding:0!important;margin:0!important;background:#efcf96!important;border:3px solid var(--lesson-color)!important;border-radius:18px!important;box-shadow:0 3px #ac7948!important;touch-action:none}.lesson-grid button span{font-size:40px}.lesson-grid button b{position:absolute;right:3px;bottom:3px;background:#fff4d5;color:#633e25;border-radius:50%;width:23px;height:23px;line-height:23px;font-size:14px}.lesson-grid button.lesson-selected{background:#ed9c94!important;box-shadow:0 0 0 3px #fff3b5!important}.lesson-guide{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.lesson-guide path{fill:none;stroke:#fff2c9;stroke-width:6;stroke-dasharray:6 8;filter:drop-shadow(0 1px 1px #74442a)}.lesson-guide circle{fill:#fff6d3b0;stroke:#7e492e;stroke-width:3}.lesson-caption{font-size:12px!important;text-align:center;line-height:1.6}.lesson-pop-demo{text-align:center;font-size:29px;border-radius:15px;background:#f0d5a4;padding:14px}.lesson-pop-demo span{display:block;color:#ab4d3c;font-size:18px;animation:lesson-cheer .6s ease-out}.lesson-pop-demo b{display:block;font-size:22px;color:#9c6b3a}.lesson-goal{padding:12px;border:1px solid #c9a471;border-radius:12px;margin:14px 0;font-size:13px}.lesson-goal>span{float:right}.lesson-goal>div{height:8px;background:#dbc292;border-radius:8px;margin:10px 0;overflow:hidden}.lesson-goal i{display:block;width:80%;height:100%;background:#8a985b}.lesson-goal small{font-size:11px}.lesson-specials{display:flex;justify-content:space-around;text-align:center;padding:10px;border-radius:14px;background:#fff2cd}.lesson-specials b,.lesson-specials strong,.lesson-specials small{display:block}.lesson-specials b{font-size:28px;color:#9d4d3e}.lesson-specials strong{font-size:21px}.lesson-specials small{font-size:11px}@keyframes lesson-cheer{from{transform:scale(.4)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.lesson-guide circle{display:none}.lesson-pop-demo span{animation:none}}
.lesson-grid button{outline:none}.lesson-grid button:focus-visible{outline:3px solid #6f8149;outline-offset:2px}

.lesson-grid button{background:transparent!important;border:0!important;box-shadow:none!important}.lesson-grid button.lesson-selected{background:transparent!important;box-shadow:none!important}.lesson-grid button .lesson-food,.lesson-grid button .lesson-coat{position:absolute;inset:1px;display:block}.lesson-food svg,.lesson-coat svg{width:100%;height:100%;filter:drop-shadow(0 3px 2px #72432355)}.lesson-coat{opacity:0;pointer-events:none}.lesson-selected .lesson-coat{opacity:1}.lesson-selected .lesson-coat .jam-layer{animation:lesson-spread .35s ease-out both}.lesson-grid button b{z-index:2}.lesson-guide{opacity:.7}.tactile-demo{position:relative;display:flex;gap:8px;height:135px;align-items:center;overflow:hidden}.demo-slice{position:relative;flex:1;height:90px;animation:lesson-crunch .32s cubic-bezier(.2,.8,.4,1) calc(.9s + var(--n)*.07s) both}.demo-slice .lesson-food,.demo-slice .lesson-coat{position:absolute;inset:0;display:block}.demo-slice .lesson-coat{opacity:1}.demo-slice .jam-layer{animation:lesson-spread .6s ease-out calc(var(--n)*.1s) both}.tactile-demo .lesson-toasty{position:absolute;inset:45px 0 auto;font:bold 28px Georgia;color:#a34130;text-shadow:0 2px #fff6cc;animation:lesson-burst .5s 1.12s both}.arcade-stamp{position:absolute;inset:35% 0 auto;z-index:20;text-align:center;pointer-events:none;font:bold 36px Georgia;color:#fff0a6;text-shadow:2px 3px #963c29,-1px -1px #963c29;animation:arcade-burst .75s both}.arcade-stamp small{display:block;font:700 20px Arial}.board-wrap:has(.arcade-stamp){animation:arcade-shake .23s linear}.tactile-demo:has(.demo-slice){animation:arcade-shake .23s .95s linear}@keyframes lesson-spread{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes lesson-crunch{0%{transform:scale(1);opacity:1}40%{transform:scale(1.22)}100%{transform:scale(.15) rotate(12deg);opacity:0}}@keyframes lesson-burst{from{transform:scale(.3);opacity:0}70%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}@keyframes arcade-burst{0%{transform:scale(.3) rotate(-8deg);opacity:0}25%{transform:scale(1.15);opacity:1}75%{opacity:1}100%{transform:scale(1.3);opacity:0}}@keyframes arcade-shake{20%,60%{transform:translateX(-3px)}40%,80%{transform:translateX(3px)}to{transform:none}}@media(prefers-reduced-motion:reduce){.lesson-selected .lesson-coat .jam-layer,.demo-slice,.demo-slice .jam-layer,.tactile-demo,.tactile-demo .lesson-toasty,.arcade-stamp,.board-wrap:has(.arcade-stamp){animation:none}.tactile-demo .lesson-toasty{inset:auto 0 0;font-size:18px}.arcade-stamp{font-size:24px}}

.toast-pop.big-pop{animation-name:big-toast-pop;animation-duration:.46s;z-index:5}.big-pop:before{font-size:42px;text-shadow:18px -17px #fff9da,-18px 13px #f2b05d,8px 23px #f18d53}.blast-origin>*{animation-delay:var(--chain-delay,0ms)!important;animation-duration:.65s!important}.blast-ring{box-shadow:0 0 10px var(--blast-color),inset 0 0 8px var(--blast-color)}.blast-ray{box-shadow:0 0 10px #fff2a9}.arcade-stamp{font-size:clamp(28px,9vw,40px);animation-duration:.85s}.board-wrap:has(.big-pop){animation:combo-kick .25s ease-out}@keyframes big-toast-pop{0%{transform:scale(1);opacity:1}18%{transform:scale(.82,.92)}48%{transform:scale(1.48) rotate(-5deg);opacity:1}100%{transform:scale(.15) rotate(14deg);opacity:0}}@keyframes combo-kick{20%{transform:translate(2px,-3px)}45%{transform:translate(-2px,2px)}70%{transform:translate(1px,-1px)}to{transform:none}}@media(prefers-reduced-motion:reduce){.toast-pop.big-pop,.board-wrap:has(.big-pop),.blast-origin>*{animation:none!important}}

#comboBanner.chain-summary{height:auto;min-height:43px;white-space:pre-line;line-height:1.55;padding:5px 2px;font-size:11px;color:#8b3f2d;background:#ffeac2;border-radius:8px;margin:4px 0 6px}.chain-win{background:#ffedc6;border-radius:10px;padding:10px;font-size:12px!important;line-height:1.6}.arcade-stamp small{font-size:17px}

/* Beams use the exact same tile-center routes as damage, including chained specials. */
.combo-beam-map{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.combo-beams{animation:combo-line-flash .65s ease-out both;animation-delay:var(--chain-delay)}.combo-beams line{stroke:var(--blast-color);stroke-width:2.4;stroke-linecap:round}.combo-beams text{fill:#fff7c7;stroke:#815022;stroke-width:.25;font-size:9px;text-anchor:middle;dominant-baseline:central;paint-order:stroke fill}@keyframes combo-line-flash{0%{opacity:0}12%,40%{opacity:1}65%{opacity:.8}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.combo-beams{animation:none;opacity:.85}}

/* Stationary aim preview: warm frames stay readable beneath a finger. */
.tile.blast-preview-hit{opacity:1!important;box-shadow:inset 0 0 0 2px #fff8c4,0 0 0 1px #8e4a21;background-color:#ffd36570}.tile.blast-preview-trigger{box-shadow:inset 0 0 0 3px #fff8c4,0 0 0 2px #c46b20}#specialPreview{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden}#specialPreview line{stroke:#fff5b8;stroke-width:.65;stroke-dasharray:1.2 1;stroke-linecap:round;opacity:.85}

/* Reserve two compact lines so drawing never moves the board under a finger. */
#comboBanner{height:40px;min-height:40px;box-sizing:border-box;white-space:pre-line;line-height:1.35;padding:5px 3px}#comboBanner.path-points{font-size:10px;color:#744327}#comboBanner.path-points::first-line{font-size:12px;font-weight:800}#comboBanner.path-goal-ready{color:#315b2a;background:#e2edc38c;border-radius:8px}.combo-beams line{stroke-width:1;stroke-opacity:.6}.combo-beams text{font-size:6px;fill-opacity:.85}

/* Seven generous columns and four flavors, preserving the wooden tray. */
.board{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important}.pantry{grid-template-columns:repeat(4,minmax(0,1fr))!important}.brand span{font-size:22px}.audio-controls{gap:3px}.sound{font-size:8px;padding:4px 5px;min-height:36px;min-width:43px}.metrics #resourceLabel{display:block;font-size:8px}.metrics .low-spreads b{color:#b4322b}@media(max-width:350px){.brand span{font-size:19px}.brand small{font-size:6px}.sound{min-width:40px;padding:3px;font-size:7px}}

header{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:5px}header nav{grid-column:1/-1;grid-row:2}.brand{min-width:0;font-size:18px}.brand span{font-size:20px}.brand small{font-size:6px;letter-spacing:1.2px}.audio-controls{grid-column:2;grid-row:1}.sound{padding:3px;min-width:42px;font-size:8px}.board-wrap{padding-top:6px;padding-bottom:4px}@media(max-width:350px){.brand span{font-size:17px}.brand small{letter-spacing:.6px}.sound{font-size:7px;min-width:37px}}

@media(max-width:500px){.pantry{padding:3px 4px!important}.jar-illustration{height:44px!important;width:44px!important}.jar-btn{min-height:62px!important;padding:2px 3px!important}.instruction{min-height:18px!important;line-height:12px;margin:4px 0 2px!important;font-size:9px}.controls{margin-top:3px!important}.controls button{min-height:40px!important;padding:8px!important}.board-label{padding-top:3px!important}}



.bakery-trail button{min-height:108px}.bakery-trail .difficulty-tag{font-size:9px;font-style:normal;font-weight:800;color:#674126;line-height:14px;background:#fff3d2;border-radius:8px;padding:0 7px}.bakery-trail .map-locked{opacity:.75;filter:saturate(.55)}.challenge-preview{text-align:center;background:linear-gradient(145deg,#fff0c7,#edd1a0);border:1px solid #bc935b;border-radius:18px;padding:18px 12px;margin:12px 0}.difficulty-pill{display:inline-block;border:1px solid #b48950;border-radius:20px;padding:5px 14px;font-weight:800;font-size:13px;color:#754a2b}.challenge-preview>strong{display:block;font-size:42px;color:#80502d;margin:12px 0 0;line-height:1.2}.challenge-preview>span:not(.difficulty-pill){font-size:10px;letter-spacing:2px}.challenge-preview p{font-size:13px!important;margin:12px 0 0!important}.preview-best{text-align:center;color:#9a651f}.preview-note{font-size:11px!important;line-height:1.5!important}.challenge-party{padding:12px 10px}.challenge-party .area-party-icon{font-size:38px}.challenge-party h2{font-size:24px!important;margin:5px 0!important}.challenge-party p{margin:5px 0!important}.challenge-party small{letter-spacing:1px;font-size:9px}
/* Cartoon bakery shadows: crisp, warm offsets kept compact for portrait play. */
.tile:not(.marked):not(.special-toast) > .food-art{filter:drop-shadow(1px 3px .6px #613a2880)}
.tile.special-toast:not(.marked) > .food-art{filter:drop-shadow(0 0 4px #fff8a8) drop-shadow(1px 3px .6px #613a2880)}
.tile.special-star:not(.marked) > .food-art{filter:drop-shadow(0 0 5px #edc1ff) drop-shadow(1px 3px .6px #613a2880)}
.tile.special-mega:not(.marked) > .food-art{filter:drop-shadow(0 0 5px #ffdc6d) drop-shadow(1px 3px .6px #613a2880)}
.jar-illustration svg{filter:drop-shadow(1px 3px .8px #69402e80)}
.jar-btn:not(.selected){box-shadow:1px 3px 0 #79502a38}
.sound,.icon,.play-options button,.controls button,#roundState,#modalContent>button,.map-pages button,.daily-card button,.decor-shop button{box-shadow:0 3px 0 #8c613570,1px 4px 2px #68412738}
nav button{box-shadow:0 2px 0 #68412726}
.sound:active,.icon:active,.play-options button:active,.controls button:active,#modalContent>button:active{box-shadow:0 1px 0 #68412766}

.combo-circle{fill:var(--blast-color);fill-opacity:.12;stroke:#fff1ad;stroke-width:1.2;animation:circle-shock .65s cubic-bezier(.15,.7,.3,1) both;animation-delay:var(--chain-delay);transform-box:view-box}.special-circle .special-emblem{animation:circle-emblem 2s ease-in-out infinite}.turn-reward-pop{position:absolute;left:10%;right:10%;top:12%;z-index:25;pointer-events:none;text-align:center;color:#fff4bc;text-shadow:1px 2px #95532c;animation:turn-reward-flight .58s ease-out both}.turn-reward-pop b{font:bold 28px Georgia;display:block}.turn-reward-pop span{font:bold 11px Arial}.turn-reward-count{animation:turn-count-bounce .6s ease-out}.lesson-specials{grid-template-columns:repeat(4,1fr)}@keyframes circle-shock{0%{transform:scale(.08);fill-opacity:.3}70%{transform:scale(1);fill-opacity:.1}100%{transform:scale(1);fill-opacity:0}}@keyframes circle-emblem{50%{transform:scale(1.09)}}@keyframes turn-reward-flight{0%{opacity:0;transform:translateY(12px) scale(.5) rotate(-5deg)}20%,60%{opacity:1;transform:translateY(0) scale(1.08)}100%{opacity:0;transform:translateY(-50px) scale(.7)}}@keyframes turn-count-bounce{40%{transform:scale(1.22);color:#478137}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.combo-circle,.special-circle .special-emblem,.turn-reward-pop,.turn-reward-count{animation:none}.turn-reward-pop{font-size:20px}.combo-circle{fill-opacity:.08}}

/* Reward travels in viewport coordinates, independent of board refills. */
.turn-reward-pop{position:fixed;right:auto;z-index:1000;width:180px;transform:translate(-50%,-50%);animation:turn-to-counter .76s cubic-bezier(.3,.05,.5,1) both}.turn-reward-pop b{font-size:27px}.turn-reward-pop span{font-size:11px}.combo-circle{fill-opacity:.035;stroke-width:1.8;stroke:#fff3bc;filter:drop-shadow(0 0 .65px #d47726);animation:circle-punch .58s cubic-bezier(.12,.85,.2,1) both;animation-delay:var(--chain-delay)}@keyframes turn-to-counter{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-9deg)}20%,38%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}85%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--turn-x)),calc(-50% + var(--turn-y))) scale(.25)}}@keyframes circle-punch{0%{transform:scale(.06);opacity:1;stroke-width:4;fill-opacity:.08}48%{transform:scale(1);opacity:1;stroke-width:1.8;fill-opacity:.035}68%{transform:scale(.97);opacity:.85}100%{transform:scale(1);opacity:0;stroke-width:.35;fill-opacity:0}}@media(prefers-reduced-motion:reduce){.turn-reward-pop{animation:none;transform:translate(-50%,-50%)}.combo-circle{animation:none;filter:none;fill-opacity:.035}}

/* Hollow radius guides keep every toast visible while drawing. */
#specialPreview circle{fill:none;pointer-events:none}#specialPreview .radius-outline{stroke:#784324;stroke-width:1.5;opacity:.85}#specialPreview .radius-ink{stroke:#fff3ba;stroke-width:.8;opacity:1}
/* A compact bakery consumable rail beside the portrait board. */
.board-and-boosters{display:flex;align-items:center;gap:6px}.board-and-boosters .board-wrap{flex:1;min-width:0;margin:0}.booster-tray{display:flex!important;flex-direction:column;gap:8px;width:44px;flex:0 0 44px;padding:0;background:none;border:0}.booster-item{position:relative;display:flex;flex-direction:column;align-items:center;width:44px;min-height:55px;padding:2px 0 4px;border:1px solid #ac7945;border-radius:12px;background:linear-gradient(#fff2ca,#eac791);color:#75472c;box-shadow:0 3px #9e6b3e70}.booster-item svg{width:38px;height:38px;filter:drop-shadow(1px 2px .6px #70432966)}.booster-item span{font-size:7px;font-weight:bold}.booster-item b{position:absolute;right:-2px;top:-4px;font:bold 10px Arial;border:1px solid #b98748;border-radius:8px;padding:2px 3px;background:#fff4cf}.booster-item:disabled{opacity:.45}.booster-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;background:#fff0c7;border:1px solid #bb8b4d;border-radius:10px;margin-top:8px;padding:7px;font-size:11px}.booster-actions[hidden],.freeze-status[hidden]{display:none}.booster-actions span{flex:1;min-width:110px}.booster-actions button{min-height:40px;border:1px solid #ae7944;border-radius:8px;background:#f4daa3;font-size:11px;padding:5px 9px;color:#73452b}.freeze-status{font-size:10px;text-align:center;color:#80582e;margin:6px 0}.tile.booster-hit{box-shadow:inset 0 0 0 2px #fff6bb,0 0 0 1px #8b512b!important}.booster-hero{width:75px;margin:auto}.booster-hero svg{width:100%}.booster-colors{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.booster-colors button{border:3px solid var(--boost-color)!important;background:#fff2d5!important;color:#68452e!important;min-height:48px}.booster-colors button:before{content:'';display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--boost-color);margin-right:7px}.booster-note{font-size:11px!important}.booster-painted{animation:booster-glint .5s ease-out}@keyframes booster-glint{50%{transform:scale(1.12);filter:brightness(1.2)}}@media(prefers-reduced-motion:reduce){.booster-painted{animation:none}}@media(max-width:420px){.board-and-boosters .board-wrap{padding:6px 5px}.board-and-boosters .board{gap:2px}.board-and-boosters .board-label{font-size:4px}.booster-tray{gap:6px}} 
.booster-shop{height:38px;border:1px solid #ac7945;border-radius:10px;background:#f8e6bb;color:#75472c;font-size:18px;line-height:17px;box-shadow:0 2px #9e6b3e70}.booster-shop small{display:block;font-size:8px}.booster-shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.booster-shop-grid button{display:flex;flex-direction:column;align-items:center;background:linear-gradient(#fff2d1,#efd2a1)!important;color:#70482c!important;border:1px solid #bc925b;border-radius:13px;padding:8px!important;margin:0!important}.booster-shop-grid svg{height:48px;width:48px}.booster-shop-grid b{font-size:12px}.booster-shop-grid small{font-size:9px;margin-top:5px}.booster-pack{border:1px solid #bf9355;background:#f5dfad;border-radius:12px;padding:12px;margin-top:14px}.booster-pack p{font-size:12px;margin:6px 0}.booster-pack span{display:inline-block;background:#e5c38c;border-radius:12px;padding:4px 9px;font-size:11px;font-weight:bold}.booster-pack small{display:block;font-size:10px;margin-top:7px}
.consumable-fx{position:absolute;inset:0;z-index:24;pointer-events:none;overflow:hidden;border-radius:8px}.consumable-icon{width:54px;height:54px;position:absolute;pointer-events:none}.consumable-icon svg{display:block;width:100%;height:100%}.roll-sweep{position:absolute;pointer-events:none}.roll-sweep .consumable-icon{top:calc(50% - 27px);animation:roll-across .65s cubic-bezier(.2,.6,.3,1) both}.roll-glint{position:absolute;top:5%;bottom:5%;width:3px;border-radius:3px;background:#fff2bb;opacity:0;animation:roll-light .6s ease-out both}.booster-painted{animation:none}.booster-painted .preview-jam{animation:consumable-coat .6s ease-out var(--paint-delay,0ms) both}.consumable-impact{position:absolute;width:0;height:0}.consumable-impact .consumable-icon{left:-27px;top:-27px;animation:pastry-burst .48s ease-out both}.meteor-impact .consumable-icon{animation:bagel-crash .5s cubic-bezier(.4,0,.8,1) both}.cheese-impact .consumable-icon{animation:cheese-chime .65s ease-out both}.consumable-ring{position:absolute;left:-34px;top:-34px;width:68px;height:68px;border:3px solid #fff0a6;border-radius:50%;box-shadow:0 0 0 1px #b27139;animation:pastry-ring .4s .14s ease-out both;background:transparent}.consumable-crumb{position:absolute;left:-3px;top:-3px;width:6px;height:5px;border:1px solid #a36530;border-radius:2px;background:#f8d88e;animation:pastry-crumb .4s .14s ease-out both}.cheese-impact .consumable-crumb{background:#fff3ac;border-color:#d6a449}.cheese-impact .consumable-ring{border-width:1px}
@keyframes roll-across{0%{left:-12px;opacity:0;transform:rotate(-35deg)}12%{opacity:1}85%{opacity:1}100%{left:calc(100% - 42px);opacity:0;transform:rotate(45deg)}}@keyframes roll-light{0%{left:0;opacity:0}15%{opacity:.8}80%{opacity:.7}100%{left:100%;opacity:0}}@keyframes consumable-coat{0%{clip-path:inset(0 100% 0 0);opacity:0}20%{opacity:.65}55%{clip-path:inset(0);opacity:.65}100%{clip-path:inset(0);opacity:0}}@keyframes bagel-crash{0%{transform:translate(-55px,-140px) rotate(-100deg) scale(.65);opacity:0}8%{opacity:1}32%{transform:translate(0,0) rotate(10deg) scale(1.08);opacity:1}50%{transform:scale(1.25,.75);opacity:1}100%{transform:scale(.25) rotate(60deg);opacity:0}}@keyframes pastry-burst{0%{transform:scale(.5) rotate(-12deg);opacity:1}30%{transform:scale(1.35) rotate(8deg);opacity:1}100%{transform:scale(.2) rotate(30deg);opacity:0}}@keyframes pastry-ring{0%{transform:scale(.2);opacity:1}100%{transform:scale(2);opacity:0}}@keyframes pastry-crumb{0%{transform:translate(0,0) scale(.6);opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.4);opacity:0}}@keyframes cheese-chime{0%{transform:scale(.5);opacity:0}30%{transform:scale(1.05);opacity:1}100%{transform:translateY(-22px) scale(.8);opacity:0}}
@media(prefers-reduced-motion:reduce){.consumable-fx *,.booster-painted .preview-jam{animation:none!important}.consumable-fx{display:none}.booster-painted .preview-jam{opacity:0!important}}

.controls{flex-wrap:wrap}.controls #restartMission{flex:0 0 auto;min-height:40px;padding:6px 12px;font-size:11px}.controls #hint{flex:1}
.booster-demo{border:1px solid #bd8d55;border-radius:14px;padding:8px;background:#efd09a;margin:10px 0;text-align:center}.booster-demo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;width:180px;height:180px;margin:auto;position:relative;overflow:hidden}.booster-demo-tile{position:relative;min-width:0}.booster-demo-tile>span{position:absolute;inset:0}.booster-demo-tile svg{position:absolute;inset:0;width:100%;height:100%}.booster-demo strong{display:block;font-size:11px;margin:6px 0 1px;color:#75472c}.booster-demo-caption{font-size:12px!important;line-height:1.5!important;margin:8px 0!important}.booster-demo-tool{position:absolute;width:45px;height:45px;left:calc(50% - 22px);top:calc(50% - 22px);z-index:2;pointer-events:none}.booster-demo-tool svg{width:100%;height:100%}.demo-rainbow .booster-demo-tool{animation:demo-roll 2s ease-in-out both}.demo-rainbow .demo-after{animation:demo-coat 1.6s var(--demo-delay) ease-out both}.demo-meteor .booster-demo-tool{animation:demo-meteor 1.8s ease-out both}.demo-croissant .booster-demo-tool{animation:demo-pastry 1.8s ease-out both}.demo-meteor .demo-hit,.demo-croissant .demo-hit{animation:demo-toast-pop 1.8s ease-out both}.demo-cheese .booster-demo-tool{animation:demo-gold 1.7s ease-out both}.demo-spawn{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;margin-top:6px}.paused-color{border:2px solid #db5360;border-radius:8px;padding:4px;color:#a13e45}.spawn-colors{animation:demo-new-colors 1.5s ease-out both}.demo-spawn b{color:#785332}.quiet-button#replayBoosterDemo{font-size:11px;background:transparent!important;color:#805438!important;box-shadow:none!important;margin:4px!important;padding:5px!important;min-height:36px}
@keyframes demo-roll{0%,15%{transform:translate(-70px,-40px) rotate(-20deg);opacity:0}25%{opacity:1}80%{opacity:1}100%{transform:translate(55px,32px) rotate(50deg);opacity:0}}@keyframes demo-coat{0%,20%{clip-path:inset(0 100% 0 0);opacity:0}35%{opacity:1}100%{clip-path:inset(0);opacity:1}}@keyframes demo-meteor{0%,20%{transform:translate(-50px,-110px) rotate(-45deg);opacity:0}30%{opacity:1}45%{transform:translate(0,0) scale(1.2);opacity:1}65%,100%{transform:scale(.2);opacity:0}}@keyframes demo-pastry{0%,25%{transform:scale(.8);opacity:1}45%{transform:scale(1.4) rotate(10deg);opacity:1}65%,100%{transform:scale(.1) rotate(30deg);opacity:0}}@keyframes demo-toast-pop{0%,45%{transform:scale(1);opacity:1}55%{transform:scale(1.2);opacity:1}75%,100%{transform:scale(.2);opacity:0}}@keyframes demo-gold{0%{opacity:0;transform:scale(.5)}35%,70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-25px)}}@keyframes demo-new-colors{0%,45%{opacity:0;transform:translateY(-12px)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.booster-demo *{animation:none!important}.booster-demo-tool{display:none}.demo-meteor .demo-hit,.demo-croissant .demo-hit{opacity:.25;outline:2px dashed #985031}.demo-rainbow .demo-after{opacity:1}}
@media(max-height:740px){.booster-demo-grid{width:140px;height:140px}.booster-demo{margin:6px 0;padding:5px}.booster-demo-caption{font-size:11px!important}}
.menu-brand{font:bold 21px Georgia;color:#9d5138;margin:5px 0 12px}.main-menu-options{display:grid;gap:8px}.main-menu-options button{margin:0!important;text-align:left!important;width:100%;min-height:46px;padding:10px 14px!important}.main-menu-options small{display:block;font-size:10px;font-weight:normal;margin-top:4px}.practice-tip{font-size:12px!important;min-height:36px;line-height:1.5!important}.practice-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:8px 0}.practice-colors button{margin:0!important;padding:6px 2px!important;font-size:11px;min-height:42px;border:3px solid var(--boost-color)!important;background:#fff1cb!important;color:#71462a!important}.practice-colors button[aria-pressed=true]{outline:2px solid #8d5f35;outline-offset:1px}.rainbow-practice-board{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:6px;border:3px solid #b58450;border-radius:13px;background:#d8aa71;max-width:260px;margin:12px auto}.rainbow-practice-board button{position:relative;aspect-ratio:1;min-width:0;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.rainbow-practice-board svg{display:block;width:100%;height:100%}.rainbow-practice-board button:disabled{opacity:1!important}.practice-painted .jam-layer{animation:lesson-spread .4s ease-out both}.placement-item{position:absolute;z-index:22;width:42px;height:42px;transform:translate(-50%,-65%) rotate(-9deg);pointer-events:none;filter:drop-shadow(0 3px 1px #78432388);animation:placement-bob .7s ease-in-out infinite alternate}.placement-item svg{width:100%;height:100%}.tile.booster-hit{animation:placement-target .8s ease-in-out infinite alternate}.item-cheer{position:absolute;left:0;right:0;top:8%;z-index:25;text-align:center;font:bold clamp(17px,5vw,24px) Georgia;color:#fff1ad;text-shadow:1px 2px #8c4328;pointer-events:none;animation:item-cheer .8s ease-out both}@keyframes placement-bob{to{transform:translate(-50%,-78%) rotate(5deg)}}@keyframes placement-target{to{box-shadow:inset 0 0 0 2px #fff7d2,0 0 0 1px #bf803d}}@keyframes item-cheer{0%{opacity:0;transform:scale(.6) rotate(-5deg)}25%,65%{opacity:1;transform:scale(1.05)}100%{opacity:0;transform:translateY(-18px) scale(.9)}}@media(prefers-reduced-motion:reduce){.practice-painted .jam-layer,.placement-item,.tile.booster-hit,.item-cheer{animation:none!important}.item-cheer{font-size:18px}}
.tile.booster-hit{animation:placement-pop .8s ease-in-out infinite alternate}@keyframes placement-pop{to{transform:scale(1.045)}}.board:has(.meteor-impact),.board:has(.croissant-impact){animation:combo-kick .25s .14s ease-out}.consumable-crumb{box-shadow:0 1px 0 #fff0b4}.meteor-impact .consumable-ring,.croissant-impact .consumable-ring{box-shadow:0 0 0 1px #a55d2b,0 0 0 5px #fff0b42b}@media(prefers-reduced-motion:reduce){.tile.booster-hit,.board:has(.meteor-impact),.board:has(.croissant-impact){animation:none!important}}
.rainbow-practice-board{position:relative}.practice-await-tap:after{content:'☝ Tap a toast';position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);white-space:nowrap;border:1px solid #a97541;border-radius:14px;padding:6px 10px;background:#fff3cfeb;color:#75472c;font-size:12px;pointer-events:none;animation:practice-point .8s ease-in-out infinite alternate}@keyframes practice-point{to{transform:translate(-50%,-65%)}}@media(prefers-reduced-motion:reduce){.practice-await-tap:after{animation:none}}

.croissant-ray-map{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.croissant-ray-map line{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:pastry-ray-fire .43s .14s ease-out both}.pastry-ray-edge{stroke:#bc6c2c;stroke-width:1.7}.pastry-ray-core{stroke:#fff1ae;stroke-width:.8}.pastry-ray-tip{fill:#fff4c7;stroke:#b66c31;stroke-width:.3;animation:pastry-tip-pop .3s .25s ease-out both;transform-box:fill-box;transform-origin:center}@keyframes pastry-ray-fire{0%{stroke-dashoffset:1;opacity:1}35%{stroke-dashoffset:0;opacity:1}65%{stroke-dashoffset:0;opacity:.9}100%{stroke-dashoffset:0;opacity:0}}@keyframes pastry-tip-pop{0%{transform:scale(.3);opacity:0}35%{transform:scale(1.4);opacity:1}100%{transform:scale(.5);opacity:0}}

/* A roomy bakery ticket keeps the final-turn number and caption separate. */
.metrics > span{box-sizing:border-box;min-width:0;padding:5px 7px;border:1px solid transparent;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.metrics > span > b{line-height:1.05;margin:0;font-variant-numeric:tabular-nums}
.metrics > span > span{display:block;line-height:1.25;letter-spacing:.65px;white-space:nowrap;font-size:8px}
.metrics > .low-spreads{background:linear-gradient(160deg,#fff6d8,#f9d798);border:1px solid #c88b48;border-radius:12px;box-shadow:inset 0 1px 0 #fffbea,0 2px 0 #ad703b,0 4px 7px #80502922}
.metrics > .low-spreads > b{color:#94421f;text-shadow:0 1px #fff4cd}
.metrics > .low-spreads > span{color:#814426;font-weight:700}
.metrics > .last-spread{background:linear-gradient(155deg,#fff0ce,#ffc99b);border-color:#bd6544;box-shadow:inset 0 1px 0 #fff8df,0 2px 0 #9b4b32,0 4px 8px #9b4b322b;animation:final-turn-glow 1.8s ease-in-out 3}
.metrics > .last-spread > b{color:#a53b2b}
.metrics > .last-spread > span{color:#963d2b}
@keyframes final-turn-glow{50%{box-shadow:inset 0 1px 0 #fff8df,0 2px 0 #9b4b32,0 0 0 3px #e9a15c30,0 4px 9px #9b4b322b}}
@media(prefers-reduced-motion:reduce){.metrics > .last-spread{animation:none}}

/* Match the replay action to the standard green bakery buttons. */
dialog #replayBreakfast.new-run-button{background:linear-gradient(#87976b,#5e7450)!important;color:#fff;border:0;box-shadow:0 2px 0 #43563a!important}

#winMap .treasure-map-icon{display:inline-block;width:25px;height:23px;vertical-align:middle;margin-left:5px;filter:drop-shadow(0 1px 1px #31442966);transform:rotate(-7deg);pointer-events:none}

/* Clear confirmation and comfortable touch targets for consumable placement. */
.booster-item{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.booster-item:active{cursor:grabbing}
#boosterDragGhost{position:fixed;left:0;top:0;width:56px;height:56px;z-index:1000;pointer-events:none;filter:drop-shadow(0 5px 3px #58351f66);will-change:transform}#boosterDragGhost svg{width:100%;height:100%}
.booster-actions{padding:10px;gap:8px;border:2px solid #bc925a;background:linear-gradient(#fff7df,#f6dfae);box-shadow:0 3px 0 #bc925a55}
.booster-actions>strong,.booster-actions>span{width:100%;flex-basis:100%;text-align:center}.booster-actions>strong{font-size:14px;color:#70432a}
.booster-actions #useBooster{flex:1;min-height:52px;font-size:18px;font-weight:800;letter-spacing:.3px;color:white;border:2px solid #526b3e;border-radius:12px;background:linear-gradient(#8ca366,#58773d);box-shadow:inset 0 1px #c1d59f,0 4px 0 #3c562d,0 5px 9px #40572d33;text-shadow:0 1px #3c562d}
.booster-actions #useBooster:active{transform:translateY(2px);box-shadow:0 2px 0 #3c562d}.booster-actions #useBooster:disabled{opacity:.45}.booster-actions #cancelBooster{min-height:48px;background:transparent;border-color:#bc925a;color:#785538}
.placement-colors{display:flex;justify-content:center;gap:8px;width:100%}.booster-actions .placement-colors button{min-width:44px;min-height:44px;background:var(--pick-color);border:2px solid #fff4d6;border-radius:50%;color:white;font-size:20px;text-shadow:0 1px 2px #402020;box-shadow:0 1px 3px #58351f55}.booster-actions .placement-colors button[aria-pressed=true]{outline:2px solid #6c4b31;outline-offset:1px}

.controls #restartMission{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 13px;border:1px solid #af8651;border-radius:12px;background:linear-gradient(#fff7dd,#edd09b);color:#71502f;font-size:11px;font-weight:700;box-shadow:inset 0 1px #fffdf0,0 3px 0 #b38b55,0 4px 7px #78512d18;white-space:nowrap;transition:transform .12s,box-shadow .12s}
.controls #restartMission::before{content:'↻';font-size:19px;line-height:1;color:#886034}
.controls #restartMission:hover{background:linear-gradient(#fffbe9,#f5dcae)}
.controls #restartMission:active{transform:translateY(2px);box-shadow:inset 0 1px #fffdf0,0 1px 0 #b38b55}
.controls #restartMission:focus-visible{outline:3px solid #658554;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.controls #restartMission{transition:none}}

/* Keep touch confirmation reachable without rebuilding it during a drag. */
@media(max-width:600px){.booster-actions{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:30;box-shadow:0 4px 0 #bc925a55,0 6px 20px #51311e33}.booster-tray{touch-action:none}.booster-item{min-height:58px}}
.booster-item svg{pointer-events:none}.board:has(.booster-hit){cursor:grab}

/* An outward lift-and-land wave; translation leaves toast art and outlines intact. */
.tile.combo-ripple:not(.toast-pop){animation:toast-ripple .34s cubic-bezier(.24,.65,.35,1) var(--ripple-delay,0ms) both}
@keyframes toast-ripple{0%,100%{translate:0 0}34%{translate:0 var(--ripple-lift,-9px)}72%{translate:0 2px}86%{translate:0 -1px}}
@media(prefers-reduced-motion:reduce){.tile.combo-ripple:not(.toast-pop){animation:none;translate:none}}

/* Slow, staggered idle sway lives on the artwork, leaving touch targets stationary. */
#board .tile:not(.fresh):not(.marked):not(.toast-pop):not(.toast-falling) > .food-art{animation:toast-idle-sway var(--idle-duration,9s) ease-in-out var(--idle-delay,-2s) infinite;transform-origin:50% 72%}
#board .tile:nth-child(3n){--idle-duration:10.5s;--idle-delay:-5s}
#board .tile:nth-child(3n + 1){--idle-duration:8.5s;--idle-delay:-1s}
#board .tile:nth-child(5n){--idle-delay:-7s}
#board:has(.marked) .food-art,#board:has(.booster-hit) .food-art{animation-play-state:paused}
@keyframes toast-idle-sway{0%,100%{rotate:-1.8deg}50%{rotate:1.8deg}}
@media(prefers-reduced-motion:reduce){#board .tile > .food-art{animation:none!important;rotate:none}}

/* Main game hierarchy: compact navigation, clear stats, board, then actions. */
header{padding:9px 11px 4px;gap:7px 8px}header nav{border-top:1px solid #bd925333;padding-top:4px}header nav button{min-height:36px}
.game{padding:12px}.game-top{align-items:center;margin-bottom:8px}.game-top h2{margin:0;font-size:20px;line-height:1.2}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px;margin-bottom:9px}.metrics>span{min-height:48px}.metrics>span:not(:last-child){border-right-color:#b28a5133}.metrics b{font-size:22px}
.play-options{justify-content:space-between;gap:8px;margin:0 0 8px}.play-options button{min-height:34px;padding:6px 11px;font-size:10px}
.scoreboard{display:flex;gap:8px;padding:7px 10px;border:1px solid #c3a27266;border-radius:10px;background:#fff7df99;align-items:center;margin-bottom:4px}.scoreboard>span{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;font-size:8px;letter-spacing:.7px;white-space:nowrap}.scoreboard b{padding:0;font-size:16px}.scoreboard>span+span{border-left:1px solid #b28a5133}
#comboBanner{white-space:pre-line;min-height:38px;height:auto;line-height:1.4;padding:6px 2px;margin-bottom:3px;font-size:10px}
.board-and-boosters{margin-top:0}.instruction{margin:9px 2px 7px;min-height:26px;line-height:1.45;text-align:center}
.pantry{padding:4px 5px}.controls{display:flex;align-items:stretch;gap:9px;margin-top:10px;padding-top:9px}.controls #hint{flex:1;min-height:44px;border-radius:12px}.controls #restartMission{flex:0 0 auto}.controls #hintReplay{min-height:44px}
@media(max-width:380px){.game{padding:9px}.metrics b{font-size:20px}.scoreboard{padding:6px}.scoreboard b{font-size:15px}.controls{gap:6px}.controls #restartMission{padding:7px 10px}.game-top h2{font-size:18px}}

.mission-roll-lesson{display:grid;gap:5px;padding:10px;margin:5px 0 10px;background:linear-gradient(120deg,#fff5ce,#f5dfba);border:2px solid #b78c4f;border-radius:12px;text-align:center;color:#76502d;font-size:11px}.mission-roll-lesson strong{font-size:14px}.mission-roll-lesson small{font-size:10px}.mission-roll-lesson button{justify-self:center;padding:7px 14px;min-height:40px;background:#657e4e;color:white;border:1px solid #465e37;border-radius:10px;font-weight:bold}
.mission-roll-lesson[hidden]{display:none}

#board .lesson-combo-piece{outline:2px solid #ffe59a;outline-offset:-1px;border-radius:10px}#board .lesson-combo-label{position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:8;pointer-events:none;background:#75418d;color:#fff7d2;border:1px solid #ffe7a4;border-radius:4px;padding:1px 3px;font:bold 7px/1.2 Arial,sans-serif;letter-spacing:.3px;box-shadow:0 1px 2px #4c253d80}.combo-lesson strong{color:#75418d}

.challenge-nodes.bakery-trail.master-road{max-height:65vh;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.master-road .trail-canvas{min-width:260px}@media(prefers-reduced-motion:reduce){.challenge-nodes.master-road{scroll-behavior:auto}}

.create-combo-lesson{display:grid;gap:5px;text-align:center;background:linear-gradient(135deg,#fff4d0,#edd5aa);border:2px solid #b68a4b;border-radius:14px;padding:10px;margin:8px 0;color:#73492f;font-size:12px}.create-combo-lesson[hidden]{display:none}.create-combo-lesson small{font-size:10px}.create-combo-lesson button{min-height:42px;border:1px solid #52673e;border-radius:10px;background:#738b57;color:#fff9e9;font-weight:bold;padding:8px}.creation-demo{position:relative;width:200px;height:100px;margin:2px auto}.creation-toast-grid{display:grid;grid-template-columns:repeat(4,1fr);height:100%}.creation-toast{position:relative;animation:creation-pop 4s ease-in-out infinite;animation-delay:calc(var(--step)*.045s)}.creation-toast>svg{width:47px;height:47px}.creation-toast b{position:absolute;bottom:0;right:4px;border-radius:50%;background:#fff2c5;color:#87532e;font-size:9px;padding:1px 4px}.creation-toast .jam-layer{animation:creation-spread 4s ease-in-out infinite;animation-delay:calc(var(--step)*.18s)}.creation-trace{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;animation:creation-line 4s infinite}.creation-trace path{fill:none;stroke:#fffae4;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;animation:creation-draw 4s infinite}.creation-trace circle{fill:#fff4c8;stroke:#ae7843;stroke-width:2}.creation-reward{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:4px;animation:creation-prize 4s infinite;pointer-events:none}.creation-reward svg{width:75px;height:75px}.creation-reward b{color:#8d4f2c;text-shadow:0 1px #fff;font-size:16px}@keyframes creation-spread{0%,8%{opacity:0}30%,70%{opacity:1}100%{opacity:0}}@keyframes creation-pop{0%,60%,100%{transform:scale(1);opacity:1}67%{transform:scale(1.15)}75%,92%{transform:scale(.2);opacity:0}}@keyframes creation-prize{0%,69%,100%{opacity:0;transform:scale(.3)}80%{opacity:1;transform:scale(1.13)}85%,93%{opacity:1;transform:scale(1)}}@keyframes creation-draw{0%,12%{stroke-dashoffset:1}60%,100%{stroke-dashoffset:0}}@keyframes creation-line{0%,62%{opacity:1}70%,100%{opacity:0}}@media(prefers-reduced-motion:reduce){.creation-toast,.creation-toast .jam-layer,.creation-trace,.creation-trace path,.creation-reward{animation:none}.creation-trace,.creation-reward{display:none}.creation-toast .jam-layer{opacity:1}}
.creation-link-lesson{border-top:1px solid #b68a4b66;padding-top:7px;margin-top:3px}.creation-link-lesson>strong{font-size:12px}.creation-link-demo{position:relative;display:flex;align-items:center;gap:8px;width:240px;height:64px;margin:3px auto}.creation-link-demo>span{position:relative;width:52px;flex:none;animation:lesson-link-bounce 3s ease-in-out infinite}.creation-link-demo>span:nth-of-type(2){animation-delay:.2s}.creation-link-demo>span>svg{width:52px;height:52px}.creation-link-demo b{position:absolute;bottom:0;left:4px;padding:1px 3px;border-radius:4px;background:#75418d;color:#fff4d0;font:bold 8px Arial}.creation-link-demo i{font-style:normal;color:#946531}.creation-link-demo em{font-style:normal;font-size:24px;font-weight:bold;color:#75418d;margin-left:8px;animation:lesson-link-bounce 3s ease-out infinite}.creation-link-demo em small{display:block;font-size:11px}.creation-link-swipe{position:absolute;inset:0;width:240px;height:60px;pointer-events:none}.creation-link-swipe path{stroke:#fffbea;stroke-width:3;fill:none;stroke-dasharray:1;animation:lesson-link-trace 3s linear infinite}.creation-link-swipe circle{fill:#fff9e0;stroke:#ac713c;stroke-width:2;animation:creation-line 3s infinite}@keyframes lesson-link-trace{0%,15%{stroke-dashoffset:1;opacity:1}55%{stroke-dashoffset:0;opacity:1}70%,100%{stroke-dashoffset:0;opacity:0}}@keyframes lesson-link-bounce{0%,50%,85%,100%{transform:scale(1)}65%{transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.creation-link-demo>span,.creation-link-demo em{animation:none}.creation-link-swipe{display:none}}
.lesson-combo-party{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff6c8,#f4dfab);border:2px solid #c38c37;box-shadow:0 4px 0 #ad7a3a44;animation:lesson-party-enter .45s ease-out}.lesson-combo-party>strong{font-size:17px;color:#75418d}.lesson-party-rewards{display:flex;justify-content:center;gap:12px;margin:3px 0}.lesson-party-rewards>span{flex:1;max-width:155px;background:#fff9e3;border:1px solid #ccaa6a;border-radius:12px;padding:7px 4px}.lesson-party-rewards b{display:block;font-size:30px;line-height:1.2;color:#75418d;animation:lesson-party-bounce .65s ease-out}.lesson-party-rewards small{display:block;font-size:10px}.lesson-party-total{font-size:14px;font-weight:bold;color:#4c6c39}.lesson-party-sparkles{font-size:18px;letter-spacing:10px;color:#c28b27;pointer-events:none;animation:lesson-party-sparkle 1.2s ease-out 2}@keyframes lesson-party-enter{0%{transform:scale(.92);opacity:0}70%{transform:scale(1.025)}100%{transform:scale(1);opacity:1}}@keyframes lesson-party-bounce{0%,20%{transform:scale(.65)}65%{transform:scale(1.15)}100%{transform:scale(1)}}@keyframes lesson-party-sparkle{0%{transform:translateY(8px) scale(.8);opacity:.4}50%{transform:translateY(-3px) scale(1.05);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.lesson-combo-party,.lesson-party-rewards b,.lesson-party-sparkles{animation:none}}
.lesson-combo-party[data-party-tier="3"]{border-width:3px;padding:12px;background:linear-gradient(135deg,#fff2c5,#eed3e3)}.lesson-combo-party[data-party-tier="3"] .lesson-party-rewards b{font-size:34px}.lesson-combo-party[data-party-tier="4"]{border:3px solid #bb8733;padding:14px;background:linear-gradient(120deg,#fff0b5,#f4cddf,#ede0ff);box-shadow:0 4px 0 #ad7a3a66,0 0 18px #edbc6055}.lesson-combo-party[data-party-tier="4"]>strong{font-size:21px}.lesson-combo-party[data-party-tier="4"] .lesson-party-rewards b{font-size:38px}.lesson-party-rewards b{overflow-wrap:anywhere}.lesson-combo-party .lesson-party-sparkles{letter-spacing:4px;white-space:nowrap}.lesson-combo-party[data-party-tier="4"] .lesson-party-sparkles{animation-iteration-count:3}@media(max-width:380px){.lesson-combo-party[data-party-tier="4"]{padding:10px}.lesson-combo-party[data-party-tier="4"] .lesson-party-rewards b{font-size:32px}}
.linked-bonus-flight{position:fixed;z-index:45;pointer-events:none;user-select:none;white-space:nowrap;padding:4px 9px;border-radius:14px;border:1px solid #c79642;background:#fff3c8;color:#75418d;box-shadow:0 2px 5px #62432333;font:bold 16px/1.2 Arial,sans-serif;animation:linked-bonus-fly .48s cubic-bezier(.3,.05,.6,1) both;will-change:transform,opacity}@keyframes linked-bonus-fly{0%{transform:translate(-50%,-50%) scale(1);opacity:1}70%{opacity:1}100%{transform:translate(calc(-50% + var(--bonus-dx)),calc(-50% + var(--bonus-dy))) scale(.55);opacity:0}}#score.bonus-score-arrival{display:inline-block;color:#75418d;animation:bonus-score-pulse .22s ease-out}@keyframes bonus-score-pulse{50%{transform:scale(1.22);text-shadow:0 0 9px #edbd58}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.linked-bonus-flight{display:none}#score.bonus-score-arrival{animation:none;background:#ffe7a3;border-radius:5px}}
#score{font-variant-numeric:tabular-nums}#score.bonus-score-arrival{transform-origin:center;animation-duration:.26s}@keyframes bonus-score-pulse{50%{transform:scale(var(--bonus-pulse-scale,1.18));text-shadow:0 0 9px #edbd58}100%{transform:scale(1)}}
.winning-combo-banner{display:grid;gap:3px;text-align:center;padding:9px 12px;margin-bottom:9px;border:2px solid #c2983e;border-radius:13px;background:linear-gradient(125deg,#fff4b8,#fff8df,#f1db95);color:#6d4b25;animation:winning-combo-pop .4s ease-out;pointer-events:none}.winning-combo-banner>span{color:#b58424;letter-spacing:8px;font-size:17px}.winning-combo-banner strong{font-size:23px;color:#75508b}.winning-combo-banner b{font-size:14px}.winning-combo-banner small{font-size:11px}.winning-combo-party{border-color:#d0a33c!important}@keyframes winning-combo-pop{0%{transform:scale(.94);opacity:.4}60%{transform:scale(1.025);opacity:1}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.winning-combo-banner{animation:none}}
.burnt-toast-result{position:absolute;z-index:24;pointer-events:none;white-space:nowrap;transform:translate(-50%,-50%);font:bold 16px/1.1 Arial,sans-serif;padding:3px 5px;border-radius:7px;animation:burnt-result-pop .65s ease-out both;text-shadow:0 1px 1px #fff4d7}.burnt-loss{color:#a31024;background:#fff1d9;border:2px solid #bc2635;box-shadow:0 2px 0 #71243177}.burnt-destroyed{color:#38612f;background:#fff2ca;border:1px solid #7c9a54;font-size:11px}@keyframes burnt-result-pop{0%{opacity:0;transform:translate(-50%,0) scale(.7)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-100%) scale(1)}}@media(prefers-reduced-motion:reduce){.burnt-toast-result{animation:none}}
.burnt-lesson{margin:5px 0 9px;padding:8px}.burnt-lesson-pictures{display:flex;align-items:center;justify-content:center;gap:5px;height:53px;pointer-events:none}.burnt-lesson-pictures svg{width:45px;height:45px;animation:burnt-lesson-hop 2.4s ease-in-out infinite}.burnt-lesson-pictures svg:nth-of-type(2){animation-delay:.15s}.burnt-lesson-pictures svg:nth-of-type(3){animation-delay:.3s}.burnt-lesson-pictures i{font-style:normal;color:#a77c43}.burnt-lesson-pictures>b{font-size:18px;animation:burnt-lesson-reward 2.4s ease-in-out infinite}.burnt-cost{color:#b31e32}.burnt-free{color:#54743b}@keyframes burnt-lesson-hop{0%,15%,70%,100%{transform:translateY(0)}35%{transform:translateY(-4px)}50%{transform:translateY(0)}}@keyframes burnt-lesson-reward{0%,40%,100%{transform:scale(1)}60%{transform:scale(1.18)}}@media(prefers-reduced-motion:reduce){.burnt-lesson-pictures svg,.burnt-lesson-pictures>b{animation:none}}
.burnt-crumb{position:absolute;z-index:21;pointer-events:none;width:4px;height:4px;border-radius:1px;background:#744a2b;border:1px solid #c39560;animation:burnt-crumb-burst .38s ease-out both;will-change:transform,opacity}.burnt-crumb:nth-of-type(2n){background:#352721;width:3px;height:5px}@keyframes burnt-crumb-burst{0%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}70%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--crumb-x)),calc(-50% + var(--crumb-y))) rotate(var(--crumb-spin)) scale(.5)}}@media(prefers-reduced-motion:reduce){.burnt-crumb{display:none;animation:none}}
.color-bonus-flights{position:fixed;inset:0;z-index:45;pointer-events:none}.color-piece-bonus{font-size:12px;padding:3px 5px;border-radius:9px;border-color:#c49b44;box-shadow:0 1px 4px #5b3d2933;animation:color-piece-fly .62s ease-in both;white-space:nowrap}@keyframes color-piece-fly{0%{transform:translate(-50%,-50%) scale(.75);opacity:0}12%{transform:translate(-50%,-65%) scale(1.08);opacity:1}32%{transform:translate(-50%,-75%) scale(1);opacity:1}85%{opacity:1}100%{transform:translate(calc(-50% + var(--bonus-dx)),calc(-50% + var(--bonus-dy))) scale(.55);opacity:0}}@media(prefers-reduced-motion:reduce){.color-bonus-flights{display:none}}
#difficultyHelp{cursor:pointer;touch-action:manipulation}#difficultyHelp:focus-visible{outline:2px solid #718656;outline-offset:2px}#difficultyHelp:active{background:#ead7ac55}.difficulty-guide{text-align:center}.difficulty-guide h2{font-size:28px;margin:8px 0 16px}.difficulty-scale{display:flex;gap:6px;justify-content:center}.difficulty-scale span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;border:1px solid #c7aa76;color:#947b55;background:#f7e8c6;font-size:12px}.difficulty-scale .filled{background:#7b8e60;color:#fff9e5;border-color:#64774f}.difficulty-guide p{font-size:14px;line-height:1.5;margin:16px 0}.difficulty-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px}.difficulty-comparison strong{font-size:11px;display:block;margin-top:8px}.difficulty-example{position:relative;background:#e8c58c;border:1px solid #bb8c54;border-radius:14px;padding:5px;box-shadow:inset 0 2px 4px #85552e20}.difficulty-mini{display:grid;grid-template-columns:repeat(3,1fr)}.difficulty-mini>div{aspect-ratio:1;min-width:0}.difficulty-mini svg{width:100%;height:100%}.difficulty-example>svg{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);pointer-events:none}.difficulty-example polyline{fill:none;stroke:#fff9e6;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #8c4538);stroke-dasharray:420;animation:difficulty-trace 2.8s ease-in-out infinite}.difficulty-note{color:#826b4e;font-size:12px!important}#closeDifficulty{min-height:44px;width:100%;margin:2px 0 0}@keyframes difficulty-trace{0%,12%{stroke-dashoffset:420;opacity:.2}65%,90%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.3}}@media(prefers-reduced-motion:reduce){.difficulty-example polyline{animation:none}}
#difficultyInfo{display:inline-grid;place-items:center;width:11px;height:11px;border:1px solid #8c7953;border-radius:50%;font:700 8px/1 Georgia,serif;letter-spacing:0;color:#756443;background:#fff1cd;vertical-align:1px;animation:difficulty-info-arrive .65s ease-out 2}@keyframes difficulty-info-arrive{50%{transform:scale(1.22);box-shadow:0 0 0 3px #c49a4630}}@media(prefers-reduced-motion:reduce){#difficultyInfo{animation:none}}
.bakery-trail .difficulty-tag{font-size:8px;white-space:nowrap;padding:1px 5px;letter-spacing:0}.challenge-preview .difficulty-start-note{font-size:11px!important;color:#826b4e;margin:7px 0 0!important}
[data-difficulty="1"]{--rating-bg:#dce8c8;--rating-ink:#36512c;--rating-edge:#829a65}[data-difficulty="2"]{--rating-bg:#e6e8b8;--rating-ink:#4d5122;--rating-edge:#999b55}[data-difficulty="3"]{--rating-bg:#f5dda1;--rating-ink:#684511;--rating-edge:#bf9547}[data-difficulty="4"]{--rating-bg:#f6c59a;--rating-ink:#763b1b;--rating-edge:#c17e4b}[data-difficulty="5"]{--rating-bg:#efb4a0;--rating-ink:#7b3028;--rating-edge:#bb7060}[data-difficulty="6"]{--rating-bg:#eaa5a3;--rating-ink:#72272e;--rating-edge:#b45e65}.bakery-trail .difficulty-tag[data-difficulty],.difficulty-pill[data-difficulty],.map-difficulty-key [data-difficulty]{background:var(--rating-bg);color:var(--rating-ink);border:1px solid var(--rating-edge);box-shadow:inset 0 1px 0 #ffffff55}.bakery-trail .difficulty-tag[data-difficulty]{line-height:13px;padding:0 4px}.map-difficulty-key{display:flex;align-items:center;justify-content:center;gap:5px;margin:12px 0}.map-difficulty-key span{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;font-size:10px;font-weight:800}.map-difficulty-key small{font-size:10px;color:#786044;margin:0 2px}.bakery-trail .map-locked{filter:none;opacity:1}.bakery-trail .map-locked>b,.bakery-trail .map-locked>.trail-stars,.bakery-trail .map-locked>small{opacity:.65}
.post-level-reward{margin-top:16px;padding:12px;border:1px solid #bda475;border-radius:14px;background:#f2e3bd;text-align:center}.post-level-reward>b{font:700 18px Georgia,serif;color:#6e5037}.post-level-reward p{font-size:12px;margin:7px 0}.post-level-reward small{display:block;font-size:10px;line-height:1.4;color:#776348;margin-top:6px}dialog .post-level-reward .reward-later{background:transparent;color:#64533d;box-shadow:none;text-decoration:underline;font-size:12px}#watchPostReward{min-height:44px}

/* Breakfast combos retain the same matching outlines and power badges. */
.breakfast-art .breakfast-power{transform-origin:78px 77px;animation:none!important;filter:drop-shadow(0 1px 0 #66422470)}.tile.special-toast:has(>.breakfast-art):before{display:none}.tile.special-mega>.breakfast-art{transform:scale(1.04)}.breakfast-guide{padding:12px;border:1px solid #d7ba87;border-radius:15px;background:#fff3d7;margin:14px 0}.breakfast-guide h3{font:21px Georgia;margin:0 0 6px;color:#795338}.breakfast-guide>p{font-size:12px!important;line-height:1.4}.breakfast-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.breakfast-guide-grid>div{display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid #e1c99f;border-radius:12px;padding:9px 5px;background:#f8e7c2}.breakfast-guide-grid svg{width:66px;height:66px;filter:drop-shadow(0 3px 1px #75462140)}.breakfast-guide-grid b{font-size:13px;color:#704d32;margin-top:5px}.breakfast-guide-grid small{font-size:10px;color:#997140;margin:4px 0}.breakfast-guide-grid span{font-size:11px;color:#775e43;line-height:1.3}.first-breakfast{display:block;width:62px;height:62px;margin:auto}.first-breakfast svg{width:100%;height:100%}
