.auth-legal-page,.auth-page{--auth-bg:var(--chat-bg);--auth-surface:var(--chat-surface);--auth-border:var(--chat-border);--auth-text:var(--chat-text);--auth-muted:var(--chat-muted);--auth-brand:var(--chat-accent);--auth-brand-deep:var(--chat-accent);--auth-violet:var(--chat-accent-2);--auth-radius:var(--chat-radius-modal,18px);--auth-input-h:48px;--auth-shadow:var(--chat-modal-shadow)}.auth-page{position:relative;min-height:100vh;color:var(--auth-text);font-family:var(--aligned-font-sans)}.auth-page__bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 90% 60% at 8% -5%,var(--chat-glow-blue),transparent 55%),radial-gradient(ellipse 70% 50% at 95% 0,var(--chat-glow-violet),transparent 50%),radial-gradient(ellipse 60% 40% at 50% 100%,var(--chat-glow-warm),transparent 55%),var(--auth-bg)}.auth-page__layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,1fr) minmax(340px,440px);grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:center;min-height:100vh;max-width:1080px;margin:0 auto;padding:clamp(24px,4vw,48px);box-sizing:border-box}.auth-showcase{display:flex;flex-direction:column;gap:20px;padding-right:12px}.auth-showcase__logo{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;letter-spacing:-.03em;text-decoration:none;width:-moz-fit-content;width:fit-content}.auth-showcase__tagline{margin:0;max-width:34ch;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.55;color:var(--auth-muted)}.auth-showcase__features{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.auth-showcase__features li{position:relative;padding-left:22px;font-size:14px;color:var(--auth-muted);line-height:1.45}.auth-showcase__features li:before{content:"";position:absolute;left:0;top:.45em;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--auth-brand),var(--auth-violet));box-shadow:0 0 12px rgba(37,99,235,.45)}.auth-gradient-text{background:linear-gradient(120deg,#2563eb,#6366f1 35%,#7c3aed 65%,#c026d3);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:auth-shimmer 8s ease-in-out infinite}@keyframes auth-shimmer{0%,to{background-position:0}50%{background-position:100%}}.auth-card{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:var(--auth-surface);border:1px solid var(--auth-border);border-radius:var(--auth-radius);box-shadow:var(--auth-shadow),inset 0 1px 0 var(--chat-modal-inset-highlight)}.auth-card__inner{padding:clamp(24px,4vw,32px)}.auth-card__mobile-logo{display:none;margin-bottom:4px;font-size:1.35rem;font-weight:700;text-decoration:none}.auth-card__head{margin-bottom:24px}.auth-card__title{margin:0 0 6px;font-size:1.65rem;font-weight:700;letter-spacing:-.025em;line-height:1.15}.auth-card__subtitle{margin:0;font-size:15px;line-height:1.5;color:var(--auth-muted)}.auth-card__body{display:flex;flex-direction:column;gap:16px}.auth-card__foot{margin-top:20px;padding-top:20px;border-top:1px solid var(--auth-border)}.auth-card__foot-text{margin:0;font-size:14px;color:var(--auth-muted);text-align:center}.auth-form{gap:16px}.auth-fields,.auth-form{display:flex;flex-direction:column}.auth-fields{gap:10px}.auth-fields--pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.auth-input{width:100%;height:var(--auth-input-h);padding:0 14px;box-sizing:border-box;border:1px solid var(--auth-border);border-radius:12px;background:var(--chat-surface);color:var(--auth-text);font-size:15px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.auth-input::placeholder{color:var(--chat-subtle)}.auth-input:hover{border-color:var(--chat-border-strong)}.auth-input:focus{outline:none;border-color:var(--chat-border-focus);box-shadow:0 0 0 4px var(--chat-focus-ring);background:var(--chat-surface)}.auth-input:-moz-read-only{cursor:default;background:var(--chat-elevated);color:var(--auth-muted)}.auth-input--readonly,.auth-input:read-only{cursor:default;background:var(--chat-elevated);color:var(--auth-muted)}.auth-submit{width:100%;height:var(--auth-input-h);padding:0 16px;border:none;border-radius:12px;color:var(--chat-btn-primary-text);font-size:15px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .18s ease,opacity .18s ease,filter .18s ease}.auth-submit--waiting{background:var(--chat-btn-primary-bg);opacity:.42;cursor:default}.auth-submit--waiting:active,.auth-submit--waiting:hover{transform:none;filter:none;opacity:.42}.auth-submit--ready{background:var(--chat-btn-primary-bg);box-shadow:var(--chat-btn-primary-shadow)}.auth-submit--ready:hover{filter:brightness(1.04);box-shadow:var(--chat-btn-primary-shadow);transform:translateY(-1px)}.auth-submit--ready:active{transform:translateY(0);filter:brightness(.98)}.auth-submit--loading,.auth-submit:disabled{background:var(--chat-btn-primary-bg);opacity:.72;cursor:wait;transform:none}.auth-oauth-row{display:flex;gap:10px;width:100%}.auth-oauth-btn{display:flex;flex:1 1;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:var(--auth-input-h);padding:0 12px;border:1px solid var(--auth-border);border-radius:12px;background:var(--chat-surface);color:var(--auth-text);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.auth-oauth-btn:hover{background:var(--chat-hover);box-shadow:0 2px 8px var(--chat-hover-strong)}.auth-oauth-btn--google:focus-visible{outline:2px solid #4285f4;outline-offset:2px}.auth-oauth-btn--microsoft:focus-visible{outline:2px solid #00a4ef;outline-offset:2px}.auth-oauth-btn-icon{flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:12px;margin:2px 0;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--auth-muted)}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,transparent,var(--auth-border),transparent)}.auth-form-hint{padding:12px 14px;border-radius:12px;border:1px solid var(--auth-border);background:var(--chat-elevated)}.auth-form-hint-title{margin:0 0 6px;font-size:13px;color:var(--auth-muted)}.auth-form-hint-list{margin:0;padding-left:18px;font-size:13px;line-height:1.45;color:var(--auth-text)}.auth-form-feedback{display:flex;flex-direction:column;gap:8px}.auth-msg{margin:0;padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.45}.auth-msg--error{color:var(--chat-danger);background:var(--chat-danger-hover);border:1px solid var(--chat-danger-hover)}.auth-msg--success{color:#15803d;background:rgba(220,252,231,.85);border:1px solid rgba(134,239,172,.6)}[data-chat-theme=dark] .auth-msg--success{color:#86efac;background:rgba(22,101,52,.28);border-color:rgba(74,222,128,.35)}.auth-notice{margin:0;padding:10px 12px;border-radius:10px;background:var(--chat-elevated);border:1px solid var(--auth-border)}.auth-notice,.auth-terms{font-size:14px;line-height:1.45;color:var(--auth-muted)}.auth-terms{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.auth-terms input{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:var(--auth-brand);cursor:pointer}.auth-link{color:var(--auth-text);font-weight:600;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100% /0 1px no-repeat;transition:background-size .2s ease,color .2s ease}.auth-link:hover{color:var(--auth-brand);background-size:100% 1px}.auth-link--muted{font-weight:500;color:var(--auth-muted)}.auth-link--center{display:block;width:-moz-fit-content;width:fit-content;margin:0 auto;font-size:14px}.auth-legal-page{min-height:100vh;padding:24px 16px 48px;background:var(--chat-bg);color:var(--chat-text);font-family:var(--aligned-font-sans);box-sizing:border-box}.auth-legal-page-inner{max-width:720px;margin:0 auto}.auth-legal-back{display:inline-block;margin-bottom:24px;font-size:14px;color:var(--auth-muted);text-decoration:none}.auth-legal-back:hover{color:var(--auth-brand)}.auth-legal-header h1{margin:0 0 8px;font-size:32px;font-weight:700}.auth-legal-meta{margin:0;font-size:14px;color:var(--auth-muted)}.auth-legal-sections{display:flex;flex-direction:column;gap:24px;margin-top:32px}.auth-legal-section h2{margin:0 0 8px;font-size:18px;font-weight:600}.auth-legal-section p{margin:0;font-size:15px;line-height:1.6;color:var(--auth-muted)}@media (max-width:860px){.auth-page__layout{grid-template-columns:1fr;max-width:440px;align-content:center}.auth-showcase{display:none}.auth-card__mobile-logo{display:block}}@media (max-width:480px){.auth-fields--pair{grid-template-columns:1fr}.auth-card__inner{padding:20px}}@media (prefers-reduced-motion:reduce){.auth-gradient-text{animation:none}.auth-submit--ready:hover{transform:none}}