.escape-section{padding:70px 0;background:#11242d;border-block:1px solid #bfe5de25;scroll-margin-top:85px}.escape-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:26px}.escape-heading .eyebrow{color:var(--mint);margin-bottom:10px}.escape-heading h2{font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.12;letter-spacing:-.045em;font-weight:900}.escape-heading h2 span{color:var(--coral)}.escape-heading>p{max-width:340px;color:#bacdd0;font-size:1rem}.escape-shell{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:0;border:1px solid #bfe5de44;border-radius:16px;overflow:hidden;background:#182f39}.escape-board-wrap{min-width:0;position:relative}.escape-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:13px 18px;border-bottom:1px solid #bfe5de30;background:#19343f}.escape-toolbar strong{font-size:.875rem;letter-spacing:.05em}.escape-toolbar-actions{display:flex;align-items:center;gap:12px}.escape-clock{font-variant-numeric:tabular-nums;font-weight:600;color:var(--mint)}.game-mini-button{font-size:.875rem;color:var(--cream);background:transparent;border:1px solid #bfe5de55;border-radius:5px;padding:7px 12px;min-height:36px}.game-mini-button:disabled{opacity:.4;cursor:default}.game-mini-button:not(:disabled):hover{background:#2a4b58}.escape-stage{position:relative;height:560px;background:#0b1d25;isolation:isolate}.escape-canvas{width:100%;height:100%;display:block;outline-offset:-4px!important;touch-action:pan-y}.escape-overlay{position:absolute;inset:0;display:flex;overflow-y:auto;align-items:flex-start;justify-content:center;padding:22px;background:#0a1d25a8;backdrop-filter:blur(4px);z-index:2}.escape-overlay[hidden]{display:none}.escape-modal{margin:auto;text-align:center;max-width:410px;width:100%;padding:27px 25px;border:1px solid #bfe5de55;background:#182f39f7;border-radius:15px;box-shadow:0 18px 60px #0005}.escape-modal h3{font-size:2rem;letter-spacing:-.04em;line-height:1.12;margin:10px 0 15px;font-weight:900}.escape-modal>p{font-size:.9375rem;color:#c4d5d7;margin-bottom:20px}.escape-modal .game-state-label{font-size:.75rem;letter-spacing:.1em;color:var(--mint);font-weight:600;margin:0}.escape-modal .button{width:100%}.escape-modal .game-result-time{font-weight:700;color:var(--mint);margin-bottom:16px;font-variant-numeric:tabular-nums}.escape-sidebar{padding:25px 22px;border-left:1px solid #bfe5de30;display:flex;flex-direction:column;gap:25px}.escape-sidebar h3{font-size:1rem;margin-bottom:10px}.escape-sidebar p{font-size:.875rem;color:#c0d0d2}.escape-legend{display:grid;gap:12px;font-size:.875rem}.escape-legend li{display:flex;align-items:center;gap:10px}.game-token{display:inline-flex;width:29px;height:29px;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;font-size:18px}.game-token.runner{background:#bfe5de;color:#182f39}.game-token.zombie{background:#ff4f4f33;border:1px solid #ff4f4f}.game-token.exit{border-radius:4px;background:#bfe5de;color:#182f39;font-size:19px;font-weight:700}.game-token.obstacle{border-radius:4px;background:#315c6a;border:1px solid #62818a}.escape-keys{display:flex;gap:6px;align-items:center;margin:12px 0;flex-wrap:wrap}.escape-keys kbd{background:#10242d;border:1px solid #63838b;border-bottom-width:3px;border-radius:4px;min-width:28px;padding:3px 6px;font-family:inherit;text-align:center;font-size:.875rem}.escape-challenge-note{margin-top:auto;border-top:1px solid #bfe5de30;padding-top:20px}.escape-challenge-note strong{font-size:.9375rem;display:block;color:var(--mint);margin-bottom:8px}.escape-challenge-note p{font-size:.875rem;line-height:1.7}.escape-footnote{font-size:.75rem;color:#a9c0c6;margin-top:13px}.escape-touch{display:none;padding:15px 20px;align-items:center;justify-content:space-between;gap:14px;background:#19343f;border-top:1px solid #bfe5de30}.escape-touch>p{font-size:.875rem;color:#bfe5de;max-width:155px}.game-dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px);gap:5px;touch-action:none}.game-dpad button{background:#31505b;color:var(--cream);border:1px solid #63838b;border-radius:7px;font-size:1.35rem;touch-action:none;user-select:none}.game-dpad button[aria-pressed=true]{background:var(--mint);color:var(--charcoal)}.game-dpad button:first-child{grid-column:2}.game-dpad button:nth-child(2){grid-column:1;grid-row:2}.game-dpad button:nth-child(3){grid-column:2;grid-row:2}.game-dpad button:nth-child(4){grid-column:3;grid-row:2}.escape-section [hidden]{display:none!important}
@media(max-width:1150px){.escape-shell{grid-template-columns:minmax(0,1fr) 240px}.escape-stage{height:520px}.escape-sidebar{padding:20px 17px}}
@media(pointer:coarse){.escape-touch{display:flex}}
@media(max-width:850px){.escape-heading{align-items:start;flex-direction:column;gap:16px}.escape-heading>p{max-width:none}.escape-shell{grid-template-columns:1fr}.escape-sidebar{border-left:0;border-top:1px solid #bfe5de30;display:grid;grid-template-columns:1fr 1fr;gap:20px}.escape-challenge-note{grid-column:1/-1;margin:0}.escape-touch{display:flex}.escape-stage{height:480px}}
@media(max-width:580px){.escape-section{padding:48px 0}.escape-heading h2{font-size:2.4rem}.escape-toolbar{padding:10px 12px;gap:8px}.escape-toolbar-actions{gap:7px}.escape-toolbar strong{font-size:.75rem}.escape-clock{font-size:.875rem}.game-mini-button{padding:6px 9px}.escape-stage{height:430px}.escape-sidebar{padding:20px 17px;gap:20px 14px}.escape-modal{padding:20px 17px}.escape-modal h3{font-size:1.75rem}.escape-modal>p{font-size:.875rem}.escape-touch{padding:12px 14px}.escape-legend{font-size:.8125rem}.escape-keys{gap:4px}.escape-sidebar p{font-size:.875rem}}

.character-token{width:38px;height:38px;border:0!important;background-image:url("assets/characters.png")!important;background-size:200% 200%!important;background-color:transparent!important;border-radius:0}.character-token.runner{background-position:0 0}.character-token.zombie{background-position:100% 0}.escape-stage{background:#0b1d25}.escape-footnote{font-size:.875rem}

.game-objective{margin:0;padding:10px 18px;background:#10242d;color:#ffda79;font-size:.875rem;font-weight:600;border-bottom:1px solid #bfe5de30}.game-token.pass{background:#ffda79;color:#46310a;border-radius:4px;font-weight:700}

@media(max-width:760px){
  .escape-section{padding-block:40px}
  .escape-heading h2{font-size:clamp(2rem,8vw,2.7rem)}
  .escape-toolbar{padding:10px 12px;gap:10px}
  .escape-toolbar>strong{width:100%;font-size:.875rem;letter-spacing:.02em}
  .escape-toolbar-actions{width:100%;justify-content:flex-end;gap:8px}
  .escape-clock{margin-right:auto;font-size:1rem}
  .game-mini-button{min-width:44px;min-height:44px}
  .escape-stage{height:clamp(320px,48svh,420px)}
  .escape-overlay{padding:12px}
  .escape-modal{padding:18px 16px}
  .escape-modal h3{font-size:1.6rem}
  .escape-modal>p{font-size:.875rem;line-height:1.6;margin-bottom:16px}
  .escape-touch{padding:14px 12px;gap:10px;flex-wrap:wrap}
  .escape-touch>p{flex:1 1 100px;max-width:145px}
  .game-dpad{grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:6px;margin-left:auto}
  .escape-sidebar{grid-template-columns:1fr;padding:20px;gap:22px}
  .escape-legend{font-size:.875rem}
  .escape-challenge-note{grid-column:auto}
}
