anentrypoint-design 0.0.230 → 0.0.231

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 CHANGED
@@ -629,7 +629,7 @@ a.row:hover .meta, .row[role="button"]:hover .meta { color: var(--accent-ink); t
629
629
  .row.rail-green::before,
630
630
  .row.rail-purple::before,
631
631
  .row.rail-flame::before { height: 56%; opacity: 1; }
632
- .row.rail-green::before { background: var(--accent); }
632
+ .row.rail-green::before { background: var(--accent-ink); }
633
633
  .row.rail-purple::before { background: var(--purple-2); }
634
634
  .row.rail-flame::before { background: var(--flame); }
635
635
  /* Differentiate the rail by SHAPE, not hue alone (color-blind safety): error
@@ -3358,7 +3358,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
3358
3358
  /* Crumb band is the top chrome of the content column: a stable height so the
3359
3359
  top edge aligns with the rail head, and a left gutter matching .ws-main so
3360
3360
  the trail text is not flush against the rail border. */
3361
- .ws-crumb { flex: 0 0 auto; min-height: 48px; padding: 0 var(--space-5); display: flex; align-items: center; gap: var(--space-1); border-bottom: var(--bw-hair) solid var(--bg-3); }
3361
+ .ws-crumb { flex: 0 0 auto; min-height: calc(var(--app-crumb-h) + var(--space-3)); padding: 0 var(--space-5); display: flex; align-items: center; gap: var(--space-1); border-bottom: var(--bw-hair) solid var(--bg-3); }
3362
3362
  .ws-crumb-main { flex: 1 1 auto; min-width: 0; }
3363
3363
  /* Content column gutter. Claude-Code-class calm: file grid / dashboard / event
3364
3364
  list / history get a generous, consistent inner gutter instead of butting
@@ -3553,6 +3553,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
3553
3553
  /* Disabled file actions (read-only row / in-flight mutation) stay visible but inert. */
3554
3554
  .ds-file-act:disabled { opacity: .45; cursor: default; }
3555
3555
  .ds-file-act:disabled:hover { background: transparent; color: var(--fg-3); }
3556
+ .ds-file-act:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
3556
3557
 
3557
3558
  /* ============================================================
3558
3559
  Print — linearize WorkspaceShell so main content prints in full.
package/chat.css CHANGED
@@ -334,7 +334,7 @@
334
334
  /* Live: a persistent faint concentric ring (resting shape channel, independent
335
335
  of motion) with the pulse layered on top — so even at the pulse trough the
336
336
  disc reads as solid-fill + ring, never a bare solid that aliases stale. */
337
- .status-dot-disc.status-dot-live { background: var(--accent); box-shadow: 0 0 0 2px color-mix(in oklab, var(--accent) 30%, transparent); animation: status-disc-pulse 1.8s ease-in-out infinite; }
337
+ .status-dot-disc.status-dot-live { background: var(--accent-ink); box-shadow: 0 0 0 2px color-mix(in oklab, var(--accent-ink) 30%, transparent); animation: status-disc-pulse 1.8s ease-in-out infinite; }
338
338
  .status-dot-disc.status-dot-error { background: var(--flame); box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--flame) 38%, transparent); }
339
339
  .status-dot-disc.status-dot-connecting { background: transparent; box-shadow: inset 0 0 0 2px var(--amber); }
340
340
  /* Stale: a muted ring with a hollow centre — silhouette distinct from live's
@@ -372,7 +372,7 @@
372
372
  .ds-session-new:hover { background: var(--bg-2); color: var(--fg); }
373
373
  /* Rail filter uses the shared .ds-search-input primitive (provides bg/border/
374
374
  radius/focus-ring); only the rail layout + touch floor live here. */
375
- .ds-session-head .ds-search-input { order: 1; flex: 1 1 auto; min-width: 0; }
375
+ .ds-session-head .ds-search-input { order: 1; flex: 1 1 auto; min-width: 0; min-height: 36px; padding: 0 10px; }
376
376
  .ds-session-new:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
377
377
  /* Touch floor (must FOLLOW the base rules - same specificity, order decides). */
378
378
  @media (pointer: coarse) {
@@ -384,7 +384,7 @@
384
384
  label sticks to the top of the scroll area for Claude-Desktop-style headers. */
385
385
  .ds-session-group { display: flex; flex-direction: column; }
386
386
  .ds-session-group-rows { display: flex; flex-direction: column; gap: 2px; }
387
- .ds-session-group-label { position: sticky; top: 0; z-index: 1; background: var(--bg-1, var(--bg)); font-size: var(--fs-tiny); font-weight: 600; color: var(--fg-3); text-transform: uppercase; letter-spacing: var(--tr-caps); padding: var(--space-2) var(--space-2) var(--space-1); }
387
+ .ds-session-group-label { position: sticky; top: 0; z-index: 1; background: var(--bg-1, var(--bg)); font-size: var(--fs-xs); font-weight: 600; color: var(--fg-3); text-transform: uppercase; letter-spacing: var(--tr-caps); padding: var(--space-2) var(--space-2) var(--space-1); }
388
388
  .ds-session-row {
389
389
  position: relative; display: flex; align-items: center; gap: var(--space-2);
390
390
  width: 100%; padding: var(--space-2); min-height: 52px; margin-bottom: 2px;
@@ -399,7 +399,7 @@
399
399
  }
400
400
  /* Rail tones MUST match .row.rail-* in app-shell.css so the same semantic state
401
401
  reads as one colour across the conversation list and content rows. */
402
- .ds-session-row.rail-green::before { background: var(--accent); }
402
+ .ds-session-row.rail-green::before { background: var(--accent-ink); }
403
403
  .ds-session-row.rail-purple::before { background: var(--purple-2); }
404
404
  .ds-session-row.rail-flame::before { background: var(--flame); }
405
405
  .ds-session-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
@@ -462,8 +462,8 @@
462
462
  ---------------------------------------------------------------------------- */
463
463
  .ds-context { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-3); }
464
464
  .ds-context .panel { background: var(--bg-2); border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-2); }
465
- .ds-context .row .meta { font-family: var(--ff-mono); font-size: var(--fs-tiny); color: var(--fg-2); }
466
- .ds-context .row .sub { font-family: var(--ff-mono); font-size: var(--fs-tiny); color: var(--fg-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
465
+ .ds-context .row .meta { font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-2); }
466
+ .ds-context .row .sub { font-size: var(--fs-xs); color: var(--fg-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
467
467
  .ds-context-actions { display: flex; gap: var(--space-2); }
468
468
 
469
469
  /* ============================================================================
@@ -485,7 +485,7 @@
485
485
  opacity: 0; transition: opacity var(--dur-snap, .12s) var(--ease, ease);
486
486
  }
487
487
  .chat-code-block:hover .chat-code-copy, .chat-code-block:focus-within .chat-code-copy { opacity: 1; }
488
- .chat-code-copy.is-copied { color: var(--accent); border-color: var(--accent); }
488
+ .chat-code-copy.is-copied { color: var(--accent-ink); border-color: var(--accent); }
489
489
  .chat-code-copy:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; opacity: 1; }
490
490
  /* Head-placed copy (structured CodeNode + FilePreviewCode) is always visible. */
491
491
  .chat-code-head .spread { flex: 1; }
@@ -532,7 +532,7 @@ button.chat-composer-context:focus-visible { outline: var(--focus-w) solid var(-
532
532
 
533
533
  /* --- C1: stale/idle dashboard status (static, NOT pulsing). --- */
534
534
  .ds-dash-status.is-stale { color: var(--stale); }
535
- .ds-dash-status.is-running { color: var(--accent); }
535
+ .ds-dash-status.is-running { color: var(--accent-ink); }
536
536
 
537
537
  /* --- C2: dashboard sort/filter toolbar + stream-state line. --- */
538
538
  /* The toolbar is part of the ONE header row (count | heartbeat ... filter,
@@ -548,7 +548,7 @@ button.chat-composer-context:focus-visible { outline: var(--focus-w) solid var(-
548
548
  width: auto; border-radius: var(--r-1);
549
549
  }
550
550
  .ds-dash-stream { font-size: var(--fs-tiny); color: var(--fg-3); }
551
- .ds-dash-stream.is-connected { color: var(--accent); }
551
+ .ds-dash-stream.is-connected { color: var(--accent-ink); }
552
552
  .ds-dash-stream.is-lost { color: var(--flame); }
553
553
  .ds-dash-stream.is-connecting { color: var(--amber); }
554
554
  .ds-dash-header .spread { flex: 1; }
@@ -567,7 +567,7 @@ button.chat-composer-context:focus-visible { outline: var(--focus-w) solid var(-
567
567
  border: none; background: none; color: var(--fg-3);
568
568
  font-family: var(--ff-mono); font-size: var(--fs-sm);
569
569
  }
570
- .ds-dash-select[aria-checked="true"] { color: var(--accent); }
570
+ .ds-dash-select[aria-checked="true"] { color: var(--accent-ink); }
571
571
  .ds-dash-select:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
572
572
 
573
573
  /* --- C5: active dashboard card (current conversation). --- */
@@ -731,7 +731,7 @@ button.chat-composer-context:focus-visible { outline: var(--focus-w) solid var(-
731
731
 
732
732
  /* Dashboard: shared session title heading (same string as the rails). */
733
733
  .ds-dash-title {
734
- font-size: var(--fs-body); font-weight: 600; color: var(--fg);
734
+ font-size: var(--fs-sm); font-weight: 600; color: var(--fg);
735
735
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
736
736
  }
737
737
 
@@ -765,7 +765,7 @@ button.chat-composer-context:focus-visible { outline: var(--focus-w) solid var(-
765
765
  .chat-msg-flat .chat-stack { max-width: var(--measure); width: 100%; margin: 0; align-items: stretch; }
766
766
  .chat-msg-flat.you .chat-stack { align-items: stretch; }
767
767
  .chat-role { font-size: var(--fs-tiny); font-weight: 600; text-transform: uppercase; letter-spacing: var(--tr-caps); color: var(--fg-3); margin-bottom: var(--space-1); }
768
- .chat-msg-flat.you .chat-role { color: var(--accent); }
768
+ .chat-msg-flat.you .chat-role { color: var(--accent-ink); }
769
769
  .chat-msg-flat .chat-bubble { background: none; border: none; border-radius: 0; padding: 0; max-width: 100%; box-shadow: none; transform: none; }
770
770
  .chat-msg-flat.you .chat-bubble { background: none; color: inherit; }
771
771
  /* Flat user turns reset their bubble to transparent, but the messenger rule
@@ -838,7 +838,7 @@ button.chat-composer-context:focus-visible { outline: var(--focus-w) solid var(-
838
838
  padding: 2px var(--space-2); border-radius: var(--r-pill);
839
839
  background: color-mix(in oklab, var(--fg) 6%, transparent);
840
840
  }
841
- .chat-msg .chat-tool.tool-running .chat-tool-status { color: var(--accent); background: color-mix(in oklab, var(--accent) 12%, transparent); }
841
+ .chat-msg .chat-tool.tool-running .chat-tool-status { color: var(--accent-ink); background: color-mix(in oklab, var(--accent) 12%, transparent); }
842
842
  .chat-msg .chat-tool.tool-error .chat-tool-status { color: var(--flame); background: color-mix(in oklab, var(--flame) 12%, transparent); }
843
843
  /* Completed tool: a positive (success) tone so done reads distinctly from the
844
844
  neutral pill and from the accent-toned running pill (--success = green-2). */
@@ -903,7 +903,7 @@ button.chat-composer-context:focus-visible { outline: var(--focus-w) solid var(-
903
903
  shape, not hue alone. CSS-drawn discs, not glyphs (glyph policy clean). */
904
904
  .ds-dash-breakdown .seg { display: inline-flex; align-items: center; gap: var(--space-1); font-weight: 600; }
905
905
  .ds-dash-breakdown .seg::before { content: ''; width: 7px; height: 7px; border-radius: 50%; flex: none; }
906
- .ds-dash-breakdown .seg.is-running { color: var(--accent); }
906
+ .ds-dash-breakdown .seg.is-running { color: var(--accent-ink); }
907
907
  .ds-dash-breakdown .seg.is-running::before { background: var(--accent); box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--accent) 30%, transparent); }
908
908
  .ds-dash-breakdown .seg.is-error { color: var(--flame); }
909
909
  .ds-dash-breakdown .seg.is-error::before { background: var(--flame); box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--flame) 38%, transparent); }
package/dist/247420.css CHANGED
@@ -1129,7 +1129,7 @@
1129
1129
  .ds-247420 .row.rail-green::before,
1130
1130
  .ds-247420 .row.rail-purple::before,
1131
1131
  .ds-247420 .row.rail-flame::before { height: 56%; opacity: 1; }
1132
- .ds-247420 .row.rail-green::before { background: var(--accent); }
1132
+ .ds-247420 .row.rail-green::before { background: var(--accent-ink); }
1133
1133
  .ds-247420 .row.rail-purple::before { background: var(--purple-2); }
1134
1134
  .ds-247420 .row.rail-flame::before { background: var(--flame); }
1135
1135
  /* Differentiate the rail by SHAPE, not hue alone (color-blind safety): error
@@ -3849,7 +3849,7 @@
3849
3849
  /* Crumb band is the top chrome of the content column: a stable height so the
3850
3850
  top edge aligns with the rail head, and a left gutter matching .ws-main so
3851
3851
  the trail text is not flush against the rail border. */
3852
- .ds-247420 .ws-crumb { flex: 0 0 auto; min-height: 48px; padding: 0 var(--space-5); display: flex; align-items: center; gap: var(--space-1); border-bottom: var(--bw-hair) solid var(--bg-3); }
3852
+ .ds-247420 .ws-crumb { flex: 0 0 auto; min-height: calc(var(--app-crumb-h) + var(--space-3)); padding: 0 var(--space-5); display: flex; align-items: center; gap: var(--space-1); border-bottom: var(--bw-hair) solid var(--bg-3); }
3853
3853
  .ds-247420 .ws-crumb-main { flex: 1 1 auto; min-width: 0; }
3854
3854
  /* Content column gutter. Claude-Code-class calm: file grid / dashboard / event
3855
3855
  list / history get a generous, consistent inner gutter instead of butting
@@ -4044,6 +4044,7 @@
4044
4044
  /* Disabled file actions (read-only row / in-flight mutation) stay visible but inert. */
4045
4045
  .ds-247420 .ds-file-act:disabled { opacity: .45; cursor: default; }
4046
4046
  .ds-247420 .ds-file-act:disabled:hover { background: transparent; color: var(--fg-3); }
4047
+ .ds-247420 .ds-file-act:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
4047
4048
 
4048
4049
  /* ============================================================
4049
4050
  Print — linearize WorkspaceShell so main content prints in full.
@@ -5939,7 +5940,7 @@
5939
5940
  /* Live: a persistent faint concentric ring (resting shape channel, independent
5940
5941
  of motion) with the pulse layered on top — so even at the pulse trough the
5941
5942
  disc reads as solid-fill + ring, never a bare solid that aliases stale. */
5942
- .ds-247420 .status-dot-disc.status-dot-live { background: var(--accent); box-shadow: 0 0 0 2px color-mix(in oklab, var(--accent) 30%, transparent); animation: status-disc-pulse 1.8s ease-in-out infinite; }
5943
+ .ds-247420 .status-dot-disc.status-dot-live { background: var(--accent-ink); box-shadow: 0 0 0 2px color-mix(in oklab, var(--accent-ink) 30%, transparent); animation: status-disc-pulse 1.8s ease-in-out infinite; }
5943
5944
  .ds-247420 .status-dot-disc.status-dot-error { background: var(--flame); box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--flame) 38%, transparent); }
5944
5945
  .ds-247420 .status-dot-disc.status-dot-connecting { background: transparent; box-shadow: inset 0 0 0 2px var(--amber); }
5945
5946
  /* Stale: a muted ring with a hollow centre — silhouette distinct from live's
@@ -5977,7 +5978,7 @@
5977
5978
  .ds-247420 .ds-session-new:hover { background: var(--bg-2); color: var(--fg); }
5978
5979
  /* Rail filter uses the shared .ds-search-input primitive (provides bg/border/
5979
5980
  radius/focus-ring); only the rail layout + touch floor live here. */
5980
- .ds-247420 .ds-session-head .ds-search-input { order: 1; flex: 1 1 auto; min-width: 0; }
5981
+ .ds-247420 .ds-session-head .ds-search-input { order: 1; flex: 1 1 auto; min-width: 0; min-height: 36px; padding: 0 10px; }
5981
5982
  .ds-247420 .ds-session-new:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
5982
5983
  /* Touch floor (must FOLLOW the base rules - same specificity, order decides). */
5983
5984
  @media (pointer: coarse) {
@@ -5989,7 +5990,7 @@
5989
5990
  label sticks to the top of the scroll area for Claude-Desktop-style headers. */
5990
5991
  .ds-247420 .ds-session-group { display: flex; flex-direction: column; }
5991
5992
  .ds-247420 .ds-session-group-rows { display: flex; flex-direction: column; gap: 2px; }
5992
- .ds-247420 .ds-session-group-label { position: sticky; top: 0; z-index: 1; background: var(--bg-1, var(--bg)); font-size: var(--fs-tiny); font-weight: 600; color: var(--fg-3); text-transform: uppercase; letter-spacing: var(--tr-caps); padding: var(--space-2) var(--space-2) var(--space-1); }
5993
+ .ds-247420 .ds-session-group-label { position: sticky; top: 0; z-index: 1; background: var(--bg-1, var(--bg)); font-size: var(--fs-xs); font-weight: 600; color: var(--fg-3); text-transform: uppercase; letter-spacing: var(--tr-caps); padding: var(--space-2) var(--space-2) var(--space-1); }
5993
5994
  .ds-247420 .ds-session-row {
5994
5995
  position: relative; display: flex; align-items: center; gap: var(--space-2);
5995
5996
  width: 100%; padding: var(--space-2); min-height: 52px; margin-bottom: 2px;
@@ -6004,7 +6005,7 @@
6004
6005
  }
6005
6006
  /* Rail tones MUST match .row.rail-* in app-shell.css so the same semantic state
6006
6007
  reads as one colour across the conversation list and content rows. */
6007
- .ds-247420 .ds-session-row.rail-green::before { background: var(--accent); }
6008
+ .ds-247420 .ds-session-row.rail-green::before { background: var(--accent-ink); }
6008
6009
  .ds-247420 .ds-session-row.rail-purple::before { background: var(--purple-2); }
6009
6010
  .ds-247420 .ds-session-row.rail-flame::before { background: var(--flame); }
6010
6011
  .ds-247420 .ds-session-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
@@ -6067,8 +6068,8 @@
6067
6068
  ---------------------------------------------------------------------------- */
6068
6069
  .ds-247420 .ds-context { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-3); }
6069
6070
  .ds-247420 .ds-context .panel { background: var(--bg-2); border: var(--bw-hair) solid var(--bg-3); border-radius: var(--r-2); }
6070
- .ds-247420 .ds-context .row .meta { font-family: var(--ff-mono); font-size: var(--fs-tiny); color: var(--fg-2); }
6071
- .ds-247420 .ds-context .row .sub { font-family: var(--ff-mono); font-size: var(--fs-tiny); color: var(--fg-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
6071
+ .ds-247420 .ds-context .row .meta { font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-2); }
6072
+ .ds-247420 .ds-context .row .sub { font-size: var(--fs-xs); color: var(--fg-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
6072
6073
  .ds-247420 .ds-context-actions { display: flex; gap: var(--space-2); }
6073
6074
 
6074
6075
  /* ============================================================================
@@ -6090,7 +6091,7 @@
6090
6091
  opacity: 0; transition: opacity var(--dur-snap, .12s) var(--ease, ease);
6091
6092
  }
6092
6093
  .ds-247420 .chat-code-block:hover .chat-code-copy, .ds-247420 .chat-code-block:focus-within .chat-code-copy { opacity: 1; }
6093
- .ds-247420 .chat-code-copy.is-copied { color: var(--accent); border-color: var(--accent); }
6094
+ .ds-247420 .chat-code-copy.is-copied { color: var(--accent-ink); border-color: var(--accent); }
6094
6095
  .ds-247420 .chat-code-copy:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; opacity: 1; }
6095
6096
  /* Head-placed copy (structured CodeNode + FilePreviewCode) is always visible. */
6096
6097
  .ds-247420 .chat-code-head .spread { flex: 1; }
@@ -6137,7 +6138,7 @@
6137
6138
 
6138
6139
  /* --- C1: stale/idle dashboard status (static, NOT pulsing). --- */
6139
6140
  .ds-247420 .ds-dash-status.is-stale { color: var(--stale); }
6140
- .ds-247420 .ds-dash-status.is-running { color: var(--accent); }
6141
+ .ds-247420 .ds-dash-status.is-running { color: var(--accent-ink); }
6141
6142
 
6142
6143
  /* --- C2: dashboard sort/filter toolbar + stream-state line. --- */
6143
6144
  /* The toolbar is part of the ONE header row (count | heartbeat ... filter,
@@ -6153,7 +6154,7 @@
6153
6154
  width: auto; border-radius: var(--r-1);
6154
6155
  }
6155
6156
  .ds-247420 .ds-dash-stream { font-size: var(--fs-tiny); color: var(--fg-3); }
6156
- .ds-247420 .ds-dash-stream.is-connected { color: var(--accent); }
6157
+ .ds-247420 .ds-dash-stream.is-connected { color: var(--accent-ink); }
6157
6158
  .ds-247420 .ds-dash-stream.is-lost { color: var(--flame); }
6158
6159
  .ds-247420 .ds-dash-stream.is-connecting { color: var(--amber); }
6159
6160
  .ds-247420 .ds-dash-header .spread { flex: 1; }
@@ -6172,7 +6173,7 @@
6172
6173
  border: none; background: none; color: var(--fg-3);
6173
6174
  font-family: var(--ff-mono); font-size: var(--fs-sm);
6174
6175
  }
6175
- .ds-247420 .ds-dash-select[aria-checked="true"] { color: var(--accent); }
6176
+ .ds-247420 .ds-dash-select[aria-checked="true"] { color: var(--accent-ink); }
6176
6177
  .ds-247420 .ds-dash-select:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
6177
6178
 
6178
6179
  /* --- C5: active dashboard card (current conversation). --- */
@@ -6336,7 +6337,7 @@
6336
6337
 
6337
6338
  /* Dashboard: shared session title heading (same string as the rails). */
6338
6339
  .ds-247420 .ds-dash-title {
6339
- font-size: var(--fs-body); font-weight: 600; color: var(--fg);
6340
+ font-size: var(--fs-sm); font-weight: 600; color: var(--fg);
6340
6341
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
6341
6342
  }
6342
6343
 
@@ -6370,7 +6371,7 @@
6370
6371
  .ds-247420 .chat-msg-flat .chat-stack { max-width: var(--measure); width: 100%; margin: 0; align-items: stretch; }
6371
6372
  .ds-247420 .chat-msg-flat.you .chat-stack { align-items: stretch; }
6372
6373
  .ds-247420 .chat-role { font-size: var(--fs-tiny); font-weight: 600; text-transform: uppercase; letter-spacing: var(--tr-caps); color: var(--fg-3); margin-bottom: var(--space-1); }
6373
- .ds-247420 .chat-msg-flat.you .chat-role { color: var(--accent); }
6374
+ .ds-247420 .chat-msg-flat.you .chat-role { color: var(--accent-ink); }
6374
6375
  .ds-247420 .chat-msg-flat .chat-bubble { background: none; border: none; border-radius: 0; padding: 0; max-width: 100%; box-shadow: none; transform: none; }
6375
6376
  .ds-247420 .chat-msg-flat.you .chat-bubble { background: none; color: inherit; }
6376
6377
  /* Flat user turns reset their bubble to transparent, but the messenger rule
@@ -6443,7 +6444,7 @@
6443
6444
  padding: 2px var(--space-2); border-radius: var(--r-pill);
6444
6445
  background: color-mix(in oklab, var(--fg) 6%, transparent);
6445
6446
  }
6446
- .ds-247420 .chat-msg .chat-tool.tool-running .chat-tool-status { color: var(--accent); background: color-mix(in oklab, var(--accent) 12%, transparent); }
6447
+ .ds-247420 .chat-msg .chat-tool.tool-running .chat-tool-status { color: var(--accent-ink); background: color-mix(in oklab, var(--accent) 12%, transparent); }
6447
6448
  .ds-247420 .chat-msg .chat-tool.tool-error .chat-tool-status { color: var(--flame); background: color-mix(in oklab, var(--flame) 12%, transparent); }
6448
6449
  /* Completed tool: a positive (success) tone so done reads distinctly from the
6449
6450
  neutral pill and from the accent-toned running pill (--success = green-2). */
@@ -6508,7 +6509,7 @@
6508
6509
  shape, not hue alone. CSS-drawn discs, not glyphs (glyph policy clean). */
6509
6510
  .ds-247420 .ds-dash-breakdown .seg { display: inline-flex; align-items: center; gap: var(--space-1); font-weight: 600; }
6510
6511
  .ds-247420 .ds-dash-breakdown .seg::before { content: ''; width: 7px; height: 7px; border-radius: 50%; flex: none; }
6511
- .ds-247420 .ds-dash-breakdown .seg.is-running { color: var(--accent); }
6512
+ .ds-247420 .ds-dash-breakdown .seg.is-running { color: var(--accent-ink); }
6512
6513
  .ds-247420 .ds-dash-breakdown .seg.is-running::before { background: var(--accent); box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--accent) 30%, transparent); }
6513
6514
  .ds-247420 .ds-dash-breakdown .seg.is-error { color: var(--flame); }
6514
6515
  .ds-247420 .ds-dash-breakdown .seg.is-error::before { background: var(--flame); box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--flame) 38%, transparent); }