anentrypoint-design 0.0.481 → 0.0.483
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/chat.css +7 -7
- package/colors_and_type.css +11 -0
- package/community.css +12 -10
- package/dist/247420.css +155 -103
- package/dist/247420.js +22 -22
- package/package.json +1 -1
- package/src/css/app-shell/chat-polish.css +1 -1
- package/src/css/app-shell/data-density.css +0 -4
- package/src/css/app-shell/files.css +1 -1
- package/src/css/app-shell/hero-content.css +5 -6
- package/src/css/app-shell/loading-alerts.css +10 -5
- package/src/css/app-shell/plugins-config.css +6 -5
- package/src/css/app-shell/primitives.css +25 -6
- package/src/css/app-shell/responsive.css +4 -4
- package/src/css/app-shell/responsive2-workspace.css +7 -1
- package/src/css/app-shell/row-print.css +1 -1
- package/src/css/app-shell/topbar.css +16 -3
- package/src/kits/spoint/host-join-lobby.css +4 -4
package/dist/247420.css
CHANGED
|
@@ -401,6 +401,17 @@
|
|
|
401
401
|
--sidebar-width: 220px;
|
|
402
402
|
--sidebar-width-collapsed: 64px;
|
|
403
403
|
|
|
404
|
+
/* Canonical breakpoint values — @media can't reference custom properties,
|
|
405
|
+
so these are documented here (not tokenized) for consistency across
|
|
406
|
+
responsive.css/responsive2-workspace.css/hero-content.css:
|
|
407
|
+
- 480px (max-width) mobile portrait
|
|
408
|
+
- 768px (max-width) mobile/tablet boundary, compact nav/sidebar collapse
|
|
409
|
+
- 768-1024px (min/max-width) tablet landscape band
|
|
410
|
+
- 900px (max-width) / 901px (min-width) tablet/desktop layout reflow
|
|
411
|
+
- 1025px (min-width) desktop
|
|
412
|
+
Always use these exact values; a near-miss (e.g. 760px, 481px) should be
|
|
413
|
+
aligned to its canonical neighbour when touched. */
|
|
414
|
+
|
|
404
415
|
--lh-tall: 1.4;
|
|
405
416
|
|
|
406
417
|
/* Control size scale — heights for status/topbar/crumb + controls. */
|
|
@@ -1356,13 +1367,26 @@
|
|
|
1356
1367
|
.ds-247420 .app-main > .ds-file-stage,
|
|
1357
1368
|
.ds-247420 .app-main > .ds-files-stack,
|
|
1358
1369
|
.ds-247420 .app-main > .grow { flex: 1 1 auto; min-height: 0; }
|
|
1359
|
-
|
|
1370
|
+
/* width:100% is load-bearing, not redundant with max-width: .app-body is a
|
|
1371
|
+
CSS grid, and margin:auto on a grid item overrides the default stretch,
|
|
1372
|
+
shrinking the item to its max-content width instead of filling the track
|
|
1373
|
+
and then clamping -- confirmed live at 2560px viewport where mainWidth
|
|
1374
|
+
measured 688px against a correctly-resolved 1400px max-width. Explicit
|
|
1375
|
+
width:100% restores fill-then-cap for every .narrow page, not just wide
|
|
1376
|
+
viewports (the shrink-to-fit bug undersized even the base 760px case). */
|
|
1377
|
+
.ds-247420 .app-main.narrow { width: 100%; max-width: var(--measure-narrow); margin: 0 auto; }
|
|
1360
1378
|
/* A shell with no sidebar has no competing column, so the prose clamp there was
|
|
1361
1379
|
leaving the whole sidebar's worth of width empty -- 760px of content inside a
|
|
1362
1380
|
1413px shell on a real page. Widen the clamp by the space the absent sidebar
|
|
1363
|
-
would have taken so the measure still reads as prose, just not starved.
|
|
1381
|
+
would have taken so the measure still reads as prose, just not starved.
|
|
1382
|
+
The floor stays a fixed 980px (no-side is still readable narrow); the
|
|
1383
|
+
ceiling grows with viewport instead of staying pinned at 980px forever --
|
|
1384
|
+
on a 2560px ultrawide the old fixed value left over half the shell as dead
|
|
1385
|
+
side margin. 1400px ceiling keeps prose measure sane (nobody wants a
|
|
1386
|
+
2400px-wide paragraph) while letting non-prose content (index rows, meta)
|
|
1387
|
+
actually use the extra room. */
|
|
1364
1388
|
.ds-247420 .app-body.no-side .app-main.narrow {
|
|
1365
|
-
max-width: calc(var(--measure-narrow) + var(--sidebar-width));
|
|
1389
|
+
max-width: clamp(calc(var(--measure-narrow) + var(--sidebar-width)), 60vw, 1400px);
|
|
1366
1390
|
}
|
|
1367
1391
|
/* Article-body heading rhythm and lede spacing, consumed by flatspace-rendered
|
|
1368
1392
|
long-form pages (docs, papers) that drop headings/panels directly into .app-main. */
|
|
@@ -1490,6 +1514,9 @@
|
|
|
1490
1514
|
padding: 0 var(--space-4); font-size: var(--fs-body); gap: var(--space-2);
|
|
1491
1515
|
}
|
|
1492
1516
|
|
|
1517
|
+
/* App chrome is compact/dense (see --fs-h1-app etc in colors_and_type.css) --
|
|
1518
|
+
the marketing-scale hover lift/shadow reads as an oversized flourish at
|
|
1519
|
+
this density, so app-typescale buttons opt out of it deliberately. */
|
|
1493
1520
|
.ds-247420[data-typescale="app"] .btn:hover,
|
|
1494
1521
|
.ds-247420[data-typescale="app"] .btn-primary:hover,
|
|
1495
1522
|
.ds-247420[data-typescale="app"] .btn-ghost:hover { transform: none; box-shadow: none; }
|
|
@@ -1503,7 +1530,7 @@
|
|
|
1503
1530
|
.ds-247420 .ds-icon-btn {
|
|
1504
1531
|
display: inline-flex; align-items: center; justify-content: center;
|
|
1505
1532
|
padding: 0; border: none; cursor: pointer;
|
|
1506
|
-
border-radius: var(--r-1,
|
|
1533
|
+
border-radius: var(--r-1, 8px);
|
|
1507
1534
|
background: transparent; color: var(--fg);
|
|
1508
1535
|
width: 32px; height: 32px;
|
|
1509
1536
|
transition: background var(--dur-snap) var(--ease), color var(--dur-snap) var(--ease);
|
|
@@ -1535,7 +1562,7 @@
|
|
|
1535
1562
|
border-radius: var(--r-pill);
|
|
1536
1563
|
background: var(--bg-3); color: var(--fg-2);
|
|
1537
1564
|
}
|
|
1538
|
-
.ds-247420 .ds-badge.ds-badge--sm { min-width:
|
|
1565
|
+
.ds-247420 .ds-badge.ds-badge--sm { min-width: var(--icon-xs); height: var(--icon-xs); padding: 0 var(--space-1); font-size: var(--fs-pico); }
|
|
1539
1566
|
.ds-247420 .ds-badge.ds-badge--lg { min-width: 22px; height: 22px; padding: 0 var(--space-2); font-size: var(--fs-tiny); }
|
|
1540
1567
|
.ds-247420 .ds-badge.tone-green, .ds-247420 .ds-badge.tone-live, .ds-247420 .ds-badge.tone-success {
|
|
1541
1568
|
background: var(--green-tint); color: var(--green-deep);
|
|
@@ -1552,7 +1579,7 @@
|
|
|
1552
1579
|
background: var(--sun); color: var(--ink);
|
|
1553
1580
|
}
|
|
1554
1581
|
.ds-247420 .ds-badge.tone-blue { background: var(--accent-tint); color: var(--accent-ink); }
|
|
1555
|
-
.ds-247420 .ds-badge.tone-orange { background: color-mix(in oklab, var(--flame) 22%, var(--bg)); color:
|
|
1582
|
+
.ds-247420 .ds-badge.tone-orange { background: color-mix(in oklab, var(--flame) 22%, var(--bg)); color: var(--flame); }
|
|
1556
1583
|
|
|
1557
1584
|
.ds-247420 .chip {
|
|
1558
1585
|
display: inline-flex; align-items: center; gap: var(--space-1-75);
|
|
@@ -1603,10 +1630,10 @@
|
|
|
1603
1630
|
cursor: pointer;
|
|
1604
1631
|
}
|
|
1605
1632
|
.ds-247420 .ds-chip-remove-btn:hover, .ds-247420 .ds-chip-remove-btn:focus-visible { opacity: 1; background: color-mix(in oklab, currentColor 16%, transparent); }
|
|
1606
|
-
.ds-247420 .ds-chip-remove-btn svg { width:
|
|
1633
|
+
.ds-247420 .ds-chip-remove-btn svg { width: var(--icon-xs); height: var(--icon-xs); }
|
|
1607
1634
|
@media (pointer: coarse) {
|
|
1608
1635
|
.ds-247420 .ds-chip-remove-btn { width: 24px; height: 24px; margin-left: 0; }
|
|
1609
|
-
.ds-247420 .ds-chip-remove-btn svg { width:
|
|
1636
|
+
.ds-247420 .ds-chip-remove-btn svg { width: var(--icon-xs); height: var(--icon-xs); }
|
|
1610
1637
|
}
|
|
1611
1638
|
|
|
1612
1639
|
.ds-247420 .ds-pill {
|
|
@@ -1631,9 +1658,25 @@
|
|
|
1631
1658
|
opacity: 0.8;
|
|
1632
1659
|
}
|
|
1633
1660
|
.ds-247420 .glyph { --glyph-size-sm: var(--fs-nano); --glyph-size-base: var(--fs-tiny); --glyph-size-lg: var(--fs-body); }
|
|
1634
|
-
.ds-247420 .glyph-sm { width:
|
|
1661
|
+
.ds-247420 .glyph-sm { width: var(--icon-xs); height: var(--icon-xs); }
|
|
1635
1662
|
.ds-247420 .glyph-lg { width: 22px; height: 22px; }
|
|
1636
1663
|
|
|
1664
|
+
/* Shared empty-state base -- hero-content.css's .empty and community.css's
|
|
1665
|
+
.fd-empty previously duplicated this full rule set; both are joined into
|
|
1666
|
+
this selector list so the shared declarations live in one place, with
|
|
1667
|
+
each keeping its own file-local rule for context-specific extras
|
|
1668
|
+
(background/radius/font-size for .empty; padding for .fd-empty). New
|
|
1669
|
+
consumers can add .ds-empty-state directly instead of a fresh copy. */
|
|
1670
|
+
.ds-247420 .ds-empty-state, .ds-247420 .empty, .ds-247420 .fd-empty {
|
|
1671
|
+
display: flex; flex-direction: column; align-items: center; justify-content: center;
|
|
1672
|
+
gap: var(--space-2);
|
|
1673
|
+
padding: var(--space-6) var(--space-3);
|
|
1674
|
+
text-align: center;
|
|
1675
|
+
color: var(--fg-3);
|
|
1676
|
+
}
|
|
1677
|
+
.ds-247420 .ds-empty-state--panel { background: var(--bg-2); border-radius: var(--r-1); }
|
|
1678
|
+
.ds-247420 .ds-empty-state--compact { padding: var(--space-5) var(--space-3); }
|
|
1679
|
+
|
|
1637
1680
|
/* ============================================================
|
|
1638
1681
|
Panel — soft tonal container, no border decoration
|
|
1639
1682
|
============================================================ */
|
|
@@ -2421,13 +2464,12 @@
|
|
|
2421
2464
|
/* ============================================================
|
|
2422
2465
|
Empty state
|
|
2423
2466
|
============================================================ */
|
|
2467
|
+
/* Shares its base declarations with .ds-empty-state (primitives.css) via the
|
|
2468
|
+
combined selector there -- .empty only adds its own font-size/background/
|
|
2469
|
+
radius modifiers on top. Was --space-8 (96px) padding; --space-6 (48px)
|
|
2470
|
+
still centres a message with air without the empty state dominating the
|
|
2471
|
+
fold. */
|
|
2424
2472
|
.ds-247420 .empty {
|
|
2425
|
-
/* Was --space-8 (96px) — an empty list spent 192px of vertical space on
|
|
2426
|
-
nothing. --space-6 (48px) still centres a message with air, without the
|
|
2427
|
-
empty state dominating the fold. Mobile drops it further (below). */
|
|
2428
|
-
padding: var(--space-6);
|
|
2429
|
-
text-align: center;
|
|
2430
|
-
color: var(--fg-3);
|
|
2431
2473
|
background: var(--bg-2);
|
|
2432
2474
|
border-radius: var(--r-1);
|
|
2433
2475
|
font-size: var(--fs-sm);
|
|
@@ -2478,9 +2520,9 @@
|
|
|
2478
2520
|
of this value, worth aligning to 768px when touched.
|
|
2479
2521
|
- Tablet/desktop boundary: 900px (max-width) / 901px (min-width) — used for
|
|
2480
2522
|
main layout reflow (hero-content.css, responsive2-workspace.css)
|
|
2481
|
-
-
|
|
2482
|
-
used in this file (responsive.css) for a specific tablet treatment
|
|
2483
|
-
|
|
2523
|
+
- Tablet landscape band: 768px–1024px (min-width 768px / max-width 1024px) —
|
|
2524
|
+
used in this file (responsive.css) for a specific tablet treatment;
|
|
2525
|
+
aligned to the 768px mobile/tablet boundary above (was 481px, a near-miss).
|
|
2484
2526
|
*/
|
|
2485
2527
|
|
|
2486
2528
|
/* --------------------------------------------------------------------
|
|
@@ -2660,7 +2702,7 @@
|
|
|
2660
2702
|
/* --------------------------------------------------------------------
|
|
2661
2703
|
Tablet Landscape Breakpoint (768px to 1024px)
|
|
2662
2704
|
---------------------------------------------------------------------- */
|
|
2663
|
-
@media (min-width:
|
|
2705
|
+
@media (min-width: 768px) and (max-width: 1024px) {
|
|
2664
2706
|
/* App Layout — side handled by 900px drawer block; restore for 901-1024 */
|
|
2665
2707
|
.ds-247420 .app-side a {
|
|
2666
2708
|
padding: var(--space-2-75) var(--space-2-75); gap: var(--space-2);
|
|
@@ -3248,7 +3290,7 @@
|
|
|
3248
3290
|
padding: var(--space-4) var(--space-3); text-align: center;
|
|
3249
3291
|
}
|
|
3250
3292
|
/* Icon size, not type — see .ds-file-cell-media .ds-file-icon above. */
|
|
3251
|
-
.ds-247420 .ds-dropzone-glyph { font-size:
|
|
3293
|
+
.ds-247420 .ds-dropzone-glyph { font-size: var(--icon-lg, 24px); color: var(--fg-3); }
|
|
3252
3294
|
.ds-247420 .ds-dropzone-label { font-size: var(--fs-sm); color: var(--fg-3); }
|
|
3253
3295
|
.ds-247420 .ds-dropzone.dragover {
|
|
3254
3296
|
border-color: var(--accent);
|
|
@@ -4111,7 +4153,7 @@
|
|
|
4111
4153
|
|
|
4112
4154
|
.ds-247420 .chat-typing { display: inline-flex; gap: var(--space-1); align-items: center; }
|
|
4113
4155
|
.ds-247420 .chat-typing span {
|
|
4114
|
-
width:
|
|
4156
|
+
width: 8px; height: 8px; border-radius: 50%; background: var(--fg-3);
|
|
4115
4157
|
}
|
|
4116
4158
|
|
|
4117
4159
|
@media (prefers-reduced-motion: no-preference) {
|
|
@@ -5242,13 +5284,13 @@
|
|
|
5242
5284
|
.ds-247420 .ds-spinner-lg { height: 24px; gap: var(--space-1-75); }
|
|
5243
5285
|
.ds-247420 .ds-spinner-lg span { width: var(--space-1-75); height: var(--space-1-75); }
|
|
5244
5286
|
|
|
5245
|
-
.ds-247420 .ds-spinner-sm { height:
|
|
5287
|
+
.ds-247420 .ds-spinner-sm { height: var(--space-2-5); gap: var(--space-hair); }
|
|
5246
5288
|
.ds-247420 .ds-spinner-sm span { width: var(--space-hair); height: var(--space-hair); }
|
|
5247
5289
|
|
|
5248
|
-
.ds-247420 .ds-spinner-xs { height:
|
|
5290
|
+
.ds-247420 .ds-spinner-xs { height: var(--space-2); gap: 1px; }
|
|
5249
5291
|
.ds-247420 .ds-spinner-xs span { width: 1.5px; height: 1.5px; }
|
|
5250
5292
|
|
|
5251
|
-
.ds-247420 .ds-spinner-xl { height:
|
|
5293
|
+
.ds-247420 .ds-spinner-xl { height: var(--space-5); gap: var(--space-2); }
|
|
5252
5294
|
.ds-247420 .ds-spinner-xl span { width: var(--space-2); height: var(--space-2); }
|
|
5253
5295
|
|
|
5254
5296
|
@keyframes ds-bounce {
|
|
@@ -5256,6 +5298,11 @@
|
|
|
5256
5298
|
40% { transform: translateY(-8px); }
|
|
5257
5299
|
}
|
|
5258
5300
|
|
|
5301
|
+
/* Two spinner visual languages coexist intentionally: dots (.ds-spinner*)
|
|
5302
|
+
are for small inline/compact loading states (buttons, chips, list rows),
|
|
5303
|
+
the ring (.loading::after in states-interactions.css) is for larger
|
|
5304
|
+
blocking/full-region loading states (panels, full views). */
|
|
5305
|
+
|
|
5259
5306
|
/* ============================================================
|
|
5260
5307
|
Skeleton — animated loading placeholder
|
|
5261
5308
|
============================================================ */
|
|
@@ -5299,7 +5346,7 @@
|
|
|
5299
5346
|
flex-shrink: 0;
|
|
5300
5347
|
color: var(--alert-tone);
|
|
5301
5348
|
font-weight: 600;
|
|
5302
|
-
min-width: var(--
|
|
5349
|
+
min-width: var(--icon-md);
|
|
5303
5350
|
text-align: center;
|
|
5304
5351
|
}
|
|
5305
5352
|
|
|
@@ -5330,7 +5377,7 @@
|
|
|
5330
5377
|
padding: 0;
|
|
5331
5378
|
font-size: var(--fs-xs);
|
|
5332
5379
|
line-height: 1;
|
|
5333
|
-
min-width: var(--
|
|
5380
|
+
min-width: var(--icon-md);
|
|
5334
5381
|
text-align: center;
|
|
5335
5382
|
transition: color var(--dur-snap) var(--ease);
|
|
5336
5383
|
}
|
|
@@ -5665,8 +5712,14 @@
|
|
|
5665
5712
|
because the chat thread carries its own --measure gutter. */
|
|
5666
5713
|
.ds-247420 .ws-main { flex: 1; min-height: 0; overflow: auto; display: flex; flex-direction: column; padding: var(--space-4) var(--space-5); }
|
|
5667
5714
|
.ds-247420 .ws-main.ws-main--flush { padding: 0; }
|
|
5668
|
-
/*
|
|
5715
|
+
/* Skip-link target (workspace-shell.js's "#ws-main" skip-link, tabindex="-1")
|
|
5716
|
+
— it does receive real keyboard-driven focus when the skip link is
|
|
5717
|
+
activated, so it needs a visible ring rather than a bare outline:none. */
|
|
5669
5718
|
.ds-247420 .ws-main:focus { outline: none; }
|
|
5719
|
+
.ds-247420 .ws-main:focus-visible {
|
|
5720
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
5721
|
+
outline-offset: calc(-1 * var(--focus-offset));
|
|
5722
|
+
}
|
|
5670
5723
|
|
|
5671
5724
|
/* Right context pane */
|
|
5672
5725
|
.ds-247420 .ws-pane {
|
|
@@ -5865,7 +5918,7 @@
|
|
|
5865
5918
|
}
|
|
5866
5919
|
|
|
5867
5920
|
/* Disabled file actions (read-only row / in-flight mutation) stay visible but inert. */
|
|
5868
|
-
.ds-247420 .ds-file-act:disabled { opacity: .
|
|
5921
|
+
.ds-247420 .ds-file-act:disabled { opacity: .5; cursor: default; }
|
|
5869
5922
|
.ds-247420 .ds-file-act:disabled:hover { background: transparent; color: var(--fg-3); }
|
|
5870
5923
|
.ds-247420 .ds-file-act:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
5871
5924
|
|
|
@@ -5949,10 +6002,6 @@
|
|
|
5949
6002
|
|
|
5950
6003
|
/* PhaseWalk */
|
|
5951
6004
|
.ds-247420 .ds-phasewalk { display: inline-flex; gap: var(--space-hair); vertical-align: middle; }
|
|
5952
|
-
/* NOTE: a second toggle-switch-shaped implementation exists in
|
|
5953
|
-
plugins-config.css:91 (.ds-plugins-toggle) at a different scale (40x22 vs
|
|
5954
|
-
this 18x10) — consider consolidating into a shared .ds-switch primitive
|
|
5955
|
-
with a size modifier. */
|
|
5956
6005
|
.ds-247420 .ds-phasewalk-seg {
|
|
5957
6006
|
width: 18px; height: 10px; border-radius: var(--r-hair);
|
|
5958
6007
|
background: var(--bg-3); position: relative;
|
|
@@ -7361,15 +7410,16 @@
|
|
|
7361
7410
|
}
|
|
7362
7411
|
.ds-247420 .ds-plugins-version { font-size: var(--fs-micro); color: var(--fg-3); }
|
|
7363
7412
|
|
|
7364
|
-
/*
|
|
7365
|
-
(.
|
|
7366
|
-
|
|
7413
|
+
/* Same track/knob proportions as the shared .ds-toggle primitive
|
|
7414
|
+
(states-interactions.css) -- kept as its own class since ds-plugins-toggle
|
|
7415
|
+
is a plain <button>+.on instead of .ds-toggle's [aria-checked] contract,
|
|
7416
|
+
but sized and colored to match it exactly rather than drifting. */
|
|
7367
7417
|
.ds-247420 .ds-plugins-toggle {
|
|
7368
|
-
flex: 0 0 auto; width: 40px; height: 22px; border-radius:
|
|
7418
|
+
flex: 0 0 auto; width: 40px; height: 22px; border-radius: var(--r-pill, 999px); border: none; padding: 0;
|
|
7369
7419
|
background: var(--rule); position: relative; cursor: pointer;
|
|
7370
7420
|
transition: background var(--dur-snap) var(--ease);
|
|
7371
7421
|
}
|
|
7372
|
-
.ds-247420 .ds-plugins-toggle.on { background: var(--accent); }
|
|
7422
|
+
.ds-247420 .ds-plugins-toggle.on { background: var(--accent-ink); }
|
|
7373
7423
|
.ds-247420 .ds-plugins-toggle[disabled] { cursor: wait; opacity: 0.65; }
|
|
7374
7424
|
.ds-247420 .ds-plugins-toggle-knob {
|
|
7375
7425
|
position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%;
|
|
@@ -8043,11 +8093,11 @@
|
|
|
8043
8093
|
min-width: 18px;
|
|
8044
8094
|
height: 18px;
|
|
8045
8095
|
padding: 0 var(--space-1-5);
|
|
8046
|
-
/*
|
|
8047
|
-
|
|
8048
|
-
|
|
8096
|
+
/* --ink, not --paper: --paper is a fixed near-white, which measures ~3:1 on
|
|
8097
|
+
--warn (#FF5A52) -- below the 4.5:1 AA floor. --ink clears it (same fix
|
|
8098
|
+
as .btn-primary.danger in app-shell/files.css). */
|
|
8049
8099
|
background: var(--warn);
|
|
8050
|
-
color: var(--
|
|
8100
|
+
color: var(--ink);
|
|
8051
8101
|
font-family: var(--ff-mono);
|
|
8052
8102
|
font-size: var(--fs-micro);
|
|
8053
8103
|
font-weight: 700;
|
|
@@ -8378,11 +8428,11 @@
|
|
|
8378
8428
|
min-width: 16px;
|
|
8379
8429
|
height: 16px;
|
|
8380
8430
|
padding: 0 var(--space-1-5);
|
|
8381
|
-
/*
|
|
8382
|
-
|
|
8383
|
-
|
|
8431
|
+
/* --ink, not --paper: --paper is a fixed near-white, which measures ~3:1 on
|
|
8432
|
+
--warn (#FF5A52) -- below the 4.5:1 AA floor. --ink clears it (same fix
|
|
8433
|
+
as .btn-primary.danger in app-shell/files.css). */
|
|
8384
8434
|
background: var(--warn);
|
|
8385
|
-
color: var(--
|
|
8435
|
+
color: var(--ink);
|
|
8386
8436
|
font-family: var(--ff-mono);
|
|
8387
8437
|
font-size: var(--fs-micro);
|
|
8388
8438
|
font-weight: 700;
|
|
@@ -9599,13 +9649,15 @@
|
|
|
9599
9649
|
.ds-247420 .fd-page-inner { display: flex; flex-direction: column; gap: var(--space-3, 16px); padding: var(--space-3, 16px); max-width: 1100px; }
|
|
9600
9650
|
.ds-247420 .fd-page-inner > * { min-width: 0; }
|
|
9601
9651
|
.ds-247420 .fd-loading { display: flex; align-items: center; gap: var(--space-2, 10px); padding: var(--space-4, 24px); color: var(--fg-2, var(--fg)); }
|
|
9602
|
-
|
|
9652
|
+
/* Base layout shared with .ds-empty-state (primitives.css); overrides padding
|
|
9653
|
+
(--space-5, denser than the shared --space-6) and color for this context. */
|
|
9654
|
+
.ds-247420 .fd-empty { padding: var(--space-5, 32px) var(--space-3, 16px); color: var(--fg-2, var(--fg)); }
|
|
9603
9655
|
/* 28px is an ICON size (empty-state mark), not a type tier — the --fs-* ladder
|
|
9604
9656
|
tops out at --fs-xl (21px) before every remaining rung becomes a fluid
|
|
9605
9657
|
heading clamp, so neither substitutes without visibly resizing the mark.
|
|
9606
9658
|
--fs-2xl bridges that gap as a fixed 28px token. */
|
|
9607
9659
|
.ds-247420 .fd-empty-glyph { font-size: var(--fs-2xl); opacity: .55; line-height: 1; }
|
|
9608
|
-
.ds-247420 .fd-pre { margin: 0; padding: var(--space-2, 10px); background: var(--bg-3, var(--panel-bg-2)); border: var(--bw-hair, 1px) solid var(--rule, var(--panel-accent)); border-radius: var(--r-1,
|
|
9660
|
+
.ds-247420 .fd-pre { margin: 0; padding: var(--space-2, 10px); background: var(--bg-3, var(--panel-bg-2)); border: var(--bw-hair, 1px) solid var(--rule, var(--panel-accent)); border-radius: var(--r-1, 8px); overflow: auto; max-height: 460px; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--fs-micro); line-height: 1.5; }
|
|
9609
9661
|
.ds-247420 .fd-skill-body { max-height: 320px; }
|
|
9610
9662
|
.ds-247420 .fd-row-actions { display: inline-flex; gap: var(--space-1, 6px); align-items: center; }
|
|
9611
9663
|
.ds-247420 .fd-chat { display: flex; flex-direction: column; gap: var(--space-2, 10px); height: 100%; min-height: 0; }
|
|
@@ -9868,7 +9920,7 @@
|
|
|
9868
9920
|
.ds-247420 .chat-msg-action {
|
|
9869
9921
|
display: inline-flex; align-items: center; justify-content: center; gap: var(--space-1);
|
|
9870
9922
|
min-width: 26px; height: 26px; padding: 0 var(--space-1-75); cursor: pointer;
|
|
9871
|
-
border: none; border-radius: var(--r-1,
|
|
9923
|
+
border: none; border-radius: var(--r-1, 8px); background: none; color: var(--fg-3);
|
|
9872
9924
|
font-family: var(--ff-body); font-size: var(--fs-tiny);
|
|
9873
9925
|
}
|
|
9874
9926
|
.ds-247420 .chat-msg-action-label { font-size: var(--fs-tiny); }
|
|
@@ -9936,7 +9988,7 @@
|
|
|
9936
9988
|
display: flex; align-items: center; gap: var(--space-2, 8px);
|
|
9937
9989
|
padding: var(--space-1, 4px) var(--space-2, 8px);
|
|
9938
9990
|
border: var(--bw-hair) solid var(--rule);
|
|
9939
|
-
border-radius: var(--r-1,
|
|
9991
|
+
border-radius: var(--r-1, 8px);
|
|
9940
9992
|
background: var(--bg-2);
|
|
9941
9993
|
}
|
|
9942
9994
|
.ds-247420 .agentchat-install-agent { flex: 0 0 auto; font-size: var(--fs-tiny); color: var(--fg-3); min-width: 8ch; }
|
|
@@ -9946,7 +9998,7 @@
|
|
|
9946
9998
|
}
|
|
9947
9999
|
.ds-247420 .agentchat-install-copy {
|
|
9948
10000
|
flex: 0 0 auto; cursor: pointer; padding: var(--space-hair) var(--space-2); min-height: 24px;
|
|
9949
|
-
border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-1,
|
|
10001
|
+
border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-1, 8px);
|
|
9950
10002
|
background: none; color: var(--fg-3);
|
|
9951
10003
|
font-family: var(--ff-body); font-size: var(--fs-tiny);
|
|
9952
10004
|
}
|
|
@@ -9957,7 +10009,7 @@
|
|
|
9957
10009
|
/* Host-supplied transcript export actions riding the controls row. */
|
|
9958
10010
|
.ds-247420 .agentchat-export-act {
|
|
9959
10011
|
cursor: pointer; padding: var(--space-1) var(--space-2-5); min-height: 32px;
|
|
9960
|
-
border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-1,
|
|
10012
|
+
border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-1, 8px);
|
|
9961
10013
|
background: none; color: var(--fg-3);
|
|
9962
10014
|
font-family: var(--ff-body); font-size: var(--fs-tiny);
|
|
9963
10015
|
}
|
|
@@ -10190,7 +10242,7 @@
|
|
|
10190
10242
|
background: var(--bg); border: var(--border-w) solid var(--accent); border-radius: var(--r-1);
|
|
10191
10243
|
padding: var(--space-1) var(--space-2);
|
|
10192
10244
|
}
|
|
10193
|
-
.ds-247420 .ds-session-rename-input:focus { outline: none; box-shadow: var(--focus-ring-inset); }
|
|
10245
|
+
.ds-247420 .ds-session-rename-input:focus-visible { outline: none; box-shadow: var(--focus-ring-inset); }
|
|
10194
10246
|
|
|
10195
10247
|
/* Inline delete confirm — same row height, two flat buttons, no modal;
|
|
10196
10248
|
mirrors SessionDashboard's arm-then-confirm bulk-stop control. */
|
|
@@ -10232,7 +10284,7 @@
|
|
|
10232
10284
|
.ds-247420 .ds-dash-header .btn-primary.danger.is-armed { background: var(--warn); color: var(--ink); border-color: var(--warn); }
|
|
10233
10285
|
.ds-247420 .ds-dash-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--space-2); padding: var(--space-3); }
|
|
10234
10286
|
@media (min-width: 1500px) { .ds-247420 .ds-dash-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } }
|
|
10235
|
-
.ds-247420 .ds-dash-card { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); background: var(--bg-2); border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-
|
|
10287
|
+
.ds-247420 .ds-dash-card { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); background: var(--bg-2); border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-1); }
|
|
10236
10288
|
|
|
10237
10289
|
/* Compact density — one line per session. The comfortable card stacks title +
|
|
10238
10290
|
head + meta + actions as four flex rows and measured 208px tall on a real
|
|
@@ -10400,7 +10452,7 @@
|
|
|
10400
10452
|
position: absolute; top: 6px; right: 6px;
|
|
10401
10453
|
display: inline-flex; align-items: center; justify-content: center;
|
|
10402
10454
|
min-width: 48px; min-height: 24px; padding: var(--space-hair) var(--space-2);
|
|
10403
|
-
border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-1,
|
|
10455
|
+
border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-1, 8px);
|
|
10404
10456
|
background: var(--bg-2); color: var(--fg-2); cursor: pointer;
|
|
10405
10457
|
font-family: var(--ff-body); font-size: var(--fs-tiny);
|
|
10406
10458
|
opacity: 0; transition: opacity var(--dur-snap, .12s) var(--ease, ease);
|
|
@@ -11194,7 +11246,7 @@
|
|
|
11194
11246
|
/* Buttons inside the dense strip shrink to fit the 26px band. */
|
|
11195
11247
|
.ds-247420 .ds-ep-statusbar button {
|
|
11196
11248
|
min-height: 0; height: 20px; padding: 0 var(--space-2);
|
|
11197
|
-
border-radius: var(--r-1,
|
|
11249
|
+
border-radius: var(--r-1, 8px);
|
|
11198
11250
|
font: var(--fs-micro, 11px)/1 var(--ff-mono, monospace);
|
|
11199
11251
|
}
|
|
11200
11252
|
|
|
@@ -11226,7 +11278,7 @@
|
|
|
11226
11278
|
border: 1px solid var(--rule);
|
|
11227
11279
|
color: var(--panel-text, var(--fg));
|
|
11228
11280
|
padding: var(--space-1-5, 5px) var(--space-2-5, 10px);
|
|
11229
|
-
border-radius: var(--r-1,
|
|
11281
|
+
border-radius: var(--r-1, 8px);
|
|
11230
11282
|
font-size: var(--fs-tiny, 12px);
|
|
11231
11283
|
font-family: inherit;
|
|
11232
11284
|
}
|
|
@@ -11344,7 +11396,7 @@
|
|
|
11344
11396
|
.ds-247420 .ds-ep-tree-row {
|
|
11345
11397
|
display: flex; align-items: center; gap: var(--space-1-75);
|
|
11346
11398
|
padding: var(--space-1) var(--space-2) var(--space-1) 0;
|
|
11347
|
-
border-radius: var(--r-1,
|
|
11399
|
+
border-radius: var(--r-1, 8px);
|
|
11348
11400
|
cursor: pointer;
|
|
11349
11401
|
color: var(--panel-text-2);
|
|
11350
11402
|
transition: background var(--dur-snap, 80ms) var(--ease, ease), color var(--dur-snap, 80ms) var(--ease, ease);
|
|
@@ -11406,7 +11458,7 @@
|
|
|
11406
11458
|
background: var(--panel-2);
|
|
11407
11459
|
color: var(--panel-text);
|
|
11408
11460
|
border: 1px solid var(--rule);
|
|
11409
|
-
border-radius: var(--r-1,
|
|
11461
|
+
border-radius: var(--r-1, 8px);
|
|
11410
11462
|
padding: var(--space-1) var(--space-2);
|
|
11411
11463
|
font: inherit;
|
|
11412
11464
|
min-width: 0; width: 100%;
|
|
@@ -11447,7 +11499,7 @@
|
|
|
11447
11499
|
.ds-247420 .ds-ep-propfield-value input,
|
|
11448
11500
|
.ds-247420 .ds-ep-propfield-value .ds-input-bare {
|
|
11449
11501
|
padding: var(--space-hair) var(--space-1-75);
|
|
11450
|
-
border-radius: var(--r-1,
|
|
11502
|
+
border-radius: var(--r-1, 8px);
|
|
11451
11503
|
font: var(--fs-tiny, 12px)/1.3 var(--ff-mono, monospace);
|
|
11452
11504
|
}
|
|
11453
11505
|
.ds-247420 .ds-input-bare {
|
|
@@ -11455,7 +11507,7 @@
|
|
|
11455
11507
|
background: var(--panel-2);
|
|
11456
11508
|
color: var(--panel-text);
|
|
11457
11509
|
border: 1px solid var(--rule);
|
|
11458
|
-
border-radius: var(--r-1,
|
|
11510
|
+
border-radius: var(--r-1, 8px);
|
|
11459
11511
|
padding: var(--space-hair) var(--space-1-75);
|
|
11460
11512
|
font: var(--fs-tiny, 12px)/1.3 var(--ff-mono, monospace);
|
|
11461
11513
|
min-width: 0;
|
|
@@ -11497,7 +11549,7 @@
|
|
|
11497
11549
|
border: 1px solid transparent;
|
|
11498
11550
|
color: inherit; font: inherit;
|
|
11499
11551
|
width: 100%;
|
|
11500
|
-
border-radius: var(--r-1,
|
|
11552
|
+
border-radius: var(--r-1, 8px);
|
|
11501
11553
|
padding: var(--space-hair, 2px) var(--space-1, 4px);
|
|
11502
11554
|
}
|
|
11503
11555
|
.ds-247420 .ds-ep-inline-input.ds-ep-inline-input:focus-visible {
|
|
@@ -11524,7 +11576,7 @@
|
|
|
11524
11576
|
width: 100%;
|
|
11525
11577
|
/* Snapped to --ctl-sm (was a lone 28px literal that happened to match). */
|
|
11526
11578
|
min-height: var(--ctl-sm); height: var(--ctl-sm); padding: 0 var(--space-2-5);
|
|
11527
|
-
border-radius: var(--r-1,
|
|
11579
|
+
border-radius: var(--r-1, 8px);
|
|
11528
11580
|
font: var(--fs-tiny, 12px)/1 var(--ff-mono, monospace);
|
|
11529
11581
|
}
|
|
11530
11582
|
|
|
@@ -11534,7 +11586,7 @@
|
|
|
11534
11586
|
.ds-247420 .ds-ep-tree-row button:not(.ds-ep-btngrp-btn),
|
|
11535
11587
|
.ds-247420 .ds-ep-toolbar button:not(.ds-ep-btngrp-btn) {
|
|
11536
11588
|
min-height: 24px; height: 24px; padding: 0 var(--space-2);
|
|
11537
|
-
border-radius: var(--r-1,
|
|
11589
|
+
border-radius: var(--r-1, 8px);
|
|
11538
11590
|
font: var(--fs-tiny, 12px)/1 var(--ff-mono, monospace);
|
|
11539
11591
|
}
|
|
11540
11592
|
@media (pointer: coarse) {
|
|
@@ -11561,7 +11613,7 @@
|
|
|
11561
11613
|
border: 1px solid var(--rule);
|
|
11562
11614
|
color: var(--panel-text, var(--fg));
|
|
11563
11615
|
padding: var(--space-half, 3px) var(--space-2-5, 10px);
|
|
11564
|
-
border-radius: var(--r-1,
|
|
11616
|
+
border-radius: var(--r-1, 8px);
|
|
11565
11617
|
font: inherit;
|
|
11566
11618
|
}
|
|
11567
11619
|
.ds-247420 .ds-ep-pager-btn:hover:not([disabled]) { background: color-mix(in oklab, var(--accent) 10%, transparent); }
|
|
@@ -11579,7 +11631,7 @@
|
|
|
11579
11631
|
computed to 23px -- just under the target floor. */
|
|
11580
11632
|
min-width: max(24px, 1.75em);
|
|
11581
11633
|
padding: var(--space-half, 3px) var(--space-1, 4px);
|
|
11582
|
-
border-radius: var(--r-1,
|
|
11634
|
+
border-radius: var(--r-1, 8px);
|
|
11583
11635
|
font: inherit;
|
|
11584
11636
|
text-align: center;
|
|
11585
11637
|
}
|
|
@@ -11658,7 +11710,7 @@
|
|
|
11658
11710
|
background: var(--panel-2, var(--bg-2));
|
|
11659
11711
|
color: var(--panel-text, var(--fg));
|
|
11660
11712
|
padding: var(--space-2, 8px);
|
|
11661
|
-
border-radius: var(--r-1,
|
|
11713
|
+
border-radius: var(--r-1, 8px);
|
|
11662
11714
|
max-height: 300px;
|
|
11663
11715
|
overflow-y: auto;
|
|
11664
11716
|
margin: 0;
|
|
@@ -11686,7 +11738,7 @@
|
|
|
11686
11738
|
.ds-247420 .ds-ep-json-sum {
|
|
11687
11739
|
cursor: pointer; user-select: none;
|
|
11688
11740
|
list-style: none;
|
|
11689
|
-
border-radius: var(--r-1,
|
|
11741
|
+
border-radius: var(--r-1, 8px);
|
|
11690
11742
|
}
|
|
11691
11743
|
.ds-247420 .ds-ep-json-sum::-webkit-details-marker { display: none; }
|
|
11692
11744
|
.ds-247420 .ds-ep-json-sum::before {
|
|
@@ -11716,7 +11768,7 @@
|
|
|
11716
11768
|
color: var(--panel-text-2, var(--fg-2));
|
|
11717
11769
|
font: var(--fs-micro, 11px)/1 var(--ff-mono, monospace);
|
|
11718
11770
|
padding: var(--space-half, 3px) var(--space-2, 8px);
|
|
11719
|
-
border-radius: var(--r-1,
|
|
11771
|
+
border-radius: var(--r-1, 8px);
|
|
11720
11772
|
opacity: 0.75;
|
|
11721
11773
|
}
|
|
11722
11774
|
.ds-247420 .ds-ep-json-copy:hover { opacity: 1; border-color: var(--accent); }
|
|
@@ -11763,7 +11815,7 @@
|
|
|
11763
11815
|
.ds-247420 .ds-ep-btngrp {
|
|
11764
11816
|
display: inline-flex;
|
|
11765
11817
|
border: 1px solid var(--rule);
|
|
11766
|
-
border-radius: var(--r-1,
|
|
11818
|
+
border-radius: var(--r-1, 8px);
|
|
11767
11819
|
overflow: hidden;
|
|
11768
11820
|
background: var(--panel-2);
|
|
11769
11821
|
}
|
|
@@ -11850,7 +11902,7 @@
|
|
|
11850
11902
|
padding: var(--space-2) var(--space-2-5);
|
|
11851
11903
|
background: transparent; border: 0;
|
|
11852
11904
|
color: inherit; font: inherit; text-align: left;
|
|
11853
|
-
border-radius: var(--r-1,
|
|
11905
|
+
border-radius: var(--r-1, 8px);
|
|
11854
11906
|
cursor: pointer;
|
|
11855
11907
|
}
|
|
11856
11908
|
.ds-247420 .ds-ep-ctxmenu-item:hover:not(.disabled),
|
|
@@ -11925,7 +11977,7 @@
|
|
|
11925
11977
|
min-height: var(--ctl-sm); padding: 0 var(--space-3);
|
|
11926
11978
|
display: inline-flex; align-items: center; justify-content: center;
|
|
11927
11979
|
border: 1px solid var(--rule);
|
|
11928
|
-
border-radius: var(--r-1,
|
|
11980
|
+
border-radius: var(--r-1, 8px);
|
|
11929
11981
|
background: var(--panel-2, transparent);
|
|
11930
11982
|
color: inherit; font: inherit; cursor: pointer;
|
|
11931
11983
|
}
|
|
@@ -11962,7 +12014,7 @@
|
|
|
11962
12014
|
.kind-error below recolour border-left-color and nothing else. Do not
|
|
11963
12015
|
demote to a hairline; that would erase the status signal. */
|
|
11964
12016
|
border-left: var(--bw-chunk) solid var(--accent);
|
|
11965
|
-
border-radius: var(--r-1,
|
|
12017
|
+
border-radius: var(--r-1, 8px);
|
|
11966
12018
|
padding: var(--space-2) var(--space-2-75);
|
|
11967
12019
|
box-shadow: var(--shadow-3);
|
|
11968
12020
|
min-width: 220px; max-width: 360px;
|
|
@@ -11985,7 +12037,7 @@
|
|
|
11985
12037
|
font: inherit;
|
|
11986
12038
|
font-weight: 600;
|
|
11987
12039
|
padding: var(--space-1) var(--space-1-75);
|
|
11988
|
-
border-radius: var(--r-1,
|
|
12040
|
+
border-radius: var(--r-1, 8px);
|
|
11989
12041
|
cursor: pointer;
|
|
11990
12042
|
}
|
|
11991
12043
|
.ds-247420 .ds-ep-toast-action:hover { background: var(--panel-2, var(--panel-bg)); }
|
|
@@ -12188,7 +12240,7 @@
|
|
|
12188
12240
|
background: var(--panel-1, var(--panel-bg));
|
|
12189
12241
|
color: var(--panel-text, var(--fg-text));
|
|
12190
12242
|
border: 1px solid var(--rule);
|
|
12191
|
-
border-radius: var(--r-1,
|
|
12243
|
+
border-radius: var(--r-1, 8px);
|
|
12192
12244
|
padding: var(--space-1-75) var(--space-2-5);
|
|
12193
12245
|
font-size: var(--fs-micro);
|
|
12194
12246
|
line-height: 1.4;
|
|
@@ -12241,7 +12293,7 @@
|
|
|
12241
12293
|
padding: var(--space-1-5) var(--space-2-75);
|
|
12242
12294
|
background: transparent; border: 0;
|
|
12243
12295
|
color: inherit; font: inherit; text-align: left;
|
|
12244
|
-
border-radius: var(--r-1,
|
|
12296
|
+
border-radius: var(--r-1, 8px);
|
|
12245
12297
|
cursor: pointer;
|
|
12246
12298
|
}
|
|
12247
12299
|
.ds-247420 .ds-dropdown-item:hover,
|
|
@@ -12270,7 +12322,7 @@
|
|
|
12270
12322
|
background: var(--panel-2, transparent);
|
|
12271
12323
|
color: inherit; font: inherit;
|
|
12272
12324
|
border: 1px solid var(--rule);
|
|
12273
|
-
border-radius: var(--r-1,
|
|
12325
|
+
border-radius: var(--r-1, 8px);
|
|
12274
12326
|
padding: 0 var(--space-2-75);
|
|
12275
12327
|
cursor: pointer;
|
|
12276
12328
|
/* Snapped to the --ctl-sm rung so this small control shares the height
|
|
@@ -12293,7 +12345,7 @@
|
|
|
12293
12345
|
padding: var(--space-1-5) var(--space-2-75);
|
|
12294
12346
|
background: transparent; border: 0;
|
|
12295
12347
|
color: inherit; font: inherit; text-align: left;
|
|
12296
|
-
border-radius: var(--r-1,
|
|
12348
|
+
border-radius: var(--r-1, 8px);
|
|
12297
12349
|
cursor: pointer;
|
|
12298
12350
|
width: 100%;
|
|
12299
12351
|
}
|
|
@@ -12320,7 +12372,7 @@
|
|
|
12320
12372
|
}
|
|
12321
12373
|
.ds-247420 .ov-menubutton-retry {
|
|
12322
12374
|
appearance: none; background: transparent; border: 1px solid var(--rule);
|
|
12323
|
-
border-radius: var(--r-1,
|
|
12375
|
+
border-radius: var(--r-1, 8px); color: inherit; font: inherit; font-size: var(--fs-sm);
|
|
12324
12376
|
padding: var(--space-hair) var(--space-1-5); cursor: pointer;
|
|
12325
12377
|
}
|
|
12326
12378
|
.ds-247420 .ov-menubutton-retry:hover, .ds-247420 .ov-menubutton-retry:focus-visible { background: var(--panel-2, var(--rule)); outline: none; }
|
|
@@ -12329,7 +12381,7 @@
|
|
|
12329
12381
|
background: var(--panel-2, transparent);
|
|
12330
12382
|
color: inherit; font: inherit;
|
|
12331
12383
|
border: 1px solid var(--rule);
|
|
12332
|
-
border-radius: var(--r-1,
|
|
12384
|
+
border-radius: var(--r-1, 8px);
|
|
12333
12385
|
padding: 0 var(--space-2-75);
|
|
12334
12386
|
cursor: pointer;
|
|
12335
12387
|
min-height: var(--ctl-sm); height: var(--ctl-sm);
|
|
@@ -12347,7 +12399,7 @@
|
|
|
12347
12399
|
.ds-247420 .ds-ep-diagnostics-title { margin: 0; font-size: var(--fs-lg); }
|
|
12348
12400
|
.ds-247420 .ds-ep-diagnostics-refresh {
|
|
12349
12401
|
appearance: none; background: var(--panel-2, transparent); color: inherit; font: inherit;
|
|
12350
|
-
border: 1px solid var(--rule); border-radius: var(--r-1,
|
|
12402
|
+
border: 1px solid var(--rule); border-radius: var(--r-1, 8px);
|
|
12351
12403
|
padding: var(--space-1) var(--space-2-75); cursor: pointer;
|
|
12352
12404
|
}
|
|
12353
12405
|
.ds-247420 .ds-ep-diagnostics-refresh:disabled { opacity: 0.6; cursor: not-allowed; }
|
|
@@ -12369,7 +12421,7 @@
|
|
|
12369
12421
|
.ds-247420 .ds-reorderable-horizontal { flex-direction: row; }
|
|
12370
12422
|
.ds-247420 .ds-reorder-item {
|
|
12371
12423
|
display: flex; align-items: center; gap: var(--space-2, 8px);
|
|
12372
|
-
padding: var(--space-1, 4px); border-radius: var(--r-1,
|
|
12424
|
+
padding: var(--space-1, 4px); border-radius: var(--r-1, 8px);
|
|
12373
12425
|
background: var(--panel-1); color: var(--panel-text);
|
|
12374
12426
|
transition: transform var(--dur-snap, 120ms) var(--ease, ease), opacity var(--dur-snap, 120ms) var(--ease, ease);
|
|
12375
12427
|
}
|
|
@@ -12377,7 +12429,7 @@
|
|
|
12377
12429
|
min-width: 44px; min-height: 44px;
|
|
12378
12430
|
display: inline-flex; align-items: center; justify-content: center;
|
|
12379
12431
|
appearance: none; background: transparent; color: var(--panel-text-2, var(--panel-text));
|
|
12380
|
-
border: 0; border-radius: var(--r-1,
|
|
12432
|
+
border: 0; border-radius: var(--r-1, 8px);
|
|
12381
12433
|
cursor: grab; font: 14px/1 var(--ff-mono, monospace); letter-spacing: -2px;
|
|
12382
12434
|
touch-action: none; user-select: none;
|
|
12383
12435
|
}
|
|
@@ -12401,7 +12453,7 @@
|
|
|
12401
12453
|
display: inline-block; font: 0.85em/1 var(--ff-mono, monospace);
|
|
12402
12454
|
padding: var(--space-1, 4px) calc(var(--space-1, 4px) * 1.5);
|
|
12403
12455
|
border: 1px solid var(--rule, var(--panel-text-3));
|
|
12404
|
-
border-radius: var(--r-1,
|
|
12456
|
+
border-radius: var(--r-1, 8px);
|
|
12405
12457
|
background: var(--panel-2, var(--panel-1)); color: var(--panel-text);
|
|
12406
12458
|
}
|
|
12407
12459
|
.ds-247420 .ds-kbd-group { margin: var(--space-3, 16px) 0; }
|
|
@@ -12455,7 +12507,7 @@
|
|
|
12455
12507
|
padding: var(--space-2, 8px) var(--space-3, 16px);
|
|
12456
12508
|
background: transparent; border: 0;
|
|
12457
12509
|
color: var(--fg); font: inherit; text-align: left;
|
|
12458
|
-
border-radius: var(--r-1,
|
|
12510
|
+
border-radius: var(--r-1, 8px); cursor: pointer;
|
|
12459
12511
|
}
|
|
12460
12512
|
.ds-247420 .ov-cmd-item:hover { background: var(--panel-2, var(--rule)); }
|
|
12461
12513
|
.ds-247420 .ov-cmd-item.is-active { background: var(--accent); color: var(--accent-fg); }
|
|
@@ -12486,7 +12538,7 @@
|
|
|
12486
12538
|
.ds-247420 .ov-emoji-search {
|
|
12487
12539
|
flex-shrink: 0; margin: var(--space-2, 8px); margin-bottom: 0;
|
|
12488
12540
|
padding: var(--space-1-5, 6px) var(--space-2, 8px);
|
|
12489
|
-
border: 1px solid var(--rule); border-radius: var(--r-1,
|
|
12541
|
+
border: 1px solid var(--rule); border-radius: var(--r-1, 8px);
|
|
12490
12542
|
background: var(--bg-1, var(--bg-3)); color: var(--fg);
|
|
12491
12543
|
font: inherit; font-size: var(--fs-sm, 13px);
|
|
12492
12544
|
}
|
|
@@ -12508,7 +12560,7 @@
|
|
|
12508
12560
|
.ds-247420 .ov-emoji-cell {
|
|
12509
12561
|
appearance: none; border: 0; background: transparent;
|
|
12510
12562
|
aspect-ratio: 1; font-size: var(--fs-lg, 18px);
|
|
12511
|
-
border-radius: var(--r-1,
|
|
12563
|
+
border-radius: var(--r-1, 8px); cursor: pointer;
|
|
12512
12564
|
display: inline-flex; align-items: center; justify-content: center;
|
|
12513
12565
|
}
|
|
12514
12566
|
.ds-247420 .ov-emoji-cell:hover, .ds-247420 .ov-emoji-cell:focus-visible {
|
|
@@ -12598,7 +12650,7 @@
|
|
|
12598
12650
|
.ds-247420 .ov-set-control {
|
|
12599
12651
|
appearance: none; flex-shrink: 0; max-width: 55%;
|
|
12600
12652
|
background: var(--bg-3); color: var(--fg);
|
|
12601
|
-
border: 1px solid var(--rule); border-radius: var(--r-1,
|
|
12653
|
+
border: 1px solid var(--rule); border-radius: var(--r-1, 8px);
|
|
12602
12654
|
padding: var(--space-1, 4px) var(--space-2, 8px); font: inherit;
|
|
12603
12655
|
}
|
|
12604
12656
|
.ds-247420 .ov-set-control:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: 1px; border-color: var(--accent-ink); }
|
|
@@ -12607,7 +12659,7 @@
|
|
|
12607
12659
|
.ds-247420 .ov-set-btn {
|
|
12608
12660
|
width: 100%; appearance: none; cursor: pointer;
|
|
12609
12661
|
background: var(--accent); color: var(--accent-fg);
|
|
12610
|
-
border: 0; border-radius: var(--r-1,
|
|
12662
|
+
border: 0; border-radius: var(--r-1, 8px);
|
|
12611
12663
|
padding: var(--space-2, 8px); font: inherit;
|
|
12612
12664
|
}
|
|
12613
12665
|
|
|
@@ -12693,7 +12745,7 @@
|
|
|
12693
12745
|
.ds-247420 .ds-input-color {
|
|
12694
12746
|
appearance: none; -webkit-appearance: none;
|
|
12695
12747
|
width: 28px; height: 22px; padding: 0;
|
|
12696
|
-
border: 1px solid var(--rule); border-radius: var(--r-1,
|
|
12748
|
+
border: 1px solid var(--rule); border-radius: var(--r-1, 8px);
|
|
12697
12749
|
background: var(--panel-2); cursor: pointer; flex-shrink: 0;
|
|
12698
12750
|
}
|
|
12699
12751
|
.ds-247420 .ds-input-color::-webkit-color-swatch-wrapper { padding: var(--space-hair); }
|
|
@@ -12702,7 +12754,7 @@
|
|
|
12702
12754
|
.ds-247420 .ds-input-check {
|
|
12703
12755
|
appearance: none; -webkit-appearance: none;
|
|
12704
12756
|
width: 16px; height: 16px; flex-shrink: 0;
|
|
12705
|
-
border: 1px solid var(--rule); border-radius: var(--r-1,
|
|
12757
|
+
border: 1px solid var(--rule); border-radius: var(--r-1, 8px);
|
|
12706
12758
|
background: var(--panel-2); cursor: pointer; position: relative;
|
|
12707
12759
|
}
|
|
12708
12760
|
.ds-247420 .ds-input-check:checked { background: var(--accent); border-color: var(--accent); }
|
|
@@ -12788,7 +12840,7 @@
|
|
|
12788
12840
|
/* Collapse / CollapseGroup — progressive-disclosure toggle panel. */
|
|
12789
12841
|
.ds-247420 .ds-ep-collapse {
|
|
12790
12842
|
border: 1px solid var(--rule);
|
|
12791
|
-
border-radius: var(--r-1,
|
|
12843
|
+
border-radius: var(--r-1, 8px);
|
|
12792
12844
|
background: var(--panel-2, var(--bg-2));
|
|
12793
12845
|
}
|
|
12794
12846
|
.ds-247420 .ds-ep-collapse + .ds-ep-collapse { margin-top: var(--space-1, 4px); }
|
|
@@ -12851,7 +12903,7 @@
|
|
|
12851
12903
|
padding: var(--space-2, 8px) var(--space-3, 16px);
|
|
12852
12904
|
background: transparent; border: 0;
|
|
12853
12905
|
color: var(--fg); font: inherit; text-align: left;
|
|
12854
|
-
border-radius: var(--r-1,
|
|
12906
|
+
border-radius: var(--r-1, 8px); cursor: pointer;
|
|
12855
12907
|
}
|
|
12856
12908
|
.ds-247420 .ov-perm-item:hover { background: var(--panel-2, var(--rule)); }
|
|
12857
12909
|
.ds-247420 .ov-perm-item[aria-checked="true"] { color: var(--accent-ink); }
|
|
@@ -12866,7 +12918,7 @@
|
|
|
12866
12918
|
.ds-247420 .ov-perm-action {
|
|
12867
12919
|
flex: 1; appearance: none; border: 1px solid var(--rule); background: transparent;
|
|
12868
12920
|
color: var(--fg-2); font: inherit; font-size: var(--fs-tiny, 12px);
|
|
12869
|
-
padding: var(--space-1) var(--space-2); border-radius: var(--r-1,
|
|
12921
|
+
padding: var(--space-1) var(--space-2); border-radius: var(--r-1, 8px); cursor: pointer;
|
|
12870
12922
|
}
|
|
12871
12923
|
.ds-247420 .ov-perm-action:hover { background: var(--panel-2, var(--rule)); }
|
|
12872
12924
|
|
|
@@ -12889,14 +12941,14 @@
|
|
|
12889
12941
|
.ds-247420 .ov-approval-cat { color: var(--fg-3); font-weight: 400; }
|
|
12890
12942
|
.ds-247420 .ov-approval-args {
|
|
12891
12943
|
margin: 0; padding: var(--space-2, 8px);
|
|
12892
|
-
background: var(--panel-2, var(--rule)); border-radius: var(--r-1,
|
|
12944
|
+
background: var(--panel-2, var(--rule)); border-radius: var(--r-1, 8px);
|
|
12893
12945
|
font: var(--fs-tiny, 12px)/1.4 var(--ff-mono, monospace);
|
|
12894
12946
|
color: var(--fg-3); max-height: 100px; overflow: auto; white-space: pre-wrap; word-break: break-all;
|
|
12895
12947
|
}
|
|
12896
12948
|
.ds-247420 .ov-approval-note {
|
|
12897
12949
|
width: 100%; min-height: 48px; resize: vertical;
|
|
12898
12950
|
padding: var(--space-2, 8px) var(--space-2-75, 12px);
|
|
12899
|
-
border: var(--bw-hair) solid var(--rule); border-radius: var(--r-1,
|
|
12951
|
+
border: var(--bw-hair) solid var(--rule); border-radius: var(--r-1, 8px);
|
|
12900
12952
|
background: var(--bg); color: var(--fg); font: inherit; box-sizing: border-box;
|
|
12901
12953
|
}
|
|
12902
12954
|
.ds-247420 .ov-approval-note:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
|
|
@@ -13266,7 +13318,7 @@
|
|
|
13266
13318
|
.ds-247420 .health-summary { display: flex; flex-wrap: wrap; gap: .4em; margin: .6em 0; }
|
|
13267
13319
|
.ds-247420 .health-chip {
|
|
13268
13320
|
font-family: var(--ff-mono, ui-monospace, monospace);
|
|
13269
|
-
font-size: .8rem; padding: .15em .55em; border-radius: var(--r-1,
|
|
13321
|
+
font-size: .8rem; padding: .15em .55em; border-radius: var(--r-1, 8px);
|
|
13270
13322
|
background: color-mix(in srgb, var(--fg) 8%, transparent);
|
|
13271
13323
|
color: var(--fg-2);
|
|
13272
13324
|
border: var(--bw-hair, 1px) solid color-mix(in srgb, var(--fg) 12%, transparent);
|
|
@@ -13284,7 +13336,7 @@
|
|
|
13284
13336
|
.ds-247420 .ds-status-chip {
|
|
13285
13337
|
display: inline-flex; align-items: center; gap: .35em;
|
|
13286
13338
|
font-family: var(--ff-mono, ui-monospace, monospace);
|
|
13287
|
-
font-size: .8rem; padding: .15em .55em; border-radius: var(--r-1,
|
|
13339
|
+
font-size: .8rem; padding: .15em .55em; border-radius: var(--r-1, 8px);
|
|
13288
13340
|
background: color-mix(in srgb, var(--fg) 8%, transparent);
|
|
13289
13341
|
color: var(--fg-2);
|
|
13290
13342
|
border: var(--bw-hair, 1px) solid color-mix(in srgb, var(--fg) 12%, transparent);
|
|
@@ -13312,7 +13364,7 @@
|
|
|
13312
13364
|
}
|
|
13313
13365
|
.ds-247420 .cwd-bar-btn {
|
|
13314
13366
|
cursor: pointer; font: inherit; line-height: 1.3;
|
|
13315
|
-
padding: .15em .55em; border-radius: var(--r-1,
|
|
13367
|
+
padding: .15em .55em; border-radius: var(--r-1, 8px);
|
|
13316
13368
|
background: color-mix(in srgb, var(--fg) 8%, transparent);
|
|
13317
13369
|
border: var(--bw-hair, 1px) solid color-mix(in srgb, var(--fg) 14%, transparent);
|
|
13318
13370
|
color: var(--fg-2);
|
|
@@ -13400,7 +13452,7 @@
|
|
|
13400
13452
|
/* Re-assert the paper-tuned signal tokens so token-derived foregrounds
|
|
13401
13453
|
(status discs, error text, tool cards) print with light-theme colours
|
|
13402
13454
|
rather than the dark-theme-derived values inherited under auto-dark. */
|
|
13403
|
-
.ds-247420 { --flame:#C53E00; --amber:#7C570F; --warn:#
|
|
13455
|
+
.ds-247420 { --flame:#C53E00; --amber:#7C570F; --warn:#C41C0C; --sky:#3A6EFF; --bg:var(--paper); --fg:var(--ink); }
|
|
13404
13456
|
.ds-247420 #app { min-height: auto; display: block; height: auto; }
|
|
13405
13457
|
.ds-247420 .skip-link, .ds-247420 .status-dot, .ds-247420 .history-actions, .ds-247420 .chat-composer { display: none !important; }
|
|
13406
13458
|
.ds-247420 .app, .ds-247420 .app-main, .ds-247420 .panel, .ds-247420 .chat, .ds-247420 .chat-thread {
|
|
@@ -13858,8 +13910,8 @@
|
|
|
13858
13910
|
width: min(360px, 88vw);
|
|
13859
13911
|
display: flex;
|
|
13860
13912
|
flex-direction: column;
|
|
13861
|
-
gap:
|
|
13862
|
-
padding:
|
|
13913
|
+
gap: var(--space-2-75);
|
|
13914
|
+
padding: var(--space-4);
|
|
13863
13915
|
background: var(--bg-2);
|
|
13864
13916
|
border: 1px solid var(--bw-rule, var(--rule));
|
|
13865
13917
|
border-radius: var(--r-2, 10px);
|
|
@@ -13888,7 +13940,7 @@
|
|
|
13888
13940
|
font-family: var(--ff-mono);
|
|
13889
13941
|
font-size: var(--fs-body);
|
|
13890
13942
|
padding: 10px 14px;
|
|
13891
|
-
border-radius: var(--r-1,
|
|
13943
|
+
border-radius: var(--r-1, 8px);
|
|
13892
13944
|
cursor: pointer;
|
|
13893
13945
|
}
|
|
13894
13946
|
.ds-247420 .sp-lobby-btn:hover { background: var(--bg-2); }
|
|
@@ -13920,7 +13972,7 @@
|
|
|
13920
13972
|
color: var(--accent);
|
|
13921
13973
|
padding: 8px;
|
|
13922
13974
|
background: var(--bg);
|
|
13923
|
-
border-radius: var(--r-1,
|
|
13975
|
+
border-radius: var(--r-1, 8px);
|
|
13924
13976
|
}
|
|
13925
13977
|
.ds-247420 .sp-lobby-err { min-height: 16px; color: var(--danger); font-size: var(--fs-small, 11px); }
|
|
13926
13978
|
.ds-247420 .sp-lobby-close {
|