codex-linux 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,405 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;1,9..144,200;1,9..144,300&family=JetBrains+Mono:wght@400;500&display=swap');
2
+
3
+ :root {
4
+ /* --- Backgrounds --- */
5
+ --bg-void: #030709;
6
+ --bg-primary: #050A0C;
7
+ --bg-surface: #080F12;
8
+ --bg-card: #0A1318;
9
+ --bg-elevated: #0D1920;
10
+ --bg-hover: #102028;
11
+ --bg-active: #142830;
12
+
13
+ /* --- Borders --- */
14
+ --border-faint: rgba(0,200,168,0.06);
15
+ --border-subtle: #102028;
16
+ --border-default:#1B3040;
17
+ --border-accent: rgba(0,200,168,0.25);
18
+
19
+ /* --- Accent Teal --- */
20
+ --teal-900: #002822;
21
+ --teal-700: #005C4E;
22
+ --teal-500: #009E88;
23
+ --teal-400: #00C4A6;
24
+ --teal-300: #00DFC0;
25
+ --teal-200: #7EEEDE;
26
+ --teal-100: #B8F5EC;
27
+
28
+ /* --- Text --- */
29
+ --text-primary: #D8EEE8;
30
+ --text-secondary: #7AADA0;
31
+ --text-muted: #3E6860;
32
+ --text-disabled: #1E3830;
33
+ --text-inverse: #050A0C;
34
+
35
+ /* --- Semantic --- */
36
+ --success: #3CC878;
37
+ --warning: #E6B94A;
38
+ --error: #E85A6A;
39
+ --info: #6890F4;
40
+
41
+ /* --- Typographie --- */
42
+ --font-display: 'Fraunces', Georgia, serif;
43
+ --font-body: 'DM Sans', system-ui, sans-serif;
44
+ --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
45
+
46
+ /* --- Spacing --- */
47
+ --space-1: 4px;
48
+ --space-2: 8px;
49
+ --space-3: 12px;
50
+ --space-4: 16px;
51
+ --space-5: 20px;
52
+ --space-6: 24px;
53
+ --space-8: 32px;
54
+ --space-10: 40px;
55
+ --space-12: 48px;
56
+ --space-16: 64px;
57
+
58
+ /* --- Radius --- */
59
+ --radius-sm: 6px;
60
+ --radius-md: 10px;
61
+ --radius-lg: 14px;
62
+ --radius-xl: 20px;
63
+ --radius-full: 999px;
64
+
65
+ /* --- Shadows --- */
66
+ --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
67
+ --shadow-md: 0 4px 6px rgba(0,0,0,0.4);
68
+ --shadow-lg: 0 10px 15px rgba(0,0,0,0.5);
69
+ --shadow-glow: 0 0 20px rgba(0,200,168,0.15);
70
+
71
+ /* --- Transitions --- */
72
+ --transition-fast: 150ms ease;
73
+ --transition-base: 200ms ease;
74
+ --transition-slow: 300ms ease;
75
+ }
76
+
77
+ *, *::before, *::after {
78
+ box-sizing: border-box;
79
+ margin: 0;
80
+ padding: 0;
81
+ }
82
+
83
+ html {
84
+ font-size: 16px;
85
+ -webkit-font-smoothing: antialiased;
86
+ -moz-osx-font-smoothing: grayscale;
87
+ }
88
+
89
+ body {
90
+ font-family: var(--font-body);
91
+ background: var(--bg-void);
92
+ color: var(--text-primary);
93
+ line-height: 1.6;
94
+ }
95
+
96
+ /* Scrollbar Abyss Teal */
97
+ ::-webkit-scrollbar {
98
+ width: 8px;
99
+ height: 8px;
100
+ }
101
+
102
+ ::-webkit-scrollbar-track {
103
+ background: transparent;
104
+ }
105
+
106
+ ::-webkit-scrollbar-thumb {
107
+ background: var(--border-default);
108
+ border-radius: var(--radius-full);
109
+ border: 2px solid transparent;
110
+ background-clip: padding-box;
111
+ }
112
+
113
+ ::-webkit-scrollbar-thumb:hover {
114
+ background: var(--teal-700);
115
+ border: 2px solid transparent;
116
+ background-clip: padding-box;
117
+ }
118
+
119
+ ::selection {
120
+ background-color: var(--teal-500);
121
+ color: var(--bg-void);
122
+ }
123
+
124
+ :focus-visible {
125
+ outline: 2px solid var(--teal-400);
126
+ outline-offset: 2px;
127
+ }
128
+
129
+ a {
130
+ color: var(--teal-400);
131
+ text-decoration: none;
132
+ transition: color var(--transition-fast);
133
+ }
134
+
135
+ a:hover {
136
+ color: var(--teal-300);
137
+ }
138
+
139
+ button {
140
+ font-family: inherit;
141
+ cursor: pointer;
142
+ border: none;
143
+ background: none;
144
+ transition: all var(--transition-base);
145
+ }
146
+
147
+ input, textarea, select {
148
+ font-family: inherit;
149
+ border: none;
150
+ outline: none;
151
+ background: transparent;
152
+ }
153
+
154
+ code, pre {
155
+ font-family: var(--font-mono);
156
+ font-size: 0.9em;
157
+ }
158
+
159
+ /* ===== ANIMATIONS ===== */
160
+ @keyframes fadeIn {
161
+ from { opacity: 0; }
162
+ to { opacity: 1; }
163
+ }
164
+
165
+ @keyframes fadeUp {
166
+ from {
167
+ opacity: 0;
168
+ transform: translateY(20px);
169
+ }
170
+ to {
171
+ opacity: 1;
172
+ transform: translateY(0);
173
+ }
174
+ }
175
+
176
+ @keyframes fadeInUp {
177
+ from {
178
+ opacity: 0;
179
+ transform: translateY(10px);
180
+ }
181
+ to {
182
+ opacity: 1;
183
+ transform: translateY(0);
184
+ }
185
+ }
186
+
187
+ @keyframes slideIn {
188
+ from {
189
+ opacity: 0;
190
+ transform: translateX(-10px);
191
+ }
192
+ to {
193
+ opacity: 1;
194
+ transform: translateX(0);
195
+ }
196
+ }
197
+
198
+ @keyframes pulse {
199
+ 0%, 100% { opacity: 1; }
200
+ 50% { opacity: 0.5; }
201
+ }
202
+
203
+ @keyframes shimmer {
204
+ 0% { background-position: -200% 0; }
205
+ 100% { background-position: 200% 0; }
206
+ }
207
+
208
+ @keyframes glow {
209
+ 0%, 100% { box-shadow: 0 0 10px rgba(0,200,168,0.2); }
210
+ 50% { box-shadow: 0 0 20px rgba(0,200,168,0.4); }
211
+ }
212
+
213
+ .animate-fadeIn {
214
+ animation: fadeIn var(--transition-base);
215
+ }
216
+
217
+ .animate-fadeUp {
218
+ animation: fadeUp 0.6s ease both;
219
+ }
220
+
221
+ .animate-fadeInUp {
222
+ animation: fadeInUp var(--transition-base);
223
+ }
224
+
225
+ .animate-slideIn {
226
+ animation: slideIn var(--transition-base);
227
+ }
228
+
229
+ .animate-pulse {
230
+ animation: pulse 2s ease-in-out infinite;
231
+ }
232
+
233
+ .animate-glow {
234
+ animation: glow 2s ease-in-out infinite;
235
+ }
236
+
237
+ /* ===== UTILITY CLASSES ===== */
238
+ .text-display {
239
+ font-family: var(--font-display);
240
+ font-style: italic;
241
+ }
242
+
243
+ .text-mono {
244
+ font-family: var(--font-mono);
245
+ }
246
+
247
+ /* Dot grid background */
248
+ .dot-grid-bg {
249
+ background-image: radial-gradient(circle, rgba(0,200,168,0.06) 1px, transparent 1px);
250
+ background-size: 22px 22px;
251
+ }
252
+
253
+ /* Gradient backgrounds */
254
+ .gradient-abyss {
255
+ background: linear-gradient(135deg, var(--bg-void) 0%, var(--bg-card) 50%, var(--bg-void) 100%);
256
+ }
257
+
258
+ /* Glow effects */
259
+ .glow-teal {
260
+ box-shadow: 0 0 30px rgba(0,200,168,0.15);
261
+ }
262
+
263
+ .glow-teal-sm {
264
+ box-shadow: 0 0 15px rgba(0,200,168,0.1);
265
+ }
266
+
267
+ /* Glass effect */
268
+ .glass-abyss {
269
+ background: rgba(10,19,24,0.85);
270
+ backdrop-filter: blur(12px);
271
+ -webkit-backdrop-filter: blur(12px);
272
+ border: 1px solid var(--border-faint);
273
+ }
274
+
275
+ /* ===== STATUS COLORS ===== */
276
+ .status-idle { color: var(--warning); }
277
+ .status-running { color: var(--success); }
278
+ .status-paused { color: var(--warning); }
279
+ .status-error { color: var(--error); }
280
+ .status-completed { color: var(--info); }
281
+
282
+ .status-idle-bg { background: var(--warning); }
283
+ .status-running-bg { background: var(--success); }
284
+ .status-paused-bg { background: var(--warning); }
285
+ .status-error-bg { background: var(--error); }
286
+ .status-completed-bg { background: var(--info); }
287
+
288
+ /* ===== BADGE VARIANTS ===== */
289
+ .badge {
290
+ display: inline-flex;
291
+ align-items: center;
292
+ gap: 5px;
293
+ padding: 3px 10px;
294
+ border-radius: var(--radius-full);
295
+ font-size: 11px;
296
+ font-weight: 500;
297
+ }
298
+
299
+ .badge-teal {
300
+ background: rgba(0,200,168,0.1);
301
+ border: 1px solid rgba(0,200,168,0.2);
302
+ color: var(--teal-300);
303
+ }
304
+
305
+ .badge-neutral {
306
+ background: rgba(255,255,255,0.04);
307
+ border: 1px solid rgba(255,255,255,0.06);
308
+ color: var(--text-secondary);
309
+ }
310
+
311
+ .badge-success {
312
+ background: rgba(60,200,120,0.1);
313
+ border: 1px solid rgba(60,200,120,0.2);
314
+ color: var(--success);
315
+ }
316
+
317
+ .badge-warning {
318
+ background: rgba(230,185,74,0.1);
319
+ border: 1px solid rgba(230,185,74,0.2);
320
+ color: var(--warning);
321
+ }
322
+
323
+ .badge-error {
324
+ background: rgba(232,90,106,0.1);
325
+ border: 1px solid rgba(232,90,106,0.2);
326
+ color: var(--error);
327
+ }
328
+
329
+ .badge-dot {
330
+ width: 5px;
331
+ height: 5px;
332
+ border-radius: 50%;
333
+ background: currentColor;
334
+ }
335
+
336
+ /* ===== TABS ===== */
337
+ .tabs {
338
+ display: flex;
339
+ gap: 2px;
340
+ background: var(--bg-elevated);
341
+ padding: 3px;
342
+ border-radius: 8px;
343
+ width: fit-content;
344
+ }
345
+
346
+ .tab {
347
+ padding: 6px 16px;
348
+ border-radius: 6px;
349
+ font-size: 12px;
350
+ font-weight: 500;
351
+ color: var(--text-muted);
352
+ cursor: pointer;
353
+ transition: all 0.15s;
354
+ }
355
+
356
+ .tab.active {
357
+ background: var(--bg-card);
358
+ color: var(--text-primary);
359
+ box-shadow: 0 1px 4px rgba(0,0,0,0.4);
360
+ }
361
+
362
+ .tab:hover:not(.active) {
363
+ color: var(--text-secondary);
364
+ }
365
+
366
+ /* ===== PROGRESS BAR ===== */
367
+ .progress-bar-bg {
368
+ height: 4px;
369
+ background: var(--bg-hover);
370
+ border-radius: 2px;
371
+ overflow: hidden;
372
+ }
373
+
374
+ .progress-bar-fill {
375
+ height: 100%;
376
+ border-radius: 2px;
377
+ background: linear-gradient(90deg, var(--teal-700), var(--teal-400));
378
+ }
379
+
380
+ /* ===== RESPONSIVE ===== */
381
+ @media (max-width: 639px) {
382
+ .sidebar {
383
+ position: fixed;
384
+ z-index: 40;
385
+ transform: translateX(-100%);
386
+ transition: transform 0.3s ease-in-out;
387
+ }
388
+
389
+ .sidebar.open {
390
+ transform: translateX(0);
391
+ }
392
+ }
393
+
394
+ /* Touch-friendly tap targets */
395
+ @media (pointer: coarse) {
396
+ button,
397
+ [role="button"],
398
+ a,
399
+ input,
400
+ select,
401
+ textarea {
402
+ min-height: 44px;
403
+ min-width: 44px;
404
+ }
405
+ }