@dirwell/theme-ledger 0.0.0-stage → 0.0.1-alpha.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,815 @@
1
+
2
+ :root {
3
+ color-scheme: light dark;
4
+ --dw-control-height: 2.75rem;
5
+ --dw-sticky-header-height: 3.4rem;
6
+ --dw-sticky-columns-height: calc(var(--dw-control-height) + 2px);
7
+ --paper: #f3f0e8;
8
+ --surface: #fbfaf6;
9
+ --ink: #171815;
10
+ --muted: #64655f;
11
+ --rule: #c9c5ba;
12
+ --soft-rule: #e3dfd5;
13
+ --accent: #174ea6;
14
+ --accent-strong: #103973;
15
+ --focus: #005fcc;
16
+ --hover: #f0eee7;
17
+ --control: #fff;
18
+ --status: #34705c;
19
+ --warning: #9a4616;
20
+ --shadow: 0 30px 80px rgba(46, 46, 40, 0.14);
21
+ }
22
+ :root[data-theme="light"] {
23
+ color-scheme: light;
24
+ --paper: #f3f0e8;
25
+ --surface: #fbfaf6;
26
+ --ink: #171815;
27
+ --muted: #64655f;
28
+ --rule: #c9c5ba;
29
+ --soft-rule: #e3dfd5;
30
+ --accent: #174ea6;
31
+ --accent-strong: #103973;
32
+ --focus: #005fcc;
33
+ --hover: #f0eee7;
34
+ --control: #fff;
35
+ --status: #34705c;
36
+ --warning: #9a4616;
37
+ --shadow: 0 30px 80px rgba(46, 46, 40, 0.14);
38
+ }
39
+ :root[data-theme="dark"] {
40
+ color-scheme: dark;
41
+ --paper: #11130f;
42
+ --surface: #191b17;
43
+ --ink: #f2f0e8;
44
+ --muted: #b1b4ab;
45
+ --rule: #474a42;
46
+ --soft-rule: #30332d;
47
+ --accent: #91bff0;
48
+ --accent-strong: #b7d5f4;
49
+ --focus: #78b7f4;
50
+ --hover: #22251f;
51
+ --control: #10120f;
52
+ --status: #8bc0aa;
53
+ --warning: #f0a06d;
54
+ --shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
55
+ }
56
+ @media (prefers-color-scheme: dark) {
57
+ :root[data-theme="system"] {
58
+ --paper: #11130f;
59
+ --surface: #191b17;
60
+ --ink: #f2f0e8;
61
+ --muted: #b1b4ab;
62
+ --rule: #474a42;
63
+ --soft-rule: #30332d;
64
+ --accent: #91bff0;
65
+ --accent-strong: #b7d5f4;
66
+ --focus: #78b7f4;
67
+ --hover: #22251f;
68
+ --control: #10120f;
69
+ --status: #8bc0aa;
70
+ --warning: #f0a06d;
71
+ --shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
72
+ }
73
+ }
74
+ * {
75
+ box-sizing: border-box;
76
+ }
77
+ html {
78
+ min-height: 100%;
79
+ scroll-padding-top: calc(
80
+ var(--dw-sticky-header-height) + var(--dw-sticky-columns-height) + 0.5rem
81
+ );
82
+ background: var(--paper);
83
+ color: var(--ink);
84
+ }
85
+ body {
86
+ min-width: 0;
87
+ margin: 0;
88
+ padding: clamp(1rem, 5vw, 4rem);
89
+ font:
90
+ 15px/1.45 ui-sans-serif,
91
+ system-ui,
92
+ -apple-system,
93
+ BlinkMacSystemFont,
94
+ "Segoe UI",
95
+ sans-serif;
96
+ font-variant-numeric: tabular-nums;
97
+ }
98
+ button,
99
+ input,
100
+ select {
101
+ font: inherit;
102
+ }
103
+ main {
104
+ width: min(72rem, 100%);
105
+ margin: 0 auto;
106
+ background: var(--surface);
107
+ border: 1px solid var(--rule);
108
+ border-radius: 0.875rem;
109
+ box-shadow: var(--shadow);
110
+ overflow: visible;
111
+ }
112
+ main > header {
113
+ position: sticky;
114
+ top: 0;
115
+ z-index: 3;
116
+ background: var(--surface);
117
+ border-radius: calc(0.875rem - 1px) calc(0.875rem - 1px) 0 0;
118
+ }
119
+ main[data-sticky-header-disabled] > header {
120
+ position: static;
121
+ }
122
+ .chrome {
123
+ display: flex;
124
+ flex-wrap: wrap;
125
+ min-height: 3.4rem;
126
+ align-items: center;
127
+ justify-content: space-between;
128
+ gap: 1rem;
129
+ padding: 0 1.4rem;
130
+ border-bottom: 1px solid var(--soft-rule);
131
+ }
132
+ .breadcrumbs {
133
+ display: flex;
134
+ min-width: 0;
135
+ align-items: center;
136
+ flex-wrap: wrap;
137
+ gap: 0.15rem;
138
+ font-size: 0.95rem;
139
+ font-weight: 650;
140
+ }
141
+ .breadcrumbs a,
142
+ .breadcrumbs span {
143
+ color: inherit;
144
+ overflow-wrap: anywhere;
145
+ min-width: 0;
146
+ }
147
+ .breadcrumbs a {
148
+ color: var(--accent);
149
+ text-decoration-thickness: 0.08em;
150
+ display: inline-flex;
151
+ min-height: var(--dw-control-height);
152
+ align-items: center;
153
+ padding: 0 0.2rem;
154
+ }
155
+ .separator {
156
+ display: inline-flex;
157
+ color: var(--muted);
158
+ font-weight: 400;
159
+ }
160
+ .summary {
161
+ margin: 0;
162
+ color: var(--muted);
163
+ font-size: 0.76rem;
164
+ letter-spacing: 0.08em;
165
+ text-transform: uppercase;
166
+ white-space: nowrap;
167
+ }
168
+ .toolbar {
169
+ display: flex;
170
+ justify-content: space-between;
171
+ gap: 1rem;
172
+ padding: 1.25rem 1.4rem;
173
+ align-items: flex-start;
174
+ }
175
+ .search-cluster {
176
+ display: flex;
177
+ flex-wrap: wrap;
178
+ min-width: 0;
179
+ flex: 1;
180
+ gap: 0.6rem;
181
+ align-items: center;
182
+ }
183
+ .search {
184
+ display: flex;
185
+ align-items: center;
186
+ gap: 0.55rem;
187
+ width: min(28rem, 100%);
188
+ min-height: var(--dw-control-height);
189
+ padding: 0.5rem 0.7rem;
190
+ border: 1px solid var(--rule);
191
+ border-radius: 0.5rem;
192
+ background: var(--control);
193
+ }
194
+ .search:focus-within {
195
+ outline: 3px solid var(--focus);
196
+ outline-offset: 2px;
197
+ }
198
+ .search input {
199
+ width: 100%;
200
+ min-width: 0;
201
+ border: 0;
202
+ outline: 0;
203
+ background: transparent;
204
+ color: var(--ink);
205
+ }
206
+ .search input::placeholder {
207
+ color: var(--muted);
208
+ opacity: 1;
209
+ }
210
+ .type-filters {
211
+ display: flex;
212
+ flex-wrap: nowrap;
213
+ align-items: center;
214
+ min-width: 0;
215
+ min-height: var(--dw-control-height);
216
+ max-width: 100%;
217
+ margin: 0;
218
+ padding: 0;
219
+ border: 1px solid var(--rule);
220
+ border-radius: 0.5rem;
221
+ background: var(--control);
222
+ color: var(--ink);
223
+ font-size: 0.78rem;
224
+ overflow: hidden;
225
+ }
226
+ .type-filters label {
227
+ position: relative;
228
+ display: inline-flex;
229
+ align-items: center;
230
+ justify-content: center;
231
+ min-height: calc(var(--dw-control-height) - 2px);
232
+ padding: 0.35rem 0.7rem;
233
+ white-space: nowrap;
234
+ cursor: pointer;
235
+ }
236
+ .type-filters label + label {
237
+ border-left: 1px solid var(--rule);
238
+ }
239
+ .type-filters label:hover {
240
+ background: var(--hover);
241
+ }
242
+ .type-filters label:has(input:checked) {
243
+ background: color-mix(in srgb, var(--accent) 16%, var(--control));
244
+ color: var(--accent-strong);
245
+ }
246
+ .type-filters label:has(input:focus-visible) {
247
+ box-shadow: inset 0 0 0 3px var(--focus);
248
+ }
249
+ .type-filters input {
250
+ position: absolute;
251
+ width: 1px;
252
+ height: 1px;
253
+ margin: 0;
254
+ opacity: 0;
255
+ }
256
+ .sort-menu select {
257
+ min-height: var(--dw-control-height);
258
+ border: 1px solid var(--rule);
259
+ border-radius: 0.5rem;
260
+ background: var(--control);
261
+ color: var(--ink);
262
+ padding: 0.35rem 1.8rem 0.35rem 0.55rem;
263
+ }
264
+ .search-all,
265
+ .dialog-close {
266
+ min-height: var(--dw-control-height);
267
+ border: 1px solid var(--rule);
268
+ border-radius: 0.5rem;
269
+ padding: 0.4rem 0.75rem;
270
+ background: var(--control);
271
+ color: var(--accent);
272
+ white-space: nowrap;
273
+ cursor: pointer;
274
+ }
275
+ .search-all:hover,
276
+ .dialog-close:hover {
277
+ background: var(--hover);
278
+ }
279
+ .global-search {
280
+ width: min(58rem, calc(100vw - 2rem));
281
+ max-height: min(85vh, 55rem);
282
+ padding: 0;
283
+ border: 1px solid var(--rule);
284
+ border-radius: 0.875rem;
285
+ background: var(--surface);
286
+ color: var(--ink);
287
+ box-shadow: var(--shadow);
288
+ }
289
+ .global-search::backdrop {
290
+ background: rgba(10, 12, 10, 0.62);
291
+ }
292
+ .global-search-head,
293
+ .global-search-controls {
294
+ display: flex;
295
+ align-items: center;
296
+ gap: 0.75rem;
297
+ padding: 1rem 1.25rem;
298
+ }
299
+ .global-search-head {
300
+ flex-wrap: wrap;
301
+ justify-content: space-between;
302
+ border-bottom: 1px solid var(--soft-rule);
303
+ }
304
+ .global-search h2 {
305
+ margin: 0;
306
+ font-size: 1.2rem;
307
+ }
308
+ .global-search > p {
309
+ margin: 0;
310
+ padding: 0.75rem 1.25rem;
311
+ color: var(--muted);
312
+ }
313
+ .global-search-controls .search {
314
+ flex: 1;
315
+ }
316
+ .global-results {
317
+ max-height: 50vh;
318
+ overflow: auto;
319
+ }
320
+ .virtual-spacer {
321
+ display: block;
322
+ padding: 0;
323
+ margin: 0;
324
+ border: 0;
325
+ pointer-events: none;
326
+ }
327
+ .toolbar-actions {
328
+ display: flex;
329
+ align-items: flex-start;
330
+ gap: 0.6rem;
331
+ }
332
+ .scheme {
333
+ display: inline-flex;
334
+ align-items: center;
335
+ gap: 0.45rem;
336
+ color: var(--muted);
337
+ font-size: 0.78rem;
338
+ white-space: nowrap;
339
+ }
340
+ .scheme select {
341
+ min-height: var(--dw-control-height);
342
+ border: 1px solid var(--rule);
343
+ border-radius: 0.5rem;
344
+ padding: 0.35rem 1.65rem 0.35rem 0.6rem;
345
+ background: var(--control);
346
+ color: var(--ink);
347
+ cursor: pointer;
348
+ }
349
+ .sort-panel {
350
+ position: relative;
351
+ }
352
+ .sort-panel > summary {
353
+ display: flex;
354
+ min-height: var(--dw-control-height);
355
+ align-items: center;
356
+ list-style: none;
357
+ border: 1px solid var(--rule);
358
+ border-radius: 0.5rem;
359
+ background: var(--control);
360
+ padding: 0.45rem 0.7rem;
361
+ cursor: pointer;
362
+ }
363
+ .sort-panel > summary::-webkit-details-marker {
364
+ display: none;
365
+ }
366
+ .sort-panel[open] > summary {
367
+ outline: 2px solid var(--focus);
368
+ outline-offset: 1px;
369
+ }
370
+ .sort-menu {
371
+ position: absolute;
372
+ z-index: 2;
373
+ right: 0;
374
+ top: calc(100% + 0.4rem);
375
+ display: grid;
376
+ grid-template-columns: minmax(0, 1fr);
377
+ width: 16rem;
378
+ gap: 0.7rem;
379
+ padding: 1rem;
380
+ border: 1px solid var(--rule);
381
+ border-radius: 0.75rem;
382
+ background: var(--surface);
383
+ box-shadow: var(--shadow);
384
+ }
385
+ .sort-menu select {
386
+ min-width: 0;
387
+ width: 100%;
388
+ }
389
+ .sort-menu label {
390
+ display: grid;
391
+ gap: 0.3rem;
392
+ color: var(--muted);
393
+ font-size: 0.76rem;
394
+ }
395
+ .sort-menu label[hidden] {
396
+ display: none;
397
+ }
398
+ .sort-menu label:last-child {
399
+ display: flex;
400
+ align-items: center;
401
+ color: var(--ink);
402
+ }
403
+ .entry-head,
404
+ .entry {
405
+ display: grid;
406
+ grid-template-columns: minmax(12rem, 1fr) minmax(8rem, auto) 12rem;
407
+ gap: 1.25rem;
408
+ }
409
+ .entry-head {
410
+ position: sticky;
411
+ top: var(--dw-sticky-header-height);
412
+ z-index: 2;
413
+ min-height: var(--dw-control-height);
414
+ align-items: center;
415
+ padding: 0 1.4rem;
416
+ border-top: 1px solid var(--soft-rule);
417
+ border-bottom: 1px solid var(--soft-rule);
418
+ background: var(--paper);
419
+ }
420
+ .sort-heading {
421
+ display: inline-flex;
422
+ min-height: var(--dw-control-height);
423
+ align-items: center;
424
+ gap: 0.25rem;
425
+ width: max-content;
426
+ border: 0;
427
+ background: transparent;
428
+ color: var(--muted);
429
+ padding: 0;
430
+ font-size: 0.68rem;
431
+ font-weight: 720;
432
+ letter-spacing: 0.09em;
433
+ text-transform: uppercase;
434
+ cursor: pointer;
435
+ }
436
+ button.sort-heading {
437
+ min-width: var(--dw-control-height);
438
+ }
439
+ .sort-heading[aria-pressed="true"] {
440
+ color: var(--accent);
441
+ }
442
+ .sort-indicator {
443
+ display: none;
444
+ align-items: center;
445
+ }
446
+ .sort-heading[aria-pressed="true"] .sort-indicator {
447
+ display: inline-flex;
448
+ }
449
+ .sort-heading[data-direction="desc"] .sort-indicator {
450
+ transform: rotate(180deg);
451
+ }
452
+ .sort-heading .sort-indicator .icon {
453
+ color: currentColor;
454
+ }
455
+ .entries {
456
+ list-style: none;
457
+ margin: 0;
458
+ padding: 0;
459
+ overflow-anchor: none;
460
+ }
461
+ .entry {
462
+ min-height: 3.25rem;
463
+ align-items: center;
464
+ padding: 0.72rem 1.4rem;
465
+ border-bottom: 1px solid var(--soft-rule);
466
+ }
467
+ .entry:hover,
468
+ .entry[data-active="true"] {
469
+ background: var(--hover);
470
+ }
471
+ .entry[hidden] {
472
+ display: none;
473
+ }
474
+ a {
475
+ color: var(--accent);
476
+ text-decoration-thickness: 0.08em;
477
+ text-underline-offset: 0.22em;
478
+ }
479
+ .identity {
480
+ display: flex;
481
+ min-width: 0;
482
+ flex-wrap: wrap;
483
+ row-gap: 0.15rem;
484
+ }
485
+ .entry-name {
486
+ display: inline-flex;
487
+ align-items: center;
488
+ gap: 0.55rem;
489
+ }
490
+ .name {
491
+ font-weight: 650;
492
+ overflow-wrap: anywhere;
493
+ }
494
+ .entry .name {
495
+ text-decoration: none;
496
+ }
497
+ .entry .name:hover,
498
+ .entry .name:focus-visible {
499
+ text-decoration: underline;
500
+ }
501
+ .icon {
502
+ display: inline-block;
503
+ flex: none;
504
+ vertical-align: -0.15em;
505
+ color: var(--status);
506
+ }
507
+ .file-icon {
508
+ width: 1.25rem;
509
+ height: 1.25rem;
510
+ object-fit: contain;
511
+ }
512
+ .file-icon--dark,
513
+ :root[data-theme="dark"] .file-icon--light {
514
+ display: none;
515
+ }
516
+ :root[data-theme="dark"] .file-icon--dark {
517
+ display: inline-block;
518
+ }
519
+ @media (prefers-color-scheme: dark) {
520
+ :root[data-theme="system"] .file-icon--light {
521
+ display: none;
522
+ }
523
+ :root[data-theme="system"] .file-icon--dark {
524
+ display: inline-block;
525
+ }
526
+ }
527
+ .target {
528
+ flex-basis: 100%;
529
+ padding-left: 1.8rem;
530
+ color: var(--muted);
531
+ font:
532
+ 500 0.8rem/1.6 ui-monospace,
533
+ SFMono-Regular,
534
+ monospace;
535
+ overflow-wrap: anywhere;
536
+ }
537
+ .target-status {
538
+ font-family: ui-sans-serif, system-ui, sans-serif;
539
+ font-weight: 650;
540
+ }
541
+ .target-unavailable {
542
+ text-decoration: line-through;
543
+ text-decoration-thickness: 1px;
544
+ }
545
+ .unavailable {
546
+ color: var(--muted);
547
+ text-decoration: line-through;
548
+ text-decoration-thickness: 1px;
549
+ }
550
+ .kind,
551
+ time {
552
+ color: var(--muted);
553
+ font-size: 0.82rem;
554
+ }
555
+ .timestamp-button {
556
+ border: 0;
557
+ padding: 0;
558
+ background: transparent;
559
+ text-align: left;
560
+ cursor: pointer;
561
+ min-height: 2.75rem;
562
+ width: fit-content;
563
+ font: inherit;
564
+ }
565
+ .timestamp-button:hover time {
566
+ text-decoration: underline;
567
+ text-underline-offset: 0.2em;
568
+ }
569
+ .timestamp-zone {
570
+ font-weight: 500;
571
+ letter-spacing: 0;
572
+ text-transform: none;
573
+ }
574
+ .timestamp-details {
575
+ position: fixed;
576
+ z-index: 10;
577
+ width: min(26rem, calc(100vw - 1rem));
578
+ max-height: calc(100vh - 1rem);
579
+ overflow: auto;
580
+ padding: 1rem;
581
+ border: 1px solid var(--rule);
582
+ border-radius: 0.75rem;
583
+ background: var(--paper);
584
+ color: var(--ink);
585
+ font-size: 0.85rem;
586
+ }
587
+ .timestamp-details-head {
588
+ display: flex;
589
+ justify-content: space-between;
590
+ align-items: center;
591
+ gap: 1rem;
592
+ }
593
+ .timestamp-details dl {
594
+ margin: 0.75rem 0 0;
595
+ }
596
+ .timestamp-details dt {
597
+ margin-top: 0.75rem;
598
+ color: var(--muted);
599
+ }
600
+ .timestamp-details dd {
601
+ margin: 0.25rem 0 0;
602
+ overflow-wrap: anywhere;
603
+ font-variant-numeric: tabular-nums;
604
+ }
605
+ .size-stack {
606
+ display: grid;
607
+ gap: 0.1rem;
608
+ font-variant-numeric: tabular-nums;
609
+ white-space: nowrap;
610
+ }
611
+ .size-stack b {
612
+ color: var(--ink);
613
+ font-weight: 650;
614
+ }
615
+ a:focus-visible,
616
+ button:focus-visible,
617
+ select:focus-visible,
618
+ summary:focus-visible {
619
+ outline: 3px solid var(--focus);
620
+ outline-offset: 3px;
621
+ }
622
+ .empty {
623
+ margin: 0;
624
+ padding: 2rem 1.4rem;
625
+ color: var(--muted);
626
+ border-bottom: 1px solid var(--soft-rule);
627
+ }
628
+ .folder-loading {
629
+ margin: 0;
630
+ padding: 2rem 1.4rem;
631
+ color: var(--muted);
632
+ }
633
+ ::selection {
634
+ background: var(--accent);
635
+ color: var(--surface);
636
+ }
637
+ footer {
638
+ display: flex;
639
+ align-items: center;
640
+ justify-content: space-between;
641
+ gap: 1rem;
642
+ padding: 0.7rem 1.4rem;
643
+ color: var(--muted);
644
+ font-size: 0.78rem;
645
+ }
646
+ .project-meta,
647
+ .shortcuts {
648
+ margin: 0;
649
+ }
650
+ .project-meta {
651
+ line-height: 1.9;
652
+ }
653
+ .meta-item,
654
+ .project-credit {
655
+ white-space: nowrap;
656
+ }
657
+ .shortcuts {
658
+ text-align: right;
659
+ }
660
+ kbd {
661
+ display: inline-block;
662
+ min-width: 1.6em;
663
+ margin: 0 0.12rem;
664
+ padding: 0.02rem 0.3rem;
665
+ border: 1px solid var(--rule);
666
+ border-radius: 0.2rem;
667
+ background: var(--control);
668
+ text-align: center;
669
+ font: inherit;
670
+ }
671
+ .visually-hidden {
672
+ position: absolute !important;
673
+ width: 1px;
674
+ height: 1px;
675
+ padding: 0;
676
+ margin: -1px;
677
+ overflow: hidden;
678
+ clip: rect(0, 0, 0, 0);
679
+ white-space: nowrap;
680
+ border: 0;
681
+ }
682
+ .sort-heading:not(button) {
683
+ cursor: default;
684
+ }
685
+ @media (max-width: 60rem) {
686
+ .toolbar {
687
+ align-items: stretch;
688
+ flex-direction: column;
689
+ }
690
+ .search-cluster {
691
+ align-items: stretch;
692
+ flex-wrap: wrap;
693
+ }
694
+ .search {
695
+ width: 100%;
696
+ }
697
+ .toolbar-actions {
698
+ width: 100%;
699
+ justify-content: space-between;
700
+ }
701
+ .sort-menu {
702
+ right: auto;
703
+ left: 0;
704
+ }
705
+ }
706
+ @media (max-width: 42rem) {
707
+ :root {
708
+ --dw-sticky-columns-height: 0px;
709
+ }
710
+ body {
711
+ padding: 0;
712
+ background: var(--surface);
713
+ }
714
+ main {
715
+ min-height: 100vh;
716
+ border: 0;
717
+ border-radius: 0;
718
+ box-shadow: none;
719
+ }
720
+ main > header {
721
+ border-radius: 0;
722
+ }
723
+ .chrome {
724
+ padding-inline: 1rem;
725
+ }
726
+ .breadcrumbs {
727
+ flex: 1 1 auto;
728
+ }
729
+ .summary {
730
+ margin-left: auto;
731
+ }
732
+ .toolbar {
733
+ padding: 1rem;
734
+ }
735
+ .toolbar-actions {
736
+ flex-wrap: wrap;
737
+ }
738
+ .sort-menu {
739
+ width: min(16rem, calc(100vw - 2rem));
740
+ }
741
+ .global-search-controls {
742
+ flex-wrap: wrap;
743
+ }
744
+ .global-search-controls .search {
745
+ flex-basis: 100%;
746
+ }
747
+ .entry-head {
748
+ display: none;
749
+ }
750
+ .entry {
751
+ grid-template-columns: minmax(0, 1fr) auto;
752
+ gap: 0.25rem 1rem;
753
+ padding: 0.78rem 1rem;
754
+ }
755
+ .entry .name {
756
+ display: inline-flex;
757
+ min-height: 2.75rem;
758
+ align-items: center;
759
+ }
760
+ .entry time,
761
+ .entry .timestamp-button {
762
+ grid-column: 1/-1;
763
+ }
764
+ .kind {
765
+ text-align: right;
766
+ }
767
+ footer {
768
+ display: flex;
769
+ flex-direction: column-reverse;
770
+ align-items: flex-start;
771
+ gap: 0.25rem;
772
+ padding: 0.3rem 1rem;
773
+ }
774
+ .project-meta a {
775
+ display: inline-flex;
776
+ min-height: 2.75rem;
777
+ align-items: center;
778
+ }
779
+ .shortcuts {
780
+ margin: 0;
781
+ text-align: left;
782
+ }
783
+ }
784
+ @media (max-width: 19.5rem) {
785
+ .search-cluster {
786
+ display: grid;
787
+ grid-template-columns: minmax(0, 1fr);
788
+ }
789
+ }
790
+ @media (pointer: coarse) {
791
+ .entry .name,
792
+ .project-meta a {
793
+ display: inline-flex;
794
+ min-height: 2.75rem;
795
+ align-items: center;
796
+ }
797
+ }
798
+ @media (prefers-reduced-motion: reduce) {
799
+ * {
800
+ scroll-behavior: auto !important;
801
+ }
802
+ }
803
+
804
+ .page-header{width:min(72rem,100%);margin:0 auto 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1.4rem}
805
+ .wordmark{display:flex;align-items:baseline;gap:1rem}.wordmark h1{font-size:1.2rem;margin:0}.wordmark span{font-size:.8rem;color:var(--muted)}
806
+ .toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:.8rem}
807
+ .toolbar>label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted);min-width:0}
808
+ .toolbar input[type=search],.toolbar select,.toolbar>button{min-height:44px;border:1px solid var(--rule);border-radius:6px;background:var(--control);color:var(--ink);padding:.5rem .6rem;min-width:0;width:100%}
809
+ .toolbar .search-field{grid-column:span 2}.toolbar fieldset{grid-column:span 2;border:1px solid var(--rule);border-radius:6px;margin:0;min-height:44px;padding:.4rem .6rem;display:flex;flex-wrap:wrap;gap:.7rem;font-size:.8rem}.toolbar fieldset legend{color:var(--muted)}
810
+ .toolbar fieldset label{display:flex;align-items:center;gap:.35rem;min-height:32px}.toolbar>label:has(input[type=checkbox]){flex-direction:row;align-items:center;align-self:end;min-height:44px}
811
+ .toolbar button{align-self:end;cursor:pointer}.listing-summary{padding:.7rem 1.4rem;color:var(--muted);font-size:.85rem;display:flex;gap:.6rem;flex-wrap:wrap}
812
+ .entry-list{padding-inline:1.4rem}.entry{min-height:76px;box-sizing:border-box}.entry .identity{min-width:0}.file-icon{display:inline-flex;width:18px;height:18px;vertical-align:middle;margin-right:.35rem}.file-icon svg{width:100%;height:100%}
813
+ .keyboard-help{padding-inline:1.4rem;font-size:.8rem;color:var(--muted)}
814
+ dialog{max-width:min(42rem,90vw);max-height:80vh;border:1px solid var(--rule);border-radius:12px;background:var(--surface);color:var(--ink);padding:1.5rem}dialog::backdrop{background:#0006}
815
+ @media(max-width:42rem){.page-header{padding:1rem;display:block}.wordmark{flex-wrap:wrap;gap:.4rem}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem;gap:.6rem}.toolbar .search-field,.toolbar fieldset{grid-column:1/-1}.entry-list{padding-inline:1rem}.listing-summary{padding-inline:1rem}}