/* gd-toast: transient glass pill (MESSAGING.md confirm toast). Shows one
   line at a time and updates in place, never stacks; when the dock or
   PurchaseBar is up it rides above them so the acknowledgment and the
   ledger row are visible together. */
/* width: max-content (journey pass): the abs-pos left:50% box otherwise
   resolves shrink-to-fit against the space right of the offset and wraps
   long confirmations into a narrow column. max-width still caps it. */
gd-toast { position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 50; width: max-content; max-width: 90%;
  padding: 12px 20px; border-radius: var(--radius-pill); background: var(--glass);
  border: 1px solid var(--accent-soft-border);
  backdrop-filter: blur(var(--blur-glass)) saturate(var(--glass-saturate));
  box-shadow: inset 0 1px 0 var(--glass-edge);
  color: var(--ink); font: 600 var(--type-note)/1.5 var(--font-ui); text-align: center;
  animation: gd-toast-in var(--dur-toast) var(--ease-out); }
/* Rides the same measured clearance so the toast clears whichever tenant is
   floating, not just the shorter one. */
body.has-purchasebar gd-toast { bottom: calc(var(--dock-clearance, 190px) + 26px); }
@keyframes gd-toast-in { from { opacity: 0; transform: translate(-50%, 12px); } }
@media (prefers-reduced-motion: reduce) {
  gd-toast { animation: none; }
}
