namish10 commited on
Commit
28a3c38
·
verified ·
1 Parent(s): d8413b7

Upload frontend/src/index.css with huggingface_hub

Browse files
Files changed (1) hide show
  1. frontend/src/index.css +280 -0
frontend/src/index.css ADDED
@@ -0,0 +1,280 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ :root {
6
+ --primary: #6366f1;
7
+ --secondary: #8b5cf6;
8
+ --accent: #a855f7;
9
+ }
10
+
11
+ * {
12
+ margin: 0;
13
+ padding: 0;
14
+ box-sizing: border-box;
15
+ }
16
+
17
+ body {
18
+ font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
19
+ background: #0a0a0f;
20
+ color: #f9fafb;
21
+ min-height: 100vh;
22
+ }
23
+
24
+ ::-webkit-scrollbar {
25
+ width: 6px;
26
+ }
27
+
28
+ ::-webkit-scrollbar-track {
29
+ background: transparent;
30
+ }
31
+
32
+ ::-webkit-scrollbar-thumb {
33
+ background: #1f2937;
34
+ border-radius: 3px;
35
+ }
36
+
37
+ ::-webkit-scrollbar-thumb:hover {
38
+ background: #374151;
39
+ }
40
+
41
+ .glass {
42
+ background: rgba(17, 24, 39, 0.8);
43
+ backdrop-filter: blur(12px);
44
+ border: 1px solid rgba(255, 255, 255, 0.1);
45
+ }
46
+
47
+ .card {
48
+ @apply glass rounded-xl p-6;
49
+ }
50
+
51
+ .btn-primary {
52
+ @apply px-6 py-3 bg-gradient-to-r from-primary to-secondary rounded-lg font-semibold
53
+ transition-all duration-200 hover:scale-105 hover:shadow-lg hover:shadow-primary/30;
54
+ }
55
+
56
+ .btn-secondary {
57
+ @apply px-4 py-2 bg-dark3 rounded-lg border border-white/10
58
+ transition-all duration-200 hover:bg-dark2 hover:border-primary;
59
+ }
60
+
61
+ .input {
62
+ @apply w-full px-4 py-3 bg-dark3 rounded-lg border border-white/10
63
+ focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/30
64
+ transition-all duration-200;
65
+ }
66
+
67
+ .stat-card {
68
+ @apply glass rounded-xl p-4 text-center;
69
+ }
70
+
71
+ .prediction-card {
72
+ @apply glass rounded-lg p-4 border-l-4 border-primary cursor-pointer
73
+ transition-all duration-200 hover:scale-[1.02] hover:shadow-lg;
74
+ }
75
+
76
+ .confusion-bar {
77
+ height: 8px;
78
+ border-radius: 4px;
79
+ background: linear-gradient(90deg, #10b981, #f59e0b, #ef4444);
80
+ transition: width 0.3s ease;
81
+ }
82
+
83
+ @keyframes pulse-glow {
84
+ 0%, 100% { box-shadow: 0 0 20px rgba(99, 102, 241, 0.4); }
85
+ 50% { box-shadow: 0 0 40px rgba(99, 102, 241, 0.8); }
86
+ }
87
+
88
+ @keyframes float {
89
+ 0%, 100% { transform: translateY(0); }
90
+ 50% { transform: translateY(-10px); }
91
+ }
92
+
93
+ @keyframes swim {
94
+ 0% { transform: translateX(-100%) scaleX(1); }
95
+ 49% { transform: translateX(100%) scaleX(1); }
96
+ 50% { transform: translateX(100%) scaleX(-1); }
97
+ 99% { transform: translateX(-100%) scaleX(-1); }
98
+ 100% { transform: translateX(-100%) scaleX(1); }
99
+ }
100
+
101
+ @keyframes rise {
102
+ 0% { transform: translateY(100%); opacity: 0; }
103
+ 50% { opacity: 1; }
104
+ 100% { transform: translateY(-100%); opacity: 0; }
105
+ }
106
+
107
+ .glow { animation: pulse-glow 2s ease-in-out infinite; }
108
+ .float { animation: float 3s ease-in-out infinite; }
109
+ .swim { animation: swim 8s linear infinite; }
110
+
111
+ /* LLM Flow Styles */
112
+ .llm-response-card {
113
+ @apply glass rounded-lg p-4 border border-primary/30 transition-all duration-300;
114
+ }
115
+
116
+ .llm-response-card:hover {
117
+ @apply border-primary/60 shadow-lg shadow-primary/20;
118
+ }
119
+
120
+ .gesture-action-badge {
121
+ @apply inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium;
122
+ }
123
+
124
+ .gesture-badge-swipe {
125
+ @apply bg-blue-500/20 text-blue-400;
126
+ }
127
+
128
+ .gesture-badge-pinch {
129
+ @apply bg-purple-500/20 text-purple-400;
130
+ }
131
+
132
+ .gesture-badge-tap {
133
+ @apply bg-green-500/20 text-green-400;
134
+ }
135
+
136
+ .rate-limit-indicator {
137
+ @apply flex items-center gap-2 px-3 py-2 rounded-lg text-sm;
138
+ }
139
+
140
+ .rate-limit-ok {
141
+ @apply bg-green-500/20 text-green-400;
142
+ }
143
+
144
+ .rate-limit-warning {
145
+ @apply bg-yellow-500/20 text-yellow-400;
146
+ }
147
+
148
+ .rate-limit-error {
149
+ @apply bg-red-500/20 text-red-400;
150
+ }
151
+
152
+ .llm-provider-logo {
153
+ @apply w-8 h-8 rounded-lg flex items-center justify-center text-xs font-bold;
154
+ }
155
+
156
+ .provider-chatgpt {
157
+ @apply bg-green-500 text-white;
158
+ }
159
+
160
+ .provider-gemini {
161
+ @apply bg-blue-500 text-white;
162
+ }
163
+
164
+ .provider-claude {
165
+ @apply bg-orange-500 text-white;
166
+ }
167
+
168
+ .prompt-template-btn {
169
+ @apply px-3 py-2 rounded-lg text-sm transition-all duration-200;
170
+ }
171
+
172
+ .prompt-template-btn-active {
173
+ @apply bg-primary text-white;
174
+ }
175
+
176
+ .prompt-template-btn-inactive {
177
+ @apply bg-dark3 text-gray-400 hover:bg-dark2 hover:text-white;
178
+ }
179
+
180
+ @keyframes slide-in {
181
+ from { transform: translateX(-20px); opacity: 0; }
182
+ to { transform: translateX(0); opacity: 1; }
183
+ }
184
+
185
+ .slide-in {
186
+ animation: slide-in 0.3s ease-out;
187
+ }
188
+
189
+ @keyframes typing {
190
+ 0%, 100% { opacity: 1; }
191
+ 50% { opacity: 0.3; }
192
+ }
193
+
194
+ .typing-indicator {
195
+ @apply flex items-center gap-1;
196
+ }
197
+
198
+ .typing-indicator span {
199
+ @apply w-2 h-2 rounded-full bg-primary;
200
+ animation: typing 1s ease-in-out infinite;
201
+ }
202
+
203
+ .typing-indicator span:nth-child(2) {
204
+ animation-delay: 0.2s;
205
+ }
206
+
207
+ .typing-indicator span:nth-child(3) {
208
+ animation-delay: 0.4s;
209
+ }
210
+
211
+ /* Settings Page Styles */
212
+ input[type="checkbox"] {
213
+ @apply w-5 h-5 rounded border-gray-500 text-primary focus:ring-primary bg-dark3;
214
+ }
215
+
216
+ input[type="checkbox"]:checked {
217
+ @apply bg-primary border-primary;
218
+ }
219
+
220
+ select {
221
+ @apply w-full px-4 py-3 bg-dark3 rounded-lg border border-white/10
222
+ focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/30
223
+ transition-all duration-200;
224
+ }
225
+
226
+ input[type="number"] {
227
+ @apply px-4 py-2 bg-dark3 rounded-lg border border-white/10
228
+ focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/30
229
+ transition-all duration-200;
230
+ }
231
+
232
+ /* Toast Notifications */
233
+ .llm-toast {
234
+ position: fixed;
235
+ bottom: 20px;
236
+ right: 20px;
237
+ padding: 12px 16px;
238
+ border-radius: 8px;
239
+ display: flex;
240
+ align-items: center;
241
+ gap: 8px;
242
+ z-index: 9999;
243
+ transform: translateY(100px);
244
+ opacity: 0;
245
+ transition: all 0.3s ease;
246
+ max-width: 350px;
247
+ }
248
+
249
+ .llm-toast.show {
250
+ transform: translateY(0);
251
+ opacity: 1;
252
+ }
253
+
254
+ .llm-toast-info {
255
+ background: rgba(99, 102, 241, 0.95);
256
+ color: white;
257
+ }
258
+
259
+ .llm-toast-success {
260
+ background: rgba(16, 185, 129, 0.95);
261
+ color: white;
262
+ }
263
+
264
+ .llm-toast-error {
265
+ background: rgba(239, 68, 68, 0.95);
266
+ color: white;
267
+ }
268
+
269
+ .llm-toast button {
270
+ background: none;
271
+ border: none;
272
+ color: white;
273
+ font-size: 18px;
274
+ cursor: pointer;
275
+ opacity: 0.8;
276
+ }
277
+
278
+ .llm-toast button:hover {
279
+ opacity: 1;
280
+ }