@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--color-bg:#f8f9fc;--color-surface:#fff;--color-surface-2:#f1f3f8;--color-border:#0000000f;--color-border-subtle:#0000000a;--color-text-primary:#111827;--color-text-secondary:#4b5563;--color-text-muted:#9ca3af;--color-brand:#7c3aed;--color-brand-hover:#6d28d9;--color-brand-light:#ede9fe;--color-brand-border:#ddd6fe;--color-brand-glow:#7c3aed2e;--color-accent:#06b6d4;--color-accent-light:#ecfeff;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000a;--shadow-md:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #0000000f,0 4px 6px -4px #00000008;--shadow-xl:0 20px 25px -5px #0000000f,0 8px 10px -6px #00000008;--shadow-card:0 0 0 1px #0000000d,0 2px 8px #0000000a,0 1px 2px #00000008;--shadow-float:0 0 0 1px #0000000d,0 8px 24px #00000012;--shadow-brand:0 4px 20px #7c3aed38;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-normal:.22s cubic-bezier(.4,0,.2,1);--transition-slow:.35s cubic-bezier(.4,0,.2,1);--glass-bg:#ffffffb8;--glass-border:#ffffff8c;--glass-blur:backdrop-filter: blur(16px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);min-height:100vh;line-height:1.6}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#0000001f}::-webkit-scrollbar-thumb:hover{background:#0003}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.card:hover{box-shadow:var(--shadow-float)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.mesh-gradient{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.mesh-orb{filter:blur(100px);opacity:.55;border-radius:50%;animation:20s ease-in-out infinite orb-float;position:absolute}.mesh-orb-1{background:radial-gradient(circle,#a78bfa59 0%,#7c3aed14 70%);width:680px;height:680px;animation-delay:0s;top:-160px;right:-120px}.mesh-orb-2{background:radial-gradient(circle,#06b6d440 0%,#06b6d40a 70%);width:520px;height:520px;animation-delay:-8s;bottom:-100px;left:180px}.mesh-orb-3{background:radial-gradient(circle,#a78bfa2e 0%,#0000 70%);width:400px;height:400px;animation-delay:-14s;top:40%;left:30%}@keyframes orb-float{0%,to{transform:translateY(0)scale(1)}33%{transform:translateY(-30px)scale(1.04)}66%{transform:translateY(20px)scale(.97)}}.gradient-text{background:linear-gradient(135deg,#7c3aed 0%,#06b6d4 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn-primary{color:#fff;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-brand);font-size:15px;font-weight:600;font-family:var(--font-sans);background:#7c3aed;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;display:inline-flex}.btn-primary:hover{background:#6d28d9;transform:translateY(-1px);box-shadow:0 6px 24px #7c3aed4d}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{background:var(--color-surface-2);color:var(--color-text-muted);box-shadow:none;cursor:not-allowed;transform:none}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,#f1f3f8 25%,#eaecf2 50%,#f1f3f8 75%) 0 0/200% 100%;animation:1.6s infinite shimmer}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-ring{0%{transform:scale(.95);box-shadow:0 0 #7c3aed66}70%{transform:scale(1);box-shadow:0 0 0 8px #7c3aed00}to{transform:scale(.95);box-shadow:0 0 #7c3aed00}}.pulse-ring{animation:2s infinite pulse-ring}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.4s cubic-bezier(.4,0,.2,1) both fade-up}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.running{background:var(--color-brand);animation:1.5s infinite pulse-ring}.status-dot.done{background:var(--color-success)}.status-dot.error{background:var(--color-error)}.status-dot.idle{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;border-radius:4px}.pulsing-dot{animation:1.5s infinite pulse-ring}
