body.route-root .rpg-house-b {
  display: block !important;
}

.rpg-backrooms-door {
  position: absolute;
  z-index: 8;
  left: 37%;
  bottom: 0;
  width: 28%;
  height: 48%;
  padding: 0;
  border: 3px solid rgba(48,30,16,.78);
  border-bottom: 0;
  background: linear-gradient(90deg, #5e3d21 0 46%, #251b14 46% 54%, #674324 54%);
  box-shadow: inset 3px 0 rgba(255,216,128,.16), 0 0 0 2px rgba(0,0,0,.16);
  cursor: pointer;
}

.rpg-backrooms-door::after {
  content: "";
  position: absolute;
  right: 14%;
  top: 48%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f2cf6e;
  box-shadow: 0 0 7px rgba(255,225,125,.84);
}

.rpg-backrooms-door:hover,
.rpg-backrooms-door:focus-visible {
  filter: brightness(1.28) saturate(.62);
  outline: 2px solid #fff0a8;
  outline-offset: 4px;
}

body.root-backrooms-warping .rpg-screen {
  animation: rootBackroomsWarp .42s steps(2,end) forwards;
}

.root-backrooms-password {
  position: fixed;
  z-index: 200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(0,0,0,.76);
  backdrop-filter: blur(2px);
}

.root-backrooms-password-card {
  width: min(420px, 100%);
  padding: 22px;
  border: 2px solid #9f9053;
  color: #f5efbb;
  background: #15140d;
  box-shadow: 10px 10px 0 rgba(0,0,0,.68), inset 0 0 0 2px #292715;
  font-family: "MS Gothic", monospace;
}

.root-backrooms-password-kicker {
  margin: 0 0 16px;
  color: #b8d36b;
  font-size: 11px;
  letter-spacing: .12em;
}

.root-backrooms-password h2 {
  margin: 0 0 16px;
  font: 700 18px/1.55 "Yu Mincho", serif;
}

.root-backrooms-password input {
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border: 2px solid #6e6736;
  color: #f7efb4;
  background: #050504;
  font: 700 17px/1 "MS Gothic", monospace;
}

.root-backrooms-password input:focus-visible {
  outline: 2px solid #dce87d;
  outline-offset: 3px;
}

.root-backrooms-password-note {
  min-height: 2.8em;
  margin: 13px 0;
  color: #d4ca91;
  font: 13px/1.55 "Yu Gothic", sans-serif;
}

.root-backrooms-password-actions {
  display: flex;
  gap: 8px;
}

.root-backrooms-password button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #827944;
  color: #f9f1b8;
  background: #30321b;
  font: 700 13px/1 "MS Gothic", monospace;
  cursor: pointer;
}

.root-backrooms-password button:hover,
.root-backrooms-password button:focus-visible {
  color: #18170c;
  background: #d1d67b;
  outline: none;
}

.root-backrooms-password.is-rejected .root-backrooms-password-card {
  animation: rootBackroomsPasswordReject .36s steps(3,end);
}

.root-backrooms-password.is-accepted .root-backrooms-password-card {
  filter: brightness(1.6) contrast(1.5);
}

@keyframes rootBackroomsWarp {
  to { filter: sepia(1) saturate(.35) brightness(1.6) contrast(1.5); transform: scale(1.08); }
}

@keyframes rootBackroomsPasswordReject {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-8px); }
  75% { transform: translateX(8px); }
}
