.escape-game{position:relative;width:min(100%,530px);margin:0 auto;color:#423c54}
.escape-hud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.escape-hud>div{min-width:0;padding:8px 4px;border:2px solid #d9c6dc;border-radius:13px;background:#fff3f6;text-align:center;box-shadow:0 3px 0 #ead5e1}
.escape-hud small{display:block;color:#74677d;font-size:11px;font-weight:800}
.escape-hud strong{display:block;font-size:16px;font-weight:900;white-space:nowrap}
.escape-hud [data-hearts]{color:#e16e84;letter-spacing:1px}
.escape-office{padding:10px;border:4px solid #896f93;border-radius:20px;background:repeating-linear-gradient(90deg,#e8dcce 0 30px,#eadfce 30px 31px);box-shadow:0 5px 0 #c1afbd}
.escape-office-label{margin:0 0 8px 3px;color:#634d69;font-size:13px;font-weight:900}
.escape-board{display:grid;grid-template-columns:repeat(var(--escape-size),minmax(0,1fr));gap:3px;width:min(100%,390px);aspect-ratio:1;margin:0 auto;padding:5px;border:2px solid #aa93ad;border-radius:12px;background:#af9ab2}
.escape-cell{display:grid;place-items:center;position:relative;min-width:0;min-height:0;padding:0;border:1px solid #d7c9c8;border-radius:5px;background:#fff6e8;font-size:clamp(16px,5.5vw,28px);font-family:inherit;cursor:pointer;touch-action:manipulation;transition:transform .12s,background .12s}
.escape-cell:not(:disabled):hover{transform:scale(.92)}
.escape-cell.is-wall{border-color:#78617d;background:repeating-linear-gradient(45deg,#8c7090 0 8px,#957a99 8px 16px)}
.escape-cell.is-vision:not(.is-wall){border-color:#e78c99;background:#ffb7b9;box-shadow:inset 0 0 0 2px #f48c9e66}
.escape-cell.is-exit:not(.is-vision){background:#c8ebdc}
.escape-cell.is-hint{outline:3px solid #f6bd45;outline-offset:-4px;z-index:1}
.escape-cell.is-player{background:#fff1af;box-shadow:inset 0 0 0 2px #e9bc54}
.escape-cell:disabled{cursor:default}
.escape-guard{display:grid;place-items:center;line-height:1}
.escape-guard small{position:absolute;right:1px;bottom:0;color:#66364b;font-size:14px;font-weight:900;text-shadow:0 1px #fff}
.escape-dpad{display:grid;grid-template-columns:repeat(3,55px);grid-template-rows:repeat(3,42px);justify-content:center;gap:3px;margin:13px auto 8px}
.escape-dpad button{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;border:2px solid #94799c;border-radius:11px;background:#fff3ee;color:#56465e;font-family:inherit;font-size:19px;font-weight:900;line-height:1;box-shadow:0 3px 0 #d5bfce;touch-action:manipulation}
.escape-dpad button[data-move=U]{grid-column:2;grid-row:1}
.escape-dpad button[data-move=L]{grid-column:1;grid-row:2}
.escape-dpad button[data-move=W]{grid-column:2;grid-row:2}
.escape-dpad button[data-move=R]{grid-column:3;grid-row:2}
.escape-dpad button[data-move=D]{grid-column:2;grid-row:3}
.escape-dpad button span{font-size:10px;font-weight:800}
.escape-dpad button:disabled{opacity:.55}
.escape-dpad button:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 #d5bfce}
.escape-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px;font-size:13px;font-weight:800}
.escape-tools .button{min-width:0;min-height:36px;padding:5px 12px;font-size:12px}
.escape-game .toy-status{min-height:2.5em;margin:8px 0;text-align:center}
.escape-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.escape-controls .button{min-width:0;padding:7px 3px;font-size:13px;white-space:nowrap}
.escape-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:16px;border-radius:18px;background:#47354d99;backdrop-filter:blur(2px)}
.escape-overlay[hidden]{display:none}
.escape-dialog{width:min(100%,345px);padding:22px 18px;border:3px solid #aa8eac;border-radius:19px;background:#fffaf2;box-shadow:0 8px 0 #4e395f70;text-align:center}
.escape-dialog h2{margin:0 0 10px;color:#664b6a;font-size:24px}
.escape-dialog p{margin:0 0 17px;color:#63596b;font-size:15px;line-height:1.6}
.escape-dialog .button{min-width:145px}
.escape-game button:focus-visible{outline:3px solid #e0647c;outline-offset:2px}
@media(max-width:480px){.toy-page:has(.escape-game) .toy-card{padding:14px 11px}.toy-page:has(.escape-game) .toy-card h1{font-size:22px}.toy-page:has(.escape-game) .toy-instruction{margin:5px 0 10px;line-height:1.4}.escape-hud{gap:5px}.escape-hud strong{font-size:14px}.escape-office{padding:7px}.escape-board{gap:2px;padding:4px}.escape-cell{font-size:clamp(15px,6vw,24px)}.escape-dpad{grid-template-rows:repeat(3,39px);margin-top:9px}}
@media(prefers-reduced-motion:reduce){.escape-cell{transition:none}}
