.cr-escape-catalog {
  color: var(--cr-ink, #1b2c3a);
  width: 100%;
  min-width: 0;
  padding: 8px 0 28px;
}

/* The native dock's legacy text fill is inherited independently of color. */
.cr-escape-catalog :is(p, h3, span, strong, a, dl, dt, dd) {
  -webkit-text-fill-color: currentColor;
}

.cr-escape-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 24px;
  align-items: stretch;
}

.cr-escape-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: var(--cr-panel-raised, #fff);
  border: 1px solid var(--cr-line, #e2e6e9);
  border-radius: 20px;
  box-shadow: 0 7px 22px rgba(27, 44, 58, 0.055);
}

.cr-escape-card--available {
  border-color: var(--cr-accent, #cbbb9b);
  box-shadow: 0 7px 24px rgba(74, 59, 27, 0.09);
}

.cr-escape-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--cr-panel, #17242e);
}

.cr-escape-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.cr-escape-card[data-cr-escape-game="caravaggio"] .cr-escape-image img {
  object-position: center 25%;
}

.cr-escape-status {
  position: absolute;
  inset-inline-start: 16px;
  bottom: 15px;
  max-width: calc(100% - 32px);
  padding: 7px 12px;
  color: var(--cr-ink, #334957);
  background: var(--cr-panel, #f8f8f4);
  border: 1px solid var(--cr-line, #e2e6e9);
  border-radius: 30px;
  font: 650 12px/1.25 system-ui, sans-serif;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.cr-escape-status--available {
  color: var(--cr-ink, #244838);
  background: var(--cr-panel, #edf7ee);
  border-color: var(--cr-accent, #d8e9d8);
}

.cr-escape-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  padding: 22px;
  min-width: 0;
}

.cr-escape-city {
  margin: 0 0 8px;
  color: var(--cr-accent, #80683d);
  font: 700 11px/1.4 system-ui, sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cr-escape-title {
  margin: 0 0 12px;
  color: var(--cr-ink, #172c3e);
  font: 600 24px/1.2 Georgia, "Times New Roman", serif;
  letter-spacing: -0.025em;
  overflow-wrap: anywhere;
  text-align: start;
}

.cr-escape-description {
  margin: 0 0 22px;
  color: var(--cr-muted, #4b5b68);
  font: 400 14px/1.65 system-ui, sans-serif;
  overflow-wrap: anywhere;
}

.cr-escape-start {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: auto 0 0;
  padding-top: 15px;
  border-top: 1px solid var(--cr-line, #e9ecee);
  font: 400 13px/1.5 system-ui, sans-serif;
  overflow-wrap: anywhere;
}

.cr-escape-start > span {
  color: var(--cr-muted, #73808a);
  font-size: 11px;
  font-weight: 650;
}

.cr-escape-start strong {
  color: var(--cr-ink, #324754);
  font-weight: 550;
}

.cr-escape-languages {
  margin:0 0 18px;
  color:var(--cr-accent,#80683d);
  font:650 12px/1.5 var(--cr-font,system-ui,sans-serif);
}

.cr-escape-facts {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:22px 0 0;
  padding:18px 0 0;
  border-top:1px solid var(--cr-line,#e2e6e9);
}
.cr-escape-facts div{min-width:0;}
.cr-escape-facts dt{margin:0 0 6px;color:var(--cr-muted,#52636e);font:650 10px/1.5 var(--cr-font,system-ui,sans-serif);letter-spacing:.06em;text-transform:uppercase;}
.cr-escape-facts dd{margin:0;color:var(--cr-ink,#182d3b);font:650 13px/1.5 var(--cr-font,system-ui,sans-serif);}

.cr-escape-play {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  margin-top: 17px;
  padding: 12px 16px;
  border: 1px solid var(--cr-accent, #243d4d);
  border-radius: 10px;
  background: var(--cr-panel, #203a4b);
  color: var(--cr-ink, #fff);
  font: 650 14px/1.5 system-ui, sans-serif;
  text-decoration: none;
}

.cr-escape-play:hover {
  background: var(--cr-panel-raised, #122c3d);
  color: var(--cr-ink, #fff);
}

.cr-escape-play:focus-visible {
  outline: 3px solid var(--cr-accent, #a97820);
  outline-offset: 4px;
}

.cr-escape-catalog[dir="rtl"] .cr-escape-title {
  text-align: right;
}

.cr-escape-catalog[dir="rtl"] .cr-escape-play > span:last-child {
  transform: scaleX(-1);
}

@media (max-width: 600px) {
  .cr-escape-grid {
    gap: 20px;
  }

  .cr-escape-image {
    aspect-ratio: 16 / 9;
  }

  .cr-escape-content {
    padding: 21px;
  }

  .cr-escape-title {
    font-size: 25px;
  }

  .cr-escape-description {
    font-size: 15px;
  }
}

/* Route planning is separate from server-owned gameplay, bookings and prizes. */
.cr-escape-planner-page{--cr-menu-heading:var(--cr-font,Inter,system-ui,sans-serif);--cr-menu-title-weight:650;--cr-menu-title-min:25px;--cr-menu-title-max:31px;color:var(--cr-ink);font-family:var(--cr-font,Inter,system-ui,sans-serif)}
#atgPoiDockV1090 .cr-escape-planner-page *{-webkit-text-fill-color:currentColor!important}
.cr-route-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.cr-route-entry{appearance:none;position:relative;display:flex;flex-direction:column;gap:22px;align-items:flex-start;padding:24px;text-align:start;border:1px solid var(--cr-line);border-radius:20px;background:var(--cr-panel);color:var(--cr-ink);min-width:0;min-height:210px;cursor:pointer;transition:border-color .18s,background .18s;font:inherit}
.cr-route-entry.is-featured{grid-column:1/-1;flex-direction:row;align-items:center;min-height:130px;background:color-mix(in srgb,var(--cr-accent) 5%,var(--cr-panel))}
.cr-route-entry strong{display:block;font:650 20px/1.25 var(--cr-font);letter-spacing:-.025em;max-width:24ch}.cr-route-entry small{display:block;font:400 14px/1.55 var(--cr-font);color:var(--cr-muted);margin-top:10px;max-width:34ch}.cr-route-entry-icon{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:15px;background:color-mix(in srgb,var(--cr-accent) 9%,var(--cr-panel));color:var(--cr-accent)}.cr-route-entry-icon svg{width:25px;height:25px}.cr-route-entry-arrow{position:absolute;inset-inline-end:22px;top:24px;color:var(--cr-accent);font-size:22px}.cr-route-entry:hover{border-color:var(--cr-accent);background:var(--cr-panel-raised)}
.cr-escape-planner-page :is(button,a,input,select):focus-visible{outline:3px solid var(--cr-accent);outline-offset:3px}.cr-escape-planner-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 15px;border:1px solid var(--cr-line);border-radius:12px;background:var(--cr-panel);color:var(--cr-ink);font:600 14px/1.4 var(--cr-font);cursor:pointer}.cr-escape-planner-button:disabled{opacity:.35;cursor:default}.cr-escape-planner-button.is-primary{background:var(--cr-accent);border-color:var(--cr-accent);color:var(--cr-accent-ink,#fff)}.cr-escape-planner-page [hidden]{display:none!important}
.cr-route-description{font-size:15px;line-height:1.6;color:var(--cr-muted);margin:20px 0}.cr-route-workspace{display:grid;gap:24px;margin-top:24px}.cr-route-field{display:grid;gap:8px;font:600 13px/1.5 var(--cr-font);color:var(--cr-ink)}.cr-route-field :is(input,select){display:block;box-sizing:border-box;width:100%;min-height:48px;padding:12px;border:1px solid var(--cr-line);border-radius:12px;background:var(--cr-panel);color:var(--cr-ink);font:400 16px/1.4 var(--cr-font);color-scheme:normal}.cr-route-field select{max-width:100%}.cr-route-preferences{display:grid;gap:18px;align-content:start;padding:20px;background:var(--cr-panel);border:1px solid var(--cr-line);border-radius:18px}.cr-route-place-list{display:grid;gap:8px;margin-top:18px;max-height:390px;overflow:auto;overscroll-behavior:contain;padding:4px}
.cr-route-place{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:14px 16px;border:1px solid var(--cr-line);border-radius:13px;background:var(--cr-panel);color:var(--cr-ink);text-align:start;cursor:pointer;font:inherit}.cr-route-place[aria-pressed=true]{border-color:var(--cr-accent);background:color-mix(in srgb,var(--cr-accent) 7%,var(--cr-panel))}.cr-route-place strong{font-size:14px;line-height:1.4}.cr-route-place small{display:block;margin-top:4px;color:var(--cr-muted);font-size:12px}.cr-route-add{font-size:24px;color:var(--cr-accent);flex-shrink:0}.cr-route-selection{padding:20px;border:1px solid var(--cr-line);border-radius:18px;background:var(--cr-panel)}.cr-route-selection-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.cr-route-selection-head h3{font:650 20px/1.3 var(--cr-font);margin:0}.cr-route-selection-head>span{font-size:12px;color:var(--cr-muted)}.cr-route-selection ol{list-style:none;margin:0;padding:0;display:grid;gap:14px}.cr-route-selection li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px 12px;align-items:start}.cr-route-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--cr-accent) 10%,var(--cr-panel));color:var(--cr-accent);font-size:12px;font-weight:700}.cr-route-selection li strong{font-size:14px}.cr-route-selection li small{display:block;color:var(--cr-muted);font-size:12px;margin-top:5px}.cr-route-order{grid-column:2;display:flex;gap:6px}.cr-route-order button{min-height:36px;padding:4px 12px}.cr-route-loop{font-size:12px;color:var(--cr-muted);margin:18px 0}.cr-route-style{display:flex;flex-wrap:wrap;gap:8px;border:0;margin:22px 0;padding:0}.cr-route-style legend{font-size:13px;font-weight:600;margin-bottom:10px}.cr-route-style [aria-pressed=true]{border-color:var(--cr-accent);color:var(--cr-accent)}.cr-route-selection>.cr-escape-planner-button{width:100%;margin-top:16px}.cr-route-status{font-size:13px;line-height:1.5;color:var(--cr-accent);margin:12px 0 0}.cr-route-empty{font-size:14px;line-height:1.6;color:var(--cr-muted);padding:18px 0}.cr-route-availability{border-top:1px solid var(--cr-line);margin:24px 0 0;padding-top:18px;color:var(--cr-muted);font:400 12px/1.6 var(--cr-font)}.cr-route-saved{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border:1px solid var(--cr-line);border-radius:16px;margin:14px 0;background:var(--cr-panel)}.cr-route-saved h4{font:650 18px/1.35 var(--cr-font);margin:0}.cr-route-saved p{font-size:12px;color:var(--cr-muted);margin:8px 0 0}.cr-escape-ready{margin-top:24px}
@media(max-width:480px){.cr-route-entry-grid{grid-template-columns:1fr;gap:12px;margin-top:18px}.cr-route-entry,.cr-route-entry.is-featured{flex-direction:row;align-items:center;min-height:126px;padding:20px 38px 20px 16px;gap:16px}.cr-route-entry strong{font-size:17px}.cr-route-entry small{font-size:13px;line-height:1.5;margin-top:7px}.cr-route-entry-arrow{inset-inline-end:14px;top:18px;font-size:18px}.cr-route-entry-icon{width:44px;height:44px}.cr-route-selection{padding:16px}.cr-route-saved{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.cr-route-entry{transition:none}}
