anentrypoint-design 1.0.19 → 1.0.21
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/colors_and_type.css +34 -7
- package/dist/247420.css +182 -92
- package/dist/247420.js +28 -28
- package/package.json +1 -1
- package/src/components/agent-chat/empty-state.js +8 -3
- package/src/components/chat-message-parts/inline.js +15 -2
- package/src/components/content/lists.js +1 -1
- package/src/components/editor-primitives/json-viewer.js +6 -5
- package/src/components/files-modals/preview-bodies.js +6 -2
- package/src/components/shell/app-shell.js +6 -0
- package/src/components/shell/atoms.js +1 -1
- package/src/css/app-shell/base.css +6 -6
- package/src/css/app-shell/calendar.css +1 -2
- package/src/css/app-shell/catalog-theme.css +1 -1
- package/src/css/app-shell/chat-polish.css +3 -3
- package/src/css/app-shell/files.css +2 -2
- package/src/css/app-shell/git-status.css +2 -2
- package/src/css/app-shell/hero-content.css +13 -5
- package/src/css/app-shell/kits-appended.css +8 -4
- package/src/css/app-shell/models-config.css +1 -1
- package/src/css/app-shell/panel-row.css +36 -12
- package/src/css/app-shell/plugins-config.css +3 -3
- package/src/css/app-shell/primitives.css +35 -6
- package/src/css/app-shell/responsive2-workspace.css +8 -5
- package/src/css/app-shell/sidebar-misc.css +2 -2
- package/src/css/app-shell/skills-config.css +1 -1
- package/src/css/app-shell/topbar.css +27 -30
package/dist/247420.css
CHANGED
|
@@ -94,6 +94,12 @@
|
|
|
94
94
|
thebird warm-paper preset (5.25:1) while staying visually a clear
|
|
95
95
|
warm red. */
|
|
96
96
|
--warn: #C41C0C;
|
|
97
|
+
/* Paired foreground for --warn used as a FILL (a danger button background),
|
|
98
|
+
not as text-on-paper (--warn's own tuning above). --paper clears 5.97:1
|
|
99
|
+
on this --warn -- --warn was tuned dark specifically for the text-on-paper
|
|
100
|
+
direction, so re-using it for the opposite direction (paper text on this
|
|
101
|
+
as a fill) needs its own token, not a re-derivation of --warn itself. */
|
|
102
|
+
--warn-fg: var(--paper);
|
|
97
103
|
/* Syntax-token aliases: light values pass 4.5:1 on paper; the dark blocks
|
|
98
104
|
restore the bright dark-tuned originals. Components reference ONLY these. */
|
|
99
105
|
--code-string: var(--green);
|
|
@@ -182,6 +188,13 @@
|
|
|
182
188
|
--panel-text-3: var(--fg-3);
|
|
183
189
|
--panel-accent-2: var(--accent-bright, var(--accent));
|
|
184
190
|
--panel-shadow: 0 1px 0 color-mix(in oklab, var(--fg) 6%, transparent), 0 4px 14px color-mix(in oklab, var(--fg) 8%, transparent);
|
|
191
|
+
/* Single-layer, half-strength companion to --shadow-1, used ONLY by .panel.
|
|
192
|
+
.panel already carries a tonal --panel-1 fill and a --rule border; a
|
|
193
|
+
full --shadow-1 on top made three simultaneous edge/surface signals
|
|
194
|
+
read as boxed/cardy rather than PilotDeck's flat, near-borderless look.
|
|
195
|
+
--shadow-1/2/3 stay untouched — they are the real elevation scale for
|
|
196
|
+
things that must read as floating (dialog/dropdown/tooltip/toast). */
|
|
197
|
+
--panel-shadow-1: 0 1px 2px color-mix(in oklab, var(--fg) 4%, transparent);
|
|
185
198
|
|
|
186
199
|
/* Type — system-font stack, no custom web fonts loaded. */
|
|
187
200
|
--ff-display: system-ui, sans-serif;
|
|
@@ -216,7 +229,7 @@
|
|
|
216
229
|
--fs-h4: clamp(24px, 2cqi, 28px);
|
|
217
230
|
--fs-h3: clamp(26px, 2.6cqi, 34px);
|
|
218
231
|
--fs-h2: clamp(28px, 3.6cqi, 44px);
|
|
219
|
-
--fs-h1: clamp(34px,
|
|
232
|
+
--fs-h1: clamp(34px, 4.4cqi, 52px);
|
|
220
233
|
--fs-hero: clamp(42px, 7cqi, 96px);
|
|
221
234
|
--fs-mega: clamp(56px, 11cqi, 168px);
|
|
222
235
|
/* Bridges the fixed --fs-* ladder (tops out at --fs-xl, 21px) and the fluid
|
|
@@ -236,9 +249,9 @@
|
|
|
236
249
|
marketing/hero layouts (h1 up to 64px). Application chrome — page titles,
|
|
237
250
|
panel headers — needs a compact ceiling so a PageHeader title doesn't
|
|
238
251
|
dwarf the content. Opt in with `data-typescale="app"` on a container. */
|
|
239
|
-
--fs-h1-app: clamp(22px,
|
|
240
|
-
--fs-h2-app: clamp(
|
|
241
|
-
--fs-h3-app: clamp(
|
|
252
|
+
--fs-h1-app: clamp(22px, 2cqi, 26px);
|
|
253
|
+
--fs-h2-app: clamp(18px, 1.6cqi, 21px);
|
|
254
|
+
--fs-h3-app: clamp(16px, 1.5cqi, 18px);
|
|
242
255
|
--fs-h4-app: clamp(15px, 1.6cqi, 17px);
|
|
243
256
|
|
|
244
257
|
--lh-tight: 1.05;
|
|
@@ -285,7 +298,14 @@
|
|
|
285
298
|
--bw-chunk: 4px;
|
|
286
299
|
--bw-slab: 8px;
|
|
287
300
|
|
|
288
|
-
|
|
301
|
+
/* Retuned toward PilotDeck's near-borderless whisper: 14% read as a visibly
|
|
302
|
+
drawn line, not a hairline. 8% keeps the edge perceptible (still enough to
|
|
303
|
+
separate a --panel-1-filled surface from its --bg backdrop) without
|
|
304
|
+
competing with the fill + shadow already doing the container-definition
|
|
305
|
+
work in .panel. --rule-strong is untouched — it is the deliberate
|
|
306
|
+
stronger variant for places that need a visible seam (table rules, active
|
|
307
|
+
tab underline), not the ambient panel/card edge. */
|
|
308
|
+
--rule: color-mix(in oklab, currentColor 8%, transparent);
|
|
289
309
|
--rule-strong: color-mix(in oklab, currentColor 28%, transparent);
|
|
290
310
|
|
|
291
311
|
/* Micro rungs below --r-1 — chips, badges, scrollbar thumbs, tick marks
|
|
@@ -531,6 +551,10 @@
|
|
|
531
551
|
/* warn/sky dark-tuned pairs (mirror flame/amber): the :root paper values
|
|
532
552
|
(#E0241A / #3A6EFF) are too dark on ink; these clear AA 4.5:1 on --ink. */
|
|
533
553
|
--warn: #FF5A52;
|
|
554
|
+
/* Paired foreground for --warn-as-fill (see :root's --warn-fg comment) --
|
|
555
|
+
dark theme's --warn is the lighter tuned red, so its fill needs the dark
|
|
556
|
+
--ink text, the opposite pairing from :root. */
|
|
557
|
+
--warn-fg: var(--ink);
|
|
534
558
|
--sky: #6E9BFF;
|
|
535
559
|
/* Category/heritage dark-tuned pairs (same convention as flame/amber/warn/
|
|
536
560
|
sky above): the :root values are the PAPER tones and go dark-on-dark here.
|
|
@@ -619,6 +643,7 @@
|
|
|
619
643
|
--flame: #FF5A1F;
|
|
620
644
|
--amber: #D9A93A;
|
|
621
645
|
--warn: #FF5A52;
|
|
646
|
+
--warn-fg: var(--ink);
|
|
622
647
|
--sky: #6E9BFF;
|
|
623
648
|
/* Mirrors the [data-theme="ink"] category retune above token-for-token —
|
|
624
649
|
see that block for the measured before/after ratios. */
|
|
@@ -664,6 +689,7 @@
|
|
|
664
689
|
--panel-text-3: inherit;
|
|
665
690
|
--panel-accent-2: inherit;
|
|
666
691
|
--panel-shadow: inherit;
|
|
692
|
+
--panel-shadow-1: inherit;
|
|
667
693
|
--on-accent: inherit;
|
|
668
694
|
--on-color: inherit;
|
|
669
695
|
--scrim: inherit;
|
|
@@ -748,6 +774,7 @@
|
|
|
748
774
|
--flame: #ff7b72;
|
|
749
775
|
--amber: #d29922;
|
|
750
776
|
--warn: #ff7b72;
|
|
777
|
+
--warn-fg: #0d1117;
|
|
751
778
|
--sky: #58a6ff;
|
|
752
779
|
--mascot-deep: #ff7b72;
|
|
753
780
|
--purple-2: #d2a8ff;
|
|
@@ -783,14 +810,14 @@
|
|
|
783
810
|
--fs-h4: clamp(22px, 1.9cqi, 24px);
|
|
784
811
|
--fs-h3: clamp(23px, 2.4cqi, 32px);
|
|
785
812
|
--fs-h2: clamp(26px, 3.4cqi, 41px);
|
|
786
|
-
--fs-h1: clamp(32px, 4.
|
|
813
|
+
--fs-h1: clamp(32px, 4.2cqi, 48px);
|
|
787
814
|
}
|
|
788
815
|
.ds-247420[data-typescale="lg"] {
|
|
789
816
|
--fs-body: 17px; --fs-lg: 20px; --fs-xl: 24px;
|
|
790
817
|
--fs-h4: clamp(27px, 2.2cqi, 31px);
|
|
791
818
|
--fs-h3: clamp(28px, 2.9cqi, 38px);
|
|
792
819
|
--fs-h2: clamp(31px, 4cqi, 49px);
|
|
793
|
-
--fs-h1: clamp(38px,
|
|
820
|
+
--fs-h1: clamp(38px, 4.8cqi, 58px);
|
|
794
821
|
}
|
|
795
822
|
|
|
796
823
|
/* Debug grid overlay — 8px mascot grid. Toggle via class on any container. */
|
|
@@ -985,14 +1012,14 @@
|
|
|
985
1012
|
border-radius: var(--r-pill, 999px);
|
|
986
1013
|
}
|
|
987
1014
|
|
|
988
|
-
.ds-247420 h1, .ds-247420 .t-h1 { font-family: var(--ff-display); font-size: var(--fs-h1); line-height: var(--lh-snug); letter-spacing: var(--tr-tight); font-weight:
|
|
1015
|
+
.ds-247420 h1, .ds-247420 .t-h1 { font-family: var(--ff-display); font-size: var(--fs-h1); line-height: var(--lh-snug); letter-spacing: var(--tr-tight); font-weight: var(--fw-semibold); margin: 0; }
|
|
989
1016
|
.ds-247420 h2, .ds-247420 .t-h2 { font-family: var(--ff-display); font-size: var(--fs-h2); line-height: var(--lh-snug); letter-spacing: var(--tr-tight); font-weight: 600; margin: 0; }
|
|
990
1017
|
.ds-247420 h3, .ds-247420 .t-h3 { font-family: var(--ff-display); font-size: var(--fs-h3); line-height: var(--lh-snug); letter-spacing: -0.01em; font-weight: 600; margin: 0; }
|
|
991
1018
|
.ds-247420 h4, .ds-247420 .t-h4 { font-family: var(--ff-display); font-size: var(--fs-h4); line-height: var(--lh-snug); font-weight: 600; margin: 0; }
|
|
992
1019
|
|
|
993
|
-
.ds-247420[data-typescale="app"] h1, .ds-247420[data-typescale="app"] .t-h1 { font-size: var(--fs-h1-app); line-height: 1.15; }
|
|
994
|
-
.ds-247420[data-typescale="app"] h2, .ds-247420[data-typescale="app"] .t-h2 { font-size: var(--fs-h2-app); }
|
|
995
|
-
.ds-247420[data-typescale="app"] h3, .ds-247420[data-typescale="app"] .t-h3 { font-size: var(--fs-h3-app); }
|
|
1020
|
+
.ds-247420[data-typescale="app"] h1, .ds-247420[data-typescale="app"] .t-h1 { font-size: var(--fs-h1-app); line-height: 1.15; font-weight: var(--fw-medium); }
|
|
1021
|
+
.ds-247420[data-typescale="app"] h2, .ds-247420[data-typescale="app"] .t-h2 { font-size: var(--fs-h2-app); font-weight: var(--fw-medium); }
|
|
1022
|
+
.ds-247420[data-typescale="app"] h3, .ds-247420[data-typescale="app"] .t-h3 { font-size: var(--fs-h3-app); font-weight: var(--fw-medium); }
|
|
996
1023
|
.ds-247420[data-typescale="app"] h4, .ds-247420[data-typescale="app"] .t-h4 { font-size: var(--fs-h4-app); }
|
|
997
1024
|
|
|
998
1025
|
.ds-247420 .t-hero { font-family: var(--ff-display); font-size: var(--fs-hero); line-height: var(--lh-tight); letter-spacing: var(--tr-tighter); font-weight: 700; margin: 0; }
|
|
@@ -1002,8 +1029,8 @@
|
|
|
1002
1029
|
.ds-247420 .t-mono { font-family: var(--ff-mono); font-weight: 400; }
|
|
1003
1030
|
.ds-247420 .t-body { font-family: var(--ff-body); }
|
|
1004
1031
|
|
|
1005
|
-
.ds-247420 .t-label { font-family: var(--ff-
|
|
1006
|
-
.ds-247420 .t-micro { font-family: var(--ff-
|
|
1032
|
+
.ds-247420 .t-label { font-family: var(--ff-body); font-size: var(--fs-tiny); letter-spacing: 0; font-weight: 600; }
|
|
1033
|
+
.ds-247420 .t-micro { font-family: var(--ff-body); font-size: var(--fs-micro); letter-spacing: 0; color: var(--fg-3); font-weight: 600; }
|
|
1007
1034
|
.ds-247420 .t-meta { font-family: var(--ff-body); font-size: var(--fs-sm); color: var(--fg-3); }
|
|
1008
1035
|
|
|
1009
1036
|
.ds-247420 .lede, .ds-247420 .t-lede {
|
|
@@ -1422,9 +1449,9 @@
|
|
|
1422
1449
|
outline-offset: var(--focus-offset);
|
|
1423
1450
|
}
|
|
1424
1451
|
.ds-247420 .app-side a.active {
|
|
1425
|
-
color: var(--
|
|
1426
|
-
background: var(--
|
|
1427
|
-
font-weight:
|
|
1452
|
+
color: var(--fg);
|
|
1453
|
+
background: var(--bg-3);
|
|
1454
|
+
font-weight: 500;
|
|
1428
1455
|
}
|
|
1429
1456
|
.ds-247420 .app-side .count {
|
|
1430
1457
|
background: color-mix(in oklab, var(--fg) 10%, transparent);
|
|
@@ -1432,15 +1459,16 @@
|
|
|
1432
1459
|
padding: 3px 10px; font-size: var(--fs-micro); font-weight: 700;
|
|
1433
1460
|
border-radius: var(--r-pill);
|
|
1434
1461
|
}
|
|
1435
|
-
/*
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1462
|
+
/* Active state is a flat neutral highlight (--bg-3/--fg), not an accent
|
|
1463
|
+
fill -- no hue, just a perceivable shade step up from the plain a[href]:hover
|
|
1464
|
+
(--bg-2). --fg over --bg-3 is the same body-text pairing used everywhere
|
|
1465
|
+
else in the sidebar, so it inherits that AA contrast for free instead of
|
|
1466
|
+
depending on a per-[data-accent] retune. The count chip stays on its
|
|
1467
|
+
default neutral pairing above; there is no accent-on-ink inversion to
|
|
1468
|
+
double down on anymore. */
|
|
1441
1469
|
.ds-247420 .app-side a.active .count {
|
|
1442
|
-
background: color-mix(in oklab, var(--
|
|
1443
|
-
color: var(--
|
|
1470
|
+
background: color-mix(in oklab, var(--fg) 16%, transparent);
|
|
1471
|
+
color: var(--fg-2);
|
|
1444
1472
|
}
|
|
1445
1473
|
|
|
1446
1474
|
.ds-247420 .app-main {
|
|
@@ -1546,31 +1574,27 @@
|
|
|
1546
1574
|
}
|
|
1547
1575
|
|
|
1548
1576
|
@media (min-width: 1400px) {
|
|
1549
|
-
/*
|
|
1550
|
-
|
|
1551
|
-
instead of
|
|
1552
|
-
|
|
1553
|
-
readability
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1577
|
+
/* No outer ceiling: .app tracks 100vw at every width, including past 1920px
|
|
1578
|
+
and 2560px+ ultrawide displays, so the shell always fills the real screen
|
|
1579
|
+
edges instead of leaving dead margin on either side. Row/prose measure
|
|
1580
|
+
caps (--measure-wide, --stage-wide, 64ch, etc.) own line-length
|
|
1581
|
+
readability independently of the shell's own width, so letting .app grow
|
|
1582
|
+
unbounded does not create unreadable rows -- text still wraps at its own
|
|
1583
|
+
cap; only the surrounding chrome (panels, sidebar, status bar) stretches
|
|
1584
|
+
to use the extra space. Measured live at 2560px: the prior 1920px cap
|
|
1585
|
+
left a symmetric 320px dead margin on each side (640px total) -- this was
|
|
1586
|
+
the root cause of pages appearing to "shrink to content" rather than fill
|
|
1587
|
+
the screen on wide monitors. */
|
|
1588
|
+
.ds-247420 .app { width: 100%; margin-left: auto; margin-right: auto; }
|
|
1559
1589
|
.ds-247420 .app-main .chat,
|
|
1560
1590
|
.ds-247420 .app-main > .chat-area,
|
|
1561
1591
|
.ds-247420 .app-main > .main-content { max-width: none; margin: 0; width: 100%; }
|
|
1562
|
-
/* Status bar
|
|
1563
|
-
|
|
1592
|
+
/* Status bar spans the full-width .app edge-to-edge; no separate width
|
|
1593
|
+
constraint (which previously narrowed it). */
|
|
1564
1594
|
.ds-247420 .app-status { width: 100%; }
|
|
1565
|
-
/* Cap row text measure inside the wide
|
|
1595
|
+
/* Cap row text measure inside the wide main (ultrawide readability). */
|
|
1566
1596
|
.ds-247420 .row .title, .ds-247420 .row .sub { max-width: var(--measure-wide); }
|
|
1567
1597
|
}
|
|
1568
|
-
/* Beyond 1920px the shell itself stops growing (matches .ws-shell's own cap) —
|
|
1569
|
-
extra space becomes page margin rather than stretching sidebar/content grid
|
|
1570
|
-
tracks to distances a pointer/eye shouldn't have to travel. */
|
|
1571
|
-
@media (min-width: 2200px) {
|
|
1572
|
-
.ds-247420 .app { max-width: 1920px; }
|
|
1573
|
-
}
|
|
1574
1598
|
|
|
1575
1599
|
.ds-247420 .app-status {
|
|
1576
1600
|
display: flex; align-items: center; gap: var(--space-3);
|
|
@@ -1668,9 +1692,17 @@
|
|
|
1668
1692
|
font-weight: 700;
|
|
1669
1693
|
}
|
|
1670
1694
|
.ds-247420 .btn-primary:hover { background: var(--fg); color: var(--bg); transform: translateY(-1px); box-shadow: var(--shadow-2); }
|
|
1671
|
-
.ds-247420 .btn-ghost { background: transparent; color: var(--fg); box-shadow: inset 0 0 0
|
|
1695
|
+
.ds-247420 .btn-ghost { background: transparent; color: var(--fg); box-shadow: inset 0 0 0 var(--bw-hair) var(--fg); }
|
|
1672
1696
|
.ds-247420 .btn-ghost:hover { background: color-mix(in oklab, var(--fg) 12%, transparent); transform: translateY(-1px); }
|
|
1673
1697
|
.ds-247420 .btn:active, .ds-247420 .btn-primary:active, .ds-247420 .btn-ghost:active { transform: translateY(1px); box-shadow: none; }
|
|
1698
|
+
/* Disabled state: --fg-3 (the tuned tertiary-text token, AA-clear against
|
|
1699
|
+
every panel tier) instead of a blind opacity halving -- opacity multiplies
|
|
1700
|
+
the SURROUNDING contrast too, so a light-on-dark button can drop under 3:1
|
|
1701
|
+
even though "disabled" only needs to stay legible, not full-strength. */
|
|
1702
|
+
.ds-247420 .btn:disabled, .ds-247420 .btn-primary:disabled, .ds-247420 .btn-ghost:disabled, .ds-247420 .btn.is-disabled, .ds-247420 .btn-primary.is-disabled, .ds-247420 .btn-ghost.is-disabled {
|
|
1703
|
+
background: var(--bg-2); color: var(--fg-3); border-color: var(--rule);
|
|
1704
|
+
box-shadow: none; cursor: not-allowed; pointer-events: none;
|
|
1705
|
+
}
|
|
1674
1706
|
.ds-247420 .btn:focus-visible, .ds-247420 .btn-primary:focus-visible, .ds-247420 .btn-ghost:focus-visible, .ds-247420 .ds-icon-btn:focus-visible {
|
|
1675
1707
|
outline: var(--focus-w) solid var(--focus-color);
|
|
1676
1708
|
outline-offset: var(--focus-offset);
|
|
@@ -1680,6 +1712,23 @@
|
|
|
1680
1712
|
height: var(--ctl-sm); min-height: var(--ctl-sm);
|
|
1681
1713
|
padding: 0 var(--space-2); font-size: var(--fs-tiny); gap: var(--space-1);
|
|
1682
1714
|
}
|
|
1715
|
+
|
|
1716
|
+
/* Link-styled button: an underline (not just color) is the affordance that
|
|
1717
|
+
separates "this navigates" from "this triggers an action" -- .btn-ghost's
|
|
1718
|
+
outline reads as a secondary ACTION button, not a link, at a glance. */
|
|
1719
|
+
.ds-247420 .btn-link {
|
|
1720
|
+
display: inline-flex; align-items: center; gap: var(--space-1);
|
|
1721
|
+
background: none; border: none; box-shadow: none; padding: 0;
|
|
1722
|
+
height: auto; min-height: 0;
|
|
1723
|
+
font-family: var(--ff-body); font-weight: 600; font-size: var(--fs-sm);
|
|
1724
|
+
color: var(--accent-ink); text-decoration: underline; text-underline-offset: 3px;
|
|
1725
|
+
cursor: pointer;
|
|
1726
|
+
}
|
|
1727
|
+
.ds-247420 .btn-link:hover { color: var(--fg); }
|
|
1728
|
+
.ds-247420 .btn-link:focus-visible {
|
|
1729
|
+
outline: var(--focus-w) solid var(--focus-color);
|
|
1730
|
+
outline-offset: var(--focus-offset);
|
|
1731
|
+
}
|
|
1683
1732
|
.ds-247420 .btn-lg, .ds-247420 .btn-lg.btn-primary, .ds-247420 .btn-lg.btn-ghost {
|
|
1684
1733
|
height: var(--ctl-lg); min-height: var(--ctl-lg);
|
|
1685
1734
|
padding: 0 var(--space-4); font-size: var(--fs-body); gap: var(--space-2);
|
|
@@ -1720,10 +1769,13 @@
|
|
|
1720
1769
|
.ds-247420 .ds-icon-btn-ghost:hover { background: var(--fg); color: var(--bg); }
|
|
1721
1770
|
.ds-247420 .ds-icon-btn-primary { background: var(--accent); color: var(--accent-fg); }
|
|
1722
1771
|
.ds-247420 .ds-icon-btn-primary:hover { background: var(--fg); color: var(--accent-ink); }
|
|
1723
|
-
/* --
|
|
1724
|
-
--warn (#FF5A52
|
|
1725
|
-
|
|
1726
|
-
.
|
|
1772
|
+
/* --warn-fg (not a bare --ink/--on-color literal): --ink only clears AA
|
|
1773
|
+
against dark theme's lighter --warn (#FF5A52, 6.27:1); light theme's
|
|
1774
|
+
--warn is a darker red (#C41C0C) where --ink measures just 2.92:1, well
|
|
1775
|
+
under the 4.5:1 floor. --warn-fg is the theme-paired token (light: paper
|
|
1776
|
+
text 5.97:1, dark: ink text 6.27:1) -- same fix as .btn-primary.danger in
|
|
1777
|
+
app-shell/files.css, which had this exact light-theme regression live. */
|
|
1778
|
+
.ds-247420 .ds-icon-btn-danger { background: var(--warn); color: var(--warn-fg); }
|
|
1727
1779
|
.ds-247420 .ds-icon-btn-danger:hover { filter: brightness(0.92); }
|
|
1728
1780
|
.ds-247420 .ds-icon-btn:active { transform: translateY(1px); }
|
|
1729
1781
|
.ds-247420 .ds-icon-btn:disabled, .ds-247420 .ds-icon-btn.is-disabled {
|
|
@@ -1929,7 +1981,7 @@
|
|
|
1929
1981
|
.ds-247420 .ds-tooltip[data-placement^="bottom"]::after { top: -3px; left: 50%; margin-left: -3px; }
|
|
1930
1982
|
.ds-247420 .ds-tooltip[data-placement^="left"]::after { right: -3px; top: 50%; margin-top: -3px; }
|
|
1931
1983
|
.ds-247420 .ds-tooltip[data-placement^="right"]::after { left: -3px; top: 50%; margin-top: -3px; }
|
|
1932
|
-
.ds-247420 .ds-tooltip.kind-danger { background: var(--warn); color: var(--
|
|
1984
|
+
.ds-247420 .ds-tooltip.kind-danger { background: var(--warn); color: var(--warn-fg); }
|
|
1933
1985
|
.ds-247420 .ds-tooltip.kind-danger::after { background: var(--warn); }
|
|
1934
1986
|
@media (prefers-reduced-motion: reduce) {
|
|
1935
1987
|
.ds-247420 .ds-tooltip { transition: none; }
|
|
@@ -1939,18 +1991,40 @@
|
|
|
1939
1991
|
Panel — soft tonal container, no border decoration
|
|
1940
1992
|
============================================================ */
|
|
1941
1993
|
.ds-247420 .panel {
|
|
1942
|
-
|
|
1943
|
-
|
|
1994
|
+
/* PilotDeck-parity: the reference canvas has NO visible container edge
|
|
1995
|
+
anywhere except a single hairline (sidebar only) — page bg and panel
|
|
1996
|
+
fill read as the same tone. Stacking a tonal fill + a border + a shadow
|
|
1997
|
+
(the previous three-layer treatment) is what critics independently
|
|
1998
|
+
flagged as "every card reads as a boxed gray tile" / "grid of gray
|
|
1999
|
+
cards" — the single most-repeated, highest-impact gap. Panels are now
|
|
2000
|
+
flat (transparent, no border): content groups are separated by
|
|
2001
|
+
whitespace and an optional --panel-shadow-1 whisper only, never a fill.
|
|
2002
|
+
Use .panel-tonal to opt back into the filled/bordered look for surfaces
|
|
2003
|
+
that genuinely need a floating card (e.g. dropdowns, dialogs already
|
|
2004
|
+
have their own elevation scale and are unaffected). */
|
|
2005
|
+
background: transparent;
|
|
2006
|
+
border: none;
|
|
1944
2007
|
border-radius: var(--r-2);
|
|
1945
|
-
|
|
1946
|
-
|
|
2008
|
+
/* AGENTS.md "outer 2:1 inner": outer separation is --space-6, inner
|
|
2009
|
+
sibling gap --space-4 (48:24 = 2:1), matching .ds-panel-trio/
|
|
2010
|
+
.ds-panel-duo. Bumped up one rung from --space-5/--space-3 for more
|
|
2011
|
+
PilotDeck-style airy whitespace while preserving the 2:1 ratio. */
|
|
2012
|
+
margin: 0 0 var(--space-6);
|
|
2013
|
+
padding: var(--space-4);
|
|
1947
2014
|
position: relative;
|
|
1948
|
-
/* Crisp, restrained elevation — a hairline border does the edge definition;
|
|
1949
|
-
the shadow only adds a whisper of lift, not a soft glow-card float. */
|
|
1950
|
-
box-shadow: var(--shadow-1);
|
|
1951
2015
|
transition: box-shadow var(--dur-base) var(--ease-spring), border-color var(--dur-snap) var(--ease),
|
|
1952
2016
|
transform var(--dur-base) var(--ease-spring);
|
|
1953
2017
|
}
|
|
2018
|
+
/* Opt-in tonal/bordered card — the pre-restyle .panel look, kept for
|
|
2019
|
+
surfaces that need to read as a discrete floating card rather than a
|
|
2020
|
+
text grouping on flat canvas (e.g. a composer input, which PilotDeck
|
|
2021
|
+
itself DOES give a faint 1px border+no fill — see .panel-inline below
|
|
2022
|
+
for that exact treatment). */
|
|
2023
|
+
.ds-247420 .panel.panel-tonal {
|
|
2024
|
+
background: var(--panel-1, var(--bg-2));
|
|
2025
|
+
border: var(--bw-hair) solid var(--rule);
|
|
2026
|
+
box-shadow: var(--panel-shadow-1);
|
|
2027
|
+
}
|
|
1954
2028
|
/* Editorial accent spine — an opt-in printed-ink rule down the left edge that
|
|
1955
2029
|
reads as a magazine pull-quote bar, not a glow card. */
|
|
1956
2030
|
.ds-247420 .panel.panel-spine {
|
|
@@ -1962,7 +2036,9 @@
|
|
|
1962
2036
|
width: var(--bw-chunk); background: var(--accent);
|
|
1963
2037
|
border-radius: var(--bw-chunk) 0 0 var(--bw-chunk);
|
|
1964
2038
|
}
|
|
1965
|
-
|
|
2039
|
+
/* PilotDeck's composer is the ONE element with a visible edge on an
|
|
2040
|
+
otherwise flat canvas — a faint 1px border, no tonal fill. */
|
|
2041
|
+
.ds-247420 .panel.panel-inline { background: transparent; border: var(--bw-hair) solid var(--rule); padding: var(--space-3) var(--space-3); }
|
|
1966
2042
|
.ds-247420 .panel.panel-wide { background: transparent; box-shadow: none; border: none; }
|
|
1967
2043
|
/* Changelog (and any other panel-wide content) needs its OWN container-query
|
|
1968
2044
|
context: the existing `@container (max-width: 760px) .ds-changelog-row`
|
|
@@ -1993,11 +2069,11 @@
|
|
|
1993
2069
|
rows sit on ONE left axis (the old 24/32 padding was authored for the
|
|
1994
2070
|
pre-padding .panel-wide era and indented the label 16px past its content). */
|
|
1995
2071
|
padding: var(--space-2) var(--space-3);
|
|
1996
|
-
font-size: var(--fs-
|
|
1997
|
-
color: var(--fg-
|
|
1998
|
-
letter-spacing:
|
|
2072
|
+
font-size: var(--fs-sm); font-weight: 600;
|
|
2073
|
+
color: var(--fg-2);
|
|
2074
|
+
letter-spacing: 0;
|
|
1999
2075
|
/* A hairline divider is the header's only structural separator from the
|
|
2000
|
-
body — without it,
|
|
2076
|
+
body — without it, a sentence-case label at fs-sm/600 reads as just
|
|
2001
2077
|
another dim meta line once the eye drops past the top of the panel. */
|
|
2002
2078
|
border-bottom: var(--bw-hair) solid var(--rule);
|
|
2003
2079
|
margin-bottom: var(--space-1);
|
|
@@ -2466,11 +2542,15 @@
|
|
|
2466
2542
|
border-radius: var(--r-3);
|
|
2467
2543
|
font-family: var(--ff-mono); font-size: var(--fs-lg);
|
|
2468
2544
|
}
|
|
2469
|
-
.ds-
|
|
2545
|
+
/* user-select:none (matching .ds-cli-row .prompt below) so selecting/copying
|
|
2546
|
+
a command line grabs only the command text, not the prompt mark itself --
|
|
2547
|
+
otherwise every copy-pasted line carries a leading '$ ' that has to be
|
|
2548
|
+
stripped by hand before it can be re-run. */
|
|
2549
|
+
.ds-247420 .cli .prompt { color: var(--green-2); user-select: none; }
|
|
2470
2550
|
.ds-247420 .cli .cmd { flex: 1; min-width: 0; overflow-x: auto; white-space: nowrap; color: var(--paper); }
|
|
2471
2551
|
.ds-247420 .cli .copy {
|
|
2472
2552
|
padding: var(--space-2) var(--space-3); background: transparent; color: var(--paper);
|
|
2473
|
-
font-size: var(--fs-tiny);
|
|
2553
|
+
font-size: var(--fs-tiny); letter-spacing: var(--tr-tight); font-weight: 500;
|
|
2474
2554
|
cursor: pointer; box-shadow: inset 0 0 0 1px var(--rule-strong);
|
|
2475
2555
|
border-radius: var(--r-pill);
|
|
2476
2556
|
}
|
|
@@ -2512,7 +2592,7 @@
|
|
|
2512
2592
|
.ds-247420 .ds-quickstart-copy {
|
|
2513
2593
|
align-self: flex-end;
|
|
2514
2594
|
padding: var(--space-2) var(--space-3); background: transparent; color: var(--paper);
|
|
2515
|
-
font-family: var(--ff-
|
|
2595
|
+
font-family: var(--ff-body); font-size: var(--fs-tiny); letter-spacing: var(--tr-tight); font-weight: 500;
|
|
2516
2596
|
cursor: pointer; box-shadow: inset 0 0 0 1px var(--rule-strong);
|
|
2517
2597
|
border-radius: var(--r-pill); border: none;
|
|
2518
2598
|
}
|
|
@@ -2679,7 +2759,11 @@
|
|
|
2679
2759
|
============================================================ */
|
|
2680
2760
|
.ds-247420 .ds-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex-shrink: 0; vertical-align: middle; }
|
|
2681
2761
|
.ds-247420 .ds-dot-on { color: var(--green-2); }
|
|
2682
|
-
|
|
2762
|
+
/* Off/idle reads as a HOLLOW ring (transparent fill, currentColor outline)
|
|
2763
|
+
instead of a solid dot in a dimmer color -- filled-vs-outline is a shape
|
|
2764
|
+
cue that survives grayscale/colorblind simulation, where a solid green dot
|
|
2765
|
+
and a solid gray dot at the same size can look identical in luminance. */
|
|
2766
|
+
.ds-247420 .ds-dot-off { color: var(--fg-3); background: transparent; box-shadow: inset 0 0 0 1.5px currentColor; }
|
|
2683
2767
|
/* live is a distinct hue from a plain "on" dot — see .chip.tone-live's
|
|
2684
2768
|
comment for the success-vs-live rationale. */
|
|
2685
2769
|
.ds-247420 .ds-dot-live { color: var(--sky); }
|
|
@@ -2744,7 +2828,7 @@
|
|
|
2744
2828
|
.ds-247420 .kpi-card .lbl {
|
|
2745
2829
|
font-size: var(--fs-xs); color: var(--fg-3);
|
|
2746
2830
|
font-weight: 600; margin-top: 8px;
|
|
2747
|
-
letter-spacing: var(--tr-
|
|
2831
|
+
letter-spacing: var(--tr-tight);
|
|
2748
2832
|
}
|
|
2749
2833
|
.ds-247420 .kpi-foot {
|
|
2750
2834
|
display: flex; align-items: center; justify-content: space-between;
|
|
@@ -3874,8 +3958,8 @@
|
|
|
3874
3958
|
.ds-247420 .btn-primary.danger {
|
|
3875
3959
|
background: var(--warn);
|
|
3876
3960
|
border-color: var(--warn);
|
|
3877
|
-
color: var(--
|
|
3878
|
-
box-shadow: inset 0 0 0 var(--bw-hair, 1px) color-mix(in oklab, var(--
|
|
3961
|
+
color: var(--warn-fg);
|
|
3962
|
+
box-shadow: inset 0 0 0 var(--bw-hair, 1px) color-mix(in oklab, var(--warn-fg) 25%, transparent);
|
|
3879
3963
|
font-weight: 700;
|
|
3880
3964
|
letter-spacing: 0.01em;
|
|
3881
3965
|
}
|
|
@@ -4006,7 +4090,7 @@
|
|
|
4006
4090
|
.ds-247420 .ds-catalog-side h1 { font-size: var(--fs-lg); margin: 0 0 var(--space-1); }
|
|
4007
4091
|
.ds-247420 .ds-catalog-side .subtitle { font-size: var(--fs-micro); color: var(--fg-3); margin: 0 0 var(--space-4); }
|
|
4008
4092
|
.ds-247420 .ds-catalog-side nav h4 {
|
|
4009
|
-
font-size: var(--fs-micro);
|
|
4093
|
+
font-size: var(--fs-micro); letter-spacing: var(--tr-tight); font-weight: 600;
|
|
4010
4094
|
color: var(--fg-3); margin: var(--space-3) 0 var(--space-1);
|
|
4011
4095
|
}
|
|
4012
4096
|
.ds-247420 .ds-catalog-side nav a {
|
|
@@ -4206,7 +4290,7 @@
|
|
|
4206
4290
|
width: 36px; height: 36px; flex-shrink: 0;
|
|
4207
4291
|
border-radius: 50%; background: var(--bg-3); color: var(--fg);
|
|
4208
4292
|
display: inline-flex; align-items: center; justify-content: center;
|
|
4209
|
-
font-family: var(--ff-
|
|
4293
|
+
font-family: var(--ff-body); font-size: var(--fs-micro); font-weight: 600;
|
|
4210
4294
|
text-transform: lowercase; letter-spacing: 0.02em; user-select: none;
|
|
4211
4295
|
transition: transform 0.12s ease, box-shadow 0.12s ease;
|
|
4212
4296
|
position: relative;
|
|
@@ -4505,7 +4589,7 @@
|
|
|
4505
4589
|
.ds-247420 .chat-link .thumb,
|
|
4506
4590
|
.ds-247420 .chat-link img.thumb { width: 80px; height: 80px; border-radius: var(--r-0); object-fit: cover; background: var(--bg-3) center/cover no-repeat; }
|
|
4507
4591
|
.ds-247420 .chat-link .meta { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
|
|
4508
|
-
.ds-247420 .chat-link .host { font-family: var(--ff-
|
|
4592
|
+
.ds-247420 .chat-link .host { font-family: var(--ff-body); font-size: var(--fs-xs); color: var(--fg-3); text-transform: lowercase; }
|
|
4509
4593
|
.ds-247420 .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; }
|
|
4510
4594
|
.ds-247420 .chat-link .desc { font-size: var(--fs-xs); color: var(--fg-2); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
|
|
4511
4595
|
|
|
@@ -4517,7 +4601,7 @@
|
|
|
4517
4601
|
.ds-247420 .chat-meta .who { font-weight: 600; color: var(--fg-2); }
|
|
4518
4602
|
.ds-247420 .chat-meta .who::after { content: ' ·'; color: var(--fg-3); font-weight: 400; }
|
|
4519
4603
|
.ds-247420 .chat-meta .t { color: var(--fg-3); }
|
|
4520
|
-
.ds-247420 .chat-meta .tick { color: var(--fg-3); margin-left: var(--space-hair); letter-spacing: -2px; font-family: var(--ff-
|
|
4604
|
+
.ds-247420 .chat-meta .tick { color: var(--fg-3); margin-left: var(--space-hair); letter-spacing: -2px; font-family: var(--ff-body); }
|
|
4521
4605
|
.ds-247420 .chat-meta .tick.read { color: var(--accent-ink); }
|
|
4522
4606
|
|
|
4523
4607
|
.ds-247420 .chat-reactions {
|
|
@@ -4892,12 +4976,12 @@
|
|
|
4892
4976
|
|
|
4893
4977
|
.ds-247420 .app-side .count {
|
|
4894
4978
|
padding: 1px 8px; font-size: var(--fs-micro); font-weight: 700;
|
|
4895
|
-
font-family: var(--ff-
|
|
4979
|
+
font-family: var(--ff-body); letter-spacing: 0.04em;
|
|
4896
4980
|
min-width: 18px; text-align: center;
|
|
4897
4981
|
}
|
|
4898
4982
|
.ds-247420 .app-side a:has(> .count:empty) > .count,
|
|
4899
4983
|
.ds-247420 .app-side .count:empty { display: none; }
|
|
4900
|
-
.ds-247420 .app-side a .glyph { font-family: var(--ff-
|
|
4984
|
+
.ds-247420 .app-side a .glyph { font-family: var(--ff-body); font-size: 13px; font-weight: 600; color: var(--fg-3); text-align: center; }
|
|
4901
4985
|
.ds-247420 .app-side a.active .glyph { color: var(--accent-ink); }
|
|
4902
4986
|
|
|
4903
4987
|
/* -- select primitive --------------------------------------------------- */
|
|
@@ -6201,11 +6285,14 @@
|
|
|
6201
6285
|
@media (prefers-reduced-motion: no-preference) {
|
|
6202
6286
|
.ds-247420 .ws-shell { transition: grid-template-columns var(--dur-base) var(--ease); }
|
|
6203
6287
|
}
|
|
6204
|
-
/* Ultrawide:
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
|
|
6288
|
+
/* Ultrawide: .ws-shell itself stays full-width (fills the real screen edges
|
|
6289
|
+
at any viewport, matching .app's own unbounded-width rule in topbar.css) --
|
|
6290
|
+
only the 1fr content track's OWN inner measure is capped, so rail/sessions/
|
|
6291
|
+
pane keep their fixed/clamped widths and only the middle content column's
|
|
6292
|
+
text gets a readability ceiling, instead of the whole grid (and its side
|
|
6293
|
+
columns) shrinking together and leaving dead margin on either side of the
|
|
6294
|
+
shell. */
|
|
6295
|
+
.ds-247420 .ws-content { max-width: var(--measure-wide, 1200px); margin-inline: auto; width: 100%; }
|
|
6209
6296
|
|
|
6210
6297
|
/* Rail (left nav) */
|
|
6211
6298
|
.ds-247420 .ws-rail {
|
|
@@ -7274,8 +7361,13 @@
|
|
|
7274
7361
|
/* .ds-field-eyebrow joins the kit small-label voice above with no overrides. */
|
|
7275
7362
|
.ds-247420 .ds-hint-sm { font-size: var(--fs-xs); color: var(--panel-text-2); }
|
|
7276
7363
|
.ds-247420 .ds-note-quiet { margin: 0; color: var(--panel-text-2); }
|
|
7277
|
-
.ds-247420 .ds-btn-row { display: flex; gap: var(--space-2, 8px); flex-wrap: wrap; }
|
|
7364
|
+
.ds-247420 .ds-btn-row { display: flex; gap: var(--space-2, 8px); flex-wrap: wrap; align-items: center; }
|
|
7278
7365
|
.ds-247420 .ds-btn-row-tight { gap: var(--space-1-75, 6px); }
|
|
7366
|
+
/* Size-ladder demo group: each size's caption+button pair stacks and the
|
|
7367
|
+
group aligns at the BOTTOM so buttons of different heights share one
|
|
7368
|
+
visual baseline instead of centering on their own mismatched midpoints. */
|
|
7369
|
+
.ds-247420 .ds-btn-size-row { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: flex-end; }
|
|
7370
|
+
.ds-247420 .ds-btn-size-col { display: flex; flex-direction: column; gap: var(--space-1-75); align-items: flex-start; }
|
|
7279
7371
|
.ds-247420 .ds-key-input { flex: 1 1 160px; min-width: 0; font-family: var(--ff-mono); }
|
|
7280
7372
|
.ds-247420 .ds-toggle-btn { min-width: 78px; }
|
|
7281
7373
|
/* Side-by-side checked/unchecked reference pair (settings kit theme panel) --
|
|
@@ -7586,7 +7678,7 @@
|
|
|
7586
7678
|
.ds-247420 .ds-avatar {
|
|
7587
7679
|
display: inline-flex; align-items: center; justify-content: center;
|
|
7588
7680
|
border-radius: 50%; background: var(--bg-3); color: var(--fg);
|
|
7589
|
-
font-family: var(--ff-
|
|
7681
|
+
font-family: var(--ff-body); font-weight: 600; text-transform: lowercase;
|
|
7590
7682
|
letter-spacing: 0.02em; user-select: none; flex-shrink: 0; object-fit: cover;
|
|
7591
7683
|
box-shadow: inset 0 0 0 1px var(--rule);
|
|
7592
7684
|
}
|
|
@@ -7811,8 +7903,7 @@
|
|
|
7811
7903
|
color: var(--fg-3);
|
|
7812
7904
|
font-family: var(--ff-mono);
|
|
7813
7905
|
font-size: var(--fs-xs);
|
|
7814
|
-
letter-spacing: 0
|
|
7815
|
-
text-transform: uppercase;
|
|
7906
|
+
letter-spacing: 0;
|
|
7816
7907
|
}
|
|
7817
7908
|
.ds-247420 .panel.panel-docs .panel-title::before {
|
|
7818
7909
|
content: 'docs · ';
|
|
@@ -7929,7 +8020,7 @@
|
|
|
7929
8020
|
.ds-247420 .ds-git-status-chip {
|
|
7930
8021
|
display: inline-flex; align-items: center; justify-content: center;
|
|
7931
8022
|
flex: 0 0 auto; width: 18px; height: 18px;
|
|
7932
|
-
font-family: var(--ff-
|
|
8023
|
+
font-family: var(--ff-body); font-size: var(--fs-micro); font-weight: 700;
|
|
7933
8024
|
border-radius: var(--r-1);
|
|
7934
8025
|
}
|
|
7935
8026
|
.ds-247420 .ds-git-status-chip.tone-add { color: var(--green-2); background: color-mix(in oklab, var(--green-2) 16%, transparent); }
|
|
@@ -7947,7 +8038,7 @@
|
|
|
7947
8038
|
flex: 0 0 auto; font-size: var(--fs-micro); color: var(--fg-3);
|
|
7948
8039
|
border: var(--bw-hair) solid var(--rule); border-radius: var(--r-1); padding: 1px 6px;
|
|
7949
8040
|
}
|
|
7950
|
-
.ds-247420 .ds-git-row-stats { flex: 0 0 auto; display: inline-flex; gap: 6px; font-family: var(--ff-
|
|
8041
|
+
.ds-247420 .ds-git-row-stats { flex: 0 0 auto; display: inline-flex; gap: 6px; font-family: var(--ff-body); font-size: var(--fs-micro); }
|
|
7951
8042
|
.ds-247420 .ds-git-stat-add { color: var(--green-2); }
|
|
7952
8043
|
.ds-247420 .ds-git-stat-del { color: var(--flame); }
|
|
7953
8044
|
|
|
@@ -8074,7 +8165,7 @@
|
|
|
8074
8165
|
|
|
8075
8166
|
.ds-247420 .ds-plugins-row-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
|
|
8076
8167
|
.ds-247420 .ds-plugins-row-name {
|
|
8077
|
-
font-family: var(--ff-
|
|
8168
|
+
font-family: var(--ff-body); font-size: var(--fs-sm); color: var(--fg);
|
|
8078
8169
|
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
|
8079
8170
|
}
|
|
8080
8171
|
.ds-247420 .ds-plugins-row-meta {
|
|
@@ -8103,7 +8194,7 @@
|
|
|
8103
8194
|
}
|
|
8104
8195
|
.ds-247420 .ds-plugins-detail-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
|
|
8105
8196
|
.ds-247420 .ds-plugins-detail-title .name {
|
|
8106
|
-
font-family: var(--ff-
|
|
8197
|
+
font-family: var(--ff-body); font-size: var(--fs-md); font-weight: 600; color: var(--fg);
|
|
8107
8198
|
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
|
8108
8199
|
}
|
|
8109
8200
|
.ds-247420 .ds-plugins-version { font-size: var(--fs-micro); color: var(--fg-3); }
|
|
@@ -8139,7 +8230,7 @@
|
|
|
8139
8230
|
|
|
8140
8231
|
.ds-247420 .ds-plugins-group-label {
|
|
8141
8232
|
font-size: var(--fs-micro); font-weight: 600; color: var(--fg-3);
|
|
8142
|
-
|
|
8233
|
+
letter-spacing: 0; margin-bottom: 6px;
|
|
8143
8234
|
}
|
|
8144
8235
|
.ds-247420 .ds-plugins-requires-list { display: flex; flex-wrap: wrap; gap: 6px; }
|
|
8145
8236
|
.ds-247420 .ds-plugins-chip {
|
|
@@ -8216,7 +8307,7 @@
|
|
|
8216
8307
|
display: flex; align-items: center; gap: var(--space-2);
|
|
8217
8308
|
margin-bottom: var(--space-2);
|
|
8218
8309
|
}
|
|
8219
|
-
.ds-247420 .ds-mc-detail-title { font-family: var(--ff-
|
|
8310
|
+
.ds-247420 .ds-mc-detail-title { font-family: var(--ff-body); font-size: var(--fs-base); font-weight: 700; }
|
|
8220
8311
|
|
|
8221
8312
|
.ds-247420 .ds-mc-discovery-error {
|
|
8222
8313
|
display: flex; align-items: center; gap: var(--space-1-75);
|
|
@@ -8271,7 +8362,7 @@
|
|
|
8271
8362
|
.ds-247420 .ds-skills-group-label {
|
|
8272
8363
|
padding: var(--space-2) var(--space-2) 3px;
|
|
8273
8364
|
font-size: var(--fs-micro); font-weight: 600; color: var(--fg-3);
|
|
8274
|
-
|
|
8365
|
+
letter-spacing: 0;
|
|
8275
8366
|
}
|
|
8276
8367
|
|
|
8277
8368
|
.ds-247420 .ds-skills-description { font-size: var(--fs-sm); color: var(--fg-2); line-height: 1.5; }
|
|
@@ -8462,8 +8553,7 @@
|
|
|
8462
8553
|
.ds-247420 .ds-cal-weekday-label {
|
|
8463
8554
|
font-size: var(--fs-micro);
|
|
8464
8555
|
font-weight: 600;
|
|
8465
|
-
letter-spacing:
|
|
8466
|
-
text-transform: uppercase;
|
|
8556
|
+
letter-spacing: 0;
|
|
8467
8557
|
color: var(--fg-3);
|
|
8468
8558
|
text-align: center;
|
|
8469
8559
|
padding-block: var(--space-1);
|