|
6 | 6 | @source "../layouts/**/*.astro"; |
7 | 7 | @source "../pages/**/*.astro"; |
8 | 8 |
|
9 | | -:root { |
10 | | - --background: oklch(0.15 0.02 260); |
11 | | - --foreground: oklch(0.90 0.01 260); |
12 | | - --card: oklch(0.22 0.02 260); |
13 | | - --card-foreground: oklch(0.90 0.01 260); |
14 | | - --popover: oklch(0.28 0.025 260); |
15 | | - --popover-foreground: oklch(0.90 0.01 260); |
16 | | - --primary: oklch(0.75 0.18 280); |
17 | | - --primary-foreground: oklch(0.15 0.02 260); |
18 | | - --secondary: oklch(0.65 0.15 180); |
19 | | - --secondary-foreground: oklch(0.15 0.02 260); |
20 | | - --muted: oklch(0.26 0.02 260); |
21 | | - --muted-foreground: oklch(0.72 0.02 260); |
22 | | - --accent: oklch(0.70 0.20 60); |
23 | | - --accent-foreground: oklch(0.15 0.02 260); |
24 | | - --destructive: oklch(0.65 0.20 25); |
25 | | - --destructive-foreground: oklch(0.98 0 0); |
26 | | - --border: oklch(0.35 0.02 260); |
27 | | - --input: oklch(0.26 0.02 260); |
28 | | - --ring: oklch(0.75 0.18 280); |
29 | | - --success: oklch(0.72 0.17 150); |
30 | | - --success-foreground: oklch(0.15 0.02 260); |
31 | | - --warning: oklch(0.75 0.15 85); |
32 | | - --warning-foreground: oklch(0.20 0.02 260); |
33 | | - |
34 | | - --font-sans: 'Inter', system-ui, sans-serif; |
35 | | - --font-mono: 'JetBrains Mono', 'Fira Code', monospace; |
36 | | - --radius: 0.75rem; |
37 | | -} |
38 | | - |
39 | | -.light { |
40 | | - --background: oklch(0.97 0.005 260); |
41 | | - --foreground: oklch(0.18 0.02 260); |
42 | | - --card: oklch(1 0 0); |
43 | | - --card-foreground: oklch(0.18 0.02 260); |
44 | | - --popover: oklch(1 0 0); |
45 | | - --popover-foreground: oklch(0.18 0.02 260); |
46 | | - --primary: oklch(0.50 0.25 280); |
47 | | - --primary-foreground: oklch(1 0 0); |
48 | | - --secondary: oklch(0.50 0.18 180); |
49 | | - --secondary-foreground: oklch(1 0 0); |
50 | | - --muted: oklch(0.92 0.01 260); |
51 | | - --muted-foreground: oklch(0.40 0.02 260); |
52 | | - --accent: oklch(0.60 0.22 50); |
53 | | - --accent-foreground: oklch(0.18 0.02 260); |
54 | | - --destructive: oklch(0.50 0.25 25); |
55 | | - --destructive-foreground: oklch(1 0 0); |
56 | | - --border: oklch(0.88 0.01 260); |
57 | | - --input: oklch(0.92 0.01 260); |
58 | | - --ring: oklch(0.50 0.25 280); |
59 | | - --success: oklch(0.45 0.20 150); |
60 | | - --success-foreground: oklch(1 0 0); |
61 | | - --warning: oklch(0.55 0.18 85); |
62 | | - --warning-foreground: oklch(0.18 0.02 260); |
63 | | -} |
64 | | - |
65 | | -@theme inline { |
66 | | - --color-background: var(--background); |
67 | | - --color-foreground: var(--foreground); |
68 | | - --color-card: var(--card); |
69 | | - --color-card-foreground: var(--card-foreground); |
70 | | - --color-popover: var(--popover); |
71 | | - --color-popover-foreground: var(--popover-foreground); |
72 | | - --color-primary: var(--primary); |
73 | | - --color-primary-foreground: var(--primary-foreground); |
74 | | - --color-secondary: var(--secondary); |
75 | | - --color-secondary-foreground: var(--secondary-foreground); |
76 | | - --color-muted: var(--muted); |
77 | | - --color-muted-foreground: var(--muted-foreground); |
78 | | - --color-accent: var(--accent); |
79 | | - --color-accent-foreground: var(--accent-foreground); |
80 | | - --color-destructive: var(--destructive); |
81 | | - --color-destructive-foreground: var(--destructive-foreground); |
82 | | - --color-success: var(--success); |
83 | | - --color-success-foreground: var(--success-foreground); |
84 | | - --color-warning: var(--warning); |
85 | | - --color-warning-foreground: var(--warning-foreground); |
86 | | - --color-border: var(--border); |
87 | | - --color-input: var(--input); |
88 | | - --color-ring: var(--ring); |
89 | | - --font-sans: var(--font-sans); |
90 | | - --font-mono: var(--font-mono); |
91 | | - --radius-sm: calc(var(--radius) - 4px); |
92 | | - --radius-md: calc(var(--radius) - 2px); |
93 | | - --radius-lg: var(--radius); |
94 | | - --radius-xl: calc(var(--radius) + 4px); |
95 | | -} |
96 | | - |
97 | | -* { |
98 | | - border-color: var(--border); |
99 | | -} |
100 | | - |
101 | | -body { |
102 | | - font-family: var(--font-sans); |
103 | | - background: var(--background); |
104 | | - color: var(--foreground); |
105 | | - font-feature-settings: "ss01", "ss02", "cv01"; |
106 | | -} |
107 | | - |
108 | | -/* Subtle grid background */ |
109 | | -.bg-grid { |
110 | | - background-image: |
111 | | - linear-gradient(to right, oklch(0.32 0.02 260 / 0.5) 1px, transparent 1px), |
112 | | - linear-gradient(to bottom, oklch(0.32 0.02 260 / 0.5) 1px, transparent 1px); |
113 | | - background-size: 24px 24px; |
114 | | -} |
115 | | - |
116 | | -.light .bg-grid { |
117 | | - background-image: |
118 | | - linear-gradient(to right, oklch(0.90 0.01 260 / 0.6) 1px, transparent 1px), |
119 | | - linear-gradient(to bottom, oklch(0.90 0.01 260 / 0.6) 1px, transparent 1px); |
120 | | -} |
121 | | - |
122 | | -/* Glow effects */ |
123 | | -.glow-primary { |
124 | | - box-shadow: 0 0 20px oklch(0.75 0.18 280 / 0.15), 0 0 40px oklch(0.75 0.18 280 / 0.05); |
125 | | -} |
126 | | - |
127 | | -.glow-sm { |
128 | | - box-shadow: 0 0 10px oklch(0.75 0.18 280 / 0.1); |
129 | | -} |
130 | | - |
131 | | -/* Custom scrollbar */ |
132 | | -::-webkit-scrollbar { width: 6px; height: 6px; } |
133 | | -::-webkit-scrollbar-track { background: transparent; } |
134 | | -::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; } |
135 | | -::-webkit-scrollbar-thumb:hover { background: var(--muted-foreground); } |
136 | | - |
137 | | -/* Selection */ |
138 | | -::selection { |
139 | | - background: oklch(0.75 0.18 280 / 0.3); |
140 | | -} |
141 | | - |
142 | | -/* Smooth transitions */ |
143 | | -* { |
144 | | - transition-property: color, background-color, border-color, box-shadow, opacity, transform; |
145 | | - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); |
146 | | - transition-duration: 150ms; |
147 | | -} |
148 | | - |
149 | | -/* Focus states */ |
150 | | -:focus-visible { |
151 | | - outline: 2px solid var(--ring); |
152 | | - outline-offset: 2px; |
153 | | -} |
| 9 | +@import "../../../../packages/ui/theme.css"; |
154 | 10 |
|
155 | 11 | /* Shiki dual theme — dark by default, light when .light class */ |
156 | 12 | .astro-code { |
|
0 commit comments