/* fx.css · micro/toast, a small note slides in at the corner and away again · owner: Lizzy East · all rights reserved */

/* One polite live region (data-fx-toaster) sits at the bottom right, empty and taking
   no room. fx.js puts one note in it at a time: in from below, four seconds (held
   while the pointer or focus is on it), then out again. With motion off it simply
   appears and goes. Without script the buttons stay disabled. */
[data-fx-toaster] {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 60;
  display: grid;
  justify-items: end;
  width: min(26rem, calc(100% - 2rem));
  pointer-events: none;
}
[data-fx-toaster] > * {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 0.6rem 0.6rem 0.6rem 1.2rem;
  border-radius: var(--fx-toast-radius, 14px);
  background: var(--fx-toast-bg, #111117);
  color: var(--fx-toast-ink, #f4f5f7);
  box-shadow: 0 18px 40px -16px rgb(0 0 0 / 0.5);
  pointer-events: auto;
}
[data-fx-toaster] > * > p { flex: 1; margin: 0; line-height: 1.35; }
[data-fx-toaster] button {
  flex: none;
  min-width: 44px;
  min-height: 44px;
  padding: 0 1rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 0.9rem;
  cursor: pointer;
}
[data-fx-toaster] button:focus-visible { outline: 3px solid var(--fx-toast-focus, #cfff3e); outline-offset: 2px; }
[data-fx~="micro/toast"]:disabled { cursor: default; }
