-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathglobals.css
More file actions
151 lines (134 loc) · 4.99 KB
/
Copy pathglobals.css
File metadata and controls
151 lines (134 loc) · 4.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
@import "tailwindcss";
@import "tw-animate-css";
@custom-variant dark (&:is(.dark *));
/* =============================================================
* arena · token system
*
* Two channel accents (raw cyan, governed blue), one bubble pair
* (user, assistant), three verdict tones (approve, warn, deny).
* Every value is a CSS custom property so primitives consume the
* palette through `bg-…` / `text-…` utilities only — no raw hex
* in JSX.
* ============================================================= */
:root {
--background: oklch(1 0 0);
--foreground: oklch(0.145 0 0);
--card: oklch(1 0 0);
--card-foreground: oklch(0.145 0 0);
--popover: oklch(1 0 0);
--popover-foreground: oklch(0.145 0 0);
--primary: oklch(0.205 0 0);
--primary-foreground: oklch(0.985 0 0);
--secondary: oklch(0.97 0 0);
--secondary-foreground: oklch(0.205 0 0);
--muted: oklch(0.97 0 0);
--muted-foreground: oklch(0.556 0 0);
--accent: oklch(0.97 0 0);
--accent-foreground: oklch(0.205 0 0);
--destructive: oklch(0.577 0.245 27.325);
--destructive-foreground: oklch(0.577 0.245 27.325);
--border: oklch(0.922 0 0);
--input: oklch(0.922 0 0);
--ring: oklch(0.708 0 0);
--radius: 0.625rem;
/* Channel accents */
--chat-governed: oklch(0.5 0.14 250);
--chat-governed-foreground: oklch(0.985 0 0);
--chat-governed-soft: oklch(0.96 0.02 250);
--chat-raw: oklch(0.58 0.11 195);
--chat-raw-foreground: oklch(0.985 0 0);
--chat-raw-soft: oklch(0.96 0.02 195);
/* Message bubbles */
--bubble-user: oklch(0.97 0 0);
--bubble-user-foreground: oklch(0.205 0 0);
--bubble-assistant: oklch(0.985 0 0);
--bubble-assistant-foreground: oklch(0.145 0 0);
/* Verdict chips — color paired with icon + word (color-not-only) */
--verdict-approve: oklch(0.6 0.16 145);
--verdict-warn: oklch(0.72 0.16 85);
--verdict-deny: oklch(0.6 0.18 25);
}
.dark {
--background: oklch(0.145 0 0);
--foreground: oklch(0.985 0 0);
--card: oklch(0.145 0 0);
--card-foreground: oklch(0.985 0 0);
--popover: oklch(0.145 0 0);
--popover-foreground: oklch(0.985 0 0);
--primary: oklch(0.985 0 0);
--primary-foreground: oklch(0.205 0 0);
--secondary: oklch(0.269 0 0);
--secondary-foreground: oklch(0.985 0 0);
--muted: oklch(0.269 0 0);
--muted-foreground: oklch(0.708 0 0);
--accent: oklch(0.269 0 0);
--accent-foreground: oklch(0.985 0 0);
--destructive: oklch(0.704 0.191 22.216);
--destructive-foreground: oklch(0.985 0 0);
--border: oklch(0.269 0 0);
--input: oklch(0.269 0 0);
--ring: oklch(0.439 0 0);
--chat-governed: oklch(0.65 0.15 250);
--chat-governed-soft: oklch(0.25 0.03 250);
--chat-raw: oklch(0.7 0.12 195);
--chat-raw-soft: oklch(0.25 0.03 195);
--bubble-user: oklch(0.27 0 0);
--bubble-user-foreground: oklch(0.985 0 0);
--bubble-assistant: oklch(0.205 0 0);
--bubble-assistant-foreground: oklch(0.985 0 0);
--verdict-approve: oklch(0.7 0.15 145);
--verdict-warn: oklch(0.78 0.15 85);
--verdict-deny: oklch(0.7 0.18 25);
}
@theme inline {
--font-sans:
var(--font-app-sans), ui-sans-serif, system-ui, -apple-system,
"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
--font-mono:
var(--font-app-mono), ui-monospace, "JetBrains Mono", "SF Mono", Menlo,
monospace;
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--color-popover: var(--popover);
--color-popover-foreground: var(--popover-foreground);
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-secondary: var(--secondary);
--color-secondary-foreground: var(--secondary-foreground);
--color-muted: var(--muted);
--color-muted-foreground: var(--muted-foreground);
--color-accent: var(--accent);
--color-accent-foreground: var(--accent-foreground);
--color-destructive: var(--destructive);
--color-destructive-foreground: var(--destructive-foreground);
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--color-chat-governed: var(--chat-governed);
--color-chat-governed-foreground: var(--chat-governed-foreground);
--color-chat-governed-soft: var(--chat-governed-soft);
--color-chat-raw: var(--chat-raw);
--color-chat-raw-foreground: var(--chat-raw-foreground);
--color-chat-raw-soft: var(--chat-raw-soft);
--color-bubble-user: var(--bubble-user);
--color-bubble-user-foreground: var(--bubble-user-foreground);
--color-bubble-assistant: var(--bubble-assistant);
--color-bubble-assistant-foreground: var(--bubble-assistant-foreground);
--color-verdict-approve: var(--verdict-approve);
--color-verdict-warn: var(--verdict-warn);
--color-verdict-deny: var(--verdict-deny);
--radius-sm: calc(var(--radius) - 4px);
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
--radius-xl: calc(var(--radius) + 4px);
}
@layer base {
* {
@apply border-border outline-ring/50;
}
body {
@apply bg-background text-foreground;
}
}