.auth-shell{--auth-canvas:#fff;--auth-panel:#fff;--auth-ink:#173b2a;--auth-muted:#52685b;--auth-line:#d9e6dc;--auth-field-line:#7b9183;--auth-accent:hsl(var(--primary));--auth-tint:#eef7e4;background:var(--auth-canvas);min-height:100dvh;color:var(--auth-ink);font-family:var(--font-body,"Nunito Sans", sans-serif);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:12px;display:grid}.auth-header{min-height:96px;padding:max(20px, var(--safe-top)) max(5vw, var(--safe-right)) 20px max(5vw, var(--safe-left));flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;display:flex}.auth-brand{border-radius:12px;align-items:center;max-width:100%;min-height:44px;display:inline-flex}.auth-brand-logo{width:168px;max-width:100%;height:auto;display:block}.auth-header-note{color:var(--auth-muted);font-size:1rem;font-weight:600}.auth-story{background:var(--auth-tint);border-radius:0 24px 24px 0;flex-direction:column;min-width:0;height:100%;margin:0 0 0 12px;padding:clamp(20px,2.5vw,40px);display:flex}.auth-eyebrow{color:var(--auth-accent);letter-spacing:.075em;font-size:.75rem;font-weight:800;line-height:1.6}.auth-story-copy h2{letter-spacing:-.04em;overflow-wrap:anywhere;margin-top:18px;font-size:clamp(2.5rem,4vw,3.625rem);font-weight:850;line-height:1.12}.auth-story-copy h2 span{color:var(--auth-accent)}.auth-story-copy>p:last-child{max-width:380px;color:var(--auth-muted);margin-top:16px;font-size:.9375rem;line-height:1.6}.auth-arrival-preview{gap:10px;max-width:420px;margin-block:20px;display:grid}.auth-example-label{color:var(--auth-muted);font-size:.75rem;font-weight:700}.auth-progress-card{color:#173b2a;background:#e5f4ba;border-radius:14px;padding:18px;position:relative}.auth-progress-card>strong{letter-spacing:-.04em;padding-right:40px;font-size:2rem;font-weight:850;line-height:1.1;display:block}.auth-progress-card>p{margin-top:5px;font-size:.9375rem;font-weight:600}.auth-progress-check{color:#fff;background:#287b4f;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:18px;right:18px}.auth-example-progress{background:#173b2a20;border-radius:999px;height:8px;margin-top:16px;overflow:hidden}.auth-example-progress>span{border-radius:inherit;background:#287b4f;width:85.714%;height:100%;display:block}.auth-example-missing{color:#a63828;margin-top:10px;font-size:.8125rem;font-weight:750;display:block}.auth-example-item{background:var(--auth-panel);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.auth-example-item>span:first-child{background:var(--auth-tint);width:40px;height:40px;color:var(--auth-accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.auth-example-item>div{flex:1;min-width:0}.auth-example-item strong{overflow-wrap:anywhere;font-size:.9375rem;font-weight:800;display:block}.auth-example-item p{color:var(--auth-muted);margin-top:3px;font-size:.875rem}.auth-example-arrived{color:var(--auth-accent);align-items:center;gap:4px;font-size:.75rem;font-weight:800;display:flex}.auth-story-footer{color:var(--auth-muted);margin-top:auto;font-size:.9375rem;font-weight:700}.auth-main{padding:16px max(28px, 5vw) max(16px, var(--safe-bottom));justify-content:center;align-items:center;min-width:0;height:100%;display:flex;overflow:auto}.auth-form-panel{width:100%;min-width:0;max-width:420px}.auth-form-heading{margin-bottom:16px}.auth-form-heading h1{letter-spacing:-.035em;overflow-wrap:anywhere;outline:none;margin-top:0;font-size:clamp(1.75rem,2.5vw,2.25rem);font-weight:850;line-height:1.15}.auth-subtitle{color:var(--auth-muted);overflow-wrap:anywhere;margin-top:8px;font-size:.9375rem;line-height:1.5}.auth-providers{gap:10px;display:grid}.auth-shell .auth-provider{border:1px solid var(--auth-line);background:var(--auth-panel);width:100%;height:auto;min-height:48px;color:var(--auth-ink);box-shadow:none;white-space:normal;border-radius:14px;padding:10px 16px;font-size:.9375rem;font-weight:700}.auth-shell .auth-provider:hover{border-color:var(--auth-muted);background:var(--auth-tint)}.auth-shell .auth-provider-apple{color:#fff;background:#17261e;border-color:#17261e}.auth-shell .auth-provider-apple:hover{background:#243c2e;border-color:#243c2e}.auth-divider{color:var(--auth-muted);align-items:center;gap:14px;margin:16px 0;font-size:.8125rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--auth-line);flex:1;height:1px}.auth-form{gap:14px;display:grid}.auth-field{gap:6px;min-width:0;display:grid}.auth-field label,.auth-field-heading{color:var(--auth-ink);font-size:1rem;font-weight:750;line-height:1.5}.auth-field-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 14px;display:flex}.auth-field-heading a{align-items:center;min-height:44px;margin-block:-10px;padding-block:10px;font-size:.875rem;font-weight:700;display:inline-flex}.auth-shell .auth-input{border:1px solid var(--auth-field-line);background:var(--auth-panel);width:100%;height:auto;min-height:48px;box-shadow:none;color:var(--auth-ink);border-radius:14px;padding:10px 14px;scroll-margin-block:110px;font-size:1rem;line-height:1.5}.auth-shell .auth-input::placeholder{color:var(--auth-muted);opacity:1}.auth-shell .auth-input:focus-visible{border-color:var(--auth-accent);outline:3px solid color-mix(in srgb, var(--auth-accent) 25%, transparent);outline-offset:1px;box-shadow:none}.auth-shell .auth-input[aria-invalid=true]{border-color:#a63828}.auth-shell .auth-submit{background:hsl(var(--primary));width:100%;height:auto;min-height:48px;color:hsl(var(--primary-foreground));box-shadow:none;white-space:normal;border-radius:14px;margin-top:2px;padding:12px 18px;font-size:1rem;font-weight:800}.auth-shell .auth-submit:hover{background:hsl(var(--primary) / .9)}.auth-shell a:not(.auth-brand){color:var(--auth-accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.auth-shell a:focus-visible,.auth-shell button:focus-visible{outline:3px solid var(--auth-accent);outline-offset:3px}.auth-shell button:disabled{opacity:.55}.auth-footer{color:var(--auth-muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 5px;margin-top:14px;font-size:.9375rem;line-height:1.5;display:flex}.auth-footer a{justify-content:center;align-items:center;min-height:40px;font-weight:800;display:inline-flex}.auth-privacy{text-align:center;justify-content:center;margin-top:4px;font-size:.8125rem;display:flex}.auth-privacy a{align-items:center;min-height:44px;display:inline-flex}.auth-feedback{overflow-wrap:anywhere;border:1px solid;border-radius:12px;margin-bottom:14px;padding:12px 14px;font-size:.875rem;line-height:1.5}.auth-feedback-error{color:#a63828;background:#faebe8;border-color:#dbaea4}.auth-feedback-status{color:#173b2a;background:#e5f4ba;border-color:#bcda99}.auth-help{color:var(--auth-muted);font-size:.875rem;line-height:1.6}.auth-resend{color:var(--auth-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:0 6px;margin-top:18px;font-size:.9375rem;display:flex}.auth-shell .auth-text-button{min-height:44px;color:var(--auth-accent);text-underline-offset:3px;align-items:center;gap:6px;padding:10px 4px;font-weight:800;text-decoration:underline;display:inline-flex}.auth-shell .auth-code-input{letter-spacing:.15em;font-family:var(--font-mono,monospace);text-align:center;min-height:64px;font-size:1.5625rem}.auth-success{border-top:1px solid var(--auth-line);padding-top:24px}.auth-success>p{color:var(--auth-muted);overflow-wrap:anywhere;font-size:1rem;line-height:1.7}.auth-success>a{align-items:center;min-height:44px;margin-top:22px;font-size:.9375rem;font-weight:800;display:inline-flex}.auth-consent-tools{border-top:1px solid var(--auth-line);margin-block:18px 24px}.auth-consent-tools li{border-bottom:1px solid var(--auth-line);padding-block:14px}.auth-consent-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dark .auth-shell{--auth-canvas:#112a1e;--auth-panel:#193528;--auth-ink:#edf6ec;--auth-muted:#b0c8b5;--auth-line:#3a5a47;--auth-field-line:#789985;--auth-tint:#233f2a}.dark .auth-feedback-error{color:#ffc2ac;background:#422720;border-color:#9b6a5c}@media (width>=900px){.auth-screen{height:100dvh;min-height:0;padding-bottom:max(clamp(16px, 3dvh, 28px), var(--safe-bottom));grid-template-rows:auto minmax(0,1fr);row-gap:0}.auth-screen .auth-story,.auth-screen .auth-main{height:auto;min-height:0;margin-block:12px 0;overflow-y:auto}.auth-screen .auth-story{padding-block:clamp(20px,4dvh,48px)}.auth-screen .auth-story-copy>p:last-child{margin-top:0}.auth-screen .auth-arrival-preview{margin-block:clamp(16px,3dvh,32px)}.auth-screen .auth-main{flex-direction:column;justify-content:flex-start;margin-right:28px;padding:clamp(12px,2dvh,24px) clamp(24px,4vw,64px)}.auth-screen .auth-form-panel{flex:none;margin-block:auto}.auth-screen .auth-form-heading{margin-bottom:24px}.auth-screen .auth-form-heading h1{margin-top:0}.auth-screen .auth-divider{margin-block:18px}.auth-screen .auth-form{gap:16px}.auth-screen .auth-footer{margin-top:16px}.auth-screen .auth-privacy{margin-top:0}}@media (width>=900px) and (height<=880px){.auth-screen{padding-bottom:max(16px, var(--safe-bottom))}.auth-screen .auth-header{min-height:64px;padding-block:max(10px, var(--safe-top)) 10px}.auth-screen .auth-story,.auth-screen .auth-main{margin-top:8px}.auth-screen .auth-main{padding-block:12px}.auth-screen .auth-form-heading{margin-bottom:12px}.auth-screen .auth-form-heading h1{font-size:2rem}.auth-screen .auth-providers{gap:8px}.auth-screen .auth-provider,.auth-screen .auth-input,.auth-screen .auth-submit{min-height:44px;padding-block:8px}.auth-screen .auth-divider{margin-block:8px}.auth-screen .auth-form{gap:10px}.auth-screen .auth-field{gap:6px}.auth-screen .auth-footer{margin-top:8px}.auth-screen .auth-feedback{margin-bottom:12px;padding-block:10px}.auth-screen .auth-progress-card{padding:20px}.auth-screen .auth-example-item{padding:12px}}@media (width>=1100px) and (height<=700px){.auth-screen .auth-providers{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-screen .auth-provider{padding-inline:8px}}@media (width<=899px){.auth-shell{flex-direction:column;display:flex}.auth-header{min-height:76px;padding:max(16px, var(--safe-top)) max(20px, var(--safe-right)) 16px max(20px, var(--safe-left))}.auth-brand-logo{width:148px}.auth-header-note,.auth-story{display:none}.auth-main{padding:24px max(20px, var(--safe-right)) max(24px, var(--safe-bottom)) max(20px, var(--safe-left));flex:1;align-items:flex-start}.auth-form-panel{max-width:440px}.auth-form-heading h1{font-size:clamp(2rem,8vw,2.5rem)}.auth-footer{margin-top:20px}}@media (prefers-contrast:more){.auth-shell{--auth-muted:var(--auth-ink);--auth-line:var(--auth-ink);--auth-field-line:var(--auth-ink)}}.privacy-page{display:block}.privacy-page .auth-header{border-bottom:1px solid var(--auth-line)}.privacy-settings-link{align-items:center;gap:7px;min-height:44px;font-size:.9375rem;font-weight:750;display:inline-flex}.privacy-main{width:min(100%,920px);padding:clamp(32px, 6vw, 76px) max(20px, var(--safe-right)) max(36px, var(--safe-bottom)) max(20px, var(--safe-left));margin-inline:auto}.privacy-intro{margin-bottom:48px}.privacy-intro h1{letter-spacing:-.04em;overflow-wrap:anywhere;outline:none;margin:18px 0 22px;font-size:clamp(2.5rem,5vw,4rem);font-weight:850;line-height:1.1}.privacy-intro>p:last-child{max-width:580px;color:var(--auth-muted);font-size:1.125rem;line-height:1.7}.privacy-section{border-top:1px solid var(--auth-line);grid-template-columns:64px minmax(0,1fr);gap:20px;padding-block:30px;display:grid}.privacy-section-number{color:var(--auth-accent);padding-top:5px;font-size:.875rem;font-weight:800}.privacy-section h2{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:1.5rem;font-weight:800;line-height:1.3}.privacy-section p{color:var(--auth-muted);overflow-wrap:anywhere;margin-top:14px;font-size:1rem;line-height:1.8}.privacy-note{background:var(--auth-tint);border-radius:16px;margin-top:22px;padding:20px}.privacy-note h3{font-size:1rem;font-weight:800;line-height:1.5}.privacy-note p{margin-top:8px}.privacy-footer{border-top:1px solid var(--auth-line);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:22px;padding-top:28px;display:flex}.privacy-footer a{align-items:center;gap:8px;min-height:44px;font-size:.9375rem;font-weight:800;display:inline-flex}@media (width<=599px){.privacy-intro{margin-bottom:28px}.privacy-section{grid-template-columns:minmax(24px,max-content) minmax(0,1fr);gap:12px;padding-block:26px}.privacy-section h2{font-size:1.25rem}.privacy-note{padding:16px}.privacy-settings-link{font-size:.875rem}}
