:root{--color-bg: #f8f9fc;--color-bg-elevated: #ffffff;--color-bg-sunken: #f1f3f8;--color-bg-overlay: rgba(15, 23, 42, .06);--color-surface: #ffffff;--color-surface-hover: #f8f9fc;--color-surface-active: #f1f3f8;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-border-focus: #6366f1;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #94a3b8;--color-text-inverse: #ffffff;--color-accent: #6366f1;--color-accent-hover: #4f46e5;--color-accent-subtle: #eef2ff;--color-accent-text: #4338ca;--color-success: #10b981;--color-success-subtle: #ecfdf5;--color-success-text: #065f46;--color-warning: #f59e0b;--color-warning-subtle: #fffbeb;--color-warning-text: #92400e;--color-danger: #ef4444;--color-danger-subtle: #fef2f2;--color-danger-text: #991b1b;--color-info: #3b82f6;--color-info-subtle: #eff6ff;--color-info-text: #1e40af;--sidebar-bg: #0f172a;--sidebar-bg-hover: #1e293b;--sidebar-bg-active: #1e293b;--sidebar-text: #94a3b8;--sidebar-text-hover: #e2e8f0;--sidebar-text-active: #f1f5f9;--sidebar-border: rgba(255, 255, 255, .08);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -2px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .06), 0 4px 6px -4px rgba(15, 23, 42, .04);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .08), 0 8px 10px -6px rgba(15, 23, 42, .04);--shadow-glow: 0 0 0 3px rgba(99, 102, 241, .15);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.55, 0, 1, .45);--ease-inout: cubic-bezier(.65, 0, .35, 1);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .35s;--sidebar-width: 260px;--sidebar-collapsed-width: 72px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-bg);min-height:100vh;overflow-wrap:break-word;word-break:break-word;touch-action:manipulation}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}img{display:block;max-width:100%}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
