/* Transparent scene-relative target; the even-odd path reserves the kitty. */
.welcome-couch-shape { position: absolute; pointer-events: none; }
.welcome-couch {
  position: absolute; inset: 0; width: 100%; height: 100%; z-index: 9;
  padding: 0; border: 0; border-radius: 0; background: transparent;
  clip-path: url(#welcome-couch-clip); cursor: pointer; touch-action: manipulation;
}
.welcome-couch:disabled { pointer-events: none; }
.welcome-couch-cue { position: absolute; left: 30%; top: 58%; padding: 6px 9px; font: bold 16px/1.3 'Courier New', monospace; color: #fff3cc; background: #291509; opacity: 0; }
.welcome-couch:focus-visible .welcome-couch-cue { opacity: 1; outline: 2px solid #ffc17d; }
.show-couch-hotspot .welcome-couch { background: rgb(255 181 0 / 35%); }
.show-couch-hotspot .welcome-couch-cue { opacity: 1; }
/* Three older tablet fridge/cabinet boxes were positioned over the couch.
   Align their targets to the painted right wall before adding Welcome. */
@media (min-width: 768px) and (max-width: 1199px) {
  .scene--home:is([data-artwork-grade="amber"], [data-artwork-grade="local-red-strong"], [data-artwork-grade="psychedelic"]) .home-object--contact { left: 72%; top: 23%; width: 21%; height: 27%; }
  .scene--home:is([data-artwork-grade="amber"], [data-artwork-grade="local-red-strong"], [data-artwork-grade="psychedelic"]) .home-object--archive { left: 94%; top: 27%; width: 6%; height: 28%; }
}
.welcome-dialog {
  position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none;
  margin: 0; border: 0; border-radius: 0; padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
  box-sizing: border-box; background: transparent; color: #291b10; overflow: auto;
}
.welcome-dialog[open] { display: grid; place-items: center; }
.welcome-dialog::backdrop { background: rgb(8 5 2 / 36%); }
.welcome-paper {
  position: relative; width: min(650px, 100%); box-sizing: border-box;
  padding: 58px 48px 62px; border: 0;
  background: url('/public/assets/bulletin-board/production-v002/papers/paper-40-wrinkled-stain-sheet-v001.png') center / 100% 100% no-repeat;
  filter: drop-shadow(5px 9px 8px rgb(0 0 0 / 48%));
}
.welcome-graphic { display: block; width: 100%; height: auto; aspect-ratio: 2; object-fit: contain; }
.welcome-message { margin: 24px 0 0; font: bold clamp(20px, 2.1vw, 27px)/1.5 'Courier New', Courier, monospace; text-align: center; letter-spacing: -0.045em; outline: none; }
.welcome-message span { display: block; }
.welcome-message span:nth-child(2) { transform: rotate(-1deg); }
.welcome-message span:nth-child(3) { transform: rotate(.6deg); }
.welcome-accessible-close:focus-visible { position: relative; width: auto; height: auto; clip: auto; clip-path: none; overflow: visible; white-space: normal; display: block; margin: 12px auto 0; padding: 10px; border: 1px dashed #3b2415; background: #d6bc85; color: #291b10; font: bold 17px 'Courier New', monospace; }
@media (max-width: 767px) {
  .welcome-paper { padding: 34px 22px 38px; }
  .welcome-message { margin-top: 20px; font-size: clamp(18px, 4.5vw, 24px); line-height: 1.5; }
}
@media (max-height: 540px) and (min-width: 600px) {
  .welcome-paper { width: min(500px, 100%); padding: 32px 38px; }
  .welcome-graphic { max-height: 165px; }
  .welcome-message { font-size: 20px; margin-top: 12px; }
}
