.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:64px 20px;position:relative;overflow:hidden;background:var(--surface)}.auth-page:before{background-image:radial-gradient(circle at 12% 18%,rgba(200,51,28,.04) 0,transparent 40%),radial-gradient(circle at 88% 78%,rgba(138,98,64,.05) 0,transparent 45%)}.auth-page:after,.auth-page:before{content:"";position:absolute;inset:0;pointer-events:none}.auth-page:after{background-image:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(199,190,174,.18) 0,rgba(199,190,174,.18) 40px);mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);opacity:.4}.auth-inner{position:relative;z-index:1;width:100%;max-width:440px;display:flex;flex-direction:column;align-items:stretch}.auth-wordmark{display:block;margin-bottom:48px;text-align:center;font-family:var(--font-display),Georgia,serif;font-weight:600;font-size:28px;letter-spacing:-.02em;color:var(--ink);text-decoration:none;align-self:center}.auth-wordmark .ll{color:var(--accent-brand);letter-spacing:-.06em}.auth-card{background:#ffffff;border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 1px 2px rgba(26,26,26,.02)}.auth-card h2{font-family:var(--font-display),Georgia,serif;font-weight:600;font-size:26px;line-height:1.2;letter-spacing:-.01em;margin:0 0 6px;color:var(--ink)}.auth-card-sub{font-size:14px;color:var(--ink-muted);margin:0 0 24px;line-height:1.55}.auth-form-error{margin-bottom:16px;padding:10px 14px;background:var(--accent-soft);border:1px solid rgba(176,50,31,.2);border-radius:8px;font-size:13px;color:var(--error);line-height:1.45;animation:auth-fade-in .1s ease}.auth-field-group{gap:20px}.auth-field,.auth-field-group{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field-label{font-size:13px;font-weight:500;color:var(--ink)}.auth-field-wrap{position:relative}.auth-field-input{width:100%;height:42px;padding:0 12px;background:#ffffff;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--ink);outline:none;transition:border-color .12s,box-shadow .12s}.auth-field-input::placeholder{color:var(--ink-subtle)}.auth-field-input:focus,.auth-field-input:hover{border-color:var(--border-strong)}.auth-field-input:focus{box-shadow:0 0 0 2px rgba(200,51,28,.2)}.auth-field-input.has-toggle{padding-right:44px}.auth-field-input[data-error=true]{border-color:var(--error)}.auth-field-input[data-error=true]:focus{box-shadow:0 0 0 2px rgba(176,50,31,.2)}.auth-field-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:38px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink-subtle);border-radius:6px;cursor:pointer}.auth-field-toggle:hover{color:var(--ink)}.auth-field-helper{font-size:12px;color:var(--ink-subtle);min-height:16px;line-height:1.4}.auth-field-helper[data-error=true]{color:var(--error);animation:auth-fade-in .1s ease}.auth-field-row{display:flex;justify-content:flex-end;margin-top:-10px}.auth-field-row a{font-size:13px;color:var(--accent-brand);text-decoration:none;font-weight:500}.auth-field-row a:hover{text-decoration:underline}.auth-btn{width:100%;height:44px;border-radius:8px;border:1px solid transparent;font-size:14px;font-family:inherit;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .12s,border-color .12s}.auth-btn-primary{background:var(--accent-brand);color:white;border-color:var(--accent-brand)}.auth-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.auth-btn-primary:disabled{opacity:.7;cursor:default}.auth-btn-secondary{background:#ffffff;color:var(--ink);border:1px solid var(--border)}.auth-btn-secondary:hover:not(:disabled){background:var(--surface-elevated);border-color:var(--border-strong)}.auth-btn-secondary:disabled{opacity:.7;cursor:default}.auth-btn-link{font-size:13px;color:var(--accent-brand);background:none;border:0;padding:0;font-weight:500;cursor:pointer;font-family:inherit}.auth-btn-link:hover{text-decoration:underline}.auth-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:white;border-radius:50%;animation:auth-spin .7s linear infinite;flex-shrink:0}.auth-oauth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--ink-subtle);font-size:12px}.auth-oauth-divider:after,.auth-oauth-divider:before{content:"";flex:1;height:1px;background:var(--border)}.auth-submit-wrap{margin-top:24px}.auth-fineprint{margin-top:16px;font-size:12px;line-height:1.5;color:var(--ink-subtle);text-align:center}.auth-fineprint a{color:var(--ink-muted);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:2px}.auth-fineprint a:hover{color:var(--ink)}.auth-switch-link{margin-top:32px;text-align:center;font-size:13px;color:var(--ink-muted)}.auth-switch-link a{color:var(--accent-brand);text-decoration:none;font-weight:500;margin-left:4px}.auth-switch-link a:hover{text-decoration:underline}.auth-confirm-icon{width:56px;height:56px;border-radius:14px;background:var(--accent-soft);color:var(--accent-brand);display:grid;place-items:center;margin:0 0 20px}@keyframes auth-fade-in{0%{opacity:0}to{opacity:1}}@keyframes auth-spin{to{transform:rotate(1turn)}}