passkey-toast.css

4.0 KB · raw

1/* Palette — hardcoded equivalents of the popup's CSS vars (shadow DOM cannot2   inherit :root variables from the host page). */34.peach-passkey-toast {5  position: fixed;6  top: 16px;7  right: 16px;8  z-index: 2147483647;910  width: 260px;1112  background: #0C0A06;13  border: 0.5px solid rgba(240, 232, 216, 0.07);14  border-radius: 14px;15  box-shadow:16    0 4px 6px rgba(0, 0, 0, 0.4),17    0 12px 32px rgba(0, 0, 0, 0.55),18    0 0 0 0.5px rgba(0, 0, 0, 0.6);1920  overflow: hidden;2122  /* Initial state — hidden before animation */23  opacity: 0;24  transform: translateY(-12px) scale(0.96);25  pointer-events: none;2627  /* Font reset — page styles must not bleed in */28  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;29  font-size: 14px;30  line-height: 1.4;31  -webkit-font-smoothing: antialiased;32  box-sizing: border-box;33}3435.peach-passkey-toast * {36  box-sizing: border-box;37  margin: 0;38  padding: 0;39}4041.peach-passkey-toast.is-visible {42  animation: peach-passkey-in 280ms cubic-bezier(0, 0, 0, 1) forwards;43  pointer-events: auto;44}4546.peach-passkey-toast.is-exiting {47  animation: peach-passkey-out 200ms cubic-bezier(0.3, 0, 1, 1) forwards;48  pointer-events: none;49}5051@keyframes peach-passkey-in {52  from { opacity: 0; transform: translateY(-12px) scale(0.96); }53  to   { opacity: 1; transform: translateY(0) scale(1); }54}5556@keyframes peach-passkey-out {57  from { opacity: 1; transform: translateY(0) scale(1); }58  to   { opacity: 0; transform: translateY(-12px) scale(0.96); }59}6061/* Body — centered column */62.peach-passkey-toast-body {63  display: flex;64  flex-direction: column;65  align-items: center;66  padding: 16px 16px 14px;67  gap: 8px;68  text-align: center;69}7071/* Headline */72.peach-passkey-toast-headline {73  font-family: 'Cormorant Garamond', 'Georgia', 'Times New Roman', serif;74  font-style: italic;75  font-size: 18px;76  font-weight: 300;77  color: #F0E8D8;78  line-height: 1.1;79  margin: 1px 0;80}8182/* User pill */83.peach-passkey-toast-user {84  font-family: 'IBM Plex Mono', 'SFMono-Regular', Menlo, monospace;85  font-size: 0.6875rem;86  color: rgba(240, 232, 216, 0.50);87  background: #1A1710;88  border: 1px solid rgba(240, 232, 216, 0.07);89  border-radius: 4px;90  padding: 3px 8px;91}9293/* Countdown bar */94.peach-passkey-toast-countdown {95  width: 100%;96  height: 2px;97  background: rgba(240, 232, 216, 0.06);98  border-radius: 1px;99  overflow: hidden;100  margin-top: 2px;101}102103.peach-passkey-toast-countdown-bar {104  height: 100%;105  background: var(--peach-accent, #F49C70);106  border-radius: 1px;107  transform-origin: left;108  animation: peach-passkey-countdown linear forwards;109  /* animation-duration set inline */110}111112@keyframes peach-passkey-countdown {113  from { width: 100%; }114  to   { width: 0%; }115}116117/* Actions */118.peach-passkey-toast-actions {119  display: flex;120  gap: 8px;121  width: 100%;122}123124.peach-passkey-toast-btn {125  flex: 1;126  min-height: 32px;127  padding: 6px 9px;128  border-radius: 8px;129  border: none;130  font-size: 0.6875rem;131  font-weight: 500;132  cursor: pointer;133  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;134  letter-spacing: -0.01em;135  transition: filter 120ms ease, opacity 120ms ease, transform 120ms ease;136}137138.peach-passkey-toast-btn:focus {139  outline: none;140}141142.peach-passkey-toast-btn:focus-visible {143  outline: none;144  box-shadow: 0 0 0 2px #0C0A06, 0 0 0 4px color-mix(in srgb, var(--peach-accent, #F49C70) 50%, transparent);145}146147.peach-passkey-toast-btn:active {148  opacity: 0.75;149  transform: scale(0.97);150}151152.peach-passkey-toast-btn--deny {153  background: transparent;154  color: rgba(240, 232, 216, 0.50);155  border: 1px solid rgba(240, 232, 216, 0.07);156}157158.peach-passkey-toast-btn--deny:hover {159  color: rgba(240, 232, 216, 0.80);160  border-color: rgba(240, 232, 216, 0.12);161}162163.peach-passkey-toast-btn--signin {164  background: var(--peach-accent, #F49C70);165  color: rgba(0, 0, 0, 0.92);166  font-weight: 500;167  box-shadow:168    0 1px 0 rgba(255, 255, 255, 0.08) inset,169    0 3px 16px color-mix(in srgb, var(--peach-accent, #F49C70) 16%, transparent);170}171172.peach-passkey-toast-btn--signin:hover {173  filter: brightness(1.10) saturate(1.05);174}