:root{--red:#e53b32;--red-dark:#a81d22;--yellow:#ffd047;--teal:#18aeba;--ink:#30201d}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;background:#d95830;touch-action:manipulation}button{font:inherit}
body:before{content:'';position:fixed;inset:0;background:linear-gradient(rgba(255,150,70,.08),rgba(42,20,13,.46)),url('./assets/fast-food-kitchen.webp') center/cover no-repeat;transform:scale(1.02)}
body:after{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,transparent 25%,rgba(74,24,14,.25) 100%),linear-gradient(180deg,rgba(255,184,71,.18),transparent 26%,rgba(74,24,14,.3))}
.gameShell{position:relative;z-index:2;width:min(100%,620px);height:100%;margin:auto;display:flex;flex-direction:column;align-items:center;padding:max(10px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom))}
.hud{width:100%;height:64px;display:grid;grid-template-columns:52px 70px 1fr 76px;gap:7px;align-items:center}.roundButton,.levelPill,.scorePill,.movesPill{height:54px;border:2px solid #ffffffb3;border-radius:17px;background:linear-gradient(155deg,rgba(73,32,26,.94),rgba(125,46,31,.88));box-shadow:0 7px 0 rgba(91,27,20,.55),inset 0 2px #ffffff35;backdrop-filter:blur(9px)}.roundButton{color:#fff;font-size:22px;font-weight:900}.levelPill,.movesPill,.scorePill{display:flex;flex-direction:column;align-items:center;justify-content:center}.hud small{font-size:9px;font-weight:950;letter-spacing:1px;color:#ffd77b}.hud strong{font-size:21px;line-height:1;font-weight:1000;text-shadow:0 2px #0004}.scorePill{padding:5px 10px}.scorePill strong{font-size:17px}.scorePill>div{width:100%;height:5px;margin-top:4px;border-radius:9px;background:#ffffff28;overflow:hidden}.scorePill i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#ffd644,#7bf087);transition:.3s}
.goalCard{width:min(96%,520px);min-height:67px;margin:5px 0 8px;padding:8px 12px;border:2px solid #fff9;border-radius:20px;background:linear-gradient(135deg,rgba(255,250,238,.97),rgba(255,221,170,.94));color:var(--ink);display:flex;align-items:center;gap:12px;box-shadow:0 8px 0 rgba(122,54,28,.42),inset 0 2px #fff}.goalTitle{min-width:105px;border-right:1px solid #bc765a55}.goalTitle span,.goalTitle b{display:block}.goalTitle span{font-size:9px;font-weight:1000;letter-spacing:1.4px;color:var(--red)}.goalTitle b{margin-top:2px;font:800 14px/1.1 Georgia,serif}.goals{display:flex;flex:1;justify-content:space-around;gap:7px}.goal{min-width:58px;display:flex;align-items:center;gap:5px;transition:.25s}.goal>span{width:31px;height:31px;display:grid;place-items:center;border-radius:11px;background:#fff;box-shadow:0 3px 7px #8e40262c;font-size:19px}.goal small{display:block;font-size:7px;color:#80655c}.goal b{display:block;font-size:15px;line-height:1}.goal.done{opacity:.45;filter:grayscale(.6)}.goal.done b:after{content:' ✓';color:#159a61}
.boardWrap{position:relative;width:min(94vw,520px);aspect-ratio:1;padding:7px;border:3px solid #fff8;border-radius:27px;background:linear-gradient(145deg,rgba(92,39,30,.94),rgba(54,29,27,.95));box-shadow:0 13px 0 rgba(73,25,22,.55),0 22px 45px #3d17165c,inset 0 3px #ffffff35}.board{width:100%;height:100%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:4px;padding:5px;border-radius:20px;background:linear-gradient(145deg,#f6b94d,#d67c2d);box-shadow:inset 0 5px 15px #7a381d63;touch-action:none}.cell{position:relative;min-width:0;min-height:0;padding:0;border:0;border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.34),rgba(255,255,255,.1));box-shadow:inset 0 1px #fff5;display:grid;place-items:center;overflow:visible}.cell:active{transform:scale(.92)}.cell.selected{z-index:4;box-shadow:0 0 0 4px #fff,0 0 19px 7px #fff175,inset 0 2px #fff}.cell.hint{animation:hint 1s ease-in-out infinite}.cell.clearing{animation:clearPiece .28s ease-in forwards}.cell.falling .food{animation:fallIn .3s cubic-bezier(.25,.9,.35,1.2)}
.food{position:relative;width:80%;height:80%;filter:drop-shadow(0 5px 2px rgba(77,31,22,.28));transform-origin:center;animation:foodIdle 2.3s ease-in-out infinite}.food:after{content:'';position:absolute;left:16%;top:8%;width:25%;height:12%;border-radius:50%;background:#fff7;transform:rotate(-28deg)}
.burger i,.burger b,.burger em,.burger span{position:absolute;left:5%;width:90%;border:2px solid #8c3c20}.burger i{top:9%;height:30%;border-radius:55% 55% 18% 18%;background:linear-gradient(#ffc95d,#e78525);box-shadow:inset 0 5px #fff4}.burger i:after{content:'· · ·';position:absolute;inset:0;text-align:center;color:#fff2a8;font-size:10px;line-height:13px}.burger b{top:39%;height:13%;border-radius:6px;background:#51ad4b;border-color:#28712e;transform:skew(-10deg)}.burger em{top:51%;height:18%;border-radius:8px;background:#743421;border-color:#4c2118}.burger span{top:68%;height:20%;border-radius:8px 8px 45% 45%;background:#efa13a}
.strips i{position:absolute;width:29%;height:66%;top:7%;border:2px solid #984a21;border-radius:55% 42% 48% 43%;background:linear-gradient(120deg,#ffd064,#d77a20);box-shadow:inset 5px 3px #fff4}.strips i:nth-child(1){left:11%;transform:rotate(-15deg)}.strips i:nth-child(2){left:35%;top:2%}.strips i:nth-child(3){right:10%;transform:rotate(17deg)}.strips b{position:absolute;left:6%;right:6%;bottom:1%;height:43%;border:2px solid #9b1d24;border-radius:7px 7px 15px 15px;background:linear-gradient(110deg,#f14b3e,#bd2026)}.strips b:after{content:'S';position:absolute;left:38%;top:10%;color:#ffe477;font:900 17px Georgia}
.fries i{position:absolute;bottom:33%;width:18%;height:57%;border:2px solid #b26919;border-radius:5px;background:linear-gradient(90deg,#ffd843,#f1a91d)}.fries i:nth-child(1){left:13%;transform:rotate(-9deg)}.fries i:nth-child(2){left:34%;height:66%}.fries i:nth-child(3){right:28%;height:62%;transform:rotate(6deg)}.fries i:nth-child(4){right:9%;transform:rotate(11deg)}.fries b{position:absolute;left:7%;right:7%;bottom:3%;height:47%;border:2px solid #a82025;border-radius:5px 5px 18px 18px;background:linear-gradient(110deg,#ef4237,#bb1d25)}.fries b:after{content:'F';position:absolute;left:39%;top:11%;color:#ffd94f;font:900 17px Georgia}
.drink i{position:absolute;left:53%;top:-8%;width:7%;height:38%;border-radius:5px;background:#f3e8d2;transform:rotate(12deg);border:1px solid #9c6350}.drink b{position:absolute;left:17%;top:16%;width:68%;height:76%;border:2px solid #9d1c24;border-radius:9px 9px 19px 19px;background:repeating-linear-gradient(100deg,#ef453b 0 9px,#fff4eb 9px 17px);box-shadow:inset 5px 4px #fff4}.drink em{position:absolute;left:11%;top:12%;width:80%;height:13%;border:2px solid #a66a55;border-radius:50%;background:#fff3e6}
.nuggets i{position:absolute;width:46%;height:38%;border:2px solid #9b541f;border-radius:48% 42% 52% 43%;background:linear-gradient(135deg,#ffd169,#d67a21);box-shadow:inset 5px 4px #fff3}.nuggets i:nth-child(1){left:4%;top:9%;transform:rotate(-12deg)}.nuggets i:nth-child(2){right:2%;top:18%;transform:rotate(13deg)}.nuggets i:nth-child(3){left:23%;top:43%;transform:rotate(4deg)}.nuggets b{position:absolute;left:7%;right:7%;bottom:1%;height:38%;border:2px solid #14818b;border-radius:8px 8px 17px 17px;background:linear-gradient(120deg,#27bec7,#158b99)}
.sauce i{position:absolute;left:12%;top:22%;width:76%;height:65%;border:2px solid #8f1d24;border-radius:18% 18% 46% 46%;background:linear-gradient(145deg,#ff6953,#c51d2a)}.sauce b{position:absolute;left:7%;top:13%;width:86%;height:23%;border:2px solid #8c6455;border-radius:50%;background:#fff0d8}.sauce em{position:absolute;left:34%;top:42%;width:32%;height:23%;border-radius:50%;background:#ffca42}
.combo{position:absolute;z-index:10;left:50%;top:44%;opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-8deg);pointer-events:none;white-space:nowrap;font:1000 clamp(24px,8vw,48px)/1 Georgia;color:#fff6a1;text-shadow:0 4px #b52629,0 7px 15px #4d1d1b}.combo.show{animation:combo .8s ease-out}
.boosters{width:min(96%,480px);height:74px;margin-top:13px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.boosters button{position:relative;border:2px solid #ffffffb3;border-radius:18px;background:linear-gradient(145deg,rgba(255,250,238,.97),rgba(255,214,148,.95));color:var(--ink);box-shadow:0 7px 0 rgba(103,40,27,.55);display:grid;grid-template-columns:37px 1fr;grid-template-rows:1fr 1fr;align-items:center;padding:7px 11px;text-align:left}.boosters button:active{transform:translateY(4px);box-shadow:0 3px 0 rgba(103,40,27,.55)}.boosters button.active{outline:4px solid #71f1dc;background:#fff}.boosters span{grid-row:1/3;font-size:26px}.boosters b{font-size:11px;align-self:end}.boosters small{font-size:10px;color:#a5262a;font-weight:900}.boosters small:before{content:'×'}
.overlay{position:fixed;z-index:30;inset:0;display:none;place-items:center;padding:23px;background:rgba(55,19,18,.65);backdrop-filter:blur(9px)}.overlay.show{display:grid}.modal{width:min(100%,390px);padding:28px 24px;border:3px solid #fff9;border-radius:30px;background:linear-gradient(150deg,#fff7e7,#ffd18a);color:var(--ink);text-align:center;box-shadow:0 15px 0 #962e27,0 25px 70px #45161699;animation:modalIn .35s cubic-bezier(.2,.9,.2,1.15)}.modal>small{font-size:10px;letter-spacing:2px;color:var(--red);font-weight:1000}.modal h1,.modal h2{margin:5px 0 12px;font:900 46px/1 Georgia;color:#b22429;text-shadow:0 3px #fff}.modal h2{font-size:36px}.modal p{margin:0 auto 20px;max-width:310px;font-size:14px;line-height:1.5;color:#624941}.logoFood{position:relative;width:85px;height:85px;margin:0 auto 18px;border:4px solid #fff;border-radius:24px;background:linear-gradient(145deg,#ef443a,#ad1d25);box-shadow:0 8px 0 #852020;transform:rotate(-5deg)}.logoFood b{font:900 56px/79px Georgia;color:#ffd64b}.logoFood i{position:absolute;right:-7px;top:-9px;width:29px;height:29px;border:3px solid #fff;border-radius:50%;background:#18aeba}.primary,.secondary{width:100%;padding:15px;border:0;border-radius:16px;font-size:12px;font-weight:1000;letter-spacing:.5px}.primary{background:linear-gradient(#ef4b3f,#bd2028);color:#fff;box-shadow:0 6px 0 #881a20}.primary span{float:right;font-size:22px;line-height:10px}.secondary{margin-top:12px;background:transparent;color:#8b2928}.stars{font-size:32px;letter-spacing:4px;color:#f6ad21;text-shadow:0 2px #a75a15}.resultModal .primary,.resultModal .secondary{display:none}
.toast{position:fixed;z-index:50;left:50%;bottom:calc(102px + env(safe-area-inset-bottom));opacity:0;transform:translate(-50%,12px);padding:10px 15px;border:2px solid #fff8;border-radius:999px;background:#432520eF;color:#fff;font-size:12px;font-weight:900;white-space:nowrap;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes foodIdle{50%{transform:translateY(-2px) rotate(1deg)}}@keyframes hint{50%{transform:scale(1.12);box-shadow:0 0 0 3px #fff,0 0 18px #fff86c}}@keyframes clearPiece{60%{transform:scale(1.25) rotate(8deg);filter:brightness(1.7)}to{transform:scale(.05) rotate(35deg);opacity:0}}@keyframes fallIn{from{transform:translateY(-60px) scale(.8);opacity:.2}to{transform:none;opacity:1}}@keyframes combo{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-8deg)}35%{opacity:1;transform:translate(-50%,-50%) scale(1.13) rotate(3deg)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-80%) scale(1)}}@keyframes specialGlow{50%{filter:brightness(1.4);transform:scale(1.06)}}@keyframes modalIn{from{opacity:0;transform:translateY(25px) scale(.9)}}
@media(max-height:720px){.gameShell{padding-top:5px}.hud{height:57px}.roundButton,.levelPill,.scorePill,.movesPill{height:48px}.goalCard{min-height:58px;margin:2px 0 6px}.boardWrap{width:min(78vh,94vw)}.boosters{height:63px;margin-top:9px}.goalTitle b{font-size:12px}.goal>span{width:28px;height:28px}.hud strong{font-size:18px}}
@media(max-width:390px){.hud{grid-template-columns:46px 61px 1fr 65px}.goalCard{padding:7px}.goalTitle{min-width:88px}.goalTitle b{font-size:12px}.goal{min-width:48px}.goal small{display:none}.board{gap:3px;padding:4px}.cell{border-radius:11px}.boosters button{padding:5px 7px;grid-template-columns:30px 1fr}.boosters span{font-size:22px}.boosters b{font-size:9px}}
/* richer match-3 motion and rewarded offers */
.goalTitle small{display:block;margin-top:4px;font-size:8px;font-weight:800;color:#8f6a5d}.goal b{font-size:12px;white-space:nowrap}
.food:before{content:'';position:absolute;z-index:7;left:9%;right:9%;bottom:5%;height:12%;border-radius:50%;background:#4c20152e;filter:blur(2px)}.cell:nth-child(3n) .food{animation-delay:-.7s}.cell:nth-child(4n) .food{animation-delay:-1.2s}
.cell.swapping .food{animation:swapPiece .23s cubic-bezier(.2,.82,.2,1)}.spark{position:absolute;z-index:12;left:48%;top:48%;width:8px;height:8px;border-radius:50%;background:#fff9a4;box-shadow:0 0 8px #fff}.spark.s1{--rx:34px;--ry:-28px}.spark.s2{--rx:-35px;--ry:-25px;background:#79f4df}.spark.s3{--rx:33px;--ry:31px;background:#ff739f}.spark.s4{--rx:-31px;--ry:32px;background:#fff}.cell.clearing .spark{animation:sparkFly .34s ease-out forwards}
.scoreBurst{position:absolute;z-index:11;left:50%;top:58%;opacity:0;pointer-events:none;font:1000 25px/1 Georgia;color:#fff;text-shadow:0 3px #b32227,0 6px 13px #421814}.scoreBurst.show{animation:scoreRise .85s ease-out}
.lowMovesOffer{position:absolute;z-index:12;left:50%;bottom:91px;display:none;grid-template-columns:28px auto;grid-template-rows:1fr 1fr;column-gap:8px;align-items:center;transform:translateX(-50%);padding:8px 15px;border:2px solid #fff;border-radius:18px;background:linear-gradient(135deg,#863ad1,#542197);color:#fff;box-shadow:0 6px 0 #371366,0 0 22px #ffe455a8;animation:offerPulse 1.4s ease-in-out infinite}.lowMovesOffer.show{display:grid}.lowMovesOffer span{grid-row:1/3;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#6b2db4;font-size:12px}.lowMovesOffer b{align-self:end;font-size:11px}.lowMovesOffer small{align-self:start;font-size:8px;color:#ffe788}.doubleBadge{position:absolute;z-index:10;top:143px;left:50%;display:none;transform:translateX(-50%);padding:7px 13px;border:2px solid #fff7;border-radius:999px;background:linear-gradient(135deg,#7437bd,#44206f);font-size:9px;font-weight:1000;box-shadow:0 5px 13px #381b50aa}.doubleBadge.show{display:block}
.boosters{grid-template-columns:repeat(4,1fr);width:min(98%,540px);gap:7px}.boosters button{grid-template-columns:31px 1fr;padding:7px 8px}.boosters span{font-size:23px}.boosters b{font-size:9px}.boosters .rewardButton{background:linear-gradient(145deg,#7643c7,#4b2689);color:#fff;border-color:#ffe987}.boosters .rewardButton small{color:#ffe36c}.boosters .rewardButton span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#6231a8;font-size:12px}
.adContinue{display:none;width:100%;margin-top:10px;padding:11px 15px;border:2px solid #fff;border-radius:16px;background:linear-gradient(145deg,#7742c8,#4c278c);color:#fff;box-shadow:0 6px 0 #35165f;grid-template-columns:35px 1fr;grid-template-rows:1fr 1fr;text-align:left}.adContinue>span{grid-row:1/3;width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#6433aa}.adContinue b{font-size:12px;align-self:end}.adContinue small{font-size:9px;color:#ffe87d;align-self:start}
.rewardsModal{position:relative}.modalClose{position:absolute;right:14px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#e6b875;color:#7b3b2d;font-size:24px}.rewardGrid{display:grid;gap:8px}.rewardGrid>button{width:100%;display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:9px;padding:10px;border:2px solid #e7b168;border-radius:15px;background:#fff9ee;color:#4c3028;text-align:left;box-shadow:0 4px 0 #d7974d}.rewardGrid>button>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#ffe777,#f3a62f);font-size:23px}.rewardGrid b,.rewardGrid small{display:block}.rewardGrid b{font-size:12px}.rewardGrid small{font-size:9px;color:#8b6d61}.rewardGrid em{padding:7px;border-radius:9px;background:#6a34b0;color:#fff;font-size:8px;font-style:normal;font-weight:1000}.rewardGrid button.claimed{opacity:.48;filter:grayscale(.7)}.rewardGrid button.claimed em{background:#777}
.adOverlay{position:fixed;z-index:60;inset:0;display:none;place-items:center;padding:24px;background:rgba(37,18,17,.93);backdrop-filter:blur(14px)}.adOverlay.show{display:grid}.adCard{width:min(100%,370px);padding:29px 24px;border:2px solid #fff5;border-radius:27px;background:radial-gradient(circle at 50% 0,#c44e35,#72291f 52%,#351817);text-align:center;box-shadow:0 25px 80px #0008}.adCard>small{font-size:8px;letter-spacing:2px;color:#eec0a9}.adIllustration{margin:20px auto 10px;display:flex;justify-content:center;align-items:center;gap:14px}.adIllustration span{font-size:55px;filter:drop-shadow(0 8px 4px #35130f)}.adIllustration b{font-size:25px;color:#ffd852}.adCard h2{margin:5px 0;font:900 30px Georgia}.adCard p{margin:7px 0 19px;font-size:12px;color:#efd3c9}.adProgress{height:9px;overflow:hidden;border-radius:10px;background:#ffffff25}.adProgress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd342,#65e8bf);box-shadow:0 0 10px #ffe46f}.adCard>b{display:block;margin-top:8px;font-size:11px;color:#ffdf76}
@keyframes swapPiece{from{transform:translate(var(--sx),var(--sy)) scale(.86);filter:brightness(1.4) drop-shadow(0 7px 3px rgba(77,31,22,.25))}75%{transform:translate(0,0) scale(1.08)}to{transform:none}}@keyframes sparkFly{from{opacity:1;transform:translate(0,0) scale(1)}to{opacity:0;transform:translate(var(--rx),var(--ry)) scale(.2)}}@keyframes scoreRise{0%{opacity:0;transform:translate(-50%,0) scale(.65)}25%{opacity:1;transform:translate(-50%,-8px) scale(1.15)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-55px) scale(.9)}}@keyframes offerPulse{50%{filter:brightness(1.16);box-shadow:0 6px 0 #371366,0 0 32px #ffe455}}
@media(max-width:390px){.boosters{gap:4px}.boosters button{grid-template-columns:25px 1fr;padding:5px}.boosters span{font-size:19px}.boosters b{font-size:8px}.boosters small{font-size:8px}.lowMovesOffer{bottom:84px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* Distinct illustrated food pieces */
.cell{border:2px solid rgba(255,255,255,.38);box-shadow:inset 0 3px 0 #ffffff50,inset 0 -5px 0 #00000018,0 3px 4px #7b351d33;transition:filter .16s,transform .16s,box-shadow .16s}.cell:before{content:'';position:absolute;inset:5px;border-radius:11px;background:linear-gradient(135deg,#ffffff42,transparent 42%);pointer-events:none}
.cell.type-burger{background:linear-gradient(145deg,#ffc35b,#e77927)}.cell.type-strips{background:linear-gradient(145deg,#ff7772,#d9343a)}.cell.type-fries{background:linear-gradient(145deg,#fff071,#e7b624)}.cell.type-drink{background:linear-gradient(145deg,#75edf1,#1baeba)}.cell.type-nuggets{background:linear-gradient(145deg,#79e0a7,#25a66e)}.cell.type-shake{background:linear-gradient(145deg,#d69cff,#8b54d6)}
.foodSprite{z-index:2;width:96%;height:96%;background-image:url('./assets/food-pieces-v2.webp');background-size:300% 200%;background-repeat:no-repeat;background-color:transparent;filter:drop-shadow(0 5px 3px rgba(68,26,18,.35));animation:none}.foodSprite:before,.foodSprite:after{display:none}.foodSprite.burger{background-position:0 0}.foodSprite.fries{background-position:50% 0}.foodSprite.drink{background-position:100% 0}.foodSprite.strips{background-position:0 100%}.foodSprite.nuggets{background-position:50% 100%}.foodSprite.shake{background-position:100% 100%}
.goalSprite{width:38px!important;height:38px!important;background-image:url('./assets/food-pieces-v2.webp')!important;background-size:300% 200%!important;background-repeat:no-repeat!important;background-color:transparent!important;border-radius:9px!important;filter:drop-shadow(0 3px 2px #7f4a3438);animation:none}.goalSprite.burger{background-position:0 0!important}.goalSprite.fries{background-position:50% 0!important}.goalSprite.drink{background-position:100% 0!important}.goalSprite.strips{background-position:0 100%!important}.goalSprite.nuggets{background-position:50% 100%!important}.goalSprite.shake{background-position:100% 100%!important}
.boosterIcon{width:39px!important;height:39px!important;display:block!important;background-image:url('./assets/booster-icons-v3.webp')!important;background-size:400% 100%!important;background-repeat:no-repeat!important;background-color:transparent!important;border-radius:0!important;filter:drop-shadow(0 3px 2px #53271e55)}.hammerIcon{background-position:0 0!important}.shuffleIcon{background-position:33.333% 0!important}.hintIcon{background-position:66.666% 0!important}.videoIcon{background-position:100% 0!important}.boosters .rewardButton .boosterIcon{background-color:transparent!important}.rewardGrid>button>.boosterIcon{width:43px!important;height:43px!important;background-color:transparent!important}.rewardPlus,.rewardBomb,.rewardDouble{font-size:16px!important;font-weight:1000!important;color:#8e222a}.rewardBomb{color:#7133ad;font-size:27px!important}.rewardDouble{color:#57309e!important}
.cell.falling .foodSprite{animation:foodDrop .48s cubic-bezier(.18,.78,.22,1.25) var(--fallDelay) both}.cell.clearing .foodSprite{animation:foodBurst .32s cubic-bezier(.3,.8,.4,1) forwards}.cell.swapping .foodSprite{animation:swapDeluxe .3s cubic-bezier(.16,.82,.18,1.12)}.ring{position:absolute;z-index:11;inset:9%;border:4px solid #fff;border-radius:50%;animation:clearRing .38s ease-out forwards}.cell.selected{outline:3px solid #fff;box-shadow:inset 0 3px 0 #ffffff70,inset 0 -5px 0 #00000018,0 0 0 3px #ffcf3d,0 5px 8px #6d2f2545}.cell.selected .foodSprite{animation:none}

/* Special pieces use one small static star instead of direction arrows. */
.specialMark,.specialMark.row,.specialMark.col,.specialMark.bomb{inset:auto 1px auto auto!important;top:1px!important;width:19px!important;height:19px!important;border:2px solid #fff!important;border-radius:50%!important;background:linear-gradient(145deg,#fff176,#ffad24)!important;box-shadow:0 2px 4px #6f301866!important;animation:none!important}.specialMark:after,.specialMark.row:after,.specialMark.col:after,.specialMark.bomb:after{content:'★'!important;position:absolute!important;inset:0!important;color:#8a3b16!important;font:900 12px/16px Arial!important;text-align:center!important;text-shadow:none!important}

/* Clean, balanced booster dock. */
.boosters{height:82px;gap:8px}.boosters button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:5px 3px;text-align:center;border-radius:20px}.boosters button b{font-size:10px;line-height:1;align-self:auto}.boosters button small{position:absolute;right:6px;top:6px;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#c8343b;color:#fff;font-size:9px;line-height:16px;text-align:center;box-shadow:0 2px 3px #4b201d55}.boosters .rewardButton small{background:#ffe165;color:#5a258f;border-color:#fff}.boosters .rewardButton small:before,#hintButton small:before{content:''}.boosters .rewardButton{background:linear-gradient(150deg,#7541c8,#4a2488)}
@keyframes pieceFloat{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}@keyframes goalBob{50%{transform:translateY(-2px) scale(1.04)}}@keyframes foodDrop{0%{opacity:0;transform:translateY(-95px) scale(.72) rotate(-12deg)}62%{opacity:1;transform:translateY(5px) scale(1.08) rotate(3deg)}82%{transform:translateY(-3px) scale(.97) rotate(-1deg)}100%{transform:none}}@keyframes foodBurst{0%{transform:scale(1);filter:brightness(1.1) drop-shadow(0 5px 3px #0003)}50%{transform:scale(1.34) rotate(-9deg);filter:brightness(1.65) saturate(1.4) drop-shadow(0 0 12px #fff)}100%{transform:scale(.08) rotate(32deg);opacity:0}}@keyframes swapDeluxe{0%{transform:translate(var(--sx),var(--sy)) scale(.82) rotate(-8deg)}58%{transform:translate(0,0) scale(1.18) rotate(4deg)}78%{transform:scale(.94) rotate(-2deg)}100%{transform:none}}@keyframes clearRing{from{opacity:1;transform:scale(.35)}to{opacity:0;transform:scale(1.85);border-width:1px}}@keyframes selectedDance{0%,100%{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.13) rotate(4deg)}}
@media(max-width:390px){.goalSprite{width:31px!important;height:31px!important}.boosterIcon{width:28px!important;height:28px!important}.cell{border-width:1px}.cell:before{inset:3px;border-radius:8px}}
@media(prefers-reduced-motion:reduce){.foodSprite,.goalSprite,.boosterIcon,.ring{animation-duration:.001ms!important;animation-iteration-count:1!important}}

/* Sky-blue cartoon world */
:root{--red:#ff6378;--red-dark:#dc425f;--yellow:#ffd94f;--teal:#22bfd3;--sky:#8ed9f8;--baby:#dff5ff;--navy:#174d7c;--ink:#173d60}
html,body{background:#8ed9f8;color:#fff}
body:before{background:linear-gradient(rgba(112,205,246,.08),rgba(25,104,163,.2)),url('./assets/snack-rush-background-v1.webp') center/cover no-repeat;transform:scale(1.015)}
body:after{background:radial-gradient(circle at 50% 40%,transparent 27%,rgba(19,91,148,.2) 100%),linear-gradient(180deg,rgba(255,255,255,.12),transparent 35%,rgba(21,85,137,.18))}
.roundButton,.levelPill,.scorePill,.movesPill{border-color:#ffffffd9;background:linear-gradient(155deg,rgba(35,133,195,.96),rgba(24,87,151,.95));box-shadow:0 6px 0 rgba(15,70,119,.55),inset 0 2px #ffffff55}.hud small{color:#dff7ff}.scorePill i{background:linear-gradient(90deg,#ffe35b,#71f0bc)}
.goalCard{border-color:#fff;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(218,245,255,.96));color:var(--ink);box-shadow:0 7px 0 rgba(28,108,167,.38),inset 0 2px #fff}.goalTitle{border-right-color:#61bfe458}.goalTitle span{color:#e84767}.goalTitle small,.goal small{color:#5f7e96}
.boardWrap{border-color:#eafbff;background:linear-gradient(145deg,rgba(37,139,201,.97),rgba(20,76,137,.97));box-shadow:0 12px 0 rgba(17,75,126,.58),0 22px 45px rgba(15,71,119,.3),inset 0 3px #ffffff55}.board{background:linear-gradient(145deg,#d8f3ff,#8edaf6);box-shadow:inset 0 5px 14px #277fb05c}
.boosters button{border-color:#fff;background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(211,243,255,.98));color:var(--ink);box-shadow:0 6px 0 rgba(23,93,150,.46),inset 0 2px #fff}.boosters button:active{box-shadow:0 2px 0 rgba(23,93,150,.46)}.boosters .rewardButton{background:linear-gradient(150deg,#7166e8,#4a42bd);border-color:#fff}.boosters button small{background:#ff6176;box-shadow:0 2px 3px #174d7c55}.boosters .rewardButton small{background:#ffe56b;color:#3e369b}
.overlay{background:rgba(38,133,190,.38);backdrop-filter:blur(7px)}.modal{border-color:#fff;background:linear-gradient(155deg,#ffffff,#dff5ff);color:var(--ink);box-shadow:0 13px 0 #4aaed8,0 25px 70px #16577a66}.modal>small{color:#2a8fbe}.modal h2{color:#1d72ae;text-shadow:0 3px #fff}.modal p{color:#496d87}.primary{background:linear-gradient(#ffdb55,#ffac35);color:#194a70;box-shadow:0 6px 0 #dc7a27}.secondary{color:#256e9c}.modalClose{background:#bdeaff;color:#1d699b}
#introOverlay{background:rgba(86,183,229,.2)}.introModal{width:min(92vw,410px);padding:35px 27px 30px;border-radius:42px;background:linear-gradient(155deg,rgba(255,255,255,.97),rgba(211,244,255,.95));box-shadow:0 14px 0 #43acd7,0 25px 80px #13597b66}.gameLogo{display:block;width:min(100%,330px);height:auto;margin:-8px auto 14px;filter:drop-shadow(0 8px 5px #236b9a35)}.srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.lowMovesOffer{background:linear-gradient(135deg,#7669e6,#4b42b9);box-shadow:0 6px 0 #342b8d,0 0 22px #ffe455a8}.doubleBadge{background:linear-gradient(135deg,#2baed1,#2464b4);box-shadow:0 5px 13px #174f79aa}.toast{background:#174d7cf2}.adCard{background:radial-gradient(circle at 50% 0,#55c6e9,#267bb8 56%,#174d7c);box-shadow:0 25px 80px #123b5a88}.adCard>small,.adCard p{color:#dff7ff}

/* Larger matches feel progressively more rewarding. */
.combo{top:43%;width:max-content;min-width:175px;padding:10px 18px;border:3px solid #fff;border-radius:22px;background:linear-gradient(145deg,#45c9ed,#2876d4);box-shadow:0 8px 0 #174d7c,0 14px 30px #103e6788;text-align:center;text-shadow:none;font-family:Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.combo strong{display:block;color:#fff;font-size:clamp(22px,7vw,40px);font-weight:1000;line-height:1;text-shadow:0 3px #176399}.combo small{display:block;margin-top:5px;color:#fff6a4;font-size:11px;font-weight:1000;letter-spacing:1.2px}.combo[data-tier="big"]{background:linear-gradient(145deg,#ffca45,#ff7b4b);box-shadow:0 8px 0 #ce4a3e,0 14px 34px #ffcf4d88}.combo[data-tier="big"] strong{text-shadow:0 3px #c94e3f}.combo[data-tier="mega"]{background:linear-gradient(145deg,#ff73ba,#7658e8);box-shadow:0 8px 0 #5540b6,0 14px 40px #ff7abe99}.combo[data-tier="mega"] strong{text-shadow:0 3px #623ca9}.combo.show{animation:comboPop 1.02s cubic-bezier(.18,.86,.22,1)}.combo i{position:absolute;left:50%;top:50%;width:11px;height:11px;border:2px solid #fff;border-radius:3px;background:#ffe35c;opacity:0}.combo i:nth-of-type(1){--tx:-105px;--ty:-72px;--r:-120deg}.combo i:nth-of-type(2){--tx:-82px;--ty:78px;--r:95deg;background:#68efc0}.combo i:nth-of-type(3){--tx:0;--ty:-96px;--r:160deg;background:#fff}.combo i:nth-of-type(4){--tx:102px;--ty:-66px;--r:110deg;background:#ff8ac7}.combo i:nth-of-type(5){--tx:92px;--ty:74px;--r:-145deg;background:#7ee7ff}.combo i:nth-of-type(6){--tx:5px;--ty:95px;--r:130deg}.combo.show i{animation:comboConfetti .9s ease-out forwards}.boardWrap.celebrate{animation:boardCelebrate .58s ease-out}.scoreBurst{color:#fff8a6;text-shadow:0 3px #2875b5,0 6px 15px #174d7c}
@keyframes comboPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.22) rotate(-7deg)}27%{opacity:1;transform:translate(-50%,-50%) scale(1.18) rotate(2deg)}48%{transform:translate(-50%,-50%) scale(.96)}72%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-72%) scale(.94)}}
@keyframes comboConfetti{0%{opacity:1;transform:translate(-50%,-50%) scale(.3) rotate(0)}70%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.15) rotate(var(--r))}}
@keyframes boardCelebrate{0%,100%{transform:scale(1)}35%{transform:scale(1.018);filter:brightness(1.12)}62%{transform:scale(.995)}}
@media(max-width:390px){.gameLogo{width:min(100%,285px)}.introModal{padding:28px 22px 25px}.combo{min-width:150px;padding:9px 14px}.combo small{font-size:9px}}

/* Fast-food menu-board identity */
html,body,button{font-family:"Arial Narrow","Avenir Next Condensed","Helvetica Neue",Arial,sans-serif}
.gameShell{padding-left:12px;padding-right:12px}
.hud{height:64px;gap:0;padding:5px;border:3px solid #fff7e7;border-top:7px solid #d7352d;border-radius:11px;background:#222b31;box-shadow:0 7px 0 #11191e99,0 12px 25px #164d6c33}.roundButton,.levelPill,.scorePill,.movesPill{height:46px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.roundButton{margin-right:4px;border-radius:5px;background:#d7352d;color:#fff;font-size:20px}.levelPill,.scorePill,.movesPill{border-left:1px solid #ffffff35}.hud small{font-family:"Arial Narrow",Arial,sans-serif;font-size:9px;font-weight:900;letter-spacing:1.8px;color:#ffce45}.hud strong{font-family:"Arial Black","Arial Narrow",Arial,sans-serif;font-weight:900;text-shadow:none}.scorePill>div{height:4px;border-radius:1px;background:#ffffff24}.scorePill i{border-radius:1px;background:#ffce45}
.goalCard{position:relative;min-height:69px;margin-top:7px;padding:10px 12px;border:3px solid #d7352d;border-radius:8px;background:#fffaf0;color:#202a30;box-shadow:0 7px 0 #8d211d55,inset 0 1px #fff}.goalCard:before{content:'';position:absolute;left:0;right:0;top:0;height:7px;background:repeating-linear-gradient(90deg,#d7352d 0 18px,#fffaf0 18px 27px)}.goalTitle{padding-top:3px;border-right:2px dashed #d7352d55}.goalTitle span{font-size:9px;letter-spacing:2px;color:#d7352d}.goalTitle b{font-family:"Arial Black","Arial Narrow",Arial,sans-serif;font-size:13px;line-height:1.05;text-transform:uppercase}.goalTitle small{font-size:9px;color:#617078}.goal small{font-family:"Arial Narrow",Arial,sans-serif;font-size:8px;font-weight:800;text-transform:uppercase;color:#67747b}.goal b{font-family:"Arial Black",Arial,sans-serif;color:#202a30}
.boardWrap{padding:8px;border:4px solid #fff7e7;border-radius:13px;background:#d7352d;box-shadow:0 10px 0 #8d211d,0 20px 35px #153f5a3f,inset 0 0 0 3px #252d31}.board{gap:4px;padding:6px;border-radius:5px;background:#252d31;box-shadow:inset 0 4px 13px #0006}.cell{border-radius:9px}.cell:before{border-radius:6px}
.boosters{height:80px;gap:6px;margin-top:13px;padding:0}.boosters button{justify-content:flex-end;gap:0;padding:5px 3px 7px;border:3px solid #fff7e7;border-top:7px solid #d7352d;border-radius:8px;background:#fffaf0;color:#202a30;box-shadow:0 6px 0 #8d211d,0 9px 18px #173c5433}.boosters button:active{transform:translateY(4px);box-shadow:0 2px 0 #8d211d}.boosters button b{font-family:"Arial Black","Arial Narrow",Arial,sans-serif;font-size:9px;line-height:1.1;text-transform:uppercase}.boosters button small{right:4px;top:3px;height:19px;min-width:19px;padding:0 4px;border:2px solid #fff7e7;border-radius:4px;background:#d7352d;font-family:"Arial Black",Arial,sans-serif;font-size:8px;line-height:15px;box-shadow:none}.boosterIcon{width:38px!important;height:38px!important}.boosters .rewardButton{border-color:#fff7e7;border-top-color:#ffce45;background:#d7352d;color:#fff;box-shadow:0 6px 0 #8d211d}.boosters .rewardButton small{background:#ffce45;color:#252d31}
.modal{padding:27px 23px;border:4px solid #fff7e7;border-top:12px solid #d7352d;border-radius:12px;background:#fffaf0;color:#202a30;box-shadow:0 12px 0 #8d211d,0 24px 65px #173f5966}.modal>small{font-family:"Arial Black","Arial Narrow",Arial,sans-serif;color:#d7352d;letter-spacing:2.4px}.modal h2{margin-top:7px;font-family:"Arial Black","Arial Narrow",Arial,sans-serif;font-size:31px;line-height:1;text-transform:uppercase;color:#202a30;text-shadow:none}.modal p{font-family:"Helvetica Neue",Arial,sans-serif;color:#52636c}.introModal{width:min(92vw,410px);padding:31px 25px 28px;border-radius:12px;background:#fffaf0;box-shadow:0 13px 0 #8d211d,0 25px 70px #173f5966}.gameLogo{width:min(100%,320px);margin:0 auto 13px;filter:drop-shadow(0 5px 0 #ffffff)}.primary{border:3px solid #fff7e7;border-radius:6px;background:#d7352d;color:#fff;font-family:"Arial Black","Arial Narrow",Arial,sans-serif;font-size:13px;letter-spacing:1.2px;box-shadow:0 6px 0 #8d211d}.secondary{font-family:"Arial Black","Arial Narrow",Arial,sans-serif;color:#a92823}.modalClose{border-radius:5px;background:#252d31;color:#fff}.stars{font-family:Arial,sans-serif;color:#ffbd28;text-shadow:0 2px #8d5416}
.rewardGrid>button{border:2px solid #d9cdbb;border-left:7px solid #d7352d;border-radius:5px;background:#fff;color:#202a30;box-shadow:0 3px 0 #b8a994}.rewardGrid b{font-family:"Arial Black","Arial Narrow",Arial,sans-serif;text-transform:uppercase}.rewardGrid em{border-radius:4px;background:#d7352d;font-family:"Arial Black",Arial,sans-serif}.adContinue{border-radius:6px;background:#d7352d;box-shadow:0 6px 0 #8d211d}.adCard{border:4px solid #fff7e7;border-top:12px solid #d7352d;border-radius:12px;background:#252d31;box-shadow:0 14px 0 #11191e,0 25px 75px #112d4288}.adCard h2{font-family:"Arial Black","Arial Narrow",Arial,sans-serif;text-transform:uppercase}.adProgress{border-radius:2px}.adProgress i{border-radius:2px;background:#ffce45}
.combo{border:4px solid #fff7e7;border-radius:7px;background:#d7352d;box-shadow:0 7px 0 #8d211d,0 14px 30px #103e6788;font-family:"Arial Narrow",Arial,sans-serif}.combo strong{font-family:"Arial Black","Arial Narrow",Arial,sans-serif;font-style:italic;letter-spacing:-1px;text-shadow:0 3px #8d211d}.combo small{color:#ffdf70}.combo[data-tier="big"]{background:#e44a2f;box-shadow:0 7px 0 #96281e,0 14px 34px #ffcf4d88}.combo[data-tier="mega"]{background:#c6242e;box-shadow:0 7px 0 #71141b,0 14px 40px #ffcf4d99}.lowMovesOffer,.doubleBadge{border-radius:6px;font-family:"Arial Black","Arial Narrow",Arial,sans-serif}.lowMovesOffer{background:#d7352d;box-shadow:0 6px 0 #8d211d,0 0 22px #ffce45aa}.doubleBadge{background:#252d31}.toast{border-radius:5px;background:#252d31f2;font-family:"Arial Black","Arial Narrow",Arial,sans-serif}
@media(max-width:390px){.hud{border-top-width:6px}.goalCard{padding:9px 8px}.goalTitle b{font-size:11px}.boosters{gap:4px}.boosters button{border-width:2px;border-top-width:6px}.boosters button b{font-size:8px}.boosterIcon{width:31px!important;height:31px!important}.gameLogo{width:min(100%,290px)}}

/* Restaurant story and venue progression */
.miniCash{margin-left:5px;padding:2px 5px;border-radius:3px;background:#ffce45;color:#202a30;letter-spacing:0}.miniCash b{font-family:"Arial Black",Arial,sans-serif}
.hubModal{width:min(95vw,455px);max-height:94vh;overflow-y:auto;padding:20px 20px 22px}.hubModal .gameLogo{width:min(78%,260px);margin:-2px auto 8px}.hubBar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:7px 10px;border-radius:5px;background:#252d31;color:#fff;font-family:"Arial Black",Arial,sans-serif;font-size:11px}.hubBar b{color:#ffce45;font-size:15px}
.venueScene{position:relative;width:100%;aspect-ratio:16/8.5;overflow:hidden;border:4px solid #252d31;border-radius:7px;background-image:url('./assets/venue-stories-v1.webp');background-size:300% 300%;background-repeat:no-repeat;box-shadow:0 5px 0 #8d211d}.venueScene:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(18,26,31,.82))}.venueScene>div{position:absolute;z-index:2;left:12px;right:12px;bottom:9px;text-align:left;color:#fff}.venueScene small,.venueScene strong{display:block}.venueScene small{font-size:8px;letter-spacing:2px;color:#ffce45;font-weight:900}.venueScene strong{font-family:"Arial Black",Arial,sans-serif;font-size:18px;text-transform:uppercase}.venue-0{background-position:0 0}.venue-1{background-position:50% 0}.venue-2{background-position:100% 0}.venue-3{background-position:0 50%}.venue-4{background-position:50% 50%}.venue-5{background-position:100% 50%}.venue-6{background-position:0 100%}.venue-7{background-position:50% 100%}.venue-8{background-position:100% 100%}
.furnishHeader{display:flex;align-items:center;gap:12px;margin:13px 1px 8px;text-align:left}.furnishHeader>div{min-width:125px}.furnishHeader small,.furnishHeader b{display:block}.furnishHeader small{font-size:8px;letter-spacing:1.5px;color:#d7352d;font-weight:900}.furnishHeader b{font-size:11px}.furnishHeader>i{flex:1;height:8px;overflow:hidden;border-radius:2px;background:#d8d2c7}.furnishHeader>i span{display:block;width:0;height:100%;background:#ffce45;transition:width .35s}
.upgradeGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.upgradeGrid button{min-height:54px;display:flex;align-items:center;gap:8px;padding:7px;border:2px solid #d9cdbb;border-left:6px solid #d7352d;border-radius:5px;background:#fff;color:#202a30;text-align:left;box-shadow:0 3px 0 #b8a994}.upgradeGrid button i{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:4px;background:#252d31}.upgradeGrid button i:after{content:'+';color:#ffce45;font:900 21px Arial}.upgradeGrid button span,.upgradeGrid button b,.upgradeGrid button small{display:block}.upgradeGrid button b{font-family:"Arial Black",Arial,sans-serif;font-size:9px;line-height:1.05;text-transform:uppercase}.upgradeGrid button small{margin-top:3px;color:#d7352d;font-size:8px;font-weight:900}.upgradeGrid button.bought{border-left-color:#2baa77;background:#effff7}.upgradeGrid button.bought i{background:#2baa77}.upgradeGrid button.bought i:after{content:'✓';color:#fff}.upgradeGrid button.locked{opacity:.46;filter:grayscale(1)}.upgradeGrid button.locked i:after{content:'•';color:#fff}.unlockVenue{display:none;width:100%;align-items:center;justify-content:space-between;margin-top:10px;padding:11px 13px;border:3px solid #fff7e7;border-radius:5px;background:#2baa77;color:#fff;font-family:"Arial Black",Arial,sans-serif;font-size:10px;box-shadow:0 5px 0 #177454}.unlockVenue span{font-size:20px}.hubTip{margin:10px auto!important;font-size:11px!important;line-height:1.35!important}.hubModal>.primary{padding:12px}
.cashReward{display:none;margin:8px 0;padding:10px;border:3px solid #fff7e7;border-radius:6px;background:#2baa77;color:#fff;font-family:"Arial Black",Arial,sans-serif;font-size:20px;box-shadow:0 5px 0 #177454}.resultModal .doubleCashButton{display:none}.resultModal #restaurantButton{background:#252d31;color:#fff}
.boosterIcon{background-image:url('./assets/reward-icons-v1.webp')!important;background-size:300% 200%!important}.hammerIcon{background-position:0 0!important}.shuffleIcon{background-position:50% 0!important}.hintIcon{background-position:100% 0!important}.bombIcon{background-position:0 100%!important}.movesIcon{background-position:50% 100%!important}.doubleIcon,.videoIcon{background-position:100% 100%!important}.cashIcon{background-position:100% 0!important}
.videoOffer{position:fixed;z-index:24;right:12px;bottom:calc(105px + env(safe-area-inset-bottom));display:none;grid-template-columns:36px 1fr 22px;align-items:center;gap:8px;width:min(285px,calc(100vw - 24px));padding:9px;border:3px solid #fff7e7;border-left:8px solid #ffce45;border-radius:7px;background:#d7352d;color:#fff;box-shadow:0 7px 0 #8d211d,0 12px 30px #174d7c55;text-align:left;animation:offerIn .35s ease-out}.videoOffer.show{display:grid}.videoOffer>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#ffce45;color:#252d31}.videoOffer b,.videoOffer small{display:block}.videoOffer b{font-family:"Arial Black",Arial,sans-serif;font-size:10px}.videoOffer small{font-size:9px;color:#fff2a8}.videoOffer em{display:grid;place-items:center;width:22px;height:22px;border-radius:3px;background:#252d31;font-style:normal}
.storyTaskBadge{position:absolute;z-index:13;left:50%;bottom:92px;display:none;align-items:center;gap:8px;transform:translateX(-50%);min-width:155px;padding:5px 9px;border:3px solid #fff7e7;border-radius:7px;background:#252d31;color:#fff;box-shadow:0 5px 0 #11191e}.storyTaskBadge.show{display:flex}.storyMini{width:37px;height:37px;border:2px solid #ffce45;border-radius:5px;background-image:url('./assets/story-guests-v1.webp');background-size:300% 200%;background-repeat:no-repeat}.storyTaskBadge small,.storyTaskBadge b{display:block}.storyTaskBadge small{font-size:7px;letter-spacing:1px;color:#ffce45}.storyTaskBadge b{font-family:"Arial Black",Arial,sans-serif;font-size:10px}.storyModal{overflow:hidden;padding-top:16px}.storyCharacter{width:calc(100% + 46px);height:190px;margin:-16px -23px 13px;background-image:url('./assets/story-guests-v1.webp');background-size:300% 200%;background-repeat:no-repeat;background-color:#252d31}.character-0{background-position:0 0}.character-1{background-position:50% 0}.character-2{background-position:100% 0}.character-3{background-position:0 100%}.character-4{background-position:50% 100%}.character-5{background-position:100% 100%}.storyModal h2{margin-bottom:7px}.storyModal p{margin-bottom:12px}.storyMission{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;padding:10px;border:2px dashed #d7352d;background:#fff}.storyMission b{font-size:11px}.storyMission small{color:#2baa77;font-weight:900}.storyModal .secondary{display:block}.storyMini.character-0,.storyMini.character-1,.storyMini.character-2,.storyMini.character-3,.storyMini.character-4,.storyMini.character-5{background-size:300% 200%}
.storyPreview{display:flex;align-items:center;gap:9px;margin-top:11px;padding:6px 9px;border-left:6px solid #ffce45;border-radius:4px;background:#252d31;color:#fff;text-align:left}.previewFaces{display:flex}.previewFaces .storyMini{width:34px;height:34px;margin-right:-7px;border-width:2px;border-radius:50%;background-color:#444}.storyPreview small,.storyPreview b{display:block}.storyPreview small{font-size:7px;letter-spacing:1.2px;color:#ffce45;font-weight:900}.storyPreview b{margin-top:2px;font-size:10px}
@keyframes offerIn{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:none}}
@media(max-height:720px){.hubModal{max-height:96vh;padding:12px 16px 16px}.hubModal .gameLogo{width:190px;margin-bottom:4px}.venueScene{aspect-ratio:16/6.8}.upgradeGrid button{min-height:46px}.hubTip{display:none}.storyCharacter{height:145px}.storyModal p{font-size:12px}}
@media(max-width:390px){.hubModal{padding-left:13px;padding-right:13px}.upgradeGrid button{gap:5px;padding:5px}.upgradeGrid button i{width:23px;height:23px}.venueScene strong{font-size:15px}.storyTaskBadge{bottom:84px}.videoOffer{bottom:96px}}

/* Main story: the lawyer, Grandpa Joe and the fight for the park */
.caseFile{position:relative;width:100%;margin-top:8px;padding:8px 10px 9px;border:2px solid #d9cdbb;border-left:7px solid #315f9b;border-radius:5px;background:#fff;color:#202a30;text-align:left;box-shadow:0 3px 0 #b8a994}.caseFile>span,.caseFile>b,.caseFile>small{display:block}.caseFile>span{font-size:8px;font-weight:1000;letter-spacing:1.5px;color:#d7352d}.caseFile>b{margin:2px 0 6px;font-family:"Arial Black",Arial,sans-serif;font-size:10px}.caseFile>i{display:block;height:6px;overflow:hidden;border-radius:2px;background:#dfe3e6}.caseFile>i em{display:block;width:0;height:100%;background:linear-gradient(90deg,#315f9b,#2baa77);transition:width .35s}.caseFile>small{margin-top:4px;color:#617078;font-size:8px;font-weight:900}.caseFile:after{content:'§';position:absolute;right:10px;top:8px;color:#315f9b;font:900 24px Georgia}
#prologueOverlay{background:linear-gradient(rgba(24,71,109,.45),rgba(19,44,66,.7)),url('./assets/snack-rush-background-v1.webp') center/cover no-repeat}.prologueModal{overflow:hidden;width:min(94vw,420px);padding-top:16px}.prologueArt{position:relative;width:calc(100% + 46px);height:205px;margin:-16px -23px 16px;overflow:hidden;background-image:linear-gradient(90deg,rgba(20,32,38,.05),rgba(20,32,38,.32)),url('./assets/venue-stories-v1.webp');background-size:auto,300% 300%;background-position:center,0 0}.prologueArt:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#202a30cc)}.prologueArt>span{position:absolute;z-index:3;left:14px;bottom:10px;padding:5px 8px;border-left:5px solid #ffce45;background:#202a30;color:#fff;font-size:9px;font-weight:1000;letter-spacing:1.3px}.grandpaPortrait{position:absolute;z-index:2;right:-2%;bottom:-3%;width:58%;height:108%;background-image:url('./assets/story-guests-v1.webp');background-size:300% 200%;background-repeat:no-repeat;filter:drop-shadow(-8px 6px 5px #17242c66)}.prologueModal h2{font-size:28px}.prologueModal p{min-height:64px;margin-bottom:10px;font-size:15px;line-height:1.4}.dialogue{margin:0 0 14px;padding:10px 12px;border-left:6px solid #ffce45;background:#202a30;color:#fff;font:italic 700 14px/1.35 Georgia,serif;text-align:left}.prologueModal .secondary{display:block}.prologueModal .primary{display:block}
@media(max-height:720px){.prologueArt{height:145px}.prologueModal p{min-height:0;font-size:13px}.dialogue{font-size:12px}.prologueModal h2{font-size:23px}.caseFile{padding-top:6px;padding-bottom:6px}}

/* Animated cinematic opening */
#prologueOverlay{padding:12px;background:#0c1c29}.cinematicModal{width:min(96vw,640px);max-height:96vh;overflow:hidden;border:4px solid #fff7e7;border-top:10px solid #d7352d;border-radius:12px;background:#202a30;box-shadow:0 14px 0 #10171b,0 30px 90px #000b;color:#fff}.cinematicFrame{position:relative;width:100%;aspect-ratio:16/8.2;overflow:hidden;background-image:url('./assets/cinematic-prologue-v1.webp');background-size:300% 100%;background-repeat:no-repeat;transform-origin:center}.cinematicFrame.scene-0{background-position:0 50%}.cinematicFrame.scene-1{background-position:50% 50%}.cinematicFrame.scene-2{background-position:100% 50%}.cinematicFrame.playing{animation:cinemaPan 5.2s ease-out both}.cinematicFrame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,11,17,.04) 45%,rgba(3,11,17,.75)),radial-gradient(circle at 50% 45%,transparent 40%,rgba(0,0,0,.25))}.filmLight{position:absolute;z-index:2;inset:-30%;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.18) 47%,transparent 59%);transform:translateX(-80%)}.playing .filmLight{animation:filmSweep 2.2s .25s ease-out forwards}.filmGrain{position:absolute;z-index:3;inset:0;opacity:.11;background-image:repeating-linear-gradient(0deg,transparent 0 2px,#fff 3px 4px),repeating-linear-gradient(90deg,#0000 0 7px,#000 8px 9px);mix-blend-mode:overlay;pointer-events:none;animation:grainFlicker .18s steps(2) infinite}.chapterStamp{position:absolute;z-index:5;left:12px;top:12px;padding:6px 9px;border-left:5px solid #ffce45;background:#202a30e8;color:#fff;font-size:9px;font-weight:1000;letter-spacing:1.4px}.sceneDots{position:absolute;z-index:5;right:12px;top:14px;display:flex;gap:5px}.sceneDots i{width:19px;height:4px;background:#ffffff66;transition:.25s}.sceneDots i.active{background:#ffce45;box-shadow:0 0 8px #ffce45}.cinematicDialogue{padding:14px 18px 17px;background:#fffaf0;color:#202a30}.speakerRow{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;padding-bottom:7px;border-bottom:2px solid #d9cdbb}.speakerRow small,.speakerRow b{display:block}.speakerRow small{color:#d7352d;font-size:8px;font-weight:1000;letter-spacing:1.5px}.speakerRow b{font-family:"Arial Black",Arial,sans-serif;font-size:14px}.talkWave{display:flex;align-items:center;gap:3px;height:22px}.talkWave i{width:4px;height:7px;background:#315f9b}.cinematicDialogue.playing .talkWave i{animation:voiceWave .48s ease-in-out infinite alternate}.talkWave i:nth-child(2){animation-delay:-.2s!important}.talkWave i:nth-child(3){animation-delay:-.35s!important}.talkWave i:nth-child(4){animation-delay:-.1s!important}.cinematicDialogue>small{display:block;margin-top:5px;color:#315f9b;font-size:8px;font-weight:1000;letter-spacing:1.8px}.cinematicDialogue h2{margin:3px 0 5px;font-family:"Arial Black",Arial,sans-serif;font-size:25px;line-height:1;text-transform:uppercase}.cinematicDialogue p{margin:0 0 8px;color:#52636c;font-size:14px;line-height:1.35}.cinematicDialogue .dialogue{margin-bottom:11px}.cinematicDialogue.playing .speakerRow,.cinematicDialogue.playing>small,.cinematicDialogue.playing h2,.cinematicDialogue.playing p,.cinematicDialogue.playing .dialogue{animation:captionIn .5s ease-out both}.cinematicDialogue.playing h2{animation-delay:.08s}.cinematicDialogue.playing p{animation-delay:.16s}.cinematicDialogue.playing .dialogue{animation-delay:.25s}.cinematicDialogue .primary{display:block}.cinematicDialogue .secondary{display:block;margin-top:7px;color:#617078}
@keyframes cinemaPan{0%{opacity:0;transform:scale(1.12) translateX(1.5%);filter:brightness(.55)}10%{opacity:1;filter:brightness(1)}100%{opacity:1;transform:scale(1.02) translateX(-1%)}}
@keyframes filmSweep{to{transform:translateX(80%)}}
@keyframes grainFlicker{50%{transform:translate(1px,-1px);opacity:.07}}
@keyframes voiceWave{to{height:21px;background:#d7352d}}
@keyframes captionIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-height:720px){.cinematicFrame{aspect-ratio:16/6.5}.cinematicDialogue{padding:9px 14px 10px}.speakerRow{padding-bottom:4px;margin-bottom:2px}.cinematicDialogue h2{font-size:19px}.cinematicDialogue p{font-size:12px}.cinematicDialogue .dialogue{padding:7px 9px;margin-bottom:7px;font-size:11px}.cinematicDialogue .primary{padding:10px}.cinematicDialogue .secondary{padding:7px}}
@media(max-width:390px){.cinematicModal{width:98vw}.cinematicFrame{aspect-ratio:16/9}.cinematicDialogue h2{font-size:20px}.cinematicDialogue p{font-size:13px}.chapterStamp{font-size:8px}}

/* Timed conversation bubbles; scenes advance only by player choice. */
.dialogueStack{display:flex;flex-direction:column;gap:7px;max-height:150px;overflow-y:auto;margin:7px 0 11px;padding:2px 4px 4px;scrollbar-width:none}.dialogueStack::-webkit-scrollbar{display:none}.speechBubble{position:relative;align-self:flex-start;width:min(88%,430px);padding:8px 11px 9px;border:2px solid #d9cdbb;border-left:6px solid #315f9b;border-radius:4px;background:#fff;color:#202a30;text-align:left;box-shadow:0 3px 0 #b8a994;animation:bubbleSpeak .4s cubic-bezier(.18,.84,.25,1.2) both}.speechBubble.reply{align-self:flex-end;border-left:2px solid #d9cdbb;border-right:6px solid #d7352d;background:#fff5df}.speechBubble small{display:block;margin-bottom:2px;color:#315f9b;font-size:8px;font-weight:1000;letter-spacing:1.2px}.speechBubble.reply small{color:#d7352d}.speechBubble p{margin:0!important;color:#202a30!important;font:italic 700 13px/1.3 Georgia,serif!important}.evidence-scene-2,.cinematicFrame.evidence-scene-2{background-image:url('./assets/cinematic-evidence-v1.webp');background-size:300% 100%;background-position:100% 50%}.storyCharacter.evidenceScene{height:205px;background-image:url('./assets/cinematic-evidence-v1.webp');background-size:300% 100%;background-repeat:no-repeat;animation:storySceneIn .65s ease-out both}.storyCharacter.evidence-0{background-position:0 50%}.storyCharacter.evidence-1{background-position:50% 50%}
@keyframes bubbleSpeak{from{opacity:0;transform:translateY(13px) scale(.94)}to{opacity:1;transform:none}}
@keyframes storySceneIn{from{opacity:.25;transform:scale(1.08)}to{opacity:1;transform:none}}
@media(max-height:720px){.dialogueStack{max-height:105px;margin:4px 0 7px}.speechBubble{padding:6px 8px}.speechBubble p{font-size:11px!important}.storyCharacter.evidenceScene{height:150px}}

/* Correct image proportions and cinematic dialogue over the artwork. */
.cinematicModal{width:min(96vw,520px)}.cinematicFrame{width:100%;aspect-ratio:642/809;background-size:cover;background-position:center;background-repeat:no-repeat}.cinematicFrame.scene-0{background-image:url('./assets/prologue-scene-1-v1.webp');background-position:center}.cinematicFrame.scene-1{background-image:url('./assets/prologue-scene-2-v1.webp');background-position:center}.cinematicFrame.scene-2{background-image:url('./assets/prologue-scene-3-v1.webp');background-position:center}.cinematicFrame.evidence-scene-2{background-image:url('./assets/evidence-scene-3-v1.webp');background-size:cover;background-position:center}.cinematicFrame .dialogueStack{position:absolute;z-index:8;left:10px;right:10px;bottom:10px;display:flex;max-height:44%;margin:0;padding:0 2px 4px;overflow:hidden}.cinematicFrame .speechBubble{width:88%;padding:9px 11px;border:0;border-top:4px solid #ffce45;border-radius:3px;background:rgba(19,38,52,.94);color:#fff;box-shadow:0 5px 0 #09141dcc,0 9px 24px #0007;backdrop-filter:blur(5px)}.cinematicFrame .speechBubble.reply{border:0;border-top:4px solid #ff6a62;background:rgba(111,31,34,.94)}.cinematicFrame .speechBubble small{color:#ffce45;font-size:9px}.cinematicFrame .speechBubble.reply small{color:#ffd1cc}.cinematicFrame .speechBubble p{color:#fff!important;font:700 14px/1.35 "Helvetica Neue",Arial,sans-serif!important}.cinematicFrame .speechBubble:after{content:'';position:absolute;left:16px;bottom:-9px;border:9px solid transparent;border-top-color:#09141d}.cinematicFrame .speechBubble.reply:after{left:auto;right:16px;border-top-color:#6f1f22}.cinematicDialogue{padding:10px 15px 13px}.cinematicDialogue p{margin-bottom:7px}.cinematicDialogue.playing .dialogue{animation:none}
.storyCharacter.evidenceScene{height:290px;background-size:cover;background-position:center}.storyCharacter.evidence-0{background-image:url('./assets/evidence-scene-1-v1.webp');background-position:center}.storyCharacter.evidence-1{background-image:url('./assets/evidence-scene-2-v1.webp');background-position:center}

/* Immersive first-person upgrade counter. */
.hubModal{width:min(96vw,440px);padding:10px 10px 13px;border-top-width:8px;background:#202a30}.hubModal .gameLogo{width:190px;margin:0 auto 4px}.hubBar{margin-bottom:6px}.venueScene.counterView{height:min(67vh,610px);aspect-ratio:auto;border:3px solid #fff7e7;border-radius:7px;background-color:#24333b;background-size:cover;background-position:center;box-shadow:0 5px 0 #8d211d}.venueScene.counterView.venue-0{background-image:url('./assets/cart-counter-pov-v1.webp');background-size:cover;background-position:center}.counterView:after{z-index:1;background:linear-gradient(180deg,rgba(8,20,28,.45),transparent 22%,transparent 66%,rgba(8,20,28,.78))}.counterView>.venueLabel{z-index:5;left:10px;right:auto;top:10px;bottom:auto;padding:7px 9px;border-left:5px solid #ffce45;background:#202a30db;backdrop-filter:blur(4px)}.counterView>.venueLabel strong{font-size:15px}.counterView>.furnishHeader{position:absolute;z-index:5;left:10px;right:10px;top:64px;bottom:auto;margin:0;padding:7px 8px;border-radius:4px;background:rgba(32,42,48,.88);color:#fff;backdrop-filter:blur(4px)}.counterView>.furnishHeader small{color:#ffce45}.counterView>.furnishHeader>i{background:#ffffff35}.counterView>.upgradeGrid{position:absolute;z-index:6;inset:0;display:block;pointer-events:none}.counterView .upgradeGrid button{position:absolute;display:flex;width:auto;min-width:118px;min-height:46px;gap:6px;padding:5px 7px;border:2px solid #fff7e7;border-left:6px solid #d7352d;border-radius:4px;background:rgba(255,250,240,.95);box-shadow:0 4px 0 #8d211daa,0 8px 18px #10233155;pointer-events:auto;animation:hotspotPulse 1.8s ease-in-out infinite}.counterView .upgradeGrid button:nth-child(1){left:3%;top:49%}.counterView .upgradeGrid button:nth-child(2){left:34%;bottom:18%}.counterView .upgradeGrid button:nth-child(3){left:42%;top:21%}.counterView .upgradeGrid button:nth-child(4){right:2%;top:37%}.counterView .upgradeGrid button i{width:25px;height:25px;border-radius:50%;box-shadow:0 0 0 4px #ffce4566}.counterView .upgradeGrid button b{font-size:8px}.counterView .upgradeGrid button small{font-size:8px}.counterView .upgradeGrid button.bought{animation:none}.counterView>.caseFile{position:absolute;z-index:7;left:8px;bottom:8px;width:58%;margin:0;padding:7px 8px;background:#fffffff0;backdrop-filter:blur(4px)}.counterView>.caseFile>b{padding-right:20px;font-size:8px}.counterView>.storyPreview{position:absolute;z-index:7;left:auto;right:8px;bottom:8px;width:36%;margin:0;padding:5px;background:#202a30e8;backdrop-filter:blur(4px)}.counterView .previewFaces .storyMini{width:27px;height:27px}.counterView .storyPreview b{font-size:8px}.counterView .storyPreview small{font-size:6px}.hubModal>.primary{margin-top:9px}.hubModal .unlockVenue{margin-top:9px}
@keyframes hotspotPulse{50%{transform:translateY(-2px);box-shadow:0 4px 0 #8d211daa,0 0 0 4px #ffce4544,0 9px 20px #10233166}}
@media(max-height:720px){.venueScene.counterView{height:500px}.hubModal .gameLogo{width:150px}.counterView>.furnishHeader{top:57px}.cinematicFrame{max-height:64vh}.cinematicDialogue p{display:none}.storyCharacter.evidenceScene{height:205px}}
@media(max-width:390px){.counterView .upgradeGrid button{min-width:100px;padding:4px}.counterView .upgradeGrid button span b{font-size:7px}.counterView .upgradeGrid button:nth-child(3){left:34%}.cinematicFrame .speechBubble p{font-size:12px!important}}

/* Every cart purchase visibly changes the equipment in the scene. */
.venueScene.counterView.venue-0.upgrade-state-0{background-image:url('./assets/cart-counter-pov-v1.webp')}.venueScene.counterView.venue-0.upgrade-state-1{background-image:url('./assets/cart-upgrade-1-v1.webp')}.venueScene.counterView.venue-0.upgrade-state-2{background-image:url('./assets/cart-upgrade-2-v1.webp')}.venueScene.counterView.venue-0.upgrade-state-3{background-image:url('./assets/cart-upgrade-3-v1.webp')}.venueScene.counterView.venue-0.upgrade-state-4{background-image:url('./assets/cart-upgrade-4-v1.webp')}.venueScene.counterView.venue-0[class*="upgrade-state-"]{background-size:cover;background-position:center;animation:upgradeReveal .65s ease-out}.counterView .upgradeGrid button.bought span small{color:#177454}.counterView .upgradeGrid button.bought:after{content:'INSTALLED';position:absolute;left:50%;top:-8px;transform:translateX(-50%);padding:2px 5px;background:#2baa77;color:#fff;font-size:6px;font-weight:1000;letter-spacing:.6px}.counterView .upgradeGrid button.available:before{content:'';position:absolute;inset:-6px;border:2px solid #ffce45;border-radius:7px;animation:buyTarget 1.4s ease-in-out infinite}

/* Comic-book story panels */
.cinematicModal{width:min(96vw,520px);border:5px solid #171513;border-radius:5px;background:#f5dc87;box-shadow:9px 10px 0 #171513,0 28px 80px #0009}
.cinematicFrame{isolation:isolate;border-bottom:5px solid #171513;animation-duration:6s!important}
.cinematicFrame:before{content:'';position:absolute;z-index:4;inset:0;pointer-events:none;opacity:.12;background-image:radial-gradient(circle,#171513 1px,transparent 1.2px);background-size:7px 7px;mix-blend-mode:multiply}
.chapterStamp{z-index:10;border:3px solid #171513;border-left-width:8px;background:#fff4c9;color:#171513;box-shadow:3px 3px 0 #171513;transform:rotate(-1deg)}
.sceneDots{z-index:10}.sceneDots i{height:7px;border:2px solid #171513;background:#fff4c9}.sceneDots i.active{background:#ef3e36;box-shadow:none}
.cinematicFrame .dialogueStack{z-index:12;left:12px;right:12px;bottom:14px;gap:13px;max-height:58%;padding:8px 7px 12px;overflow:visible}
.cinematicFrame .speechBubble{width:min(84%,390px);padding:11px 15px 13px;border:4px solid #171513;border-radius:48% 52% 47% 53% / 40% 43% 57% 60%;background:#fffdf4;color:#171513;box-shadow:4px 5px 0 #171513;backdrop-filter:none;transform:rotate(-.7deg)}
.cinematicFrame .speechBubble.reply{align-self:flex-end;border:4px solid #171513;background:#fff1a6;transform:rotate(.7deg)}
.cinematicFrame .speechBubble small,.cinematicFrame .speechBubble.reply small{color:#cc302b;font:1000 9px/1 "Arial Black",Arial,sans-serif;letter-spacing:1.2px}
.cinematicFrame .speechBubble p{color:#171513!important;font:900 13px/1.28 "Arial Black",Arial,sans-serif!important;text-wrap:pretty}
.cinematicFrame .speechBubble:before{content:'';position:absolute;left:22px;bottom:-24px;width:28px;height:29px;background:#171513;clip-path:polygon(0 0,100% 0,18% 100%)}
.cinematicFrame .speechBubble:after{content:'';position:absolute;left:27px;bottom:-15px;width:18px;height:21px;border:0;background:#fffdf4;clip-path:polygon(0 0,100% 0,8% 100%)}
.cinematicFrame .speechBubble.reply:before{left:auto;right:22px;clip-path:polygon(0 0,100% 0,82% 100%)}
.cinematicFrame .speechBubble.reply:after{left:auto;right:27px;border:0;background:#fff1a6;clip-path:polygon(0 0,100% 0,92% 100%)}
.cinematicDialogue{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px;background:#f5dc87;color:#171513}
.cinematicDialogue>small,.cinematicDialogue>h2,.cinematicDialogue>p{display:none!important}
.cinematicDialogue .primary,.cinematicDialogue .secondary{min-height:44px;margin:0;border:3px solid #171513;border-radius:3px;box-shadow:3px 3px 0 #171513;font-family:"Arial Black",Arial,sans-serif}
.cinematicDialogue .secondary{padding:8px 12px;background:#fff4c9;color:#171513}

/* Counter scene and equipment menu */
.hubModal{background:#fff8e9;color:#202a30}.venueScene.counterView{height:min(50vh,455px);overflow:hidden;background-position:50% 50%;animation:counterAmbience 8s ease-in-out infinite alternate!important}
.hubModal>.furnishHeader{margin:11px 2px 7px;padding:8px 9px;border:3px solid #312a25;border-left:9px solid #d7352d;border-radius:4px;background:#fff3d5;box-shadow:0 3px 0 #b8a994}
.hubModal>.furnishHeader small{color:#d7352d}.hubModal>.furnishHeader>i{background:#d8d2c7}
.hubModal>.upgradeGrid{position:static;display:grid;grid-template-columns:1fr 1fr;gap:7px;pointer-events:auto}
.hubModal>.upgradeGrid button{position:relative;width:auto;min-width:0;min-height:54px;margin:0;padding:7px;border:2px solid #d9cdbb;border-left:7px solid #d7352d;border-radius:4px;background:#fff;color:#202a30;box-shadow:0 3px 0 #b8a994;animation:none;pointer-events:auto}
.hubModal>.upgradeGrid button.available{border-color:#312a25;border-left-color:#f0aa20;background:#fff4c9;animation:menuReady 1.7s ease-in-out infinite}
.hubModal>.upgradeGrid button.available:before{content:'TODAY';position:absolute;right:5px;top:-7px;padding:2px 5px;border:2px solid #312a25;background:#ef3e36;color:#fff;font-size:6px;font-weight:1000;letter-spacing:.7px}
.hubModal>.upgradeGrid button.bought{border-left-color:#2baa77;background:#effff7}.hubModal>.upgradeGrid button.bought:after{content:'INSTALLED';position:absolute;right:5px;top:-7px;padding:2px 5px;border:2px solid #176849;background:#2baa77;color:#fff;font-size:6px;font-weight:1000;letter-spacing:.6px}
.sceneMotion{position:absolute;z-index:4;inset:0;overflow:hidden;pointer-events:none}.sceneMotion i{position:absolute;display:block}
.steam{left:17%;top:53%;width:10px;height:38px;border-left:4px solid rgba(255,255,255,.78);border-radius:50%;filter:drop-shadow(0 1px 2px #2448);opacity:0;animation:steamRise 3s ease-in-out infinite}.steamTwo{left:23%;top:55%;animation-delay:1s}.steamThree{left:29%;top:52%;animation-delay:2s}
.breeze{left:-25%;top:25%;width:34%;height:18px;border-top:3px solid rgba(255,255,255,.5);border-radius:50%;opacity:0;animation:breezeAcross 7s ease-in-out infinite}.breezeTwo{top:34%;width:24%;animation-delay:3.4s}
@keyframes counterAmbience{0%{background-position:50% 50%;filter:saturate(1)}100%{background-position:50% 48.8%;filter:saturate(1.06) brightness(1.02)}}
@keyframes steamRise{0%{opacity:0;transform:translate(0,8px) scale(.7)}25%{opacity:.75}70%{opacity:.35}100%{opacity:0;transform:translate(9px,-30px) scale(1.3)}}
@keyframes breezeAcross{0%,14%{opacity:0;transform:translateX(0)}30%{opacity:.55}65%{opacity:.18}82%,100%{opacity:0;transform:translateX(510px)}}
@keyframes menuReady{50%{transform:translateY(-2px);box-shadow:0 5px 0 #b8a994,0 0 0 3px #ffd45688}}
@media(max-height:720px){.venueScene.counterView{height:min(46vh,390px)}.hubModal>.upgradeGrid button{min-height:47px}.cinematicFrame{max-height:76vh}.cinematicFrame .dialogueStack{max-height:60%}}
@media(max-width:390px){.cinematicFrame .speechBubble{width:89%;padding:9px 12px}.cinematicFrame .speechBubble p{font-size:11px!important}.hubModal>.upgradeGrid button b{font-size:8px}}
@media(prefers-reduced-motion:reduce){.venueScene.counterView,.sceneMotion i,.hubModal>.upgradeGrid button.available{animation:none!important}}
@keyframes upgradeReveal{0%{filter:brightness(1.9) saturate(1.4);transform:scale(1.018)}45%{filter:brightness(1.15) saturate(1.18)}100%{filter:none;transform:none}}
@keyframes buyTarget{50%{opacity:.25;transform:scale(1.05)}}

/* App-style launch splash: full-bleed illustration with a simple branded lockup. */
#splashOverlay{z-index:100;padding:0;background:#79cff3;transition:opacity .42s ease,visibility .42s ease}
#splashOverlay:not(.show){opacity:0;visibility:hidden;pointer-events:none}
.splashScreen{position:relative;width:100%;height:100%;overflow:hidden;background:linear-gradient(180deg,#73c9f4 0%,#bcecff 100%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 24px 9vh;color:#183650}
.splashArt{position:absolute;inset:0;display:flex;justify-content:center;overflow:hidden}
.splashArt:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(90,191,239,.02) 35%,rgba(255,255,255,.06) 64%,rgba(15,62,90,.28) 100%)}
.splashArt img{width:100%;height:100%;object-fit:cover;object-position:center center}
.splashBrand{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;line-height:.82;margin-bottom:24px;color:#fff;text-shadow:0 3px 0 #183650,0 5px 12px #18365066;transform:rotate(-2deg)}
.splashBrand span,.splashBrand strong{font-family:Impact,"Arial Black",sans-serif;letter-spacing:2px;font-size:clamp(44px,13vw,76px)}
.splashBrand span{color:#ffd447}.splashBrand strong{color:#f0443e;font-size:clamp(54px,16vw,90px);letter-spacing:3px}
.splashBrand i{margin-top:13px;font:900 clamp(12px,3vw,16px)/1 Nunito,sans-serif;letter-spacing:3px;text-transform:uppercase;color:#fff}
.splashLoader{position:relative;z-index:2;width:min(280px,72vw);height:11px;border:3px solid #fff;border-radius:999px;background:#17365099;box-shadow:0 3px 0 #17365066;overflow:hidden}
.splashLoader span{display:block;width:48%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd447,#f0443e);animation:loadingBar 1.35s ease-in-out infinite}
.splashHint{position:relative;z-index:2;margin-top:10px;color:#fff;font-weight:900;letter-spacing:.6px;text-shadow:0 2px 4px #17365099}
@keyframes loadingBar{0%{transform:translateX(-110%)}100%{transform:translateX(220%)}}
@media(display-mode:standalone){.splashScreen{padding-bottom:calc(9vh + env(safe-area-inset-bottom))}}

/* Final mobile/app polish. The logo is baked into the approved splash artwork. */
.splashBrand{display:none!important}
html,body{overflow-x:hidden;overscroll-behavior:none}
.gameShell{width:100%;max-width:620px;min-width:0;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
.venueScene.counterView:not(.venue-0){background-size:300% auto!important}
.hubModal>.upgradeGrid button i{background-size:300% auto!important}

/* Treasure cards: clean two-by-two choice with clearly different tiers. */
.treasureGrid{grid-template-columns:1fr 1fr!important;gap:12px!important}
.treasureGrid button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;min-height:166px!important;padding:10px 8px!important;border:0!important;border-radius:18px!important;background:rgba(255,255,255,.78)!important;box-shadow:0 5px 0 #2983b4,0 10px 20px #1a679233!important;text-align:center!important}
.treasureGrid button:nth-child(2){background:rgba(255,237,207,.9)!important;box-shadow:0 5px 0 #d47a39,0 10px 20px #bd692833!important}
.treasureGrid button.goldTreasure{background:rgba(255,249,206,.95)!important;box-shadow:0 5px 0 #b27608,0 0 22px #ffd84f99!important;transform:translateY(-3px)}
.treasureGrid button>span{display:block!important;flex:none!important;grid-row:auto!important;margin:0 auto 6px!important}
.treasureGrid button>b,.treasureGrid button>small{display:block!important;width:100%!important}
.treasureGrid button>em{display:block!important;margin-top:auto!important;width:100%!important;grid-column:auto!important;grid-row:auto!important}
.chestArt{width:92px!important;height:76px!important;border:0!important;border-radius:0!important;background-color:transparent!important;box-shadow:none!important;filter:drop-shadow(0 5px 4px #72381255)!important}
.treasureGrid button:nth-child(2) .chestArt{transform:scale(1.08)}
.treasureGrid button.goldTreasure .chestArt{transform:scale(1.2);filter:drop-shadow(0 5px 6px #a86d0b88) saturate(1.25)!important}
@media(max-width:390px){.treasureGrid{gap:8px!important}.treasureGrid button{min-height:154px!important;padding:8px 5px!important}.chestArt{width:78px!important;height:66px!important}}

/* Full comic page: every panel is visible immediately; dialogue appears in sequence. */
#prologueOverlay{padding:8px;background:#233340}.cinematicModal{width:min(96vw,545px);max-height:98vh;border:4px solid #16130f;background:#eadcba;box-shadow:7px 8px 0 #111,0 24px 70px #0009}
.cinematicFrame{height:min(86vh,720px);aspect-ratio:auto;padding:34px 8px 8px;border-bottom:4px solid #16130f;background:#eadcba!important;animation:none!important}
.cinematicFrame:after{display:none}.filmLight,.filmGrain{display:none}.chapterStamp{left:8px;top:5px;padding:4px 8px;border:2px solid #16130f;border-left-width:6px;box-shadow:2px 2px 0 #16130f;font-size:9px}.sceneDots{display:none}
.comicPage{position:relative;z-index:6;display:grid;width:100%;height:100%;grid-template-columns:1.12fr .88fr;grid-template-rows:1.05fr .72fr 1fr;gap:6px;background:#16130f;padding:4px;border:2px solid #16130f}
.comicPanel{position:relative;min-width:0;min-height:0;overflow:hidden;border:2px solid #16130f;background-color:#4d7450;background-repeat:no-repeat;background-size:cover;box-shadow:inset 0 0 22px #1115}
.comicPanel:after{content:'';position:absolute;z-index:1;inset:0;pointer-events:none;opacity:.12;background-image:radial-gradient(circle,#111 1px,transparent 1.1px);background-size:5px 5px;mix-blend-mode:multiply}
.panelHome{background-image:url('./assets/prologue-scene-1-v1.webp');background-position:47% 28%}.panelGrandpa{background-image:url('./assets/prologue-scene-2-v1.webp');background-position:57% 24%}.panelNotice{grid-column:1/3;background-image:url('./assets/prologue-scene-2-v1.webp');background-position:50% 67%}.panelThreat{background-image:url('./assets/prologue-scene-3-v1.webp');background-position:41% 35%}.panelPromise{background-image:url('./assets/prologue-scene-3-v1.webp');background-position:68% 75%}
.panelDialogue{position:absolute;z-index:5;inset:5px;display:flex;flex-direction:column;justify-content:flex-start;gap:5px;pointer-events:none}.panelDialogue .speechBubble{position:relative;width:92%;padding:6px 8px 7px;border:2px solid #111;border-radius:48% 52% 46% 54% / 55% 52% 48% 45%;background:#fffef3;color:#111;box-shadow:none;transform:none;animation:comicBubbleIn .35s cubic-bezier(.18,.86,.3,1.2) both}.panelDialogue .speechBubble.reply{align-self:flex-end;border:2px solid #111;background:#fffef3;transform:none}.panelDialogue .speechBubble small{display:none}.panelDialogue .speechBubble p{margin:0!important;color:#111!important;font:800 clamp(7px,1.8vw,10px)/1.12 "Arial Narrow",Arial,sans-serif!important;text-align:center;text-transform:uppercase;letter-spacing:-.1px}.panelDialogue .speechBubble:before{content:'';position:absolute;left:18%;bottom:-9px;width:12px;height:11px;background:#111;clip-path:polygon(0 0,100% 0,20% 100%)}.panelDialogue .speechBubble:after{content:'';position:absolute;left:calc(18% + 2px);bottom:-6px;width:8px;height:8px;background:#fffef3;clip-path:polygon(0 0,100% 0,15% 100%)}.panelDialogue .speechBubble.reply:before{left:auto;right:18%;clip-path:polygon(0 0,100% 0,80% 100%)}.panelDialogue .speechBubble.reply:after{left:auto;right:calc(18% + 2px);background:#fffef3;clip-path:polygon(0 0,100% 0,85% 100%)}
.panelNotice .panelDialogue{align-items:flex-start}.panelNotice .speechBubble{width:58%}.panelThreat .speechBubble,.panelPromise .speechBubble{width:96%}.panelDialogue .speechBubble:nth-child(2){margin-top:auto}
.comicMode>#dialogueStack{display:none}.caseMode>.comicPage{display:none}.caseMode>#dialogueStack{display:flex;position:absolute;z-index:8;left:12px;right:12px;bottom:18px}.caseMode{background-image:url('./assets/evidence-scene-3-v1.webp')!important;background-size:cover!important;background-position:center!important}
.cinematicDialogue{grid-template-columns:1fr auto;padding:8px 9px;background:#eadcba}.cinematicDialogue .primary,.cinematicDialogue .secondary{min-height:40px;padding:8px 10px;border:2px solid #16130f;box-shadow:2px 2px 0 #16130f;font-size:10px}
@keyframes comicBubbleIn{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}
@media(max-height:760px){.cinematicFrame{height:min(84vh,630px)}.comicPage{gap:4px}.panelDialogue{inset:3px;gap:3px}.panelDialogue .speechBubble{padding:4px 6px 5px}.cinematicDialogue .primary,.cinematicDialogue .secondary{min-height:36px;padding:6px 8px}}
@media(max-width:390px){.cinematicModal{width:98vw}.cinematicFrame{height:84vh;padding-left:5px;padding-right:5px}.panelDialogue .speechBubble{width:97%;padding:4px 5px}.panelNotice .speechBubble{width:61%}.panelDialogue .speechBubble p{font-size:7px!important}}

/* Authentic compact comic balloons, positioned as part of each drawing. */
.panelDialogue{display:block;inset:4px}.panelDialogue .speechBubble,.panelDialogue .speechBubble.reply{position:absolute;width:auto;max-width:78%;margin:0;padding:5px 8px 6px;border:1.8px solid #0d0c0b;border-radius:50% 46% 52% 44% / 48% 55% 45% 52%;background:#fffef8;box-shadow:none;transform:none}
.panelDialogue .speechBubble p{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif!important;font-size:clamp(7px,1.55vw,9px)!important;font-weight:800!important;line-height:1.05!important;letter-spacing:.12px!important;text-align:center;text-transform:uppercase}
.panelDialogue .speechBubble:before{left:24%;bottom:-10px;width:11px;height:11px;background:#0d0c0b;clip-path:polygon(0 0,100% 0,18% 100%)}.panelDialogue .speechBubble:after{left:calc(24% + 2px);bottom:-7px;width:7px;height:8px;background:#fffef8;clip-path:polygon(0 0,100% 0,10% 100%)}
.panelDialogue .speechBubble.reply:before{left:auto;right:24%;bottom:-10px;width:11px;height:11px;background:#0d0c0b;clip-path:polygon(0 0,100% 0,82% 100%)}.panelDialogue .speechBubble.reply:after{left:auto;right:calc(24% + 2px);bottom:-7px;width:7px;height:8px;background:#fffef8;clip-path:polygon(0 0,100% 0,90% 100%)}
.panelHome .speechBubble:first-child{right:2px;top:2px;max-width:68%}.panelHome .speechBubble:nth-child(2){left:2px;bottom:8px;max-width:61%}
.panelGrandpa .speechBubble:first-child{left:2px;top:2px;max-width:88%}
.panelNotice .speechBubble:first-child{left:4%;top:3px;max-width:47%}
.panelThreat .speechBubble:first-child{right:2px;top:2px;max-width:72%}.panelThreat .speechBubble:nth-child(2){left:2px;bottom:8px;max-width:73%}
.panelPromise .speechBubble:first-child{left:2px;top:2px;max-width:91%}.panelPromise .speechBubble:nth-child(2){right:2px;bottom:8px;max-width:72%}
@media(max-width:390px){.panelDialogue .speechBubble,.panelDialogue .speechBubble.reply{padding:4px 6px 5px}.panelDialogue .speechBubble p{font-size:6.6px!important;line-height:1.02!important}}

/* Final approved four-panel comic page. */
.comicPage{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0;padding:0;border:2px solid #16130f;background:#16130f url('./assets/prologue-comic-page-1-v1.png') center/100% 100% no-repeat}
.comicPanel,.panelHome,.panelGrandpa,.panelNotice,.panelThreat{grid-column:auto;grid-row:auto;border:0;background:none!important;box-shadow:none}
.comicPanel:after{display:none}
.panelHome .speechBubble:first-child,.panelGrandpa .speechBubble:first-child,.panelNotice .speechBubble:first-child,.panelThreat .speechBubble:first-child{left:3px;right:auto;top:3px;bottom:auto;max-width:47%}
.panelHome .speechBubble:nth-child(2),.panelGrandpa .speechBubble:nth-child(2),.panelNotice .speechBubble:nth-child(2),.panelThreat .speechBubble:nth-child(2){left:auto;right:3px;top:3px;bottom:auto;max-width:47%}

/* Four distinct earned special pieces: no instructional arrows. */
.specialMark,.specialMark.row,.specialMark.col,.specialMark.box,.specialMark.bomb,.specialMark.mega{z-index:8!important;animation:specialBorn .48s cubic-bezier(.16,.86,.22,1.25) both!important}
.specialMark.row{left:4%!important;right:4%!important;top:43%!important;width:auto!important;height:13px!important;border:2px solid #fff!important;border-radius:7px!important;background:repeating-linear-gradient(90deg,#fff 0 8px,#ef3e36 8px 16px)!important;box-shadow:0 2px 5px #63221988!important}
.specialMark.col{left:43%!important;right:auto!important;top:4%!important;width:13px!important;height:92%!important;border:2px solid #fff!important;border-radius:7px!important;background:repeating-linear-gradient(0deg,#fff 0 8px,#24bfd2 8px 16px)!important;box-shadow:2px 0 5px #164e6888!important}
.specialMark.row:after,.specialMark.col:after{content:''!important}
.specialMark.box{right:1px!important;top:1px!important;width:24px!important;height:24px!important;border:2px solid #fff!important;border-radius:7px!important;background:linear-gradient(145deg,#7cf0d5,#13a985)!important;box-shadow:0 2px 5px #125e4f88!important}
.specialMark.box:after{content:'3×3'!important;position:absolute!important;inset:0!important;color:#073f35!important;font:1000 7px/20px Arial!important;text-align:center!important}
.specialMark.bomb{right:1px!important;top:1px!important;width:25px!important;height:25px!important;border:2px solid #fff!important;border-radius:50%!important;background:conic-gradient(#ff4c65,#ffd84b,#34d6c4,#7654da,#ff4c65)!important;box-shadow:0 2px 6px #57214088!important}
.specialMark.bomb:after{content:'★'!important;position:absolute!important;inset:3px!important;border-radius:50%;background:#2f2443;color:#fff!important;font:900 11px/15px Arial!important;text-align:center!important}
.specialMark.mega{right:0!important;top:0!important;width:28px!important;height:28px!important;border:2px solid #fff!important;border-radius:8px 14px 8px 14px!important;background:linear-gradient(145deg,#fff26a,#ff6b43 55%,#d62d74)!important;box-shadow:0 0 0 2px #673157,0 3px 8px #4c183e99!important}
.specialMark.mega:after{content:'R'!important;position:absolute!important;inset:0!important;color:#fff!important;font:1000 15px/24px "Arial Black",Arial!important;text-align:center!important;text-shadow:0 2px #9d2348!important}
@keyframes specialBorn{0%{opacity:0;transform:scale(.15) rotate(-35deg)}65%{opacity:1;transform:scale(1.32) rotate(8deg)}100%{transform:scale(1) rotate(0)}}

/* Printed-comic lettering: compact inked balloons placed in each panel's negative space. */
.comicPage .panelDialogue{inset:0;display:block}
.comicPage .panelDialogue .speechBubble,.comicPage .panelDialogue .speechBubble.reply{position:absolute;margin:0;width:auto;max-width:68%;padding:6px 9px 7px;border:2px solid #111;background:#fffef7;color:#111;box-shadow:none;border-radius:38% 46% 40% 44% / 31% 27% 34% 29%;transform:rotate(-.6deg);filter:none}
.comicPage .panelDialogue .speechBubble.reply{transform:rotate(.65deg)}
.comicPage .panelDialogue .speechBubble small{display:none}
.comicPage .panelDialogue .speechBubble p{margin:0!important;color:#111!important;font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif!important;font-size:clamp(8px,2.05vw,10.5px)!important;font-weight:900!important;line-height:1.02!important;letter-spacing:-.15px!important;text-align:center!important;text-transform:uppercase!important}
.comicPage .panelDialogue .speechBubble:before{content:'';position:absolute;left:20%;bottom:-11px;width:13px;height:12px;background:#111;clip-path:polygon(0 0,100% 0,18% 100%)}
.comicPage .panelDialogue .speechBubble:after{content:'';position:absolute;left:calc(20% + 2px);bottom:-7px;width:8px;height:8px;background:#fffef7;clip-path:polygon(0 0,100% 0,8% 100%)}
.comicPage .panelDialogue .speechBubble.reply:before{left:auto;right:20%;clip-path:polygon(0 0,100% 0,82% 100%)}
.comicPage .panelDialogue .speechBubble.reply:after{left:auto;right:calc(20% + 2px);background:#fffef7;clip-path:polygon(0 0,100% 0,92% 100%)}
.comicPage .panelDialogue .captionBubble{border-radius:2px!important;padding:5px 7px 6px!important;background:#fff4a8!important;transform:rotate(-.8deg)!important}
.comicPage .panelDialogue .captionBubble:before,.comicPage .panelDialogue .captionBubble:after{display:none}
.comicPage .panelHome .speechBubble:first-child{left:3px;right:auto;top:3px;max-width:43%}
.comicPage .panelHome .speechBubble:nth-child(2){left:auto;right:3px;top:3px;max-width:45%}
.comicPage .panelHome .speechBubble:nth-child(2):before{left:20%;right:auto;clip-path:polygon(0 0,100% 0,18% 100%)}
.comicPage .panelHome .speechBubble:nth-child(2):after{left:calc(20% + 2px);right:auto;clip-path:polygon(0 0,100% 0,8% 100%)}
.comicPage .panelGrandpa .speechBubble:first-child{left:3px;right:auto;top:3px;max-width:55%}
.comicPage .panelGrandpa .speechBubble:first-child:before{left:auto;right:20%;clip-path:polygon(0 0,100% 0,82% 100%)}
.comicPage .panelGrandpa .speechBubble:first-child:after{left:auto;right:calc(20% + 2px);clip-path:polygon(0 0,100% 0,92% 100%)}
.comicPage .panelGrandpa .speechBubble:nth-child(2){left:auto;right:3px;top:3px;max-width:36%}
.comicPage .panelGrandpa .speechBubble:nth-child(2):before{left:20%;right:auto;clip-path:polygon(0 0,100% 0,18% 100%)}
.comicPage .panelGrandpa .speechBubble:nth-child(2):after{left:calc(20% + 2px);right:auto;clip-path:polygon(0 0,100% 0,8% 100%)}
.comicPage .panelNotice .speechBubble:first-child{left:auto;right:3px;top:3px;max-width:53%}
.comicPage .panelNotice .speechBubble:nth-child(2){left:3px;right:auto;top:auto;bottom:3px;max-width:45%}
.comicPage .panelNotice .speechBubble:nth-child(2):before{left:22%;right:auto;top:-11px;bottom:auto;clip-path:polygon(18% 0,100% 100%,0 100%)}
.comicPage .panelNotice .speechBubble:nth-child(2):after{left:calc(22% + 2px);right:auto;top:-7px;bottom:auto;clip-path:polygon(12% 0,100% 100%,0 100%)}
.comicPage .panelThreat .speechBubble:first-child{left:auto;right:3px;top:3px;max-width:49%}
.comicPage .panelThreat .speechBubble:first-child:before{left:auto;right:20%;clip-path:polygon(0 0,100% 0,82% 100%)}
.comicPage .panelThreat .speechBubble:first-child:after{left:auto;right:calc(20% + 2px);clip-path:polygon(0 0,100% 0,92% 100%)}
.comicPage .panelThreat .speechBubble:nth-child(2){left:3px;right:auto;top:auto;bottom:3px;max-width:43%}
.comicPage .panelThreat .speechBubble:nth-child(2):before{left:24%;right:auto;top:-11px;bottom:auto;clip-path:polygon(18% 0,100% 100%,0 100%)}
.comicPage .panelThreat .speechBubble:nth-child(2):after{left:calc(24% + 2px);right:auto;top:-7px;bottom:auto;clip-path:polygon(12% 0,100% 100%,0 100%)}
@media(max-width:390px){.comicPage .panelDialogue .speechBubble,.comicPage .panelDialogue .speechBubble.reply{padding:5px 7px 6px}.comicPage .panelDialogue .speechBubble p{font-size:8px!important}}

/* Balloons sit in panel corners, like inked dialogue in a printed comic. */
.panelDialogue .speechBubble,.panelDialogue .speechBubble.reply{top:3px;bottom:auto;width:auto;max-width:47%;padding:4px 7px 5px;border:1.7px solid #111;border-radius:46% 54% 49% 51% / 32% 28% 36% 34%;background:#fffff7;transform:rotate(-.45deg)}
.panelDialogue .speechBubble.reply{transform:rotate(.45deg)}
.panelDialogue .speechBubble p{font-size:clamp(6.8px,1.45vw,8.5px)!important;line-height:1.04!important;letter-spacing:.08px!important}
.panelHome .speechBubble:first-child,.panelThreat .speechBubble:first-child,.panelPromise .speechBubble:first-child{left:3px;right:auto;top:3px;bottom:auto;max-width:47%}
.panelHome .speechBubble:nth-child(2),.panelThreat .speechBubble:nth-child(2),.panelPromise .speechBubble:nth-child(2){left:auto;right:3px;top:3px;bottom:auto;max-width:47%}
.panelGrandpa .speechBubble:first-child{left:auto;right:3px;top:3px;bottom:auto;max-width:82%}
.panelNotice .speechBubble:first-child{left:3px;right:auto;top:3px;bottom:auto;max-width:45%}
.panelDialogue .speechBubble:first-child:before{left:22%;right:auto}.panelDialogue .speechBubble:first-child:after{left:calc(22% + 2px);right:auto}.panelDialogue .speechBubble:nth-child(2):before{left:auto;right:22%}.panelDialogue .speechBubble:nth-child(2):after{left:auto;right:calc(22% + 2px)}
@media(max-width:390px){.panelDialogue .speechBubble,.panelDialogue .speechBubble.reply{padding:3px 5px 4px;max-width:48%}.panelDialogue .speechBubble p{font-size:6.2px!important}}

/* Edge-cut dialogue panels inspired by classic printed comics. */
.comicPage .panelDialogue .speechBubble,.comicPage .panelDialogue .speechBubble.reply{position:absolute;width:auto;margin:0;padding:7px 9px 8px;border:2px solid #111;background:#fffef6;color:#111;box-shadow:none;filter:none;transform:none;border-radius:0 0 24px 16px / 0 0 15px 11px;max-width:58%}
.comicPage .panelDialogue .speechBubble small{display:block;width:max-content;max-width:100%;margin:0 0 2px;padding:0 3px 2px 0;border-bottom:1.5px solid #111;color:#b92927;font-family:"Arial Narrow","Avenir Next Condensed","Helvetica Neue",Arial,sans-serif;font-size:clamp(6px,1.55vw,8px);font-style:italic;font-weight:900;line-height:1;letter-spacing:.35px;text-align:left;text-transform:uppercase}
.comicPage .panelDialogue .speechBubble p{margin:0!important;color:#111!important;font-family:"Arial Narrow","Avenir Next Condensed","Helvetica Neue",Arial,sans-serif!important;font-size:clamp(8px,2.18vw,11px)!important;font-style:italic!important;font-weight:900!important;line-height:.98!important;letter-spacing:-.25px!important;text-align:center!important;text-transform:uppercase!important}
.comicPage .panelDialogue .captionBubble{border-radius:0 0 3px 3px!important;background:#fff0a0!important}
.comicPage .panelDialogue .captionBubble small{color:#111}
.comicPage .panelDialogue .speechBubble:before,.comicPage .panelDialogue .speechBubble.reply:before{content:'';position:absolute;display:block;top:auto;bottom:-17px;width:17px;height:19px;background:#111;clip-path:polygon(0 0,100% 0,50% 100%)}
.comicPage .panelDialogue .speechBubble:after,.comicPage .panelDialogue .speechBubble.reply:after{content:'';position:absolute;display:block;top:auto;bottom:-12px;width:11px;height:14px;background:#fffef6;clip-path:polygon(0 0,100% 0,50% 100%)}
.comicPage .panelDialogue .captionBubble:before,.comicPage .panelDialogue .captionBubble:after{display:none}
.comicPage .panelHome .speechBubble:first-child{left:-2px;right:auto;top:-2px;bottom:auto;max-width:48%}
.comicPage .panelHome .speechBubble:nth-child(2){left:auto;right:-2px;top:-2px;bottom:auto;max-width:47%}
.comicPage .panelHome .speechBubble:nth-child(2):before{left:12%;right:auto}.comicPage .panelHome .speechBubble:nth-child(2):after{left:calc(12% + 3px);right:auto}
.comicPage .panelGrandpa .speechBubble:first-child,.comicPage .panelNotice .speechBubble:first-child,.comicPage .panelThreat .speechBubble:first-child{left:auto;right:-2px;top:-2px;bottom:auto;max-width:57%}
.comicPage .panelGrandpa .speechBubble:first-child:before,.comicPage .panelNotice .speechBubble:first-child:before,.comicPage .panelThreat .speechBubble:first-child:before{left:auto;right:14%}
.comicPage .panelGrandpa .speechBubble:first-child:after,.comicPage .panelNotice .speechBubble:first-child:after,.comicPage .panelThreat .speechBubble:first-child:after{left:auto;right:calc(14% + 3px)}
.comicPage .panelGrandpa .speechBubble:nth-child(2),.comicPage .panelNotice .speechBubble:nth-child(2),.comicPage .panelThreat .speechBubble:nth-child(2){left:-2px;right:auto;top:auto;bottom:-2px;max-width:49%;border-radius:16px 24px 0 0 / 11px 15px 0 0}
.comicPage .panelGrandpa .speechBubble:nth-child(2):before,.comicPage .panelNotice .speechBubble:nth-child(2):before,.comicPage .panelThreat .speechBubble:nth-child(2):before{left:16%;right:auto;top:-17px;bottom:auto;clip-path:polygon(50% 0,100% 100%,0 100%)}
.comicPage .panelGrandpa .speechBubble:nth-child(2):after,.comicPage .panelNotice .speechBubble:nth-child(2):after,.comicPage .panelThreat .speechBubble:nth-child(2):after{left:calc(16% + 3px);right:auto;top:-12px;bottom:auto;clip-path:polygon(50% 0,100% 100%,0 100%)}
.comicPage .speaker-you small{color:#17659a}.comicPage .speaker-grandpa-joe small{color:#9b5321}.comicPage .speaker-adrian-vale small{color:#a51f2d}
@media(max-width:390px){.comicPage .panelDialogue .speechBubble,.comicPage .panelDialogue .speechBubble.reply{padding:5px 7px 6px}.comicPage .panelDialogue .speechBubble small{font-size:6.5px}.comicPage .panelDialogue .speechBubble p{font-size:8.2px!important}}

/* Flush-to-frame placement: dialogue never sits over a character's face. */
.comicPage .panelDialogue .speechBubble,.comicPage .panelDialogue .speechBubble.reply{border-radius:0 0 15px 4px / 0 0 9px 3px}
.comicPage .panelHome .speechBubble:first-child{left:0;top:0;border-top:0;border-left:0}
.comicPage .panelHome .speechBubble:nth-child(2){right:0;top:0;border-top:0;border-right:0}
.comicPage .panelGrandpa .speechBubble:first-child{right:0;top:0;border-top:0;border-right:0;max-width:54%}
.comicPage .panelGrandpa .speechBubble:nth-child(2),.comicPage .panelNotice .speechBubble:nth-child(2),.comicPage .panelThreat .speechBubble:nth-child(2){left:0;bottom:0;border-left:0;border-bottom:0;border-radius:4px 15px 0 0 / 3px 9px 0 0}
.comicPage .panelNotice .speechBubble:first-child{left:auto;right:0;top:0;max-width:42%;padding:4px 6px 5px;border-top:0;border-right:0}
.comicPage .panelThreat .speechBubble:first-child{left:0;right:auto;top:0;max-width:50%;padding:4px 6px 5px;border-top:0;border-left:0}
.comicPage .panelThreat .speechBubble:first-child:before{left:auto;right:12%}.comicPage .panelThreat .speechBubble:first-child:after{left:auto;right:calc(12% + 3px)}
@media(max-width:390px){.comicPage .panelNotice .speechBubble:first-child,.comicPage .panelThreat .speechBubble:first-child{padding:3px 5px 4px}.comicPage .panelNotice .speechBubble:first-child small,.comicPage .panelThreat .speechBubble:first-child small{font-size:5.5px}.comicPage .panelNotice .speechBubble:first-child p,.comicPage .panelThreat .speechBubble:first-child p{font-size:7.2px!important;line-height:.94!important}}

/* Asymmetrical four-frame comic layout; every dialogue stays clipped to its own scene. */
.comicPage{display:block;position:relative;overflow:hidden;padding:0;border:3px solid #111;background:#eadfbe!important}
.comicPage .comicPanel{position:absolute;display:block;overflow:hidden;border:0;background:#111!important;box-shadow:none}
.comicPage .comicPanel:before{content:'';position:absolute;z-index:0;display:block;inset:4px;clip-path:inherit;background-position:center;background-size:cover;background-repeat:no-repeat}
.comicPage .panelHome{left:0;top:0;width:55%;height:50%;clip-path:polygon(0 0,100% 0,89.09% 100%,0 86%)}
.comicPage .panelGrandpa{left:49%;top:0;width:51%;height:50%;clip-path:polygon(11.76% 0,100% 0,100% 88%,0 100%)}
.comicPage .panelNotice{left:0;top:43%;width:54%;height:57%;clip-path:polygon(0 0,90.74% 12.28%,100% 100%,0 100%)}
.comicPage .panelThreat{left:49%;top:44%;width:51%;height:56%;clip-path:polygon(0 10.71%,100% 0,100% 100%,9.8% 100%)}
.comicPage .panelHome:before{background-image:url('./assets/comic-panel-home-v1.webp')}
.comicPage .panelGrandpa:before{background-image:url('./assets/comic-panel-grandpa-v1.webp')}
.comicPage .panelNotice:before{background-image:url('./assets/comic-panel-notice-v1.webp')}
.comicPage .panelThreat:before{background-image:url('./assets/comic-panel-threat-v1.webp')}
.comicPage .panelDialogue{z-index:3;clip-path:inherit}
.comicPage .panelDialogue .speechBubble,.comicPage .panelDialogue .speechBubble.reply{max-width:39%;padding:3px 5px 4px}
.comicPage .panelDialogue .speechBubble small{font-size:clamp(5.5px,1.35vw,7px)}
.comicPage .panelDialogue .speechBubble p{font-size:clamp(7.2px,1.8vw,9.2px)!important;line-height:.96!important}
.comicPage .panelHome .speechBubble:first-child{left:0;right:auto;top:0;bottom:auto;max-width:38%}
.comicPage .panelHome .speechBubble:nth-child(2){left:0;right:auto;top:auto;bottom:0;max-width:38%;border-top:2px solid #111;border-right:2px solid #111;border-bottom:0;border-left:0;border-radius:4px 15px 0 0 / 3px 9px 0 0}
.comicPage .panelHome .speechBubble:nth-child(2):before{left:22%;right:auto;top:-17px;bottom:auto;clip-path:polygon(50% 0,100% 100%,0 100%)}.comicPage .panelHome .speechBubble:nth-child(2):after{left:calc(22% + 3px);right:auto;top:-12px;bottom:auto;clip-path:polygon(50% 0,100% 100%,0 100%)}
.comicPage .panelGrandpa .speechBubble:first-child{left:auto;right:0;top:0;bottom:auto;max-width:43%}
.comicPage .panelGrandpa .speechBubble:nth-child(2){left:0;right:auto;top:auto;bottom:0;max-width:37%;border-right:2px solid #111;border-bottom:0;border-left:0}
.comicPage .panelGrandpa .speechBubble:nth-child(2):before{left:15%;right:auto}.comicPage .panelGrandpa .speechBubble:nth-child(2):after{left:calc(15% + 3px);right:auto}
.comicPage .panelNotice .speechBubble:first-child{left:0;right:auto;top:0;bottom:auto;max-width:36%;border-top:0;border-left:0;border-right:2px solid #111}
.comicPage .panelNotice .speechBubble:first-child:before{left:auto;right:12%}.comicPage .panelNotice .speechBubble:first-child:after{left:auto;right:calc(12% + 3px)}
.comicPage .panelNotice .speechBubble:nth-child(2){left:0;right:auto;top:auto;bottom:0;max-width:39%}
.comicPage .panelThreat .speechBubble:first-child{left:0;right:auto;top:0;bottom:auto;max-width:39%;border-top:0}
.comicPage .panelThreat .speechBubble:nth-child(2){left:auto;right:0;top:auto;bottom:0;max-width:34%;border-right:0;border-bottom:0;border-left:2px solid #111}
@media(max-width:390px){.comicPage .panelDialogue .speechBubble,.comicPage .panelDialogue .speechBubble.reply{padding:3px 5px 4px}.comicPage .panelDialogue .speechBubble small{font-size:5.4px}.comicPage .panelDialogue .speechBubble p{font-size:7px!important}}

/* Standalone universal bonus tokens: never resemble the food tile that created them. */
.cell.special-cell{background:linear-gradient(145deg,#c7f6ff,#55bfd8)!important;border-color:#fff!important;box-shadow:inset 0 3px #fff9,inset 0 -6px #166f9338,0 0 0 2px #20394a,0 4px 8px #123b5060!important}
.cell.special-cell:before{background:linear-gradient(135deg,#fff9,transparent 44%)}
.specialToken{position:relative;z-index:9;width:82%;height:82%;display:grid;place-items:center;border:3px solid #fff;border-radius:16px;box-shadow:0 3px 0 #172b3c,0 6px 10px #16384970,inset 0 3px #fff7;overflow:hidden;transform-origin:center}
.specialToken i{position:absolute;inset:14%;display:grid;place-items:center;border:2px solid #fff;border-radius:10px;box-shadow:inset 0 0 0 2px #20304055}
.specialToken b{position:absolute;z-index:2;left:2px;right:2px;bottom:2px;color:#fff;font:1000 clamp(5px,1.15vw,7px)/1 "Arial Black",Arial,sans-serif;letter-spacing:-.2px;text-align:center;text-shadow:0 1px 2px #172334,0 1px #172334}
.specialToken.row{background:repeating-linear-gradient(0deg,#ee3b3b 0 8px,#ffcf43 8px 16px)}
.specialToken.row i{left:5%;right:5%;top:36%;bottom:26%;background:repeating-linear-gradient(90deg,#fff 0 9px,#ed3e36 9px 18px)}
.specialToken.col{background:repeating-linear-gradient(90deg,#1fb8d0 0 8px,#ffe457 8px 16px)}
.specialToken.col i{left:36%;right:36%;top:5%;bottom:18%;background:repeating-linear-gradient(0deg,#fff 0 9px,#24bfd2 9px 18px)}
.specialToken.box{background:linear-gradient(145deg,#7af3d2,#10a781)}
.specialToken.box i{background:#fff2}.specialToken.box i:after{content:'3×3';color:#fff;font:1000 clamp(12px,3vw,19px)/1 Arial;text-shadow:0 2px #08705a}
.specialToken.bomb{border-radius:50%;background:conic-gradient(#ff4267,#ffd43d,#38d9c4,#7555de,#ff4267)}
.specialToken.bomb i{inset:19%;border-radius:50%;background:#342844}.specialToken.bomb i:after{content:'★';color:#fff;font:1000 clamp(13px,3.2vw,21px)/1 Arial;text-shadow:0 2px #120d1b}
.specialToken.mega{background:linear-gradient(145deg,#fff26a,#ff6b43 52%,#cc2875);border-radius:8px 18px 8px 18px}
.specialToken.mega i{background:#3b234f}.specialToken.mega i:after{content:'R';color:#fff;font:1000 clamp(15px,3.5vw,23px)/1 "Arial Black",Arial;text-shadow:0 2px #d12462}
.cell.falling .specialToken{animation:foodDrop .48s cubic-bezier(.18,.78,.22,1.25) var(--fallDelay) both}.cell.clearing .specialToken{animation:foodBurst .32s cubic-bezier(.3,.8,.4,1) forwards}.cell.swapping .specialToken{animation:swapDeluxe .3s cubic-bezier(.16,.82,.18,1.12)}
@media(max-width:390px){.specialToken{border-width:2px;border-radius:11px}.specialToken b{font-size:4.5px}.specialToken i{border-width:1px}}

/* Location-specific cashier views and visible, cumulative furnishing. */
.venueScene.counterView:not(.venue-0){background-image:url('./assets/venue-counter-atlas-v2.webp');background-size:300% 300%;background-repeat:no-repeat;animation:none!important}
.venueScene.counterView.venue-1{background-position:50% 0}.venueScene.counterView.venue-2{background-position:100% 0}
.venueScene.counterView.venue-3{background-position:0 50%}.venueScene.counterView.venue-4{background-position:50% 50%}.venueScene.counterView.venue-5{background-position:100% 50%}
.venueScene.counterView.venue-6{background-position:0 100%}.venueScene.counterView.venue-7{background-position:50% 100%}.venueScene.counterView.venue-8{background-position:100% 100%}
.sceneFixtures{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none}.sceneFixtures .fixture{position:absolute;display:none;background-image:url('./assets/venue-upgrade-props-v1.webp');background-size:400% 100%;background-repeat:no-repeat;filter:drop-shadow(0 6px 5px #10273370);animation:fixtureInstall .55s cubic-bezier(.18,.82,.22,1.18) both}
.sceneFixtures .fixtureOne{left:0;bottom:5%;width:34%;aspect-ratio:400/533;background-position:0 0}.sceneFixtures .fixtureTwo{right:2%;bottom:3%;width:36%;aspect-ratio:400/533;background-position:33.333% 0}.sceneFixtures .fixtureThree{left:28%;top:-5%;width:39%;aspect-ratio:400/533;background-position:66.666% 0}.sceneFixtures .fixtureFour{right:1%;top:7%;width:27%;aspect-ratio:400/533;background-position:100% 0}
.counterView:not(.venue-0):is(.upgrade-state-1,.upgrade-state-2,.upgrade-state-3,.upgrade-state-4) .fixtureOne,.counterView:not(.venue-0):is(.upgrade-state-2,.upgrade-state-3,.upgrade-state-4) .fixtureTwo,.counterView:not(.venue-0):is(.upgrade-state-3,.upgrade-state-4) .fixtureThree,.counterView:not(.venue-0).upgrade-state-4 .fixtureFour{display:block}
@keyframes fixtureInstall{0%{opacity:0;transform:translateY(20px) scale(.78)}70%{opacity:1;transform:translateY(-3px) scale(1.04)}100%{opacity:1;transform:none}}

/* One mask only: the panel clips the scene; its image and dialogue remain intact inside it. */
.comicPage .comicPanel:before,.comicPage .panelDialogue{clip-path:none!important}
.comicPage .panelThreat:before{background-position:58% 42%}
.comicPage .panelDialogue .speechBubble,.comicPage .panelDialogue .speechBubble.reply{max-width:40%;padding:4px 6px 5px}
.comicPage .panelDialogue .speechBubble small{font-size:clamp(6px,1.5vw,7.6px)}
.comicPage .panelDialogue .speechBubble p{font-size:clamp(8.2px,2.05vw,10px)!important;line-height:1.02!important}
.comicPage .panelDialogue.dialogueTight .speechBubble,.comicPage .panelDialogue.dialogueTight .speechBubble.reply{padding:3px 5px 4px}
.comicPage .panelDialogue.dialogueTight .speechBubble p{font-size:8px!important;line-height:1!important}
@media(max-width:390px){.sceneFixtures .fixtureOne{width:31%}.sceneFixtures .fixtureTwo{width:33%}.sceneFixtures .fixtureThree{width:36%}.sceneFixtures .fixtureFour{width:24%}.comicPage .panelDialogue .speechBubble p{font-size:8.2px!important}.comicPage .panelDialogue .speechBubble small{font-size:6px}.comicPage .panelDialogue.dialogueTight .speechBubble p{font-size:7.6px!important}}

/* Final comic grid: only straight horizontal and vertical divisions, parallel to the page edges. */
.comicPage .panelHome{left:0;top:0;width:52%;height:48%;clip-path:none}
.comicPage .panelGrandpa{left:52%;top:0;width:48%;height:48%;clip-path:none}
.comicPage .panelNotice{left:0;top:48%;width:48%;height:52%;clip-path:none}
.comicPage .panelThreat{left:48%;top:48%;width:52%;height:52%;clip-path:none}
.comicPage .comicPanel:before{inset:4px;background-position:center top}
.comicPage .panelThreat:before{background-position:58% top}

/* Family Restaurant uses complete, perspective-consistent scenes for every renovation step. */
.venueScene.counterView.venue-2{background-size:cover;background-position:center 43%}
.venueScene.counterView.venue-2.upgrade-state-0{background-image:url('./assets/family-restaurant-state-0-v1.webp')}
.venueScene.counterView.venue-2.upgrade-state-1{background-image:url('./assets/family-restaurant-state-1-v1.webp')}
.venueScene.counterView.venue-2.upgrade-state-2{background-image:url('./assets/family-restaurant-state-2-v1.webp')}
.venueScene.counterView.venue-2.upgrade-state-3{background-image:url('./assets/family-restaurant-state-3-v1.webp')}
.venueScene.counterView.venue-2.upgrade-state-4{background-image:url('./assets/family-restaurant-state-4-v1.webp')}
.venueScene.counterView.venue-2 .sceneFixtures{display:none}
.venueScene.counterView.venue-2[class*="upgrade-state-"]{animation:upgradeReveal .65s ease-out!important}

/* Speech boxes stay inside the black frame; every tail points toward its named speaker. */
.comicPage .panelDialogue .speechBubble,.comicPage .panelDialogue .speechBubble.reply{box-sizing:border-box;margin:0;max-width:43%;overflow:visible}
.comicPage .panelHome .speechBubble:first-child{left:4px;right:auto;top:4px;bottom:auto}
.comicPage .panelHome .speechBubble:nth-child(2){left:4px;right:auto;top:auto;bottom:4px;max-width:42%}
.comicPage .panelGrandpa .speechBubble:first-child{left:auto;right:4px;top:4px;bottom:auto;max-width:43%}
.comicPage .panelGrandpa .speechBubble:nth-child(2){left:4px;right:auto;top:auto;bottom:4px;max-width:42%}
.comicPage .panelNotice .speechBubble:first-child{left:auto;right:4px;top:4px;bottom:auto;max-width:42%}
.comicPage .panelNotice .speechBubble:nth-child(2){left:4px;right:auto;top:auto;bottom:4px;max-width:43%}
.comicPage .panelThreat .speechBubble:first-child{left:auto;right:4px;top:4px;bottom:auto;max-width:42%}
.comicPage .panelThreat .speechBubble:nth-child(2){left:4px;right:auto;top:auto;bottom:4px;max-width:42%}
.comicPage .panelHome .speechBubble:nth-child(2):before{left:calc(100% - 17px);right:auto}.comicPage .panelHome .speechBubble:nth-child(2):after{left:calc(100% - 14px);right:auto}
.comicPage .panelGrandpa .speechBubble:first-child:before{left:20%;right:auto}.comicPage .panelGrandpa .speechBubble:first-child:after{left:calc(20% + 3px);right:auto}
.comicPage .panelGrandpa .speechBubble:nth-child(2):before{left:60%;right:auto}.comicPage .panelGrandpa .speechBubble:nth-child(2):after{left:calc(60% + 3px);right:auto}
.comicPage .panelNotice .speechBubble:first-child:before{left:18%;right:auto}.comicPage .panelNotice .speechBubble:first-child:after{left:calc(18% + 3px);right:auto}
.comicPage .panelNotice .speechBubble:nth-child(2):before{left:68%;right:auto}.comicPage .panelNotice .speechBubble:nth-child(2):after{left:calc(68% + 3px);right:auto}
.comicPage .panelThreat .speechBubble:first-child:before{left:32%;right:auto}.comicPage .panelThreat .speechBubble:first-child:after{left:calc(32% + 3px);right:auto}
.comicPage .panelThreat .speechBubble:nth-child(2):before{left:60%;right:auto}.comicPage .panelThreat .speechBubble:nth-child(2):after{left:calc(60% + 3px);right:auto}
.comicPage .panelHome .speechBubble:nth-child(2):before,.comicPage .panelGrandpa .speechBubble:nth-child(2):before,.comicPage .panelNotice .speechBubble:nth-child(2):before,.comicPage .panelThreat .speechBubble:nth-child(2):before{top:-17px;bottom:auto;clip-path:polygon(50% 0,100% 100%,0 100%)}
.comicPage .panelHome .speechBubble:nth-child(2):after,.comicPage .panelGrandpa .speechBubble:nth-child(2):after,.comicPage .panelNotice .speechBubble:nth-child(2):after,.comicPage .panelThreat .speechBubble:nth-child(2):after{top:-12px;bottom:auto;clip-path:polygon(50% 0,100% 100%,0 100%)}

/* Long-form restaurant progression, player XP and hourly treasure menu. */
.hubModal{max-height:98vh;overflow:auto}.playerCard{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px 9px;margin:7px 2px;padding:7px 9px;border:3px solid #312a25;border-left:9px solid #319bd2;border-radius:4px;background:#e8f7ff;box-shadow:0 3px 0 #9bb7c5}.playerCard>div{grid-row:1/3}.playerCard>div small{display:block;color:#287cab;font-size:7px;font-weight:1000;letter-spacing:1px}.playerCard>div b{font:1000 15px/1 "Arial Black",Arial,sans-serif}.playerCard>i{height:8px;border:2px solid #312a25;border-radius:5px;background:#fff;overflow:hidden}.playerCard>i span{display:block;height:100%;width:0;background:linear-gradient(90deg,#32b8ec,#75ddff)}.playerCard>small{font-size:7px;font-weight:900;color:#53656e}.playerCard>button{grid-column:3;grid-row:1/3;display:grid;grid-template-columns:auto 1fr;gap:0 5px;align-items:center;padding:5px 7px;border:2px solid #312a25;border-radius:4px;background:#fff0b7;color:#312a25;box-shadow:0 2px 0 #9d7e35;text-align:left}.playerCard>button.ready{background:#ffd84f;animation:menuReady 1.7s ease-in-out infinite}.playerCard>button span{grid-row:1/3;font-size:21px}.playerCard>button b{font-size:8px}.playerCard>button small{font-size:7px;color:#b22d28}.venueJourney{display:flex;justify-content:center;gap:8px;margin:7px 2px 0;padding:6px;border:2px solid #312a25;background:#312a25;color:#fff;font-size:8px;letter-spacing:.5px}.hubModal>.upgradeGrid{max-height:228px;padding:2px 2px 5px;overflow:auto}.hubModal>.upgradeGrid button{min-height:62px}.hubModal>.upgradeGrid button small{line-height:1.2}.hubModal>.upgradeGrid button.locked{opacity:.62}.hubModal>.upgradeGrid button.locked small{color:#6d6861}
.treasureModal{width:min(92vw,470px);border:4px solid #312a25;border-radius:7px;background:#fff7df;box-shadow:7px 8px 0 #312a25}.treasureModal>small{color:#d7352d;font-weight:1000;letter-spacing:1.5px}.treasureModal>p{margin:5px 0 12px;color:#675d55;font-size:12px}.treasureGrid{display:grid;gap:9px}.treasureGrid button{display:grid;grid-template-columns:55px 1fr auto;grid-template-rows:auto auto;align-items:center;gap:2px 9px;min-height:72px;padding:8px 10px;border:3px solid #312a25;border-left:10px solid #34a6d9;border-radius:5px;background:#fff;color:#312a25;box-shadow:0 4px 0 #aa9a81;text-align:left}.treasureGrid button>span{grid-row:1/3;font-size:38px}.treasureGrid button>b{font:1000 14px/1 "Arial Black",Arial,sans-serif}.treasureGrid button>small{font-size:9px;color:#6f655b}.treasureGrid button>em{grid-column:3;grid-row:1/3;padding:7px;border:2px solid #312a25;border-radius:4px;background:#ffd84f;color:#312a25;font-size:8px;font-style:normal;font-weight:1000}.treasureGrid button:nth-child(2){border-left-color:#ef6643;background:#fff1e9}.treasureGrid button.goldTreasure{border-left-color:#e8ad13;background:linear-gradient(135deg,#fff6c9,#ffd859)}.treasureResult{min-height:18px;margin-top:10px;color:#17805a;font-weight:1000;text-align:center}.treasureModal .modalClose{border-color:#312a25;color:#312a25}
/* Eight purchases resolve into five illustrated construction stages. */
.venueScene.counterView.venue-0:is(.upgrade-state-1,.upgrade-state-2){background-image:url('./assets/cart-upgrade-1-v1.webp')}.venueScene.counterView.venue-0:is(.upgrade-state-3,.upgrade-state-4){background-image:url('./assets/cart-upgrade-2-v1.webp')}.venueScene.counterView.venue-0:is(.upgrade-state-5,.upgrade-state-6){background-image:url('./assets/cart-upgrade-3-v1.webp')}.venueScene.counterView.venue-0:is(.upgrade-state-7,.upgrade-state-8){background-image:url('./assets/cart-upgrade-4-v1.webp')}
.venueScene.counterView.venue-2:is(.upgrade-state-1,.upgrade-state-2){background-image:url('./assets/family-restaurant-state-1-v1.webp')}.venueScene.counterView.venue-2:is(.upgrade-state-3,.upgrade-state-4){background-image:url('./assets/family-restaurant-state-2-v1.webp')}.venueScene.counterView.venue-2:is(.upgrade-state-5,.upgrade-state-6){background-image:url('./assets/family-restaurant-state-3-v1.webp')}.venueScene.counterView.venue-2:is(.upgrade-state-7,.upgrade-state-8){background-image:url('./assets/family-restaurant-state-4-v1.webp')}
.counterView:not(.venue-0):not(.venue-2):is(.upgrade-state-1,.upgrade-state-2,.upgrade-state-3,.upgrade-state-4,.upgrade-state-5,.upgrade-state-6,.upgrade-state-7,.upgrade-state-8) .fixtureOne,.counterView:not(.venue-0):not(.venue-2):is(.upgrade-state-3,.upgrade-state-4,.upgrade-state-5,.upgrade-state-6,.upgrade-state-7,.upgrade-state-8) .fixtureTwo,.counterView:not(.venue-0):not(.venue-2):is(.upgrade-state-5,.upgrade-state-6,.upgrade-state-7,.upgrade-state-8) .fixtureThree,.counterView:not(.venue-0):not(.venue-2):is(.upgrade-state-7,.upgrade-state-8) .fixtureFour{display:block}
.comicMode.story-page-1 .comicPage{background-image:url('./assets/evidence-scene-1-v1.webp')}.comicMode.story-page-2 .comicPage{background-image:url('./assets/evidence-scene-2-v1.webp')}.comicMode.story-page-3 .comicPage{background-image:url('./assets/evidence-scene-3-v1.webp')}.comicMode.story-page-4 .comicPage{background-image:url('./assets/prologue-comic-page-1-v1.png')}
@media(max-width:390px){.playerCard{grid-template-columns:auto 1fr}.playerCard>button{grid-column:1/3;grid-row:3}.hubModal>.upgradeGrid{max-height:205px}.treasureGrid button{grid-template-columns:45px 1fr}.treasureGrid button>em{grid-column:1/3;grid-row:3;text-align:center}}

/* Premium universal match bonuses: ring, golden burger and chef jewel. */
.cell.special-cell{display:grid;place-items:center;background:linear-gradient(145deg,#fff5a8,#efb528)!important}
.specialToken{width:92%;height:92%;border:0!important;border-radius:18px!important;background-image:url('./assets/premium-rewards-atlas-v1.png')!important;background-size:300% 200%!important;background-repeat:no-repeat!important;background-color:#8a4b0c!important;box-shadow:0 3px 0 #7d4b0b,0 0 12px #ffe870!important}
.specialToken i,.specialToken b{display:none!important}.specialToken.row{background-position:0 0!important}.specialToken.col{background-position:50% 0!important}.specialToken.box{background-position:100% 0!important}.specialToken.bomb{background-position:0 0!important;border-radius:50%!important}.specialToken.mega{background-position:50% 0!important}
.cell.special-cell:after{content:'WILD';position:absolute;z-index:10;right:2px;bottom:2px;padding:2px 3px;border:1px solid #fff;border-radius:5px;background:#7b3fb5;color:#fff;font:900 5px/1 Arial;letter-spacing:.4px}

/* Only pieces in affected columns fall; everything else stays visually stable. */
.cell.falling .foodSprite,.cell.falling .specialToken{animation:selectiveDrop .42s cubic-bezier(.16,.82,.2,1.12) var(--fallDelay) both!important}
@keyframes selectiveDrop{0%{opacity:.25;transform:translateY(calc(-1 * var(--dropRows) * 92%)) scale(.9)}72%{opacity:1;transform:translateY(5%) scale(1.04)}100%{opacity:1;transform:none}}
.foodSprite{background-position-x:inherit;background-position-y:inherit;margin:auto!important;place-self:center!important;transform-origin:center}

/* A subtle illuminated venue sign replaces the oversized centered logo. */
.locationHero{position:relative;height:92px;margin:-2px 0 7px;overflow:hidden;border:3px solid #312a25;border-radius:7px;background-image:linear-gradient(90deg,#132a38aa,#132a3822),url('./assets/venue-counter-atlas-v2.webp');background-size:auto,300% 300%;background-repeat:no-repeat;box-shadow:0 4px 0 #8d211d}.locationHero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#092434bb,transparent 70%)}.locationHero .gameLogo{position:absolute;z-index:2;left:9px;top:9px;width:125px!important;height:auto;margin:0!important;padding:5px 8px;border:2px solid #fff2b4;border-radius:7px;background:#17364fe8;filter:drop-shadow(0 0 7px #ffe26b)}.locationHero>span{position:absolute;z-index:2;left:11px;bottom:7px;padding:3px 6px;background:#d7352de8;color:#fff;font:900 8px/1 Arial;letter-spacing:1px}.locationHero.venue-0{background-image:linear-gradient(90deg,#132a38aa,#132a3822),url('./assets/cart-counter-pov-v1.webp');background-size:auto,cover;background-position:center}.locationHero.venue-1{background-position:0,50% 0}.locationHero.venue-2{background-position:0,100% 0}.locationHero.venue-3{background-position:0,0 50%}.locationHero.venue-4{background-position:0,50% 50%}.locationHero.venue-5{background-position:0,100% 50%}.locationHero.venue-6{background-position:0,0 100%}.locationHero.venue-7{background-position:0,50% 100%}.locationHero.venue-8{background-position:0,100% 100%}

/* All nine locations share the same sunny cashier-view art direction and cumulative equipment system. */
.venueScene.counterView.venue-2{background-image:url('./assets/venue-counter-atlas-v2.webp')!important;background-size:300% 300%!important;background-position:100% 0!important}.venueScene.counterView.venue-2 .sceneFixtures{display:block!important}
.venueScene.counterView:not(.venue-0){filter:saturate(1.03) brightness(1.02)}
.counterView:not(.venue-0):is(.upgrade-state-1,.upgrade-state-2,.upgrade-state-3,.upgrade-state-4,.upgrade-state-5,.upgrade-state-6,.upgrade-state-7,.upgrade-state-8) .fixtureOne,.counterView:not(.venue-0):is(.upgrade-state-3,.upgrade-state-4,.upgrade-state-5,.upgrade-state-6,.upgrade-state-7,.upgrade-state-8) .fixtureTwo,.counterView:not(.venue-0):is(.upgrade-state-5,.upgrade-state-6,.upgrade-state-7,.upgrade-state-8) .fixtureThree,.counterView:not(.venue-0):is(.upgrade-state-7,.upgrade-state-8) .fixtureFour{display:block!important}
.sceneFixtures .fixture{max-height:47%;object-fit:contain}.venue-2 .fixtureOne,.venue-5 .fixtureOne,.venue-8 .fixtureOne{left:1%;width:28%}.venue-2 .fixtureTwo,.venue-5 .fixtureTwo,.venue-8 .fixtureTwo{right:1%;width:29%}.venue-1 .fixtureThree,.venue-4 .fixtureThree,.venue-7 .fixtureThree{left:33%;width:34%}

/* Treasure shop uses generated chest art and a stronger premium hierarchy. */
.treasureModal{overflow:hidden;background:radial-gradient(circle at 50% -10%,#fffbd0,#dff5ff 48%,#79c7ee);border-color:#fff;box-shadow:0 10px 0 #1f6f9b,0 25px 80px #123d6677}.treasureModal:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 2px);background-size:34px 34px;opacity:.35;pointer-events:none}.treasureModal>*{position:relative}.treasureGrid button{grid-template-columns:92px 1fr auto;min-height:112px;border-color:#fff;border-left-width:6px;border-radius:18px;background:linear-gradient(145deg,#fff,#dbf3ff);box-shadow:0 6px 0 #2983b4,0 10px 22px #1a679244}.treasureGrid button:nth-child(2){background:linear-gradient(145deg,#fff4df,#ffbe6b);box-shadow:0 6px 0 #bd5b28,0 10px 24px #ad542855}.treasureGrid button.goldTreasure{background:linear-gradient(145deg,#fffbd4,#ffd235 60%,#ed9e0c);box-shadow:0 7px 0 #a9630a,0 0 25px #fff176}.chestArt{display:block!important;width:88px;height:74px!important;border-radius:18px;background-image:url('./assets/premium-rewards-atlas-v1.png')!important;background-size:300% 200%!important;background-repeat:no-repeat!important;background-color:#8a4b0c;filter:drop-shadow(0 5px 4px #72381255)}.chestBasic{background-position:0 100%!important}.chestChef{background-position:50% 100%!important}.chestRoyal{background-position:100% 100%!important}.treasureGrid button>b i{display:inline-block;margin-left:4px;padding:3px 5px;border-radius:999px;background:#d7352d;color:#fff;font-size:7px;font-style:normal}.treasureGrid button.goldTreasure>b i{background:#533298}.treasureGrid button>em{border-color:#fff;border-radius:999px;background:#d7352d;color:#fff;box-shadow:0 3px 0 #8d211d}.goldTreasure>em{background:#5633a2!important;box-shadow:0 3px 0 #321b6a!important}.marathonPass{width:100%;margin-top:12px;padding:10px;border:3px solid #fff;border-radius:12px;background:linear-gradient(135deg,#6550c8,#3e2d96);color:#fff;box-shadow:0 5px 0 #2c1d72}.marathonPass b,.marathonPass small{display:block}.marathonPass b{font:900 11px/1.1 Arial}.marathonPass small{margin-top:4px;color:#fff0a4;font-size:9px}
.purchaseModal{text-align:center}.purchaseModal>.chestArt{width:180px;height:145px!important;margin:-4px auto 8px}.purchaseModal .demoPurchaseNote{display:block;margin-top:12px;color:#678;font-size:10px;letter-spacing:0}.noMovesModal{text-align:center}.noMovesIcon{width:70px;height:70px;margin:0 auto 8px;border:5px solid #fff;border-radius:50%;background:#6750ca;color:#fff;font:900 48px/60px Arial;box-shadow:0 6px 0 #3c2a8b}.hudLives{color:#ff8fa1}.hudLives b{color:#fff}
@media(max-width:390px){.locationHero{height:76px}.locationHero .gameLogo{width:105px!important}.treasureGrid button{grid-template-columns:75px 1fr;min-height:132px}.chestArt{width:72px;height:62px!important}.treasureGrid button>em{grid-column:1/3!important}.purchaseModal>.chestArt{width:150px;height:120px!important}}

/* Every one of the eight upgrades adds a deliberate new visual layer. */
.sceneFixtures .fixtureFive{left:5%;top:8%;width:16%;aspect-ratio:400/533;background-position:100% 0;transform:scale(.72)}.sceneFixtures .fixtureSix{right:5%;top:10%;width:17%;aspect-ratio:400/533;background-position:66.666% 0;transform:scale(.7)}.sceneFixtures .fixtureSeven{left:34%;bottom:1%;width:22%;aspect-ratio:400/533;background-position:33.333% 0;transform:scale(.68)}.sceneFixtures .fixtureEight{right:27%;top:-2%;width:21%;aspect-ratio:400/533;background-position:100% 0;transform:scale(.62)}
.counterView:is(.upgrade-state-5,.upgrade-state-6,.upgrade-state-7,.upgrade-state-8) .fixtureFive,.counterView:is(.upgrade-state-6,.upgrade-state-7,.upgrade-state-8) .fixtureSix,.counterView:is(.upgrade-state-7,.upgrade-state-8) .fixtureSeven,.counterView.upgrade-state-8 .fixtureEight{display:block!important}
.counterView:not(.venue-0):is(.upgrade-state-4,.upgrade-state-5,.upgrade-state-6,.upgrade-state-7,.upgrade-state-8) .fixtureFour{display:block!important}

/* 2026 art pass: every business begins with its own sunny exterior and a sign that belongs to the building. */
.locationHero{
  --sign-x:50%;--sign-y:9%;--sign-width:25%;
  height:132px!important;
  border:3px solid #241d18!important;
  border-radius:8px!important;
  background-image:url('./assets/venue-exterior-1-v1.webp')!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  box-shadow:0 4px 0 #7d291f,0 9px 20px #38201533!important;
}
.hubModal>.upgradeGrid button i{background-image:var(--upgrade-art)!important;background-size:300% 300%!important;background-repeat:no-repeat!important;background-color:#b8e9ff!important}
.venueScene.counterView{background-size:auto 300%!important}.venueScene.counterView.upgrade-state-1{background-position:50% 0!important}.venueScene.counterView.upgrade-state-2{background-position:100% 0!important}.venueScene.counterView.upgrade-state-3{background-position:0 50%!important}.venueScene.counterView.upgrade-state-4{background-position:50% 50%!important}.venueScene.counterView.upgrade-state-5{background-position:100% 50%!important}.venueScene.counterView.upgrade-state-6{background-position:0 100%!important}.venueScene.counterView.upgrade-state-7{background-position:50% 100%!important}.venueScene.counterView.upgrade-state-8{background-position:100% 100%!important}.hubModal>.upgradeGrid button i{background-size:auto 300%!important}
.venueScene.counterView{background-size:auto 300%!important}.venueScene.counterView.upgrade-state-1{background-position:50% 0!important}.venueScene.counterView.upgrade-state-2{background-position:100% 0!important}.venueScene.counterView.upgrade-state-3{background-position:0 50%!important}.venueScene.counterView.upgrade-state-4{background-position:50% 50%!important}.venueScene.counterView.upgrade-state-5{background-position:100% 50%!important}.venueScene.counterView.upgrade-state-6{background-position:0 100%!important}.venueScene.counterView.upgrade-state-7{background-position:50% 100%!important}.venueScene.counterView.upgrade-state-8{background-position:100% 100%!important}.hubModal>.upgradeGrid button i{background-size:auto 300%!important}
.venueScene.counterView{background-size:auto 300%!important;background-position:center top!important}.venueScene.counterView.upgrade-state-1{background-position:50% 0!important}.venueScene.counterView.upgrade-state-2{background-position:100% 0!important}.venueScene.counterView.upgrade-state-3{background-position:0 50%!important}.venueScene.counterView.upgrade-state-4{background-position:50% 50%!important}.venueScene.counterView.upgrade-state-5{background-position:100% 50%!important}.venueScene.counterView.upgrade-state-6{background-position:0 100%!important}.venueScene.counterView.upgrade-state-7{background-position:50% 100%!important}.venueScene.counterView.upgrade-state-8{background-position:100% 100%!important}.hubModal>.upgradeGrid button i{background-size:auto 300%!important;background-position:center top!important}.hubModal>.upgradeGrid button:nth-child(2) i{background-position:100% 0!important}.hubModal>.upgradeGrid button:nth-child(3) i{background-position:0 50%!important}.hubModal>.upgradeGrid button:nth-child(4) i{background-position:50% 50%!important}.hubModal>.upgradeGrid button:nth-child(5) i{background-position:100% 50%!important}.hubModal>.upgradeGrid button:nth-child(6) i{background-position:0 100%!important}.hubModal>.upgradeGrid button:nth-child(7) i{background-position:50% 100%!important}.hubModal>.upgradeGrid button:nth-child(8) i{background-position:100% 100%!important}
.locationHero.venue-1 .gameLogo{left:67%!important;top:31%!important;width:27%!important;filter:drop-shadow(0 1px 1px #15100c) brightness(.92) saturate(.88)!important}
.hubModal>.upgradeGrid button i{background-image:url('./assets/upgrade-appliances-v1.png')!important;background-size:400% 200%!important;background-repeat:no-repeat!important;background-color:#8fdcff!important}.hubModal>.upgradeGrid button:nth-child(1) i{background-position:0 0!important}.hubModal>.upgradeGrid button:nth-child(2) i{background-position:33.33% 0!important}.hubModal>.upgradeGrid button:nth-child(3) i{background-position:66.66% 0!important}.hubModal>.upgradeGrid button:nth-child(4) i{background-position:100% 0!important}.hubModal>.upgradeGrid button:nth-child(5) i{background-position:0 100%!important}.hubModal>.upgradeGrid button:nth-child(6) i{background-position:33.33% 100%!important}.hubModal>.upgradeGrid button:nth-child(7) i{background-position:66.66% 100%!important}.hubModal>.upgradeGrid button:nth-child(8) i{background-position:100% 100%!important}
.locationHero:after{background:linear-gradient(180deg,transparent 72%,#26160d2e)!important;pointer-events:none}
.locationHero>span{display:none!important}
.locationHero .gameLogo{
  left:var(--sign-x)!important;top:var(--sign-y)!important;
  width:var(--sign-width)!important;height:auto!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;
  transform:translateX(-50%) perspective(240px) rotateX(-3deg)!important;
  filter:drop-shadow(0 1px 1px #28130c) drop-shadow(0 0 5px #ffd85b)!important;
}
.locationHero.venue-0{--sign-y:21%;--sign-width:28%;background-image:url('./assets/venue-exterior-1-v1.webp')!important;background-position:center 16%!important}
.locationHero.venue-1{--sign-y:8%;--sign-width:24%;background-image:url('./assets/venue-exterior-2-v1.webp')!important;background-position:center 8%!important}
.locationHero.venue-2{--sign-y:8%;--sign-width:24%;background-image:url('./assets/venue-exterior-3-v1.webp')!important;background-position:center 8%!important}
.locationHero.venue-3{--sign-y:20%;--sign-width:27%;background-image:url('./assets/venue-exterior-4-v1.webp')!important;background-position:center 15%!important}
.locationHero.venue-4{--sign-y:8%;--sign-width:24%;background-image:url('./assets/venue-exterior-5-v1.webp')!important;background-position:center 8%!important}
.locationHero.venue-5{--sign-y:7%;--sign-width:24%;background-image:url('./assets/venue-exterior-6-v1.webp')!important;background-position:center 7%!important}
.locationHero.venue-6{--sign-y:18%;--sign-width:26%;background-image:url('./assets/venue-exterior-7-v1.webp')!important;background-position:center 14%!important}
.locationHero.venue-7{--sign-y:7%;--sign-width:23%;background-image:url('./assets/venue-exterior-8-v1.webp')!important;background-position:center 7%!important}
.locationHero.venue-8{--sign-y:7%;--sign-width:23%;background-image:url('./assets/venue-exterior-9-v1.webp')!important;background-position:center 7%!important}

/* Appliances sit behind the foreground counter lip, with perspective and contact shadows. */
.venueScene.counterView.venue-0 .sceneFixtures{display:none!important}
.venueScene.counterView:not(.venue-0) .sceneFixtures{display:block!important;z-index:3!important}
.venueScene.counterView:not(.venue-0) .sceneFixtures:after{
  content:'';position:absolute;z-index:5;left:-3%;right:-3%;bottom:-1px;height:12%;
  border-top:3px solid #f9dfb1;
  background:linear-gradient(180deg,#7b3319 0,#a94f25 21%,#4f2115 100%);
  box-shadow:0 -7px 13px #29130d42;pointer-events:none
}
.sceneFixtures .fixture{z-index:3!important;max-height:none!important;transform-origin:50% 100%!important;filter:drop-shadow(0 9px 6px #17100b77)!important}
.sceneFixtures .fixtureOne,.sceneFixtures .fixtureFive{left:-5%!important;right:auto!important;top:auto!important;bottom:-12%!important;width:37%!important;aspect-ratio:400/533;background-position:0 0!important;transform:perspective(420px) rotateY(8deg)!important}
.sceneFixtures .fixtureTwo,.sceneFixtures .fixtureSix{left:auto!important;right:-5%!important;top:auto!important;bottom:-13%!important;width:39%!important;aspect-ratio:400/533;background-position:33.333% 0!important;transform:perspective(420px) rotateY(-8deg)!important}
.sceneFixtures .fixtureThree,.sceneFixtures .fixtureSeven{left:29%!important;right:auto!important;top:-10%!important;bottom:auto!important;width:42%!important;aspect-ratio:400/533;background-position:66.666% 0!important;transform:perspective(460px) rotateX(-4deg)!important}
.sceneFixtures .fixtureFour,.sceneFixtures .fixtureEight{left:auto!important;right:1%!important;top:5%!important;bottom:auto!important;width:27%!important;aspect-ratio:400/533;background-position:100% 0!important;transform:perspective(400px) rotateY(-7deg)!important}
/* Later purchases replace an earlier appliance with its premium version instead of piling on decals. */
.counterView:not(.venue-0):is(.upgrade-state-5,.upgrade-state-6,.upgrade-state-7,.upgrade-state-8) .fixtureOne,
.counterView:not(.venue-0):is(.upgrade-state-6,.upgrade-state-7,.upgrade-state-8) .fixtureTwo,
.counterView:not(.venue-0):is(.upgrade-state-7,.upgrade-state-8) .fixtureThree,
.counterView:not(.venue-0).upgrade-state-8 .fixtureFour{display:none!important}
.sceneFixtures .fixtureFive,.sceneFixtures .fixtureSix,.sceneFixtures .fixtureSeven,.sceneFixtures .fixtureEight{filter:drop-shadow(0 10px 7px #17100b88) saturate(1.2) brightness(1.1)!important}

/* Universal rewards are unmistakably premium and can match with every food type. */
.cell.special-cell{
  background:conic-gradient(from 18deg,#ff5f82,#ffcb46,#62df8a,#43c9ff,#8d69ff,#ff72cb,#ff5f82)!important;
  box-shadow:inset 0 0 0 3px #fff9, inset 0 0 15px #fff9,0 0 11px #ffe27c!important;
  animation:specialTileGlow 2.1s ease-in-out infinite
}
.specialToken{
  background-image:url('./assets/premium-rewards-atlas-v1.png'),conic-gradient(from 20deg,#ff4f77,#ffd23f,#43e19f,#35c4ff,#7b61ff,#ff65cf,#ff4f77)!important;
  background-size:300% 200%,100% 100%!important;
  background-blend-mode:screen,normal!important;
  background-color:transparent!important;
  border:2px solid #fff!important;border-radius:19px!important;
  box-shadow:inset 0 0 13px #fff8,0 3px 0 #7249a9,0 0 15px #fff187!important
}
.cell.special-cell:after{background:linear-gradient(90deg,#6636ab,#ef4599)!important;border-color:#fff!important;box-shadow:0 1px 4px #301c5f99!important}
@keyframes specialTileGlow{50%{filter:saturate(1.25) brightness(1.08);box-shadow:inset 0 0 0 3px #fff,inset 0 0 18px #fff,0 0 17px #ffdc64}}

/* A restrained premium storefront for paid treasure: midnight enamel, ivory and warm gold. */
.treasureModal{
  color:#f8f0db!important;border:1px solid #e3c77a!important;border-radius:12px!important;
  background:radial-gradient(circle at 50% 0,#263657 0,#111a2c 44%,#080d17 100%)!important;
  box-shadow:0 0 0 4px #0a101e,0 0 0 6px #b98b32,0 26px 80px #02050dcc!important
}
.treasureModal:before{background-image:linear-gradient(115deg,transparent 0 43%,#fff4c50b 43% 44%,transparent 44% 100%)!important;background-size:36px 36px!important;opacity:1!important}
.treasureModal>small{color:#dab85f!important;font-family:Georgia,serif!important;letter-spacing:2.6px!important}
.treasureModal>h2{margin:2px 0 5px;color:#fff9e7;font-family:Georgia,serif;font-size:28px;letter-spacing:.3px}
.treasureModal>p{color:#bdc5d3!important;line-height:1.42!important}
.treasureGrid{gap:8px!important}
.treasureGrid button{
  grid-template-columns:82px 1fr auto!important;min-height:94px!important;padding:8px 10px!important;
  border:1px solid #7c6741!important;border-left:3px solid #c6a354!important;border-radius:7px!important;
  background:linear-gradient(110deg,#17233a,#10182a)!important;color:#f7edd6!important;
  box-shadow:inset 0 1px #ffffff0f,0 5px 13px #02050c88!important
}
.treasureGrid button:nth-child(2){background:linear-gradient(110deg,#242338,#191426)!important;border-color:#aa8048!important}
.treasureGrid button.goldTreasure{background:linear-gradient(110deg,#312919,#17120d)!important;border-color:#e0b955!important;box-shadow:inset 0 1px #fff3bc1f,0 5px 16px #000,0 0 16px #d0a33a22!important}
.chestArt{width:76px!important;height:66px!important;border:1px solid #b99148!important;border-radius:50%!important;background-color:#26170d!important;box-shadow:inset 0 0 18px #07080c,0 0 0 3px #10192a,0 0 0 4px #735c35!important;filter:saturate(1.18) contrast(1.05)!important}
.treasureGrid button>b{color:#fff6de;font-family:Georgia,serif!important;font-size:14px!important}.treasureGrid button>small{color:#aeb6c6!important;line-height:1.25}
.treasureGrid button>b i{border:1px solid #e3c36b!important;background:#39280c!important;color:#f6d77e!important;border-radius:3px!important;letter-spacing:.5px}
.treasureGrid button>em{border:1px solid #e0c170!important;border-radius:4px!important;background:transparent!important;color:#f0d488!important;box-shadow:none!important;letter-spacing:.4px!important}
.treasureGrid button.goldTreasure>em{background:#d3ac4d!important;color:#16100a!important;border-color:#ffe9a6!important;box-shadow:inset 0 1px #fff1b7!important}
.marathonPass{border:1px solid #81724e!important;border-radius:6px!important;background:linear-gradient(90deg,#151e31,#222d47)!important;box-shadow:none!important}.marathonPass b{font-family:Georgia,serif!important;color:#fff5d7}.marathonPass small{color:#c6a75f!important}
.treasureResult{color:#f1ce71!important}.treasureModal .modalClose{border-color:#b99c5e!important;color:#e8cd8d!important;background:#0d1524!important}

/* Story pages 2–5 use four new scenes and angles while retaining the sequential dialogue layer. */
.comicMode.story-page-1 .comicPage,.comicMode.story-page-2 .comicPage,.comicMode.story-page-3 .comicPage,.comicMode.story-page-4 .comicPage{
  background-size:200% 100%!important;background-repeat:no-repeat!important
}
.comicMode.story-page-1 .comicPage{background-image:url('./assets/comic-pages-2-3-v1.png')!important;background-position:left center!important}
.comicMode.story-page-2 .comicPage{background-image:url('./assets/comic-pages-2-3-v1.png')!important;background-position:right center!important}
.comicMode.story-page-3 .comicPage{background-image:url('./assets/comic-pages-4-5-v1.png')!important;background-position:left center!important}
.comicMode.story-page-4 .comicPage{background-image:url('./assets/comic-pages-4-5-v1.png')!important;background-position:right center!important}
.comicMode:not(.story-page-0) .comicPanel{background:transparent!important}
.comicMode:not(.story-page-0) .comicPanel:before{display:none!important}
.comicMode:not(.story-page-0) .comicPage .panelHome{left:0;top:0;width:50%;height:50%}
.comicMode:not(.story-page-0) .comicPage .panelGrandpa{left:50%;top:0;width:50%;height:50%}
.comicMode:not(.story-page-0) .comicPage .panelNotice{left:0;top:50%;width:50%;height:50%}
.comicMode:not(.story-page-0) .comicPage .panelThreat{left:50%;top:50%;width:50%;height:50%}
.comicMode:not(.story-page-0) .comicPage .panelDialogue .speechBubble:first-child{
  left:4px!important;right:auto!important;top:auto!important;bottom:4px!important;max-width:40%!important;
  border-left:0!important;border-bottom:0!important;border-radius:0 13px 0 0 / 0 8px 0 0!important
}
.comicMode:not(.story-page-0) .comicPage .panelDialogue .speechBubble:nth-child(2){
  left:auto!important;right:4px!important;top:auto!important;bottom:4px!important;max-width:40%!important;
  border-right:0!important;border-bottom:0!important;border-radius:13px 0 0 0 / 8px 0 0 0!important
}
.comicMode:not(.story-page-0) .comicPage .panelDialogue .speechBubble:first-child:before,
.comicMode:not(.story-page-0) .comicPage .panelDialogue .speechBubble:nth-child(2):before{top:-17px!important;bottom:auto!important;clip-path:polygon(50% 0,100% 100%,0 100%)!important}
.comicMode:not(.story-page-0) .comicPage .panelDialogue .speechBubble:first-child:after,
.comicMode:not(.story-page-0) .comicPage .panelDialogue .speechBubble:nth-child(2):after{top:-12px!important;bottom:auto!important;clip-path:polygon(50% 0,100% 100%,0 100%)!important}
.comicMode:not(.story-page-0) .comicPage .panelDialogue .speechBubble:first-child:before{left:18%!important;right:auto!important}.comicMode:not(.story-page-0) .comicPage .panelDialogue .speechBubble:first-child:after{left:calc(18% + 3px)!important;right:auto!important}
.comicMode:not(.story-page-0) .comicPage .panelDialogue .speechBubble:nth-child(2):before{left:auto!important;right:18%!important}.comicMode:not(.story-page-0) .comicPage .panelDialogue .speechBubble:nth-child(2):after{left:auto!important;right:calc(18% + 3px)!important}

@media(max-width:390px){
  .locationHero{height:112px!important}.locationHero .gameLogo{width:var(--sign-width)!important}
  .treasureGrid button{grid-template-columns:68px 1fr!important;min-height:108px!important}.chestArt{width:62px!important;height:55px!important}.treasureGrid button>em{grid-column:1/3!important;grid-row:3!important;text-align:center!important}
}
.comicMode.venue-1,.comicMode.venue-2,.comicMode.venue-3,.comicMode.venue-4,.comicMode.venue-5,.comicMode.venue-6,.comicMode.venue-7,.comicMode.venue-8{background-image:none!important;background-size:auto!important;background-position:center!important}.comicMode.venue-1 .comicPage,.comicMode.venue-2 .comicPage,.comicMode.venue-3 .comicPage,.comicMode.venue-4 .comicPage,.comicMode.venue-5 .comicPage,.comicMode.venue-6 .comicPage,.comicMode.venue-7 .comicPage,.comicMode.venue-8 .comicPage{background-color:#16130f!important;background-image:url('./assets/prologue-comic-page-1-v1.png')!important;background-size:100% 100%!important;background-position:center!important}.comicMode.venue-1.story-page-1 .comicPage,.comicMode.venue-2.story-page-1 .comicPage,.comicMode.venue-3.story-page-1 .comicPage,.comicMode.venue-4.story-page-1 .comicPage,.comicMode.venue-5.story-page-1 .comicPage,.comicMode.venue-6.story-page-1 .comicPage,.comicMode.venue-7.story-page-1 .comicPage,.comicMode.venue-8.story-page-1 .comicPage{background-image:url('./assets/comic-pages-2-3-v1.png')!important;background-size:200% 100%!important;background-position:left center!important}.comicMode.venue-1.story-page-2 .comicPage,.comicMode.venue-2.story-page-2 .comicPage,.comicMode.venue-3.story-page-2 .comicPage,.comicMode.venue-4.story-page-2 .comicPage,.comicMode.venue-5.story-page-2 .comicPage,.comicMode.venue-6.story-page-2 .comicPage,.comicMode.venue-7.story-page-2 .comicPage,.comicMode.venue-8.story-page-2 .comicPage{background-image:url('./assets/comic-pages-2-3-v1.png')!important;background-size:200% 100%!important;background-position:right center!important}.comicMode.venue-1.story-page-3 .comicPage,.comicMode.venue-2.story-page-3 .comicPage,.comicMode.venue-3.story-page-3 .comicPage,.comicMode.venue-4.story-page-3 .comicPage,.comicMode.venue-5.story-page-3 .comicPage,.comicMode.venue-6.story-page-3 .comicPage,.comicMode.venue-7.story-page-3 .comicPage,.comicMode.venue-8.story-page-3 .comicPage{background-image:url('./assets/comic-pages-4-5-v1.png')!important;background-size:200% 100%!important;background-position:left center!important}.comicMode.venue-1.story-page-4 .comicPage,.comicMode.venue-2.story-page-4 .comicPage,.comicMode.venue-3.story-page-4 .comicPage,.comicMode.venue-4.story-page-4 .comicPage,.comicMode.venue-5.story-page-4 .comicPage,.comicMode.venue-6.story-page-4 .comicPage,.comicMode.venue-7.story-page-4 .comicPage,.comicMode.venue-8.story-page-4 .comicPage{background-image:url('./assets/comic-pages-4-5-v1.png')!important;background-size:200% 100%!important;background-position:right center!important}
.comicMode.venue-1.story-page-1,.comicMode.venue-2.story-page-1,.comicMode.venue-3.story-page-1,.comicMode.venue-4.story-page-1,.comicMode.venue-5.story-page-1,.comicMode.venue-6.story-page-1,.comicMode.venue-7.story-page-1,.comicMode.venue-8.story-page-1{background-position:50% 0!important}.comicMode.venue-1.story-page-2,.comicMode.venue-2.story-page-2,.comicMode.venue-3.story-page-2,.comicMode.venue-4.story-page-2,.comicMode.venue-5.story-page-2,.comicMode.venue-6.story-page-2,.comicMode.venue-7.story-page-2,.comicMode.venue-8.story-page-2{background-position:100% 0!important}.comicMode.venue-1.story-page-3,.comicMode.venue-2.story-page-3,.comicMode.venue-3.story-page-3,.comicMode.venue-4.story-page-3,.comicMode.venue-5.story-page-3,.comicMode.venue-6.story-page-3,.comicMode.venue-7.story-page-3,.comicMode.venue-8.story-page-3{background-position:0 50%!important}.comicMode.venue-1.story-page-4,.comicMode.venue-2.story-page-4,.comicMode.venue-3.story-page-4,.comicMode.venue-4.story-page-4,.comicMode.venue-5.story-page-4,.comicMode.venue-6.story-page-4,.comicMode.venue-7.story-page-4,.comicMode.venue-8.story-page-4{background-position:50% 50%!important}

/* Equipment purchases read like a refined restaurant menu beneath the counter view. */
.hubModal>.furnishHeader{
  margin:12px 0 0!important;padding:10px 12px 9px!important;
  border:1px solid #b69561!important;border-bottom:0!important;border-left:1px solid #b69561!important;
  border-radius:8px 8px 0 0!important;
  background:linear-gradient(180deg,#fffaf0,#f5ead5)!important;
  box-shadow:0 6px 18px #4c2a1720!important
}
.hubModal>.furnishHeader small{color:#8b2f28!important;font-family:Georgia,serif!important;font-size:8px!important;letter-spacing:1.45px!important}
.hubModal>.furnishHeader b{font-family:Georgia,serif!important;color:#30231c!important;font-size:11px!important;font-weight:600!important}
.hubModal>.furnishHeader>i{height:4px!important;border:0!important;border-radius:0!important;background:#d9c9ac!important}.hubModal>.furnishHeader>i span{background:linear-gradient(90deg,#8e2925,#ce9f43)!important}
.hubModal>.upgradeGrid{
  grid-template-columns:1fr 1fr!important;gap:0!important;padding:5px 9px 9px!important;
  border:1px solid #b69561!important;border-top:0!important;border-radius:0 0 8px 8px!important;
  background:#fffaf0!important;box-shadow:0 7px 18px #4c2a1720!important
}
.hubModal>.upgradeGrid button{
  display:grid!important;grid-template-columns:28px 1fr!important;align-items:center!important;gap:7px!important;
  min-height:61px!important;padding:8px 6px!important;
  border:0!important;border-bottom:1px dotted #bea981!important;border-left:0!important;border-radius:0!important;
  background:transparent!important;color:#30231c!important;box-shadow:none!important;text-align:left!important
}
.hubModal>.upgradeGrid button:nth-child(odd){border-right:1px solid #e0d1b7!important;padding-right:10px!important}
.hubModal>.upgradeGrid button:nth-child(even){padding-left:10px!important}
.hubModal>.upgradeGrid button i{
  position:relative!important;width:27px!important;height:27px!important;border:1px solid #a98a59!important;border-radius:50%!important;
  background:#f4e4c7!important;box-shadow:inset 0 0 0 3px #fff9!important
}
.hubModal>.upgradeGrid button i:after{content:'✦';position:absolute;inset:0;color:#8b2f28;font:700 12px/25px Georgia,serif;text-align:center}
.hubModal>.upgradeGrid button b{display:block!important;color:#30231c!important;font-family:Georgia,serif!important;font-size:10px!important;font-weight:700!important;line-height:1.05!important}
.hubModal>.upgradeGrid button small{display:block!important;margin-top:3px!important;color:#82705f!important;font:600 7px/1.25 Arial,sans-serif!important;letter-spacing:.1px!important}
.hubModal>.upgradeGrid button.available{
  background:linear-gradient(90deg,#fff7d9,#fffaf0)!important;animation:premiumMenuReady 1.8s ease-in-out infinite!important
}
.hubModal>.upgradeGrid button.available i{border-color:#b78a2c!important;background:#f8d976!important;box-shadow:inset 0 0 0 3px #fff8,0 0 9px #e6b94a55!important}
.hubModal>.upgradeGrid button.available:before{content:'CHEF’S PICK'!important;right:5px!important;top:3px!important;padding:2px 4px!important;border:0!important;border-radius:2px!important;background:#8b2f28!important;color:#fff8e9!important;font:700 5px/1 Georgia,serif!important;letter-spacing:.7px!important}
.hubModal>.upgradeGrid button.bought{background:#f3f6eb!important}.hubModal>.upgradeGrid button.bought i{border-color:#6c8d63!important;background:#dbe8d1!important}.hubModal>.upgradeGrid button.bought i:after{content:'✓';color:#42633c!important;font-family:Arial,sans-serif!important}
.hubModal>.upgradeGrid button.bought:after{right:5px!important;top:3px!important;padding:2px 4px!important;border:0!important;border-radius:2px!important;background:#52704c!important;color:#fff!important;font:700 5px/1 Georgia,serif!important;letter-spacing:.6px!important}
.hubModal>.upgradeGrid button.locked{opacity:.68!important}.hubModal>.upgradeGrid button.locked i:after{content:'•';color:#9a8b76!important}
@keyframes premiumMenuReady{50%{background:#fff1bd!important;box-shadow:inset 3px 0 #c8993e!important}}
@media(max-width:365px){.hubModal>.upgradeGrid{grid-template-columns:1fr!important}.hubModal>.upgradeGrid button:nth-child(odd){border-right:0!important;padding-right:6px!important}.hubModal>.upgradeGrid button:nth-child(even){padding-left:6px!important}}

/* Child-friendly renovation pass: every appliance is rendered inside the same fixed cashier-view scene. */
.venueScene.counterView{
  background-size:300% 300%!important;background-repeat:no-repeat!important;background-color:#9edcff!important;
  filter:saturate(1.04) brightness(1.02)!important;animation:upgradeReveal .55s ease-out!important
}
.venueScene.counterView.venue-0{background-image:url('./assets/venue-progress-1-v1.webp')!important}
.venueScene.counterView.venue-1{background-image:url('./assets/venue-progress-2-v1.webp')!important}
.venueScene.counterView.venue-2{background-image:url('./assets/venue-progress-3-v1.webp')!important}
.venueScene.counterView.venue-3{background-image:url('./assets/venue-progress-4-v1.webp')!important}
.venueScene.counterView.venue-4{background-image:url('./assets/venue-progress-5-v1.webp')!important}
.venueScene.counterView.venue-5{background-image:url('./assets/venue-progress-6-v1.webp')!important}
.venueScene.counterView.venue-6{background-image:url('./assets/venue-progress-7-v1.webp')!important}
.venueScene.counterView.venue-7{background-image:url('./assets/venue-progress-8-v1.webp')!important}
.venueScene.counterView.venue-8{background-image:url('./assets/venue-progress-9-v1.webp')!important}
.venueScene.counterView.upgrade-state-0{background-position:0 0!important}
.venueScene.counterView.upgrade-state-1{background-position:50% 0!important}
.venueScene.counterView.upgrade-state-2{background-position:100% 0!important}
.venueScene.counterView.upgrade-state-3{background-position:0 50%!important}
.venueScene.counterView.upgrade-state-4{background-position:50% 50%!important}
.venueScene.counterView.upgrade-state-5{background-position:100% 50%!important}
.venueScene.counterView.upgrade-state-6{background-position:0 100%!important}
.venueScene.counterView.upgrade-state-7{background-position:50% 100%!important}
.venueScene.counterView.upgrade-state-8{background-position:100% 100%!important}
.venueScene.counterView .sceneFixtures{display:none!important}
.venueScene.counterView:after{background:linear-gradient(180deg,#263b4c20,transparent 22%,transparent 100%)!important}
.counterView>.storyPreview{display:none!important}
.counterView>.caseFile{left:auto!important;right:8px!important;top:8px!important;bottom:auto!important;width:36%!important;padding:6px 7px!important;border:2px solid #fff!important;border-radius:9px!important;background:#4a9edee8!important;color:#fff!important;box-shadow:0 3px 0 #2473ad!important}
.counterView>.caseFile span,.counterView>.caseFile small{color:#fff8a8!important}.counterView>.caseFile>b{font-size:7px!important}.counterView>.caseFile>i{background:#ffffff55!important}

/* Renovation menu: one large illustrated choice per row, like a cheerful kids' restaurant catalogue. */
.hubModal>.furnishHeader{
  margin-top:11px!important;padding:11px 13px 10px!important;border:3px solid #267db7!important;border-bottom:0!important;
  border-radius:16px 16px 0 0!important;background:linear-gradient(135deg,#fff06a,#ffc94d)!important;
  box-shadow:0 5px 0 #267db7!important
}
.hubModal>.furnishHeader small{color:#d73b36!important;font-family:"Trebuchet MS",Arial,sans-serif!important;font-size:10px!important;font-weight:1000!important;letter-spacing:.8px!important}
.hubModal>.furnishHeader b{color:#173f61!important;font-family:"Trebuchet MS",Arial,sans-serif!important;font-size:13px!important;font-weight:900!important}
.hubModal>.furnishHeader>i{height:7px!important;border:2px solid #267db7!important;border-radius:999px!important;background:#fff!important}.hubModal>.furnishHeader>i span{background:linear-gradient(90deg,#34c7e8,#4ed891,#ffd94e)!important}
.hubModal>.upgradeGrid{
  display:grid!important;grid-template-columns:1fr!important;gap:8px!important;max-height:292px!important;padding:11px!important;
  border:3px solid #267db7!important;border-top:0!important;border-radius:0 0 16px 16px!important;
  background:linear-gradient(180deg,#dff7ff,#bfeaff)!important;box-shadow:0 6px 0 #267db7,0 12px 25px #235b8525!important
}
.hubModal>.upgradeGrid button{
  display:grid!important;grid-template-columns:82px 1fr!important;align-items:center!important;gap:11px!important;
  min-height:82px!important;padding:8px 74px 8px 8px!important;overflow:hidden!important;
  border:3px solid #fff!important;border-radius:15px!important;background:#fff!important;color:#173f61!important;
  box-shadow:0 4px 0 #7bb9d5!important;text-align:left!important
}
.hubModal>.upgradeGrid button:nth-child(3n+2){background:#fff8cd!important;box-shadow:0 4px 0 #d6b94d!important}.hubModal>.upgradeGrid button:nth-child(3n){background:#e9ffe9!important;box-shadow:0 4px 0 #70bb78!important}
.hubModal>.upgradeGrid button:nth-child(odd),.hubModal>.upgradeGrid button:nth-child(even){padding-left:8px!important;border-right:3px solid #fff!important}
.hubModal>.upgradeGrid button i{
  display:block!important;position:relative!important;width:78px!important;height:58px!important;border:3px solid #fff!important;border-radius:12px!important;
  background-image:var(--upgrade-art)!important;background-size:300% 300%!important;background-repeat:no-repeat!important;background-color:#95dcff!important;
  box-shadow:0 2px 0 #438bb3!important
}
.hubModal>.upgradeGrid.venue-0{--upgrade-art:url('./assets/venue-progress-1-v1.webp')}.hubModal>.upgradeGrid.venue-1{--upgrade-art:url('./assets/venue-progress-2-v1.webp')}.hubModal>.upgradeGrid.venue-2{--upgrade-art:url('./assets/venue-progress-3-v1.webp')}.hubModal>.upgradeGrid.venue-3{--upgrade-art:url('./assets/venue-progress-4-v1.webp')}.hubModal>.upgradeGrid.venue-4{--upgrade-art:url('./assets/venue-progress-5-v1.webp')}.hubModal>.upgradeGrid.venue-5{--upgrade-art:url('./assets/venue-progress-6-v1.webp')}.hubModal>.upgradeGrid.venue-6{--upgrade-art:url('./assets/venue-progress-7-v1.webp')}.hubModal>.upgradeGrid.venue-7{--upgrade-art:url('./assets/venue-progress-8-v1.webp')}.hubModal>.upgradeGrid.venue-8{--upgrade-art:url('./assets/venue-progress-9-v1.webp')}
.hubModal>.upgradeGrid button:nth-child(1) i{background-position:50% 0!important}.hubModal>.upgradeGrid button:nth-child(2) i{background-position:100% 0!important}.hubModal>.upgradeGrid button:nth-child(3) i{background-position:0 50%!important}.hubModal>.upgradeGrid button:nth-child(4) i{background-position:50% 50%!important}.hubModal>.upgradeGrid button:nth-child(5) i{background-position:100% 50%!important}.hubModal>.upgradeGrid button:nth-child(6) i{background-position:0 100%!important}.hubModal>.upgradeGrid button:nth-child(7) i{background-position:50% 100%!important}.hubModal>.upgradeGrid button:nth-child(8) i{background-position:100% 100%!important}
.hubModal>.upgradeGrid button i:after{display:none!important}
.hubModal>.upgradeGrid button b{color:#173f61!important;font-family:"Trebuchet MS",Arial,sans-serif!important;font-size:15px!important;font-weight:1000!important;line-height:1.05!important;text-transform:none!important}
.hubModal>.upgradeGrid button small{margin-top:5px!important;color:#39708c!important;font:700 12px/1.25 "Trebuchet MS",Arial,sans-serif!important}
.hubModal>.upgradeGrid button.available{background:#fff1a8!important;animation:kidMenuReady 1.7s ease-in-out infinite!important}
.hubModal>.upgradeGrid button.available:before{content:'READY!'!important;right:8px!important;top:9px!important;padding:6px 8px!important;border:2px solid #fff!important;border-radius:999px!important;background:#ff5750!important;color:#fff!important;font:1000 9px/1 "Trebuchet MS",Arial,sans-serif!important;box-shadow:0 2px 0 #b72f2a!important}
.hubModal>.upgradeGrid button.bought{background:#e8ffdc!important}.hubModal>.upgradeGrid button.bought:after{content:'DONE ✓'!important;right:8px!important;top:9px!important;padding:6px 8px!important;border:2px solid #fff!important;border-radius:999px!important;background:#45c56b!important;color:#fff!important;font:1000 9px/1 "Trebuchet MS",Arial,sans-serif!important;box-shadow:0 2px 0 #258347!important}
.hubModal>.upgradeGrid button.locked{opacity:.78!important;filter:none!important}
@keyframes kidMenuReady{50%{transform:translateY(-2px);box-shadow:0 6px 0 #e0a92f,0 0 0 4px #fff4a4!important}}

/* Treasure shop belongs to the same sunny children's game, with the close button pinned safely inside. */
.treasureModal{
  position:relative!important;overflow:hidden!important;padding:22px 14px 15px!important;color:#17446b!important;
  border:4px solid #fff!important;border-radius:24px!important;
  background:linear-gradient(180deg,#8edcff 0,#c9f2ff 42%,#fff7c9 100%)!important;
  box-shadow:0 0 0 5px #287fb9,0 10px 0 #1d6599,0 25px 65px #12466e66!important
}
.treasureModal:before{background-image:radial-gradient(ellipse at 15% 15%,#fff 0 7%,transparent 7.5%),radial-gradient(ellipse at 80% 26%,#fff 0 8%,transparent 8.5%)!important;background-size:180px 80px,210px 95px!important;opacity:.65!important}
.treasureModal>small{color:#e53f3b!important;font-family:"Trebuchet MS",Arial,sans-serif!important;font-size:10px!important;font-weight:1000!important;letter-spacing:1.2px!important}
.treasureModal>h2{margin:3px 38px 5px!important;color:#17446b!important;font-family:"Trebuchet MS",Arial,sans-serif!important;font-size:27px!important;font-weight:1000!important;text-shadow:0 2px #fff!important}
.treasureModal>p{color:#39708c!important;font:700 12px/1.4 "Trebuchet MS",Arial,sans-serif!important}
.treasureModal .modalClose{position:absolute!important;z-index:20!important;left:auto!important;right:10px!important;top:10px!important;width:38px!important;height:38px!important;margin:0!important;padding:0!important;border:3px solid #fff!important;border-radius:50%!important;background:#ff5c59!important;color:#fff!important;font:1000 24px/30px Arial!important;box-shadow:0 3px 0 #b93432!important;transform:none!important}
.treasureGrid{gap:10px!important}
.treasureGrid button{
  grid-template-columns:78px 1fr auto!important;min-height:98px!important;padding:9px!important;border:3px solid #fff!important;border-radius:18px!important;
  background:#fff!important;color:#17446b!important;box-shadow:0 5px 0 #55a8d2!important
}
.treasureGrid button:nth-child(2){background:#fff4b8!important;box-shadow:0 5px 0 #e0a73a!important}.treasureGrid button.goldTreasure{background:#ffe1ef!important;border-color:#fff!important;box-shadow:0 5px 0 #dc78a5,0 0 15px #fff!important}
.treasureGrid button>b{color:#17446b!important;font-family:"Trebuchet MS",Arial,sans-serif!important;font-size:15px!important;font-weight:1000!important}.treasureGrid button>small{color:#39708c!important;font:700 11px/1.25 "Trebuchet MS",Arial,sans-serif!important}
.treasureGrid button>b i{border:0!important;border-radius:999px!important;background:#ff5c59!important;color:#fff!important;font-family:"Trebuchet MS",Arial,sans-serif!important}.treasureGrid button.goldTreasure>b i{background:#9b5de5!important;color:#fff!important}
.treasureGrid button>em,.treasureGrid button.goldTreasure>em{border:3px solid #fff!important;border-radius:999px!important;background:#39b7e6!important;color:#fff!important;box-shadow:0 3px 0 #207aa3!important;font-family:"Trebuchet MS",Arial,sans-serif!important}.treasureGrid button:nth-child(2)>em{background:#ff9f37!important;box-shadow:0 3px 0 #bd661d!important}.treasureGrid button.goldTreasure>em{background:#a966e8!important;box-shadow:0 3px 0 #7442ad!important}
.chestArt{border:3px solid #fff!important;border-radius:16px!important;background-color:#ffce54!important;box-shadow:0 3px 0 #d49528!important;filter:saturate(1.2) brightness(1.08)!important}
.marathonPass{border:3px solid #fff!important;border-radius:15px!important;background:linear-gradient(90deg,#55c8ec,#7edb8b)!important;color:#fff!important;box-shadow:0 4px 0 #2b8eaf!important}.marathonPass b{color:#fff!important;font-family:"Trebuchet MS",Arial,sans-serif!important}.marathonPass small{color:#fff9a8!important}
.treasureResult{color:#208a53!important}.purchaseModal{position:relative!important;border:4px solid #fff!important;border-radius:22px!important;background:linear-gradient(180deg,#a9e6ff,#fff5ba)!important;color:#17446b!important;box-shadow:0 0 0 5px #287fb9,0 9px 0 #1d6599!important}.purchaseModal .modalClose{position:absolute!important;right:10px!important;top:10px!important;left:auto!important}

/* The former golden burger is replaced by the same jewel language as the other universal bonuses. */
.specialToken.col,.specialToken.box,.specialToken.mega{background-position:100% 0!important}
.specialToken.row,.specialToken.bomb{background-position:0 0!important}
.specialToken{background-image:url('./assets/premium-rewards-atlas-v1.png')!important;background-blend-mode:normal!important;background-color:transparent!important;filter:drop-shadow(0 2px 0 #86502a)!important}
.cell.special-cell{background:conic-gradient(from 20deg,#ff6b6b,#ffd45c,#6de28a,#5bc9ff,#a980ff,#ff6b6b)!important;padding:4px!important}
.locationHero.venue-1 .gameLogo{left:73%!important;top:15%!important;width:26%!important;transform:translateX(-50%)!important}
.growthButton{display:flex;align-items:center;gap:10px;width:100%;margin:9px 0;padding:10px 12px;border:3px solid #fff;border-radius:16px;background:linear-gradient(90deg,#74d7f5,#8de69c);color:#17446b;box-shadow:0 4px 0 #2c91b7;text-align:left}.growthButton>span{font-size:27px}.growthButton b{display:block;font:1000 14px/1 "Trebuchet MS",Arial}.growthButton small{display:block;margin-top:3px;font:700 10px "Trebuchet MS",Arial}.growthButton em{margin-left:auto;font:1000 11px "Trebuchet MS",Arial}
.growthModal{position:relative;width:min(94vw,450px);padding:22px 14px 15px;border:4px solid #fff;border-radius:24px;background:linear-gradient(180deg,#8edcff,#fff6bf);color:#17446b;box-shadow:0 0 0 5px #287fb9,0 10px 0 #1d6599}.growthModal>small{color:#e53f3b;font:1000 10px "Trebuchet MS",Arial;letter-spacing:1px}.growthModal h2{margin:4px 40px 10px;font:1000 24px "Trebuchet MS",Arial}.growthTabs{display:flex;gap:6px;margin-bottom:10px}.growthTabs button{flex:1;padding:8px 4px;border:2px solid #fff;border-radius:999px;background:#54c9ea;color:#fff;font:1000 11px "Trebuchet MS",Arial;box-shadow:0 3px 0 #2f91b1}.growthTabs button:nth-child(2){background:#ff9f62}.growthTabs button:nth-child(3){background:#a47be8}.growthCard,.perkList article,.recipeAlbum article{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;margin:7px 0;padding:8px;border:3px solid #fff;border-radius:14px;background:#fff;box-shadow:0 3px 0 #71b8d3}.staffAvatar{font-size:27px;text-align:center}.growthCard b,.perkList b,.recipeAlbum b{display:block;font:1000 13px "Trebuchet MS",Arial}.growthCard small,.perkList small,.recipeAlbum small{display:block;color:#39708c;font:700 10px/1.25 "Trebuchet MS",Arial}.growthCard button{padding:7px;border:2px solid #fff;border-radius:999px;background:#ffca4f;color:#17446b;font:1000 9px "Trebuchet MS",Arial}.growthCard button:disabled{opacity:.5}.perkList article{grid-template-columns:1fr auto}.perkList em{padding:4px 6px;border-radius:999px;background:#ff7b75;color:#fff;font:1000 8px Arial}.perkList em.on{background:#45c56b}.recipeAlbum article{grid-template-columns:38px 1fr}.recipeIcon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#ff6f61,#ffd45c);box-shadow:inset 0 0 0 3px #fff}.recipeIcon:after{content:'🍔';display:grid;place-items:center;height:100%;font-size:20px}.recipe-strips:after{content:'🍗'}.recipe-fries:after{content:'🍟'}.recipe-drink:after{content:'🥤'}.recipe-nuggets:after{content:'🍗'}.recipe-shake:after{content:'🥤'}.recipeAlbum i{display:block;height:6px;margin-top:4px;border-radius:99px;background:#dff0f5;overflow:hidden}.recipeAlbum i em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#58c8ef,#6dd68b)}.lunchRushCard{width:100%;margin-top:10px;padding:10px;border:3px solid #fff;border-radius:15px;background:linear-gradient(90deg,#ff8f65,#ffd15a);color:#fff;text-align:left;box-shadow:0 4px 0 #c96c35}.lunchRushCard b,.lunchRushCard small,.lunchRushCard em{display:block}.lunchRushCard b{font:1000 13px "Trebuchet MS",Arial}.lunchRushCard small{margin:3px 0;font:700 10px "Trebuchet MS",Arial}.lunchRushCard em{font:1000 10px "Trebuchet MS",Arial}
.comicMode.venue-1 .comicPanel:before,.comicMode.venue-2 .comicPanel:before,.comicMode.venue-3 .comicPanel:before,.comicMode.venue-4 .comicPanel:before,.comicMode.venue-5 .comicPanel:before,.comicMode.venue-6 .comicPanel:before,.comicMode.venue-7 .comicPanel:before,.comicMode.venue-8 .comicPanel:before{display:none!important}.comicMode.venue-1 .comicPage,.comicMode.venue-2 .comicPage,.comicMode.venue-3 .comicPage,.comicMode.venue-4 .comicPage,.comicMode.venue-5 .comicPage,.comicMode.venue-6 .comicPage,.comicMode.venue-7 .comicPage,.comicMode.venue-8 .comicPage{background-image:none!important;background:transparent!important}.comicMode.venue-1{background-image:url('./assets/venue-progress-2-v1.webp')!important;background-size:300% 300%!important;background-position:0 0!important}.comicMode.venue-2{background-image:url('./assets/venue-progress-3-v1.webp')!important;background-size:300% 300%!important}.comicMode.venue-3{background-image:url('./assets/venue-progress-4-v1.webp')!important;background-size:300% 300%!important}.comicMode.venue-4{background-image:url('./assets/venue-progress-5-v1.webp')!important;background-size:300% 300%!important}.comicMode.venue-5{background-image:url('./assets/venue-progress-6-v1.webp')!important;background-size:300% 300%!important}.comicMode.venue-6{background-image:url('./assets/venue-progress-7-v1.webp')!important;background-size:300% 300%!important}.comicMode.venue-7{background-image:url('./assets/venue-progress-8-v1.webp')!important;background-size:300% 300%!important}.comicMode.venue-8{background-image:url('./assets/venue-progress-9-v1.webp')!important;background-size:300% 300%!important}

@media(max-width:390px){
  .hubModal>.upgradeGrid{max-height:270px!important}.hubModal>.upgradeGrid button{grid-template-columns:70px 1fr!important;min-height:76px!important;padding-right:66px!important}.hubModal>.upgradeGrid button i{width:66px!important;height:50px!important}.hubModal>.upgradeGrid button b{font-size:14px!important}.hubModal>.upgradeGrid button small{font-size:11px!important}
  .treasureModal{padding:20px 10px 12px!important}.treasureGrid button{grid-template-columns:66px 1fr!important;min-height:118px!important}.treasureGrid button>em{grid-column:1/3!important;grid-row:3!important;text-align:center!important}.chestArt{width:62px!important;height:55px!important}
}
.hubModal>.upgradeGrid button i{background-image:var(--upgrade-art)!important;background-size:300% 300%!important;background-repeat:no-repeat!important;background-color:#b8e9ff!important}
