@skillcdn/console 0.3.1 → 0.4.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/README.md +4 -4
- package/dist/api.d.ts +4 -4
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +4 -4
- package/dist/api.js.map +1 -1
- package/dist/cli/cli.d.ts +4 -0
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +201 -25
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/format.d.ts.map +1 -1
- package/dist/cli/format.js +15 -11
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +59 -26
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +1 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/pack.d.ts +7 -2
- package/dist/cli/pack.d.ts.map +1 -1
- package/dist/cli/pack.js +16 -2
- package/dist/cli/pack.js.map +1 -1
- package/dist/client.d.ts +20 -10
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +17 -3
- package/dist/client.js.map +1 -1
- package/dist/compat.d.ts +28 -6
- package/dist/compat.d.ts.map +1 -1
- package/dist/compat.js +55 -14
- package/dist/compat.js.map +1 -1
- package/dist/components/board.d.ts +12 -1
- package/dist/components/board.d.ts.map +1 -1
- package/dist/components/board.js +57 -7
- package/dist/components/board.js.map +1 -1
- package/dist/components/calendar.d.ts +17 -7
- package/dist/components/calendar.d.ts.map +1 -1
- package/dist/components/calendar.js +89 -38
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/decision-form.d.ts +12 -4
- package/dist/components/decision-form.d.ts.map +1 -1
- package/dist/components/decision-form.js +24 -6
- package/dist/components/decision-form.js.map +1 -1
- package/dist/components/decision-list.d.ts +4 -0
- package/dist/components/decision-list.d.ts.map +1 -1
- package/dist/components/decision-list.js +9 -6
- package/dist/components/decision-list.js.map +1 -1
- package/dist/components/documents.d.ts.map +1 -1
- package/dist/components/documents.js +3 -3
- package/dist/components/documents.js.map +1 -1
- package/dist/components/event-feed.d.ts.map +1 -1
- package/dist/components/event-feed.js +63 -8
- package/dist/components/event-feed.js.map +1 -1
- package/dist/components/my-decisions.d.ts +20 -0
- package/dist/components/my-decisions.d.ts.map +1 -0
- package/dist/components/my-decisions.js +36 -0
- package/dist/components/my-decisions.js.map +1 -0
- package/dist/components/people.d.ts.map +1 -1
- package/dist/components/people.js +1 -1
- package/dist/components/people.js.map +1 -1
- package/dist/components/picker.d.ts +39 -0
- package/dist/components/picker.d.ts.map +1 -0
- package/dist/components/picker.js +155 -0
- package/dist/components/picker.js.map +1 -0
- package/dist/components/projects.d.ts.map +1 -1
- package/dist/components/projects.js +3 -3
- package/dist/components/projects.js.map +1 -1
- package/dist/components/roadmap.js +1 -1
- package/dist/components/roadmap.js.map +1 -1
- package/dist/components/runs.d.ts.map +1 -1
- package/dist/components/runs.js +1 -1
- package/dist/components/runs.js.map +1 -1
- package/dist/components/shell.d.ts.map +1 -1
- package/dist/components/shell.js +36 -1
- package/dist/components/shell.js.map +1 -1
- package/dist/components/task-form.d.ts +18 -4
- package/dist/components/task-form.d.ts.map +1 -1
- package/dist/components/task-form.js +56 -13
- package/dist/components/task-form.js.map +1 -1
- package/dist/components/task-list.js +2 -2
- package/dist/components/task-list.js.map +1 -1
- package/dist/components/task-view.d.ts +7 -1
- package/dist/components/task-view.d.ts.map +1 -1
- package/dist/components/task-view.js +7 -6
- package/dist/components/task-view.js.map +1 -1
- package/dist/components/ui.d.ts +17 -0
- package/dist/components/ui.d.ts.map +1 -1
- package/dist/components/ui.js +26 -11
- package/dist/components/ui.js.map +1 -1
- package/dist/components/work.d.ts.map +1 -1
- package/dist/components/work.js +5 -3
- package/dist/components/work.js.map +1 -1
- package/dist/console.css +1794 -433
- package/dist/console.d.ts.map +1 -1
- package/dist/console.js +93 -10
- package/dist/console.js.map +1 -1
- package/dist/data.d.ts +21 -1
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +24 -1
- package/dist/data.js.map +1 -1
- package/dist/i18n/en.d.ts +45 -3
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +52 -10
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +54 -12
- package/dist/i18n/ko.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/limits.d.ts +2 -0
- package/dist/limits.d.ts.map +1 -1
- package/dist/limits.js +2 -0
- package/dist/limits.js.map +1 -1
- package/dist/router.d.ts +9 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +12 -0
- package/dist/router.js.map +1 -1
- package/dist/routes.d.ts +3 -1
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +3 -1
- package/dist/routes.js.map +1 -1
- package/dist/rules.js +1 -1
- package/dist/rules.js.map +1 -1
- package/dist/schemas.d.ts +252 -12
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +27 -10
- package/dist/schemas.js.map +1 -1
- package/dist/vocabulary.d.ts +2 -0
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +2 -0
- package/dist/vocabulary.js.map +1 -1
- package/docs/specs/cli.md +14 -13
- package/docs/specs/rest.md +24 -19
- package/package.json +2 -2
- package/skills/building-a-console/SKILL.md +4 -4
- package/skills/building-a-console/references/the-default-console.md +4 -4
- package/skills/building-a-console/references/the-look-from-a-website.md +5 -5
- package/skills/deploying-a-console/SKILL.md +2 -2
- package/skills/deploying-a-console/references/resources.md +1 -1
- package/skills/working-the-board/SKILL.md +8 -6
- package/skills/working-the-board/references/terms.md +3 -3
- package/src/api.ts +7 -0
- package/src/cli/cli.ts +254 -25
- package/src/cli/format.ts +22 -11
- package/src/cli/help.ts +63 -26
- package/src/cli/main.ts +1 -0
- package/src/cli/pack.ts +17 -1
- package/src/client.ts +44 -11
- package/src/compat.ts +63 -14
- package/src/components/board.tsx +124 -25
- package/src/components/calendar.tsx +258 -117
- package/src/components/decision-form.tsx +71 -23
- package/src/components/decision-list.tsx +30 -3
- package/src/components/documents.tsx +27 -11
- package/src/components/event-feed.tsx +116 -33
- package/src/components/my-decisions.tsx +138 -0
- package/src/components/people.tsx +3 -1
- package/src/components/picker.tsx +297 -0
- package/src/components/projects.tsx +7 -5
- package/src/components/roadmap.tsx +1 -1
- package/src/components/runs.tsx +5 -1
- package/src/components/shell.tsx +36 -1
- package/src/components/task-form.tsx +149 -63
- package/src/components/task-list.tsx +3 -3
- package/src/components/task-view.tsx +71 -56
- package/src/components/ui.tsx +89 -11
- package/src/components/work.tsx +6 -4
- package/src/console.tsx +157 -29
- package/src/data.ts +61 -1
- package/src/i18n/en.ts +54 -10
- package/src/i18n/ko.ts +56 -12
- package/src/index.ts +19 -1
- package/src/limits.ts +2 -0
- package/src/router.ts +18 -1
- package/src/routes.ts +3 -1
- package/src/rules.ts +1 -1
- package/src/schemas.ts +29 -9
- package/src/styles/console.css +1794 -433
- package/src/vocabulary.ts +3 -0
package/dist/console.css
CHANGED
|
@@ -3,98 +3,77 @@
|
|
|
3
3
|
* per building block, all prefixed `sc-` so that a custom console's own styles never collide
|
|
4
4
|
* with them. Re-skinning starts and mostly ends with the tokens.
|
|
5
5
|
*
|
|
6
|
-
* The look is SkillCDN's own
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* The look is SkillCDN's own, on a light ground: one blue accent and one warm point colour, the
|
|
7
|
+
* page a pale field, and the surfaces panes of frosted glass over it, so that the console reads as
|
|
8
|
+
* part of the same product as the site it is built for (ADR-0040).
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
:root {
|
|
12
|
-
color-scheme:
|
|
12
|
+
color-scheme: light;
|
|
13
13
|
|
|
14
|
-
/* Surfaces: the page's own
|
|
15
|
-
--sc-color-bg: #
|
|
16
|
-
--sc-color-bg-
|
|
17
|
-
--sc-color-bg-
|
|
18
|
-
--sc-color-
|
|
19
|
-
--sc-color-border: #
|
|
20
|
-
--sc-color-border-strong: #3b4960;
|
|
14
|
+
/* Surfaces: the page's own pale ground, the step into it, and white above it. */
|
|
15
|
+
--sc-color-bg: #f7f8fc;
|
|
16
|
+
--sc-color-bg-inset: #edf0f6;
|
|
17
|
+
--sc-color-bg-raised: #ffffff;
|
|
18
|
+
--sc-color-border: #e4e8ef;
|
|
19
|
+
--sc-color-border-strong: #7d899e;
|
|
21
20
|
|
|
22
|
-
/* Text. */
|
|
23
|
-
--sc-color-text: #
|
|
24
|
-
--sc-color-text-muted: #
|
|
25
|
-
--sc-color-text-faint: #
|
|
21
|
+
/* Text: the site's own ink on white. */
|
|
22
|
+
--sc-color-text: #14141a;
|
|
23
|
+
--sc-color-text-muted: #4b5563;
|
|
24
|
+
--sc-color-text-faint: #666c7c;
|
|
26
25
|
|
|
27
26
|
/* The one accent: the blue that text and lines are drawn in, and the deeper blue a surface
|
|
28
|
-
is filled with so that a white label reads on it.
|
|
29
|
-
|
|
30
|
-
--sc-color-accent
|
|
27
|
+
is filled with so that a white label reads on it. Under the pointer each is mixed a little
|
|
28
|
+
towards black where it is drawn. */
|
|
29
|
+
--sc-color-accent: #2c5bc4;
|
|
31
30
|
--sc-color-accent-solid: #3b6fd4;
|
|
32
|
-
--sc-color-accent-solid-hover: #4171d8;
|
|
33
31
|
--sc-color-accent-contrast: #ffffff;
|
|
34
|
-
--sc-color-accent-subtle: #
|
|
32
|
+
--sc-color-accent-subtle: #dbe6ff;
|
|
35
33
|
/* The point: the only warm colour, for what should be looked at first, never for a control. */
|
|
36
|
-
--sc-color-point: #
|
|
37
|
-
--sc-color-point-subtle: #
|
|
38
|
-
--sc-color-selection: color-mix(in srgb, var(--sc-color-accent-solid) 60%, transparent);
|
|
34
|
+
--sc-color-point: #c2410c;
|
|
35
|
+
--sc-color-point-subtle: #fff1e6;
|
|
39
36
|
|
|
40
37
|
/* Status. */
|
|
41
|
-
--sc-color-success: #
|
|
42
|
-
--sc-color-success-subtle: #
|
|
43
|
-
--sc-color-warning: #
|
|
44
|
-
--sc-color-warning-subtle: #
|
|
45
|
-
--sc-color-danger: #
|
|
46
|
-
--sc-color-danger-subtle: #
|
|
47
|
-
|
|
48
|
-
/* The ground: a
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
--sc-
|
|
55
|
-
--sc-color-
|
|
56
|
-
--sc-color-
|
|
57
|
-
|
|
58
|
-
--sc-color-
|
|
59
|
-
|
|
60
|
-
--sc-
|
|
61
|
-
--sc-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
--sc-glass-
|
|
68
|
-
--sc-
|
|
69
|
-
|
|
70
|
-
--sc-color-
|
|
71
|
-
--sc-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
)
|
|
76
|
-
padding-box;
|
|
77
|
-
--sc-glass-sheen: inset 0 1px 0 #ffffff4d, inset 0 0 0 1px #ffffff10, inset 0 3px 6px #ffffff12;
|
|
78
|
-
--sc-glass-lift: 0 0.75rem 2rem -0.75rem #00000059;
|
|
79
|
-
--sc-glass-lens: blur(4px) brightness(1.4) saturate(1.5) hue-rotate(-6deg);
|
|
80
|
-
--sc-glass-lens-width: 2px;
|
|
81
|
-
--sc-glass-lens-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
|
|
82
|
-
/* A surface inside a pane: no blur of its own, a little of the page's dark let through. */
|
|
83
|
-
--sc-color-sheet: color-mix(in srgb, var(--sc-color-bg) 72%, transparent);
|
|
84
|
-
--sc-color-sheet-hover: color-mix(in srgb, var(--sc-color-bg-raised) 80%, transparent);
|
|
85
|
-
--sc-color-field: color-mix(in srgb, var(--sc-color-bg) 78%, transparent);
|
|
86
|
-
|
|
87
|
-
/* Light falls from above: a lit thing spills downward, in the accent's own colour, in layers
|
|
88
|
-
that fall off the way brightness does. */
|
|
38
|
+
--sc-color-success: #146b44;
|
|
39
|
+
--sc-color-success-subtle: #d4efe1;
|
|
40
|
+
--sc-color-warning: #8f6100;
|
|
41
|
+
--sc-color-warning-subtle: #fff4cc;
|
|
42
|
+
--sc-color-danger: #b0273a;
|
|
43
|
+
--sc-color-danger-subtle: #fadadf;
|
|
44
|
+
|
|
45
|
+
/* The ground: a pale field, one gradient from the top. The default UI provides the field's
|
|
46
|
+
face (the shell); a custom console may paint its own. */
|
|
47
|
+
--sc-field-gradient: linear-gradient(160deg, #e3e9f7 0%, #eef1f9 42%, #f9fafd 100%);
|
|
48
|
+
|
|
49
|
+
/* Glass: what a pane over the field is made of. A wide blur with the colour behind pushed, a
|
|
50
|
+
white veil, a bright edge, and a soft stand-off from the field. */
|
|
51
|
+
--sc-glass-backdrop: blur(20px) saturate(1.6);
|
|
52
|
+
--sc-color-glass: #ffffff99;
|
|
53
|
+
--sc-color-glass-hover: #ffffffbf;
|
|
54
|
+
/* The rim: a hair of white along a pane's edge, its border. */
|
|
55
|
+
--sc-color-glass-edge: #ffffff;
|
|
56
|
+
/* The light that falls down a pane's face, from its top edge. */
|
|
57
|
+
--sc-glass-highlight: #ffffffb3;
|
|
58
|
+
--sc-glass-surface:
|
|
59
|
+
linear-gradient(170deg, var(--sc-glass-highlight), transparent 38%) padding-box,
|
|
60
|
+
linear-gradient(var(--sc-color-glass), var(--sc-color-glass)) padding-box;
|
|
61
|
+
--sc-glass-surface-hover:
|
|
62
|
+
linear-gradient(170deg, var(--sc-glass-highlight), transparent 38%) padding-box,
|
|
63
|
+
linear-gradient(var(--sc-color-glass-hover), var(--sc-color-glass-hover)) padding-box;
|
|
64
|
+
--sc-glass-sheen: inset 0 1px 0 #ffffff;
|
|
65
|
+
--sc-glass-lift: 0 0.5rem 1.5rem #1f268714, 0 1px 2px #1f26870f;
|
|
66
|
+
/* A surface inside a pane: no blur of its own, white with a little of the pane let through. */
|
|
67
|
+
--sc-color-sheet: color-mix(in srgb, var(--sc-color-bg-raised) 82%, transparent);
|
|
68
|
+
--sc-color-sheet-hover: color-mix(in srgb, var(--sc-color-bg-raised) 96%, transparent);
|
|
69
|
+
|
|
70
|
+
/* A lit thing casts the accent's own colour downward, in layers that fall off the way
|
|
71
|
+
brightness does. */
|
|
89
72
|
--sc-glow:
|
|
90
|
-
0 0.125rem 0.5rem -0.25rem color-mix(in srgb, var(--sc-color-accent-
|
|
91
|
-
0 0.5rem 1.25rem -0.5rem color-mix(in srgb, var(--sc-color-accent) 22%, transparent),
|
|
92
|
-
0 1.25rem 3rem -1rem color-mix(in srgb, var(--sc-color-accent) 11%, transparent);
|
|
93
|
-
--sc-
|
|
94
|
-
0 0.125rem 0.5rem -0.25rem color-mix(in srgb, var(--sc-color-accent-hover) 70%, transparent),
|
|
95
|
-
0 0.5rem 1.25rem -0.5rem color-mix(in srgb, var(--sc-color-accent) 45%, transparent),
|
|
96
|
-
0 1.25rem 3rem -1rem color-mix(in srgb, var(--sc-color-accent) 24%, transparent);
|
|
97
|
-
--sc-shadow-stage: 0 1.5rem 5rem #00000033;
|
|
73
|
+
0 0.125rem 0.5rem -0.25rem color-mix(in srgb, var(--sc-color-accent-solid) 40%, transparent),
|
|
74
|
+
0 0.5rem 1.25rem -0.5rem color-mix(in srgb, var(--sc-color-accent-solid) 22%, transparent),
|
|
75
|
+
0 1.25rem 3rem -1rem color-mix(in srgb, var(--sc-color-accent-solid) 11%, transparent);
|
|
76
|
+
--sc-shadow-stage: 0 1.25rem 3.5rem #1a2b552e;
|
|
98
77
|
|
|
99
78
|
/* Type. The Korean face comes first where the page provides it; the Latin stays with the
|
|
100
79
|
system's faces. */
|
|
@@ -105,8 +84,8 @@
|
|
|
105
84
|
ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", "D2Coding",
|
|
106
85
|
monospace;
|
|
107
86
|
|
|
108
|
-
--sc-text-xs: 0.
|
|
109
|
-
--sc-text-sm: 0.
|
|
87
|
+
--sc-text-xs: 0.8125rem;
|
|
88
|
+
--sc-text-sm: 0.9375rem;
|
|
110
89
|
--sc-text-md: 1rem;
|
|
111
90
|
--sc-text-lg: 1.125rem;
|
|
112
91
|
--sc-text-xl: 1.375rem;
|
|
@@ -114,6 +93,10 @@
|
|
|
114
93
|
--sc-leading-tight: 1.2;
|
|
115
94
|
--sc-leading-normal: 1.6;
|
|
116
95
|
--sc-leading-code: 1.7;
|
|
96
|
+
--sc-leading-snug: 1.45;
|
|
97
|
+
--sc-tracking-tight: -0.02em;
|
|
98
|
+
--sc-tracking-wide: 0.04em;
|
|
99
|
+
--sc-tracking-code: 0.12em;
|
|
117
100
|
--sc-weight-normal: 400;
|
|
118
101
|
--sc-weight-medium: 500;
|
|
119
102
|
--sc-weight-bold: 650;
|
|
@@ -139,20 +122,39 @@
|
|
|
139
122
|
--sc-radius-xl: 20px;
|
|
140
123
|
--sc-radius-full: 999px;
|
|
141
124
|
--sc-border: 1px solid var(--sc-color-border);
|
|
125
|
+
--sc-hairline: 1px solid color-mix(in srgb, var(--sc-color-border) 70%, transparent);
|
|
126
|
+
--sc-border-strong: 1px solid var(--sc-color-border-strong);
|
|
142
127
|
|
|
143
128
|
/* Layout. */
|
|
144
|
-
--sc-
|
|
129
|
+
--sc-gutter: var(--sc-space-7);
|
|
145
130
|
--sc-width-prose: 46rem;
|
|
146
131
|
--sc-width-aside: 18rem;
|
|
147
132
|
--sc-column-width: 13.5rem;
|
|
148
133
|
--sc-header-height: 3.75rem;
|
|
149
|
-
|
|
150
|
-
|
|
134
|
+
/* The lockup: the symbol's size, and the wordmark's height and the room between them as
|
|
135
|
+
fractions of it, the fractions those of the brand's lockup file (the wordmark 73.77 tall
|
|
136
|
+
on a symbol of 100, 31.98 between them). */
|
|
137
|
+
--sc-brand-size: 1.375rem;
|
|
138
|
+
--sc-brand-size-compact: 1.25rem;
|
|
139
|
+
--sc-brand-wordmark-ratio: 0.7377;
|
|
140
|
+
--sc-brand-gap-ratio: 0.3198;
|
|
151
141
|
--sc-control-size: 2.5rem;
|
|
152
142
|
--sc-focus-ring: 2px solid var(--sc-color-accent);
|
|
143
|
+
/* A scrollbar's thumb: a light grey, there when it is needed and quiet otherwise. */
|
|
144
|
+
--sc-scrollbar-thumb: color-mix(in srgb, var(--sc-color-border-strong) 45%, transparent);
|
|
145
|
+
/* A select's chevron: a thin stroke in a grey that reads on a light field and a dark one. */
|
|
146
|
+
--sc-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235a6371' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
153
147
|
--sc-transition: 120ms ease-out;
|
|
154
148
|
}
|
|
155
149
|
|
|
150
|
+
/* A page in Korean (the pages say their language on <html>): Hangul fills more of its box than
|
|
151
|
+
Latin capitals and sits higher in it, so a label is lifted less, and the tracking is off. */
|
|
152
|
+
:root:lang(ko) {
|
|
153
|
+
--sc-label-lift: -0.083em;
|
|
154
|
+
--sc-tracking-tight: 0;
|
|
155
|
+
--sc-tracking-wide: 0;
|
|
156
|
+
}
|
|
157
|
+
|
|
156
158
|
/* Reset: only what the pages need. */
|
|
157
159
|
|
|
158
160
|
*,
|
|
@@ -164,6 +166,10 @@
|
|
|
164
166
|
html {
|
|
165
167
|
-webkit-text-size-adjust: 100%;
|
|
166
168
|
text-size-adjust: 100%;
|
|
169
|
+
/* The room for a scrollbar is kept on every page, so that a page that scrolls and one that does
|
|
170
|
+
not put the header and the page at the same place. */
|
|
171
|
+
scrollbar-gutter: stable;
|
|
172
|
+
scrollbar-color: var(--sc-scrollbar-thumb) transparent;
|
|
167
173
|
scroll-padding-top: calc(var(--sc-header-height) + var(--sc-space-6));
|
|
168
174
|
}
|
|
169
175
|
|
|
@@ -205,7 +211,7 @@ h3,
|
|
|
205
211
|
h4 {
|
|
206
212
|
line-height: var(--sc-leading-tight);
|
|
207
213
|
font-weight: var(--sc-weight-bold);
|
|
208
|
-
letter-spacing: -
|
|
214
|
+
letter-spacing: var(--sc-tracking-tight);
|
|
209
215
|
text-wrap: balance;
|
|
210
216
|
}
|
|
211
217
|
|
|
@@ -222,7 +228,7 @@ a {
|
|
|
222
228
|
}
|
|
223
229
|
|
|
224
230
|
a:hover {
|
|
225
|
-
color: var(--sc-color-accent
|
|
231
|
+
color: color-mix(in srgb, var(--sc-color-accent) 85%, #000);
|
|
226
232
|
}
|
|
227
233
|
|
|
228
234
|
code,
|
|
@@ -262,7 +268,7 @@ table {
|
|
|
262
268
|
}
|
|
263
269
|
|
|
264
270
|
::selection {
|
|
265
|
-
background: var(--sc-color-
|
|
271
|
+
background: color-mix(in srgb, var(--sc-color-accent-solid) 25%, transparent);
|
|
266
272
|
color: var(--sc-color-accent-contrast);
|
|
267
273
|
}
|
|
268
274
|
|
|
@@ -319,53 +325,12 @@ table {
|
|
|
319
325
|
flex-direction: column;
|
|
320
326
|
min-height: 100dvh;
|
|
321
327
|
overflow-x: clip;
|
|
322
|
-
background-color: var(--sc-color-
|
|
323
|
-
/*
|
|
324
|
-
background-image:
|
|
325
|
-
ellipse 120% 64% at 50% 92%,
|
|
326
|
-
var(--sc-color-far),
|
|
327
|
-
var(--sc-color-far-turn) 48%,
|
|
328
|
-
transparent 72%
|
|
329
|
-
);
|
|
328
|
+
background-color: var(--sc-color-bg);
|
|
329
|
+
/* Fixed to the window, so that the page travels over the field and the field stays. */
|
|
330
|
+
background-image: var(--sc-field-gradient);
|
|
330
331
|
background-attachment: fixed;
|
|
331
332
|
}
|
|
332
333
|
|
|
333
|
-
/* The near light, high behind the header: an ellipse that is blurred rather than a gradient,
|
|
334
|
-
because a blur falls off the way light does. Fixed to the window, so that the page travels
|
|
335
|
-
through the light and the light stays where it is. */
|
|
336
|
-
.sc-shell::before {
|
|
337
|
-
content: "";
|
|
338
|
-
position: fixed;
|
|
339
|
-
z-index: -1;
|
|
340
|
-
top: var(--sc-light-top);
|
|
341
|
-
left: var(--sc-light-inset);
|
|
342
|
-
right: var(--sc-light-inset);
|
|
343
|
-
height: var(--sc-light-height);
|
|
344
|
-
background: radial-gradient(
|
|
345
|
-
ellipse closest-side,
|
|
346
|
-
var(--sc-color-light-core) 0%,
|
|
347
|
-
var(--sc-color-light-body) 14%,
|
|
348
|
-
var(--sc-color-light-mid) 42%,
|
|
349
|
-
var(--sc-color-light-halo) 70%,
|
|
350
|
-
transparent 100%
|
|
351
|
-
);
|
|
352
|
-
filter: blur(var(--sc-light-blur));
|
|
353
|
-
opacity: var(--sc-light-strength);
|
|
354
|
-
pointer-events: none;
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
/* The air over both lights: the corners and the foot of the window taken down. */
|
|
358
|
-
.sc-shell::after {
|
|
359
|
-
content: "";
|
|
360
|
-
position: fixed;
|
|
361
|
-
z-index: -1;
|
|
362
|
-
inset: 0;
|
|
363
|
-
background-image:
|
|
364
|
-
linear-gradient(to bottom, transparent 60%, var(--sc-color-vignette)),
|
|
365
|
-
radial-gradient(ellipse 130% 110% at 50% 30%, transparent 36%, var(--sc-color-vignette) 100%);
|
|
366
|
-
pointer-events: none;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
334
|
.sc-skip {
|
|
370
335
|
position: absolute;
|
|
371
336
|
top: var(--sc-space-2);
|
|
@@ -388,8 +353,8 @@ table {
|
|
|
388
353
|
top: 0;
|
|
389
354
|
z-index: 10;
|
|
390
355
|
border-bottom: var(--sc-border);
|
|
391
|
-
background: color-mix(in srgb, var(--sc-color-bg)
|
|
392
|
-
backdrop-filter:
|
|
356
|
+
background: color-mix(in srgb, var(--sc-color-bg) 70%, transparent);
|
|
357
|
+
backdrop-filter: var(--sc-glass-backdrop);
|
|
393
358
|
}
|
|
394
359
|
|
|
395
360
|
.sc-header-inner {
|
|
@@ -397,22 +362,21 @@ table {
|
|
|
397
362
|
align-items: center;
|
|
398
363
|
gap: var(--sc-space-4);
|
|
399
364
|
width: 100%;
|
|
400
|
-
max-width: var(--sc-width-page);
|
|
401
365
|
height: var(--sc-header-height);
|
|
402
|
-
|
|
403
|
-
padding-inline: var(--sc-space-5);
|
|
366
|
+
padding-inline: var(--sc-gutter);
|
|
404
367
|
}
|
|
405
368
|
|
|
406
369
|
/* The brand: the lockup of the symbol and the wordmark where the console has marks, the name
|
|
407
|
-
of the workspace where it has none. The
|
|
370
|
+
of the workspace where it has none. The symbol, the wordmark and the room between them keep
|
|
371
|
+
the proportions of the brand's lockup file. */
|
|
408
372
|
.sc-brand {
|
|
409
373
|
display: inline-flex;
|
|
410
374
|
flex: none;
|
|
411
375
|
align-items: center;
|
|
412
|
-
gap: var(--sc-
|
|
376
|
+
gap: calc(var(--sc-brand-size) * var(--sc-brand-gap-ratio));
|
|
413
377
|
color: var(--sc-color-text);
|
|
414
378
|
font-weight: var(--sc-weight-bold);
|
|
415
|
-
letter-spacing: -
|
|
379
|
+
letter-spacing: var(--sc-tracking-tight);
|
|
416
380
|
text-decoration: none;
|
|
417
381
|
white-space: nowrap;
|
|
418
382
|
}
|
|
@@ -428,7 +392,7 @@ table {
|
|
|
428
392
|
|
|
429
393
|
.sc-brand-wordmark {
|
|
430
394
|
width: auto;
|
|
431
|
-
height: var(--sc-brand-size);
|
|
395
|
+
height: calc(var(--sc-brand-size) * var(--sc-brand-wordmark-ratio));
|
|
432
396
|
}
|
|
433
397
|
|
|
434
398
|
.sc-brand-name {
|
|
@@ -473,10 +437,8 @@ table {
|
|
|
473
437
|
the tabs scroll sideways where they do not fit, and nothing in the bar ever scrolls down. */
|
|
474
438
|
.sc-tabs {
|
|
475
439
|
width: 100%;
|
|
476
|
-
max-width: var(--sc-width-page);
|
|
477
|
-
margin-inline: auto;
|
|
478
440
|
margin-bottom: -1px;
|
|
479
|
-
padding-inline: var(--sc-
|
|
441
|
+
padding-inline: var(--sc-gutter);
|
|
480
442
|
overflow: auto hidden;
|
|
481
443
|
scrollbar-width: none;
|
|
482
444
|
}
|
|
@@ -531,7 +493,7 @@ table {
|
|
|
531
493
|
display: flex;
|
|
532
494
|
flex: none;
|
|
533
495
|
align-items: center;
|
|
534
|
-
gap:
|
|
496
|
+
gap: 0;
|
|
535
497
|
margin-left: auto;
|
|
536
498
|
}
|
|
537
499
|
|
|
@@ -543,9 +505,9 @@ table {
|
|
|
543
505
|
.sc-menu-summary {
|
|
544
506
|
display: flex;
|
|
545
507
|
align-items: center;
|
|
546
|
-
gap:
|
|
508
|
+
gap: 0.375rem;
|
|
547
509
|
min-height: var(--sc-control-size);
|
|
548
|
-
padding-inline: var(--sc-space-2);
|
|
510
|
+
padding-inline: var(--sc-space-1) var(--sc-space-2);
|
|
549
511
|
border-radius: var(--sc-radius-md);
|
|
550
512
|
color: var(--sc-color-text-muted);
|
|
551
513
|
list-style: none;
|
|
@@ -641,16 +603,32 @@ table {
|
|
|
641
603
|
border-top: var(--sc-border);
|
|
642
604
|
}
|
|
643
605
|
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
606
|
+
/* The small capitals over a group: a menu's heading, a field's label, a fact's name, a day of the
|
|
607
|
+
feed, a table's head. `.sc-eyebrow` is the class for a label of your own. */
|
|
608
|
+
.sc-eyebrow,
|
|
609
|
+
.sc-menu-heading,
|
|
610
|
+
.sc-field-label,
|
|
611
|
+
.sc-facts dt,
|
|
612
|
+
.sc-feed-day-title,
|
|
613
|
+
.sc-report > .sc-time,
|
|
614
|
+
.sc-task-aside .sc-section-title,
|
|
615
|
+
.sc-decision-label,
|
|
616
|
+
.sc-calendar-grid th,
|
|
617
|
+
.sc-workload thead th,
|
|
618
|
+
.sc-goal-tasks-state,
|
|
619
|
+
.sc-facts-row dt {
|
|
647
620
|
color: var(--sc-color-text-faint);
|
|
648
621
|
font-size: var(--sc-text-xs);
|
|
649
622
|
font-weight: var(--sc-weight-medium);
|
|
650
|
-
letter-spacing:
|
|
623
|
+
letter-spacing: var(--sc-tracking-wide);
|
|
651
624
|
text-transform: uppercase;
|
|
652
625
|
}
|
|
653
626
|
|
|
627
|
+
.sc-menu-heading {
|
|
628
|
+
display: block;
|
|
629
|
+
padding: var(--sc-space-1) var(--sc-space-3);
|
|
630
|
+
}
|
|
631
|
+
|
|
654
632
|
.sc-menu-chosen {
|
|
655
633
|
color: var(--sc-color-accent);
|
|
656
634
|
font-weight: var(--sc-weight-medium);
|
|
@@ -667,13 +645,12 @@ table {
|
|
|
667
645
|
.sc-live {
|
|
668
646
|
width: 0.5rem;
|
|
669
647
|
height: 0.5rem;
|
|
670
|
-
border-radius:
|
|
648
|
+
border-radius: var(--sc-radius-full);
|
|
671
649
|
background: var(--sc-color-text-faint);
|
|
672
650
|
}
|
|
673
651
|
|
|
674
652
|
.sc-live-on {
|
|
675
653
|
background: var(--sc-color-success);
|
|
676
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc-color-success) 25%, transparent);
|
|
677
654
|
}
|
|
678
655
|
|
|
679
656
|
/* The page. */
|
|
@@ -685,29 +662,32 @@ table {
|
|
|
685
662
|
flex: 1;
|
|
686
663
|
flex-direction: column;
|
|
687
664
|
width: 100%;
|
|
688
|
-
|
|
689
|
-
margin-inline: auto;
|
|
690
|
-
padding: var(--sc-space-6) var(--sc-space-5) var(--sc-space-8);
|
|
665
|
+
padding: var(--sc-space-6) var(--sc-gutter) var(--sc-space-8);
|
|
691
666
|
}
|
|
692
667
|
|
|
693
|
-
/* A page as wide as the window: the board, whose columns want every bit of it.
|
|
668
|
+
/* A page as wide as the window: the board, whose columns want every bit of it. It starts at the
|
|
669
|
+
same height as the other pages and, being as tall as the window, ends with the same room. */
|
|
694
670
|
.sc-main-wide {
|
|
695
671
|
max-width: none;
|
|
696
|
-
padding: var(--sc-space-
|
|
672
|
+
padding: var(--sc-space-6) var(--sc-gutter);
|
|
697
673
|
}
|
|
698
674
|
|
|
675
|
+
/* A page that takes the whole window takes the header with it, so that the lockup, the tabs and
|
|
676
|
+
the page start on one line, as they do on every other page. */
|
|
699
677
|
.sc-page-head {
|
|
700
678
|
display: flex;
|
|
701
679
|
flex-wrap: wrap;
|
|
702
|
-
align-items:
|
|
680
|
+
align-items: baseline;
|
|
703
681
|
justify-content: space-between;
|
|
704
682
|
gap: var(--sc-space-3);
|
|
705
|
-
margin-bottom: var(--sc-space-
|
|
683
|
+
margin-bottom: var(--sc-space-5);
|
|
684
|
+
padding-bottom: var(--sc-space-4);
|
|
685
|
+
border-bottom: var(--sc-hairline);
|
|
706
686
|
}
|
|
707
687
|
|
|
708
688
|
.sc-page-title {
|
|
709
689
|
font-size: var(--sc-text-2xl);
|
|
710
|
-
letter-spacing: -
|
|
690
|
+
letter-spacing: var(--sc-tracking-tight);
|
|
711
691
|
}
|
|
712
692
|
|
|
713
693
|
/* The ways a page offers at its head, side by side. */
|
|
@@ -755,6 +735,8 @@ table {
|
|
|
755
735
|
/* On the wide page the head and the lead keep out of the board's way. */
|
|
756
736
|
.sc-main-wide .sc-page-head {
|
|
757
737
|
margin-bottom: var(--sc-space-3);
|
|
738
|
+
padding-bottom: 0;
|
|
739
|
+
border-bottom: 0;
|
|
758
740
|
}
|
|
759
741
|
|
|
760
742
|
.sc-main-wide .sc-lead {
|
|
@@ -770,6 +752,15 @@ table {
|
|
|
770
752
|
font-size: var(--sc-text-lg);
|
|
771
753
|
}
|
|
772
754
|
|
|
755
|
+
/* After the name of a section a line runs to the end: the section starts here. */
|
|
756
|
+
.sc-section-title::after {
|
|
757
|
+
content: "";
|
|
758
|
+
flex: 1;
|
|
759
|
+
height: 1px;
|
|
760
|
+
margin-inline-start: var(--sc-space-2);
|
|
761
|
+
background: var(--sc-color-border);
|
|
762
|
+
}
|
|
763
|
+
|
|
773
764
|
/*
|
|
774
765
|
* Panes: the surfaces of the page are glass over the field. A pane is a veil of the page's own
|
|
775
766
|
* dark over a blur of what is behind it, with a thin lit edge; two panes differ only in what
|
|
@@ -787,37 +778,17 @@ table {
|
|
|
787
778
|
.sc-facts {
|
|
788
779
|
position: relative;
|
|
789
780
|
isolation: isolate;
|
|
790
|
-
border: 1px solid
|
|
781
|
+
border: 1px solid var(--sc-color-glass-edge);
|
|
791
782
|
background: var(--sc-glass-surface);
|
|
792
783
|
backdrop-filter: var(--sc-glass-backdrop);
|
|
793
784
|
box-shadow: var(--sc-glass-sheen), var(--sc-glass-lift);
|
|
794
785
|
}
|
|
795
786
|
|
|
796
|
-
|
|
797
|
-
.
|
|
798
|
-
.sc-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
.sc-comment::before,
|
|
802
|
-
.sc-sign-in::before,
|
|
803
|
-
.sc-facts::before {
|
|
804
|
-
content: "";
|
|
805
|
-
position: absolute;
|
|
806
|
-
inset: 0;
|
|
807
|
-
z-index: -1;
|
|
808
|
-
padding: var(--sc-glass-lens-width);
|
|
809
|
-
border-radius: inherit;
|
|
810
|
-
background: var(--sc-color-glass-edge);
|
|
811
|
-
backdrop-filter: var(--sc-glass-lens);
|
|
812
|
-
mask: var(--sc-glass-lens-mask);
|
|
813
|
-
mask-composite: exclude;
|
|
814
|
-
pointer-events: none;
|
|
815
|
-
}
|
|
816
|
-
|
|
817
|
-
/* A column's frame stands in front of what scrolls within it: a card scrolling out goes under
|
|
818
|
-
the lit edge, never over it. The other panes do not scroll, and keep the rim under the content. */
|
|
819
|
-
.sc-column::before {
|
|
820
|
-
z-index: 1;
|
|
787
|
+
/* A column of the board has no rim and no lift: its glass alone parts it from the field, so that
|
|
788
|
+
no line runs down its sides and the gaps between columns stay as light as the field. */
|
|
789
|
+
.sc-column {
|
|
790
|
+
border-color: transparent;
|
|
791
|
+
box-shadow: var(--sc-glass-sheen);
|
|
821
792
|
}
|
|
822
793
|
|
|
823
794
|
.sc-panel {
|
|
@@ -836,13 +807,13 @@ table {
|
|
|
836
807
|
.sc-person-row,
|
|
837
808
|
.sc-skill,
|
|
838
809
|
.sc-doc-row,
|
|
839
|
-
.sc-feed-item,
|
|
840
810
|
.sc-card,
|
|
841
811
|
.sc-option,
|
|
842
812
|
.sc-answer,
|
|
843
813
|
.sc-report-list {
|
|
844
814
|
border: var(--sc-border);
|
|
845
815
|
background: var(--sc-color-sheet);
|
|
816
|
+
box-shadow: 0 1px 2px #1f26870f;
|
|
846
817
|
}
|
|
847
818
|
|
|
848
819
|
.sc-loading {
|
|
@@ -894,18 +865,19 @@ table {
|
|
|
894
865
|
}
|
|
895
866
|
|
|
896
867
|
.sc-button-primary:hover:not(:disabled) {
|
|
897
|
-
background: var(--sc-color-accent-solid
|
|
868
|
+
background: color-mix(in srgb, var(--sc-color-accent-solid) 90%, #000);
|
|
898
869
|
color: var(--sc-color-accent-contrast);
|
|
899
|
-
box-shadow: var(--sc-glow
|
|
870
|
+
box-shadow: var(--sc-glow);
|
|
900
871
|
}
|
|
901
872
|
|
|
902
873
|
.sc-button-secondary {
|
|
903
|
-
background: var(--sc-color-
|
|
904
|
-
border-color: var(--sc-color-border
|
|
874
|
+
background: var(--sc-color-bg-raised);
|
|
875
|
+
border-color: var(--sc-color-border);
|
|
905
876
|
color: var(--sc-color-text);
|
|
906
877
|
}
|
|
907
878
|
|
|
908
879
|
.sc-button-secondary:hover:not(:disabled) {
|
|
880
|
+
border-color: var(--sc-color-border-strong);
|
|
909
881
|
background: var(--sc-color-bg-raised);
|
|
910
882
|
color: var(--sc-color-text);
|
|
911
883
|
}
|
|
@@ -933,24 +905,45 @@ table {
|
|
|
933
905
|
|
|
934
906
|
/* Badges: a pill on the grid, its label lifted to the middle of it. */
|
|
935
907
|
|
|
908
|
+
/* A badge is a small pill: a hair of room above and below its word, a little more at its sides,
|
|
909
|
+
so that a row of them on a card stays low. */
|
|
936
910
|
.sc-badge {
|
|
937
911
|
display: inline-flex;
|
|
938
912
|
align-items: center;
|
|
939
913
|
gap: var(--sc-space-1);
|
|
940
|
-
padding-inline: var(--sc-space-
|
|
941
|
-
padding-block: calc(var(--sc-space-1) - var(--sc-label-lift))
|
|
942
|
-
calc(var(--sc-space-1) + var(--sc-label-lift));
|
|
943
|
-
border:
|
|
914
|
+
padding-inline: calc(var(--sc-space-1) * 1.5);
|
|
915
|
+
padding-block: calc(var(--sc-space-1) / 2 - var(--sc-label-lift))
|
|
916
|
+
calc(var(--sc-space-1) / 2 + var(--sc-label-lift));
|
|
917
|
+
border: var(--sc-border);
|
|
944
918
|
border-radius: var(--sc-radius-full);
|
|
945
919
|
font-size: var(--sc-text-xs);
|
|
946
920
|
font-weight: var(--sc-weight-medium);
|
|
947
|
-
line-height:
|
|
921
|
+
line-height: var(--sc-leading-snug);
|
|
948
922
|
white-space: nowrap;
|
|
949
923
|
}
|
|
950
924
|
|
|
925
|
+
/* Where the browser can fit a line box to the glyphs, a badge's words are centred on their
|
|
926
|
+
cap height and baseline, whatever script they are in; the lift above is for where it cannot. */
|
|
927
|
+
@supports (text-box: trim-both cap alphabetic) {
|
|
928
|
+
.sc-badge {
|
|
929
|
+
padding-block: var(--sc-space-1) calc(var(--sc-space-1) - 1px);
|
|
930
|
+
line-height: 1;
|
|
931
|
+
text-box: trim-both cap alphabetic;
|
|
932
|
+
}
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
/*
|
|
936
|
+
* The tones of a badge, each a meaning: neutral for what merely is; accent (blue) for what is at
|
|
937
|
+
* work; success (green) for what is done; warning (amber) for what wants attention soon; point
|
|
938
|
+
* (orange) for what presses now, or is someone's; danger (red) for what is late or has failed.
|
|
939
|
+
* Each is a soft fill with its words in the same hue and no line around it, the categories
|
|
940
|
+
* alike, so that every badge on a page is one kind of pill; the fills are deep enough to stand
|
|
941
|
+
* off the sheet on their own.
|
|
942
|
+
*/
|
|
951
943
|
.sc-badge-neutral {
|
|
952
|
-
|
|
953
|
-
|
|
944
|
+
border-color: transparent;
|
|
945
|
+
background: #dfe3eb;
|
|
946
|
+
color: #3f4756;
|
|
954
947
|
}
|
|
955
948
|
|
|
956
949
|
.sc-badge-accent {
|
|
@@ -972,11 +965,11 @@ table {
|
|
|
972
965
|
color: var(--sc-color-success);
|
|
973
966
|
}
|
|
974
967
|
|
|
975
|
-
/*
|
|
968
|
+
/* Words on a yellow fill are a warm charcoal: a dark yellow reads as a muddy brown. */
|
|
976
969
|
.sc-badge-warning {
|
|
977
|
-
background: var(--sc-color-
|
|
978
|
-
border-color:
|
|
979
|
-
color:
|
|
970
|
+
background: var(--sc-color-warning-subtle);
|
|
971
|
+
border-color: transparent;
|
|
972
|
+
color: #44403c;
|
|
980
973
|
}
|
|
981
974
|
|
|
982
975
|
.sc-badge-danger {
|
|
@@ -992,7 +985,7 @@ table {
|
|
|
992
985
|
aspect-ratio: 1;
|
|
993
986
|
object-fit: cover;
|
|
994
987
|
border: var(--sc-border);
|
|
995
|
-
border-radius:
|
|
988
|
+
border-radius: var(--sc-radius-full);
|
|
996
989
|
background: var(--sc-color-bg-inset);
|
|
997
990
|
}
|
|
998
991
|
|
|
@@ -1037,6 +1030,12 @@ table {
|
|
|
1037
1030
|
font-weight: var(--sc-weight-medium);
|
|
1038
1031
|
}
|
|
1039
1032
|
|
|
1033
|
+
/* The picture in the menu's label sits in the control with a little room around it. */
|
|
1034
|
+
.sc-menu-summary .sc-avatar {
|
|
1035
|
+
width: 1.75rem;
|
|
1036
|
+
height: 1.75rem;
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1040
1039
|
/* In the menu's label a long name gives way before the header runs out of room. */
|
|
1041
1040
|
.sc-menu-summary .sc-person-login {
|
|
1042
1041
|
max-width: 11rem;
|
|
@@ -1053,7 +1052,7 @@ table {
|
|
|
1053
1052
|
gap: var(--sc-space-4);
|
|
1054
1053
|
margin-bottom: var(--sc-space-4);
|
|
1055
1054
|
padding: var(--sc-space-4);
|
|
1056
|
-
border:
|
|
1055
|
+
border: var(--sc-border);
|
|
1057
1056
|
border-radius: var(--sc-radius-md);
|
|
1058
1057
|
background: var(--sc-color-sheet);
|
|
1059
1058
|
font-size: var(--sc-text-sm);
|
|
@@ -1087,7 +1086,7 @@ table {
|
|
|
1087
1086
|
|
|
1088
1087
|
.sc-empty {
|
|
1089
1088
|
padding: var(--sc-space-7) var(--sc-space-5);
|
|
1090
|
-
border: 1px dashed var(--sc-color-border
|
|
1089
|
+
border: 1px dashed var(--sc-color-border);
|
|
1091
1090
|
border-radius: var(--sc-radius-lg);
|
|
1092
1091
|
text-align: center;
|
|
1093
1092
|
}
|
|
@@ -1116,7 +1115,7 @@ table {
|
|
|
1116
1115
|
height: 1.25rem;
|
|
1117
1116
|
border: 2px solid var(--sc-color-border-strong);
|
|
1118
1117
|
border-top-color: var(--sc-color-accent);
|
|
1119
|
-
border-radius:
|
|
1118
|
+
border-radius: var(--sc-radius-full);
|
|
1120
1119
|
}
|
|
1121
1120
|
|
|
1122
1121
|
/* The ring turns whatever the motion preference: it says that the page still waits, and a ring
|
|
@@ -1167,10 +1166,6 @@ table {
|
|
|
1167
1166
|
|
|
1168
1167
|
.sc-field-label {
|
|
1169
1168
|
color: var(--sc-color-text-muted);
|
|
1170
|
-
font-size: var(--sc-text-xs);
|
|
1171
|
-
font-weight: var(--sc-weight-medium);
|
|
1172
|
-
letter-spacing: 0.04em;
|
|
1173
|
-
text-transform: uppercase;
|
|
1174
1169
|
}
|
|
1175
1170
|
|
|
1176
1171
|
.sc-field-row {
|
|
@@ -1184,9 +1179,9 @@ table {
|
|
|
1184
1179
|
width: 100%;
|
|
1185
1180
|
min-height: var(--sc-control-size);
|
|
1186
1181
|
padding: var(--sc-space-2) var(--sc-space-3);
|
|
1187
|
-
border:
|
|
1182
|
+
border: var(--sc-border-strong);
|
|
1188
1183
|
border-radius: var(--sc-radius-md);
|
|
1189
|
-
background: var(--sc-color-
|
|
1184
|
+
background: var(--sc-color-bg-raised);
|
|
1190
1185
|
color: var(--sc-color-text);
|
|
1191
1186
|
font-size: var(--sc-text-sm);
|
|
1192
1187
|
transition:
|
|
@@ -1198,6 +1193,38 @@ table {
|
|
|
1198
1193
|
color: var(--sc-color-text-faint);
|
|
1199
1194
|
}
|
|
1200
1195
|
|
|
1196
|
+
/* A file field: as tall as any other field, what it holds on one line with its button, and
|
|
1197
|
+
the button the browser gives it drawn as a small button of the console's own. */
|
|
1198
|
+
.sc-input[type="file"] {
|
|
1199
|
+
display: flex;
|
|
1200
|
+
align-items: center;
|
|
1201
|
+
padding-block: 0;
|
|
1202
|
+
color: var(--sc-color-text-muted);
|
|
1203
|
+
line-height: var(--sc-leading-snug);
|
|
1204
|
+
cursor: pointer;
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
.sc-input[type="file"]::file-selector-button {
|
|
1208
|
+
margin-inline-end: var(--sc-space-3);
|
|
1209
|
+
padding: calc(var(--sc-space-1) + 1px) var(--sc-space-3);
|
|
1210
|
+
border: var(--sc-border);
|
|
1211
|
+
border-radius: var(--sc-radius-sm);
|
|
1212
|
+
background: var(--sc-color-sheet);
|
|
1213
|
+
color: var(--sc-color-text);
|
|
1214
|
+
font: inherit;
|
|
1215
|
+
font-size: var(--sc-text-xs);
|
|
1216
|
+
font-weight: var(--sc-weight-medium);
|
|
1217
|
+
cursor: pointer;
|
|
1218
|
+
transition:
|
|
1219
|
+
background var(--sc-transition),
|
|
1220
|
+
border-color var(--sc-transition);
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
.sc-input[type="file"]:hover::file-selector-button {
|
|
1224
|
+
border-color: var(--sc-color-border-strong);
|
|
1225
|
+
background: var(--sc-color-sheet-hover);
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1201
1228
|
.sc-input:hover:not(:disabled) {
|
|
1202
1229
|
border-color: color-mix(in srgb, var(--sc-color-border-strong) 60%, var(--sc-color-accent));
|
|
1203
1230
|
}
|
|
@@ -1209,10 +1236,22 @@ table {
|
|
|
1209
1236
|
}
|
|
1210
1237
|
|
|
1211
1238
|
.sc-input:disabled {
|
|
1212
|
-
opacity: 0.
|
|
1239
|
+
opacity: 0.55;
|
|
1213
1240
|
cursor: not-allowed;
|
|
1214
1241
|
}
|
|
1215
1242
|
|
|
1243
|
+
/* A select draws the browser's chevron itself, a thin stroke, as far from the edge as the words
|
|
1244
|
+
are from the other one: the browser's own arrow sits on the border and takes no padding. The
|
|
1245
|
+
chevron is a picture held in a token, so that a console of its own may draw its own. */
|
|
1246
|
+
select.sc-input {
|
|
1247
|
+
appearance: none;
|
|
1248
|
+
padding-right: calc(var(--sc-space-3) * 2 + 0.625rem);
|
|
1249
|
+
background-image: var(--sc-select-chevron);
|
|
1250
|
+
background-position: right var(--sc-space-3) center;
|
|
1251
|
+
background-size: 0.625rem 0.375rem;
|
|
1252
|
+
background-repeat: no-repeat;
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1216
1255
|
/* What people write is prose first, so the box they write in is set in the page's own face. */
|
|
1217
1256
|
.sc-textarea {
|
|
1218
1257
|
min-height: 6rem;
|
|
@@ -1238,6 +1277,150 @@ table {
|
|
|
1238
1277
|
justify-self: start;
|
|
1239
1278
|
}
|
|
1240
1279
|
|
|
1280
|
+
/* The workers of a task on its form: each a chip with the way to take them off, and the way to add one. */
|
|
1281
|
+
.sc-chips {
|
|
1282
|
+
display: flex;
|
|
1283
|
+
flex-wrap: wrap;
|
|
1284
|
+
align-items: center;
|
|
1285
|
+
gap: var(--sc-space-2);
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1288
|
+
.sc-chip {
|
|
1289
|
+
display: inline-flex;
|
|
1290
|
+
align-items: center;
|
|
1291
|
+
gap: var(--sc-space-1);
|
|
1292
|
+
min-height: var(--sc-control-size);
|
|
1293
|
+
padding: 0 var(--sc-space-1) 0 var(--sc-space-2);
|
|
1294
|
+
border: var(--sc-border);
|
|
1295
|
+
border-radius: var(--sc-radius-md);
|
|
1296
|
+
background: var(--sc-color-bg-inset);
|
|
1297
|
+
font-size: var(--sc-text-sm);
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1300
|
+
.sc-chip-remove,
|
|
1301
|
+
.sc-picker-clear {
|
|
1302
|
+
display: inline-grid;
|
|
1303
|
+
flex: none;
|
|
1304
|
+
place-items: center;
|
|
1305
|
+
width: 1.5rem;
|
|
1306
|
+
height: 1.5rem;
|
|
1307
|
+
border: 0;
|
|
1308
|
+
border-radius: var(--sc-radius-sm);
|
|
1309
|
+
background: transparent;
|
|
1310
|
+
color: var(--sc-color-text-muted);
|
|
1311
|
+
font-size: var(--sc-text-md);
|
|
1312
|
+
line-height: 1;
|
|
1313
|
+
cursor: pointer;
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
.sc-chip-remove:hover:not(:disabled),
|
|
1317
|
+
.sc-picker-clear:hover:not(:disabled) {
|
|
1318
|
+
background: var(--sc-color-bg-raised);
|
|
1319
|
+
color: var(--sc-color-text);
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1322
|
+
.sc-chip-remove:focus-visible,
|
|
1323
|
+
.sc-picker-clear:focus-visible {
|
|
1324
|
+
outline: var(--sc-focus-ring);
|
|
1325
|
+
}
|
|
1326
|
+
|
|
1327
|
+
.sc-chips .sc-chip-add {
|
|
1328
|
+
width: auto;
|
|
1329
|
+
min-width: 10rem;
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
/* A picker: the field that searches a listing, its page of results under it, and the choice in its place. */
|
|
1333
|
+
.sc-picker {
|
|
1334
|
+
position: relative;
|
|
1335
|
+
min-width: 0;
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
.sc-picker-chosen {
|
|
1339
|
+
display: flex;
|
|
1340
|
+
align-items: center;
|
|
1341
|
+
gap: var(--sc-space-2);
|
|
1342
|
+
min-height: var(--sc-control-size);
|
|
1343
|
+
padding: var(--sc-space-1) var(--sc-space-1) var(--sc-space-1) var(--sc-space-3);
|
|
1344
|
+
border: var(--sc-border);
|
|
1345
|
+
border-radius: var(--sc-radius-md);
|
|
1346
|
+
background: var(--sc-color-bg-raised);
|
|
1347
|
+
font-size: var(--sc-text-sm);
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
.sc-picker-value {
|
|
1351
|
+
flex: 1;
|
|
1352
|
+
min-width: 0;
|
|
1353
|
+
overflow: hidden;
|
|
1354
|
+
text-overflow: ellipsis;
|
|
1355
|
+
white-space: nowrap;
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1358
|
+
.sc-picker-list {
|
|
1359
|
+
position: absolute;
|
|
1360
|
+
z-index: 40;
|
|
1361
|
+
top: calc(100% + var(--sc-space-1));
|
|
1362
|
+
right: 0;
|
|
1363
|
+
left: 0;
|
|
1364
|
+
max-height: 18rem;
|
|
1365
|
+
margin: 0;
|
|
1366
|
+
padding: var(--sc-space-1);
|
|
1367
|
+
overflow-y: auto;
|
|
1368
|
+
list-style: none;
|
|
1369
|
+
border: var(--sc-border);
|
|
1370
|
+
border-radius: var(--sc-radius-md);
|
|
1371
|
+
background: var(--sc-color-bg-inset);
|
|
1372
|
+
box-shadow: var(--sc-shadow-stage);
|
|
1373
|
+
font-size: var(--sc-text-sm);
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
/* Where the window has no room below the field, and more above, the list stands above it. */
|
|
1377
|
+
.sc-picker-list-above {
|
|
1378
|
+
top: auto;
|
|
1379
|
+
bottom: calc(100% + var(--sc-space-1));
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1382
|
+
.sc-picker-option {
|
|
1383
|
+
padding: var(--sc-space-2);
|
|
1384
|
+
overflow: hidden;
|
|
1385
|
+
border-radius: var(--sc-radius-sm);
|
|
1386
|
+
text-overflow: ellipsis;
|
|
1387
|
+
white-space: nowrap;
|
|
1388
|
+
cursor: pointer;
|
|
1389
|
+
}
|
|
1390
|
+
|
|
1391
|
+
.sc-picker-option-active {
|
|
1392
|
+
background: var(--sc-color-bg-raised);
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1395
|
+
.sc-picker-note {
|
|
1396
|
+
padding: var(--sc-space-2);
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
/* The workers of a task on a card or a row: pictures side by side, and how many more. */
|
|
1400
|
+
.sc-workers {
|
|
1401
|
+
display: inline-flex;
|
|
1402
|
+
align-items: center;
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1405
|
+
.sc-workers > * + * {
|
|
1406
|
+
margin-left: -0.375rem;
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1409
|
+
.sc-workers-more {
|
|
1410
|
+
margin-inline: var(--sc-space-1);
|
|
1411
|
+
color: var(--sc-color-text-muted);
|
|
1412
|
+
font-size: var(--sc-text-xs);
|
|
1413
|
+
font-weight: var(--sc-weight-medium);
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
.sc-worker-list {
|
|
1417
|
+
display: grid;
|
|
1418
|
+
gap: var(--sc-space-1);
|
|
1419
|
+
margin: 0;
|
|
1420
|
+
padding: 0;
|
|
1421
|
+
list-style: none;
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1241
1424
|
.sc-form-actions {
|
|
1242
1425
|
display: flex;
|
|
1243
1426
|
flex-wrap: wrap;
|
|
@@ -1254,22 +1437,22 @@ table {
|
|
|
1254
1437
|
scroll sideways when it is not, and each column scrolls within itself. */
|
|
1255
1438
|
|
|
1256
1439
|
.sc-board {
|
|
1257
|
-
display:
|
|
1440
|
+
display: flex;
|
|
1258
1441
|
flex: 1 1 0;
|
|
1259
|
-
|
|
1260
|
-
grid-auto-columns: minmax(var(--sc-column-width), 1fr);
|
|
1261
|
-
grid-template-rows: minmax(0, 1fr);
|
|
1442
|
+
align-items: stretch;
|
|
1262
1443
|
gap: var(--sc-space-3);
|
|
1263
1444
|
min-height: 24rem;
|
|
1264
1445
|
overflow-x: auto;
|
|
1265
1446
|
scroll-snap-type: x proximity;
|
|
1266
1447
|
scrollbar-width: thin;
|
|
1267
|
-
scrollbar-color: var(--sc-
|
|
1448
|
+
scrollbar-color: var(--sc-scrollbar-thumb) transparent;
|
|
1268
1449
|
}
|
|
1269
1450
|
|
|
1270
1451
|
.sc-column {
|
|
1271
1452
|
display: flex;
|
|
1453
|
+
flex: 1 0 var(--sc-column-width);
|
|
1272
1454
|
flex-direction: column;
|
|
1455
|
+
min-width: 0;
|
|
1273
1456
|
min-height: 0;
|
|
1274
1457
|
/* The body scrolls; the column clips, so that nothing of it reaches the board's own scrolling. */
|
|
1275
1458
|
overflow: hidden;
|
|
@@ -1287,27 +1470,76 @@ table {
|
|
|
1287
1470
|
}
|
|
1288
1471
|
|
|
1289
1472
|
.sc-column-header h2 {
|
|
1290
|
-
font-size: var(--sc-text-
|
|
1473
|
+
font-size: var(--sc-text-sm);
|
|
1291
1474
|
font-weight: var(--sc-weight-bold);
|
|
1292
|
-
letter-spacing: 0.06em;
|
|
1293
|
-
text-transform: uppercase;
|
|
1294
1475
|
}
|
|
1295
1476
|
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1477
|
+
/* The name of a column stands first; its count and the way to fold it keep to the end. */
|
|
1478
|
+
.sc-column-header > .sc-column-title {
|
|
1479
|
+
margin-inline-end: auto;
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
/* The way to fold a column of finished work, or to open it again. */
|
|
1483
|
+
.sc-column-toggle {
|
|
1484
|
+
display: inline-grid;
|
|
1485
|
+
flex: none;
|
|
1486
|
+
place-items: center;
|
|
1487
|
+
width: 1.5rem;
|
|
1488
|
+
height: 1.5rem;
|
|
1489
|
+
padding: 0;
|
|
1490
|
+
border: 0;
|
|
1491
|
+
border-radius: var(--sc-radius-sm);
|
|
1492
|
+
background: transparent;
|
|
1304
1493
|
color: var(--sc-color-text-muted);
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1494
|
+
transition:
|
|
1495
|
+
background var(--sc-transition),
|
|
1496
|
+
color var(--sc-transition);
|
|
1308
1497
|
}
|
|
1309
1498
|
|
|
1310
|
-
.sc-column-
|
|
1499
|
+
.sc-column-toggle:hover {
|
|
1500
|
+
background: var(--sc-color-bg-inset);
|
|
1501
|
+
color: var(--sc-color-text);
|
|
1502
|
+
}
|
|
1503
|
+
|
|
1504
|
+
.sc-column-toggle svg {
|
|
1505
|
+
width: 1rem;
|
|
1506
|
+
height: 1rem;
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1509
|
+
/* A folded column is a strip: the way to open it on top, its name down its length, its count. */
|
|
1510
|
+
/* A folded column is its header alone, the height of a header and as wide as its name: the way
|
|
1511
|
+
to open it, the name and the count in a row, at the top of the board. */
|
|
1512
|
+
.sc-column-folded {
|
|
1513
|
+
flex: 0 0 auto;
|
|
1514
|
+
align-self: flex-start;
|
|
1515
|
+
width: auto;
|
|
1516
|
+
}
|
|
1517
|
+
|
|
1518
|
+
.sc-column-folded .sc-column-header {
|
|
1519
|
+
gap: var(--sc-space-2);
|
|
1520
|
+
padding: var(--sc-space-3) var(--sc-space-4) var(--sc-space-3) var(--sc-space-3);
|
|
1521
|
+
border-bottom: 0;
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1524
|
+
.sc-column-folded .sc-column-toggle {
|
|
1525
|
+
order: -1;
|
|
1526
|
+
}
|
|
1527
|
+
|
|
1528
|
+
.sc-column-count {
|
|
1529
|
+
display: inline-flex;
|
|
1530
|
+
align-items: center;
|
|
1531
|
+
justify-content: center;
|
|
1532
|
+
min-width: 1.5rem;
|
|
1533
|
+
padding-inline: var(--sc-space-2);
|
|
1534
|
+
border-radius: var(--sc-radius-full);
|
|
1535
|
+
background: color-mix(in srgb, var(--sc-color-text-muted) 12%, transparent);
|
|
1536
|
+
color: var(--sc-color-text-muted);
|
|
1537
|
+
font-size: var(--sc-text-xs);
|
|
1538
|
+
font-weight: var(--sc-weight-medium);
|
|
1539
|
+
line-height: 1.5rem;
|
|
1540
|
+
}
|
|
1541
|
+
|
|
1542
|
+
.sc-column-in_progress .sc-column-title,
|
|
1311
1543
|
.sc-column-in_review .sc-column-title {
|
|
1312
1544
|
color: var(--sc-color-accent);
|
|
1313
1545
|
}
|
|
@@ -1320,22 +1552,38 @@ table {
|
|
|
1320
1552
|
color: var(--sc-color-text-faint);
|
|
1321
1553
|
}
|
|
1322
1554
|
|
|
1555
|
+
.sc-column-folded .sc-column-header > .sc-column-title {
|
|
1556
|
+
margin-inline-end: 0;
|
|
1557
|
+
}
|
|
1558
|
+
|
|
1559
|
+
/* The cards of a column scroll within it; where more of them are below, the last one in view
|
|
1560
|
+
fades at the foot rather than being cut, the room below the cards keeping a whole one clear. */
|
|
1323
1561
|
.sc-column-body {
|
|
1324
1562
|
display: grid;
|
|
1325
1563
|
flex: 1;
|
|
1326
1564
|
align-content: start;
|
|
1327
1565
|
gap: var(--sc-space-2);
|
|
1328
1566
|
min-height: 0;
|
|
1329
|
-
padding: var(--sc-space-2);
|
|
1567
|
+
padding: var(--sc-space-2) var(--sc-space-2) var(--sc-space-6);
|
|
1330
1568
|
overflow-y: auto;
|
|
1569
|
+
mask-image: linear-gradient(to bottom, #000 calc(100% - var(--sc-space-6)), transparent);
|
|
1331
1570
|
scrollbar-width: thin;
|
|
1332
|
-
scrollbar-color:
|
|
1571
|
+
scrollbar-color: transparent transparent;
|
|
1572
|
+
}
|
|
1573
|
+
|
|
1574
|
+
/* The scrollbar of a column shows only while the pointer is over the column; the fade at the foot
|
|
1575
|
+
says there is more. */
|
|
1576
|
+
.sc-column:hover .sc-column-body,
|
|
1577
|
+
.sc-column-body:focus-within {
|
|
1578
|
+
scrollbar-color: var(--sc-scrollbar-thumb) transparent;
|
|
1333
1579
|
}
|
|
1334
1580
|
|
|
1581
|
+
/* A card is compact, since a column holds many: the number, the title and one row of badges, with
|
|
1582
|
+
the people at its end, and no line between them; what is due reads from the badges as before. */
|
|
1335
1583
|
.sc-card {
|
|
1336
1584
|
display: grid;
|
|
1337
1585
|
gap: var(--sc-space-1);
|
|
1338
|
-
padding: var(--sc-space-3);
|
|
1586
|
+
padding: var(--sc-space-2) var(--sc-space-3);
|
|
1339
1587
|
border-radius: var(--sc-radius-lg);
|
|
1340
1588
|
transition:
|
|
1341
1589
|
border-color var(--sc-transition),
|
|
@@ -1354,7 +1602,7 @@ table {
|
|
|
1354
1602
|
color: var(--sc-color-text);
|
|
1355
1603
|
font-size: var(--sc-text-sm);
|
|
1356
1604
|
font-weight: var(--sc-weight-medium);
|
|
1357
|
-
line-height:
|
|
1605
|
+
line-height: var(--sc-leading-snug);
|
|
1358
1606
|
text-decoration: none;
|
|
1359
1607
|
overflow-wrap: anywhere;
|
|
1360
1608
|
}
|
|
@@ -1366,10 +1614,17 @@ table {
|
|
|
1366
1614
|
.sc-card-number {
|
|
1367
1615
|
color: var(--sc-color-text-faint);
|
|
1368
1616
|
font-family: var(--sc-font-mono);
|
|
1369
|
-
font-size:
|
|
1617
|
+
font-size: var(--sc-text-xs);
|
|
1370
1618
|
font-weight: var(--sc-weight-normal);
|
|
1371
1619
|
}
|
|
1372
1620
|
|
|
1621
|
+
/* On a card the number stands on a line of its own above the title, rather than in its run. */
|
|
1622
|
+
.sc-card-title .sc-card-number {
|
|
1623
|
+
display: block;
|
|
1624
|
+
margin-bottom: var(--sc-space-1);
|
|
1625
|
+
line-height: 1;
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1373
1628
|
.sc-card-meta {
|
|
1374
1629
|
display: flex;
|
|
1375
1630
|
flex-wrap: wrap;
|
|
@@ -1386,6 +1641,12 @@ table {
|
|
|
1386
1641
|
flex: 1;
|
|
1387
1642
|
}
|
|
1388
1643
|
|
|
1644
|
+
/* The people at work stay at the end of the row, also when the badges push them onto a line of
|
|
1645
|
+
their own. */
|
|
1646
|
+
.sc-card-meta .sc-workers {
|
|
1647
|
+
margin-inline-start: auto;
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1389
1650
|
/* One task, and a page of the documents: the text in a column for reading, the facts beside it
|
|
1390
1651
|
where the window is wide enough, under it where it is not. */
|
|
1391
1652
|
|
|
@@ -1432,8 +1693,20 @@ table {
|
|
|
1432
1693
|
}
|
|
1433
1694
|
|
|
1434
1695
|
.sc-task-header {
|
|
1696
|
+
display: flex;
|
|
1697
|
+
flex-wrap: wrap;
|
|
1698
|
+
align-items: flex-start;
|
|
1699
|
+
justify-content: space-between;
|
|
1700
|
+
gap: var(--sc-space-3) var(--sc-space-5);
|
|
1701
|
+
padding-bottom: var(--sc-space-4);
|
|
1702
|
+
border-bottom: var(--sc-hairline);
|
|
1703
|
+
}
|
|
1704
|
+
|
|
1705
|
+
.sc-task-heading {
|
|
1435
1706
|
display: grid;
|
|
1707
|
+
flex: 1 1 28rem;
|
|
1436
1708
|
gap: var(--sc-space-2);
|
|
1709
|
+
min-width: 0;
|
|
1437
1710
|
}
|
|
1438
1711
|
|
|
1439
1712
|
.sc-task-parent {
|
|
@@ -1443,12 +1716,12 @@ table {
|
|
|
1443
1716
|
|
|
1444
1717
|
.sc-task-title {
|
|
1445
1718
|
font-size: var(--sc-text-2xl);
|
|
1446
|
-
letter-spacing: -
|
|
1719
|
+
letter-spacing: var(--sc-tracking-tight);
|
|
1447
1720
|
overflow-wrap: anywhere;
|
|
1448
1721
|
}
|
|
1449
1722
|
|
|
1450
1723
|
.sc-task-title .sc-card-number {
|
|
1451
|
-
font-size:
|
|
1724
|
+
font-size: var(--sc-text-xl);
|
|
1452
1725
|
}
|
|
1453
1726
|
|
|
1454
1727
|
.sc-task-badges {
|
|
@@ -1467,14 +1740,6 @@ table {
|
|
|
1467
1740
|
font-size: var(--sc-text-sm);
|
|
1468
1741
|
}
|
|
1469
1742
|
|
|
1470
|
-
.sc-facts dt {
|
|
1471
|
-
color: var(--sc-color-text-faint);
|
|
1472
|
-
font-size: var(--sc-text-xs);
|
|
1473
|
-
font-weight: var(--sc-weight-medium);
|
|
1474
|
-
letter-spacing: 0.04em;
|
|
1475
|
-
text-transform: uppercase;
|
|
1476
|
-
}
|
|
1477
|
-
|
|
1478
1743
|
.sc-facts dd {
|
|
1479
1744
|
margin-top: var(--sc-space-1);
|
|
1480
1745
|
}
|
|
@@ -1486,18 +1751,47 @@ table {
|
|
|
1486
1751
|
gap: var(--sc-space-2);
|
|
1487
1752
|
}
|
|
1488
1753
|
|
|
1754
|
+
.sc-task-header > .sc-task-actions {
|
|
1755
|
+
flex: none;
|
|
1756
|
+
}
|
|
1757
|
+
|
|
1489
1758
|
.sc-task-section {
|
|
1490
1759
|
display: grid;
|
|
1491
1760
|
gap: var(--sc-space-3);
|
|
1492
1761
|
}
|
|
1493
1762
|
|
|
1494
|
-
.sc-link-list
|
|
1495
|
-
.sc-subtasks
|
|
1496
|
-
|
|
1763
|
+
.sc-link-list,
|
|
1764
|
+
.sc-subtasks {
|
|
1765
|
+
display: grid;
|
|
1766
|
+
gap: var(--sc-space-2);
|
|
1767
|
+
margin: 0;
|
|
1768
|
+
padding: 0;
|
|
1769
|
+
list-style: none;
|
|
1770
|
+
}
|
|
1771
|
+
|
|
1772
|
+
.sc-link-list > li,
|
|
1773
|
+
.sc-subtasks > li {
|
|
1774
|
+
display: flex;
|
|
1775
|
+
flex-wrap: wrap;
|
|
1776
|
+
align-items: center;
|
|
1777
|
+
gap: var(--sc-space-2) var(--sc-space-3);
|
|
1778
|
+
padding: var(--sc-space-3) var(--sc-space-4);
|
|
1779
|
+
border: var(--sc-border);
|
|
1780
|
+
border-radius: var(--sc-radius-md);
|
|
1781
|
+
background: var(--sc-color-sheet);
|
|
1782
|
+
font-size: var(--sc-text-sm);
|
|
1783
|
+
overflow-wrap: anywhere;
|
|
1784
|
+
}
|
|
1785
|
+
|
|
1786
|
+
.sc-subtasks .sc-badge {
|
|
1787
|
+
margin-inline-start: auto;
|
|
1497
1788
|
}
|
|
1498
1789
|
|
|
1499
1790
|
.sc-subtasks a {
|
|
1791
|
+
flex: 1 1 14rem;
|
|
1792
|
+
min-width: 0;
|
|
1500
1793
|
color: var(--sc-color-text);
|
|
1794
|
+
font-weight: var(--sc-weight-medium);
|
|
1501
1795
|
text-decoration: none;
|
|
1502
1796
|
}
|
|
1503
1797
|
|
|
@@ -1510,7 +1804,20 @@ table {
|
|
|
1510
1804
|
.sc-decisions {
|
|
1511
1805
|
display: grid;
|
|
1512
1806
|
gap: var(--sc-space-6);
|
|
1513
|
-
|
|
1807
|
+
align-items: start;
|
|
1808
|
+
}
|
|
1809
|
+
|
|
1810
|
+
@media (min-width: 64rem) {
|
|
1811
|
+
.sc-decisions {
|
|
1812
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1813
|
+
}
|
|
1814
|
+
}
|
|
1815
|
+
|
|
1816
|
+
/* A person's own decisions: the sections of what waits, stacked in the first column. */
|
|
1817
|
+
.sc-decisions-waiting {
|
|
1818
|
+
display: grid;
|
|
1819
|
+
gap: var(--sc-space-6);
|
|
1820
|
+
align-content: start;
|
|
1514
1821
|
}
|
|
1515
1822
|
|
|
1516
1823
|
.sc-decision {
|
|
@@ -1545,9 +1852,8 @@ table {
|
|
|
1545
1852
|
width: 0.5rem;
|
|
1546
1853
|
height: 0.5rem;
|
|
1547
1854
|
margin-right: var(--sc-space-2);
|
|
1548
|
-
border-radius:
|
|
1855
|
+
border-radius: var(--sc-radius-full);
|
|
1549
1856
|
background: var(--sc-color-point);
|
|
1550
|
-
box-shadow: 0 0 0.75rem color-mix(in srgb, var(--sc-color-point) 60%, transparent);
|
|
1551
1857
|
vertical-align: 0.1em;
|
|
1552
1858
|
}
|
|
1553
1859
|
|
|
@@ -1561,6 +1867,29 @@ table {
|
|
|
1561
1867
|
font-size: var(--sc-text-sm);
|
|
1562
1868
|
}
|
|
1563
1869
|
|
|
1870
|
+
/* The task a decision is about: a chip in the line, cut short where it is long. */
|
|
1871
|
+
.sc-decision-meta > a {
|
|
1872
|
+
display: inline-block;
|
|
1873
|
+
max-width: 100%;
|
|
1874
|
+
padding: 0 var(--sc-space-2);
|
|
1875
|
+
border: var(--sc-border);
|
|
1876
|
+
border-radius: var(--sc-radius-full);
|
|
1877
|
+
background: var(--sc-color-sheet);
|
|
1878
|
+
color: var(--sc-color-text);
|
|
1879
|
+
font-size: var(--sc-text-xs);
|
|
1880
|
+
font-weight: var(--sc-weight-medium);
|
|
1881
|
+
line-height: 1.5rem;
|
|
1882
|
+
text-decoration: none;
|
|
1883
|
+
white-space: nowrap;
|
|
1884
|
+
overflow: hidden;
|
|
1885
|
+
text-overflow: ellipsis;
|
|
1886
|
+
}
|
|
1887
|
+
|
|
1888
|
+
.sc-decision-meta > a:hover {
|
|
1889
|
+
border-color: var(--sc-color-accent);
|
|
1890
|
+
color: var(--sc-color-accent);
|
|
1891
|
+
}
|
|
1892
|
+
|
|
1564
1893
|
.sc-decision-waiting {
|
|
1565
1894
|
color: var(--sc-color-warning);
|
|
1566
1895
|
font-size: var(--sc-text-sm);
|
|
@@ -1570,7 +1899,7 @@ table {
|
|
|
1570
1899
|
display: grid;
|
|
1571
1900
|
gap: var(--sc-space-1);
|
|
1572
1901
|
padding: var(--sc-space-3) var(--sc-space-4);
|
|
1573
|
-
border-left:
|
|
1902
|
+
border-left: 2px solid var(--sc-color-accent);
|
|
1574
1903
|
border-radius: 0 var(--sc-radius-md) var(--sc-radius-md) 0;
|
|
1575
1904
|
}
|
|
1576
1905
|
|
|
@@ -1638,38 +1967,107 @@ table {
|
|
|
1638
1967
|
|
|
1639
1968
|
/* The feed: a line per event, newest first. */
|
|
1640
1969
|
|
|
1970
|
+
/* The feed by days: a heading per day with a line after it; under it, runs of events by the
|
|
1971
|
+
same hands, each headed once by the person and the agent, with a row per event under the name,
|
|
1972
|
+
the hour and the sentence, parted by hairlines rather than boxed. */
|
|
1641
1973
|
.sc-feed {
|
|
1974
|
+
display: grid;
|
|
1975
|
+
gap: var(--sc-space-5);
|
|
1976
|
+
}
|
|
1977
|
+
|
|
1978
|
+
.sc-feed-day {
|
|
1642
1979
|
display: grid;
|
|
1643
1980
|
gap: var(--sc-space-2);
|
|
1644
|
-
max-width: var(--sc-width-prose);
|
|
1645
1981
|
}
|
|
1646
1982
|
|
|
1647
|
-
.sc-feed-
|
|
1983
|
+
.sc-feed-day-title {
|
|
1984
|
+
display: flex;
|
|
1985
|
+
align-items: center;
|
|
1986
|
+
gap: var(--sc-space-3);
|
|
1987
|
+
margin: 0;
|
|
1988
|
+
color: var(--sc-color-text-muted);
|
|
1989
|
+
}
|
|
1990
|
+
|
|
1991
|
+
.sc-feed-day-title::after {
|
|
1992
|
+
content: "";
|
|
1993
|
+
flex: 1;
|
|
1994
|
+
height: 1px;
|
|
1995
|
+
background: var(--sc-color-border);
|
|
1996
|
+
}
|
|
1997
|
+
|
|
1998
|
+
.sc-feed-day-list,
|
|
1999
|
+
.sc-feed-run-list {
|
|
2000
|
+
display: grid;
|
|
2001
|
+
margin: 0;
|
|
2002
|
+
padding: 0;
|
|
2003
|
+
list-style: none;
|
|
2004
|
+
}
|
|
2005
|
+
|
|
2006
|
+
.sc-feed-day-list {
|
|
2007
|
+
gap: var(--sc-space-3);
|
|
2008
|
+
}
|
|
2009
|
+
|
|
2010
|
+
.sc-feed-run {
|
|
1648
2011
|
display: grid;
|
|
1649
|
-
|
|
2012
|
+
gap: var(--sc-space-1);
|
|
2013
|
+
}
|
|
2014
|
+
|
|
2015
|
+
/* The rows of a run line up under the name, past the picture of the person. */
|
|
2016
|
+
.sc-feed-run-list {
|
|
2017
|
+
padding-inline-start: calc(1.5rem + var(--sc-space-2));
|
|
2018
|
+
}
|
|
2019
|
+
|
|
2020
|
+
.sc-feed-actor {
|
|
2021
|
+
display: inline-flex;
|
|
1650
2022
|
align-items: center;
|
|
2023
|
+
gap: var(--sc-space-2);
|
|
2024
|
+
min-width: 0;
|
|
2025
|
+
}
|
|
2026
|
+
|
|
2027
|
+
.sc-feed-agent {
|
|
2028
|
+
margin-inline-start: var(--sc-space-2);
|
|
2029
|
+
color: var(--sc-color-text-faint);
|
|
2030
|
+
font-size: var(--sc-text-xs);
|
|
2031
|
+
}
|
|
2032
|
+
|
|
2033
|
+
/* Where the agent is laid out beside the name by a gap, it needs no margin of its own. */
|
|
2034
|
+
.sc-feed-actor .sc-feed-agent,
|
|
2035
|
+
.sc-doc-meta .sc-feed-agent {
|
|
2036
|
+
margin-inline-start: 0;
|
|
2037
|
+
}
|
|
2038
|
+
|
|
2039
|
+
.sc-feed-item {
|
|
2040
|
+
display: grid;
|
|
2041
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
2042
|
+
align-items: baseline;
|
|
1651
2043
|
gap: var(--sc-space-3);
|
|
1652
|
-
padding: var(--sc-space-
|
|
1653
|
-
border-
|
|
2044
|
+
padding: var(--sc-space-1) 0;
|
|
2045
|
+
border-bottom: 1px solid color-mix(in srgb, var(--sc-color-border) 60%, transparent);
|
|
1654
2046
|
font-size: var(--sc-text-sm);
|
|
1655
2047
|
}
|
|
1656
2048
|
|
|
2049
|
+
.sc-feed-item:last-child {
|
|
2050
|
+
border-bottom: 0;
|
|
2051
|
+
}
|
|
2052
|
+
|
|
2053
|
+
.sc-feed-clock {
|
|
2054
|
+
color: var(--sc-color-text-faint);
|
|
2055
|
+
font-size: var(--sc-text-xs);
|
|
2056
|
+
font-variant-numeric: tabular-nums;
|
|
2057
|
+
}
|
|
2058
|
+
|
|
1657
2059
|
.sc-feed-words {
|
|
1658
2060
|
overflow-wrap: anywhere;
|
|
1659
2061
|
}
|
|
1660
2062
|
|
|
1661
2063
|
.sc-feed-words a {
|
|
1662
2064
|
color: var(--sc-color-text);
|
|
2065
|
+
text-decoration: none;
|
|
1663
2066
|
}
|
|
1664
2067
|
|
|
1665
2068
|
.sc-feed-words a:hover {
|
|
1666
2069
|
color: var(--sc-color-accent);
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
.sc-feed-agent {
|
|
1670
|
-
margin-left: var(--sc-space-2);
|
|
1671
|
-
color: var(--sc-color-text-muted);
|
|
1672
|
-
font-size: var(--sc-text-sm);
|
|
2070
|
+
text-decoration: underline;
|
|
1673
2071
|
}
|
|
1674
2072
|
|
|
1675
2073
|
/* Signing in: one pane in the light, with the mark on a small stage of its own. */
|
|
@@ -1697,7 +2095,7 @@ table {
|
|
|
1697
2095
|
position: absolute;
|
|
1698
2096
|
width: 14rem;
|
|
1699
2097
|
height: 14rem;
|
|
1700
|
-
border-radius:
|
|
2098
|
+
border-radius: var(--sc-radius-full);
|
|
1701
2099
|
background: radial-gradient(
|
|
1702
2100
|
circle,
|
|
1703
2101
|
color-mix(in srgb, var(--sc-color-accent) 35%, transparent),
|
|
@@ -1712,17 +2110,17 @@ table {
|
|
|
1712
2110
|
place-items: center;
|
|
1713
2111
|
width: 3.5rem;
|
|
1714
2112
|
height: 3.5rem;
|
|
1715
|
-
border:
|
|
1716
|
-
border-radius:
|
|
2113
|
+
border: var(--sc-border);
|
|
2114
|
+
border-radius: var(--sc-radius-xl);
|
|
1717
2115
|
background: var(--sc-color-bg);
|
|
1718
|
-
box-shadow:
|
|
2116
|
+
box-shadow: var(--sc-glass-lift);
|
|
1719
2117
|
}
|
|
1720
2118
|
|
|
1721
2119
|
.sc-sign-in-badge::after {
|
|
1722
2120
|
content: "";
|
|
1723
2121
|
position: absolute;
|
|
1724
2122
|
inset: 0;
|
|
1725
|
-
border:
|
|
2123
|
+
border: 2px solid var(--sc-color-accent);
|
|
1726
2124
|
border-radius: inherit;
|
|
1727
2125
|
opacity: 0;
|
|
1728
2126
|
pointer-events: none;
|
|
@@ -1737,7 +2135,7 @@ table {
|
|
|
1737
2135
|
@keyframes sc-ring {
|
|
1738
2136
|
0% {
|
|
1739
2137
|
transform: scale(1);
|
|
1740
|
-
opacity: 0.
|
|
2138
|
+
opacity: 0.55;
|
|
1741
2139
|
}
|
|
1742
2140
|
100% {
|
|
1743
2141
|
transform: scale(2.6);
|
|
@@ -1788,6 +2186,11 @@ table {
|
|
|
1788
2186
|
overflow-wrap: anywhere;
|
|
1789
2187
|
}
|
|
1790
2188
|
|
|
2189
|
+
/* The text of a task and of a page is read at length: at the size of reading. */
|
|
2190
|
+
.sc-task-main > .sc-prose {
|
|
2191
|
+
font-size: var(--sc-text-md);
|
|
2192
|
+
}
|
|
2193
|
+
|
|
1791
2194
|
.sc-prose > * + * {
|
|
1792
2195
|
margin-top: var(--sc-space-4);
|
|
1793
2196
|
}
|
|
@@ -1923,12 +2326,24 @@ table {
|
|
|
1923
2326
|
.sc-token-meta {
|
|
1924
2327
|
display: flex;
|
|
1925
2328
|
flex-wrap: wrap;
|
|
1926
|
-
gap: var(--sc-space-3);
|
|
2329
|
+
gap: var(--sc-space-1) var(--sc-space-3);
|
|
1927
2330
|
margin-top: var(--sc-space-1);
|
|
1928
2331
|
color: var(--sc-color-text-muted);
|
|
1929
2332
|
font-size: var(--sc-text-sm);
|
|
1930
2333
|
}
|
|
1931
2334
|
|
|
2335
|
+
.sc-token-meta > span {
|
|
2336
|
+
display: inline-flex;
|
|
2337
|
+
flex-wrap: wrap;
|
|
2338
|
+
align-items: center;
|
|
2339
|
+
gap: var(--sc-space-1);
|
|
2340
|
+
}
|
|
2341
|
+
|
|
2342
|
+
.sc-token-meta > span + span {
|
|
2343
|
+
padding-inline-start: var(--sc-space-3);
|
|
2344
|
+
border-inline-start: var(--sc-hairline);
|
|
2345
|
+
}
|
|
2346
|
+
|
|
1932
2347
|
.sc-secret {
|
|
1933
2348
|
display: flex;
|
|
1934
2349
|
flex-wrap: wrap;
|
|
@@ -1947,24 +2362,40 @@ table {
|
|
|
1947
2362
|
user-select: all;
|
|
1948
2363
|
}
|
|
1949
2364
|
|
|
1950
|
-
/* People: everyone of the board, with what each may do
|
|
2365
|
+
/* People: everyone of the board, with what each may do, as cards in a grid: the person on the
|
|
2366
|
+
first line, the account and where it came from on the second, what they are and the ways to
|
|
2367
|
+
their work on the third. */
|
|
1951
2368
|
|
|
1952
2369
|
.sc-people {
|
|
1953
2370
|
display: grid;
|
|
1954
|
-
|
|
2371
|
+
grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
|
|
2372
|
+
gap: var(--sc-space-3);
|
|
1955
2373
|
}
|
|
1956
2374
|
|
|
1957
2375
|
.sc-person-row {
|
|
1958
2376
|
display: flex;
|
|
1959
2377
|
flex-wrap: wrap;
|
|
1960
2378
|
align-items: center;
|
|
1961
|
-
gap: var(--sc-space-3);
|
|
1962
|
-
padding: var(--sc-space-
|
|
2379
|
+
gap: var(--sc-space-2) var(--sc-space-3);
|
|
2380
|
+
padding: var(--sc-space-4);
|
|
1963
2381
|
border-radius: var(--sc-radius-lg);
|
|
1964
2382
|
}
|
|
1965
2383
|
|
|
2384
|
+
.sc-person-row > .sc-person {
|
|
2385
|
+
flex: 0 1 auto;
|
|
2386
|
+
min-width: 0;
|
|
2387
|
+
}
|
|
2388
|
+
|
|
2389
|
+
/* That this person is the reader: beside the name on the first line. */
|
|
2390
|
+
.sc-person-you {
|
|
2391
|
+
margin-inline-start: calc(var(--sc-space-1) - var(--sc-space-3));
|
|
2392
|
+
color: var(--sc-color-text-faint);
|
|
2393
|
+
font-size: var(--sc-text-xs);
|
|
2394
|
+
}
|
|
2395
|
+
|
|
1966
2396
|
.sc-person-name {
|
|
1967
|
-
flex: 1
|
|
2397
|
+
flex: 1 1 100%;
|
|
2398
|
+
min-width: 0;
|
|
1968
2399
|
color: var(--sc-color-text-muted);
|
|
1969
2400
|
font-size: var(--sc-text-sm);
|
|
1970
2401
|
}
|
|
@@ -1974,13 +2405,19 @@ table {
|
|
|
1974
2405
|
font-size: var(--sc-text-xs);
|
|
1975
2406
|
}
|
|
1976
2407
|
|
|
2408
|
+
/* What a person is, or the way to change it: the last line, a step under the account. */
|
|
2409
|
+
.sc-person-row > .sc-badge,
|
|
2410
|
+
.sc-person-row > .sc-field-inline {
|
|
2411
|
+
margin-top: var(--sc-space-1);
|
|
2412
|
+
}
|
|
2413
|
+
|
|
1977
2414
|
/* Those let in and not signed in yet, and those deactivated: sections below everyone in. */
|
|
1978
2415
|
.sc-people-section {
|
|
1979
2416
|
margin-top: var(--sc-space-6);
|
|
1980
2417
|
}
|
|
1981
2418
|
|
|
1982
2419
|
.sc-person-row-out .sc-person {
|
|
1983
|
-
opacity: 0.
|
|
2420
|
+
opacity: 0.55;
|
|
1984
2421
|
}
|
|
1985
2422
|
|
|
1986
2423
|
.sc-listing-form .sc-field-row {
|
|
@@ -2020,19 +2457,38 @@ table {
|
|
|
2020
2457
|
box-shadow: var(--sc-glass-sheen), var(--sc-glass-lift), var(--sc-glow);
|
|
2021
2458
|
}
|
|
2022
2459
|
|
|
2460
|
+
/* The head of a project reads on three lines: the mark with the name beside it, the key under
|
|
2461
|
+
the name, and the badges on a line of their own; the mark floats so that the name and the key
|
|
2462
|
+
stack beside it without a box around them. */
|
|
2023
2463
|
.sc-project-head {
|
|
2024
|
-
display:
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2464
|
+
display: block;
|
|
2465
|
+
}
|
|
2466
|
+
|
|
2467
|
+
.sc-project-head::after {
|
|
2468
|
+
content: "";
|
|
2469
|
+
display: block;
|
|
2470
|
+
clear: both;
|
|
2471
|
+
}
|
|
2472
|
+
|
|
2473
|
+
.sc-project-head > :first-child {
|
|
2474
|
+
float: left;
|
|
2475
|
+
margin-inline-end: var(--sc-space-3);
|
|
2476
|
+
}
|
|
2477
|
+
|
|
2478
|
+
.sc-project-head > .sc-badge {
|
|
2479
|
+
margin-top: var(--sc-space-3);
|
|
2480
|
+
margin-inline-end: var(--sc-space-1);
|
|
2028
2481
|
}
|
|
2029
2482
|
|
|
2030
2483
|
/* The whole pane is the way in: the name's link stretches over it. */
|
|
2031
2484
|
.sc-project-name {
|
|
2485
|
+
display: block;
|
|
2032
2486
|
color: var(--sc-color-text);
|
|
2033
2487
|
font-size: var(--sc-text-lg);
|
|
2034
2488
|
font-weight: var(--sc-weight-bold);
|
|
2489
|
+
line-height: var(--sc-leading-snug);
|
|
2035
2490
|
text-decoration: none;
|
|
2491
|
+
overflow-wrap: anywhere;
|
|
2036
2492
|
}
|
|
2037
2493
|
|
|
2038
2494
|
.sc-project-name::after {
|
|
@@ -2054,7 +2510,21 @@ table {
|
|
|
2054
2510
|
font-size: var(--sc-text-xs);
|
|
2055
2511
|
}
|
|
2056
2512
|
|
|
2513
|
+
/* Under the name, and past the mark: the key ends below the mark, so that the badges after it
|
|
2514
|
+
start at the edge. */
|
|
2515
|
+
.sc-project-head > .sc-project-key {
|
|
2516
|
+
display: block;
|
|
2517
|
+
margin-top: var(--sc-space-1);
|
|
2518
|
+
}
|
|
2519
|
+
|
|
2520
|
+
.sc-project-head > .sc-project-key::after {
|
|
2521
|
+
content: "";
|
|
2522
|
+
display: block;
|
|
2523
|
+
clear: both;
|
|
2524
|
+
}
|
|
2525
|
+
|
|
2057
2526
|
.sc-project-description {
|
|
2527
|
+
margin-top: var(--sc-space-1);
|
|
2058
2528
|
color: var(--sc-color-text-muted);
|
|
2059
2529
|
font-size: var(--sc-text-sm);
|
|
2060
2530
|
}
|
|
@@ -2064,7 +2534,8 @@ table {
|
|
|
2064
2534
|
flex-wrap: wrap;
|
|
2065
2535
|
gap: var(--sc-space-2);
|
|
2066
2536
|
margin-top: auto;
|
|
2067
|
-
padding-top: var(--sc-space-
|
|
2537
|
+
padding-top: var(--sc-space-3);
|
|
2538
|
+
border-top: var(--sc-hairline);
|
|
2068
2539
|
}
|
|
2069
2540
|
|
|
2070
2541
|
.sc-project-meta:empty {
|
|
@@ -2076,6 +2547,14 @@ table {
|
|
|
2076
2547
|
gap: var(--sc-space-4);
|
|
2077
2548
|
}
|
|
2078
2549
|
|
|
2550
|
+
/* What a member is in the project, and their office in the organization beside it, small. */
|
|
2551
|
+
.sc-member-role {
|
|
2552
|
+
display: inline-flex;
|
|
2553
|
+
align-items: center;
|
|
2554
|
+
gap: var(--sc-space-2);
|
|
2555
|
+
font-size: var(--sc-text-sm);
|
|
2556
|
+
}
|
|
2557
|
+
|
|
2079
2558
|
.sc-member-form .sc-field-row {
|
|
2080
2559
|
align-items: end;
|
|
2081
2560
|
}
|
|
@@ -2084,11 +2563,14 @@ table {
|
|
|
2084
2563
|
|
|
2085
2564
|
.sc-skills {
|
|
2086
2565
|
display: grid;
|
|
2087
|
-
|
|
2566
|
+
grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr));
|
|
2567
|
+
gap: var(--sc-space-3);
|
|
2088
2568
|
}
|
|
2089
2569
|
|
|
2090
2570
|
.sc-skill {
|
|
2091
|
-
|
|
2571
|
+
display: grid;
|
|
2572
|
+
align-content: start;
|
|
2573
|
+
padding: var(--sc-space-4) var(--sc-space-5);
|
|
2092
2574
|
border-radius: var(--sc-radius-lg);
|
|
2093
2575
|
}
|
|
2094
2576
|
|
|
@@ -2101,8 +2583,16 @@ table {
|
|
|
2101
2583
|
}
|
|
2102
2584
|
|
|
2103
2585
|
.sc-skill-name {
|
|
2104
|
-
font-
|
|
2105
|
-
|
|
2586
|
+
font-size: var(--sc-text-md);
|
|
2587
|
+
font-weight: var(--sc-weight-bold);
|
|
2588
|
+
}
|
|
2589
|
+
|
|
2590
|
+
/* The folder a skill is in: a line of its own under the name, in the code face. */
|
|
2591
|
+
.sc-skill-head > .sc-muted {
|
|
2592
|
+
flex: 1 1 100%;
|
|
2593
|
+
font-family: var(--sc-font-mono);
|
|
2594
|
+
font-size: var(--sc-text-xs);
|
|
2595
|
+
}
|
|
2106
2596
|
|
|
2107
2597
|
.sc-skill-description {
|
|
2108
2598
|
margin: var(--sc-space-2) 0 0;
|
|
@@ -2112,7 +2602,9 @@ table {
|
|
|
2112
2602
|
|
|
2113
2603
|
.sc-skill-uri {
|
|
2114
2604
|
display: block;
|
|
2115
|
-
margin-top: var(--sc-space-
|
|
2605
|
+
margin-top: var(--sc-space-3);
|
|
2606
|
+
padding-top: var(--sc-space-2);
|
|
2607
|
+
border-top: var(--sc-hairline);
|
|
2116
2608
|
color: var(--sc-color-text-faint);
|
|
2117
2609
|
font-size: var(--sc-text-xs);
|
|
2118
2610
|
word-break: break-all;
|
|
@@ -2136,18 +2628,30 @@ table {
|
|
|
2136
2628
|
display: flex;
|
|
2137
2629
|
flex-wrap: wrap;
|
|
2138
2630
|
align-items: center;
|
|
2139
|
-
gap: var(--sc-space-2);
|
|
2631
|
+
gap: var(--sc-space-1) var(--sc-space-2);
|
|
2632
|
+
padding-bottom: var(--sc-space-3);
|
|
2633
|
+
border-bottom: var(--sc-hairline);
|
|
2140
2634
|
}
|
|
2141
2635
|
|
|
2142
2636
|
.sc-run-agent {
|
|
2143
|
-
font-
|
|
2637
|
+
font-size: var(--sc-text-md);
|
|
2638
|
+
font-weight: var(--sc-weight-bold);
|
|
2639
|
+
}
|
|
2640
|
+
|
|
2641
|
+
/* The way to end a run stands at the end of the first line. */
|
|
2642
|
+
.sc-run-header > .sc-button {
|
|
2643
|
+
order: 1;
|
|
2644
|
+
margin-inline-start: auto;
|
|
2144
2645
|
}
|
|
2145
2646
|
|
|
2647
|
+
/* Who the run is for and since when: the second line of the head. */
|
|
2146
2648
|
.sc-run-meta {
|
|
2147
|
-
display:
|
|
2649
|
+
display: flex;
|
|
2650
|
+
flex: 1 1 100%;
|
|
2148
2651
|
flex-wrap: wrap;
|
|
2652
|
+
order: 2;
|
|
2149
2653
|
align-items: center;
|
|
2150
|
-
gap: var(--sc-space-1);
|
|
2654
|
+
gap: var(--sc-space-1) var(--sc-space-2);
|
|
2151
2655
|
color: var(--sc-color-text-muted);
|
|
2152
2656
|
font-size: var(--sc-text-sm);
|
|
2153
2657
|
}
|
|
@@ -2168,10 +2672,11 @@ table {
|
|
|
2168
2672
|
display: grid;
|
|
2169
2673
|
gap: var(--sc-space-1);
|
|
2170
2674
|
padding-left: var(--sc-space-3);
|
|
2171
|
-
border-left: 2px solid var(--sc-color-
|
|
2675
|
+
border-left: 2px solid var(--sc-color-accent);
|
|
2172
2676
|
font-size: var(--sc-text-sm);
|
|
2173
2677
|
}
|
|
2174
2678
|
|
|
2679
|
+
/* The hour of a report heads it, small and apart from its words. */
|
|
2175
2680
|
.sc-run-summary {
|
|
2176
2681
|
padding-top: var(--sc-space-3);
|
|
2177
2682
|
border-top: var(--sc-border);
|
|
@@ -2199,6 +2704,7 @@ table {
|
|
|
2199
2704
|
}
|
|
2200
2705
|
|
|
2201
2706
|
.sc-comment-meta {
|
|
2707
|
+
margin-inline-start: auto;
|
|
2202
2708
|
color: var(--sc-color-text-muted);
|
|
2203
2709
|
font-size: var(--sc-text-sm);
|
|
2204
2710
|
}
|
|
@@ -2217,7 +2723,7 @@ table {
|
|
|
2217
2723
|
}
|
|
2218
2724
|
|
|
2219
2725
|
.sc-picture-thumb:focus-visible {
|
|
2220
|
-
outline:
|
|
2726
|
+
outline: var(--sc-focus-ring);
|
|
2221
2727
|
outline-offset: 2px;
|
|
2222
2728
|
}
|
|
2223
2729
|
|
|
@@ -2245,7 +2751,7 @@ table {
|
|
|
2245
2751
|
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
2246
2752
|
inset: 0;
|
|
2247
2753
|
background: color-mix(in srgb, var(--sc-color-bg) 90%, transparent);
|
|
2248
|
-
backdrop-filter:
|
|
2754
|
+
backdrop-filter: var(--sc-glass-backdrop);
|
|
2249
2755
|
}
|
|
2250
2756
|
|
|
2251
2757
|
.sc-overlay-bar {
|
|
@@ -2391,7 +2897,7 @@ table {
|
|
|
2391
2897
|
padding: var(--sc-space-3) var(--sc-space-4);
|
|
2392
2898
|
border: var(--sc-border);
|
|
2393
2899
|
border-radius: var(--sc-radius-md);
|
|
2394
|
-
background: var(--sc-color-
|
|
2900
|
+
background: var(--sc-color-bg-raised);
|
|
2395
2901
|
font-family: var(--sc-font-mono);
|
|
2396
2902
|
font-size: var(--sc-text-sm);
|
|
2397
2903
|
line-height: var(--sc-leading-code);
|
|
@@ -2418,13 +2924,13 @@ table {
|
|
|
2418
2924
|
max-width: 12rem;
|
|
2419
2925
|
font-family: var(--sc-font-mono);
|
|
2420
2926
|
font-size: var(--sc-text-lg);
|
|
2421
|
-
letter-spacing:
|
|
2927
|
+
letter-spacing: var(--sc-tracking-code);
|
|
2422
2928
|
text-transform: uppercase;
|
|
2423
2929
|
}
|
|
2424
2930
|
|
|
2425
2931
|
.sc-code-shown {
|
|
2426
2932
|
font-size: var(--sc-text-md);
|
|
2427
|
-
letter-spacing:
|
|
2933
|
+
letter-spacing: var(--sc-tracking-code);
|
|
2428
2934
|
}
|
|
2429
2935
|
|
|
2430
2936
|
/* Documents: a folder's pages, one page with its versions, its links both ways and its files. */
|
|
@@ -2511,11 +3017,13 @@ table {
|
|
|
2511
3017
|
list-style: none;
|
|
2512
3018
|
}
|
|
2513
3019
|
|
|
3020
|
+
/* A page in a list reads on two lines: its title, with a mark if it is archived, and under it
|
|
3021
|
+
where it lives, its version, who wrote it last and when, each a step apart. */
|
|
2514
3022
|
.sc-doc-row {
|
|
2515
3023
|
display: flex;
|
|
2516
3024
|
flex-wrap: wrap;
|
|
2517
|
-
align-items:
|
|
2518
|
-
gap: var(--sc-space-
|
|
3025
|
+
align-items: center;
|
|
3026
|
+
gap: var(--sc-space-1) var(--sc-space-2);
|
|
2519
3027
|
padding: var(--sc-space-3) var(--sc-space-4);
|
|
2520
3028
|
border-radius: var(--sc-radius-lg);
|
|
2521
3029
|
transition: border-color var(--sc-transition);
|
|
@@ -2527,7 +3035,9 @@ table {
|
|
|
2527
3035
|
|
|
2528
3036
|
.sc-doc-title {
|
|
2529
3037
|
color: var(--sc-color-text);
|
|
2530
|
-
font-
|
|
3038
|
+
font-size: var(--sc-text-md);
|
|
3039
|
+
font-weight: var(--sc-weight-bold);
|
|
3040
|
+
line-height: var(--sc-leading-snug);
|
|
2531
3041
|
text-decoration: none;
|
|
2532
3042
|
}
|
|
2533
3043
|
|
|
@@ -2536,8 +3046,17 @@ table {
|
|
|
2536
3046
|
}
|
|
2537
3047
|
|
|
2538
3048
|
.sc-doc-meta {
|
|
3049
|
+
display: flex;
|
|
3050
|
+
flex: 1 1 100%;
|
|
3051
|
+
flex-wrap: wrap;
|
|
3052
|
+
align-items: center;
|
|
3053
|
+
gap: var(--sc-space-1) var(--sc-space-2);
|
|
2539
3054
|
color: var(--sc-color-text-muted);
|
|
2540
|
-
font-size: var(--sc-text-
|
|
3055
|
+
font-size: var(--sc-text-xs);
|
|
3056
|
+
}
|
|
3057
|
+
|
|
3058
|
+
.sc-doc-meta .sc-person-login {
|
|
3059
|
+
font-weight: var(--sc-weight-normal);
|
|
2541
3060
|
}
|
|
2542
3061
|
|
|
2543
3062
|
.sc-doc-path {
|
|
@@ -2560,7 +3079,7 @@ table {
|
|
|
2560
3079
|
}
|
|
2561
3080
|
|
|
2562
3081
|
.sc-doc-archived .sc-prose {
|
|
2563
|
-
opacity: 0.
|
|
3082
|
+
opacity: 0.55;
|
|
2564
3083
|
}
|
|
2565
3084
|
|
|
2566
3085
|
/* The pictures for a page, under its body: the way to add one, and what becomes of it. */
|
|
@@ -2571,30 +3090,86 @@ table {
|
|
|
2571
3090
|
gap: var(--sc-space-2);
|
|
2572
3091
|
}
|
|
2573
3092
|
|
|
3093
|
+
/* The attach form: a button to choose the file with the chosen file's name beside it, the
|
|
3094
|
+
name to call it under that, and the attach button across the bottom, all one height. */
|
|
2574
3095
|
.sc-doc-attach {
|
|
2575
|
-
display:
|
|
2576
|
-
flex-wrap: wrap;
|
|
3096
|
+
display: grid;
|
|
2577
3097
|
gap: var(--sc-space-2);
|
|
2578
3098
|
margin-top: var(--sc-space-3);
|
|
2579
3099
|
}
|
|
2580
3100
|
|
|
3101
|
+
.sc-doc-attach-file {
|
|
3102
|
+
display: flex;
|
|
3103
|
+
align-items: center;
|
|
3104
|
+
gap: var(--sc-space-3);
|
|
3105
|
+
min-width: 0;
|
|
3106
|
+
}
|
|
3107
|
+
|
|
3108
|
+
.sc-doc-attach-file > .sc-button {
|
|
3109
|
+
flex: none;
|
|
3110
|
+
}
|
|
3111
|
+
|
|
3112
|
+
.sc-doc-attach-chosen {
|
|
3113
|
+
min-width: 0;
|
|
3114
|
+
overflow: hidden;
|
|
3115
|
+
font-size: var(--sc-text-sm);
|
|
3116
|
+
white-space: nowrap;
|
|
3117
|
+
text-overflow: ellipsis;
|
|
3118
|
+
}
|
|
3119
|
+
|
|
3120
|
+
.sc-doc-attach > .sc-button {
|
|
3121
|
+
width: 100%;
|
|
3122
|
+
}
|
|
3123
|
+
|
|
2581
3124
|
.sc-versions {
|
|
2582
3125
|
margin: 0;
|
|
2583
3126
|
padding: 0;
|
|
2584
3127
|
list-style: none;
|
|
2585
3128
|
}
|
|
2586
3129
|
|
|
3130
|
+
.sc-version {
|
|
3131
|
+
display: grid;
|
|
3132
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
3133
|
+
column-gap: var(--sc-space-3);
|
|
3134
|
+
row-gap: var(--sc-space-1);
|
|
3135
|
+
align-items: baseline;
|
|
3136
|
+
padding-block: var(--sc-space-2);
|
|
3137
|
+
font-size: var(--sc-text-sm);
|
|
3138
|
+
}
|
|
3139
|
+
|
|
2587
3140
|
.sc-version + .sc-version {
|
|
2588
|
-
|
|
3141
|
+
border-top: var(--sc-hairline);
|
|
2589
3142
|
}
|
|
2590
3143
|
|
|
2591
3144
|
.sc-version-number {
|
|
2592
|
-
|
|
2593
|
-
min-width: 2.5rem;
|
|
3145
|
+
min-width: 2rem;
|
|
2594
3146
|
font-family: var(--sc-font-mono);
|
|
2595
3147
|
font-size: var(--sc-text-sm);
|
|
2596
3148
|
}
|
|
2597
3149
|
|
|
3150
|
+
.sc-version-title {
|
|
3151
|
+
font-weight: var(--sc-weight-medium);
|
|
3152
|
+
overflow-wrap: anywhere;
|
|
3153
|
+
}
|
|
3154
|
+
|
|
3155
|
+
.sc-version-meta {
|
|
3156
|
+
display: flex;
|
|
3157
|
+
flex-wrap: wrap;
|
|
3158
|
+
align-items: center;
|
|
3159
|
+
gap: var(--sc-space-1) var(--sc-space-2);
|
|
3160
|
+
grid-column: 2;
|
|
3161
|
+
color: var(--sc-color-text-muted);
|
|
3162
|
+
font-size: var(--sc-text-xs);
|
|
3163
|
+
}
|
|
3164
|
+
|
|
3165
|
+
.sc-version-meta .sc-person-login {
|
|
3166
|
+
font-weight: var(--sc-weight-normal);
|
|
3167
|
+
}
|
|
3168
|
+
|
|
3169
|
+
.sc-version-meta .sc-feed-agent {
|
|
3170
|
+
margin-inline-start: 0;
|
|
3171
|
+
}
|
|
3172
|
+
|
|
2598
3173
|
/* In the aside of a task or a page, the facts stack and the sections are small. */
|
|
2599
3174
|
|
|
2600
3175
|
.sc-task-aside .sc-facts {
|
|
@@ -2603,11 +3178,6 @@ table {
|
|
|
2603
3178
|
|
|
2604
3179
|
.sc-task-aside .sc-section-title {
|
|
2605
3180
|
margin-bottom: var(--sc-space-1);
|
|
2606
|
-
color: var(--sc-color-text-faint);
|
|
2607
|
-
font-size: var(--sc-text-xs);
|
|
2608
|
-
font-weight: var(--sc-weight-medium);
|
|
2609
|
-
letter-spacing: 0.04em;
|
|
2610
|
-
text-transform: uppercase;
|
|
2611
3181
|
}
|
|
2612
3182
|
|
|
2613
3183
|
.sc-task-aside .sc-task-section {
|
|
@@ -2627,11 +3197,6 @@ table {
|
|
|
2627
3197
|
|
|
2628
3198
|
.sc-decision-label {
|
|
2629
3199
|
margin: 0 0 var(--sc-space-1);
|
|
2630
|
-
color: var(--sc-color-text-faint);
|
|
2631
|
-
font-size: var(--sc-text-xs);
|
|
2632
|
-
font-weight: var(--sc-weight-medium);
|
|
2633
|
-
letter-spacing: 0.04em;
|
|
2634
|
-
text-transform: uppercase;
|
|
2635
3200
|
}
|
|
2636
3201
|
|
|
2637
3202
|
.sc-outcome-form {
|
|
@@ -2639,11 +3204,20 @@ table {
|
|
|
2639
3204
|
gap: var(--sc-space-2);
|
|
2640
3205
|
}
|
|
2641
3206
|
|
|
2642
|
-
/* Under the wide layout a task
|
|
2643
|
-
|
|
3207
|
+
/* Under the wide layout a task reads its text first, then its facts and the ways to its forms, two
|
|
3208
|
+
to a row so that they stay short, then the discussion and what happened: the text says what the
|
|
3209
|
+
task is, and its state is changed right under it. A document keeps its text first. */
|
|
2644
3210
|
@media (max-width: 63.99rem) {
|
|
3211
|
+
.sc-task .sc-task-main {
|
|
3212
|
+
display: contents;
|
|
3213
|
+
}
|
|
3214
|
+
|
|
2645
3215
|
.sc-task .sc-task-aside {
|
|
2646
|
-
order:
|
|
3216
|
+
order: 1;
|
|
3217
|
+
}
|
|
3218
|
+
|
|
3219
|
+
.sc-task .sc-task-main > .sc-task-section {
|
|
3220
|
+
order: 2;
|
|
2647
3221
|
}
|
|
2648
3222
|
|
|
2649
3223
|
.sc-task .sc-task-aside .sc-facts {
|
|
@@ -2654,61 +3228,158 @@ table {
|
|
|
2654
3228
|
/* The schedule, the roadmap and the categories (ADR-0019). */
|
|
2655
3229
|
|
|
2656
3230
|
/* The colours a category may be shown in: names, painted here and nowhere else. Each is a
|
|
2657
|
-
|
|
3231
|
+
light fill with its words dark in the same hue, and a mark, a clear mid-tone of the hue, for
|
|
3232
|
+
the dots, flags and bars where the colour stands alone; the eight hues spread around the
|
|
3233
|
+
wheel so that no two are taken for each other at a glance. A console that sets only the line
|
|
3234
|
+
and the fill gets its line where the mark would be. */
|
|
2658
3235
|
.sc-category-gray {
|
|
2659
|
-
--sc-category-line: #
|
|
2660
|
-
--sc-category-fill: #
|
|
3236
|
+
--sc-category-line: #4a5468;
|
|
3237
|
+
--sc-category-fill: #e0e4eb;
|
|
3238
|
+
--sc-category-mark: #7b8597;
|
|
2661
3239
|
}
|
|
2662
3240
|
|
|
2663
3241
|
.sc-category-blue {
|
|
2664
|
-
--sc-category-line: #
|
|
2665
|
-
--sc-category-fill: #
|
|
3242
|
+
--sc-category-line: #1d4fcb;
|
|
3243
|
+
--sc-category-fill: #d2e0ff;
|
|
3244
|
+
--sc-category-mark: #2f6ae8;
|
|
2666
3245
|
}
|
|
2667
3246
|
|
|
2668
3247
|
.sc-category-green {
|
|
2669
|
-
--sc-category-line: #
|
|
2670
|
-
--sc-category-fill: #
|
|
3248
|
+
--sc-category-line: #176d26;
|
|
3249
|
+
--sc-category-fill: #cdf0cc;
|
|
3250
|
+
--sc-category-mark: #22a04a;
|
|
2671
3251
|
}
|
|
2672
3252
|
|
|
2673
3253
|
.sc-category-orange {
|
|
2674
|
-
--sc-category-line: #
|
|
2675
|
-
--sc-category-fill: #
|
|
3254
|
+
--sc-category-line: #b83c00;
|
|
3255
|
+
--sc-category-fill: #ffe6d1;
|
|
3256
|
+
--sc-category-mark: #f0731a;
|
|
2676
3257
|
}
|
|
2677
3258
|
|
|
2678
3259
|
.sc-category-pink {
|
|
2679
|
-
--sc-category-line: #
|
|
2680
|
-
--sc-category-fill: #
|
|
3260
|
+
--sc-category-line: #b2176a;
|
|
3261
|
+
--sc-category-fill: #fdd2e5;
|
|
3262
|
+
--sc-category-mark: #e63d94;
|
|
2681
3263
|
}
|
|
2682
3264
|
|
|
2683
3265
|
.sc-category-purple {
|
|
2684
|
-
--sc-category-line: #
|
|
2685
|
-
--sc-category-fill: #
|
|
3266
|
+
--sc-category-line: #6434c2;
|
|
3267
|
+
--sc-category-fill: #e6d8fc;
|
|
3268
|
+
--sc-category-mark: #8457e6;
|
|
2686
3269
|
}
|
|
2687
3270
|
|
|
2688
3271
|
.sc-category-teal {
|
|
2689
|
-
--sc-category-line: #
|
|
2690
|
-
--sc-category-fill: #
|
|
3272
|
+
--sc-category-line: #08667a;
|
|
3273
|
+
--sc-category-fill: #c6edf4;
|
|
3274
|
+
--sc-category-mark: #0f9bb0;
|
|
2691
3275
|
}
|
|
2692
3276
|
|
|
2693
3277
|
.sc-category-yellow {
|
|
2694
|
-
--sc-category-line: #
|
|
2695
|
-
--sc-category-fill: #
|
|
3278
|
+
--sc-category-line: #44403c;
|
|
3279
|
+
--sc-category-fill: #fbe9b2;
|
|
3280
|
+
--sc-category-mark: #e6b42c;
|
|
2696
3281
|
}
|
|
2697
3282
|
|
|
2698
3283
|
.sc-badge-category {
|
|
2699
|
-
border-color:
|
|
3284
|
+
border-color: transparent;
|
|
2700
3285
|
background: var(--sc-category-fill);
|
|
2701
3286
|
color: var(--sc-category-line);
|
|
2702
3287
|
}
|
|
2703
3288
|
|
|
3289
|
+
/* A badge's kind in how it is filled, so that a plain badge, a category, a state, a priority
|
|
3290
|
+
and a due day beside each other are kinds and not five of one thing; the pill is the shape
|
|
3291
|
+
of them all and nothing stands before the words:
|
|
3292
|
+
- a plain badge (a role, a count, public or private): a soft fill with a line of its hue;
|
|
3293
|
+
- a category and a state: a soft fill, no line;
|
|
3294
|
+
- a priority: a soft fill with dark words of its hue, low a grey, high an orange, urgent a red;
|
|
3295
|
+
- a due day: a line, a very light fill and bold words, all in the hue of how near the day
|
|
3296
|
+
is. */
|
|
3297
|
+
.sc-badge:not(.sc-badge-category) {
|
|
3298
|
+
border-color: color-mix(in srgb, currentColor 40%, transparent);
|
|
3299
|
+
}
|
|
3300
|
+
|
|
3301
|
+
.sc-badge.sc-badge-kind-state {
|
|
3302
|
+
border-color: transparent;
|
|
3303
|
+
}
|
|
3304
|
+
|
|
3305
|
+
.sc-badge.sc-badge-kind-priority {
|
|
3306
|
+
border-color: transparent;
|
|
3307
|
+
background: #e1e6ee;
|
|
3308
|
+
color: #3a4558;
|
|
3309
|
+
}
|
|
3310
|
+
|
|
3311
|
+
.sc-badge.sc-badge-kind-priority.sc-badge-point {
|
|
3312
|
+
background: #ffd4a8;
|
|
3313
|
+
color: #7a3300;
|
|
3314
|
+
}
|
|
3315
|
+
|
|
3316
|
+
.sc-badge.sc-badge-kind-priority.sc-badge-danger {
|
|
3317
|
+
background: #fdbcc3;
|
|
3318
|
+
color: #7d0e1d;
|
|
3319
|
+
}
|
|
3320
|
+
|
|
3321
|
+
/* A due day: one line weight for every one; the line, a very light fill and the words are
|
|
3322
|
+
all in the hue of how near the day is. */
|
|
3323
|
+
.sc-badge.sc-badge-kind-due {
|
|
3324
|
+
border: 1.5px solid #a3acba;
|
|
3325
|
+
background: #f4f6f9;
|
|
3326
|
+
color: #4b5563;
|
|
3327
|
+
font-weight: var(--sc-weight-bold);
|
|
3328
|
+
font-variant-numeric: tabular-nums;
|
|
3329
|
+
}
|
|
3330
|
+
|
|
3331
|
+
.sc-badge.sc-badge-kind-due.sc-badge-accent {
|
|
3332
|
+
border-color: #6f93e8;
|
|
3333
|
+
background: #f0f5ff;
|
|
3334
|
+
color: #1d4ed8;
|
|
3335
|
+
}
|
|
3336
|
+
|
|
3337
|
+
.sc-badge.sc-badge-kind-due.sc-badge-success {
|
|
3338
|
+
border-color: #5fb488;
|
|
3339
|
+
background: #effaf4;
|
|
3340
|
+
color: #146b44;
|
|
3341
|
+
}
|
|
3342
|
+
|
|
3343
|
+
/* Within the week. */
|
|
3344
|
+
.sc-badge.sc-badge-kind-due.sc-badge-warning {
|
|
3345
|
+
border-color: #e0b100;
|
|
3346
|
+
background: #fffae6;
|
|
3347
|
+
color: #8a6500;
|
|
3348
|
+
}
|
|
3349
|
+
|
|
3350
|
+
/* Tomorrow. */
|
|
3351
|
+
.sc-badge.sc-badge-kind-due.sc-badge-point {
|
|
3352
|
+
border-color: #f59e3c;
|
|
3353
|
+
background: #fff4ea;
|
|
3354
|
+
color: #b45309;
|
|
3355
|
+
}
|
|
3356
|
+
|
|
3357
|
+
/* Today. */
|
|
3358
|
+
.sc-badge.sc-badge-kind-due.sc-badge-due-today {
|
|
3359
|
+
border-color: #f26b4a;
|
|
3360
|
+
background: #fff1ec;
|
|
3361
|
+
color: #c2330f;
|
|
3362
|
+
}
|
|
3363
|
+
|
|
3364
|
+
/* Late. */
|
|
3365
|
+
.sc-badge.sc-badge-kind-due.sc-badge-danger {
|
|
3366
|
+
border-color: #d33a47;
|
|
3367
|
+
background: #fff0f1;
|
|
3368
|
+
color: #c0262f;
|
|
3369
|
+
}
|
|
3370
|
+
|
|
3371
|
+
.sc-badge-kind-count {
|
|
3372
|
+
font-variant-numeric: tabular-nums;
|
|
3373
|
+
}
|
|
3374
|
+
|
|
2704
3375
|
.sc-category-swatch,
|
|
2705
3376
|
.sc-calendar-dot {
|
|
2706
3377
|
display: inline-block;
|
|
2707
3378
|
flex: none;
|
|
2708
3379
|
width: 0.625rem;
|
|
2709
3380
|
height: 0.625rem;
|
|
2710
|
-
border-radius:
|
|
2711
|
-
background: var(--sc-category-line, var(--sc-color-text-faint));
|
|
3381
|
+
border-radius: var(--sc-radius-full);
|
|
3382
|
+
background: var(--sc-category-mark, var(--sc-category-line, var(--sc-color-text-faint)));
|
|
2712
3383
|
}
|
|
2713
3384
|
|
|
2714
3385
|
/* The filters above the board: a quiet row of controls, as wide as its words. */
|
|
@@ -2730,10 +3401,38 @@ table {
|
|
|
2730
3401
|
font-size: var(--sc-text-sm);
|
|
2731
3402
|
}
|
|
2732
3403
|
|
|
3404
|
+
/* The words the board is narrowed by: a field that takes what room the row has, up to a point. */
|
|
3405
|
+
.sc-filters-words {
|
|
3406
|
+
flex: 1 1 12rem;
|
|
3407
|
+
max-width: 22rem;
|
|
3408
|
+
}
|
|
3409
|
+
|
|
3410
|
+
.sc-filters-words .sc-input {
|
|
3411
|
+
width: 100%;
|
|
3412
|
+
}
|
|
3413
|
+
|
|
2733
3414
|
.sc-filters-count {
|
|
2734
3415
|
font-size: var(--sc-text-sm);
|
|
2735
3416
|
}
|
|
2736
3417
|
|
|
3418
|
+
@media (max-width: 40rem) {
|
|
3419
|
+
.sc-filters {
|
|
3420
|
+
flex-wrap: nowrap;
|
|
3421
|
+
margin-inline: calc(-1 * var(--sc-space-4));
|
|
3422
|
+
padding-inline: var(--sc-space-4);
|
|
3423
|
+
overflow-x: auto;
|
|
3424
|
+
scrollbar-width: none;
|
|
3425
|
+
}
|
|
3426
|
+
|
|
3427
|
+
.sc-filters > * {
|
|
3428
|
+
flex: none;
|
|
3429
|
+
}
|
|
3430
|
+
|
|
3431
|
+
.sc-filters-count {
|
|
3432
|
+
white-space: nowrap;
|
|
3433
|
+
}
|
|
3434
|
+
}
|
|
3435
|
+
|
|
2737
3436
|
/* Tasks as rows, where the columns are not the point. */
|
|
2738
3437
|
.sc-task-rows {
|
|
2739
3438
|
display: grid;
|
|
@@ -2744,11 +3443,11 @@ table {
|
|
|
2744
3443
|
}
|
|
2745
3444
|
|
|
2746
3445
|
.sc-task-row {
|
|
2747
|
-
display:
|
|
2748
|
-
|
|
3446
|
+
display: grid;
|
|
3447
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
2749
3448
|
align-items: center;
|
|
2750
|
-
gap: var(--sc-space-
|
|
2751
|
-
padding: var(--sc-space-
|
|
3449
|
+
gap: var(--sc-space-1) var(--sc-space-3);
|
|
3450
|
+
padding: var(--sc-space-3) var(--sc-space-4);
|
|
2752
3451
|
border: var(--sc-border);
|
|
2753
3452
|
border-radius: var(--sc-radius-md);
|
|
2754
3453
|
background: var(--sc-color-sheet);
|
|
@@ -2756,7 +3455,7 @@ table {
|
|
|
2756
3455
|
}
|
|
2757
3456
|
|
|
2758
3457
|
.sc-task-row-title {
|
|
2759
|
-
|
|
3458
|
+
grid-column: 1;
|
|
2760
3459
|
min-width: 0;
|
|
2761
3460
|
color: var(--sc-color-text);
|
|
2762
3461
|
font-weight: var(--sc-weight-medium);
|
|
@@ -2769,6 +3468,7 @@ table {
|
|
|
2769
3468
|
}
|
|
2770
3469
|
|
|
2771
3470
|
.sc-task-row-project {
|
|
3471
|
+
grid-column: 1;
|
|
2772
3472
|
color: var(--sc-color-text-faint);
|
|
2773
3473
|
font-size: var(--sc-text-xs);
|
|
2774
3474
|
}
|
|
@@ -2776,11 +3476,27 @@ table {
|
|
|
2776
3476
|
.sc-task-row-meta {
|
|
2777
3477
|
display: flex;
|
|
2778
3478
|
flex-wrap: wrap;
|
|
3479
|
+
grid-row: 1 / span 2;
|
|
3480
|
+
grid-column: 2;
|
|
2779
3481
|
align-items: center;
|
|
3482
|
+
justify-content: flex-end;
|
|
2780
3483
|
gap: var(--sc-space-1);
|
|
2781
3484
|
margin-left: auto;
|
|
2782
3485
|
}
|
|
2783
3486
|
|
|
3487
|
+
@media (max-width: 40rem) {
|
|
3488
|
+
.sc-task-row {
|
|
3489
|
+
grid-template-columns: minmax(0, 1fr);
|
|
3490
|
+
}
|
|
3491
|
+
|
|
3492
|
+
.sc-task-row-meta {
|
|
3493
|
+
grid-row: auto;
|
|
3494
|
+
grid-column: 1;
|
|
3495
|
+
justify-content: flex-start;
|
|
3496
|
+
margin-left: 0;
|
|
3497
|
+
}
|
|
3498
|
+
}
|
|
3499
|
+
|
|
2784
3500
|
/* The calendar: the month as a table, a cell a day, the tasks due in it one line each. */
|
|
2785
3501
|
.sc-calendar {
|
|
2786
3502
|
display: grid;
|
|
@@ -2813,12 +3529,7 @@ table {
|
|
|
2813
3529
|
|
|
2814
3530
|
.sc-calendar-grid th {
|
|
2815
3531
|
padding: var(--sc-space-1);
|
|
2816
|
-
color: var(--sc-color-text-faint);
|
|
2817
|
-
font-size: var(--sc-text-xs);
|
|
2818
|
-
font-weight: var(--sc-weight-medium);
|
|
2819
|
-
letter-spacing: 0.04em;
|
|
2820
3532
|
text-align: left;
|
|
2821
|
-
text-transform: uppercase;
|
|
2822
3533
|
}
|
|
2823
3534
|
|
|
2824
3535
|
.sc-calendar-cell {
|
|
@@ -2837,7 +3548,6 @@ table {
|
|
|
2837
3548
|
|
|
2838
3549
|
.sc-calendar-cell-today {
|
|
2839
3550
|
border-color: var(--sc-color-accent);
|
|
2840
|
-
box-shadow: inset 0 0 0 1px var(--sc-color-accent);
|
|
2841
3551
|
}
|
|
2842
3552
|
|
|
2843
3553
|
.sc-calendar-day {
|
|
@@ -2851,6 +3561,26 @@ table {
|
|
|
2851
3561
|
color: var(--sc-color-accent);
|
|
2852
3562
|
}
|
|
2853
3563
|
|
|
3564
|
+
.sc-calendar-more {
|
|
3565
|
+
display: block;
|
|
3566
|
+
width: 100%;
|
|
3567
|
+
margin-top: 2px;
|
|
3568
|
+
padding: 1px var(--sc-space-1);
|
|
3569
|
+
border: 0;
|
|
3570
|
+
border-radius: var(--sc-radius-sm);
|
|
3571
|
+
background: transparent;
|
|
3572
|
+
color: var(--sc-color-text-muted);
|
|
3573
|
+
font-size: var(--sc-text-xs);
|
|
3574
|
+
font-weight: var(--sc-weight-medium);
|
|
3575
|
+
line-height: var(--sc-leading-snug);
|
|
3576
|
+
text-align: start;
|
|
3577
|
+
}
|
|
3578
|
+
|
|
3579
|
+
.sc-calendar-more:hover {
|
|
3580
|
+
background: var(--sc-color-bg-inset);
|
|
3581
|
+
color: var(--sc-color-text);
|
|
3582
|
+
}
|
|
3583
|
+
|
|
2854
3584
|
.sc-calendar-task {
|
|
2855
3585
|
display: flex;
|
|
2856
3586
|
align-items: center;
|
|
@@ -2860,7 +3590,7 @@ table {
|
|
|
2860
3590
|
border-radius: var(--sc-radius-sm);
|
|
2861
3591
|
color: var(--sc-color-text);
|
|
2862
3592
|
font-size: var(--sc-text-xs);
|
|
2863
|
-
line-height:
|
|
3593
|
+
line-height: var(--sc-leading-snug);
|
|
2864
3594
|
text-decoration: none;
|
|
2865
3595
|
}
|
|
2866
3596
|
|
|
@@ -2897,7 +3627,8 @@ table {
|
|
|
2897
3627
|
.sc-calendar-bar {
|
|
2898
3628
|
margin-inline: calc(-1 * var(--sc-space-2) - 0.125rem - 1px);
|
|
2899
3629
|
padding-inline: var(--sc-space-2);
|
|
2900
|
-
border-block: 1px solid
|
|
3630
|
+
border-block: 1px solid
|
|
3631
|
+
color-mix(in srgb, var(--sc-category-mark, var(--sc-category-line)) 60%, transparent);
|
|
2901
3632
|
background: var(--sc-category-fill);
|
|
2902
3633
|
color: var(--sc-category-line);
|
|
2903
3634
|
font-size: var(--sc-text-xs);
|
|
@@ -2906,32 +3637,57 @@ table {
|
|
|
2906
3637
|
white-space: nowrap;
|
|
2907
3638
|
}
|
|
2908
3639
|
|
|
2909
|
-
/*
|
|
2910
|
-
|
|
2911
|
-
|
|
3640
|
+
/* The task under the pointer is lit a little by its colour, in every piece of its bar and in
|
|
3641
|
+
every week it crosses, never one piece alone; by its colour and not by a filter, which would
|
|
3642
|
+
light the card within it too. */
|
|
3643
|
+
.sc-calendar-bar-pointed {
|
|
3644
|
+
background: color-mix(in srgb, var(--sc-category-fill), var(--sc-category-line) 14%);
|
|
2912
3645
|
}
|
|
2913
3646
|
|
|
2914
3647
|
.sc-calendar-bar-begins {
|
|
2915
3648
|
margin-left: 0;
|
|
2916
|
-
border-left: 1px solid
|
|
3649
|
+
border-left: 1px solid
|
|
3650
|
+
color-mix(in srgb, var(--sc-category-mark, var(--sc-category-line)) 60%, transparent);
|
|
2917
3651
|
border-start-start-radius: var(--sc-radius-full);
|
|
2918
3652
|
border-end-start-radius: var(--sc-radius-full);
|
|
2919
3653
|
}
|
|
2920
3654
|
|
|
2921
3655
|
.sc-calendar-bar-ends {
|
|
2922
3656
|
margin-right: 0;
|
|
2923
|
-
border-right: 1px solid
|
|
3657
|
+
border-right: 1px solid
|
|
3658
|
+
color-mix(in srgb, var(--sc-category-mark, var(--sc-category-line)) 60%, transparent);
|
|
2924
3659
|
border-start-end-radius: var(--sc-radius-full);
|
|
2925
3660
|
border-end-end-radius: var(--sc-radius-full);
|
|
2926
3661
|
}
|
|
2927
3662
|
|
|
3663
|
+
/* The title of a bar with more days in the week runs along the bar as far as its days reach,
|
|
3664
|
+
less the room of its end, instead of stopping at the first day's edge: above every piece,
|
|
3665
|
+
the one under the pointer included, and under the cards; the pointer goes through it to the
|
|
3666
|
+
piece of the day beneath. The days are the first piece's own custom property. */
|
|
3667
|
+
.sc-calendar-task-title-spanning {
|
|
3668
|
+
position: relative;
|
|
3669
|
+
z-index: 25;
|
|
3670
|
+
flex: none;
|
|
3671
|
+
max-width: calc(var(--sc-span, 1) * 100% - 2.25rem);
|
|
3672
|
+
pointer-events: none;
|
|
3673
|
+
}
|
|
3674
|
+
|
|
2928
3675
|
.sc-calendar-bar.sc-calendar-late {
|
|
2929
3676
|
border-color: color-mix(in srgb, var(--sc-color-danger) 70%, transparent);
|
|
2930
3677
|
color: var(--sc-color-danger);
|
|
2931
3678
|
}
|
|
2932
3679
|
|
|
3680
|
+
/* A bar of a task that is over: paler in its own colour, not see-through, so that every piece
|
|
3681
|
+
of it is one shade whatever lies under it, and the card of the task under the pointer,
|
|
3682
|
+
which lies within the piece, stays solid. */
|
|
2933
3683
|
.sc-calendar-bar.sc-calendar-over {
|
|
2934
|
-
|
|
3684
|
+
border-color: color-mix(
|
|
3685
|
+
in srgb,
|
|
3686
|
+
var(--sc-category-mark, var(--sc-category-line)) 30%,
|
|
3687
|
+
transparent
|
|
3688
|
+
);
|
|
3689
|
+
background: color-mix(in srgb, var(--sc-category-fill) 50%, var(--sc-color-bg-raised));
|
|
3690
|
+
color: color-mix(in srgb, var(--sc-category-line) 55%, var(--sc-color-bg-raised));
|
|
2935
3691
|
}
|
|
2936
3692
|
|
|
2937
3693
|
.sc-calendar-legend {
|
|
@@ -2992,6 +3748,16 @@ table {
|
|
|
2992
3748
|
font-size: var(--sc-text-sm);
|
|
2993
3749
|
}
|
|
2994
3750
|
|
|
3751
|
+
/* The mark hangs in the margin, so that what wraps onto a second line, a badge most often,
|
|
3752
|
+
starts under the name rather than under the mark. */
|
|
3753
|
+
.sc-project-head:has(> .sc-mark-md) {
|
|
3754
|
+
padding-inline-start: calc(2rem + var(--sc-space-3));
|
|
3755
|
+
}
|
|
3756
|
+
|
|
3757
|
+
.sc-project-head > .sc-mark-md {
|
|
3758
|
+
margin-inline-start: calc(-2rem - var(--sc-space-3));
|
|
3759
|
+
}
|
|
3760
|
+
|
|
2995
3761
|
.sc-mark-lg {
|
|
2996
3762
|
width: 3rem;
|
|
2997
3763
|
height: 3rem;
|
|
@@ -3020,10 +3786,11 @@ table {
|
|
|
3020
3786
|
}
|
|
3021
3787
|
|
|
3022
3788
|
.sc-input-file {
|
|
3023
|
-
padding-block: calc(var(--sc-space-2) - 2px);
|
|
3024
3789
|
font-size: var(--sc-text-sm);
|
|
3025
3790
|
}
|
|
3026
3791
|
|
|
3792
|
+
/* Under the month: what is late and who has what on the left, one under the other, and what
|
|
3793
|
+
has no day yet, the long list, down the right; one column where the window is narrow. */
|
|
3027
3794
|
.sc-calendar-below {
|
|
3028
3795
|
display: grid;
|
|
3029
3796
|
align-items: start;
|
|
@@ -3034,6 +3801,12 @@ table {
|
|
|
3034
3801
|
@media (min-width: 64rem) {
|
|
3035
3802
|
.sc-calendar-below {
|
|
3036
3803
|
grid-template-columns: 1fr 1fr;
|
|
3804
|
+
grid-template-rows: auto 1fr;
|
|
3805
|
+
}
|
|
3806
|
+
|
|
3807
|
+
.sc-calendar-below > :last-child {
|
|
3808
|
+
grid-column: 2;
|
|
3809
|
+
grid-row: 1 / span 2;
|
|
3037
3810
|
}
|
|
3038
3811
|
}
|
|
3039
3812
|
|
|
@@ -3085,6 +3858,26 @@ table {
|
|
|
3085
3858
|
color: var(--sc-color-text-muted);
|
|
3086
3859
|
}
|
|
3087
3860
|
|
|
3861
|
+
/* Who asked and who answers (ADR-0042): the two people side by side, an arrow from the one to
|
|
3862
|
+
the other, so that the asker and the decider are never read as one. */
|
|
3863
|
+
.sc-decision-people,
|
|
3864
|
+
.sc-decision-for {
|
|
3865
|
+
display: inline-flex;
|
|
3866
|
+
align-items: center;
|
|
3867
|
+
gap: var(--sc-space-1);
|
|
3868
|
+
white-space: nowrap;
|
|
3869
|
+
}
|
|
3870
|
+
|
|
3871
|
+
.sc-decision-arrow {
|
|
3872
|
+
color: var(--sc-color-text-faint);
|
|
3873
|
+
font-weight: var(--sc-weight-medium);
|
|
3874
|
+
}
|
|
3875
|
+
|
|
3876
|
+
.sc-decision-row-answer {
|
|
3877
|
+
color: var(--sc-color-text);
|
|
3878
|
+
font-weight: var(--sc-weight-medium);
|
|
3879
|
+
}
|
|
3880
|
+
|
|
3088
3881
|
/* The record of the decisions: a row each, what was asked on the left and what was answered on
|
|
3089
3882
|
the right, each with who and when under it; one column where the window is narrow. */
|
|
3090
3883
|
.sc-decision-record {
|
|
@@ -3138,12 +3931,26 @@ table {
|
|
|
3138
3931
|
margin-left: var(--sc-space-2);
|
|
3139
3932
|
}
|
|
3140
3933
|
|
|
3934
|
+
/* The answer a decision took, marked in green before its words. */
|
|
3935
|
+
.sc-decision-record-chosen::before {
|
|
3936
|
+
content: "";
|
|
3937
|
+
position: absolute;
|
|
3938
|
+
top: calc(0.8em - 0.25rem);
|
|
3939
|
+
left: 0;
|
|
3940
|
+
width: 0.5rem;
|
|
3941
|
+
height: 0.5rem;
|
|
3942
|
+
border-radius: var(--sc-radius-full);
|
|
3943
|
+
background: var(--sc-color-success);
|
|
3944
|
+
}
|
|
3945
|
+
|
|
3141
3946
|
.sc-decision-record-chosen {
|
|
3947
|
+
position: relative;
|
|
3948
|
+
padding-left: var(--sc-space-4);
|
|
3142
3949
|
display: flex;
|
|
3143
3950
|
flex-wrap: wrap;
|
|
3144
3951
|
align-items: center;
|
|
3145
3952
|
gap: var(--sc-space-2);
|
|
3146
|
-
color: var(--sc-color-
|
|
3953
|
+
color: var(--sc-color-text);
|
|
3147
3954
|
font-weight: var(--sc-weight-medium);
|
|
3148
3955
|
overflow-wrap: anywhere;
|
|
3149
3956
|
}
|
|
@@ -3182,31 +3989,44 @@ table {
|
|
|
3182
3989
|
font-size: var(--sc-text-sm);
|
|
3183
3990
|
}
|
|
3184
3991
|
|
|
3185
|
-
/* Who has what: a
|
|
3992
|
+
/* Who has what: a table on a sheet of its own, a quiet band for the headings, a hairline
|
|
3993
|
+
between people, the numbers in columns of their own on the right in the display size; the
|
|
3994
|
+
one due this week and the one late carry a dot of their colour before them. */
|
|
3186
3995
|
.sc-workload {
|
|
3187
3996
|
width: 100%;
|
|
3188
3997
|
max-width: var(--sc-width-prose);
|
|
3189
|
-
border
|
|
3998
|
+
border: var(--sc-border);
|
|
3999
|
+
border-radius: var(--sc-radius-lg);
|
|
4000
|
+
border-collapse: separate;
|
|
4001
|
+
border-spacing: 0;
|
|
4002
|
+
background: var(--sc-color-sheet);
|
|
4003
|
+
box-shadow: var(--sc-glass-lift);
|
|
3190
4004
|
font-size: var(--sc-text-sm);
|
|
3191
4005
|
}
|
|
3192
4006
|
|
|
3193
4007
|
.sc-workload th,
|
|
3194
4008
|
.sc-workload td {
|
|
3195
|
-
padding: var(--sc-space-
|
|
3196
|
-
border-bottom: var(--sc-border);
|
|
4009
|
+
padding: var(--sc-space-3) var(--sc-space-4);
|
|
3197
4010
|
text-align: left;
|
|
3198
4011
|
}
|
|
3199
4012
|
|
|
3200
4013
|
.sc-workload thead th {
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
4014
|
+
padding-block: var(--sc-space-2);
|
|
4015
|
+
border-bottom: var(--sc-border);
|
|
4016
|
+
background: var(--sc-color-bg-inset);
|
|
4017
|
+
white-space: nowrap;
|
|
4018
|
+
}
|
|
4019
|
+
|
|
4020
|
+
.sc-workload thead th:first-child {
|
|
4021
|
+
border-start-start-radius: var(--sc-radius-lg);
|
|
4022
|
+
}
|
|
4023
|
+
|
|
4024
|
+
.sc-workload thead th:last-child {
|
|
4025
|
+
border-start-end-radius: var(--sc-radius-lg);
|
|
3206
4026
|
}
|
|
3207
4027
|
|
|
3208
4028
|
.sc-workload tbody th {
|
|
3209
|
-
font-weight: var(--sc-weight-
|
|
4029
|
+
font-weight: var(--sc-weight-medium);
|
|
3210
4030
|
}
|
|
3211
4031
|
|
|
3212
4032
|
.sc-workload tbody th a {
|
|
@@ -3218,24 +4038,86 @@ table {
|
|
|
3218
4038
|
color: var(--sc-color-accent);
|
|
3219
4039
|
}
|
|
3220
4040
|
|
|
4041
|
+
/* The numbers: a narrow column each, lined up on the right. */
|
|
4042
|
+
.sc-workload th:not(:first-child),
|
|
3221
4043
|
.sc-workload td {
|
|
3222
|
-
|
|
4044
|
+
width: 6.5rem;
|
|
4045
|
+
text-align: right;
|
|
3223
4046
|
}
|
|
3224
4047
|
|
|
3225
|
-
.sc-workload
|
|
3226
|
-
|
|
4048
|
+
.sc-workload td {
|
|
4049
|
+
font-size: var(--sc-text-md);
|
|
4050
|
+
font-variant-numeric: tabular-nums;
|
|
4051
|
+
white-space: nowrap;
|
|
3227
4052
|
}
|
|
3228
4053
|
|
|
4054
|
+
.sc-workload-soon,
|
|
3229
4055
|
.sc-workload-late {
|
|
3230
|
-
color: var(--sc-color-danger);
|
|
3231
4056
|
font-weight: var(--sc-weight-bold);
|
|
3232
4057
|
}
|
|
3233
4058
|
|
|
3234
|
-
|
|
4059
|
+
.sc-workload-soon::before,
|
|
4060
|
+
.sc-workload-late::before {
|
|
4061
|
+
content: "";
|
|
4062
|
+
display: inline-block;
|
|
4063
|
+
width: 0.4rem;
|
|
4064
|
+
height: 0.4rem;
|
|
4065
|
+
margin-inline-end: var(--sc-space-2);
|
|
4066
|
+
border-radius: var(--sc-radius-full);
|
|
4067
|
+
background: currentColor;
|
|
4068
|
+
vertical-align: 0.1em;
|
|
4069
|
+
}
|
|
4070
|
+
|
|
4071
|
+
.sc-workload-soon {
|
|
4072
|
+
color: var(--sc-color-warning);
|
|
4073
|
+
}
|
|
4074
|
+
|
|
4075
|
+
.sc-workload-late {
|
|
4076
|
+
color: var(--sc-color-danger);
|
|
4077
|
+
}
|
|
4078
|
+
|
|
4079
|
+
/* A hairline between people, and the row under the pointer lit a little. */
|
|
4080
|
+
.sc-workload tbody tr + tr > th,
|
|
4081
|
+
.sc-workload tbody tr + tr > td {
|
|
4082
|
+
border-top: var(--sc-hairline);
|
|
4083
|
+
}
|
|
4084
|
+
|
|
4085
|
+
.sc-workload tbody tr:hover > th,
|
|
4086
|
+
.sc-workload tbody tr:hover > td {
|
|
4087
|
+
background: color-mix(in srgb, var(--sc-color-accent) 4%, transparent);
|
|
4088
|
+
}
|
|
4089
|
+
|
|
4090
|
+
@media (max-width: 40rem) {
|
|
4091
|
+
.sc-workload th:not(:first-child),
|
|
4092
|
+
.sc-workload td {
|
|
4093
|
+
width: auto;
|
|
4094
|
+
}
|
|
4095
|
+
|
|
4096
|
+
.sc-workload th,
|
|
4097
|
+
.sc-workload td {
|
|
4098
|
+
padding-inline: var(--sc-space-2);
|
|
4099
|
+
}
|
|
4100
|
+
|
|
4101
|
+
.sc-workload thead th {
|
|
4102
|
+
white-space: normal;
|
|
4103
|
+
word-break: keep-all;
|
|
4104
|
+
line-height: var(--sc-leading-tight);
|
|
4105
|
+
}
|
|
4106
|
+
|
|
4107
|
+
.sc-workload tbody th {
|
|
4108
|
+
word-break: keep-all;
|
|
4109
|
+
}
|
|
4110
|
+
|
|
4111
|
+
.sc-workload td {
|
|
4112
|
+
font-size: var(--sc-text-sm);
|
|
4113
|
+
}
|
|
4114
|
+
}
|
|
4115
|
+
|
|
4116
|
+
/* The roadmap: a goal a pane, with how far it is as a bar. */
|
|
3235
4117
|
.sc-goals {
|
|
3236
4118
|
display: grid;
|
|
4119
|
+
grid-template-columns: repeat(auto-fill, minmax(min(100%, 30rem), 1fr));
|
|
3237
4120
|
gap: var(--sc-space-3);
|
|
3238
|
-
max-width: var(--sc-width-prose);
|
|
3239
4121
|
margin: 0;
|
|
3240
4122
|
padding: 0;
|
|
3241
4123
|
list-style: none;
|
|
@@ -3252,7 +4134,7 @@ table {
|
|
|
3252
4134
|
}
|
|
3253
4135
|
|
|
3254
4136
|
.sc-goal-done {
|
|
3255
|
-
opacity: 0.
|
|
4137
|
+
opacity: 0.55;
|
|
3256
4138
|
}
|
|
3257
4139
|
|
|
3258
4140
|
.sc-goal-dropped {
|
|
@@ -3267,7 +4149,7 @@ table {
|
|
|
3267
4149
|
}
|
|
3268
4150
|
|
|
3269
4151
|
.sc-goal-title {
|
|
3270
|
-
flex: 1 1
|
|
4152
|
+
flex: 1 1 100%;
|
|
3271
4153
|
color: var(--sc-color-text);
|
|
3272
4154
|
font-size: var(--sc-text-lg);
|
|
3273
4155
|
font-weight: var(--sc-weight-medium);
|
|
@@ -3311,11 +4193,6 @@ table {
|
|
|
3311
4193
|
|
|
3312
4194
|
.sc-goal-tasks-state {
|
|
3313
4195
|
margin-bottom: var(--sc-space-2);
|
|
3314
|
-
color: var(--sc-color-text-faint);
|
|
3315
|
-
font-size: var(--sc-text-xs);
|
|
3316
|
-
font-weight: var(--sc-weight-medium);
|
|
3317
|
-
letter-spacing: 0.04em;
|
|
3318
|
-
text-transform: uppercase;
|
|
3319
4196
|
}
|
|
3320
4197
|
|
|
3321
4198
|
/* The categories: a row each, with its name and its colour open to an administrator. */
|
|
@@ -3344,6 +4221,10 @@ table {
|
|
|
3344
4221
|
background: var(--sc-color-sheet);
|
|
3345
4222
|
}
|
|
3346
4223
|
|
|
4224
|
+
.sc-category-row > .sc-project-key {
|
|
4225
|
+
margin-inline-start: auto;
|
|
4226
|
+
}
|
|
4227
|
+
|
|
3347
4228
|
.sc-category-form {
|
|
3348
4229
|
display: flex;
|
|
3349
4230
|
flex: 1;
|
|
@@ -3365,29 +4246,23 @@ table {
|
|
|
3365
4246
|
position: relative;
|
|
3366
4247
|
}
|
|
3367
4248
|
|
|
3368
|
-
/* The
|
|
3369
|
-
.
|
|
3370
|
-
.sc-calendar-task:focus-visible,
|
|
3371
|
-
.sc-calendar-bar:hover,
|
|
3372
|
-
.sc-calendar-bar:focus-visible {
|
|
3373
|
-
z-index: 20;
|
|
3374
|
-
}
|
|
3375
|
-
|
|
4249
|
+
/* The card rises above its neighbours and above a title running along a bar; the item under the
|
|
4250
|
+
pointer itself stays in its layer, so that nothing of it covers such a title. */
|
|
3376
4251
|
.sc-task-tip {
|
|
3377
4252
|
position: absolute;
|
|
3378
4253
|
left: 0;
|
|
3379
|
-
z-index:
|
|
4254
|
+
z-index: 30;
|
|
3380
4255
|
width: max-content;
|
|
3381
4256
|
max-width: 20rem;
|
|
3382
4257
|
padding: var(--sc-space-2) var(--sc-space-3);
|
|
3383
4258
|
border: var(--sc-border);
|
|
3384
4259
|
border-radius: var(--sc-radius-md);
|
|
3385
|
-
background: var(--sc-color-bg-
|
|
4260
|
+
background: var(--sc-color-bg-raised);
|
|
3386
4261
|
box-shadow: var(--sc-shadow-stage);
|
|
3387
4262
|
color: var(--sc-color-text);
|
|
3388
4263
|
font-size: var(--sc-text-xs);
|
|
3389
4264
|
font-weight: var(--sc-weight-normal);
|
|
3390
|
-
line-height:
|
|
4265
|
+
line-height: var(--sc-leading-snug);
|
|
3391
4266
|
text-align: left;
|
|
3392
4267
|
text-decoration: none;
|
|
3393
4268
|
white-space: normal;
|
|
@@ -3477,13 +4352,17 @@ table {
|
|
|
3477
4352
|
padding-inline: var(--sc-space-4);
|
|
3478
4353
|
}
|
|
3479
4354
|
|
|
3480
|
-
.sc-brand
|
|
3481
|
-
|
|
3482
|
-
height: var(--sc-brand-size-compact);
|
|
4355
|
+
.sc-brand {
|
|
4356
|
+
gap: calc(var(--sc-brand-size-compact) * var(--sc-brand-gap-ratio));
|
|
3483
4357
|
}
|
|
3484
4358
|
|
|
3485
4359
|
.sc-brand-symbol {
|
|
3486
4360
|
width: var(--sc-brand-size-compact);
|
|
4361
|
+
height: var(--sc-brand-size-compact);
|
|
4362
|
+
}
|
|
4363
|
+
|
|
4364
|
+
.sc-brand-wordmark {
|
|
4365
|
+
height: calc(var(--sc-brand-size-compact) * var(--sc-brand-wordmark-ratio));
|
|
3487
4366
|
}
|
|
3488
4367
|
|
|
3489
4368
|
.sc-crumb-link {
|
|
@@ -3495,15 +4374,18 @@ table {
|
|
|
3495
4374
|
display: none;
|
|
3496
4375
|
}
|
|
3497
4376
|
|
|
3498
|
-
/* Tabs that do not fit
|
|
4377
|
+
/* Tabs that do not fit stay on one line and scroll sideways, the edge fading where more of them
|
|
4378
|
+
are; the current one is brought into view by the shell. */
|
|
3499
4379
|
.sc-tabs {
|
|
3500
4380
|
padding-inline: var(--sc-space-4);
|
|
3501
|
-
|
|
4381
|
+
mask-image: linear-gradient(to right, #000 calc(100% - var(--sc-space-6)), transparent);
|
|
3502
4382
|
}
|
|
3503
4383
|
|
|
3504
4384
|
.sc-tabs-inner {
|
|
3505
|
-
|
|
3506
|
-
|
|
4385
|
+
gap: var(--sc-space-4);
|
|
4386
|
+
/* As wide as the tabs and some room past the last, so that it scrolls clear of the fading edge. */
|
|
4387
|
+
width: max-content;
|
|
4388
|
+
padding-inline-end: var(--sc-space-6);
|
|
3507
4389
|
}
|
|
3508
4390
|
|
|
3509
4391
|
.sc-menu-summary .sc-person-login {
|
|
@@ -3591,9 +4473,9 @@ table {
|
|
|
3591
4473
|
position: static;
|
|
3592
4474
|
}
|
|
3593
4475
|
|
|
3594
|
-
.
|
|
3595
|
-
|
|
3596
|
-
|
|
4476
|
+
/* The rows of a run use the whole width. */
|
|
4477
|
+
.sc-feed-run-list {
|
|
4478
|
+
padding-inline-start: 0;
|
|
3597
4479
|
}
|
|
3598
4480
|
|
|
3599
4481
|
.sc-sign-in {
|
|
@@ -3622,10 +4504,10 @@ table {
|
|
|
3622
4504
|
display: inline-flex;
|
|
3623
4505
|
align-items: center;
|
|
3624
4506
|
padding: 0 var(--sc-space-3);
|
|
3625
|
-
border:
|
|
4507
|
+
border: var(--sc-border-strong);
|
|
3626
4508
|
border-right: 0;
|
|
3627
4509
|
border-radius: var(--sc-radius-md) 0 0 var(--sc-radius-md);
|
|
3628
|
-
background: color-mix(in srgb, var(--sc-color-
|
|
4510
|
+
background: color-mix(in srgb, var(--sc-color-bg-raised) 60%, var(--sc-color-border));
|
|
3629
4511
|
color: var(--sc-color-text-muted);
|
|
3630
4512
|
font-size: var(--sc-text-sm);
|
|
3631
4513
|
white-space: nowrap;
|
|
@@ -3655,7 +4537,12 @@ table {
|
|
|
3655
4537
|
}
|
|
3656
4538
|
|
|
3657
4539
|
/* The facts of a thing inside a panel: a list in the panel, not a pane of their own. */
|
|
4540
|
+
/* The facts on a settings page, inside a pane of their own: a table, a row per fact with its
|
|
4541
|
+
name in a column on the left and its value beside it, a hairline between rows; the name over
|
|
4542
|
+
the value where the window is narrow. */
|
|
3658
4543
|
.sc-facts-plain {
|
|
4544
|
+
grid-template-columns: minmax(0, 1fr);
|
|
4545
|
+
gap: 0;
|
|
3659
4546
|
padding: 0;
|
|
3660
4547
|
border: 0;
|
|
3661
4548
|
border-radius: 0;
|
|
@@ -3668,6 +4555,44 @@ table {
|
|
|
3668
4555
|
content: none;
|
|
3669
4556
|
}
|
|
3670
4557
|
|
|
4558
|
+
.sc-facts-plain > * {
|
|
4559
|
+
display: grid;
|
|
4560
|
+
grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr);
|
|
4561
|
+
gap: var(--sc-space-1) var(--sc-space-5);
|
|
4562
|
+
align-items: baseline;
|
|
4563
|
+
padding: var(--sc-space-3) 0;
|
|
4564
|
+
border-top: var(--sc-hairline);
|
|
4565
|
+
}
|
|
4566
|
+
|
|
4567
|
+
.sc-facts-plain > :first-child {
|
|
4568
|
+
padding-top: 0;
|
|
4569
|
+
border-top: 0;
|
|
4570
|
+
}
|
|
4571
|
+
|
|
4572
|
+
.sc-facts-plain > :last-child {
|
|
4573
|
+
padding-bottom: 0;
|
|
4574
|
+
}
|
|
4575
|
+
|
|
4576
|
+
.sc-facts-plain dt {
|
|
4577
|
+
color: var(--sc-color-text-muted);
|
|
4578
|
+
font-size: var(--sc-text-sm);
|
|
4579
|
+
font-weight: var(--sc-weight-medium);
|
|
4580
|
+
letter-spacing: 0;
|
|
4581
|
+
text-transform: none;
|
|
4582
|
+
}
|
|
4583
|
+
|
|
4584
|
+
.sc-facts-plain dd {
|
|
4585
|
+
margin-top: 0;
|
|
4586
|
+
font-size: var(--sc-text-md);
|
|
4587
|
+
overflow-wrap: anywhere;
|
|
4588
|
+
}
|
|
4589
|
+
|
|
4590
|
+
@media (max-width: 40rem) {
|
|
4591
|
+
.sc-facts-plain > * {
|
|
4592
|
+
grid-template-columns: minmax(0, 1fr);
|
|
4593
|
+
}
|
|
4594
|
+
}
|
|
4595
|
+
|
|
3671
4596
|
/* A fact that needs the whole row: a description. */
|
|
3672
4597
|
.sc-facts-wide {
|
|
3673
4598
|
grid-column: 1 / -1;
|
|
@@ -3723,7 +4648,7 @@ table {
|
|
|
3723
4648
|
|
|
3724
4649
|
.sc-timeline-title {
|
|
3725
4650
|
margin: 0;
|
|
3726
|
-
font-size: var(--sc-text-
|
|
4651
|
+
font-size: var(--sc-text-md);
|
|
3727
4652
|
font-weight: var(--sc-weight-medium);
|
|
3728
4653
|
}
|
|
3729
4654
|
|
|
@@ -3740,14 +4665,19 @@ table {
|
|
|
3740
4665
|
gap: var(--sc-space-2);
|
|
3741
4666
|
}
|
|
3742
4667
|
|
|
4668
|
+
/* A label keeps to one line, so that every row is as tall as its bar and the labels line up with
|
|
4669
|
+
the bars: a long title is cut short, said in full on hover, and the state stays beside it. */
|
|
3743
4670
|
.sc-timeline-label {
|
|
3744
4671
|
display: flex;
|
|
3745
|
-
flex-wrap: wrap;
|
|
3746
4672
|
align-items: center;
|
|
3747
4673
|
gap: var(--sc-space-2);
|
|
3748
4674
|
min-width: 0;
|
|
3749
4675
|
}
|
|
3750
4676
|
|
|
4677
|
+
.sc-timeline-label .sc-badge {
|
|
4678
|
+
flex: none;
|
|
4679
|
+
}
|
|
4680
|
+
|
|
3751
4681
|
.sc-timeline-goal {
|
|
3752
4682
|
color: var(--sc-color-text);
|
|
3753
4683
|
font-size: var(--sc-text-sm);
|
|
@@ -3755,6 +4685,13 @@ table {
|
|
|
3755
4685
|
overflow-wrap: anywhere;
|
|
3756
4686
|
}
|
|
3757
4687
|
|
|
4688
|
+
.sc-timeline-label .sc-timeline-goal {
|
|
4689
|
+
min-width: 0;
|
|
4690
|
+
overflow: hidden;
|
|
4691
|
+
text-overflow: ellipsis;
|
|
4692
|
+
white-space: nowrap;
|
|
4693
|
+
}
|
|
4694
|
+
|
|
3758
4695
|
.sc-timeline-goal:hover {
|
|
3759
4696
|
color: var(--sc-color-accent);
|
|
3760
4697
|
}
|
|
@@ -3794,7 +4731,7 @@ table {
|
|
|
3794
4731
|
width: 2px;
|
|
3795
4732
|
margin-left: -1px;
|
|
3796
4733
|
background: var(--sc-color-accent);
|
|
3797
|
-
opacity: 0.
|
|
4734
|
+
opacity: 0.55;
|
|
3798
4735
|
}
|
|
3799
4736
|
|
|
3800
4737
|
.sc-timeline-today-mark {
|
|
@@ -3810,7 +4747,8 @@ table {
|
|
|
3810
4747
|
display: flex;
|
|
3811
4748
|
align-items: center;
|
|
3812
4749
|
overflow: hidden;
|
|
3813
|
-
border-block: 1px solid
|
|
4750
|
+
border-block: 1px solid
|
|
4751
|
+
color-mix(in srgb, var(--sc-category-mark, var(--sc-category-line)) 60%, transparent);
|
|
3814
4752
|
background: var(--sc-category-fill);
|
|
3815
4753
|
color: var(--sc-category-line);
|
|
3816
4754
|
font-size: var(--sc-text-xs);
|
|
@@ -3819,17 +4757,19 @@ table {
|
|
|
3819
4757
|
}
|
|
3820
4758
|
|
|
3821
4759
|
.sc-timeline-bar:hover {
|
|
3822
|
-
background: color-mix(in srgb, var(--sc-category-fill),
|
|
4760
|
+
background: color-mix(in srgb, var(--sc-category-fill), var(--sc-category-line) 14%);
|
|
3823
4761
|
}
|
|
3824
4762
|
|
|
3825
4763
|
.sc-timeline-bar.sc-timeline-bar-begins {
|
|
3826
|
-
border-left: 1px solid
|
|
4764
|
+
border-left: 1px solid
|
|
4765
|
+
color-mix(in srgb, var(--sc-category-mark, var(--sc-category-line)) 60%, transparent);
|
|
3827
4766
|
border-start-start-radius: var(--sc-radius-full);
|
|
3828
4767
|
border-end-start-radius: var(--sc-radius-full);
|
|
3829
4768
|
}
|
|
3830
4769
|
|
|
3831
4770
|
.sc-timeline-bar.sc-timeline-bar-ends {
|
|
3832
|
-
border-right: 1px solid
|
|
4771
|
+
border-right: 1px solid
|
|
4772
|
+
color-mix(in srgb, var(--sc-category-mark, var(--sc-category-line)) 60%, transparent);
|
|
3833
4773
|
border-start-end-radius: var(--sc-radius-full);
|
|
3834
4774
|
border-end-end-radius: var(--sc-radius-full);
|
|
3835
4775
|
}
|
|
@@ -3839,7 +4779,7 @@ table {
|
|
|
3839
4779
|
top: 0;
|
|
3840
4780
|
bottom: 0;
|
|
3841
4781
|
left: 0;
|
|
3842
|
-
background: color-mix(in srgb, var(--sc-category-line)
|
|
4782
|
+
background: color-mix(in srgb, var(--sc-category-mark, var(--sc-category-line)) 40%, transparent);
|
|
3843
4783
|
}
|
|
3844
4784
|
|
|
3845
4785
|
.sc-timeline-words {
|
|
@@ -3854,18 +4794,19 @@ table {
|
|
|
3854
4794
|
height: 0.75rem;
|
|
3855
4795
|
margin-left: -0.375rem;
|
|
3856
4796
|
transform: translateY(-50%) rotate(45deg);
|
|
3857
|
-
border: 1px solid
|
|
4797
|
+
border: 1px solid
|
|
4798
|
+
color-mix(in srgb, var(--sc-category-mark, var(--sc-category-line)) 75%, transparent);
|
|
3858
4799
|
background: var(--sc-category-fill);
|
|
3859
4800
|
}
|
|
3860
4801
|
|
|
3861
4802
|
.sc-goal-done .sc-timeline-bar,
|
|
3862
4803
|
.sc-goal-done .sc-timeline-point {
|
|
3863
|
-
opacity: 0.
|
|
4804
|
+
opacity: 0.55;
|
|
3864
4805
|
}
|
|
3865
4806
|
|
|
3866
4807
|
.sc-goal-dropped .sc-timeline-bar,
|
|
3867
4808
|
.sc-goal-dropped .sc-timeline-point {
|
|
3868
|
-
opacity: 0.
|
|
4809
|
+
opacity: 0.55;
|
|
3869
4810
|
}
|
|
3870
4811
|
|
|
3871
4812
|
.sc-timeline-undated {
|
|
@@ -3874,6 +4815,7 @@ table {
|
|
|
3874
4815
|
}
|
|
3875
4816
|
|
|
3876
4817
|
.sc-goal-days {
|
|
4818
|
+
margin-inline-start: auto;
|
|
3877
4819
|
color: var(--sc-color-text-muted);
|
|
3878
4820
|
font-size: var(--sc-text-xs);
|
|
3879
4821
|
}
|
|
@@ -3887,7 +4829,7 @@ table {
|
|
|
3887
4829
|
color: var(--sc-category-line, var(--sc-color-text));
|
|
3888
4830
|
font-size: var(--sc-text-xs);
|
|
3889
4831
|
font-weight: var(--sc-weight-medium);
|
|
3890
|
-
line-height:
|
|
4832
|
+
line-height: var(--sc-leading-tight);
|
|
3891
4833
|
text-decoration: none;
|
|
3892
4834
|
}
|
|
3893
4835
|
|
|
@@ -3901,13 +4843,18 @@ table {
|
|
|
3901
4843
|
width: 0.5rem;
|
|
3902
4844
|
height: 0.5rem;
|
|
3903
4845
|
transform: rotate(45deg);
|
|
3904
|
-
background: var(--sc-category-line, var(--sc-color-text-faint));
|
|
4846
|
+
background: var(--sc-category-mark, var(--sc-category-line, var(--sc-color-text-faint)));
|
|
3905
4847
|
}
|
|
3906
4848
|
|
|
3907
4849
|
@media (max-width: 40rem) {
|
|
3908
4850
|
.sc-timeline-row {
|
|
3909
4851
|
grid-template-columns: minmax(6rem, 8rem) minmax(16rem, 1fr);
|
|
3910
4852
|
}
|
|
4853
|
+
|
|
4854
|
+
/* A narrow label is the title's: the goal's state is on its card below the months. */
|
|
4855
|
+
.sc-timeline-label .sc-badge {
|
|
4856
|
+
display: none;
|
|
4857
|
+
}
|
|
3911
4858
|
}
|
|
3912
4859
|
|
|
3913
4860
|
/* A card is dragged to another column from anywhere on it but its menu, its title included: with
|
|
@@ -3931,7 +4878,7 @@ table {
|
|
|
3931
4878
|
}
|
|
3932
4879
|
|
|
3933
4880
|
.sc-card-dragging {
|
|
3934
|
-
opacity: 0.
|
|
4881
|
+
opacity: 0.55;
|
|
3935
4882
|
}
|
|
3936
4883
|
|
|
3937
4884
|
.sc-board-dragging,
|
|
@@ -3986,7 +4933,7 @@ table {
|
|
|
3986
4933
|
}
|
|
3987
4934
|
|
|
3988
4935
|
.sc-card-menu-button:focus-visible {
|
|
3989
|
-
outline:
|
|
4936
|
+
outline: var(--sc-focus-ring);
|
|
3990
4937
|
outline-offset: 1px;
|
|
3991
4938
|
}
|
|
3992
4939
|
|
|
@@ -4020,7 +4967,7 @@ table {
|
|
|
4020
4967
|
}
|
|
4021
4968
|
|
|
4022
4969
|
.sc-column-over {
|
|
4023
|
-
outline:
|
|
4970
|
+
outline: var(--sc-focus-ring);
|
|
4024
4971
|
outline-offset: -2px;
|
|
4025
4972
|
}
|
|
4026
4973
|
|
|
@@ -4062,26 +5009,37 @@ table {
|
|
|
4062
5009
|
font-size: var(--sc-text-sm);
|
|
4063
5010
|
}
|
|
4064
5011
|
|
|
5012
|
+
.sc-goal-progress .sc-progress-words {
|
|
5013
|
+
display: none;
|
|
5014
|
+
}
|
|
5015
|
+
|
|
4065
5016
|
.sc-facts-row {
|
|
4066
5017
|
display: flex;
|
|
4067
5018
|
flex-wrap: wrap;
|
|
4068
|
-
align-items:
|
|
4069
|
-
gap: var(--sc-space-
|
|
5019
|
+
align-items: stretch;
|
|
5020
|
+
gap: var(--sc-space-3) 0;
|
|
4070
5021
|
margin: 0;
|
|
4071
5022
|
font-size: var(--sc-text-sm);
|
|
4072
5023
|
}
|
|
4073
5024
|
|
|
4074
5025
|
.sc-facts-row > div {
|
|
4075
|
-
display:
|
|
4076
|
-
align-
|
|
4077
|
-
gap: var(--sc-space-
|
|
5026
|
+
display: grid;
|
|
5027
|
+
align-content: start;
|
|
5028
|
+
gap: var(--sc-space-1);
|
|
5029
|
+
padding-inline: var(--sc-space-4);
|
|
5030
|
+
border-inline-start: var(--sc-hairline);
|
|
4078
5031
|
}
|
|
4079
5032
|
|
|
4080
|
-
.sc-facts-row
|
|
4081
|
-
|
|
5033
|
+
.sc-facts-row > div:first-child {
|
|
5034
|
+
padding-inline-start: 0;
|
|
5035
|
+
border-inline-start: 0;
|
|
4082
5036
|
}
|
|
4083
5037
|
|
|
4084
5038
|
.sc-facts-row dd {
|
|
5039
|
+
display: flex;
|
|
5040
|
+
flex-wrap: wrap;
|
|
5041
|
+
align-items: center;
|
|
5042
|
+
gap: var(--sc-space-2);
|
|
4085
5043
|
margin: 0;
|
|
4086
5044
|
}
|
|
4087
5045
|
|
|
@@ -4272,7 +5230,7 @@ table {
|
|
|
4272
5230
|
|
|
4273
5231
|
.sc-pack-code {
|
|
4274
5232
|
font-size: var(--sc-text-xl);
|
|
4275
|
-
letter-spacing:
|
|
5233
|
+
letter-spacing: var(--sc-tracking-code);
|
|
4276
5234
|
}
|
|
4277
5235
|
|
|
4278
5236
|
.sc-pack-connect-waiting {
|
|
@@ -4286,3 +5244,406 @@ table {
|
|
|
4286
5244
|
.sc-pack-actions {
|
|
4287
5245
|
margin-top: var(--sc-space-5);
|
|
4288
5246
|
}
|
|
5247
|
+
|
|
5248
|
+
/* Beside a task the facts stand in one column, a hairline between each. */
|
|
5249
|
+
.sc-task-aside .sc-facts {
|
|
5250
|
+
grid-template-columns: minmax(0, 1fr);
|
|
5251
|
+
gap: 0;
|
|
5252
|
+
padding-block: var(--sc-space-2);
|
|
5253
|
+
}
|
|
5254
|
+
|
|
5255
|
+
.sc-task-aside .sc-facts > * {
|
|
5256
|
+
padding: var(--sc-space-2) 0;
|
|
5257
|
+
}
|
|
5258
|
+
|
|
5259
|
+
.sc-task-aside .sc-facts > * + * {
|
|
5260
|
+
border-top: var(--sc-hairline);
|
|
5261
|
+
}
|
|
5262
|
+
|
|
5263
|
+
/* A phone's pages, one by one. */
|
|
5264
|
+
@media (max-width: 40rem) {
|
|
5265
|
+
/* The board: a column nearly as wide as the window, so that a card's title has room and one
|
|
5266
|
+
column is read at a time, the next peeking in from the side. */
|
|
5267
|
+
.sc-column {
|
|
5268
|
+
flex-basis: min(18rem, 82vw);
|
|
5269
|
+
}
|
|
5270
|
+
|
|
5271
|
+
/* The filters scroll as a row; a select with long choices keeps to a width of its own. */
|
|
5272
|
+
.sc-filters .sc-input {
|
|
5273
|
+
max-width: 11rem;
|
|
5274
|
+
}
|
|
5275
|
+
|
|
5276
|
+
/* A task's facts: one to a row, as on the wide layout's side, instead of two abreast with
|
|
5277
|
+
the select and the dates pressed against each other. */
|
|
5278
|
+
.sc-task .sc-task-aside .sc-facts {
|
|
5279
|
+
grid-template-columns: minmax(0, 1fr);
|
|
5280
|
+
}
|
|
5281
|
+
|
|
5282
|
+
.sc-facts .sc-input {
|
|
5283
|
+
max-width: 100%;
|
|
5284
|
+
}
|
|
5285
|
+
|
|
5286
|
+
/* A goal's card: the badges on one line, the span of days on a line of its own. */
|
|
5287
|
+
.sc-goal-days {
|
|
5288
|
+
flex: 1 1 100%;
|
|
5289
|
+
margin-inline-start: 0;
|
|
5290
|
+
}
|
|
5291
|
+
|
|
5292
|
+
/* The goal page's progress: the words under the bar. */
|
|
5293
|
+
.sc-goal-progress {
|
|
5294
|
+
grid-template-columns: minmax(0, 1fr);
|
|
5295
|
+
gap: var(--sc-space-1);
|
|
5296
|
+
}
|
|
5297
|
+
|
|
5298
|
+
/* The roadmap's months: too narrow for the year and the month on one line, so the two
|
|
5299
|
+
stand one over the other, small. */
|
|
5300
|
+
.sc-timeline-month {
|
|
5301
|
+
padding-inline: 2px;
|
|
5302
|
+
font-size: 0.6rem;
|
|
5303
|
+
line-height: var(--sc-leading-tight);
|
|
5304
|
+
white-space: normal;
|
|
5305
|
+
word-break: keep-all;
|
|
5306
|
+
overflow: visible;
|
|
5307
|
+
text-overflow: clip;
|
|
5308
|
+
}
|
|
5309
|
+
|
|
5310
|
+
/* A bar on the month reaches over the gap between the cells, which is narrower here. */
|
|
5311
|
+
.sc-calendar-bar {
|
|
5312
|
+
margin-inline: calc(-1 * var(--sc-space-1) - 2px - 1px);
|
|
5313
|
+
}
|
|
5314
|
+
|
|
5315
|
+
.sc-calendar-bar-begins {
|
|
5316
|
+
margin-left: 0;
|
|
5317
|
+
}
|
|
5318
|
+
|
|
5319
|
+
.sc-calendar-bar-ends {
|
|
5320
|
+
margin-right: 0;
|
|
5321
|
+
}
|
|
5322
|
+
|
|
5323
|
+
/* "N more" on a day keeps to one line, small enough for the cell. */
|
|
5324
|
+
.sc-calendar-more {
|
|
5325
|
+
padding-inline: 0;
|
|
5326
|
+
font-size: 0.65rem;
|
|
5327
|
+
overflow: hidden;
|
|
5328
|
+
white-space: nowrap;
|
|
5329
|
+
text-overflow: ellipsis;
|
|
5330
|
+
}
|
|
5331
|
+
|
|
5332
|
+
/* A bar reaching past the week stops at the edge of the month. */
|
|
5333
|
+
.sc-calendar-grid {
|
|
5334
|
+
clip-path: inset(0);
|
|
5335
|
+
}
|
|
5336
|
+
}
|
|
5337
|
+
|
|
5338
|
+
/* A phone's pages as one design. */
|
|
5339
|
+
@media (max-width: 40rem) {
|
|
5340
|
+
/* Every page's head: the name, a word about it under the name, and the ways the page offers
|
|
5341
|
+
as a row of equal buttons under those, so that no head differs from another. */
|
|
5342
|
+
.sc-page-head {
|
|
5343
|
+
display: grid;
|
|
5344
|
+
justify-content: stretch;
|
|
5345
|
+
gap: var(--sc-space-3);
|
|
5346
|
+
margin-bottom: var(--sc-space-5);
|
|
5347
|
+
}
|
|
5348
|
+
|
|
5349
|
+
.sc-page-heading {
|
|
5350
|
+
display: grid;
|
|
5351
|
+
row-gap: var(--sc-space-1);
|
|
5352
|
+
}
|
|
5353
|
+
|
|
5354
|
+
.sc-page-lead {
|
|
5355
|
+
flex: none;
|
|
5356
|
+
}
|
|
5357
|
+
|
|
5358
|
+
.sc-page-actions {
|
|
5359
|
+
flex-wrap: nowrap;
|
|
5360
|
+
width: 100%;
|
|
5361
|
+
}
|
|
5362
|
+
|
|
5363
|
+
.sc-page-actions > * {
|
|
5364
|
+
flex: 1 1 0;
|
|
5365
|
+
justify-content: center;
|
|
5366
|
+
min-width: 0;
|
|
5367
|
+
}
|
|
5368
|
+
|
|
5369
|
+
/* A head with one way alone gives it the whole width too. */
|
|
5370
|
+
.sc-page-head > .sc-button {
|
|
5371
|
+
width: 100%;
|
|
5372
|
+
justify-content: center;
|
|
5373
|
+
}
|
|
5374
|
+
|
|
5375
|
+
/* The tabs snap tab by tab, the first keeping its room from the edge. */
|
|
5376
|
+
.sc-tabs {
|
|
5377
|
+
scroll-snap-type: x proximity;
|
|
5378
|
+
scroll-padding-inline: var(--sc-space-4);
|
|
5379
|
+
}
|
|
5380
|
+
|
|
5381
|
+
.sc-tab {
|
|
5382
|
+
scroll-snap-align: start;
|
|
5383
|
+
}
|
|
5384
|
+
|
|
5385
|
+
/* The panes: one padding and one radius for all of them. */
|
|
5386
|
+
.sc-project,
|
|
5387
|
+
.sc-goal,
|
|
5388
|
+
.sc-skill,
|
|
5389
|
+
.sc-run,
|
|
5390
|
+
.sc-decision,
|
|
5391
|
+
.sc-comment,
|
|
5392
|
+
.sc-facts {
|
|
5393
|
+
padding: var(--sc-space-4);
|
|
5394
|
+
border-radius: var(--sc-radius-lg);
|
|
5395
|
+
}
|
|
5396
|
+
|
|
5397
|
+
/* The board scrolls from edge to edge of the window, its columns snapping into place. */
|
|
5398
|
+
.sc-board {
|
|
5399
|
+
min-height: 0;
|
|
5400
|
+
margin-inline: calc(-1 * var(--sc-space-4));
|
|
5401
|
+
padding-inline: var(--sc-space-4);
|
|
5402
|
+
scroll-padding-inline: var(--sc-space-4);
|
|
5403
|
+
}
|
|
5404
|
+
|
|
5405
|
+
.sc-filters {
|
|
5406
|
+
margin-bottom: var(--sc-space-4);
|
|
5407
|
+
}
|
|
5408
|
+
|
|
5409
|
+
/* A task's head: the parent on one line, the title, the badges, then the ways as a row of
|
|
5410
|
+
equal buttons. */
|
|
5411
|
+
.sc-task-header {
|
|
5412
|
+
display: grid;
|
|
5413
|
+
justify-content: stretch;
|
|
5414
|
+
gap: var(--sc-space-3);
|
|
5415
|
+
}
|
|
5416
|
+
|
|
5417
|
+
.sc-task-parent {
|
|
5418
|
+
overflow: hidden;
|
|
5419
|
+
white-space: nowrap;
|
|
5420
|
+
text-overflow: ellipsis;
|
|
5421
|
+
}
|
|
5422
|
+
|
|
5423
|
+
.sc-task-actions {
|
|
5424
|
+
flex-wrap: nowrap;
|
|
5425
|
+
align-items: stretch;
|
|
5426
|
+
}
|
|
5427
|
+
|
|
5428
|
+
.sc-task-actions > * {
|
|
5429
|
+
flex: 1 1 0;
|
|
5430
|
+
justify-content: center;
|
|
5431
|
+
min-width: 0;
|
|
5432
|
+
}
|
|
5433
|
+
|
|
5434
|
+
/* The calendar's legend, tighter; what is under the month, further apart. */
|
|
5435
|
+
.sc-calendar-legend {
|
|
5436
|
+
gap: var(--sc-space-1) var(--sc-space-3);
|
|
5437
|
+
}
|
|
5438
|
+
|
|
5439
|
+
.sc-calendar-below {
|
|
5440
|
+
gap: var(--sc-space-6);
|
|
5441
|
+
}
|
|
5442
|
+
|
|
5443
|
+
/* The roadmap's label column, narrower, so that the months have the room. */
|
|
5444
|
+
.sc-timeline-row {
|
|
5445
|
+
grid-template-columns: minmax(5.5rem, 7rem) minmax(14rem, 1fr);
|
|
5446
|
+
}
|
|
5447
|
+
}
|
|
5448
|
+
|
|
5449
|
+
/* A phone's month: a dot per task per day. */
|
|
5450
|
+
@media (max-width: 40rem) {
|
|
5451
|
+
.sc-calendar-cell {
|
|
5452
|
+
height: auto;
|
|
5453
|
+
min-height: 3.25rem;
|
|
5454
|
+
padding: 2px var(--sc-space-1) var(--sc-space-1);
|
|
5455
|
+
/* The rows of dots as tall as the dots, not as tall as a line of text. */
|
|
5456
|
+
line-height: 0;
|
|
5457
|
+
}
|
|
5458
|
+
|
|
5459
|
+
.sc-calendar-day,
|
|
5460
|
+
.sc-calendar-more {
|
|
5461
|
+
line-height: var(--sc-leading-snug);
|
|
5462
|
+
}
|
|
5463
|
+
|
|
5464
|
+
.sc-calendar-lane {
|
|
5465
|
+
display: none;
|
|
5466
|
+
}
|
|
5467
|
+
|
|
5468
|
+
/* A task planned across days: a dot on each of its days, in its category's colour, the
|
|
5469
|
+
late one in the danger colour; nothing of the bar remains. */
|
|
5470
|
+
.sc-calendar-bar,
|
|
5471
|
+
.sc-calendar-bar-begins,
|
|
5472
|
+
.sc-calendar-bar-ends {
|
|
5473
|
+
display: inline-block;
|
|
5474
|
+
width: 0.5rem;
|
|
5475
|
+
height: 0.5rem;
|
|
5476
|
+
margin: 2px 3px 0 0;
|
|
5477
|
+
padding: 0;
|
|
5478
|
+
border: 0;
|
|
5479
|
+
border-radius: var(--sc-radius-full);
|
|
5480
|
+
background: var(--sc-category-mark, var(--sc-category-line));
|
|
5481
|
+
vertical-align: top;
|
|
5482
|
+
}
|
|
5483
|
+
|
|
5484
|
+
.sc-calendar-bar.sc-calendar-late {
|
|
5485
|
+
background: var(--sc-color-danger);
|
|
5486
|
+
}
|
|
5487
|
+
|
|
5488
|
+
/* A task on its day: the same dot. */
|
|
5489
|
+
.sc-calendar-task {
|
|
5490
|
+
margin: 2px 3px 0 0;
|
|
5491
|
+
vertical-align: top;
|
|
5492
|
+
}
|
|
5493
|
+
|
|
5494
|
+
.sc-calendar-dot {
|
|
5495
|
+
width: 0.5rem;
|
|
5496
|
+
height: 0.5rem;
|
|
5497
|
+
}
|
|
5498
|
+
|
|
5499
|
+
.sc-calendar-more {
|
|
5500
|
+
margin-top: 2px;
|
|
5501
|
+
text-align: left;
|
|
5502
|
+
}
|
|
5503
|
+
}
|
|
5504
|
+
|
|
5505
|
+
/* A day's number is a button: pressed, the day's tasks are listed under the month. */
|
|
5506
|
+
.sc-calendar-day[type="button"] {
|
|
5507
|
+
width: auto;
|
|
5508
|
+
margin-inline-start: calc(-1 * var(--sc-space-1));
|
|
5509
|
+
padding: 0 var(--sc-space-1);
|
|
5510
|
+
border: 0;
|
|
5511
|
+
border-radius: var(--sc-radius-sm);
|
|
5512
|
+
background: transparent;
|
|
5513
|
+
color: inherit;
|
|
5514
|
+
font: inherit;
|
|
5515
|
+
font-size: var(--sc-text-xs);
|
|
5516
|
+
font-weight: var(--sc-weight-medium);
|
|
5517
|
+
line-height: var(--sc-leading-snug);
|
|
5518
|
+
text-align: left;
|
|
5519
|
+
cursor: pointer;
|
|
5520
|
+
}
|
|
5521
|
+
|
|
5522
|
+
.sc-calendar-day[type="button"]:hover {
|
|
5523
|
+
background: var(--sc-color-sheet-hover);
|
|
5524
|
+
}
|
|
5525
|
+
|
|
5526
|
+
.sc-calendar-day[aria-pressed="true"] {
|
|
5527
|
+
background: var(--sc-color-accent);
|
|
5528
|
+
color: #ffffff;
|
|
5529
|
+
}
|
|
5530
|
+
|
|
5531
|
+
.sc-calendar-cell-picked {
|
|
5532
|
+
border-color: var(--sc-color-accent);
|
|
5533
|
+
background: color-mix(in srgb, var(--sc-color-accent) 6%, var(--sc-color-sheet));
|
|
5534
|
+
}
|
|
5535
|
+
|
|
5536
|
+
/* The tasks of the picked day, under the month: a pane with the day over the rows. */
|
|
5537
|
+
.sc-calendar-day-list {
|
|
5538
|
+
display: grid;
|
|
5539
|
+
gap: var(--sc-space-3);
|
|
5540
|
+
margin-top: var(--sc-space-4);
|
|
5541
|
+
padding: var(--sc-space-4);
|
|
5542
|
+
border: var(--sc-border);
|
|
5543
|
+
border-radius: var(--sc-radius-lg);
|
|
5544
|
+
background: var(--sc-color-sheet);
|
|
5545
|
+
}
|
|
5546
|
+
|
|
5547
|
+
.sc-calendar-day-list-head {
|
|
5548
|
+
display: flex;
|
|
5549
|
+
align-items: center;
|
|
5550
|
+
justify-content: space-between;
|
|
5551
|
+
gap: var(--sc-space-2);
|
|
5552
|
+
}
|
|
5553
|
+
|
|
5554
|
+
.sc-calendar-day-list-title {
|
|
5555
|
+
display: flex;
|
|
5556
|
+
align-items: center;
|
|
5557
|
+
gap: var(--sc-space-2);
|
|
5558
|
+
margin: 0;
|
|
5559
|
+
font-size: var(--sc-text-md);
|
|
5560
|
+
font-weight: var(--sc-weight-bold);
|
|
5561
|
+
}
|
|
5562
|
+
|
|
5563
|
+
/* How many a day holds: said on a phone, where the day shows three dots and no more. */
|
|
5564
|
+
.sc-calendar-count {
|
|
5565
|
+
display: none;
|
|
5566
|
+
}
|
|
5567
|
+
|
|
5568
|
+
@media (max-width: 40rem) {
|
|
5569
|
+
/* The number covers the whole day, so that a finger anywhere on it lists the day's tasks;
|
|
5570
|
+
the dots and the count under it are a picture, not targets. */
|
|
5571
|
+
.sc-calendar-cell {
|
|
5572
|
+
position: relative;
|
|
5573
|
+
padding-top: 1.375rem;
|
|
5574
|
+
}
|
|
5575
|
+
|
|
5576
|
+
.sc-calendar-day[type="button"] {
|
|
5577
|
+
position: absolute;
|
|
5578
|
+
inset: 0;
|
|
5579
|
+
z-index: 1;
|
|
5580
|
+
display: flex;
|
|
5581
|
+
align-items: flex-start;
|
|
5582
|
+
justify-content: flex-start;
|
|
5583
|
+
width: auto;
|
|
5584
|
+
margin: 0;
|
|
5585
|
+
padding: 2px var(--sc-space-1);
|
|
5586
|
+
border-radius: var(--sc-radius-md);
|
|
5587
|
+
}
|
|
5588
|
+
|
|
5589
|
+
/* No pointer rests on a phone; a finger that tapped must not leave a sheet over the dots. */
|
|
5590
|
+
.sc-calendar-day[type="button"]:hover {
|
|
5591
|
+
background: transparent;
|
|
5592
|
+
}
|
|
5593
|
+
|
|
5594
|
+
.sc-calendar-day[aria-pressed="true"] {
|
|
5595
|
+
background: transparent;
|
|
5596
|
+
color: var(--sc-color-accent);
|
|
5597
|
+
font-weight: var(--sc-weight-bold);
|
|
5598
|
+
}
|
|
5599
|
+
|
|
5600
|
+
.sc-calendar-cell > a,
|
|
5601
|
+
.sc-calendar-cell > .sc-calendar-more {
|
|
5602
|
+
pointer-events: none;
|
|
5603
|
+
}
|
|
5604
|
+
|
|
5605
|
+
.sc-calendar-cell > a:nth-of-type(n + 4),
|
|
5606
|
+
.sc-calendar-cell > .sc-calendar-more {
|
|
5607
|
+
display: none;
|
|
5608
|
+
}
|
|
5609
|
+
|
|
5610
|
+
.sc-calendar-count {
|
|
5611
|
+
display: block;
|
|
5612
|
+
width: fit-content;
|
|
5613
|
+
min-width: 1rem;
|
|
5614
|
+
margin-top: 3px;
|
|
5615
|
+
padding: 0 4px;
|
|
5616
|
+
border-radius: var(--sc-radius-full);
|
|
5617
|
+
background: color-mix(in srgb, var(--sc-color-text-muted) 14%, transparent);
|
|
5618
|
+
color: var(--sc-color-text-muted);
|
|
5619
|
+
font-size: 0.625rem;
|
|
5620
|
+
font-weight: var(--sc-weight-medium);
|
|
5621
|
+
line-height: 1rem;
|
|
5622
|
+
text-align: center;
|
|
5623
|
+
}
|
|
5624
|
+
|
|
5625
|
+
.sc-calendar-day-list {
|
|
5626
|
+
margin-top: var(--sc-space-3);
|
|
5627
|
+
}
|
|
5628
|
+
}
|
|
5629
|
+
|
|
5630
|
+
/* The end of a phone's header: the live dot, the avatar and the caret close together. */
|
|
5631
|
+
@media (max-width: 40rem) {
|
|
5632
|
+
.sc-header-end {
|
|
5633
|
+
gap: 0;
|
|
5634
|
+
}
|
|
5635
|
+
|
|
5636
|
+
.sc-menu-summary {
|
|
5637
|
+
gap: var(--sc-space-1);
|
|
5638
|
+
padding-inline: var(--sc-space-1);
|
|
5639
|
+
}
|
|
5640
|
+
}
|
|
5641
|
+
|
|
5642
|
+
/* The ways under a comment's field stand on one row at one height, the small file button
|
|
5643
|
+
included, so that none sits lower than the one beside it. */
|
|
5644
|
+
.sc-comment-form-actions > .sc-button,
|
|
5645
|
+
.sc-comment-form-actions > label {
|
|
5646
|
+
min-height: var(--sc-control-size);
|
|
5647
|
+
padding-inline: var(--sc-space-4);
|
|
5648
|
+
font-size: var(--sc-text-sm);
|
|
5649
|
+
}
|