.game{max-width:860px;margin:0 auto}.topbar{flex-wrap:wrap;align-items:center;gap:12px;max-width:920px;margin:0 auto;padding:14px 16px 4px;display:flex}.steps{background:var(--parchment);box-shadow:var(--shadow-soft);border-radius:999px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.steps-lbl{font-family:var(--font-display);color:var(--cocoa-soft);padding:0 4px;font-size:.95rem;font-weight:700}.stepbtn{font-family:var(--font-display);color:var(--cocoa-soft);cursor:pointer;-webkit-tap-highlight-color:transparent;min-width:48px;min-height:44px;transition:transform .1s var(--ease-bounce);background:0 0;border:none;border-radius:999px;padding:9px 15px;font-size:1.02rem;font-weight:700}.stepbtn.is-on{background:var(--frosting);color:#fff;box-shadow:0 3px 0 var(--frosting-deep)}.stepbtn:active{transform:translateY(2px)}.stars{font-family:var(--font-display);align-items:center;gap:6px;font-size:1.3rem;font-weight:700;display:flex}.mute{width:48px;height:48px;min-height:48px;margin-left:auto;padding:0;font-size:1.25rem}@media (width<=640px){.stepbtn{padding:9px 12px;font-size:.96rem}.steps-lbl{display:none}}.pip-row{align-items:center;gap:12px;margin:0;display:flex}.pip-row .pip{flex:none;width:84px;height:84px}.pip-bubble.pip-bubble{align-items:center;min-height:56px;font-size:1.15rem;display:flex}.pip-bubble.good{background:#eafaf2}.pip-bubble.wow{background:#fff4e0}.rack-stage{background:var(--parchment);border-radius:var(--r-lg);box-shadow:var(--shadow-soft);border-bottom:7px solid var(--wood);padding:18px 14px 14px;position:relative;overflow-x:auto}.rack{justify-content:center;align-items:flex-end;gap:2px;min-width:min-content;padding-bottom:4px;display:flex}.cell{flex-direction:column;flex:none;align-items:center;gap:8px;display:flex}.treat{font-size:clamp(2rem,9vw,2.9rem);line-height:1}.plate{font-family:var(--font-display);color:var(--cocoa);text-align:center;background:#fff;border-radius:14px;min-width:clamp(46px,13vw,64px);padding:7px 8px;font-size:clamp(1.2rem,6vw,1.7rem);font-weight:700;box-shadow:0 4px #4a2e1829}.cell.gap .treat{opacity:.35;filter:grayscale(.5)}.cell.gap .plate{color:var(--frosting-deep);box-shadow:0 4px 0 var(--frosting-deep);background:#fbd9e4;animation:1.1s ease-in-out infinite gap-pulse}@keyframes gap-pulse{0%,to{box-shadow:0 4px 0 var(--frosting-deep);transform:translateY(0)}50%{box-shadow:0 7px 0 var(--frosting-deep);transform:translateY(-3px)}}.cell.frost-in .treat{animation:treat-pop .45s var(--ease-bounce) both}.cell.frost-in .plate{animation:frost-in .45s var(--ease-bounce) both;background:var(--leaf);color:#fff;box-shadow:0 4px #4ca383}@keyframes frost-in{0%{opacity:0;transform:scale(.4)rotate(-8deg)}to{opacity:1;transform:none}}@keyframes treat-pop{0%{transform:scale(.5)}60%{transform:scale(1.15)}to{transform:scale(1)}}.hop{flex:none;justify-content:center;align-self:flex-end;align-items:flex-end;width:clamp(20px,5vw,34px);height:26px;margin-bottom:16px;display:flex;position:relative}.hop:before{content:"";border:2.5px solid var(--ones-gold-deep);opacity:.55;border-bottom:none;border-radius:50% 50% 0 0/100% 100% 0 0;height:14px;position:absolute;top:2px;left:1px;right:1px}.hop span{font-family:var(--font-display);color:var(--ones-gold-deep);background:var(--parchment);z-index:1;padding:0 2px;font-size:.8rem;font-weight:700;line-height:1;position:relative}.inputmode{margin:0 auto}.choices{flex-wrap:wrap;justify-content:center;gap:14px;max-width:640px;margin:0 auto;display:flex}.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:96px;min-height:76px;transition:transform .12s var(--ease-bounce);background:#fff;padding:12px 22px;font-size:2rem;font-weight:700;box-shadow:0 6px #4a2e1829}.choice:hover{transform:translateY(-2px)}.choice:active{transform:translateY(3px)}.choice:disabled{cursor:default;opacity:.55}.choice.is-right{background:var(--leaf);color:#fff;opacity:1;animation:treat-pop .4s var(--ease-bounce);border-bottom-color:#4ca383}.choice.wobble{animation:.5s choice-wobble}@keyframes choice-wobble{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.pad{justify-content:center;margin:0;display:flex}.cell.gap.typing .plate{animation:none;transform:none}.hint{text-align:center;color:var(--cocoa-soft);margin:0 auto;font-size:1.02rem;font-weight:700}.celebrate-card{max-width:440px}.celebrate-card h2{font-size:2.1rem}.celebrate-card p{font-size:1.18rem}
