@layer components {
  .page:has(+ .notice) {
    padding-block-end: var(--space-5);
  }

  .notice {
    position: relative;
    z-index: var(--z-chrome);
    display: flex;
    flex: none;
    align-items: center;
    gap: var(--space-2);
    inline-size: calc(var(--size-fill) - 2 * var(--gutter-fluid));
    max-inline-size: var(--measure-tight);
    margin-block: var(--space-0) calc(var(--dock-clearance) + var(--space-5));
    margin-inline: auto;
    padding-block: var(--space-2);
    padding-inline: var(--space-6) var(--space-2);
    border-radius: var(--radius-pill);
    background-color: var(--color-surface-inverse);
    color: var(--color-ink-on-inverse);
    box-shadow: var(--elev-3);
    touch-action: none;
    transition:
      opacity var(--dur-base) var(--ease-calm),
      translate var(--dur-sheet) var(--ease-spring-soft);
  }

  @starting-style {
    .notice {
      opacity: var(--opacity-none);
      translate: var(--space-0) var(--space-6);
    }
  }

  .notice--dragging {
    transition: none;
  }

  .notice--leaving {
    opacity: var(--opacity-none);
    pointer-events: none;
  }

  .notice__message {
    flex: auto;
    min-inline-size: var(--space-0);
    padding-block: var(--space-4);
    font: var(--type-body-sm);
    text-wrap: pretty;
  }

  .notice__undo,
  .notice__close {
    display: grid;
    place-items: center;
    min-inline-size: var(--tap-min);
    min-block-size: var(--tap-min);
    border-radius: var(--radius-pill);
    color: var(--color-ink-on-inverse);
    -webkit-tap-highlight-color: transparent;
  }

  .notice__undo {
    padding-inline: var(--space-5);
    font: var(--type-button);
  }

  .notice__close {
    --icon-size: var(--button-icon-size);
  }

  @media (any-hover: hover) {
    .notice__undo:hover {
      text-decoration: underline;
    }
  }
}
