:root{--c-bg: #000000;--c-surface: #18181c;--c-surface-2: #222228;--c-border: #2e2e38;--c-primary: #7c4dff;--c-primary-h: #9e6dff;--c-accent: #ff4081;--c-text: #f0f0f5;--c-muted: #8888a0;--c-error: #ff5252;--c-success: #00e676;--r-sm: .5rem;--r-md: .75rem;--r-lg: 1rem;--r-xl: 2rem;--shadow: 0 4px 24px rgba(0, 0, 0, .45);--transition: .18s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}@keyframes orbit-1{0%{transform:rotate(0) translate(38vw) rotate(0)}to{transform:rotate(360deg) translate(38vw) rotate(-360deg)}}@keyframes orbit-2{0%{transform:rotate(180deg) translate(28vw) rotate(-180deg)}to{transform:rotate(540deg) translate(28vw) rotate(-540deg)}}body{position:relative;overflow-x:hidden;background:var(--c-bg);color:var(--c-text);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;min-height:100dvh;-webkit-font-smoothing:antialiased;background:url(/background.svg) no-repeat center/cover,radial-gradient(180deg,#e100ff,#7f00ff),linear-gradient(0deg,#000000f2,#000000f2)}body:before,body:after{content:"";position:fixed;top:50%;left:50%;border-radius:50%;pointer-events:none;z-index:0}body:before{width:420px;height:420px;margin:-210px 0 0 -210px;background:radial-gradient(circle,#7F00FF 0%,transparent 70%);filter:blur(98px);animation:orbit-1 18s linear infinite}body:after{width:300px;height:300px;margin:-150px 0 0 -150px;background:radial-gradient(circle,#E100FF 0%,transparent 70%);filter:blur(98px);animation:orbit-2 12s linear infinite}a{color:var(--c-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--c-primary-h)}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.auth-card{position:relative;isolation:isolate;width:100%;max-width:420px;background-clip:padding-box;border:2px solid transparent;border-radius:var(--r-xl);padding:2.5rem 2rem}.auth-card:after{content:"";position:absolute;inset:-2px;border-radius:inherit;z-index:-1}.auth-card:before{content:"";position:absolute;inset:-2px;z-index:-2;opacity:.45;filter:blur(150px);transition:opacity .4s ease}.auth-card .logo{font-size:1.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:1.5rem;text-align:center}.auth-card h1{font-size:1.6rem;font-weight:700;text-align:center;margin-bottom:1.75rem}.field.checkbox{flex-direction:row;align-items:center;gap:.6rem}.field.checkbox label{display:flex;align-items:center;gap:.5rem;color:var(--c-text);cursor:pointer}.field.checkbox input[type=checkbox]{accent-color:var(--c-primary);width:16px;height:16px}input[type=email],input[type=password],input[type=text],.input{background:#f000;border:1.5px solid var(--transition);border-radius:var(--r-sm);color:#fff;font-size:.95rem;padding:.7rem 1rem;width:100%;transition:border-color var(--transition),box-shadow var(--transition);outline:none}input[type=email]::placeholder,input[type=password]::placeholder,input[type=text]::placeholder,.input::placeholder{color:var(--c-muted)}input[type=email]:focus,input[type=password]:focus,input[type=text]:focus,.input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #7c4dff33}.err{font-size:.78rem;color:var(--c-error);margin-top:-.1rem;height:1rem}.alert{background:#ff52521f;border:1px solid rgba(255,82,82,.35);border-radius:var(--r-sm);color:var(--c-error);font-size:.88rem;padding:.7rem 1rem;margin-bottom:1rem}.btn-primary{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.8rem 1.5rem;background:var(--c-primary);border:none;border-radius:var(--r-sm);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.01em;transition:background var(--transition),transform var(--transition),opacity var(--transition);margin-top:.25rem}.btn-primary:hover:not(:disabled){background:var(--c-primary-h);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;border:1.5px solid var(--c-border);border-radius:var(--r-sm);color:var(--c-muted);cursor:pointer;font-size:.88rem;padding:.45rem .9rem;transition:border-color var(--transition),color var(--transition)}.btn-ghost:hover{border-color:var(--c-text);color:var(--c-text)}.switch{font-size:.88rem;color:var(--c-muted);margin-top:1.25rem;text-align:center}
