:root{--auth-visual-width:46%;--auth-visual-inset:16px;--auth-form-width:400px;--auth-form-pad-x:32px;--auth-form-pad-y:48px;--auth-glow-reach:45%;--auth-glow-strength:12%;--auth-visual-pad:40px;--auth-visual-radius:24px;--auth-overlay-alpha:.82;--auth-overlay-reach:62%;--auth-overlay-top-alpha:.35;--auth-overlay-top-reach:24%;--auth-tagline-size:36px;--auth-tagline-leading:1.12;--auth-tagline-measure:15ch;--auth-tagline-tracking:-.02em;--auth-caption-size:16px;--auth-caption-gap:12px;--auth-caption-measure:42ch;--auth-caption-alpha:.84;--auth-mark-size:36px;--auth-mark-glyph:24px;--auth-mark-radius:9px;--auth-mark-edge:1px;--auth-wordmark-size:19px;--auth-wordmark-tracking:-.01em;--auth-brand-gap:10px;--auth-mobile-brand-gap:36px;--auth-title-size:30px;--auth-title-leading:1.15;--auth-title-tracking:-.02em;--auth-lede-size:15px;--auth-head-gap:8px;--auth-head-bottom:28px;--auth-label-size:13px;--auth-input-size:16px;--auth-fine-size:13px;--auth-control-height:48px;--auth-control-radius:12px;--auth-control-pad-x:14px;--auth-control-gap:12px;--auth-label-gap:6px;--auth-hint-gap:6px;--auth-icon-size:18px;--auth-icon-gap:10px;--auth-border-width:1px;--auth-focus-width:4px;--auth-focus-strength:22%;--auth-reveal-size:36px;--auth-reveal-inset:6px;--auth-reveal-radius:8px;--auth-press-scale:.98;--auth-disabled-opacity:.55;--auth-divider-gap:22px;--auth-divider-line:1px;--auth-submit-top:6px;--auth-notice-top:16px;--auth-switch-top:28px;--auth-fine-top:20px;--auth-fine-gap:10px;--auth-underline-gap:.2em;--auth-splash-mark:64px;--auth-splash-glyph:42px;--auth-splash-radius:16px;--auth-splash-gap:16px;--auth-pulse-scale:.94;--auth-pulse-opacity:.55;--auth-shadow-y:18px;--auth-shadow-blur:50px;--auth-shadow-alpha:.22;--auth-hover-ms:.14s;--auth-enter-ms:.38s;--auth-enter-shift:10px;--auth-spin-ms:.8s;--auth-pulse-ms:1.6s;--auth-spinner-size:16px;--auth-spinner-line:2px;--auth-bp-stack:900px;--auth-apple-bg:#000;--auth-apple-bg-hover:#1d1d1f;--auth-apple-fg:#fff;--auth-shade:6 0 80}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--auth-apple-bg:#fff;--auth-apple-bg-hover:#e8e8ed;--auth-apple-fg:#000}}:root[data-theme=dark]{--auth-apple-bg:#fff;--auth-apple-bg-hover:#e8e8ed;--auth-apple-fg:#000}@media (max-width:900px){:root{--auth-form-pad-x:20px;--auth-form-pad-y:28px;--auth-title-size:27px}}.auth{grid-template-columns:var(--auth-visual-width) minmax(0, 1fr);background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--color-accent) var(--auth-glow-strength), transparent), transparent var(--auth-glow-reach)), var(--color-bg);min-height:100dvh;display:grid}.auth p{max-width:none}.auth-visual{isolation:isolate;margin:var(--auth-visual-inset) 0 var(--auth-visual-inset) var(--auth-visual-inset);padding:var(--auth-visual-pad);border-radius:var(--auth-visual-radius);background:var(--harbor-900) url(/auth/rv-road.webp) center / cover no-repeat;box-shadow:0 var(--auth-shadow-y) var(--auth-shadow-blur) rgb(var(--auth-shade) / var(--auth-shadow-alpha));color:#fff;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.auth-visual:before{content:"";z-index:-1;background:linear-gradient(to top, rgb(var(--auth-shade) / var(--auth-overlay-alpha)), transparent var(--auth-overlay-reach)), linear-gradient(to bottom, rgb(var(--auth-shade) / var(--auth-overlay-top-alpha)), transparent var(--auth-overlay-top-reach));position:absolute;inset:0}.auth-tagline h2{max-width:var(--auth-tagline-measure);font-size:var(--auth-tagline-size);line-height:var(--auth-tagline-leading);letter-spacing:var(--auth-tagline-tracking);text-wrap:balance;font-weight:760}.auth-tagline p{max-width:var(--auth-caption-measure);margin-top:var(--auth-caption-gap);font-size:var(--auth-caption-size);color:rgb(255 255 255/var(--auth-caption-alpha))}.auth-brand{align-items:center;gap:var(--auth-brand-gap);width:max-content;color:inherit;font-size:var(--auth-wordmark-size);letter-spacing:var(--auth-wordmark-tracking);text-decoration:none;display:inline-flex}.auth-mark{width:var(--auth-mark-size);height:var(--auth-mark-size);border-radius:var(--auth-mark-radius);background:linear-gradient(145deg, var(--harbor-500), var(--pine-500));box-shadow:inset 0 0 0 var(--auth-mark-edge) #ffffff38;flex:none;place-items:center;display:grid}.auth-mark img{width:var(--auth-mark-glyph);height:var(--auth-mark-glyph);object-fit:contain}.auth-brand strong{font-weight:800}.auth-brand>span:last-child{font-weight:500}.auth-mobile-brand{color:var(--color-text);display:none}.auth-panel{padding:var(--auth-form-pad-y) var(--auth-form-pad-x);flex-direction:column;justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:var(--auth-form-width);animation:auth-enter var(--auth-enter-ms) ease-out both}.auth-head{gap:var(--auth-head-gap);margin-bottom:var(--auth-head-bottom);display:grid}.auth-head h1{font-size:var(--auth-title-size);line-height:var(--auth-title-leading);letter-spacing:var(--auth-title-tracking)}.auth-head p{color:var(--color-text-secondary);font-size:var(--auth-lede-size)}.auth-stack{gap:var(--auth-control-gap);display:grid}.auth-btn{justify-content:center;align-items:center;gap:var(--auth-icon-gap);width:100%;min-height:var(--auth-control-height);padding:0 var(--auth-control-pad-x);border:var(--auth-border-width) solid transparent;border-radius:var(--auth-control-radius);cursor:pointer;transition:background-color var(--auth-hover-ms) ease, border-color var(--auth-hover-ms) ease, transform var(--auth-hover-ms) ease;font-weight:600;text-decoration:none;display:flex}.auth-btn:active:not(:disabled){transform:scale(var(--auth-press-scale))}.auth-btn:disabled{opacity:var(--auth-disabled-opacity);cursor:default}.auth-btn svg{width:var(--auth-icon-size);height:var(--auth-icon-size);flex:none}.auth-btn-apple{background:var(--auth-apple-bg);color:var(--auth-apple-fg)}.auth-btn-apple:hover:not(:disabled){background:var(--auth-apple-bg-hover)}.auth-btn-outline{background:var(--color-bg-elevated);border-color:var(--color-line);color:var(--color-text)}.auth-btn-outline:hover:not(:disabled){background:var(--color-bg-grouped)}.auth-btn-primary{background:var(--harbor-500);color:#fff}.auth-btn-primary:hover:not(:disabled){background:var(--harbor-600)}.auth-submit{margin-top:var(--auth-submit-top)}.auth-spinner{width:var(--auth-spinner-size);height:var(--auth-spinner-size);border:var(--auth-spinner-line) solid currentColor;animation:auth-spin var(--auth-spin-ms) linear infinite;border-right-color:#0000;border-radius:50%;flex:none}.auth-link{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-divider{align-items:center;gap:var(--auth-control-gap);margin:var(--auth-divider-gap) 0;color:var(--color-text-tertiary);font-size:var(--auth-fine-size);display:flex}.auth-divider:before,.auth-divider:after{content:"";height:var(--auth-divider-line);background:var(--color-line);flex:1}.auth-field{gap:var(--auth-label-gap);display:grid}.auth-label-row{justify-content:space-between;align-items:baseline;display:flex}.auth-label-row label,.auth-label-row .auth-link{color:var(--color-text-secondary);font-size:var(--auth-label-size);font-weight:600}.auth-label-row .auth-link{color:var(--color-primary)}.auth-input-wrap{position:relative}.auth-input{width:100%;min-height:var(--auth-control-height);padding:0 var(--auth-control-pad-x);border:var(--auth-border-width) solid var(--color-line);border-radius:var(--auth-control-radius);background:var(--color-bg-elevated);color:var(--color-text);font-size:var(--auth-input-size);transition:border-color var(--auth-hover-ms) ease, box-shadow var(--auth-hover-ms) ease}.auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 var(--auth-focus-width) color-mix(in srgb, var(--color-primary) var(--auth-focus-strength), transparent);outline:none}.auth-input-password{padding-right:calc(var(--auth-reveal-size) + var(--auth-reveal-inset) * 2)}.auth-reveal{top:50%;right:var(--auth-reveal-inset);width:var(--auth-reveal-size);height:var(--auth-reveal-size);border-radius:var(--auth-reveal-radius);color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;transform:translateY(-50%)}.auth-reveal:hover{color:var(--color-text);background:var(--color-bg-grouped)}.auth-reveal svg{width:var(--auth-icon-size);height:var(--auth-icon-size)}.auth-hint{margin-top:calc(var(--auth-hint-gap) - var(--auth-label-gap));color:var(--color-text-tertiary);font-size:var(--auth-fine-size)}.auth-notices{gap:var(--auth-control-gap);margin-top:var(--auth-notice-top);display:grid}.auth-notices:empty{display:none}.auth-switch{margin-top:var(--auth-switch-top);color:var(--color-text-secondary);font-size:var(--auth-lede-size);text-align:center}.auth-fine{gap:var(--auth-fine-gap);margin-top:var(--auth-fine-top);color:var(--color-text-tertiary);font-size:var(--auth-fine-size);text-align:center;display:grid}.auth-fine a{color:inherit;text-underline-offset:var(--auth-underline-gap);text-decoration:underline}.auth-splash{place-content:center;justify-items:center;gap:var(--auth-splash-gap);background:var(--color-bg);min-height:100dvh;color:var(--color-text-secondary);font-size:var(--auth-lede-size);display:grid}.auth-splash .auth-mark{width:var(--auth-splash-mark);height:var(--auth-splash-mark);border-radius:var(--auth-splash-radius);animation:auth-pulse var(--auth-pulse-ms) ease-in-out infinite}.auth-splash .auth-mark img{width:var(--auth-splash-glyph);height:var(--auth-splash-glyph)}@keyframes auth-enter{0%{opacity:0;transform:translateY(var(--auth-enter-shift))}}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes auth-pulse{50%{opacity:var(--auth-pulse-opacity);transform:scale(var(--auth-pulse-scale))}}@media (prefers-reduced-motion:reduce){.auth-card,.auth-splash .auth-mark{animation:none}}@media (max-width:900px){.auth{grid-template-columns:minmax(0,1fr)}.auth-visual{display:none}.auth-panel{padding-top:max(var(--auth-form-pad-y), env(safe-area-inset-top));justify-content:flex-start}.auth-mobile-brand{margin-bottom:var(--auth-mobile-brand-gap);display:inline-flex}}
