:root{--bg: #f5f6fa;--surface: #ffffff;--surface-2: #f8f9fc;--border: #e6e8f0;--border-2: #d5d8e6;--text: #0f172a;--text-2: #555d72;--text-3: #8b91a5;--pos: #059669;--neg: oklch(.55 .17 25);--accent: #6366f1;--brand-grad: linear-gradient(120deg, #8b5cf6, #6366f1 42%, #0d8cff 74%, #22d3ee);--accent-fg: #fff;--shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 32px -8px rgba(15, 23, 42, .16), 0 2px 6px rgba(15, 23, 42, .06);--accent-soft: color-mix(in oklab, var(--accent) 13%, transparent);--accent-line: color-mix(in oklab, var(--accent) 30%, transparent)}html[data-theme=dark]{--bg: #07080d;--surface: #0e1016;--surface-2: #14161f;--border: #1f2331;--border-2: #2c3142;--text: #f2f3f7;--text-2: #98a0b4;--text-3: #666e82;--pos: #10b981;--neg: oklch(.68 .16 25);--accent: #818cf8;--brand-grad: linear-gradient(120deg, #a78bfa, #7c86f8 42%, #3b9bff 74%, #22d3ee);--shadow: 0 1px 2px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 40px -10px rgba(0, 0, 0, .75), 0 2px 8px rgba(0, 0, 0, .45)}.page-marketing{--bg: #f4f6fc;--surface-2: #f5f7fd;--shadow-lg: 0 20px 48px -16px rgba(15, 23, 42, .18), 0 2px 8px rgba(15, 23, 42, .06);--accent-soft: color-mix(in oklab, var(--accent) 9%, #fff);--accent-line: color-mix(in oklab, var(--accent) 28%, #fff)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Aeonik,Manrope,system-ui,sans-serif;font-weight:500;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;font-size:inherit;color:inherit}input{font-family:inherit}.page-marketing a{color:var(--text-2);text-decoration:none}.page-marketing a:hover{color:var(--text);text-decoration:none}.page-auth a{color:var(--accent);text-decoration:none}.page-auth a:hover{color:var(--accent);text-decoration:underline}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}@keyframes flow{0%{stroke-dashoffset:22}to{stroke-dashoffset:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes drift{0%{transform:translateZ(0)}to{transform:translate3d(0,-38px,0)}}
