.peach-passkey-toast { /* Position */ position: fixed; top: 16px; right: 16px; z-index: 2147483647; /* Size */ width: 320px; /* Appearance */ background: #141210; border: 0.5px solid rgba(255, 255, 255, 0.1); border-radius: 14px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3), 0 12px 32px rgba(0, 0, 0, 0.4), 0 0 0 0.5px rgba(0, 0, 0, 0.5); /* Layout */ display: flex; flex-direction: column; gap: 0; overflow: hidden; /* Initial state — hidden before animation */ opacity: 0; transform: translateY(-12px) scale(0.96); pointer-events: none; /* Font reset — page styles must not bleed in */ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 14px; line-height: 1.4; -webkit-font-smoothing: antialiased; box-sizing: border-box; } .peach-passkey-toast * { box-sizing: border-box; margin: 0; padding: 0; } .peach-passkey-toast.is-visible { animation: peach-passkey-in 280ms cubic-bezier(0, 0, 0, 1) forwards; pointer-events: auto; } .peach-passkey-toast.is-exiting { animation: peach-passkey-out 200ms cubic-bezier(0.3, 0, 1, 1) forwards; pointer-events: none; } @keyframes peach-passkey-in { from { opacity: 0; transform: translateY(-12px) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } } @keyframes peach-passkey-out { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(-12px) scale(0.96); } } /* Site row */ .peach-passkey-toast-site { display: flex; align-items: center; gap: 8px; padding: 16px 16px 12px; } .peach-passkey-toast-icon { width: 28px; height: 28px; background: rgba(201, 137, 58, 0.15); border-radius: 7px; display: flex; align-items: center; justify-content: center; color: #C9893A; flex-shrink: 0; } .peach-passkey-toast-domain { font-size: 13px; color: rgba(255, 255, 255, 0.5); font-family: 'IBM Plex Mono', 'Fira Code', 'Courier New', monospace; letter-spacing: -0.01em; } /* Headline */ .peach-passkey-toast-headline { font-family: 'Cormorant Garamond', 'Georgia', 'Times New Roman', serif; font-style: italic; font-size: 20px; font-weight: 600; color: rgba(255, 255, 255, 0.92); padding: 0 16px 10px; line-height: 1.2; } /* Account */ .peach-passkey-toast-account { display: flex; flex-direction: column; gap: 1px; padding: 0 16px 16px; } .peach-passkey-toast-display-name { font-size: 13px; font-weight: 500; color: rgba(255, 255, 255, 0.85); } .peach-passkey-toast-username { font-family: 'IBM Plex Mono', 'Fira Code', 'Courier New', monospace; font-size: 12px; color: rgba(255, 255, 255, 0.4); } /* Countdown bar */ .peach-passkey-toast-countdown { height: 2px; background: rgba(255, 255, 255, 0.06); margin: 0 16px 14px; border-radius: 1px; overflow: hidden; } .peach-passkey-toast-countdown-bar { height: 100%; background: #C9893A; border-radius: 1px; transform-origin: left; animation: peach-passkey-countdown linear forwards; /* animation-duration set inline to TIMEOUT_MS */ } @keyframes peach-passkey-countdown { from { width: 100%; } to { width: 0%; } } /* Actions */ .peach-passkey-toast-actions { display: flex; gap: 8px; padding: 0 16px 16px; } .peach-passkey-toast-btn { flex: 1; height: 36px; border-radius: 8px; border: none; font-size: 13px; font-weight: 500; cursor: pointer; transition: opacity 120ms ease, transform 120ms ease; font-family: inherit; letter-spacing: -0.01em; } .peach-passkey-toast-btn:active { opacity: 0.75; transform: scale(0.97); } .peach-passkey-toast-btn--deny { background: rgba(255, 255, 255, 0.07); color: rgba(255, 255, 255, 0.6); border: 0.5px solid rgba(255, 255, 255, 0.1); } .peach-passkey-toast-btn--deny:hover { background: rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.8); } .peach-passkey-toast-btn--signin { background: #C9893A; color: #0C0A06; font-weight: 600; } .peach-passkey-toast-btn--signin:hover { background: #D99A4A; }