.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}.modes{background:var(--parchment);box-shadow:var(--shadow-soft);border-radius:999px;gap:6px;padding:6px;display:flex}.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){.modebtn{padding:9px 11px;font-size:.92rem}}.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}.bakery-page.is-game .board.game-stage{flex-flow:wrap;justify-content:center;align-items:center;gap:clamp(14px,4vw,34px);margin:0}.wheel-stage{flex:0 auto;justify-content:center;align-items:center;min-height:0;display:flex}.panel{flex-direction:column;flex:260px;gap:10px;min-width:240px;max-width:360px;display:flex}#wheel{filter:drop-shadow(0 12px 22px #4a2e1833);touch-action:manipulation;width:min(clamp(240px,70vw,420px),58vh);height:auto}.seg{fill:var(--tint,#eee);stroke:#fffdf7;stroke-width:2.5px;stroke-linejoin:round;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:fill .16s ease, transform .14s var(--ease-bounce), filter .16s ease;transform-box:fill-box;transform-origin:50%}.seg:hover{filter:brightness(.96)}.seg.empty{fill:#f3e7cf}.seg.is-sel{filter:brightness(1.04)saturate(1.2)}.seg.is-sel,.seg:focus-visible{stroke:var(--cocoa);stroke-width:3.5px;outline:none}.seg.is-next{stroke:var(--frosting-deep);stroke-width:4px;animation:1.1s ease-in-out infinite next-pulse}@keyframes next-pulse{0%,to{fill:#f3e7cf}50%{fill:#fbd9e4}}.seg.plop{animation:seg-plop .34s var(--ease-bounce)}@keyframes seg-plop{0%{transform:scale(.8)}60%{transform:scale(1.05)}to{transform:scale(1)}}.seg.wobble{animation:.5s seg-wobble}@keyframes seg-wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-2.5deg)}50%{transform:rotate(2deg)}75%{transform:rotate(-1.2deg)}}.seg-lbl{fill:var(--cocoa);font-family:var(--font-display);text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:700}.ring-arc{stroke:#fffdf7;stroke-width:3px;stroke-linejoin:round;transition:filter .15s}#wheel.sorting .ring-arc{cursor:pointer}#wheel.sorting .ring-arc:hover{filter:brightness(1.08)saturate(1.15)}.ring-emo{text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:21px}.pin{text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none;animation:pin-drop .4s var(--ease-bounce) both;font-size:19px}@keyframes pin-drop{0%{opacity:0;transform:translateY(-8px)scale(.4)}to{opacity:1;transform:none}}.c-emoji{text-anchor:middle;font-size:24px}.c-top{fill:var(--cocoa);font-family:var(--font-display);text-anchor:middle;font-size:15px;font-weight:700}.c-sub{fill:var(--cocoa-soft);font-family:var(--font-display);text-anchor:middle;font-size:11px;font-weight:600}.legend{flex-direction:column;gap:8px;display:flex}.legend-chip{background:var(--parchment);border-radius:var(--r-md);box-shadow:var(--shadow-soft);border-left:7px solid var(--c);align-items:center;gap:12px;padding:9px 14px;display:flex}.legend-dot{background:var(--c);border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.15rem;display:flex;box-shadow:inset 0 -2px 4px #0000001f}.legend-txt{flex-direction:column;line-height:1.15;display:flex}.legend-txt b{font-family:var(--font-display);color:var(--cocoa);font-size:1.1rem}.legend-txt small{color:var(--cocoa-soft);font-size:.9rem;font-weight:700}.tray{flex-wrap:wrap;align-content:flex-start;gap:8px;width:100%;display:flex}.tile{font-family:var(--font-display);color:var(--cocoa);border-radius:var(--r-md);cursor:pointer;border:none;border-bottom:4px solid var(--c);-webkit-tap-highlight-color:transparent;min-height:48px;transition:transform .12s var(--ease-bounce);background:#fff;flex:0 0 calc(50% - 4px);padding:10px 8px;font-size:1rem;font-weight:700;box-shadow:0 4px #4a2e1824}.tile:active{transform:translateY(3px)}.tile.wobble{animation:.5s tile-wobble}@keyframes tile-wobble{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.sortcard{background:var(--parchment);border-radius:var(--r-lg);box-shadow:var(--shadow-lift);border-bottom:8px solid var(--frosting);flex-direction:column;align-items:center;gap:6px;padding:22px 18px;display:flex}.sortcard__emoji{font-size:4rem;line-height:1}.sortcard__label{font-family:var(--font-display);color:var(--cocoa);text-align:center;font-size:1.6rem;font-weight:700}.sortcard.pop{animation:card-pop .4s var(--ease-bounce)}@keyframes card-pop{0%{opacity:0;transform:scale(.7)rotate(-3deg)}to{opacity:1;transform:none}}.sortcard.wobble{animation:.5s seg-wobble}.bday-picker{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.bday-btn{font-family:var(--font-display);color:var(--cocoa);border-radius:var(--r-md);cursor:pointer;border:none;border-bottom:4px solid var(--c);-webkit-tap-highlight-color:transparent;min-height:50px;transition:transform .12s var(--ease-bounce);background:#fff;padding:12px 4px;font-size:1rem;font-weight:700;box-shadow:0 4px #4a2e1824}.bday-btn:active{transform:translateY(3px)}.bday-info{flex-direction:column;gap:8px;display:flex}.bi-row{background:var(--parchment);border-radius:var(--r-md);box-shadow:var(--shadow-soft);align-items:center;gap:12px;padding:10px 14px;display:flex}.bi-emoji{flex:none;font-size:1.8rem}.bi-row b{font-family:var(--font-display);color:var(--cocoa);font-size:1.05rem;display:block}.bi-row small{color:var(--cocoa-soft);font-size:.9rem;font-weight:700}.hint{text-align:center;color:var(--cocoa-soft);margin:0 auto;font-size:1.02rem;font-weight:700}.actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:0;display:flex}.celebrate-card{max-width:440px}.celebrate-card h2{font-size:2.1rem}.celebrate-card p{font-size:1.18rem}@media (width<=760px){.panel{flex-basis:280px;max-width:420px}}
