@floegence/floe-webapp-core 0.35.41 → 0.35.42

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,2550 @@
1
+ @layer components {
2
+ .notes-sidebar-shell {
3
+ gap: 0.95rem;
4
+ padding: 0.85rem;
5
+ background: color-mix(in srgb, var(--sidebar) 92%, var(--background) 8%);
6
+ }
7
+
8
+ .notes-sidebar-hero {
9
+ padding: 0.15rem 0.15rem 1rem;
10
+ border-bottom: 1px solid color-mix(in srgb, var(--sidebar-border) 82%, transparent);
11
+ }
12
+
13
+ .notes-sidebar-hero__eyebrow,
14
+ .notes-page__eyebrow,
15
+ .notes-editor__label,
16
+ .notes-sidebar-brief__label,
17
+ .notes-trash-section__title {
18
+ color: color-mix(in srgb, var(--muted-foreground) 86%, transparent);
19
+ font-size: 0.67rem;
20
+ font-weight: 700;
21
+ letter-spacing: 0.11em;
22
+ line-height: 1;
23
+ text-transform: uppercase;
24
+ }
25
+
26
+ @keyframes notes-copy-flash {
27
+ 0% {
28
+ box-shadow:
29
+ 0 0 0 0 color-mix(in srgb, var(--success) 24%, transparent),
30
+ 0 16px 28px color-mix(in srgb, var(--foreground) 8%, transparent),
31
+ 0 1px 0 color-mix(in srgb, white 10%, transparent) inset;
32
+ }
33
+ 100% {
34
+ box-shadow:
35
+ 0 0 0 6px color-mix(in srgb, var(--success) 0%, transparent),
36
+ 0 20px 36px color-mix(in srgb, var(--foreground) 12%, transparent),
37
+ 0 1px 0 color-mix(in srgb, white 12%, transparent) inset;
38
+ }
39
+ }
40
+
41
+ @keyframes notes-copy-pill-in {
42
+ 0% {
43
+ opacity: 0;
44
+ transform: translateY(5px) scale(0.9);
45
+ }
46
+ 100% {
47
+ opacity: 1;
48
+ transform: translateY(0) scale(1);
49
+ }
50
+ }
51
+
52
+ .notes-sidebar-hero__title,
53
+ .notes-page__title {
54
+ color: var(--foreground);
55
+ font-weight: 600;
56
+ letter-spacing: -0.03em;
57
+ }
58
+
59
+ .notes-sidebar-hero__title {
60
+ max-width: 17rem;
61
+ margin-top: 0.45rem;
62
+ font-size: 1.17rem;
63
+ line-height: 1.12;
64
+ }
65
+
66
+ .notes-sidebar-hero__body {
67
+ max-width: 18rem;
68
+ margin-top: 0.7rem;
69
+ color: color-mix(in srgb, var(--sidebar-foreground) 74%, var(--sidebar) 26%);
70
+ font-size: 0.8rem;
71
+ line-height: 1.58;
72
+ }
73
+
74
+ .notes-sidebar-hero__metrics {
75
+ display: flex;
76
+ flex-wrap: wrap;
77
+ gap: 0.45rem 0.75rem;
78
+ margin-top: 0.9rem;
79
+ color: color-mix(in srgb, var(--sidebar-foreground) 76%, var(--muted-foreground));
80
+ font-family: var(--font-mono);
81
+ font-size: 0.69rem;
82
+ font-weight: 700;
83
+ letter-spacing: 0.05em;
84
+ text-transform: uppercase;
85
+ }
86
+
87
+ .notes-topic-composer {
88
+ display: flex;
89
+ align-items: center;
90
+ gap: 0.45rem;
91
+ padding: 0 0.1rem 0.2rem;
92
+ }
93
+
94
+ .notes-topic-composer .relative {
95
+ flex: 1;
96
+ }
97
+
98
+ .notes-topic-composer input {
99
+ background: color-mix(in srgb, var(--background) 86%, transparent);
100
+ border-color: color-mix(in srgb, var(--sidebar-border) 92%, transparent);
101
+ border-radius: 0.42rem;
102
+ box-shadow: none;
103
+ }
104
+
105
+ .notes-topic-composer__button {
106
+ display: grid;
107
+ place-items: center;
108
+ width: 2rem;
109
+ height: 2rem;
110
+ cursor: pointer;
111
+ color: color-mix(in srgb, var(--sidebar-foreground) 76%, var(--muted-foreground));
112
+ border-radius: 0.4rem;
113
+ transition:
114
+ background-color 140ms ease,
115
+ color 140ms ease,
116
+ transform 140ms ease;
117
+ }
118
+
119
+ .notes-topic-composer__button:hover {
120
+ background: color-mix(in srgb, var(--sidebar-accent) 66%, transparent);
121
+ color: var(--sidebar-primary);
122
+ transform: translateY(-1px);
123
+ }
124
+
125
+ .notes-topic-composer__button:active {
126
+ transform: translateY(0);
127
+ }
128
+
129
+ .notes-topic-list {
130
+ display: flex;
131
+ flex-direction: column;
132
+ gap: 0.18rem;
133
+ padding: 0 0.1rem;
134
+ }
135
+
136
+ .notes-topic-row {
137
+ position: relative;
138
+ display: grid;
139
+ grid-template-columns: 1rem minmax(0, 1fr) auto;
140
+ align-items: center;
141
+ gap: 0.7rem;
142
+ width: 100%;
143
+ min-height: 2.8rem;
144
+ padding: 0.55rem 0.65rem 0.55rem 0.78rem;
145
+ cursor: pointer;
146
+ color: var(--sidebar-foreground);
147
+ text-align: left;
148
+ border-radius: 0.42rem;
149
+ transition:
150
+ background-color 140ms ease,
151
+ color 140ms ease,
152
+ transform 140ms ease;
153
+ }
154
+
155
+ .notes-topic-row::before {
156
+ content: '';
157
+ position: absolute;
158
+ left: 0.25rem;
159
+ top: 0.45rem;
160
+ bottom: 0.45rem;
161
+ width: 2px;
162
+ background: transparent;
163
+ transition: background-color 140ms ease;
164
+ }
165
+
166
+ .notes-topic-row:hover {
167
+ background: color-mix(in srgb, var(--sidebar-accent) 58%, transparent);
168
+ }
169
+
170
+ .notes-topic-row.is-active {
171
+ background: color-mix(in srgb, var(--sidebar-accent) 72%, var(--background) 28%);
172
+ }
173
+
174
+ .notes-topic-row.is-active::before {
175
+ background: color-mix(in srgb, var(--sidebar-primary) 88%, transparent);
176
+ }
177
+
178
+ .notes-topic-row__leading {
179
+ display: grid;
180
+ place-items: center;
181
+ color: color-mix(in srgb, var(--sidebar-foreground) 62%, var(--muted-foreground));
182
+ transition:
183
+ color 140ms ease,
184
+ transform 140ms ease;
185
+ }
186
+
187
+ .notes-topic-row:hover .notes-topic-row__leading,
188
+ .notes-topic-row.is-active .notes-topic-row__leading {
189
+ color: var(--sidebar-primary);
190
+ transform: translateY(-1px);
191
+ }
192
+
193
+ .notes-topic-row__copy {
194
+ min-width: 0;
195
+ }
196
+
197
+ .notes-topic-row__title {
198
+ overflow: hidden;
199
+ color: inherit;
200
+ font-size: 0.77rem;
201
+ font-weight: 600;
202
+ line-height: 1.14;
203
+ text-overflow: ellipsis;
204
+ white-space: nowrap;
205
+ }
206
+
207
+ .notes-topic-row__meta {
208
+ margin-top: 0.15rem;
209
+ color: var(--muted-foreground);
210
+ font-size: 0.68rem;
211
+ line-height: 1.1;
212
+ }
213
+
214
+ .notes-topic-row__count {
215
+ color: color-mix(in srgb, var(--sidebar-foreground) 90%, var(--muted-foreground));
216
+ font-family: var(--font-mono);
217
+ font-size: 0.73rem;
218
+ font-weight: 700;
219
+ line-height: 1;
220
+ }
221
+
222
+ .notes-sidebar-brief {
223
+ padding: 0.1rem 0.15rem 0.85rem;
224
+ }
225
+
226
+ .notes-sidebar-brief + .notes-sidebar-brief {
227
+ padding-top: 0.75rem;
228
+ border-top: 1px solid color-mix(in srgb, var(--sidebar-border) 74%, transparent);
229
+ }
230
+
231
+ .notes-sidebar-brief__value {
232
+ display: flex;
233
+ align-items: center;
234
+ gap: 0.42rem;
235
+ margin-top: 0.3rem;
236
+ color: color-mix(in srgb, var(--sidebar-foreground) 82%, var(--sidebar) 18%);
237
+ font-size: 0.76rem;
238
+ line-height: 1.48;
239
+ }
240
+
241
+ .notes-sidebar-brief__value svg {
242
+ flex-shrink: 0;
243
+ color: var(--muted-foreground);
244
+ }
245
+
246
+ .notes-page {
247
+ position: relative;
248
+ height: 100%;
249
+ overflow: hidden;
250
+ isolation: isolate;
251
+ background: var(--background);
252
+ }
253
+
254
+ .notes-page::before {
255
+ content: '';
256
+ position: absolute;
257
+ inset: 0;
258
+ pointer-events: none;
259
+ background-image:
260
+ linear-gradient(
261
+ to right,
262
+ color-mix(in srgb, var(--border) 28%, transparent) 1px,
263
+ transparent 1px
264
+ ),
265
+ linear-gradient(
266
+ to bottom,
267
+ color-mix(in srgb, var(--border) 24%, transparent) 1px,
268
+ transparent 1px
269
+ );
270
+ background-size: 44px 44px;
271
+ opacity: 0.35;
272
+ }
273
+
274
+ .notes-page__toolbar {
275
+ pointer-events: none;
276
+ position: absolute;
277
+ top: 0.9rem;
278
+ left: 0.9rem;
279
+ right: 0.9rem;
280
+ z-index: 20;
281
+ display: flex;
282
+ align-items: flex-start;
283
+ justify-content: flex-start;
284
+ gap: 0.9rem;
285
+ }
286
+
287
+ .notes-page__toolbar-copy {
288
+ pointer-events: auto;
289
+ min-width: min(13rem, 100%);
290
+ max-width: min(18rem, calc(100% - 2rem));
291
+ padding: 0.58rem 0.72rem 0.64rem;
292
+ border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
293
+ border-radius: 0.38rem;
294
+ background: color-mix(in srgb, var(--card) 95%, transparent);
295
+ backdrop-filter: blur(10px);
296
+ box-shadow: 0 12px 24px color-mix(in srgb, var(--foreground) 6%, transparent);
297
+ }
298
+
299
+ .notes-page__toolbar-topline {
300
+ display: flex;
301
+ align-items: center;
302
+ justify-content: space-between;
303
+ gap: 0.7rem;
304
+ }
305
+
306
+ .notes-page__title-row {
307
+ margin-top: 0.26rem;
308
+ }
309
+
310
+ .notes-page__title {
311
+ min-width: 0;
312
+ font-size: clamp(0.96rem, 1.35vw, 1.08rem);
313
+ line-height: 1.12;
314
+ }
315
+
316
+ .notes-page__scale {
317
+ flex-shrink: 0;
318
+ padding: 0.16rem 0.34rem;
319
+ border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
320
+ color: color-mix(in srgb, var(--foreground) 66%, var(--muted-foreground));
321
+ font-family: var(--font-mono);
322
+ font-size: 0.63rem;
323
+ font-weight: 700;
324
+ letter-spacing: 0.08em;
325
+ line-height: 1;
326
+ text-transform: uppercase;
327
+ }
328
+
329
+ .notes-page__meta {
330
+ display: flex;
331
+ flex-wrap: wrap;
332
+ gap: 0.35rem 0.8rem;
333
+ margin-top: 0.3rem;
334
+ color: var(--muted-foreground);
335
+ font-size: 0.68rem;
336
+ line-height: 1.3;
337
+ }
338
+
339
+ .notes-page__mobile-toolbar {
340
+ pointer-events: auto;
341
+ min-width: 0;
342
+ max-width: min(100%, 28rem);
343
+ }
344
+
345
+ .notes-page__mobile-topics {
346
+ pointer-events: auto;
347
+ display: none;
348
+ align-items: center;
349
+ gap: 0.65rem;
350
+ max-width: min(32rem, 100%);
351
+ padding: 0.12rem 0;
352
+ overflow-x: auto;
353
+ -ms-overflow-style: none;
354
+ scrollbar-width: none;
355
+ }
356
+
357
+ .notes-page__mobile-topics::-webkit-scrollbar {
358
+ display: none;
359
+ }
360
+
361
+ .notes-page__mobile-topic {
362
+ flex-shrink: 0;
363
+ padding: 0.55rem 0.08rem;
364
+ cursor: pointer;
365
+ border-bottom: 1px solid transparent;
366
+ color: var(--muted-foreground);
367
+ font-size: 0.74rem;
368
+ font-weight: 600;
369
+ line-height: 1;
370
+ white-space: nowrap;
371
+ transition:
372
+ color 140ms ease,
373
+ border-color 140ms ease;
374
+ }
375
+
376
+ .notes-page__mobile-topic:hover {
377
+ color: var(--foreground);
378
+ }
379
+
380
+ .notes-page__mobile-topic.is-active {
381
+ color: var(--foreground);
382
+ border-color: color-mix(in srgb, var(--primary) 74%, transparent);
383
+ }
384
+
385
+ .notes-page__canvas {
386
+ position: absolute;
387
+ inset: 0;
388
+ }
389
+
390
+ .notes-canvas {
391
+ background: color-mix(in srgb, var(--background) 96%, var(--muted) 4%);
392
+ }
393
+
394
+ .notes-canvas__field {
395
+ position: relative;
396
+ width: 2800px;
397
+ height: 2200px;
398
+ }
399
+
400
+ .notes-overview {
401
+ pointer-events: auto;
402
+ }
403
+
404
+ .notes-overview--desktop {
405
+ position: absolute;
406
+ left: 0.9rem;
407
+ bottom: 0.9rem;
408
+ z-index: 22;
409
+ width: min(14.2rem, calc(100vw - 7rem));
410
+ }
411
+
412
+ .notes-overview__zoom-group {
413
+ display: flex;
414
+ align-items: center;
415
+ gap: 0.22rem;
416
+ }
417
+
418
+ .notes-overview__controls,
419
+ .notes-overview__hud {
420
+ position: absolute;
421
+ z-index: 2;
422
+ display: flex;
423
+ align-items: center;
424
+ gap: 0.28rem;
425
+ pointer-events: none;
426
+ }
427
+
428
+ .notes-overview__hud {
429
+ top: 0.42rem;
430
+ left: 0.42rem;
431
+ }
432
+
433
+ .notes-overview__controls {
434
+ top: 0.42rem;
435
+ right: 0.42rem;
436
+ pointer-events: auto;
437
+ }
438
+
439
+ .notes-overview__zoom-button,
440
+ .notes-overview__close {
441
+ display: grid;
442
+ place-items: center;
443
+ width: 1.74rem;
444
+ height: 1.74rem;
445
+ cursor: pointer;
446
+ border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
447
+ border-radius: 0.3rem;
448
+ color: color-mix(in srgb, var(--foreground) 68%, var(--muted-foreground));
449
+ background: color-mix(in srgb, var(--background) 84%, transparent);
450
+ backdrop-filter: blur(16px);
451
+ box-shadow:
452
+ 0 10px 18px color-mix(in srgb, var(--foreground) 7%, transparent),
453
+ 0 1px 0 color-mix(in srgb, white 10%, transparent) inset;
454
+ transition:
455
+ color 140ms ease,
456
+ background-color 140ms ease,
457
+ border-color 140ms ease,
458
+ transform 140ms ease;
459
+ }
460
+
461
+ .notes-overview__zoom-button:hover {
462
+ color: var(--foreground);
463
+ border-color: color-mix(in srgb, var(--foreground) 22%, var(--border));
464
+ background: color-mix(in srgb, var(--background) 70%, transparent);
465
+ transform: translateY(-1px);
466
+ }
467
+
468
+ .notes-overview__close:hover {
469
+ color: var(--error-foreground);
470
+ border-color: var(--error);
471
+ background: var(--error);
472
+ transform: translateY(-1px);
473
+ }
474
+
475
+ .notes-overview__scale {
476
+ padding: 0.2rem 0.42rem;
477
+ border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
478
+ border-radius: 999px;
479
+ color: color-mix(in srgb, var(--foreground) 78%, var(--muted-foreground));
480
+ font-family: var(--font-mono);
481
+ font-size: 0.61rem;
482
+ font-weight: 700;
483
+ letter-spacing: 0.08em;
484
+ line-height: 1;
485
+ text-transform: uppercase;
486
+ white-space: nowrap;
487
+ background: color-mix(in srgb, var(--background) 82%, transparent);
488
+ backdrop-filter: blur(16px);
489
+ box-shadow:
490
+ 0 10px 18px color-mix(in srgb, var(--foreground) 6%, transparent),
491
+ 0 1px 0 color-mix(in srgb, white 10%, transparent) inset;
492
+ }
493
+
494
+ .notes-overview__surface {
495
+ position: relative;
496
+ aspect-ratio: 14 / 11;
497
+ overflow: hidden;
498
+ cursor: grab;
499
+ border: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
500
+ border-radius: 0.32rem;
501
+ background: color-mix(in srgb, var(--card) 94%, var(--background) 6%);
502
+ box-shadow:
503
+ 0 18px 34px color-mix(in srgb, var(--foreground) 10%, transparent),
504
+ 0 1px 0 color-mix(in srgb, white 8%, transparent) inset;
505
+ isolation: isolate;
506
+ transition:
507
+ border-color 160ms ease,
508
+ box-shadow 160ms ease,
509
+ transform 160ms ease;
510
+ }
511
+
512
+ .notes-overview__surface:hover {
513
+ border-color: color-mix(in srgb, var(--foreground) 18%, var(--border));
514
+ box-shadow:
515
+ 0 22px 40px color-mix(in srgb, var(--foreground) 11%, transparent),
516
+ 0 1px 0 color-mix(in srgb, white 9%, transparent) inset;
517
+ transform: translateY(-1px);
518
+ }
519
+
520
+ .notes-overview__surface.is-navigating {
521
+ cursor: grabbing;
522
+ transform: none;
523
+ transition: none;
524
+ }
525
+
526
+ .notes-overview__grid {
527
+ position: absolute;
528
+ inset: 0;
529
+ background-image:
530
+ linear-gradient(
531
+ to right,
532
+ color-mix(in srgb, var(--border) 26%, transparent) 1px,
533
+ transparent 1px
534
+ ),
535
+ linear-gradient(
536
+ to bottom,
537
+ color-mix(in srgb, var(--border) 22%, transparent) 1px,
538
+ transparent 1px
539
+ );
540
+ background-size: 14% 14%;
541
+ opacity: 0.74;
542
+ pointer-events: none;
543
+ }
544
+
545
+ .notes-overview__note {
546
+ position: absolute;
547
+ border: 1px solid color-mix(in srgb, var(--notes-accent) 64%, var(--border));
548
+ border-radius: 0.1rem;
549
+ background: color-mix(in srgb, var(--notes-accent) 80%, white 20%);
550
+ box-shadow: 0 1px 2px color-mix(in srgb, var(--foreground) 7%, transparent);
551
+ opacity: 0.94;
552
+ }
553
+
554
+ .notes-overview__viewport {
555
+ position: absolute;
556
+ border: 1px solid color-mix(in srgb, var(--foreground) 34%, white 10%);
557
+ border-radius: 0.22rem;
558
+ background: color-mix(in srgb, var(--background) 12%, transparent);
559
+ box-shadow:
560
+ 0 0 0 1px color-mix(in srgb, white 18%, transparent) inset,
561
+ 0 10px 20px color-mix(in srgb, var(--foreground) 14%, transparent);
562
+ pointer-events: none;
563
+ }
564
+
565
+ .notes-overview-backdrop {
566
+ position: fixed;
567
+ inset: 0;
568
+ z-index: 70;
569
+ background: color-mix(in srgb, var(--background) 18%, transparent);
570
+ backdrop-filter: blur(4px);
571
+ }
572
+
573
+ .notes-overview-flyout {
574
+ pointer-events: none;
575
+ position: fixed;
576
+ left: 0.75rem;
577
+ right: 0.75rem;
578
+ bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
579
+ z-index: 71;
580
+ }
581
+
582
+ .notes-overview--mobile {
583
+ pointer-events: auto;
584
+ width: 100%;
585
+ max-width: 24rem;
586
+ margin: 0 auto;
587
+ }
588
+
589
+ .notes-mobile-dock {
590
+ pointer-events: auto;
591
+ position: absolute;
592
+ left: 50%;
593
+ bottom: calc(0.8rem + env(safe-area-inset-bottom, 0px));
594
+ z-index: 23;
595
+ display: flex;
596
+ align-items: center;
597
+ gap: 0.25rem;
598
+ padding: 0.26rem;
599
+ border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
600
+ border-radius: 0.5rem;
601
+ background: color-mix(in srgb, var(--card) 96%, transparent);
602
+ backdrop-filter: blur(16px);
603
+ box-shadow:
604
+ 0 16px 32px color-mix(in srgb, var(--foreground) 10%, transparent),
605
+ 0 1px 0 color-mix(in srgb, white 10%, transparent) inset;
606
+ transform: translateX(-50%);
607
+ }
608
+
609
+ .notes-mobile-dock__action {
610
+ display: flex;
611
+ flex-direction: column;
612
+ align-items: center;
613
+ gap: 0.18rem;
614
+ min-width: 3.5rem;
615
+ padding: 0.5rem 0.42rem 0.44rem;
616
+ cursor: pointer;
617
+ border-radius: 0.34rem;
618
+ color: color-mix(in srgb, var(--foreground) 72%, var(--muted-foreground));
619
+ transition:
620
+ color 140ms ease,
621
+ background-color 140ms ease,
622
+ transform 140ms ease;
623
+ }
624
+
625
+ .notes-mobile-dock__action span {
626
+ font-size: 0.62rem;
627
+ font-weight: 700;
628
+ letter-spacing: 0.06em;
629
+ line-height: 1;
630
+ text-transform: uppercase;
631
+ }
632
+
633
+ .notes-mobile-dock__action:hover {
634
+ color: var(--foreground);
635
+ background: color-mix(in srgb, var(--background) 76%, transparent);
636
+ transform: translateY(-1px);
637
+ }
638
+
639
+ .notes-mobile-dock__action.is-emphasis {
640
+ color: var(--foreground);
641
+ }
642
+
643
+ .notes-overview__zoom-button:active,
644
+ .notes-overview__close:active,
645
+ .notes-mobile-dock__action:active {
646
+ transform: translateY(0);
647
+ }
648
+
649
+ .notes-note--butter {
650
+ --notes-accent: oklch(0.8 0.1 88);
651
+ }
652
+
653
+ .notes-note--blush {
654
+ --notes-accent: oklch(0.78 0.07 25);
655
+ }
656
+
657
+ .notes-note--moss {
658
+ --notes-accent: oklch(0.78 0.08 148);
659
+ }
660
+
661
+ .notes-note--mist {
662
+ --notes-accent: oklch(0.78 0.05 238);
663
+ }
664
+
665
+ .notes-note--sand {
666
+ --notes-accent: oklch(0.78 0.05 74);
667
+ }
668
+
669
+ .notes-note--coral {
670
+ --notes-accent: oklch(0.77 0.1 42);
671
+ }
672
+
673
+ .notes-note {
674
+ --notes-surface: color-mix(in srgb, var(--card) 94%, var(--notes-accent) 6%);
675
+ --notes-surface-strong: color-mix(in srgb, var(--card) 88%, var(--notes-accent) 12%);
676
+ --notes-border: color-mix(in srgb, var(--border) 74%, var(--notes-accent) 26%);
677
+ --notes-ink: color-mix(in srgb, var(--card-foreground) 92%, var(--notes-accent) 8%);
678
+ position: absolute;
679
+ width: var(--note-width);
680
+ height: var(--note-height);
681
+ }
682
+
683
+ .notes-note__surface {
684
+ position: relative;
685
+ display: flex;
686
+ flex-direction: column;
687
+ width: 100%;
688
+ height: 100%;
689
+ border: 1px solid var(--notes-border);
690
+ border-radius: 0.42rem;
691
+ background: var(--notes-surface);
692
+ box-shadow:
693
+ 0 16px 28px color-mix(in srgb, var(--foreground) 7%, transparent),
694
+ 0 1px 0 color-mix(in srgb, white 8%, transparent) inset;
695
+ overflow: hidden;
696
+ transition:
697
+ border-color 180ms ease,
698
+ box-shadow 180ms ease,
699
+ transform 180ms cubic-bezier(0.22, 1, 0.36, 1),
700
+ background-color 180ms ease;
701
+ }
702
+
703
+ .notes-note__surface::before {
704
+ content: '';
705
+ position: absolute;
706
+ inset: 0 auto 0 0;
707
+ width: 3px;
708
+ background: color-mix(in srgb, var(--notes-accent) 72%, white 28%);
709
+ opacity: 0.92;
710
+ }
711
+
712
+ .notes-note:hover .notes-note__surface,
713
+ .notes-note:focus-within .notes-note__surface {
714
+ border-color: color-mix(in srgb, var(--notes-accent) 42%, var(--border));
715
+ background: var(--notes-surface-strong);
716
+ box-shadow:
717
+ 0 20px 34px color-mix(in srgb, var(--foreground) 10%, transparent),
718
+ 0 1px 0 color-mix(in srgb, white 12%, transparent) inset;
719
+ transform: translateY(-2px) scale(1.012);
720
+ }
721
+
722
+ .notes-note.is-dragging .notes-note__surface {
723
+ box-shadow:
724
+ 0 22px 38px color-mix(in srgb, var(--foreground) 14%, transparent),
725
+ 0 1px 0 color-mix(in srgb, white 12%, transparent) inset;
726
+ transform: rotate(-0.5deg) scale(1.015);
727
+ }
728
+
729
+ .notes-note.is-copied .notes-note__surface {
730
+ border-color: color-mix(in srgb, var(--success) 38%, var(--notes-border));
731
+ background: color-mix(in srgb, var(--notes-surface-strong) 92%, var(--success) 8%);
732
+ box-shadow:
733
+ 0 0 0 1px color-mix(in srgb, var(--success) 28%, transparent),
734
+ 0 22px 36px color-mix(in srgb, var(--foreground) 12%, transparent),
735
+ 0 1px 0 color-mix(in srgb, white 12%, transparent) inset;
736
+ transform: translateY(-2px) scale(1.016);
737
+ animation: notes-copy-flash 620ms ease-out;
738
+ }
739
+
740
+ .notes-note.is-copied .notes-note__surface::after {
741
+ content: '';
742
+ position: absolute;
743
+ inset: 0;
744
+ background: linear-gradient(
745
+ 135deg,
746
+ color-mix(in srgb, var(--success) 14%, transparent),
747
+ transparent 42%,
748
+ color-mix(in srgb, white 10%, transparent)
749
+ );
750
+ pointer-events: none;
751
+ }
752
+
753
+ .notes-note__copied-state {
754
+ position: absolute;
755
+ inset: 0;
756
+ z-index: 4;
757
+ display: grid;
758
+ place-items: center;
759
+ pointer-events: none;
760
+ }
761
+
762
+ .notes-note__copied-pill {
763
+ display: inline-flex;
764
+ align-items: center;
765
+ gap: 0.48rem;
766
+ padding: 0.44rem 0.72rem;
767
+ color: color-mix(in srgb, var(--foreground) 92%, var(--success));
768
+ border: 1px solid color-mix(in srgb, var(--success) 26%, var(--border));
769
+ border-radius: 999px;
770
+ background: color-mix(in srgb, var(--background) 80%, transparent);
771
+ backdrop-filter: blur(12px);
772
+ box-shadow:
773
+ 0 16px 30px color-mix(in srgb, var(--foreground) 12%, transparent),
774
+ 0 0 0 1px color-mix(in srgb, white 8%, transparent) inset;
775
+ animation: notes-copy-pill-in 220ms cubic-bezier(0.22, 1, 0.36, 1);
776
+ }
777
+
778
+ .notes-note__copied-icon {
779
+ display: grid;
780
+ place-items: center;
781
+ width: 1.24rem;
782
+ height: 1.24rem;
783
+ color: var(--success-foreground);
784
+ background: color-mix(in srgb, var(--success) 86%, white 14%);
785
+ border-radius: 999px;
786
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--success) 34%, transparent);
787
+ }
788
+
789
+ .notes-note__copied-copy {
790
+ font-size: 0.68rem;
791
+ font-weight: 700;
792
+ letter-spacing: 0.12em;
793
+ line-height: 1;
794
+ text-transform: uppercase;
795
+ }
796
+
797
+ .notes-note__header {
798
+ display: flex;
799
+ align-items: center;
800
+ justify-content: space-between;
801
+ gap: 0.4rem;
802
+ padding: 0.52rem 0.56rem 0;
803
+ }
804
+
805
+ .notes-note__drag,
806
+ .notes-note__icon-button {
807
+ display: grid;
808
+ place-items: center;
809
+ color: color-mix(in srgb, var(--notes-ink) 58%, var(--muted-foreground));
810
+ transition:
811
+ color 140ms ease,
812
+ background-color 140ms ease,
813
+ transform 140ms ease,
814
+ opacity 140ms ease,
815
+ border-color 140ms ease;
816
+ }
817
+
818
+ .notes-note__drag {
819
+ width: 1.55rem;
820
+ height: 1.55rem;
821
+ opacity: 0.46;
822
+ border-radius: 0.34rem;
823
+ cursor: move;
824
+ }
825
+
826
+ .notes-note:hover .notes-note__drag,
827
+ .notes-note:focus-within .notes-note__drag,
828
+ .notes-note.is-dragging .notes-note__drag {
829
+ opacity: 0.9;
830
+ }
831
+
832
+ .notes-note__drag:hover,
833
+ .notes-note__icon-button:hover {
834
+ color: var(--notes-ink);
835
+ background: color-mix(in srgb, var(--background) 74%, transparent);
836
+ transform: translateY(-1px);
837
+ }
838
+
839
+ .notes-note__drag:hover {
840
+ cursor: move;
841
+ }
842
+
843
+ .notes-note__drag:active,
844
+ .notes-note__icon-button:active {
845
+ transform: translateY(0);
846
+ }
847
+
848
+ .notes-note.is-dragging .notes-note__drag,
849
+ .notes-note__drag:active {
850
+ cursor: grabbing;
851
+ }
852
+
853
+ .notes-note__actions {
854
+ display: flex;
855
+ align-items: center;
856
+ gap: 0.2rem;
857
+ opacity: 0;
858
+ transform: translateY(-4px);
859
+ transition:
860
+ opacity 160ms ease,
861
+ transform 160ms ease;
862
+ }
863
+
864
+ .notes-note:hover .notes-note__actions,
865
+ .notes-note:focus-within .notes-note__actions,
866
+ .notes-note.is-copied .notes-note__actions {
867
+ opacity: 1;
868
+ transform: translateY(0);
869
+ }
870
+
871
+ .notes-note__icon-button {
872
+ width: 1.6rem;
873
+ height: 1.6rem;
874
+ border-radius: 0.34rem;
875
+ border: 1px solid transparent;
876
+ }
877
+
878
+ .notes-note__icon-button:hover {
879
+ border-color: color-mix(in srgb, var(--notes-accent) 24%, var(--border));
880
+ }
881
+
882
+ .notes-note__icon-button.is-danger:hover {
883
+ color: var(--error);
884
+ border-color: color-mix(in srgb, var(--error) 28%, var(--notes-border));
885
+ background: color-mix(in srgb, var(--error) 10%, var(--background));
886
+ }
887
+
888
+ .notes-note__body {
889
+ position: relative;
890
+ flex: 1;
891
+ padding: 0.18rem 0.9rem 0.84rem;
892
+ text-align: left;
893
+ cursor: copy;
894
+ }
895
+
896
+ .notes-note__body span {
897
+ display: -webkit-box;
898
+ overflow: hidden;
899
+ color: color-mix(in srgb, var(--notes-ink) 94%, black 6%);
900
+ font-size: 0.84rem;
901
+ line-height: 1.55;
902
+ white-space: pre-wrap;
903
+ word-break: break-word;
904
+ -webkit-line-clamp: 6;
905
+ -webkit-box-orient: vertical;
906
+ }
907
+
908
+ .notes-note__body.is-empty span {
909
+ color: color-mix(in srgb, var(--notes-ink) 54%, var(--muted-foreground));
910
+ font-style: italic;
911
+ }
912
+
913
+ .notes-note--size-0 .notes-note__body span {
914
+ font-size: 0.78rem;
915
+ -webkit-line-clamp: 4;
916
+ }
917
+
918
+ .notes-note--size-1 .notes-note__body span {
919
+ -webkit-line-clamp: 5;
920
+ }
921
+
922
+ .notes-note--size-4 .notes-note__body span {
923
+ -webkit-line-clamp: 8;
924
+ }
925
+
926
+ .notes-trash {
927
+ position: absolute;
928
+ right: 1rem;
929
+ bottom: 1rem;
930
+ z-index: 24;
931
+ pointer-events: none;
932
+ }
933
+
934
+ .notes-trash__toggle {
935
+ pointer-events: auto;
936
+ position: relative;
937
+ display: grid;
938
+ place-items: center;
939
+ width: 3.3rem;
940
+ height: 3.3rem;
941
+ padding: 0;
942
+ cursor: pointer;
943
+ border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
944
+ border-radius: 0.76rem;
945
+ background: color-mix(in srgb, var(--card) 94%, transparent);
946
+ backdrop-filter: blur(14px);
947
+ box-shadow:
948
+ 0 14px 26px color-mix(in srgb, var(--foreground) 9%, transparent),
949
+ 0 1px 0 color-mix(in srgb, white 10%, transparent) inset;
950
+ transition:
951
+ border-color 160ms ease,
952
+ background-color 160ms ease,
953
+ transform 160ms ease,
954
+ box-shadow 160ms ease;
955
+ }
956
+
957
+ .notes-trash__toggle:hover {
958
+ border-color: color-mix(in srgb, var(--primary) 18%, var(--border));
959
+ background: color-mix(in srgb, var(--card) 88%, var(--muted) 12%);
960
+ box-shadow:
961
+ 0 18px 34px color-mix(in srgb, var(--foreground) 12%, transparent),
962
+ 0 1px 0 color-mix(in srgb, white 12%, transparent) inset;
963
+ transform: translateY(-1px) scale(1.015);
964
+ }
965
+
966
+ .notes-trash__toggle:active {
967
+ transform: translateY(0) scale(0.985);
968
+ }
969
+
970
+ .notes-trash__toggle-mark {
971
+ display: grid;
972
+ place-items: center;
973
+ width: 1.7rem;
974
+ height: 1.7rem;
975
+ color: color-mix(in srgb, var(--foreground) 72%, var(--muted-foreground));
976
+ transition:
977
+ color 160ms ease,
978
+ transform 160ms ease;
979
+ }
980
+
981
+ .notes-trash__toggle:hover .notes-trash__toggle-mark {
982
+ color: color-mix(in srgb, var(--foreground) 88%, var(--muted-foreground));
983
+ transform: translateY(-1px);
984
+ }
985
+
986
+ .notes-trash__toggle-icon {
987
+ width: 100%;
988
+ height: 100%;
989
+ }
990
+
991
+ .notes-trash-backdrop {
992
+ position: fixed;
993
+ inset: 0;
994
+ z-index: 68;
995
+ background: color-mix(in srgb, var(--background) 16%, transparent);
996
+ backdrop-filter: blur(3px);
997
+ }
998
+
999
+ .notes-trash__flyout {
1000
+ pointer-events: none;
1001
+ position: fixed;
1002
+ right: 1rem;
1003
+ bottom: 1rem;
1004
+ z-index: 69;
1005
+ width: min(58rem, calc(100vw - 2rem));
1006
+ }
1007
+
1008
+ .notes-trash__panel {
1009
+ pointer-events: auto;
1010
+ width: 100%;
1011
+ max-height: min(34rem, calc(100dvh - 4rem));
1012
+ overflow: auto;
1013
+ overscroll-behavior: contain;
1014
+ scrollbar-gutter: stable both-edges;
1015
+ border: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
1016
+ border-radius: 0.46rem;
1017
+ background: color-mix(in srgb, var(--popover) 97%, transparent);
1018
+ backdrop-filter: blur(22px);
1019
+ box-shadow:
1020
+ 0 26px 56px color-mix(in srgb, var(--foreground) 16%, transparent),
1021
+ 0 1px 0 color-mix(in srgb, white 10%, transparent) inset;
1022
+ }
1023
+
1024
+ .notes-trash__panel-header {
1025
+ position: sticky;
1026
+ top: 0;
1027
+ z-index: 1;
1028
+ padding: 0.95rem 1rem 0.9rem;
1029
+ border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
1030
+ background: color-mix(in srgb, var(--popover) 92%, transparent);
1031
+ backdrop-filter: blur(20px);
1032
+ }
1033
+
1034
+ .notes-trash__panel-title-group {
1035
+ display: flex;
1036
+ flex-direction: column;
1037
+ gap: 0.34rem;
1038
+ }
1039
+
1040
+ .notes-trash__panel-title-row {
1041
+ display: flex;
1042
+ align-items: center;
1043
+ justify-content: space-between;
1044
+ gap: 0.75rem;
1045
+ }
1046
+
1047
+ .notes-trash__panel-title {
1048
+ color: var(--foreground);
1049
+ font-size: 0.88rem;
1050
+ font-weight: 700;
1051
+ letter-spacing: 0.01em;
1052
+ line-height: 1;
1053
+ }
1054
+
1055
+ .notes-trash__panel-header-actions {
1056
+ display: flex;
1057
+ align-items: center;
1058
+ gap: 0.5rem;
1059
+ }
1060
+
1061
+ .notes-trash__panel-count {
1062
+ color: color-mix(in srgb, var(--foreground) 68%, var(--muted-foreground));
1063
+ font-family: var(--font-mono);
1064
+ font-size: 0.71rem;
1065
+ font-weight: 700;
1066
+ letter-spacing: 0.08em;
1067
+ line-height: 1;
1068
+ text-transform: uppercase;
1069
+ }
1070
+
1071
+ .notes-trash__panel-close {
1072
+ display: grid;
1073
+ place-items: center;
1074
+ width: 1.9rem;
1075
+ height: 1.9rem;
1076
+ cursor: pointer;
1077
+ color: color-mix(in srgb, var(--foreground) 62%, var(--muted-foreground));
1078
+ border-radius: 0.44rem;
1079
+ border: 1px solid transparent;
1080
+ transition:
1081
+ color 140ms ease,
1082
+ background-color 140ms ease,
1083
+ transform 140ms ease,
1084
+ border-color 140ms ease;
1085
+ }
1086
+
1087
+ .notes-trash__panel-close:hover {
1088
+ color: var(--error-foreground);
1089
+ background: var(--error);
1090
+ border-color: var(--error);
1091
+ transform: translateY(-1px);
1092
+ }
1093
+
1094
+ .notes-trash__panel-close:active {
1095
+ transform: translateY(0);
1096
+ }
1097
+
1098
+ .notes-trash__panel-body {
1099
+ margin-top: 0.36rem;
1100
+ color: var(--muted-foreground);
1101
+ font-size: 0.75rem;
1102
+ line-height: 1.45;
1103
+ }
1104
+
1105
+ .notes-trash__sections {
1106
+ display: flex;
1107
+ flex-direction: column;
1108
+ gap: 0.85rem;
1109
+ padding: 0.85rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px));
1110
+ }
1111
+
1112
+ .notes-trash-section + .notes-trash-section {
1113
+ padding-top: 0.85rem;
1114
+ border-top: 1px solid color-mix(in srgb, var(--border) 62%, transparent);
1115
+ }
1116
+
1117
+ .notes-trash-section__header {
1118
+ display: flex;
1119
+ align-items: center;
1120
+ justify-content: space-between;
1121
+ gap: 0.8rem;
1122
+ margin-bottom: 0.55rem;
1123
+ }
1124
+
1125
+ .notes-trash-section__title-group {
1126
+ min-width: 0;
1127
+ }
1128
+
1129
+ .notes-trash-section__title-line {
1130
+ display: flex;
1131
+ align-items: center;
1132
+ gap: 0.46rem;
1133
+ min-width: 0;
1134
+ }
1135
+
1136
+ .notes-trash-section__title {
1137
+ color: var(--foreground);
1138
+ font-size: 0.8rem;
1139
+ font-weight: 650;
1140
+ letter-spacing: -0.01em;
1141
+ text-transform: none;
1142
+ }
1143
+
1144
+ .notes-trash-section__meta {
1145
+ margin-top: 0.18rem;
1146
+ color: var(--muted-foreground);
1147
+ font-size: 0.73rem;
1148
+ line-height: 1.2;
1149
+ }
1150
+
1151
+ .notes-trash-section__clear {
1152
+ flex-shrink: 0;
1153
+ padding: 0.3rem 0.08rem;
1154
+ cursor: pointer;
1155
+ border-bottom: 1px solid transparent;
1156
+ color: color-mix(in srgb, var(--foreground) 80%, var(--muted-foreground));
1157
+ font-size: 0.71rem;
1158
+ font-weight: 600;
1159
+ transition:
1160
+ color 140ms ease,
1161
+ transform 140ms ease,
1162
+ border-color 140ms ease;
1163
+ }
1164
+
1165
+ .notes-trash-section__clear:hover {
1166
+ border-color: color-mix(in srgb, var(--foreground) 32%, transparent);
1167
+ color: var(--foreground);
1168
+ transform: translateY(-1px);
1169
+ }
1170
+
1171
+ .notes-trash-section__grid {
1172
+ display: flex;
1173
+ flex-wrap: wrap;
1174
+ gap: 0.35rem;
1175
+ }
1176
+
1177
+ .notes-trash-note {
1178
+ position: relative;
1179
+ flex: 0 0 auto;
1180
+ }
1181
+
1182
+ .notes-trash-note .notes-note__surface {
1183
+ background: var(--notes-surface-strong);
1184
+ }
1185
+
1186
+ .notes-trash-note__meta {
1187
+ display: flex;
1188
+ align-items: baseline;
1189
+ justify-content: space-between;
1190
+ gap: 0.65rem;
1191
+ padding: 0.62rem 0.72rem 0;
1192
+ color: color-mix(in srgb, var(--notes-ink) 62%, var(--muted-foreground));
1193
+ font-size: 0.66rem;
1194
+ line-height: 1.2;
1195
+ }
1196
+
1197
+ .notes-trash-note__meta strong {
1198
+ flex-shrink: 0;
1199
+ color: color-mix(in srgb, var(--notes-ink) 78%, var(--foreground));
1200
+ font-family: var(--font-mono);
1201
+ font-size: 0.68rem;
1202
+ font-weight: 700;
1203
+ letter-spacing: 0.08em;
1204
+ text-transform: uppercase;
1205
+ }
1206
+
1207
+ .notes-trash-note__body {
1208
+ flex: 1;
1209
+ padding: 0.18rem 0.78rem 0.65rem;
1210
+ }
1211
+
1212
+ .notes-trash-note__body span {
1213
+ display: -webkit-box;
1214
+ overflow: hidden;
1215
+ color: color-mix(in srgb, var(--notes-ink) 92%, black 8%);
1216
+ font-size: 0.83rem;
1217
+ line-height: 1.55;
1218
+ -webkit-line-clamp: 6;
1219
+ -webkit-box-orient: vertical;
1220
+ white-space: pre-wrap;
1221
+ word-break: break-word;
1222
+ }
1223
+
1224
+ .notes-trash-note--size-0 .notes-trash-note__body span {
1225
+ -webkit-line-clamp: 4;
1226
+ }
1227
+
1228
+ .notes-trash-note--size-1 .notes-trash-note__body span {
1229
+ -webkit-line-clamp: 5;
1230
+ }
1231
+
1232
+ .notes-trash-note--size-4 .notes-trash-note__body span {
1233
+ -webkit-line-clamp: 8;
1234
+ }
1235
+
1236
+ .notes-trash-note__actions {
1237
+ display: flex;
1238
+ gap: 0.35rem;
1239
+ padding: 0 0.72rem 0.72rem;
1240
+ margin-top: auto;
1241
+ }
1242
+
1243
+ .notes-trash-note__actions button {
1244
+ flex: 1;
1245
+ min-width: 0;
1246
+ padding: 0.44rem 0.1rem;
1247
+ cursor: pointer;
1248
+ border-bottom: 1px solid color-mix(in srgb, var(--border) 56%, transparent);
1249
+ color: color-mix(in srgb, var(--foreground) 84%, var(--muted-foreground));
1250
+ font-size: 0.68rem;
1251
+ font-weight: 650;
1252
+ transition:
1253
+ transform 140ms ease,
1254
+ color 140ms ease,
1255
+ border-color 140ms ease;
1256
+ }
1257
+
1258
+ .notes-trash-note__actions button:hover {
1259
+ border-color: color-mix(in srgb, var(--foreground) 34%, transparent);
1260
+ color: var(--foreground);
1261
+ transform: translateY(-1px);
1262
+ }
1263
+
1264
+ .notes-trash-note__actions .is-danger {
1265
+ color: color-mix(in srgb, var(--error) 82%, var(--foreground));
1266
+ border-color: color-mix(in srgb, var(--error) 30%, transparent);
1267
+ }
1268
+
1269
+ .notes-trash__empty {
1270
+ display: flex;
1271
+ align-items: flex-start;
1272
+ gap: 0.8rem;
1273
+ padding: 1.1rem 1rem 1.2rem;
1274
+ color: var(--muted-foreground);
1275
+ }
1276
+
1277
+ .notes-trash__empty strong {
1278
+ display: block;
1279
+ color: var(--foreground);
1280
+ font-size: 0.78rem;
1281
+ font-weight: 600;
1282
+ }
1283
+
1284
+ .notes-trash__empty span {
1285
+ display: block;
1286
+ margin-top: 0.18rem;
1287
+ font-size: 0.74rem;
1288
+ line-height: 1.48;
1289
+ }
1290
+
1291
+ .notes-trash__empty-icon {
1292
+ flex-shrink: 0;
1293
+ width: 1.5rem;
1294
+ height: 1.5rem;
1295
+ color: color-mix(in srgb, var(--foreground) 64%, var(--muted-foreground));
1296
+ }
1297
+
1298
+ .notes-menu-backdrop {
1299
+ position: fixed;
1300
+ inset: 0;
1301
+ z-index: 74;
1302
+ background: color-mix(in srgb, var(--background) 8%, transparent);
1303
+ }
1304
+
1305
+ .notes-menu {
1306
+ position: fixed;
1307
+ z-index: 75;
1308
+ width: 13rem;
1309
+ padding: 0.35rem;
1310
+ border: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
1311
+ border-radius: 0.46rem;
1312
+ background: color-mix(in srgb, var(--popover) 96%, transparent);
1313
+ backdrop-filter: blur(18px);
1314
+ box-shadow: 0 18px 36px color-mix(in srgb, var(--foreground) 14%, transparent);
1315
+ }
1316
+
1317
+ .notes-menu__item {
1318
+ display: flex;
1319
+ align-items: center;
1320
+ gap: 0.68rem;
1321
+ width: 100%;
1322
+ padding: 0.72rem 0.8rem;
1323
+ border-radius: 0.36rem;
1324
+ color: var(--popover-foreground);
1325
+ font-size: 0.79rem;
1326
+ font-weight: 600;
1327
+ text-align: left;
1328
+ transition:
1329
+ background-color 140ms ease,
1330
+ color 140ms ease,
1331
+ transform 140ms ease;
1332
+ }
1333
+
1334
+ .notes-menu__item svg {
1335
+ color: color-mix(in srgb, var(--popover-foreground) 56%, var(--muted-foreground));
1336
+ transition: color 140ms ease;
1337
+ }
1338
+
1339
+ .notes-menu__item:hover {
1340
+ background: color-mix(in srgb, var(--accent) 82%, transparent);
1341
+ color: var(--accent-foreground);
1342
+ transform: translateX(1px);
1343
+ }
1344
+
1345
+ .notes-menu__item:hover svg {
1346
+ color: currentColor;
1347
+ }
1348
+
1349
+ .notes-menu__item.is-danger {
1350
+ color: color-mix(in srgb, var(--error) 82%, var(--popover-foreground));
1351
+ }
1352
+
1353
+ .notes-menu__item.is-danger svg {
1354
+ color: color-mix(in srgb, var(--error) 66%, var(--muted-foreground));
1355
+ }
1356
+
1357
+ .notes-menu__item.is-danger:hover {
1358
+ background: color-mix(in srgb, var(--error) 12%, transparent);
1359
+ color: color-mix(in srgb, var(--error) 92%, var(--popover-foreground));
1360
+ }
1361
+
1362
+ .notes-editor {
1363
+ display: flex;
1364
+ flex-direction: column;
1365
+ gap: 1rem;
1366
+ }
1367
+
1368
+ .notes-editor__swatches {
1369
+ display: grid;
1370
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1371
+ gap: 0.55rem;
1372
+ margin-top: 0.45rem;
1373
+ }
1374
+
1375
+ .notes-editor__swatch {
1376
+ --notes-surface: color-mix(in srgb, var(--card) 92%, var(--notes-accent) 8%);
1377
+ --notes-border: color-mix(in srgb, var(--border) 74%, var(--notes-accent) 26%);
1378
+ position: relative;
1379
+ display: flex;
1380
+ align-items: center;
1381
+ justify-content: center;
1382
+ min-height: 2.8rem;
1383
+ border: 1px solid var(--notes-border);
1384
+ border-radius: 0.4rem;
1385
+ background: var(--notes-surface);
1386
+ color: color-mix(in srgb, var(--foreground) 84%, var(--notes-accent));
1387
+ font-size: 0.74rem;
1388
+ font-weight: 600;
1389
+ transition:
1390
+ border-color 140ms ease,
1391
+ transform 140ms ease,
1392
+ box-shadow 140ms ease;
1393
+ }
1394
+
1395
+ .notes-editor__swatch::before {
1396
+ content: '';
1397
+ position: absolute;
1398
+ inset: 0 auto 0 0;
1399
+ width: 3px;
1400
+ background: color-mix(in srgb, var(--notes-accent) 72%, white 28%);
1401
+ }
1402
+
1403
+ .notes-editor__swatch:hover {
1404
+ transform: translateY(-1px);
1405
+ }
1406
+
1407
+ .notes-editor__swatch.is-active {
1408
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--ring) 58%, transparent);
1409
+ }
1410
+
1411
+ .notes-editor textarea {
1412
+ background: color-mix(in srgb, var(--background) 94%, transparent);
1413
+ }
1414
+
1415
+ .notes-topic-row:focus-visible,
1416
+ .notes-page__mobile-topic:focus-visible,
1417
+ .notes-overview__zoom-button:focus-visible,
1418
+ .notes-overview__close:focus-visible,
1419
+ .notes-overview__surface:focus-visible,
1420
+ .notes-mobile-dock__action:focus-visible,
1421
+ .notes-trash__toggle:focus-visible,
1422
+ .notes-trash__panel-close:focus-visible,
1423
+ .notes-trash-section__clear:focus-visible,
1424
+ .notes-trash-note__actions button:focus-visible,
1425
+ .notes-menu__item:focus-visible,
1426
+ .notes-note__drag:focus-visible,
1427
+ .notes-note__icon-button:focus-visible,
1428
+ .notes-note__body:focus-visible,
1429
+ .notes-topic-composer__button:focus-visible,
1430
+ .notes-editor__swatch:focus-visible {
1431
+ outline: 2px solid var(--ring);
1432
+ outline-offset: 2px;
1433
+ }
1434
+
1435
+ .dark .notes-page::before {
1436
+ opacity: 0.2;
1437
+ }
1438
+
1439
+ .dark .notes-page__toolbar-copy,
1440
+ .dark .notes-overview,
1441
+ .dark .notes-mobile-dock,
1442
+ .dark .notes-trash__toggle,
1443
+ .dark .notes-trash__panel,
1444
+ .dark .notes-menu {
1445
+ box-shadow: 0 22px 42px color-mix(in srgb, black 34%, transparent);
1446
+ }
1447
+
1448
+ .dark .notes-overview__surface {
1449
+ background: color-mix(in srgb, var(--card) 84%, var(--background) 16%);
1450
+ box-shadow:
1451
+ 0 22px 42px color-mix(in srgb, black 34%, transparent),
1452
+ 0 1px 0 color-mix(in srgb, white 4%, transparent) inset;
1453
+ }
1454
+
1455
+ .dark .notes-trash-backdrop {
1456
+ background: color-mix(in srgb, black 40%, transparent);
1457
+ }
1458
+
1459
+ .dark .notes-overview-backdrop {
1460
+ background: color-mix(in srgb, black 44%, transparent);
1461
+ }
1462
+
1463
+ .dark .notes-note {
1464
+ --notes-surface: color-mix(in srgb, var(--card) 88%, var(--notes-accent) 12%);
1465
+ --notes-surface-strong: color-mix(in srgb, var(--card) 82%, var(--notes-accent) 18%);
1466
+ --notes-border: color-mix(in srgb, var(--border) 62%, var(--notes-accent) 38%);
1467
+ }
1468
+
1469
+ .dark .notes-note__surface {
1470
+ box-shadow:
1471
+ 0 18px 30px color-mix(in srgb, black 30%, transparent),
1472
+ 0 1px 0 color-mix(in srgb, white 4%, transparent) inset;
1473
+ }
1474
+
1475
+ .dark .notes-note.is-copied .notes-note__surface {
1476
+ box-shadow:
1477
+ 0 0 0 1px color-mix(in srgb, var(--success) 34%, transparent),
1478
+ 0 20px 36px color-mix(in srgb, black 32%, transparent),
1479
+ 0 1px 0 color-mix(in srgb, white 6%, transparent) inset;
1480
+ }
1481
+
1482
+ @media (max-width: 960px) {
1483
+ .notes-page__toolbar {
1484
+ top: 0.85rem;
1485
+ left: 0.85rem;
1486
+ right: 0.85rem;
1487
+ flex-direction: column;
1488
+ align-items: stretch;
1489
+ gap: 0.55rem;
1490
+ }
1491
+
1492
+ .notes-page__toolbar-copy {
1493
+ max-width: min(15rem, 100%);
1494
+ }
1495
+
1496
+ .notes-page__mobile-topics {
1497
+ display: flex;
1498
+ max-width: 100%;
1499
+ }
1500
+
1501
+ .notes-trash {
1502
+ right: 0.85rem;
1503
+ bottom: 0.85rem;
1504
+ }
1505
+
1506
+ .notes-trash__flyout {
1507
+ right: 0.85rem;
1508
+ left: 0.85rem;
1509
+ bottom: calc(0.85rem + env(safe-area-inset-bottom, 0px));
1510
+ width: auto;
1511
+ }
1512
+
1513
+ .notes-trash__panel {
1514
+ max-height: min(72dvh, 35rem);
1515
+ }
1516
+
1517
+ .notes-trash__sections {
1518
+ gap: 0.75rem;
1519
+ padding-left: 0.85rem;
1520
+ padding-right: 0.85rem;
1521
+ }
1522
+
1523
+ .notes-trash-section__grid {
1524
+ gap: 0.3rem;
1525
+ }
1526
+
1527
+ .notes-editor__swatches {
1528
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1529
+ }
1530
+ }
1531
+
1532
+ @media (max-width: 640px) {
1533
+ .notes-sidebar-shell {
1534
+ padding: 0.75rem;
1535
+ }
1536
+
1537
+ .notes-sidebar-hero__metrics {
1538
+ gap: 0.35rem 0.6rem;
1539
+ }
1540
+
1541
+ .notes-page__toolbar {
1542
+ top: 0.65rem;
1543
+ left: 0.65rem;
1544
+ right: 0.65rem;
1545
+ }
1546
+
1547
+ .notes-page__toolbar-copy {
1548
+ max-width: 100%;
1549
+ padding: 0.56rem 0.64rem 0.6rem;
1550
+ }
1551
+
1552
+ .notes-page__title {
1553
+ font-size: 0.92rem;
1554
+ }
1555
+
1556
+ .notes-page__mobile-topics {
1557
+ gap: 0.55rem;
1558
+ }
1559
+
1560
+ .notes-page__mobile-topic {
1561
+ padding-top: 0.48rem;
1562
+ padding-bottom: 0.48rem;
1563
+ font-size: 0.71rem;
1564
+ }
1565
+
1566
+ .notes-overview-flyout {
1567
+ left: 0.5rem;
1568
+ right: 0.5rem;
1569
+ bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
1570
+ }
1571
+
1572
+ .notes-overview__controls,
1573
+ .notes-overview__hud {
1574
+ top: 0.38rem;
1575
+ }
1576
+
1577
+ .notes-overview__hud {
1578
+ left: 0.38rem;
1579
+ }
1580
+
1581
+ .notes-overview__controls {
1582
+ right: 0.38rem;
1583
+ }
1584
+
1585
+ .notes-mobile-dock {
1586
+ left: 0.5rem;
1587
+ right: 4.55rem;
1588
+ bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
1589
+ justify-content: space-between;
1590
+ transform: none;
1591
+ }
1592
+
1593
+ .notes-mobile-dock__action {
1594
+ min-width: 0;
1595
+ flex: 1;
1596
+ }
1597
+
1598
+ .notes-trash__toggle {
1599
+ width: 3.15rem;
1600
+ height: 3.15rem;
1601
+ }
1602
+
1603
+ .notes-trash__flyout {
1604
+ right: 0.5rem;
1605
+ left: 0.5rem;
1606
+ bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
1607
+ }
1608
+
1609
+ .notes-trash__panel {
1610
+ max-height: min(78dvh, 42rem);
1611
+ border-radius: 0.42rem;
1612
+ }
1613
+
1614
+ .notes-trash__panel-header,
1615
+ .notes-trash__empty {
1616
+ padding-left: 0.85rem;
1617
+ padding-right: 0.85rem;
1618
+ }
1619
+
1620
+ .notes-trash__panel-title-row {
1621
+ align-items: flex-start;
1622
+ }
1623
+
1624
+ .notes-trash__panel-header-actions {
1625
+ gap: 0.35rem;
1626
+ }
1627
+
1628
+ .notes-trash-section__header {
1629
+ flex-direction: column;
1630
+ align-items: stretch;
1631
+ }
1632
+
1633
+ .notes-trash-section__clear {
1634
+ align-self: flex-start;
1635
+ }
1636
+ }
1637
+
1638
+ .notes-overlay {
1639
+ position: fixed;
1640
+ inset: 0;
1641
+ z-index: 58;
1642
+ pointer-events: none;
1643
+ padding: clamp(0.75rem, 1.4vw, 1.05rem);
1644
+ padding-left: clamp(4rem, 5vw, 4.85rem);
1645
+ }
1646
+
1647
+ .notes-overlay__frame {
1648
+ pointer-events: auto;
1649
+ position: relative;
1650
+ display: flex;
1651
+ flex-direction: column;
1652
+ height: 100%;
1653
+ overflow: hidden;
1654
+ border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
1655
+ border-radius: 0.72rem;
1656
+ background: color-mix(in srgb, var(--background) 90%, transparent);
1657
+ backdrop-filter: blur(18px) saturate(1.06);
1658
+ box-shadow:
1659
+ 0 28px 64px color-mix(in srgb, var(--foreground) 14%, transparent),
1660
+ 0 1px 0 color-mix(in srgb, white 10%, transparent) inset;
1661
+ }
1662
+
1663
+ .notes-overlay__header {
1664
+ display: flex;
1665
+ align-items: center;
1666
+ justify-content: space-between;
1667
+ gap: 0.7rem;
1668
+ padding: 0.48rem 0.72rem;
1669
+ border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
1670
+ background: color-mix(in srgb, var(--background) 92%, var(--card) 8%);
1671
+ }
1672
+
1673
+ .notes-overlay__header-brand {
1674
+ display: inline-flex;
1675
+ align-items: center;
1676
+ flex-wrap: wrap;
1677
+ gap: 0.46rem;
1678
+ min-width: 0;
1679
+ color: color-mix(in srgb, var(--foreground) 74%, var(--muted-foreground));
1680
+ font-size: 0.7rem;
1681
+ line-height: 1;
1682
+ }
1683
+
1684
+ .notes-overlay__header-title {
1685
+ color: var(--foreground);
1686
+ font-size: 0.74rem;
1687
+ font-weight: 700;
1688
+ letter-spacing: 0.08em;
1689
+ text-transform: uppercase;
1690
+ }
1691
+
1692
+ .notes-overlay__header-separator {
1693
+ width: 1px;
1694
+ height: 0.7rem;
1695
+ background: color-mix(in srgb, var(--border) 78%, transparent);
1696
+ }
1697
+
1698
+ .notes-overlay__header-stat {
1699
+ color: color-mix(in srgb, var(--foreground) 68%, var(--muted-foreground));
1700
+ font-size: 0.68rem;
1701
+ font-weight: 500;
1702
+ white-space: nowrap;
1703
+ }
1704
+
1705
+ .notes-overlay__eyebrow,
1706
+ .notes-flyout__title {
1707
+ color: color-mix(in srgb, var(--muted-foreground) 84%, transparent);
1708
+ font-size: 0.64rem;
1709
+ font-weight: 700;
1710
+ letter-spacing: 0.1em;
1711
+ line-height: 1;
1712
+ text-transform: uppercase;
1713
+ }
1714
+
1715
+ .notes-overlay__title-row {
1716
+ display: flex;
1717
+ align-items: center;
1718
+ gap: 0.5rem;
1719
+ margin-top: 0.32rem;
1720
+ }
1721
+
1722
+ .notes-overlay__title,
1723
+ .notes-overlay__board-title {
1724
+ color: var(--foreground);
1725
+ font-size: 1rem;
1726
+ font-weight: 650;
1727
+ letter-spacing: -0.02em;
1728
+ line-height: 1.08;
1729
+ }
1730
+
1731
+ .notes-overlay__scale,
1732
+ .notes-overlay__hud-scale {
1733
+ flex-shrink: 0;
1734
+ padding: 0.2rem 0.4rem;
1735
+ border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
1736
+ border-radius: 0.34rem;
1737
+ color: color-mix(in srgb, var(--foreground) 72%, var(--muted-foreground));
1738
+ font-family: var(--font-mono);
1739
+ font-size: 0.63rem;
1740
+ font-weight: 700;
1741
+ letter-spacing: 0.08em;
1742
+ line-height: 1;
1743
+ text-transform: uppercase;
1744
+ background: color-mix(in srgb, var(--card) 92%, transparent);
1745
+ }
1746
+
1747
+ .notes-overlay__meta {
1748
+ display: flex;
1749
+ flex-wrap: wrap;
1750
+ gap: 0.35rem 0.72rem;
1751
+ margin-top: 0.34rem;
1752
+ color: var(--muted-foreground);
1753
+ font-size: 0.69rem;
1754
+ line-height: 1.35;
1755
+ }
1756
+
1757
+ .notes-overlay__header-actions {
1758
+ display: flex;
1759
+ align-items: center;
1760
+ gap: 0.32rem;
1761
+ margin-left: auto;
1762
+ }
1763
+
1764
+ .notes-overlay__close,
1765
+ .notes-overlay__hud-button,
1766
+ .notes-flyout__close {
1767
+ display: grid;
1768
+ place-items: center;
1769
+ cursor: pointer;
1770
+ color: color-mix(in srgb, var(--foreground) 68%, var(--muted-foreground));
1771
+ border: 1px solid transparent;
1772
+ border-radius: 0.42rem;
1773
+ background: transparent;
1774
+ transition:
1775
+ color 140ms ease,
1776
+ background-color 140ms ease,
1777
+ border-color 140ms ease,
1778
+ transform 140ms ease;
1779
+ }
1780
+
1781
+ .notes-overlay__close {
1782
+ width: 1.85rem;
1783
+ height: 1.85rem;
1784
+ }
1785
+
1786
+ .notes-overlay__close:hover,
1787
+ .notes-flyout__close:hover,
1788
+ .notes-trash__panel-close:hover {
1789
+ color: var(--error-foreground);
1790
+ background: var(--error);
1791
+ border-color: var(--error);
1792
+ }
1793
+
1794
+ .notes-overlay__close:active,
1795
+ .notes-flyout__close:active {
1796
+ transform: scale(0.98);
1797
+ }
1798
+
1799
+ .notes-overlay__body {
1800
+ flex: 1;
1801
+ min-height: 0;
1802
+ display: grid;
1803
+ grid-template-columns: minmax(15rem, 17.2rem) minmax(0, 1fr);
1804
+ }
1805
+
1806
+ .notes-overlay__rail {
1807
+ display: flex;
1808
+ flex-direction: column;
1809
+ gap: 0.72rem;
1810
+ min-height: 0;
1811
+ overflow: auto;
1812
+ padding: 0.72rem;
1813
+ border-right: 1px solid color-mix(in srgb, var(--border) 66%, transparent);
1814
+ background: color-mix(in srgb, var(--sidebar) 95%, var(--background) 5%);
1815
+ }
1816
+
1817
+ .notes-overlay__rail-header {
1818
+ display: flex;
1819
+ align-items: center;
1820
+ justify-content: space-between;
1821
+ gap: 0.5rem;
1822
+ padding: 0 0.04rem 0.14rem;
1823
+ }
1824
+
1825
+ .notes-overlay__rail-heading {
1826
+ color: var(--foreground);
1827
+ font-size: 0.78rem;
1828
+ font-weight: 650;
1829
+ letter-spacing: 0.02em;
1830
+ }
1831
+
1832
+ .notes-overlay__rail-total {
1833
+ min-width: 1.8rem;
1834
+ padding: 0.16rem 0.34rem;
1835
+ border: 1px solid color-mix(in srgb, var(--sidebar-border) 80%, transparent);
1836
+ border-radius: 999px;
1837
+ color: color-mix(in srgb, var(--sidebar-foreground) 74%, var(--muted-foreground));
1838
+ font-family: var(--font-mono);
1839
+ font-size: 0.63rem;
1840
+ font-weight: 700;
1841
+ line-height: 1;
1842
+ text-align: center;
1843
+ }
1844
+
1845
+ .notes-overlay__topic-composer {
1846
+ padding: 0;
1847
+ }
1848
+
1849
+ .notes-page {
1850
+ position: relative;
1851
+ height: 100%;
1852
+ background: color-mix(in srgb, var(--background) 98%, var(--muted) 2%);
1853
+ }
1854
+
1855
+ .notes-page::before {
1856
+ opacity: 0.24;
1857
+ background-size: 40px 40px;
1858
+ }
1859
+
1860
+ .notes-overlay__board {
1861
+ min-width: 0;
1862
+ overflow: hidden;
1863
+ }
1864
+
1865
+ .notes-overlay__board-head {
1866
+ pointer-events: none;
1867
+ position: absolute;
1868
+ top: 0.72rem;
1869
+ left: 0.72rem;
1870
+ right: 0.72rem;
1871
+ z-index: 24;
1872
+ display: flex;
1873
+ align-items: flex-start;
1874
+ justify-content: space-between;
1875
+ gap: 0.8rem;
1876
+ }
1877
+
1878
+ .notes-overlay__board-topic {
1879
+ pointer-events: auto;
1880
+ display: flex;
1881
+ align-items: center;
1882
+ gap: 0.56rem;
1883
+ min-width: 0;
1884
+ max-width: min(18rem, calc(100% - 17rem));
1885
+ padding: 0.48rem 0.58rem;
1886
+ border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
1887
+ border-radius: 0.46rem;
1888
+ background: color-mix(in srgb, var(--card) 94%, transparent);
1889
+ backdrop-filter: blur(12px);
1890
+ box-shadow: 0 14px 28px color-mix(in srgb, var(--foreground) 7%, transparent);
1891
+ }
1892
+
1893
+ .notes-overlay__board-topic-copy {
1894
+ min-width: 0;
1895
+ }
1896
+
1897
+ .notes-overlay__board-meta {
1898
+ margin-top: 0.18rem;
1899
+ color: var(--muted-foreground);
1900
+ font-size: 0.67rem;
1901
+ line-height: 1.2;
1902
+ }
1903
+
1904
+ .notes-overlay__board-actions {
1905
+ pointer-events: auto;
1906
+ display: inline-flex;
1907
+ align-items: center;
1908
+ gap: 0.28rem;
1909
+ padding: 0.28rem;
1910
+ border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
1911
+ border-radius: 0.46rem;
1912
+ background: color-mix(in srgb, var(--card) 94%, transparent);
1913
+ backdrop-filter: blur(12px);
1914
+ box-shadow: 0 14px 28px color-mix(in srgb, var(--foreground) 7%, transparent);
1915
+ }
1916
+
1917
+ .notes-overlay__hud-button {
1918
+ width: 1.9rem;
1919
+ height: 1.9rem;
1920
+ border-color: color-mix(in srgb, var(--border) 0%, transparent);
1921
+ }
1922
+
1923
+ .notes-overlay__hud-button:hover {
1924
+ color: var(--foreground);
1925
+ background: color-mix(in srgb, var(--background) 84%, transparent);
1926
+ border-color: color-mix(in srgb, var(--border) 82%, transparent);
1927
+ transform: translateY(-1px);
1928
+ }
1929
+
1930
+ .notes-page__mobile-toolbar {
1931
+ display: none;
1932
+ }
1933
+
1934
+ .notes-page__canvas {
1935
+ inset: 0;
1936
+ }
1937
+
1938
+ .notes-canvas {
1939
+ background:
1940
+ linear-gradient(
1941
+ to right,
1942
+ color-mix(in srgb, var(--border) 14%, transparent) 1px,
1943
+ transparent 1px
1944
+ ),
1945
+ linear-gradient(
1946
+ to bottom,
1947
+ color-mix(in srgb, var(--border) 14%, transparent) 1px,
1948
+ transparent 1px
1949
+ ),
1950
+ color-mix(in srgb, var(--background) 98%, var(--muted) 2%);
1951
+ background-size: 40px 40px, 40px 40px, auto;
1952
+ }
1953
+
1954
+ .notes-topic-composer input {
1955
+ min-height: 2.1rem;
1956
+ border-radius: 0.46rem;
1957
+ }
1958
+
1959
+ .notes-topic-composer__button {
1960
+ width: 2.1rem;
1961
+ height: 2.1rem;
1962
+ border: 1px solid transparent;
1963
+ border-radius: 0.46rem;
1964
+ }
1965
+
1966
+ .notes-topic-composer__button:hover {
1967
+ border-color: color-mix(in srgb, var(--sidebar-border) 82%, transparent);
1968
+ transform: none;
1969
+ }
1970
+
1971
+ .notes-topic-tone--amber {
1972
+ --notes-topic-accent: oklch(0.76 0.12 84);
1973
+ }
1974
+
1975
+ .notes-topic-tone--coral {
1976
+ --notes-topic-accent: oklch(0.72 0.14 34);
1977
+ }
1978
+
1979
+ .notes-topic-tone--mint {
1980
+ --notes-topic-accent: oklch(0.77 0.1 166);
1981
+ }
1982
+
1983
+ .notes-topic-tone--sky {
1984
+ --notes-topic-accent: oklch(0.74 0.09 241);
1985
+ }
1986
+
1987
+ .notes-topic-tone--plum {
1988
+ --notes-topic-accent: oklch(0.67 0.1 312);
1989
+ }
1990
+
1991
+ .notes-topic-tone--rose {
1992
+ --notes-topic-accent: oklch(0.74 0.09 8);
1993
+ }
1994
+
1995
+ .notes-topic-mark {
1996
+ display: grid;
1997
+ place-items: center;
1998
+ width: 1.7rem;
1999
+ height: 1.7rem;
2000
+ color: color-mix(in srgb, var(--notes-topic-accent) 78%, var(--foreground));
2001
+ border: 1px solid color-mix(in srgb, var(--notes-topic-accent) 28%, var(--border));
2002
+ border-radius: 0.48rem;
2003
+ background: color-mix(in srgb, var(--background) 88%, var(--notes-topic-accent) 12%);
2004
+ box-shadow: 0 1px 0 color-mix(in srgb, white 8%, transparent) inset;
2005
+ }
2006
+
2007
+ .notes-topic-mark--board {
2008
+ width: 1.9rem;
2009
+ height: 1.9rem;
2010
+ }
2011
+
2012
+ .notes-topic-mark--trash {
2013
+ width: 1.45rem;
2014
+ height: 1.45rem;
2015
+ border-radius: 0.4rem;
2016
+ }
2017
+
2018
+ .notes-topic-mark__icon {
2019
+ width: 1rem;
2020
+ height: 1rem;
2021
+ }
2022
+
2023
+ .notes-topic-mark--board .notes-topic-mark__icon {
2024
+ width: 1.08rem;
2025
+ height: 1.08rem;
2026
+ }
2027
+
2028
+ .notes-topic-row {
2029
+ grid-template-columns: auto minmax(0, 1fr) auto;
2030
+ min-height: 2.65rem;
2031
+ padding: 0.5rem 0.58rem;
2032
+ border: 1px solid transparent;
2033
+ border-radius: 0.46rem;
2034
+ }
2035
+
2036
+ .notes-topic-row::before {
2037
+ left: 0.32rem;
2038
+ top: 0.42rem;
2039
+ bottom: 0.42rem;
2040
+ width: 2px;
2041
+ }
2042
+
2043
+ .notes-topic-row:hover {
2044
+ background: color-mix(in srgb, var(--sidebar-accent) 58%, transparent);
2045
+ border-color: color-mix(in srgb, var(--sidebar-border) 70%, transparent);
2046
+ }
2047
+
2048
+ .notes-topic-row.is-active {
2049
+ border-color: color-mix(in srgb, var(--sidebar-primary) 18%, var(--sidebar-border));
2050
+ }
2051
+
2052
+ .notes-topic-row__tail {
2053
+ display: flex;
2054
+ align-items: center;
2055
+ gap: 0.16rem;
2056
+ margin-left: 0.1rem;
2057
+ }
2058
+
2059
+ .notes-topic-row__title-line {
2060
+ display: flex;
2061
+ align-items: center;
2062
+ min-width: 0;
2063
+ }
2064
+
2065
+ .notes-topic-row__edit,
2066
+ .notes-topic-row__edit-button {
2067
+ display: grid;
2068
+ place-items: center;
2069
+ width: 1.58rem;
2070
+ height: 1.58rem;
2071
+ cursor: pointer;
2072
+ color: color-mix(in srgb, var(--sidebar-foreground) 58%, var(--muted-foreground));
2073
+ border: 1px solid transparent;
2074
+ border-radius: 0.38rem;
2075
+ transition:
2076
+ color 140ms ease,
2077
+ background-color 140ms ease,
2078
+ border-color 140ms ease,
2079
+ transform 140ms ease,
2080
+ opacity 140ms ease;
2081
+ }
2082
+
2083
+ .notes-topic-row__edit {
2084
+ opacity: 0.56;
2085
+ }
2086
+
2087
+ .notes-topic-row:hover .notes-topic-row__edit,
2088
+ .notes-topic-row.is-active .notes-topic-row__edit {
2089
+ opacity: 1;
2090
+ }
2091
+
2092
+ .notes-topic-row__edit:hover,
2093
+ .notes-topic-row__edit-button:hover {
2094
+ color: var(--foreground);
2095
+ background: color-mix(in srgb, var(--background) 84%, transparent);
2096
+ border-color: color-mix(in srgb, var(--sidebar-border) 72%, transparent);
2097
+ transform: translateY(-1px);
2098
+ }
2099
+
2100
+ .notes-topic-row__delete:hover:not(:disabled) {
2101
+ color: var(--error);
2102
+ background: color-mix(in srgb, var(--error) 10%, var(--background));
2103
+ border-color: color-mix(in srgb, var(--error) 24%, var(--sidebar-border));
2104
+ }
2105
+
2106
+ .notes-topic-row__delete:disabled {
2107
+ opacity: 0.22;
2108
+ cursor: default;
2109
+ pointer-events: none;
2110
+ }
2111
+
2112
+ .notes-topic-row__editor {
2113
+ display: grid;
2114
+ grid-template-columns: minmax(0, 1fr) auto auto;
2115
+ align-items: center;
2116
+ gap: 0.28rem;
2117
+ width: 100%;
2118
+ }
2119
+
2120
+ .notes-topic-row__editor .relative {
2121
+ min-width: 0;
2122
+ }
2123
+
2124
+ .notes-topic-row__editor input {
2125
+ min-height: 1.9rem;
2126
+ font-size: 0.76rem;
2127
+ border-radius: 0.4rem;
2128
+ }
2129
+
2130
+ .notes-topic-row__edit:active,
2131
+ .notes-topic-row__edit-button:active {
2132
+ transform: translateY(0);
2133
+ }
2134
+
2135
+ .notes-note {
2136
+ --notes-surface: color-mix(in srgb, var(--card) 96%, var(--notes-accent) 4%);
2137
+ --notes-surface-strong: color-mix(in srgb, var(--card) 92%, var(--notes-accent) 8%);
2138
+ --notes-border: color-mix(in srgb, var(--border) 78%, var(--notes-accent) 22%);
2139
+ --notes-ink: color-mix(in srgb, var(--card-foreground) 94%, var(--notes-accent) 6%);
2140
+ }
2141
+
2142
+ .notes-note__surface {
2143
+ border-radius: 0.52rem;
2144
+ box-shadow:
2145
+ 0 14px 24px color-mix(in srgb, var(--foreground) 8%, transparent),
2146
+ 0 1px 0 color-mix(in srgb, white 9%, transparent) inset;
2147
+ }
2148
+
2149
+ .notes-note__surface::before {
2150
+ width: 2px;
2151
+ }
2152
+
2153
+ .notes-note:hover .notes-note__surface,
2154
+ .notes-note:focus-within .notes-note__surface {
2155
+ transform: translateY(-2px);
2156
+ box-shadow:
2157
+ 0 18px 30px color-mix(in srgb, var(--foreground) 11%, transparent),
2158
+ 0 1px 0 color-mix(in srgb, white 11%, transparent) inset;
2159
+ }
2160
+
2161
+ .notes-note.is-dragging .notes-note__surface {
2162
+ transform: rotate(-0.35deg);
2163
+ }
2164
+
2165
+ .notes-note.is-copied .notes-note__surface {
2166
+ transform: translateY(-2px);
2167
+ }
2168
+
2169
+ .notes-note__header {
2170
+ padding: 0.48rem 0.54rem 0;
2171
+ }
2172
+
2173
+ .notes-note__drag {
2174
+ width: 1.48rem;
2175
+ height: 1.48rem;
2176
+ border-radius: 0.36rem;
2177
+ cursor: move;
2178
+ }
2179
+
2180
+ .notes-note__drag:hover {
2181
+ cursor: move;
2182
+ }
2183
+
2184
+ .notes-note.is-dragging .notes-note__drag,
2185
+ .notes-note__drag:active {
2186
+ cursor: grabbing;
2187
+ }
2188
+
2189
+ .notes-note__icon-button {
2190
+ width: 1.56rem;
2191
+ height: 1.56rem;
2192
+ border-radius: 0.36rem;
2193
+ }
2194
+
2195
+ .notes-note__body {
2196
+ padding: 0.14rem 0.82rem 0.8rem;
2197
+ }
2198
+
2199
+ .notes-note__body span {
2200
+ font-size: 0.82rem;
2201
+ }
2202
+
2203
+ .notes-note__copied-pill {
2204
+ gap: 0.44rem;
2205
+ padding: 0.44rem 0.74rem;
2206
+ border-radius: 999px;
2207
+ background: color-mix(in srgb, var(--background) 82%, transparent);
2208
+ }
2209
+
2210
+ .notes-note__copied-copy {
2211
+ letter-spacing: 0.14em;
2212
+ }
2213
+
2214
+ .notes-overview--desktop {
2215
+ left: 0.85rem;
2216
+ bottom: 0.85rem;
2217
+ }
2218
+
2219
+ .notes-overview__surface,
2220
+ .notes-trash__panel,
2221
+ .notes-menu,
2222
+ .notes-flyout {
2223
+ border-radius: 0.62rem;
2224
+ }
2225
+
2226
+ .notes-mobile-dock {
2227
+ border-radius: 0.56rem;
2228
+ }
2229
+
2230
+ .notes-trash {
2231
+ right: 1rem;
2232
+ bottom: 1rem;
2233
+ }
2234
+
2235
+ .notes-trash__toggle {
2236
+ width: 3.7rem;
2237
+ height: 3.7rem;
2238
+ border-radius: 0.92rem;
2239
+ background: color-mix(in srgb, var(--card) 92%, transparent);
2240
+ }
2241
+
2242
+ .notes-trash__toggle-mark {
2243
+ width: 2rem;
2244
+ height: 2rem;
2245
+ }
2246
+
2247
+ .notes-trash__toggle:hover {
2248
+ transform: translateY(-1px);
2249
+ }
2250
+
2251
+ .notes-trash__toggle-icon {
2252
+ width: 100%;
2253
+ height: 100%;
2254
+ }
2255
+
2256
+ .notes-trash-backdrop {
2257
+ background: color-mix(in srgb, var(--background) 8%, transparent);
2258
+ backdrop-filter: none;
2259
+ }
2260
+
2261
+ .notes-trash__flyout {
2262
+ right: 1.15rem;
2263
+ bottom: 1.15rem;
2264
+ width: min(60rem, calc(100vw - 6.5rem));
2265
+ }
2266
+
2267
+ .notes-trash__panel {
2268
+ max-height: min(36rem, calc(100dvh - 6rem));
2269
+ background: color-mix(in srgb, var(--popover) 96%, transparent);
2270
+ }
2271
+
2272
+ .notes-trash__panel-header {
2273
+ padding: 0.92rem 1rem 0.88rem;
2274
+ }
2275
+
2276
+ .notes-trash__panel-title {
2277
+ font-size: 0.84rem;
2278
+ letter-spacing: 0.02em;
2279
+ text-transform: uppercase;
2280
+ }
2281
+
2282
+ .notes-trash__sections {
2283
+ gap: 0.78rem;
2284
+ }
2285
+
2286
+ .notes-trash-section__grid {
2287
+ gap: 0.28rem;
2288
+ }
2289
+
2290
+ .notes-trash-note__actions button,
2291
+ .notes-trash-section__clear,
2292
+ .notes-menu__item {
2293
+ cursor: pointer;
2294
+ }
2295
+
2296
+ .notes-menu-backdrop {
2297
+ background: transparent;
2298
+ }
2299
+
2300
+ .notes-menu {
2301
+ width: 12.5rem;
2302
+ }
2303
+
2304
+ .notes-flyout {
2305
+ position: fixed;
2306
+ top: 4.75rem;
2307
+ right: 1.15rem;
2308
+ z-index: 72;
2309
+ width: min(29rem, calc(100vw - 6.5rem));
2310
+ padding: 0.9rem;
2311
+ border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
2312
+ background: color-mix(in srgb, var(--popover) 96%, transparent);
2313
+ backdrop-filter: blur(18px);
2314
+ box-shadow:
2315
+ 0 26px 54px color-mix(in srgb, var(--foreground) 16%, transparent),
2316
+ 0 1px 0 color-mix(in srgb, white 10%, transparent) inset;
2317
+ }
2318
+
2319
+ .notes-flyout--paste {
2320
+ width: min(33rem, calc(100vw - 6.5rem));
2321
+ }
2322
+
2323
+ .notes-flyout__header {
2324
+ display: flex;
2325
+ align-items: flex-start;
2326
+ justify-content: space-between;
2327
+ gap: 0.75rem;
2328
+ margin-bottom: 0.85rem;
2329
+ }
2330
+
2331
+ .notes-flyout__title {
2332
+ margin-top: 0.32rem;
2333
+ color: var(--foreground);
2334
+ font-size: 0.94rem;
2335
+ font-weight: 650;
2336
+ letter-spacing: -0.02em;
2337
+ line-height: 1.15;
2338
+ text-transform: none;
2339
+ }
2340
+
2341
+ .notes-flyout__close {
2342
+ width: 1.95rem;
2343
+ height: 1.95rem;
2344
+ }
2345
+
2346
+ .notes-flyout__body {
2347
+ display: flex;
2348
+ flex-direction: column;
2349
+ gap: 0.85rem;
2350
+ }
2351
+
2352
+ .notes-flyout__footer {
2353
+ display: flex;
2354
+ justify-content: flex-end;
2355
+ gap: 0.55rem;
2356
+ margin-top: 0.95rem;
2357
+ }
2358
+
2359
+ .notes-editor {
2360
+ gap: 0.95rem;
2361
+ }
2362
+
2363
+ .notes-editor__swatches {
2364
+ gap: 0.45rem;
2365
+ }
2366
+
2367
+ .notes-editor__swatch {
2368
+ min-height: 2.55rem;
2369
+ border-radius: 0.46rem;
2370
+ }
2371
+
2372
+ .notes-editor textarea,
2373
+ .notes-flyout textarea {
2374
+ background: color-mix(in srgb, var(--background) 94%, transparent);
2375
+ border-radius: 0.5rem;
2376
+ }
2377
+
2378
+ .notes-overlay__close:focus-visible,
2379
+ .notes-overlay__hud-button:focus-visible,
2380
+ .notes-flyout__close:focus-visible,
2381
+ .notes-topic-row__edit:focus-visible,
2382
+ .notes-topic-row__edit-button:focus-visible {
2383
+ outline: 2px solid var(--ring);
2384
+ outline-offset: 2px;
2385
+ }
2386
+
2387
+ .dark .notes-overlay__frame,
2388
+ .dark .notes-flyout,
2389
+ .dark .notes-trash__panel,
2390
+ .dark .notes-menu {
2391
+ box-shadow: 0 26px 56px color-mix(in srgb, black 36%, transparent);
2392
+ }
2393
+
2394
+ .dark .notes-overlay__frame {
2395
+ background: color-mix(in srgb, var(--background) 84%, transparent);
2396
+ }
2397
+
2398
+ @media (max-width: 960px) {
2399
+ .notes-overlay {
2400
+ padding: 0.65rem;
2401
+ padding-left: 0.65rem;
2402
+ }
2403
+
2404
+ .notes-overlay__header {
2405
+ gap: 0.55rem;
2406
+ padding: 0.54rem 0.68rem;
2407
+ }
2408
+
2409
+ .notes-overlay__body {
2410
+ grid-template-columns: minmax(0, 1fr);
2411
+ grid-template-rows: auto minmax(0, 1fr);
2412
+ }
2413
+
2414
+ .notes-overlay__rail {
2415
+ gap: 0.64rem;
2416
+ padding: 0.68rem;
2417
+ border-right: none;
2418
+ border-bottom: 1px solid color-mix(in srgb, var(--border) 66%, transparent);
2419
+ }
2420
+
2421
+ .notes-topic-list {
2422
+ flex-direction: row;
2423
+ overflow-x: auto;
2424
+ padding-bottom: 0.15rem;
2425
+ scrollbar-width: none;
2426
+ }
2427
+
2428
+ .notes-topic-list::-webkit-scrollbar {
2429
+ display: none;
2430
+ }
2431
+
2432
+ .notes-topic-row {
2433
+ flex: 0 0 13rem;
2434
+ }
2435
+
2436
+ .notes-overlay__board-head {
2437
+ top: 0.72rem;
2438
+ left: 0.72rem;
2439
+ right: 0.72rem;
2440
+ }
2441
+
2442
+ .notes-overlay__board-topic {
2443
+ max-width: min(16rem, calc(100% - 14rem));
2444
+ }
2445
+
2446
+ .notes-page__mobile-toolbar {
2447
+ display: none;
2448
+ }
2449
+
2450
+ .notes-trash {
2451
+ right: 0.85rem;
2452
+ bottom: 0.85rem;
2453
+ }
2454
+
2455
+ .notes-trash__flyout,
2456
+ .notes-flyout,
2457
+ .notes-flyout--paste {
2458
+ right: 0.85rem;
2459
+ width: min(34rem, calc(100vw - 1.7rem));
2460
+ }
2461
+ }
2462
+
2463
+ @media (max-width: 640px) {
2464
+ .notes-overlay {
2465
+ padding: 0.5rem;
2466
+ }
2467
+
2468
+ .notes-overlay__frame {
2469
+ border-radius: 0.58rem;
2470
+ }
2471
+
2472
+ .notes-overlay__header {
2473
+ padding: 0.48rem 0.56rem;
2474
+ }
2475
+
2476
+ .notes-overlay__rail {
2477
+ padding: 0.56rem;
2478
+ }
2479
+
2480
+ .notes-overlay__header-brand {
2481
+ gap: 0.34rem 0.44rem;
2482
+ }
2483
+
2484
+ .notes-overlay__header-separator {
2485
+ display: none;
2486
+ }
2487
+
2488
+ .notes-overlay__header-stat {
2489
+ font-size: 0.64rem;
2490
+ }
2491
+
2492
+ .notes-overlay__board-head {
2493
+ gap: 0.5rem;
2494
+ top: 0.6rem;
2495
+ left: 0.6rem;
2496
+ right: 0.6rem;
2497
+ flex-direction: column;
2498
+ align-items: stretch;
2499
+ }
2500
+
2501
+ .notes-overlay__board-topic {
2502
+ max-width: none;
2503
+ padding: 0.44rem 0.52rem;
2504
+ }
2505
+
2506
+ .notes-overlay__board-actions {
2507
+ align-self: flex-end;
2508
+ }
2509
+
2510
+ .notes-topic-row {
2511
+ flex-basis: 12rem;
2512
+ }
2513
+
2514
+ .notes-mobile-dock {
2515
+ left: 0.5rem;
2516
+ right: 4.6rem;
2517
+ bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
2518
+ transform: none;
2519
+ }
2520
+
2521
+ .notes-trash {
2522
+ right: 0.5rem;
2523
+ bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
2524
+ }
2525
+
2526
+ .notes-trash__toggle {
2527
+ width: 3.3rem;
2528
+ height: 3.3rem;
2529
+ border-radius: 0.8rem;
2530
+ }
2531
+
2532
+ .notes-trash__flyout {
2533
+ right: 0.5rem;
2534
+ left: 0.5rem;
2535
+ width: auto;
2536
+ bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
2537
+ }
2538
+
2539
+ .notes-flyout,
2540
+ .notes-flyout--paste {
2541
+ top: auto;
2542
+ right: 0.5rem;
2543
+ left: 0.5rem;
2544
+ bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
2545
+ width: auto;
2546
+ max-height: min(72dvh, 40rem);
2547
+ overflow: auto;
2548
+ }
2549
+ }
2550
+ }