muthuk1 commited on
Commit
bac80a2
Β·
verified Β·
1 Parent(s): 2a0fbe0

Add global CSS with TigerGraph\u00d7Claude fused design system

Browse files
Files changed (1) hide show
  1. web/src/app/globals.css +388 -0
web/src/app/globals.css ADDED
@@ -0,0 +1,388 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "tailwindcss";
2
+ @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
3
+
4
+ /* ═══════════════════════════════════════════════════════════
5
+ TigerGraph Γ— Claude β€” Fused Design System
6
+ Canvas: warm cream Β· Primary: tiger orange Β· Accent: coral
7
+ Text: navy Β· Dark surfaces: claude dark Β· Serif display
8
+ ═══════════════════════════════════════════════════════════ */
9
+
10
+ @theme {
11
+ --color-canvas: #faf9f5;
12
+ --color-surface-soft: #f5f0e8;
13
+ --color-surface-card: #efe9de;
14
+ --color-surface-cream-strong: #e8e0d2;
15
+ --color-surface-dark: #181715;
16
+ --color-surface-dark-elev: #252320;
17
+ --color-surface-dark-soft: #1f1e1b;
18
+
19
+ --color-tiger-orange: #FF6B00;
20
+ --color-tiger-orange-hover: #E55F00;
21
+ --color-tiger-orange-light: #FFF4EB;
22
+ --color-tiger-navy: #002B49;
23
+ --color-tiger-navy-light: #003D6B;
24
+ --color-electric-blue: #0072CE;
25
+ --color-electric-blue-light: #E6F4FF;
26
+
27
+ --color-coral: #cc785c;
28
+ --color-coral-active: #a9583e;
29
+ --color-accent-teal: #5db8a6;
30
+ --color-accent-amber: #e8a55a;
31
+
32
+ --color-ink: #141413;
33
+ --color-body-strong: #252523;
34
+ --color-body: #3d3d3a;
35
+ --color-muted: #6c6a64;
36
+ --color-muted-soft: #8e8b82;
37
+ --color-on-primary: #ffffff;
38
+ --color-on-dark: #faf9f5;
39
+ --color-on-dark-soft: #a09d96;
40
+
41
+ --color-hairline: #e6dfd8;
42
+ --color-hairline-soft: #ebe6df;
43
+
44
+ --color-success: #5db872;
45
+ --color-warning: #d4a017;
46
+ --color-error: #c64545;
47
+
48
+ --font-serif: 'Cormorant Garamond', 'EB Garamond', 'Times New Roman', serif;
49
+ --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
50
+ --font-mono: 'JetBrains Mono', 'Fira Code', Consolas, monospace;
51
+ }
52
+
53
+ /* ── Base Reset ──────────────────────────────────────── */
54
+ * { box-sizing: border-box; }
55
+
56
+ html {
57
+ font-family: var(--font-sans);
58
+ color: var(--color-body);
59
+ background: var(--color-canvas);
60
+ scroll-behavior: smooth;
61
+ -webkit-font-smoothing: antialiased;
62
+ -moz-osx-font-smoothing: grayscale;
63
+ }
64
+
65
+ body {
66
+ margin: 0;
67
+ min-height: 100vh;
68
+ background: var(--color-canvas);
69
+ }
70
+
71
+ /* ── Typography β€” Serif Display + Sans Body ──────────── */
72
+ .display-xl {
73
+ font-family: var(--font-serif);
74
+ font-size: clamp(2.5rem, 5vw, 4rem);
75
+ font-weight: 400;
76
+ line-height: 1.05;
77
+ letter-spacing: -1.5px;
78
+ color: var(--color-ink);
79
+ }
80
+
81
+ .display-lg {
82
+ font-family: var(--font-serif);
83
+ font-size: clamp(2rem, 4vw, 3rem);
84
+ font-weight: 400;
85
+ line-height: 1.1;
86
+ letter-spacing: -1px;
87
+ color: var(--color-ink);
88
+ }
89
+
90
+ .display-md {
91
+ font-family: var(--font-serif);
92
+ font-size: clamp(1.5rem, 3vw, 2.25rem);
93
+ font-weight: 400;
94
+ line-height: 1.15;
95
+ letter-spacing: -0.5px;
96
+ color: var(--color-ink);
97
+ }
98
+
99
+ .display-sm {
100
+ font-family: var(--font-serif);
101
+ font-size: clamp(1.25rem, 2vw, 1.75rem);
102
+ font-weight: 400;
103
+ line-height: 1.2;
104
+ letter-spacing: -0.3px;
105
+ color: var(--color-ink);
106
+ }
107
+
108
+ .title-lg { font-size: 1.375rem; font-weight: 500; line-height: 1.3; color: var(--color-ink); }
109
+ .title-md { font-size: 1.125rem; font-weight: 500; line-height: 1.4; color: var(--color-ink); }
110
+ .title-sm { font-size: 1rem; font-weight: 500; line-height: 1.4; color: var(--color-ink); }
111
+ .body-md { font-size: 1rem; font-weight: 400; line-height: 1.55; color: var(--color-body); }
112
+ .body-sm { font-size: 0.875rem; font-weight: 400; line-height: 1.55; color: var(--color-body); }
113
+ .caption { font-size: 0.8125rem; font-weight: 500; line-height: 1.4; color: var(--color-muted); }
114
+ .caption-uppercase {
115
+ font-size: 0.75rem; font-weight: 500; line-height: 1.4;
116
+ letter-spacing: 1.5px; text-transform: uppercase; color: var(--color-muted);
117
+ }
118
+ .code-text { font-family: var(--font-mono); font-size: 0.875rem; line-height: 1.6; }
119
+
120
+ /* ── Buttons ─────────────────────────────────────────── */
121
+ .btn {
122
+ display: inline-flex; align-items: center; justify-content: center; gap: 8px;
123
+ font-family: var(--font-sans); font-size: 0.875rem; font-weight: 500;
124
+ padding: 10px 20px; height: 40px; border-radius: 8px;
125
+ border: none; cursor: pointer; transition: all 0.15s ease;
126
+ text-decoration: none; white-space: nowrap;
127
+ }
128
+
129
+ .btn-primary {
130
+ background: var(--color-tiger-orange); color: var(--color-on-primary);
131
+ box-shadow: 0 1px 2px rgba(0,0,0,0.08);
132
+ }
133
+ .btn-primary:hover { background: var(--color-tiger-orange-hover); }
134
+ .btn-primary:active { background: #CC5500; transform: translateY(1px); }
135
+ .btn-primary:disabled { background: var(--color-surface-cream-strong); color: var(--color-muted); cursor: default; }
136
+
137
+ .btn-secondary {
138
+ background: var(--color-canvas); color: var(--color-ink);
139
+ border: 1px solid var(--color-hairline);
140
+ }
141
+ .btn-secondary:hover { background: var(--color-surface-soft); border-color: var(--color-muted-soft); }
142
+
143
+ .btn-coral {
144
+ background: var(--color-coral); color: var(--color-on-primary);
145
+ }
146
+ .btn-coral:hover { background: var(--color-coral-active); }
147
+
148
+ .btn-ghost {
149
+ background: transparent; color: var(--color-muted); padding: 8px 12px; height: auto;
150
+ }
151
+ .btn-ghost:hover { color: var(--color-ink); background: var(--color-surface-soft); }
152
+
153
+ .btn-on-dark {
154
+ background: var(--color-surface-dark-elev); color: var(--color-on-dark);
155
+ border: 1px solid rgba(255,255,255,0.1);
156
+ }
157
+ .btn-on-dark:hover { background: var(--color-surface-dark-soft); }
158
+
159
+ .btn-lg { height: 48px; padding: 12px 28px; font-size: 1rem; border-radius: 10px; }
160
+ .btn-sm { height: 32px; padding: 6px 14px; font-size: 0.8125rem; border-radius: 6px; }
161
+ .btn-icon { width: 36px; height: 36px; padding: 0; border-radius: 50%; }
162
+
163
+ /* ── Cards ───────────────────────────────────────────── */
164
+ .card {
165
+ background: var(--color-canvas);
166
+ border: 1px solid var(--color-hairline);
167
+ border-radius: 12px;
168
+ padding: 32px;
169
+ }
170
+
171
+ .card-cream {
172
+ background: var(--color-surface-card);
173
+ border: none;
174
+ border-radius: 12px;
175
+ padding: 32px;
176
+ }
177
+
178
+ .card-dark {
179
+ background: var(--color-surface-dark);
180
+ border: none;
181
+ border-radius: 12px;
182
+ padding: 32px;
183
+ color: var(--color-on-dark);
184
+ }
185
+
186
+ .card-dark-elevated {
187
+ background: var(--color-surface-dark-elev);
188
+ border-radius: 12px;
189
+ padding: 24px;
190
+ color: var(--color-on-dark);
191
+ }
192
+
193
+ .card-coral {
194
+ background: var(--color-tiger-orange);
195
+ border: none;
196
+ border-radius: 12px;
197
+ padding: 48px;
198
+ color: var(--color-on-primary);
199
+ }
200
+
201
+ .card-coral .display-sm,
202
+ .card-coral .display-md { color: var(--color-on-primary); }
203
+
204
+ .card-hover { transition: transform 0.2s ease, box-shadow 0.2s ease; }
205
+ .card-hover:hover {
206
+ transform: translateY(-2px);
207
+ box-shadow: 0 8px 32px rgba(0, 43, 73, 0.08);
208
+ }
209
+
210
+ /* ── Pipeline Comparison Cards ───────────────────────── */
211
+ .pipeline-baseline {
212
+ border-left: 4px solid var(--color-electric-blue);
213
+ }
214
+ .pipeline-graphrag {
215
+ border-left: 4px solid var(--color-tiger-orange);
216
+ }
217
+
218
+ /* ── Badges ──────────────────────────────────────────── */
219
+ .badge {
220
+ display: inline-flex; align-items: center;
221
+ padding: 4px 12px; border-radius: 9999px;
222
+ font-size: 0.8125rem; font-weight: 500;
223
+ }
224
+ .badge-cream { background: var(--color-surface-card); color: var(--color-ink); }
225
+ .badge-orange { background: var(--color-tiger-orange); color: white; }
226
+ .badge-coral { background: var(--color-coral); color: white; }
227
+ .badge-blue { background: var(--color-electric-blue); color: white; }
228
+ .badge-success { background: var(--color-success); color: white; }
229
+ .badge-outline {
230
+ background: transparent; border: 1px solid var(--color-hairline); color: var(--color-muted);
231
+ }
232
+
233
+ /* ── Inputs ──────────────────────────────────────────── */
234
+ .input {
235
+ width: 100%; height: 40px; padding: 10px 14px;
236
+ background: var(--color-canvas); color: var(--color-ink);
237
+ border: 1px solid var(--color-hairline); border-radius: 8px;
238
+ font-family: var(--font-sans); font-size: 1rem;
239
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
240
+ }
241
+ .input:focus {
242
+ outline: none; border-color: var(--color-tiger-orange);
243
+ box-shadow: 0 0 0 3px rgba(255, 107, 0, 0.12);
244
+ }
245
+ .input::placeholder { color: var(--color-muted-soft); }
246
+
247
+ .textarea { min-height: 100px; resize: vertical; }
248
+
249
+ /* ── Tabs ────────────────────────────────────────────── */
250
+ .tab-bar {
251
+ display: flex; gap: 4px; padding: 4px;
252
+ background: var(--color-surface-soft);
253
+ border-radius: 10px; overflow-x: auto;
254
+ }
255
+ .tab-item {
256
+ padding: 8px 16px; border-radius: 8px;
257
+ font-size: 0.875rem; font-weight: 500;
258
+ color: var(--color-muted); cursor: pointer;
259
+ transition: all 0.15s ease; white-space: nowrap;
260
+ border: none; background: transparent;
261
+ }
262
+ .tab-item:hover { color: var(--color-ink); background: var(--color-canvas); }
263
+ .tab-item-active {
264
+ color: var(--color-ink); background: var(--color-canvas);
265
+ box-shadow: 0 1px 3px rgba(0, 43, 73, 0.08);
266
+ }
267
+
268
+ /* ── Metric Display ──────────────────────────────────── */
269
+ .metric-value {
270
+ font-family: var(--font-mono);
271
+ font-size: 2rem; font-weight: 500;
272
+ color: var(--color-ink);
273
+ line-height: 1.1;
274
+ }
275
+ .metric-value-sm { font-size: 1.5rem; }
276
+ .metric-label { font-size: 0.8125rem; font-weight: 500; color: var(--color-muted); margin-top: 4px; }
277
+ .metric-delta-positive { color: var(--color-success); font-size: 0.8125rem; font-weight: 500; }
278
+ .metric-delta-negative { color: var(--color-error); font-size: 0.8125rem; font-weight: 500; }
279
+
280
+ /* ── Code Window ─────────────────────────────────────── */
281
+ .code-window {
282
+ background: var(--color-surface-dark);
283
+ border-radius: 12px;
284
+ overflow: hidden;
285
+ }
286
+ .code-window-header {
287
+ display: flex; align-items: center; gap: 8px;
288
+ padding: 12px 16px;
289
+ background: var(--color-surface-dark-elev);
290
+ border-bottom: 1px solid rgba(255,255,255,0.06);
291
+ }
292
+ .code-window-dot {
293
+ width: 12px; height: 12px; border-radius: 50%;
294
+ }
295
+ .code-window-dot-red { background: #ff5f57; }
296
+ .code-window-dot-yellow { background: #febc2e; }
297
+ .code-window-dot-green { background: #28c840; }
298
+ .code-window-body {
299
+ padding: 20px;
300
+ font-family: var(--font-mono);
301
+ font-size: 0.875rem;
302
+ line-height: 1.7;
303
+ color: var(--color-on-dark);
304
+ overflow-x: auto;
305
+ }
306
+
307
+ /* ── Navbar ──────────────────────────────────────────── */
308
+ .navbar {
309
+ position: sticky; top: 0; z-index: 50;
310
+ display: flex; align-items: center; justify-content: space-between;
311
+ height: 64px; padding: 0 32px;
312
+ background: var(--color-canvas);
313
+ border-bottom: 1px solid var(--color-hairline-soft);
314
+ backdrop-filter: blur(12px);
315
+ background: rgba(250, 249, 245, 0.92);
316
+ }
317
+
318
+ /* ── Section Rhythm ──────────────────────────────────── */
319
+ .section { padding: 96px 0; }
320
+ .section-sm { padding: 48px 0; }
321
+ .container {
322
+ width: 100%; max-width: 1200px;
323
+ margin: 0 auto; padding: 0 24px;
324
+ }
325
+
326
+ /* ── Graph Visualization ─────────────────────────────── */
327
+ .graph-node {
328
+ transition: transform 0.2s ease;
329
+ }
330
+ .graph-node:hover {
331
+ transform: scale(1.15);
332
+ filter: drop-shadow(0 0 8px rgba(255, 107, 0, 0.4));
333
+ }
334
+ .graph-edge {
335
+ stroke: var(--color-muted-soft);
336
+ stroke-width: 1.5;
337
+ transition: stroke 0.2s ease;
338
+ }
339
+
340
+ /* ── Loading Skeleton ────────────────────────────────── */
341
+ @keyframes shimmer {
342
+ 0% { background-position: -200% 0; }
343
+ 100% { background-position: 200% 0; }
344
+ }
345
+ .skeleton {
346
+ background: linear-gradient(90deg, var(--color-surface-soft) 25%, var(--color-surface-card) 50%, var(--color-surface-soft) 75%);
347
+ background-size: 200% 100%;
348
+ animation: shimmer 1.5s ease-in-out infinite;
349
+ border-radius: 8px;
350
+ }
351
+
352
+ /* ── Tooltip ─────────────────────────────────────────── */
353
+ .custom-tooltip {
354
+ background: var(--color-canvas) !important;
355
+ border: 1px solid var(--color-hairline) !important;
356
+ border-radius: 8px !important;
357
+ padding: 12px !important;
358
+ box-shadow: 0 4px 16px rgba(0, 43, 73, 0.08) !important;
359
+ }
360
+
361
+ /* ── Responsive ──────────────────────────────────────── */
362
+ @media (max-width: 768px) {
363
+ .section { padding: 48px 0; }
364
+ .container { padding: 0 16px; }
365
+ .card, .card-cream, .card-dark { padding: 20px; }
366
+ .navbar { padding: 0 16px; height: 56px; }
367
+ .display-xl { letter-spacing: -0.5px; }
368
+ }
369
+
370
+ /* ── Scrollbar ───────────────────────────────────────── */
371
+ ::-webkit-scrollbar { width: 6px; height: 6px; }
372
+ ::-webkit-scrollbar-track { background: transparent; }
373
+ ::-webkit-scrollbar-thumb { background: var(--color-hairline); border-radius: 3px; }
374
+ ::-webkit-scrollbar-thumb:hover { background: var(--color-muted-soft); }
375
+
376
+ /* ── Selection ───────────────────────────────────────── */
377
+ ::selection { background: rgba(255, 107, 0, 0.15); color: var(--color-ink); }
378
+
379
+ /* ── Prose for markdown-like rendering ───────────────── */
380
+ .prose h1, .prose h2, .prose h3 { font-family: var(--font-serif); font-weight: 400; }
381
+ .prose h1 { font-size: 2rem; letter-spacing: -0.5px; }
382
+ .prose h2 { font-size: 1.5rem; letter-spacing: -0.3px; }
383
+ .prose p { line-height: 1.7; color: var(--color-body); }
384
+ .prose code {
385
+ font-family: var(--font-mono); font-size: 0.875em;
386
+ background: var(--color-surface-soft); padding: 2px 6px; border-radius: 4px;
387
+ }
388
+ .prose strong { color: var(--color-ink); font-weight: 600; }