/* Homepage-only notice: 420ms entrance, 10000ms hold, 280ms exit.
   No storage or shared-shell injection: a fresh page load replays it once. */
.home-grid-notice {
  position: fixed;
  z-index: 90;
  inset: auto 0 0;
  display: block;
  padding: 8px 24px calc(8px + env(safe-area-inset-bottom, 0px));
  background: #f4f4f4;
  color: #999999;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  text-align: center;
  text-decoration: none;
  visibility: hidden;
  animation: home-grid-enter 420ms cubic-bezier(0.22, 1, 0.36, 1),
             home-grid-exit 280ms cubic-bezier(0.4, 0, 1, 1);
  animation-delay: 0ms, 10420ms;
  animation-fill-mode: both, forwards;
  animation-iteration-count: 1;
}
.home-grid-notice span {
  color: #2F6D89;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.home-grid-notice:focus-visible {
  outline: 2px solid #2F6D89;
  outline-offset: -4px;
}
@keyframes home-grid-enter {
  from { visibility: visible; transform: translateY(100%); }
  to { visibility: visible; transform: translateY(0); }
}
@keyframes home-grid-exit {
  from { visibility: visible; transform: translateY(0); }
  to { visibility: hidden; transform: translateY(100%); }
}
@media (prefers-reduced-motion: reduce) {
  .home-grid-notice {
    animation-name: home-grid-fade-in, home-grid-fade-out;
    animation-duration: 180ms, 180ms;
    animation-delay: 0ms, 10180ms;
    animation-timing-function: ease-out, ease-in;
  }
}
@keyframes home-grid-fade-in {
  from { visibility: visible; opacity: 0; }
  to { visibility: visible; opacity: 1; }
}
@keyframes home-grid-fade-out {
  from { visibility: visible; opacity: 1; }
  to { visibility: hidden; opacity: 0; }
}
