:root{--bg: #0a0a0f;--surface: #15151c;--surface-2: #1f1f28;--border: #2a2a36;--text: #e8e8ee;--text-muted: #8a8a96;--accent: #7c5cff;--accent-hover: #9376ff;--error: #ff5c7c;--success: #5cffa0;--radius: 10px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}a{color:var(--accent);text-decoration:none}button{font:inherit;cursor:pointer}.auth-page{min-height:100dvh;padding:calc(2rem + var(--safe-top)) 1.25rem calc(2rem + var(--safe-bottom));display:flex;flex-direction:column}.auth-page__header{margin-bottom:2rem}.auth-page__eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .5rem}.auth-page__title{font-size:1.75rem;font-weight:700;margin:0;color:var(--text)}.auth-page__subtitle{margin:.5rem 0 0;color:var(--text-muted);font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem;flex:1}.auth-field{display:flex;flex-direction:column;gap:.4rem}.auth-field__label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.auth-field__input{width:100%;height:48px;padding:0 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1rem}.auth-field__input:focus{outline:none;border-color:var(--accent)}.auth-field__input--invalid{border-color:var(--error)}.auth-field__error{font-size:.8rem;color:var(--error)}.auth-form__error{background:#ff5c7c1a;border:1px solid rgba(255,92,124,.4);color:var(--error);padding:.75rem 1rem;border-radius:var(--radius);font-size:.9rem}.auth-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:auto;padding-top:1.5rem}.auth-btn{width:100%;height:52px;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:1rem;font-weight:600;letter-spacing:.02em}.auth-btn:active:not(:disabled){background:var(--accent-hover)}.auth-btn:disabled{opacity:.6}.auth-btn--ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border);height:44px;font-weight:500}.auth-link{background:none;border:none;color:var(--accent);font-size:.9rem;padding:.75rem;text-align:center}
