@twick/studio 0.15.13 → 0.15.15
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.
- package/README.md +2 -2
- package/dist/components/container/captions-panel-container.d.ts +1 -0
- package/dist/components/container/element-panel-container.d.ts +1 -1
- package/dist/components/container/properties-panel-container.d.ts +7 -7
- package/dist/components/panel/captions-panel.d.ts +46 -0
- package/dist/components/panel/circle-panel.d.ts +1 -1
- package/dist/components/panel/rect-panel.d.ts +1 -1
- package/dist/components/panel/text-panel.d.ts +1 -1
- package/dist/components/properties/{subtitlte-prop.d.ts → caption-prop.d.ts} +4 -4
- package/dist/components/properties/generate-captions.d.ts +13 -0
- package/dist/components/properties/property-row.d.ts +10 -0
- package/dist/components/properties/text-props.d.ts +3 -0
- package/dist/helpers/generate-captions.service.d.ts +21 -0
- package/dist/helpers/volume-db.d.ts +22 -0
- package/dist/hooks/use-captions-panel.d.ts +13 -0
- package/dist/hooks/use-generate-captions.d.ts +9 -0
- package/dist/hooks/use-studio-operation.d.ts +4 -4
- package/dist/hooks/use-text-panel.d.ts +6 -0
- package/dist/index.d.ts +10 -13
- package/dist/index.js +1209 -1046
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1194 -1034
- package/dist/index.mjs.map +1 -1
- package/dist/studio.css +521 -162
- package/dist/types/index.d.ts +18 -16
- package/package.json +14 -12
- package/dist/components/container/icon-panel-container.d.ts +0 -3
- package/dist/components/container/subtitles-panel-container.d.ts +0 -1
- package/dist/components/panel/icon-panel.d.ts +0 -4
- package/dist/components/panel/subtitles-panel.d.ts +0 -46
- package/dist/components/properties/generate-subtitles.d.ts +0 -13
- package/dist/helpers/generate-subtitles.service.d.ts +0 -21
- package/dist/hooks/use-generate-subtitles.d.ts +0 -9
- package/dist/hooks/use-icon-panel.d.ts +0 -24
- package/dist/hooks/use-subtitles-panel.d.ts +0 -13
package/dist/studio.css
CHANGED
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
body {
|
|
21
|
-
background
|
|
21
|
+
background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.02), transparent 60%),
|
|
22
|
+
radial-gradient(circle at bottom right, rgba(255, 255, 255, 0.015), transparent 60%),
|
|
23
|
+
var(--color-neutral-900);
|
|
22
24
|
color: var(--color-gray-100);
|
|
23
25
|
font-family: 'Inter', sans-serif;
|
|
24
26
|
font-feature-settings: "rlig" 1, "calt" 1;
|
|
@@ -30,6 +32,13 @@ html {
|
|
|
30
32
|
|
|
31
33
|
/* Components */
|
|
32
34
|
|
|
35
|
+
.header-separator {
|
|
36
|
+
width: 1px;
|
|
37
|
+
height: 2.5rem;
|
|
38
|
+
background-color: var(--color-gray-600);
|
|
39
|
+
margin: 0 1rem;
|
|
40
|
+
}
|
|
41
|
+
|
|
33
42
|
/* ========================================
|
|
34
43
|
SEARCH UTILITIES
|
|
35
44
|
======================================== */
|
|
@@ -50,7 +59,7 @@ html {
|
|
|
50
59
|
left: 0.75rem;
|
|
51
60
|
top: 50%;
|
|
52
61
|
transform: translateY(-50%);
|
|
53
|
-
color:
|
|
62
|
+
color: rgba(148, 163, 184, 0.8);
|
|
54
63
|
transition: var(--transition-all);
|
|
55
64
|
pointer-events: none;
|
|
56
65
|
}
|
|
@@ -91,29 +100,33 @@ html {
|
|
|
91
100
|
/* Panel styles */
|
|
92
101
|
|
|
93
102
|
.panel-container {
|
|
94
|
-
height:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
103
|
+
height: auto;
|
|
104
|
+
max-height: 100%;
|
|
105
|
+
width: 100%;
|
|
106
|
+
min-width: 0;
|
|
98
107
|
display: flex;
|
|
99
108
|
flex-direction: column;
|
|
100
|
-
background
|
|
101
|
-
padding: 0.
|
|
109
|
+
background: rgba(23, 23, 28, 0.96);
|
|
110
|
+
padding: 0.75rem;
|
|
111
|
+
border: 1px solid rgba(255, 255, 255, 0.06);
|
|
112
|
+
border-radius: 0.25rem;
|
|
113
|
+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
|
|
102
114
|
overflow-x: hidden;
|
|
103
115
|
overflow-y: auto;
|
|
104
116
|
}
|
|
105
117
|
|
|
106
118
|
.panel-title {
|
|
107
|
-
font-size:
|
|
108
|
-
font-weight:
|
|
109
|
-
|
|
110
|
-
|
|
119
|
+
font-size: var(--typography-h1);
|
|
120
|
+
font-weight: var(--typography-h1-weight);
|
|
121
|
+
letter-spacing: var(--typography-h1-spacing);
|
|
122
|
+
color: rgba(226, 232, 240, 0.96);
|
|
123
|
+
margin: var(--typography-h1-margin);
|
|
111
124
|
}
|
|
112
125
|
|
|
113
126
|
.panel-section {
|
|
114
127
|
display: flex;
|
|
115
128
|
flex-direction: column;
|
|
116
|
-
gap:
|
|
129
|
+
gap: 0.5rem;
|
|
117
130
|
margin-bottom: 0.75rem;
|
|
118
131
|
}
|
|
119
132
|
|
|
@@ -125,26 +138,31 @@ html {
|
|
|
125
138
|
/* Properties Panel */
|
|
126
139
|
|
|
127
140
|
.properties-panel {
|
|
128
|
-
width: 18rem;
|
|
129
141
|
height: 100%;
|
|
130
|
-
|
|
131
|
-
|
|
142
|
+
display: flex;
|
|
143
|
+
flex-direction: column;
|
|
144
|
+
width: 100%;
|
|
145
|
+
background: rgba(23, 23, 28, 0.98);
|
|
146
|
+
border-left: 1px solid rgba(255, 255, 255, 0.06);
|
|
132
147
|
overflow-y: hidden;
|
|
133
148
|
overflow-x: hidden;
|
|
134
149
|
backdrop-filter: blur(24px);
|
|
135
|
-
box-shadow:
|
|
150
|
+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
|
|
136
151
|
}
|
|
137
152
|
|
|
138
153
|
.properties-header {
|
|
139
|
-
padding: 0.
|
|
140
|
-
border-bottom: 1px solid rgba(
|
|
141
|
-
background:
|
|
154
|
+
padding: 0.25rem 1rem;
|
|
155
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
|
|
156
|
+
background: rgba(18, 18, 23, 0.98);
|
|
142
157
|
}
|
|
143
158
|
|
|
144
159
|
.properties-title {
|
|
145
|
-
font-size:
|
|
146
|
-
font-weight:
|
|
147
|
-
|
|
160
|
+
font-size: var(--typography-h1);
|
|
161
|
+
font-weight: var(--typography-h1-weight);
|
|
162
|
+
letter-spacing: var(--typography-h1-spacing);
|
|
163
|
+
text-transform: uppercase;
|
|
164
|
+
color: var(--color-gray-100);
|
|
165
|
+
margin: 0.5rem 0rem;
|
|
148
166
|
}
|
|
149
167
|
|
|
150
168
|
/* Property Groups */
|
|
@@ -156,19 +174,28 @@ html {
|
|
|
156
174
|
}
|
|
157
175
|
|
|
158
176
|
.property-section {
|
|
159
|
-
background-color: rgba(
|
|
177
|
+
background-color: rgba(18, 18, 23, 0.8);
|
|
160
178
|
border-radius: 0.5rem;
|
|
161
|
-
padding: 0.
|
|
162
|
-
border: 1px solid rgba(
|
|
179
|
+
padding: 0.75rem;
|
|
180
|
+
border: 1px solid rgba(255, 255, 255, 0.06);
|
|
181
|
+
margin-bottom: 0.5rem;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.property-section:last-child {
|
|
185
|
+
margin-bottom: 0;
|
|
163
186
|
}
|
|
164
187
|
|
|
165
188
|
.property-title {
|
|
166
|
-
font-size:
|
|
167
|
-
font-weight:
|
|
168
|
-
|
|
169
|
-
|
|
189
|
+
font-size: var(--typography-h1);
|
|
190
|
+
font-weight: var(--typography-h1-weight);
|
|
191
|
+
letter-spacing: var(--typography-h1-spacing);
|
|
192
|
+
color: rgba(226, 232, 240, 0.9);
|
|
193
|
+
margin: var(--typography-h1-margin);
|
|
170
194
|
display: flex;
|
|
171
195
|
align-items: center;
|
|
196
|
+
text-overflow: ellipsis;
|
|
197
|
+
overflow: hidden;
|
|
198
|
+
white-space: nowrap;
|
|
172
199
|
gap: 0.375rem;
|
|
173
200
|
}
|
|
174
201
|
|
|
@@ -185,35 +212,85 @@ html {
|
|
|
185
212
|
gap: 0.5rem;
|
|
186
213
|
}
|
|
187
214
|
|
|
215
|
+
/* Property row layout: label left, control right */
|
|
216
|
+
|
|
217
|
+
.property-row {
|
|
218
|
+
display: grid;
|
|
219
|
+
grid-template-columns: minmax(0, 1.25fr) minmax(0, 2fr) auto;
|
|
220
|
+
align-items: center;
|
|
221
|
+
column-gap: 0.75rem;
|
|
222
|
+
row-gap: 0.25rem;
|
|
223
|
+
margin-bottom: 1rem;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.property-row:last-child {
|
|
227
|
+
margin-bottom: 0;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.property-row-label {
|
|
231
|
+
display: flex;
|
|
232
|
+
align-items: flex-start;
|
|
233
|
+
justify-content: flex-start;
|
|
234
|
+
min-width: 0;
|
|
235
|
+
padding-top: 0.125rem;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.property-row-control {
|
|
239
|
+
display: flex;
|
|
240
|
+
align-items: center;
|
|
241
|
+
gap: 0.5rem;
|
|
242
|
+
min-width: 0;
|
|
243
|
+
flex-wrap: wrap;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.property-row-control .color-picker {
|
|
247
|
+
flex-shrink: 0;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.property-row-secondary {
|
|
251
|
+
display: flex;
|
|
252
|
+
align-items: center;
|
|
253
|
+
justify-content: flex-end;
|
|
254
|
+
font-size: var(--typography-value);
|
|
255
|
+
font-weight: var(--typography-value-weight);
|
|
256
|
+
color: var(--color-gray-300);
|
|
257
|
+
min-width: 2.5rem;
|
|
258
|
+
flex-shrink: 0;
|
|
259
|
+
}
|
|
260
|
+
|
|
188
261
|
.property-label {
|
|
189
262
|
display: block;
|
|
190
|
-
font-size:
|
|
191
|
-
|
|
192
|
-
|
|
263
|
+
font-size: var(--typography-label);
|
|
264
|
+
text-transform: uppercase;
|
|
265
|
+
letter-spacing: 0.08em;
|
|
266
|
+
opacity: var(--typography-label-opacity);
|
|
267
|
+
color: rgba(148, 163, 184, 0.9);
|
|
268
|
+
margin-bottom: 0.15rem;
|
|
193
269
|
}
|
|
194
270
|
|
|
195
271
|
.property-input {
|
|
196
272
|
width: 100%;
|
|
197
|
-
background-color: rgba(
|
|
198
|
-
border: 1px solid rgba(
|
|
273
|
+
background-color: rgba(15, 23, 42, 0.9);
|
|
274
|
+
border: 1px solid rgba(51, 65, 85, 0.9);
|
|
199
275
|
border-radius: 0.375rem;
|
|
200
276
|
color: white;
|
|
201
|
-
font-size:
|
|
277
|
+
font-size: var(--typography-value);
|
|
278
|
+
font-weight: var(--typography-value-weight);
|
|
202
279
|
padding: 0.375rem 0.5rem;
|
|
203
280
|
transition: var(--transition-all);
|
|
204
281
|
}
|
|
205
282
|
|
|
206
283
|
.property-input:focus {
|
|
207
|
-
border-color:
|
|
284
|
+
border-color: rgba(255, 255, 255, 0.3);
|
|
208
285
|
outline: none;
|
|
209
|
-
box-shadow: 0 0 0 1px rgba(
|
|
286
|
+
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
210
287
|
}
|
|
211
288
|
|
|
212
289
|
.property-range-labels {
|
|
213
290
|
display: flex;
|
|
214
291
|
justify-content: space-between;
|
|
215
292
|
font-size: 0.75rem;
|
|
216
|
-
color:
|
|
293
|
+
color: rgba(148, 163, 184, 0.85);
|
|
217
294
|
margin-top: 0.25rem;
|
|
218
295
|
}
|
|
219
296
|
|
|
@@ -221,6 +298,7 @@ html {
|
|
|
221
298
|
flex: 1;
|
|
222
299
|
overflow-y: auto;
|
|
223
300
|
min-height: 300px;
|
|
301
|
+
min-width: 0;
|
|
224
302
|
}
|
|
225
303
|
|
|
226
304
|
/* Media List */
|
|
@@ -375,7 +453,7 @@ html {
|
|
|
375
453
|
|
|
376
454
|
.media-count {
|
|
377
455
|
padding: 0.5rem 0.75rem;
|
|
378
|
-
color:
|
|
456
|
+
color: rgba(148, 163, 184, 0.85);
|
|
379
457
|
font-size: 0.875rem;
|
|
380
458
|
}
|
|
381
459
|
|
|
@@ -383,10 +461,19 @@ html {
|
|
|
383
461
|
|
|
384
462
|
.media-grid {
|
|
385
463
|
display: grid;
|
|
386
|
-
grid-template-columns: repeat(2, minmax(
|
|
464
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
387
465
|
gap: 0.75rem;
|
|
388
466
|
padding: 0.25rem;
|
|
389
467
|
overflow: hidden;
|
|
468
|
+
min-width: 0;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.media-item-draggable {
|
|
472
|
+
cursor: grab;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.media-item-draggable:active {
|
|
476
|
+
cursor: grabbing;
|
|
390
477
|
}
|
|
391
478
|
|
|
392
479
|
.media-item {
|
|
@@ -396,6 +483,7 @@ html {
|
|
|
396
483
|
border-radius: 0.5rem;
|
|
397
484
|
background-color: var(--color-neutral-800);
|
|
398
485
|
aspect-ratio: 9/16;
|
|
486
|
+
min-width: 0;
|
|
399
487
|
}
|
|
400
488
|
|
|
401
489
|
.media-item:hover {
|
|
@@ -406,6 +494,7 @@ html {
|
|
|
406
494
|
width: 100%;
|
|
407
495
|
height: 100%;
|
|
408
496
|
object-fit: cover;
|
|
497
|
+
display: block;
|
|
409
498
|
}
|
|
410
499
|
|
|
411
500
|
.media-duration {
|
|
@@ -539,24 +628,26 @@ html {
|
|
|
539
628
|
/* Sidebar styles */
|
|
540
629
|
|
|
541
630
|
.sidebar {
|
|
542
|
-
|
|
543
|
-
|
|
631
|
+
position: relative;
|
|
632
|
+
z-index: 2;
|
|
633
|
+
min-width: 3.8rem;
|
|
634
|
+
max-width: 3.8rem;
|
|
544
635
|
padding-top: 0.75rem;
|
|
545
|
-
background
|
|
546
|
-
border-right: 1px solid rgba(
|
|
636
|
+
background: rgba(23, 23, 28, 0.98);
|
|
637
|
+
border-right: 1px solid rgba(255, 255, 255, 0.06);
|
|
547
638
|
display: flex;
|
|
548
639
|
flex-direction: column;
|
|
549
640
|
align-items: center;
|
|
550
641
|
gap: 1rem;
|
|
551
642
|
padding: 0.35rem;
|
|
552
643
|
backdrop-filter: blur(12px);
|
|
553
|
-
box-shadow:
|
|
644
|
+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
|
|
554
645
|
}
|
|
555
646
|
|
|
556
647
|
.toolbar-label {
|
|
557
648
|
text-align: center;
|
|
558
|
-
font-size:
|
|
559
|
-
color:
|
|
649
|
+
font-size: 0.75rem;
|
|
650
|
+
color: rgba(203, 213, 225, 0.9);
|
|
560
651
|
}
|
|
561
652
|
|
|
562
653
|
/* Timeline track styles */
|
|
@@ -564,8 +655,12 @@ html {
|
|
|
564
655
|
.timeline-track {
|
|
565
656
|
position: relative;
|
|
566
657
|
height: 3rem;
|
|
567
|
-
background
|
|
568
|
-
|
|
658
|
+
background: linear-gradient(
|
|
659
|
+
to right,
|
|
660
|
+
rgba(30, 64, 175, 0.55),
|
|
661
|
+
rgba(8, 47, 73, 0.85)
|
|
662
|
+
);
|
|
663
|
+
border: 1px solid rgba(56, 189, 248, 0.45);
|
|
569
664
|
border-radius: 0.5rem;
|
|
570
665
|
overflow: hidden;
|
|
571
666
|
backdrop-filter: blur(4px);
|
|
@@ -577,15 +672,15 @@ html {
|
|
|
577
672
|
top: 0.25rem;
|
|
578
673
|
bottom: 0.25rem;
|
|
579
674
|
border-radius: 0.375rem;
|
|
580
|
-
border: 1px solid rgba(
|
|
581
|
-
background: linear-gradient(to right, rgba(
|
|
675
|
+
border: 1px solid rgba(56, 189, 248, 0.7);
|
|
676
|
+
background: linear-gradient(to right, rgba(37, 99, 235, 0.75), rgba(56, 189, 248, 0.75));
|
|
582
677
|
transition: var(--transition-all);
|
|
583
678
|
cursor: pointer;
|
|
584
679
|
box-shadow: var(--shadow-lg);
|
|
585
680
|
}
|
|
586
681
|
|
|
587
682
|
.timeline-element:hover {
|
|
588
|
-
background: linear-gradient(to right, rgba(
|
|
683
|
+
background: linear-gradient(to right, rgba(59, 130, 246, 0.9), rgba(56, 189, 248, 0.9));
|
|
589
684
|
}
|
|
590
685
|
|
|
591
686
|
/* Canvas styles */
|
|
@@ -593,7 +688,11 @@ html {
|
|
|
593
688
|
.canvas-container {
|
|
594
689
|
position: relative;
|
|
595
690
|
overflow: hidden;
|
|
596
|
-
|
|
691
|
+
border-radius: 0.75rem;
|
|
692
|
+
box-shadow:
|
|
693
|
+
0 0 0 1px rgba(255, 255, 255, 0.04),
|
|
694
|
+
0 8px 32px rgba(0, 0, 0, 0.4),
|
|
695
|
+
inset 0 0 40px rgba(0, 0, 0, 0.6);
|
|
597
696
|
}
|
|
598
697
|
|
|
599
698
|
/* Props Toolbar styles */
|
|
@@ -601,7 +700,7 @@ html {
|
|
|
601
700
|
.props-toolbar-label {
|
|
602
701
|
text-align: center;
|
|
603
702
|
font-size: xx-small;
|
|
604
|
-
color:
|
|
703
|
+
color: rgba(203, 213, 225, 0.9);
|
|
605
704
|
margin-top: 0.25rem;
|
|
606
705
|
transition: var(--transition-all);
|
|
607
706
|
word-wrap: break-word;
|
|
@@ -618,24 +717,25 @@ html {
|
|
|
618
717
|
align-items: center;
|
|
619
718
|
gap: 0.5rem;
|
|
620
719
|
padding: 0.75rem;
|
|
621
|
-
background
|
|
720
|
+
background: rgba(23, 23, 28, 0.98);
|
|
622
721
|
backdrop-filter: blur(12px);
|
|
623
|
-
border-bottom: 1px solid rgba(
|
|
624
|
-
box-shadow:
|
|
722
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
|
|
723
|
+
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
|
|
625
724
|
}
|
|
626
725
|
|
|
627
|
-
/* Header styles */
|
|
726
|
+
/* Header styles – glassmorphism */
|
|
628
727
|
|
|
629
728
|
.header {
|
|
630
729
|
height: 3.5rem;
|
|
631
|
-
background
|
|
632
|
-
border-bottom: 1px solid rgba(
|
|
730
|
+
background: rgba(23, 23, 28, 0.75);
|
|
731
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
|
|
633
732
|
display: flex;
|
|
634
733
|
align-items: center;
|
|
635
734
|
justify-content: space-between;
|
|
636
735
|
padding: 0 1rem;
|
|
637
|
-
backdrop-filter: blur(
|
|
638
|
-
|
|
736
|
+
backdrop-filter: blur(20px);
|
|
737
|
+
-webkit-backdrop-filter: blur(20px);
|
|
738
|
+
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
|
|
639
739
|
}
|
|
640
740
|
|
|
641
741
|
/* Media library styles */
|
|
@@ -658,10 +758,10 @@ html {
|
|
|
658
758
|
|
|
659
759
|
/* Button hover effects - using twick-utilities.css */
|
|
660
760
|
|
|
661
|
-
/* Accent colors */
|
|
761
|
+
/* Accent colors - neutral to avoid color overuse */
|
|
662
762
|
|
|
663
763
|
.accent-purple {
|
|
664
|
-
color: var(--color-
|
|
764
|
+
color: var(--color-gray-400);
|
|
665
765
|
}
|
|
666
766
|
|
|
667
767
|
/* Gradient text - using twick-utilities.css */
|
|
@@ -672,23 +772,22 @@ html {
|
|
|
672
772
|
|
|
673
773
|
.aspect-ratio-btn {
|
|
674
774
|
padding: 0.375rem 0.75rem;
|
|
675
|
-
border-radius: 0.
|
|
676
|
-
border: 1px solid
|
|
775
|
+
border-radius: 0.375rem;
|
|
776
|
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
677
777
|
color: var(--color-gray-300);
|
|
678
778
|
transition: var(--transition-all);
|
|
679
779
|
font-size: 0.875rem;
|
|
680
780
|
}
|
|
681
781
|
|
|
682
782
|
.aspect-ratio-btn:hover {
|
|
683
|
-
border-color:
|
|
783
|
+
border-color: rgba(255, 255, 255, 0.25);
|
|
684
784
|
color: var(--color-purple-400);
|
|
685
785
|
}
|
|
686
786
|
|
|
687
787
|
.aspect-ratio-btn.active {
|
|
688
|
-
border-color:
|
|
689
|
-
background-color:
|
|
690
|
-
color:
|
|
691
|
-
box-shadow: 0 4px 6px -1px rgba(147, 51, 234, 0.25);
|
|
788
|
+
border-color: rgba(255, 255, 255, 0.3);
|
|
789
|
+
background-color: var(--color-neutral-700);
|
|
790
|
+
color: white;
|
|
692
791
|
}
|
|
693
792
|
|
|
694
793
|
/* Slider styles */
|
|
@@ -728,14 +827,14 @@ html {
|
|
|
728
827
|
.slider-thumb::-webkit-slider-track {
|
|
729
828
|
width: 100%;
|
|
730
829
|
height: 0.375rem;
|
|
731
|
-
background
|
|
830
|
+
background: linear-gradient(to right, rgba(15, 23, 42, 0.9), rgba(30, 64, 175, 0.9));
|
|
732
831
|
border-radius: 9999px;
|
|
733
832
|
}
|
|
734
833
|
|
|
735
834
|
.slider-thumb::-moz-range-track {
|
|
736
835
|
width: 100%;
|
|
737
836
|
height: 0.375rem;
|
|
738
|
-
background
|
|
837
|
+
background: linear-gradient(to right, rgba(15, 23, 42, 0.9), rgba(30, 64, 175, 0.9));
|
|
739
838
|
border-radius: 9999px;
|
|
740
839
|
border: 0;
|
|
741
840
|
}
|
|
@@ -745,26 +844,26 @@ html {
|
|
|
745
844
|
.form-btn {
|
|
746
845
|
width: 2rem;
|
|
747
846
|
height: 2rem;
|
|
748
|
-
background:
|
|
749
|
-
border
|
|
847
|
+
background: var(--color-neutral-800);
|
|
848
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
849
|
+
border-radius: 0.375rem;
|
|
750
850
|
display: flex;
|
|
751
851
|
align-items: center;
|
|
752
852
|
justify-content: center;
|
|
753
853
|
color: var(--color-gray-300);
|
|
754
854
|
transition: var(--transition-all);
|
|
755
|
-
box-shadow: var(--shadow-sm);
|
|
756
855
|
}
|
|
757
856
|
|
|
758
857
|
.form-btn:hover {
|
|
759
|
-
background:
|
|
858
|
+
background: var(--color-neutral-700);
|
|
760
859
|
color: white;
|
|
761
|
-
|
|
860
|
+
border-color: rgba(255, 255, 255, 0.15);
|
|
762
861
|
}
|
|
763
862
|
|
|
764
863
|
.form-btn.active {
|
|
765
|
-
background:
|
|
864
|
+
background: var(--color-neutral-600);
|
|
766
865
|
color: white;
|
|
767
|
-
|
|
866
|
+
border-color: rgba(255, 255, 255, 0.2);
|
|
768
867
|
}
|
|
769
868
|
|
|
770
869
|
/* Toolbar buttons */
|
|
@@ -778,23 +877,61 @@ html {
|
|
|
778
877
|
flex-direction: column;
|
|
779
878
|
align-items: center;
|
|
780
879
|
justify-content: center;
|
|
781
|
-
transition: var(--
|
|
880
|
+
transition: transform var(--duration-fast) ease,
|
|
881
|
+
background-color var(--duration-fast) ease,
|
|
882
|
+
color var(--duration-fast) ease,
|
|
883
|
+
box-shadow var(--duration-fast) ease;
|
|
782
884
|
box-shadow: var(--shadow-sm);
|
|
783
885
|
}
|
|
784
886
|
|
|
785
887
|
.toolbar-btn.active {
|
|
786
888
|
background: linear-gradient(to bottom right, var(--color-purple-500), var(--color-purple-600));
|
|
787
889
|
color: white;
|
|
788
|
-
|
|
890
|
+
transform: scale(1.08);
|
|
891
|
+
box-shadow: 0 0 12px rgba(147, 51, 234, 0.25);
|
|
789
892
|
}
|
|
790
893
|
|
|
791
894
|
.toolbar-btn:not(.active) {
|
|
792
|
-
color:
|
|
895
|
+
color: rgba(148, 163, 184, 0.9);
|
|
793
896
|
}
|
|
794
897
|
|
|
795
898
|
.toolbar-btn:not(.active):hover {
|
|
796
899
|
color: white;
|
|
797
|
-
background-color:
|
|
900
|
+
background-color: var(--color-purple-muted);
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
/* Toolbar tooltip - smooth fade-in, 150ms delay, elevation shadow */
|
|
904
|
+
|
|
905
|
+
.toolbar-btn[data-tooltip] {
|
|
906
|
+
position: relative;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
.toolbar-btn[data-tooltip]::after {
|
|
910
|
+
content: attr(data-tooltip);
|
|
911
|
+
position: absolute;
|
|
912
|
+
left: 100%;
|
|
913
|
+
top: 50%;
|
|
914
|
+
transform: translateY(-50%) translateX(8px);
|
|
915
|
+
padding: 0.375rem 0.5rem;
|
|
916
|
+
font-size: 0.75rem;
|
|
917
|
+
font-weight: 500;
|
|
918
|
+
color: var(--color-gray-100);
|
|
919
|
+
background: rgba(30, 30, 35, 0.95);
|
|
920
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
921
|
+
border-radius: 0.375rem;
|
|
922
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
923
|
+
white-space: nowrap;
|
|
924
|
+
pointer-events: none;
|
|
925
|
+
opacity: 0;
|
|
926
|
+
transition: opacity var(--duration-normal) ease var(--duration-normal),
|
|
927
|
+
transform var(--duration-normal) ease var(--duration-normal);
|
|
928
|
+
z-index: 100;
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
.toolbar-btn[data-tooltip]:hover::after {
|
|
932
|
+
opacity: 1;
|
|
933
|
+
transform: translateY(-50%) translateX(12px);
|
|
934
|
+
transition-delay: 150ms;
|
|
798
935
|
}
|
|
799
936
|
|
|
800
937
|
/* Props Toolbar buttons */
|
|
@@ -836,20 +973,23 @@ html {
|
|
|
836
973
|
padding: 0.625rem 0.75rem;
|
|
837
974
|
text-align: left;
|
|
838
975
|
color: var(--color-gray-200);
|
|
839
|
-
transition:
|
|
840
|
-
|
|
976
|
+
transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
977
|
+
color 180ms ease,
|
|
978
|
+
border-color 180ms ease;
|
|
979
|
+
border-left: 1px solid transparent;
|
|
841
980
|
}
|
|
842
981
|
|
|
843
982
|
.prop-header:hover {
|
|
844
983
|
color: white;
|
|
845
|
-
background:
|
|
846
|
-
border-left-color: rgba(147, 51, 234, 0.
|
|
984
|
+
background: var(--color-purple-muted);
|
|
985
|
+
border-left-color: rgba(147, 51, 234, 0.4);
|
|
847
986
|
}
|
|
848
987
|
|
|
849
988
|
.prop-content {
|
|
850
989
|
overflow-x: hidden;
|
|
851
990
|
overflow-y: auto;
|
|
852
|
-
padding: 0.
|
|
991
|
+
padding: 0.5rem 0.75rem;
|
|
992
|
+
padding-right: 1rem;
|
|
853
993
|
transition: var(--transition-all);
|
|
854
994
|
}
|
|
855
995
|
|
|
@@ -870,17 +1010,19 @@ html {
|
|
|
870
1010
|
display: flex;
|
|
871
1011
|
align-items: center;
|
|
872
1012
|
justify-content: space-between;
|
|
873
|
-
padding: 0.
|
|
1013
|
+
padding: 0.25rem 0.75rem;
|
|
874
1014
|
text-align: left;
|
|
875
1015
|
color: var(--color-gray-200);
|
|
876
|
-
transition:
|
|
877
|
-
|
|
1016
|
+
transition: background 180ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
1017
|
+
color 180ms ease,
|
|
1018
|
+
border-color 180ms ease;
|
|
1019
|
+
border-left: 1px solid transparent;
|
|
878
1020
|
}
|
|
879
1021
|
|
|
880
1022
|
.accordion-header:hover {
|
|
881
1023
|
color: white;
|
|
882
|
-
background:
|
|
883
|
-
border-left-color: rgba(147, 51, 234, 0.
|
|
1024
|
+
background: var(--color-purple-muted);
|
|
1025
|
+
border-left-color: rgba(147, 51, 234, 0.4);
|
|
884
1026
|
}
|
|
885
1027
|
|
|
886
1028
|
.accordion-content {
|
|
@@ -888,19 +1030,33 @@ html {
|
|
|
888
1030
|
overflow-y: auto;
|
|
889
1031
|
max-height: 0;
|
|
890
1032
|
opacity: 0;
|
|
891
|
-
transition:
|
|
1033
|
+
transition: max-height 180ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
1034
|
+
opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
892
1035
|
}
|
|
893
1036
|
|
|
894
1037
|
.accordion-content.expanded {
|
|
895
|
-
max-height:
|
|
1038
|
+
max-height: 20rem;
|
|
896
1039
|
opacity: 1;
|
|
897
1040
|
}
|
|
898
1041
|
|
|
1042
|
+
.properties-size-readonly {
|
|
1043
|
+
display: inline-flex;
|
|
1044
|
+
align-items: center;
|
|
1045
|
+
justify-content: flex-start;
|
|
1046
|
+
padding: 0.35rem 0.6rem;
|
|
1047
|
+
margin-top: 0.25rem;
|
|
1048
|
+
border-radius: 999px;
|
|
1049
|
+
font-size: 0.8rem;
|
|
1050
|
+
letter-spacing: 0.04em;
|
|
1051
|
+
background: rgba(15, 23, 42, 0.95);
|
|
1052
|
+
border: 1px solid rgba(51, 65, 85, 0.9);
|
|
1053
|
+
color: var(--color-gray-100);
|
|
1054
|
+
}
|
|
1055
|
+
|
|
899
1056
|
.accordion-panel {
|
|
900
|
-
padding: 0.
|
|
1057
|
+
padding: 0.25rem;
|
|
901
1058
|
background-color: rgba(23, 23, 23, 0.3);
|
|
902
|
-
|
|
903
|
-
margin-left: 0.5rem;
|
|
1059
|
+
margin-left: 0.25rem;
|
|
904
1060
|
}
|
|
905
1061
|
|
|
906
1062
|
/* Studio-specific utilities */
|
|
@@ -929,6 +1085,7 @@ html {
|
|
|
929
1085
|
|
|
930
1086
|
.slider-purple {
|
|
931
1087
|
flex: 1;
|
|
1088
|
+
min-width: 0;
|
|
932
1089
|
height: 0.25rem;
|
|
933
1090
|
background: var(--color-neutral-700);
|
|
934
1091
|
border-radius: 9999px;
|
|
@@ -938,17 +1095,26 @@ html {
|
|
|
938
1095
|
|
|
939
1096
|
.slider-purple::-webkit-slider-thumb {
|
|
940
1097
|
appearance: none;
|
|
941
|
-
width:
|
|
942
|
-
height:
|
|
943
|
-
background: var(--color-
|
|
1098
|
+
width: 0.875rem;
|
|
1099
|
+
height: 0.875rem;
|
|
1100
|
+
background: var(--color-neutral-300);
|
|
944
1101
|
border-radius: 50%;
|
|
945
1102
|
cursor: pointer;
|
|
946
|
-
border:
|
|
1103
|
+
border: 1px solid var(--color-neutral-600);
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
.slider-purple::-moz-range-thumb {
|
|
1107
|
+
width: 0.875rem;
|
|
1108
|
+
height: 0.875rem;
|
|
1109
|
+
background: var(--color-neutral-300);
|
|
1110
|
+
border-radius: 50%;
|
|
1111
|
+
cursor: pointer;
|
|
1112
|
+
border: 1px solid var(--color-neutral-600);
|
|
947
1113
|
}
|
|
948
1114
|
|
|
949
1115
|
.slider-value {
|
|
950
1116
|
min-width: 3rem;
|
|
951
|
-
color:
|
|
1117
|
+
color: rgba(203, 213, 225, 0.95);
|
|
952
1118
|
font-size: 0.875rem;
|
|
953
1119
|
}
|
|
954
1120
|
|
|
@@ -959,31 +1125,38 @@ html {
|
|
|
959
1125
|
|
|
960
1126
|
.select-dark {
|
|
961
1127
|
flex: 1;
|
|
1128
|
+
min-width: 0;
|
|
962
1129
|
background-color: var(--color-neutral-800);
|
|
963
|
-
border: 1px solid
|
|
964
|
-
border-radius: 0.
|
|
1130
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1131
|
+
border-radius: 0.375rem;
|
|
965
1132
|
color: var(--color-gray-100);
|
|
966
1133
|
padding: 0.5rem;
|
|
967
1134
|
font-size: 0.875rem;
|
|
968
1135
|
}
|
|
969
1136
|
|
|
970
1137
|
.btn-icon {
|
|
971
|
-
width: 2.
|
|
972
|
-
height: 2.
|
|
1138
|
+
width: 2.25rem;
|
|
1139
|
+
height: 2.25rem;
|
|
1140
|
+
flex-shrink: 0;
|
|
973
1141
|
display: flex;
|
|
974
1142
|
align-items: center;
|
|
975
1143
|
justify-content: center;
|
|
976
1144
|
background-color: var(--color-neutral-800);
|
|
977
|
-
border: 1px solid
|
|
978
|
-
border-radius: 0.
|
|
1145
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1146
|
+
border-radius: 0.375rem;
|
|
979
1147
|
color: var(--color-gray-300);
|
|
980
|
-
font-size: 0.
|
|
1148
|
+
font-size: 0.75rem;
|
|
981
1149
|
cursor: pointer;
|
|
982
1150
|
}
|
|
983
1151
|
|
|
1152
|
+
.btn-icon:hover {
|
|
1153
|
+
background-color: var(--color-neutral-700);
|
|
1154
|
+
color: white;
|
|
1155
|
+
}
|
|
1156
|
+
|
|
984
1157
|
.btn-icon-active {
|
|
985
|
-
background-color: var(--color-
|
|
986
|
-
border-color:
|
|
1158
|
+
background-color: var(--color-neutral-600);
|
|
1159
|
+
border-color: rgba(255, 255, 255, 0.2);
|
|
987
1160
|
color: white;
|
|
988
1161
|
}
|
|
989
1162
|
|
|
@@ -1005,10 +1178,10 @@ html {
|
|
|
1005
1178
|
}
|
|
1006
1179
|
|
|
1007
1180
|
.color-picker {
|
|
1008
|
-
width: 2.
|
|
1009
|
-
height: 2.
|
|
1181
|
+
width: 2.25rem;
|
|
1182
|
+
height: 2.25rem;
|
|
1010
1183
|
padding: 0;
|
|
1011
|
-
border:
|
|
1184
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1012
1185
|
border-radius: 0.375rem;
|
|
1013
1186
|
cursor: pointer;
|
|
1014
1187
|
background: none;
|
|
@@ -1016,9 +1189,10 @@ html {
|
|
|
1016
1189
|
|
|
1017
1190
|
.color-text {
|
|
1018
1191
|
flex: 1;
|
|
1192
|
+
min-width: 0;
|
|
1019
1193
|
background-color: var(--color-neutral-800);
|
|
1020
|
-
border: 1px solid
|
|
1021
|
-
border-radius: 0.
|
|
1194
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1195
|
+
border-radius: 0.375rem;
|
|
1022
1196
|
color: var(--color-gray-100);
|
|
1023
1197
|
padding: 0.5rem;
|
|
1024
1198
|
font-size: 0.875rem;
|
|
@@ -1034,7 +1208,7 @@ html {
|
|
|
1034
1208
|
display: flex;
|
|
1035
1209
|
align-items: center;
|
|
1036
1210
|
gap: 0.5rem;
|
|
1037
|
-
color:
|
|
1211
|
+
color: rgba(203, 213, 225, 0.95);
|
|
1038
1212
|
font-size: 0.875rem;
|
|
1039
1213
|
cursor: pointer;
|
|
1040
1214
|
}
|
|
@@ -1043,14 +1217,14 @@ html {
|
|
|
1043
1217
|
width: 1rem;
|
|
1044
1218
|
height: 1rem;
|
|
1045
1219
|
border-radius: 0.25rem;
|
|
1046
|
-
border:
|
|
1220
|
+
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
1047
1221
|
appearance: none;
|
|
1048
1222
|
cursor: pointer;
|
|
1049
1223
|
}
|
|
1050
1224
|
|
|
1051
1225
|
.checkbox-purple:checked {
|
|
1052
|
-
background-color: var(--color-
|
|
1053
|
-
border-color: var(--color-
|
|
1226
|
+
background-color: var(--color-neutral-500);
|
|
1227
|
+
border-color: var(--color-neutral-400);
|
|
1054
1228
|
}
|
|
1055
1229
|
|
|
1056
1230
|
/* btn-primary - using twick-utilities.css */
|
|
@@ -1063,28 +1237,81 @@ html {
|
|
|
1063
1237
|
height: 100dvh;
|
|
1064
1238
|
width: 100dvw;
|
|
1065
1239
|
overflow: hidden;
|
|
1066
|
-
background
|
|
1240
|
+
background: var(--color-neutral-900);
|
|
1067
1241
|
color: var(--color-gray-100);
|
|
1242
|
+
position: relative;
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
/* Subtle background noise texture */
|
|
1246
|
+
|
|
1247
|
+
.studio-container::before {
|
|
1248
|
+
content: "";
|
|
1249
|
+
position: absolute;
|
|
1250
|
+
inset: 0;
|
|
1251
|
+
pointer-events: none;
|
|
1252
|
+
opacity: 0.03;
|
|
1253
|
+
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
|
|
1254
|
+
z-index: 0;
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
.studio-container > * {
|
|
1258
|
+
position: relative;
|
|
1259
|
+
z-index: 1;
|
|
1068
1260
|
}
|
|
1069
1261
|
|
|
1070
1262
|
.studio-content {
|
|
1071
1263
|
display: flex;
|
|
1072
1264
|
width: 100%;
|
|
1265
|
+
min-width: 0; /* allow flex row to shrink below content size */
|
|
1266
|
+
max-width: 100%;
|
|
1073
1267
|
height: calc(100vh - 56px);
|
|
1268
|
+
background: var(--color-neutral-900);
|
|
1074
1269
|
}
|
|
1075
1270
|
|
|
1076
1271
|
.main-container {
|
|
1077
1272
|
flex: 1;
|
|
1273
|
+
min-width: 0; /* allow shrinking below canvas/video intrinsic size in landscape */
|
|
1078
1274
|
display: flex;
|
|
1079
1275
|
flex-direction: column;
|
|
1080
|
-
background-color:
|
|
1081
|
-
|
|
1276
|
+
background-color: #0a0a0f;
|
|
1277
|
+
overflow: hidden;
|
|
1082
1278
|
}
|
|
1083
1279
|
|
|
1084
1280
|
.canvas-wrapper {
|
|
1085
1281
|
flex: 1;
|
|
1086
|
-
|
|
1087
|
-
|
|
1282
|
+
min-width: 0;
|
|
1283
|
+
overflow: auto;
|
|
1284
|
+
padding: 0.75rem;
|
|
1285
|
+
background: radial-gradient(
|
|
1286
|
+
circle at center,
|
|
1287
|
+
rgba(255, 255, 255, 0.03),
|
|
1288
|
+
rgba(0, 0, 0, 0.6)
|
|
1289
|
+
);
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
/* Side panels */
|
|
1293
|
+
|
|
1294
|
+
.studio-left-panel {
|
|
1295
|
+
position: relative;
|
|
1296
|
+
z-index: 1;
|
|
1297
|
+
width: 288px;
|
|
1298
|
+
flex-shrink: 0;
|
|
1299
|
+
height: 100%;
|
|
1300
|
+
display: flex;
|
|
1301
|
+
flex-direction: column;
|
|
1302
|
+
background-color: rgba(23, 23, 28, 0.98);
|
|
1303
|
+
border-right: 1px solid rgba(255, 255, 255, 0.06);
|
|
1304
|
+
box-shadow: var(--elevation-panel);
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
.studio-right-panel {
|
|
1308
|
+
width: 360px;
|
|
1309
|
+
flex-shrink: 0;
|
|
1310
|
+
display: flex;
|
|
1311
|
+
flex-direction: row;
|
|
1312
|
+
background-color: rgba(23, 23, 28, 0.98);
|
|
1313
|
+
border-left: 1px solid rgba(255, 255, 255, 0.06);
|
|
1314
|
+
box-shadow: var(--elevation-panel);
|
|
1088
1315
|
}
|
|
1089
1316
|
|
|
1090
1317
|
/* Color Input */
|
|
@@ -1122,16 +1349,16 @@ video::-webkit-media-controls-panel {
|
|
|
1122
1349
|
}
|
|
1123
1350
|
|
|
1124
1351
|
::-webkit-scrollbar-track {
|
|
1125
|
-
background: var(--color-
|
|
1352
|
+
background: var(--color-neutral-800);
|
|
1126
1353
|
}
|
|
1127
1354
|
|
|
1128
1355
|
::-webkit-scrollbar-thumb {
|
|
1129
|
-
background: var(--color-
|
|
1356
|
+
background: var(--color-neutral-600);
|
|
1130
1357
|
border-radius: 3px;
|
|
1131
1358
|
}
|
|
1132
1359
|
|
|
1133
1360
|
::-webkit-scrollbar-thumb:hover {
|
|
1134
|
-
background: var(--color-
|
|
1361
|
+
background: var(--color-neutral-500);
|
|
1135
1362
|
}:root {
|
|
1136
1363
|
/* Colors */
|
|
1137
1364
|
--color-purple-100: #f3e8ff;
|
|
@@ -1182,6 +1409,34 @@ video::-webkit-media-controls-panel {
|
|
|
1182
1409
|
|
|
1183
1410
|
/* Transitions */
|
|
1184
1411
|
--transition-all: all 0.2s ease;
|
|
1412
|
+
|
|
1413
|
+
/* Elevation system */
|
|
1414
|
+
--elevation-panel: 0 0 0 1px rgba(255,255,255,0.04), 0 8px 32px rgba(0,0,0,0.4);
|
|
1415
|
+
--elevation-canvas: 0 0 0 1px rgba(255,255,255,0.04), 0 8px 32px rgba(0,0,0,0.4);
|
|
1416
|
+
--elevation-scrubber: 0 0 8px rgba(139,92,246,0.8);
|
|
1417
|
+
|
|
1418
|
+
/* Motion */
|
|
1419
|
+
--duration-fast: 120ms;
|
|
1420
|
+
--duration-normal: 150ms;
|
|
1421
|
+
--duration-medium: 180ms;
|
|
1422
|
+
--ease-default: cubic-bezier(0.4, 0, 0.2, 1);
|
|
1423
|
+
|
|
1424
|
+
/* Muted purple for hover (reduce primary purple overuse) */
|
|
1425
|
+
--color-purple-muted: rgba(139, 92, 246, 0.15);
|
|
1426
|
+
|
|
1427
|
+
/* Typography – Level 1 Section Headers */
|
|
1428
|
+
--typography-h1: 16px;
|
|
1429
|
+
--typography-h1-weight: 600;
|
|
1430
|
+
--typography-h1-spacing: 0.3px;
|
|
1431
|
+
--typography-h1-margin: 8px 0 12px 0;
|
|
1432
|
+
|
|
1433
|
+
/* Typography – Level 2 Sub Labels */
|
|
1434
|
+
--typography-label: 13px;
|
|
1435
|
+
--typography-label-opacity: 0.8;
|
|
1436
|
+
|
|
1437
|
+
/* Typography – Level 3 Values */
|
|
1438
|
+
--typography-value: 13px;
|
|
1439
|
+
--typography-value-weight: 500;
|
|
1185
1440
|
}/* ========================================
|
|
1186
1441
|
LAYOUT UTILITIES
|
|
1187
1442
|
======================================== *//* Flexbox utilities */.flex {
|
|
@@ -1309,7 +1564,11 @@ video::-webkit-media-controls-panel {
|
|
|
1309
1564
|
cursor: pointer;
|
|
1310
1565
|
position: relative;
|
|
1311
1566
|
overflow: hidden;
|
|
1312
|
-
transition:
|
|
1567
|
+
transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
1568
|
+
box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
1569
|
+
background-color 150ms ease,
|
|
1570
|
+
color 150ms ease,
|
|
1571
|
+
border-color 150ms ease;
|
|
1313
1572
|
text-transform: uppercase;
|
|
1314
1573
|
letter-spacing: 0.025em;
|
|
1315
1574
|
box-shadow: 0 4px 14px 0 rgba(0, 0, 0, 0.15);
|
|
@@ -1327,7 +1586,7 @@ video::-webkit-media-controls-panel {
|
|
|
1327
1586
|
outline: none;
|
|
1328
1587
|
box-shadow: 0 0 0 3px rgba(147, 51, 234, 0.3), 0 4px 14px 0 rgba(0, 0, 0, 0.15);
|
|
1329
1588
|
}.btn:active {
|
|
1330
|
-
transform:
|
|
1589
|
+
transform: scale(0.98);
|
|
1331
1590
|
box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);
|
|
1332
1591
|
}.btn:disabled {
|
|
1333
1592
|
opacity: 0.6;
|
|
@@ -1347,7 +1606,9 @@ video::-webkit-media-controls-panel {
|
|
|
1347
1606
|
cursor: pointer;
|
|
1348
1607
|
position: relative;
|
|
1349
1608
|
overflow: hidden;
|
|
1350
|
-
transition:
|
|
1609
|
+
transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
1610
|
+
box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
1611
|
+
background 150ms ease;
|
|
1351
1612
|
background: linear-gradient(135deg, var(--color-purple-600), var(--color-purple-700), var(--color-purple-800));
|
|
1352
1613
|
color: white;
|
|
1353
1614
|
border: 1px solid var(--color-purple-500);
|
|
@@ -1355,10 +1616,11 @@ video::-webkit-media-controls-panel {
|
|
|
1355
1616
|
}.btn-primary:hover {
|
|
1356
1617
|
background: linear-gradient(135deg, var(--color-purple-500), var(--color-purple-600), var(--color-purple-700));
|
|
1357
1618
|
box-shadow: 0 12px 35px rgba(147, 51, 234, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.15);
|
|
1358
|
-
transform: translateY(-
|
|
1619
|
+
transform: translateY(-1px);
|
|
1359
1620
|
}.btn-primary:active {
|
|
1360
1621
|
background: linear-gradient(135deg, var(--color-purple-700), var(--color-purple-800), var(--color-purple-900));
|
|
1361
1622
|
box-shadow: 0 6px 20px rgba(147, 51, 234, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
|
1623
|
+
transform: scale(0.98);
|
|
1362
1624
|
}.btn-primary:disabled {
|
|
1363
1625
|
opacity: 0.6;
|
|
1364
1626
|
cursor: not-allowed;
|
|
@@ -1404,7 +1666,11 @@ video::-webkit-media-controls-panel {
|
|
|
1404
1666
|
cursor: pointer;
|
|
1405
1667
|
position: relative;
|
|
1406
1668
|
overflow: hidden;
|
|
1407
|
-
transition:
|
|
1669
|
+
transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
1670
|
+
box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
1671
|
+
background 150ms ease,
|
|
1672
|
+
color 150ms ease,
|
|
1673
|
+
border-color 150ms ease;
|
|
1408
1674
|
background: rgba(64, 64, 64, 0.3);
|
|
1409
1675
|
color: var(--color-neutral-300);
|
|
1410
1676
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
@@ -1415,7 +1681,9 @@ video::-webkit-media-controls-panel {
|
|
|
1415
1681
|
color: white;
|
|
1416
1682
|
border-color: rgba(255, 255, 255, 0.2);
|
|
1417
1683
|
box-shadow: 0 12px 35px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
|
1418
|
-
transform: translateY(-
|
|
1684
|
+
transform: translateY(-1px);
|
|
1685
|
+
}.btn-ghost:active {
|
|
1686
|
+
transform: scale(0.98);
|
|
1419
1687
|
}.btn-ghost:disabled {
|
|
1420
1688
|
opacity: 0.6;
|
|
1421
1689
|
cursor: not-allowed;
|
|
@@ -1508,8 +1776,8 @@ video::-webkit-media-controls-panel {
|
|
|
1508
1776
|
color: var(--color-neutral-400);
|
|
1509
1777
|
}.input:focus {
|
|
1510
1778
|
outline: none;
|
|
1511
|
-
border-color:
|
|
1512
|
-
box-shadow: 0 0 0
|
|
1779
|
+
border-color: rgba(255, 255, 255, 0.3);
|
|
1780
|
+
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
1513
1781
|
}.input-dark {
|
|
1514
1782
|
width: 100%;
|
|
1515
1783
|
padding: 0.75rem;
|
|
@@ -1521,8 +1789,8 @@ video::-webkit-media-controls-panel {
|
|
|
1521
1789
|
transition: var(--transition-all);
|
|
1522
1790
|
}.input-dark:focus {
|
|
1523
1791
|
outline: none;
|
|
1524
|
-
border-color:
|
|
1525
|
-
box-shadow: 0 0 0
|
|
1792
|
+
border-color: rgba(255, 255, 255, 0.3);
|
|
1793
|
+
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
1526
1794
|
}/* ========================================
|
|
1527
1795
|
CARD UTILITIES
|
|
1528
1796
|
======================================== */.card {
|
|
@@ -1536,6 +1804,7 @@ video::-webkit-media-controls-panel {
|
|
|
1536
1804
|
flex-direction: column;
|
|
1537
1805
|
width: 100%;
|
|
1538
1806
|
height: 100%;
|
|
1807
|
+
background-color: var(--color-neutral-900);
|
|
1539
1808
|
gap: 6px;
|
|
1540
1809
|
}.twick-editor-view-section {
|
|
1541
1810
|
display: flex;
|
|
@@ -1549,8 +1818,8 @@ video::-webkit-media-controls-panel {
|
|
|
1549
1818
|
flex-direction: column;
|
|
1550
1819
|
width: 100%;
|
|
1551
1820
|
height: 100%;
|
|
1552
|
-
background-color: #
|
|
1553
|
-
border-radius:
|
|
1821
|
+
background-color: #141419;
|
|
1822
|
+
border-radius: 0.75rem;
|
|
1554
1823
|
overflow-x: hidden;
|
|
1555
1824
|
}.twick-editor-container {
|
|
1556
1825
|
position: relative;
|
|
@@ -1592,6 +1861,38 @@ video::-webkit-media-controls-panel {
|
|
|
1592
1861
|
}@keyframes twick-editor-spin {
|
|
1593
1862
|
0% { transform: rotate(0deg); }
|
|
1594
1863
|
100% { transform: rotate(360deg); }
|
|
1864
|
+
}/* Canvas context menu (z-order: Bring to Front / Send to Back) */.twick-canvas-context-menu {
|
|
1865
|
+
position: fixed;
|
|
1866
|
+
z-index: 1000;
|
|
1867
|
+
min-width: 160px;
|
|
1868
|
+
padding: 4px 0;
|
|
1869
|
+
background: #2a2a2a;
|
|
1870
|
+
border: 1px solid #444;
|
|
1871
|
+
border-radius: 8px;
|
|
1872
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
1873
|
+
display: flex;
|
|
1874
|
+
flex-direction: column;
|
|
1875
|
+
}.twick-canvas-context-menu-item {
|
|
1876
|
+
display: block;
|
|
1877
|
+
width: 100%;
|
|
1878
|
+
padding: 8px 14px;
|
|
1879
|
+
border: none;
|
|
1880
|
+
background: transparent;
|
|
1881
|
+
color: #e5e5e5;
|
|
1882
|
+
font-size: 13px;
|
|
1883
|
+
text-align: left;
|
|
1884
|
+
cursor: pointer;
|
|
1885
|
+
font-family: inherit;
|
|
1886
|
+
}.twick-canvas-context-menu-item:hover {
|
|
1887
|
+
background: #3a3a3a;
|
|
1888
|
+
}.twick-canvas-context-menu-separator {
|
|
1889
|
+
height: 1px;
|
|
1890
|
+
margin: 4px 8px;
|
|
1891
|
+
background: #444;
|
|
1892
|
+
}.twick-canvas-context-menu-item-danger:hover {
|
|
1893
|
+
background: #7f1d1d;
|
|
1894
|
+
}.twick-canvas-context-menu-item.twick-canvas-context-menu-item-danger {
|
|
1895
|
+
color: #fca5a5;
|
|
1595
1896
|
}.twick-timeline-scroll-container {
|
|
1596
1897
|
display: flex;
|
|
1597
1898
|
flex-direction: column;
|
|
@@ -1637,9 +1938,9 @@ video::-webkit-media-controls-panel {
|
|
|
1637
1938
|
}.twick-seek-track {
|
|
1638
1939
|
position: relative;
|
|
1639
1940
|
width: 100%;
|
|
1640
|
-
border-top: 1px solid
|
|
1641
|
-
border-bottom: 1px solid
|
|
1642
|
-
background-color: #
|
|
1941
|
+
border-top: 1px solid rgba(255, 255, 255, 0.06);
|
|
1942
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
|
|
1943
|
+
background-color: #0f0f14;
|
|
1643
1944
|
}.twick-seek-track-canvas {
|
|
1644
1945
|
min-width: 100%;
|
|
1645
1946
|
height: 2rem;
|
|
@@ -1654,8 +1955,9 @@ video::-webkit-media-controls-panel {
|
|
|
1654
1955
|
top: 0;
|
|
1655
1956
|
left: 0;
|
|
1656
1957
|
z-index: 30;
|
|
1657
|
-
width:
|
|
1658
|
-
background-color:
|
|
1958
|
+
width: 2px;
|
|
1959
|
+
background-color: var(--color-purple-400);
|
|
1960
|
+
box-shadow: 0 0 8px rgba(139, 92, 246, 0.8);
|
|
1659
1961
|
}.twick-seek-track-handle {
|
|
1660
1962
|
position: absolute;
|
|
1661
1963
|
top: 0;
|
|
@@ -1665,6 +1967,7 @@ video::-webkit-media-controls-panel {
|
|
|
1665
1967
|
transform: translate(-50%, -50%);
|
|
1666
1968
|
background-color: #FFFFFF;
|
|
1667
1969
|
border-radius: 25%;
|
|
1970
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
|
|
1668
1971
|
}.twick-track-element {
|
|
1669
1972
|
position: absolute;
|
|
1670
1973
|
height: 100%;
|
|
@@ -1765,6 +2068,14 @@ video::-webkit-media-controls-panel {
|
|
|
1765
2068
|
height: 2.5rem;
|
|
1766
2069
|
margin-top: 2px;
|
|
1767
2070
|
background-color: #474747;
|
|
2071
|
+
}/* Drop preview - ghost placeholder when dragging files over timeline */.twick-drop-preview {
|
|
2072
|
+
position: absolute;
|
|
2073
|
+
z-index: 20;
|
|
2074
|
+
pointer-events: none;
|
|
2075
|
+
background: rgba(96, 165, 250, 0.35);
|
|
2076
|
+
border: 2px dashed rgba(96, 165, 250, 0.8);
|
|
2077
|
+
border-radius: 6px;
|
|
2078
|
+
transition: left 0.05s ease-out, top 0.05s ease-out;
|
|
1768
2079
|
}:root {
|
|
1769
2080
|
/* Colors */
|
|
1770
2081
|
--color-purple-100: #f3e8ff;
|
|
@@ -1815,6 +2126,34 @@ video::-webkit-media-controls-panel {
|
|
|
1815
2126
|
|
|
1816
2127
|
/* Transitions */
|
|
1817
2128
|
--transition-all: all 0.2s ease;
|
|
2129
|
+
|
|
2130
|
+
/* Elevation system */
|
|
2131
|
+
--elevation-panel: 0 0 0 1px rgba(255,255,255,0.04), 0 8px 32px rgba(0,0,0,0.4);
|
|
2132
|
+
--elevation-canvas: 0 0 0 1px rgba(255,255,255,0.04), 0 8px 32px rgba(0,0,0,0.4);
|
|
2133
|
+
--elevation-scrubber: 0 0 8px rgba(139,92,246,0.8);
|
|
2134
|
+
|
|
2135
|
+
/* Motion */
|
|
2136
|
+
--duration-fast: 120ms;
|
|
2137
|
+
--duration-normal: 150ms;
|
|
2138
|
+
--duration-medium: 180ms;
|
|
2139
|
+
--ease-default: cubic-bezier(0.4, 0, 0.2, 1);
|
|
2140
|
+
|
|
2141
|
+
/* Muted purple for hover (reduce primary purple overuse) */
|
|
2142
|
+
--color-purple-muted: rgba(139, 92, 246, 0.15);
|
|
2143
|
+
|
|
2144
|
+
/* Typography – Level 1 Section Headers */
|
|
2145
|
+
--typography-h1: 16px;
|
|
2146
|
+
--typography-h1-weight: 600;
|
|
2147
|
+
--typography-h1-spacing: 0.3px;
|
|
2148
|
+
--typography-h1-margin: 8px 0 12px 0;
|
|
2149
|
+
|
|
2150
|
+
/* Typography – Level 2 Sub Labels */
|
|
2151
|
+
--typography-label: 13px;
|
|
2152
|
+
--typography-label-opacity: 0.8;
|
|
2153
|
+
|
|
2154
|
+
/* Typography – Level 3 Values */
|
|
2155
|
+
--typography-value: 13px;
|
|
2156
|
+
--typography-value-weight: 500;
|
|
1818
2157
|
}/* ========================================
|
|
1819
2158
|
LAYOUT UTILITIES
|
|
1820
2159
|
======================================== *//* Flexbox utilities */.flex {
|
|
@@ -1942,7 +2281,11 @@ video::-webkit-media-controls-panel {
|
|
|
1942
2281
|
cursor: pointer;
|
|
1943
2282
|
position: relative;
|
|
1944
2283
|
overflow: hidden;
|
|
1945
|
-
transition:
|
|
2284
|
+
transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
2285
|
+
box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
2286
|
+
background-color 150ms ease,
|
|
2287
|
+
color 150ms ease,
|
|
2288
|
+
border-color 150ms ease;
|
|
1946
2289
|
text-transform: uppercase;
|
|
1947
2290
|
letter-spacing: 0.025em;
|
|
1948
2291
|
box-shadow: 0 4px 14px 0 rgba(0, 0, 0, 0.15);
|
|
@@ -1960,7 +2303,7 @@ video::-webkit-media-controls-panel {
|
|
|
1960
2303
|
outline: none;
|
|
1961
2304
|
box-shadow: 0 0 0 3px rgba(147, 51, 234, 0.3), 0 4px 14px 0 rgba(0, 0, 0, 0.15);
|
|
1962
2305
|
}.btn:active {
|
|
1963
|
-
transform:
|
|
2306
|
+
transform: scale(0.98);
|
|
1964
2307
|
box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);
|
|
1965
2308
|
}.btn:disabled {
|
|
1966
2309
|
opacity: 0.6;
|
|
@@ -1980,7 +2323,9 @@ video::-webkit-media-controls-panel {
|
|
|
1980
2323
|
cursor: pointer;
|
|
1981
2324
|
position: relative;
|
|
1982
2325
|
overflow: hidden;
|
|
1983
|
-
transition:
|
|
2326
|
+
transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
2327
|
+
box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
2328
|
+
background 150ms ease;
|
|
1984
2329
|
background: linear-gradient(135deg, var(--color-purple-600), var(--color-purple-700), var(--color-purple-800));
|
|
1985
2330
|
color: white;
|
|
1986
2331
|
border: 1px solid var(--color-purple-500);
|
|
@@ -1988,10 +2333,11 @@ video::-webkit-media-controls-panel {
|
|
|
1988
2333
|
}.btn-primary:hover {
|
|
1989
2334
|
background: linear-gradient(135deg, var(--color-purple-500), var(--color-purple-600), var(--color-purple-700));
|
|
1990
2335
|
box-shadow: 0 12px 35px rgba(147, 51, 234, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.15);
|
|
1991
|
-
transform: translateY(-
|
|
2336
|
+
transform: translateY(-1px);
|
|
1992
2337
|
}.btn-primary:active {
|
|
1993
2338
|
background: linear-gradient(135deg, var(--color-purple-700), var(--color-purple-800), var(--color-purple-900));
|
|
1994
2339
|
box-shadow: 0 6px 20px rgba(147, 51, 234, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
|
2340
|
+
transform: scale(0.98);
|
|
1995
2341
|
}.btn-primary:disabled {
|
|
1996
2342
|
opacity: 0.6;
|
|
1997
2343
|
cursor: not-allowed;
|
|
@@ -2037,7 +2383,11 @@ video::-webkit-media-controls-panel {
|
|
|
2037
2383
|
cursor: pointer;
|
|
2038
2384
|
position: relative;
|
|
2039
2385
|
overflow: hidden;
|
|
2040
|
-
transition:
|
|
2386
|
+
transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
2387
|
+
box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
2388
|
+
background 150ms ease,
|
|
2389
|
+
color 150ms ease,
|
|
2390
|
+
border-color 150ms ease;
|
|
2041
2391
|
background: rgba(64, 64, 64, 0.3);
|
|
2042
2392
|
color: var(--color-neutral-300);
|
|
2043
2393
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
@@ -2048,7 +2398,9 @@ video::-webkit-media-controls-panel {
|
|
|
2048
2398
|
color: white;
|
|
2049
2399
|
border-color: rgba(255, 255, 255, 0.2);
|
|
2050
2400
|
box-shadow: 0 12px 35px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
|
2051
|
-
transform: translateY(-
|
|
2401
|
+
transform: translateY(-1px);
|
|
2402
|
+
}.btn-ghost:active {
|
|
2403
|
+
transform: scale(0.98);
|
|
2052
2404
|
}.btn-ghost:disabled {
|
|
2053
2405
|
opacity: 0.6;
|
|
2054
2406
|
cursor: not-allowed;
|
|
@@ -2141,8 +2493,8 @@ video::-webkit-media-controls-panel {
|
|
|
2141
2493
|
color: var(--color-neutral-400);
|
|
2142
2494
|
}.input:focus {
|
|
2143
2495
|
outline: none;
|
|
2144
|
-
border-color:
|
|
2145
|
-
box-shadow: 0 0 0
|
|
2496
|
+
border-color: rgba(255, 255, 255, 0.3);
|
|
2497
|
+
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
2146
2498
|
}.input-dark {
|
|
2147
2499
|
width: 100%;
|
|
2148
2500
|
padding: 0.75rem;
|
|
@@ -2154,8 +2506,8 @@ video::-webkit-media-controls-panel {
|
|
|
2154
2506
|
transition: var(--transition-all);
|
|
2155
2507
|
}.input-dark:focus {
|
|
2156
2508
|
outline: none;
|
|
2157
|
-
border-color:
|
|
2158
|
-
box-shadow: 0 0 0
|
|
2509
|
+
border-color: rgba(255, 255, 255, 0.3);
|
|
2510
|
+
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
2159
2511
|
}/* ========================================
|
|
2160
2512
|
CARD UTILITIES
|
|
2161
2513
|
======================================== */.card {
|
|
@@ -2166,8 +2518,8 @@ video::-webkit-media-controls-panel {
|
|
|
2166
2518
|
box-shadow: var(--shadow-md);
|
|
2167
2519
|
}/* Player Controls */.player-controls {
|
|
2168
2520
|
height: 3rem;
|
|
2169
|
-
background-color:
|
|
2170
|
-
border-top: 1px solid
|
|
2521
|
+
background-color: #141419;
|
|
2522
|
+
border-top: 1px solid rgba(255, 255, 255, 0.06);
|
|
2171
2523
|
padding: 0 0.5rem;
|
|
2172
2524
|
display: flex;
|
|
2173
2525
|
align-items: center;
|
|
@@ -2189,13 +2541,16 @@ video::-webkit-media-controls-panel {
|
|
|
2189
2541
|
background: transparent;
|
|
2190
2542
|
border: none;
|
|
2191
2543
|
color: var(--color-neutral-400);
|
|
2192
|
-
transition:
|
|
2544
|
+
transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
2545
|
+
color 150ms ease,
|
|
2546
|
+
background-color 150ms ease;
|
|
2193
2547
|
cursor: pointer;
|
|
2194
2548
|
}.control-btn:hover {
|
|
2195
2549
|
color: var(--color-neutral-100);
|
|
2196
2550
|
background-color: var(--color-neutral-700);
|
|
2551
|
+
transform: translateY(-1px);
|
|
2197
2552
|
}.control-btn:active {
|
|
2198
|
-
transform: scale(0.
|
|
2553
|
+
transform: scale(0.98);
|
|
2199
2554
|
background-color: var(--color-neutral-600);
|
|
2200
2555
|
}.control-btn.btn-disabled {
|
|
2201
2556
|
opacity: 0.5;
|
|
@@ -2210,6 +2565,10 @@ video::-webkit-media-controls-panel {
|
|
|
2210
2565
|
color: var(--color-purple-400);
|
|
2211
2566
|
}.split-btn:hover {
|
|
2212
2567
|
color: var(--color-purple-300);
|
|
2568
|
+
}.follow-btn-active {
|
|
2569
|
+
color: var(--color-purple-400);
|
|
2570
|
+
}.follow-btn-active:hover {
|
|
2571
|
+
color: var(--color-purple-300);
|
|
2213
2572
|
}.play-pause-btn {
|
|
2214
2573
|
padding: 0.75rem;
|
|
2215
2574
|
color: white;
|