| :root { |
| --bg-primary: #0f172a; |
| --bg-surface: #111c33; |
| --bg-surface-2: #16243f; |
| --bg-surface-3: #1b2b49; |
| --border: rgba(148, 163, 184, 0.14); |
| --border-strong: rgba(148, 163, 184, 0.28); |
|
|
| --text-primary: #e5eefb; |
| --text-secondary: rgba(226, 232, 240, 0.82); |
| --text-muted: rgba(148, 163, 184, 0.75); |
| --text-inverse: #ffffff; |
|
|
| --accent: #6366f1; |
| --accent-hover: #4f46e5; |
| --accent-light: rgba(99, 102, 241, 0.16); |
| --accent-glow: rgba(99, 102, 241, 0.26); |
|
|
| --authentic: #22c55e; |
| --authentic-bg: rgba(34, 197, 94, 0.12); |
| --authentic-glow: rgba(34, 197, 94, 0.24); |
|
|
| --ai-generated: #f43f5e; |
| --ai-generated-bg: rgba(244, 63, 94, 0.12); |
| --ai-generated-glow: rgba(244, 63, 94, 0.24); |
|
|
| --suspect: #f59e0b; |
| --suspect-bg: rgba(245, 158, 11, 0.14); |
| --suspect-glow: rgba(245, 158, 11, 0.24); |
|
|
| --nav-bg: rgba(8, 17, 31, 0.72); |
| --nav-border: rgba(148, 163, 184, 0.12); |
| --nav-link: rgba(226, 232, 240, 0.72); |
| --nav-link-hover-bg: rgba(99, 102, 241, 0.14); |
| --theme-toggle-bg: rgba(99, 102, 241, 0.12); |
| --theme-toggle-border: rgba(148, 163, 184, 0.12); |
|
|
| --hero-bg: linear-gradient(180deg, #08111f 0%, #0f172a 45%, #0b1324 100%); |
| --hero-accent-1: rgba(99, 102, 241, 0.22); |
| --hero-accent-2: rgba(56, 189, 248, 0.12); |
| --mesh-line: rgba(148, 163, 184, 0.08); |
| --badge-bg: rgba(99, 102, 241, 0.12); |
| --badge-border: rgba(129, 140, 248, 0.3); |
| --badge-text: #c7d2fe; |
| --badge-bg-strong-1: rgba(99, 102, 241, 0.22); |
| --badge-bg-strong-2: rgba(56, 189, 248, 0.2); |
| --heading-strong: #f8fafc; |
| --body-soft: rgba(226, 232, 240, 0.72); |
| --surface-card: rgba(15, 23, 42, 0.64); |
| --surface-soft: rgba(15, 23, 42, 0.45); |
| --surface-border: rgba(148, 163, 184, 0.14); |
| --surface-border-strong: rgba(148, 163, 184, 0.22); |
| --logo-grad-1: rgba(99, 102, 241, 0.25); |
| --logo-grad-2: rgba(129, 140, 248, 0.55); |
| --stat-label: rgba(191, 219, 254, 0.72); |
| --diagram-line-1: rgba(99, 102, 241, 0.65); |
| --diagram-line-2: rgba(56, 189, 248, 0.05); |
|
|
| --font-sans: 'Inter', system-ui, -apple-system, sans-serif; |
| --font-mono: 'JetBrains Mono', 'Fira Code', monospace; |
|
|
| --radius-sm: 8px; |
| --radius-md: 12px; |
| --radius-lg: 18px; |
| --radius-xl: 28px; |
|
|
| --shadow-sm: 0 1px 3px rgba(2, 6, 23, 0.18), 0 1px 2px rgba(2, 6, 23, 0.14); |
| --shadow-md: 0 12px 30px rgba(2, 6, 23, 0.24), 0 4px 12px rgba(2, 6, 23, 0.18); |
| --shadow-lg: 0 24px 80px rgba(2, 6, 23, 0.38), 0 8px 20px rgba(2, 6, 23, 0.26); |
| } |
|
|
| :root[data-theme='light'] { |
| --bg-primary: #f8fafc; |
| --bg-surface: #ffffff; |
| --bg-surface-2: #eef2ff; |
| --bg-surface-3: #e2e8f0; |
| --border: rgba(15, 23, 42, 0.09); |
| --border-strong: rgba(15, 23, 42, 0.18); |
|
|
| --text-primary: #0f172a; |
| --text-secondary: rgba(15, 23, 42, 0.82); |
| --text-muted: rgba(51, 65, 85, 0.7); |
| --text-inverse: #ffffff; |
|
|
| --accent: #4f46e5; |
| --accent-hover: #4338ca; |
| --accent-light: rgba(79, 70, 229, 0.1); |
| --accent-glow: rgba(79, 70, 229, 0.18); |
|
|
| --authentic: #16a34a; |
| --authentic-bg: rgba(22, 163, 74, 0.12); |
| --authentic-glow: rgba(22, 163, 74, 0.18); |
|
|
| --ai-generated: #e11d48; |
| --ai-generated-bg: rgba(225, 29, 72, 0.12); |
| --ai-generated-glow: rgba(225, 29, 72, 0.18); |
|
|
| --suspect: #d97706; |
| --suspect-bg: rgba(217, 119, 6, 0.12); |
| --suspect-glow: rgba(217, 119, 6, 0.18); |
|
|
| --nav-bg: rgba(255, 255, 255, 0.82); |
| --nav-border: rgba(15, 23, 42, 0.08); |
| --nav-link: rgba(15, 23, 42, 0.72); |
| --nav-link-hover-bg: rgba(79, 70, 229, 0.08); |
| --theme-toggle-bg: rgba(79, 70, 229, 0.08); |
| --theme-toggle-border: rgba(15, 23, 42, 0.08); |
|
|
| --hero-bg: linear-gradient(180deg, #f8fafc 0%, #eef2ff 46%, #e2e8f0 100%); |
| --hero-accent-1: rgba(79, 70, 229, 0.14); |
| --hero-accent-2: rgba(14, 165, 233, 0.08); |
| --mesh-line: rgba(71, 85, 105, 0.09); |
| --badge-bg: rgba(79, 70, 229, 0.1); |
| --badge-border: rgba(79, 70, 229, 0.18); |
| --badge-text: #4338ca; |
| --badge-bg-strong-1: rgba(79, 70, 229, 0.12); |
| --badge-bg-strong-2: rgba(14, 165, 233, 0.1); |
| --heading-strong: #0f172a; |
| --body-soft: rgba(15, 23, 42, 0.72); |
| --surface-card: rgba(255, 255, 255, 0.82); |
| --surface-soft: rgba(255, 255, 255, 0.72); |
| --surface-border: rgba(15, 23, 42, 0.08); |
| --surface-border-strong: rgba(15, 23, 42, 0.14); |
| --logo-grad-1: rgba(79, 70, 229, 0.18); |
| --logo-grad-2: rgba(14, 165, 233, 0.18); |
| --stat-label: rgba(67, 56, 202, 0.78); |
| --diagram-line-1: rgba(79, 70, 229, 0.5); |
| --diagram-line-2: rgba(14, 165, 233, 0.08); |
|
|
| --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.04); |
| --shadow-md: 0 10px 28px rgba(15, 23, 42, 0.1), 0 4px 10px rgba(15, 23, 42, 0.05); |
| --shadow-lg: 0 24px 80px rgba(15, 23, 42, 0.14), 0 10px 24px rgba(15, 23, 42, 0.08); |
| } |
|
|
| *, *::before, *::after { |
| box-sizing: border-box; |
| margin: 0; |
| padding: 0; |
| } |
|
|
| html { |
| font-size: 16px; |
| scroll-behavior: smooth; |
| -webkit-font-smoothing: antialiased; |
| -moz-osx-font-smoothing: grayscale; |
| } |
|
|
| body { |
| font-family: var(--font-sans); |
| background-color: var(--bg-primary); |
| color: var(--text-primary); |
| line-height: 1.6; |
| min-height: 100vh; |
| transition: background-color 0.25s ease, color 0.25s ease; |
| } |
|
|
| body::before { |
| content: ''; |
| position: fixed; |
| inset: 0; |
| pointer-events: none; |
| background: radial-gradient(circle at top, var(--accent-light), transparent 26%); |
| } |
|
|
| #root { |
| min-height: 100vh; |
| display: flex; |
| flex-direction: column; |
| width: 100%; |
| } |
|
|
| img, video { |
| max-width: 100%; |
| display: block; |
| } |
|
|
| button, input, a, section, article, nav, div { |
| transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease; |
| } |
|
|
| ::-webkit-scrollbar { width: 6px; height: 6px; } |
| ::-webkit-scrollbar-track { background: transparent; } |
| ::-webkit-scrollbar-thumb { background: rgba(148, 163, 184, 0.35); border-radius: 99px; } |
| ::-webkit-scrollbar-thumb:hover { background: rgba(148, 163, 184, 0.55); } |
|
|
| ::selection { background: var(--accent-light); color: var(--text-primary); } |
|
|
| :focus-visible { |
| outline: 2px solid var(--accent); |
| outline-offset: 2px; |
| border-radius: 6px; |
| } |
|
|