@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap"); :root { /* Typography */ --body-font: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif; --display-font: "Plus Jakarta Sans", "Trebuchet MS", sans-serif; /* Color Palette */ --text-primary: #0f172a; --text-secondary: #64748b; --text-muted: #94a3b8; --bg-primary: #ffffff; --bg-secondary: #f8fafc; --bg-tertiary: #f1f5f9; --bg-gradient: linear-gradient(135deg, #f0f4f8 0%, #f8f9fb 100%); --border-light: rgba(15, 23, 42, 0.08); --border-medium: rgba(15, 23, 42, 0.12); --border-dark: rgba(15, 23, 42, 0.2); --accent-primary: #3b82f6; --accent-secondary: #8b5cf6; --success: #10b981; --error: #ef4444; /* Shadows */ --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.08); --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.1); --shadow-lg: 0 10px 30px rgba(15, 23, 42, 0.15); --shadow-xl: 0 20px 60px rgba(15, 23, 42, 0.2); /* Spacing */ --space-xs: 4px; --space-sm: 8px; --space-md: 12px; --space-lg: 16px; --space-xl: 24px; --space-2xl: 32px; --space-3xl: 48px; /* Transitions */ --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1); --transition-base: 200ms cubic-bezier(0.4, 0, 0.2, 1); --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1); /* Borders */ --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 20px; --radius-full: 999px; font-family: var(--body-font); font-size: 15px; line-height: 1.6; font-weight: 400; font-feature-settings: "rlig" 1, "calt" 1; font-variant-numeric: tabular-nums; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: var(--text-primary); } /* Dark Mode Support */ @media (prefers-color-scheme: dark) { :root { --text-primary: #f1f5f9; --text-secondary: #cbd5e1; --text-muted: #94a3b8; --bg-primary: #0f172a; --bg-secondary: #1e293b; --bg-tertiary: #334155; --bg-gradient: linear-gradient(135deg, #0f172a 0%, #1a1f36 100%); --border-light: rgba(248, 250, 252, 0.08); --border-medium: rgba(248, 250, 252, 0.12); --border-dark: rgba(248, 250, 252, 0.2); } } /* Reset & Base Styles */ * { box-sizing: border-box; margin: 0; padding: 0; } html, body { width: 100%; height: 100%; } body { margin: 0; padding: 0; min-height: 100vh; background: var(--bg-gradient); color: var(--text-primary); } #root { width: 100%; min-height: 100vh; } /* Typography */ h1, h2, h3, h4, h5, h6 { font-family: var(--display-font); font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; } p { margin: 0; line-height: 1.6; } a { color: var(--accent-primary); text-decoration: none; transition: color var(--transition-fast); } a:hover { color: var(--accent-secondary); } /* Buttons */ button { font-family: var(--body-font); font-size: inherit; font-weight: 600; } /* Form Elements */ input, textarea, select { font-family: var(--body-font); font-size: inherit; } /* Scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: var(--bg-secondary); } ::-webkit-scrollbar-thumb { background: var(--border-medium); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: var(--border-dark); } /* Selection */ ::selection { background: var(--accent-primary); color: white; } ::-moz-selection { background: var(--accent-primary); color: white; }