@import "tailwindcss"; :root { --background: #ffffff; --foreground: #171717; --card: #ffffff; --card-foreground: #171717; --primary: #3b82f6; --primary-foreground: #ffffff; --secondary: #f3f4f6; --secondary-foreground: #171717; --muted: #f3f4f6; --muted-foreground: #5f6368; --border: #e5e7eb; --ring: #3b82f6; /* Difficulty colors */ --difficulty-easy: #16a34a; --difficulty-easy-bg: #dcfce7; --difficulty-medium: #ca8a04; --difficulty-medium-bg: #fef9c3; --difficulty-hard: #dc2626; --difficulty-hard-bg: #fee2e2; /* Callout colors - Warning (orange/red) */ --callout-warning-bg: #fff7ed; --callout-warning-border: #f97316; --callout-warning-fg: #9a3412; /* Callout colors - Success (green) */ --callout-success-bg: #f0fdf4; --callout-success-border: #22c55e; --callout-success-fg: #166534; /* Callout colors - Info (blue) */ --callout-info-bg: #eff6ff; --callout-info-border: #3b82f6; --callout-info-fg: #1e40af; /* Callout colors - Insight (purple) */ --callout-insight-bg: #faf5ff; --callout-insight-border: #a855f7; --callout-insight-fg: #6b21a8; /* Approach boxes */ --approach-wrong-bg: #fef2f2; --approach-wrong-border: #fecaca; --approach-wrong-fg: #dc2626; --approach-correct-bg: #f0fdf4; --approach-correct-border: #bbf7d0; --approach-correct-fg: #16a34a; /* Badge colors - Category (teal) */ --badge-category: #0d9488; --badge-category-bg: #ccfbf1; /* Badge colors - Pattern (indigo) */ --badge-pattern: #4f46e5; --badge-pattern-bg: #e0e7ff; /* Badge colors - Optimal (green) */ --badge-optimal: #16a34a; --badge-optimal-bg: #dcfce7; /* Visualization colors */ --viz-default: #f3f4f6; --viz-active: #3b82f6; --viz-comparing: #f59e0b; --viz-found: #22c55e; --viz-visited: #9ca3af; --viz-swapping: #8b5cf6; --viz-transition: 300ms; } @media (prefers-color-scheme: dark) { :root { --background: #0a0a0a; --foreground: #ededed; --card: #171717; --card-foreground: #ededed; --primary: #3b82f6; --primary-foreground: #ffffff; --secondary: #262626; --secondary-foreground: #ededed; --muted: #262626; --muted-foreground: #a3a3a3; --border: #262626; --ring: #3b82f6; /* Difficulty colors (dark mode) */ --difficulty-easy: #4ade80; --difficulty-easy-bg: rgba(34, 197, 94, 0.2); --difficulty-medium: #facc15; --difficulty-medium-bg: rgba(234, 179, 8, 0.2); --difficulty-hard: #f87171; --difficulty-hard-bg: rgba(239, 68, 68, 0.2); /* Callout colors - Warning (dark mode) */ --callout-warning-bg: rgba(249, 115, 22, 0.15); --callout-warning-border: #f97316; --callout-warning-fg: #fdba74; /* Callout colors - Success (dark mode) */ --callout-success-bg: rgba(34, 197, 94, 0.15); --callout-success-border: #22c55e; --callout-success-fg: #86efac; /* Callout colors - Info (dark mode) */ --callout-info-bg: rgba(59, 130, 246, 0.15); --callout-info-border: #3b82f6; --callout-info-fg: #93c5fd; /* Callout colors - Insight (dark mode) */ --callout-insight-bg: rgba(168, 85, 247, 0.15); --callout-insight-border: #a855f7; --callout-insight-fg: #d8b4fe; /* Approach boxes (dark mode) */ --approach-wrong-bg: rgba(220, 38, 38, 0.15); --approach-wrong-border: rgba(220, 38, 38, 0.4); --approach-wrong-fg: #f87171; --approach-correct-bg: rgba(22, 163, 74, 0.15); --approach-correct-border: rgba(22, 163, 74, 0.4); --approach-correct-fg: #4ade80; /* Badge colors - Category (teal, dark mode) */ --badge-category: #2dd4bf; --badge-category-bg: rgba(20, 184, 166, 0.2); /* Badge colors - Pattern (indigo, dark mode) */ --badge-pattern: #a5b4fc; --badge-pattern-bg: rgba(99, 102, 241, 0.2); /* Badge colors - Optimal (green, dark mode) */ --badge-optimal: #4ade80; --badge-optimal-bg: rgba(34, 197, 94, 0.2); /* Visualization colors (dark mode) */ --viz-default: #374151; --viz-active: #3b82f6; --viz-comparing: #f59e0b; --viz-found: #22c55e; --viz-visited: #6b7280; --viz-swapping: #8b5cf6; } } body { background: var(--background); color: var(--foreground); font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } /* Improved line-height for prose content */ .prose-content { line-height: 1.7; } /* Visualization element transitions */ .viz-element { transition: background-color var(--viz-transition) ease, transform var(--viz-transition) ease, opacity var(--viz-transition) ease; } .viz-cell-bg { transition: fill var(--viz-transition) ease; } .viz-value { transition: fill var(--viz-transition) ease; } .viz-pointer { transition: transform var(--viz-transition) ease; }