.map-reminder-tab {
  position: fixed;
  z-index: 38;
  display: block;
  top: env(safe-area-inset-top, 0px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 6.5rem;
  min-height: 2.65rem;
  margin: 0;
  padding: .55rem 1.15rem;
  border: 0;
  border-radius: 0 0 1rem 1rem;
  color: #fff8ea;
  background: rgba(91, 51, 31, .94);
  box-shadow: 0 .25rem .85rem rgba(0, 0, 0, .34);
  font: inherit;
  font-weight: 800;
  touch-action: pan-y;
}

.front-door {
  padding-top: calc(3.2rem + env(safe-area-inset-top, 0px));
}

.map-reminder-tab[hidden] { display: none; }

.map-workspace {
  position: fixed;
  z-index: 80;
  inset: 0;
  overflow: hidden;
  color: #2a211b;
  background: #d8e3d4;
  transform: translateY(-102%);
  visibility: hidden;
  transition: transform 240ms ease, visibility 0s linear 240ms;
}

.map-workspace.is-open {
  transform: translateY(0);
  visibility: visible;
  transition-delay: 0s;
}

.map-workspace-header {
  position: absolute;
  z-index: 5;
  inset: 0 0 auto;
  display: grid;
  place-items: start;
  min-height: 5rem;
  padding: max(.55rem, env(safe-area-inset-top, 0px)) .75rem 0;
  background: linear-gradient(rgba(255, 248, 234, .78), rgba(255, 248, 234, 0));
  pointer-events: none;
}

.map-workspace-brand {
  width: min(42vw, 11rem);
  height: auto;
  filter: drop-shadow(0 .12rem .28rem #fff) drop-shadow(0 .12rem .18rem rgba(0, 0, 0, .48));
  pointer-events: none;
}

.map-workspace-content,
.map-workspace-content.destination-content {
  position: absolute;
  inset: 0;
  min-height: 100%;
  padding: 0;
  overflow: hidden;
}

.map-workspace-content > .room-heading { display: none; }

.map-workspace-content .map-board,
.map-workspace-content .map-board.map-dominant {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
}

.map-workspace-content .map-tools { top: max(5.25rem, calc(env(safe-area-inset-top, 0px) + 4.4rem)); }
.map-workspace-content .map-zoom-controls { bottom: calc(4.25rem + env(safe-area-inset-bottom, 0px)); }

.map-return-latch {
  position: absolute;
  z-index: 6;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  min-height: 3.25rem;
  padding: .72rem 1.2rem calc(.72rem + env(safe-area-inset-bottom, 0px));
  border: 0;
  border-radius: 1rem 1rem 0 0;
  color: #fff8ea;
  background: rgba(91, 51, 31, .94);
  box-shadow: 0 -.25rem .9rem rgba(0, 0, 0, .28);
  font: inherit;
  font-weight: 850;
}

body.map-workspace-open { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .map-workspace { transition: none; }
}
