anentrypoint-design 1.0.26 → 1.0.28

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.
@@ -293,8 +293,8 @@
293
293
  --space-10: 192px;
294
294
 
295
295
  --density: 1;
296
- --pad-y: calc(var(--space-5) * var(--density));
297
- --pad-x: calc(var(--space-5) * var(--density));
296
+ --pad-y: calc(var(--space-6) * var(--density));
297
+ --pad-x: calc(var(--space-6) * var(--density));
298
298
  --gutter: calc(var(--space-4) * var(--density));
299
299
 
300
300
  /* Borders — chunky or none */
@@ -433,7 +433,7 @@
433
433
  column growing without bound. */
434
434
  --stage-ultra: min(96%, 2100px);
435
435
 
436
- --sidebar-width: 220px;
436
+ --sidebar-width: 256px;
437
437
  --sidebar-width-collapsed: 64px;
438
438
 
439
439
  /* Canonical breakpoint values — @media can't reference custom properties,
package/dist/247420.css CHANGED
@@ -295,8 +295,8 @@
295
295
  --space-10: 192px;
296
296
 
297
297
  --density: 1;
298
- --pad-y: calc(var(--space-5) * var(--density));
299
- --pad-x: calc(var(--space-5) * var(--density));
298
+ --pad-y: calc(var(--space-6) * var(--density));
299
+ --pad-x: calc(var(--space-6) * var(--density));
300
300
  --gutter: calc(var(--space-4) * var(--density));
301
301
 
302
302
  /* Borders — chunky or none */
@@ -435,7 +435,7 @@
435
435
  column growing without bound. */
436
436
  --stage-ultra: min(96%, 2100px);
437
437
 
438
- --sidebar-width: 220px;
438
+ --sidebar-width: 256px;
439
439
  --sidebar-width-collapsed: 64px;
440
440
 
441
441
  /* Canonical breakpoint values — @media can't reference custom properties,
@@ -1195,8 +1195,8 @@
1195
1195
 
1196
1196
  .ds-247420 {
1197
1197
  --app-status-h: 26px;
1198
- --app-topbar-h: var(--size-lg);
1199
- --app-crumb-h: var(--size-sm);
1198
+ --app-topbar-h: 64px;
1199
+ --app-crumb-h: 56px;
1200
1200
  }
1201
1201
 
1202
1202
  .ds-247420 .app-topbar {
@@ -1205,7 +1205,7 @@
1205
1205
  align-items: center; gap: var(--space-4);
1206
1206
  min-height: var(--app-topbar-h);
1207
1207
  padding: var(--space-2-5) var(--pad-x);
1208
- background: color-mix(in oklab, var(--bg) 97%, transparent);
1208
+ border-bottom: var(--bw-hair, 1px) solid var(--rule);
1209
1209
  }
1210
1210
 
1211
1211
  /* Merged chrome: when AppShell gets both a topbar and a crumb it wraps them
@@ -1218,7 +1218,7 @@
1218
1218
  display: flex; flex-wrap: wrap; align-items: center;
1219
1219
  gap: var(--space-2) var(--space-4);
1220
1220
  padding: var(--space-2) var(--pad-x);
1221
- background: color-mix(in oklab, var(--bg) 97%, transparent);
1221
+ border-bottom: var(--bw-hair, 1px) solid var(--rule);
1222
1222
  }
1223
1223
  .ds-247420 .app-chrome > .app-topbar,
1224
1224
  .ds-247420 .app-chrome > .app-crumb {
@@ -1288,7 +1288,6 @@
1288
1288
  change. */
1289
1289
  .ds-247420 .app-topbar nav a.active {
1290
1290
  color: var(--accent-ink);
1291
- background: color-mix(in oklab, var(--accent) 16%, transparent);
1292
1291
  box-shadow: inset 0 -2px 0 0 var(--accent);
1293
1292
  font-weight: 600;
1294
1293
  }
@@ -1696,7 +1695,7 @@
1696
1695
  .ds-247420 .btn:hover { background: var(--bg-3); color: var(--fg); transform: translateY(-1px); box-shadow: var(--shadow-1); }
1697
1696
  .ds-247420 .btn-primary {
1698
1697
  background: var(--accent); color: var(--accent-fg);
1699
- font-weight: 700;
1698
+ font-weight: 600;
1700
1699
  }
1701
1700
  .ds-247420 .btn-primary:hover { background: var(--fg); color: var(--bg); transform: translateY(-1px); box-shadow: var(--shadow-2); }
1702
1701
  .ds-247420 .btn-ghost { background: transparent; color: var(--fg); box-shadow: inset 0 0 0 var(--bw-hair) var(--fg); }
@@ -2348,30 +2347,21 @@
2348
2347
  and each part's own layout (aside becomes a full-width card below the body
2349
2348
  instead of a right-column card) changed. Centered text, capped measure.
2350
2349
 
2351
- DE-CENTERED 2026-07-31: the flex-stack architecture from the restyle above
2352
- is kept as-is (still a single-column stack, still the oversized display
2353
- lead, still the full-width aside card) -- this is NOT a revert to the old
2354
- two-column grid. What changed is alignment only: `align-items: center` /
2355
- `text-align: center` read as the textbook dead-centered "AI portfolio"
2356
- hero the moment the oversized display type is involved, regardless of
2357
- architecture. Swapping to flex-start + left text-align, plus a
2358
- --space-6 left inset inside the unchanged --stage-wide container, pushes
2359
- the whole block toward the left edge so the oversized title crops against
2360
- real whitespace on the right instead of sitting symmetric in the middle --
2361
- editorial tension from a one-axis asymmetry, no grid architecture
2362
- reintroduced. */
2350
+ RE-CENTERED 2026-08-09: reverted the 2026-07-31 de-centering (flex-start +
2351
+ left text-align + left inset) back to a centered stack -- the airy,
2352
+ dead-centered arrangement is the intended house look after all, matching
2353
+ the plain centered-lead reference this hero is now aligned to. Aside card
2354
+ dropped its filled background/accent bar for a plain top-rule divider. */
2363
2355
  .ds-247420 .ds-hero {
2364
2356
  padding: var(--space-9) 0 var(--space-8);
2365
- display: flex; flex-direction: column; align-items: flex-start;
2357
+ display: flex; flex-direction: column; align-items: center;
2366
2358
  gap: var(--space-5);
2367
2359
  max-width: var(--stage-wide);
2368
- margin-inline-start: 0;
2369
- padding-inline-start: var(--space-6);
2370
- text-align: left;
2360
+ text-align: center;
2371
2361
  position: relative; isolation: isolate;
2372
2362
  }
2373
- .ds-247420 .ds-hero-head { display: grid; gap: var(--space-3); justify-items: start; }
2374
- .ds-247420 .ds-hero-body { margin-inline: 0; }
2363
+ .ds-247420 .ds-hero-head { display: grid; gap: var(--space-3); justify-items: center; margin-inline: auto; }
2364
+ .ds-247420 .ds-hero-body { margin-inline: auto; }
2375
2365
  /* The stat/badge/CTA cluster now sits as a full-width card BELOW the body
2376
2366
  copy, left-aligned with the rest of the stack, rather than a right-offset
2377
2367
  column -- still carries its own visual weight via the top accent bar
@@ -2380,18 +2370,14 @@
2380
2370
  .ds-247420 .ds-hero-aside {
2381
2371
  position: relative; isolation: isolate;
2382
2372
  width: 100%; max-width: 46ch;
2373
+ margin-inline: auto;
2383
2374
  display: flex; flex-direction: column;
2384
2375
  justify-content: space-between; gap: var(--space-5);
2385
- background: var(--bg-2);
2386
- border-radius: var(--r-2);
2387
- padding: calc(var(--space-4) + var(--bw-chunk)) var(--space-5) var(--space-5);
2376
+ background: transparent;
2377
+ border-top: var(--bw-hair, 1px) solid var(--rule);
2378
+ padding: var(--space-4) var(--space-5) var(--space-5);
2388
2379
  text-align: left;
2389
2380
  }
2390
- .ds-247420 .ds-hero-aside::before {
2391
- content: ''; position: absolute; left: 0; right: 0; top: 0;
2392
- height: var(--bw-chunk); background: var(--accent);
2393
- border-radius: var(--bw-chunk) var(--bw-chunk) 0 0;
2394
- }
2395
2381
  .ds-247420 .ds-hero-stats { display: flex; flex-direction: column; gap: var(--space-2); }
2396
2382
  .ds-247420 .ds-hero-stat {
2397
2383
  font-family: var(--ff-mono); font-size: var(--fs-sm);
@@ -2419,7 +2405,7 @@
2419
2405
  feel this title wants while clearing enough vertical room that letters
2420
2406
  stop colliding. */
2421
2407
  line-height: 1.02; letter-spacing: var(--tr-tighter);
2422
- margin: 0; max-width: 20ch; text-wrap: balance;
2408
+ margin: 0; max-width: 16ch; margin-inline: auto; text-wrap: balance;
2423
2409
  }
2424
2410
  .ds-247420 .ds-hero-body {
2425
2411
  font-family: var(--ff-body); font-size: var(--fs-xl);
@@ -2513,7 +2499,7 @@
2513
2499
  ============================================================ */
2514
2500
  .ds-247420 .ds-marquee {
2515
2501
  overflow: hidden; width: 100%;
2516
- border-block: var(--bw-rule) solid var(--fg);
2502
+ border-block: var(--bw-hair) solid var(--rule-strong);
2517
2503
  padding: var(--space-2) 0;
2518
2504
  font-family: var(--ff-display); font-weight: 600;
2519
2505
  text-transform: uppercase; letter-spacing: var(--tr-caps);
@@ -3502,7 +3488,7 @@
3502
3488
  padding: var(--space-1) var(--space-2);
3503
3489
  background: var(--bg-2); border: var(--bw-hair) solid var(--rule); border-radius: var(--r-2);
3504
3490
  }
3505
- .ds-247420 .ds-bulkbar-count { font-size: var(--fs-sm); font-weight: 600; color: var(--fg-2); }
3491
+ .ds-247420 .ds-bulkbar-count { font-size: var(--fs-sm); font-weight: var(--fw-medium, 500); color: var(--fg-2); }
3506
3492
  /* BulkBar is a toolbar (it even declares role=toolbar): compact rect buttons,
3507
3493
  quiet destructive outline - the app arm-confirms destructive bulk actions
3508
3494
  via ConfirmDialog, so the strip never needs a loud CTA. */
@@ -3727,7 +3713,7 @@
3727
3713
  design; dashed was this system's OTHER "drop target" vocabulary
3728
3714
  (.panel-docs, kits-appended.css) leaking in here by copy-paste. */
3729
3715
  .ds-247420 .ds-dropzone {
3730
- border: var(--bw-rule) solid var(--rule);
3716
+ border: var(--bw-hair) solid var(--rule);
3731
3717
  border-radius: var(--r-3); background: var(--bg);
3732
3718
  transition: border-color var(--dur-base) var(--ease), background var(--dur-base) var(--ease);
3733
3719
  }
@@ -4304,7 +4290,7 @@
4304
4290
  width: 36px; height: 36px; flex-shrink: 0;
4305
4291
  border-radius: 50%; background: var(--bg-3); color: var(--fg);
4306
4292
  display: inline-flex; align-items: center; justify-content: center;
4307
- font-family: var(--ff-body); font-size: var(--fs-micro); font-weight: 600;
4293
+ font-family: var(--ff-body); font-size: var(--fs-micro); font-weight: var(--fw-medium, 500);
4308
4294
  text-transform: lowercase; letter-spacing: 0.02em; user-select: none;
4309
4295
  transition: transform 0.12s ease, box-shadow 0.12s ease;
4310
4296
  position: relative;
@@ -4612,7 +4598,7 @@
4612
4598
  font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3);
4613
4599
  padding: 0 var(--space-1-75); letter-spacing: 0.02em;
4614
4600
  }
4615
- .ds-247420 .chat-meta .who { font-weight: 600; color: var(--fg-2); }
4601
+ .ds-247420 .chat-meta .who { font-weight: var(--fw-medium, 500); color: var(--fg-2); }
4616
4602
  .ds-247420 .chat-meta .who::after { content: ' ·'; color: var(--fg-3); font-weight: 400; }
4617
4603
  .ds-247420 .chat-meta .t { color: var(--fg-3); }
4618
4604
  .ds-247420 .chat-meta .tick { color: var(--fg-3); margin-left: var(--space-hair); letter-spacing: -2px; font-family: var(--ff-body); }
@@ -4638,7 +4624,7 @@
4638
4624
  color: var(--accent-ink);
4639
4625
  }
4640
4626
  .ds-247420 .chat-reactions .rxn .e { font-size: var(--fs-xs); line-height: 1; }
4641
- .ds-247420 .chat-reactions .rxn .n { font-family: var(--ff-mono); font-weight: 600; font-size: var(--fs-nano); color: var(--fg-2); }
4627
+ .ds-247420 .chat-reactions .rxn .n { font-family: var(--ff-mono); font-weight: var(--fw-medium, 500); font-size: var(--fs-nano); color: var(--fg-2); }
4642
4628
  .ds-247420 .chat-reactions .rxn.you .n { color: var(--accent-ink); }
4643
4629
 
4644
4630
  /* Typing indicator renders through the same .chat-bubble container as a real
@@ -4810,7 +4796,27 @@
4810
4796
  [data-theme="dark"],[data-theme="ink"] override missed data-theme="auto"
4811
4797
  under OS-dark, which is how the kits actually render — the author name
4812
4798
  fell back to the paper tone at 3.13:1 on ink. */
4813
- .ds-247420 .aicat-meta .name { color: var(--mascot-deep, var(--mascot)); font-weight: 600; }
4799
+ .ds-247420 .aicat-meta .name { color: var(--mascot-deep, var(--mascot)); font-weight: var(--fw-medium, 500); }
4800
+
4801
+ /* Mascot identity folded into AICat's own .chat-head row (passed as its
4802
+ `header` prop) instead of a standalone .aicat-portrait block stacked above
4803
+ the chat panel -- reuses the existing 32px .aicat-face circle, just placed
4804
+ inline before the title instead of above the whole surface. */
4805
+ .ds-247420 .aicat-portrait-head { gap: var(--space-2-5); }
4806
+ .ds-247420 .aicat-face-inline { margin-right: var(--space-1); }
4807
+
4808
+ /* Centers the transcript+composer as the page's dominant focal surface
4809
+ (hero-composer framing): a bounded column with generous top margin so the
4810
+ chat panel reads as the first thing the eye lands on, not one card in a
4811
+ top-aligned marketing stack. Docs/heading content is demoted into
4812
+ .ds-kit-controls below it (see kits-appended.css) so nothing above the
4813
+ panel competes with it. */
4814
+ .ds-247420 .aicat-focus-col {
4815
+ max-width: 720px;
4816
+ margin-left: auto;
4817
+ margin-right: auto;
4818
+ padding-top: var(--space-6);
4819
+ }
4814
4820
 
4815
4821
  /* ============================================================
4816
4822
  Composer attachment-detected badge, context line, hint, toolbar,
@@ -4998,6 +5004,50 @@
4998
5004
  .ds-247420 .app-side a .glyph { font-family: var(--ff-body); font-size: 13px; font-weight: 600; color: var(--fg-3); text-align: center; }
4999
5005
  .ds-247420 .app-side a.active .glyph { color: var(--accent-ink); }
5000
5006
 
5007
+ /* .ds-side-tree — two-level project-tree group (parent <details> + nested
5008
+ child rows), the sidebar's hierarchy primitive. Sits alongside Side()'s
5009
+ own flat .app-side-group rows but carries genuine nesting: a summary row
5010
+ (parent) disclosing child conversation rows, closer to a project-tree
5011
+ sidebar than a single flat list. */
5012
+ .ds-247420 .ds-side-tree { border: 0; }
5013
+ .ds-247420 .ds-side-tree-summary {
5014
+ display: flex; align-items: center; gap: var(--space-2);
5015
+ padding: var(--space-1-5) var(--space-2);
5016
+ border-radius: var(--r-1);
5017
+ font-family: var(--ff-mono); font-size: var(--fs-sm); color: var(--fg-2);
5018
+ cursor: pointer; list-style: none;
5019
+ }
5020
+ .ds-247420 .ds-side-tree-summary::-webkit-details-marker { display: none; }
5021
+ .ds-247420 .ds-side-tree-summary:hover { background: var(--bg-2); color: var(--fg); }
5022
+ .ds-247420 .ds-side-tree-summary:focus-visible {
5023
+ outline: var(--focus-w) solid var(--focus-color);
5024
+ outline-offset: var(--focus-offset);
5025
+ }
5026
+ .ds-247420 .ds-side-tree-summary .glyph { font-family: var(--ff-body); font-size: 13px; font-weight: 600; color: var(--fg-3); }
5027
+ .ds-247420 .ds-side-tree-summary .count {
5028
+ margin-left: auto; padding: 1px 8px; font-size: var(--fs-micro); font-weight: 700;
5029
+ font-family: var(--ff-body); letter-spacing: 0.04em; min-width: 18px; text-align: center;
5030
+ color: var(--fg-3); background: var(--bg-2); border-radius: var(--r-pill, 999px);
5031
+ }
5032
+ .ds-247420 .ds-side-tree-children {
5033
+ display: flex; flex-direction: column;
5034
+ padding-left: var(--space-4);
5035
+ gap: var(--space-hair);
5036
+ }
5037
+ .ds-247420 .ds-side-tree-child {
5038
+ display: flex; align-items: center; gap: var(--space-2);
5039
+ padding: var(--space-1) var(--space-2);
5040
+ border-radius: var(--r-1);
5041
+ font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3);
5042
+ text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
5043
+ }
5044
+ .ds-247420 .ds-side-tree-child:hover, .ds-247420 .ds-side-tree-child:focus-visible { background: var(--bg-2); color: var(--fg); }
5045
+ .ds-247420 .ds-side-tree-child:focus-visible {
5046
+ outline: var(--focus-w) solid var(--focus-color);
5047
+ outline-offset: var(--focus-offset);
5048
+ }
5049
+ .ds-247420 .ds-side-tree-child .glyph { font-family: var(--ff-body); color: var(--fg-3); }
5050
+
5001
5051
  /* -- select primitive --------------------------------------------------- */
5002
5052
  .ds-247420 .ds-select {
5003
5053
  width: 100%;
@@ -6880,7 +6930,7 @@
6880
6930
  @media (max-width: 640px) {
6881
6931
  .ds-247420 .ds-session-row-span { flex-basis: 100%; }
6882
6932
  }
6883
- .ds-247420 .ds-session-row-devcnt { color: var(--warn); font-weight: 600; }
6933
+ .ds-247420 .ds-session-row-devcnt { color: var(--warn); font-weight: var(--fw-medium, 500); }
6884
6934
  .ds-247420 .ds-session-row-span { font-size: var(--fs-micro); color: var(--fg-3); }
6885
6935
 
6886
6936
  /* DevRow */
@@ -8176,7 +8226,7 @@
8176
8226
  padding: var(--space-3) var(--space-4);
8177
8227
  border-bottom: var(--bw-hair) solid var(--rule); flex: 0 0 auto;
8178
8228
  }
8179
- .ds-247420 .ds-plugins-title { font-size: var(--fs-md); font-weight: 700; color: var(--fg); }
8229
+ .ds-247420 .ds-plugins-title { font-size: var(--fs-md); font-weight: 600; color: var(--fg); }
8180
8230
  .ds-247420 .ds-plugins-close {
8181
8231
  background: none; border: none; color: var(--fg-3); cursor: pointer;
8182
8232
  font-size: 20px; line-height: 1; padding: 2px 6px; border-radius: var(--r-1);
@@ -8447,7 +8497,7 @@
8447
8497
  width: 18px; height: 18px;
8448
8498
  border-radius: var(--r-pill);
8449
8499
  background: var(--bg-1);
8450
- border: var(--bw-rule) solid var(--accent);
8500
+ border: var(--bw-hair) solid var(--accent);
8451
8501
  box-shadow: var(--shadow-1);
8452
8502
  transform: translate(-50%, -50%);
8453
8503
  pointer-events: none;
@@ -8483,7 +8533,7 @@
8483
8533
  font-weight: 600;
8484
8534
  color: var(--fg);
8485
8535
  background: var(--bg-2);
8486
- border: var(--bw-rule) solid var(--rule);
8536
+ border: var(--bw-hair) solid var(--rule);
8487
8537
  border-radius: var(--r-1);
8488
8538
  transition: border-color var(--dur-snap) var(--ease), background var(--dur-snap) var(--ease), box-shadow var(--dur-snap) var(--ease);
8489
8539
  }