@youtyan/code-viewer 0.8.6 → 0.8.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -3
- package/dist/code-viewer.js +45 -24
- package/package.json +1 -1
- package/web/app.js +719 -286
- package/web/index.html +10 -9
- package/web/style.css +1548 -366
package/web/style.css
CHANGED
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
--accent-emph: #0550ae;
|
|
23
23
|
--accent-subtle: #ddf4ff;
|
|
24
24
|
--accent-muted: #54aeff66;
|
|
25
|
+
/* sidebar tree */
|
|
26
|
+
--tree-guide: color-mix(in srgb, var(--fg-subtle) 22%, transparent);
|
|
25
27
|
--scope-accent: #bf8700;
|
|
26
28
|
/* success / danger / attention / done */
|
|
27
29
|
--success: #1a7f37;
|
|
@@ -103,7 +105,21 @@
|
|
|
103
105
|
html, body {
|
|
104
106
|
margin: 0; padding: 0;
|
|
105
107
|
background: var(--bg); color: var(--fg);
|
|
108
|
+
--ui-font-xs: 10px;
|
|
109
|
+
--ui-font-sm: 11px;
|
|
110
|
+
--ui-font-base: 12px;
|
|
111
|
+
--ui-font-md: 13px;
|
|
112
|
+
--ui-font-lg: 14px;
|
|
113
|
+
--ui-font-title: 15px;
|
|
114
|
+
--ui-control-sm: 28px;
|
|
115
|
+
--ui-control-md: 32px;
|
|
116
|
+
--ui-dense-row-h: 36px;
|
|
117
|
+
--ui-file-header-h: 46px;
|
|
118
|
+
--ui-file-header-wrapped-h: 82px;
|
|
119
|
+
--ui-history-dock-h: 28px;
|
|
120
|
+
--chrome-h: calc(var(--global-header-h) + var(--topbar-h));
|
|
106
121
|
--code-font-size: 12px;
|
|
122
|
+
--code-line-height: 20px;
|
|
107
123
|
--markdown-font-size: calc(var(--code-font-size) + 2px);
|
|
108
124
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
|
|
109
125
|
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
@@ -115,9 +131,67 @@ html, body {
|
|
|
115
131
|
-moz-osx-font-smoothing: auto;
|
|
116
132
|
}
|
|
117
133
|
|
|
118
|
-
body[data-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
body[data-sidebar-font-size="compact"] {
|
|
135
|
+
--global-header-h: 44px;
|
|
136
|
+
--topbar-h: 52px;
|
|
137
|
+
--ui-font-xs: 9px;
|
|
138
|
+
--ui-font-sm: 10px;
|
|
139
|
+
--ui-font-base: 11px;
|
|
140
|
+
--ui-font-md: 12px;
|
|
141
|
+
--ui-font-lg: 13px;
|
|
142
|
+
--ui-font-title: 14px;
|
|
143
|
+
--ui-control-sm: 26px;
|
|
144
|
+
--ui-control-md: 30px;
|
|
145
|
+
--ui-dense-row-h: 34px;
|
|
146
|
+
--ui-file-header-h: 42px;
|
|
147
|
+
--ui-file-header-wrapped-h: 74px;
|
|
148
|
+
--ui-history-dock-h: 26px;
|
|
149
|
+
}
|
|
150
|
+
body[data-sidebar-font-size="large"] {
|
|
151
|
+
--global-header-h: 54px;
|
|
152
|
+
--topbar-h: 62px;
|
|
153
|
+
--ui-font-xs: 11px;
|
|
154
|
+
--ui-font-sm: 12px;
|
|
155
|
+
--ui-font-base: 14px;
|
|
156
|
+
--ui-font-md: 15px;
|
|
157
|
+
--ui-font-lg: 16px;
|
|
158
|
+
--ui-font-title: 17px;
|
|
159
|
+
--ui-control-sm: 32px;
|
|
160
|
+
--ui-control-md: 36px;
|
|
161
|
+
--ui-dense-row-h: 42px;
|
|
162
|
+
--ui-file-header-h: 52px;
|
|
163
|
+
--ui-file-header-wrapped-h: 94px;
|
|
164
|
+
--ui-history-dock-h: 34px;
|
|
165
|
+
}
|
|
166
|
+
body[data-sidebar-font-size="xlarge"] {
|
|
167
|
+
--global-header-h: 60px;
|
|
168
|
+
--topbar-h: 68px;
|
|
169
|
+
--ui-font-xs: 12px;
|
|
170
|
+
--ui-font-sm: 13px;
|
|
171
|
+
--ui-font-base: 15px;
|
|
172
|
+
--ui-font-md: 16px;
|
|
173
|
+
--ui-font-lg: 17px;
|
|
174
|
+
--ui-font-title: 18px;
|
|
175
|
+
--ui-control-sm: 36px;
|
|
176
|
+
--ui-control-md: 40px;
|
|
177
|
+
--ui-dense-row-h: 48px;
|
|
178
|
+
--ui-file-header-h: 58px;
|
|
179
|
+
--ui-file-header-wrapped-h: 104px;
|
|
180
|
+
--ui-history-dock-h: 38px;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
body[data-code-font-size="compact"] {
|
|
184
|
+
--code-font-size: 11.5px;
|
|
185
|
+
--code-line-height: 19px;
|
|
186
|
+
}
|
|
187
|
+
body[data-code-font-size="large"] {
|
|
188
|
+
--code-font-size: 13.5px;
|
|
189
|
+
--code-line-height: 22px;
|
|
190
|
+
}
|
|
191
|
+
body[data-code-font-size="xlarge"] {
|
|
192
|
+
--code-font-size: 15px;
|
|
193
|
+
--code-line-height: 24px;
|
|
194
|
+
}
|
|
121
195
|
|
|
122
196
|
/* Window scrolls; global header + topbar + sidebar are fixed */
|
|
123
197
|
#app { display: block; }
|
|
@@ -286,7 +360,7 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
286
360
|
.brand {
|
|
287
361
|
display: flex; align-items: center; gap: 8px;
|
|
288
362
|
font-weight: 600;
|
|
289
|
-
font-size:
|
|
363
|
+
font-size: var(--ui-font-title);
|
|
290
364
|
color: var(--fg);
|
|
291
365
|
min-width: 0;
|
|
292
366
|
max-width: min(40vw, 560px);
|
|
@@ -295,8 +369,8 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
295
369
|
}
|
|
296
370
|
.brand:hover { color: var(--fg); text-decoration: none; }
|
|
297
371
|
.brand-icon {
|
|
298
|
-
width:
|
|
299
|
-
height:
|
|
372
|
+
width: calc(var(--ui-font-title) + 5px);
|
|
373
|
+
height: calc(var(--ui-font-title) + 5px);
|
|
300
374
|
display: block;
|
|
301
375
|
border-radius: 5px;
|
|
302
376
|
}
|
|
@@ -307,95 +381,102 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
307
381
|
white-space: nowrap;
|
|
308
382
|
}
|
|
309
383
|
.project-branch {
|
|
384
|
+
/* Quiet branch indicator next to the brand: a small git-branch icon and
|
|
385
|
+
the mono branch name, no pill. The old bordered chip with a green dot
|
|
386
|
+
read like a notification badge. */
|
|
310
387
|
display: inline-flex;
|
|
311
388
|
align-items: center;
|
|
312
|
-
|
|
389
|
+
gap: 4px;
|
|
313
390
|
flex: 0 1 auto;
|
|
391
|
+
min-width: 0;
|
|
314
392
|
max-width: min(20vw, 260px);
|
|
315
393
|
overflow: hidden;
|
|
316
|
-
text-overflow: ellipsis;
|
|
317
|
-
white-space: nowrap;
|
|
318
|
-
padding: 0 8px;
|
|
319
|
-
border: 1px solid var(--border);
|
|
320
|
-
border-radius: 999px;
|
|
321
|
-
background: color-mix(in srgb, var(--bg) 72%, var(--bg-soft));
|
|
322
394
|
color: var(--fg-muted);
|
|
323
|
-
font-
|
|
324
|
-
font-size: 11px;
|
|
325
|
-
font-weight: 600;
|
|
395
|
+
font-size: var(--ui-font-sm);
|
|
326
396
|
line-height: 1;
|
|
327
397
|
}
|
|
328
|
-
.project-branch
|
|
329
|
-
|
|
330
|
-
flex:
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
398
|
+
.project-branch .goi-icon {
|
|
399
|
+
display: inline-flex;
|
|
400
|
+
flex: none;
|
|
401
|
+
color: var(--fg-subtle);
|
|
402
|
+
}
|
|
403
|
+
.project-branch .goi-icon svg {
|
|
404
|
+
width: 12px;
|
|
405
|
+
height: 12px;
|
|
406
|
+
display: block;
|
|
407
|
+
}
|
|
408
|
+
.project-branch-name {
|
|
409
|
+
min-width: 0;
|
|
410
|
+
overflow: hidden;
|
|
411
|
+
text-overflow: ellipsis;
|
|
412
|
+
white-space: nowrap;
|
|
413
|
+
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
414
|
+
font-weight: 500;
|
|
336
415
|
}
|
|
337
416
|
|
|
338
417
|
.app-menu {
|
|
339
418
|
display: flex;
|
|
340
419
|
align-items: center;
|
|
341
|
-
gap:
|
|
420
|
+
gap: 2px;
|
|
342
421
|
height: 100%;
|
|
343
|
-
margin-left: 0;
|
|
344
|
-
padding-left: 18px;
|
|
345
|
-
border-left: 1px solid var(--border);
|
|
346
422
|
flex-shrink: 0;
|
|
347
423
|
}
|
|
348
|
-
.global-
|
|
424
|
+
.global-icon-link {
|
|
425
|
+
/* Icon-only header links (help page, repository web page): same 28x28
|
|
426
|
+
shell as .global-icon-action so the action cluster reads as one
|
|
427
|
+
consistent row of controls. */
|
|
349
428
|
display: inline-flex;
|
|
350
429
|
align-items: center;
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
430
|
+
justify-content: center;
|
|
431
|
+
width: var(--ui-control-sm);
|
|
432
|
+
height: var(--ui-control-sm);
|
|
433
|
+
border: 1px solid var(--border);
|
|
434
|
+
border-radius: 6px;
|
|
435
|
+
background: var(--bg);
|
|
436
|
+
color: var(--fg);
|
|
357
437
|
text-decoration: none;
|
|
358
|
-
|
|
438
|
+
transition: background 0.12s, border-color 0.12s;
|
|
359
439
|
}
|
|
360
|
-
.global-
|
|
361
|
-
|
|
440
|
+
.global-icon-link:hover {
|
|
441
|
+
background: var(--bg-mute);
|
|
442
|
+
border-color: var(--border-strong);
|
|
362
443
|
text-decoration: none;
|
|
363
444
|
}
|
|
364
|
-
.global-
|
|
365
|
-
|
|
445
|
+
.global-icon-link:focus-visible {
|
|
446
|
+
outline: 2px solid var(--accent);
|
|
447
|
+
outline-offset: 1px;
|
|
448
|
+
}
|
|
449
|
+
.global-icon-link.active {
|
|
450
|
+
color: var(--accent);
|
|
451
|
+
border-color: var(--accent);
|
|
452
|
+
}
|
|
453
|
+
.global-icon-link svg {
|
|
454
|
+
display: block;
|
|
366
455
|
}
|
|
367
456
|
.app-menu-item {
|
|
368
|
-
|
|
457
|
+
/* Nav items sit one notch below the brand: smaller, muted, and the
|
|
458
|
+
active screen is a soft accent pill instead of an underline tab. */
|
|
369
459
|
display: inline-flex;
|
|
370
460
|
align-items: center;
|
|
371
|
-
height:
|
|
461
|
+
height: var(--ui-control-sm);
|
|
372
462
|
padding: 0 10px;
|
|
373
463
|
border-radius: 6px;
|
|
374
464
|
color: var(--fg-muted);
|
|
375
|
-
font-size:
|
|
376
|
-
font-weight:
|
|
465
|
+
font-size: var(--ui-font-md);
|
|
466
|
+
font-weight: 500;
|
|
377
467
|
line-height: 1;
|
|
378
468
|
text-decoration: none;
|
|
379
469
|
white-space: nowrap;
|
|
380
470
|
}
|
|
381
471
|
.app-menu-item:hover {
|
|
382
|
-
color: var(--
|
|
472
|
+
color: var(--fg);
|
|
383
473
|
background: var(--bg-mute);
|
|
384
474
|
text-decoration: none;
|
|
385
475
|
}
|
|
386
476
|
.app-menu-item.active {
|
|
387
|
-
background: var(--
|
|
388
|
-
color: var(--
|
|
389
|
-
|
|
390
|
-
.app-menu-item.active::after {
|
|
391
|
-
content: "";
|
|
392
|
-
position: absolute;
|
|
393
|
-
left: 0;
|
|
394
|
-
right: 0;
|
|
395
|
-
bottom: -9px;
|
|
396
|
-
height: 2px;
|
|
397
|
-
border-radius: 2px 2px 0 0;
|
|
398
|
-
background: var(--blob-tab-active);
|
|
477
|
+
background: var(--accent-subtle);
|
|
478
|
+
color: var(--accent);
|
|
479
|
+
font-weight: 600;
|
|
399
480
|
}
|
|
400
481
|
|
|
401
482
|
.global-actions {
|
|
@@ -403,29 +484,30 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
403
484
|
margin-left: auto;
|
|
404
485
|
display: inline-flex;
|
|
405
486
|
align-items: center;
|
|
406
|
-
gap:
|
|
487
|
+
gap: 6px;
|
|
407
488
|
flex: 0 0 auto;
|
|
408
489
|
}
|
|
409
|
-
.
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
490
|
+
.global-actions-sep {
|
|
491
|
+
/* Quiet divider between the view-tool / session / help groups. */
|
|
492
|
+
flex: none;
|
|
493
|
+
width: 1px;
|
|
494
|
+
height: 18px;
|
|
495
|
+
margin: 0 2px;
|
|
496
|
+
background: var(--border);
|
|
415
497
|
}
|
|
416
498
|
.global-actions #theme,
|
|
417
499
|
.global-icon-action {
|
|
418
500
|
display: inline-flex;
|
|
419
501
|
align-items: center;
|
|
420
502
|
justify-content: center;
|
|
421
|
-
width:
|
|
422
|
-
height:
|
|
503
|
+
width: var(--ui-control-sm);
|
|
504
|
+
height: var(--ui-control-sm);
|
|
423
505
|
border: 1px solid var(--border);
|
|
424
506
|
background: var(--bg);
|
|
425
507
|
color: var(--fg);
|
|
426
508
|
border-radius: 6px;
|
|
427
509
|
cursor: pointer;
|
|
428
|
-
font-size:
|
|
510
|
+
font-size: var(--ui-font-md);
|
|
429
511
|
transition: background 0.12s, border-color 0.12s;
|
|
430
512
|
}
|
|
431
513
|
.global-actions #theme svg,
|
|
@@ -486,23 +568,6 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
486
568
|
color: var(--attn);
|
|
487
569
|
border-color: var(--attn);
|
|
488
570
|
}
|
|
489
|
-
.ai-context-action {
|
|
490
|
-
width: auto;
|
|
491
|
-
gap: 6px;
|
|
492
|
-
padding: 0 10px;
|
|
493
|
-
}
|
|
494
|
-
.ai-context-label {
|
|
495
|
-
font-size: 11px;
|
|
496
|
-
font-weight: 600;
|
|
497
|
-
white-space: nowrap;
|
|
498
|
-
}
|
|
499
|
-
#auto-update {
|
|
500
|
-
width: auto;
|
|
501
|
-
gap: 6px;
|
|
502
|
-
padding: 0 8px;
|
|
503
|
-
font-size: 11px;
|
|
504
|
-
font-weight: 600;
|
|
505
|
-
}
|
|
506
571
|
#auto-update.active {
|
|
507
572
|
background: var(--success-subtle);
|
|
508
573
|
border-color: var(--success);
|
|
@@ -524,7 +589,7 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
524
589
|
#meta {
|
|
525
590
|
display: flex; align-items: center; gap: 10px;
|
|
526
591
|
color: var(--fg-muted);
|
|
527
|
-
font-size:
|
|
592
|
+
font-size: var(--ui-font-base);
|
|
528
593
|
}
|
|
529
594
|
#meta .ref {
|
|
530
595
|
display: inline-flex; align-items: center; gap: 4px;
|
|
@@ -534,52 +599,59 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
534
599
|
padding: 3px 9px;
|
|
535
600
|
color: var(--fg);
|
|
536
601
|
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
537
|
-
font-size:
|
|
602
|
+
font-size: var(--ui-font-sm);
|
|
538
603
|
line-height: 1;
|
|
539
604
|
white-space: nowrap;
|
|
540
605
|
}
|
|
541
606
|
#meta .chip {
|
|
607
|
+
/* Meta chips are READ-ONLY stats: plain text, no pill. The single
|
|
608
|
+
actionable control (.chip-next-unviewed below) keeps a real button
|
|
609
|
+
outline so clickable vs static is obvious at a glance. */
|
|
542
610
|
display: inline-flex;
|
|
543
611
|
align-items: center;
|
|
544
612
|
gap: 4px;
|
|
545
613
|
color: var(--fg-muted);
|
|
546
|
-
|
|
547
|
-
border: 1px solid var(--border);
|
|
548
|
-
border-radius: 999px;
|
|
549
|
-
padding: 3px 9px;
|
|
550
|
-
font-size: 11px;
|
|
614
|
+
font-size: var(--ui-font-sm);
|
|
551
615
|
line-height: 1;
|
|
552
616
|
font-variant-numeric: tabular-nums;
|
|
553
617
|
white-space: nowrap;
|
|
554
618
|
}
|
|
555
619
|
#meta .chip-files { color: var(--fg); font-weight: 600; }
|
|
556
|
-
#meta .chip-add { color: var(--success); font-weight: 600;
|
|
557
|
-
#meta .chip-del { color: var(--danger); font-weight: 600;
|
|
558
|
-
#meta .chip-added { color: var(--success);
|
|
559
|
-
#meta .chip-deleted { color: var(--danger);
|
|
560
|
-
#meta .chip-renamed { color: var(--done);
|
|
561
|
-
#meta .chip-heavy { color: var(--attn);
|
|
562
|
-
#meta .chip-error { color: var(--danger);
|
|
620
|
+
#meta .chip-add { color: var(--success); font-weight: 600; }
|
|
621
|
+
#meta .chip-del { color: var(--danger); font-weight: 600; }
|
|
622
|
+
#meta .chip-added { color: var(--success); }
|
|
623
|
+
#meta .chip-deleted { color: var(--danger); }
|
|
624
|
+
#meta .chip-renamed { color: var(--done); }
|
|
625
|
+
#meta .chip-heavy { color: var(--attn); }
|
|
626
|
+
#meta .chip-error { color: var(--danger); }
|
|
563
627
|
#meta .chip-binary,
|
|
564
628
|
#meta .chip-media { color: var(--fg-muted); }
|
|
565
629
|
#meta .chip-viewed-empty { color: var(--fg-muted); }
|
|
566
|
-
#meta .chip-viewed-partial { color: var(--attn);
|
|
567
|
-
#meta .chip-viewed-done { color: var(--done);
|
|
630
|
+
#meta .chip-viewed-partial { color: var(--attn); }
|
|
631
|
+
#meta .chip-viewed-done { color: var(--done); }
|
|
568
632
|
#meta .chip-next-unviewed {
|
|
569
633
|
font: inherit;
|
|
634
|
+
font-size: var(--ui-font-sm);
|
|
635
|
+
font-weight: 600;
|
|
636
|
+
line-height: 1;
|
|
570
637
|
cursor: pointer;
|
|
571
|
-
color: var(--accent
|
|
572
|
-
|
|
638
|
+
color: var(--accent);
|
|
639
|
+
background: var(--bg);
|
|
640
|
+
border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--border));
|
|
641
|
+
border-radius: 999px;
|
|
642
|
+
padding: 3px 10px;
|
|
643
|
+
white-space: nowrap;
|
|
573
644
|
}
|
|
574
645
|
#meta .chip-next-unviewed:hover:not(:disabled) {
|
|
575
|
-
background: var(--
|
|
576
|
-
border-color: var(--
|
|
646
|
+
background: var(--accent-subtle);
|
|
647
|
+
border-color: var(--accent);
|
|
577
648
|
}
|
|
578
649
|
#meta .chip-next-unviewed:disabled {
|
|
579
650
|
cursor: default;
|
|
580
|
-
opacity: 0.
|
|
651
|
+
opacity: 0.5;
|
|
581
652
|
color: var(--fg-muted);
|
|
582
653
|
border-color: var(--border);
|
|
654
|
+
background: transparent;
|
|
583
655
|
}
|
|
584
656
|
.ref-pickers {
|
|
585
657
|
display: flex;
|
|
@@ -594,13 +666,15 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
594
666
|
flex: 0 0 auto;
|
|
595
667
|
gap: 8px;
|
|
596
668
|
width: 220px;
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
669
|
+
/* Match the 28px controls around it; theme tokens instead of hardcoded
|
|
670
|
+
light-only colors (the dark override below became redundant). */
|
|
671
|
+
height: var(--ui-control-sm);
|
|
672
|
+
padding: 0 10px;
|
|
673
|
+
border: 1px solid var(--border);
|
|
600
674
|
border-radius: 6px;
|
|
601
|
-
background:
|
|
675
|
+
background: var(--bg-soft);
|
|
602
676
|
color: var(--fg);
|
|
603
|
-
font: 500
|
|
677
|
+
font: 500 var(--ui-font-md)/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
604
678
|
cursor: pointer;
|
|
605
679
|
transition: border-color 0.12s, background 0.12s, box-shadow 0.12s;
|
|
606
680
|
}
|
|
@@ -608,10 +682,6 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
608
682
|
#repo-target-wrap {
|
|
609
683
|
display: none !important;
|
|
610
684
|
}
|
|
611
|
-
[data-theme="dark"] .ref-selector {
|
|
612
|
-
border-color: var(--border);
|
|
613
|
-
background: var(--bg-soft);
|
|
614
|
-
}
|
|
615
685
|
.ref-selector:hover {
|
|
616
686
|
border-color: var(--border-strong);
|
|
617
687
|
background: var(--bg-soft);
|
|
@@ -634,14 +704,14 @@ body[data-code-font-size="xlarge"] { --code-font-size: 15px; }
|
|
|
634
704
|
flex: 1 1 auto;
|
|
635
705
|
min-width: 0;
|
|
636
706
|
width: auto;
|
|
637
|
-
height:
|
|
707
|
+
height: calc(var(--ui-control-md) - 2px);
|
|
638
708
|
padding: 0;
|
|
639
709
|
background: transparent;
|
|
640
710
|
border: 0;
|
|
641
711
|
color: var(--fg);
|
|
642
712
|
border-radius: 0;
|
|
643
713
|
font-family: inherit;
|
|
644
|
-
font-size:
|
|
714
|
+
font-size: var(--ui-font-lg);
|
|
645
715
|
font-weight: 500;
|
|
646
716
|
outline: none;
|
|
647
717
|
cursor: pointer;
|
|
@@ -662,13 +732,19 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
662
732
|
display: none !important;
|
|
663
733
|
}
|
|
664
734
|
.ref-dots {
|
|
735
|
+
display: inline-flex;
|
|
736
|
+
align-items: center;
|
|
665
737
|
color: var(--fg-subtle);
|
|
666
|
-
font-size: 14px;
|
|
667
738
|
padding: 0 2px;
|
|
668
739
|
user-select: none;
|
|
669
740
|
}
|
|
741
|
+
.ref-dots svg {
|
|
742
|
+
display: block;
|
|
743
|
+
width: 14px;
|
|
744
|
+
height: 14px;
|
|
745
|
+
}
|
|
670
746
|
.ref-pickers > button {
|
|
671
|
-
width:
|
|
747
|
+
width: var(--ui-control-sm); height: var(--ui-control-sm);
|
|
672
748
|
display: inline-flex;
|
|
673
749
|
align-items: center;
|
|
674
750
|
justify-content: center;
|
|
@@ -678,7 +754,7 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
678
754
|
color: var(--fg-muted);
|
|
679
755
|
border-radius: 6px;
|
|
680
756
|
cursor: pointer;
|
|
681
|
-
font-size:
|
|
757
|
+
font-size: var(--ui-font-md);
|
|
682
758
|
transition: background 0.12s, color 0.12s;
|
|
683
759
|
}
|
|
684
760
|
.ref-pickers > button svg {
|
|
@@ -693,7 +769,7 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
693
769
|
}
|
|
694
770
|
#ref-reset:hover { background: var(--bg-mute); color: var(--danger); border-color: var(--danger); }
|
|
695
771
|
#reload-prom {
|
|
696
|
-
width:
|
|
772
|
+
width: var(--ui-control-sm); height: var(--ui-control-sm);
|
|
697
773
|
margin-left: 6px;
|
|
698
774
|
}
|
|
699
775
|
#reload-prom.spinning {
|
|
@@ -706,15 +782,10 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
706
782
|
#hide-tests {
|
|
707
783
|
width: auto !important;
|
|
708
784
|
padding: 0 8px;
|
|
709
|
-
font-size:
|
|
785
|
+
font-size: var(--ui-font-sm);
|
|
710
786
|
font-weight: 600;
|
|
711
787
|
letter-spacing: 0.04em;
|
|
712
788
|
}
|
|
713
|
-
#hide-tests.active {
|
|
714
|
-
background: var(--attn);
|
|
715
|
-
color: #fff;
|
|
716
|
-
border-color: var(--attn);
|
|
717
|
-
}
|
|
718
789
|
.hidden-by-tests,
|
|
719
790
|
.hidden-by-filter { display: none !important; }
|
|
720
791
|
|
|
@@ -739,53 +810,64 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
739
810
|
.rp-quick {
|
|
740
811
|
display: flex;
|
|
741
812
|
gap: 6px;
|
|
742
|
-
padding:
|
|
743
|
-
background: var(--bg
|
|
813
|
+
padding: 10px 10px 0;
|
|
814
|
+
background: var(--bg);
|
|
744
815
|
}
|
|
745
816
|
.rp-chip {
|
|
746
|
-
|
|
817
|
+
/* Compact quick-fill pills; .current uses the same tinted-active idiom
|
|
818
|
+
as the topbar toggles and header nav. */
|
|
819
|
+
flex: none;
|
|
747
820
|
background: var(--bg);
|
|
748
821
|
border: 1px solid var(--border);
|
|
749
|
-
color: var(--fg);
|
|
750
|
-
border-radius:
|
|
751
|
-
padding:
|
|
822
|
+
color: var(--fg-muted);
|
|
823
|
+
border-radius: 999px;
|
|
824
|
+
padding: 3px 10px;
|
|
752
825
|
font: inherit;
|
|
753
|
-
font-size:
|
|
826
|
+
font-size: 11px;
|
|
754
827
|
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
755
|
-
font-weight:
|
|
828
|
+
font-weight: 500;
|
|
756
829
|
cursor: pointer;
|
|
757
830
|
transition: background 0.10s, color 0.10s, border-color 0.10s;
|
|
758
831
|
}
|
|
759
832
|
.rp-chip:hover {
|
|
833
|
+
background: var(--bg-soft);
|
|
834
|
+
color: var(--fg);
|
|
835
|
+
border-color: var(--border-strong);
|
|
836
|
+
}
|
|
837
|
+
.rp-chip.current {
|
|
838
|
+
/* The selected value is the ONE strong element in the popover header:
|
|
839
|
+
solid accent with white text, everything else stays quiet. */
|
|
760
840
|
background: var(--accent);
|
|
761
841
|
color: #fff;
|
|
762
842
|
border-color: var(--accent);
|
|
843
|
+
font-weight: 600;
|
|
763
844
|
}
|
|
764
845
|
|
|
765
846
|
/* Tab bar */
|
|
766
847
|
.rp-tabs {
|
|
767
848
|
display: flex;
|
|
768
|
-
|
|
849
|
+
gap: 4px;
|
|
850
|
+
background: var(--bg);
|
|
769
851
|
border-bottom: 1px solid var(--border);
|
|
770
|
-
padding:
|
|
852
|
+
padding: 8px 10px;
|
|
771
853
|
}
|
|
772
854
|
.rp-tab {
|
|
773
855
|
background: transparent;
|
|
774
856
|
border: 0;
|
|
857
|
+
border-radius: 6px;
|
|
775
858
|
color: var(--fg-muted);
|
|
776
|
-
padding:
|
|
859
|
+
padding: 4px 10px;
|
|
777
860
|
font: inherit;
|
|
778
861
|
font-size: 12px;
|
|
779
862
|
font-weight: 500;
|
|
780
863
|
cursor: pointer;
|
|
781
|
-
|
|
782
|
-
margin-bottom: -1px;
|
|
783
|
-
transition: color 0.12s, border-color 0.12s;
|
|
864
|
+
transition: background 0.12s, color 0.12s;
|
|
784
865
|
}
|
|
785
|
-
.rp-tab:hover { color: var(--fg); }
|
|
866
|
+
.rp-tab:hover { color: var(--fg); background: var(--bg-mute); }
|
|
786
867
|
.rp-tab.active {
|
|
868
|
+
background: var(--accent-subtle);
|
|
787
869
|
color: var(--accent);
|
|
788
|
-
|
|
870
|
+
font-weight: 600;
|
|
789
871
|
}
|
|
790
872
|
|
|
791
873
|
.rp-search-wrap {
|
|
@@ -810,14 +892,18 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
810
892
|
/* Commit item — two-line layout, plenty of room for time/author */
|
|
811
893
|
.rp-item-commit {
|
|
812
894
|
display: block;
|
|
813
|
-
padding:
|
|
895
|
+
padding: 6px 12px;
|
|
814
896
|
cursor: pointer;
|
|
815
897
|
border-left: 2px solid transparent;
|
|
816
898
|
transition: background 0.10s, border-color 0.10s;
|
|
817
899
|
}
|
|
818
900
|
.rp-item-commit:hover {
|
|
819
|
-
background: var(--bg-
|
|
820
|
-
|
|
901
|
+
background: var(--bg-soft);
|
|
902
|
+
}
|
|
903
|
+
/* Hairline separators give the flat list structure. */
|
|
904
|
+
.rp-item-commit + .rp-item-commit,
|
|
905
|
+
.rp-item-ref + .rp-item-ref {
|
|
906
|
+
border-top: 1px solid var(--border);
|
|
821
907
|
}
|
|
822
908
|
.rp-item-commit .row1 {
|
|
823
909
|
display: flex;
|
|
@@ -826,6 +912,8 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
826
912
|
margin-bottom: 2px;
|
|
827
913
|
}
|
|
828
914
|
.rp-item-commit .sha {
|
|
915
|
+
/* The SHA is the row's identifier: accent mono so the eye can scan the
|
|
916
|
+
column; subject carries weight, meta stays muted. */
|
|
829
917
|
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
830
918
|
font-size: 12px;
|
|
831
919
|
color: var(--accent);
|
|
@@ -839,7 +927,8 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
839
927
|
text-overflow: ellipsis;
|
|
840
928
|
white-space: nowrap;
|
|
841
929
|
color: var(--fg);
|
|
842
|
-
font-size:
|
|
930
|
+
font-size: 13px;
|
|
931
|
+
font-weight: 500;
|
|
843
932
|
}
|
|
844
933
|
.rp-item-commit .row2 {
|
|
845
934
|
display: flex;
|
|
@@ -857,15 +946,14 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
857
946
|
/* Branch / tag / special items */
|
|
858
947
|
.rp-item-ref {
|
|
859
948
|
display: block;
|
|
860
|
-
padding:
|
|
949
|
+
padding: 6px 12px;
|
|
861
950
|
cursor: pointer;
|
|
862
951
|
border-left: 2px solid transparent;
|
|
863
952
|
transition: background 0.10s, border-color 0.10s;
|
|
864
953
|
font-size: 12.5px;
|
|
865
954
|
}
|
|
866
955
|
.rp-item-ref:hover {
|
|
867
|
-
background: var(--bg-
|
|
868
|
-
border-left-color: var(--accent);
|
|
956
|
+
background: var(--bg-soft);
|
|
869
957
|
}
|
|
870
958
|
.rp-item-ref .row1 {
|
|
871
959
|
display: grid;
|
|
@@ -875,6 +963,7 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
875
963
|
}
|
|
876
964
|
.rp-item-ref .name {
|
|
877
965
|
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
966
|
+
font-weight: 500;
|
|
878
967
|
min-width: 0;
|
|
879
968
|
overflow: hidden;
|
|
880
969
|
text-overflow: ellipsis;
|
|
@@ -891,12 +980,10 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
891
980
|
font-size: 10px;
|
|
892
981
|
line-height: 1;
|
|
893
982
|
font-weight: 600;
|
|
894
|
-
text-transform: uppercase;
|
|
895
|
-
letter-spacing: 0.06em;
|
|
896
983
|
color: var(--fg-subtle);
|
|
897
984
|
background: var(--bg-mute);
|
|
898
|
-
padding: 2px
|
|
899
|
-
border-radius:
|
|
985
|
+
padding: 2px 8px;
|
|
986
|
+
border-radius: 999px;
|
|
900
987
|
white-space: nowrap;
|
|
901
988
|
justify-self: end;
|
|
902
989
|
}
|
|
@@ -916,23 +1003,18 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
916
1003
|
/* Currently-selected ref highlight (matches focused input's value) */
|
|
917
1004
|
#ref-popover .rp-item-commit.current,
|
|
918
1005
|
#ref-popover .rp-item-ref.current {
|
|
919
|
-
background:
|
|
1006
|
+
background: var(--accent-subtle);
|
|
920
1007
|
border-left-color: var(--accent);
|
|
921
1008
|
}
|
|
922
1009
|
#ref-popover .rp-item-commit.current .sha,
|
|
923
1010
|
#ref-popover .rp-item-commit.current .subject,
|
|
924
1011
|
#ref-popover .rp-item-ref.current .name {
|
|
925
1012
|
color: var(--accent);
|
|
926
|
-
font-weight:
|
|
1013
|
+
font-weight: 600;
|
|
927
1014
|
}
|
|
928
1015
|
#ref-popover .rp-item-ref.current .badge {
|
|
929
1016
|
background: var(--accent-subtle);
|
|
930
|
-
color: var(--accent
|
|
931
|
-
}
|
|
932
|
-
.rp-chip.current {
|
|
933
|
-
background: var(--accent);
|
|
934
|
-
color: #fff;
|
|
935
|
-
border-color: var(--accent);
|
|
1017
|
+
color: var(--accent);
|
|
936
1018
|
}
|
|
937
1019
|
|
|
938
1020
|
.spacer { flex: 1; }
|
|
@@ -963,7 +1045,7 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
963
1045
|
border: 1px solid var(--border);
|
|
964
1046
|
border-radius: 6px;
|
|
965
1047
|
overflow: hidden;
|
|
966
|
-
height:
|
|
1048
|
+
height: var(--ui-control-sm);
|
|
967
1049
|
}
|
|
968
1050
|
.seg button {
|
|
969
1051
|
border: 0;
|
|
@@ -972,42 +1054,48 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
972
1054
|
padding: 0 11px;
|
|
973
1055
|
cursor: pointer;
|
|
974
1056
|
font: inherit;
|
|
975
|
-
font-size:
|
|
1057
|
+
font-size: var(--ui-font-base);
|
|
976
1058
|
font-weight: 500;
|
|
977
1059
|
transition: background 0.12s, color 0.12s;
|
|
978
1060
|
}
|
|
979
1061
|
.seg button + button { border-left: 1px solid var(--border); }
|
|
980
1062
|
.seg button:hover { background: var(--bg-soft); color: var(--fg); }
|
|
981
1063
|
.seg button.active {
|
|
982
|
-
|
|
983
|
-
|
|
1064
|
+
/* Mode switch uses the same tinted-active idiom as the toggle buttons
|
|
1065
|
+
and the header nav pill (no more solid fill). */
|
|
1066
|
+
background: var(--accent-subtle);
|
|
1067
|
+
color: var(--accent);
|
|
1068
|
+
font-weight: 600;
|
|
984
1069
|
}
|
|
985
1070
|
.seg button.active + button,
|
|
986
1071
|
.seg button + button.active { border-left-color: transparent; }
|
|
987
1072
|
|
|
988
1073
|
.controls > button {
|
|
989
1074
|
display: inline-flex; align-items: center; justify-content: center;
|
|
990
|
-
width:
|
|
1075
|
+
width: var(--ui-control-sm); height: var(--ui-control-sm);
|
|
991
1076
|
border: 1px solid var(--border);
|
|
992
1077
|
background: var(--bg);
|
|
993
1078
|
color: var(--fg);
|
|
994
1079
|
border-radius: 6px;
|
|
995
1080
|
cursor: pointer;
|
|
996
|
-
font-size:
|
|
1081
|
+
font-size: var(--ui-font-md);
|
|
997
1082
|
transition: background 0.12s, border-color 0.12s;
|
|
998
1083
|
}
|
|
999
1084
|
.controls > button:hover { background: var(--bg-soft); border-color: var(--border-strong); }
|
|
1000
1085
|
.controls > button.active {
|
|
1001
|
-
|
|
1002
|
-
|
|
1086
|
+
/* Toggle ON state: tinted accent, consistent with the nav pill and the
|
|
1087
|
+
seg control. State reads from styling, so labels stay neutral. */
|
|
1088
|
+
background: var(--accent-subtle);
|
|
1089
|
+
color: var(--accent);
|
|
1003
1090
|
border-color: var(--accent);
|
|
1091
|
+
font-weight: 600;
|
|
1004
1092
|
}
|
|
1005
|
-
.controls > button.active:hover { background: var(--accent
|
|
1093
|
+
.controls > button.active:hover { background: color-mix(in srgb, var(--accent) 16%, var(--bg)); border-color: var(--accent); }
|
|
1006
1094
|
#ignore-ws,
|
|
1007
1095
|
#syntax-highlight {
|
|
1008
1096
|
width: auto;
|
|
1009
1097
|
padding: 0 8px;
|
|
1010
|
-
font-size:
|
|
1098
|
+
font-size: var(--ui-font-sm);
|
|
1011
1099
|
font-weight: 600;
|
|
1012
1100
|
letter-spacing: 0.04em;
|
|
1013
1101
|
}
|
|
@@ -1021,13 +1109,13 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
1021
1109
|
#status {
|
|
1022
1110
|
display: inline-flex;
|
|
1023
1111
|
align-items: center;
|
|
1024
|
-
height:
|
|
1112
|
+
height: calc(var(--ui-control-sm) - 4px);
|
|
1025
1113
|
padding: 0 9px 0 8px;
|
|
1026
1114
|
border: 1px solid var(--border);
|
|
1027
1115
|
border-radius: 999px;
|
|
1028
1116
|
background: color-mix(in srgb, var(--bg) 72%, var(--bg-soft));
|
|
1029
1117
|
color: var(--fg-muted);
|
|
1030
|
-
font-size:
|
|
1118
|
+
font-size: var(--ui-font-sm);
|
|
1031
1119
|
font-weight: 600;
|
|
1032
1120
|
line-height: 1;
|
|
1033
1121
|
white-space: nowrap;
|
|
@@ -1173,6 +1261,7 @@ body.gdp-diff-page #repo-target-wrap {
|
|
|
1173
1261
|
overflow-y: auto;
|
|
1174
1262
|
z-index: 31;
|
|
1175
1263
|
flex-direction: column;
|
|
1264
|
+
font-size: var(--ui-font-base);
|
|
1176
1265
|
}
|
|
1177
1266
|
body.gdp-history-page #history-panel { display: flex; }
|
|
1178
1267
|
body.gdp-history-page #sidebar { left: var(--history-w); }
|
|
@@ -1231,7 +1320,7 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1231
1320
|
flex: 0 0 auto;
|
|
1232
1321
|
white-space: nowrap;
|
|
1233
1322
|
font-weight: 600;
|
|
1234
|
-
font-size:
|
|
1323
|
+
font-size: var(--ui-font-md);
|
|
1235
1324
|
}
|
|
1236
1325
|
.history-head .ref-selector {
|
|
1237
1326
|
flex: 1 1 auto;
|
|
@@ -1243,9 +1332,9 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1243
1332
|
align-items: center;
|
|
1244
1333
|
justify-content: center;
|
|
1245
1334
|
flex: 0 0 auto;
|
|
1246
|
-
width:
|
|
1247
|
-
min-width:
|
|
1248
|
-
height:
|
|
1335
|
+
width: var(--ui-control-sm);
|
|
1336
|
+
min-width: var(--ui-control-sm);
|
|
1337
|
+
height: var(--ui-control-sm);
|
|
1249
1338
|
padding: 0;
|
|
1250
1339
|
border: 1px solid transparent;
|
|
1251
1340
|
border-radius: 4px;
|
|
@@ -1292,7 +1381,7 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1292
1381
|
display: none;
|
|
1293
1382
|
line-height: 1;
|
|
1294
1383
|
white-space: nowrap;
|
|
1295
|
-
font-size:
|
|
1384
|
+
font-size: var(--ui-font-base);
|
|
1296
1385
|
font-weight: 600;
|
|
1297
1386
|
}
|
|
1298
1387
|
.history-refresh-result {
|
|
@@ -1341,14 +1430,14 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1341
1430
|
.history-filter {
|
|
1342
1431
|
box-sizing: border-box;
|
|
1343
1432
|
width: 100%;
|
|
1344
|
-
height:
|
|
1433
|
+
height: var(--ui-control-md);
|
|
1345
1434
|
background: color-mix(in srgb, var(--bg) 78%, var(--bg-soft));
|
|
1346
1435
|
border: 1px solid var(--border);
|
|
1347
1436
|
color: var(--fg);
|
|
1348
1437
|
border-radius: 8px;
|
|
1349
1438
|
font: inherit;
|
|
1350
|
-
font-size:
|
|
1351
|
-
line-height:
|
|
1439
|
+
font-size: var(--ui-font-md);
|
|
1440
|
+
line-height: calc(var(--ui-control-md) - 2px);
|
|
1352
1441
|
padding: 0 60px 0 34px;
|
|
1353
1442
|
outline: none;
|
|
1354
1443
|
transition: border-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
|
|
@@ -1432,10 +1521,11 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1432
1521
|
gap: 8px;
|
|
1433
1522
|
padding: 14px 14px 6px;
|
|
1434
1523
|
background: var(--bg-mute);
|
|
1435
|
-
border-
|
|
1524
|
+
/* Only border-bottom: the previous group's last .history-item already
|
|
1525
|
+
ends with border-bottom, so a border-top here would double the line. */
|
|
1436
1526
|
border-bottom: 1px solid var(--border);
|
|
1437
1527
|
color: var(--accent);
|
|
1438
|
-
font-size:
|
|
1528
|
+
font-size: var(--ui-font-sm);
|
|
1439
1529
|
font-weight: 700;
|
|
1440
1530
|
text-transform: uppercase;
|
|
1441
1531
|
letter-spacing: 0.06em;
|
|
@@ -1447,9 +1537,8 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1447
1537
|
border-radius: 2px;
|
|
1448
1538
|
background: var(--accent);
|
|
1449
1539
|
}
|
|
1450
|
-
#history-list > .history-group:first-child,
|
|
1451
|
-
.history-list > .history-group:first-child { border-top: 0; }
|
|
1452
1540
|
.history-item {
|
|
1541
|
+
min-height: var(--ui-dense-row-h);
|
|
1453
1542
|
padding: 8px 14px;
|
|
1454
1543
|
cursor: pointer;
|
|
1455
1544
|
border-left: 3px solid transparent;
|
|
@@ -1474,7 +1563,7 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1474
1563
|
}
|
|
1475
1564
|
.history-item .subject {
|
|
1476
1565
|
display: block;
|
|
1477
|
-
font-size:
|
|
1566
|
+
font-size: var(--ui-font-md);
|
|
1478
1567
|
overflow: hidden;
|
|
1479
1568
|
text-overflow: ellipsis;
|
|
1480
1569
|
white-space: nowrap;
|
|
@@ -1483,14 +1572,14 @@ body.gdp-history-page #topbar .ref-pickers {
|
|
|
1483
1572
|
display: flex;
|
|
1484
1573
|
gap: 8px;
|
|
1485
1574
|
color: var(--fg-muted);
|
|
1486
|
-
font-size:
|
|
1575
|
+
font-size: var(--ui-font-sm);
|
|
1487
1576
|
margin-top: 2px;
|
|
1488
1577
|
}
|
|
1489
1578
|
.history-item .sha { font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; }
|
|
1490
1579
|
.history-status {
|
|
1491
1580
|
padding: 10px 14px;
|
|
1492
1581
|
color: var(--fg-muted);
|
|
1493
|
-
font-size:
|
|
1582
|
+
font-size: var(--ui-font-base);
|
|
1494
1583
|
}
|
|
1495
1584
|
#history-sentinel,
|
|
1496
1585
|
.history-sentinel { height: 1px; }
|
|
@@ -1572,7 +1661,8 @@ body.gdp-history-page #history-commit-info:not([hidden]),
|
|
|
1572
1661
|
display: grid;
|
|
1573
1662
|
grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
|
|
1574
1663
|
min-height: calc(100vh - var(--global-header-h) - 92px);
|
|
1575
|
-
border-top:
|
|
1664
|
+
/* No border-top: the sticky header above already supplies the separator
|
|
1665
|
+
(border-bottom), two borders would paint a 2px line. */
|
|
1576
1666
|
}
|
|
1577
1667
|
.gdp-file-history-panel {
|
|
1578
1668
|
min-width: 0;
|
|
@@ -1760,7 +1850,7 @@ body[data-focus-scope="main"] #content {
|
|
|
1760
1850
|
padding: 13px 14px 10px;
|
|
1761
1851
|
min-height: var(--sidebar-head-h);
|
|
1762
1852
|
color: var(--fg);
|
|
1763
|
-
font-size:
|
|
1853
|
+
font-size: var(--ui-font-base);
|
|
1764
1854
|
font-weight: 600;
|
|
1765
1855
|
position: sticky; top: 0;
|
|
1766
1856
|
background: var(--bg-soft);
|
|
@@ -1799,8 +1889,8 @@ body[data-focus-scope="main"] #content {
|
|
|
1799
1889
|
display: grid;
|
|
1800
1890
|
place-items: center;
|
|
1801
1891
|
flex: 0 0 auto;
|
|
1802
|
-
width:
|
|
1803
|
-
height:
|
|
1892
|
+
width: var(--ui-control-sm);
|
|
1893
|
+
height: var(--ui-control-sm);
|
|
1804
1894
|
border: 1px solid transparent;
|
|
1805
1895
|
border-radius: 6px;
|
|
1806
1896
|
background: transparent;
|
|
@@ -1827,8 +1917,8 @@ body[data-focus-scope="main"] #content {
|
|
|
1827
1917
|
.sb-icon-action svg {
|
|
1828
1918
|
display: block;
|
|
1829
1919
|
}
|
|
1830
|
-
.sb-view-seg { height:
|
|
1831
|
-
.sb-view-seg button { padding: 0 8px; font-size:
|
|
1920
|
+
.sb-view-seg { height: calc(var(--ui-control-sm) - 6px); }
|
|
1921
|
+
.sb-view-seg button { padding: 0 8px; font-size: var(--ui-font-sm); }
|
|
1832
1922
|
.sb-filter-wrap {
|
|
1833
1923
|
position: sticky;
|
|
1834
1924
|
top: var(--sidebar-head-h);
|
|
@@ -1864,14 +1954,14 @@ body[data-focus-scope="main"] #content {
|
|
|
1864
1954
|
#sb-filter {
|
|
1865
1955
|
box-sizing: border-box;
|
|
1866
1956
|
width: 100%;
|
|
1867
|
-
height:
|
|
1957
|
+
height: var(--ui-control-md);
|
|
1868
1958
|
background: color-mix(in srgb, var(--bg) 78%, var(--bg-soft));
|
|
1869
1959
|
border: 1px solid var(--border);
|
|
1870
1960
|
color: var(--fg);
|
|
1871
1961
|
border-radius: 8px;
|
|
1872
1962
|
font: inherit;
|
|
1873
|
-
font-size:
|
|
1874
|
-
line-height:
|
|
1963
|
+
font-size: var(--ui-font-md);
|
|
1964
|
+
line-height: calc(var(--ui-control-md) - 2px);
|
|
1875
1965
|
padding: 0 60px 0 34px;
|
|
1876
1966
|
outline: none;
|
|
1877
1967
|
transition: border-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
|
|
@@ -2110,9 +2200,6 @@ body.gdp-history-resizing * {
|
|
|
2110
2200
|
background: var(--bg-mute);
|
|
2111
2201
|
}
|
|
2112
2202
|
|
|
2113
|
-
.quick-help-btn {
|
|
2114
|
-
font-weight: 700;
|
|
2115
|
-
}
|
|
2116
2203
|
#quick-help-popover {
|
|
2117
2204
|
position: fixed;
|
|
2118
2205
|
right: 16px;
|
|
@@ -2361,7 +2448,26 @@ body.gdp-help-page #content {
|
|
|
2361
2448
|
overflow: hidden;
|
|
2362
2449
|
box-sizing: border-box;
|
|
2363
2450
|
}
|
|
2451
|
+
/* Indent guides: one vertical line under every ancestor dir's chevron
|
|
2452
|
+
center, tiled from the row's own --lvl-pad (12px + depth * 14px, chevron
|
|
2453
|
+
centers land on 20px + k * 14px). The pseudo-element's width limits the
|
|
2454
|
+
tiling to the indent region and collapses to 0 at depth 0, where a row
|
|
2455
|
+
has no ancestor dirs. Works for both the nested renderer and the flat
|
|
2456
|
+
absolute-positioned virtual rows. */
|
|
2457
|
+
#filelist.tree .tree-dir::before,
|
|
2458
|
+
#filelist.tree .tree-file::before {
|
|
2459
|
+
content: "";
|
|
2460
|
+
position: absolute;
|
|
2461
|
+
top: 0;
|
|
2462
|
+
bottom: 0;
|
|
2463
|
+
left: 20px;
|
|
2464
|
+
width: max(0px, calc(var(--lvl-pad, 12px) - 25px));
|
|
2465
|
+
background-image: linear-gradient(90deg, var(--tree-guide) 1px, transparent 1px);
|
|
2466
|
+
background-size: 14px 100%;
|
|
2467
|
+
pointer-events: none;
|
|
2468
|
+
}
|
|
2364
2469
|
#filelist.tree .tree-dir {
|
|
2470
|
+
position: relative;
|
|
2365
2471
|
display: grid;
|
|
2366
2472
|
grid-template-columns: 16px 16px minmax(0, 1fr) 22px;
|
|
2367
2473
|
align-items: center;
|
|
@@ -2372,9 +2478,14 @@ body.gdp-help-page #content {
|
|
|
2372
2478
|
font-size: var(--sidebar-dir-font);
|
|
2373
2479
|
line-height: calc(var(--sidebar-dir-font) + 7px);
|
|
2374
2480
|
user-select: none;
|
|
2375
|
-
border-
|
|
2481
|
+
border-left: 2px solid transparent;
|
|
2482
|
+
transition: background 0.10s, border-color 0.10s;
|
|
2376
2483
|
}
|
|
2377
2484
|
#filelist.tree .tree-dir:hover { background: var(--bg-mute); color: var(--fg); }
|
|
2485
|
+
#filelist.tree .tree-dir.active {
|
|
2486
|
+
background: var(--accent-subtle);
|
|
2487
|
+
border-left-color: var(--accent);
|
|
2488
|
+
}
|
|
2378
2489
|
#filelist.tree .tree-dir.children-omitted {
|
|
2379
2490
|
color: var(--fg-muted);
|
|
2380
2491
|
}
|
|
@@ -2400,10 +2511,10 @@ body.gdp-help-page #content {
|
|
|
2400
2511
|
padding-top: 4.4px;
|
|
2401
2512
|
font-weight: 700;
|
|
2402
2513
|
transition: transform 0.15s, color 0.15s;
|
|
2403
|
-
color:
|
|
2514
|
+
color: var(--fg-subtle);
|
|
2404
2515
|
}
|
|
2405
2516
|
#filelist.tree .tree-dir.collapsed .chev { transform: rotate(-90deg); }
|
|
2406
|
-
#filelist.tree .tree-dir:hover .chev { color:
|
|
2517
|
+
#filelist.tree .tree-dir:hover .chev { color: var(--fg-muted); }
|
|
2407
2518
|
#filelist.tree .tree-dir .chev .octicon {
|
|
2408
2519
|
display: block;
|
|
2409
2520
|
width: 12px;
|
|
@@ -2456,7 +2567,8 @@ body.gdp-help-page #content {
|
|
|
2456
2567
|
background: var(--bg-soft);
|
|
2457
2568
|
}
|
|
2458
2569
|
#filelist.tree .tree-dir .dir-icon {
|
|
2459
|
-
color
|
|
2570
|
+
/* Match the repo listing's folder color (.gdp-repo-row .dir-icon). */
|
|
2571
|
+
color: var(--accent);
|
|
2460
2572
|
flex-shrink: 0;
|
|
2461
2573
|
width: 16px;
|
|
2462
2574
|
height: 16px;
|
|
@@ -2471,6 +2583,7 @@ body.gdp-help-page #content {
|
|
|
2471
2583
|
#filelist.tree .tree-dir.collapsed + .tree-children { display: none; }
|
|
2472
2584
|
|
|
2473
2585
|
#filelist.tree .tree-file {
|
|
2586
|
+
position: relative;
|
|
2474
2587
|
display: grid;
|
|
2475
2588
|
grid-template-columns: 16px 16px minmax(0, 1fr) auto auto;
|
|
2476
2589
|
align-items: center;
|
|
@@ -2862,9 +2975,11 @@ body:not(.gdp-file-detail-page):not(.gdp-history-page) #diff::after {
|
|
|
2862
2975
|
background: var(--bg-soft);
|
|
2863
2976
|
border: 1px solid var(--border);
|
|
2864
2977
|
border-radius: 6px 6px 0 0;
|
|
2865
|
-
|
|
2978
|
+
/* -1px on top/left/right: the header's own border overlaps the wrapper's
|
|
2979
|
+
border instead of painting a 2px band inside it. */
|
|
2980
|
+
margin: -1px -1px 0;
|
|
2866
2981
|
padding: 6px 8px;
|
|
2867
|
-
min-height:
|
|
2982
|
+
min-height: var(--ui-file-header-h);
|
|
2868
2983
|
display: flex;
|
|
2869
2984
|
align-items: center;
|
|
2870
2985
|
gap: 8px;
|
|
@@ -2873,19 +2988,19 @@ body:not(.gdp-file-detail-page):not(.gdp-history-page) #diff::after {
|
|
|
2873
2988
|
position: sticky;
|
|
2874
2989
|
top: var(--chrome-h);
|
|
2875
2990
|
z-index: 20;
|
|
2876
|
-
font-size:
|
|
2877
|
-
line-height:
|
|
2991
|
+
font-size: var(--ui-font-lg);
|
|
2992
|
+
line-height: 1.5;
|
|
2878
2993
|
}
|
|
2879
2994
|
.d2h-file-name-wrapper {
|
|
2880
2995
|
display: flex; align-items: center; gap: 8px;
|
|
2881
2996
|
flex: 1; min-width: 0;
|
|
2882
|
-
font-size:
|
|
2997
|
+
font-size: var(--ui-font-lg);
|
|
2883
2998
|
}
|
|
2884
2999
|
.d2h-file-name {
|
|
2885
3000
|
color: var(--fg) !important;
|
|
2886
3001
|
font-weight: 400;
|
|
2887
3002
|
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
2888
|
-
font-size:
|
|
3003
|
+
font-size: var(--ui-font-md);
|
|
2889
3004
|
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
|
2890
3005
|
}
|
|
2891
3006
|
.d2h-icon-wrapper { display: inline-flex; color: var(--fg-muted); }
|
|
@@ -2895,13 +3010,13 @@ body:not(.gdp-file-detail-page):not(.gdp-history-page) #diff::after {
|
|
|
2895
3010
|
.d2h-lines-added {
|
|
2896
3011
|
color: var(--success); font-weight: 600;
|
|
2897
3012
|
font-variant-numeric: tabular-nums;
|
|
2898
|
-
font-size:
|
|
3013
|
+
font-size: var(--ui-font-base);
|
|
2899
3014
|
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
2900
3015
|
}
|
|
2901
3016
|
.d2h-lines-deleted {
|
|
2902
3017
|
color: var(--danger); font-weight: 600;
|
|
2903
3018
|
font-variant-numeric: tabular-nums;
|
|
2904
|
-
font-size:
|
|
3019
|
+
font-size: var(--ui-font-base);
|
|
2905
3020
|
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
2906
3021
|
}
|
|
2907
3022
|
|
|
@@ -2922,23 +3037,23 @@ tr.gdp-hunk-row > td {
|
|
|
2922
3037
|
white-space: nowrap;
|
|
2923
3038
|
font-size: 0 !important;
|
|
2924
3039
|
}
|
|
2925
|
-
/* Force the inner div to act as a
|
|
3040
|
+
/* Force the inner div to act as a single code-line block. d2h ships
|
|
2926
3041
|
* `.d2h-code-side-line { display: inline-block }`, and inline-blocks
|
|
2927
3042
|
* sitting next to whitespace text nodes inside a table-cell create a
|
|
2928
|
-
* second line box
|
|
3043
|
+
* second line box. Switching to `display: block` leaves only
|
|
2929
3044
|
* the div in the cell's flow. */
|
|
2930
3045
|
tr.gdp-hunk-row > td > .d2h-code-line,
|
|
2931
3046
|
tr.gdp-hunk-row > td > .d2h-code-side-line,
|
|
2932
3047
|
tr.gdp-hunk-row > td > .gdp-expand-stack {
|
|
2933
|
-
/* Stack auto-sizes
|
|
3048
|
+
/* Stack auto-sizes with the configured code line height. */
|
|
2934
3049
|
font-size: var(--code-font-size);
|
|
2935
|
-
line-height:
|
|
3050
|
+
line-height: var(--code-line-height);
|
|
2936
3051
|
}
|
|
2937
3052
|
tr.gdp-hunk-row .d2h-code-line,
|
|
2938
3053
|
tr.gdp-hunk-row .d2h-code-side-line,
|
|
2939
3054
|
tr.gdp-hunk-row .d2h-code-line-ctn {
|
|
2940
|
-
height:
|
|
2941
|
-
line-height:
|
|
3055
|
+
height: var(--code-line-height) !important;
|
|
3056
|
+
line-height: var(--code-line-height) !important;
|
|
2942
3057
|
padding-top: 0 !important;
|
|
2943
3058
|
padding-bottom: 0 !important;
|
|
2944
3059
|
overflow: hidden;
|
|
@@ -2984,7 +3099,7 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
2984
3099
|
padding: 0 4px !important;
|
|
2985
3100
|
text-align: center;
|
|
2986
3101
|
direction: ltr;
|
|
2987
|
-
line-height:
|
|
3102
|
+
line-height: var(--code-line-height);
|
|
2988
3103
|
white-space: nowrap;
|
|
2989
3104
|
}
|
|
2990
3105
|
/* Unified line-num cell holds two numbers (old, new) side-by-side via d2h's
|
|
@@ -3012,19 +3127,19 @@ table.d2h-diff-table td.d2h-code-linenumber > .line-num2 {
|
|
|
3012
3127
|
}
|
|
3013
3128
|
table.d2h-diff-table td.d2h-code-linenumber > .line-num1 { float: left; }
|
|
3014
3129
|
table.d2h-diff-table td.d2h-code-linenumber > .line-num2 { float: right; }
|
|
3015
|
-
/*
|
|
3130
|
+
/* Remove td padding and let the configured code line-height fill the row. */
|
|
3016
3131
|
table.d2h-diff-table td.d2h-cntx,
|
|
3017
3132
|
table.d2h-diff-table td.d2h-ins,
|
|
3018
3133
|
table.d2h-diff-table td.d2h-del,
|
|
3019
3134
|
table.d2h-diff-table td.d2h-info {
|
|
3020
3135
|
padding: 0 !important;
|
|
3021
|
-
line-height:
|
|
3136
|
+
line-height: var(--code-line-height);
|
|
3022
3137
|
}
|
|
3023
3138
|
table.d2h-diff-table .d2h-code-line,
|
|
3024
3139
|
table.d2h-diff-table .d2h-code-side-line {
|
|
3025
3140
|
padding: 0 !important;
|
|
3026
3141
|
width: auto !important;
|
|
3027
|
-
line-height:
|
|
3142
|
+
line-height: var(--code-line-height);
|
|
3028
3143
|
}
|
|
3029
3144
|
table.d2h-diff-table .d2h-code-line-prefix {
|
|
3030
3145
|
display: inline-block;
|
|
@@ -3060,9 +3175,8 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3060
3175
|
user-select: none;
|
|
3061
3176
|
}
|
|
3062
3177
|
|
|
3063
|
-
/* Floating
|
|
3064
|
-
|
|
3065
|
-
action fills the capsule, the close (×) button overlays its corner. */
|
|
3178
|
+
/* Floating selection action bar. AI reference copy and repository-web
|
|
3179
|
+
actions are visually separated so their payloads are unambiguous. */
|
|
3066
3180
|
#line-ref-pill {
|
|
3067
3181
|
position: fixed;
|
|
3068
3182
|
left: 50%;
|
|
@@ -3071,34 +3185,101 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3071
3185
|
z-index: 400;
|
|
3072
3186
|
display: inline-flex;
|
|
3073
3187
|
align-items: center;
|
|
3074
|
-
gap:
|
|
3075
|
-
max-width: min(
|
|
3188
|
+
gap: 4px;
|
|
3189
|
+
max-width: min(1040px, calc(100vw - 48px));
|
|
3076
3190
|
white-space: nowrap;
|
|
3077
|
-
padding:
|
|
3078
|
-
border: 1px solid var(--
|
|
3079
|
-
border-radius:
|
|
3080
|
-
background: var(--
|
|
3081
|
-
color:
|
|
3191
|
+
padding: 4px;
|
|
3192
|
+
border: 1px solid var(--border-strong);
|
|
3193
|
+
border-radius: 11px;
|
|
3194
|
+
background: var(--bg);
|
|
3195
|
+
color: var(--fg);
|
|
3082
3196
|
font: inherit;
|
|
3083
|
-
font-size:
|
|
3197
|
+
font-size: var(--ui-font-base);
|
|
3084
3198
|
font-weight: 600;
|
|
3085
3199
|
box-shadow: 0 8px 28px rgba(31, 35, 40, 0.35);
|
|
3086
3200
|
}
|
|
3087
|
-
#line-ref-pill:hover {
|
|
3088
|
-
filter: brightness(1.1);
|
|
3089
|
-
}
|
|
3090
3201
|
#line-ref-pill-copy {
|
|
3091
3202
|
display: inline-flex;
|
|
3092
3203
|
align-items: center;
|
|
3093
3204
|
gap: 8px;
|
|
3094
3205
|
min-width: 0;
|
|
3095
|
-
|
|
3206
|
+
min-height: var(--ui-control-sm);
|
|
3207
|
+
padding: 0 10px;
|
|
3096
3208
|
border: none;
|
|
3097
|
-
|
|
3098
|
-
|
|
3209
|
+
border-radius: 7px;
|
|
3210
|
+
background: var(--accent);
|
|
3211
|
+
color: #fff;
|
|
3212
|
+
font: inherit;
|
|
3213
|
+
cursor: pointer;
|
|
3214
|
+
}
|
|
3215
|
+
#line-ref-pill-copy:hover {
|
|
3216
|
+
background: var(--accent-emph);
|
|
3217
|
+
}
|
|
3218
|
+
#line-ref-pill-copy:focus-visible {
|
|
3219
|
+
outline: 2px solid var(--accent);
|
|
3220
|
+
outline-offset: 2px;
|
|
3221
|
+
}
|
|
3222
|
+
#line-ref-pill-copy.copied {
|
|
3223
|
+
background: var(--success);
|
|
3224
|
+
}
|
|
3225
|
+
#line-ref-pill-copy.failed {
|
|
3226
|
+
background: var(--danger);
|
|
3227
|
+
}
|
|
3228
|
+
#line-ref-pill-github-actions {
|
|
3229
|
+
display: inline-flex;
|
|
3230
|
+
align-items: stretch;
|
|
3231
|
+
flex: 0 0 auto;
|
|
3232
|
+
overflow: hidden;
|
|
3233
|
+
min-height: var(--ui-control-sm);
|
|
3234
|
+
border: 1px solid var(--border);
|
|
3235
|
+
border-radius: 7px;
|
|
3236
|
+
background: var(--bg-soft);
|
|
3237
|
+
}
|
|
3238
|
+
#line-ref-pill-github-actions[hidden] {
|
|
3239
|
+
display: none;
|
|
3240
|
+
}
|
|
3241
|
+
#line-ref-pill-github-open,
|
|
3242
|
+
#line-ref-pill-github-copy {
|
|
3243
|
+
display: inline-flex;
|
|
3244
|
+
align-items: center;
|
|
3245
|
+
justify-content: center;
|
|
3246
|
+
min-height: var(--ui-control-sm);
|
|
3247
|
+
border: 0;
|
|
3248
|
+
background: transparent;
|
|
3249
|
+
color: var(--fg);
|
|
3099
3250
|
font: inherit;
|
|
3251
|
+
text-decoration: none;
|
|
3252
|
+
}
|
|
3253
|
+
#line-ref-pill-github-open {
|
|
3254
|
+
gap: 6px;
|
|
3255
|
+
padding: 0 10px;
|
|
3256
|
+
}
|
|
3257
|
+
#line-ref-pill-github-copy {
|
|
3258
|
+
gap: 6px;
|
|
3259
|
+
width: auto;
|
|
3260
|
+
padding: 0 10px;
|
|
3261
|
+
border-left: 1px solid var(--border);
|
|
3100
3262
|
cursor: pointer;
|
|
3101
3263
|
}
|
|
3264
|
+
#line-ref-pill-github-open:hover,
|
|
3265
|
+
#line-ref-pill-github-copy:hover {
|
|
3266
|
+
background: var(--bg-mute);
|
|
3267
|
+
color: var(--fg);
|
|
3268
|
+
text-decoration: none;
|
|
3269
|
+
}
|
|
3270
|
+
#line-ref-pill-github-open:focus-visible,
|
|
3271
|
+
#line-ref-pill-github-copy:focus-visible {
|
|
3272
|
+
outline: 2px solid var(--accent);
|
|
3273
|
+
outline-offset: -3px;
|
|
3274
|
+
}
|
|
3275
|
+
#line-ref-pill-github-copy.copied {
|
|
3276
|
+
color: var(--success);
|
|
3277
|
+
background: color-mix(in srgb, var(--success) 10%, transparent);
|
|
3278
|
+
}
|
|
3279
|
+
#line-ref-pill-github-copy.failed {
|
|
3280
|
+
color: #fff;
|
|
3281
|
+
background: var(--danger);
|
|
3282
|
+
}
|
|
3102
3283
|
#line-ref-pill-close {
|
|
3103
3284
|
position: absolute;
|
|
3104
3285
|
top: -6px;
|
|
@@ -3109,7 +3290,7 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3109
3290
|
align-items: center;
|
|
3110
3291
|
justify-content: center;
|
|
3111
3292
|
padding: 0;
|
|
3112
|
-
border: 1px solid var(--
|
|
3293
|
+
border: 1px solid var(--border-strong);
|
|
3113
3294
|
border-radius: 50%;
|
|
3114
3295
|
background: var(--bg);
|
|
3115
3296
|
color: var(--fg-muted);
|
|
@@ -3126,6 +3307,7 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3126
3307
|
}
|
|
3127
3308
|
#line-ref-pill .lrp-label {
|
|
3128
3309
|
flex: 0 0 auto;
|
|
3310
|
+
font-weight: 700;
|
|
3129
3311
|
}
|
|
3130
3312
|
#line-ref-pill .lrp-ref {
|
|
3131
3313
|
overflow: hidden;
|
|
@@ -3134,7 +3316,7 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3134
3316
|
border-radius: 6px;
|
|
3135
3317
|
background: rgba(255, 255, 255, 0.18);
|
|
3136
3318
|
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
3137
|
-
font-size:
|
|
3319
|
+
font-size: var(--ui-font-sm);
|
|
3138
3320
|
font-weight: 400;
|
|
3139
3321
|
}
|
|
3140
3322
|
/* Line count badge shown for multi-line selections. Flips to a solid
|
|
@@ -3152,10 +3334,6 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3152
3334
|
background: #fff;
|
|
3153
3335
|
color: var(--attn);
|
|
3154
3336
|
}
|
|
3155
|
-
#line-ref-pill.copied {
|
|
3156
|
-
background: var(--success, #2ea043);
|
|
3157
|
-
border-color: var(--success, #2ea043);
|
|
3158
|
-
}
|
|
3159
3337
|
#line-ref-pill.pop {
|
|
3160
3338
|
animation: lrp-pop 0.22s ease-out;
|
|
3161
3339
|
}
|
|
@@ -3172,8 +3350,7 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3172
3350
|
#line-ref-pill[hidden] {
|
|
3173
3351
|
display: none;
|
|
3174
3352
|
}
|
|
3175
|
-
/* Stack height
|
|
3176
|
-
* with 2 (↑+↓) = 40px row, matching GitHub. */
|
|
3353
|
+
/* Stack height follows the configured code line height. */
|
|
3177
3354
|
.gdp-expand-stack {
|
|
3178
3355
|
display: flex;
|
|
3179
3356
|
flex-direction: column;
|
|
@@ -3185,9 +3362,9 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3185
3362
|
-webkit-appearance: none;
|
|
3186
3363
|
display: grid;
|
|
3187
3364
|
place-items: center;
|
|
3188
|
-
flex: 0 0
|
|
3365
|
+
flex: 0 0 var(--code-line-height);
|
|
3189
3366
|
width: 100%;
|
|
3190
|
-
height:
|
|
3367
|
+
height: var(--code-line-height);
|
|
3191
3368
|
min-height: 0;
|
|
3192
3369
|
border: 0;
|
|
3193
3370
|
background: var(--accent-subtle);
|
|
@@ -3213,7 +3390,7 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3213
3390
|
margin-left: auto;
|
|
3214
3391
|
display: inline-flex;
|
|
3215
3392
|
gap: 8px;
|
|
3216
|
-
font-size:
|
|
3393
|
+
font-size: var(--ui-font-base);
|
|
3217
3394
|
font-weight: 600;
|
|
3218
3395
|
font-variant-numeric: tabular-nums;
|
|
3219
3396
|
}
|
|
@@ -3226,15 +3403,15 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3226
3403
|
appearance: none;
|
|
3227
3404
|
display: grid;
|
|
3228
3405
|
place-items: center;
|
|
3229
|
-
width:
|
|
3230
|
-
height:
|
|
3406
|
+
width: var(--ui-control-sm);
|
|
3407
|
+
height: var(--ui-control-sm);
|
|
3231
3408
|
border: 1px solid transparent;
|
|
3232
3409
|
background: transparent;
|
|
3233
3410
|
color: var(--fg-muted);
|
|
3234
3411
|
border-radius: 6px;
|
|
3235
3412
|
padding: 0 8px;
|
|
3236
3413
|
cursor: pointer;
|
|
3237
|
-
flex: 0 0
|
|
3414
|
+
flex: 0 0 var(--ui-control-sm);
|
|
3238
3415
|
}
|
|
3239
3416
|
.gdp-file-header-icon:hover {
|
|
3240
3417
|
color: var(--fg);
|
|
@@ -3279,10 +3456,10 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3279
3456
|
text-decoration: none;
|
|
3280
3457
|
}
|
|
3281
3458
|
.gdp-btn-sm {
|
|
3282
|
-
height:
|
|
3459
|
+
height: var(--ui-control-sm);
|
|
3283
3460
|
padding: 0 10px;
|
|
3284
|
-
font-size:
|
|
3285
|
-
line-height:
|
|
3461
|
+
font-size: var(--ui-font-base);
|
|
3462
|
+
line-height: calc(var(--ui-control-sm) - 2px);
|
|
3286
3463
|
}
|
|
3287
3464
|
.gdp-btn:hover {
|
|
3288
3465
|
background: var(--bg-mute);
|
|
@@ -3299,8 +3476,8 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3299
3476
|
opacity: 0.65;
|
|
3300
3477
|
}
|
|
3301
3478
|
.d2h-file-collapse-input {
|
|
3302
|
-
width:
|
|
3303
|
-
height:
|
|
3479
|
+
width: calc(var(--ui-font-sm) + 2px);
|
|
3480
|
+
height: calc(var(--ui-font-sm) + 2px);
|
|
3304
3481
|
margin: 0;
|
|
3305
3482
|
accent-color: var(--accent);
|
|
3306
3483
|
}
|
|
@@ -3314,8 +3491,8 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3314
3491
|
}
|
|
3315
3492
|
.gdp-stat-squares .sq {
|
|
3316
3493
|
display: inline-block;
|
|
3317
|
-
width:
|
|
3318
|
-
height:
|
|
3494
|
+
width: calc(var(--ui-font-sm) - 3px);
|
|
3495
|
+
height: calc(var(--ui-font-sm) - 3px);
|
|
3319
3496
|
border-radius: 2px;
|
|
3320
3497
|
background: #d0d7de; /* fallback / neutral */
|
|
3321
3498
|
}
|
|
@@ -3532,7 +3709,7 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3532
3709
|
table-layout: auto;
|
|
3533
3710
|
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
3534
3711
|
font-size: var(--code-font-size);
|
|
3535
|
-
line-height:
|
|
3712
|
+
line-height: var(--code-line-height);
|
|
3536
3713
|
}
|
|
3537
3714
|
.gdp-source-table tr.gdp-source-line-target {
|
|
3538
3715
|
background: var(--line-hit-bg);
|
|
@@ -3593,13 +3770,16 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3593
3770
|
align-items: center;
|
|
3594
3771
|
justify-content: space-between;
|
|
3595
3772
|
gap: 12px;
|
|
3596
|
-
margin: 12px;
|
|
3597
|
-
padding: 14px;
|
|
3598
|
-
border: 1px dashed var(--border
|
|
3773
|
+
margin: 12px 14px;
|
|
3774
|
+
padding: 10px 14px;
|
|
3775
|
+
border: 1px dashed var(--border);
|
|
3599
3776
|
border-radius: 8px;
|
|
3600
3777
|
background: var(--bg);
|
|
3601
3778
|
transition: background 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
|
|
3602
3779
|
}
|
|
3780
|
+
.gdp-upload-panel:hover {
|
|
3781
|
+
border-color: var(--border-strong);
|
|
3782
|
+
}
|
|
3603
3783
|
.gdp-upload-panel.dragging {
|
|
3604
3784
|
border-color: var(--accent);
|
|
3605
3785
|
background: var(--accent-subtle);
|
|
@@ -3611,12 +3791,13 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3611
3791
|
.gdp-upload-error {
|
|
3612
3792
|
min-height: 18px;
|
|
3613
3793
|
color: var(--danger);
|
|
3614
|
-
font-size:
|
|
3794
|
+
font-size: var(--ui-font-base);
|
|
3615
3795
|
line-height: 18px;
|
|
3616
3796
|
}
|
|
3617
3797
|
.gdp-upload-copy {
|
|
3618
3798
|
min-width: 0;
|
|
3619
3799
|
color: var(--fg-muted);
|
|
3800
|
+
font-size: var(--ui-font-base);
|
|
3620
3801
|
overflow: hidden;
|
|
3621
3802
|
text-overflow: ellipsis;
|
|
3622
3803
|
white-space: nowrap;
|
|
@@ -3757,7 +3938,7 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3757
3938
|
min-height: 0;
|
|
3758
3939
|
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
3759
3940
|
font-size: var(--code-font-size);
|
|
3760
|
-
line-height:
|
|
3941
|
+
line-height: var(--code-line-height);
|
|
3761
3942
|
cursor: text;
|
|
3762
3943
|
}
|
|
3763
3944
|
.gdp-source-virtual-spacer {
|
|
@@ -3773,8 +3954,8 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3773
3954
|
.gdp-source-virtual-row {
|
|
3774
3955
|
display: grid;
|
|
3775
3956
|
grid-template-columns: minmax(50px, max-content) minmax(0, 1fr);
|
|
3776
|
-
height:
|
|
3777
|
-
line-height:
|
|
3957
|
+
height: var(--code-line-height);
|
|
3958
|
+
line-height: var(--code-line-height);
|
|
3778
3959
|
}
|
|
3779
3960
|
.gdp-source-virtual-line-number {
|
|
3780
3961
|
position: sticky;
|
|
@@ -3793,7 +3974,7 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3793
3974
|
padding: 0 12px;
|
|
3794
3975
|
color: var(--fg);
|
|
3795
3976
|
white-space: pre;
|
|
3796
|
-
min-height:
|
|
3977
|
+
min-height: var(--code-line-height);
|
|
3797
3978
|
}
|
|
3798
3979
|
.gdp-source-virtual-line-code.hljs {
|
|
3799
3980
|
background: var(--bg);
|
|
@@ -3915,6 +4096,13 @@ table.d2h-diff-table td.d2h-code-side-linenumber {
|
|
|
3915
4096
|
.gdp-file-detail-header .gdp-create-dir {
|
|
3916
4097
|
flex-shrink: 0;
|
|
3917
4098
|
}
|
|
4099
|
+
.gdp-repo-web-link {
|
|
4100
|
+
flex: 0 0 auto;
|
|
4101
|
+
gap: 6px;
|
|
4102
|
+
}
|
|
4103
|
+
.gdp-repo-web-link svg {
|
|
4104
|
+
display: block;
|
|
4105
|
+
}
|
|
3918
4106
|
.gdp-file-detail-meta {
|
|
3919
4107
|
display: flex;
|
|
3920
4108
|
align-items: center;
|
|
@@ -4484,6 +4672,7 @@ body.gdp-file-detail-page #empty {
|
|
|
4484
4672
|
width: 100%;
|
|
4485
4673
|
min-width: 0;
|
|
4486
4674
|
margin: 0;
|
|
4675
|
+
font-size: var(--ui-font-md);
|
|
4487
4676
|
}
|
|
4488
4677
|
.gdp-repo-header,
|
|
4489
4678
|
.gdp-repo-toolbar {
|
|
@@ -4504,7 +4693,10 @@ body.gdp-file-detail-page #empty {
|
|
|
4504
4693
|
cursor: default;
|
|
4505
4694
|
}
|
|
4506
4695
|
.gdp-repo-file-list {
|
|
4507
|
-
|
|
4696
|
+
/* The wrapper (.d2h-file-wrapper) supplies the card outline and shadow;
|
|
4697
|
+
an inner border here painted a 2px band on three sides. */
|
|
4698
|
+
border: 0;
|
|
4699
|
+
box-shadow: none;
|
|
4508
4700
|
border-radius: 0 0 6px 6px;
|
|
4509
4701
|
padding: 0;
|
|
4510
4702
|
overflow: hidden;
|
|
@@ -4514,9 +4706,10 @@ body.gdp-file-detail-page #empty {
|
|
|
4514
4706
|
grid-template-columns: 28px minmax(0, 1fr) minmax(150px, 220px) 80px;
|
|
4515
4707
|
column-gap: 8px;
|
|
4516
4708
|
align-items: center;
|
|
4517
|
-
min-height:
|
|
4709
|
+
min-height: var(--ui-control-md);
|
|
4518
4710
|
padding: 0 14px;
|
|
4519
|
-
border-top:
|
|
4711
|
+
/* No border-top: the wrapper's card border is right above; two borders
|
|
4712
|
+
would paint a 2px band when there is no upload panel. */
|
|
4520
4713
|
border-bottom: 1px solid var(--border);
|
|
4521
4714
|
background: var(--bg-soft);
|
|
4522
4715
|
}
|
|
@@ -4530,8 +4723,9 @@ body.gdp-file-detail-page #empty {
|
|
|
4530
4723
|
background: transparent;
|
|
4531
4724
|
color: var(--fg-muted);
|
|
4532
4725
|
font: inherit;
|
|
4533
|
-
font-size:
|
|
4726
|
+
font-size: var(--ui-font-sm);
|
|
4534
4727
|
font-weight: 600;
|
|
4728
|
+
letter-spacing: 0.02em;
|
|
4535
4729
|
text-align: left;
|
|
4536
4730
|
cursor: pointer;
|
|
4537
4731
|
line-height: 20px;
|
|
@@ -4550,13 +4744,14 @@ body.gdp-file-detail-page #empty {
|
|
|
4550
4744
|
align-items: center;
|
|
4551
4745
|
column-gap: 8px;
|
|
4552
4746
|
width: 100%;
|
|
4553
|
-
min-height:
|
|
4747
|
+
min-height: var(--ui-dense-row-h);
|
|
4554
4748
|
border: 0;
|
|
4555
4749
|
border-bottom: 1px solid var(--border);
|
|
4556
4750
|
background: var(--bg);
|
|
4557
4751
|
color: var(--fg);
|
|
4558
4752
|
padding: 0 14px;
|
|
4559
4753
|
font: inherit;
|
|
4754
|
+
font-size: var(--ui-font-md);
|
|
4560
4755
|
text-align: left;
|
|
4561
4756
|
cursor: pointer;
|
|
4562
4757
|
}
|
|
@@ -4571,7 +4766,9 @@ body.gdp-file-detail-page #empty {
|
|
|
4571
4766
|
}
|
|
4572
4767
|
.gdp-repo-row .dir-icon,
|
|
4573
4768
|
.gdp-repo-list-shell .d2h-file-name-wrapper .dir-icon {
|
|
4574
|
-
|
|
4769
|
+
/* Theme-aware folder blue: deep link-blue in light mode, soft blue in
|
|
4770
|
+
dark mode (previously a single hardcoded mid-blue for both). */
|
|
4771
|
+
color: var(--accent);
|
|
4575
4772
|
flex-shrink: 0;
|
|
4576
4773
|
width: 16px;
|
|
4577
4774
|
height: 16px;
|
|
@@ -4592,20 +4789,22 @@ body.gdp-file-detail-page #empty {
|
|
|
4592
4789
|
.gdp-repo-row .kind {
|
|
4593
4790
|
justify-self: end;
|
|
4594
4791
|
color: var(--fg-muted);
|
|
4595
|
-
font-size:
|
|
4792
|
+
font-size: var(--ui-font-base);
|
|
4596
4793
|
}
|
|
4597
4794
|
.gdp-repo-row .meta {
|
|
4598
4795
|
overflow: hidden;
|
|
4599
4796
|
text-overflow: ellipsis;
|
|
4600
4797
|
white-space: nowrap;
|
|
4601
4798
|
color: var(--fg-muted);
|
|
4602
|
-
font-size:
|
|
4799
|
+
font-size: var(--ui-font-base);
|
|
4800
|
+
font-variant-numeric: tabular-nums;
|
|
4603
4801
|
}
|
|
4604
4802
|
.gdp-repo-row .size {
|
|
4605
4803
|
justify-self: end;
|
|
4606
4804
|
min-width: 0;
|
|
4607
4805
|
color: var(--fg-muted);
|
|
4608
|
-
font-size:
|
|
4806
|
+
font-size: var(--ui-font-base);
|
|
4807
|
+
font-variant-numeric: tabular-nums;
|
|
4609
4808
|
white-space: nowrap;
|
|
4610
4809
|
}
|
|
4611
4810
|
|
|
@@ -4805,7 +5004,7 @@ body.gdp-file-detail-page #empty {
|
|
|
4805
5004
|
}
|
|
4806
5005
|
|
|
4807
5006
|
.d2h-tag {
|
|
4808
|
-
font-size:
|
|
5007
|
+
font-size: var(--ui-font-xs);
|
|
4809
5008
|
font-weight: 600;
|
|
4810
5009
|
text-transform: uppercase;
|
|
4811
5010
|
letter-spacing: 0.04em;
|
|
@@ -4838,7 +5037,7 @@ body.gdp-file-detail-page #empty {
|
|
|
4838
5037
|
/* match GitHub Primer exactly */
|
|
4839
5038
|
font-family: "Monaspace Neon", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
4840
5039
|
font-size: 12px;
|
|
4841
|
-
line-height:
|
|
5040
|
+
line-height: var(--code-line-height);
|
|
4842
5041
|
color: var(--fg);
|
|
4843
5042
|
tab-size: 4;
|
|
4844
5043
|
-moz-tab-size: 4;
|
|
@@ -4849,7 +5048,7 @@ body.gdp-file-detail-page #empty {
|
|
|
4849
5048
|
.d2h-code-line, .d2h-code-side-line, .d2h-code-line-ctn, .d2h-code-side-emptyplaceholder {
|
|
4850
5049
|
font-family: inherit !important;
|
|
4851
5050
|
font-size: var(--code-font-size) !important;
|
|
4852
|
-
line-height:
|
|
5051
|
+
line-height: var(--code-line-height) !important;
|
|
4853
5052
|
font-weight: 400 !important;
|
|
4854
5053
|
}
|
|
4855
5054
|
/* Force the line wrappers (NOT the inner highlighted spans) to use Primer's
|
|
@@ -5085,7 +5284,7 @@ body.gdp-file-detail-page #empty {
|
|
|
5085
5284
|
display: inline-flex;
|
|
5086
5285
|
align-items: center;
|
|
5087
5286
|
gap: 6px;
|
|
5088
|
-
font-size:
|
|
5287
|
+
font-size: var(--ui-font-base);
|
|
5089
5288
|
color: var(--fg-muted);
|
|
5090
5289
|
cursor: pointer;
|
|
5091
5290
|
}
|
|
@@ -5102,6 +5301,105 @@ body.gdp-file-detail-page #empty {
|
|
|
5102
5301
|
[data-theme="dark"] ::-webkit-scrollbar-thumb { border-color: var(--bg); }
|
|
5103
5302
|
|
|
5104
5303
|
/* ===== Responsive ===== */
|
|
5304
|
+
@media (max-width: 1440px) {
|
|
5305
|
+
#topbar {
|
|
5306
|
+
gap: 8px;
|
|
5307
|
+
padding-inline: 12px;
|
|
5308
|
+
}
|
|
5309
|
+
#meta {
|
|
5310
|
+
flex: 0 1 auto;
|
|
5311
|
+
min-width: 0;
|
|
5312
|
+
gap: 6px;
|
|
5313
|
+
}
|
|
5314
|
+
#meta .chip-added,
|
|
5315
|
+
#meta .chip-deleted,
|
|
5316
|
+
#meta .chip-renamed,
|
|
5317
|
+
#meta .chip-heavy,
|
|
5318
|
+
#meta .chip-binary,
|
|
5319
|
+
#meta .chip-media,
|
|
5320
|
+
#meta .chip-updated {
|
|
5321
|
+
display: none;
|
|
5322
|
+
}
|
|
5323
|
+
#topbar .ref-pickers {
|
|
5324
|
+
flex: 1 1 auto;
|
|
5325
|
+
min-width: 0;
|
|
5326
|
+
margin-left: 0;
|
|
5327
|
+
gap: 6px;
|
|
5328
|
+
}
|
|
5329
|
+
#topbar .ref-selector {
|
|
5330
|
+
flex: 1 1 clamp(140px, 16vw, 220px);
|
|
5331
|
+
width: clamp(140px, 16vw, 220px);
|
|
5332
|
+
min-width: 140px;
|
|
5333
|
+
}
|
|
5334
|
+
#topbar .spacer {
|
|
5335
|
+
display: none;
|
|
5336
|
+
}
|
|
5337
|
+
#topbar .controls {
|
|
5338
|
+
flex: 0 0 auto;
|
|
5339
|
+
}
|
|
5340
|
+
}
|
|
5341
|
+
|
|
5342
|
+
@media (max-width: 1100px) {
|
|
5343
|
+
#global-header {
|
|
5344
|
+
gap: 10px;
|
|
5345
|
+
padding-inline: 12px;
|
|
5346
|
+
}
|
|
5347
|
+
.app-menu-item {
|
|
5348
|
+
padding-inline: 7px;
|
|
5349
|
+
}
|
|
5350
|
+
.global-actions {
|
|
5351
|
+
gap: 4px;
|
|
5352
|
+
}
|
|
5353
|
+
.global-actions-sep {
|
|
5354
|
+
margin-inline: 0;
|
|
5355
|
+
}
|
|
5356
|
+
}
|
|
5357
|
+
|
|
5358
|
+
@media (max-width: 1050px) {
|
|
5359
|
+
#meta .chip-viewed {
|
|
5360
|
+
display: none;
|
|
5361
|
+
}
|
|
5362
|
+
}
|
|
5363
|
+
|
|
5364
|
+
@media (min-width: 901px) and (max-width: 1100px) {
|
|
5365
|
+
.d2h-file-header,
|
|
5366
|
+
.d2h-file-header.d2h-sticky-header {
|
|
5367
|
+
height: auto !important;
|
|
5368
|
+
min-height: var(--ui-file-header-wrapped-h);
|
|
5369
|
+
flex-wrap: wrap;
|
|
5370
|
+
align-items: center;
|
|
5371
|
+
align-content: center;
|
|
5372
|
+
row-gap: 6px;
|
|
5373
|
+
}
|
|
5374
|
+
.d2h-file-header .d2h-file-name-wrapper {
|
|
5375
|
+
flex: 1 1 calc(100% - 44px);
|
|
5376
|
+
min-width: 160px;
|
|
5377
|
+
order: 1;
|
|
5378
|
+
}
|
|
5379
|
+
.d2h-file-header > .gdp-file-toggle {
|
|
5380
|
+
order: 0;
|
|
5381
|
+
}
|
|
5382
|
+
.d2h-file-header > .d2h-file-collapse {
|
|
5383
|
+
order: 2;
|
|
5384
|
+
margin-left: 0;
|
|
5385
|
+
}
|
|
5386
|
+
.d2h-file-header > .gdp-stat-text {
|
|
5387
|
+
order: 3;
|
|
5388
|
+
margin-left: 0;
|
|
5389
|
+
}
|
|
5390
|
+
.d2h-file-header > .gdp-stat-squares {
|
|
5391
|
+
order: 4;
|
|
5392
|
+
}
|
|
5393
|
+
.d2h-file-header > .gdp-preview-file {
|
|
5394
|
+
order: 5;
|
|
5395
|
+
margin-left: auto;
|
|
5396
|
+
}
|
|
5397
|
+
.d2h-file-header > .gdp-view-file {
|
|
5398
|
+
order: 6;
|
|
5399
|
+
margin-left: 0;
|
|
5400
|
+
}
|
|
5401
|
+
}
|
|
5402
|
+
|
|
5105
5403
|
@media (max-width: 900px) {
|
|
5106
5404
|
#sidebar {
|
|
5107
5405
|
position: static;
|
|
@@ -5127,7 +5425,7 @@ body.gdp-file-detail-page #empty {
|
|
|
5127
5425
|
.d2h-file-header,
|
|
5128
5426
|
.d2h-file-header.d2h-sticky-header {
|
|
5129
5427
|
height: auto !important;
|
|
5130
|
-
min-height:
|
|
5428
|
+
min-height: var(--ui-file-header-wrapped-h);
|
|
5131
5429
|
flex-wrap: wrap;
|
|
5132
5430
|
align-items: center;
|
|
5133
5431
|
align-content: center;
|
|
@@ -5152,10 +5450,14 @@ body.gdp-file-detail-page #empty {
|
|
|
5152
5450
|
.d2h-file-header > .gdp-stat-squares {
|
|
5153
5451
|
order: 4;
|
|
5154
5452
|
}
|
|
5155
|
-
.d2h-file-header > .gdp-
|
|
5453
|
+
.d2h-file-header > .gdp-preview-file {
|
|
5156
5454
|
order: 5;
|
|
5157
5455
|
margin-left: auto;
|
|
5158
5456
|
}
|
|
5457
|
+
.d2h-file-header > .gdp-view-file {
|
|
5458
|
+
order: 6;
|
|
5459
|
+
margin-left: 0;
|
|
5460
|
+
}
|
|
5159
5461
|
body.gdp-history-page #history-panel {
|
|
5160
5462
|
position: static;
|
|
5161
5463
|
width: auto;
|
|
@@ -5606,11 +5908,11 @@ body.query-history-panel-open #content {
|
|
|
5606
5908
|
display: flex;
|
|
5607
5909
|
align-items: stretch;
|
|
5608
5910
|
gap: 0;
|
|
5609
|
-
min-height:
|
|
5911
|
+
min-height: var(--ui-history-dock-h);
|
|
5610
5912
|
border-top: 1px solid var(--border);
|
|
5611
5913
|
background: var(--bg-soft);
|
|
5612
5914
|
flex-shrink: 0;
|
|
5613
|
-
font-size:
|
|
5915
|
+
font-size: var(--ui-font-base);
|
|
5614
5916
|
}
|
|
5615
5917
|
.db-history-dock-tab {
|
|
5616
5918
|
appearance: none;
|
|
@@ -5691,7 +5993,7 @@ body.query-history-panel-open #content {
|
|
|
5691
5993
|
border-radius: 4px;
|
|
5692
5994
|
background: var(--bg);
|
|
5693
5995
|
color: var(--fg);
|
|
5694
|
-
font-size:
|
|
5996
|
+
font-size: var(--ui-font-base);
|
|
5695
5997
|
cursor: pointer;
|
|
5696
5998
|
font-family: inherit;
|
|
5697
5999
|
}
|
|
@@ -5732,7 +6034,7 @@ body.query-history-panel-open #content {
|
|
|
5732
6034
|
color: var(--fg-muted);
|
|
5733
6035
|
text-align: center;
|
|
5734
6036
|
padding: 40px 16px;
|
|
5735
|
-
font-size:
|
|
6037
|
+
font-size: var(--ui-font-md);
|
|
5736
6038
|
}
|
|
5737
6039
|
.db-session-log-detail-actions {
|
|
5738
6040
|
display: flex;
|
|
@@ -5760,12 +6062,12 @@ body.query-history-panel-open #content {
|
|
|
5760
6062
|
display: flex;
|
|
5761
6063
|
gap: 8px;
|
|
5762
6064
|
align-items: center;
|
|
5763
|
-
font-size:
|
|
6065
|
+
font-size: var(--ui-font-sm);
|
|
5764
6066
|
color: var(--fg-muted);
|
|
5765
6067
|
}
|
|
5766
6068
|
.db-session-log-badge {
|
|
5767
6069
|
font-weight: 600;
|
|
5768
|
-
font-size:
|
|
6070
|
+
font-size: var(--ui-font-xs);
|
|
5769
6071
|
padding: 1px 6px;
|
|
5770
6072
|
border-radius: 999px;
|
|
5771
6073
|
border: 1px solid transparent;
|
|
@@ -5781,20 +6083,20 @@ body.query-history-panel-open #content {
|
|
|
5781
6083
|
color: var(--danger, #cf222e);
|
|
5782
6084
|
}
|
|
5783
6085
|
.db-session-log-kind {
|
|
5784
|
-
font-size:
|
|
6086
|
+
font-size: var(--ui-font-xs);
|
|
5785
6087
|
text-transform: uppercase;
|
|
5786
6088
|
letter-spacing: 0.05em;
|
|
5787
6089
|
color: var(--fg-subtle);
|
|
5788
6090
|
}
|
|
5789
6091
|
.db-session-log-time {
|
|
5790
|
-
font-size:
|
|
6092
|
+
font-size: var(--ui-font-sm);
|
|
5791
6093
|
}
|
|
5792
6094
|
.db-session-log-stats {
|
|
5793
|
-
font-size:
|
|
6095
|
+
font-size: var(--ui-font-sm);
|
|
5794
6096
|
}
|
|
5795
6097
|
.db-session-log-entry-title {
|
|
5796
6098
|
margin-top: 4px;
|
|
5797
|
-
font-size:
|
|
6099
|
+
font-size: var(--ui-font-base);
|
|
5798
6100
|
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
5799
6101
|
white-space: nowrap;
|
|
5800
6102
|
overflow: hidden;
|
|
@@ -5805,7 +6107,7 @@ body.query-history-panel-open #content {
|
|
|
5805
6107
|
border-radius: 4px;
|
|
5806
6108
|
background: var(--bg);
|
|
5807
6109
|
border: 1px solid var(--border);
|
|
5808
|
-
font-size:
|
|
6110
|
+
font-size: var(--code-font-size);
|
|
5809
6111
|
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
5810
6112
|
white-space: pre-wrap;
|
|
5811
6113
|
word-break: break-word;
|
|
@@ -5829,7 +6131,7 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5829
6131
|
.db-session-log-message {
|
|
5830
6132
|
padding: 8px;
|
|
5831
6133
|
border-radius: 4px;
|
|
5832
|
-
font-size:
|
|
6134
|
+
font-size: var(--ui-font-base);
|
|
5833
6135
|
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
5834
6136
|
white-space: pre-wrap;
|
|
5835
6137
|
word-break: break-word;
|
|
@@ -5861,7 +6163,7 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5861
6163
|
border-radius: 4px;
|
|
5862
6164
|
background: var(--bg);
|
|
5863
6165
|
color: var(--fg);
|
|
5864
|
-
font-size:
|
|
6166
|
+
font-size: var(--ui-font-base);
|
|
5865
6167
|
cursor: pointer;
|
|
5866
6168
|
font-family: inherit;
|
|
5867
6169
|
display: inline-flex;
|
|
@@ -5913,7 +6215,7 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5913
6215
|
color: var(--fg-muted);
|
|
5914
6216
|
text-align: center;
|
|
5915
6217
|
padding: 40px 16px;
|
|
5916
|
-
font-size:
|
|
6218
|
+
font-size: var(--ui-font-md);
|
|
5917
6219
|
}
|
|
5918
6220
|
.db-query-history-detail-meta {
|
|
5919
6221
|
display: flex;
|
|
@@ -5926,7 +6228,7 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5926
6228
|
border-radius: 4px;
|
|
5927
6229
|
background: var(--bg-soft);
|
|
5928
6230
|
color: var(--fg-muted);
|
|
5929
|
-
font-size:
|
|
6231
|
+
font-size: var(--ui-font-sm);
|
|
5930
6232
|
}
|
|
5931
6233
|
.db-query-history-detail-meta .db-query-history-by {
|
|
5932
6234
|
color: var(--fg);
|
|
@@ -5957,22 +6259,22 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5957
6259
|
display: flex;
|
|
5958
6260
|
gap: 8px;
|
|
5959
6261
|
align-items: center;
|
|
5960
|
-
font-size:
|
|
6262
|
+
font-size: var(--ui-font-sm);
|
|
5961
6263
|
color: var(--fg-muted);
|
|
5962
6264
|
}
|
|
5963
6265
|
.db-query-history-by {
|
|
5964
6266
|
font-weight: 600;
|
|
5965
|
-
font-size:
|
|
6267
|
+
font-size: var(--ui-font-xs);
|
|
5966
6268
|
}
|
|
5967
6269
|
.db-query-history-time {
|
|
5968
|
-
font-size:
|
|
6270
|
+
font-size: var(--ui-font-sm);
|
|
5969
6271
|
}
|
|
5970
6272
|
.db-query-history-stats {
|
|
5971
|
-
font-size:
|
|
6273
|
+
font-size: var(--ui-font-sm);
|
|
5972
6274
|
}
|
|
5973
6275
|
.db-query-history-entry-title {
|
|
5974
6276
|
margin-top: 4px;
|
|
5975
|
-
font-size:
|
|
6277
|
+
font-size: var(--ui-font-base);
|
|
5976
6278
|
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
5977
6279
|
white-space: nowrap;
|
|
5978
6280
|
overflow: hidden;
|
|
@@ -5986,7 +6288,7 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5986
6288
|
border-radius: 4px;
|
|
5987
6289
|
background: var(--bg);
|
|
5988
6290
|
border: 1px solid var(--border);
|
|
5989
|
-
font-size:
|
|
6291
|
+
font-size: var(--code-font-size);
|
|
5990
6292
|
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
5991
6293
|
white-space: pre-wrap;
|
|
5992
6294
|
word-break: break-all;
|
|
@@ -5996,7 +6298,7 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
5996
6298
|
}
|
|
5997
6299
|
.db-query-history-body {
|
|
5998
6300
|
margin-top: 8px;
|
|
5999
|
-
font-size:
|
|
6301
|
+
font-size: var(--ui-font-base);
|
|
6000
6302
|
color: var(--fg-muted);
|
|
6001
6303
|
}
|
|
6002
6304
|
.db-query-history-actions {
|
|
@@ -6006,7 +6308,7 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
6006
6308
|
}
|
|
6007
6309
|
.db-query-history-truncated {
|
|
6008
6310
|
margin-top: 4px;
|
|
6009
|
-
font-size:
|
|
6311
|
+
font-size: var(--ui-font-sm);
|
|
6010
6312
|
color: var(--fg-muted);
|
|
6011
6313
|
text-align: center;
|
|
6012
6314
|
}
|
|
@@ -6187,6 +6489,21 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
6187
6489
|
color: var(--fg-subtle);
|
|
6188
6490
|
white-space: nowrap;
|
|
6189
6491
|
}
|
|
6492
|
+
.annotation-session-count {
|
|
6493
|
+
flex: none;
|
|
6494
|
+
border: 1px solid var(--border);
|
|
6495
|
+
border-radius: 999px;
|
|
6496
|
+
background: var(--bg);
|
|
6497
|
+
color: var(--fg-muted);
|
|
6498
|
+
font-size: 10px;
|
|
6499
|
+
font-weight: 600;
|
|
6500
|
+
line-height: 1;
|
|
6501
|
+
padding: 2px 6px;
|
|
6502
|
+
}
|
|
6503
|
+
.annotation-session.active .annotation-session-count {
|
|
6504
|
+
border-color: var(--accent);
|
|
6505
|
+
color: var(--accent);
|
|
6506
|
+
}
|
|
6190
6507
|
.annotation-entries {
|
|
6191
6508
|
list-style: none;
|
|
6192
6509
|
margin: 0;
|
|
@@ -6222,16 +6539,34 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
6222
6539
|
min-width: 0;
|
|
6223
6540
|
}
|
|
6224
6541
|
.annotation-entry-open::before {
|
|
6542
|
+
/* Step number rendered as a chip so the reading order is scannable.
|
|
6543
|
+
Neutral by default, accent-tinted inside the active session, solid
|
|
6544
|
+
accent on the currently open entry. */
|
|
6225
6545
|
content: counter(annotation-step);
|
|
6226
6546
|
grid-row: 1 / span 3;
|
|
6227
|
-
|
|
6228
|
-
|
|
6229
|
-
|
|
6547
|
+
align-self: start;
|
|
6548
|
+
margin-top: 5px;
|
|
6549
|
+
width: 18px;
|
|
6550
|
+
height: 18px;
|
|
6551
|
+
box-sizing: border-box;
|
|
6552
|
+
border: 1px solid var(--border);
|
|
6553
|
+
border-radius: 50%;
|
|
6554
|
+
background: var(--bg-soft);
|
|
6555
|
+
color: var(--fg-muted);
|
|
6556
|
+
font-size: 10px;
|
|
6557
|
+
font-weight: 600;
|
|
6558
|
+
line-height: 16px;
|
|
6230
6559
|
text-align: center;
|
|
6231
6560
|
}
|
|
6232
|
-
.annotation-
|
|
6561
|
+
.annotation-session.active .annotation-entry-open::before {
|
|
6562
|
+
border-color: var(--accent);
|
|
6563
|
+
background: var(--accent-subtle);
|
|
6233
6564
|
color: var(--accent);
|
|
6234
|
-
|
|
6565
|
+
}
|
|
6566
|
+
.annotation-entries li.active .annotation-entry-open::before {
|
|
6567
|
+
border-color: var(--accent);
|
|
6568
|
+
background: var(--accent);
|
|
6569
|
+
color: #fff;
|
|
6235
6570
|
}
|
|
6236
6571
|
.annotation-entry-location {
|
|
6237
6572
|
grid-column: 2;
|
|
@@ -6314,8 +6649,18 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
6314
6649
|
white-space: nowrap;
|
|
6315
6650
|
}
|
|
6316
6651
|
#annotation-detail-step {
|
|
6652
|
+
/* Matches the step chips on the inline comment boxes so the reader can
|
|
6653
|
+
tell at a glance which walkthrough step is open. */
|
|
6654
|
+
flex: none;
|
|
6655
|
+
border: 1px solid var(--accent);
|
|
6656
|
+
border-radius: 999px;
|
|
6657
|
+
background: var(--accent-subtle);
|
|
6658
|
+
color: var(--accent);
|
|
6317
6659
|
font-size: 11px;
|
|
6318
|
-
|
|
6660
|
+
font-weight: 600;
|
|
6661
|
+
line-height: 1;
|
|
6662
|
+
padding: 3px 8px;
|
|
6663
|
+
white-space: nowrap;
|
|
6319
6664
|
}
|
|
6320
6665
|
#annotation-detail-time {
|
|
6321
6666
|
flex: none;
|
|
@@ -6395,10 +6740,47 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
6395
6740
|
border-left-color: var(--attn);
|
|
6396
6741
|
box-shadow: 0 0 0 1px var(--attn) inset;
|
|
6397
6742
|
}
|
|
6398
|
-
.gdp-annotation-inline-
|
|
6399
|
-
display:
|
|
6743
|
+
.gdp-annotation-inline-head {
|
|
6744
|
+
display: flex;
|
|
6745
|
+
align-items: center;
|
|
6746
|
+
gap: 8px;
|
|
6400
6747
|
margin-bottom: 6px;
|
|
6401
6748
|
}
|
|
6749
|
+
.gdp-annotation-inline-title {
|
|
6750
|
+
flex: 1;
|
|
6751
|
+
min-width: 0;
|
|
6752
|
+
}
|
|
6753
|
+
.gdp-annotation-step {
|
|
6754
|
+
/* Step chip on the inline comment box: shows "n/total" so the
|
|
6755
|
+
walkthrough order is visible right inside the code, and doubles as
|
|
6756
|
+
the button that opens the entry in the detail dock. */
|
|
6757
|
+
flex: none;
|
|
6758
|
+
border: 1px solid var(--accent);
|
|
6759
|
+
border-radius: 999px;
|
|
6760
|
+
background: var(--accent-subtle);
|
|
6761
|
+
color: var(--accent);
|
|
6762
|
+
font-family: inherit;
|
|
6763
|
+
font-size: 11px;
|
|
6764
|
+
font-weight: 600;
|
|
6765
|
+
line-height: 1;
|
|
6766
|
+
padding: 3px 8px;
|
|
6767
|
+
cursor: pointer;
|
|
6768
|
+
}
|
|
6769
|
+
.gdp-annotation-step:hover {
|
|
6770
|
+
background: var(--accent);
|
|
6771
|
+
color: #fff;
|
|
6772
|
+
}
|
|
6773
|
+
.gdp-annotation-row.active .gdp-annotation-step,
|
|
6774
|
+
.gdp-db-annotation-inline.active .gdp-annotation-step {
|
|
6775
|
+
border-color: var(--attn);
|
|
6776
|
+
color: var(--attn);
|
|
6777
|
+
background: transparent;
|
|
6778
|
+
}
|
|
6779
|
+
.gdp-annotation-row.active .gdp-annotation-step:hover,
|
|
6780
|
+
.gdp-db-annotation-inline.active .gdp-annotation-step:hover {
|
|
6781
|
+
background: var(--attn);
|
|
6782
|
+
color: #fff;
|
|
6783
|
+
}
|
|
6402
6784
|
.gdp-annotation-inline-body pre {
|
|
6403
6785
|
max-width: 100%;
|
|
6404
6786
|
overflow-x: auto;
|
|
@@ -6440,8 +6822,8 @@ html[data-theme="dark"] .db-session-log-sql span[style] {
|
|
|
6440
6822
|
border-color: var(--danger);
|
|
6441
6823
|
}
|
|
6442
6824
|
.gdp-annotation-inline-copy {
|
|
6443
|
-
|
|
6444
|
-
margin-left:
|
|
6825
|
+
flex: none;
|
|
6826
|
+
margin-left: auto;
|
|
6445
6827
|
}
|
|
6446
6828
|
.annotation-edit-form {
|
|
6447
6829
|
display: flex;
|
|
@@ -6599,7 +6981,7 @@ body.gdp-journal-page #load-bar {
|
|
|
6599
6981
|
align-items: center;
|
|
6600
6982
|
gap: 10px;
|
|
6601
6983
|
padding: 10px 14px;
|
|
6602
|
-
border-bottom: 1px solid var(--border);
|
|
6984
|
+
border-bottom: 1px solid var(--border-muted);
|
|
6603
6985
|
background: var(--bg-soft);
|
|
6604
6986
|
}
|
|
6605
6987
|
|
|
@@ -6647,7 +7029,7 @@ body.gdp-journal-page #load-bar {
|
|
|
6647
7029
|
.journal-related,
|
|
6648
7030
|
.journal-task-editor {
|
|
6649
7031
|
min-width: 0;
|
|
6650
|
-
border-right: 1px solid var(--border);
|
|
7032
|
+
border-right: 1px solid var(--border-muted);
|
|
6651
7033
|
background: var(--bg-soft);
|
|
6652
7034
|
overflow: auto;
|
|
6653
7035
|
}
|
|
@@ -6655,7 +7037,7 @@ body.gdp-journal-page #load-bar {
|
|
|
6655
7037
|
.journal-related,
|
|
6656
7038
|
.journal-task-editor {
|
|
6657
7039
|
border-right: 0;
|
|
6658
|
-
border-left: 1px solid var(--border);
|
|
7040
|
+
border-left: 1px solid var(--border-muted);
|
|
6659
7041
|
background: var(--bg);
|
|
6660
7042
|
}
|
|
6661
7043
|
|
|
@@ -6670,7 +7052,7 @@ body.gdp-journal-page #load-bar {
|
|
|
6670
7052
|
|
|
6671
7053
|
.journal-calendar-head {
|
|
6672
7054
|
padding: 12px;
|
|
6673
|
-
border-bottom: 1px solid var(--border);
|
|
7055
|
+
border-bottom: 1px solid var(--border-muted);
|
|
6674
7056
|
}
|
|
6675
7057
|
|
|
6676
7058
|
.journal-calendar-head button,
|
|
@@ -7027,9 +7409,11 @@ body.gdp-journal-page #load-bar {
|
|
|
7027
7409
|
flex: 0 0 auto;
|
|
7028
7410
|
max-width: 160px;
|
|
7029
7411
|
min-height: 22px;
|
|
7030
|
-
|
|
7412
|
+
/* Borderless pill: the enclosing .journal-label-editor already draws the
|
|
7413
|
+
field frame, so a bordered chip inside it reads as a double border. */
|
|
7414
|
+
border: 0;
|
|
7031
7415
|
border-radius: 999px;
|
|
7032
|
-
background: var(--bg-
|
|
7416
|
+
background: var(--bg-mute);
|
|
7033
7417
|
color: var(--fg-muted);
|
|
7034
7418
|
cursor: pointer;
|
|
7035
7419
|
font: inherit;
|
|
@@ -7044,7 +7428,6 @@ body.gdp-journal-page #load-bar {
|
|
|
7044
7428
|
|
|
7045
7429
|
.journal-label-editor-quick-chip:hover,
|
|
7046
7430
|
.journal-label-editor-quick-chip:focus-visible {
|
|
7047
|
-
border-color: var(--accent);
|
|
7048
7431
|
background: var(--accent-subtle);
|
|
7049
7432
|
color: var(--accent);
|
|
7050
7433
|
outline: none;
|
|
@@ -7204,8 +7587,8 @@ body.gdp-journal-page #load-bar {
|
|
|
7204
7587
|
"labels labels labels";
|
|
7205
7588
|
gap: 10px;
|
|
7206
7589
|
padding: 10px 12px;
|
|
7207
|
-
border-bottom: 1px solid var(--border);
|
|
7208
|
-
background: var(--bg
|
|
7590
|
+
border-bottom: 1px solid var(--border-muted);
|
|
7591
|
+
background: var(--bg);
|
|
7209
7592
|
}
|
|
7210
7593
|
|
|
7211
7594
|
.journal-task-toolbar input {
|
|
@@ -7621,15 +8004,17 @@ body.gdp-journal-page #load-bar {
|
|
|
7621
8004
|
min-width: 980px;
|
|
7622
8005
|
display: grid;
|
|
7623
8006
|
grid-template-columns: repeat(5, minmax(180px, 1fr));
|
|
7624
|
-
gap:
|
|
8007
|
+
gap: 12px;
|
|
7625
8008
|
}
|
|
7626
8009
|
|
|
7627
8010
|
.journal-task-column {
|
|
7628
8011
|
min-width: 0;
|
|
7629
8012
|
min-height: 360px;
|
|
7630
|
-
|
|
8013
|
+
/* Border stays 1px (transparent) so the drop-target accent border does
|
|
8014
|
+
not shift the column box when it appears. */
|
|
8015
|
+
border: 1px solid transparent;
|
|
7631
8016
|
border-radius: 8px;
|
|
7632
|
-
background:
|
|
8017
|
+
background: transparent;
|
|
7633
8018
|
overflow: hidden;
|
|
7634
8019
|
}
|
|
7635
8020
|
|
|
@@ -7638,12 +8023,48 @@ body.gdp-journal-page #load-bar {
|
|
|
7638
8023
|
background: var(--accent-subtle);
|
|
7639
8024
|
}
|
|
7640
8025
|
|
|
8026
|
+
/* Linear-style quiet column header: status dot + muted label + count pill,
|
|
8027
|
+
no box or divider line. The dot color comes from the column's status
|
|
8028
|
+
class, so no JS change is needed. */
|
|
7641
8029
|
.journal-task-column-head {
|
|
7642
8030
|
min-height: 36px;
|
|
7643
|
-
padding: 8px 10px;
|
|
7644
|
-
|
|
7645
|
-
|
|
8031
|
+
padding: 8px 10px 6px;
|
|
8032
|
+
font-size: 12px;
|
|
8033
|
+
color: var(--fg-muted);
|
|
8034
|
+
}
|
|
8035
|
+
|
|
8036
|
+
.journal-task-column-head strong {
|
|
8037
|
+
min-width: 0;
|
|
8038
|
+
display: inline-flex;
|
|
8039
|
+
align-items: center;
|
|
8040
|
+
gap: 7px;
|
|
7646
8041
|
font-size: 12px;
|
|
8042
|
+
font-weight: 600;
|
|
8043
|
+
}
|
|
8044
|
+
|
|
8045
|
+
.journal-task-column-head strong::before {
|
|
8046
|
+
content: "";
|
|
8047
|
+
flex: 0 0 auto;
|
|
8048
|
+
width: 8px;
|
|
8049
|
+
height: 8px;
|
|
8050
|
+
border-radius: 999px;
|
|
8051
|
+
background: var(--fg-subtle);
|
|
8052
|
+
}
|
|
8053
|
+
|
|
8054
|
+
.journal-task-column-todo .journal-task-column-head strong::before {
|
|
8055
|
+
background: var(--accent);
|
|
8056
|
+
}
|
|
8057
|
+
|
|
8058
|
+
.journal-task-column-doing .journal-task-column-head strong::before {
|
|
8059
|
+
background: var(--attn);
|
|
8060
|
+
}
|
|
8061
|
+
|
|
8062
|
+
.journal-task-column-blocked .journal-task-column-head strong::before {
|
|
8063
|
+
background: var(--danger);
|
|
8064
|
+
}
|
|
8065
|
+
|
|
8066
|
+
.journal-task-column-done .journal-task-column-head strong::before {
|
|
8067
|
+
background: var(--success);
|
|
7647
8068
|
}
|
|
7648
8069
|
|
|
7649
8070
|
.journal-task-column-head span {
|
|
@@ -7660,13 +8081,12 @@ body.gdp-journal-page #load-bar {
|
|
|
7660
8081
|
.journal-task-card {
|
|
7661
8082
|
position: relative;
|
|
7662
8083
|
width: calc(100% - 16px);
|
|
7663
|
-
min-height: 96px;
|
|
7664
8084
|
display: flex;
|
|
7665
8085
|
flex-direction: column;
|
|
7666
8086
|
gap: 6px;
|
|
7667
8087
|
margin: 8px;
|
|
7668
|
-
padding:
|
|
7669
|
-
border: 1px solid var(--border);
|
|
8088
|
+
padding: 10px 12px;
|
|
8089
|
+
border: 1px solid var(--border-muted);
|
|
7670
8090
|
border-radius: 8px;
|
|
7671
8091
|
background: var(--bg);
|
|
7672
8092
|
color: var(--fg);
|
|
@@ -7716,15 +8136,27 @@ body.gdp-journal-page #load-bar {
|
|
|
7716
8136
|
.journal-task-card.compact {
|
|
7717
8137
|
width: 100%;
|
|
7718
8138
|
margin: 0 0 8px;
|
|
7719
|
-
min-height: 78px;
|
|
7720
8139
|
}
|
|
7721
8140
|
|
|
7722
|
-
|
|
8141
|
+
/* Stable-box hover: only border color and shadow change, never the box
|
|
8142
|
+
dimensions. Selected keeps the accent frame. */
|
|
8143
|
+
.journal-task-card:hover {
|
|
8144
|
+
border-color: var(--border-strong);
|
|
8145
|
+
box-shadow: var(--shadow-md);
|
|
8146
|
+
}
|
|
8147
|
+
|
|
7723
8148
|
.journal-task-card.selected {
|
|
7724
8149
|
border-color: var(--accent);
|
|
7725
8150
|
box-shadow: 0 0 0 1px var(--accent-subtle);
|
|
7726
8151
|
}
|
|
7727
8152
|
|
|
8153
|
+
/* The status pill repeats the column title on the board; hide it there.
|
|
8154
|
+
Compact cards (related-tasks panel on the log tab) keep it, since they
|
|
8155
|
+
are shown outside the board context. */
|
|
8156
|
+
.journal-task-board .journal-task-card .journal-task-status {
|
|
8157
|
+
display: none;
|
|
8158
|
+
}
|
|
8159
|
+
|
|
7728
8160
|
.journal-task-card.dragging:hover,
|
|
7729
8161
|
.journal-task-card.dragging.selected {
|
|
7730
8162
|
border-color: var(--accent);
|
|
@@ -7781,7 +8213,9 @@ body.gdp-journal-page #load-bar {
|
|
|
7781
8213
|
color: var(--fg-subtle);
|
|
7782
8214
|
cursor: grab;
|
|
7783
8215
|
line-height: 1;
|
|
7784
|
-
|
|
8216
|
+
/* Hidden until the card is hovered: pointer-drag on the card body still
|
|
8217
|
+
works, so this only declutters the resting board. */
|
|
8218
|
+
opacity: 0;
|
|
7785
8219
|
touch-action: none;
|
|
7786
8220
|
transition:
|
|
7787
8221
|
background 0.14s ease,
|
|
@@ -7821,6 +8255,8 @@ body.gdp-journal-page #load-bar {
|
|
|
7821
8255
|
.journal-task-claim {
|
|
7822
8256
|
display: inline-flex;
|
|
7823
8257
|
align-items: center;
|
|
8258
|
+
/* Cards are flex-column, so without this the pills stretch full-width. */
|
|
8259
|
+
align-self: flex-start;
|
|
7824
8260
|
max-width: 100%;
|
|
7825
8261
|
min-height: 18px;
|
|
7826
8262
|
padding: 0 6px;
|
|
@@ -7907,10 +8343,34 @@ body.journal-task-editor-resizing * {
|
|
|
7907
8343
|
flex-wrap: wrap;
|
|
7908
8344
|
}
|
|
7909
8345
|
|
|
7910
|
-
.journal-markdown-toolbar button
|
|
8346
|
+
/* The shared ".journal-markdown-toolbar button" rule above gives every
|
|
8347
|
+
button in the toolbar its own border. Restore the segmented control's
|
|
8348
|
+
own look inside the toolbar (its container already draws the frame),
|
|
8349
|
+
otherwise seg buttons render a second border inside the seg border. */
|
|
8350
|
+
.journal-markdown-toolbar .seg button {
|
|
8351
|
+
border: 0;
|
|
8352
|
+
}
|
|
8353
|
+
|
|
8354
|
+
.journal-markdown-toolbar .seg button + button {
|
|
8355
|
+
border-left: 1px solid var(--border);
|
|
8356
|
+
}
|
|
8357
|
+
|
|
8358
|
+
/* Format buttons (B / ` / [] / >) read calmer as ghost icon buttons, in
|
|
8359
|
+
the .sb-icon-action idiom, instead of four more bordered boxes. Direct
|
|
8360
|
+
children only, so the .seg rules above stay in charge of mode buttons. */
|
|
8361
|
+
.journal-markdown-toolbar > button {
|
|
7911
8362
|
min-width: 30px;
|
|
7912
8363
|
padding: 0 8px;
|
|
7913
8364
|
font-weight: 600;
|
|
8365
|
+
border-color: transparent;
|
|
8366
|
+
background: transparent;
|
|
8367
|
+
color: var(--fg-muted);
|
|
8368
|
+
}
|
|
8369
|
+
|
|
8370
|
+
.journal-markdown-toolbar > button:hover {
|
|
8371
|
+
border-color: transparent;
|
|
8372
|
+
background: var(--bg-mute);
|
|
8373
|
+
color: var(--fg);
|
|
7914
8374
|
}
|
|
7915
8375
|
|
|
7916
8376
|
.journal-editor-mode {
|
|
@@ -7921,9 +8381,11 @@ body.journal-task-editor-resizing * {
|
|
|
7921
8381
|
min-height: 180px;
|
|
7922
8382
|
max-height: 360px;
|
|
7923
8383
|
overflow: auto;
|
|
7924
|
-
|
|
8384
|
+
/* Reading pane, not a form field: recessed fill instead of a second
|
|
8385
|
+
bordered box under the bordered textarea. */
|
|
8386
|
+
border: 0;
|
|
7925
8387
|
border-radius: 6px;
|
|
7926
|
-
background: var(--bg);
|
|
8388
|
+
background: var(--bg-soft);
|
|
7927
8389
|
font-size: 13px;
|
|
7928
8390
|
line-height: 1.5;
|
|
7929
8391
|
padding: 8px 10px;
|
|
@@ -8060,10 +8522,14 @@ body.journal-task-editor-resizing * {
|
|
|
8060
8522
|
|
|
8061
8523
|
.db-root,
|
|
8062
8524
|
.db-container {
|
|
8063
|
-
--db-font-sm:
|
|
8064
|
-
--db-font-base:
|
|
8065
|
-
--db-font-md:
|
|
8066
|
-
--db-font-mono:
|
|
8525
|
+
--db-font-sm: var(--ui-font-sm);
|
|
8526
|
+
--db-font-base: var(--ui-font-base);
|
|
8527
|
+
--db-font-md: var(--ui-font-md);
|
|
8528
|
+
--db-font-mono: var(--ui-font-md);
|
|
8529
|
+
}
|
|
8530
|
+
|
|
8531
|
+
.db-root {
|
|
8532
|
+
font-size: var(--db-font-base);
|
|
8067
8533
|
}
|
|
8068
8534
|
|
|
8069
8535
|
.db-container {
|
|
@@ -8079,27 +8545,6 @@ body.journal-task-editor-resizing * {
|
|
|
8079
8545
|
overflow: hidden;
|
|
8080
8546
|
font-size: var(--db-font-base);
|
|
8081
8547
|
}
|
|
8082
|
-
body[data-sidebar-font-size="compact"] .db-root,
|
|
8083
|
-
body[data-sidebar-font-size="compact"] .db-container {
|
|
8084
|
-
--db-font-sm: 10px;
|
|
8085
|
-
--db-font-base: 11px;
|
|
8086
|
-
--db-font-md: 12px;
|
|
8087
|
-
--db-font-mono: 12px;
|
|
8088
|
-
}
|
|
8089
|
-
body[data-sidebar-font-size="large"] .db-root,
|
|
8090
|
-
body[data-sidebar-font-size="large"] .db-container {
|
|
8091
|
-
--db-font-sm: 12px;
|
|
8092
|
-
--db-font-base: 14px;
|
|
8093
|
-
--db-font-md: 15px;
|
|
8094
|
-
--db-font-mono: 14px;
|
|
8095
|
-
}
|
|
8096
|
-
body[data-sidebar-font-size="xlarge"] .db-root,
|
|
8097
|
-
body[data-sidebar-font-size="xlarge"] .db-container {
|
|
8098
|
-
--db-font-sm: 13px;
|
|
8099
|
-
--db-font-base: 15px;
|
|
8100
|
-
--db-font-md: 16px;
|
|
8101
|
-
--db-font-mono: 15px;
|
|
8102
|
-
}
|
|
8103
8548
|
.db-upper-area {
|
|
8104
8549
|
display: flex;
|
|
8105
8550
|
flex: 1;
|
|
@@ -13051,3 +13496,740 @@ body.db-resizing {
|
|
|
13051
13496
|
.doctor-badge[data-level="warn"] {
|
|
13052
13497
|
background: var(--attn, #9a6700);
|
|
13053
13498
|
}
|
|
13499
|
+
|
|
13500
|
+
/* ==========================================================================
|
|
13501
|
+
Datastore page — premium glass theme
|
|
13502
|
+
データストアページ (.db-root) 全体にスコープした装飾レイヤ。
|
|
13503
|
+
既存トークン (--bg/--fg/--accent ...) から color-mix で導出するため、
|
|
13504
|
+
ライト/ダーク両テーマに自動追従する。状態変化で box dimensions が
|
|
13505
|
+
動かないよう、hover/active は background / box-shadow / color のみで
|
|
13506
|
+
表現する (padding/border の変更禁止)。
|
|
13507
|
+
========================================================================== */
|
|
13508
|
+
.db-root {
|
|
13509
|
+
/* ガラス面の下に敷くキャンバス。ごく薄い色相のグラデーション。 */
|
|
13510
|
+
background:
|
|
13511
|
+
radial-gradient(
|
|
13512
|
+
1100px 480px at 88% -12%,
|
|
13513
|
+
color-mix(in srgb, var(--done) 14%, transparent),
|
|
13514
|
+
transparent 62%
|
|
13515
|
+
),
|
|
13516
|
+
radial-gradient(
|
|
13517
|
+
900px 520px at -8% 112%,
|
|
13518
|
+
color-mix(in srgb, var(--accent) 16%, transparent),
|
|
13519
|
+
transparent 58%
|
|
13520
|
+
),
|
|
13521
|
+
radial-gradient(
|
|
13522
|
+
700px 420px at -6% -10%,
|
|
13523
|
+
color-mix(in srgb, var(--accent) 9%, transparent),
|
|
13524
|
+
transparent 60%
|
|
13525
|
+
),
|
|
13526
|
+
linear-gradient(
|
|
13527
|
+
180deg,
|
|
13528
|
+
color-mix(in srgb, var(--bg-soft) 60%, var(--bg)) 0%,
|
|
13529
|
+
var(--bg) 46%
|
|
13530
|
+
);
|
|
13531
|
+
/* ガラス素材の共通レシピ */
|
|
13532
|
+
--db-glass-bg: color-mix(in srgb, var(--bg) 76%, transparent);
|
|
13533
|
+
--db-glass-bg-strong: color-mix(in srgb, var(--bg) 90%, transparent);
|
|
13534
|
+
--db-glass-border: color-mix(in srgb, var(--border) 62%, transparent);
|
|
13535
|
+
--db-glass-blur: blur(18px) saturate(1.45);
|
|
13536
|
+
--db-glass-shadow:
|
|
13537
|
+
0 1px 2px color-mix(in srgb, var(--fg) 6%, transparent),
|
|
13538
|
+
0 8px 24px -12px color-mix(in srgb, var(--fg) 22%, transparent);
|
|
13539
|
+
--db-focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent);
|
|
13540
|
+
}
|
|
13541
|
+
|
|
13542
|
+
/* ----- スリムなスクロールバー (ページ内のガラス質感を揃える) ----- */
|
|
13543
|
+
.db-root ::-webkit-scrollbar {
|
|
13544
|
+
width: 10px;
|
|
13545
|
+
height: 10px;
|
|
13546
|
+
}
|
|
13547
|
+
.db-root ::-webkit-scrollbar-thumb {
|
|
13548
|
+
background: color-mix(in srgb, var(--fg) 18%, transparent);
|
|
13549
|
+
border: 3px solid transparent;
|
|
13550
|
+
border-radius: 999px;
|
|
13551
|
+
background-clip: padding-box;
|
|
13552
|
+
}
|
|
13553
|
+
.db-root ::-webkit-scrollbar-thumb:hover {
|
|
13554
|
+
background: color-mix(in srgb, var(--fg) 32%, transparent);
|
|
13555
|
+
border: 3px solid transparent;
|
|
13556
|
+
background-clip: padding-box;
|
|
13557
|
+
}
|
|
13558
|
+
.db-root ::-webkit-scrollbar-track,
|
|
13559
|
+
.db-root ::-webkit-scrollbar-corner {
|
|
13560
|
+
background: transparent;
|
|
13561
|
+
}
|
|
13562
|
+
|
|
13563
|
+
/* ----- 最上段のタブバー (db / s3 / +) : フローティングピル ----- */
|
|
13564
|
+
.db-root .db-tabs-bar {
|
|
13565
|
+
background: transparent;
|
|
13566
|
+
border-bottom: 1px solid var(--db-glass-border);
|
|
13567
|
+
align-items: center;
|
|
13568
|
+
min-height: 40px;
|
|
13569
|
+
}
|
|
13570
|
+
.db-root .db-tabs-list {
|
|
13571
|
+
gap: 2px;
|
|
13572
|
+
padding: 4px 8px;
|
|
13573
|
+
/* 「+」を最後のタブの直後に寄せるため、中身の幅だけ取る (溢れたら
|
|
13574
|
+
この中で横スクロール)。flex:1 だと「+」が右端に吸い寄せられる。 */
|
|
13575
|
+
flex: 0 1 auto;
|
|
13576
|
+
min-width: 0;
|
|
13577
|
+
}
|
|
13578
|
+
.db-root .db-tabs-chip {
|
|
13579
|
+
border-right: none;
|
|
13580
|
+
border-radius: 8px;
|
|
13581
|
+
margin: 0;
|
|
13582
|
+
padding: 4px 8px 4px 12px;
|
|
13583
|
+
/* 非アクティブも「タブのかたまり」に見えるよう、うっすらした面と
|
|
13584
|
+
輪郭を常時表示する (完全透明だとテキストの羅列に見える)。 */
|
|
13585
|
+
background: color-mix(in srgb, var(--fg) 4%, transparent);
|
|
13586
|
+
border: 1px solid var(--db-glass-border);
|
|
13587
|
+
transition:
|
|
13588
|
+
background-color 0.15s ease,
|
|
13589
|
+
box-shadow 0.15s ease,
|
|
13590
|
+
color 0.15s ease;
|
|
13591
|
+
}
|
|
13592
|
+
.db-root .db-tabs-chip:hover {
|
|
13593
|
+
background: color-mix(in srgb, var(--fg) 7%, transparent);
|
|
13594
|
+
}
|
|
13595
|
+
.db-root .db-tabs-chip.active {
|
|
13596
|
+
background: var(--db-glass-bg-strong);
|
|
13597
|
+
border-bottom: 1px solid var(--db-glass-border);
|
|
13598
|
+
margin-bottom: 0;
|
|
13599
|
+
box-shadow:
|
|
13600
|
+
inset 0 -2px 0 var(--accent),
|
|
13601
|
+
var(--db-glass-shadow);
|
|
13602
|
+
font-weight: 600;
|
|
13603
|
+
}
|
|
13604
|
+
.db-root .db-tabs-chip.drop-target {
|
|
13605
|
+
background: color-mix(in srgb, var(--accent) 12%, transparent);
|
|
13606
|
+
}
|
|
13607
|
+
.db-root .db-tabs-chip-close {
|
|
13608
|
+
border-radius: 6px;
|
|
13609
|
+
}
|
|
13610
|
+
/* 「+」はタブと混同しないよう、破線のゴーストボタンにする。 */
|
|
13611
|
+
.db-root .db-tabs-new-btn {
|
|
13612
|
+
border: 1px dashed color-mix(in srgb, var(--fg) 25%, transparent);
|
|
13613
|
+
border-radius: 8px;
|
|
13614
|
+
margin: 4px 8px 4px 4px;
|
|
13615
|
+
align-self: center;
|
|
13616
|
+
min-height: 26px;
|
|
13617
|
+
background: transparent;
|
|
13618
|
+
color: var(--fg-muted);
|
|
13619
|
+
transition:
|
|
13620
|
+
background-color 0.15s ease,
|
|
13621
|
+
border-color 0.15s ease,
|
|
13622
|
+
color 0.15s ease;
|
|
13623
|
+
}
|
|
13624
|
+
.db-root .db-tabs-new-btn:hover {
|
|
13625
|
+
background: color-mix(in srgb, var(--accent) 8%, transparent);
|
|
13626
|
+
border-color: color-mix(in srgb, var(--accent) 45%, transparent);
|
|
13627
|
+
color: var(--accent);
|
|
13628
|
+
}
|
|
13629
|
+
|
|
13630
|
+
/* ----- サイドバー: ガラス面 ----- */
|
|
13631
|
+
.db-root .db-sidebar {
|
|
13632
|
+
background: var(--db-glass-bg);
|
|
13633
|
+
-webkit-backdrop-filter: var(--db-glass-blur);
|
|
13634
|
+
backdrop-filter: var(--db-glass-blur);
|
|
13635
|
+
border-right: 1px solid var(--db-glass-border);
|
|
13636
|
+
}
|
|
13637
|
+
.db-root .db-toolbar,
|
|
13638
|
+
.db-root .db-icon-toolbar,
|
|
13639
|
+
.db-root .db-prefs-bar,
|
|
13640
|
+
.db-root .db-explorer-sidebar-slot {
|
|
13641
|
+
border-bottom-color: var(--db-glass-border);
|
|
13642
|
+
background: transparent;
|
|
13643
|
+
}
|
|
13644
|
+
|
|
13645
|
+
/* ----- 入力コントロール: ガラスの入力面 + ソフトなフォーカスリング ----- */
|
|
13646
|
+
.db-root .db-file-select,
|
|
13647
|
+
.db-root .db-table-filter,
|
|
13648
|
+
.db-root .s3-bucket-select,
|
|
13649
|
+
.db-root .s3-sort-select,
|
|
13650
|
+
.db-root .s3-search-input,
|
|
13651
|
+
.db-root .s3-edit-textarea,
|
|
13652
|
+
.db-root .s3-new-object-key {
|
|
13653
|
+
border: 1px solid var(--db-glass-border);
|
|
13654
|
+
border-radius: 8px;
|
|
13655
|
+
background: var(--db-glass-bg-strong);
|
|
13656
|
+
box-shadow: inset 0 1px 2px color-mix(in srgb, var(--fg) 4%, transparent);
|
|
13657
|
+
transition:
|
|
13658
|
+
border-color 0.15s ease,
|
|
13659
|
+
box-shadow 0.15s ease,
|
|
13660
|
+
background-color 0.15s ease;
|
|
13661
|
+
}
|
|
13662
|
+
.db-root .db-file-select:hover,
|
|
13663
|
+
.db-root .s3-bucket-select:hover,
|
|
13664
|
+
.db-root .s3-sort-select:hover,
|
|
13665
|
+
.db-root .s3-search-input:hover {
|
|
13666
|
+
border-color: color-mix(in srgb, var(--border-strong) 70%, transparent);
|
|
13667
|
+
}
|
|
13668
|
+
.db-root .db-file-select:focus,
|
|
13669
|
+
.db-root .db-table-filter:focus,
|
|
13670
|
+
.db-root .s3-bucket-select:focus,
|
|
13671
|
+
.db-root .s3-sort-select:focus,
|
|
13672
|
+
.db-root .s3-search-input:focus,
|
|
13673
|
+
.db-root .s3-edit-textarea:focus,
|
|
13674
|
+
.db-root .s3-new-object-key:focus {
|
|
13675
|
+
outline: none;
|
|
13676
|
+
border-color: var(--accent);
|
|
13677
|
+
box-shadow:
|
|
13678
|
+
inset 0 1px 2px color-mix(in srgb, var(--fg) 4%, transparent),
|
|
13679
|
+
var(--db-focus-ring);
|
|
13680
|
+
}
|
|
13681
|
+
|
|
13682
|
+
/* ----- ボタン: 丸みと立体感。primary はアクセントのグラデーション ----- */
|
|
13683
|
+
.db-root .db-btn {
|
|
13684
|
+
border: 1px solid var(--db-glass-border);
|
|
13685
|
+
border-radius: 8px;
|
|
13686
|
+
background: var(--db-glass-bg-strong);
|
|
13687
|
+
box-shadow: 0 1px 2px color-mix(in srgb, var(--fg) 6%, transparent);
|
|
13688
|
+
transition:
|
|
13689
|
+
background-color 0.15s ease,
|
|
13690
|
+
border-color 0.15s ease,
|
|
13691
|
+
box-shadow 0.15s ease,
|
|
13692
|
+
color 0.15s ease;
|
|
13693
|
+
}
|
|
13694
|
+
.db-root .db-btn:hover {
|
|
13695
|
+
background: var(--bg);
|
|
13696
|
+
border-color: color-mix(in srgb, var(--border-strong) 70%, transparent);
|
|
13697
|
+
box-shadow: 0 2px 6px color-mix(in srgb, var(--fg) 10%, transparent);
|
|
13698
|
+
}
|
|
13699
|
+
.db-root .db-btn:focus-visible {
|
|
13700
|
+
outline: none;
|
|
13701
|
+
box-shadow:
|
|
13702
|
+
0 1px 2px color-mix(in srgb, var(--fg) 6%, transparent),
|
|
13703
|
+
var(--db-focus-ring);
|
|
13704
|
+
}
|
|
13705
|
+
.db-root .db-btn-primary,
|
|
13706
|
+
.db-root .db-btn.db-btn-primary {
|
|
13707
|
+
border-color: color-mix(in srgb, var(--accent-emph) 80%, transparent);
|
|
13708
|
+
background: linear-gradient(
|
|
13709
|
+
180deg,
|
|
13710
|
+
color-mix(in srgb, var(--accent) 92%, #ffffff 8%) 0%,
|
|
13711
|
+
var(--accent-emph) 100%
|
|
13712
|
+
);
|
|
13713
|
+
color: #ffffff;
|
|
13714
|
+
box-shadow:
|
|
13715
|
+
0 1px 2px color-mix(in srgb, var(--accent-emph) 45%, transparent),
|
|
13716
|
+
0 6px 16px -8px color-mix(in srgb, var(--accent) 55%, transparent);
|
|
13717
|
+
}
|
|
13718
|
+
.db-root .db-btn-primary:hover,
|
|
13719
|
+
.db-root .db-btn.db-btn-primary:hover {
|
|
13720
|
+
background: linear-gradient(
|
|
13721
|
+
180deg,
|
|
13722
|
+
var(--accent) 0%,
|
|
13723
|
+
var(--accent-emph) 100%
|
|
13724
|
+
);
|
|
13725
|
+
border-color: var(--accent-emph);
|
|
13726
|
+
}
|
|
13727
|
+
|
|
13728
|
+
/* ----- セグメントコントロール: ガラスのトラック + 浮き上がる選択片 ----- */
|
|
13729
|
+
.db-root .seg {
|
|
13730
|
+
border: 1px solid var(--db-glass-border);
|
|
13731
|
+
border-radius: 9px;
|
|
13732
|
+
background: color-mix(in srgb, var(--fg) 5%, transparent);
|
|
13733
|
+
padding: 2px;
|
|
13734
|
+
height: auto;
|
|
13735
|
+
overflow: visible;
|
|
13736
|
+
}
|
|
13737
|
+
.db-root .seg button {
|
|
13738
|
+
border-radius: 7px;
|
|
13739
|
+
padding: 3px 11px;
|
|
13740
|
+
transition:
|
|
13741
|
+
background-color 0.15s ease,
|
|
13742
|
+
box-shadow 0.15s ease,
|
|
13743
|
+
color 0.15s ease;
|
|
13744
|
+
}
|
|
13745
|
+
.db-root .seg button + button {
|
|
13746
|
+
border-left: none;
|
|
13747
|
+
}
|
|
13748
|
+
.db-root .seg button:hover {
|
|
13749
|
+
background: color-mix(in srgb, var(--fg) 6%, transparent);
|
|
13750
|
+
}
|
|
13751
|
+
.db-root .seg button.active {
|
|
13752
|
+
background: var(--db-glass-bg-strong);
|
|
13753
|
+
color: var(--fg);
|
|
13754
|
+
font-weight: 600;
|
|
13755
|
+
box-shadow:
|
|
13756
|
+
inset 0 0 0 1px var(--db-glass-border),
|
|
13757
|
+
0 1px 3px color-mix(in srgb, var(--fg) 14%, transparent);
|
|
13758
|
+
}
|
|
13759
|
+
|
|
13760
|
+
/* ----- サイドバーのテーブルリスト: 丸みのある行 ----- */
|
|
13761
|
+
.db-root .db-table-item {
|
|
13762
|
+
border-left: none;
|
|
13763
|
+
border-radius: 8px;
|
|
13764
|
+
margin: 1px 6px;
|
|
13765
|
+
padding: 4px 6px 4px 11px; /* 旧 border-left 3px 分を padding に移し位置不変 */
|
|
13766
|
+
transition:
|
|
13767
|
+
background-color 0.12s ease,
|
|
13768
|
+
box-shadow 0.12s ease;
|
|
13769
|
+
}
|
|
13770
|
+
.db-root .db-table-item:hover {
|
|
13771
|
+
background: color-mix(in srgb, var(--fg) 5%, transparent);
|
|
13772
|
+
}
|
|
13773
|
+
.db-root .db-table-item.active {
|
|
13774
|
+
background: color-mix(in srgb, var(--accent) 12%, transparent);
|
|
13775
|
+
box-shadow: inset 2px 0 0 var(--accent);
|
|
13776
|
+
font-weight: 600;
|
|
13777
|
+
}
|
|
13778
|
+
.db-root .db-table-node {
|
|
13779
|
+
border-bottom-color: var(--db-glass-border);
|
|
13780
|
+
}
|
|
13781
|
+
|
|
13782
|
+
/* ----- S3: サイドバースロット ----- */
|
|
13783
|
+
.db-root .s3-sidebar-slot {
|
|
13784
|
+
padding: 10px;
|
|
13785
|
+
gap: 10px;
|
|
13786
|
+
}
|
|
13787
|
+
.db-root .s3-object-status {
|
|
13788
|
+
padding: 0 2px;
|
|
13789
|
+
min-height: 18px;
|
|
13790
|
+
font-size: 10.5px;
|
|
13791
|
+
letter-spacing: 0.02em;
|
|
13792
|
+
color: var(--fg-subtle);
|
|
13793
|
+
}
|
|
13794
|
+
.db-root .s3-object-status.warn {
|
|
13795
|
+
background: color-mix(in srgb, var(--attn) 12%, transparent);
|
|
13796
|
+
color: var(--attn);
|
|
13797
|
+
border-radius: 6px;
|
|
13798
|
+
padding: 2px 6px;
|
|
13799
|
+
}
|
|
13800
|
+
|
|
13801
|
+
/* ----- S3: オブジェクトリストをカード列に ----- */
|
|
13802
|
+
.db-root .s3-object-list {
|
|
13803
|
+
margin: 0;
|
|
13804
|
+
padding: 4px 2px;
|
|
13805
|
+
border-top: 1px solid var(--db-glass-border);
|
|
13806
|
+
}
|
|
13807
|
+
.db-root .s3-object-item {
|
|
13808
|
+
border-left: none;
|
|
13809
|
+
border-bottom: none;
|
|
13810
|
+
border-radius: 8px;
|
|
13811
|
+
padding: 7px 10px;
|
|
13812
|
+
margin: 1px 0;
|
|
13813
|
+
transition:
|
|
13814
|
+
background-color 0.12s ease,
|
|
13815
|
+
box-shadow 0.12s ease;
|
|
13816
|
+
}
|
|
13817
|
+
.db-root .s3-object-item:hover {
|
|
13818
|
+
background: color-mix(in srgb, var(--fg) 5%, transparent);
|
|
13819
|
+
}
|
|
13820
|
+
.db-root .s3-object-item.active {
|
|
13821
|
+
background: color-mix(in srgb, var(--accent) 10%, transparent);
|
|
13822
|
+
box-shadow:
|
|
13823
|
+
inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent),
|
|
13824
|
+
inset 2px 0 0 var(--accent);
|
|
13825
|
+
}
|
|
13826
|
+
.db-root .s3-object-more-btn {
|
|
13827
|
+
margin: 4px 0 0;
|
|
13828
|
+
border: 1px solid var(--db-glass-border);
|
|
13829
|
+
border-radius: 8px;
|
|
13830
|
+
background: var(--db-glass-bg-strong);
|
|
13831
|
+
transition:
|
|
13832
|
+
background-color 0.15s ease,
|
|
13833
|
+
box-shadow 0.15s ease;
|
|
13834
|
+
}
|
|
13835
|
+
.db-root .s3-object-more-btn:hover {
|
|
13836
|
+
background: var(--bg);
|
|
13837
|
+
box-shadow: 0 2px 6px color-mix(in srgb, var(--fg) 10%, transparent);
|
|
13838
|
+
}
|
|
13839
|
+
|
|
13840
|
+
/* ----- S3: Explorer ツリーも同じ丸みの行に ----- */
|
|
13841
|
+
.db-root .s3-tree {
|
|
13842
|
+
margin: 0;
|
|
13843
|
+
padding: 4px 2px;
|
|
13844
|
+
border-top: 1px solid var(--db-glass-border);
|
|
13845
|
+
}
|
|
13846
|
+
.db-root .s3-tree .tree-dir {
|
|
13847
|
+
border-radius: 8px;
|
|
13848
|
+
}
|
|
13849
|
+
.db-root .s3-tree .tree-file {
|
|
13850
|
+
border-left: none;
|
|
13851
|
+
border-radius: 8px;
|
|
13852
|
+
padding-right: 10px;
|
|
13853
|
+
transition:
|
|
13854
|
+
background-color 0.12s ease,
|
|
13855
|
+
box-shadow 0.12s ease;
|
|
13856
|
+
}
|
|
13857
|
+
.db-root .s3-tree .tree-file.active {
|
|
13858
|
+
background: color-mix(in srgb, var(--accent) 10%, transparent);
|
|
13859
|
+
box-shadow:
|
|
13860
|
+
inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent),
|
|
13861
|
+
inset 2px 0 0 var(--accent);
|
|
13862
|
+
}
|
|
13863
|
+
|
|
13864
|
+
/* ----- S3: kind バッジに微かな発光 ----- */
|
|
13865
|
+
.db-root .s3-kind-badge {
|
|
13866
|
+
height: 17px;
|
|
13867
|
+
letter-spacing: 0.04em;
|
|
13868
|
+
box-shadow: 0 1px 2px color-mix(in srgb, var(--fg) 6%, transparent);
|
|
13869
|
+
}
|
|
13870
|
+
|
|
13871
|
+
/* ----- S3: プレビューペイン。ヘッダを浮いたガラスカードに ----- */
|
|
13872
|
+
.db-root .s3-explorer,
|
|
13873
|
+
.db-root .db-main-content {
|
|
13874
|
+
background: transparent;
|
|
13875
|
+
}
|
|
13876
|
+
.db-root .s3-preview-pane {
|
|
13877
|
+
padding: 12px 14px;
|
|
13878
|
+
gap: 12px;
|
|
13879
|
+
}
|
|
13880
|
+
.db-root .s3-preview-header {
|
|
13881
|
+
border: 1px solid var(--db-glass-border);
|
|
13882
|
+
border-radius: 12px;
|
|
13883
|
+
background: var(--db-glass-bg-strong);
|
|
13884
|
+
-webkit-backdrop-filter: var(--db-glass-blur);
|
|
13885
|
+
backdrop-filter: var(--db-glass-blur);
|
|
13886
|
+
box-shadow: var(--db-glass-shadow);
|
|
13887
|
+
padding: 12px 16px;
|
|
13888
|
+
}
|
|
13889
|
+
.db-root .s3-preview-title {
|
|
13890
|
+
font-size: 13px;
|
|
13891
|
+
letter-spacing: 0.01em;
|
|
13892
|
+
}
|
|
13893
|
+
.db-root .s3-preview-body {
|
|
13894
|
+
flex: 1;
|
|
13895
|
+
min-height: 0;
|
|
13896
|
+
overflow: auto;
|
|
13897
|
+
border: 1px solid var(--db-glass-border);
|
|
13898
|
+
border-radius: 12px;
|
|
13899
|
+
background: var(--db-glass-bg-strong);
|
|
13900
|
+
box-shadow: var(--db-glass-shadow);
|
|
13901
|
+
padding: 16px;
|
|
13902
|
+
}
|
|
13903
|
+
|
|
13904
|
+
/* ----- ホバーのキーツールチップ: ガラスカード ----- */
|
|
13905
|
+
/* tooltip は document.body 直下に attach されるため .db-root の変数を
|
|
13906
|
+
継承しない。各 var() にフォールバックを明示する。 */
|
|
13907
|
+
.s3-key-tooltip {
|
|
13908
|
+
background: var(--db-glass-bg-strong, color-mix(in srgb, var(--bg) 90%, transparent));
|
|
13909
|
+
-webkit-backdrop-filter: var(--db-glass-blur, blur(18px) saturate(1.45));
|
|
13910
|
+
backdrop-filter: var(--db-glass-blur, blur(18px) saturate(1.45));
|
|
13911
|
+
border: 1px solid var(--db-glass-border, color-mix(in srgb, var(--border) 62%, transparent));
|
|
13912
|
+
border-radius: 10px;
|
|
13913
|
+
box-shadow:
|
|
13914
|
+
0 4px 12px color-mix(in srgb, var(--fg) 10%, transparent),
|
|
13915
|
+
0 16px 40px -12px color-mix(in srgb, var(--fg) 30%, transparent);
|
|
13916
|
+
}
|
|
13917
|
+
.s3-key-tooltip .s3-key-tooltip-image {
|
|
13918
|
+
border-radius: 6px;
|
|
13919
|
+
}
|
|
13920
|
+
.s3-key-tooltip .s3-key-tooltip-meta {
|
|
13921
|
+
border-top-color: var(--db-glass-border);
|
|
13922
|
+
}
|
|
13923
|
+
|
|
13924
|
+
/* ----- ビュー切替タブ (Table / Query / ER ...) : ピルタブ ----- */
|
|
13925
|
+
.db-root .db-tab-bar {
|
|
13926
|
+
background: transparent;
|
|
13927
|
+
border-bottom: 1px solid var(--db-glass-border);
|
|
13928
|
+
gap: 2px;
|
|
13929
|
+
padding: 4px 10px;
|
|
13930
|
+
align-items: center;
|
|
13931
|
+
}
|
|
13932
|
+
.db-root .db-tab {
|
|
13933
|
+
border-bottom: none;
|
|
13934
|
+
margin-bottom: 0;
|
|
13935
|
+
border-radius: 8px;
|
|
13936
|
+
padding: 5px 14px;
|
|
13937
|
+
transition:
|
|
13938
|
+
background-color 0.15s ease,
|
|
13939
|
+
box-shadow 0.15s ease,
|
|
13940
|
+
color 0.15s ease;
|
|
13941
|
+
}
|
|
13942
|
+
.db-root .db-tab:hover {
|
|
13943
|
+
background: color-mix(in srgb, var(--fg) 6%, transparent);
|
|
13944
|
+
}
|
|
13945
|
+
.db-root .db-tab.active {
|
|
13946
|
+
background: var(--db-glass-bg-strong);
|
|
13947
|
+
box-shadow:
|
|
13948
|
+
inset 0 0 0 1px var(--db-glass-border),
|
|
13949
|
+
inset 0 -2px 0 var(--accent),
|
|
13950
|
+
var(--db-glass-shadow);
|
|
13951
|
+
font-weight: 600;
|
|
13952
|
+
}
|
|
13953
|
+
|
|
13954
|
+
/* ----- アイコンボタン / ツールボタンも丸みを統一 ----- */
|
|
13955
|
+
.db-root .db-icon-btn,
|
|
13956
|
+
.db-root .db-refresh-btn,
|
|
13957
|
+
.db-root .db-connection-action {
|
|
13958
|
+
border-radius: 8px;
|
|
13959
|
+
border-color: var(--db-glass-border);
|
|
13960
|
+
background: var(--db-glass-bg-strong);
|
|
13961
|
+
transition:
|
|
13962
|
+
background-color 0.15s ease,
|
|
13963
|
+
border-color 0.15s ease,
|
|
13964
|
+
box-shadow 0.15s ease,
|
|
13965
|
+
color 0.15s ease;
|
|
13966
|
+
}
|
|
13967
|
+
.db-root .db-icon-btn:hover,
|
|
13968
|
+
.db-root .db-refresh-btn:hover,
|
|
13969
|
+
.db-root .db-connection-action:hover {
|
|
13970
|
+
border-color: color-mix(in srgb, var(--border-strong) 70%, transparent);
|
|
13971
|
+
box-shadow: 0 2px 6px color-mix(in srgb, var(--fg) 10%, transparent);
|
|
13972
|
+
}
|
|
13973
|
+
.db-root .db-tool-btn {
|
|
13974
|
+
border-radius: 8px;
|
|
13975
|
+
border-color: var(--db-glass-border);
|
|
13976
|
+
transition:
|
|
13977
|
+
background-color 0.15s ease,
|
|
13978
|
+
box-shadow 0.15s ease,
|
|
13979
|
+
color 0.15s ease;
|
|
13980
|
+
}
|
|
13981
|
+
|
|
13982
|
+
/* ==========================================================================
|
|
13983
|
+
Datastore page — aurora & glow boost
|
|
13984
|
+
ガラステーマの上に「気分が上がる」演出層を重ねる。ゆっくり漂うオーロラ
|
|
13985
|
+
背景と、アクティブ要素へのグロー。色はすべてテーマトークン由来で
|
|
13986
|
+
ライト/ダークに追従。レイアウトに影響する寸法は一切変更しない。
|
|
13987
|
+
========================================================================== */
|
|
13988
|
+
|
|
13989
|
+
/* ----- 漂うオーロラ。キャンバス (::before) を stacking context の最背面に ----- */
|
|
13990
|
+
.db-root {
|
|
13991
|
+
position: relative;
|
|
13992
|
+
isolation: isolate;
|
|
13993
|
+
}
|
|
13994
|
+
.db-root::before {
|
|
13995
|
+
content: "";
|
|
13996
|
+
position: absolute;
|
|
13997
|
+
inset: -12%;
|
|
13998
|
+
z-index: -1;
|
|
13999
|
+
pointer-events: none;
|
|
14000
|
+
background:
|
|
14001
|
+
radial-gradient(
|
|
14002
|
+
38% 42% at 82% 4%,
|
|
14003
|
+
color-mix(in srgb, var(--done) 20%, transparent),
|
|
14004
|
+
transparent 70%
|
|
14005
|
+
),
|
|
14006
|
+
radial-gradient(
|
|
14007
|
+
36% 42% at 6% 98%,
|
|
14008
|
+
color-mix(in srgb, var(--accent) 22%, transparent),
|
|
14009
|
+
transparent 70%
|
|
14010
|
+
),
|
|
14011
|
+
radial-gradient(
|
|
14012
|
+
26% 30% at 2% 2%,
|
|
14013
|
+
color-mix(in srgb, var(--success) 12%, transparent),
|
|
14014
|
+
transparent 70%
|
|
14015
|
+
),
|
|
14016
|
+
radial-gradient(
|
|
14017
|
+
30% 34% at 98% 90%,
|
|
14018
|
+
color-mix(in srgb, var(--attn) 10%, transparent),
|
|
14019
|
+
transparent 70%
|
|
14020
|
+
);
|
|
14021
|
+
animation: db-aurora-drift 30s ease-in-out infinite alternate;
|
|
14022
|
+
will-change: transform;
|
|
14023
|
+
}
|
|
14024
|
+
@keyframes db-aurora-drift {
|
|
14025
|
+
from {
|
|
14026
|
+
transform: translate3d(-1.5%, -1%, 0) scale(1);
|
|
14027
|
+
}
|
|
14028
|
+
to {
|
|
14029
|
+
transform: translate3d(1.5%, 1.5%, 0) scale(1.05);
|
|
14030
|
+
}
|
|
14031
|
+
}
|
|
14032
|
+
@media (prefers-reduced-motion: reduce) {
|
|
14033
|
+
.db-root::before {
|
|
14034
|
+
animation: none;
|
|
14035
|
+
}
|
|
14036
|
+
}
|
|
14037
|
+
|
|
14038
|
+
/* ----- アクティブなタブ/チップにアクセントのグロー ----- */
|
|
14039
|
+
.db-root .db-tabs-chip.active {
|
|
14040
|
+
box-shadow:
|
|
14041
|
+
inset 0 0 0 1px var(--db-glass-border),
|
|
14042
|
+
inset 0 -2px 0 var(--accent),
|
|
14043
|
+
0 0 18px -6px color-mix(in srgb, var(--accent) 55%, transparent),
|
|
14044
|
+
var(--db-glass-shadow);
|
|
14045
|
+
}
|
|
14046
|
+
.db-root .db-tab.active {
|
|
14047
|
+
box-shadow:
|
|
14048
|
+
inset 0 0 0 1px var(--db-glass-border),
|
|
14049
|
+
inset 0 -2px 0 var(--accent),
|
|
14050
|
+
0 0 18px -6px color-mix(in srgb, var(--accent) 55%, transparent),
|
|
14051
|
+
var(--db-glass-shadow);
|
|
14052
|
+
}
|
|
14053
|
+
|
|
14054
|
+
/* ----- primary ボタン: 光沢 + 強めの発光 ----- */
|
|
14055
|
+
.db-root .db-btn-primary,
|
|
14056
|
+
.db-root .db-btn.db-btn-primary {
|
|
14057
|
+
text-shadow: 0 1px 1px color-mix(in srgb, #000000 22%, transparent);
|
|
14058
|
+
box-shadow:
|
|
14059
|
+
inset 0 1px 0 color-mix(in srgb, #ffffff 28%, transparent),
|
|
14060
|
+
0 1px 2px color-mix(in srgb, var(--accent-emph) 45%, transparent),
|
|
14061
|
+
0 8px 20px -6px color-mix(in srgb, var(--accent) 60%, transparent);
|
|
14062
|
+
}
|
|
14063
|
+
|
|
14064
|
+
/* ----- テーブルアイコン: アクセント→パープルのグラデーション ----- */
|
|
14065
|
+
.db-root .db-table-icon {
|
|
14066
|
+
background: linear-gradient(
|
|
14067
|
+
150deg,
|
|
14068
|
+
var(--accent) 0%,
|
|
14069
|
+
color-mix(in srgb, var(--done) 70%, var(--accent)) 100%
|
|
14070
|
+
);
|
|
14071
|
+
box-shadow: 0 2px 8px -2px color-mix(in srgb, var(--accent) 60%, transparent);
|
|
14072
|
+
}
|
|
14073
|
+
.db-root .db-table-item[data-type="view"] .db-table-icon {
|
|
14074
|
+
background: linear-gradient(
|
|
14075
|
+
150deg,
|
|
14076
|
+
var(--scope-accent) 0%,
|
|
14077
|
+
color-mix(in srgb, var(--attn) 70%, var(--scope-accent)) 100%
|
|
14078
|
+
);
|
|
14079
|
+
box-shadow: 0 2px 8px -2px color-mix(in srgb, var(--scope-accent) 60%, transparent);
|
|
14080
|
+
}
|
|
14081
|
+
|
|
14082
|
+
/* ----- データグリッド: ガラス化 + 選択/ホバーのグロー ----- */
|
|
14083
|
+
.db-root .db-grid-filter-bar {
|
|
14084
|
+
background: transparent;
|
|
14085
|
+
border-bottom: 1px solid var(--db-glass-border);
|
|
14086
|
+
}
|
|
14087
|
+
.db-root .db-grid-filter-input {
|
|
14088
|
+
border: 1px solid var(--db-glass-border);
|
|
14089
|
+
border-radius: 8px;
|
|
14090
|
+
background: var(--db-glass-bg-strong);
|
|
14091
|
+
transition:
|
|
14092
|
+
border-color 0.15s ease,
|
|
14093
|
+
box-shadow 0.15s ease;
|
|
14094
|
+
}
|
|
14095
|
+
.db-root .db-grid-filter-input:focus {
|
|
14096
|
+
outline: none;
|
|
14097
|
+
border-color: var(--accent);
|
|
14098
|
+
box-shadow: var(--db-focus-ring);
|
|
14099
|
+
}
|
|
14100
|
+
.db-root .db-grid-header-wrap {
|
|
14101
|
+
background: var(--db-glass-bg);
|
|
14102
|
+
-webkit-backdrop-filter: var(--db-glass-blur);
|
|
14103
|
+
backdrop-filter: var(--db-glass-blur);
|
|
14104
|
+
border-bottom: 1px solid var(--db-glass-border);
|
|
14105
|
+
}
|
|
14106
|
+
.db-root .db-grid-header-cell {
|
|
14107
|
+
transition:
|
|
14108
|
+
background-color 0.12s ease,
|
|
14109
|
+
box-shadow 0.12s ease;
|
|
14110
|
+
}
|
|
14111
|
+
.db-root .db-grid-header-cell:hover {
|
|
14112
|
+
background: color-mix(in srgb, var(--fg) 5%, transparent);
|
|
14113
|
+
}
|
|
14114
|
+
.db-root .db-grid-header-cell.sorted {
|
|
14115
|
+
background: color-mix(in srgb, var(--accent) 10%, transparent);
|
|
14116
|
+
box-shadow: inset 0 -2px 0 var(--accent);
|
|
14117
|
+
}
|
|
14118
|
+
.db-root .db-grid-header-cell.sorted .db-grid-header-label {
|
|
14119
|
+
color: var(--accent);
|
|
14120
|
+
}
|
|
14121
|
+
.db-root .db-grid-row.alt {
|
|
14122
|
+
background: color-mix(in srgb, var(--fg) 3%, transparent);
|
|
14123
|
+
}
|
|
14124
|
+
.db-root .db-grid-row:hover {
|
|
14125
|
+
background: color-mix(in srgb, var(--accent) 7%, transparent);
|
|
14126
|
+
}
|
|
14127
|
+
.db-root .db-grid-row.selected {
|
|
14128
|
+
background: color-mix(in srgb, var(--accent) 13%, transparent) !important;
|
|
14129
|
+
outline: none;
|
|
14130
|
+
box-shadow:
|
|
14131
|
+
inset 2px 0 0 var(--accent),
|
|
14132
|
+
inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent);
|
|
14133
|
+
}
|
|
14134
|
+
.db-root .db-grid-rownum-header,
|
|
14135
|
+
.db-root .db-grid-rownum {
|
|
14136
|
+
background: transparent;
|
|
14137
|
+
}
|
|
14138
|
+
.db-root .db-grid-status {
|
|
14139
|
+
background: transparent;
|
|
14140
|
+
border-top: 1px solid var(--db-glass-border);
|
|
14141
|
+
letter-spacing: 0.02em;
|
|
14142
|
+
}
|
|
14143
|
+
|
|
14144
|
+
/* ----- クエリ履歴 / ログ dock: ガラス + ピルタブ ----- */
|
|
14145
|
+
.db-root .db-history-pane {
|
|
14146
|
+
background: var(--db-glass-bg);
|
|
14147
|
+
-webkit-backdrop-filter: var(--db-glass-blur);
|
|
14148
|
+
backdrop-filter: var(--db-glass-blur);
|
|
14149
|
+
border-top: 1px solid var(--db-glass-border);
|
|
14150
|
+
}
|
|
14151
|
+
.db-root .db-history-dock {
|
|
14152
|
+
background: transparent;
|
|
14153
|
+
border-top: 1px solid var(--db-glass-border);
|
|
14154
|
+
gap: 2px;
|
|
14155
|
+
padding: 2px 8px;
|
|
14156
|
+
align-items: center;
|
|
14157
|
+
}
|
|
14158
|
+
.db-root .db-history-dock-tab {
|
|
14159
|
+
border-radius: 7px;
|
|
14160
|
+
padding: 3px 12px;
|
|
14161
|
+
transition:
|
|
14162
|
+
background-color 0.15s ease,
|
|
14163
|
+
box-shadow 0.15s ease,
|
|
14164
|
+
color 0.15s ease;
|
|
14165
|
+
}
|
|
14166
|
+
.db-root .db-history-dock-tab:hover {
|
|
14167
|
+
background: color-mix(in srgb, var(--fg) 6%, transparent);
|
|
14168
|
+
}
|
|
14169
|
+
.db-root .db-history-dock.open .db-history-dock-tab.active {
|
|
14170
|
+
box-shadow:
|
|
14171
|
+
inset 0 0 0 1px var(--db-glass-border),
|
|
14172
|
+
inset 0 -2px 0 var(--accent),
|
|
14173
|
+
0 0 14px -6px color-mix(in srgb, var(--accent) 50%, transparent);
|
|
14174
|
+
background: var(--db-glass-bg-strong);
|
|
14175
|
+
}
|
|
14176
|
+
|
|
14177
|
+
/* ----- 詳細/関連パネルの境界をヘアラインに ----- */
|
|
14178
|
+
.db-root .db-grid-detail-panel,
|
|
14179
|
+
.db-root .db-related-panel {
|
|
14180
|
+
border-color: var(--db-glass-border);
|
|
14181
|
+
}
|
|
14182
|
+
|
|
14183
|
+
/* ----- グリッド UX: セル詳細パネルと列フィルタ ----- */
|
|
14184
|
+
.db-root .db-grid-detail-panel {
|
|
14185
|
+
border-top: 1px solid var(--db-glass-border);
|
|
14186
|
+
background: var(--db-glass-bg);
|
|
14187
|
+
-webkit-backdrop-filter: var(--db-glass-blur);
|
|
14188
|
+
backdrop-filter: var(--db-glass-blur);
|
|
14189
|
+
}
|
|
14190
|
+
.db-root .db-grid-detail-header {
|
|
14191
|
+
background: transparent;
|
|
14192
|
+
border-bottom: 1px solid var(--db-glass-border);
|
|
14193
|
+
padding: 6px 12px;
|
|
14194
|
+
gap: 8px;
|
|
14195
|
+
}
|
|
14196
|
+
.db-root .db-grid-detail-title {
|
|
14197
|
+
flex: 1;
|
|
14198
|
+
min-width: 0;
|
|
14199
|
+
overflow: hidden;
|
|
14200
|
+
text-overflow: ellipsis;
|
|
14201
|
+
white-space: nowrap;
|
|
14202
|
+
letter-spacing: 0.01em;
|
|
14203
|
+
}
|
|
14204
|
+
.db-root .db-grid-detail-content {
|
|
14205
|
+
padding: 12px 16px;
|
|
14206
|
+
}
|
|
14207
|
+
.db-root .db-grid-detail-json {
|
|
14208
|
+
border: 1px solid var(--db-glass-border);
|
|
14209
|
+
border-radius: 8px;
|
|
14210
|
+
background: var(--db-glass-bg-strong);
|
|
14211
|
+
padding: 10px 12px;
|
|
14212
|
+
}
|
|
14213
|
+
/* 列ごとのフィルタ入力。未フォーカス時は淡く、フォーカスでリング。 */
|
|
14214
|
+
.db-root .db-grid-col-filter {
|
|
14215
|
+
border: 1px solid transparent;
|
|
14216
|
+
border-radius: 6px;
|
|
14217
|
+
background: color-mix(in srgb, var(--fg) 4%, transparent);
|
|
14218
|
+
transition:
|
|
14219
|
+
background-color 0.15s ease,
|
|
14220
|
+
border-color 0.15s ease,
|
|
14221
|
+
box-shadow 0.15s ease;
|
|
14222
|
+
}
|
|
14223
|
+
.db-root .db-grid-col-filter:hover {
|
|
14224
|
+
background: var(--db-glass-bg-strong);
|
|
14225
|
+
border-color: var(--db-glass-border);
|
|
14226
|
+
}
|
|
14227
|
+
.db-root .db-grid-col-filter:focus {
|
|
14228
|
+
outline: none;
|
|
14229
|
+
background: var(--db-glass-bg-strong);
|
|
14230
|
+
border-color: var(--accent);
|
|
14231
|
+
box-shadow: var(--db-focus-ring);
|
|
14232
|
+
}
|
|
14233
|
+
.db-root .db-grid-filter-spacer {
|
|
14234
|
+
background: transparent;
|
|
14235
|
+
}
|