/* Original cabinet is its own silhouette; foreground objects remain in front. */
.playroom-arcade{position:absolute;left:71.484375%;top:30.46875%;width:20.0520833333%;height:45.8984375%;z-index:2;border:0;padding:0;background:none;cursor:pointer;isolation:isolate;}
.playroom-arcade img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;transition:filter .18s;}
.playroom-arcade::before{content:'';position:absolute;left:9%;bottom:-.6%;width:83%;height:4%;border-radius:50%;background:#150a2190;filter:blur(3px);z-index:-1;pointer-events:none;}
.playroom-arcade:hover img,.playroom-arcade:focus-visible img{filter:brightness(1.12) drop-shadow(0 0 3px #ffdf99) drop-shadow(0 0 8px #c39aff90);}
.room-world .playroom-arcade:focus-visible{outline:0;outline-offset:0;}
/* Corner art keeps its native square aspect; straight wood rails tile uniformly. */
.pinball-dialog{--frame-space:20px;box-sizing:border-box;position:fixed;inset:0;width:min(97vw,calc((min(97dvh,910px) - 146px) * 11 / 16 + 306px));height:min(97dvh,910px);max-width:none;max-height:none;overflow:clip;overflow-clip-margin:var(--frame-space);border:var(--frame-space) solid transparent;padding:2px 12px 5px;background:#281e30;background-clip:padding-box;box-shadow:0 18px 70px #080410b3;color:#f4e3bd;font-family:'Zpix','Microsoft YaHei',sans-serif;}
.pinball-dialog[open]{display:flex;flex-direction:column;gap:8px;}
.pinball-dialog::backdrop{background:#100a19db;backdrop-filter:blur(3px);}
.pinball-border{position:absolute;inset:calc(-1 * var(--frame-space));z-index:3;pointer-events:none;}
.pinball-corner{position:absolute;width:52px;height:52px;background:center/contain no-repeat;}
.pinball-corner--tl{left:0;top:0;background-image:url('../ip/playroom/pinball-frame-tl-v2.png');}.pinball-corner--tr{right:0;top:0;background-image:url('../ip/playroom/pinball-frame-tr-v2.png');}.pinball-corner--bl{left:0;bottom:0;background-image:url('../ip/playroom/pinball-frame-bl-v2.png');}.pinball-corner--br{right:0;bottom:0;background-image:url('../ip/playroom/pinball-frame-br-v2.png');}
.pinball-edge{position:absolute;}
.pinball-edge--top{left:50px;right:50px;top:6.6px;height:18.2px;background:url('../ip/playroom/pinball-frame-top-v2.png') left top/27.733px 18.2px repeat-x;}
.pinball-edge--bottom{left:50px;right:50px;bottom:8.2px;height:19.4px;background:url('../ip/playroom/pinball-frame-bottom-v2.png') left top/27.714px 19.4px repeat-x;}
.pinball-edge--left{top:50px;bottom:50px;left:5.4px;width:17.2px;background:url('../ip/playroom/pinball-frame-left-v2.png') left top/17.2px 20.848px repeat-y;}
.pinball-edge--right{top:50px;bottom:50px;right:5.2px;width:17.2px;background:url('../ip/playroom/pinball-frame-right-v2.png') left top/17.2px 20.848px repeat-y;}
.pinball-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:68px;gap:12px;}
.pinball-nameplate{position:relative;width:152px;aspect-ratio:443/190;flex-shrink:0;margin-left:14px;background:url('../ip/playroom/pinball-ui-title.png') center/contain no-repeat;}
.pinball-header h2{position:absolute;inset:35% 10% 12% 18%;display:flex;align-items:center;justify-content:center;margin:0;font-size:17px;font-weight:normal;line-height:1.15;color:#ffe5ac;text-shadow:1px 2px #211228;white-space:nowrap;}
.pinball-close{flex:0 0 30px;height:47px;padding:0;margin:0 1px 0 0;align-self:start;border:0;background:url('../ip/playroom/pinball-ui-exit.png') center/contain no-repeat;cursor:pointer;filter:drop-shadow(1px 3px 1px #100a1670);}
.pinball-close:hover{filter:brightness(1.15);transform:rotate(4deg);}
.pinball-layout{display:grid;grid-template-columns:minmax(0,1fr) 224px;gap:18px;flex:1;min-height:0;}
.pinball-board-wrap{display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;container-type:size;}
.pinball-stage{position:relative;width:min(100cqw,calc(100cqh * 11 / 16));height:auto;aspect-ratio:11/16;max-width:100%;overflow:hidden;background:#171120;box-shadow:0 4px 0 #100a18,0 0 0 4px #3d2938,0 0 0 6px #130d1f;}
.pinball-stage canvas{display:block;width:100%;height:100%;aspect-ratio:11/16;touch-action:none;}
.pinball-stage canvas:focus-visible{outline:0;}.pinball-stage:focus-within{filter:drop-shadow(0 0 2px #c7a87860);}
.pinball-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px 14px;box-sizing:border-box;text-align:center;background:#1b112ade;pointer-events:none;}
.pinball-overlay[hidden]{display:none;}
.pinball-state-art{display:block;width:65%;height:30%;object-fit:contain;flex-shrink:0;image-rendering:pixelated;}
.pinball-overlay strong{font-size:19px;line-height:1.3;color:#ffe4a3;font-weight:normal;text-shadow:1px 2px #120b1e;}
.pinball-overlay span{font-size:10px;line-height:1.7;color:#d8c6df;white-space:pre-line;max-width:100%;overflow-wrap:anywhere;}
.pinball-overlay i{display:none;}
.pinball-dashboard{display:flex;flex-direction:column;justify-content:space-between;gap:7px;min-height:0;padding:2px 0;}
.pinball-score-panel{position:relative;width:100%;aspect-ratio:1448/1086;flex-shrink:0;background:url('../ip/playroom/pinball-score-case-v2.png') center/contain no-repeat;}
.pinball-display-content{position:absolute;left:14%;right:12%;top:44%;bottom:14%;box-sizing:border-box;padding:3px 5px;display:grid;grid-template-rows:auto 1fr auto auto;row-gap:2px;min-height:0;}
.pinball-display-content>small{font-size:8px;line-height:1.1;text-align:center;color:#c4b396;white-space:nowrap;}
.pinball-number{display:block;align-self:center;text-align:center;color:#ffdc8b;font:23px/1.1 'Zpix',monospace;letter-spacing:1px;white-space:nowrap;font-variant-numeric:tabular-nums;}
.pinball-best,.pinball-balls{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:8px;line-height:1.15;color:#c7b79c;white-space:nowrap;}
.pinball-best b{font-weight:normal;color:#e3cfa7;font-variant-numeric:tabular-nums;}
.pinball-balls>div{display:flex;gap:4px;}
.pinball-balls i{display:block;width:10px;height:10px;background:url('../ip/playroom/pinball-ui-marble.svg') center/contain no-repeat;}
.pinball-balls i.is-spent{filter:grayscale(1);opacity:.22;}
.pinball-mission{box-sizing:border-box;border:10px solid transparent;border-image:url('../ip/playroom/pinball-ui-note.png') 95 65 65 95 fill / 22px 15px 15px 22px stretch;padding:2px 5px 2px 14px;transform:rotate(-1deg);color:#594148;}
.pinball-mission-head{font-size:11px;line-height:1.2;color:#63404e;}
.pinball-mission p{font-size:9px;line-height:1.5;margin:4px 0;color:#6d5455;}
.pinball-meter{height:10px;overflow:hidden;position:relative;margin-top:3px;}
.pinball-meter::before,.pinball-meter i::before{content:'✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦';position:absolute;left:0;top:0;width:180px;white-space:nowrap;font-size:10px;letter-spacing:2px;line-height:10px;color:#a9998740;}
.pinball-meter i{display:block;height:10px;position:relative;overflow:hidden;}.pinball-meter i::before{color:#bd8742;}
.pinball-stat{display:flex;justify-content:space-between;gap:4px;font-size:8px;line-height:1.2;margin-top:3px;color:#8d6c5a;white-space:nowrap;}.pinball-stat b{font-weight:normal;color:#82533d;}
.pinball-controls-panel{box-sizing:border-box;position:relative;width:100%;aspect-ratio:378/255;flex-shrink:0;padding:16px 20px 19px;background:url('../ip/playroom/pinball-ui-base.png') center/contain no-repeat;}
.pinball-controls{height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:51px 61px;align-items:center;justify-items:center;gap:4px 10px;}
.pinball-controls button{box-sizing:border-box;position:relative;display:flex;align-items:flex-end;justify-content:center;max-width:100%;width:80px;height:51px;padding:0 0 2px;border:0;background:transparent center top/38px auto no-repeat;color:#e6cda1;font:8px/1.15 'Zpix','Microsoft YaHei',sans-serif;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;white-space:nowrap;}
.pinball-controls [data-pinball-left]{background-image:url('../ip/playroom/pinball-ui-left.png');}.pinball-controls [data-pinball-right]{background-image:url('../ip/playroom/pinball-ui-right.png');}
.pinball-controls .pinball-launch{height:61px;width:85px;background-image:url('../ip/playroom/pinball-ui-launch.png');background-size:49px auto;font-size:9px;color:#ffdfa1;}
.pinball-controls .pinball-pause{width:74px;height:54px;background-image:url('../ip/playroom/pinball-ui-pause.png');background-size:auto 40px;background-position:center top;color:#d0bba2;font-size:9px;}
.pinball-controls button:hover:not(:disabled){filter:brightness(1.12) drop-shadow(0 0 3px #caa46a90);}
.pinball-controls button:active:not(:disabled),.pinball-controls button.is-pressed{transform:translateY(2px);filter:brightness(.87);}
.pinball-controls button:focus-visible,.pinball-close:focus-visible{outline:1px dashed #d4b37a;outline-offset:2px;}
.pinball-controls button:disabled{cursor:default;filter:brightness(.65);color:#b39a85;}
.pinball-help{display:none;}
.pinball-live{font-size:8px;line-height:1.3;color:#b59d86;text-align:center;margin:0;min-height:11px;flex-shrink:0;}
@media(min-width:621px) and (max-height:640px){.pinball-mission p{font-size:8px;line-height:1.35;}.pinball-meter{display:none;}}
@media(min-width:621px) and (max-height:540px){.pinball-dialog{--frame-space:16px;padding-inline:8px;width:min(97vw,calc((97dvh - 130px) * 11 / 16 + 254px));}.pinball-layout{grid-template-columns:minmax(0,1fr) 190px;gap:16px;}.pinball-mission{display:none;}.pinball-controls-panel{padding:13px 16px 15px;}.pinball-controls{grid-template-rows:42px 52px;gap:3px 7px;}.pinball-controls button{height:42px;background-size:31px auto;}.pinball-controls .pinball-launch{height:52px;background-size:41px auto;font-size:8px;}.pinball-controls .pinball-pause{height:47px;background-size:auto 33px;font-size:8px;}.pinball-number{font-size:20px;}.pinball-display-content>small,.pinball-best,.pinball-balls{font-size:7px;}.pinball-balls i{width:8px;height:8px;}}
@media(max-width:620px){
 .pinball-dialog{--frame-space:16px;padding:0 8px 4px;width:98vw;height:98dvh;}.pinball-header{height:64px;}.pinball-nameplate{width:142px;margin-left:14px;}.pinball-header h2{font-size:16px;}.pinball-close{height:40px;flex-basis:25px;}.pinball-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:9px;}.pinball-dashboard{display:contents;}.pinball-board-wrap{grid-row:2;}.pinball-score-panel{grid-row:1;width:210px;justify-self:center;}.pinball-number{font-size:21px;}.pinball-display-content>small{font-size:7px;}.pinball-best,.pinball-balls{font-size:7px;}.pinball-balls i{width:9px;height:9px;}.pinball-mission{display:none;}.pinball-controls-panel{grid-row:3;padding:0;background:none;aspect-ratio:auto;}.pinball-controls{grid-template-columns:1fr 1.1fr 1fr;grid-template-rows:61px 23px;gap:3px;}.pinball-controls button{height:54px;width:75px;background-size:40px auto;font-size:8px;}.pinball-controls .pinball-launch{grid-column:2;grid-row:1;height:61px;background-size:48px auto;width:90px;font-size:9px;}.pinball-controls [data-pinball-left]{grid-column:1;grid-row:1;}.pinball-controls [data-pinball-right]{grid-column:3;grid-row:1;}.pinball-controls .pinball-pause{grid-column:1/-1;height:23px;width:90px;padding:0 0 0 20px;background-size:auto 21px;background-position:20px center;align-items:center;font-size:8px;}.pinball-overlay strong{font-size:17px;}.pinball-overlay span{font-size:9px;}.pinball-overlay{gap:7px;padding:16px 12px;}.pinball-live{font-size:7px;}}
@media(max-width:620px) and (max-height:720px){.pinball-dialog{--frame-space:14px;}.pinball-header{height:54px;}.pinball-nameplate{width:122px;}.pinball-header h2{font-size:14px;}.pinball-score-panel{width:175px;}.pinball-number{font-size:18px;}.pinball-display-content{padding:2px 3px;row-gap:1px;}.pinball-display-content>small,.pinball-best,.pinball-balls{font-size:6px;}.pinball-balls i{width:7px;height:7px;}.pinball-controls{grid-template-rows:54px 21px;}.pinball-controls button{height:48px;background-size:35px auto;}.pinball-controls .pinball-launch{height:54px;background-size:41px auto;}.pinball-controls .pinball-pause{height:21px;background-size:auto 18px;}.pinball-overlay strong{font-size:15px;}.pinball-overlay span{font-size:8px;}}
@media(prefers-reduced-motion:reduce){.playroom-arcade img{transition:none;}.pinball-dialog::backdrop{backdrop-filter:none;}}
.arcade-foreground{position:absolute;inset:0;z-index:3;pointer-events:none;background:url('../ip/playroom/room-deck-cleared-v3.webp') center/100% 100% no-repeat;}
.arcade-foreground--stool{clip-path:polygon(63.541667% 73.144531%,65.234375% 71.777344%,66.471354% 70.703125%,69.661458% 70.507812%,72.070312% 71.777344%,74.609375% 72.363281%,75.195312% 73.535156%,75.846354% 75.000000%,75.911458% 77.832031%,74.869792% 79.199219%,75.065104% 83.886719%,74.283854% 84.863281%,73.372396% 84.765625%,72.916667% 80.761719%,72.005208% 81.738281%,71.875000% 87.304688%,70.572917% 87.402344%,70.052083% 82.617188%,66.536458% 81.054688%,65.494792% 84.667969%,64.192708% 85.058594%,63.346354% 84.765625%,63.997396% 79.492188%,63.411458% 77.246094%,63.020833% 75.488281%);}
.arcade-foreground--crate{clip-path:polygon(87.239583% 67.968750%,88.997396% 66.894531%,89.388021% 64.453125%,90.364583% 63.183594%,91.536458% 62.890625%,92.447917% 63.574219%,93.880208% 63.574219%,93.880208% 65.332031%,93.554688% 66.503906%,94.270833% 67.871094%,93.945312% 71.582031%,94.466146% 72.363281%,94.401042% 75.390625%,91.731771% 76.953125%,87.304688% 74.902344%);}

/* Positions refer to the painted inner face, leaving the entire bottom wood rim clear.
   Fixed row heights used to extend past it even though button boxes stayed in the dialog. */
@media(min-width:621px){
 .pinball-controls-panel{padding:0;}
 .pinball-controls{position:absolute;inset:13% 16% 27%;height:auto;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:4px 8px;}
 .pinball-controls button,.pinball-controls .pinball-launch,.pinball-controls .pinball-pause{width:100%;height:100%;min-height:0;padding:0 0 1px;background-size:auto 72%;font-size:9px;line-height:1.1;}
 .pinball-controls .pinball-launch{background-size:auto 76%;}
 .pinball-controls .pinball-pause{background-size:auto 70%;}
 .pinball-live{font-size:8px;line-height:1.5;min-height:12px;}
}
@media(min-width:621px) and (max-height:540px){.pinball-controls button,.pinball-controls .pinball-launch,.pinball-controls .pinball-pause{font-size:8px;}}

