/* The marks remain ink in the sheet. Only the invitation is interactive. */
/* Home's poster lettering is hidden behind the opening; the blank sheet still
   needs a hit surface extending through the reading viewport. */
html.enhanced [data-place="home"] .place-body { min-height: 100%; }
.place-body > .poster-art-canvas {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  pointer-events: none;
  z-index: 5;
  mix-blend-mode: multiply;
}
html[data-inkgrain="on"] .poster-art-canvas {
  -webkit-mask-image: var(--inkgrain);
  mask-image: var(--inkgrain);
  -webkit-mask-size: 512px 512px;
  mask-size: 512px 512px;
}
.place-body.art-drawing { touch-action: none; user-select: none; -webkit-user-select: none; }
.art-invite {
  position: absolute;
  z-index: 8;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 44px;
  min-height: 44px;
  padding: 2px 6px;
  color: var(--ink, #15141a);
  background: transparent;
  border: 0;
  border-radius: 0;
  font: 700 15px/1.1 Kalam, cursive;
  cursor: pointer;
  mix-blend-mode: multiply;
}
.art-invite[hidden] { display: none; }
.art-invite canvas { display: block; width: 30px; height: 28px; }
.art-invite span { white-space: nowrap; border-bottom: 1px solid transparent; }
.art-invite:hover span { border-color: currentColor; }
.art-invite:focus-visible { outline: 1px dashed currentColor; outline-offset: 2px; }
.art-invite.thinking span { opacity: .5; }
.art-invite.thinking canvas { animation: art-thinking 1.3s ease-in-out infinite; }
@keyframes art-thinking { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
@media (prefers-reduced-motion: reduce) { .art-invite.thinking canvas { animation: none; } }
@media print { .art-invite { display: none !important; } .poster-art-canvas { visibility: visible !important; } }
