/* 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}}
/* Fridge Break: warm brushed silver, inset cream enamel, glossy game pieces. */
.fridge-arcade{--arcade-ink:#59405d;background:radial-gradient(ellipse at 5% 10%,#e7d5ad99,transparent 36%),linear-gradient(120deg,#c1b8af,#eee7dd 36%,#aaa29e 75%,#d1c7bc);padding:max(18px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));color:#443a41}
.fridge-arcade-shell{position:relative;isolation:isolate;max-width:480px;border:1px solid #fff9ef;border-radius:26px;padding:26px 22px 20px;background:radial-gradient(ellipse at 4% 25%,#fff9e4cc,transparent 40%),linear-gradient(110deg,#a89f9c 0%,#ebe1d6 8%,#f7e9dc 19%,#bdb1ac 56%,#d2c8c4 75%,#b0a8a8 100%);box-shadow:inset 2px 3px 5px #fffef5,inset -4px -3px 9px #7f7471,0 16px 45px #3d302c55;box-sizing:border-box;overflow:hidden}
.fridge-arcade-shell::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.27;background:repeating-linear-gradient(92deg,#ffffff17 0 1px,transparent 1px 3px),linear-gradient(125deg,transparent 13%,#74654b45 14%,transparent 17%,transparent 28%,#fff8d795 30%,transparent 45%)}
.fridge-arcade-shell::after{content:"";position:absolute;right:4px;top:43%;width:11px;height:35%;border-radius:14px;background:linear-gradient(90deg,#554640,#e5d3c0 23%,#fffdf3 40%,#7a6558 62%,#e3d8d1 82%,#796252);box-shadow:-2px 2px 3px #59494180,1px 0 1px white;pointer-events:none}
.fridge-arcade-header{position:relative;min-height:98px;margin-bottom:12px;align-items:flex-start;padding-top:36px;padding-right:82px;gap:0}
.fridge-arcade-eyebrow{font-size:9px;color:#4a3d43;letter-spacing:.18em}
.fridge-arcade h2{font-family:Georgia,'Times New Roman',serif;color:#2e2428;font-size:clamp(28px,7vw,39px);letter-spacing:-.035em;font-weight:700;white-space:nowrap;margin-top:6px}
.fridge-arcade-subtitle{font-size:12px;line-height:1.5;margin:9px 0 0;color:#5d5057;max-width:230px}
.fridge-arcade .fridge-arcade-close{position:absolute;right:0;top:-10px;background:linear-gradient(#fff4e6,#ebd8ca);border:1px solid #f7e8dc;box-shadow:0 2px 3px #7d686a55;font-size:13px;border-radius:15px;color:#604769}
.fridge-arcade-magnet{position:absolute;right:29px;top:103px;width:63px;height:69px;transform:rotate(10deg);background:#fcf0df;box-shadow:2px 4px 5px #68595566;padding:7px 6px 14px;box-sizing:border-box;pointer-events:none;z-index:1}
.fridge-arcade-magnet i{display:block;height:100%;background:linear-gradient(160deg,#b88e9b,#f4c4a0 42%,#5d506c 43%,#857087 60%,#514d58 61%,#514d58 70%,#35443e 71%)}
.fridge-arcade-magnet span{position:absolute;left:19px;top:-20px;font-size:33px;line-height:1;color:#82528b;text-shadow:-1px -1px 1px #e7bfd9,2px 3px 2px #38253b88}
.fridge-arcade-stage{width:min(100%,calc((100dvh - 420px)*.81818));min-width:164px;border-radius:22px;padding:7px;background:linear-gradient(125deg,#72615c,#f1d5bd 16%,#8d807d 31%,#e4c9b5 70%,#fff5d9 84%,#81736d);box-shadow:0 2px 2px #fff5e9,inset 0 2px 4px #50443f,0 -2px 4px #76696366;box-sizing:border-box}
.fridge-arcade-board{border-radius:17px;box-shadow:0 0 0 1px #fff3df,0 0 3px 3px #f3e0c6,inset 0 0 20px #806d6040}
.fridge-arcade-board-bg{fill:url(#fa-cream);stroke:#fff8e9;stroke-width:3}
.fridge-arcade-brick{stroke:#ffe8e7;stroke-width:1.5;filter:drop-shadow(1px 2px 1px #76585070)}
.fridge-arcade-brick.row-0{fill:url(#fa-purple)}.fridge-arcade-brick.row-1{fill:url(#fa-coral)}.fridge-arcade-brick.row-2{fill:url(#fa-gold)}
.fridge-arcade-paddle{fill:url(#fa-purple);stroke:#e6c6de;stroke-width:1.5;filter:drop-shadow(1px 4px 3px #725b6577)}
.fridge-arcade-ball{fill:url(#fa-chrome);stroke:#f4e7db;stroke-width:.8;filter:drop-shadow(1px 2px 1px #74646077)}
.fridge-arcade-curtain{background:none;color:#96757d99;font:italic 34px Georgia,serif;inset:40% 5% auto;text-shadow:0 1px 0 #fff8ec}
.fridge-arcade-door{display:none}
.fridge-arcade-footer{margin-top:11px;position:relative}
.fridge-arcade-status{font-size:12px;min-height:17px;margin:0 0 7px;color:#503d50}
.fridge-arcade button{border:1px solid #f3e1d1;background:linear-gradient(#fff3e4,#e9d6c6);color:#624569;border-radius:17px;box-shadow:inset 0 1px 1px #fff8ee,0 3px 3px #79646550;min-height:46px;font-weight:700}
.fridge-arcade-controls button:first-child,.fridge-power-controls button{background:linear-gradient(#9d72a7,#795184);color:#fff7f0;border-color:#b68abb;box-shadow:inset 0 1px 1px #e9c1eb,0 3px 3px #70586c66}
.fridge-arcade-controls button{min-width:104px}
.fridge-power-controls{display:flex;justify-content:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.fridge-power-controls:has(button:not([hidden])){min-height:46px}
.fridge-power-controls button[hidden]{display:none}
.fridge-power-controls button{font-size:12px;padding:9px 13px}
.fridge-arcade-powers{font-size:11px;min-height:14px;line-height:1.3;margin:5px 0 0;color:#544253;font-weight:650}
.fridge-arcade-footer #fridge-arcade-help{font-size:10px;line-height:1.5;color:#5a4c58;max-width:310px;margin-top:5px}
.fridge-pickup rect{fill:#eee0f1;stroke:#9c6ca5;stroke-width:1.3;filter:drop-shadow(1px 2px 1px #78616a55)}
.fridge-pickup text{text-anchor:middle;font:700 8px system-ui,sans-serif;fill:#493149;pointer-events:none}
.pickup-laser rect{fill:#f6d1cf;stroke:#c97083}.pickup-hyper rect{fill:#ffe3a3;stroke:#c99a45}.pickup-slow rect{fill:#dce9cf;stroke:#8ca778}
.fridge-arcade-shots rect{fill:#a84e92;stroke:#fff2df;stroke-width:1;filter:drop-shadow(0 0 2px #b66cb0)}
@media(max-width:380px){.fridge-arcade-shell{padding:21px 15px 14px}.fridge-arcade-header{padding-right:56px;min-height:90px}.fridge-arcade-magnet{width:48px;height:57px;right:20px;top:105px}.fridge-arcade h2{font-size:29px}.fridge-arcade-subtitle{font-size:11px}}
@media(max-height:660px) and (max-width:519px){.fridge-arcade-header{padding-top:30px;min-height:78px}.fridge-arcade-subtitle{display:none}.fridge-arcade-magnet{top:75px;height:50px;width:48px}.fridge-arcade-stage{width:min(100%,calc((100dvh - 380px)*.81818))}}
@media(max-height:490px) and (min-width:520px){.fridge-arcade-shell{max-width:740px;padding:16px 22px;column-gap:24px}.fridge-arcade-header{padding-top:0;min-height:70px;padding-right:0;margin:0 0 10px}.fridge-arcade .fridge-arcade-close{right:0;top:0}.fridge-arcade h2{font-size:30px}.fridge-arcade-eyebrow{padding-right:90px}.fridge-arcade-subtitle{display:none}.fridge-arcade-magnet{display:none}.fridge-arcade-stage{width:min(100%,calc((100dvh - 72px)*.81818))}.fridge-arcade-footer{margin:0}.fridge-arcade-shell::after{display:none}}
@media(forced-colors:active){.fridge-arcade-shell,.fridge-arcade-stage{background:Canvas}.fridge-arcade-shell::before,.fridge-arcade-shell::after,.fridge-arcade-magnet{display:none}.fridge-arcade-brick.row-0,.fridge-arcade-brick.row-1,.fridge-arcade-brick.row-2,.fridge-arcade-paddle,.fridge-arcade-ball,.fridge-arcade-shots rect{fill:CanvasText;stroke:Canvas}.fridge-arcade-board-bg{fill:Canvas;stroke:CanvasText}.fridge-pickup rect{fill:Canvas;stroke:CanvasText}.fridge-pickup text{fill:CanvasText}}
.fridge-arcade-score{font-size:12px;line-height:1.3;font-weight:750;letter-spacing:.02em;margin:0 0 5px;color:#573d5c;font-variant-numeric:tabular-nums}
.fridge-arcade::before{content:"";position:fixed;top:0;left:max(0px,calc(50% - 310px));width:88px;height:min(55dvh,420px);background:url('fridge-break-vine.svg') left top/contain no-repeat;pointer-events:none;z-index:1;opacity:.8}
@media(max-width:540px){.fridge-arcade::before{left:-35px;width:75px;opacity:.55}}
@media(forced-colors:active){.fridge-arcade::before{display:none}}
.fridge-score-save-status{font-size:11px;line-height:1.3;margin:4px 0 0;color:#604b5d}.fridge-score-save-status:empty{display:none}.fridge-score-retry[hidden]{display:none}.fridge-arcade .fridge-score-retry{font-size:12px;padding:8px 15px;margin-top:5px;min-height:44px}

@media(forced-colors:active){.fridge-pickup path{stroke:CanvasText}}

/* Toy Box wood edition: paint only; SVG geometry and input bounds unchanged. */
.fridge-arcade{--arcade-ink:#294e4d;color:#294e4d;background:radial-gradient(ellipse at 12% 0%,#fffaf0,transparent 65%),#e9dfd0}
.fridge-arcade-shell{border-color:#e7d9c1;background:linear-gradient(120deg,#fff9ed,#ede1cd);box-shadow:inset 0 1px 2px #fffef7,0 18px 50px #51463130}
.fridge-arcade-shell::before{opacity:.14;background:repeating-linear-gradient(1deg,#ad895728 0 1px,transparent 1px 5px)}
.fridge-arcade-shell::after,.fridge-arcade-magnet{display:none}
.fridge-arcade h2{color:#305c59}
.fridge-arcade-eyebrow,.fridge-arcade-subtitle,.fridge-arcade-status,.fridge-arcade-powers,.fridge-arcade-score,.fridge-arcade-footer #fridge-arcade-help,.fridge-score-save-status{color:#3c5953}
.fridge-arcade-stage{background:linear-gradient(125deg,#73908a,#263e3d 18%,#142c2e 65%,#54726d);box-shadow:inset 0 1px 2px #b7c9b6,0 6px 12px #233b3838}
.fridge-arcade-board{box-shadow:0 0 0 1px #ffffff17,inset 0 0 12px #0d2226}
.fridge-arcade-board-bg{fill:url(#fa-felt);stroke:#66817a;stroke-width:1}
.fridge-arcade-brick{stroke:#fbe3b74a;stroke-width:.65;filter:url(#fa-piece-shadow)}
.fridge-arcade-brick.wood-teal{fill:url(#fa-wood-teal)}
.fridge-arcade-brick.wood-oak{fill:url(#fa-wood-oak)}
.fridge-arcade-brick.wood-gold{fill:url(#fa-wood-gold)}
.fridge-arcade-brick.wood-coral{fill:url(#fa-wood-coral)}
.fridge-arcade-brick.wood-sage{fill:url(#fa-wood-sage)}
.fridge-arcade-paddle{fill:url(#fa-wood-oak);stroke:#e8bb7c;stroke-width:.65;filter:url(#fa-piece-shadow)}
.fridge-arcade-ball{fill:url(#fa-wood-ball);stroke:#f2cd9740;stroke-width:.4;filter:url(#fa-piece-shadow)}
.fridge-arcade-curtain{color:#f5e6ca;text-shadow:0 2px 4px #071d20;font-size:30px}
.fridge-arcade button,.fridge-arcade .fridge-arcade-close{color:#31544e;border-color:#d6c3a6;background:linear-gradient(#fff9ee,#eaddc6);box-shadow:inset 0 1px 1px #fffdf4,0 2px 3px #6f66422b}
.fridge-arcade-controls button:first-child,.fridge-power-controls button{background:linear-gradient(#4d827a,#305e59);color:#fff9e9;border-color:#58867c;box-shadow:inset 0 1px 1px #95b7a5,0 2px 3px #203e3540}
.fridge-arcade button:focus-visible,.fridge-arcade-board:focus-visible{outline-color:#bd782b}
.fridge-pickup rect{fill:#eddbb6;stroke:#b99661}
.fridge-arcade-shots rect{fill:#ffe3a0;stroke:#fff6d8;filter:drop-shadow(0 0 2px #f2c777)}
@media(forced-colors:active){.fridge-arcade,.fridge-arcade-shell,.fridge-arcade-stage{background:Canvas;color:CanvasText}.fridge-arcade-brick[class],.fridge-arcade-paddle,.fridge-arcade-ball,.fridge-arcade-shots rect{fill:CanvasText;stroke:Canvas;filter:none}.fridge-arcade-board-bg{fill:Canvas;stroke:CanvasText}.fridge-arcade-curtain{color:CanvasText;text-shadow:none}.fridge-arcade h2,.fridge-arcade-score{color:CanvasText}}
/* Compact server-backed ranking; expansion scrolls inside the card. */
.fridge-leaderboard{padding:8px 11px;margin:0 0 10px;border:1px solid #c4cdbb;border-radius:12px;background:#fbf6e9;color:#31544e;font-size:11px;line-height:1.35}
.fridge-leaderboard>strong{display:block;font-size:12px}
.fridge-leaderboard p{margin:4px 0}
.fridge-leaderboard-list{padding-left:22px;margin:4px 0;max-height:110px;overflow:auto;overscroll-behavior:contain}
.fridge-leaderboard li{padding:2px 0}.fridge-leaderboard li span{display:inline-block;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.fridge-leaderboard li b{float:right;font-variant-numeric:tabular-nums}
.fridge-arcade .fridge-leaderboard button{min-height:44px;padding:4px 10px;font-size:11px;margin-top:2px;background:transparent;box-shadow:none;border-color:#c4cdbb}
@media(max-height:490px) and (min-width:520px){.fridge-leaderboard{grid-column:2;grid-row:3}}
.fridge-leaderboard{position:relative}.fridge-leaderboard>strong{padding-right:74px;min-height:23px}.fridge-arcade .fridge-leaderboard button{position:absolute;right:6px;top:0;margin:0;border:0}
.fridge-arcade-shell:has(.fridge-leaderboard) .fridge-arcade-header{min-height:70px;padding-top:32px;margin-bottom:6px}
.fridge-arcade-shell:has(.fridge-leaderboard) .fridge-arcade-eyebrow,.fridge-arcade-shell:has(.fridge-leaderboard) .fridge-arcade-subtitle{display:none}
@media(max-height:490px) and (min-width:520px){.fridge-arcade-shell:has(.fridge-leaderboard) .fridge-arcade-header{padding-top:0}}
