/* V47.6 — a tactile interface that doesn't obscure the world or hide professional content. */
.room-scene{position:relative;isolation:isolate}
#roomCanvas{touch-action:manipulation;cursor:crosshair;outline-offset:-4px}
#roomCanvas:focus-visible{outline:3px solid #ffe3ac}
.v476-target{pointer-events:none;position:absolute;width:32px;height:32px;border:3px dashed #ffe8ac;box-shadow:0 0 0 3px #0b223b66,0 0 20px #ffe0a466;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.5);z-index:6}
.v476-target.v476-active{animation:v476-target .54s cubic-bezier(.17,.83,.26,1) forwards}
@keyframes v476-target{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}65%{opacity:.7;transform:translate(-50%,-50%) scale(1.2)}100%{opacity:0;transform:translate(-50%,-50%) scale(.92)}}
.v476-scene-guide{position:absolute;top:10px;inset-inline-start:12px;max-width:min(75%,350px);border:1px solid #9ebfc544;background:#112339df;border-radius:9px;padding:8px 11px;color:#eaf2ed;font-size:11px;line-height:1.5;pointer-events:none;z-index:5}
.v476-sr{position:absolute!important;clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}
.room-pad button{touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .12s,background-color .12s}
.room-pad button.v476-pressed{background:#b7f3e0!important;color:#162b41!important;transform:translateY(2px) scale(.96)}
.room-pad button:focus-visible{outline:3px solid #f8d39d;outline-offset:2px}
.v476-city-status{position:absolute;top:85px;left:50%;transform:translate(-50%,-8px);padding:9px 13px;border:1px solid #98d2ce90;background:#0b2337eb;color:#eff8e8;border-radius:9px;opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;font-size:12px;z-index:19;max-width:230px;text-align:center}
.v476-city-status.v476-show{opacity:1;transform:translate(-50%,0)}
@media(max-width:720px){.v476-scene-guide{font-size:10px;top:5px;inset-inline-start:6px;max-width:225px;padding:5px 7px;background:#14283bd0}.v476-city-status{top:65px;max-width:175px;font-size:10px}.room-pad button{min-height:39px;min-width:39px}}
@media(prefers-reduced-motion:reduce){.v476-target.v476-active{animation:none;opacity:1;transform:translate(-50%,-50%)}.room-pad button,.v476-city-status{transition:none!important}}
/* Direct arcade page: accessible controls and instructions for each real minigame. */
.v476-arcade-guide{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:11px 0 18px;border:1px solid #647f96;border-radius:12px;background:#162c43;color:#dcedf6;font-size:13px;line-height:1.75}
.v476-guide-symbol{font-size:20px;color:#ffc8a2}.v476-arcade-guide p{margin:0}
.arcade-tabs button:focus-visible,.game-controls button:focus-visible{outline:3px solid #f4d8a7;outline-offset:3px}
.game-controls [data-move]{min-height:44px;min-width:44px;touch-action:manipulation}
@media(max-width:720px){.v476-arcade-guide{padding:10px 12px;font-size:11px}}
