.auth-root{min-height:100vh;background:var(--bg-cream);display:flex;align-items:center;justify-content:center;padding:24px;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif}.auth-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:48px 40px;box-shadow:var(--shadow-card)}.auth-title{font-family:"Noto Serif SC",serif;font-size:26px;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:6px;letter-spacing:-.5px}.auth-subtitle{font-size:14px;color:var(--text-muted);text-align:center;font-weight:300;margin-bottom:32px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field-label{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:4px;display:flex;justify-content:space-between;align-items:baseline}.auth-forgot-link{font-size:12px;font-weight:400;color:var(--accent-amber);text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}.auth-input{width:100%;padding:12px 16px;background:var(--bg-cream);border:1px solid var(--border-subtle);border-radius:10px;font-size:15px;color:var(--text-primary);font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:var(--accent-amber);box-shadow:0 0 0 3px var(--accent-amber-light)}.auth-input::-moz-placeholder{color:var(--text-muted);font-weight:300}.auth-input::placeholder{color:var(--text-muted);font-weight:300}.auth-submit{width:100%;padding:13px;background:var(--text-primary);color:var(--bg-cream);border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;font-family:inherit;margin-top:8px;transition:all .2s ease}.auth-submit:hover{background:#2d2b2a;transform:translateY(-1px);box-shadow:0 4px 12px rgba(26,24,23,.15)}.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--text-muted);font-size:13px;font-weight:300}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:var(--border-subtle)}.auth-oauth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:var(--bg-cream);border:1px solid var(--border-subtle);border-radius:10px;font-size:14px;color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all .15s}.auth-oauth-btn:hover{border-color:rgba(26,24,23,.2);background:var(--bg-card)}.auth-oauth-icon{font-size:18px}.auth-switch{text-align:center;margin-top:24px;font-size:14px;color:var(--text-muted);font-weight:300}.auth-switch a{color:var(--accent-amber);font-weight:500;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-error{background:#fde8e8;color:#9b1c1c}.auth-error,.auth-success{font-size:13px;padding:10px 14px;border-radius:8px;margin-bottom:16px;line-height:1.5}.auth-success{background:#def7ec;color:#03543f}.auth-legal{margin-bottom:16px;padding:0 4px}.auth-legal-label{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text-muted);line-height:1.5;cursor:pointer}.auth-legal-label input{margin-top:2px;flex-shrink:0;cursor:pointer}.auth-legal-label span{line-height:1.6}.auth-legal-label a{color:var(--accent-amber);text-decoration:none}.auth-legal-label a:hover{text-decoration:underline}@media (max-width:480px){.auth-card{padding:32px 24px;border-radius:14px}}.auth-strength-row{display:flex;align-items:center;gap:8px;margin-top:6px}.auth-strength-bars{display:flex;gap:4px;flex:1}.auth-strength-bar{height:3px;flex:1;border-radius:2px;background:var(--border);transition:background .2s}.auth-strength-bar[data-active=true]{background:var(--accent-amber)}.auth-strength-label{font-size:12px;color:var(--text-muted);min-width:36px;text-align:right}