anentrypoint-design 0.0.292 → 0.0.293
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/app-shell.css +42 -37
- package/colors_and_type.css +22 -1
- package/dist/247420.css +64 -38
- package/dist/247420.js +14 -14
- package/package.json +1 -1
- package/src/components/agent-chat.js +1 -1
package/app-shell.css
CHANGED
|
@@ -30,8 +30,8 @@ button, input, select, textarea { font: inherit; }
|
|
|
30
30
|
}
|
|
31
31
|
.skip-link:focus {
|
|
32
32
|
top: 10px;
|
|
33
|
-
outline:
|
|
34
|
-
outline-offset:
|
|
33
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
34
|
+
outline-offset: var(--focus-offset);
|
|
35
35
|
}
|
|
36
36
|
body {
|
|
37
37
|
background: var(--bg);
|
|
@@ -42,7 +42,12 @@ body {
|
|
|
42
42
|
-webkit-font-smoothing: antialiased;
|
|
43
43
|
text-rendering: optimizeLegibility;
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
/* Light (paper, the default theme) needs a stronger accent share than dark to
|
|
46
|
+
clear a visible selection tint against --bg-2 -- the dark-theme value (24%)
|
|
47
|
+
read too weak on paper. Dark/ink keeps its existing 24% mix, restored below
|
|
48
|
+
in the ink/dark + auto-dark blocks (mirrors the --danger/--flame pattern of
|
|
49
|
+
scoping a value per theme rather than sharing one across both). */
|
|
50
|
+
::selection { background: color-mix(in oklab, var(--accent) 46%, var(--bg-2)); color: var(--fg); }
|
|
46
51
|
|
|
47
52
|
/* Every root has a CQ container so fluid type can resolve to a meaningful inline-size. */
|
|
48
53
|
.app, .ds-stage {
|
|
@@ -247,8 +252,8 @@ body.canvas-host { background: transparent !important; }
|
|
|
247
252
|
}
|
|
248
253
|
.app-topbar nav a:hover { background: var(--bg-2); color: var(--fg); }
|
|
249
254
|
.app-topbar nav a:focus-visible {
|
|
250
|
-
outline:
|
|
251
|
-
outline-offset:
|
|
255
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
256
|
+
outline-offset: var(--focus-offset);
|
|
252
257
|
}
|
|
253
258
|
/* Active tab reads as a subtle tinted pill with an accent underline rather than
|
|
254
259
|
an oversized filled oval that sits taller than its inactive siblings and reads
|
|
@@ -283,8 +288,8 @@ body.canvas-host { background: transparent !important; }
|
|
|
283
288
|
width: 100%;
|
|
284
289
|
}
|
|
285
290
|
.app-search:focus-within {
|
|
286
|
-
outline:
|
|
287
|
-
outline-offset:
|
|
291
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
292
|
+
outline-offset: var(--focus-offset);
|
|
288
293
|
}
|
|
289
294
|
|
|
290
295
|
.app-crumb {
|
|
@@ -325,8 +330,8 @@ body.canvas-host { background: transparent !important; }
|
|
|
325
330
|
}
|
|
326
331
|
.app-side a:hover { background: var(--bg-2); color: var(--fg); }
|
|
327
332
|
.app-side a:focus-visible {
|
|
328
|
-
outline:
|
|
329
|
-
outline-offset:
|
|
333
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
334
|
+
outline-offset: var(--focus-offset);
|
|
330
335
|
}
|
|
331
336
|
.app-side a.active {
|
|
332
337
|
color: var(--accent-fg);
|
|
@@ -1004,7 +1009,7 @@ table td { padding: 14px 16px; border-top: 1px solid var(--rule); }
|
|
|
1004
1009
|
table tr.clickable { cursor: pointer; }
|
|
1005
1010
|
table tr.clickable:hover td { background: var(--bg-2); }
|
|
1006
1011
|
table tr.clickable:focus-visible {
|
|
1007
|
-
outline:
|
|
1012
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
1008
1013
|
outline-offset: -2px;
|
|
1009
1014
|
}
|
|
1010
1015
|
table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
@@ -1445,7 +1450,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1445
1450
|
flex-direction: column;
|
|
1446
1451
|
gap: 4px;
|
|
1447
1452
|
}
|
|
1448
|
-
.ds-file-grid:focus-visible { outline:
|
|
1453
|
+
.ds-file-grid:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); border-radius: var(--r-2); }
|
|
1449
1454
|
|
|
1450
1455
|
/* Listing wrapper holds the optional filter + sort header above the grid. */
|
|
1451
1456
|
.ds-file-listing { display: flex; flex-direction: column; gap: var(--space-2); min-height: 0; }
|
|
@@ -1467,7 +1472,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1467
1472
|
}
|
|
1468
1473
|
.ds-file-sort-btn:hover { color: var(--fg-2); background: var(--bg-2); }
|
|
1469
1474
|
.ds-file-sort-btn.active { color: var(--accent-ink); }
|
|
1470
|
-
.ds-file-sort-btn:focus-visible { outline:
|
|
1475
|
+
.ds-file-sort-btn:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
1471
1476
|
|
|
1472
1477
|
/* Skeleton shimmer rows shown while a directory loads. */
|
|
1473
1478
|
.ds-file-row-skeleton { cursor: default; pointer-events: none; }
|
|
@@ -1515,7 +1520,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1515
1520
|
color: inherit; font: inherit; text-align: left; cursor: pointer;
|
|
1516
1521
|
}
|
|
1517
1522
|
.ds-file-open[disabled] { cursor: default; }
|
|
1518
|
-
.ds-file-open:focus-visible { outline:
|
|
1523
|
+
.ds-file-open:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); border-radius: var(--r-1); }
|
|
1519
1524
|
.ds-file-row:hover {
|
|
1520
1525
|
background: var(--bg-2);
|
|
1521
1526
|
border-color: var(--rule);
|
|
@@ -1619,7 +1624,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1619
1624
|
}
|
|
1620
1625
|
.ds-file-check:hover { background: var(--bg-3); color: var(--fg); }
|
|
1621
1626
|
.ds-file-check.is-marked { color: var(--accent-ink); }
|
|
1622
|
-
.ds-file-check:focus-visible { outline:
|
|
1627
|
+
.ds-file-check:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
1623
1628
|
.ds-file-check[disabled] { opacity: 0.4; cursor: default; }
|
|
1624
1629
|
.ds-file-row.is-marked { background: var(--accent-tint); border-color: var(--accent); }
|
|
1625
1630
|
.ds-file-selectall {
|
|
@@ -1629,7 +1634,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1629
1634
|
padding: var(--space-1); border-radius: var(--r-1);
|
|
1630
1635
|
}
|
|
1631
1636
|
.ds-file-selectall:hover { background: var(--bg-2); color: var(--fg); }
|
|
1632
|
-
.ds-file-selectall:focus-visible { outline:
|
|
1637
|
+
.ds-file-selectall:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
1633
1638
|
.ds-file-controls { display: flex; align-items: center; gap: var(--space-2); padding: 0 var(--space-2) var(--space-1); flex-wrap: wrap; }
|
|
1634
1639
|
.ds-file-controls .spread { flex: 1 1 auto; }
|
|
1635
1640
|
.ds-file-controls .ds-file-sort { padding: 0; }
|
|
@@ -1667,7 +1672,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1667
1672
|
}
|
|
1668
1673
|
.ds-density-btn:hover { color: var(--fg); }
|
|
1669
1674
|
.ds-density-btn.active { background: var(--accent-tint); color: var(--fg); }
|
|
1670
|
-
.ds-density-btn:focus-visible { outline:
|
|
1675
|
+
.ds-density-btn:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
1671
1676
|
|
|
1672
1677
|
/* Compact density — tighter rows for long listings. */
|
|
1673
1678
|
.ds-file-grid[data-density="compact"] { gap: 2px; }
|
|
@@ -1705,7 +1710,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1705
1710
|
background: none; border: none; cursor: pointer; color: var(--fg);
|
|
1706
1711
|
}
|
|
1707
1712
|
.ds-file-cell-open[disabled] { cursor: default; }
|
|
1708
|
-
.ds-file-cell-open:focus-visible { outline:
|
|
1713
|
+
.ds-file-cell-open:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: -2px; border-radius: var(--r-2); }
|
|
1709
1714
|
.ds-file-cell-media {
|
|
1710
1715
|
display: flex; align-items: center; justify-content: center;
|
|
1711
1716
|
width: 100%; aspect-ratio: 4 / 3;
|
|
@@ -1945,7 +1950,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1945
1950
|
color: var(--fg-2); font-family: var(--ff-body); font-size: var(--fs-micro);
|
|
1946
1951
|
}
|
|
1947
1952
|
.ds-upload-act:hover { background: var(--bg-3); color: var(--fg); }
|
|
1948
|
-
.ds-upload-act:focus-visible { outline:
|
|
1953
|
+
.ds-upload-act:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
1949
1954
|
@media (hover: none), (pointer: coarse) {
|
|
1950
1955
|
.ds-upload-act { min-height: 44px; min-width: 44px; }
|
|
1951
1956
|
/* 44px floor for file controls on ANY touch device, not only narrow ones
|
|
@@ -2016,7 +2021,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2016
2021
|
border-radius: var(--r-2); color: var(--fg);
|
|
2017
2022
|
font-family: inherit; font-size: var(--fs-sm);
|
|
2018
2023
|
}
|
|
2019
|
-
.ds-modal-input:focus-visible { outline:
|
|
2024
|
+
.ds-modal-input:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
2020
2025
|
/* iOS auto-zooms inputs under 16px on focus, breaking the modal layout. */
|
|
2021
2026
|
@media (hover: none), (pointer: coarse) {
|
|
2022
2027
|
.ds-modal-input { font-size: 16px; min-height: 44px; }
|
|
@@ -2203,7 +2208,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2203
2208
|
transition: color var(--dur-base) var(--ease), background var(--dur-base) var(--ease);
|
|
2204
2209
|
}
|
|
2205
2210
|
.ds-segmented .ds-seg-btn:hover { color: var(--fg); }
|
|
2206
|
-
.ds-segmented .ds-seg-btn:focus-visible { outline:
|
|
2211
|
+
.ds-segmented .ds-seg-btn:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
2207
2212
|
.ds-segmented .ds-seg-btn.is-on {
|
|
2208
2213
|
background: var(--bg); color: var(--fg);
|
|
2209
2214
|
box-shadow: inset 0 0 0 var(--bw-hair, 1px) var(--rule);
|
|
@@ -2653,8 +2658,8 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2653
2658
|
.chat-composer .send:active { filter: brightness(0.94); }
|
|
2654
2659
|
.chat-composer .send:focus-visible,
|
|
2655
2660
|
.composer-btn:focus-visible {
|
|
2656
|
-
outline:
|
|
2657
|
-
outline-offset:
|
|
2661
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
2662
|
+
outline-offset: var(--focus-offset);
|
|
2658
2663
|
}
|
|
2659
2664
|
.chat-composer .send:disabled {
|
|
2660
2665
|
background: var(--bg-3); color: var(--fg-3); cursor: not-allowed; transform: none;
|
|
@@ -3195,8 +3200,8 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3195
3200
|
|
|
3196
3201
|
/* Base focus-visible: 2px ring + 2px offset clears dark bg-3 surfaces (WCAG 1.4.11) */
|
|
3197
3202
|
:focus-visible {
|
|
3198
|
-
outline:
|
|
3199
|
-
outline-offset:
|
|
3203
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
3204
|
+
outline-offset: var(--focus-offset);
|
|
3200
3205
|
}
|
|
3201
3206
|
|
|
3202
3207
|
/* Enhanced focus-visible for all interactive elements */
|
|
@@ -3205,8 +3210,8 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3205
3210
|
[role="tab"]:focus-visible,
|
|
3206
3211
|
.row:focus-visible,
|
|
3207
3212
|
.row[tabindex]:focus-visible {
|
|
3208
|
-
outline:
|
|
3209
|
-
outline-offset:
|
|
3213
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
3214
|
+
outline-offset: var(--focus-offset);
|
|
3210
3215
|
}
|
|
3211
3216
|
|
|
3212
3217
|
/* Skip to main content link */
|
|
@@ -3598,7 +3603,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3598
3603
|
border-radius: var(--r-1, 6px);
|
|
3599
3604
|
cursor: pointer;
|
|
3600
3605
|
}
|
|
3601
|
-
.app-side-toggle:focus-visible { outline:
|
|
3606
|
+
.app-side-toggle:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
3602
3607
|
@container (max-width: 900px) {
|
|
3603
3608
|
.app-side-toggle { display: inline-flex; }
|
|
3604
3609
|
.app-topbar .brand { margin-left: 44px; }
|
|
@@ -3692,7 +3697,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3692
3697
|
.ws-resizer { grid-row: 1 / -1; align-self: stretch; justify-self: end; width: 8px; margin-right: -4px; z-index: 5; cursor: col-resize; background: transparent; border: none; padding: 0; touch-action: none; }
|
|
3693
3698
|
.ws-resizer::after { content: ""; display: block; width: 2px; height: 100%; margin: 0 auto; background: transparent; transition: background var(--dur-snap) var(--ease); }
|
|
3694
3699
|
.ws-resizer:hover::after, .ws-resizer:focus-visible::after { background: var(--accent); }
|
|
3695
|
-
.ws-resizer:focus-visible { outline:
|
|
3700
|
+
.ws-resizer:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: -2px; }
|
|
3696
3701
|
.ws-resizer.ws-resizer-rail { grid-column: 1; }
|
|
3697
3702
|
.ws-resizer.ws-resizer-sessions { grid-column: 2; }
|
|
3698
3703
|
.ws-resizer.ws-resizer-pane { grid-column: 3; justify-self: end; }
|
|
@@ -3744,7 +3749,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3744
3749
|
border-radius: var(--r-1); cursor: pointer;
|
|
3745
3750
|
}
|
|
3746
3751
|
.ws-rail-toggle:hover { background: var(--bg-3); color: var(--fg); }
|
|
3747
|
-
.ws-rail-toggle:focus-visible { outline:
|
|
3752
|
+
.ws-rail-toggle:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
3748
3753
|
.ws-rail-inner { display: flex; flex-direction: column; min-height: 0; flex: 1; padding: var(--space-3) var(--space-2); gap: var(--space-2); }
|
|
3749
3754
|
.ws-rail-head { display: flex; align-items: center; min-height: 36px; padding: 0 var(--space-2); }
|
|
3750
3755
|
.ws-rail-brand { font-family: var(--ff-body); font-weight: 600; font-size: var(--fs-body); color: var(--fg); white-space: nowrap; overflow: hidden; }
|
|
@@ -3757,7 +3762,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3757
3762
|
min-height: 40px; white-space: nowrap; overflow: hidden;
|
|
3758
3763
|
}
|
|
3759
3764
|
.ws-rail-action:hover { filter: brightness(0.92); }
|
|
3760
|
-
.ws-rail-action:focus-visible { outline:
|
|
3765
|
+
.ws-rail-action:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
3761
3766
|
.ws-rail-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
|
|
3762
3767
|
.ws-rail-item {
|
|
3763
3768
|
display: flex; align-items: center; gap: var(--space-2);
|
|
@@ -3767,7 +3772,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3767
3772
|
font-family: var(--ff-body); font-size: var(--fs-sm); white-space: nowrap; overflow: hidden;
|
|
3768
3773
|
}
|
|
3769
3774
|
.ws-rail-item:hover { background: var(--bg-3); color: var(--fg); }
|
|
3770
|
-
.ws-rail-item:focus-visible { outline:
|
|
3775
|
+
.ws-rail-item:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: -2px; }
|
|
3771
3776
|
.ws-rail-item.active { background: var(--accent-tint); color: var(--fg); box-shadow: inset 2px 0 0 var(--accent); }
|
|
3772
3777
|
.ws-rail-item-label { flex: 1; overflow: hidden; text-overflow: ellipsis; }
|
|
3773
3778
|
.ws-rail-item-count { font-family: var(--ff-mono); font-size: var(--fs-tiny); color: var(--fg-3); }
|
|
@@ -3840,7 +3845,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3840
3845
|
/* Desktop-only chrome toggle (sessions collapse): inverse of the mobile drawer-toggle. */
|
|
3841
3846
|
.ws-desktop-toggle { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: none; background: none; color: var(--fg-2); cursor: pointer; border-radius: var(--r-1); }
|
|
3842
3847
|
.ws-desktop-toggle:hover { background: var(--bg-2); color: var(--fg); }
|
|
3843
|
-
.ws-desktop-toggle:focus-visible { outline:
|
|
3848
|
+
.ws-desktop-toggle:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
3844
3849
|
@media (max-width: 900px) { .ws-desktop-toggle { display: none; } }
|
|
3845
3850
|
/* The pane collapse toggle is meaningless once the pane TRACK is dropped (the
|
|
3846
3851
|
pane becomes a mobile overlay drawer at <=1480px, reached via its own
|
|
@@ -3964,7 +3969,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3964
3969
|
.ws-crumb .app-crumb .crumb-right { margin-left: 0; flex-wrap: wrap; min-width: 0; display: inline-flex; }
|
|
3965
3970
|
}
|
|
3966
3971
|
.ws-drawer-toggle:hover { background: var(--bg-2); color: var(--fg); }
|
|
3967
|
-
.ws-drawer-toggle:focus-visible { outline:
|
|
3972
|
+
.ws-drawer-toggle:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
3968
3973
|
|
|
3969
3974
|
@media (prefers-reduced-motion: reduce) {
|
|
3970
3975
|
.ws-shell, .ws-rail, .ws-pane, .ws-sessions, .ws-scrim { transition: none; }
|
|
@@ -3989,7 +3994,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3989
3994
|
transition: background var(--dur-snap) var(--ease), color var(--dur-snap) var(--ease);
|
|
3990
3995
|
}
|
|
3991
3996
|
.row-act:hover { background: var(--bg-3); color: var(--fg); }
|
|
3992
|
-
.row-act:focus-visible { outline:
|
|
3997
|
+
.row-act:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
3993
3998
|
|
|
3994
3999
|
/* FilterPills - a group of pill toggle buttons (aria-pressed). */
|
|
3995
4000
|
.ds-filter-pills { display: flex; flex-wrap: wrap; gap: var(--space-2); }
|
|
@@ -4002,7 +4007,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4002
4007
|
}
|
|
4003
4008
|
.ds-filter-pill:hover { background: var(--bg-3); color: var(--fg); }
|
|
4004
4009
|
.ds-filter-pill.active { background: var(--accent-tint); color: var(--fg); border-color: var(--accent); }
|
|
4005
|
-
.ds-filter-pill:focus-visible { outline:
|
|
4010
|
+
.ds-filter-pill:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
4006
4011
|
|
|
4007
4012
|
/* Touch floor for the new small controls. */
|
|
4008
4013
|
@media (pointer: coarse) {
|
|
@@ -4012,7 +4017,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4012
4017
|
/* Disabled file actions (read-only row / in-flight mutation) stay visible but inert. */
|
|
4013
4018
|
.ds-file-act:disabled { opacity: .45; cursor: default; }
|
|
4014
4019
|
.ds-file-act:disabled:hover { background: transparent; color: var(--fg-3); }
|
|
4015
|
-
.ds-file-act:focus-visible { outline:
|
|
4020
|
+
.ds-file-act:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
4016
4021
|
|
|
4017
4022
|
/* ============================================================
|
|
4018
4023
|
Print — linearize WorkspaceShell so main content prints in full.
|
|
@@ -4337,7 +4342,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4337
4342
|
.ds-feature above), so the hover affordance is a lift, matching the same
|
|
4338
4343
|
translateY + shadow idiom .chat-msg:hover .chat-bubble already uses. */
|
|
4339
4344
|
.ds-gallery-tile:hover { transform: translateY(-2px); box-shadow: 0 2px 8px color-mix(in oklab, var(--fg) 10%, transparent); }
|
|
4340
|
-
.ds-gallery-tile:focus-visible { outline:
|
|
4345
|
+
.ds-gallery-tile:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
4341
4346
|
.ds-gallery-tile--tight { min-height: clamp(96px, 14vw, 120px); }
|
|
4342
4347
|
.ds-lightbox {
|
|
4343
4348
|
position: fixed; inset: 0; background: var(--scrim);
|
package/colors_and_type.css
CHANGED
|
@@ -90,7 +90,11 @@
|
|
|
90
90
|
--accent-fg: var(--ink);
|
|
91
91
|
--accent-ink: var(--acid-deep);
|
|
92
92
|
--accent-bright: var(--acid); /* base value so var(--accent-bright) never falls back empty; ink + [data-accent] retune it */
|
|
93
|
-
--accent-
|
|
93
|
+
/* Blends --accent-ink (the readable/darker ink variant), not the raw
|
|
94
|
+
--accent fill, so light-theme active states clear contrast against --bg;
|
|
95
|
+
dark/ink and auto-dark restate the prior --accent-based value explicitly
|
|
96
|
+
below so this change does not leak into them via inheritance. */
|
|
97
|
+
--accent-tint: color-mix(in oklab, var(--accent-ink) 22%, var(--bg));
|
|
94
98
|
|
|
95
99
|
/* On-color foregrounds — text/icons that sit ON a saturated fill (accent,
|
|
96
100
|
danger, category chips). Theme-driven so white-on-color never hard-codes
|
|
@@ -327,6 +331,9 @@ select:focus-visible {
|
|
|
327
331
|
--accent-fg: var(--ink);
|
|
328
332
|
--accent-ink: var(--acid); /* on ink, the lime itself reads as bright text */
|
|
329
333
|
--accent-bright: var(--acid);
|
|
334
|
+
/* Preserves the prior --accent-based blend for dark; the :root light-theme
|
|
335
|
+
value above was retuned to blend --accent-ink instead. */
|
|
336
|
+
--accent-tint: color-mix(in oklab, var(--accent) 30%, var(--bg));
|
|
330
337
|
--danger: oklch(0.68 0.19 25);
|
|
331
338
|
--flame: #FF5A1F;
|
|
332
339
|
--amber: #D9A93A;
|
|
@@ -341,6 +348,14 @@ select:focus-visible {
|
|
|
341
348
|
--code-num: var(--sun);
|
|
342
349
|
}
|
|
343
350
|
|
|
351
|
+
/* Restores the pre-existing (weaker) dark-theme selection tint after the
|
|
352
|
+
light-theme-only bump in app-shell.css's base ::selection rule. */
|
|
353
|
+
[data-theme="ink"] ::selection,
|
|
354
|
+
[data-theme="dark"] ::selection {
|
|
355
|
+
background: color-mix(in oklab, var(--accent) 24%, var(--bg-2));
|
|
356
|
+
color: var(--fg);
|
|
357
|
+
}
|
|
358
|
+
|
|
344
359
|
/* NOTE: the [data-theme="auto"] block below mirrors the
|
|
345
360
|
[data-theme="ink"/"dark"] block above token-for-token. 'auto + OS-dark' and
|
|
346
361
|
'explicit dark' are the same visual context and resolve every token —
|
|
@@ -368,6 +383,7 @@ select:focus-visible {
|
|
|
368
383
|
--accent-fg: var(--ink);
|
|
369
384
|
--accent-ink: var(--acid);
|
|
370
385
|
--accent-bright: var(--acid);
|
|
386
|
+
--accent-tint: color-mix(in oklab, var(--accent) 30%, var(--bg));
|
|
371
387
|
--danger: oklch(0.68 0.19 25);
|
|
372
388
|
--flame: #FF5A1F;
|
|
373
389
|
--amber: #D9A93A;
|
|
@@ -379,6 +395,10 @@ select:focus-visible {
|
|
|
379
395
|
--code-str-alt: var(--mascot);
|
|
380
396
|
--code-num: var(--sun);
|
|
381
397
|
}
|
|
398
|
+
[data-theme="auto"] ::selection {
|
|
399
|
+
background: color-mix(in oklab, var(--accent) 24%, var(--bg-2));
|
|
400
|
+
color: var(--fg);
|
|
401
|
+
}
|
|
382
402
|
}
|
|
383
403
|
|
|
384
404
|
/* Nested-scope safety: if .ds-247420 appears under another .ds-247420 (e.g.
|
|
@@ -438,6 +458,7 @@ select:focus-visible {
|
|
|
438
458
|
--bg: var(--paper); --bg-2: var(--paper-2); --bg-3: var(--paper-3);
|
|
439
459
|
--fg: var(--ink); --fg-2: var(--ink-2); --fg-3: var(--ink-3);
|
|
440
460
|
--accent: var(--acid); --accent-fg: var(--ink); --accent-ink: var(--acid-deep);
|
|
461
|
+
--accent-tint: color-mix(in oklab, var(--accent-ink) 22%, var(--bg));
|
|
441
462
|
/* A paper island under a dark ancestor must not inherit the dark signal pair. */
|
|
442
463
|
--flame: #C53E00; --amber: #7C570F; --warn: #E0241A; --sky: #3A6EFF;
|
|
443
464
|
}
|