.auth-page{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--auth-text: var(--text);--auth-muted: color-mix(in srgb, var(--text-secondary, var(--muted)) 90%, var(--auth-text));--auth-surface: var(--surface);--auth-border: var(--border);--auth-accent: var(--gold);--auth-brand-ink: color-mix(in srgb, var(--gold) 85%, var(--auth-text));display:flex;flex-direction:column;min-height:100dvh;background:var(--bg);color:var(--auth-text);font-family:var(--font-sans);font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.auth-page :is(button,input,summary){font-family:inherit}.auth-page :is(h1,h2,h3,p){margin:0}.auth-page :is(a,button,summary,input):focus-visible{outline:2px solid var(--auth-accent);outline-offset:3px}.auth-page a{color:var(--auth-muted);text-underline-offset:3px}.auth-page a:hover{color:var(--auth-text)}.auth-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(8px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));background:var(--auth-surface);border-bottom:1px solid var(--auth-border)}.auth-nav-home,.auth-theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px;border:0;border-radius:6px;background:transparent;color:var(--auth-muted);font-size:.875rem;text-decoration:none;cursor:pointer}.auth-theme-toggle{width:44px;flex:0 0 44px}.auth-nav :is(a,button):hover{background:var(--surface2)}.auth-nav svg{width:18px;height:18px;flex-shrink:0}.auth-body{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:1920px;margin-inline:auto;flex:1}.auth-brand-panel{display:none}.auth-form-panel{display:grid;align-items:center;justify-items:center;min-width:0;padding:24px max(16px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.auth-form-container{width:100%;max-width:460px;min-width:0}.auth-page .auth-mobile-logo{margin-bottom:24px;font-family:var(--font-brand, "Playfair Display", Georgia, serif);font-size:2.5rem;font-weight:700;line-height:1;letter-spacing:-.04em;text-align:center;color:var(--auth-brand-ink)}.auth-form-content{width:100%;min-width:0;padding:24px 20px;border:1px solid var(--auth-border);border-radius:10px;background:var(--auth-surface);box-shadow:0 8px 24px var(--overlay-04, rgba(0, 0, 0, .04))}.auth-form-header{margin-bottom:24px;text-align:left}.auth-page .auth-form-header h1{color:var(--auth-text);font:600 1.75rem/1.2 var(--font-sans);letter-spacing:-.025em;text-wrap:balance}.auth-page .auth-form-header p{margin-top:8px;color:var(--auth-muted);font:400 .9375rem/1.5 var(--font-sans)}.auth-input-group{min-width:0;margin-bottom:16px}.auth-input-group label{display:block;margin-bottom:6px;color:var(--auth-text);font-size:.875rem;font-weight:500}.auth-input-group input{display:block;width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid var(--auth-border);border-radius:6px;background:var(--auth-surface);color:var(--auth-text);font-size:max(16px,1rem);line-height:1.5}.auth-input-group input::-moz-placeholder{color:var(--auth-muted);opacity:1}.auth-input-group input::placeholder{color:var(--auth-muted);opacity:1}.auth-input-group input:focus{border-color:var(--auth-accent)}.auth-input-group input.error{border-color:var(--danger)}.auth-password-wrapper{position:relative}.auth-password-wrapper input{padding-right:52px}.auth-password-toggle{position:absolute;right:3px;top:50%;display:grid;place-items:center;width:44px;height:44px;transform:translateY(-50%);border:0;border-radius:4px;background:transparent;color:var(--auth-muted);cursor:pointer}.auth-password-toggle svg{width:20px;height:20px}.auth-form-actions{margin:-4px 0 16px;text-align:right}.auth-forgot-link{min-height:44px;padding:8px 0;border:0;background:transparent;color:var(--auth-muted);font-size:.875rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.auth-btn-primary,.auth-btn-secondary,.auth-sso-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:11px 16px;border:1px solid transparent;border-radius:6px;font-size:1rem;font-weight:500;line-height:1.5;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.auth-btn-primary{background:var(--auth-accent);color:var(--text-on-gold)}.auth-btn-primary:hover:not(:disabled){background:var(--gold-light, var(--auth-accent))}.auth-btn-secondary,.auth-sso-btn{border-color:var(--auth-border);background:var(--auth-surface);color:var(--auth-text)}.auth-btn-secondary{margin-top:12px}.auth-btn-secondary:hover:not(:disabled),.auth-sso-btn:hover:not(:disabled){background:var(--surface2)}.auth-page button:disabled{cursor:not-allowed;opacity:.65}.auth-btn-secondary svg,.auth-sso-btn svg{width:20px;height:20px;flex-shrink:0}.auth-btn-loader{width:20px;height:20px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-sso-buttons{display:grid;gap:10px}.auth-divider{display:flex;align-items:center;gap:12px;margin-block:20px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--auth-border)}.auth-divider span{max-width:75%;color:var(--auth-muted);font-size:.8125rem;text-align:center}.auth-page :is(.auth-signup-link,.auth-login-link){display:flex;flex-wrap:wrap;align-items:center;justify-content:center;-moz-column-gap:6px;column-gap:6px;margin-top:16px;color:var(--auth-muted);font-size:.875rem}.auth-signup-link a,.auth-login-link a{display:inline-flex;align-items:center;min-height:44px;font-weight:500}.auth-footer{margin-top:20px;color:var(--auth-muted);font-size:.8125rem;text-align:center}.auth-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 16px}.auth-footer a{display:inline-flex;align-items:center;min-height:44px}.auth-footer__link-button{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.auth-footer__link-button:hover{color:var(--auth-text)}.auth-alert{margin-bottom:16px;padding:12px;border:1px solid var(--auth-border);border-radius:6px;color:var(--auth-text);font-size:.875rem}.auth-alert-error{border-color:var(--danger)}.auth-alert-success{border-color:var(--success)}.auth-input-error,.auth-input-success{display:block;margin-top:6px;font-size:.8125rem}.auth-input-error{color:var(--auth-text)}.auth-input-success{color:var(--auth-muted)}.auth-turnstile-section{min-width:0;margin-block:16px}.auth-page .auth-turnstile-notice{margin-bottom:8px;color:var(--auth-muted);font-size:.8125rem}.auth-turnstile{width:100%;min-width:0}.auth-turnstile .turnstile-container{min-width:0;max-width:100%;margin:0;padding:0}@media(min-width:640px){.auth-nav{padding-inline:32px}.auth-form-panel{padding:32px 24px}.auth-form-content{padding:32px}}@media(min-width:1024px){.auth-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--surface2)}.auth-brand-panel{position:sticky;top:0;display:grid;place-items:center;align-self:start;height:calc(100dvh - 61px - env(safe-area-inset-top));padding:40px;background:var(--surface2)}.auth-brand-content{width:100%;max-width:480px;text-align:center}.auth-page .auth-brand-logo{margin:0 0 48px;color:var(--auth-brand-ink);font:700 clamp(4rem,7vw,6.5rem)/1 var(--font-brand, "Playfair Display", Georgia, serif);letter-spacing:-.04em}.auth-page .auth-brand-tagline{color:var(--auth-muted);font:400 1rem/1.5 var(--font-sans)}.auth-brand-subtitle{display:block;margin-top:12px;color:var(--auth-muted);font-size:.8125rem}.auth-eu-sovereignty-badge{display:grid;justify-items:center;gap:12px;margin-top:48px}.auth-eu-stars-svg{width:36px;height:36px;color:var(--auth-accent)}.auth-eu-label{color:var(--auth-muted);font-size:.75rem}.auth-mobile-logo{display:none}.auth-form-panel{padding-inline:clamp(24px,4vw,64px);background:var(--bg)}}@media(min-width:1024px)and (max-height:600px){.auth-brand-panel{position:static;height:auto;align-self:start}.auth-page .auth-brand-logo{margin-bottom:24px;font-size:4rem}.auth-eu-sovereignty-badge{margin-top:24px}}@media(max-width:359px){.auth-form-panel{padding-inline:max(12px,env(safe-area-inset-left))}.auth-form-content{padding-inline:16px}}@media(prefers-reduced-motion:reduce){.auth-page *,.auth-page *:before,.auth-page *:after{animation:none;transition:none}}
