:root{--purple-900: #1a0b2e;--purple-700: #3b1a6e;--text: #f5f0ff;--text-muted: #d9cdf2;--accent-from: #d946ef;--accent-to: #22d3ee;--error: #ffc4d6;--accent-gradient: linear-gradient(90deg, var(--accent-from), var(--accent-to))}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;background:var(--purple-900);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem 1.5rem;text-align:center;background:radial-gradient(60rem 30rem at 50% 0%,var(--purple-700),transparent 70%),var(--purple-900)}.welcome__brand{margin:0;font-size:clamp(2.75rem,12vw,6rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--text);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.welcome__brand:after{content:"";display:block;width:4rem;height:.25rem;margin:1.25rem auto 0;border-radius:999px;background:var(--accent-gradient);-webkit-text-fill-color:initial}.welcome__tagline{margin:1.25rem 0 0;max-width:28rem;font-size:clamp(1.05rem,4.5vw,1.5rem);line-height:1.4;color:var(--text-muted)}.login{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:22rem;margin-top:2rem;text-align:left}.login__field{display:flex;flex-direction:column;gap:.375rem;font-size:1rem;color:var(--text-muted)}.login__field input{width:100%;padding:.75rem .875rem;font:inherit;color:var(--text);background:var(--purple-900);border:2px solid var(--text-muted);border-radius:.5rem}.login__field input:focus-visible,.button:focus-visible{outline:3px solid var(--accent-to);outline-offset:2px}.login__error{margin:1rem 0 0;max-width:22rem;font-size:1rem;line-height:1.4;color:var(--error)}.login .login__error{margin:0}.button{margin-top:1.5rem;padding:.75rem 1.5rem;font:inherit;font-weight:700;color:var(--purple-900);background:var(--text);border:0;border-radius:.5rem;cursor:pointer}.login .button{margin-top:.5rem}.button:disabled{opacity:.7;cursor:progress}
