.request-notice {
  position: absolute;
  top: calc(100% + 8px);
  right: max(12px, env(safe-area-inset-right));
  width: max-content;
  max-width: calc(100% - 24px);
  padding: 10px 14px;
  border-radius: 6px;
  background: #412b20;
  color: #fffdfa;
  box-shadow: 0 4px 14px #29272428;
  font-size: 14px;
  line-height: 1.4;
  text-align: start;
  opacity: 0;
  pointer-events: none;
}
.request-notice:empty::before {
  content: attr(data-measure);
  visibility: hidden;
}
.request-notice.is-visible {
  opacity: 1;
  animation: notice-in .18s ease-out;
}
@keyframes notice-in {
  from { opacity: 0; transform: translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) {
  .request-notice.is-visible { animation: none; }
}
