index.css

 1/* highlight.js theme must be imported before any @layer rules (PostCSS requirement) */
 2@import 'highlight.js/styles/github.css';
 3
 4@tailwind base;
 5@tailwind components;
 6@tailwind utilities;
 7
 8@layer base {
 9  :root {
10    /* Blue-accented light palette. Primary is GitHub-style indigo-blue so
11       action buttons are clearly coloured, not a flat dark grey. */
12    --background: 0 0% 100%;
13    --foreground: 222 20% 18%;
14    --card: 0 0% 100%;
15    --card-foreground: 222 20% 18%;
16    --popover: 0 0% 100%;
17    --popover-foreground: 222 20% 18%;
18    --primary: 212 88% 44%;
19    --primary-foreground: 0 0% 100%;
20    --secondary: 214 32% 95%;
21    --secondary-foreground: 222 20% 18%;
22    --muted: 214 32% 96%;
23    --muted-foreground: 220 9% 46%;
24    --accent: 214 88% 95%;
25    --accent-foreground: 212 88% 35%;
26    --destructive: 0 84.2% 60.2%;
27    --destructive-foreground: 0 0% 98%;
28    --border: 214 32% 88%;
29    --input: 214 32% 88%;
30    --ring: 212 88% 44%;
31    --radius: 0.5rem;
32  }
33
34  .dark {
35    /* Softer dark — background lifted slightly, text dimmed to reduce glare. */
36    --background: 220 13% 15%;
37    --foreground: 220 10% 72%;
38    --card: 220 13% 18%;
39    --card-foreground: 220 10% 72%;
40    --popover: 220 13% 18%;
41    --popover-foreground: 220 10% 72%;
42    --primary: 213 88% 62%;
43    --primary-foreground: 220 20% 10%;
44    --secondary: 220 12% 24%;
45    --secondary-foreground: 220 10% 72%;
46    --muted: 220 12% 24%;
47    --muted-foreground: 220 8% 52%;
48    --accent: 220 20% 28%;
49    --accent-foreground: 213 88% 72%;
50    --destructive: 0 65% 50%;
51    --destructive-foreground: 0 0% 98%;
52    --border: 220 12% 26%;
53    --input: 220 12% 26%;
54    --ring: 213 88% 62%;
55  }
56}
57
58@layer base {
59  * {
60    @apply border-border;
61  }
62  body {
63    @apply bg-background text-foreground;
64  }
65}
66
67/* ── Dark-mode overrides for highlight.js (imported above) ──────────────── */
68.dark .hljs {
69  background: hsl(220, 13%, 16%);
70  color: hsl(220, 10%, 85%);
71}
72.dark .hljs-keyword,
73.dark .hljs-selector-tag,
74.dark .hljs-built_in { color: #ff7b72; }
75.dark .hljs-string,
76.dark .hljs-attr { color: #a5d6ff; }
77.dark .hljs-comment { color: hsl(220, 8%, 50%); }
78.dark .hljs-number,
79.dark .hljs-literal { color: #79c0ff; }
80.dark .hljs-title,
81.dark .hljs-name { color: #d2a8ff; }
82.dark .hljs-type { color: #ffa657; }