/* INVIZBL3 escape room layer. True black, true white, grayscale. */
:root {
  --er-black:#000;
  --er-ink:#030303;
  --er-panel:#0a0a0a;
  --er-card:#111;
  --er-card-2:#171717;
  --er-line:#343434;
  --er-line-soft:#202020;
  --er-text:#f6f6f6;
  --er-muted:#a9a9a9;
  --er-dim:#696969;
  --er-white:#fff;
  --er-radius:28px;
  --er-radius-sm:18px;
  --er-shadow:0 34px 90px rgba(0,0,0,.58);
  --er-focus:0 0 0 3px rgba(255,255,255,.22);
}
.escape-wrap {
  width:min(1560px, calc(100vw - 32px));
  margin:0 auto;
}
.escape-hero {
  position:relative;
  overflow:hidden;
  border:1px solid var(--er-line);
  border-radius:var(--er-radius);
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.11), transparent 28%),
    linear-gradient(135deg, #161616, #050505 70%);
  box-shadow:var(--er-shadow);
  padding:clamp(28px, 5vw, 72px);
  margin:clamp(18px, 4vw, 48px) auto;
}
.escape-hero:after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.06;
  background-image:linear-gradient(90deg, #fff 1px, transparent 1px), linear-gradient(#fff 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom, black, transparent 72%);
}
.escape-hero > * { position:relative; z-index:1; }
.escape-kicker,
.escape-room-tag,
.escape-micro {
  letter-spacing:.23em;
  text-transform:uppercase;
  font-size:.78rem;
  color:var(--er-muted);
  font-weight:700;
}
.escape-hero h1,
.escape-room-title {
  margin:.18em 0 .22em;
  font-size:clamp(3.2rem, 9vw, 9rem);
  line-height:.88;
  letter-spacing:-.08em;
  color:var(--er-white);
  text-wrap:balance;
}
.escape-lead {
  max-width:980px;
  color:#d9d9d9;
  font-size:clamp(1.05rem, 2vw, 1.45rem);
  line-height:1.55;
}
.escape-actions,
.escape-actions-row {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:24px;
}
.escape-btn,
.escape-btn:visited,
button.escape-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 18px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:999px;
  background:#f7f7f7;
  color:#050505;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
  touch-action:manipulation;
}
.escape-btn:hover,
button.escape-btn:hover { transform:translateY(-1px); }
.escape-btn.secondary,
button.escape-btn.secondary {
  background:#151515;
  color:#f7f7f7;
  border-color:#424242;
}
.escape-btn.ghost,
button.escape-btn.ghost {
  background:transparent;
  color:#f7f7f7;
  border-color:#2f2f2f;
}
.escape-btn:focus-visible,
.escape-object:focus-visible,
.escape-choice:focus-visible,
.escape-door-pad:focus-visible,
.escape-slider input:focus-visible,
.escape-final input:focus-visible { outline:none; box-shadow:var(--er-focus); }
.escape-notice {
  border:1px solid #353535;
  border-radius:var(--er-radius-sm);
  padding:16px 18px;
  background:linear-gradient(180deg, #151515, #090909);
  color:#dcdcdc;
}
.escape-hub-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin:32px 0 48px;
}
.escape-card {
  display:flex;
  min-height:360px;
  flex-direction:column;
  justify-content:space-between;
  gap:20px;
  border:1px solid var(--er-line);
  border-radius:var(--er-radius);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
    #090909;
  box-shadow:0 20px 60px rgba(0,0,0,.42);
  padding:28px;
}
.escape-card h2 { margin:.2em 0; font-size:clamp(1.7rem, 3vw, 3rem); line-height:.96; letter-spacing:-.04em; }
.escape-card p { color:#bdbdbd; line-height:1.55; }
.escape-meta {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.escape-pill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #333;
  border-radius:999px;
  padding:8px 10px;
  color:#c9c9c9;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.escape-progress-mini {
  height:8px;
  border-radius:999px;
  background:#050505;
  border:1px solid #2c2c2c;
  overflow:hidden;
}
.escape-progress-mini span { display:block; height:100%; width:var(--p,0%); background:linear-gradient(90deg, #7a7a7a, #fff); }
.escape-room {
  width:min(1640px, calc(100vw - 28px));
  margin:0 auto 60px;
}
.escape-room-head {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:22px;
  align-items:stretch;
  margin:clamp(18px, 4vw, 46px) 0 28px;
}
.escape-room-head .escape-panel { min-height:360px; }
.escape-panel {
  border:1px solid var(--er-line);
  border-radius:var(--er-radius);
  background:
    radial-gradient(circle at 80% 10%, rgba(255,255,255,.08), transparent 32%),
    linear-gradient(180deg, #151515, #060606);
  box-shadow:var(--er-shadow);
  padding:clamp(22px, 3vw, 42px);
}
.escape-room-title { font-size:clamp(3rem, 7vw, 7.2rem); }
.escape-status-box {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
}
.escape-progress {
  display:grid;
  gap:10px;
}
.escape-progress-bar {
  height:12px;
  border-radius:999px;
  border:1px solid #333;
  background:#030303;
  overflow:hidden;
}
.escape-progress-bar span { display:block; width:var(--progress,0%); height:100%; background:linear-gradient(90deg, #555, #fff); transition:width .28s ease; }
.escape-status {
  min-height:96px;
  border:1px solid #2f2f2f;
  border-radius:22px;
  padding:18px;
  color:#dfdfdf;
  background:#080808;
  line-height:1.5;
}
.escape-status.good { border-color:#666; background:#111; }
.escape-stage {
  display:grid;
  gap:22px;
}
.escape-stage-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}
.escape-stage-grid.two { grid-template-columns:1fr 1fr; }
.escape-console {
  border:1px solid #303030;
  border-radius:var(--er-radius);
  background:linear-gradient(180deg, #121212, #050505);
  padding:clamp(18px, 2.5vw, 34px);
}
.escape-console h2,
.escape-console h3 { margin:.1em 0 .6em; letter-spacing:-.035em; }
.escape-object,
.escape-choice,
.escape-card-button,
.escape-door-pad {
  width:100%;
  min-height:56px;
  border:1px solid #343434;
  border-radius:18px;
  background:linear-gradient(180deg, #181818, #070707);
  color:#f5f5f5;
  text-align:left;
  padding:16px;
  cursor:pointer;
  touch-action:manipulation;
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.escape-object:hover,
.escape-choice:hover,
.escape-card-button:hover,
.escape-door-pad:hover { transform:translateY(-1px); border-color:#7b7b7b; }
.escape-object[aria-pressed="true"],
.escape-choice.selected,
.escape-choice.correct,
.escape-card-button.correct,
.escape-door-pad.collected {
  border-color:#ececec;
  background:linear-gradient(180deg, #2d2d2d, #0c0c0c);
}
.escape-choice.wrong,
.escape-card-button.wrong { border-color:#707070; background:repeating-linear-gradient(135deg, #131313, #131313 8px, #0a0a0a 8px, #0a0a0a 16px); }
.escape-drawer-grid,
.escape-inspection-grid,
.escape-form-pool,
.escape-breaker-grid,
.escape-seam-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.escape-drawer-grid .escape-object { min-height:116px; }
.escape-object strong,
.escape-choice strong { display:block; font-size:1.15rem; margin-bottom:8px; }
.escape-object small,
.escape-choice small { display:block; color:#a7a7a7; line-height:1.4; }
.escape-token-row {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.escape-token {
  border:1px solid #333;
  border-radius:999px;
  padding:9px 11px;
  color:#a2a2a2;
  background:#070707;
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.escape-token.found { color:#fff; border-color:#fff; background:#1b1b1b; }
.escape-order-slots,
.escape-final {
  border:1px solid #2e2e2e;
  border-radius:20px;
  min-height:82px;
  padding:14px;
  background:#070707;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.escape-slot-chip {
  border:1px solid #454545;
  border-radius:999px;
  padding:9px 12px;
  background:#141414;
  color:#f0f0f0;
}
.escape-final { margin-top:20px; flex-direction:column; align-items:stretch; }
.escape-final label { display:grid; gap:8px; color:#cfcfcf; }
.escape-final input {
  min-height:54px;
  border:1px solid #333;
  border-radius:16px;
  background:#030303;
  color:#fff;
  padding:0 14px;
  font-size:1.05rem;
}
.escape-complete {
  display:none;
  border:1px solid #fff;
  border-radius:var(--er-radius);
  background:linear-gradient(180deg, #f5f5f5, #bfbfbf);
  color:#050505;
  padding:26px;
  margin-top:20px;
}
.escape-room[data-complete="true"] .escape-complete { display:block; }
.stamp-dials {
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.stamp-dial {
  min-height:80px;
  border:1px solid #444;
  border-radius:18px;
  background:#090909;
  color:#fff;
  font-size:2rem;
  font-weight:900;
  display:grid;
  place-items:center;
  cursor:pointer;
  user-select:none;
  touch-action:manipulation;
}
.inspection-card {
  border:1px solid #303030;
  border-radius:20px;
  background:#0b0b0b;
  padding:16px;
  display:grid;
  gap:12px;
}
.inspection-card p { color:#cacaca; line-height:1.45; }
.inspection-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.door-slab {
  position:relative;
  min-height:560px;
  border:1px solid #3a3a3a;
  border-radius:42px;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.14), transparent 12%),
    linear-gradient(90deg, #040404, #161616 48%, #050505);
  box-shadow:inset 0 0 90px rgba(255,255,255,.05), var(--er-shadow);
  overflow:hidden;
}
.door-slab:before {
  content:"";
  position:absolute;
  inset:24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:32px;
  pointer-events:none;
}
.door-hold-target {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:min(240px, 45vw);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid #222;
  background:radial-gradient(circle, #1d1d1d, #030303 72%);
  display:grid;
  place-items:center;
  color:#aaa;
  cursor:pointer;
  user-select:none;
  touch-action:none;
}
.door-hold-target.ready { border-color:#fff; color:#fff; }
.door-seam {
  min-height:120px;
  display:grid;
  place-items:center;
  text-align:center;
  color:#aaa;
}
.knock-pad-row { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; }
.repair-board {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.repair-screen {
  min-height:340px;
  border:1px solid #333;
  border-radius:24px;
  background:#050505;
  padding:20px;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  color:#dcdcdc;
  overflow:auto;
}
.repair-screen .line { display:block; margin:8px 0; }
.breaker {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.breaker .switch {
  width:58px;
  height:32px;
  border:1px solid #444;
  border-radius:999px;
  background:#050505;
  position:relative;
  flex:0 0 auto;
}
.breaker .switch:before {
  content:"";
  position:absolute;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#777;
  top:4px;
  left:5px;
  transition:left .18s ease, background .18s ease;
}
.breaker.correct .switch:before { left:29px; background:#fff; }
.patience-gate {
  min-height:520px;
  border:1px solid #383838;
  border-radius:42px;
  background:
    radial-gradient(circle at 50% 30%, rgba(255,255,255,.13), transparent 18%),
    linear-gradient(180deg, #141414, #020202);
  display:grid;
  place-items:center;
  text-align:center;
  padding:30px;
  user-select:none;
  touch-action:manipulation;
}
.patience-gate .count {
  font-size:clamp(4rem, 12vw, 12rem);
  line-height:1;
  letter-spacing:-.08em;
  font-weight:950;
}
.patience-ring {
  width:min(360px, 64vw);
  aspect-ratio:1;
  border:1px solid #323232;
  border-radius:50%;
  display:grid;
  place-items:center;
  box-shadow:inset 0 0 80px rgba(255,255,255,.04);
}
.gray-lab {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.gray-targets {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}
.gray-chip {
  min-height:180px;
  border:1px solid #333;
  border-radius:22px;
  background:rgb(var(--shade), var(--shade), var(--shade));
  display:flex;
  align-items:flex-end;
  padding:14px;
  color:var(--text, #fff);
  font-weight:800;
}
.escape-slider {
  display:grid;
  gap:10px;
  margin:16px 0;
}
.escape-slider input { width:100%; accent-color:#fff; }
.gray-preview {
  min-height:280px;
  border:1px solid #333;
  border-radius:26px;
  background:linear-gradient(90deg, rgb(var(--a),var(--a),var(--a)), rgb(var(--b),var(--b),var(--b)), rgb(var(--c),var(--c),var(--c)));
}
.escape-room .subtle { color:#9e9e9e; }
.escape-reset { margin-left:auto; }
@media (max-width:1100px) {
  .escape-hub-grid { grid-template-columns:1fr 1fr; }
  .escape-room-head,
  .escape-stage-grid,
  .escape-stage-grid.two,
  .gray-lab,
  .repair-board { grid-template-columns:1fr; }
  .escape-room-head .escape-panel { min-height:auto; }
}
@media (max-width:720px) {
  .escape-wrap,
  .escape-room { width:min(100vw - 18px, 760px); }
  .escape-hub-grid,
  .escape-drawer-grid,
  .escape-inspection-grid,
  .escape-seam-grid,
  .escape-breaker-grid { grid-template-columns:1fr; }
  .escape-hero,
  .escape-panel,
  .escape-console,
  .escape-card { border-radius:22px; padding:20px; }
  .escape-card { min-height:auto; }
  .escape-hero h1,
  .escape-room-title { letter-spacing:-.06em; }
  .knock-pad-row { grid-template-columns:1fr 1fr; }
  .stamp-dials { grid-template-columns:repeat(2, 1fr); }
  .door-slab { min-height:430px; border-radius:28px; }
  .patience-gate { min-height:430px; }
}
@media (prefers-reduced-motion: reduce) {
  .escape-btn,
  .escape-object,
  .escape-choice,
  .escape-card-button,
  .escape-door-pad,
  .stamp-dial { transition:none; }
}

/* Room 010 visual vertical slice: staged office exploration */
.escape-view .site-main {
  width:100%;
  max-width:none;
  padding-left:14px;
  padding-right:14px;
}
.escape-view .escape-room,
.escape-view .escape-wrap { width:min(1640px, 100%); }
.office-room { --office-glow:rgba(255,255,255,.17); }
.office-room-nav {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  min-height:54px;
  padding:10px 4px;
  color:#858585;
  font-size:.75rem;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.office-room-nav a { display:inline-flex;align-items:center;gap:9px;color:#d6d6d6;text-decoration:none; }
.office-room-nav a:hover { color:#fff; }
.office-brief {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);
  gap:clamp(28px,5vw,84px);
  align-items:center;
  margin-bottom:18px;
  background:radial-gradient(circle at 92% 5%,rgba(255,255,255,.085),transparent 26rem),linear-gradient(145deg,#111,#050505 72%);
}
.office-brief .escape-room-title { max-width:1000px; }
.office-brief-status { display:grid;gap:18px;align-content:center; }
.office-brief-status .escape-reset { justify-self:end;margin-left:0; }
.office-brief-status .escape-status { min-height:112px; }

.office-scene {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,430px);
  min-height:640px;
  border:1px solid #383838;
  border-radius:30px;
  overflow:hidden;
  background:linear-gradient(180deg,#111 0 69%,#070707 69% 100%);
  box-shadow:var(--er-shadow),inset 0 1px rgba(255,255,255,.035);
  isolation:isolate;
}
.office-scene:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(#000,transparent 82%);
}
.office-scene:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:20;
  pointer-events:none;
  background:radial-gradient(circle at 35% 14%,transparent 0 4rem,rgba(0,0,0,.68) 24rem),rgba(0,0,0,.35);
  opacity:.86;
  transition:opacity .32s ease,background .32s ease;
}
.office-room[data-office-light="on"] .office-scene:after {
  opacity:.14;
  background:radial-gradient(circle at 35% 16%,rgba(255,255,255,.09),transparent 24rem);
}
.office-scene-main { position:relative;min-height:640px; }
.office-scene-main:before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:30.5%;
  height:1px;
  background:#323232;
  box-shadow:0 8px 28px rgba(0,0,0,.8);
}
.office-scene button { color:inherit;font:inherit; }
.office-lamp {
  position:absolute;
  left:31%;
  top:0;
  z-index:22;
  width:150px;
  height:170px;
  border:0;
  background:transparent;
  cursor:pointer;
}
.office-lamp-shade {
  position:absolute;
  left:50%;
  top:18px;
  width:112px;
  height:62px;
  border:1px solid #555;
  border-radius:50% 50% 16px 16px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#292929,#090909);
  box-shadow:0 18px 30px rgba(255,255,255,.02);
}
.office-lamp-shade:after {
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:-78px;
  height:80px;
  clip-path:polygon(34% 0,66% 0,100% 100%,0 100%);
  background:linear-gradient(rgba(255,255,255,.22),transparent);
  opacity:0;
  transition:opacity .25s ease;
}
.office-room[data-office-light="on"] .office-lamp-shade {
  border-color:#d6d6d6;
  box-shadow:0 0 30px rgba(255,255,255,.16);
}
.office-room[data-office-light="on"] .office-lamp-shade:after { opacity:.82; }
.office-lamp-pull { position:absolute;left:50%;top:72px;width:1px;height:52px;background:#777; }
.office-lamp-pull:after { content:"";position:absolute;left:-4px;bottom:-7px;width:9px;height:12px;border-radius:50%;background:#bdbdbd; }
.office-lamp small { position:absolute;left:50%;bottom:4px;transform:translateX(-50%);color:#8d8d8d;font-size:.66rem;text-transform:uppercase;letter-spacing:.13em; }
.office-lamp:hover small { color:#fff; }

.office-wall-notice {
  position:absolute;
  left:7%;
  top:22%;
  z-index:3;
  display:grid;
  gap:7px;
  width:min(310px,38%);
  min-height:178px;
  padding:22px;
  border:1px solid #444;
  border-radius:4px;
  background:linear-gradient(145deg,#d4d4d4,#8d8d8d);
  color:#090909!important;
  text-align:left;
  transform:rotate(-1.4deg);
  cursor:pointer;
  box-shadow:0 16px 45px rgba(0,0,0,.36);
  filter:brightness(.38);
  transition:filter .25s ease,transform .2s ease;
}
.office-room[data-office-light="on"] .office-wall-notice { filter:brightness(.92); }
.office-wall-notice:hover { transform:rotate(0) translateY(-2px); }
.office-wall-notice strong { font:850 .78rem var(--mono);letter-spacing:.08em; }
.office-wall-notice span { font-weight:850;font-size:1.12rem;line-height:1.12; }
.office-wall-notice small { color:#353535; }
.office-clock {
  position:absolute;
  right:8%;
  top:13%;
  width:84px;
  aspect-ratio:1;
  border:1px solid #484848;
  border-radius:50%;
  background:radial-gradient(circle,#171717,#050505 72%);
  box-shadow:0 12px 30px rgba(0,0,0,.4);
}
.office-clock:before,.office-clock:after { content:"";position:absolute;left:50%;top:50%;width:1px;background:#aaa;transform-origin:bottom; }
.office-clock:before { height:25px;transform:translate(-50%,-100%) rotate(18deg); }
.office-clock:after { height:18px;transform:translate(-50%,-100%) rotate(126deg); }
.office-clock span { position:absolute;inset:8px;border:1px dotted #343434;border-radius:50%; }

.office-desk { position:absolute;left:5%;right:4%;bottom:2%;z-index:4;height:270px; }
.office-desk-top {
  position:relative;
  height:74px;
  border:1px solid #484848;
  border-radius:5px 5px 2px 2px;
  background:linear-gradient(180deg,#202020,#0a0a0a);
  box-shadow:0 18px 40px rgba(0,0,0,.52);
}
.office-desk-front { display:grid;grid-template-columns:1fr 1fr;gap:24px;height:188px;margin:0 38px;border:1px solid #303030;border-top:0;background:#090909;padding:18px; }
.office-desk-front span { border:1px solid #292929;background:linear-gradient(145deg,#111,#070707); }
.office-tray {
  position:absolute;
  left:5%;
  bottom:18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  width:190px;
  padding:8px;
  border:1px solid #464646;
  background:#080808;
  cursor:pointer;
}
.office-tray span { display:grid;place-items:center;height:27px;border:1px solid #2e2e2e;color:#bdbdbd;font:.68rem var(--mono); }
.office-tray small { grid-column:1/-1;color:#6f6f6f;font-size:.6rem; }
.office-paper {
  position:absolute;
  left:42%;
  bottom:10px;
  width:150px;
  height:86px;
  border:1px solid #555;
  background:#bcbcbc;
  color:#111!important;
  transform:rotate(2deg);
  cursor:pointer;
}
.office-paper i { display:block;height:1px;margin:12px 18px;background:#555; }
.office-paper small { font:.61rem var(--mono); }
.office-desk-stamp { position:absolute;right:8%;bottom:17px;width:62px;height:68px;border:1px solid #555;border-radius:24px 24px 7px 7px;background:#0b0b0b;display:grid;place-items:center; }
.office-desk-stamp span { color:#777;font-size:1.8rem;font-weight:900; }
.office-tray:hover,.office-paper:hover { border-color:#fff; }

.office-cabinet {
  position:relative;
  z-index:5;
  align-self:end;
  margin:70px 30px 48px 0;
  padding:18px 18px 24px;
  border:1px solid #4a4a4a;
  border-radius:10px 10px 4px 4px;
  background:linear-gradient(90deg,#090909,#202020 48%,#090909);
  box-shadow:18px 24px 60px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.06);
}
.office-cabinet-top { display:flex;justify-content:space-between;align-items:center;padding:3px 5px 14px;color:#8e8e8e;font:.66rem var(--mono);letter-spacing:.12em; }
.office-cabinet-top i { width:12px;height:12px;border:1px solid #666;border-radius:50%; }
.office-drawers { display:grid;gap:10px; }
.office-drawers button {
  position:relative;
  display:grid;
  gap:5px;
  min-height:94px;
  padding:18px 58px 14px 18px;
  border:1px solid #3f3f3f;
  border-radius:4px;
  background:linear-gradient(180deg,#1c1c1c,#090909);
  color:#e5e5e5;
  text-align:left;
  cursor:pointer;
  box-shadow:inset 0 1px rgba(255,255,255,.035);
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.office-drawers button:after { content:"";position:absolute;right:18px;top:50%;width:30px;height:8px;border:1px solid #555;border-radius:2px;transform:translateY(-50%);background:#070707; }
.office-drawers button:hover { transform:translateX(-5px);border-color:#8a8a8a; }
.office-drawers button[aria-pressed="true"] { transform:translateX(-12px);border-color:#d3d3d3;background:linear-gradient(180deg,#292929,#0e0e0e); }
.office-drawers strong { font:.78rem var(--mono);letter-spacing:.08em; }
.office-drawers small { color:#747474;font-size:.68rem; }
.office-cabinet-feet { position:absolute;left:22px;right:22px;bottom:-18px;display:flex;justify-content:space-between; }
.office-cabinet-feet span { width:24px;height:18px;background:#080808;border:1px solid #333;border-top:0; }
.office-scene-caption {
  position:absolute;
  z-index:24;
  left:18px;
  right:18px;
  bottom:14px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(10px);
}
.office-scene-caption span { color:#ddd;font:.68rem var(--mono);letter-spacing:.13em; }
.office-scene-caption p { margin:0;color:#8d8d8d;font-size:.78rem;text-align:right; }

.office-evidence {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin:18px 0;
  padding-top:24px;
  padding-bottom:24px;
  box-shadow:none;
}
.office-evidence h2 { margin:0;font-size:clamp(1.6rem,3vw,2.8rem); }
.office-word-slots { display:grid;grid-template-columns:repeat(3,minmax(86px,1fr));gap:10px; }
.office-word-slot { display:grid;place-items:center;min-height:52px;border-radius:10px;font:850 .8rem var(--mono);letter-spacing:.12em; }
.office-workbench { display:grid;gap:18px; }
.office-workbench-empty { box-shadow:none;text-align:center;padding-block:clamp(32px,5vw,64px); }
.office-workbench-empty h2 { max-width:760px;margin-inline:auto; }
.office-workbench-empty p:last-child { max-width:720px;margin:0 auto;color:#919191; }
.office-puzzle-panel { box-shadow:var(--er-shadow); }
.office-puzzle-panel[hidden],.office-final-lock[hidden],.office-workbench-empty[hidden] { display:none!important; }
.office-puzzle-head { display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:22px; }
.office-puzzle-head h2 { font-size:clamp(2rem,4vw,4.1rem); }
.office-puzzle-head>span { flex:0 0 auto;padding:8px 10px;border:1px solid #343434;border-radius:999px;color:#858585;font:.66rem var(--mono);letter-spacing:.1em;text-transform:uppercase; }
.office-form-layout { display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:clamp(22px,4vw,54px);align-items:start; }
.office-form-clues { margin:0;padding:0;list-style:none;counter-reset:clue;display:grid;gap:9px; }
.office-form-clues li { counter-increment:clue;position:relative;padding:15px 15px 15px 48px;border:1px solid #292929;border-radius:12px;background:#090909;color:#bdbdbd; }
.office-form-clues li:before { content:counter(clue);position:absolute;left:14px;top:13px;display:grid;place-items:center;width:23px;height:23px;border:1px solid #444;border-radius:50%;color:#888;font:.68rem var(--mono); }
.office-order-slots { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:86px;margin-top:12px; }
.office-order-slot { display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;min-width:0;padding:10px;border:1px dashed #383838;border-radius:10px;color:#6e6e6e; }
.office-order-slot b { display:grid;place-items:center;width:22px;height:22px;border:1px solid #333;border-radius:50%;font:.65rem var(--mono); }
.office-order-slot span { overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;font:.68rem var(--mono);letter-spacing:.06em; }
.office-order-slot.filled { border-style:solid;border-color:#737373;background:#111;color:#fff; }
.office-mini-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:12px; }
.office-mini-actions .escape-btn { min-height:40px;padding:8px 12px;font-size:.76rem; }
.office-mini-actions button:disabled,.escape-choice:disabled { opacity:.48;cursor:not-allowed;transform:none; }

.office-stamp-machine { display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:12px;max-width:720px;margin:24px 0; }
.office-stamp-wheel { display:grid;grid-template-rows:42px 92px 42px;border:1px solid #3e3e3e;border-radius:18px;overflow:hidden;background:#050505;box-shadow:inset 0 0 28px rgba(255,255,255,.035); }
.office-stamp-wheel button { border:0;background:#151515;color:#bcbcbc;font-size:1.3rem;cursor:pointer; }
.office-stamp-wheel button:hover { background:#242424;color:#fff; }
.office-stamp-wheel button:disabled { opacity:.35;cursor:not-allowed; }
.office-stamp-wheel output { display:grid;place-items:center;border-block:1px solid #333;background:radial-gradient(circle,#242424,#080808 72%);font:900 2.8rem var(--mono); }
.office-final-lock { margin-top:0;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.1),transparent 22rem),linear-gradient(145deg,#151515,#060606 72%); }
.office-final-lock>h2 { font-size:clamp(2rem,4vw,4.2rem); }
.office-final-lock>label,.office-final-lock>button { max-width:780px; }
.office-final-lock .escape-complete { color:#050505; }
.office-room[data-complete="true"] .office-final-lock>label,
.office-room[data-complete="true"] .office-final-lock>[data-final-check] { display:none; }

@media (max-width:980px) {
  .office-brief,.office-evidence,.office-form-layout { grid-template-columns:1fr; }
  .office-brief-status .escape-reset { justify-self:start; }
  .office-scene { grid-template-columns:minmax(0,1fr) minmax(285px,350px); }
  .office-wall-notice { width:min(280px,48%); }
  .office-evidence { align-items:start; }
  .office-word-slots { width:min(100%,520px); }
}
@media (max-width:760px) {
  .escape-view .site-main { padding-left:9px;padding-right:9px; }
  .office-room-nav { align-items:flex-start; }
  .office-room-nav>span { text-align:right; }
  .office-scene { grid-template-columns:1fr;min-height:auto;padding-bottom:64px; }
  .office-scene-main { min-height:590px; }
  .office-cabinet { margin:0 18px 44px; }
  .office-wall-notice { left:5%;width:56%; }
  .office-clock { right:5%; }
  .office-desk { left:3%;right:3%; }
  .office-scene-caption { position:absolute;bottom:10px;display:grid;gap:4px; }
  .office-scene-caption p { text-align:left; }
  .office-order-slots { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .office-stamp-machine { grid-template-columns:repeat(2,minmax(90px,1fr)); }
  .office-puzzle-head { display:grid; }
  .office-puzzle-head>span { justify-self:start; }
}
@media (max-width:480px) {
  .office-room-nav { font-size:.66rem; }
  .office-scene-main { min-height:540px; }
  .office-lamp { left:24%;transform:scale(.9);transform-origin:top; }
  .office-wall-notice { top:24%;width:62%;padding:16px; }
  .office-wall-notice span { font-size:.92rem; }
  .office-desk { height:250px; }
  .office-tray { width:142px; }
  .office-paper { left:auto;right:9%;width:118px; }
  .office-desk-stamp { display:none; }
  .office-drawers button { min-height:82px; }
  .office-word-slots { grid-template-columns:1fr; }
  .office-order-slots { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .office-scene:after,.office-lamp-shade:after,.office-drawers button,.office-wall-notice { transition:none; }
}

/* Room 020: evidence-first field inspection */
.inspection-room { --inspection-paper:#d9d9d1; }
.inspection-brief { background:radial-gradient(circle at 92% 8%,rgba(255,255,255,.095),transparent 24rem),linear-gradient(145deg,#131313,#040404 76%); }
.inspection-token { min-width:112px;text-align:center;font-family:var(--mono); }
.inspection-bay {
  position:relative;
  overflow:hidden;
  min-height:680px;
  border:1px solid #393939;
  border-radius:30px;
  background:linear-gradient(180deg,#141414 0 74%,#080808 74% 100%);
  box-shadow:var(--er-shadow),inset 0 1px rgba(255,255,255,.04);
  isolation:isolate;
}
.inspection-bay:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.4;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:62px 62px;
  mask-image:linear-gradient(#000,transparent 90%);
}
.inspection-bay-placard {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  min-height:58px;
  padding:10px clamp(18px,3vw,34px);
  border-bottom:1px solid #343434;
  background:#070707;
  color:#8c8c8c;
  font:.67rem var(--mono);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.inspection-bay-placard strong { color:#f5f5f5;font-size:.8rem; }
.inspection-bay-grid {
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(270px,.72fr) minmax(280px,1fr);
  min-height:540px;
}
.inspection-wall { display:grid;gap:16px;padding:clamp(20px,3vw,38px);align-content:center; }
.inspection-wall-left { border-right:1px solid #282828;grid-template-columns:1fr 1fr; }
.inspection-wall-left .inspection-exit { grid-column:1/-1; }
.inspection-wall-right { border-left:1px solid #282828; }
.inspection-object {
  position:relative;
  min-height:150px;
  overflow:hidden;
  border:1px solid #363636;
  border-radius:18px;
  background:linear-gradient(145deg,#181818,#070707 75%);
  color:#eee;
  padding:18px;
  cursor:pointer;
  text-align:left;
  box-shadow:0 16px 36px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.035);
  transition:transform .2s ease,border-color .2s ease,filter .2s ease;
  touch-action:manipulation;
}
.inspection-object:hover { transform:translateY(-2px);border-color:#777; }
.inspection-object:focus-visible { outline:none;box-shadow:var(--er-focus),0 18px 40px rgba(0,0,0,.42); }
.inspection-object[aria-pressed="true"] { border-color:#aaa;filter:brightness(1.08); }
.inspection-object[aria-pressed="true"] .inspection-object-label:after { content:" · EVIDENCE PINNED";color:#fff; }
.inspection-object-label { display:block;margin-bottom:13px;color:#888;font:700 .61rem var(--mono);letter-spacing:.14em;text-transform:uppercase; }

.inspection-exit { min-height:165px; }
.inspection-exit-face { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 16px;border:1px solid #ddd;background:#e7e7e2;color:#050505;box-shadow:0 0 24px rgba(255,255,255,.12); }
.inspection-exit-face b { font:900 1.5rem var(--mono);letter-spacing:.11em; }
.inspection-exit-face i { font-style:normal;font-size:2.2rem;line-height:.7;transition:transform .25s ease; }
.inspection-exit[aria-pressed="true"] .inspection-exit-face i { transform:translateX(10px); }
.inspection-destination { display:block;width:max-content;margin:12px 0 0 auto;padding:5px 8px;border:1px solid #444;color:#aaa;font:.6rem var(--mono);letter-spacing:.09em; }

.inspection-map { min-height:225px; }
.inspection-map-sheet { position:relative;display:block;height:142px;border:1px solid #777;background:#c9c9c2;color:#111;overflow:hidden; }
.inspection-map-sheet:before,.inspection-map-sheet:after,.inspection-map-sheet i { content:"";position:absolute;border:2px solid #444; }
.inspection-map-sheet:before { inset:16px 48% 52% 14px; }
.inspection-map-sheet:after { inset:48% 14px 14px 42%; }
.inspection-map-sheet i:nth-child(1) { left:32%;top:15%;height:70%;border-width:0 0 0 3px;transform:rotate(34deg);transform-origin:bottom; }
.inspection-map-sheet i:nth-child(2) { left:30%;bottom:21%;width:43%;border-width:0 0 3px; }
.inspection-map-sheet i:nth-child(3) { right:18%;bottom:18%;width:10px;height:10px;border-radius:50%;background:#111; }
.inspection-map-sheet i:nth-child(4) { left:23%;top:20%;width:8px;height:8px;border-radius:50%;background:#111; }
.inspection-map-sheet b,.inspection-map-sheet em { position:absolute;font:800 .5rem var(--mono);letter-spacing:.07em; }
.inspection-map-sheet b { left:7%;top:8%; }
.inspection-map-sheet em { right:4%;bottom:5%;font-style:normal; }
.inspection-map[aria-pressed="true"] .inspection-map-sheet i:nth-child(1),.inspection-map[aria-pressed="true"] .inspection-map-sheet i:nth-child(2) { border-color:#050505; }

.inspection-notice { min-height:225px;perspective:600px; }
.inspection-notice-paper { position:relative;z-index:2;display:grid;gap:12px;min-height:135px;padding:16px;border:1px solid #999;background:#d3d3cc;color:#0b0b0b;transform-origin:top;transition:transform .28s ease; }
.inspection-notice-paper b { font:900 .85rem var(--mono);letter-spacing:.1em; }
.inspection-notice-paper small { line-height:1.4; }
.inspection-private-memo { position:absolute;left:28px;right:28px;bottom:31px;display:grid;place-items:center;height:92px;border:1px dashed #777;color:#aaa;font:.63rem var(--mono);letter-spacing:.12em; }
.inspection-notice[aria-pressed="true"] .inspection-notice-paper { transform:rotateX(64deg); }

.inspection-terminal { min-height:240px; }
.inspection-terminal-screen { display:grid;gap:8px;min-height:138px;padding:18px;border:1px solid #484848;background:radial-gradient(circle at 30% 20%,#1f1f1f,#030303 72%);box-shadow:inset 0 0 30px rgba(255,255,255,.025);font-family:var(--mono); }
.inspection-terminal-screen b { color:#ddd;font-size:.86rem; }
.inspection-terminal-screen small { color:#707070; }
.inspection-terminal-screen code { opacity:0;color:#fff;transition:opacity .2s ease; }
.inspection-terminal[aria-pressed="true"] .inspection-terminal-screen code { opacity:1; }
.inspection-terminal-keys { display:block;width:72%;height:15px;margin:13px auto 0;background:repeating-linear-gradient(90deg,#444 0 6px,transparent 6px 10px);opacity:.5; }

.inspection-meter { min-height:240px; }
.inspection-meter-face { position:relative;z-index:2;display:grid;place-items:center;gap:10px;min-height:135px;border:1px solid #505050;background:linear-gradient(145deg,#242424,#080808);transition:transform .25s ease;transform-origin:left; }
.inspection-meter-face b { font:900 1.45rem var(--mono);letter-spacing:.12em; }
.inspection-meter-face i { width:12px;height:12px;border-radius:50%;background:#eee;box-shadow:0 0 15px #fff; }
.inspection-meter-face small { color:#838383;font:.56rem var(--mono);letter-spacing:.11em; }
.inspection-meter[aria-pressed="true"] .inspection-meter-face { transform:perspective(500px) rotateY(-64deg); }
.inspection-cable { position:absolute;z-index:1;left:44%;bottom:28px;width:42%;height:68px;border:5px solid #777;border-width:0 0 5px 5px;border-radius:0 0 0 32px; }
.inspection-plug { position:absolute;right:18px;bottom:24px;width:28px;height:18px;border:2px solid #aaa;background:#111;transform:rotate(-22deg); }
.inspection-plug:after { content:"";position:absolute;right:-8px;top:2px;width:7px;height:10px;border-block:2px solid #aaa; }

.inspection-door-zone { position:relative;display:grid;place-items:center;padding:52px 18px 30px;background:linear-gradient(90deg,#080808,#111 48%,#070707); }
.inspection-approval-stamp { position:absolute;top:25px;right:12px;z-index:3;padding:7px 11px;border:3px double #777;color:#858585;font:900 .72rem var(--mono);letter-spacing:.13em;transform:rotate(7deg); }
.inspection-door { min-height:405px;width:min(100%,285px);overflow:visible;padding:16px;background:transparent;border:0;box-shadow:none; }
.inspection-door:hover { border-color:transparent; }
.inspection-door-frame { position:relative;display:block;height:318px;border:9px solid #3b3b3b;border-bottom-width:4px;background:#080808;perspective:650px; }
.inspection-door-leaf { position:absolute;inset:0;display:block;border:1px solid #555;background:linear-gradient(90deg,#0b0b0b,#262626 58%,#080808);transform-origin:left;transition:transform .42s ease; }
.inspection-door[aria-pressed="true"] .inspection-door-leaf { transform:rotateY(-66deg); }
.inspection-door-handle { position:absolute;right:18px;top:48%;z-index:2;width:10px;height:10px;border:2px solid #ddd;border-radius:50%;transition:transform .42s ease; }
.inspection-door[aria-pressed="true"] .inspection-door-handle { transform:translateX(-95px); }
.inspection-swing-arc { position:absolute;left:16px;bottom:44px;width:170px;height:95px;border:1px dashed #5b5b5b;border-left:0;border-bottom:0;border-radius:0 100% 0 0; }
.inspection-crate { position:absolute;right:-6px;bottom:37px;padding:19px 9px;border:1px solid #555;background:#171717;color:#777;font:.52rem var(--mono);letter-spacing:.08em;transform:rotate(-3deg); }
.inspection-floor-copy { position:absolute;bottom:13px;margin:0;color:#535353;text-align:center;font:800 .58rem var(--mono);letter-spacing:.15em; }
.inspection-floor-copy small { font-weight:500;letter-spacing:.04em; }

.inspection-bay-caption { display:flex;justify-content:center;gap:clamp(18px,4vw,60px);padding:19px 24px;border-top:1px solid #2b2b2b;background:#070707;color:#8c8c8c; }
.inspection-bay-caption p { margin:0;font:.66rem var(--mono);letter-spacing:.07em;text-transform:uppercase; }
.inspection-bay-caption span { display:inline-grid;place-items:center;width:24px;height:24px;margin-right:7px;border:1px solid #3b3b3b;border-radius:50%;color:#ddd; }

.inspection-clipboard,.inspection-audit,.inspection-final { margin-top:18px; }
.inspection-clipboard[hidden],.inspection-audit[hidden],.inspection-final[hidden],.inspection-card[hidden] { display:none!important; }
.inspection-section-head { display:flex;justify-content:space-between;gap:22px;align-items:start;margin-bottom:24px; }
.inspection-section-head h2 { margin:.15em 0;font-size:clamp(2rem,4vw,4rem); }
.inspection-section-head>span { flex:0 0 auto;padding:8px 10px;border:1px solid #3d3d3d;border-radius:999px;color:#888;font:.64rem var(--mono);letter-spacing:.09em;text-transform:uppercase; }
.inspection-findings { align-items:stretch; }
.inspection-card { min-height:260px;padding:22px;background:linear-gradient(160deg,#151515,#060606 76%); }
.inspection-card.supported { border-color:#aaa;box-shadow:inset 4px 0 #ddd; }
.inspection-card h3 { margin:0;font-size:1.55rem; }
.inspection-finding-number { color:#747474;font:700 .62rem var(--mono);letter-spacing:.12em; }
.inspection-card .inspection-actions { margin-top:auto; }
.inspection-card .escape-card-button { text-align:center; }
.inspection-card .escape-card-button:disabled { cursor:default;opacity:.52;transform:none; }
.inspection-card .escape-card-button.correct:disabled { opacity:1; }

.inspection-audit { background:linear-gradient(145deg,#151515,#050505 76%); }
.inspection-audit-strip { display:grid;grid-template-columns:repeat(6,minmax(70px,1fr));gap:10px; }
.inspection-audit-segment { position:relative;display:grid;place-items:center;min-height:132px;border:1px dashed #3a3a3a;border-radius:14px;background:#080808;color:#535353; }
.inspection-audit-segment small { position:absolute;top:9px;left:10px;color:#555;font:.55rem var(--mono); }
.inspection-audit-segment b { font:900 clamp(1.8rem,4vw,3.6rem) var(--mono);letter-spacing:-.06em; }
.inspection-audit-segment.revealed { border-style:solid;border-color:#ddd;background:#e5e5df;color:#050505;box-shadow:0 0 26px rgba(255,255,255,.08); }
.inspection-audit-segment.phrase-break { margin-left:15px; }
.inspection-audit-segment.phrase-break:before { content:"/";position:absolute;left:-18px;color:#777;font:1.25rem var(--mono); }
.inspection-final { align-items:stretch;padding:clamp(24px,4vw,52px);background:radial-gradient(circle at 88% 10%,rgba(255,255,255,.12),transparent 25rem),linear-gradient(145deg,#151515,#030303 75%); }
.inspection-final>h2 { font-size:clamp(2rem,4vw,4.2rem); }
.inspection-room[data-complete="true"] .inspection-final>label,.inspection-room[data-complete="true"] .inspection-final>[data-final-check] { display:none; }

@media (max-width:1120px) {
  .inspection-bay-grid { grid-template-columns:1fr 1fr; }
  .inspection-door-zone { grid-row:1 / span 2;grid-column:2; }
  .inspection-wall-left,.inspection-wall-right { border:0; }
  .inspection-wall-right { border-top:1px solid #292929; }
}
@media (max-width:760px) {
  .inspection-bay { min-height:auto; }
  .inspection-bay-placard { display:grid;grid-template-columns:1fr auto; }
  .inspection-bay-placard span:last-child { display:none; }
  .inspection-bay-grid { grid-template-columns:1fr; }
  .inspection-door-zone { grid-row:auto;grid-column:auto;min-height:510px;border-block:1px solid #292929; }
  .inspection-wall-left { grid-template-columns:1fr; }
  .inspection-wall-left .inspection-exit { grid-column:auto; }
  .inspection-bay-caption { display:grid;gap:8px; }
  .inspection-section-head { display:grid; }
  .inspection-section-head>span { justify-self:start; }
  .inspection-audit-strip { grid-template-columns:repeat(3,1fr); }
  .inspection-audit-segment.phrase-break { margin-left:0; }
  .inspection-audit-segment.phrase-break:before { display:none; }
}
@media (max-width:440px) {
  .inspection-wall { padding:16px; }
  .inspection-audit-strip { grid-template-columns:repeat(2,1fr); }
  .inspection-door { width:250px; }
}
@media (prefers-reduced-motion:reduce) {
  .inspection-object,.inspection-exit-face i,.inspection-notice-paper,.inspection-meter-face,.inspection-door-leaf,.inspection-door-handle { transition:none; }
}
