@monster-orange/den 0.2.7 → 0.3.0
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/CHANGELOG.md +1655 -0
- package/README.md +4 -2
- package/bin/den +2 -1
- package/docs/distributions.md +619 -3
- package/make/den.mk +19 -4
- package/make/journeys.mk +2 -1
- package/make/local_dev.mk +6 -13
- package/make/secrets-1password.mk +18 -0
- package/make/test.mk +1 -1
- package/package.json +9 -2
- package/schemas/den.plugin.v1.json +156 -0
- package/schemas/den.theme.v1.json +269 -0
- package/scripts/auth-configure.ts +16 -8
- package/scripts/heal-config.ts +0 -5
- package/scripts/setup-1password.ts +41 -19
- package/scripts/setup-secrets.ts +67 -101
- package/src/pillars/api/global-setup.ts +1 -1
- package/src/pillars/journeys/sandbox.ts +23 -18
- package/src/pillars/journeys/tools/browser-session.ts +2 -2
- package/src/scripts/setup-default-workspace.ts +2 -2
- package/src/shared/agent-actor.ts +38 -3
- package/src/shared/auth/headless-login.ts +1 -1
- package/src/shared/auth/sudo-vault.ts +93 -31
- package/src/shared/auth/token-providers/index.ts +7 -3
- package/src/shared/brand.ts +7 -0
- package/src/shared/config-error.ts +63 -0
- package/src/shared/constants.ts +3 -24
- package/src/shared/den-config.ts +185 -7
- package/src/shared/edge/config.ts +147 -21
- package/src/shared/edge/exec.ts +31 -0
- package/src/shared/edge/included.ts +169 -0
- package/src/shared/edge/render.ts +69 -14
- package/src/shared/edge/runtime.ts +128 -121
- package/src/shared/edge/status.ts +68 -8
- package/src/shared/edge/tls.ts +328 -0
- package/src/shared/edge/types.ts +25 -9
- package/src/shared/environment-manager/catalog.ts +52 -1
- package/src/shared/environment-manager/default-workspace.ts +26 -3
- package/src/shared/environment-manager/git-remote.ts +49 -0
- package/src/shared/environment-manager/health.ts +73 -38
- package/src/shared/environment-manager/scope.ts +168 -0
- package/src/shared/environment-manager/service-runner.ts +789 -43
- package/src/shared/environment-manager/up-targets.ts +132 -0
- package/src/shared/environment-manager/workspace-manager.ts +67 -25
- package/src/shared/environment-manager/workspace-org.ts +26 -11
- package/src/shared/health/rollup.ts +48 -0
- package/src/shared/manifest/service-links.ts +20 -8
- package/src/shared/open-url.ts +21 -2
- package/src/shared/org-sources.ts +328 -0
- package/src/shared/org.ts +53 -5
- package/src/shared/plugins/manifest.ts +406 -0
- package/src/shared/plugins/store.ts +358 -0
- package/src/shared/process/legacy-adopt.ts +285 -0
- package/src/shared/process/process-group.ts +202 -0
- package/src/shared/process/spawn-streaming.ts +7 -0
- package/src/shared/secrets/doppler.ts +1 -1
- package/src/shared/secrets/index.ts +279 -50
- package/src/shared/secrets/none.ts +56 -0
- package/src/shared/secrets/strategies.ts +202 -0
- package/src/shared/secrets/types.ts +1 -1
- package/src/shared/smoke/git-remote.ts +40 -0
- package/src/shared/stacks/manifest-commands.ts +1 -1
- package/src/shared/stacks/namespace.ts +178 -0
- package/src/shared/stacks/owners.ts +303 -0
- package/src/shared/stacks/render.ts +8 -3
- package/src/shared/stacks/runtime.ts +100 -16
- package/src/shared/stacks/status.ts +63 -12
- package/src/shared/strategies/registry.ts +89 -0
- package/src/shared/theme/contract.ts +538 -0
- package/src/shared/types/index.ts +24 -5
- package/src/ui/cli/clone-plan.ts +154 -23
- package/src/ui/cli/create.ts +24 -7
- package/src/ui/cli/doctor-command.ts +131 -0
- package/src/ui/cli/edge-command.ts +56 -10
- package/src/ui/cli/flag-parser.ts +62 -3
- package/src/ui/cli/health-display.ts +25 -0
- package/src/ui/cli/index.ts +649 -72
- package/src/ui/cli/notice.ts +20 -0
- package/src/ui/cli/org-command.ts +12 -2
- package/src/ui/cli/plugin-command.ts +849 -0
- package/src/ui/cli/stack-command.ts +63 -2
- package/src/ui/cli/test-runner.ts +11 -9
- package/src/ui/cli/theme-command.ts +136 -0
- package/src/ui/cli/up-args.ts +15 -0
- package/src/ui/cli/web-command.ts +47 -23
- package/src/ui/mcp/api.ts +28 -2
- package/src/ui/mcp/scope.ts +298 -0
- package/src/ui/mcp/server.ts +70 -8
- package/src/ui/mcp/tools.ts +151 -24
- package/src/ui/server/appearance-prefs.ts +95 -0
- package/src/ui/server/audit.ts +90 -3
- package/src/ui/server/daemon-reaper.ts +29 -1
- package/src/ui/server/engine-stamp.ts +83 -0
- package/src/ui/server/github-service.ts +29 -45
- package/src/ui/server/graph-page.ts +20 -0
- package/src/ui/server/graph-prefs.ts +44 -1
- package/src/ui/server/http-errors.ts +293 -0
- package/src/ui/server/http-helpers.ts +22 -3
- package/src/ui/server/index.ts +590 -45
- package/src/ui/server/public/appearance.js +531 -0
- package/src/ui/server/public/edge-page.js +248 -0
- package/src/ui/server/public/edge.html +251 -0
- package/src/ui/server/public/environments.html +65 -83
- package/src/ui/server/public/error-page.js +247 -0
- package/src/ui/server/public/error.html +260 -0
- package/src/ui/server/public/graph-model.js +332 -14
- package/src/ui/server/public/graph.css +141 -47
- package/src/ui/server/public/graph.js +223 -44
- package/src/ui/server/public/header.js +396 -600
- package/src/ui/server/public/health-fit.js +248 -0
- package/src/ui/server/public/health-rollup.js +128 -0
- package/src/ui/server/public/i18n/es.js +287 -0
- package/src/ui/server/public/i18n/ja.js +276 -0
- package/src/ui/server/public/index.html +139 -438
- package/src/ui/server/public/local-dev.html +3468 -4044
- package/src/ui/server/public/logs.html +71 -208
- package/src/ui/server/public/panel.js +15 -3
- package/src/ui/server/public/release.html +175 -389
- package/src/ui/server/public/services.html +596 -770
- package/src/ui/server/public/settings-page.js +759 -0
- package/src/ui/server/public/settings-registry.js +521 -0
- package/src/ui/server/public/settings.html +590 -0
- package/src/ui/server/public/shell.js +3869 -0
- package/src/ui/server/public/topbar.js +1413 -0
- package/src/ui/server/public/version-label.js +12 -0
- package/src/ui/server/public/workspace-picker.js +74 -34
- package/src/ui/server/readonly-routes.ts +24 -4
- package/src/ui/server/release-service.ts +25 -3
- package/src/ui/server/services-list.ts +94 -17
- package/src/ui/server/settings-distribution.ts +74 -0
- package/src/ui/server/shell-prefs.ts +192 -0
- package/src/ui/server/theme-routes.ts +292 -0
- package/src/ui/server/theme-runtime.ts +407 -0
- package/src/ui/server/ui-assets.ts +16 -1
- package/src/ui/server/ui-language.ts +50 -0
- package/src/ui/server/workspace-routes.ts +55 -9
- package/themes/den/den-theme.json +72 -0
- package/themes/den/favicon.ico +0 -0
- package/themes/den/mark.svg +6 -0
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
(a scrolling side panel, the pop-up) can clip it. */
|
|
6
6
|
.dg,
|
|
7
7
|
.dg-layer {
|
|
8
|
-
--dg-raised:
|
|
9
|
-
--dg-border-strong:
|
|
10
|
-
--dg-faint:
|
|
11
|
-
--dg-remote:
|
|
12
|
-
|
|
13
|
-
--dg-
|
|
14
|
-
font-family: var(--
|
|
8
|
+
--dg-raised: var(--raised);
|
|
9
|
+
--dg-border-strong: var(--border-strong);
|
|
10
|
+
--dg-faint: var(--faint);
|
|
11
|
+
--dg-remote: var(--remote);
|
|
12
|
+
/* No event token: a hue between remote and bad, in any theme. */
|
|
13
|
+
--dg-event: color-mix(in oklab, var(--remote) 50%, var(--bad));
|
|
14
|
+
font-family: var(--sans);
|
|
15
15
|
font-size: 14px;
|
|
16
16
|
color: var(--text);
|
|
17
17
|
}
|
|
@@ -120,10 +120,15 @@
|
|
|
120
120
|
top: 0;
|
|
121
121
|
transform-origin: 0 0;
|
|
122
122
|
}
|
|
123
|
+
/* R22b-1 (Ward QA of dev.34): the edge layer paints above the org and
|
|
124
|
+
repo frames and the cards (positioned, z-index auto, in DOM order), so
|
|
125
|
+
a line or an arrowhead crossing a frame is never hidden. It takes no
|
|
126
|
+
pointer events: cards and frames stay clickable under it. */
|
|
123
127
|
.dg-world > svg {
|
|
124
128
|
position: absolute;
|
|
125
129
|
left: 0;
|
|
126
130
|
top: 0;
|
|
131
|
+
z-index: 1;
|
|
127
132
|
overflow: visible;
|
|
128
133
|
pointer-events: none;
|
|
129
134
|
}
|
|
@@ -193,7 +198,9 @@
|
|
|
193
198
|
box-sizing: border-box;
|
|
194
199
|
}
|
|
195
200
|
.dg-grp.dg-org {
|
|
196
|
-
|
|
201
|
+
/* The org's config color is a border and a dot, never the ground or
|
|
202
|
+
text: it was picked for one mode and fails contrast in the other. */
|
|
203
|
+
background: color-mix(in srgb, var(--surface) 55%, transparent);
|
|
197
204
|
border-color: color-mix(in srgb, var(--oc) 45%, var(--border));
|
|
198
205
|
}
|
|
199
206
|
.dg-grp.dg-repo {
|
|
@@ -217,11 +224,21 @@
|
|
|
217
224
|
min-width: 0;
|
|
218
225
|
}
|
|
219
226
|
.dg-org > .dg-ghead b {
|
|
220
|
-
color: var(--
|
|
227
|
+
color: var(--text);
|
|
221
228
|
font-size: 15px;
|
|
222
229
|
font-weight: 600;
|
|
223
230
|
white-space: nowrap;
|
|
224
231
|
}
|
|
232
|
+
.dg-org > .dg-ghead b::before {
|
|
233
|
+
content: "";
|
|
234
|
+
display: inline-block;
|
|
235
|
+
width: 9px;
|
|
236
|
+
height: 9px;
|
|
237
|
+
margin-right: 7px;
|
|
238
|
+
border-radius: 50%;
|
|
239
|
+
background: var(--oc);
|
|
240
|
+
vertical-align: 0.05em;
|
|
241
|
+
}
|
|
225
242
|
.dg-ghead .meta {
|
|
226
243
|
color: var(--muted);
|
|
227
244
|
font-size: 12px;
|
|
@@ -236,17 +253,23 @@
|
|
|
236
253
|
color: var(--muted);
|
|
237
254
|
white-space: nowrap;
|
|
238
255
|
}
|
|
256
|
+
/* Drawn as a link, so underlined like one: never color alone (a theme's
|
|
257
|
+
accent text can be as red as --bad). */
|
|
239
258
|
.dg-lnk {
|
|
240
259
|
background: none;
|
|
241
260
|
border: 0;
|
|
242
261
|
padding: 0;
|
|
243
|
-
color: var(--accent);
|
|
262
|
+
color: var(--accent-text);
|
|
244
263
|
cursor: pointer;
|
|
245
264
|
font-size: 12px;
|
|
246
265
|
white-space: nowrap;
|
|
266
|
+
text-decoration: underline;
|
|
267
|
+
text-decoration-thickness: 1px;
|
|
268
|
+
text-underline-offset: 0.2em;
|
|
269
|
+
text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
|
|
247
270
|
}
|
|
248
271
|
.dg-lnk:hover {
|
|
249
|
-
text-decoration:
|
|
272
|
+
text-decoration-color: currentColor;
|
|
250
273
|
}
|
|
251
274
|
.dg-gname {
|
|
252
275
|
background: none;
|
|
@@ -294,7 +317,10 @@
|
|
|
294
317
|
border-color: color-mix(in srgb, var(--dg-remote) 60%, var(--border));
|
|
295
318
|
}
|
|
296
319
|
.dg-card.down {
|
|
297
|
-
border-color: color-mix(in srgb, var(--
|
|
320
|
+
border-color: color-mix(in srgb, var(--bad) 70%, var(--border));
|
|
321
|
+
}
|
|
322
|
+
.dg-card.degraded {
|
|
323
|
+
border-color: color-mix(in srgb, var(--warn) 70%, var(--border));
|
|
298
324
|
}
|
|
299
325
|
.dg-card .r1 {
|
|
300
326
|
display: flex;
|
|
@@ -314,10 +340,14 @@
|
|
|
314
340
|
background: var(--dg-faint);
|
|
315
341
|
}
|
|
316
342
|
.dg-dot.ok {
|
|
317
|
-
background: var(--
|
|
343
|
+
background: var(--ok);
|
|
318
344
|
}
|
|
319
345
|
.dg-dot.bad {
|
|
320
|
-
background: var(--
|
|
346
|
+
background: var(--bad);
|
|
347
|
+
}
|
|
348
|
+
/* A repo with a checked service down that isn't its entry (health-rollup.js). */
|
|
349
|
+
.dg-dot.warn {
|
|
350
|
+
background: var(--warn);
|
|
321
351
|
}
|
|
322
352
|
.dg-card .nm {
|
|
323
353
|
font-weight: 600;
|
|
@@ -345,8 +375,8 @@
|
|
|
345
375
|
border-color: color-mix(in srgb, var(--dg-remote) 55%, transparent);
|
|
346
376
|
}
|
|
347
377
|
.dg-badge.hybrid {
|
|
348
|
-
color: var(--
|
|
349
|
-
border-color: color-mix(in srgb, var(--
|
|
378
|
+
color: var(--warn);
|
|
379
|
+
border-color: color-mix(in srgb, var(--warn) 55%, transparent);
|
|
350
380
|
}
|
|
351
381
|
.dg-card .r2 {
|
|
352
382
|
font-family: var(--mono);
|
|
@@ -371,7 +401,7 @@
|
|
|
371
401
|
min-width: 0;
|
|
372
402
|
}
|
|
373
403
|
.dg-card .r3 .h.bad {
|
|
374
|
-
color: var(--
|
|
404
|
+
color: var(--bad);
|
|
375
405
|
}
|
|
376
406
|
.dg-tag {
|
|
377
407
|
font-size: 11px;
|
|
@@ -383,11 +413,11 @@
|
|
|
383
413
|
}
|
|
384
414
|
.dg-tag.entry {
|
|
385
415
|
background: color-mix(in srgb, var(--accent) 16%, transparent);
|
|
386
|
-
color: var(--accent);
|
|
416
|
+
color: var(--accent-text);
|
|
387
417
|
}
|
|
388
418
|
.dg-tag.warn {
|
|
389
|
-
background: color-mix(in srgb, var(--
|
|
390
|
-
color: var(--
|
|
419
|
+
background: color-mix(in srgb, var(--warn) 16%, transparent);
|
|
420
|
+
color: var(--warn);
|
|
391
421
|
}
|
|
392
422
|
.dg-acts {
|
|
393
423
|
display: flex;
|
|
@@ -425,17 +455,17 @@
|
|
|
425
455
|
font-size: 12px;
|
|
426
456
|
}
|
|
427
457
|
.dg-btn.primary {
|
|
428
|
-
background: var(--accent);
|
|
429
|
-
border-color: var(--accent);
|
|
430
|
-
color:
|
|
458
|
+
background: var(--accent-fill);
|
|
459
|
+
border-color: var(--accent-fill);
|
|
460
|
+
color: var(--on-accent);
|
|
431
461
|
font-weight: 600;
|
|
432
462
|
}
|
|
433
463
|
.dg-btn.primary:hover {
|
|
434
464
|
filter: brightness(1.1);
|
|
435
465
|
}
|
|
436
466
|
.dg-btn.armed {
|
|
437
|
-
border-color: var(--
|
|
438
|
-
color: var(--
|
|
467
|
+
border-color: var(--bad);
|
|
468
|
+
color: var(--bad);
|
|
439
469
|
font-weight: 600;
|
|
440
470
|
}
|
|
441
471
|
.dg-card.compact {
|
|
@@ -466,13 +496,13 @@
|
|
|
466
496
|
opacity: 0.22;
|
|
467
497
|
}
|
|
468
498
|
.dg-card.hit {
|
|
469
|
-
box-shadow: 0 0 0 2px var(--
|
|
499
|
+
box-shadow: 0 0 0 2px var(--warn);
|
|
470
500
|
}
|
|
471
501
|
|
|
472
502
|
/* edges */
|
|
473
503
|
path.dg-e {
|
|
474
504
|
fill: none;
|
|
475
|
-
stroke:
|
|
505
|
+
stroke: var(--faint);
|
|
476
506
|
stroke-width: 1.4;
|
|
477
507
|
transition: opacity 0.15s;
|
|
478
508
|
}
|
|
@@ -481,7 +511,7 @@ path.dg-e.hard {
|
|
|
481
511
|
stroke-width: 1.8;
|
|
482
512
|
}
|
|
483
513
|
path.dg-e.soft {
|
|
484
|
-
stroke:
|
|
514
|
+
stroke: var(--muted);
|
|
485
515
|
stroke-dasharray: 6 4;
|
|
486
516
|
}
|
|
487
517
|
path.dg-e.event {
|
|
@@ -494,15 +524,57 @@ path.dg-e.cross {
|
|
|
494
524
|
stroke-dasharray: 9 4;
|
|
495
525
|
}
|
|
496
526
|
path.dg-e.intra {
|
|
497
|
-
stroke:
|
|
527
|
+
stroke: var(--muted);
|
|
498
528
|
stroke-width: 1.5;
|
|
499
529
|
}
|
|
530
|
+
/* A lit edge's base becomes a faint track in its kind's colour, so the
|
|
531
|
+
flow overlay on top of it reads (Ward QA of dev.35: dashes in the same
|
|
532
|
+
colour on a full-strength line were barely visible). The arrowhead's
|
|
533
|
+
fill is its own and stays full strength. */
|
|
500
534
|
path.dg-e.hl {
|
|
501
535
|
stroke-width: 2.6;
|
|
536
|
+
stroke-opacity: 0.3;
|
|
502
537
|
}
|
|
503
538
|
path.dg-e.dim {
|
|
504
539
|
opacity: 0.12;
|
|
505
540
|
}
|
|
541
|
+
/* R22b-2: a highlighted edge flows from data-f to data-t (the arrow's
|
|
542
|
+
way): a marching-dash overlay in the base path's colour, wider than the
|
|
543
|
+
track, one 20px dash cycle a second. Decreasing dashoffset moves the
|
|
544
|
+
dashes toward the end. */
|
|
545
|
+
path.dg-flow {
|
|
546
|
+
fill: none;
|
|
547
|
+
display: none;
|
|
548
|
+
stroke: var(--faint);
|
|
549
|
+
stroke-width: 3.6;
|
|
550
|
+
stroke-linecap: round;
|
|
551
|
+
stroke-dasharray: 10 10;
|
|
552
|
+
}
|
|
553
|
+
path.dg-flow.on {
|
|
554
|
+
display: inline;
|
|
555
|
+
animation: dg-flow 1s linear infinite;
|
|
556
|
+
}
|
|
557
|
+
path.dg-flow.hard {
|
|
558
|
+
stroke: var(--accent);
|
|
559
|
+
}
|
|
560
|
+
path.dg-flow.soft,
|
|
561
|
+
path.dg-flow.intra {
|
|
562
|
+
stroke: var(--muted);
|
|
563
|
+
}
|
|
564
|
+
path.dg-flow.event {
|
|
565
|
+
stroke: var(--dg-event);
|
|
566
|
+
}
|
|
567
|
+
path.dg-flow.cross {
|
|
568
|
+
stroke: var(--dg-remote);
|
|
569
|
+
}
|
|
570
|
+
@keyframes dg-flow {
|
|
571
|
+
from {
|
|
572
|
+
stroke-dashoffset: 20;
|
|
573
|
+
}
|
|
574
|
+
to {
|
|
575
|
+
stroke-dashoffset: 0;
|
|
576
|
+
}
|
|
577
|
+
}
|
|
506
578
|
|
|
507
579
|
/* panel */
|
|
508
580
|
.dg-panel {
|
|
@@ -523,7 +595,7 @@ path.dg-e.dim {
|
|
|
523
595
|
inset: 0;
|
|
524
596
|
height: auto;
|
|
525
597
|
grid-template-rows: none;
|
|
526
|
-
background: rgb(
|
|
598
|
+
background: rgb(0 0 0 / 0.6);
|
|
527
599
|
z-index: 900;
|
|
528
600
|
display: grid;
|
|
529
601
|
place-items: center;
|
|
@@ -534,7 +606,7 @@ path.dg-e.dim {
|
|
|
534
606
|
max-height: min(86vh, 900px);
|
|
535
607
|
border: 1px solid var(--border);
|
|
536
608
|
border-radius: 14px;
|
|
537
|
-
box-shadow:
|
|
609
|
+
box-shadow: var(--shadow);
|
|
538
610
|
}
|
|
539
611
|
.dg-resize {
|
|
540
612
|
position: absolute;
|
|
@@ -569,10 +641,22 @@ path.dg-e.dim {
|
|
|
569
641
|
background: none;
|
|
570
642
|
border: 0;
|
|
571
643
|
padding: 0;
|
|
572
|
-
color: var(--accent);
|
|
644
|
+
color: var(--accent-text);
|
|
573
645
|
cursor: pointer;
|
|
574
646
|
font: inherit;
|
|
575
647
|
}
|
|
648
|
+
.dg-crumb-org {
|
|
649
|
+
color: var(--text);
|
|
650
|
+
white-space: nowrap;
|
|
651
|
+
}
|
|
652
|
+
.dg-crumb-org i {
|
|
653
|
+
display: inline-block;
|
|
654
|
+
width: 8px;
|
|
655
|
+
height: 8px;
|
|
656
|
+
margin-right: 5px;
|
|
657
|
+
border-radius: 50%;
|
|
658
|
+
vertical-align: 0.05em;
|
|
659
|
+
}
|
|
576
660
|
.dg-crumbs button:hover {
|
|
577
661
|
text-decoration: underline;
|
|
578
662
|
}
|
|
@@ -627,14 +711,14 @@ path.dg-e.dim {
|
|
|
627
711
|
white-space: nowrap;
|
|
628
712
|
}
|
|
629
713
|
.dg-pill.ok {
|
|
630
|
-
color: var(--
|
|
631
|
-
border-color: color-mix(in srgb, var(--
|
|
632
|
-
background: color-mix(in srgb, var(--
|
|
714
|
+
color: var(--ok);
|
|
715
|
+
border-color: color-mix(in srgb, var(--ok) 50%, transparent);
|
|
716
|
+
background: color-mix(in srgb, var(--ok) 10%, transparent);
|
|
633
717
|
}
|
|
634
718
|
.dg-pill.bad {
|
|
635
|
-
color: var(--
|
|
636
|
-
border-color: color-mix(in srgb, var(--
|
|
637
|
-
background: color-mix(in srgb, var(--
|
|
719
|
+
color: var(--bad);
|
|
720
|
+
border-color: color-mix(in srgb, var(--bad) 55%, transparent);
|
|
721
|
+
background: color-mix(in srgb, var(--bad) 10%, transparent);
|
|
638
722
|
}
|
|
639
723
|
.dg-actions {
|
|
640
724
|
display: flex;
|
|
@@ -655,7 +739,7 @@ path.dg-e.dim {
|
|
|
655
739
|
border-radius: 10px;
|
|
656
740
|
padding: 6px;
|
|
657
741
|
z-index: 1000; /* above the pop-up (900) */
|
|
658
|
-
box-shadow:
|
|
742
|
+
box-shadow: var(--shadow);
|
|
659
743
|
}
|
|
660
744
|
.dg-menu[hidden] {
|
|
661
745
|
display: none;
|
|
@@ -692,10 +776,10 @@ path.dg-e.dim {
|
|
|
692
776
|
cursor: not-allowed;
|
|
693
777
|
}
|
|
694
778
|
.dg-mg.danger button {
|
|
695
|
-
color: var(--
|
|
779
|
+
color: var(--bad);
|
|
696
780
|
}
|
|
697
781
|
.dg-menu button.armed {
|
|
698
|
-
background: color-mix(in srgb, var(--
|
|
782
|
+
background: color-mix(in srgb, var(--bad) 18%, transparent);
|
|
699
783
|
font-weight: 600;
|
|
700
784
|
}
|
|
701
785
|
.dg-tabs {
|
|
@@ -736,7 +820,7 @@ path.dg-e.dim {
|
|
|
736
820
|
font-weight: 600;
|
|
737
821
|
}
|
|
738
822
|
.dg-sec a {
|
|
739
|
-
color: var(--accent);
|
|
823
|
+
color: var(--accent-text);
|
|
740
824
|
}
|
|
741
825
|
.dg dl.kv {
|
|
742
826
|
display: grid;
|
|
@@ -842,7 +926,7 @@ path.dg-e.dim {
|
|
|
842
926
|
color: var(--text);
|
|
843
927
|
}
|
|
844
928
|
.dg table.svc button.nm:hover {
|
|
845
|
-
color: var(--accent);
|
|
929
|
+
color: var(--accent-text);
|
|
846
930
|
}
|
|
847
931
|
.dg-logbar {
|
|
848
932
|
display: flex;
|
|
@@ -907,7 +991,7 @@ path.dg-e.dim {
|
|
|
907
991
|
overflow-wrap: anywhere;
|
|
908
992
|
}
|
|
909
993
|
.dg ol.act .refused {
|
|
910
|
-
color: var(--
|
|
994
|
+
color: var(--bad);
|
|
911
995
|
font-style: normal;
|
|
912
996
|
}
|
|
913
997
|
.dg-who {
|
|
@@ -919,8 +1003,8 @@ path.dg-e.dim {
|
|
|
919
1003
|
white-space: nowrap;
|
|
920
1004
|
}
|
|
921
1005
|
.dg-who.agent {
|
|
922
|
-
color: var(--
|
|
923
|
-
border-color: color-mix(in srgb, var(--
|
|
1006
|
+
color: var(--warn);
|
|
1007
|
+
border-color: color-mix(in srgb, var(--warn) 55%, transparent);
|
|
924
1008
|
}
|
|
925
1009
|
.dg-layers span {
|
|
926
1010
|
font-family: var(--mono);
|
|
@@ -961,7 +1045,7 @@ path.dg-e.dim {
|
|
|
961
1045
|
border-radius: 14px 14px 0 0;
|
|
962
1046
|
z-index: 800;
|
|
963
1047
|
padding-bottom: env(safe-area-inset-bottom, 0px);
|
|
964
|
-
box-shadow:
|
|
1048
|
+
box-shadow: var(--shadow);
|
|
965
1049
|
}
|
|
966
1050
|
.dg-stage > .dg-panel .dg-resize {
|
|
967
1051
|
display: none;
|
|
@@ -977,4 +1061,14 @@ path.dg-e.dim {
|
|
|
977
1061
|
.dg * {
|
|
978
1062
|
transition: none !important;
|
|
979
1063
|
}
|
|
1064
|
+
/* No motion: the lit edge stays thicker, in the accent colour. */
|
|
1065
|
+
path.dg-flow.on {
|
|
1066
|
+
animation: none;
|
|
1067
|
+
display: none;
|
|
1068
|
+
}
|
|
1069
|
+
path.dg-e.hl {
|
|
1070
|
+
stroke: var(--accent);
|
|
1071
|
+
stroke-width: 3;
|
|
1072
|
+
stroke-opacity: 1;
|
|
1073
|
+
}
|
|
980
1074
|
}
|