anentrypoint-design 0.0.240 → 0.0.242
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 +88 -75
- package/chat.css +25 -22
- package/colors_and_type.css +25 -29
- package/community.css +63 -18
- package/dist/247420.css +227 -166
- package/dist/247420.js +23 -27
- package/package.json +1 -1
- package/src/community-app.js +1 -1
- package/src/components/community.js +46 -12
- package/src/components/content.js +8 -6
- package/src/components/shell.js +1 -1
- package/src/kits/os/freddie-dashboard.css +5 -5
- package/src/kits/os/icons.js +38 -16
- package/src/kits/os/theme.css +35 -35
- package/src/kits/spoint/loading-screen.css +1 -1
- package/src/page-html.js +9 -13
package/app-shell.css
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/* ============================================================
|
|
2
2
|
247420 design system — component sheet
|
|
3
|
-
"Acid Editorial":
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
hairlines.
|
|
3
|
+
"Acid Editorial": system-font display + body + mono, no custom web fonts.
|
|
4
|
+
Confident hierarchy, asymmetric grid tension, print texture over glow,
|
|
5
|
+
one electric lead accent. Indicator rails over hairlines.
|
|
7
6
|
============================================================ */
|
|
8
7
|
|
|
9
8
|
/* ============================================================
|
|
@@ -31,7 +30,7 @@ button, input, select, textarea { font: inherit; }
|
|
|
31
30
|
}
|
|
32
31
|
.skip-link:focus {
|
|
33
32
|
top: 10px;
|
|
34
|
-
outline: 2px solid var(--accent);
|
|
33
|
+
outline: 2px solid var(--accent-ink);
|
|
35
34
|
outline-offset: 2px;
|
|
36
35
|
}
|
|
37
36
|
body {
|
|
@@ -248,7 +247,7 @@ body.canvas-host { background: transparent !important; }
|
|
|
248
247
|
}
|
|
249
248
|
.app-topbar nav a:hover { background: var(--bg-2); color: var(--fg); }
|
|
250
249
|
.app-topbar nav a:focus-visible {
|
|
251
|
-
outline: 2px solid var(--accent);
|
|
250
|
+
outline: 2px solid var(--accent-ink);
|
|
252
251
|
outline-offset: 2px;
|
|
253
252
|
}
|
|
254
253
|
/* Active tab reads as a subtle tinted pill with an accent underline rather than
|
|
@@ -284,7 +283,7 @@ body.canvas-host { background: transparent !important; }
|
|
|
284
283
|
width: 100%;
|
|
285
284
|
}
|
|
286
285
|
.app-search:focus-within {
|
|
287
|
-
outline: 2px solid var(--accent);
|
|
286
|
+
outline: 2px solid var(--accent-ink);
|
|
288
287
|
outline-offset: 2px;
|
|
289
288
|
}
|
|
290
289
|
|
|
@@ -326,7 +325,7 @@ body.canvas-host { background: transparent !important; }
|
|
|
326
325
|
}
|
|
327
326
|
.app-side a:hover { background: var(--bg-2); color: var(--fg); }
|
|
328
327
|
.app-side a:focus-visible {
|
|
329
|
-
outline: 2px solid var(--accent);
|
|
328
|
+
outline: 2px solid var(--accent-ink);
|
|
330
329
|
outline-offset: 2px;
|
|
331
330
|
}
|
|
332
331
|
.app-side a.active {
|
|
@@ -449,7 +448,7 @@ body.canvas-host { background: transparent !important; }
|
|
|
449
448
|
.btn-ghost:hover { background: var(--fg); color: var(--bg); }
|
|
450
449
|
.btn:active, .btn-primary:active, .btn-ghost:active { transform: translateY(2px); }
|
|
451
450
|
.btn:focus-visible, .btn-primary:focus-visible, .btn-ghost:focus-visible {
|
|
452
|
-
outline: 2px solid var(--accent);
|
|
451
|
+
outline: 2px solid var(--accent-ink);
|
|
453
452
|
outline-offset: 2px;
|
|
454
453
|
}
|
|
455
454
|
|
|
@@ -476,7 +475,7 @@ body.canvas-host { background: transparent !important; }
|
|
|
476
475
|
.ds-icon-btn-danger { background: var(--warn); color: var(--on-color); }
|
|
477
476
|
.ds-icon-btn-danger:hover { filter: brightness(1.1); }
|
|
478
477
|
.ds-icon-btn:active { transform: translateY(1px); }
|
|
479
|
-
.ds-icon-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
478
|
+
.ds-icon-btn:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
|
|
480
479
|
.ds-icon-btn:disabled, .ds-icon-btn.is-disabled {
|
|
481
480
|
opacity: 0.5; cursor: not-allowed; pointer-events: none;
|
|
482
481
|
}
|
|
@@ -488,7 +487,7 @@ body.canvas-host { background: transparent !important; }
|
|
|
488
487
|
display: inline-flex; align-items: center; justify-content: center;
|
|
489
488
|
min-width: 18px; height: 18px; padding: 0 6px;
|
|
490
489
|
font-size: var(--fs-micro); font-weight: 600; line-height: 1;
|
|
491
|
-
border-radius:
|
|
490
|
+
border-radius: var(--r-pill);
|
|
492
491
|
background: var(--bg-3); color: var(--fg-2);
|
|
493
492
|
}
|
|
494
493
|
.ds-badge.tone-green { background: var(--green-tint); color: var(--green-deep); }
|
|
@@ -700,16 +699,13 @@ a.row { text-decoration: none; }
|
|
|
700
699
|
padding: var(--space-9) 0 var(--space-8);
|
|
701
700
|
display: grid; gap: var(--space-5) var(--space-6);
|
|
702
701
|
grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
|
|
703
|
-
grid-template-areas: 'title title' 'body actions'
|
|
702
|
+
grid-template-areas: 'title title' 'body actions';
|
|
704
703
|
align-items: end;
|
|
705
704
|
max-width: var(--measure-wide);
|
|
706
705
|
}
|
|
707
706
|
.ds-hero-head { grid-area: title; display: grid; gap: var(--space-3); }
|
|
708
707
|
.ds-hero-body { grid-area: body; }
|
|
709
708
|
.ds-hero-actions { grid-area: actions; }
|
|
710
|
-
/* Badge gets its own row — sharing 'actions' overlapped it onto the CTAs
|
|
711
|
-
whenever a caller passes both actions and badge. */
|
|
712
|
-
.ds-hero-badge { grid-area: badge; }
|
|
713
709
|
.ds-hero-title {
|
|
714
710
|
font-family: var(--ff-display); font-weight: 700;
|
|
715
711
|
font-size: clamp(40px, 9cqi, 116px);
|
|
@@ -730,7 +726,7 @@ a.row { text-decoration: none; }
|
|
|
730
726
|
@container (max-width: 900px) {
|
|
731
727
|
.ds-hero {
|
|
732
728
|
grid-template-columns: minmax(0, 1fr);
|
|
733
|
-
grid-template-areas: 'title' 'body' 'actions'
|
|
729
|
+
grid-template-areas: 'title' 'body' 'actions';
|
|
734
730
|
align-items: start;
|
|
735
731
|
padding: var(--space-7) 0 var(--space-6);
|
|
736
732
|
}
|
|
@@ -904,7 +900,7 @@ table td { padding: 14px 16px; border-top: 1px solid var(--rule); }
|
|
|
904
900
|
table tr.clickable { cursor: pointer; }
|
|
905
901
|
table tr.clickable:hover td { background: var(--bg-2); }
|
|
906
902
|
table tr.clickable:focus-visible {
|
|
907
|
-
outline: 2px solid var(--accent);
|
|
903
|
+
outline: 2px solid var(--accent-ink);
|
|
908
904
|
outline-offset: -2px;
|
|
909
905
|
}
|
|
910
906
|
table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
@@ -1302,7 +1298,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1302
1298
|
flex-direction: column;
|
|
1303
1299
|
gap: 4px;
|
|
1304
1300
|
}
|
|
1305
|
-
.ds-file-grid:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--r-2); }
|
|
1301
|
+
.ds-file-grid:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; border-radius: var(--r-2); }
|
|
1306
1302
|
|
|
1307
1303
|
/* Listing wrapper holds the optional filter + sort header above the grid. */
|
|
1308
1304
|
.ds-file-listing { display: flex; flex-direction: column; gap: var(--space-2); min-height: 0; }
|
|
@@ -1324,7 +1320,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1324
1320
|
}
|
|
1325
1321
|
.ds-file-sort-btn:hover { color: var(--fg-2); background: var(--bg-2); }
|
|
1326
1322
|
.ds-file-sort-btn.active { color: var(--accent-ink); }
|
|
1327
|
-
.ds-file-sort-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
1323
|
+
.ds-file-sort-btn:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 1px; }
|
|
1328
1324
|
|
|
1329
1325
|
/* Skeleton shimmer rows shown while a directory loads. */
|
|
1330
1326
|
.ds-file-row-skeleton { cursor: default; pointer-events: none; }
|
|
@@ -1372,7 +1368,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1372
1368
|
color: inherit; font: inherit; text-align: left; cursor: pointer;
|
|
1373
1369
|
}
|
|
1374
1370
|
.ds-file-open[disabled] { cursor: default; }
|
|
1375
|
-
.ds-file-open:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--r-1); }
|
|
1371
|
+
.ds-file-open:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; border-radius: var(--r-1); }
|
|
1376
1372
|
.ds-file-row:hover {
|
|
1377
1373
|
background: var(--bg-2);
|
|
1378
1374
|
border-color: var(--rule);
|
|
@@ -1445,7 +1441,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1445
1441
|
role=checkbox/aria-checked name+state. */
|
|
1446
1442
|
.ds-check-box {
|
|
1447
1443
|
width: 15px; height: 15px; box-sizing: border-box; flex: 0 0 auto; position: relative;
|
|
1448
|
-
border: 1.5px solid var(--fg-3); border-radius:
|
|
1444
|
+
border: 1.5px solid var(--fg-3); border-radius: var(--r-0);
|
|
1449
1445
|
transition: background var(--dur-snap) var(--ease), border-color var(--dur-snap) var(--ease);
|
|
1450
1446
|
}
|
|
1451
1447
|
.is-marked > .ds-check-box,
|
|
@@ -1457,7 +1453,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1457
1453
|
}
|
|
1458
1454
|
[aria-checked="mixed"] > .ds-check-box { background: var(--accent); border-color: var(--accent); }
|
|
1459
1455
|
[aria-checked="mixed"] > .ds-check-box::after {
|
|
1460
|
-
content: ""; position: absolute; left: 3px; right: 3px; top: 6px; height: 2px; background: var(--bg); border-radius:
|
|
1456
|
+
content: ""; position: absolute; left: 3px; right: 3px; top: 6px; height: 2px; background: var(--bg); border-radius: var(--r-hair);
|
|
1461
1457
|
}
|
|
1462
1458
|
|
|
1463
1459
|
.ds-file-check {
|
|
@@ -1470,7 +1466,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1470
1466
|
}
|
|
1471
1467
|
.ds-file-check:hover { background: var(--bg-3); color: var(--fg); }
|
|
1472
1468
|
.ds-file-check.is-marked { color: var(--accent-ink); }
|
|
1473
|
-
.ds-file-check:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
1469
|
+
.ds-file-check:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 1px; }
|
|
1474
1470
|
.ds-file-check[disabled] { opacity: 0.4; cursor: default; }
|
|
1475
1471
|
.ds-file-row.is-marked { background: var(--accent-tint); border-color: var(--accent); }
|
|
1476
1472
|
.ds-file-selectall {
|
|
@@ -1480,7 +1476,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1480
1476
|
padding: var(--space-1); border-radius: var(--r-1);
|
|
1481
1477
|
}
|
|
1482
1478
|
.ds-file-selectall:hover { background: var(--bg-2); color: var(--fg); }
|
|
1483
|
-
.ds-file-selectall:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
1479
|
+
.ds-file-selectall:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 1px; }
|
|
1484
1480
|
.ds-file-controls { display: flex; align-items: center; gap: var(--space-2); padding: 0 var(--space-2) var(--space-1); flex-wrap: wrap; }
|
|
1485
1481
|
.ds-file-controls .spread { flex: 1 1 auto; }
|
|
1486
1482
|
.ds-file-controls .ds-file-sort { padding: 0; }
|
|
@@ -1518,7 +1514,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1518
1514
|
}
|
|
1519
1515
|
.ds-density-btn:hover { color: var(--fg); }
|
|
1520
1516
|
.ds-density-btn.active { background: var(--accent-tint); color: var(--fg); }
|
|
1521
|
-
.ds-density-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
1517
|
+
.ds-density-btn:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 1px; }
|
|
1522
1518
|
|
|
1523
1519
|
/* Compact density — tighter rows for long listings. */
|
|
1524
1520
|
.ds-file-grid[data-density="compact"] { gap: 2px; }
|
|
@@ -1552,7 +1548,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1552
1548
|
background: none; border: none; cursor: pointer; color: var(--fg);
|
|
1553
1549
|
}
|
|
1554
1550
|
.ds-file-cell-open[disabled] { cursor: default; }
|
|
1555
|
-
.ds-file-cell-open:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: var(--r-2); }
|
|
1551
|
+
.ds-file-cell-open:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: -2px; border-radius: var(--r-2); }
|
|
1556
1552
|
.ds-file-cell-media {
|
|
1557
1553
|
display: flex; align-items: center; justify-content: center;
|
|
1558
1554
|
width: 100%; aspect-ratio: 4 / 3;
|
|
@@ -1770,7 +1766,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1770
1766
|
color: var(--fg-2); font-family: var(--ff-body); font-size: var(--fs-micro);
|
|
1771
1767
|
}
|
|
1772
1768
|
.ds-upload-act:hover { background: var(--bg-3); color: var(--fg); }
|
|
1773
|
-
.ds-upload-act:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
1769
|
+
.ds-upload-act:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 1px; }
|
|
1774
1770
|
@media (hover: none), (pointer: coarse) {
|
|
1775
1771
|
.ds-upload-act { min-height: 44px; min-width: 44px; }
|
|
1776
1772
|
/* 44px floor for file controls on ANY touch device, not only narrow ones
|
|
@@ -1841,7 +1837,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
1841
1837
|
border-radius: var(--r-2); color: var(--fg);
|
|
1842
1838
|
font-family: inherit; font-size: var(--fs-sm);
|
|
1843
1839
|
}
|
|
1844
|
-
.ds-modal-input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
1840
|
+
.ds-modal-input:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
|
|
1845
1841
|
/* iOS auto-zooms inputs under 16px on focus, breaking the modal layout. */
|
|
1846
1842
|
@media (hover: none), (pointer: coarse) {
|
|
1847
1843
|
.ds-modal-input { font-size: 16px; min-height: 44px; }
|
|
@@ -2005,7 +2001,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2005
2001
|
.ds-kbd-sep { color: var(--fg-3); font-size: var(--fs-micro); padding: 0 2px; }
|
|
2006
2002
|
.ds-kbd {
|
|
2007
2003
|
display: inline-block; min-width: 0;
|
|
2008
|
-
padding: 2px 7px; border-radius:
|
|
2004
|
+
padding: 2px 7px; border-radius: var(--r-0);
|
|
2009
2005
|
background: var(--bg); border: var(--bw-hair) solid var(--rule);
|
|
2010
2006
|
border-bottom-width: 2px;
|
|
2011
2007
|
font-family: var(--ff-mono); font-size: var(--fs-micro); color: var(--fg-2);
|
|
@@ -2027,7 +2023,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2027
2023
|
transition: color var(--dur-base) var(--ease), background var(--dur-base) var(--ease);
|
|
2028
2024
|
}
|
|
2029
2025
|
.ds-segmented .ds-seg-btn:hover { color: var(--fg); }
|
|
2030
|
-
.ds-segmented .ds-seg-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
2026
|
+
.ds-segmented .ds-seg-btn:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 1px; }
|
|
2031
2027
|
.ds-segmented .ds-seg-btn.is-on {
|
|
2032
2028
|
background: var(--bg); color: var(--fg);
|
|
2033
2029
|
box-shadow: inset 0 0 0 var(--bw-hair, 1px) var(--rule);
|
|
@@ -2081,7 +2077,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2081
2077
|
.chat-thread { scroll-behavior: smooth; }
|
|
2082
2078
|
}
|
|
2083
2079
|
.chat-thread::-webkit-scrollbar { width: 8px; }
|
|
2084
|
-
.chat-thread::-webkit-scrollbar-thumb { background: var(--bg-3); border-radius:
|
|
2080
|
+
.chat-thread::-webkit-scrollbar-thumb { background: var(--bg-3); border-radius: var(--r-0); }
|
|
2085
2081
|
.chat-empty {
|
|
2086
2082
|
margin: auto;
|
|
2087
2083
|
text-align: center;
|
|
@@ -2095,7 +2091,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2095
2091
|
.chat-msg { display: flex; gap: 12px; align-items: flex-start; padding: 6px 0; position: relative; min-width: 0; }
|
|
2096
2092
|
.chat-msg.you { flex-direction: row-reverse; }
|
|
2097
2093
|
.chat-msg.you .chat-stack { align-items: flex-end; }
|
|
2098
|
-
.chat-msg:hover { background: color-mix(in oklab, var(--fg) 4%, transparent); padding: 6px 0; margin: 0; border-radius:
|
|
2094
|
+
.chat-msg:hover { background: color-mix(in oklab, var(--fg) 4%, transparent); padding: 6px 0; margin: 0; border-radius: var(--r-0); transition: background var(--dur-base) var(--ease); }
|
|
2099
2095
|
|
|
2100
2096
|
.chat-avatar {
|
|
2101
2097
|
width: 36px; height: 36px; flex-shrink: 0;
|
|
@@ -2141,7 +2137,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2141
2137
|
.chat-bubble code {
|
|
2142
2138
|
font-family: var(--ff-mono); font-size: 0.92em;
|
|
2143
2139
|
background: color-mix(in oklab, var(--fg) 10%, transparent);
|
|
2144
|
-
padding: 1px 6px; border-radius:
|
|
2140
|
+
padding: 1px 6px; border-radius: var(--r-0);
|
|
2145
2141
|
}
|
|
2146
2142
|
.chat-msg.you .chat-bubble code { background: color-mix(in oklab, var(--fg) 10%, transparent); }
|
|
2147
2143
|
.chat-bubble a {
|
|
@@ -2252,7 +2248,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2252
2248
|
.chat-msg.you .chat-image,
|
|
2253
2249
|
.chat-msg .chat-image,
|
|
2254
2250
|
.chat-image {
|
|
2255
|
-
display: inline-block; border-radius:
|
|
2251
|
+
display: inline-block; border-radius: var(--r-1); overflow: hidden;
|
|
2256
2252
|
max-width: min(100%, 480px); background: var(--bg-2);
|
|
2257
2253
|
text-decoration: none; color: var(--fg);
|
|
2258
2254
|
border: 1px solid color-mix(in oklab, var(--fg) 10%, transparent);
|
|
@@ -2271,7 +2267,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2271
2267
|
.chat-file {
|
|
2272
2268
|
display: flex; align-items: center; gap: 12px; padding: 12px 14px;
|
|
2273
2269
|
background: var(--bg-2); border: 1px solid color-mix(in oklab, var(--fg) 10%, transparent);
|
|
2274
|
-
border-radius:
|
|
2270
|
+
border-radius: var(--r-1); text-decoration: none; color: var(--fg);
|
|
2275
2271
|
max-width: min(100%, 360px);
|
|
2276
2272
|
transition: background var(--dur-snap, .15s) var(--ease, ease), border-color var(--dur-snap, .15s) var(--ease, ease);
|
|
2277
2273
|
}
|
|
@@ -2280,7 +2276,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2280
2276
|
font-size: 22px; width: 36px; height: 36px;
|
|
2281
2277
|
display: inline-flex; align-items: center; justify-content: center;
|
|
2282
2278
|
background: color-mix(in oklab, var(--accent) 18%, transparent);
|
|
2283
|
-
color: var(--accent-ink); border-radius:
|
|
2279
|
+
color: var(--accent-ink); border-radius: var(--r-0); flex-shrink: 0; font-family: var(--ff-mono);
|
|
2284
2280
|
}
|
|
2285
2281
|
.chat-file > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
|
|
2286
2282
|
.chat-file .name {
|
|
@@ -2298,7 +2294,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2298
2294
|
background: var(--bg-2);
|
|
2299
2295
|
color: var(--fg);
|
|
2300
2296
|
border: 1px solid color-mix(in oklab, var(--fg) 10%, transparent);
|
|
2301
|
-
border-radius:
|
|
2297
|
+
border-radius: var(--r-1); overflow: hidden; max-width: min(100%, 480px);
|
|
2302
2298
|
transition: box-shadow 0.12s ease, border-color 0.12s ease;
|
|
2303
2299
|
}
|
|
2304
2300
|
.chat-msg:hover .chat-pdf { border-color: color-mix(in oklab, var(--accent) 30%, transparent); }
|
|
@@ -2321,7 +2317,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2321
2317
|
display: grid; grid-template-columns: 80px 1fr; gap: 12px; padding: 10px;
|
|
2322
2318
|
background: var(--bg-2);
|
|
2323
2319
|
border: 1px solid color-mix(in oklab, var(--fg) 10%, transparent);
|
|
2324
|
-
border-radius:
|
|
2320
|
+
border-radius: var(--r-1); text-decoration: none; color: var(--fg);
|
|
2325
2321
|
max-width: min(100%, 480px);
|
|
2326
2322
|
transition: background var(--dur-snap, .15s) var(--ease, ease), border-color var(--dur-snap, .15s) var(--ease, ease), box-shadow 0.15s ease;
|
|
2327
2323
|
}
|
|
@@ -2332,7 +2328,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2332
2328
|
}
|
|
2333
2329
|
.chat-link:not(:has(.thumb)):not(:has(img)) { grid-template-columns: 1fr; }
|
|
2334
2330
|
.chat-link .thumb,
|
|
2335
|
-
.chat-link img.thumb { width: 80px; height: 80px; border-radius:
|
|
2331
|
+
.chat-link img.thumb { width: 80px; height: 80px; border-radius: var(--r-0); object-fit: cover; background: var(--bg-3) center/cover no-repeat; }
|
|
2336
2332
|
.chat-link .meta { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
|
|
2337
2333
|
.chat-link .host { font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3); text-transform: lowercase; }
|
|
2338
2334
|
.chat-link .title { font-weight: 600; font-size: var(--fs-sm); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
|
|
@@ -2356,7 +2352,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2356
2352
|
display: inline-flex; align-items: center; gap: 4px;
|
|
2357
2353
|
padding: 2px 8px; background: var(--bg-2);
|
|
2358
2354
|
border: 1px solid color-mix(in oklab, var(--fg) 10%, transparent);
|
|
2359
|
-
border-radius:
|
|
2355
|
+
border-radius: var(--r-pill); font-size: var(--fs-xs);
|
|
2360
2356
|
cursor: pointer; user-select: none;
|
|
2361
2357
|
transition: background var(--dur-snap, .12s) var(--ease, ease), border-color var(--dur-snap, .12s) var(--ease, ease), transform 0.12s ease;
|
|
2362
2358
|
position: relative;
|
|
@@ -2477,7 +2473,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2477
2473
|
.chat-composer .send:active { filter: brightness(0.94); }
|
|
2478
2474
|
.chat-composer .send:focus-visible,
|
|
2479
2475
|
.composer-btn:focus-visible {
|
|
2480
|
-
outline: 2px solid var(--accent);
|
|
2476
|
+
outline: 2px solid var(--accent-ink);
|
|
2481
2477
|
outline-offset: 2px;
|
|
2482
2478
|
}
|
|
2483
2479
|
.chat-composer .send:disabled {
|
|
@@ -2589,8 +2585,13 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
|
|
|
2589
2585
|
Component States — Disabled, Loading, Error, Success
|
|
2590
2586
|
-------------------------------------------------------------- */
|
|
2591
2587
|
|
|
2592
|
-
/* Disabled state for all interactive elements
|
|
2588
|
+
/* Disabled state for all interactive elements. The `.is-disabled` class
|
|
2589
|
+
variants cover Btn()'s anchor-rendered case (shell.js) — an <a> has no
|
|
2590
|
+
:disabled pseudo-class, so a disabled link-styled button relies entirely
|
|
2591
|
+
on this class selector for its visual treatment (aria-disabled + tabindex
|
|
2592
|
+
are set in JS; this is the paired CSS half). */
|
|
2593
2593
|
.btn:disabled, .btn-primary:disabled, .btn-ghost:disabled,
|
|
2594
|
+
.btn.is-disabled, .btn-primary.is-disabled, .btn-ghost.is-disabled,
|
|
2594
2595
|
button:disabled, [disabled] {
|
|
2595
2596
|
opacity: 0.6;
|
|
2596
2597
|
cursor: not-allowed;
|
|
@@ -2927,7 +2928,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
2927
2928
|
|
|
2928
2929
|
/* Base focus-visible: 2px ring + 2px offset clears dark bg-3 surfaces (WCAG 1.4.11) */
|
|
2929
2930
|
:focus-visible {
|
|
2930
|
-
outline: 2px solid var(--accent);
|
|
2931
|
+
outline: 2px solid var(--accent-ink);
|
|
2931
2932
|
outline-offset: 2px;
|
|
2932
2933
|
}
|
|
2933
2934
|
|
|
@@ -2937,7 +2938,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
2937
2938
|
[role="tab"]:focus-visible,
|
|
2938
2939
|
.row:focus-visible,
|
|
2939
2940
|
.row[tabindex]:focus-visible {
|
|
2940
|
-
outline: 2px solid var(--accent);
|
|
2941
|
+
outline: 2px solid var(--accent-ink);
|
|
2941
2942
|
outline-offset: 2px;
|
|
2942
2943
|
}
|
|
2943
2944
|
|
|
@@ -3327,7 +3328,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3327
3328
|
border-radius: var(--r-1, 6px);
|
|
3328
3329
|
cursor: pointer;
|
|
3329
3330
|
}
|
|
3330
|
-
.app-side-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
3331
|
+
.app-side-toggle:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
|
|
3331
3332
|
@container (max-width: 900px) {
|
|
3332
3333
|
.app-side-toggle { display: inline-flex; }
|
|
3333
3334
|
.app-topbar .brand { margin-left: 44px; }
|
|
@@ -3417,7 +3418,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3417
3418
|
.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; }
|
|
3418
3419
|
.ws-resizer::after { content: ""; display: block; width: 2px; height: 100%; margin: 0 auto; background: transparent; transition: background var(--dur-snap) var(--ease); }
|
|
3419
3420
|
.ws-resizer:hover::after, .ws-resizer:focus-visible::after { background: var(--accent); }
|
|
3420
|
-
.ws-resizer:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
|
|
3421
|
+
.ws-resizer:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: -2px; }
|
|
3421
3422
|
.ws-resizer.ws-resizer-rail { grid-column: 1; }
|
|
3422
3423
|
.ws-resizer.ws-resizer-sessions { grid-column: 2; }
|
|
3423
3424
|
.ws-resizer.ws-resizer-pane { grid-column: 3; justify-self: end; }
|
|
@@ -3469,7 +3470,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3469
3470
|
border-radius: var(--r-1); cursor: pointer;
|
|
3470
3471
|
}
|
|
3471
3472
|
.ws-rail-toggle:hover { background: var(--bg-3); color: var(--fg); }
|
|
3472
|
-
.ws-rail-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
3473
|
+
.ws-rail-toggle:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
|
|
3473
3474
|
.ws-rail-inner { display: flex; flex-direction: column; min-height: 0; flex: 1; padding: var(--space-3) var(--space-2); gap: var(--space-2); }
|
|
3474
3475
|
.ws-rail-head { display: flex; align-items: center; min-height: 36px; padding: 0 var(--space-2); }
|
|
3475
3476
|
.ws-rail-brand { font-family: var(--ff-body); font-weight: 600; font-size: var(--fs-body); color: var(--fg); white-space: nowrap; overflow: hidden; }
|
|
@@ -3482,7 +3483,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3482
3483
|
min-height: 40px; white-space: nowrap; overflow: hidden;
|
|
3483
3484
|
}
|
|
3484
3485
|
.ws-rail-action:hover { filter: brightness(1.08); }
|
|
3485
|
-
.ws-rail-action:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
3486
|
+
.ws-rail-action:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
|
|
3486
3487
|
.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; }
|
|
3487
3488
|
.ws-rail-item {
|
|
3488
3489
|
display: flex; align-items: center; gap: var(--space-2);
|
|
@@ -3492,7 +3493,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3492
3493
|
font-family: var(--ff-body); font-size: var(--fs-sm); white-space: nowrap; overflow: hidden;
|
|
3493
3494
|
}
|
|
3494
3495
|
.ws-rail-item:hover { background: var(--bg-3); color: var(--fg); }
|
|
3495
|
-
.ws-rail-item:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
|
|
3496
|
+
.ws-rail-item:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: -2px; }
|
|
3496
3497
|
.ws-rail-item.active { background: var(--accent-tint); color: var(--fg); box-shadow: inset 2px 0 0 var(--accent); }
|
|
3497
3498
|
.ws-rail-item-label { flex: 1; overflow: hidden; text-overflow: ellipsis; }
|
|
3498
3499
|
.ws-rail-item-count { font-family: var(--ff-mono); font-size: var(--fs-tiny); color: var(--fg-3); }
|
|
@@ -3565,7 +3566,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3565
3566
|
/* Desktop-only chrome toggle (sessions collapse): inverse of the mobile drawer-toggle. */
|
|
3566
3567
|
.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); }
|
|
3567
3568
|
.ws-desktop-toggle:hover { background: var(--bg-2); color: var(--fg); }
|
|
3568
|
-
.ws-desktop-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
3569
|
+
.ws-desktop-toggle:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
|
|
3569
3570
|
@media (max-width: 900px) { .ws-desktop-toggle { display: none; } }
|
|
3570
3571
|
/* The pane collapse toggle is meaningless once the pane TRACK is dropped (the
|
|
3571
3572
|
pane becomes a mobile overlay drawer at <=1480px, reached via its own
|
|
@@ -3689,7 +3690,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3689
3690
|
.ws-crumb .app-crumb .crumb-right { margin-left: 0; flex-wrap: wrap; min-width: 0; display: inline-flex; }
|
|
3690
3691
|
}
|
|
3691
3692
|
.ws-drawer-toggle:hover { background: var(--bg-2); color: var(--fg); }
|
|
3692
|
-
.ws-drawer-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
3693
|
+
.ws-drawer-toggle:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
|
|
3693
3694
|
|
|
3694
3695
|
@media (prefers-reduced-motion: reduce) {
|
|
3695
3696
|
.ws-shell, .ws-rail, .ws-pane, .ws-sessions, .ws-scrim { transition: none; }
|
|
@@ -3701,7 +3702,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3701
3702
|
============================================================ */
|
|
3702
3703
|
|
|
3703
3704
|
/* Highlighted match inside a Row title (Row `highlight` prop). */
|
|
3704
|
-
.ds-hl { background: color-mix(in oklab, var(--accent) 25%, transparent); color: inherit; border-radius:
|
|
3705
|
+
.ds-hl { background: color-mix(in oklab, var(--accent) 25%, transparent); color: inherit; border-radius: var(--r-hair); }
|
|
3705
3706
|
|
|
3706
3707
|
/* Action strip rendered inside an EXPANDED Row (Row `actions` prop). The
|
|
3707
3708
|
buttons stop propagation so they never fire the row onClick. */
|
|
@@ -3714,20 +3715,20 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3714
3715
|
transition: background var(--dur-snap) var(--ease), color var(--dur-snap) var(--ease);
|
|
3715
3716
|
}
|
|
3716
3717
|
.row-act:hover { background: var(--bg-3); color: var(--fg); }
|
|
3717
|
-
.row-act:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
3718
|
+
.row-act:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 1px; }
|
|
3718
3719
|
|
|
3719
3720
|
/* FilterPills - a group of pill toggle buttons (aria-pressed). */
|
|
3720
3721
|
.ds-filter-pills { display: flex; flex-wrap: wrap; gap: var(--space-2); }
|
|
3721
3722
|
.ds-filter-pill {
|
|
3722
3723
|
display: inline-flex; align-items: center; justify-content: center;
|
|
3723
3724
|
padding: 4px 12px; min-height: 28px;
|
|
3724
|
-
background: var(--bg-2); border: var(--bw-hair) solid var(--bg-3); border-radius:
|
|
3725
|
+
background: var(--bg-2); border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-pill);
|
|
3725
3726
|
color: var(--fg-2); font-family: var(--ff-body); font-size: var(--fs-tiny); cursor: pointer;
|
|
3726
3727
|
transition: background var(--dur-snap) var(--ease), color var(--dur-snap) var(--ease);
|
|
3727
3728
|
}
|
|
3728
3729
|
.ds-filter-pill:hover { background: var(--bg-3); color: var(--fg); }
|
|
3729
3730
|
.ds-filter-pill.active { background: var(--accent-tint); color: var(--fg); border-color: var(--accent); }
|
|
3730
|
-
.ds-filter-pill:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
3731
|
+
.ds-filter-pill:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 1px; }
|
|
3731
3732
|
|
|
3732
3733
|
/* Touch floor for the new small controls. */
|
|
3733
3734
|
@media (pointer: coarse) {
|
|
@@ -3737,7 +3738,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3737
3738
|
/* Disabled file actions (read-only row / in-flight mutation) stay visible but inert. */
|
|
3738
3739
|
.ds-file-act:disabled { opacity: .45; cursor: default; }
|
|
3739
3740
|
.ds-file-act:disabled:hover { background: transparent; color: var(--fg-3); }
|
|
3740
|
-
.ds-file-act:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
3741
|
+
.ds-file-act:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 1px; }
|
|
3741
3742
|
|
|
3742
3743
|
/* ============================================================
|
|
3743
3744
|
Print — linearize WorkspaceShell so main content prints in full.
|
|
@@ -3788,7 +3789,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3788
3789
|
/* PhaseWalk */
|
|
3789
3790
|
.ds-phasewalk { display: inline-flex; gap: 2px; vertical-align: middle; }
|
|
3790
3791
|
.ds-phasewalk-seg {
|
|
3791
|
-
width: 18px; height: 10px; border-radius:
|
|
3792
|
+
width: 18px; height: 10px; border-radius: var(--r-hair);
|
|
3792
3793
|
background: var(--bg-3); position: relative;
|
|
3793
3794
|
}
|
|
3794
3795
|
.ds-phasewalk-seg.is-reached { background: var(--success); }
|
|
@@ -3827,8 +3828,8 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3827
3828
|
/* BarRow */
|
|
3828
3829
|
.ds-bar-row { display: flex; align-items: center; gap: 8px; margin: 3px 0; font-size: var(--fs-tiny); }
|
|
3829
3830
|
.ds-bar-row-label { width: 100px; flex-shrink: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
3830
|
-
.ds-bar-bg { flex: 1; min-width: 60px; background: var(--bg-3); border-radius:
|
|
3831
|
-
.ds-bar-fill { background: var(--accent); height: 100%; border-radius:
|
|
3831
|
+
.ds-bar-bg { flex: 1; min-width: 60px; background: var(--bg-3); border-radius: var(--r-hair); height: 6px; overflow: hidden; }
|
|
3832
|
+
.ds-bar-fill { background: var(--accent); height: 100%; border-radius: var(--r-hair); }
|
|
3832
3833
|
.ds-bar-row-value { flex-shrink: 0; color: var(--fg-2); max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
3833
3834
|
@media (max-width: 400px) {
|
|
3834
3835
|
.ds-bar-row-label { width: 72px; }
|
|
@@ -3843,7 +3844,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3843
3844
|
.ds-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-1); }
|
|
3844
3845
|
}
|
|
3845
3846
|
.ds-stats-grid-empty { padding: var(--space-3); color: var(--fg-3); font-size: var(--fs-tiny); }
|
|
3846
|
-
.ds-stat { min-width: 0; background: var(--bg-3); border-radius:
|
|
3847
|
+
.ds-stat { min-width: 0; background: var(--bg-3); border-radius: var(--r-0); padding: 10px 12px; }
|
|
3847
3848
|
.ds-stat-val { font-size: clamp(18px, 5cqi, 22px); font-weight: 700; color: var(--accent-ink); overflow-wrap: anywhere; }
|
|
3848
3849
|
.ds-stat-val.rate-big { font-size: clamp(24px, 7cqi, 32px); color: var(--success); }
|
|
3849
3850
|
.ds-stat-val.err-rate { font-size: clamp(24px, 7cqi, 32px); color: var(--warn); }
|
|
@@ -3854,7 +3855,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3854
3855
|
.ds-sub-grid-empty { padding: var(--space-3); color: var(--fg-3); font-size: var(--fs-tiny); }
|
|
3855
3856
|
.ds-sub-btn {
|
|
3856
3857
|
padding: 6px 10px; background: var(--bg-3); border: var(--bw-hair) solid var(--bg-3);
|
|
3857
|
-
border-radius:
|
|
3858
|
+
border-radius: var(--r-0); font-size: var(--fs-tiny); cursor: pointer; color: var(--fg);
|
|
3858
3859
|
text-align: left; font-family: var(--ff-body);
|
|
3859
3860
|
}
|
|
3860
3861
|
.ds-sub-btn:hover { border-color: var(--accent); color: var(--accent-ink); }
|
|
@@ -3885,7 +3886,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3885
3886
|
/* DevRow */
|
|
3886
3887
|
.ds-dev-row {
|
|
3887
3888
|
background: var(--danger-surface); border-left: var(--bw-chunk) solid var(--warn);
|
|
3888
|
-
padding: 8px 12px; margin: 4px 0; border-radius:
|
|
3889
|
+
padding: 8px 12px; margin: 4px 0; border-radius: var(--r-hair); font-size: var(--fs-tiny);
|
|
3889
3890
|
}
|
|
3890
3891
|
.ds-dev-row strong { color: var(--warn); }
|
|
3891
3892
|
|
|
@@ -3905,7 +3906,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3905
3906
|
.ds-live-log-entry { padding: 2px 8px; border-bottom: var(--bw-hair) solid var(--bg-3); overflow-wrap: anywhere; }
|
|
3906
3907
|
.ds-live-log-entry:hover { background: var(--bg-3); }
|
|
3907
3908
|
.ds-live-log-ts { margin-right: 6px; color: var(--fg-3); }
|
|
3908
|
-
.ds-live-log-subtag { margin-right: 6px; padding: 0 5px; border-radius:
|
|
3909
|
+
.ds-live-log-subtag { margin-right: 6px; padding: 0 5px; border-radius: var(--r-hair); font-size: var(--fs-micro); }
|
|
3909
3910
|
.ds-live-log-preview { margin-left: 6px; color: var(--fg-3); word-break: break-word; }
|
|
3910
3911
|
|
|
3911
3912
|
/* Touch floors for the dense controls (not covered by the mobile width blocks). */
|
|
@@ -3941,6 +3942,13 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3941
3942
|
@media (max-width: 760px) {
|
|
3942
3943
|
.ds-panel-duo { grid-template-columns: 1fr; }
|
|
3943
3944
|
}
|
|
3945
|
+
/* Wide-viewport density: auto-fit grid so panel COUNT tracks actual children
|
|
3946
|
+
instead of a hardcoded column number — 2 children sit 2-up, 5 wrap to a
|
|
3947
|
+
third row, never an arbitrary 3-card reflex (same auto-fit/minmax pattern
|
|
3948
|
+
as .ds-tile-grid). Panels floor at 280px before wrapping, so ultra-wide
|
|
3949
|
+
screens still get more columns than a fixed repeat(3, ...) ever allowed. */
|
|
3950
|
+
.ds-panel-trio { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: var(--space-2); margin: var(--space-2) 0; }
|
|
3951
|
+
.ds-panel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: var(--space-2); margin: var(--space-2) 0; }
|
|
3944
3952
|
/* wide dense rows/tables scroll inside their panel, never the page */
|
|
3945
3953
|
.ds-scroll-x { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
|
|
3946
3954
|
|
|
@@ -3951,7 +3959,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
3951
3959
|
max-width: min(1100px, 100%);
|
|
3952
3960
|
margin: var(--space-3) auto;
|
|
3953
3961
|
background: var(--bg-2);
|
|
3954
|
-
border-radius:
|
|
3962
|
+
border-radius: var(--r-2);
|
|
3955
3963
|
padding: clamp(16px, 5vw, 64px);
|
|
3956
3964
|
box-sizing: border-box;
|
|
3957
3965
|
display: flex;
|
|
@@ -4013,7 +4021,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4013
4021
|
.ds-slide-split { grid-template-columns: 1fr; }
|
|
4014
4022
|
}
|
|
4015
4023
|
.ds-slide-split-cell {
|
|
4016
|
-
padding: 18px; background: var(--bg-2); border-radius:
|
|
4024
|
+
padding: 18px; background: var(--bg-2); border-radius: var(--r-2);
|
|
4017
4025
|
color: var(--fg-2); font-size: var(--fs-lg); line-height: var(--lh-base); min-width: 0;
|
|
4018
4026
|
}
|
|
4019
4027
|
.ds-slide-split-cell--accent { border-left: 3px solid var(--slide-accent, var(--accent)); }
|
|
@@ -4030,7 +4038,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4030
4038
|
.ds-err-path {
|
|
4031
4039
|
display: inline-flex; gap: 6px; align-items: baseline; flex-wrap: wrap; max-width: 100%;
|
|
4032
4040
|
font-family: var(--ff-mono); font-size: 13px; color: var(--panel-text-2);
|
|
4033
|
-
background: var(--panel-1); padding: 6px 12px; border-radius:
|
|
4041
|
+
background: var(--panel-1); padding: 6px 12px; border-radius: var(--r-0);
|
|
4034
4042
|
overflow-wrap: anywhere; word-break: break-all;
|
|
4035
4043
|
}
|
|
4036
4044
|
|
|
@@ -4046,10 +4054,15 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4046
4054
|
}
|
|
4047
4055
|
.ds-gallery-tile {
|
|
4048
4056
|
cursor: pointer; display: flex; flex-direction: column; gap: 6px;
|
|
4049
|
-
padding: 12px; border-radius:
|
|
4057
|
+
padding: 12px; border-radius: var(--r-1); min-height: clamp(120px, 18vw, 160px);
|
|
4050
4058
|
border: 0; text-align: left; font: inherit; color: inherit;
|
|
4051
4059
|
background: var(--tile-tone, var(--panel-1));
|
|
4060
|
+
transition: transform var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);
|
|
4052
4061
|
}
|
|
4062
|
+
/* Flat tonal fill only (house style: no bespoke tile chrome, no borders — see
|
|
4063
|
+
.ds-feature above), so the hover affordance is a lift, matching the same
|
|
4064
|
+
translateY + shadow idiom .chat-msg:hover .chat-bubble already uses. */
|
|
4065
|
+
.ds-gallery-tile:hover { transform: translateY(-2px); box-shadow: 0 2px 8px color-mix(in oklab, var(--fg) 10%, transparent); }
|
|
4053
4066
|
.ds-gallery-tile:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
|
|
4054
4067
|
.ds-gallery-tile--tight { min-height: clamp(96px, 14vw, 120px); }
|
|
4055
4068
|
.ds-lightbox {
|
|
@@ -4060,7 +4073,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4060
4073
|
z-index: 50;
|
|
4061
4074
|
}
|
|
4062
4075
|
.ds-lightbox-card {
|
|
4063
|
-
background: var(--panel-0); border-radius:
|
|
4076
|
+
background: var(--panel-0); border-radius: var(--r-2); padding: clamp(16px, 4vw, 28px);
|
|
4064
4077
|
width: min(520px, 100%); min-width: 0;
|
|
4065
4078
|
max-height: calc(100vh - 24px);
|
|
4066
4079
|
max-height: calc(100dvh - 24px);
|
|
@@ -4068,7 +4081,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4068
4081
|
display: flex; flex-direction: column; gap: 14px;
|
|
4069
4082
|
}
|
|
4070
4083
|
.ds-lightbox-preview {
|
|
4071
|
-
padding: clamp(16px, 6vw, 36px); border-radius:
|
|
4084
|
+
padding: clamp(16px, 6vw, 36px); border-radius: var(--r-1); text-align: center;
|
|
4072
4085
|
font-family: var(--ff-mono); white-space: pre-line; font-size: clamp(16px, 5vw, 24px);
|
|
4073
4086
|
background: var(--tile-tone, var(--panel-1));
|
|
4074
4087
|
}
|
|
@@ -4090,7 +4103,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4090
4103
|
}
|
|
4091
4104
|
.ds-swatch-grid-lg { grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr)); }
|
|
4092
4105
|
.ds-swatch-col { display: flex; flex-direction: column; gap: 6px; }
|
|
4093
|
-
.ds-swatch-chip { height: 48px; border-radius:
|
|
4106
|
+
.ds-swatch-chip { height: 48px; border-radius: var(--r-1); border: 1px solid var(--rule); background: var(--swatch, var(--panel-1)); }
|
|
4094
4107
|
.ds-swatch-chip--big { height: 64px; }
|
|
4095
4108
|
.ds-swatch-name { font-family: var(--ff-mono); font-size: 11px; color: var(--fg-3); }
|
|
4096
4109
|
.ds-type-panel { padding: clamp(10px, 2.5vw, 14px) clamp(10px, 3vw, 18px); display: flex; flex-direction: column; gap: 14px; }
|
|
@@ -4152,14 +4165,14 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4152
4165
|
.ds-savebar {
|
|
4153
4166
|
position: sticky; bottom: 8px; display: flex; align-items: center;
|
|
4154
4167
|
justify-content: flex-end; gap: 8px; flex-wrap: wrap; padding: 10px;
|
|
4155
|
-
background: var(--panel-2); border-radius:
|
|
4168
|
+
background: var(--panel-2); border-radius: var(--r-1); margin: 8px 0;
|
|
4156
4169
|
}
|
|
4157
4170
|
.ds-savebar-note { flex: 1 1 160px; min-width: 0; color: var(--panel-text-2); }
|
|
4158
4171
|
.ds-settings-modal { min-width: min(320px, calc(100vw - 32px)); max-width: 480px; }
|
|
4159
4172
|
.ds-modal-body-form { padding: 16px; display: flex; flex-direction: column; gap: 12px; }
|
|
4160
4173
|
.ds-modal-note { margin: 0 0 8px; color: var(--panel-text-2); font-size: 14px; }
|
|
4161
4174
|
.ds-draft-preview {
|
|
4162
|
-
background: var(--panel-1); padding: 12px; border-radius:
|
|
4175
|
+
background: var(--panel-1); padding: 12px; border-radius: var(--r-0);
|
|
4163
4176
|
font-size: 13px; color: var(--panel-text-2); max-height: 120px;
|
|
4164
4177
|
overflow-y: auto; font-family: var(--ff-mono); overflow-wrap: anywhere;
|
|
4165
4178
|
}
|
|
@@ -4180,7 +4193,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4180
4193
|
.ds-auth-remember { display: flex; align-items: center; gap: 6px; cursor: pointer; }
|
|
4181
4194
|
.ds-auth-remember-text { color: var(--panel-text-2); font-size: 13px; }
|
|
4182
4195
|
.ds-auth-forgot { font-size: 13px; }
|
|
4183
|
-
.ds-auth-error { padding: 8px 10px; background: var(--panel-1); border-radius:
|
|
4196
|
+
.ds-auth-error { padding: 8px 10px; background: var(--panel-1); border-radius: var(--r-0); color: var(--danger); font-size: 13px; overflow-wrap: anywhere; }
|
|
4184
4197
|
.ds-auth-divider { display: flex; align-items: center; gap: 10px; margin: 6px 0; color: var(--panel-text-3); font-size: 12px; }
|
|
4185
4198
|
.ds-auth-divider-line { flex: 1; height: 1px; background: var(--panel-2); }
|
|
4186
4199
|
.ds-auth-providers { display: flex; gap: 8px; flex-wrap: wrap; }
|
|
@@ -4204,7 +4217,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4204
4217
|
.ds-tile-meta { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 12px; flex-wrap: wrap; min-width: 0; }
|
|
4205
4218
|
.ds-tile-glyph { font-family: var(--ff-mono); color: var(--panel-text-3); }
|
|
4206
4219
|
.ds-tile-label { color: var(--panel-text); overflow-wrap: anywhere; }
|
|
4207
|
-
.ds-gal-swatch { height: 64px; border-radius:
|
|
4220
|
+
.ds-gal-swatch { height: 64px; border-radius: var(--r-0); background: var(--swatch, var(--panel-1)); }
|
|
4208
4221
|
.ds-gal-swatch-meta { display: flex; justify-content: space-between; gap: 6px; flex-wrap: wrap; font-family: var(--ff-mono); font-size: 11px; min-width: 0; }
|
|
4209
4222
|
.ds-gal-swatch-name { color: var(--panel-text); }
|
|
4210
4223
|
.ds-gal-swatch-hint { color: var(--panel-text-3); overflow-wrap: anywhere; }
|
|
@@ -4225,7 +4238,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
|
|
|
4225
4238
|
.ds-cli-warn .prompt, .ds-cli-warn .cmd { color: var(--mascot); }
|
|
4226
4239
|
.ds-cli-log .prompt { color: var(--fg-3); }
|
|
4227
4240
|
.ds-cli-log .cmd { color: var(--fg-2); font-family: var(--ff-mono); }
|
|
4228
|
-
.ds-term-body { padding: 14px 18px; display: flex; flex-direction: column; gap: 4px; background: var(--bg-2); border-radius:
|
|
4241
|
+
.ds-term-body { padding: 14px 18px; display: flex; flex-direction: column; gap: 4px; background: var(--bg-2); border-radius: var(--r-1); }
|
|
4229
4242
|
.ds-term-body--tall { min-height: 280px; }
|
|
4230
4243
|
.ds-term-input-row { margin-top: 6px; }
|
|
4231
4244
|
.ds-term-input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; font-family: var(--ff-mono); font-size: 13px; color: var(--fg); }
|