*{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}.fragment,.piece{position:absolute;border:0;background:none;padding:0;touch-action:none;pointer-events:auto;cursor:pointer}.fragment>svg,.piece>svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.fragment{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}.fragment: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}.fragment.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}.fragment.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 fragments easy to touch without scaling their texture. */.piece::before{content:'';position:absolute;left:50%;top:0;transform:translateX(-50%);width:max(100%,44px);height:max(100%,44px);pointer-events:auto}.background{inset:0;z-index:-2}.background img{width:100%;height:100%;object-fit:cover}#letter-sheet{position:absolute;overflow:visible;filter:drop-shadow(2px 5px 3px #643f2870)}.fragment{z-index:2}.target-shape{fill:transparent;stroke:transparent;stroke-dasharray:none}.fragment.drop-over .target-shape{fill:#fff3b8;fill-opacity:.28;stroke:#e7aa36;stroke-width:2.5}.piece{filter:drop-shadow(1px 2px 0px #e7d1ad) drop-shadow(2px 5px 3px #643f2870)}#letter-model{position:absolute;z-index:10;pointer-events:none;overflow:visible;filter:drop-shadow(2px 5px 3px #643f2870)}#game[data-state="intro"] .piece{filter:none}/* Page ownership: used by the shared session readiness gate. */#game{--ma-game-style:torn-letter}/* P-LETTERGLOW01: assembled picture owns the shared completion glow. */#game.is-brand-complete #letter-sheet{animation:kitchen-completion-glow 850ms ease-in-out!important}/* 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}
