.auth-gate{--gate-width:30rem;--gate-gutter:16px;--gate-ease:cubic-bezier(0.22,0.61,0.36,1);min-height:100vh;min-height:100svh;display:flex;flex-direction:column;color:var(--ink);background:radial-gradient(90% 46% at 50% -6%,rgba(157,183,209,.32),transparent 70%),linear-gradient(180deg,var(--ivory) 0,#f5f1e9 100%);padding-bottom:env(safe-area-inset-bottom)}.auth-gate__bar{width:min(100% - 2 * var(--gate-gutter),72rem);margin:0 auto;padding:14px 0 6px;display:flex;align-items:center;justify-content:space-between;gap:16px}.auth-gate .auth-gate__logo{width:150px}.auth-gate__back{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--navy);font-size:.875rem;font-weight:500}.auth-gate__back svg{width:16px;height:16px;transform:scaleX(-1);transition:transform .2s var(--gate-ease)}.auth-gate__back:hover svg{transform:scaleX(-1) translateX(3px)}.auth-gate__back:hover{text-decoration:underline;text-underline-offset:3px}.auth-gate__main{flex:1 1;width:min(100% - 2 * var(--gate-gutter),var(--gate-width));margin:0 auto;padding:10px 0 36px;display:flex;flex-direction:column;gap:20px}.auth-gate__card{padding:28px 22px 24px;background:var(--paper);border:1px solid var(--line);border-radius:28px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 2px 6px rgba(13,43,69,.05),0 28px 56px -28px rgba(13,43,69,.28)}.auth-gate__eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0;color:var(--champagne-ink);font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.auth-gate__eyebrow:before{content:"";width:22px;height:1px;background:var(--champagne)}.auth-gate__card h1{margin:14px 0 0;color:var(--navy);font-family:var(--display);font-size:clamp(1.85rem,1.4rem + 2.2vw,2.5rem);font-weight:500;letter-spacing:-.02em;line-height:1.12;text-wrap:balance}.auth-gate__lead{margin:12px 0 0;color:var(--muted);font-size:1rem;line-height:1.6;text-wrap:pretty}.auth-gate__body{margin-top:26px}.auth-gate .signup-choice,.auth-gate__body{display:grid;gap:18px}.auth-gate .auth-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;padding:0 20px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--ink);font-size:1rem;font-weight:600;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.auth-gate .auth-google svg{width:20px;height:20px;flex:none}.auth-gate .auth-google:hover:not(:disabled){border-color:var(--navy);box-shadow:0 6px 16px -10px rgba(13,43,69,.4)}.auth-gate .auth-google:disabled{opacity:.6;cursor:progress}.auth-gate .auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:0;color:var(--muted);font-size:.8125rem}.auth-gate .auth-divider:after,.auth-gate .auth-divider:before{content:"";height:1px;background:var(--line)}.auth-gate .auth-form{display:grid;gap:16px}.auth-gate .auth-field{display:grid;gap:8px}.auth-gate .auth-field label{color:var(--navy);font-size:.875rem;font-weight:600}.auth-gate .auth-field input{width:100%;min-height:56px;padding:0 18px;border:1px solid var(--line-strong);border-radius:16px;background:#fff;color:var(--ink);font-size:1rem;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.auth-gate .auth-field input::placeholder{color:rgba(90,104,120,.7)}.auth-gate .auth-field input:focus{border-color:var(--navy);box-shadow:0 0 0 4px rgba(157,183,209,.45)}.auth-gate .auth-field input[aria-invalid=true]{border-color:var(--danger)}.auth-gate .auth-cta{min-height:54px;padding:0 22px;border-radius:999px;border:1px solid var(--navy);background:var(--navy);color:var(--ivory);font-size:1rem;font-weight:600;letter-spacing:.005em;box-shadow:0 10px 22px -12px rgba(13,43,69,.65);transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.auth-gate .auth-cta:hover:not(:disabled){background:var(--navy-2,#163a5a);transform:none;box-shadow:0 14px 26px -14px rgba(13,43,69,.7)}.auth-gate .auth-cta:active:not(:disabled){transform:translateY(1px)}.auth-gate .auth-cta:disabled{opacity:.5}.auth-gate__privacy{display:flex;align-items:flex-start;gap:10px;margin:0;color:var(--muted);font-size:.8125rem;line-height:1.55}.auth-gate__privacy svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--champagne-ink)}.auth-gate .auth-error,.auth-gate .auth-success{padding:12px 14px;border-radius:14px;font-size:.875rem;line-height:1.5}.auth-gate .auth-success{border-color:rgba(47,93,63,.24);background:var(--success-bg);color:var(--success)}.auth-gate__inline-cta{margin:0;text-align:center;font-size:.9375rem}.auth-gate__inline-cta a,.auth-gate__switch a{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:var(--champagne);text-underline-offset:4px;text-decoration-thickness:2px}.auth-gate__inline-cta a:hover,.auth-gate__switch a:hover{text-decoration-color:var(--navy)}.auth-commitments{padding:18px 18px 16px;border:1px solid rgba(203,188,161,.7);border-radius:20px;background:rgba(241,232,216,.5)}.auth-commitments h2{margin:0 0 12px;color:var(--champagne-ink);font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.auth-commitments ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}.auth-commitments li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;color:var(--ink);font-size:.9375rem;line-height:1.5}.auth-commitments li svg{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--navy);color:var(--ivory);stroke-width:2.4;margin-top:1px}.auth-gate .auth-legal-note{margin:0;padding-top:2px;color:var(--muted);font-size:.8125rem;line-height:1.6;text-align:center;text-wrap:pretty}.auth-gate .auth-legal-note a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}.auth-gate__switch{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 8px;margin:4px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.9375rem;text-align:center}.auth-gate__switch a{display:inline-flex;align-items:center;min-height:44px}.auth-quote{position:relative;margin:0;padding:20px 22px 18px 28px;border:1px solid rgba(203,188,161,.55);border-radius:20px;background:rgba(241,232,216,.45)}.auth-quote:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:3px;border-radius:3px;background:var(--champagne)}.auth-quote blockquote{margin:0}.auth-quote p{margin:0;color:var(--navy);font-family:var(--display);font-size:1.0625rem;line-height:1.55;text-wrap:pretty}.auth-quote figcaption{margin-top:10px;color:var(--champagne-ink);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.auth-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;margin:2px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.8125rem}.auth-trust li{display:inline-flex;align-items:center;gap:8px}.auth-trust svg{width:16px;height:16px;color:var(--navy);opacity:.75}.auth-gate__footer{width:min(100% - 2 * var(--gate-gutter),72rem);margin:0 auto;padding:18px 0 26px;border-top:1px solid var(--line)}.auth-gate__footer ul{display:flex;flex-wrap:wrap;justify-content:center;gap:0 20px;margin:0;padding:0;list-style:none}.auth-gate__footer a{display:inline-flex;align-items:center;min-height:40px;color:var(--muted);font-size:.8125rem}.auth-gate__footer a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:3px}.auth-gate .auth-notice{padding:16px 18px;border-radius:18px;border:1px solid rgba(13,43,69,.1);background:rgba(232,239,245,.7)}.auth-gate .auth-notice strong{color:var(--navy)}.auth-gate .auth-secondary-actions{justify-content:center;gap:0 22px}.auth-gate .auth-secondary-actions a,.auth-gate .auth-secondary-actions button{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:transparent;font-size:.9375rem;text-decoration:underline;text-decoration-color:var(--champagne);text-underline-offset:4px;text-decoration-thickness:2px}.auth-gate .auth-secondary-actions button:disabled{text-decoration:none}.auth-gate .auth-empty-state h2{font-size:1.5rem;font-weight:500}.auth-gate .auth-inline-actions{margin-top:4px}.auth-gate .auth-inline-actions .button{min-height:52px}.auth-gate .auth-back{min-height:44px}.auth-skeleton{display:grid;gap:16px}.auth-skeleton span{display:block;border-radius:16px;background:rgba(13,43,69,.06)}.auth-skeleton span:first-child{height:14px;width:34%;border-radius:6px}.auth-skeleton span:nth-child(2){height:56px}.auth-skeleton span:nth-child(3){height:54px;border-radius:999px}.auth-gate a:focus-visible,.auth-gate button:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:8px}.auth-gate .auth-cta:focus-visible,.auth-gate .auth-google:focus-visible{border-radius:999px}@media (prefers-reduced-motion:no-preference){.auth-gate__card,.auth-quote,.auth-trust{animation:auth-gate-in .55s var(--gate-ease) both}.auth-quote{animation-delay:.08s}.auth-trust{animation-delay:.14s}}@keyframes auth-gate-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (min-width:640px){.auth-gate{--gate-gutter:24px;--gate-width:32rem}.auth-gate__bar{padding-top:24px}.auth-gate .auth-gate__logo{width:176px}.auth-gate__main{padding-top:22px;gap:22px}.auth-gate__card{padding:44px 44px 32px;border-radius:32px}.auth-gate__body{margin-top:30px}.auth-quote{padding:22px 26px 20px 32px}.auth-quote blockquote{margin:0}.auth-quote p{font-size:1.125rem}}@media (min-width:900px) and (min-height:820px){.auth-gate__main{justify-content:center;padding-bottom:56px}}@media (max-width:374px){.auth-gate__card{padding:24px 18px 20px;border-radius:24px}.auth-gate .auth-gate__logo{width:136px}}