kanbanqube 1.0.1

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.
@@ -0,0 +1,1554 @@
1
+ :root {
2
+ color-scheme: dark;
3
+ --ui-scale: 0.75;
4
+ --bg-top: rgba(24, 27, 31, 0.96);
5
+ --bg-board:
6
+ radial-gradient(circle at 70% 18%, rgba(78, 75, 116, 0.34) 0%, rgba(78, 75, 116, 0) 30%),
7
+ radial-gradient(circle at 12% 8%, rgba(205, 211, 218, 0.2) 0%, rgba(205, 211, 218, 0) 28%),
8
+ linear-gradient(145deg, #2d333b 0%, #20242b 42%, #15181e 100%);
9
+ --panel: rgba(30, 33, 38, 0.93);
10
+ --panel-2: rgba(45, 49, 56, 0.96);
11
+ --panel-3: rgba(55, 59, 66, 0.96);
12
+ --border: rgba(236, 240, 247, 0.1);
13
+ --text: #f1f3f6;
14
+ --muted: #bbc0ca;
15
+ --accent: #a9b4d8;
16
+ --accent-2: #747fae;
17
+ --accent-solid: #8f9ac3;
18
+ --accent-solid-hover: #9ca6cc;
19
+ --success: #22c55e;
20
+ --warning: #f4b400;
21
+ --danger: #ff6b6b;
22
+ --shadow: 0 calc(14px * var(--ui-scale)) calc(34px * var(--ui-scale)) rgba(0, 0, 0, 0.28);
23
+ --radius: calc(18px * var(--ui-scale));
24
+ font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
25
+ }
26
+
27
+ * {
28
+ box-sizing: border-box;
29
+ }
30
+
31
+ html,
32
+ body {
33
+ margin: 0;
34
+ min-height: 100%;
35
+ background: #15181e;
36
+ color: var(--text);
37
+ }
38
+
39
+ html {
40
+ font-size: 75%;
41
+ }
42
+
43
+ body {
44
+ min-height: 100vh;
45
+ }
46
+
47
+ button,
48
+ input,
49
+ textarea,
50
+ select {
51
+ font: inherit;
52
+ }
53
+
54
+ button {
55
+ cursor: pointer;
56
+ }
57
+
58
+ .app-shell {
59
+ min-height: 100vh;
60
+ display: grid;
61
+ grid-template-rows: auto auto 1fr;
62
+ background: var(--bg-board);
63
+ }
64
+
65
+ .topbar {
66
+ display: grid;
67
+ grid-template-columns: auto minmax(calc(260px * var(--ui-scale)), 1fr) auto;
68
+ gap: 1rem;
69
+ align-items: center;
70
+ padding: 0.75rem 1rem;
71
+ background: var(--bg-top);
72
+ border-bottom: 1px solid var(--border);
73
+ }
74
+
75
+ .brand {
76
+ display: flex;
77
+ gap: 0.75rem;
78
+ align-items: center;
79
+ }
80
+
81
+ .brand-mark {
82
+ width: calc(40px * var(--ui-scale));
83
+ height: calc(40px * var(--ui-scale));
84
+ padding: 0;
85
+ border-radius: calc(10px * var(--ui-scale));
86
+ background: transparent;
87
+ display: grid;
88
+ place-items: center;
89
+ border: 0;
90
+ cursor: pointer;
91
+ transition: transform 140ms ease, filter 140ms ease;
92
+ }
93
+
94
+ .brand-mark:hover {
95
+ transform: translateY(-1px);
96
+ filter: brightness(1.08);
97
+ }
98
+
99
+ .brand-mark img {
100
+ display: block;
101
+ width: 100%;
102
+ height: 100%;
103
+ object-fit: contain;
104
+ }
105
+
106
+ .brand-copy {
107
+ display: flex;
108
+ flex-direction: column;
109
+ gap: 0.15rem;
110
+ }
111
+
112
+ .about-dialog {
113
+ width: auto;
114
+ max-width: 92vw;
115
+ max-height: 92vh;
116
+ padding: 0;
117
+ border: 0;
118
+ background: transparent;
119
+ color: #fff;
120
+ }
121
+
122
+ .about-dialog::backdrop {
123
+ background: rgba(0, 0, 0, 0.74);
124
+ backdrop-filter: blur(10px);
125
+ }
126
+
127
+ .about-figure {
128
+ position: relative;
129
+ margin: 0;
130
+ overflow: hidden;
131
+ border-radius: 0;
132
+ line-height: 0;
133
+ display: grid;
134
+ place-items: center;
135
+ }
136
+
137
+ .about-figure img {
138
+ display: block;
139
+ width: auto;
140
+ height: auto;
141
+ max-width: 92vw;
142
+ max-height: 92vh;
143
+ object-fit: contain;
144
+ }
145
+
146
+ .about-figure figcaption {
147
+ position: absolute;
148
+ left: 0;
149
+ right: 0;
150
+ bottom: 8%;
151
+ padding: 0 2rem;
152
+ color: #fff;
153
+ font-size: clamp(0.78rem, 0.9vw, 1rem);
154
+ font-weight: 400;
155
+ line-height: 1.4;
156
+ text-align: center;
157
+ text-shadow: 0 2px 12px rgba(0, 0, 0, 0.8);
158
+ display: grid;
159
+ gap: 0.35rem;
160
+ justify-items: center;
161
+ }
162
+
163
+ .about-figure figcaption a {
164
+ color: #fff;
165
+ text-decoration: underline;
166
+ text-underline-offset: 3px;
167
+ font-weight: 400;
168
+ }
169
+
170
+ .save-status-button {
171
+ appearance: none;
172
+ border: 0;
173
+ background: transparent;
174
+ padding: 0;
175
+ margin: 0;
176
+ text-align: left;
177
+ color: var(--muted);
178
+ font-size: 0.84rem;
179
+ }
180
+
181
+ .save-status-button:disabled {
182
+ cursor: default;
183
+ }
184
+
185
+ .save-status-button.is-clickable {
186
+ color: var(--muted);
187
+ }
188
+
189
+ .search-shell {
190
+ display: flex;
191
+ align-items: center;
192
+ gap: 0.65rem;
193
+ height: calc(46px * var(--ui-scale));
194
+ padding: 0 0.9rem;
195
+ border-radius: calc(12px * var(--ui-scale));
196
+ border: 1px solid var(--border);
197
+ background: rgba(16, 19, 25, 0.9);
198
+ }
199
+
200
+ .search-shell svg {
201
+ width: calc(18px * var(--ui-scale));
202
+ height: calc(18px * var(--ui-scale));
203
+ fill: var(--muted);
204
+ }
205
+
206
+ .search-shell input {
207
+ width: 100%;
208
+ border: 0;
209
+ outline: 0;
210
+ background: transparent;
211
+ color: var(--text);
212
+ }
213
+
214
+ .topbar-actions,
215
+ .board-meta,
216
+ .lane-actions,
217
+ .modal-footer,
218
+ .panel-header,
219
+ .settings-meta {
220
+ display: flex;
221
+ gap: 0.65rem;
222
+ align-items: center;
223
+ }
224
+
225
+ .primary-button,
226
+ .ghost-button,
227
+ .danger-button,
228
+ .add-card-button,
229
+ .icon-button {
230
+ border: 1px solid var(--border);
231
+ border-radius: 12px;
232
+ background: rgba(255, 255, 255, 0.06);
233
+ color: var(--text);
234
+ transition: background 140ms ease, transform 140ms ease, border-color 140ms ease;
235
+ }
236
+
237
+ .primary-button,
238
+ .ghost-button,
239
+ .danger-button {
240
+ padding: 0.7rem 1rem;
241
+ font-weight: 600;
242
+ }
243
+
244
+ .primary-button {
245
+ background: var(--accent-solid);
246
+ border-color: rgba(188, 197, 230, 0.5);
247
+ color: #111827;
248
+ }
249
+
250
+ .danger-button {
251
+ background: rgba(255, 107, 107, 0.12);
252
+ border-color: rgba(255, 107, 107, 0.45);
253
+ }
254
+
255
+ .icon-button {
256
+ width: calc(36px * var(--ui-scale));
257
+ height: calc(36px * var(--ui-scale));
258
+ display: inline-flex;
259
+ align-items: center;
260
+ justify-content: center;
261
+ padding: 0;
262
+ }
263
+
264
+ .icon-button svg,
265
+ .badge svg,
266
+ .attachment-icon svg {
267
+ width: calc(17px * var(--ui-scale));
268
+ height: calc(17px * var(--ui-scale));
269
+ stroke: currentColor;
270
+ fill: none;
271
+ stroke-width: 1.8;
272
+ stroke-linecap: round;
273
+ stroke-linejoin: round;
274
+ }
275
+
276
+ .icon-button svg {
277
+ width: calc(20px * var(--ui-scale));
278
+ height: calc(20px * var(--ui-scale));
279
+ }
280
+
281
+ .primary-button:hover,
282
+ .ghost-button:hover,
283
+ .danger-button:hover,
284
+ .add-card-button:hover,
285
+ .icon-button:hover {
286
+ background-color: rgba(255, 255, 255, 0.14);
287
+ transform: translateY(-1px);
288
+ }
289
+
290
+ .primary-button:hover {
291
+ background: var(--accent-solid-hover);
292
+ }
293
+
294
+ .primary-button:disabled,
295
+ .ghost-button:disabled,
296
+ .danger-button:disabled,
297
+ .add-card-button:disabled,
298
+ .icon-button:disabled {
299
+ cursor: not-allowed;
300
+ opacity: 0.45;
301
+ transform: none;
302
+ box-shadow: none;
303
+ }
304
+
305
+ .primary-button:disabled {
306
+ background: rgba(110, 131, 167, 0.3);
307
+ border-color: rgba(110, 131, 167, 0.28);
308
+ }
309
+
310
+ .board-header {
311
+ display: flex;
312
+ justify-content: space-between;
313
+ align-items: end;
314
+ gap: 1rem;
315
+ padding: 1.1rem 1.5rem 0;
316
+ }
317
+
318
+ .board-header > div:first-child {
319
+ min-width: 0;
320
+ flex: 1 1 auto;
321
+ }
322
+
323
+ .eyebrow,
324
+ .modal-label {
325
+ margin: 0 0 0.35rem;
326
+ color: var(--muted);
327
+ text-transform: uppercase;
328
+ letter-spacing: 0.1em;
329
+ font-size: 0.75rem;
330
+ }
331
+
332
+ #boardTitle {
333
+ margin: 0;
334
+ font-size: clamp(1.75rem, 3vw, 2.4rem);
335
+ }
336
+
337
+ .board-title-shell {
338
+ min-width: 0;
339
+ width: 100%;
340
+ }
341
+
342
+ .meta-badge {
343
+ padding: 0.45rem 0.75rem;
344
+ border-radius: 999px;
345
+ border: 1px solid var(--border);
346
+ background: rgba(15, 20, 29, 0.65);
347
+ color: var(--muted);
348
+ font-size: 0.9rem;
349
+ }
350
+
351
+ .board-scroller {
352
+ display: flex;
353
+ align-items: flex-start;
354
+ gap: 1rem;
355
+ overflow: auto;
356
+ padding: 1rem 1.5rem 1.5rem;
357
+ }
358
+
359
+ .lane {
360
+ width: 270px;
361
+ min-width: 270px;
362
+ max-height: calc(100vh - 135px);
363
+ display: grid;
364
+ grid-template-rows: auto 1fr auto;
365
+ gap: 0.85rem;
366
+ padding: 0.95rem;
367
+ border-radius: calc(20px * var(--ui-scale));
368
+ background: rgba(14, 17, 14, 0.9);
369
+ border: 1px solid rgba(255, 255, 255, 0.06);
370
+ box-shadow: var(--shadow);
371
+ }
372
+
373
+ .lane.dragging,
374
+ .card.dragging {
375
+ opacity: 0.4;
376
+ }
377
+
378
+ .lane-header {
379
+ display: flex;
380
+ justify-content: space-between;
381
+ align-items: start;
382
+ gap: 0.75rem;
383
+ }
384
+
385
+ .lane-title-row {
386
+ display: flex;
387
+ align-items: baseline;
388
+ gap: 0.55rem;
389
+ min-width: 0;
390
+ flex: 1 1 auto;
391
+ }
392
+
393
+ .lane-title {
394
+ margin: 0;
395
+ font-size: 1.25rem;
396
+ line-height: 1.3;
397
+ min-width: 0;
398
+ }
399
+
400
+ .lane-count {
401
+ color: var(--muted);
402
+ font-size: 0.95rem;
403
+ }
404
+
405
+ .card-list {
406
+ overflow: auto;
407
+ display: grid;
408
+ gap: 0.7rem;
409
+ padding-right: 0.15rem;
410
+ }
411
+
412
+ .card {
413
+ padding: 0.9rem;
414
+ border-radius: calc(16px * var(--ui-scale));
415
+ background: var(--panel-2);
416
+ border: 1px solid rgba(255, 255, 255, 0.05);
417
+ box-shadow: 0 calc(10px * var(--ui-scale)) calc(24px * var(--ui-scale)) rgba(0, 0, 0, 0.2);
418
+ cursor: pointer;
419
+ }
420
+
421
+ .card:hover {
422
+ background: var(--panel-3);
423
+ }
424
+
425
+ .card.is-keyboard-selected {
426
+ border-color: rgba(96, 165, 250, 0.98);
427
+ box-shadow:
428
+ 0 0 0 1px rgba(96, 165, 250, 0.92),
429
+ 0 calc(10px * var(--ui-scale)) calc(24px * var(--ui-scale)) rgba(0, 0, 0, 0.2);
430
+ }
431
+
432
+ .card.is-file-drop-target {
433
+ outline: 2px solid rgba(188, 197, 230, 0.86);
434
+ outline-offset: 3px;
435
+ }
436
+
437
+ .card-label-strip {
438
+ display: flex;
439
+ gap: 0.35rem;
440
+ min-height: 8px;
441
+ margin-bottom: 0.8rem;
442
+ }
443
+
444
+ .card-label {
445
+ width: calc(42px * var(--ui-scale));
446
+ height: calc(8px * var(--ui-scale));
447
+ border-radius: 999px;
448
+ }
449
+
450
+ .card-cover {
451
+ display: none;
452
+ margin: -0.9rem -0.9rem 0.85rem;
453
+ height: calc(126px * var(--ui-scale));
454
+ border-radius: calc(16px * var(--ui-scale)) calc(16px * var(--ui-scale)) 0 0;
455
+ background-position: center;
456
+ background-repeat: no-repeat;
457
+ background-size: cover;
458
+ }
459
+
460
+ .card-cover.has-cover {
461
+ display: block;
462
+ }
463
+
464
+ .card-title {
465
+ margin: 0 0 0.45rem;
466
+ font-size: 1.05rem;
467
+ line-height: 1.35;
468
+ }
469
+
470
+ .inline-title-input {
471
+ width: 100%;
472
+ margin: 0;
473
+ padding: 0;
474
+ border: 0;
475
+ outline: 0;
476
+ background: transparent;
477
+ color: inherit;
478
+ font: inherit;
479
+ line-height: inherit;
480
+ }
481
+
482
+ .inline-title-input[hidden] {
483
+ display: none !important;
484
+ }
485
+
486
+ .board-title-inline-input {
487
+ font-size: clamp(1.75rem, 3vw, 2.4rem);
488
+ font-weight: 700;
489
+ }
490
+
491
+ .lane-title-inline-input {
492
+ min-width: 0;
493
+ font-size: 1.25rem;
494
+ font-weight: 700;
495
+ }
496
+
497
+ .card-title-inline-input {
498
+ margin: 0 0 0.45rem;
499
+ font-size: 1.05rem;
500
+ font-weight: 600;
501
+ }
502
+
503
+ #boardTitle.is-inline-editable,
504
+ .lane-title.is-inline-editable,
505
+ .card-title.is-inline-editable {
506
+ cursor: text;
507
+ }
508
+
509
+ .card-title-row {
510
+ display: flex;
511
+ align-items: flex-start;
512
+ justify-content: space-between;
513
+ gap: 0.6rem;
514
+ }
515
+
516
+ .card-title-main {
517
+ min-width: 0;
518
+ display: flex;
519
+ align-items: flex-start;
520
+ flex: 1;
521
+ }
522
+
523
+ .card-done-toggle {
524
+ width: 0;
525
+ min-width: 0;
526
+ height: calc(22px * var(--ui-scale));
527
+ margin: 0;
528
+ margin-right: 0;
529
+ padding: 0;
530
+ overflow: hidden;
531
+ border-radius: 999px;
532
+ border: 2px solid rgba(255, 255, 255, 0.32);
533
+ background: transparent;
534
+ color: #fff;
535
+ font-size: 0.9rem;
536
+ font-weight: 800;
537
+ line-height: 1;
538
+ opacity: 0;
539
+ flex: 0 0 auto;
540
+ pointer-events: none;
541
+ transition: width 140ms ease, margin-right 140ms ease, opacity 140ms ease, background 140ms ease, border-color 140ms ease;
542
+ }
543
+
544
+ .card:hover .card-done-toggle,
545
+ .card.is-done .card-done-toggle {
546
+ width: calc(22px * var(--ui-scale));
547
+ min-width: calc(22px * var(--ui-scale));
548
+ margin-right: 0.5rem;
549
+ opacity: 1;
550
+ pointer-events: auto;
551
+ }
552
+
553
+ .card.is-done .card-done-toggle {
554
+ border-color: rgba(34, 197, 94, 0.92);
555
+ background: #22c55e;
556
+ }
557
+
558
+ .card-archive-button {
559
+ width: calc(30px * var(--ui-scale));
560
+ min-width: calc(30px * var(--ui-scale));
561
+ height: calc(30px * var(--ui-scale));
562
+ position: relative;
563
+ display: inline-flex;
564
+ align-items: center;
565
+ justify-content: center;
566
+ margin: 0;
567
+ padding: 0;
568
+ border: 0;
569
+ background: transparent;
570
+ color: var(--muted);
571
+ font-size: 1rem;
572
+ line-height: 1;
573
+ opacity: 0;
574
+ pointer-events: none;
575
+ transition: opacity 140ms ease, color 140ms ease, transform 140ms ease;
576
+ }
577
+
578
+ .card-archive-button::after {
579
+ content: attr(data-tooltip);
580
+ position: absolute;
581
+ right: calc(100% + 0.5rem);
582
+ top: 50%;
583
+ transform: translateY(-50%);
584
+ padding: 0.32rem 0.5rem;
585
+ border-radius: calc(10px * var(--ui-scale));
586
+ background: rgba(12, 15, 21, 0.96);
587
+ border: 1px solid rgba(255, 255, 255, 0.12);
588
+ color: var(--text);
589
+ font-size: 0.82rem;
590
+ font-weight: 600;
591
+ line-height: 1.2;
592
+ white-space: nowrap;
593
+ opacity: 0;
594
+ pointer-events: none;
595
+ box-shadow: 0 calc(10px * var(--ui-scale)) calc(24px * var(--ui-scale)) rgba(0, 0, 0, 0.32);
596
+ transition: opacity 90ms ease;
597
+ }
598
+
599
+ .card-archive-button svg {
600
+ width: calc(23px * var(--ui-scale));
601
+ height: calc(23px * var(--ui-scale));
602
+ stroke: currentColor;
603
+ fill: none;
604
+ stroke-width: 1.8;
605
+ stroke-linecap: round;
606
+ stroke-linejoin: round;
607
+ }
608
+
609
+ .card.is-done:hover .card-archive-button {
610
+ opacity: 1;
611
+ pointer-events: auto;
612
+ }
613
+
614
+ .card-archive-button:hover {
615
+ color: var(--text);
616
+ transform: translateY(-1px);
617
+ }
618
+
619
+ .card-archive-button:hover::after,
620
+ .card-archive-button:focus-visible::after {
621
+ opacity: 1;
622
+ }
623
+
624
+ .card:hover .card-done-toggle:not([aria-pressed="true"]) {
625
+ background: rgba(255, 255, 255, 0.08);
626
+ }
627
+
628
+ .card-title.is-done {
629
+ color: var(--muted);
630
+ text-decoration: line-through;
631
+ text-decoration-thickness: 1.5px;
632
+ }
633
+
634
+ .card-title.is-placeholder {
635
+ color: var(--muted);
636
+ font-style: italic;
637
+ }
638
+
639
+ .card-description {
640
+ margin: 0;
641
+ color: var(--muted);
642
+ display: -webkit-box;
643
+ -webkit-line-clamp: 3;
644
+ line-clamp: 3;
645
+ -webkit-box-orient: vertical;
646
+ overflow: hidden;
647
+ }
648
+
649
+ .card-description[hidden] {
650
+ display: none !important;
651
+ }
652
+
653
+ .card-footer {
654
+ display: flex;
655
+ flex-wrap: wrap;
656
+ gap: 0.55rem 0.7rem;
657
+ margin-top: 0.9rem;
658
+ color: var(--muted);
659
+ font-size: 0.9rem;
660
+ }
661
+
662
+ .badge {
663
+ display: inline-flex;
664
+ align-items: center;
665
+ gap: 0.28rem;
666
+ line-height: 1;
667
+ }
668
+
669
+ .badge-symbol {
670
+ font-size: 0.95rem;
671
+ line-height: 1;
672
+ }
673
+
674
+ .add-card-button {
675
+ width: 100%;
676
+ padding: 0.75rem 0.9rem;
677
+ text-align: left;
678
+ background: rgba(255, 255, 255, 0.03);
679
+ }
680
+
681
+ .add-lane-card {
682
+ width: 270px;
683
+ min-width: 270px;
684
+ padding: 1rem;
685
+ border-radius: calc(20px * var(--ui-scale));
686
+ border: 1px dashed rgba(255, 255, 255, 0.18);
687
+ background: rgba(8, 12, 22, 0.34);
688
+ }
689
+
690
+ .add-lane-card button {
691
+ width: 100%;
692
+ }
693
+
694
+ .modal {
695
+ border: 0;
696
+ padding: 0;
697
+ border-radius: calc(26px * var(--ui-scale));
698
+ background: transparent;
699
+ color: var(--text);
700
+ }
701
+
702
+ .modal::backdrop {
703
+ background: rgba(3, 8, 18, 0.72);
704
+ backdrop-filter: blur(8px);
705
+ }
706
+
707
+ .modal-card {
708
+ width: min(calc(1120px * var(--ui-scale)), calc(100vw - 2rem));
709
+ background: rgba(28, 31, 37, 0.98);
710
+ border: 1px solid var(--border);
711
+ border-radius: calc(26px * var(--ui-scale));
712
+ padding: 1.25rem;
713
+ box-shadow: 0 calc(30px * var(--ui-scale)) calc(70px * var(--ui-scale)) rgba(0, 0, 0, 0.42);
714
+ }
715
+
716
+ .modal-large .modal-card {
717
+ width: min(80vw, 1400px);
718
+ height: min(80vh, 900px);
719
+ display: grid;
720
+ grid-template-rows: auto auto auto minmax(0, 1fr);
721
+ overflow: hidden;
722
+ }
723
+
724
+ .modal-small {
725
+ width: min(calc(520px * var(--ui-scale)), calc(100vw - 2rem));
726
+ }
727
+
728
+ #settingsDialog .modal-small {
729
+ display: grid;
730
+ width: min(calc(580px * var(--ui-scale)), calc(100vw - 2rem));
731
+ gap: 1rem;
732
+ padding: 1.6rem;
733
+ }
734
+
735
+ #settingsDialog .modal-header {
736
+ margin-bottom: 0.25rem;
737
+ }
738
+
739
+ #settingsDialog .field {
740
+ gap: 0.55rem;
741
+ }
742
+
743
+ #settingsDialog .field input {
744
+ min-height: calc(46px * var(--ui-scale));
745
+ }
746
+
747
+ #settingsDialog .icon-choice-field {
748
+ display: grid;
749
+ grid-template-columns: repeat(2, minmax(0, 1fr));
750
+ column-gap: 0.75rem;
751
+ row-gap: 0.75rem;
752
+ padding: 0;
753
+ border: 0;
754
+ }
755
+
756
+ #settingsDialog .icon-choice-field legend {
757
+ grid-column: 1 / -1;
758
+ margin-bottom: 0.55rem;
759
+ color: var(--muted);
760
+ font-weight: 600;
761
+ }
762
+
763
+ #settingsDialog .icon-choice-field label {
764
+ display: grid;
765
+ grid-template-columns: auto calc(42px * var(--ui-scale)) minmax(0, 1fr);
766
+ align-items: center;
767
+ gap: 0.65rem;
768
+ min-width: 0;
769
+ padding: 0.75rem;
770
+ border: 1px solid rgba(255, 255, 255, 0.08);
771
+ border-radius: calc(14px * var(--ui-scale));
772
+ background: rgba(255, 255, 255, 0.035);
773
+ cursor: pointer;
774
+ }
775
+
776
+ #settingsDialog .icon-choice-field input[type="radio"] {
777
+ width: calc(18px * var(--ui-scale));
778
+ height: calc(18px * var(--ui-scale));
779
+ min-height: 0;
780
+ margin: 0;
781
+ padding: 0;
782
+ accent-color: #d8deef;
783
+ }
784
+
785
+ #settingsDialog .icon-choice-field img {
786
+ width: calc(42px * var(--ui-scale));
787
+ height: calc(42px * var(--ui-scale));
788
+ object-fit: contain;
789
+ }
790
+
791
+ #settingsDialog .icon-choice-field span {
792
+ color: var(--text);
793
+ font-weight: 600;
794
+ }
795
+
796
+ #settingsDialog .icon-choice-field label:has(input:checked) {
797
+ border-color: rgba(216, 222, 239, 0.34);
798
+ background: rgba(255, 255, 255, 0.075);
799
+ }
800
+
801
+ #settingsDialog .icon-choice-field label:has(input:checked) img {
802
+ filter: none;
803
+ }
804
+
805
+ #settingsDialog .checkbox-field {
806
+ align-items: flex-start;
807
+ padding: 0.75rem 0.85rem;
808
+ border: 1px solid rgba(255, 255, 255, 0.08);
809
+ border-radius: calc(14px * var(--ui-scale));
810
+ background: rgba(255, 255, 255, 0.035);
811
+ line-height: 1.35;
812
+ }
813
+
814
+ #settingsDialog .checkbox-field input[type="checkbox"] {
815
+ margin-top: 0.08rem;
816
+ flex: 0 0 auto;
817
+ }
818
+
819
+ #settingsDialog .modal-footer {
820
+ margin-top: 0.25rem;
821
+ }
822
+
823
+ .modal-sync-log {
824
+ width: min(calc(1040px * var(--ui-scale)), calc(100vw - 2rem));
825
+ }
826
+
827
+ .sync-log-footer {
828
+ justify-content: flex-end;
829
+ margin-top: 1rem;
830
+ }
831
+
832
+ .modal-archive {
833
+ width: min(720px, calc(100vw - 2rem));
834
+ }
835
+
836
+ .modal-app-dialog {
837
+ width: min(calc(460px * var(--ui-scale)), calc(100vw - 2rem));
838
+ display: grid;
839
+ gap: 1rem;
840
+ padding: 1.4rem;
841
+ }
842
+
843
+ .app-dialog-message {
844
+ margin: 0;
845
+ color: var(--muted);
846
+ line-height: 1.55;
847
+ white-space: pre-wrap;
848
+ }
849
+
850
+ .app-dialog-footer {
851
+ justify-content: end;
852
+ }
853
+
854
+ .modal-header {
855
+ display: flex;
856
+ justify-content: space-between;
857
+ gap: 1rem;
858
+ align-items: start;
859
+ margin-bottom: 1rem;
860
+ }
861
+
862
+ .modal-header h2 {
863
+ margin: 0;
864
+ }
865
+
866
+ .modal-subtitle {
867
+ margin: 0.35rem 0 0;
868
+ color: var(--muted);
869
+ font-size: 0.92rem;
870
+ }
871
+
872
+ .title-input {
873
+ width: min(calc(620px * var(--ui-scale)), 100%);
874
+ font-size: clamp(1.5rem, 3vw, 2.2rem);
875
+ font-weight: 800;
876
+ color: var(--text);
877
+ background: transparent;
878
+ border: 0;
879
+ outline: 0;
880
+ padding: 0;
881
+ }
882
+
883
+ .modal-large .modal-header > div {
884
+ flex: 1;
885
+ min-width: 0;
886
+ }
887
+
888
+ .modal-large .title-input {
889
+ width: 100%;
890
+ }
891
+
892
+ .archived-card-banner {
893
+ margin-bottom: 1rem;
894
+ padding: 0.85rem 1rem;
895
+ border-radius: calc(14px * var(--ui-scale));
896
+ border: 1px solid rgba(255, 226, 128, 0.5);
897
+ background: #f8d778;
898
+ color: #2f2400;
899
+ font-weight: 600;
900
+ }
901
+
902
+ .card-details-cover {
903
+ position: relative;
904
+ height: clamp(140px, 22vh, 260px);
905
+ margin-bottom: 1rem;
906
+ border-radius: calc(18px * var(--ui-scale));
907
+ border: 1px solid rgba(255, 255, 255, 0.08);
908
+ background-position: center;
909
+ background-repeat: no-repeat;
910
+ background-size: cover;
911
+ box-shadow: inset 0 -48px 80px rgba(0, 0, 0, 0.2);
912
+ }
913
+
914
+ .card-details-cover[hidden] {
915
+ display: none !important;
916
+ }
917
+
918
+ .cover-remove-button {
919
+ position: absolute;
920
+ top: 0.65rem;
921
+ right: 0.65rem;
922
+ width: calc(30px * var(--ui-scale));
923
+ height: calc(30px * var(--ui-scale));
924
+ display: inline-grid;
925
+ place-items: center;
926
+ border: 1px solid rgba(255, 255, 255, 0.16);
927
+ border-radius: 999px;
928
+ background: rgba(12, 15, 21, 0.72);
929
+ color: #fff;
930
+ font-size: 1.1rem;
931
+ line-height: 1;
932
+ cursor: pointer;
933
+ backdrop-filter: blur(6px);
934
+ }
935
+
936
+ .cover-remove-button:hover {
937
+ background: rgba(12, 15, 21, 0.9);
938
+ }
939
+
940
+ .modal-grid {
941
+ display: grid;
942
+ grid-template-columns: minmax(0, 1fr) calc(320px * var(--ui-scale));
943
+ gap: 1rem;
944
+ }
945
+
946
+ .modal-large .modal-grid {
947
+ grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
948
+ min-height: 0;
949
+ overflow: hidden;
950
+ }
951
+
952
+ .modal-main,
953
+ .modal-sidebar {
954
+ display: grid;
955
+ gap: 1rem;
956
+ }
957
+
958
+ .modal-large .modal-main,
959
+ .modal-large .modal-sidebar {
960
+ min-height: 0;
961
+ overflow: hidden;
962
+ align-content: stretch;
963
+ }
964
+
965
+ .modal-large .modal-main {
966
+ grid-auto-rows: max-content;
967
+ align-content: start;
968
+ overflow: auto;
969
+ padding-right: 0.2rem;
970
+ }
971
+
972
+ .modal-large .modal-sidebar {
973
+ grid-template-rows: auto minmax(0, 1fr) auto;
974
+ }
975
+
976
+ .sidebar-panel,
977
+ .attachments-panel,
978
+ .checklists-panel {
979
+ padding: 1rem;
980
+ border-radius: calc(18px * var(--ui-scale));
981
+ background: rgba(255, 255, 255, 0.04);
982
+ border: 1px solid rgba(255, 255, 255, 0.06);
983
+ }
984
+
985
+ .modal-large .sidebar-panel,
986
+ .modal-large .attachments-panel,
987
+ .modal-large .checklists-panel {
988
+ min-height: 0;
989
+ }
990
+
991
+ .modal-large .modal-sidebar .sidebar-panel:nth-of-type(2) {
992
+ display: grid;
993
+ overflow: hidden;
994
+ grid-template-rows: auto auto minmax(0, 1fr);
995
+ }
996
+
997
+ .modal-large .attachments-panel,
998
+ .modal-large .checklists-panel {
999
+ display: grid;
1000
+ }
1001
+
1002
+ .field {
1003
+ display: grid;
1004
+ gap: 0.5rem;
1005
+ }
1006
+
1007
+ .checkbox-field {
1008
+ display: flex;
1009
+ align-items: center;
1010
+ gap: 0.75rem;
1011
+ color: var(--text);
1012
+ }
1013
+
1014
+ .checkbox-field input[type="checkbox"] {
1015
+ width: calc(18px * var(--ui-scale));
1016
+ height: calc(18px * var(--ui-scale));
1017
+ margin: 0;
1018
+ }
1019
+
1020
+ .field span {
1021
+ color: var(--muted);
1022
+ font-weight: 600;
1023
+ }
1024
+
1025
+ .settings-import-panel {
1026
+ display: flex;
1027
+ align-items: center;
1028
+ justify-content: space-between;
1029
+ gap: 1rem;
1030
+ padding: 1rem;
1031
+ border: 1px solid var(--border);
1032
+ border-radius: calc(14px * var(--ui-scale));
1033
+ background: rgba(12, 15, 21, 0.42);
1034
+ }
1035
+
1036
+ .settings-import-panel h3 {
1037
+ margin: 0 0 0.25rem;
1038
+ font-size: 1rem;
1039
+ }
1040
+
1041
+ .settings-import-panel p {
1042
+ margin: 0;
1043
+ color: var(--muted);
1044
+ line-height: 1.4;
1045
+ }
1046
+
1047
+ .settings-import-panel button {
1048
+ flex: 0 0 auto;
1049
+ }
1050
+
1051
+ .field input,
1052
+ .field textarea,
1053
+ .field select {
1054
+ width: 100%;
1055
+ border-radius: calc(14px * var(--ui-scale));
1056
+ border: 1px solid var(--border);
1057
+ background: rgba(12, 15, 21, 0.92);
1058
+ color: var(--text);
1059
+ padding: 0.9rem 1rem;
1060
+ outline: 0;
1061
+ }
1062
+
1063
+ .field textarea {
1064
+ resize: vertical;
1065
+ }
1066
+
1067
+ .description-display {
1068
+ min-height: calc(160px * var(--ui-scale));
1069
+ max-height: min(30vh, 320px);
1070
+ overflow: auto;
1071
+ border-radius: calc(14px * var(--ui-scale));
1072
+ border: 1px solid var(--border);
1073
+ background: transparent;
1074
+ color: var(--text);
1075
+ padding: 0.9rem 1rem;
1076
+ white-space: pre-wrap;
1077
+ overflow-wrap: anywhere;
1078
+ line-height: 1.5;
1079
+ }
1080
+
1081
+ .description-editor {
1082
+ display: block;
1083
+ width: 100%;
1084
+ min-height: calc(160px * var(--ui-scale));
1085
+ max-height: min(30vh, 320px);
1086
+ border-radius: calc(14px * var(--ui-scale));
1087
+ border: 1px solid var(--border);
1088
+ background: rgba(12, 15, 21, 0.92);
1089
+ color: var(--text);
1090
+ padding: 0.9rem 1rem;
1091
+ outline: 0;
1092
+ line-height: 1.5;
1093
+ resize: vertical;
1094
+ }
1095
+
1096
+ .description-editor[hidden] {
1097
+ display: none !important;
1098
+ }
1099
+
1100
+ .description-display.is-empty {
1101
+ color: var(--muted);
1102
+ }
1103
+
1104
+ .description-display p {
1105
+ margin: 0 0 0.9rem;
1106
+ }
1107
+
1108
+ .description-display p:last-child {
1109
+ margin-bottom: 0;
1110
+ }
1111
+
1112
+ .description-display h1,
1113
+ .description-display h2,
1114
+ .description-display h3,
1115
+ .description-display h4,
1116
+ .description-display h5,
1117
+ .description-display h6 {
1118
+ margin: 0 0 0.75rem;
1119
+ line-height: 1.3;
1120
+ font-weight: 800;
1121
+ }
1122
+
1123
+ .description-display h1 { font-size: 1.7rem; }
1124
+ .description-display h2 { font-size: 1.45rem; }
1125
+ .description-display h3 { font-size: 1.25rem; }
1126
+ .description-display h4 { font-size: 1.1rem; }
1127
+ .description-display h5 { font-size: 1rem; }
1128
+ .description-display h6 { font-size: 0.92rem; color: var(--muted); }
1129
+
1130
+ .description-display h1:last-child,
1131
+ .description-display h2:last-child,
1132
+ .description-display h3:last-child,
1133
+ .description-display h4:last-child,
1134
+ .description-display h5:last-child,
1135
+ .description-display h6:last-child {
1136
+ margin-bottom: 0;
1137
+ }
1138
+
1139
+ .description-display a {
1140
+ color: #8ab4ff;
1141
+ text-decoration: underline;
1142
+ text-underline-offset: 2px;
1143
+ }
1144
+
1145
+ .description-display a:hover {
1146
+ color: #b1ccff;
1147
+ }
1148
+
1149
+ .description-image-link {
1150
+ display: block;
1151
+ margin: 0.35rem 0;
1152
+ border-radius: calc(14px * var(--ui-scale));
1153
+ overflow: hidden;
1154
+ border: 1px solid rgba(255, 255, 255, 0.08);
1155
+ background: rgba(12, 15, 21, 0.45);
1156
+ }
1157
+
1158
+ .description-image {
1159
+ display: block;
1160
+ width: 100%;
1161
+ max-height: min(46vh, 520px);
1162
+ object-fit: contain;
1163
+ }
1164
+
1165
+ .attachment-drop-zone {
1166
+ padding: 0.8rem 0.95rem;
1167
+ border: 1px dashed rgba(255, 255, 255, 0.18);
1168
+ border-radius: calc(14px * var(--ui-scale));
1169
+ color: var(--muted);
1170
+ background: rgba(12, 15, 21, 0.35);
1171
+ }
1172
+
1173
+ .attachment-drop-zone.is-dragging {
1174
+ border-color: rgba(188, 197, 230, 0.76);
1175
+ color: var(--text);
1176
+ background: rgba(116, 127, 174, 0.18);
1177
+ }
1178
+
1179
+ .attachments-list {
1180
+ display: grid;
1181
+ gap: 0.7rem;
1182
+ }
1183
+
1184
+ .attachment-row {
1185
+ display: grid;
1186
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
1187
+ align-items: center;
1188
+ gap: 0.75rem;
1189
+ padding: 0.75rem;
1190
+ border-radius: calc(14px * var(--ui-scale));
1191
+ border: 1px solid rgba(255, 255, 255, 0.06);
1192
+ background: rgba(255, 255, 255, 0.035);
1193
+ color: var(--text);
1194
+ text-decoration: none;
1195
+ }
1196
+
1197
+ .attachment-row:hover {
1198
+ background: rgba(255, 255, 255, 0.06);
1199
+ }
1200
+
1201
+ .attachment-icon {
1202
+ width: calc(34px * var(--ui-scale));
1203
+ height: calc(34px * var(--ui-scale));
1204
+ display: inline-flex;
1205
+ align-items: center;
1206
+ justify-content: center;
1207
+ border-radius: calc(10px * var(--ui-scale));
1208
+ background: rgba(255, 255, 255, 0.06);
1209
+ color: var(--muted);
1210
+ }
1211
+
1212
+ .attachment-main {
1213
+ min-width: 0;
1214
+ display: grid;
1215
+ gap: 0.2rem;
1216
+ }
1217
+
1218
+ .attachment-main strong,
1219
+ .attachment-main span {
1220
+ min-width: 0;
1221
+ overflow: hidden;
1222
+ text-overflow: ellipsis;
1223
+ white-space: nowrap;
1224
+ }
1225
+
1226
+ .attachment-main span {
1227
+ color: var(--muted);
1228
+ font-size: 0.86rem;
1229
+ }
1230
+
1231
+ .attachment-cover-button {
1232
+ min-height: calc(34px * var(--ui-scale));
1233
+ padding: 0 0.75rem;
1234
+ white-space: nowrap;
1235
+ }
1236
+
1237
+ .attachment-cover-button:disabled {
1238
+ cursor: default;
1239
+ opacity: 0.62;
1240
+ }
1241
+
1242
+ .attachment-delete-button {
1243
+ width: calc(34px * var(--ui-scale));
1244
+ height: calc(34px * var(--ui-scale));
1245
+ }
1246
+
1247
+ .checklists-container,
1248
+ .activity-list {
1249
+ display: grid;
1250
+ gap: 0.9rem;
1251
+ min-height: 0;
1252
+ }
1253
+
1254
+ .activity-list {
1255
+ overflow: auto;
1256
+ padding-right: 0.2rem;
1257
+ align-content: start;
1258
+ grid-auto-rows: max-content;
1259
+ }
1260
+
1261
+ .checklist {
1262
+ min-width: 0;
1263
+ border: 1px solid rgba(255, 255, 255, 0.06);
1264
+ border-radius: calc(16px * var(--ui-scale));
1265
+ padding: 0.85rem;
1266
+ background: rgba(255, 255, 255, 0.03);
1267
+ }
1268
+
1269
+ .checklist-header,
1270
+ .checklist-item {
1271
+ min-width: 0;
1272
+ display: flex;
1273
+ align-items: center;
1274
+ gap: 0.6rem;
1275
+ }
1276
+
1277
+ .checklist-header {
1278
+ margin-bottom: 0.75rem;
1279
+ }
1280
+
1281
+ .checklist-title-input,
1282
+ .checklist-item-input {
1283
+ flex: 1;
1284
+ border: 0;
1285
+ outline: 0;
1286
+ color: var(--text);
1287
+ background: transparent;
1288
+ }
1289
+
1290
+ .checklist-items {
1291
+ display: grid;
1292
+ gap: 0.5rem;
1293
+ }
1294
+
1295
+ .checklist-item input[type="checkbox"] {
1296
+ width: calc(18px * var(--ui-scale));
1297
+ height: calc(18px * var(--ui-scale));
1298
+ }
1299
+
1300
+ .checklist-item.completed .checklist-item-input {
1301
+ color: var(--muted);
1302
+ text-decoration: line-through;
1303
+ }
1304
+
1305
+ .label-cloud {
1306
+ display: flex;
1307
+ flex-wrap: wrap;
1308
+ gap: 0.75rem;
1309
+ }
1310
+
1311
+ .label-pill {
1312
+ padding: 0.42rem 0.68rem;
1313
+ border-radius: 999px;
1314
+ border: 0;
1315
+ color: #fff;
1316
+ font-weight: 700;
1317
+ font-size: 0.88rem;
1318
+ cursor: pointer;
1319
+ }
1320
+
1321
+ .sidebar-panel {
1322
+ position: relative;
1323
+ }
1324
+
1325
+ .label-summary-trigger {
1326
+ cursor: pointer;
1327
+ }
1328
+
1329
+ .label-editor-list {
1330
+ display: grid;
1331
+ gap: 0.75rem;
1332
+ }
1333
+
1334
+ .label-editor-panel {
1335
+ position: fixed;
1336
+ z-index: 1000;
1337
+ box-sizing: border-box;
1338
+ display: grid;
1339
+ gap: 0.75rem;
1340
+ padding: 0.95rem;
1341
+ overflow: auto;
1342
+ border-radius: calc(18px * var(--ui-scale));
1343
+ background: rgba(28, 31, 37, 0.98);
1344
+ border: 1px solid rgba(255, 255, 255, 0.1);
1345
+ box-shadow: 0 calc(24px * var(--ui-scale)) calc(48px * var(--ui-scale)) rgba(0, 0, 0, 0.42);
1346
+ backdrop-filter: blur(8px);
1347
+ }
1348
+
1349
+ .label-editor-row {
1350
+ display: grid;
1351
+ grid-template-columns: auto minmax(150px, 1fr) minmax(120px, 0.55fr) auto;
1352
+ gap: 0.5rem;
1353
+ align-items: center;
1354
+ }
1355
+
1356
+ .label-toggle {
1357
+ width: calc(18px * var(--ui-scale));
1358
+ height: calc(18px * var(--ui-scale));
1359
+ }
1360
+
1361
+ .label-name-input,
1362
+ .label-color-select,
1363
+ .label-search-input,
1364
+ .comment-composer textarea {
1365
+ width: 100%;
1366
+ border-radius: calc(12px * var(--ui-scale));
1367
+ border: 1px solid var(--border);
1368
+ background: rgba(12, 15, 21, 0.92);
1369
+ color: var(--text);
1370
+ padding: 0.75rem 0.85rem;
1371
+ outline: 0;
1372
+ }
1373
+
1374
+ .label-name-input {
1375
+ min-width: 0;
1376
+ color: #fff;
1377
+ border-color: rgba(255, 255, 255, 0.14);
1378
+ }
1379
+
1380
+ .label-color-select {
1381
+ text-transform: capitalize;
1382
+ }
1383
+
1384
+ .label-search-input::-webkit-search-cancel-button {
1385
+ display: none;
1386
+ }
1387
+
1388
+ .comment-composer {
1389
+ display: grid;
1390
+ gap: 0.75rem;
1391
+ margin-bottom: 1rem;
1392
+ align-content: start;
1393
+ }
1394
+
1395
+ .comment-composer textarea {
1396
+ height: calc(82px * var(--ui-scale));
1397
+ min-height: calc(82px * var(--ui-scale));
1398
+ max-height: calc(140px * var(--ui-scale));
1399
+ resize: vertical;
1400
+ }
1401
+
1402
+ .comment-composer .primary-button {
1403
+ height: calc(40px * var(--ui-scale));
1404
+ min-height: calc(40px * var(--ui-scale));
1405
+ padding-block: 0;
1406
+ }
1407
+
1408
+ .activity-entry {
1409
+ min-width: 0;
1410
+ padding: 0.85rem;
1411
+ border-radius: calc(14px * var(--ui-scale));
1412
+ background: rgba(255, 255, 255, 0.04);
1413
+ border: 1px solid rgba(255, 255, 255, 0.05);
1414
+ overflow-wrap: anywhere;
1415
+ white-space: pre-wrap;
1416
+ }
1417
+
1418
+ .activity-entry strong {
1419
+ display: block;
1420
+ margin-bottom: 0.3rem;
1421
+ }
1422
+
1423
+ .activity-entry time {
1424
+ display: block;
1425
+ margin-top: 0.4rem;
1426
+ color: var(--muted);
1427
+ font-size: 0.84rem;
1428
+ }
1429
+
1430
+ .activity-entry a {
1431
+ color: #8ab4ff;
1432
+ text-decoration: underline;
1433
+ text-underline-offset: 2px;
1434
+ }
1435
+
1436
+ .activity-entry a:hover {
1437
+ color: #b1ccff;
1438
+ }
1439
+
1440
+ .sync-log-content {
1441
+ margin: 0;
1442
+ max-height: 55vh;
1443
+ overflow: auto;
1444
+ border-radius: calc(14px * var(--ui-scale));
1445
+ border: 1px solid rgba(255, 255, 255, 0.08);
1446
+ background: rgba(12, 15, 21, 0.92);
1447
+ color: var(--text);
1448
+ padding: 1rem;
1449
+ white-space: pre-wrap;
1450
+ word-break: break-word;
1451
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1452
+ line-height: 1.45;
1453
+ }
1454
+
1455
+ .archive-list {
1456
+ display: grid;
1457
+ gap: 0.9rem;
1458
+ max-height: min(70vh, 720px);
1459
+ overflow: auto;
1460
+ padding-right: 0.15rem;
1461
+ }
1462
+
1463
+ .archive-item {
1464
+ display: grid;
1465
+ grid-template-columns: minmax(0, 1fr) auto;
1466
+ gap: 1rem;
1467
+ align-items: center;
1468
+ padding: 1rem;
1469
+ border-radius: calc(18px * var(--ui-scale));
1470
+ border: 1px solid rgba(255, 255, 255, 0.08);
1471
+ background: rgba(255, 255, 255, 0.04);
1472
+ cursor: pointer;
1473
+ transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
1474
+ }
1475
+
1476
+ .archive-item:hover,
1477
+ .archive-item:focus-visible {
1478
+ background: rgba(255, 255, 255, 0.07);
1479
+ border-color: rgba(255, 255, 255, 0.16);
1480
+ transform: translateY(-1px);
1481
+ outline: none;
1482
+ }
1483
+
1484
+ .archive-item-main {
1485
+ min-width: 0;
1486
+ }
1487
+
1488
+ .archive-item-title {
1489
+ margin: 0 0 0.35rem;
1490
+ font-size: 1.05rem;
1491
+ line-height: 1.35;
1492
+ }
1493
+
1494
+ .archive-item-meta {
1495
+ margin: 0;
1496
+ color: var(--muted);
1497
+ }
1498
+
1499
+ .archive-item-actions {
1500
+ display: flex;
1501
+ align-items: center;
1502
+ gap: 0.65rem;
1503
+ }
1504
+
1505
+ .archive-empty-state {
1506
+ padding: 1rem;
1507
+ }
1508
+
1509
+ .empty-state {
1510
+ padding: 1rem;
1511
+ color: var(--muted);
1512
+ border: 1px dashed rgba(255, 255, 255, 0.1);
1513
+ border-radius: calc(14px * var(--ui-scale));
1514
+ }
1515
+
1516
+ .settings-meta {
1517
+ display: grid;
1518
+ grid-template-columns: minmax(0, 1fr);
1519
+ gap: 0.45rem;
1520
+ padding: 0.85rem 0.95rem;
1521
+ border-radius: calc(14px * var(--ui-scale));
1522
+ background: rgba(12, 15, 21, 0.48);
1523
+ border: 1px solid rgba(255, 255, 255, 0.06);
1524
+ color: var(--muted);
1525
+ font-size: 0.92rem;
1526
+ }
1527
+
1528
+ .settings-meta span {
1529
+ min-width: 0;
1530
+ overflow-wrap: anywhere;
1531
+ }
1532
+
1533
+ @media (max-width: 960px) {
1534
+ .topbar {
1535
+ grid-template-columns: 1fr;
1536
+ }
1537
+
1538
+ .board-header {
1539
+ flex-direction: column;
1540
+ align-items: start;
1541
+ }
1542
+
1543
+ .modal-grid {
1544
+ grid-template-columns: 1fr;
1545
+ }
1546
+
1547
+ .label-editor-row {
1548
+ grid-template-columns: auto minmax(0, 1fr) auto;
1549
+ }
1550
+
1551
+ .label-color-select {
1552
+ grid-column: 2 / 3;
1553
+ }
1554
+ }