.game{max-width:840px;margin:0 auto}.topbar{align-items:center;gap:14px;max-width:880px;margin:0 auto;padding:14px 16px 4px;display:flex}.topbar .progress{background:var(--parchment);box-shadow:var(--shadow-soft);border-radius:999px;flex:1;justify-content:center;align-items:center;gap:16px;padding:8px 18px;display:flex}.level-pill{font-family:var(--font-display);color:#fff;background:var(--hundreds-berry);box-shadow:0 3px 0 var(--hundreds-berry-deep);border-radius:999px;padding:6px 16px;font-weight:700}.goal-dots{gap:7px;display:flex}.goal-dots .dot{background:var(--cream-deep);width:15px;height:15px;transition:transform .2s var(--ease-bounce);border-radius:50%;box-shadow:inset 0 0 0 2px #7a563840}.goal-dots .dot.done{background:var(--leaf);transform:scale(1.12);box-shadow:0 2px #3f9b73}.stars{font-family:var(--font-display);color:var(--cocoa);align-items:center;gap:6px;font-size:1.3rem;font-weight:700;display:flex}.mute{width:48px;height:48px;min-height:48px;padding:0;font-size:1.25rem}@media (width<=620px){.topbar .progress{gap:10px;padding:8px 12px}}.pip-row{align-items:center;gap:14px;margin:0;display:flex}.pip-row .pip{width:92px;height:92px}.pip-bubble.pip-bubble{align-items:center;min-height:60px;font-size:1.25rem;display:flex}.pip-bubble.good{background:#eafaf2}.pip-bubble.oops{background:#fff0ec}.ticket{max-width:480px;padding:16px 22px 18px}.ticket-label{margin-bottom:8px}.order{font-family:var(--font-display);color:var(--cocoa)}.recognise-target{justify-content:center;display:flex}.rt-word{color:var(--frosting-deep);letter-spacing:1px;font-size:2.4rem;font-weight:700}.order-line{font-size:1.5rem;font-weight:700}.order-qty{color:var(--cocoa-soft)}.order-price{color:var(--ones-gold-deep);margin-left:6px}.bill{flex-direction:column;gap:4px;max-width:320px;margin:0 auto;display:flex}.bill-row,.bill-total{color:var(--cocoa);justify-content:space-between;gap:18px;font-size:1.3rem;font-weight:700;display:flex}.bill-row span:first-child,.bill-total span:first-child{text-transform:capitalize}.bill-price{color:var(--ones-gold-deep)}.bill-total{border-top:4px dashed var(--cream-deep);margin-top:6px;padding-top:6px;font-size:1.5rem}.bill-total .bill-price{color:var(--frosting-deep)}.change-line{color:var(--cocoa);justify-content:space-between;gap:18px;padding:2px 0;font-size:1.25rem;font-weight:700;display:flex}.cl-label{color:var(--cocoa-soft)}.cl-note{color:var(--thousands-blue-deep)}.cl-change{border-top:4px dashed var(--cream-deep);margin-top:4px;padding-top:6px}.cl-change .cl-val{color:var(--frosting-deep)}.mat{--col-gap:12px;gap:var(--col-gap);grid-template-columns:1fr 1fr;max-width:620px;margin:0 auto;padding:16px 16px 18px;display:grid}.mat.mat-wobble{animation:.5s mat-wobble}@keyframes mat-wobble{0%,to{transform:translate(0)}20%{transform:translate(-7px)rotate(-.6deg)}40%{transform:translate(7px)rotate(.6deg)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.col-head{text-align:center;font-family:var(--font-display);color:#fff;border-radius:12px 12px 0 0;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:1.15rem;font-weight:700;display:flex}.col-head.dollars{background:var(--tens-mint)}.col-head.cents{background:var(--ones-gold)}.till-col{background:#ffffff8c;border-radius:12px;flex-wrap:wrap;place-content:flex-start center;gap:8px;min-height:130px;padding:10px;display:flex;position:relative;box-shadow:inset 0 0 0 2px #ffffff80}.till-col.dollars{background:#4fbf9629}.till-col.cents{background:#e3a13c29}.till-col:empty:after{content:"";border:3px dashed #7a56382e;border-radius:10px;position:absolute;inset:12px}.till-total{text-align:center;min-height:32px;font-family:var(--font-display);color:var(--cocoa);grid-column:1/-1;margin-top:4px;font-size:1.5rem}.till-total-label{color:var(--cocoa-soft);font-size:1.1rem}.till-total strong{color:var(--frosting-deep)}.money{font-family:var(--font-display);color:var(--cocoa);-webkit-user-select:none;user-select:none;animation:coin-pop .32s var(--ease-bounce) both;border:none;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative}@keyframes coin-pop{0%{transform:scale(0)rotate(-25deg)}to{transform:scale(1)rotate(0)}}.coin{border-radius:50%;width:58px;height:58px;font-size:1.1rem;box-shadow:0 4px #4a2e1840,inset 0 0 0 4px #ffffff59}.coin .money-face{border-radius:50%;justify-content:center;align-items:center;width:78%;height:78%;display:flex;box-shadow:inset 0 0 0 2px #ffffff80}.coin.tone-silver{background:radial-gradient(circle at 35% 30%,#f4f6f8,#c2cbd2 70%,#9aa6ae)}.coin.tone-gold{background:radial-gradient(circle at 35% 30%, #ffe6a3, var(--ones-gold) 70%, var(--ones-gold-deep))}.coin.tone-gold-sm{background:radial-gradient(circle at 35% 30%, #ffe6a3, var(--ones-gold) 70%, var(--ones-gold-deep));width:50px;height:50px;font-size:1rem}.note{color:#fff;border-radius:9px;width:96px;height:52px;font-size:1.2rem;box-shadow:0 4px #4a2e1838,inset 0 0 0 3px #fff6}.note .money-face{text-shadow:0 1px 2px #00000040;border-radius:6px;justify-content:center;align-items:center;width:86%;height:70%;display:flex;box-shadow:inset 0 0 0 2px #ffffff73}.note.tone-pink{background:linear-gradient(160deg, #f4a8c2, var(--frosting-deep))}.note.tone-blue{background:linear-gradient(160deg, #74b3da, var(--thousands-blue-deep))}.note.tone-red{background:linear-gradient(160deg, #f08a6e, var(--cherry))}.note.tone-gold-n{background:linear-gradient(160deg, #f0c060, var(--ones-gold-deep));color:var(--cocoa)}.note.tone-gold-n .money-face{text-shadow:none}.money.landing{animation:piece-land .5s var(--ease-bounce) both}@keyframes piece-land{0%{opacity:0;transform:translateY(-80px)scale(.4)}to{opacity:1;transform:translateY(0)scale(1)}}.actionbar{flex-direction:column;align-items:center;gap:18px;margin:0;display:flex}.money-tray{background:var(--parchment);border-radius:var(--r-md);max-width:620px;box-shadow:var(--shadow-soft);flex-wrap:wrap;justify-content:center;gap:14px;padding:16px 18px;display:flex}.money-tray .money{cursor:pointer;transition:transform .12s var(--ease-bounce)}.money-tray .coin{min-width:58px;min-height:58px}.money-tray .money:hover{transform:translateY(-5px)rotate(-2deg)}.money-tray .money:active{transform:translateY(2px)}.money-tray .money[disabled]{opacity:.45;pointer-events:none}.money.wrong{box-shadow:0 0 0 4px var(--cherry), 0 4px 0 #4a2e1833;animation:.5s piece-wobble}@keyframes piece-wobble{0%,to{transform:translate(0)}20%{transform:translate(-9px)rotate(-4deg)}40%{transform:translate(9px)rotate(4deg)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.money.right{box-shadow:0 0 0 4px var(--leaf), 0 4px 0 #4a2e1833;animation:coin-pop .4s var(--ease-bounce)}.sumstep{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.sum-choices{flex-wrap:wrap;justify-content:center;gap:14px;max-width:560px;display:flex}.sum-choice{font-family:var(--font-display);color:var(--cocoa);border-radius:var(--r-md);cursor:pointer;border:none;border-bottom:6px solid var(--frosting);-webkit-tap-highlight-color:transparent;min-width:132px;min-height:72px;transition:transform .12s var(--ease-bounce);background:#fff;padding:12px 22px;font-size:1.5rem;font-weight:700;box-shadow:0 6px #4a2e1829}.sum-choice:hover{transform:translateY(-2px)}.sum-choice:active{transform:translateY(3px)}.sum-choice.right{background:var(--leaf);color:#fff;animation:coin-pop .4s var(--ease-bounce);border-bottom-color:#4ca383}.sum-choice.wobble{animation:.5s sum-wobble}@keyframes sum-wobble{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.sum-pad{flex-direction:column;align-items:center;gap:14px;display:flex}.sum-display{font-family:var(--font-display);color:var(--frosting-deep);border-radius:var(--r-md);min-width:200px;min-height:60px;box-shadow:inset 0 0 0 3px var(--cream-deep);background:#fff;justify-content:center;align-items:center;padding:8px 26px;font-size:2rem;font-weight:700;display:flex}@media (width<=540px){.rt-word{font-size:2rem}.order-line{font-size:1.3rem}.coin{width:52px;height:52px;font-size:1rem}.coin.tone-gold-sm{width:46px;height:46px}.note{width:84px;height:48px;font-size:1.05rem}.till-col{min-height:110px}}@media (height<=860px){.pip-bubble.pip-bubble{min-height:0;font-size:1.05rem}.ticket{padding:10px 18px 12px}.ticket-label{margin-bottom:4px}.order-line{font-size:1.3rem}.bill-row,.bill-total,.bill-total{font-size:1.15rem}.bill-total{font-size:1.3rem}.change-line{font-size:1.1rem}.till-col{min-height:96px;padding:8px}.col-head{padding:6px;font-size:1.02rem}.till-total{min-height:26px;font-size:1.25rem}.actionbar{gap:12px}.sumstep{gap:10px}.sum-display{min-height:48px;padding:6px 22px;font-size:1.6rem}.sum-choice{min-height:60px;padding:8px 18px;font-size:1.3rem}.game:has(#sumStep:not([hidden])) .till-col{min-height:78px}.game:has(#sumStep:not([hidden])) .ticket{padding:8px 16px 10px}.sum-pad{gap:8px}#sumKeysMount .keys{gap:6px}#sumKeysMount .key{min-height:clamp(42px,6vh,60px);font-size:1.5rem}.game:has(#sumPad:not([hidden])) .sum-display{min-height:38px;padding:4px 20px;font-size:1.35rem}.game:has(#sumPad:not([hidden])) .game-stage{display:none}}
