.auth-canvas{position:relative;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse 70% 45% at 50% -8%,rgb(var(--accent)/.07),transparent 70%),rgb(var(--bg-base));color:rgb(var(--text-primary))}.auth-skip{position:absolute;left:1rem;top:-3rem;z-index:50;padding:.5rem .75rem;border-radius:var(--radius-md);background:rgb(var(--bg-ink));color:rgb(var(--bg-base));font-size:13px;font-weight:600}.auth-skip:focus-visible{top:calc(var(--safe-area-top, 0px) + .75rem);outline:2px solid var(--focus-ring);outline-offset:2px}.auth-main{flex:1;display:grid;place-items:center;padding:calc(var(--safe-area-top, 0px) + 2.5rem) 1rem calc(var(--auth-keyboard-inset, 0px) + 1.5rem);outline:none}@media (min-width:640px){.auth-main{padding-top:4rem;padding-bottom:2rem}}.auth-column{width:100%;max-width:380px;min-width:0;display:flex;flex-direction:column;align-items:stretch}.auth-wordmark{align-self:center;display:inline-flex;align-items:center;gap:9px;margin-bottom:1.5rem;padding:.25rem .5rem;border-radius:var(--radius-sm);color:rgb(var(--text-primary));text-decoration:none}.auth-wordmark__text{font-size:24px;font-weight:800;letter-spacing:-.04em;line-height:1}.auth-wordmark:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.auth-stack{display:flex;flex-direction:column;min-width:0;animation:auth-rise var(--dur-slow,.48s) var(--ease-out) both}.auth-card{position:relative;min-width:0;padding:1.75rem 1.5rem 1.5rem;background:rgb(var(--bg-card));border:1px solid rgb(var(--border));border-radius:18px;box-shadow:var(--shadow-md);transition:opacity var(--dur) ease}@media (max-width:380px){.auth-card{padding:1.5rem 1.125rem 1.25rem}}.auth-card--busy{cursor:progress}.auth-card--skeleton{min-height:27rem;background:linear-gradient(90deg,transparent,rgb(var(--bg-base)/.9),transparent) 0 0 /40% 100% no-repeat,rgb(var(--bg-card));animation:auth-shimmer 1.4s ease-in-out infinite}.auth-title{font-size:1.5rem;font-weight:700;line-height:1.15;letter-spacing:-.025em;color:rgb(var(--text-primary));outline:none}.auth-lead{margin-top:.375rem;font-size:14px;line-height:1.5;color:rgb(var(--text-muted))}.auth-email{font-weight:600;color:rgb(var(--text-primary));word-break:break-all}.auth-fine{margin-top:.875rem;font-size:12.5px;line-height:1.45;color:rgb(var(--text-muted))}.auth-icon-tile{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;margin-bottom:1rem;border-radius:12px;background:rgb(var(--accent-soft));color:rgb(var(--accent));box-shadow:inset 0 0 0 1px rgb(var(--accent)/.15)}.auth-icon-tile--ok{background:rgb(var(--tile-green));color:rgb(var(--tile-green-ink));box-shadow:inset 0 0 0 1px rgb(var(--tile-green-ink)/.15)}.auth-btn-full{width:100%;height:44px;min-height:44px}.auth-btn-google{margin-top:1.375rem;gap:.625rem;font-weight:600;box-shadow:var(--shadow-sm)}.auth-actions{display:grid;gap:.75rem;margin-top:1.375rem}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.125rem 0;font-size:12px;color:rgb(var(--text-muted))}.auth-divider:after,.auth-divider:before{content:"";flex:1;border-top:1px solid rgb(var(--border))}.auth-form{display:grid;gap:.875rem}.auth-form--spaced{margin-top:1.375rem}.auth-field{min-width:0}.auth-field__row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.auth-field__row .field-label{margin-bottom:.375rem}.auth-field__control{position:relative}.auth-input.input-base{height:44px;font-size:15px}@media (min-width:640px){.auth-input.input-base{font-size:14px}}.auth-input--with-toggle.input-base{padding-right:44px}.auth-input[aria-invalid=true]{border-color:rgb(var(--danger)/.6);box-shadow:0 0 0 3px rgb(var(--danger)/.08)}.auth-input__toggle{position:absolute;top:0;right:0;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-md);color:rgb(var(--text-muted));transition:color var(--dur-fast) ease}.auth-input__toggle:hover:not(:disabled){color:rgb(var(--text-primary))}.auth-input__toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-4px}.auth-field__hint{margin-top:.375rem;font-size:12px;color:rgb(var(--text-muted))}.auth-note{display:flex;gap:.5rem;align-items:flex-start;margin-top:1rem;padding:.625rem .75rem;border-radius:var(--radius-md);font-size:13px;line-height:1.45;color:rgb(var(--text-muted));background:rgb(var(--bg-base));border:1px solid rgb(var(--border))}.auth-form .auth-note{margin-top:0}.auth-note__icon{flex-shrink:0;margin-top:1px}.auth-note--demo{color:rgb(var(--tile-amber-ink));background:rgb(var(--tile-amber)/.55);border-color:rgb(var(--tile-amber-ink)/.2)}.auth-remember{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.5rem;margin-top:-.125rem}.auth-remember__box{width:1rem;height:1rem;margin:0;accent-color:rgb(var(--accent));cursor:pointer}.auth-remember__box:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.auth-remember__box:disabled{cursor:not-allowed}.auth-remember__label{min-height:24px;display:flex;align-items:center;font-size:13px;color:rgb(var(--text-muted));cursor:pointer;user-select:none}.auth-remember__hint{grid-column:2;font-size:12px;color:rgb(var(--text-muted))}.auth-alert{display:flex;gap:.5rem;align-items:flex-start;padding:.625rem .75rem;border-radius:var(--radius-md);font-size:13px;line-height:1.45;animation:auth-fade var(--dur) var(--ease-out) both}.auth-alert__icon{flex-shrink:0;margin-top:1px}.auth-alert--error{color:#991b1b;background:rgb(var(--danger)/.06);border:1px solid rgb(var(--danger)/.18)}.auth-alert--success{color:rgb(var(--tile-green-ink));background:rgb(var(--tile-green)/.6);border:1px solid rgb(var(--tile-green-ink)/.18)}.auth-alert__action{margin-top:.25rem}.auth-alert__action .auth-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.auth-link{display:inline-flex;align-items:center;min-height:1.75rem;font-weight:600;color:rgb(var(--text-primary));text-decoration:none;border-radius:4px;cursor:pointer}.auth-link:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.auth-link:disabled{opacity:.55;cursor:not-allowed}.auth-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.auth-link--quiet{min-height:0;font-size:12px;font-weight:500;color:rgb(var(--text-muted))}.auth-link--quiet:hover{color:rgb(var(--text-primary))}@media (max-width:1023px){.auth-link{min-height:44px}.auth-link--quiet{min-height:2rem;padding-inline:.25rem;margin-right:-.25rem}}.auth-switch{margin-top:1rem;text-align:center;font-size:13.5px;color:rgb(var(--text-muted))}.auth-trial{display:flex;align-items:center;gap:.75rem;margin:-.5rem -.5rem 1.25rem;padding:.75rem .875rem;border-radius:12px;background:linear-gradient(135deg,rgb(var(--accent-soft)) 0,rgb(var(--accent-soft)/.45) 100%);border:1px solid rgb(var(--accent)/.22);animation:auth-fade var(--dur-slow,.48s) var(--ease-out) .12s both}.auth-trial__tile{position:relative;flex-shrink:0;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:10px;background:rgb(var(--accent));color:#fff;box-shadow:0 6px 14px -6px rgb(var(--accent)/.7)}.auth-trial__live{position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:999px;background:rgb(var(--success));box-shadow:0 0 0 2px rgb(var(--bg-card))}.auth-trial__live:after{content:"";position:absolute;inset:-3px;border-radius:999px;border:2px solid rgb(var(--success));opacity:.5;animation:auth-ping 1.8s cubic-bezier(.215,.61,.355,1) infinite}.auth-trial__text{min-width:0;font-size:13px;line-height:1.4;color:rgb(var(--text-secondary))}.auth-trial__text strong{font-weight:700;color:rgb(var(--text-primary))}.auth-trial__action{font-weight:600;color:rgb(var(--tile-orange-ink))}.auth-legal{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1rem 1rem calc(var(--safe-area-bottom, 0px) + 1.25rem);font-size:12px;color:rgb(var(--text-muted))}.auth-legal a{display:inline-flex;align-items:center;min-height:2rem;padding-inline:.25rem;color:inherit;border-radius:4px}.auth-legal a:hover{color:rgb(var(--text-primary))}.auth-legal a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.auth-spin{animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}@keyframes auth-rise{0%{opacity:0;transform:translateY(6px) scale(.995)}to{opacity:1;transform:none}}@keyframes auth-fade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}@keyframes auth-ping{75%,to{transform:scale(1.9);opacity:0}}@keyframes auth-shimmer{0%{background-position:-40% 0,0 0}to{background-position:140% 0,0 0}}@media (prefers-reduced-motion:reduce){.auth-alert,.auth-card--skeleton,.auth-spin,.auth-stack,.auth-trial,.auth-trial__live:after{animation:none}}