:root{--color-brand-violet:#7b5cf6;--color-brand-cyan:#5bc4f8;--color-brand-violet-deep:#5a38d4;--color-brand-cyan-deep:#1aabdf;--color-brand-violet-light:#f0ecff;--color-brand-violet-tint:#c8bbfa;--color-brand-cyan-light:#ebf8ff;--color-brand-cyan-tint:#a8dcfa;--gradient-brand:linear-gradient(135deg,#7b5cf6,#5bc4f8);--gradient-brand-h:linear-gradient(90deg,#7b5cf6,#5bc4f8);--gradient-brand-deep:linear-gradient(135deg,#5a38d4,#1aabdf);--gradient-brand-subtle:linear-gradient(135deg,rgba(123,92,246,.08),rgba(91,196,248,.08));--color-base:#f7f8ff;--color-surface:#fff;--color-raised:#eceef8;--color-overlay:#f0f2fc;--color-text-primary:#0c0f38;--color-text-secondary:#6264a0;--color-text-muted:#9698c0;--color-text-disabled:#c0c2d8;--color-text-inverse:#fff;--color-text-brand:#6842d4;--color-border:#d8daf0;--color-border-subtle:#eceef8;--color-border-strong:#b0b2d0;--color-border-brand:rgba(123,92,246,.28);--color-border-focus:#7b5cf6;--color-success:#1f8a5b;--color-success-light:#e8f7f0;--color-success-border:#a0d9bc;--color-success-text:#166244;--color-warning:#c47d1a;--color-warning-light:#fff4e0;--color-warning-border:#f5c878;--color-warning-text:#a0610e;--color-error:#d94040;--color-error-light:#fff0f0;--color-error-border:#f5a8a8;--color-error-text:#b02020;--color-info:#1a7fb5;--color-info-light:#ebf8ff;--color-info-border:#a8dcfa;--color-info-text:#0f5f8a}
:root{--font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--text-display:56px;--text-h1:40px;--text-h2:32px;--text-h3:24px;--text-h4:20px;--text-h5:17px;--text-lg:16px;--text-base:14px;--text-sm:13px;--text-xs:11px;--text-2xs:10px;--leading-none:1;--leading-tight:1.2;--leading-snug:1.4;--leading-normal:1.6;--leading-relaxed:1.7;--leading-loose:1.9;--tracking-tight:-.025em;--tracking-snug:-.015em;--tracking-normal:0em;--tracking-wide:.03em;--tracking-wider:.08em;--tracking-widest:.14em;--type-display:700 var(--text-display)/var(--leading-tight)var(--font-family);--type-h1:700 var(--text-h1)/var(--leading-tight)var(--font-family);--type-h2:700 var(--text-h2)/var(--leading-tight)var(--font-family);--type-h3:600 var(--text-h3)/var(--leading-snug)var(--font-family);--type-h4:600 var(--text-h4)/var(--leading-snug)var(--font-family);--type-body-lg:400 var(--text-lg)/var(--leading-relaxed)var(--font-family);--type-body:400 var(--text-base)/var(--leading-relaxed)var(--font-family);--type-body-sm:400 var(--text-sm)/var(--leading-normal)var(--font-family);--type-label:600 var(--text-xs)/var(--leading-none)var(--font-family);--type-overline:600 var(--text-2xs)/var(--leading-none)var(--font-family);--type-mono:500 var(--text-sm)/var(--leading-normal)"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
:root{--space-px:1px;--space-0:0px;--space-0-5:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-20:80px;--space-24:96px;--space-28:112px;--space-32:128px;--space-40:160px;--space-48:192px;--section-padding-x:var(--space-16);--section-padding-y:var(--space-20);--card-padding:var(--space-6);--card-padding-sm:var(--space-4);--nav-height:64px;--container-max:1280px}
:root{--radius-none:0px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-3xl:24px;--radius-full:9999px;--border-width:1px;--border-width-2:2px;--border-width-4:4px;--shadow-xs:0 1px 2px rgba(98,100,160,.06);--shadow-sm:0 1px 4px rgba(98,100,160,.08),0 1px 2px rgba(98,100,160,.04);--shadow-md:0 4px 16px rgba(98,100,160,.1),0 2px 4px rgba(98,100,160,.06);--shadow-lg:0 8px 32px rgba(98,100,160,.14),0 2px 8px rgba(98,100,160,.08);--shadow-xl:0 16px 48px rgba(98,100,160,.18),0 4px 12px rgba(98,100,160,.08);--shadow-2xl:0 24px 64px rgba(98,100,160,.22),0 6px 16px rgba(98,100,160,.1);--shadow-brand:0 4px 20px rgba(123,92,246,.28),0 1px 4px rgba(91,196,248,.18);--ring-focus:0 0 0 3px rgba(123,92,246,.22);--ring-focus-error:0 0 0 3px rgba(217,64,64,.18);--transition-fast:.1s ease;--transition-base:.16s ease;--transition-slow:.24s ease;--transition-slower:.36s ease;--opacity-disabled:.45;--opacity-hover:.88}
:root{--bg:var(--color-base);--surface:var(--color-surface);--raised:var(--color-raised);--border:var(--color-border);--text:var(--color-text-primary);--muted:var(--color-text-secondary);--accent:var(--color-brand-violet);--accent-text:var(--color-text-inverse);--danger:var(--color-error);--danger-bg:var(--color-error-light);--radius:var(--radius-lg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}body{background:var(--color-base);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:var(--color-text-brand)}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}input,button{font:inherit;color:inherit}.auth-shell{min-height:100dvh;padding:var(--space-6);place-items:center;display:grid}.auth-card{width:100%;max-width:400px;padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.auth-card:before{content:"";background:var(--gradient-brand-h);height:3px;position:absolute;top:0;bottom:auto;left:0;right:0}.auth-brand{margin:0 0 var(--space-2);font:var(--type-overline);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text-muted)}.auth-title{margin:0 0 var(--space-6);font:var(--type-h3);letter-spacing:var(--tracking-snug)}.auth-divider{align-items:center;gap:var(--space-3);margin:var(--space-6)0;font:var(--type-overline);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text-muted);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.field{margin-bottom:var(--space-4);display:block}.field>span{margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);display:block}.field>input{width:100%;padding:var(--space-2)var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field>input:focus{border-color:var(--color-border-focus);box-shadow:var(--ring-focus);outline:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3)var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);display:inline-flex}.btn:hover:not(:disabled){border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-primary{background:var(--gradient-brand);color:var(--color-text-inverse);border-color:transparent}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-brand);opacity:var(--opacity-hover);border-color:transparent}.link-button{border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-brand);cursor:pointer;background:0 0;border:none;padding:0}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.alert{margin:0 0 var(--space-4);padding:var(--space-3);background:var(--color-error-light);border:1px solid var(--color-error-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-error-text)}.note{margin:var(--space-4)0 0;font:var(--type-body-sm);color:var(--color-text-secondary)}
