:root{--bg: #f8fafc;--surface: #ffffff;--surface-hover: #f1f5f9;--fg: #0f172a;--muted: #64748b;--muted-light: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--accent: #2563eb;--accent-light: #dbeafe;--accent-dark: #1d4ed8;--accent-soft: #eff6ff;--success: #16a34a;--success-light: #dcfce7;--warning: #d97706;--warning-light: #fef3c7;--danger: #dc2626;--danger-light: #fee2e2;--shadow-sm: 0 1px 2px 0 rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.05);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.05);--font-display: "Inter", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px;--text-4xl: 40px;--leading-body: 1.6;--leading-tight: 1.25;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-fontoothing:grayscale}#root{min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent-light)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--muted-light)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}mark{background:var(--accent-light);color:var(--accent-dark);border-radius:3px;padding:0 2px}
