/* Local-only fridge handle and its tiny hidden game. */
.connected-root[data-room="fridge"] .fridge-appliance:has(>.fridge-arcade-handle)::after{display:none}
.connected-root[data-room="fridge"] .fridge-arcade-handle{position:absolute;z-index:3;left:2px;top:148px;width:44px;min-width:44px;height:140px;min-height:44px;margin:0;padding:0;border:0;border-radius:12px;background:transparent url('fridge-handle.svg') center/28px 140px no-repeat;box-shadow:none;cursor:pointer;touch-action:manipulation}
.connected-root[data-room="fridge"] .fridge-arcade-handle:focus-visible{outline:3px solid #573064;outline-offset:2px;background-color:#ffffff45}
.fridge-arcade{--arcade-ink:#4d315c;position:fixed;inset:0;width:100vw;width:100dvw;height:100%;height:100dvh;max-width:none;max-height:none;padding:14px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));margin:0;border:0;box-sizing:border-box;background:#eee4f5;color:var(--arcade-ink);overflow:auto;overscroll-behavior:contain;z-index:10000;font-family:var(--fridge-display,ui-rounded,system-ui,sans-serif)}
.fridge-arcade::backdrop{background:#362341b3}
.fridge-arcade[open]{display:flex;align-items:center;justify-content:center}
.fridge-arcade-shell{width:100%;max-width:420px;min-height:0;margin:auto}
.fridge-arcade-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}
.fridge-arcade-eyebrow{display:block;font-size:10px;letter-spacing:.16em;font-weight:800;color:#79588b}
.fridge-arcade h2{margin:3px 0 0;font-size:25px;line-height:1.1;font-weight:850;letter-spacing:-.025em}
.fridge-arcade button{appearance:none;min-height:44px;min-width:44px;border:1px solid #b79bc3;border-radius:13px;font:inherit;font-size:14px;font-weight:750;line-height:1.2;background:#fff7e8;color:var(--arcade-ink);padding:10px 18px;cursor:pointer;touch-action:manipulation}
.fridge-arcade button:focus-visible,.fridge-arcade-board:focus-visible{outline:3px solid #61427a;outline-offset:3px}
.fridge-arcade button:disabled{opacity:.48;cursor:default}
.fridge-arcade .fridge-arcade-close{padding:10px 12px;background:#ffffffa6;font-size:13px}
.fridge-arcade-close span{font-size:20px;line-height:12px;margin-left:7px;vertical-align:-1px}
.fridge-arcade-stage{position:relative;isolation:isolate;perspective:1000px;width:min(100%,calc((100dvh - 254px)*.81818));min-width:164px;margin:0 auto;aspect-ratio:9/11;border-radius:20px;box-shadow:0 7px 0 #c0a5cb,0 12px 26px #5533681f}
.fridge-arcade-board{display:block;width:100%;height:100%;border-radius:20px;touch-action:none;user-select:none;-webkit-user-select:none}
.fridge-arcade-board-bg{fill:#fff8e9;stroke:#dbc8de;stroke-width:2}
.fridge-arcade-brick{stroke:#ffffff8c;stroke-width:1}
.fridge-arcade-brick.row-0{fill:#ad79b8}.fridge-arcade-brick.row-1{fill:#e6a493}.fridge-arcade-brick.row-2{fill:#e5c776}
.fridge-arcade-paddle{fill:#745086;stroke:#553667;stroke-width:1}
.fridge-arcade-ball{fill:#594266;stroke:#fff8e9;stroke-width:1}
.fridge-arcade-curtain{position:absolute;inset:35% 10% auto;text-align:center;padding:16px 10px;border-radius:14px;background:#fff8e9ec;color:#614576;font-size:clamp(19px,6vw,29px);font-weight:850;pointer-events:none}
.fridge-arcade-curtain[hidden]{display:none}
.fridge-arcade-door{position:absolute;inset:0;border-radius:20px;background:#ba97cf url('fridge-enamel.svg') center/100% 100% no-repeat;transform-origin:100% 50%;pointer-events:none;animation:fridge-arcade-open .55s cubic-bezier(.3,.1,.2,1) both;backface-visibility:hidden}
.fridge-arcade-door span{position:absolute;left:9%;top:35%;width:8%;height:32%;background:url('fridge-handle.svg') center/contain no-repeat}
@keyframes fridge-arcade-open{0%{transform:rotateY(0);opacity:1}80%{opacity:1}100%{transform:rotateY(100deg);opacity:0}}
.fridge-arcade-footer{text-align:center;margin-top:13px}
.fridge-arcade-status{min-height:20px;margin:0 0 10px;font-size:14px;line-height:1.4;font-weight:650}
.fridge-arcade-controls{display:flex;justify-content:center;gap:9px}
.fridge-arcade-controls button:first-child{min-width:103px;background:#745086;color:#fffaf1;border-color:#69457c;box-shadow:0 3px 0 #543463}
.fridge-arcade-footer #fridge-arcade-help{max-width:330px;margin:12px auto 0;font-size:12px;line-height:1.5;color:#71527e}
@media(max-width:600px){.connected-root[data-room="fridge"] .fridge-arcade-handle{left:-3px;top:140px;height:133px;background-size:25px 133px}}
@media(max-height:490px) and (min-width:520px){.fridge-arcade-shell{max-width:660px;display:grid;grid-template-columns:minmax(165px,1fr) minmax(210px,1fr);column-gap:22px;align-items:center}.fridge-arcade-header{grid-column:2;grid-row:1;align-self:end}.fridge-arcade-stage{grid-column:1;grid-row:1 / span 2;width:min(100%,calc((100dvh - 30px)*.81818))}.fridge-arcade-footer{grid-column:2;grid-row:2;align-self:start}}
@media(prefers-reduced-motion:reduce){.fridge-arcade-door{display:none;animation:none}}
@media(forced-colors:active){.fridge-arcade{background:Canvas;color:CanvasText}.fridge-arcade-door{display:none}.fridge-arcade-board-bg{fill:Canvas;stroke:CanvasText}.fridge-arcade-brick,.fridge-arcade-paddle,.fridge-arcade-ball{fill:CanvasText;stroke:Canvas}.fridge-arcade-curtain{background:Canvas;color:CanvasText}.connected-root[data-room="fridge"] .fridge-arcade-handle{border:2px solid ButtonText;background:ButtonFace}.connected-root[data-room="fridge"] .fridge-arcade-handle::before{content:"↔";color:ButtonText}.fridge-arcade button{border:1px solid ButtonText}}
