flen-crypto commited on
Commit
c6113a3
·
verified ·
1 Parent(s): 20d31e3

Upload style.css with huggingface_hub

Browse files
Files changed (1) hide show
  1. style.css +506 -17
style.css CHANGED
@@ -1,28 +1,517 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
 
 
 
 
 
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
 
 
 
16
  }
17
 
18
  .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :root {
2
+ --bg: #05060a;
3
+ --bg-elevated: #111321;
4
+ --bg-elevated-2: #181b2b;
5
+ --accent: #6b8bff;
6
+ --accent-soft: rgba(107, 139, 255, 0.15);
7
+ --accent-strong: #9fd27b;
8
+ --border-subtle: #262b40;
9
+ --text: #f5f7ff;
10
+ --text-muted: #a1a4c0;
11
+ --error: #ff5c7c;
12
+ --shadow-soft: 0 18px 40px rgba(0, 0, 0, 0.55);
13
+ --radius-lg: 14px;
14
+ --radius-md: 10px;
15
+ --radius-sm: 6px;
16
+ --transition-fast: 0.15s ease-out;
17
+ --transition-med: 0.22s ease-out;
18
+ --grid-cols: 16;
19
+ }
20
+
21
+ *,
22
+ *::before,
23
+ *::after {
24
+ box-sizing: border-box;
25
+ }
26
+
27
+ html,
28
  body {
29
+ margin: 0;
30
+ padding: 0;
31
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
32
+ background: radial-gradient(circle at top, #131626 0, #05060a 55%);
33
+ color: var(--text);
34
+ height: 100%;
35
+ }
36
+
37
+ body {
38
+ display: flex;
39
+ flex-direction: column;
40
+ }
41
+
42
+ a {
43
+ color: var(--accent-strong);
44
+ text-decoration: none;
45
+ }
46
+ a:hover {
47
+ text-decoration: underline;
48
+ }
49
+
50
+ .app-header {
51
+ padding: 14px 20px;
52
+ border-bottom: 1px solid rgba(255, 255, 255, 0.03);
53
+ display: flex;
54
+ align-items: center;
55
+ justify-content: space-between;
56
+ gap: 12px;
57
+ backdrop-filter: blur(12px);
58
+ background: linear-gradient(to bottom, rgba(5, 6, 10, 0.96), rgba(5, 6, 10, 0.86));
59
+ position: sticky;
60
+ top: 0;
61
+ z-index: 20;
62
+ }
63
+
64
+ .logo-title {
65
+ display: flex;
66
+ align-items: center;
67
+ gap: 10px;
68
+ }
69
+
70
+ .logo-dot {
71
+ width: 18px;
72
+ height: 18px;
73
+ border-radius: 999px;
74
+ background: radial-gradient(circle at 30% 20%, #9fd27b, #6b8bff);
75
+ box-shadow: 0 0 18px rgba(159, 210, 123, 0.8);
76
+ }
77
+
78
+ .app-header h1 {
79
+ margin: 0;
80
+ font-size: 20px;
81
+ letter-spacing: 0.02em;
82
+ }
83
+
84
+ .subtitle {
85
+ margin: 0;
86
+ font-size: 12px;
87
+ color: var(--text-muted);
88
+ }
89
+
90
+ .header-links {
91
+ display: flex;
92
+ gap: 12px;
93
+ align-items: center;
94
+ font-size: 13px;
95
  }
96
 
97
+ .header-links a {
98
+ padding: 6px 10px;
99
+ border-radius: 999px;
100
+ border: 1px solid rgba(255, 255, 255, 0.05);
101
+ background: rgba(18, 20, 33, 0.85);
102
+ }
103
+ .header-links a:hover {
104
+ background: rgba(31, 36, 61, 0.95);
105
  }
106
 
107
+ .app-main {
108
+ flex: 1;
109
+ display: grid;
110
+ grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
111
+ gap: 16px;
112
+ padding: 16px;
113
+ max-width: 1320px;
114
+ margin: 0 auto 18px;
115
  }
116
 
117
  .card {
118
+ background: radial-gradient(circle at top left, rgba(107, 139, 255, 0.12), rgba(10, 11, 17, 0.96));
119
+ border-radius: var(--radius-lg);
120
+ box-shadow: var(--shadow-soft);
121
+ padding: 16px 18px 16px;
122
+ border: 1px solid rgba(255, 255, 255, 0.04);
123
+ }
124
+
125
+ /* Left panel */
126
+ .left-panel {
127
+ display: flex;
128
+ flex-direction: column;
129
+ gap: 12px;
130
+ }
131
+
132
+ .ai-panel h2,
133
+ .project-panel h2,
134
+ .daw-panel h2 {
135
+ margin: 0 0 8px;
136
+ font-size: 17px;
137
+ }
138
+
139
+ .help-text {
140
+ margin: 0 0 10px;
141
+ font-size: 13px;
142
+ color: var(--text-muted);
143
+ }
144
+
145
+ .field {
146
+ display: flex;
147
+ flex-direction: column;
148
+ gap: 4px;
149
+ margin-bottom: 8px;
150
+ }
151
+
152
+ label {
153
+ font-size: 12px;
154
+ color: var(--text-muted);
155
+ }
156
+
157
+ input[type="text"],
158
+ input[type="number"],
159
+ select,
160
+ textarea {
161
+ border-radius: var(--radius-md);
162
+ border: 1px solid var(--border-subtle);
163
+ background: rgba(9, 10, 18, 0.9);
164
+ color: var(--text);
165
+ padding: 7px 9px;
166
+ font-size: 13px;
167
+ outline: none;
168
+ transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
169
+ }
170
+ input:focus,
171
+ select:focus,
172
+ textarea:focus {
173
+ border-color: rgba(107, 139, 255, 0.8);
174
+ box-shadow: 0 0 0 1px rgba(107, 139, 255, 0.45);
175
+ background: rgba(6, 7, 14, 1);
176
+ }
177
+
178
+ textarea {
179
+ resize: vertical;
180
+ }
181
+
182
+ /* Buttons */
183
+ button {
184
+ font-family: inherit;
185
+ font-size: 13px;
186
+ border-radius: 999px;
187
+ border: none;
188
+ cursor: pointer;
189
+ padding: 7px 14px;
190
+ display: inline-flex;
191
+ align-items: center;
192
+ justify-content: center;
193
+ gap: 6px;
194
+ transition: background var(--transition-med), box-shadow var(--transition-med), transform var(--transition-med), border-color var(--transition-med), color var(--transition-med);
195
+ }
196
+
197
+ button:disabled {
198
+ opacity: 0.6;
199
+ cursor: not-allowed;
200
+ box-shadow: none;
201
+ transform: none;
202
+ }
203
+
204
+ .primary-btn {
205
+ background: linear-gradient(135deg, #6b8bff, #9fd27b);
206
+ color: #05060a;
207
+ font-weight: 600;
208
+ box-shadow: 0 12px 30px rgba(54, 89, 255, 0.35);
209
+ margin: 4px 0 6px;
210
+ }
211
+ .primary-btn:hover:not(:disabled) {
212
+ box-shadow: 0 16px 36px rgba(54, 89, 255, 0.45);
213
+ transform: translateY(-1px);
214
+ }
215
+
216
+ .secondary-btn {
217
+ background: rgba(15, 17, 27, 0.9);
218
+ color: var(--text);
219
+ border-radius: 999px;
220
+ border: 1px solid var(--border-subtle);
221
+ }
222
+ .secondary-btn:hover:not(:disabled) {
223
+ background: rgba(33, 38, 60, 0.9);
224
+ border-color: rgba(107, 139, 255, 0.55);
225
+ }
226
+
227
+ .secondary-btn.small {
228
+ padding: 4px 10px;
229
+ font-size: 12px;
230
+ }
231
+
232
+ /* Status & progress */
233
+ .status {
234
+ font-size: 12px;
235
+ margin: 4px 0 4px;
236
+ }
237
+ .status-loading {
238
+ color: var(--text-muted);
239
+ }
240
+ .status-ok {
241
+ color: var(--accent-strong);
242
+ }
243
+ .status-error {
244
+ color: var(--error);
245
+ }
246
+
247
+ .progress-container {
248
+ margin: 4px 0 6px;
249
+ }
250
+ .progress-label {
251
+ display: flex;
252
+ justify-content: space-between;
253
+ font-size: 11px;
254
+ color: var(--text-muted);
255
+ margin-bottom: 2px;
256
+ }
257
+ .progress-bar {
258
+ width: 100%;
259
+ height: 5px;
260
+ border-radius: 999px;
261
+ background: rgba(255, 255, 255, 0.08);
262
+ overflow: hidden;
263
+ }
264
+ #model-progress-bar-inner {
265
+ height: 100%;
266
+ width: 0%;
267
+ background: linear-gradient(90deg, #6b8bff, #9fd27b);
268
+ transition: width 0.08s linear;
269
+ }
270
+
271
+ /* Chips */
272
+ .ai-quick-examples {
273
+ margin-top: 6px;
274
+ display: flex;
275
+ flex-wrap: wrap;
276
+ gap: 6px;
277
+ align-items: center;
278
+ font-size: 11px;
279
+ color: var(--text-muted);
280
+ }
281
+ .chip {
282
+ border-radius: 999px;
283
+ padding: 3px 9px;
284
+ font-size: 11px;
285
+ background: rgba(13, 15, 26, 0.9);
286
+ border: 1px solid rgba(255, 255, 255, 0.05);
287
+ color: var(--text);
288
+ }
289
+ .chip:hover {
290
+ background: rgba(36, 41, 69, 0.95);
291
+ }
292
+
293
+ /* Project panel */
294
+ .small-text {
295
+ margin-top: 6px;
296
+ font-size: 11px;
297
+ color: var(--text-muted);
298
+ }
299
+
300
+ /* DAW panel */
301
+ .daw-panel {
302
+ display: flex;
303
+ flex-direction: column;
304
+ gap: 8px;
305
+ padding: 14px 14px 12px;
306
+ }
307
+
308
+ .daw-header {
309
+ display: flex;
310
+ align-items: center;
311
+ justify-content: space-between;
312
+ gap: 10px;
313
+ }
314
+
315
+ .transport {
316
+ display: inline-flex;
317
+ align-items: center;
318
+ gap: 6px;
319
+ }
320
+ .icon-btn {
321
+ width: 28px;
322
+ height: 28px;
323
+ border-radius: 999px;
324
+ border: 1px solid var(--border-subtle);
325
+ background: rgba(9, 10, 19, 0.9);
326
+ color: var(--text);
327
+ font-size: 13px;
328
+ }
329
+ .icon-btn:hover {
330
+ background: rgba(30, 34, 55, 0.95);
331
+ border-color: rgba(107, 139, 255, 0.6);
332
+ }
333
+ .checkbox-inline {
334
+ display: inline-flex;
335
+ align-items: center;
336
+ gap: 4px;
337
+ font-size: 12px;
338
+ color: var(--text-muted);
339
+ }
340
+
341
+ .timeline-meta {
342
+ display: flex;
343
+ gap: 14px;
344
+ font-size: 11px;
345
+ color: var(--text-muted);
346
+ }
347
+
348
+ /* Tracks & grid */
349
+ .tracks-container {
350
+ display: grid;
351
+ grid-template-columns: 180px minmax(0, 1fr);
352
+ gap: 10px;
353
+ margin-top: 8px;
354
+ }
355
+
356
+ .tracks-sidebar {
357
+ display: flex;
358
+ flex-direction: column;
359
+ gap: 8px;
360
  }
361
 
362
+ .track-strip {
363
+ background: var(--bg-elevated-2);
364
+ border-radius: var(--radius-md);
365
+ padding: 6px 8px;
366
+ border: 1px solid var(--border-subtle);
367
+ }
368
+
369
+ .track-header {
370
+ display: flex;
371
+ justify-content: space-between;
372
+ align-items: center;
373
+ margin-bottom: 4px;
374
+ }
375
+
376
+ .track-name {
377
+ font-size: 13px;
378
+ }
379
+
380
+ .track-controls {
381
+ display: flex;
382
+ gap: 4px;
383
+ }
384
+ .mute-btn,
385
+ .solo-btn {
386
+ background: rgba(6, 7, 15, 0.9);
387
+ border-radius: 999px;
388
+ border: 1px solid rgba(255, 255, 255, 0.07);
389
+ color: var(--text-muted);
390
+ font-size: 11px;
391
+ width: 22px;
392
+ height: 22px;
393
+ padding: 0;
394
+ }
395
+ .mute-btn.active {
396
+ background: rgba(255, 92, 124, 0.18);
397
+ border-color: rgba(255, 92, 124, 0.8);
398
+ color: #ffc0d0;
399
  }
400
+ .solo-btn.active {
401
+ background: rgba(159, 210, 123, 0.2);
402
+ border-color: rgba(159, 210, 123, 0.85);
403
+ color: #e5ffd6;
404
+ }
405
+
406
+ .track-faders {
407
+ display: grid;
408
+ grid-template-columns: auto 1fr;
409
+ align-items: center;
410
+ gap: 6px;
411
+ font-size: 11px;
412
+ color: var(--text-muted);
413
+ }
414
+ .track-faders input[type="range"] {
415
+ width: 100%;
416
+ }
417
+
418
+ /* Grid & editors */
419
+ .grid-and-editors {
420
+ display: flex;
421
+ flex-direction: column;
422
+ gap: 10px;
423
+ }
424
+
425
+ .step-grid-container,
426
+ .piano-roll-container {
427
+ background: var(--bg-elevated-2);
428
+ border-radius: var(--radius-md);
429
+ border: 1px solid var(--border-subtle);
430
+ padding: 8px 10px 10px;
431
+ }
432
+
433
+ .step-grid-header,
434
+ .piano-roll-header {
435
+ display: flex;
436
+ justify-content: space-between;
437
+ align-items: center;
438
+ margin-bottom: 6px;
439
+ }
440
+ .step-grid-header .label,
441
+ .piano-roll-header .label {
442
+ font-size: 12px;
443
+ color: var(--text-muted);
444
+ }
445
+
446
+ /* Step grid */
447
+ .step-grid {
448
+ display: grid;
449
+ grid-template-columns: repeat(var(--grid-cols), 1fr);
450
+ gap: 2px;
451
+ }
452
+
453
+ .step-row {
454
+ display: contents;
455
+ }
456
+
457
+ .step-cell {
458
+ position: relative;
459
+ height: 24px;
460
+ border-radius: 5px;
461
+ background: rgba(9, 10, 18, 0.95);
462
+ border: 1px solid rgba(255, 255, 255, 0.03);
463
+ cursor: pointer;
464
+ overflow: hidden;
465
+ }
466
+ .step-cell::before {
467
+ content: "";
468
+ position: absolute;
469
+ inset: 0;
470
+ background-image: linear-gradient(135deg, rgba(107, 139, 255, 0.15), rgba(159, 210, 123, 0.08));
471
+ opacity: 0;
472
+ transition: opacity var(--transition-fast);
473
+ }
474
+ .step-cell.active::before {
475
+ opacity: 1;
476
+ }
477
+ .step-cell:nth-child(4n + 1) {
478
+ box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.05);
479
+ }
480
+
481
+ .footer-hint {
482
+ margin-top: 4px;
483
+ font-size: 11px;
484
+ color: var(--text-muted);
485
+ }
486
+
487
+ /* Melody notes textarea */
488
+ #melody-notes {
489
+ width: 100%;
490
+ min-height: 80px;
491
+ }
492
+
493
+ /* Utility classes */
494
+ .hidden {
495
+ display: none !important;
496
+ }
497
+
498
+ /* Responsive */
499
+ @media (max-width: 960px) {
500
+ .app-main {
501
+ grid-template-columns: minmax(0, 1fr);
502
+ }
503
+ }
504
+
505
+ @media (max-width: 600px) {
506
+ .app-header {
507
+ flex-direction: column;
508
+ align-items: flex-start;
509
+ }
510
+ .header-links {
511
+ align-self: stretch;
512
+ justify-content: space-between;
513
+ }
514
+ .tracks-container {
515
+ grid-template-columns: 150px minmax(0, 1fr);
516
+ }
517
+ }