anentrypoint-design 0.0.166 → 0.0.168
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/README.md +1 -1
- package/app-shell.css +7 -7
- package/chat.css +13 -13
- package/colors_and_type.css +69 -0
- package/community.css +3 -3
- package/dist/247420.css +192 -63
- package/dist/247420.js +68 -36
- package/package.json +9 -3
- package/src/community-app.js +1 -1
- package/src/components/chat.js +1 -1
- package/src/components/content.js +2 -2
- package/src/components/freddie.js +3 -3
- package/src/components/shell.js +2 -2
- package/src/index.js +5 -1
- package/src/kits/os/freddie/pages-core.js +3 -3
- package/src/kits/os/freddie/pages-os.js +1 -1
- package/src/kits/os/freddie/pages-tools.js +1 -1
- package/src/kits/os/freddie/routes.js +1 -1
- package/src/kits/os/freddie-dashboard.css +7 -7
- package/src/kits/os/theme.css +129 -135
- package/src/kits/spoint/index.js +8 -0
- package/src/kits/spoint/loading-screen.css +67 -0
- package/src/kits/spoint/loading-screen.js +75 -0
- package/src/markdown-cache-perf-test.js +2 -2
- package/src/page-html.js +44 -12
- package/src/theme.js +62 -9
- package/src/web-components/ds-chat.js +1 -1
package/dist/247420.css
CHANGED
|
@@ -54,8 +54,32 @@
|
|
|
54
54
|
|
|
55
55
|
--accent: var(--green);
|
|
56
56
|
--accent-fg: var(--paper);
|
|
57
|
+
--accent-bright: var(--green-2); /* base value so var(--accent-bright) never falls back empty; ink + [data-accent] retune it */
|
|
57
58
|
--accent-tint: color-mix(in oklab, var(--accent) 26%, var(--bg));
|
|
58
59
|
|
|
60
|
+
/* On-color foregrounds — text/icons that sit ON a saturated fill (accent,
|
|
61
|
+
danger, category chips). Theme-driven so white-on-color never hard-codes
|
|
62
|
+
#fff. --on-accent tracks --accent-fg; --on-color is the generic light
|
|
63
|
+
foreground for any colored fill. */
|
|
64
|
+
--on-accent: var(--accent-fg);
|
|
65
|
+
--on-color: #fff;
|
|
66
|
+
|
|
67
|
+
/* Scrims — modal/overlay backdrops. Derived from --fg so a dark theme dims
|
|
68
|
+
with its own ink rather than a baked rgba(0,0,0). */
|
|
69
|
+
--scrim: color-mix(in oklab, var(--fg) 40%, transparent);
|
|
70
|
+
--scrim-strong: color-mix(in oklab, var(--fg) 72%, transparent);
|
|
71
|
+
--scrim-media: color-mix(in oklab, var(--fg) 85%, transparent);
|
|
72
|
+
|
|
73
|
+
/* Category palette — surfaces (forum tags, project cards) that color-code by
|
|
74
|
+
category. Canonical so a theme/accent swap recolors categories instead of
|
|
75
|
+
drifting from a private --cat-* block. Derived from the base palette. */
|
|
76
|
+
--cat-green: var(--green-2);
|
|
77
|
+
--cat-purple: var(--purple-2);
|
|
78
|
+
--cat-mascot: var(--mascot);
|
|
79
|
+
--cat-sun: var(--sun);
|
|
80
|
+
--cat-flame: var(--flame);
|
|
81
|
+
--cat-sky: var(--sky);
|
|
82
|
+
|
|
59
83
|
--panel-bg: var(--bg);
|
|
60
84
|
--panel-bg-2: var(--bg-2);
|
|
61
85
|
--panel-accent: var(--accent);
|
|
@@ -277,6 +301,47 @@
|
|
|
277
301
|
--panel-text-3: inherit;
|
|
278
302
|
--panel-accent-2: inherit;
|
|
279
303
|
--panel-shadow: inherit;
|
|
304
|
+
--on-accent: inherit;
|
|
305
|
+
--on-color: inherit;
|
|
306
|
+
--scrim: inherit;
|
|
307
|
+
--scrim-strong: inherit;
|
|
308
|
+
--scrim-media: inherit;
|
|
309
|
+
--cat-green: inherit;
|
|
310
|
+
--cat-purple: inherit;
|
|
311
|
+
--cat-mascot: inherit;
|
|
312
|
+
--cat-sun: inherit;
|
|
313
|
+
--cat-flame: inherit;
|
|
314
|
+
--cat-sky: inherit;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/* ============================================================
|
|
318
|
+
Named-theme preset contract
|
|
319
|
+
------------------------------------------------------------
|
|
320
|
+
A theme is one [data-theme="X"] block that overrides ONLY the semantic
|
|
321
|
+
surface tokens — never component rules, never raw literals in component
|
|
322
|
+
sheets. The base :root above IS the "paper" theme; [data-theme="paper"]
|
|
323
|
+
restates it so the attribute is explicit and round-trippable. To add a
|
|
324
|
+
theme: copy a block, rename the attr, retune the ~8 semantic tokens.
|
|
325
|
+
============================================================ */
|
|
326
|
+
.ds-247420[data-theme="paper"] {
|
|
327
|
+
color-scheme: light;
|
|
328
|
+
--bg: var(--paper); --bg-2: var(--paper-2); --bg-3: var(--paper-3);
|
|
329
|
+
--fg: var(--ink); --fg-2: var(--ink-2); --fg-3: var(--ink-3);
|
|
330
|
+
--accent: var(--green); --accent-fg: var(--paper);
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/* thebird — warm-paper brand preset. A first-class swappable theme: it lives
|
|
334
|
+
here in the canonical layer (not as a global :root override) so any consumer
|
|
335
|
+
can opt in with data-theme="thebird". The OS-shell chrome (bar heights,
|
|
336
|
+
window controls) stays in src/kits/os/theme.css; only color lives here. */
|
|
337
|
+
.ds-247420[data-theme="thebird"] {
|
|
338
|
+
color-scheme: light;
|
|
339
|
+
--paper: #F5F0E4;
|
|
340
|
+
--paper-2: #EFE9DB;
|
|
341
|
+
--paper-3: #E3DAC7;
|
|
342
|
+
--bg: var(--paper); --bg-2: var(--paper-2); --bg-3: var(--paper-3);
|
|
343
|
+
--fg: var(--ink); --fg-2: var(--ink-2); --fg-3: var(--ink-3);
|
|
344
|
+
--accent: var(--green); --accent-fg: var(--paper);
|
|
280
345
|
}
|
|
281
346
|
|
|
282
347
|
.ds-247420[data-density="compact"] { --density: 0.75; }
|
|
@@ -322,6 +387,10 @@
|
|
|
322
387
|
0 2px 4px color-mix(in oklab, var(--fg) 6%, transparent);
|
|
323
388
|
--shadow-3: 0 12px 32px color-mix(in oklab, var(--fg) 14%, transparent),
|
|
324
389
|
0 4px 8px color-mix(in oklab, var(--fg) 8%, transparent);
|
|
390
|
+
/* Overlay elevation — the float for dialogs/lightboxes that sit above a
|
|
391
|
+
scrim; heavier than --shadow-3 and theme-driven (was raw rgba(0,0,0,.4)). */
|
|
392
|
+
--shadow-overlay: 0 12px 40px color-mix(in oklab, var(--fg) 28%, transparent),
|
|
393
|
+
0 4px 12px color-mix(in oklab, var(--fg) 16%, transparent);
|
|
325
394
|
--z-dropdown: 600;
|
|
326
395
|
--z-popover: 700;
|
|
327
396
|
--z-modal: 800;
|
|
@@ -466,7 +535,7 @@
|
|
|
466
535
|
|
|
467
536
|
.ds-247420 pre {
|
|
468
537
|
font-family: var(--ff-mono);
|
|
469
|
-
background: var(--panel-bg
|
|
538
|
+
background: var(--panel-bg);
|
|
470
539
|
color: var(--panel-text, inherit);
|
|
471
540
|
padding: var(--space-5);
|
|
472
541
|
overflow-x: auto;
|
|
@@ -477,7 +546,7 @@
|
|
|
477
546
|
}
|
|
478
547
|
.ds-247420 pre .k { color: var(--mascot); }
|
|
479
548
|
.ds-247420 pre .s { color: var(--sun); }
|
|
480
|
-
.ds-247420 pre .c { color:
|
|
549
|
+
.ds-247420 pre .c { color: var(--fg-3); }
|
|
481
550
|
.ds-247420 pre .n { color: var(--green-2); }
|
|
482
551
|
|
|
483
552
|
/* ============================================================
|
|
@@ -921,10 +990,10 @@
|
|
|
921
990
|
.ds-247420 .cli .copy {
|
|
922
991
|
padding: 8px 16px; background: transparent; color: var(--paper);
|
|
923
992
|
font-size: var(--fs-tiny); text-transform: uppercase; letter-spacing: var(--tr-caps);
|
|
924
|
-
cursor: pointer; box-shadow: inset 0 0 0 1px
|
|
993
|
+
cursor: pointer; box-shadow: inset 0 0 0 1px var(--rule-strong);
|
|
925
994
|
border-radius: var(--r-pill);
|
|
926
995
|
}
|
|
927
|
-
.ds-247420 .cli .copy:hover { background:
|
|
996
|
+
.ds-247420 .cli .copy:hover { background: var(--fg-3); }
|
|
928
997
|
|
|
929
998
|
/* Multi-line CLI block: when .cli holds .cli-line / .cli-cmt children
|
|
930
999
|
(quickstart scripts, multi-command snippets) it stacks as a column
|
|
@@ -1617,7 +1686,7 @@
|
|
|
1617
1686
|
.ds-247420 .btn-primary.danger {
|
|
1618
1687
|
background: var(--warn);
|
|
1619
1688
|
border-color: var(--warn);
|
|
1620
|
-
color:
|
|
1689
|
+
color: var(--on-color);
|
|
1621
1690
|
}
|
|
1622
1691
|
|
|
1623
1692
|
/* ── Preview ──────────────────────────────────────────────── */
|
|
@@ -1801,7 +1870,7 @@
|
|
|
1801
1870
|
.ds-247420 .ds-segmented .ds-seg-btn:hover { color: var(--fg); }
|
|
1802
1871
|
.ds-247420 .ds-segmented .ds-seg-btn.is-on {
|
|
1803
1872
|
background: var(--bg); color: var(--fg);
|
|
1804
|
-
box-shadow:
|
|
1873
|
+
box-shadow: var(--shadow-1);
|
|
1805
1874
|
}
|
|
1806
1875
|
.ds-247420 .ds-theme-toggle.btn {
|
|
1807
1876
|
font-family: var(--ff-mono); font-size: var(--fs-xs);
|
|
@@ -2571,7 +2640,7 @@
|
|
|
2571
2640
|
}
|
|
2572
2641
|
.ds-247420 .ds-field input[aria-invalid="true"],
|
|
2573
2642
|
.ds-247420 .ds-field textarea[aria-invalid="true"] {
|
|
2574
|
-
box-shadow: inset 0 0 0 var(--bw-hair, 1px) var(--flame
|
|
2643
|
+
box-shadow: inset 0 0 0 var(--bw-hair, 1px) var(--flame);
|
|
2575
2644
|
}
|
|
2576
2645
|
|
|
2577
2646
|
/* Clear button for text inputs */
|
|
@@ -4433,9 +4502,9 @@
|
|
|
4433
4502
|
cursor: pointer; font-size: 16px; line-height: 1;
|
|
4434
4503
|
}
|
|
4435
4504
|
.ds-247420 .vx-vc-btn:hover { background: var(--bg-4, var(--bg-3)); }
|
|
4436
|
-
.ds-247420 .vx-vc-on { background: var(--accent); color: var(--accent-fg
|
|
4505
|
+
.ds-247420 .vx-vc-on { background: var(--accent); color: var(--accent-fg); border-color: var(--accent); }
|
|
4437
4506
|
.ds-247420 .vx-vc-disabled, .ds-247420 .vx-vc-btn:disabled { opacity: .4; cursor: not-allowed; }
|
|
4438
|
-
.ds-247420 .vx-vc-leave { margin-left: auto; background: var(--danger
|
|
4507
|
+
.ds-247420 .vx-vc-leave { margin-left: auto; background: var(--danger); color: var(--on-color); border-color: var(--danger); }
|
|
4439
4508
|
.ds-247420 .vx-vc-glyph { pointer-events: none; }
|
|
4440
4509
|
|
|
4441
4510
|
/* ThreadPanel — cm-thread-panel / cm-tp-* */
|
|
@@ -4478,7 +4547,7 @@
|
|
|
4478
4547
|
.ds-247420 .cm-forum-toolbar { display: flex; gap: var(--space-2); align-items: center; padding: var(--space-2); border-bottom: var(--bw-hair) solid var(--rule); }
|
|
4479
4548
|
.ds-247420 .cm-forum-search { flex: 1; padding: var(--space-1) var(--space-2); border: var(--bw-hair) solid var(--rule-strong); border-radius: var(--r-1); background: var(--bg-3); color: var(--fg); }
|
|
4480
4549
|
.ds-247420 .cm-forum-sort { padding: var(--space-1); border: var(--bw-hair) solid var(--rule-strong); border-radius: var(--r-1); background: var(--bg-3); color: var(--fg); }
|
|
4481
|
-
.ds-247420 .cm-forum-new { padding: var(--space-1) var(--space-2); border: none; border-radius: var(--r-1); background: var(--accent); color: var(--accent-fg
|
|
4550
|
+
.ds-247420 .cm-forum-new { padding: var(--space-1) var(--space-2); border: none; border-radius: var(--r-1); background: var(--accent); color: var(--accent-fg); cursor: pointer; }
|
|
4482
4551
|
.ds-247420 .cm-forum-list { flex: 1; min-height: 0; overflow-y: auto; }
|
|
4483
4552
|
.ds-247420 .cm-forum-item { display: flex; flex-direction: column; gap: var(--space-1); width: 100%; text-align: left; cursor: pointer; padding: var(--space-2) var(--space-3); border: none; background: transparent; border-bottom: var(--bw-hair) solid var(--rule); color: var(--fg); }
|
|
4484
4553
|
.ds-247420 .cm-forum-item:hover { background: var(--bg-3); }
|
|
@@ -4551,21 +4620,21 @@
|
|
|
4551
4620
|
white-space: nowrap;
|
|
4552
4621
|
margin-left: auto;
|
|
4553
4622
|
font-size: .85em;
|
|
4554
|
-
color: var(--
|
|
4623
|
+
color: var(--fg-3);
|
|
4555
4624
|
}
|
|
4556
4625
|
/* status disc — a CSS-drawn dot, not a glyph; pulses while streaming */
|
|
4557
4626
|
.ds-247420 .agentchat-status .status-dot-disc {
|
|
4558
4627
|
flex: none; width: 8px; height: 8px; border-radius: 50%;
|
|
4559
|
-
background: var(--
|
|
4628
|
+
background: var(--fg-3);
|
|
4560
4629
|
}
|
|
4561
4630
|
.ds-247420 .agentchat-status .status-dot-disc.status-dot-live {
|
|
4562
|
-
background: var(--accent
|
|
4631
|
+
background: var(--accent);
|
|
4563
4632
|
animation: agentchat-pulse 2s infinite;
|
|
4564
4633
|
}
|
|
4565
4634
|
@keyframes agentchat-pulse {
|
|
4566
|
-
0% { box-shadow: 0 0 0 0
|
|
4567
|
-
70% { box-shadow: 0 0 0 6px
|
|
4568
|
-
100% { box-shadow: 0 0 0 0
|
|
4635
|
+
0% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--accent) 50%, transparent); }
|
|
4636
|
+
70% { box-shadow: 0 0 0 6px color-mix(in oklab, var(--accent) 0%, transparent); }
|
|
4637
|
+
100% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--accent) 0%, transparent); }
|
|
4569
4638
|
}
|
|
4570
4639
|
@media (prefers-reduced-motion: reduce) {
|
|
4571
4640
|
.ds-247420 .agentchat-status .status-dot-disc { animation: none !important; }
|
|
@@ -4577,7 +4646,7 @@
|
|
|
4577
4646
|
align-items: center;
|
|
4578
4647
|
gap: var(--space-2, 8px);
|
|
4579
4648
|
font-size: .85em;
|
|
4580
|
-
color: var(--
|
|
4649
|
+
color: var(--fg-3);
|
|
4581
4650
|
flex-wrap: wrap;
|
|
4582
4651
|
}
|
|
4583
4652
|
.ds-247420 .agentchat-cwd-text {
|
|
@@ -4588,20 +4657,20 @@
|
|
|
4588
4657
|
}
|
|
4589
4658
|
.ds-247420 .agentchat-cwd-btn {
|
|
4590
4659
|
background: none;
|
|
4591
|
-
border: 1px solid var(--
|
|
4660
|
+
border: 1px solid var(--rule);
|
|
4592
4661
|
color: inherit;
|
|
4593
4662
|
border-radius: 6px;
|
|
4594
4663
|
padding: 2px 8px;
|
|
4595
4664
|
cursor: pointer;
|
|
4596
4665
|
font: inherit;
|
|
4597
4666
|
}
|
|
4598
|
-
.ds-247420 .agentchat-cwd-btn:hover { border-color: var(--accent
|
|
4667
|
+
.ds-247420 .agentchat-cwd-btn:hover { border-color: var(--accent); }
|
|
4599
4668
|
.ds-247420 .agentchat-cwd-input {
|
|
4600
4669
|
flex: 1;
|
|
4601
4670
|
min-width: 12ch;
|
|
4602
|
-
background: var(--
|
|
4603
|
-
border: 1px solid var(--
|
|
4604
|
-
color: var(--
|
|
4671
|
+
background: var(--bg-2);
|
|
4672
|
+
border: 1px solid var(--rule);
|
|
4673
|
+
color: var(--fg);
|
|
4605
4674
|
border-radius: 6px;
|
|
4606
4675
|
padding: 4px 8px;
|
|
4607
4676
|
font: inherit;
|
|
@@ -4614,7 +4683,7 @@
|
|
|
4614
4683
|
gap: .5em;
|
|
4615
4684
|
}
|
|
4616
4685
|
.ds-247420 .agentchat-title { font-size: 1em; margin: 0; }
|
|
4617
|
-
.ds-247420 .agentchat-sub { font-size: .85em; color: var(--
|
|
4686
|
+
.ds-247420 .agentchat-sub { font-size: .85em; color: var(--fg-3); }
|
|
4618
4687
|
.ds-247420 .agentchat-thread {
|
|
4619
4688
|
flex: 1;
|
|
4620
4689
|
min-height: 0;
|
|
@@ -4864,7 +4933,7 @@
|
|
|
4864
4933
|
color: var(--panel-text, var(--fg-text));
|
|
4865
4934
|
border: 1px solid var(--rule);
|
|
4866
4935
|
border-radius: var(--r-2, 8px);
|
|
4867
|
-
box-shadow:
|
|
4936
|
+
box-shadow: var(--shadow-2);
|
|
4868
4937
|
padding: 4px;
|
|
4869
4938
|
display: flex; flex-direction: column;
|
|
4870
4939
|
outline: none;
|
|
@@ -4881,7 +4950,7 @@
|
|
|
4881
4950
|
.ds-247420 .ds-ep-ctxmenu-item:focus-visible {
|
|
4882
4951
|
background: var(--panel-2, var(--rule));
|
|
4883
4952
|
}
|
|
4884
|
-
.ds-247420 .ds-ep-ctxmenu-item.danger { color: var(--danger
|
|
4953
|
+
.ds-247420 .ds-ep-ctxmenu-item.danger { color: var(--danger); }
|
|
4885
4954
|
.ds-247420 .ds-ep-ctxmenu-item.disabled { opacity: 0.45; cursor: not-allowed; }
|
|
4886
4955
|
.ds-247420 .ds-ep-ctxmenu-icon { width: 16px; display: inline-flex; justify-content: center; }
|
|
4887
4956
|
.ds-247420 .ds-ep-ctxmenu-sep { height: 1px; background: var(--rule); margin: 4px 6px; }
|
|
@@ -4891,13 +4960,13 @@
|
|
|
4891
4960
|
--------------------------------------------------------------- */
|
|
4892
4961
|
.ds-247420 .ds-ep-drawer-backdrop {
|
|
4893
4962
|
position: fixed; inset: 0; z-index: 8500;
|
|
4894
|
-
background:
|
|
4963
|
+
background: var(--scrim);
|
|
4895
4964
|
}
|
|
4896
4965
|
.ds-247420 .ds-ep-drawer {
|
|
4897
4966
|
position: absolute;
|
|
4898
4967
|
background: var(--panel-1, var(--panel-bg));
|
|
4899
4968
|
color: var(--panel-text, var(--fg-text));
|
|
4900
|
-
box-shadow:
|
|
4969
|
+
box-shadow: var(--shadow-overlay);
|
|
4901
4970
|
outline: none;
|
|
4902
4971
|
transition: transform 180ms ease;
|
|
4903
4972
|
padding: 12px;
|
|
@@ -4918,7 +4987,7 @@
|
|
|
4918
4987
|
--------------------------------------------------------------- */
|
|
4919
4988
|
.ds-247420 .ds-ep-dialog-backdrop {
|
|
4920
4989
|
position: fixed; inset: 0; z-index: 9500;
|
|
4921
|
-
background:
|
|
4990
|
+
background: var(--scrim-strong);
|
|
4922
4991
|
display: flex; align-items: center; justify-content: center;
|
|
4923
4992
|
padding: 16px;
|
|
4924
4993
|
}
|
|
@@ -4927,7 +4996,7 @@
|
|
|
4927
4996
|
color: var(--panel-text, var(--fg-text));
|
|
4928
4997
|
border: 1px solid var(--rule);
|
|
4929
4998
|
border-radius: var(--r-2, 10px);
|
|
4930
|
-
box-shadow:
|
|
4999
|
+
box-shadow: var(--shadow-overlay);
|
|
4931
5000
|
min-width: 280px; max-width: min(560px, 100%);
|
|
4932
5001
|
max-height: 90vh; overflow: auto;
|
|
4933
5002
|
display: flex; flex-direction: column;
|
|
@@ -4951,7 +5020,7 @@
|
|
|
4951
5020
|
background: var(--accent); color: var(--accent-fg); border-color: var(--accent);
|
|
4952
5021
|
}
|
|
4953
5022
|
.ds-247420 .ds-ep-dialog-btn.kind-danger {
|
|
4954
|
-
background: var(--danger
|
|
5023
|
+
background: var(--danger); color: var(--on-accent); border-color: var(--danger);
|
|
4955
5024
|
}
|
|
4956
5025
|
|
|
4957
5026
|
/* ---------------------------------------------------------------
|
|
@@ -4973,14 +5042,14 @@
|
|
|
4973
5042
|
border-left: 3px solid var(--accent);
|
|
4974
5043
|
border-radius: var(--r-1, 6px);
|
|
4975
5044
|
padding: 10px 14px;
|
|
4976
|
-
box-shadow:
|
|
5045
|
+
box-shadow: var(--shadow-3);
|
|
4977
5046
|
min-width: 220px; max-width: 360px;
|
|
4978
5047
|
opacity: 1;
|
|
4979
5048
|
transition: opacity 180ms ease, transform 180ms ease;
|
|
4980
5049
|
}
|
|
4981
|
-
.ds-247420 .ds-ep-toast.kind-success { border-left-color: var(--success
|
|
4982
|
-
.ds-247420 .ds-ep-toast.kind-warn { border-left-color: var(--warn
|
|
4983
|
-
.ds-247420 .ds-ep-toast.kind-error { border-left-color: var(--danger
|
|
5050
|
+
.ds-247420 .ds-ep-toast.kind-success { border-left-color: var(--success); }
|
|
5051
|
+
.ds-247420 .ds-ep-toast.kind-warn { border-left-color: var(--warn); }
|
|
5052
|
+
.ds-247420 .ds-ep-toast.kind-error { border-left-color: var(--danger); }
|
|
4984
5053
|
.ds-247420 .ds-ep-toast.leaving { opacity: 0; transform: translateY(-6px); }
|
|
4985
5054
|
@media (max-width: 480px) {
|
|
4986
5055
|
.ds-247420 .ds-ep-toast-host { left: 16px; right: 16px; align-items: center; }
|
|
@@ -5140,7 +5209,7 @@
|
|
|
5140
5209
|
font-weight: 500;
|
|
5141
5210
|
}
|
|
5142
5211
|
.ds-247420 .ds-field-required {
|
|
5143
|
-
color: var(--danger
|
|
5212
|
+
color: var(--danger);
|
|
5144
5213
|
font-weight: 700;
|
|
5145
5214
|
margin-left: 2px;
|
|
5146
5215
|
}
|
|
@@ -5149,12 +5218,12 @@
|
|
|
5149
5218
|
font-size: var(--fs-tiny, 12px);
|
|
5150
5219
|
}
|
|
5151
5220
|
.ds-247420 .ds-field-error {
|
|
5152
|
-
color: var(--danger
|
|
5221
|
+
color: var(--danger);
|
|
5153
5222
|
font-size: var(--fs-tiny, 12px);
|
|
5154
5223
|
font-weight: 500;
|
|
5155
5224
|
}
|
|
5156
5225
|
.ds-247420 .ds-field-wrap [aria-invalid="true"] {
|
|
5157
|
-
border-color: var(--danger
|
|
5226
|
+
border-color: var(--danger) !important;
|
|
5158
5227
|
}
|
|
5159
5228
|
|
|
5160
5229
|
.ds-247420 .sr-only {
|
|
@@ -5182,10 +5251,10 @@
|
|
|
5182
5251
|
font-size: 12px;
|
|
5183
5252
|
line-height: 1.4;
|
|
5184
5253
|
max-width: 280px;
|
|
5185
|
-
box-shadow:
|
|
5254
|
+
box-shadow: var(--shadow-3);
|
|
5186
5255
|
pointer-events: none;
|
|
5187
5256
|
}
|
|
5188
|
-
.ds-247420 .ds-tooltip.kind-danger { border-color: var(--danger
|
|
5257
|
+
.ds-247420 .ds-tooltip.kind-danger { border-color: var(--danger); color: var(--danger); }
|
|
5189
5258
|
@media (prefers-reduced-motion: no-preference) {
|
|
5190
5259
|
.ds-247420 .ds-tooltip { transition: opacity 120ms ease; }
|
|
5191
5260
|
}
|
|
@@ -5201,7 +5270,7 @@
|
|
|
5201
5270
|
color: var(--panel-text, var(--fg-text));
|
|
5202
5271
|
border: 1px solid var(--rule);
|
|
5203
5272
|
border-radius: var(--r-2, 8px);
|
|
5204
|
-
box-shadow:
|
|
5273
|
+
box-shadow: var(--shadow-3);
|
|
5205
5274
|
padding: 0;
|
|
5206
5275
|
outline: none;
|
|
5207
5276
|
min-width: 160px;
|
|
@@ -5238,7 +5307,7 @@
|
|
|
5238
5307
|
pointer-events: none;
|
|
5239
5308
|
cursor: not-allowed;
|
|
5240
5309
|
}
|
|
5241
|
-
.ds-247420 .ds-dropdown-item.is-danger { color: var(--danger
|
|
5310
|
+
.ds-247420 .ds-dropdown-item.is-danger { color: var(--danger); }
|
|
5242
5311
|
.ds-247420 .ds-dropdown-glyph { width: 16px; display: inline-flex; justify-content: center; flex-shrink: 0; }
|
|
5243
5312
|
.ds-247420 .ds-dropdown-label { flex: 1; min-width: 0; }
|
|
5244
5313
|
.ds-247420 .ds-dropdown-separator { height: 1px; background: var(--rule); margin: 4px 6px; }
|
|
@@ -5318,7 +5387,7 @@
|
|
|
5318
5387
|
background: var(--bg-2); color: var(--fg);
|
|
5319
5388
|
border: 1px solid var(--rule);
|
|
5320
5389
|
border-radius: var(--r-2, 14px);
|
|
5321
|
-
box-shadow: var(--shadow-3
|
|
5390
|
+
box-shadow: var(--shadow-3);
|
|
5322
5391
|
overflow: hidden;
|
|
5323
5392
|
}
|
|
5324
5393
|
.ds-247420 .ov-cmd-input {
|
|
@@ -5366,7 +5435,7 @@
|
|
|
5366
5435
|
background: var(--bg-2); color: var(--fg);
|
|
5367
5436
|
border: 1px solid var(--rule);
|
|
5368
5437
|
border-radius: var(--r-2, 14px);
|
|
5369
|
-
box-shadow: var(--shadow-3
|
|
5438
|
+
box-shadow: var(--shadow-3);
|
|
5370
5439
|
outline: none; overflow: hidden;
|
|
5371
5440
|
}
|
|
5372
5441
|
.ds-247420 .ov-emoji-tabs {
|
|
@@ -5446,7 +5515,7 @@
|
|
|
5446
5515
|
background: var(--bg-2); color: var(--fg);
|
|
5447
5516
|
border: 1px solid var(--rule);
|
|
5448
5517
|
border-radius: var(--r-2, 14px);
|
|
5449
|
-
box-shadow: var(--shadow-3
|
|
5518
|
+
box-shadow: var(--shadow-3);
|
|
5450
5519
|
outline: none; overflow: hidden;
|
|
5451
5520
|
}
|
|
5452
5521
|
.ds-247420 .ov-set-head {
|
|
@@ -5491,14 +5560,14 @@
|
|
|
5491
5560
|
.ds-247420 .ov-auth-backdrop {
|
|
5492
5561
|
position: fixed; inset: 0; z-index: var(--z-overlay, 1000);
|
|
5493
5562
|
display: flex; align-items: center; justify-content: center;
|
|
5494
|
-
background:
|
|
5563
|
+
background: var(--scrim-strong);
|
|
5495
5564
|
}
|
|
5496
5565
|
.ds-247420 .ov-auth-panel {
|
|
5497
5566
|
width: min(420px, 92vw);
|
|
5498
5567
|
display: flex; flex-direction: column;
|
|
5499
5568
|
background: var(--bg-2); color: var(--fg);
|
|
5500
5569
|
border: 1px solid var(--rule); border-radius: var(--r-2, 8px);
|
|
5501
|
-
box-shadow: var(--shadow-
|
|
5570
|
+
box-shadow: var(--shadow-overlay);
|
|
5502
5571
|
overflow: hidden;
|
|
5503
5572
|
}
|
|
5504
5573
|
.ds-247420 .ov-auth-head { display: flex; align-items: center; justify-content: space-between; padding: var(--space-3); border-bottom: 1px solid var(--rule); }
|
|
@@ -5511,21 +5580,21 @@
|
|
|
5511
5580
|
.ds-247420 .ov-auth-body { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); }
|
|
5512
5581
|
.ds-247420 .ov-auth-hint { margin: 0; font-size: var(--fs-0, 12px); color: var(--fg-2, var(--fg)); }
|
|
5513
5582
|
.ds-247420 .ov-auth-input { padding: var(--space-2); border: 1px solid var(--rule-strong); border-radius: var(--r-1); background: var(--bg-3); color: var(--fg); }
|
|
5514
|
-
.ds-247420 .ov-auth-primary { padding: var(--space-2); border: none; border-radius: var(--r-1); background: var(--accent); color: var(--accent
|
|
5583
|
+
.ds-247420 .ov-auth-primary { padding: var(--space-2); border: none; border-radius: var(--r-1); background: var(--accent); color: var(--on-accent); font-weight: 700; cursor: pointer; }
|
|
5515
5584
|
.ds-247420 .ov-auth-primary:disabled { opacity: .6; cursor: progress; }
|
|
5516
|
-
.ds-247420 .ov-auth-error { margin: 0 var(--space-3) var(--space-3); padding: var(--space-2); border-radius: var(--r-1); background: var(--danger
|
|
5585
|
+
.ds-247420 .ov-auth-error { margin: 0 var(--space-3) var(--space-3); padding: var(--space-2); border-radius: var(--r-1); background: color-mix(in oklab, var(--danger) 15%, transparent); color: var(--danger); font-size: var(--fs-0, 12px); }
|
|
5517
5586
|
|
|
5518
5587
|
/* VideoLightbox — ov-lightbox-* */
|
|
5519
5588
|
.ds-247420 .ov-lightbox-backdrop {
|
|
5520
5589
|
position: fixed; inset: 0; z-index: var(--z-overlay-top, 1100);
|
|
5521
5590
|
display: flex; align-items: center; justify-content: center;
|
|
5522
|
-
background:
|
|
5591
|
+
background: var(--scrim-media);
|
|
5523
5592
|
}
|
|
5524
|
-
.ds-247420 .ov-lightbox-x { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border: none; border-radius: 50%; background:
|
|
5525
|
-
.ds-247420 .ov-lightbox-x:hover { background:
|
|
5593
|
+
.ds-247420 .ov-lightbox-x { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border: none; border-radius: 50%; background: color-mix(in oklab, var(--on-color) 12%, transparent); color: var(--on-color); font-size: 24px; line-height: 1; cursor: pointer; }
|
|
5594
|
+
.ds-247420 .ov-lightbox-x:hover { background: color-mix(in oklab, var(--on-color) 24%, transparent); }
|
|
5526
5595
|
.ds-247420 .ov-lightbox-stage { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); max-width: 92vw; max-height: 90vh; }
|
|
5527
|
-
.ds-247420 .ov-lightbox-video { max-width: 92vw; max-height: 82vh; border-radius: var(--r-1); background: #000; }
|
|
5528
|
-
.ds-247420 .ov-lightbox-label { color:
|
|
5596
|
+
.ds-247420 .ov-lightbox-video { max-width: 92vw; max-height: 82vh; border-radius: var(--r-1); background: #000; /* true black media letterbox, intentional */ }
|
|
5597
|
+
.ds-247420 .ov-lightbox-label { color: var(--on-color); font-size: var(--fs-0, 12px); opacity: .85; }
|
|
5529
5598
|
|
|
5530
5599
|
/* community-app.css */
|
|
5531
5600
|
/* community-app.css — layout glue for mountCommunityApp (the full chat/community
|
|
@@ -5536,15 +5605,6 @@
|
|
|
5536
5605
|
.ds-247420. Additive — defines only the ca- prefix, group, rail-empty, vx-view
|
|
5537
5606
|
classes plus the cat color tokens. */
|
|
5538
5607
|
|
|
5539
|
-
.ds-247420 {
|
|
5540
|
-
--cat-green: #3F8A4A;
|
|
5541
|
-
--cat-purple: #6B3A78;
|
|
5542
|
-
--cat-mascot: #F07AA8;
|
|
5543
|
-
--cat-sun: #FFD86B;
|
|
5544
|
-
--cat-flame: #FF8454;
|
|
5545
|
-
--cat-sky: #6FA9FF;
|
|
5546
|
-
}
|
|
5547
|
-
|
|
5548
5608
|
.ds-247420.ds-247420 .ca-app {
|
|
5549
5609
|
display: flex;
|
|
5550
5610
|
flex-direction: column;
|
|
@@ -5619,7 +5679,7 @@
|
|
|
5619
5679
|
padding: 0 5px;
|
|
5620
5680
|
border-radius: 9px;
|
|
5621
5681
|
background: var(--accent);
|
|
5622
|
-
color: var(--
|
|
5682
|
+
color: var(--on-accent);
|
|
5623
5683
|
font-size: 11px;
|
|
5624
5684
|
font-weight: 600;
|
|
5625
5685
|
text-align: center;
|
|
@@ -5649,3 +5709,72 @@
|
|
|
5649
5709
|
overflow-y: auto;
|
|
5650
5710
|
align-content: start;
|
|
5651
5711
|
}
|
|
5712
|
+
|
|
5713
|
+
/* spoint/loading-screen.css */
|
|
5714
|
+
/* Loading-screen kit styles. Scoped under .ds-247420 at build time.
|
|
5715
|
+
All colors reference design tokens (no raw literals) per the token-lint gate. */
|
|
5716
|
+
.ds-247420 .sp-loading {
|
|
5717
|
+
position: fixed;
|
|
5718
|
+
inset: 0;
|
|
5719
|
+
z-index: 10000;
|
|
5720
|
+
display: flex;
|
|
5721
|
+
align-items: center;
|
|
5722
|
+
justify-content: center;
|
|
5723
|
+
background: var(--bg);
|
|
5724
|
+
color: var(--fg);
|
|
5725
|
+
font-family: var(--ff-mono);
|
|
5726
|
+
transition: opacity var(--dur-slow) var(--ease);
|
|
5727
|
+
}
|
|
5728
|
+
.ds-247420 .sp-loading-fade { opacity: 0; pointer-events: none; }
|
|
5729
|
+
.ds-247420 .sp-loading-container {
|
|
5730
|
+
width: min(420px, 86vw);
|
|
5731
|
+
display: flex;
|
|
5732
|
+
flex-direction: column;
|
|
5733
|
+
gap: 20px;
|
|
5734
|
+
}
|
|
5735
|
+
.ds-247420 .sp-loading-header h1 {
|
|
5736
|
+
margin: 0;
|
|
5737
|
+
font-family: var(--ff-display);
|
|
5738
|
+
font-size: var(--fs-h2);
|
|
5739
|
+
letter-spacing: 0.04em;
|
|
5740
|
+
}
|
|
5741
|
+
.ds-247420 .sp-loading-label {
|
|
5742
|
+
margin: 4px 0 0;
|
|
5743
|
+
color: var(--fg-2);
|
|
5744
|
+
font-size: var(--fs-body);
|
|
5745
|
+
}
|
|
5746
|
+
.ds-247420 .sp-loading-bars { display: flex; flex-direction: column; gap: 10px; }
|
|
5747
|
+
.ds-247420 .sp-loading-bar-row {
|
|
5748
|
+
display: grid;
|
|
5749
|
+
grid-template-columns: 88px 1fr 44px;
|
|
5750
|
+
align-items: center;
|
|
5751
|
+
gap: 10px;
|
|
5752
|
+
}
|
|
5753
|
+
.ds-247420 .sp-loading-bar-name {
|
|
5754
|
+
color: var(--fg-3);
|
|
5755
|
+
font-size: var(--fs-small, 11px);
|
|
5756
|
+
text-transform: uppercase;
|
|
5757
|
+
letter-spacing: 0.1em;
|
|
5758
|
+
}
|
|
5759
|
+
.ds-247420 .sp-loading-bar-track {
|
|
5760
|
+
height: 6px;
|
|
5761
|
+
border-radius: 3px;
|
|
5762
|
+
background: var(--bg-3);
|
|
5763
|
+
overflow: hidden;
|
|
5764
|
+
}
|
|
5765
|
+
.ds-247420 .sp-loading-bar-fill {
|
|
5766
|
+
height: 100%;
|
|
5767
|
+
width: 0%;
|
|
5768
|
+
background: var(--accent);
|
|
5769
|
+
transition: width var(--dur-base) var(--ease);
|
|
5770
|
+
}
|
|
5771
|
+
.ds-247420 .sp-loading-bar-pct {
|
|
5772
|
+
color: var(--fg-2);
|
|
5773
|
+
font-size: var(--fs-small, 11px);
|
|
5774
|
+
text-align: right;
|
|
5775
|
+
}
|
|
5776
|
+
.ds-247420 .sp-loading-detail {
|
|
5777
|
+
min-height: 16px;
|
|
5778
|
+
color: var(--fg-3);
|
|
5779
|
+
font-size: var(--fs-small, 11px);
|
|
5780
|
+
}
|