:root{--brand:#7c3aed;--brand-600:#6d28d9;--brand-700:#5b21b6;--brand-50:#f5f3ff;--brand-100:#ede9fe;--accent:#ec4899;--fg:#111827;--fg-muted:#6b7280;--fg-subtle:#9ca3af;--bg:#fafafa;--surface:#fff;--border:#e5e7eb;--border-strong:#d1d5db;--success-bg:#ecfdf5;--success-fg:#065f46;--warn-bg:#fff7ed;--warn-fg:#9a3412;--warn-border:#fed7aa;--error-bg:#fef2f2;--error-fg:#991b1b;--error-border:#fecaca;--radius-sm:6px;--radius:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #1118270d;--shadow:0 4px 16px #1118270f, 0 1px 2px #1118270a;--shadow-lg:0 20px 40px -12px #1118271f, 0 8px 16px -8px #11182714;--sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--fg);background:var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}#root{min-height:100dvh}h1,h2,h3,h4{color:var(--fg);letter-spacing:-.01em;margin:0;font-weight:700}h1{font-size:28px}h2{font-size:18px}h3{font-size:16px}p{margin:0}a{color:var(--brand-600);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}input,textarea,select{color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:8px 10px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}textarea{resize:vertical}::placeholder{color:var(--fg-subtle)}.brand-gradient{background-image:linear-gradient(135deg, var(--brand) 0%, var(--accent) 100%)}.brand-gradient-text{background-image:linear-gradient(135deg, var(--brand) 0%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--fg-subtle)}
