.wall-puzzle-ui{position:fixed;inset:0;z-index:28;pointer-events:none;color:#f1e8cd;text-shadow:0 2px 5px #000;font-family:var(--font,system-ui)}
.wall-puzzle-ui[hidden]{display:none!important}
.wall-puzzle-ui [hidden]{display:none!important}
.wall-board-active #subtitle,.wall-board-active #npc-caption,.wall-board-active #toast-stack,.wall-board-active #interact-prompt,.wall-board-active #uv-indicator{display:none!important}
.wall-puzzle-instruction{position:absolute;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 30px));text-align:center;font-size:15px;line-height:1.5;color:#e5e5cc;background:linear-gradient(90deg,transparent,#0c2018c9 15%,#0c2018c9 85%,transparent);padding:9px 18px}
.wall-puzzle-caption{position:absolute;bottom:calc(max(14px,env(safe-area-inset-bottom)) + 25px);left:50%;transform:translateX(-50%);width:min(730px,calc(100% - 30px));text-align:center;font-size:16px;line-height:1.5;padding:9px 15px;background:linear-gradient(90deg,transparent,#0d2119ed 10%,#0d2119ed 90%,transparent);color:#e9ddb7}
.wall-puzzle-key-help{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;font-size:11px;color:#bed0b9;letter-spacing:.02em}
.wall-puzzle-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wall-puzzle-success .wall-puzzle-caption{color:#adf0ce}
.wall-puzzle-mobile-controls{display:none;position:absolute;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(360px,calc(100% - 24px));grid-template-columns:repeat(4,1fr);gap:7px;pointer-events:auto}
.wall-puzzle-mobile-controls button{min-height:46px;border:1px solid #c4a36b;border-radius:5px;background:#243b30f2;color:#f2dfb8;font:600 14px var(--font,system-ui);touch-action:manipulation;box-shadow:inset 0 1px 0 #eadab52b,0 2px 5px #0008}
.touch-mode .wall-puzzle-mobile-controls{display:grid}
.touch-mode .wall-puzzle-key-help{display:none}
.touch-mode .wall-puzzle-caption{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 56px)}
@media(pointer:coarse){.wall-puzzle-key-help{font-size:11px}.wall-puzzle-instruction{font-size:14px}.wall-puzzle-caption{font-size:15px}.wall-puzzle-key-help{visibility:hidden}.wall-puzzle-key-help::after{content:'Tap a part to operate · UNDO, RESET, HINT and BACK are on the frame';visibility:visible;position:absolute;left:18px;right:18px;bottom:0;font-size:11px}}
@media(max-height:500px){.wall-puzzle-instruction{top:8px;font-size:12px;padding:5px 14px;width:calc(100% - 30px)}.wall-puzzle-caption{bottom:20px;padding:4px 12px;font-size:12px;width:min(750px,calc(100% - 20px))}.wall-puzzle-key-help{bottom:5px;font-size:9px}.wall-puzzle-key-help::after{font-size:9px}}
