*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:#efd8b2;font-family:system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img,svg{user-select:none;-webkit-user-select:none}#game{position:relative;width:100%;height:100dvh;overflow:hidden;isolation:isolate}.tabletop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;pointer-events:none}.background,.scenery-prop{position:absolute;inset:0;z-index:-2;pointer-events:none}.background img,.scenery-prop img{width:100%;height:100%;object-fit:contain;display:block}.corner-button{position:absolute;z-index:20;cursor:pointer;display:block}.workspace{position:absolute;inset:0}.workspace.leaving{pointer-events:none}#scene{position:absolute}#slots,#pieces{position:absolute;inset:0;pointer-events:none}.fruit,.piece{position:absolute;border:0;background:none;padding:0;touch-action:none;pointer-events:auto;cursor:pointer}.fruit>svg,.piece>svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.fruit{cursor:default}.piece{z-index:3;filter:drop-shadow(2px 5px 3px #6a371b38);transition:filter 160ms}.piece.selected{filter:drop-shadow(0 0 5px #fff5c6) brightness(1.08);z-index:5}.piece.dragging{z-index:30;filter:drop-shadow(4px 9px 5px #6a371b60);cursor:grabbing}.piece.returning{z-index:25;transition:left 240ms ease,top 240ms ease}.piece[hidden]{display:none}.fruit:focus-visible,.piece:focus-visible{outline:3px solid #9159cf;outline-offset:4px;border-radius:16px}.target-shape{fill:#f0ddc3;fill-opacity:.5;stroke:#ac8b61;stroke-width:2.5;stroke-dasharray:8 7;vector-effect:non-scaling-stroke}.fruit.drop-over .target-shape{stroke:#f6be37;stroke-width:3.5;fill:#fff1c9;fill-opacity:.8;filter:drop-shadow(0 0 5px #fff5c6);stroke-dasharray:none}.fruit.drop-over .target-art{filter:brightness(1.12)}.fit-feedback{pointer-events:none}.ma-match-glint{transform-box:fill-box;transform-origin:center}.celebration-screen{position:absolute;inset:0;z-index:15;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate}.celebration-screen[hidden]{display:none}.celebration-content{position:relative;min-height:0}.mascots{position:relative;z-index:1;min-height:0;pointer-events:none}.finish-actions{position:relative;z-index:2;display:flex;flex-direction:column;flex:none}.finish-button{position:relative;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}/* Keep narrow halves easy to touch without scaling their approved texture. */.piece::before{content:'';position:absolute;left:50%;top:0;transform:translateX(-50%);width:max(100%,44px);height:max(100%,44px);pointer-events:auto}/* Page ownership: used by the shared session readiness gate. */#game{--ma-game-style:fruit-halves}/* Generated verbatim from approved keyframes. Run sync-shared-motion.cjs; do not edit. */@keyframes kitchen-glint{0%,100%{opacity:0}40%{opacity:.9}}@keyframes kitchen-soft-shine{0%,100%{opacity:0}40%{opacity:.38}}@keyframes kitchen-completion-glow{0%,100%{filter:brightness(1) drop-shadow(0 0 0 #FFF3B000)}45%{filter:brightness(1.12) drop-shadow(0 0 12px #FFF3B099)}}@keyframes kitchen-completion-out{from{opacity:1}to{opacity:0}}@keyframes kitchen-finale-in{from{opacity:0}to{opacity:1}
