* { box-sizing: border-box; }
:root { font-family: Arial, Helvetica, sans-serif; color: #f7f8ff; background: #080b1c; }
body { min-width: 320px; min-height: 100vh; margin: 0; background: radial-gradient(circle at 50% 0%, #28145f 0%, #080b1c 52%, #050611 100%); }
.auth-shell { display: grid; place-items: center; min-height: 100vh; padding: 24px; }
.auth-card { width: min(100%, 440px); padding: 40px 34px 34px; border: 1px solid rgba(129, 103, 255, .45); border-radius: 24px; background: rgba(7, 10, 28, .88); box-shadow: 0 28px 80px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .06); }
.auth-kicker { margin-bottom: 18px; color: #7ee9ff; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
h1 { margin: 0 0 12px; font-size: clamp(30px, 8vw, 46px); letter-spacing: -.05em; }
.auth-copy { max-width: 34ch; margin: 0 0 30px; color: #a8adc8; font-size: 15px; line-height: 1.55; }
form { display: grid; gap: 10px; }
label { margin-top: 8px; color: #e9e9f8; font-size: 13px; font-weight: 700; }
input { width: 100%; border: 1px solid #3b4168; border-radius: 12px; padding: 15px 16px; outline: none; background: #151b37; color: #fff; font: inherit; transition: border-color .16s ease, box-shadow .16s ease; }
input:focus { border-color: #7ee9ff; box-shadow: 0 0 0 3px rgba(126, 233, 255, .18); }
button { margin-top: 16px; border: 0; border-radius: 12px; padding: 15px 16px; background: linear-gradient(90deg, #35d7f2, #9a5cf8); color: #071022; font: inherit; font-weight: 800; transition: transform .16s ease, filter .16s ease; }
button:hover { filter: brightness(1.08); }
button:active { transform: scale(.98); }
button:disabled { cursor: wait; opacity: .68; }
.auth-error { margin: 10px 0 0; border-radius: 10px; padding: 10px 12px; background: rgba(255, 89, 103, .12); color: #ffabb4; font-size: 13px; line-height: 1.4; }
@media (max-width: 480px) { .auth-shell { padding: 16px; } .auth-card { padding: 30px 22px 24px; border-radius: 18px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; } }
