Lukeetah commited on
Commit
609ebc8
·
verified ·
1 Parent(s): 2c30d8b

Update static/style.css

Browse files
Files changed (1) hide show
  1. static/style.css +250 -208
static/style.css CHANGED
@@ -1,315 +1,357 @@
1
-
2
  /* static/style.css */
3
- /* Estética "Apple Noir" para Samuel */
4
 
5
- /* --- Reseteo y Globales --- */
6
- * {
7
- margin: 0;
8
- padding: 0;
9
- box-sizing: border-box;
 
 
 
 
 
 
10
  }
11
 
12
  body {
13
- font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
14
- background-color: #000000;
15
- color: #f0f0f0;
 
 
16
  display: flex;
17
  justify-content: center;
18
  align-items: center;
19
- height: 100vh;
20
- -webkit-font-smoothing: antialiased;
21
- -moz-osx-font-smoothing: grayscale;
22
  }
23
 
24
- /* --- Contenedor de Autenticación --- */
25
- .auth-container, .initiation-container {
26
- background-color: #111;
27
- padding: 40px;
28
  border-radius: 12px;
29
- border: 1px solid #222;
 
30
  width: 100%;
31
- max-width: 400px;
 
 
 
 
 
 
32
  text-align: center;
33
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
34
  }
35
 
36
- h1 {
37
- font-weight: 700;
38
- font-size: 2.5rem;
39
- margin-bottom: 8px;
40
  }
41
 
42
- .subtitle {
43
- font-weight: 500;
44
- color: #888;
45
- margin-bottom: 32px;
 
46
  }
47
 
48
- input[type="email"], input[type="password"], textarea {
 
 
 
49
  width: 100%;
50
  padding: 12px;
51
- margin-bottom: 16px;
52
- background-color: #1c1c1e;
53
- border: 1px solid #333;
54
  border-radius: 8px;
55
- color: #f0f0f0;
56
- font-size: 1rem;
57
- font-family: 'Inter', sans-serif;
 
 
58
  }
59
 
60
- input:focus, textarea:focus {
 
 
61
  outline: none;
62
- border-color: #007aff;
63
- box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.3);
64
  }
65
 
66
  button {
67
- width: 100%;
68
- padding: 12px;
69
- background-color: #007aff;
70
- color: #fff;
71
  border: none;
72
  border-radius: 8px;
73
- font-size: 1rem;
74
- font-weight: 500;
 
75
  cursor: pointer;
76
- transition: background-color 0.2s ease;
 
77
  }
78
 
79
  button:hover {
80
- background-color: #005ecb;
 
81
  }
82
 
83
- .toggle-form {
84
- margin-top: 24px;
85
- font-size: 0.9rem;
86
- color: #888;
87
  }
88
 
89
- .toggle-form a {
90
- color: #007aff;
91
- text-decoration: none;
92
- font-weight: 500;
 
 
93
  }
94
 
95
- .error {
96
- color: #ff3b30;
97
- margin-top: 16px;
98
- min-height: 20px;
99
  }
100
 
101
- /* --- Ritual de Iniciación --- */
102
- .initiation-container h1 {
103
- font-size: 1.5rem;
104
- margin-bottom: 24px;
105
- line-height: 1.4;
106
- color: #ccc;
107
  }
108
 
109
- .initiation-container textarea {
110
- min-height: 100px;
111
- resize: vertical;
112
- }
113
-
114
- /* --- Aplicación Principal --- */
115
- .main-container {
116
- display: flex;
117
- width: 100vw;
118
- height: 100vh;
119
- background-color: #000;
120
  }
121
 
122
- .sidebar {
123
- width: 260px;
124
- background-color: #111;
125
- border-right: 1px solid #222;
126
- display: flex;
127
- flex-direction: column;
128
- padding: 20px;
129
  }
130
 
131
- .sidebar-header h2 {
132
- font-size: 1.8rem;
133
  }
134
 
135
- .sidebar nav {
136
- margin-top: 40px;
137
  display: flex;
138
  flex-direction: column;
139
- gap: 10px;
140
- }
141
-
142
- .nav-item {
143
- color: #aaa;
144
- text-decoration: none;
145
- font-size: 1.1rem;
146
- padding: 10px 15px;
147
- border-radius: 8px;
148
- transition: background-color 0.2s, color 0.2s;
149
- }
150
-
151
- .nav-item:hover {
152
- background-color: #2c2c2e;
153
- color: #fff;
154
- }
155
-
156
- .nav-item.active {
157
- background-color: #007aff;
158
- color: #fff;
159
- }
160
-
161
- .sidebar-footer {
162
- margin-top: auto;
163
- }
164
-
165
- .sidebar-footer button {
166
- background-color: #333;
167
  }
168
 
169
- .sidebar-footer button:hover {
170
- background-color: #444;
 
 
 
 
 
 
171
  }
172
 
173
- #connection-status {
174
- display: flex;
175
- align-items: center;
 
176
  padding: 10px 15px;
177
- margin-bottom: 10px;
178
  border-radius: 8px;
179
- font-size: 0.9rem;
180
- }
181
-
182
- #connection-status .status-dot {
183
- width: 10px;
184
- height: 10px;
185
- border-radius: 50%;
186
- margin-right: 10px;
187
- transition: background-color 0.3s ease;
188
- }
189
-
190
- #connection-status.connected {
191
- color: #34c759;
192
- }
193
- #connection-status.connected .status-dot {
194
- background-color: #34c759;
195
- }
196
-
197
- #connection-status.disconnected {
198
- color: #ff3b30;
199
- }
200
- #connection-status.disconnected .status-dot {
201
- background-color: #ff3b30;
202
  }
203
 
204
- #connection-status.connecting {
205
- color: #ff9500;
206
- }
207
- #connection-status.connecting .status-dot {
208
- background-color: #ff9500;
209
  }
210
 
211
- .content {
212
- flex: 1;
213
  display: flex;
214
  flex-direction: column;
215
  }
216
 
217
- .view {
218
- display: none;
219
- height: 100%;
220
- width: 100%;
221
- }
222
-
223
- .view.active {
224
- display: flex;
225
- flex-direction: column;
226
- }
227
-
228
- /* --- Vista de Chat --- */
229
- #chat-view {
230
  padding: 20px;
231
- }
232
-
233
- #chat-log {
234
- flex: 1;
235
  overflow-y: auto;
236
- padding-right: 10px;
237
  display: flex;
238
  flex-direction: column;
239
  gap: 15px;
240
  }
241
 
242
- .chat-message {
 
243
  padding: 12px 18px;
244
- border-radius: 18px;
245
- max-width: 70%;
246
  line-height: 1.5;
 
247
  }
248
 
249
- .user-message {
250
- background-color: #007aff;
251
- color: #fff;
252
  align-self: flex-end;
253
- border-bottom-right-radius: 4px;
254
  }
255
 
256
- .samuel-message {
257
- background-color: #2c2c2e;
258
- color: #f0f0f0;
259
  align-self: flex-start;
260
- border-bottom-left-radius: 4px;
261
  }
262
 
263
  .chat-input-area {
264
  display: flex;
 
 
265
  gap: 10px;
266
- margin-top: 20px;
267
- border-top: 1px solid #222;
268
- padding-top: 20px;
269
  }
270
 
271
- #chat-input {
272
- flex: 1;
273
- resize: none;
274
- min-height: 44px;
275
- max-height: 200px;
276
- margin-bottom: 0;
 
277
  }
278
 
279
- #send-button {
280
  width: auto;
281
- padding: 0 25px;
 
 
282
  }
283
 
284
- /* --- Vista de Memoria --- */
285
- #memoria-view {
286
- padding: 40px;
287
- overflow-y: auto;
 
 
 
 
 
 
 
 
 
288
  }
289
 
290
- #memoria-view h1 {
291
- margin-bottom: 30px;
 
 
 
 
 
 
 
 
 
 
 
 
292
  }
293
 
294
- #memoria-log {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
295
  display: flex;
296
  flex-direction: column;
297
  gap: 25px;
 
298
  }
299
 
300
- .memory-entry {
301
- border-left: 3px solid #007aff;
302
- padding-left: 20px;
303
  }
304
 
305
- .memory-entry .timestamp {
306
- font-size: 0.9rem;
307
- color: #888;
308
- margin-bottom: 8px;
309
  }
310
 
311
- .memory-entry .content {
312
- font-size: 1.1rem;
313
- line-height: 1.6;
314
- color: #ccc;
315
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  /* static/style.css */
 
2
 
3
+ :root {
4
+ --bg-color: #1a1a1a;
5
+ --text-color: #e0e0e0;
6
+ --primary-accent: #007bff; /* A bright blue for accents */
7
+ --secondary-accent: #00c853; /* A vibrant green */
8
+ --border-color: #333;
9
+ --input-bg: #2a2a2a;
10
+ --input-border: #444;
11
+ --button-bg: var(--primary-accent);
12
+ --button-text: #fff;
13
+ --error-color: #ff4444;
14
  }
15
 
16
  body {
17
+ font-family: 'Inter', sans-serif; /* Assuming Inter font is available or linked */
18
+ background-color: var(--bg-color);
19
+ color: var(--text-color);
20
+ margin: 0;
21
+ padding: 20px;
22
  display: flex;
23
  justify-content: center;
24
  align-items: center;
25
+ min-height: 100vh;
26
+ box-sizing: border-box;
 
27
  }
28
 
29
+ .container {
30
+ background-color: #222;
 
 
31
  border-radius: 12px;
32
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
33
+ padding: 40px;
34
  width: 100%;
35
+ max-width: 500px;
36
+ box-sizing: border-box;
37
+ border: 1px solid var(--border-color);
38
+ }
39
+
40
+ h1, h2, h3 {
41
+ color: var(--primary-accent);
42
  text-align: center;
43
+ margin-bottom: 30px;
44
  }
45
 
46
+ form {
47
+ display: flex;
48
+ flex-direction: column;
49
+ gap: 20px;
50
  }
51
 
52
+ .form-group label {
53
+ display: block;
54
+ margin-bottom: 8px;
55
+ font-weight: bold;
56
+ color: var(--text-color);
57
  }
58
 
59
+ .form-group input[type="email"],
60
+ .form-group input[type="password"],
61
+ .form-group input[type="text"],
62
+ .form-group textarea {
63
  width: 100%;
64
  padding: 12px;
65
+ border: 1px solid var(--input-border);
 
 
66
  border-radius: 8px;
67
+ background-color: var(--input-bg);
68
+ color: var(--text-color);
69
+ font-size: 16px;
70
+ box-sizing: border-box;
71
+ transition: border-color 0.3s ease;
72
  }
73
 
74
+ .form-group input:focus,
75
+ .form-group textarea:focus {
76
+ border-color: var(--primary-accent);
77
  outline: none;
 
 
78
  }
79
 
80
  button {
81
+ background-color: var(--button-bg);
82
+ color: var(--button-text);
 
 
83
  border: none;
84
  border-radius: 8px;
85
+ padding: 15px 25px;
86
+ font-size: 18px;
87
+ font-weight: bold;
88
  cursor: pointer;
89
+ transition: background-color 0.3s ease, transform 0.2s ease;
90
+ width: 100%;
91
  }
92
 
93
  button:hover {
94
+ background-color: var(--secondary-accent);
95
+ transform: translateY(-2px);
96
  }
97
 
98
+ button:disabled {
99
+ background-color: #555;
100
+ cursor: not-allowed;
 
101
  }
102
 
103
+ .message {
104
+ text-align: center;
105
+ margin-top: 20px;
106
+ padding: 10px;
107
+ border-radius: 8px;
108
+ font-weight: bold;
109
  }
110
 
111
+ .message.success {
112
+ background-color: rgba(0, 200, 83, 0.2);
113
+ color: var(--secondary-accent);
 
114
  }
115
 
116
+ .message.error {
117
+ background-color: rgba(255, 68, 68, 0.2);
118
+ color: var(--error-color);
 
 
 
119
  }
120
 
121
+ .link-text {
122
+ text-align: center;
123
+ margin-top: 20px;
 
 
 
 
 
 
 
 
124
  }
125
 
126
+ .link-text a {
127
+ color: var(--primary-accent);
128
+ text-decoration: none;
129
+ font-weight: bold;
 
 
 
130
  }
131
 
132
+ .link-text a:hover {
133
+ text-decoration: underline;
134
  }
135
 
136
+ /* Chat specific styles */
137
+ .chat-container {
138
  display: flex;
139
  flex-direction: column;
140
+ height: 80vh;
141
+ max-height: 700px;
142
+ background-color: #222;
143
+ border-radius: 12px;
144
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
145
+ border: 1px solid var(--border-color);
146
+ overflow: hidden;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  }
148
 
149
+ .sidebar {
150
+ width: 200px;
151
+ background-color: #111;
152
+ padding: 20px;
153
+ border-right: 1px solid var(--border-color);
154
+ display: flex;
155
+ flex-direction: column;
156
+ gap: 15px;
157
  }
158
 
159
+ .sidebar button {
160
+ background-color: transparent;
161
+ border: 1px solid var(--primary-accent);
162
+ color: var(--primary-accent);
163
  padding: 10px 15px;
164
+ font-size: 16px;
165
  border-radius: 8px;
166
+ transition: background-color 0.3s ease, color 0.3s ease;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  }
168
 
169
+ .sidebar button:hover {
170
+ background-color: var(--primary-accent);
171
+ color: var(--button-text);
 
 
172
  }
173
 
174
+ .main-content {
175
+ flex-grow: 1;
176
  display: flex;
177
  flex-direction: column;
178
  }
179
 
180
+ .chat-history, .memory-view {
181
+ flex-grow: 1;
 
 
 
 
 
 
 
 
 
 
 
182
  padding: 20px;
 
 
 
 
183
  overflow-y: auto;
 
184
  display: flex;
185
  flex-direction: column;
186
  gap: 15px;
187
  }
188
 
189
+ .message-bubble {
190
+ max-width: 80%;
191
  padding: 12px 18px;
192
+ border-radius: 20px;
 
193
  line-height: 1.5;
194
+ word-wrap: break-word;
195
  }
196
 
197
+ .message-bubble.user {
198
+ background-color: var(--primary-accent);
199
+ color: var(--button-text);
200
  align-self: flex-end;
201
+ border-bottom-right-radius: 5px;
202
  }
203
 
204
+ .message-bubble.samuel {
205
+ background-color: #333;
206
+ color: var(--text-color);
207
  align-self: flex-start;
208
+ border-bottom-left-radius: 5px;
209
  }
210
 
211
  .chat-input-area {
212
  display: flex;
213
+ padding: 20px;
214
+ border-top: 1px solid var(--border-color);
215
  gap: 10px;
 
 
 
216
  }
217
 
218
+ .chat-input-area input[type="text"] {
219
+ flex-grow: 1;
220
+ border-radius: 25px;
221
+ padding: 10px 20px;
222
+ background-color: var(--input-bg);
223
+ border: 1px solid var(--input-border);
224
+ color: var(--text-color);
225
  }
226
 
227
+ .chat-input-area button {
228
  width: auto;
229
+ padding: 10px 20px;
230
+ border-radius: 25px;
231
+ font-size: 16px;
232
  }
233
 
234
+ .microphone-button {
235
+ background-color: var(--secondary-accent);
236
+ border-radius: 50%;
237
+ width: 50px;
238
+ height: 50px;
239
+ display: flex;
240
+ justify-content: center;
241
+ align-items: center;
242
+ font-size: 24px;
243
+ color: white;
244
+ border: none;
245
+ cursor: pointer;
246
+ transition: background-color 0.3s ease, transform 0.2s ease;
247
  }
248
 
249
+ .microphone-button:hover {
250
+ background-color: #00e676;
251
+ transform: scale(1.05);
252
+ }
253
+
254
+ .microphone-button.recording {
255
+ background-color: var(--error-color);
256
+ animation: pulse 1.5s infinite;
257
+ }
258
+
259
+ @keyframes pulse {
260
+ 0% { box-shadow: 0 0 0 0 rgba(255, 68, 68, 0.7); }
261
+ 70% { box-shadow: 0 0 0 10px rgba(255, 68, 68, 0); }
262
+ 100% { box-shadow: 0 0 0 0 rgba(255, 68, 68, 0); }
263
  }
264
 
265
+ /* Memory View Specifics */
266
+ .memory-entry {
267
+ background-color: #2a2a2a;
268
+ padding: 15px;
269
+ border-radius: 10px;
270
+ border: 1px solid #333;
271
+ }
272
+
273
+ .memory-entry h4 {
274
+ color: var(--secondary-accent);
275
+ margin-top: 0;
276
+ margin-bottom: 10px;
277
+ }
278
+
279
+ .memory-entry p {
280
+ margin-bottom: 5px;
281
+ }
282
+
283
+ .memory-entry small {
284
+ color: #888;
285
+ font-size: 0.8em;
286
+ }
287
+
288
+ /* Initiation Ritual */
289
+ .initiation-container {
290
  display: flex;
291
  flex-direction: column;
292
  gap: 25px;
293
+ text-align: center;
294
  }
295
 
296
+ .initiation-container h2 {
297
+ margin-bottom: 15px;
 
298
  }
299
 
300
+ .initiation-container textarea {
301
+ min-height: 100px;
302
+ resize: vertical;
 
303
  }
304
 
305
+ .initiation-progress {
306
+ font-size: 1.1em;
307
+ color: var(--secondary-accent);
308
+ margin-bottom: 20px;
309
  }
310
+
311
+ /* General layout for main app */
312
+ .app-layout {
313
+ display: flex;
314
+ width: 100%;
315
+ max-width: 1200px; /* Adjust as needed */
316
+ height: 90vh; /* Adjust as needed */
317
+ border-radius: 12px;
318
+ overflow: hidden;
319
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
320
+ border: 1px solid var(--border-color);
321
+ }
322
+
323
+ /* Responsive adjustments */
324
+ @media (max-width: 768px) {
325
+ .app-layout {
326
+ flex-direction: column;
327
+ height: auto;
328
+ min-height: 100vh;
329
+ }
330
+
331
+ .sidebar {
332
+ width: 100%;
333
+ border-right: none;
334
+ border-bottom: 1px solid var(--border-color);
335
+ flex-direction: row;
336
+ justify-content: space-around;
337
+ padding: 10px;
338
+ }
339
+
340
+ .container {
341
+ padding: 20px;
342
+ }
343
+
344
+ .chat-input-area {
345
+ flex-direction: column;
346
+ gap: 15px;
347
+ }
348
+
349
+ .chat-input-area input[type="text"],
350
+ .chat-input-area button {
351
+ width: 100%;
352
+ }
353
+
354
+ .microphone-button {
355
+ margin: 0 auto;
356
+ }
357
+ }