anentrypoint-design 0.0.272 → 0.0.274

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
@@ -334,10 +334,17 @@ body.canvas-host { background: transparent !important; }
334
334
  font-weight: 600;
335
335
  }
336
336
  .app-side .count {
337
- background: var(--mascot); color: var(--ink);
337
+ background: color-mix(in oklab, var(--fg) 10%, transparent);
338
+ color: var(--fg-2);
338
339
  padding: 3px 10px; font-size: var(--fs-micro); font-weight: 700;
339
340
  border-radius: var(--r-pill);
340
341
  }
342
+ /* The lime active pill is the sidebar's one accent moment; its own count
343
+ chip rides the ink-on-accent pair instead of a second competing hue. */
344
+ .app-side a.active .count {
345
+ background: color-mix(in oklab, var(--accent-fg) 82%, transparent);
346
+ color: var(--accent);
347
+ }
341
348
 
342
349
  .app-main {
343
350
  padding: var(--space-5) var(--pad-x) 0;
@@ -430,7 +437,11 @@ body.canvas-host { background: transparent !important; }
430
437
  font-weight: 600; font-size: var(--fs-sm);
431
438
  text-decoration: none;
432
439
  cursor: pointer;
433
- /* Rounded-rect app chrome, not a marketing-page stadium CTA. */
440
+ /* Rounded-rect app chrome, not a marketing-page stadium CTA.
441
+ Shape vocabulary: r-1/r-2 = actionable buttons, icon-buttons, and
442
+ containers; r-pill = reserved for status/input/chip/badge/progress
443
+ surfaces (composer input, chips, badges, progress bars, theme-toggle
444
+ segments) - never for actions. */
434
445
  border-radius: var(--r-1);
435
446
  border: var(--bw-hair) solid transparent;
436
447
  box-shadow: none;
@@ -452,7 +463,7 @@ body.canvas-host { background: transparent !important; }
452
463
  .btn-ghost { background: transparent; color: var(--fg); box-shadow: inset 0 0 0 2px var(--fg); }
453
464
  .btn-ghost:hover { background: var(--fg); color: var(--bg); transform: translateY(-1px); }
454
465
  .btn:active, .btn-primary:active, .btn-ghost:active { transform: translateY(1px); box-shadow: none; }
455
- .btn:focus-visible, .btn-primary:focus-visible, .btn-ghost:focus-visible {
466
+ .btn:focus-visible, .btn-primary:focus-visible, .btn-ghost:focus-visible, .ds-icon-btn:focus-visible {
456
467
  outline: 2px solid var(--accent-ink);
457
468
  outline-offset: 2px;
458
469
  }
@@ -480,7 +491,6 @@ body.canvas-host { background: transparent !important; }
480
491
  .ds-icon-btn-danger { background: var(--warn); color: var(--on-color); }
481
492
  .ds-icon-btn-danger:hover { filter: brightness(1.1); }
482
493
  .ds-icon-btn:active { transform: translateY(1px); }
483
- .ds-icon-btn:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
484
494
  .ds-icon-btn:disabled, .ds-icon-btn.is-disabled {
485
495
  opacity: 0.5; cursor: not-allowed; pointer-events: none;
486
496
  }
@@ -612,7 +622,7 @@ body.canvas-host { background: transparent !important; }
612
622
  grid-template-columns: minmax(80px, 12ch) minmax(0, 1fr) auto;
613
623
  gap: var(--space-3);
614
624
  align-items: baseline;
615
- padding: 16px 22px;
625
+ padding: var(--space-3) var(--space-4);
616
626
  background: var(--bg);
617
627
  border-radius: var(--r-2);
618
628
  color: var(--fg);
@@ -989,7 +999,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
989
999
  display: inline-flex; align-items: center; gap: var(--space-hair);
990
1000
  font-size: var(--fs-xs); font-weight: 600;
991
1001
  }
992
- .kpi-delta-up { color: var(--success); }
1002
+ .kpi-delta-up { color: var(--green); }
993
1003
  .kpi-delta-down { color: var(--danger); }
994
1004
  .ds-sparkline path { stroke: currentColor; }
995
1005
  .ds-sparkline-up { color: var(--success); }
@@ -1809,7 +1819,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
1809
1819
  color: var(--fg-3); text-align: right;
1810
1820
  }
1811
1821
  .ds-upload-item.done .ds-upload-fill { background: var(--success); }
1812
- .ds-upload-item.done .ds-upload-pct { color: var(--success); }
1822
+ .ds-upload-item.done .ds-upload-pct { color: var(--green); }
1813
1823
  .ds-upload-item.error .ds-upload-fill { background: var(--warn); }
1814
1824
  .ds-upload-item.error .ds-upload-pct { color: var(--warn); }
1815
1825
  /* Per-row upload recovery actions (replace / dismiss) — error rows are not dead ends. */
@@ -2217,17 +2227,17 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
2217
2227
  .chat-bubble.chat-md h3,
2218
2228
  .chat-bubble.chat-md h4 {
2219
2229
  font-family: var(--ff-body); font-weight: 600;
2220
- margin: 12px 0 6px; line-height: 1.3;
2230
+ margin: var(--space-2) 0 var(--space-1); line-height: var(--lh-snug);
2221
2231
  }
2222
2232
  .chat-bubble.chat-md h1 { font-size: 1.15em; }
2223
2233
  .chat-bubble.chat-md h2 { font-size: 1.08em; }
2224
2234
  .chat-bubble.chat-md h3 { font-size: 1.04em; }
2225
- .chat-bubble.chat-md p { margin: 6px 0; }
2235
+ .chat-bubble.chat-md p { margin: var(--space-2) 0; }
2226
2236
  .chat-bubble.chat-md ul,
2227
- .chat-bubble.chat-md ol { margin: 6px 0; padding-left: 22px; }
2228
- .chat-bubble.chat-md li { margin: 3px 0; }
2237
+ .chat-bubble.chat-md ol { margin: var(--space-2) 0; padding-left: 22px; }
2238
+ .chat-bubble.chat-md li { margin: var(--space-1) 0; }
2229
2239
  .chat-bubble.chat-md blockquote {
2230
- margin: 8px 0; padding: 4px 12px;
2240
+ margin: var(--space-2) 0; padding: 4px 12px;
2231
2241
  border-left: 3px solid color-mix(in oklab, currentColor 30%, transparent);
2232
2242
  color: color-mix(in oklab, currentColor 75%, transparent); font-style: italic;
2233
2243
  }
@@ -2236,7 +2246,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
2236
2246
  border: 1px solid color-mix(in oklab, var(--fg) 12%, transparent);
2237
2247
  padding: 12px 16px; border-radius: var(--r-1); overflow-x: auto;
2238
2248
  font-family: var(--ff-mono); font-size: var(--fs-xs); line-height: 1.55;
2239
- color: var(--fg); margin: 8px 0;
2249
+ color: var(--fg); margin: var(--space-2) 0;
2240
2250
  }
2241
2251
  /* When injectCodeCopy has wrapped the fence (.chat-code-block), reserve room
2242
2252
  for the absolute .chat-code-lang tab. This selector outranks the bare
@@ -2303,7 +2313,7 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
2303
2313
  .chat-bubble.chat-code .token.boolean { color: var(--code-num, var(--sun)); }
2304
2314
  .chat-bubble.chat-code .token.punctuation { color: var(--fg-2); }
2305
2315
  .chat-bubble.chat-code .token.property,
2306
- .chat-bubble.chat-code .token.attr-name { color: var(--sky); }
2316
+ .chat-bubble.chat-code .token.attr-name { color: var(--code-keyword, var(--sky)); }
2307
2317
 
2308
2318
  .chat-msg.you .chat-image,
2309
2319
  .chat-msg .chat-image,
@@ -2562,7 +2572,6 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
2562
2572
  monospace count chips.
2563
2573
  ============================================================ */
2564
2574
  .app-side .count {
2565
- background: color-mix(in oklab, var(--mascot) 92%, transparent);
2566
2575
  padding: 1px 8px; font-size: var(--fs-micro); font-weight: 700;
2567
2576
  font-family: var(--ff-mono); letter-spacing: 0.04em;
2568
2577
  min-width: 18px; text-align: center;
@@ -3255,7 +3264,7 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
3255
3264
 
3256
3265
  .ds-alert-info { --alert-tone: var(--sky); }
3257
3266
  .ds-alert-success { --alert-tone: var(--green); }
3258
- .ds-alert-warn { --alert-tone: var(--sun); }
3267
+ .ds-alert-warn { --alert-tone: var(--amber); }
3259
3268
  .ds-alert-error { --alert-tone: var(--warn); }
3260
3269
 
3261
3270
  .ds-alert-icon {
package/chat.css CHANGED
@@ -392,7 +392,7 @@
392
392
  label sticks to the top of the scroll area for Claude-Desktop-style headers. */
393
393
  .ds-session-group { display: flex; flex-direction: column; }
394
394
  .ds-session-group-rows { display: flex; flex-direction: column; gap: 2px; }
395
- .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); }
395
+ .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); }
396
396
  .ds-session-row {
397
397
  position: relative; display: flex; align-items: center; gap: var(--space-2);
398
398
  width: 100%; padding: var(--space-2); min-height: 52px; margin-bottom: 2px;
@@ -56,6 +56,9 @@
56
56
  both backgrounds (5.21:1 on --bg-2). */
57
57
  --amber: #7C570F;
58
58
  --sky: #3A6EFF;
59
+ /* --warn = interactive danger controls (buttons, banners, menus, error
60
+ inputs); --danger below = passive error/status text and metrics
61
+ (kpi/sparkline deltas, auth-error text). Two tokens, one convention. */
59
62
  --warn: #E0241A;
60
63
  /* Syntax-token aliases: light values pass 4.5:1 on paper; the dark blocks
61
64
  restore the bright dark-tuned originals. Components reference ONLY these. */
@@ -65,7 +68,9 @@
65
68
  --code-str-alt: var(--mascot-deep);
66
69
  --code-num: #946300;
67
70
  /* 0.55 lightness measured 4.70:1 on --paper but only 4.25:1 on --bg-2 (the
68
- auth-error banner's actual background) - darkened for AA margin on both. */
71
+ auth-error banner's actual background) - darkened for AA margin on both.
72
+ --danger = passive error/status text and metrics; --warn above =
73
+ interactive danger controls. */
69
74
  --danger: oklch(0.50 0.18 25);
70
75
  --success: var(--green-2);
71
76
  --live: var(--green);
package/community.css CHANGED
@@ -1208,7 +1208,7 @@
1208
1208
  }
1209
1209
  .cm-banner.tone-success {
1210
1210
  background: color-mix(in oklab, var(--success) 18%, var(--bg));
1211
- color: var(--success);
1211
+ color: var(--green);
1212
1212
  }
1213
1213
  .cm-banner.tone-error {
1214
1214
  background: color-mix(in oklab, var(--danger) 18%, var(--bg));
package/dist/247420.css CHANGED
@@ -58,6 +58,9 @@
58
58
  both backgrounds (5.21:1 on --bg-2). */
59
59
  --amber: #7C570F;
60
60
  --sky: #3A6EFF;
61
+ /* --warn = interactive danger controls (buttons, banners, menus, error
62
+ inputs); --danger below = passive error/status text and metrics
63
+ (kpi/sparkline deltas, auth-error text). Two tokens, one convention. */
61
64
  --warn: #E0241A;
62
65
  /* Syntax-token aliases: light values pass 4.5:1 on paper; the dark blocks
63
66
  restore the bright dark-tuned originals. Components reference ONLY these. */
@@ -67,7 +70,9 @@
67
70
  --code-str-alt: var(--mascot-deep);
68
71
  --code-num: #946300;
69
72
  /* 0.55 lightness measured 4.70:1 on --paper but only 4.25:1 on --bg-2 (the
70
- auth-error banner's actual background) - darkened for AA margin on both. */
73
+ auth-error banner's actual background) - darkened for AA margin on both.
74
+ --danger = passive error/status text and metrics; --warn above =
75
+ interactive danger controls. */
71
76
  --danger: oklch(0.50 0.18 25);
72
77
  --success: var(--green-2);
73
78
  --live: var(--green);
@@ -845,10 +850,17 @@
845
850
  font-weight: 600;
846
851
  }
847
852
  .ds-247420 .app-side .count {
848
- background: var(--mascot); color: var(--ink);
853
+ background: color-mix(in oklab, var(--fg) 10%, transparent);
854
+ color: var(--fg-2);
849
855
  padding: 3px 10px; font-size: var(--fs-micro); font-weight: 700;
850
856
  border-radius: var(--r-pill);
851
857
  }
858
+ /* The lime active pill is the sidebar's one accent moment; its own count
859
+ chip rides the ink-on-accent pair instead of a second competing hue. */
860
+ .ds-247420 .app-side a.active .count {
861
+ background: color-mix(in oklab, var(--accent-fg) 82%, transparent);
862
+ color: var(--accent);
863
+ }
852
864
 
853
865
  .ds-247420 .app-main {
854
866
  padding: var(--space-5) var(--pad-x) 0;
@@ -941,7 +953,11 @@
941
953
  font-weight: 600; font-size: var(--fs-sm);
942
954
  text-decoration: none;
943
955
  cursor: pointer;
944
- /* Rounded-rect app chrome, not a marketing-page stadium CTA. */
956
+ /* Rounded-rect app chrome, not a marketing-page stadium CTA.
957
+ Shape vocabulary: r-1/r-2 = actionable buttons, icon-buttons, and
958
+ containers; r-pill = reserved for status/input/chip/badge/progress
959
+ surfaces (composer input, chips, badges, progress bars, theme-toggle
960
+ segments) - never for actions. */
945
961
  border-radius: var(--r-1);
946
962
  border: var(--bw-hair) solid transparent;
947
963
  box-shadow: none;
@@ -963,7 +979,7 @@
963
979
  .ds-247420 .btn-ghost { background: transparent; color: var(--fg); box-shadow: inset 0 0 0 2px var(--fg); }
964
980
  .ds-247420 .btn-ghost:hover { background: var(--fg); color: var(--bg); transform: translateY(-1px); }
965
981
  .ds-247420 .btn:active, .ds-247420 .btn-primary:active, .ds-247420 .btn-ghost:active { transform: translateY(1px); box-shadow: none; }
966
- .ds-247420 .btn:focus-visible, .ds-247420 .btn-primary:focus-visible, .ds-247420 .btn-ghost:focus-visible {
982
+ .ds-247420 .btn:focus-visible, .ds-247420 .btn-primary:focus-visible, .ds-247420 .btn-ghost:focus-visible, .ds-247420 .ds-icon-btn:focus-visible {
967
983
  outline: 2px solid var(--accent-ink);
968
984
  outline-offset: 2px;
969
985
  }
@@ -991,7 +1007,6 @@
991
1007
  .ds-247420 .ds-icon-btn-danger { background: var(--warn); color: var(--on-color); }
992
1008
  .ds-247420 .ds-icon-btn-danger:hover { filter: brightness(1.1); }
993
1009
  .ds-247420 .ds-icon-btn:active { transform: translateY(1px); }
994
- .ds-247420 .ds-icon-btn:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
995
1010
  .ds-247420 .ds-icon-btn:disabled, .ds-247420 .ds-icon-btn.is-disabled {
996
1011
  opacity: 0.5; cursor: not-allowed; pointer-events: none;
997
1012
  }
@@ -1123,7 +1138,7 @@
1123
1138
  grid-template-columns: minmax(80px, 12ch) minmax(0, 1fr) auto;
1124
1139
  gap: var(--space-3);
1125
1140
  align-items: baseline;
1126
- padding: 16px 22px;
1141
+ padding: var(--space-3) var(--space-4);
1127
1142
  background: var(--bg);
1128
1143
  border-radius: var(--r-2);
1129
1144
  color: var(--fg);
@@ -1500,7 +1515,7 @@
1500
1515
  display: inline-flex; align-items: center; gap: var(--space-hair);
1501
1516
  font-size: var(--fs-xs); font-weight: 600;
1502
1517
  }
1503
- .ds-247420 .kpi-delta-up { color: var(--success); }
1518
+ .ds-247420 .kpi-delta-up { color: var(--green); }
1504
1519
  .ds-247420 .kpi-delta-down { color: var(--danger); }
1505
1520
  .ds-247420 .ds-sparkline path { stroke: currentColor; }
1506
1521
  .ds-247420 .ds-sparkline-up { color: var(--success); }
@@ -2320,7 +2335,7 @@
2320
2335
  color: var(--fg-3); text-align: right;
2321
2336
  }
2322
2337
  .ds-247420 .ds-upload-item.done .ds-upload-fill { background: var(--success); }
2323
- .ds-247420 .ds-upload-item.done .ds-upload-pct { color: var(--success); }
2338
+ .ds-247420 .ds-upload-item.done .ds-upload-pct { color: var(--green); }
2324
2339
  .ds-247420 .ds-upload-item.error .ds-upload-fill { background: var(--warn); }
2325
2340
  .ds-247420 .ds-upload-item.error .ds-upload-pct { color: var(--warn); }
2326
2341
  /* Per-row upload recovery actions (replace / dismiss) — error rows are not dead ends. */
@@ -2728,17 +2743,17 @@
2728
2743
  .ds-247420 .chat-bubble.chat-md h3,
2729
2744
  .ds-247420 .chat-bubble.chat-md h4 {
2730
2745
  font-family: var(--ff-body); font-weight: 600;
2731
- margin: 12px 0 6px; line-height: 1.3;
2746
+ margin: var(--space-2) 0 var(--space-1); line-height: var(--lh-snug);
2732
2747
  }
2733
2748
  .ds-247420 .chat-bubble.chat-md h1 { font-size: 1.15em; }
2734
2749
  .ds-247420 .chat-bubble.chat-md h2 { font-size: 1.08em; }
2735
2750
  .ds-247420 .chat-bubble.chat-md h3 { font-size: 1.04em; }
2736
- .ds-247420 .chat-bubble.chat-md p { margin: 6px 0; }
2751
+ .ds-247420 .chat-bubble.chat-md p { margin: var(--space-2) 0; }
2737
2752
  .ds-247420 .chat-bubble.chat-md ul,
2738
- .ds-247420 .chat-bubble.chat-md ol { margin: 6px 0; padding-left: 22px; }
2739
- .ds-247420 .chat-bubble.chat-md li { margin: 3px 0; }
2753
+ .ds-247420 .chat-bubble.chat-md ol { margin: var(--space-2) 0; padding-left: 22px; }
2754
+ .ds-247420 .chat-bubble.chat-md li { margin: var(--space-1) 0; }
2740
2755
  .ds-247420 .chat-bubble.chat-md blockquote {
2741
- margin: 8px 0; padding: 4px 12px;
2756
+ margin: var(--space-2) 0; padding: 4px 12px;
2742
2757
  border-left: 3px solid color-mix(in oklab, currentColor 30%, transparent);
2743
2758
  color: color-mix(in oklab, currentColor 75%, transparent); font-style: italic;
2744
2759
  }
@@ -2747,7 +2762,7 @@
2747
2762
  border: 1px solid color-mix(in oklab, var(--fg) 12%, transparent);
2748
2763
  padding: 12px 16px; border-radius: var(--r-1); overflow-x: auto;
2749
2764
  font-family: var(--ff-mono); font-size: var(--fs-xs); line-height: 1.55;
2750
- color: var(--fg); margin: 8px 0;
2765
+ color: var(--fg); margin: var(--space-2) 0;
2751
2766
  }
2752
2767
  /* When injectCodeCopy has wrapped the fence (.chat-code-block), reserve room
2753
2768
  for the absolute .chat-code-lang tab. This selector outranks the bare
@@ -2814,7 +2829,7 @@
2814
2829
  .ds-247420 .chat-bubble.chat-code .token.boolean { color: var(--code-num, var(--sun)); }
2815
2830
  .ds-247420 .chat-bubble.chat-code .token.punctuation { color: var(--fg-2); }
2816
2831
  .ds-247420 .chat-bubble.chat-code .token.property,
2817
- .ds-247420 .chat-bubble.chat-code .token.attr-name { color: var(--sky); }
2832
+ .ds-247420 .chat-bubble.chat-code .token.attr-name { color: var(--code-keyword, var(--sky)); }
2818
2833
 
2819
2834
  .ds-247420 .chat-msg.you .chat-image,
2820
2835
  .ds-247420 .chat-msg .chat-image,
@@ -3073,7 +3088,6 @@
3073
3088
  monospace count chips.
3074
3089
  ============================================================ */
3075
3090
  .ds-247420 .app-side .count {
3076
- background: color-mix(in oklab, var(--mascot) 92%, transparent);
3077
3091
  padding: 1px 8px; font-size: var(--fs-micro); font-weight: 700;
3078
3092
  font-family: var(--ff-mono); letter-spacing: 0.04em;
3079
3093
  min-width: 18px; text-align: center;
@@ -3755,7 +3769,7 @@
3755
3769
 
3756
3770
  .ds-247420 .ds-alert-info { --alert-tone: var(--sky); }
3757
3771
  .ds-247420 .ds-alert-success { --alert-tone: var(--green); }
3758
- .ds-247420 .ds-alert-warn { --alert-tone: var(--sun); }
3772
+ .ds-247420 .ds-alert-warn { --alert-tone: var(--amber); }
3759
3773
  .ds-247420 .ds-alert-error { --alert-tone: var(--warn); }
3760
3774
 
3761
3775
  .ds-247420 .ds-alert-icon {
@@ -6035,7 +6049,7 @@
6035
6049
  }
6036
6050
  .ds-247420 .cm-banner.tone-success {
6037
6051
  background: color-mix(in oklab, var(--success) 18%, var(--bg));
6038
- color: var(--success);
6052
+ color: var(--green);
6039
6053
  }
6040
6054
  .ds-247420 .cm-banner.tone-error {
6041
6055
  background: color-mix(in oklab, var(--danger) 18%, var(--bg));
@@ -6866,7 +6880,7 @@
6866
6880
  label sticks to the top of the scroll area for Claude-Desktop-style headers. */
6867
6881
  .ds-247420 .ds-session-group { display: flex; flex-direction: column; }
6868
6882
  .ds-247420 .ds-session-group-rows { display: flex; flex-direction: column; gap: 2px; }
6869
- .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); }
6883
+ .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); }
6870
6884
  .ds-247420 .ds-session-row {
6871
6885
  position: relative; display: flex; align-items: center; gap: var(--space-2);
6872
6886
  width: 100%; padding: var(--space-2); min-height: 52px; margin-bottom: 2px;