.passkey-login{min-height:100svh;display:grid;position:relative;overflow:hidden;place-items:center;padding:clamp(var(--space-5),5vw,var(--space-12));background:linear-gradient(145deg,var(--color-brand-50),var(--color-canvas) 52%,var(--color-paper))}.passkey-login__backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none}.passkey-login__backdrop span{position:absolute;border-radius:50%;opacity:.72;filter:blur(.2px)}.passkey-login__backdrop span:first-child{width:min(38rem,55vw);aspect-ratio:1;top:-24rem;right:-8rem;background:var(--color-action)}.passkey-login__backdrop span:nth-child(2){width:min(20rem,36vw);aspect-ratio:1;bottom:-11rem;left:-5rem;background:var(--color-mint)}.passkey-login__backdrop span:nth-child(3){width:8rem;aspect-ratio:1;right:12%;bottom:12%;border:1.5rem solid var(--color-yellow);opacity:.6}.passkey-login__panel{width:min(100%,32rem);min-width:0;position:relative;z-index:1;padding:clamp(var(--space-6),5vw,var(--space-10));border:1px solid rgb(255 255 255/.78);border-radius:var(--radius-xl);background:rgb(255 255 255/.9);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.passkey-login__brand{width:fit-content;display:block;margin-bottom:clamp(var(--space-10),8vw,var(--space-16))}.passkey-login__brand img{width:min(12rem,52vw);height:auto;display:block}.passkey-login__content{width:100%}.passkey-login h1{margin:0 0 var(--space-4);font-size:clamp(2.2rem,5vw,var(--type-heading-size));font-weight:var(--font-weight-bold);letter-spacing:var(--type-heading-tracking);line-height:1.02}.passkey-login__intro{margin:0 0 var(--space-8);color:var(--color-text-secondary);font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-line)}.passkey-login__field{display:grid;gap:var(--space-2);margin-bottom:var(--space-5);color:var(--color-text-secondary);font-size:var(--type-body-sm-size);font-weight:var(--font-weight-semibold)}.passkey-login__field input{width:100%;height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--control-border);border-radius:var(--radius-sm);outline:0;background:var(--control-background);color:var(--color-text);font:inherit;transition:border-color var(--duration-fast),background-color var(--duration-fast),box-shadow var(--duration-fast)}.passkey-login__field input:hover{border-color:var(--control-border-hover)}.passkey-login__field input:focus-visible{border-color:var(--control-border-focus);background:var(--control-background-active);box-shadow:var(--control-focus-ring)}.passkey-login__button{width:100%;min-height:3.375rem;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-6);border:1px solid var(--color-action);border-radius:var(--radius-round);background:var(--color-action);color:var(--color-on-dark);font:inherit;font-weight:var(--font-weight-semibold);transition:background-color var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.passkey-login__button:hover:not(:disabled){border-color:var(--color-action-hover);background:var(--color-action-hover)}.passkey-login__button:active:not(:disabled){border-color:var(--color-action-active);background:var(--color-action-active)}.passkey-login__button:focus-visible{outline:3px solid var(--color-yellow);outline-offset:3px}.passkey-login__button:disabled{border-color:var(--color-disabled-background);background:var(--color-disabled-background);color:var(--color-disabled-text);cursor:not-allowed}.passkey-login__button[aria-busy=true]{cursor:wait}.passkey-login__message{margin:var(--space-4) 0 0;font-size:var(--type-body-sm-size);line-height:1.5}.passkey-login__message--loading{color:var(--color-text-muted)}.passkey-login__message--error{color:var(--color-error)}@media (max-width:35rem){.passkey-login{align-items:stretch;padding:var(--space-3)}.passkey-login__panel{align-self:center;padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg)}.passkey-login__brand{margin-bottom:var(--space-12)}.passkey-login h1{font-size:clamp(2rem,10vw,2.7rem)}.passkey-login__intro{margin-bottom:var(--space-6);font-size:var(--type-body-size)}.passkey-login__backdrop span:first-child{width:25rem;top:-19rem;right:-12rem}.passkey-login__backdrop span:nth-child(2){width:16rem;bottom:-10rem;left:-8rem}.passkey-login__backdrop span:nth-child(3){display:none}}@media (prefers-reduced-motion:no-preference){.passkey-login__panel{animation:passkey-panel-in .48s var(--ease-standard) both}}@keyframes passkey-panel-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}