@cogenta/theme-docs 0.3.3 → 0.5.4
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/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/render/blocks/accordion.d.ts +8 -0
- package/dist/src/render/blocks/accordion.d.ts.map +1 -1
- package/dist/src/render/blocks/accordion.js +10 -10
- package/dist/src/render/blocks/accordion.js.map +1 -1
- package/dist/src/render/blocks/collection-list.d.ts +3 -11
- package/dist/src/render/blocks/collection-list.d.ts.map +1 -1
- package/dist/src/render/blocks/collection-list.js +69 -68
- package/dist/src/render/blocks/collection-list.js.map +1 -1
- package/dist/src/render/blocks/cta.d.ts +6 -0
- package/dist/src/render/blocks/cta.d.ts.map +1 -1
- package/dist/src/render/blocks/cta.js +9 -4
- package/dist/src/render/blocks/cta.js.map +1 -1
- package/dist/src/render/blocks/embed.d.ts.map +1 -1
- package/dist/src/render/blocks/embed.js +14 -13
- package/dist/src/render/blocks/embed.js.map +1 -1
- package/dist/src/render/blocks/faq.d.ts +7 -0
- package/dist/src/render/blocks/faq.d.ts.map +1 -1
- package/dist/src/render/blocks/faq.js +10 -10
- package/dist/src/render/blocks/faq.js.map +1 -1
- package/dist/src/render/blocks/feature-grid.d.ts.map +1 -1
- package/dist/src/render/blocks/feature-grid.js +19 -19
- package/dist/src/render/blocks/feature-grid.js.map +1 -1
- package/dist/src/render/blocks/gallery.d.ts +8 -4
- package/dist/src/render/blocks/gallery.d.ts.map +1 -1
- package/dist/src/render/blocks/gallery.js +19 -13
- package/dist/src/render/blocks/gallery.js.map +1 -1
- package/dist/src/render/blocks/hero.d.ts +12 -9
- package/dist/src/render/blocks/hero.d.ts.map +1 -1
- package/dist/src/render/blocks/hero.js +22 -20
- package/dist/src/render/blocks/hero.js.map +1 -1
- package/dist/src/render/blocks/logo-strip.d.ts +6 -0
- package/dist/src/render/blocks/logo-strip.d.ts.map +1 -1
- package/dist/src/render/blocks/logo-strip.js +6 -10
- package/dist/src/render/blocks/logo-strip.js.map +1 -1
- package/dist/src/render/blocks/logos.d.ts +10 -0
- package/dist/src/render/blocks/logos.d.ts.map +1 -1
- package/dist/src/render/blocks/logos.js +20 -17
- package/dist/src/render/blocks/logos.js.map +1 -1
- package/dist/src/render/blocks/media-figure.d.ts +0 -6
- package/dist/src/render/blocks/media-figure.d.ts.map +1 -1
- package/dist/src/render/blocks/media-figure.js +28 -16
- package/dist/src/render/blocks/media-figure.js.map +1 -1
- package/dist/src/render/blocks/pricing-table.d.ts.map +1 -1
- package/dist/src/render/blocks/pricing-table.js +16 -20
- package/dist/src/render/blocks/pricing-table.js.map +1 -1
- package/dist/src/render/blocks/prose.d.ts +13 -1
- package/dist/src/render/blocks/prose.d.ts.map +1 -1
- package/dist/src/render/blocks/prose.js +12 -31
- package/dist/src/render/blocks/prose.js.map +1 -1
- package/dist/src/render/blocks/quote.d.ts +5 -3
- package/dist/src/render/blocks/quote.d.ts.map +1 -1
- package/dist/src/render/blocks/quote.js +10 -14
- package/dist/src/render/blocks/quote.js.map +1 -1
- package/dist/src/render/blocks/stat-counter.d.ts +5 -0
- package/dist/src/render/blocks/stat-counter.d.ts.map +1 -1
- package/dist/src/render/blocks/stat-counter.js +6 -10
- package/dist/src/render/blocks/stat-counter.js.map +1 -1
- package/dist/src/render/blocks/stats.d.ts +10 -0
- package/dist/src/render/blocks/stats.d.ts.map +1 -1
- package/dist/src/render/blocks/stats.js +13 -8
- package/dist/src/render/blocks/stats.js.map +1 -1
- package/dist/src/render/blocks/testimonial.d.ts +4 -5
- package/dist/src/render/blocks/testimonial.d.ts.map +1 -1
- package/dist/src/render/blocks/testimonial.js +9 -13
- package/dist/src/render/blocks/testimonial.js.map +1 -1
- package/dist/src/render/chrome.d.ts +36 -1
- package/dist/src/render/chrome.d.ts.map +1 -1
- package/dist/src/render/chrome.js +122 -80
- package/dist/src/render/chrome.js.map +1 -1
- package/dist/src/render/doc-index.d.ts +25 -0
- package/dist/src/render/doc-index.d.ts.map +1 -0
- package/dist/src/render/doc-index.js +49 -0
- package/dist/src/render/doc-index.js.map +1 -0
- package/dist/src/render/doc-page.d.ts +6 -0
- package/dist/src/render/doc-page.d.ts.map +1 -0
- package/dist/src/render/doc-page.js +127 -0
- package/dist/src/render/doc-page.js.map +1 -0
- package/dist/src/render/layout.d.ts +23 -0
- package/dist/src/render/layout.d.ts.map +1 -0
- package/dist/src/render/layout.js +40 -0
- package/dist/src/render/layout.js.map +1 -0
- package/dist/src/render/render-block.d.ts +9 -6
- package/dist/src/render/render-block.d.ts.map +1 -1
- package/dist/src/render/render-block.js +47 -100
- package/dist/src/render/render-block.js.map +1 -1
- package/dist/src/render/rich-text.d.ts +26 -0
- package/dist/src/render/rich-text.d.ts.map +1 -0
- package/dist/src/render/rich-text.js +325 -0
- package/dist/src/render/rich-text.js.map +1 -0
- package/dist/src/render/search.d.ts +15 -0
- package/dist/src/render/search.d.ts.map +1 -0
- package/dist/src/render/search.js +31 -0
- package/dist/src/render/search.js.map +1 -0
- package/dist/src/render/strings.d.ts +51 -0
- package/dist/src/render/strings.d.ts.map +1 -0
- package/dist/src/render/strings.js +60 -0
- package/dist/src/render/strings.js.map +1 -0
- package/dist/src/render/term-archive.d.ts +5 -5
- package/dist/src/render/term-archive.d.ts.map +1 -1
- package/dist/src/render/term-archive.js +27 -16
- package/dist/src/render/term-archive.js.map +1 -1
- package/dist/src/render/widget-areas.d.ts +22 -0
- package/dist/src/render/widget-areas.d.ts.map +1 -0
- package/dist/src/render/widget-areas.js +29 -0
- package/dist/src/render/widget-areas.js.map +1 -0
- package/package.json +4 -4
- package/src/index.ts +2 -0
- package/src/render/blocks/accordion.ts +31 -42
- package/src/render/blocks/collection-list.ts +132 -123
- package/src/render/blocks/cta.ts +23 -18
- package/src/render/blocks/embed.ts +37 -28
- package/src/render/blocks/faq.ts +26 -37
- package/src/render/blocks/feature-grid.ts +34 -42
- package/src/render/blocks/gallery.ts +33 -29
- package/src/render/blocks/hero.ts +41 -45
- package/src/render/blocks/logo-strip.ts +21 -21
- package/src/render/blocks/logos.ts +32 -42
- package/src/render/blocks/media-figure.ts +47 -25
- package/src/render/blocks/pricing-table.ts +34 -41
- package/src/render/blocks/prose.ts +25 -40
- package/src/render/blocks/quote.ts +25 -19
- package/src/render/blocks/stat-counter.ts +27 -29
- package/src/render/blocks/stats.ts +35 -32
- package/src/render/blocks/testimonial.ts +18 -19
- package/src/render/chrome.ts +170 -83
- package/src/render/doc-index.ts +65 -0
- package/src/render/doc-page.ts +303 -0
- package/src/render/layout.ts +73 -0
- package/src/render/render-block.ts +67 -191
- package/src/render/rich-text.ts +446 -0
- package/src/render/search.ts +41 -0
- package/src/render/strings.ts +67 -0
- package/src/render/term-archive.ts +62 -38
- package/src/render/widget-areas.ts +33 -0
- package/src/styles/archive.css +21 -27
- package/src/styles/base.css +438 -838
- package/src/styles/blocks.css +658 -916
- package/src/styles/chrome.css +439 -0
- package/src/styles/docs.css +404 -0
- package/src/styles/rich.css +337 -0
- package/src/styles/theme.css +28 -23
- package/src/styles/tokens.css +209 -215
- package/src/styles/widgets.css +890 -0
- package/tokens.json +15 -15
package/src/styles/base.css
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Document, accessibility floor,
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* reads a `--cogenta-*` token directly.
|
|
2
|
+
* Document, accessibility floor, the grid, section and page titles, the
|
|
3
|
+
* hairline frame, actions, the search field, and the utility pages the host
|
|
4
|
+
* renders (search results, forms, comments). Everything reads `tokens.css`.
|
|
6
5
|
*/
|
|
7
6
|
|
|
8
7
|
/* --------------------------------------------------------------------------
|
|
@@ -15,969 +14,536 @@
|
|
|
15
14
|
box-sizing: border-box;
|
|
16
15
|
}
|
|
17
16
|
|
|
17
|
+
html {
|
|
18
|
+
-webkit-text-size-adjust: 100%;
|
|
19
|
+
text-size-adjust: 100%;
|
|
20
|
+
scroll-padding-block-start: calc(var(--cd-header-height) + var(--cd-s6));
|
|
21
|
+
hanging-punctuation: first allow-end last;
|
|
22
|
+
}
|
|
23
|
+
|
|
18
24
|
body {
|
|
19
25
|
margin: 0;
|
|
20
|
-
background: var(--
|
|
21
|
-
color: var(--
|
|
22
|
-
font-family: var(--
|
|
23
|
-
font-size: var(--
|
|
24
|
-
|
|
26
|
+
background: var(--cd-canvas);
|
|
27
|
+
color: var(--cd-ink);
|
|
28
|
+
font-family: var(--cd-font-sans);
|
|
29
|
+
font-size: var(--cd-text-md);
|
|
30
|
+
font-weight: var(--cd-weight-regular);
|
|
31
|
+
line-height: var(--cd-leading-text);
|
|
25
32
|
font-kerning: normal;
|
|
26
|
-
font-
|
|
27
|
-
text-
|
|
28
|
-
|
|
29
|
-
-webkit-text-size-adjust: 100%;
|
|
33
|
+
font-synthesis: none;
|
|
34
|
+
text-rendering: optimizeLegibility;
|
|
35
|
+
-webkit-font-smoothing: antialiased;
|
|
30
36
|
}
|
|
31
37
|
|
|
32
38
|
::selection {
|
|
33
|
-
background: var(--
|
|
34
|
-
color: var(--
|
|
39
|
+
background: var(--cd-accent);
|
|
40
|
+
color: var(--cd-accent-fg);
|
|
35
41
|
}
|
|
36
42
|
|
|
37
43
|
img,
|
|
38
44
|
video,
|
|
39
45
|
iframe {
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
display: block;
|
|
47
|
+
max-inline-size: 100%;
|
|
48
|
+
block-size: auto;
|
|
42
49
|
}
|
|
43
50
|
|
|
44
51
|
img {
|
|
45
|
-
display: block;
|
|
46
52
|
object-fit: cover;
|
|
47
53
|
}
|
|
48
54
|
|
|
49
|
-
:where(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
:where(img, video) {
|
|
56
|
+
filter: brightness(var(--cd-image-brightness));
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
:where(h1, h2, h3, h4, h5, h6) {
|
|
60
|
+
margin: 0;
|
|
61
|
+
font-family: var(--cd-font-sans);
|
|
62
|
+
font-weight: var(--cd-weight-semibold);
|
|
63
|
+
line-height: var(--cd-leading-heading);
|
|
64
|
+
letter-spacing: var(--cd-tracking-heading);
|
|
65
|
+
text-wrap: balance;
|
|
55
66
|
}
|
|
56
67
|
|
|
57
|
-
:where(
|
|
58
|
-
|
|
68
|
+
:where(p, li, dd, figcaption, blockquote) {
|
|
69
|
+
text-wrap: pretty;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
:where(a) {
|
|
73
|
+
color: var(--cd-link);
|
|
74
|
+
text-decoration-line: underline;
|
|
75
|
+
text-decoration-thickness: var(--cd-rule);
|
|
59
76
|
text-decoration-color: currentColor;
|
|
77
|
+
text-underline-offset: 0.22em;
|
|
78
|
+
transition:
|
|
79
|
+
color var(--cd-duration) var(--cd-ease),
|
|
80
|
+
text-decoration-color var(--cd-duration) var(--cd-ease);
|
|
60
81
|
}
|
|
61
82
|
|
|
62
83
|
:where(hr) {
|
|
63
|
-
block-size:
|
|
84
|
+
block-size: var(--cd-rule);
|
|
64
85
|
border: 0;
|
|
65
|
-
margin-block: var(--
|
|
66
|
-
background: var(--
|
|
86
|
+
margin-block: var(--cd-s10);
|
|
87
|
+
background: var(--cd-line);
|
|
67
88
|
}
|
|
68
89
|
|
|
69
|
-
kbd {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
90
|
+
:where(code, kbd, samp, pre) {
|
|
91
|
+
font-family: var(--cd-font-mono);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
:where(data, time) {
|
|
95
|
+
font-variant-numeric: tabular-nums;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.cg-visually-hidden {
|
|
99
|
+
position: absolute;
|
|
100
|
+
inline-size: 1px;
|
|
101
|
+
block-size: 1px;
|
|
102
|
+
margin: -1px;
|
|
103
|
+
padding: 0;
|
|
104
|
+
overflow: hidden;
|
|
105
|
+
clip-path: inset(50%);
|
|
106
|
+
white-space: nowrap;
|
|
107
|
+
border: 0;
|
|
78
108
|
}
|
|
79
109
|
|
|
80
110
|
/* --------------------------------------------------------------------------
|
|
81
|
-
Focus, targets, motion
|
|
111
|
+
Focus, targets, motion. Motion is a colour or an underline changing, in
|
|
112
|
+
under 150 ms; nothing moves in space, nothing fades in on scroll.
|
|
82
113
|
-------------------------------------------------------------------------- */
|
|
83
114
|
|
|
84
|
-
:where(a, button, summary, [tabindex]):focus-visible {
|
|
85
|
-
outline:
|
|
86
|
-
outline-offset:
|
|
87
|
-
border-radius: var(--cg-radius-xs);
|
|
115
|
+
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
|
|
116
|
+
outline: var(--cd-rule-strong) solid var(--cd-accent);
|
|
117
|
+
outline-offset: 2px;
|
|
88
118
|
}
|
|
89
119
|
|
|
90
|
-
:where(.cg-action, .cg-
|
|
120
|
+
:where(.cg-action, .cg-theme-toggle, summary) {
|
|
91
121
|
min-block-size: 44px;
|
|
92
|
-
min-inline-size: 44px;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
@supports (animation-timeline: view()) {
|
|
96
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
97
|
-
@keyframes cg-settle {
|
|
98
|
-
from {
|
|
99
|
-
opacity: 0;
|
|
100
|
-
transform: translateY(var(--cg-s3));
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
to {
|
|
104
|
-
opacity: 1;
|
|
105
|
-
transform: none;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.cg-block {
|
|
110
|
-
animation: cg-settle linear both;
|
|
111
|
-
animation-timeline: view();
|
|
112
|
-
animation-range: entry 0% cover 20%;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
122
|
}
|
|
116
123
|
|
|
124
|
+
/* Every transition in this theme reads `--cd-duration`, so reduced motion is
|
|
125
|
+
one declaration rather than an `!important` sweep over every element. */
|
|
117
126
|
@media (prefers-reduced-motion: reduce) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
*::after {
|
|
121
|
-
animation-duration: 1ms !important;
|
|
122
|
-
animation-iteration-count: 1 !important;
|
|
123
|
-
transition-duration: 1ms !important;
|
|
124
|
-
scroll-behavior: auto !important;
|
|
127
|
+
:root {
|
|
128
|
+
--cd-duration: 0ms;
|
|
125
129
|
}
|
|
126
130
|
}
|
|
127
131
|
|
|
128
132
|
.cg-skip-link {
|
|
129
133
|
position: absolute;
|
|
130
|
-
inset-inline-start: var(--
|
|
131
|
-
inset-block-start: calc(var(--
|
|
132
|
-
z-index:
|
|
133
|
-
padding: var(--
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
font-weight: var(--
|
|
134
|
+
inset-inline-start: var(--cd-s3);
|
|
135
|
+
inset-block-start: calc(var(--cd-s16) * -1);
|
|
136
|
+
z-index: 60;
|
|
137
|
+
padding: var(--cd-s2) var(--cd-s4);
|
|
138
|
+
border-radius: var(--cd-radius-control);
|
|
139
|
+
background: var(--cd-ink);
|
|
140
|
+
color: var(--cd-canvas);
|
|
141
|
+
font-size: var(--cd-text-ui);
|
|
142
|
+
font-weight: var(--cd-weight-medium);
|
|
139
143
|
text-decoration: none;
|
|
140
|
-
transition: inset-block-start var(--cg-duration) var(--cg-ease);
|
|
141
144
|
}
|
|
142
145
|
|
|
143
146
|
.cg-skip-link:focus-visible {
|
|
144
|
-
inset-block-start: var(--
|
|
147
|
+
inset-block-start: var(--cd-s3);
|
|
145
148
|
}
|
|
146
149
|
|
|
147
150
|
/* --------------------------------------------------------------------------
|
|
148
|
-
|
|
151
|
+
The grid. Every block outside a documentation page is a section around a
|
|
152
|
+
twelve-column container; the section rhythm is one variable.
|
|
149
153
|
-------------------------------------------------------------------------- */
|
|
150
154
|
|
|
151
|
-
.
|
|
155
|
+
.cd-main {
|
|
152
156
|
display: flow-root;
|
|
157
|
+
overflow-x: clip;
|
|
158
|
+
padding-block-end: calc(var(--cd-section) / 2);
|
|
153
159
|
}
|
|
154
160
|
|
|
155
|
-
.
|
|
156
|
-
|
|
161
|
+
.cd-container {
|
|
162
|
+
display: grid;
|
|
163
|
+
grid-template-columns: repeat(var(--cd-columns), minmax(0, 1fr));
|
|
164
|
+
column-gap: var(--cd-col-gap);
|
|
165
|
+
align-items: start;
|
|
166
|
+
inline-size: 100%;
|
|
167
|
+
max-inline-size: calc(var(--cd-page) + var(--cd-gutter) * 2);
|
|
157
168
|
margin-inline: auto;
|
|
158
|
-
|
|
159
|
-
padding-inline: var(--cg-gutter);
|
|
169
|
+
padding-inline: var(--cd-gutter);
|
|
160
170
|
}
|
|
161
171
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
[data-block][data-variant-background="muted"] {
|
|
169
|
-
background: var(--cg-surface-sunken);
|
|
172
|
+
/* Below the wide breakpoint twelve columns only make slivers: every child
|
|
173
|
+
takes the full row, and each block redistributes from there. */
|
|
174
|
+
.cd-container > * {
|
|
175
|
+
grid-column: 1 / -1;
|
|
176
|
+
min-inline-size: 0;
|
|
170
177
|
}
|
|
171
178
|
|
|
172
|
-
|
|
173
|
-
|
|
179
|
+
.cd-section {
|
|
180
|
+
padding-block: calc(var(--cd-section) / 2);
|
|
174
181
|
}
|
|
175
182
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
183
|
+
/* --- section titles ----------------------------------------------------------
|
|
184
|
+
A titled block names itself from the first column, with the same space
|
|
185
|
+
under it everywhere, and a hairline above it so a long home page reads as
|
|
186
|
+
chapters. */
|
|
179
187
|
|
|
180
|
-
|
|
181
|
-
|
|
188
|
+
.cd-head {
|
|
189
|
+
display: grid;
|
|
190
|
+
gap: var(--cd-s2);
|
|
191
|
+
margin-block-end: var(--cd-s8);
|
|
182
192
|
}
|
|
183
193
|
|
|
184
|
-
|
|
185
|
-
|
|
194
|
+
.cd-head__title {
|
|
195
|
+
max-inline-size: 30ch;
|
|
196
|
+
font-size: var(--cd-size-section);
|
|
197
|
+
font-weight: var(--cd-weight-semibold);
|
|
198
|
+
line-height: var(--cd-leading-heading);
|
|
199
|
+
letter-spacing: var(--cd-tracking-display);
|
|
186
200
|
}
|
|
187
201
|
|
|
188
|
-
|
|
189
|
-
|
|
202
|
+
.cd-empty {
|
|
203
|
+
margin: 0;
|
|
204
|
+
padding-block: var(--cd-s6);
|
|
205
|
+
border-block: var(--cd-rule) solid var(--cd-line);
|
|
206
|
+
color: var(--cd-ink-muted);
|
|
207
|
+
font-size: var(--cd-text-ui);
|
|
190
208
|
}
|
|
191
209
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
210
|
+
/* --- the hairline frame ------------------------------------------------------
|
|
211
|
+
Every diagram, screenshot, photograph and embedded player wears the same
|
|
212
|
+
frame: one hairline, a hair of softening on the corners, the raised grey
|
|
213
|
+
behind an image that has not loaded yet. No shadow, no tilt. */
|
|
195
214
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
215
|
+
.cd-frame {
|
|
216
|
+
display: block;
|
|
217
|
+
overflow: hidden;
|
|
218
|
+
margin: 0;
|
|
219
|
+
border: var(--cd-rule) solid var(--cd-line);
|
|
220
|
+
border-radius: var(--cd-radius-frame);
|
|
221
|
+
background: var(--cd-raised);
|
|
199
222
|
}
|
|
200
223
|
|
|
201
|
-
.
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
margin-block: var(--cg-section-y) var(--cg-s6);
|
|
205
|
-
padding-inline: var(--cg-gutter);
|
|
206
|
-
font-size: var(--cg-text-3xl);
|
|
207
|
-
line-height: var(--cg-leading-tight);
|
|
208
|
-
letter-spacing: var(--cg-tracking-tight);
|
|
209
|
-
font-weight: var(--cg-weight-bold);
|
|
210
|
-
text-wrap: balance;
|
|
224
|
+
.cd-frame__image {
|
|
225
|
+
inline-size: 100%;
|
|
226
|
+
block-size: 100%;
|
|
211
227
|
}
|
|
212
228
|
|
|
213
|
-
/*
|
|
214
|
-
Entry header (`renderEntryHeader`, `@cogenta/theme-kit`, `theme@1.4`)
|
|
215
|
-
-------------------------------------------------------------------------- */
|
|
216
|
-
|
|
217
|
-
.cg-entry-header {
|
|
218
|
-
margin: 0 0 var(--cg-s6);
|
|
219
|
-
}
|
|
229
|
+
/* --- per-block variants (blocks@2.0, RFC 0002) --------------------------- */
|
|
220
230
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
margin: 0 0 var(--cg-s3);
|
|
226
|
-
padding: 0;
|
|
227
|
-
list-style: none;
|
|
228
|
-
font-size: var(--cg-text-sm);
|
|
229
|
-
font-weight: var(--cg-weight-semibold);
|
|
230
|
-
letter-spacing: var(--cg-tracking-wide);
|
|
231
|
-
text-transform: uppercase;
|
|
232
|
-
color: var(--cg-accent);
|
|
231
|
+
[data-block][data-variant-background="muted"],
|
|
232
|
+
[data-block][data-variant-background="image"] {
|
|
233
|
+
background: var(--cd-surface);
|
|
234
|
+
border-block: var(--cd-rule) solid var(--cd-line);
|
|
233
235
|
}
|
|
234
236
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
text-decoration: none;
|
|
237
|
+
[data-block][data-variant-spacing="compact"] {
|
|
238
|
+
padding-block: calc(var(--cd-section) / 4);
|
|
238
239
|
}
|
|
239
240
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
margin-inline-start: var(--cg-s2);
|
|
243
|
-
color: var(--cg-ink-muted);
|
|
241
|
+
[data-block][data-variant-spacing="spacious"] {
|
|
242
|
+
padding-block: calc(var(--cd-section) * 0.8);
|
|
244
243
|
}
|
|
245
244
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
font-size: var(--cg-text-3xl);
|
|
249
|
-
line-height: var(--cg-leading-tight);
|
|
250
|
-
letter-spacing: var(--cg-tracking-tight);
|
|
251
|
-
font-weight: var(--cg-weight-bold);
|
|
252
|
-
text-wrap: balance;
|
|
245
|
+
[data-block][data-variant-align="center"] {
|
|
246
|
+
text-align: center;
|
|
253
247
|
}
|
|
254
248
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
font-size: var(--cg-text-lg);
|
|
258
|
-
color: var(--cg-ink-muted);
|
|
259
|
-
text-wrap: pretty;
|
|
249
|
+
[data-block][data-variant-align="end"] {
|
|
250
|
+
text-align: end;
|
|
260
251
|
}
|
|
261
252
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
flex-wrap: wrap;
|
|
265
|
-
gap: var(--cg-s3);
|
|
266
|
-
margin: 0 0 var(--cg-s5);
|
|
267
|
-
font-size: var(--cg-text-sm);
|
|
268
|
-
color: var(--cg-ink-muted);
|
|
253
|
+
[data-block][data-variant-width="full"] > .cd-container {
|
|
254
|
+
max-inline-size: none;
|
|
269
255
|
}
|
|
270
256
|
|
|
271
|
-
|
|
272
|
-
content: "·";
|
|
273
|
-
margin-inline-start: var(--cg-s3);
|
|
274
|
-
color: var(--cg-line-strong);
|
|
275
|
-
}
|
|
257
|
+
/* --- the title of any page outside the documentation that has no hero ---- */
|
|
276
258
|
|
|
277
|
-
.
|
|
278
|
-
|
|
279
|
-
inline-size: 100%;
|
|
280
|
-
aspect-ratio: 16 / 9;
|
|
281
|
-
border-radius: var(--cg-radius-lg);
|
|
282
|
-
object-fit: cover;
|
|
259
|
+
.cd-page-head {
|
|
260
|
+
padding-block: calc(var(--cd-section) * 0.6) calc(var(--cd-section) * 0.1);
|
|
283
261
|
}
|
|
284
262
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
CSS-only mobile menu — a <details> disclosure, never a script)
|
|
288
|
-
-------------------------------------------------------------------------- */
|
|
289
|
-
|
|
290
|
-
.cg-site-header {
|
|
291
|
-
position: sticky;
|
|
292
|
-
inset-block-start: 0;
|
|
293
|
-
z-index: 5;
|
|
294
|
-
block-size: var(--cg-header-height);
|
|
295
|
-
display: flex;
|
|
296
|
-
align-items: center;
|
|
297
|
-
padding-inline: var(--cg-gutter);
|
|
298
|
-
/* Flat and fully opaque, not a frosted-glass blur: a sticky header reads
|
|
299
|
-
as a solid plane sitting above the page, with a hairline marking where
|
|
300
|
-
it ends. */
|
|
301
|
-
background: var(--cg-canvas);
|
|
302
|
-
border-block-end: 1px solid var(--cg-line-soft);
|
|
263
|
+
.cd-page-head__inner {
|
|
264
|
+
row-gap: var(--cd-s4);
|
|
303
265
|
}
|
|
304
266
|
|
|
305
|
-
.
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
max-inline-size: var(--cg-page);
|
|
311
|
-
margin-inline: auto;
|
|
267
|
+
.cd-page-head__title {
|
|
268
|
+
max-inline-size: 26ch;
|
|
269
|
+
font-size: var(--cd-size-title);
|
|
270
|
+
line-height: var(--cd-leading-display);
|
|
271
|
+
letter-spacing: var(--cd-tracking-display);
|
|
312
272
|
}
|
|
313
273
|
|
|
314
|
-
.
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
font-size: var(--cg-text-lg);
|
|
321
|
-
letter-spacing: var(--cg-tracking-tight);
|
|
322
|
-
text-decoration: none;
|
|
323
|
-
white-space: nowrap;
|
|
324
|
-
margin-inline-end: var(--cg-s6);
|
|
274
|
+
.cd-page-head__lead {
|
|
275
|
+
margin: 0;
|
|
276
|
+
max-inline-size: 60ch;
|
|
277
|
+
color: var(--cd-ink-muted);
|
|
278
|
+
font-size: var(--cd-size-lead);
|
|
279
|
+
line-height: var(--cd-leading-lead);
|
|
325
280
|
}
|
|
326
281
|
|
|
327
|
-
.
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
object-fit: contain;
|
|
282
|
+
.cd-page-head__meta {
|
|
283
|
+
margin: 0;
|
|
284
|
+
color: var(--cd-ink-muted);
|
|
285
|
+
font-size: var(--cd-text-label);
|
|
286
|
+
font-variant-numeric: tabular-nums;
|
|
333
287
|
}
|
|
334
288
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
289
|
+
/* --------------------------------------------------------------------------
|
|
290
|
+
Actions: a small filled teal control for the primary intent, and for the
|
|
291
|
+
rest the words underlined with an arrow after them. No lift, no shadow.
|
|
292
|
+
-------------------------------------------------------------------------- */
|
|
338
293
|
|
|
339
|
-
.cg-
|
|
294
|
+
.cg-actions {
|
|
340
295
|
display: flex;
|
|
341
296
|
flex-wrap: wrap;
|
|
342
297
|
align-items: center;
|
|
343
|
-
gap: var(--
|
|
298
|
+
gap: var(--cd-s3) var(--cd-s8);
|
|
344
299
|
margin: 0;
|
|
345
300
|
padding: 0;
|
|
346
301
|
list-style: none;
|
|
347
|
-
font-size: var(--cg-text-sm);
|
|
348
|
-
font-weight: var(--cg-weight-medium);
|
|
349
302
|
}
|
|
350
303
|
|
|
351
|
-
.cg-
|
|
352
|
-
|
|
353
|
-
|
|
304
|
+
.cg-action {
|
|
305
|
+
font-family: var(--cd-font-sans);
|
|
306
|
+
font-size: var(--cd-text-ui);
|
|
307
|
+
font-weight: var(--cd-weight-medium);
|
|
308
|
+
line-height: 1.2;
|
|
354
309
|
text-decoration: none;
|
|
310
|
+
transition:
|
|
311
|
+
background-color var(--cd-duration) var(--cd-ease),
|
|
312
|
+
color var(--cd-duration) var(--cd-ease),
|
|
313
|
+
border-color var(--cd-duration) var(--cd-ease),
|
|
314
|
+
text-decoration-color var(--cd-duration) var(--cd-ease);
|
|
355
315
|
}
|
|
356
316
|
|
|
357
|
-
.cg-
|
|
358
|
-
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
.cg-site-header__action {
|
|
362
|
-
margin-inline-start: var(--cg-s3);
|
|
363
|
-
white-space: nowrap;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
/* The manual light/dark/system control (`renderThemeToggle`, `@cogenta/
|
|
367
|
-
theme-kit`) — a plain icon button matching `.cg-nav-toggle__button`'s own
|
|
368
|
-
sizing and radius, not `.cg-action`'s call-to-action look, so it never
|
|
369
|
-
competes visually with the header action. Always visible, at every
|
|
370
|
-
viewport width — unlike the nav links, it needs no mobile disclosure. */
|
|
371
|
-
.cg-theme-toggle {
|
|
372
|
-
display: flex;
|
|
317
|
+
.cg-action[data-emphasis="primary"] {
|
|
318
|
+
display: inline-flex;
|
|
373
319
|
align-items: center;
|
|
374
320
|
justify-content: center;
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
background: transparent;
|
|
382
|
-
color: var(--cg-ink);
|
|
383
|
-
cursor: pointer;
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
.cg-theme-toggle:hover {
|
|
387
|
-
background: var(--cg-surface-sunken);
|
|
321
|
+
padding: var(--cd-s3) var(--cd-s5);
|
|
322
|
+
border: var(--cd-rule) solid var(--cd-accent);
|
|
323
|
+
border-radius: var(--cd-radius-control);
|
|
324
|
+
background: var(--cd-accent);
|
|
325
|
+
color: var(--cd-accent-fg);
|
|
326
|
+
white-space: nowrap;
|
|
388
327
|
}
|
|
389
328
|
|
|
390
|
-
.cg-
|
|
391
|
-
|
|
392
|
-
|
|
329
|
+
.cg-action[data-emphasis="primary"]:hover {
|
|
330
|
+
border-color: var(--cd-accent-hover);
|
|
331
|
+
background: var(--cd-accent-hover);
|
|
332
|
+
color: var(--cd-accent-fg);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/* A text link with an arrow after it. Not a flex container: in one, the words
|
|
336
|
+
and the arrow are two flex items and each gets its own underline. As inline
|
|
337
|
+
content the words carry one continuous underline, and the arrow, an
|
|
338
|
+
inline-block, inherits none (decorations do not propagate to atomic
|
|
339
|
+
inlines). The same rule draws every arrow link of the theme, so a lone
|
|
340
|
+
arrow cannot exist anywhere. */
|
|
341
|
+
.cg-action[data-emphasis="secondary"],
|
|
342
|
+
.cd-arrow-link {
|
|
343
|
+
display: inline-block;
|
|
344
|
+
color: var(--cd-ink);
|
|
345
|
+
font-weight: var(--cd-weight-medium);
|
|
346
|
+
text-decoration-line: underline;
|
|
347
|
+
text-decoration-thickness: var(--cd-rule);
|
|
348
|
+
text-decoration-color: var(--cd-line-strong);
|
|
349
|
+
text-decoration-skip-ink: auto;
|
|
350
|
+
text-underline-offset: 0.3em;
|
|
393
351
|
}
|
|
394
352
|
|
|
395
|
-
.cg-
|
|
396
|
-
|
|
353
|
+
.cg-action[data-emphasis="secondary"] {
|
|
354
|
+
padding-block: var(--cd-s3);
|
|
397
355
|
}
|
|
398
356
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
:
|
|
404
|
-
display: none;
|
|
405
|
-
}
|
|
406
|
-
:where(:root:not([data-theme="light"])) .cg-theme-toggle__icon--moon {
|
|
407
|
-
display: block;
|
|
408
|
-
}
|
|
357
|
+
.cg-action[data-emphasis="secondary"]::after,
|
|
358
|
+
.cd-arrow-link::after {
|
|
359
|
+
content: "\2192" / "";
|
|
360
|
+
display: inline-block;
|
|
361
|
+
margin-inline-start: 0.35em;
|
|
409
362
|
}
|
|
410
363
|
|
|
411
|
-
|
|
412
|
-
|
|
364
|
+
.cg-action[data-emphasis="secondary"]:hover,
|
|
365
|
+
.cd-arrow-link:hover {
|
|
366
|
+
color: var(--cd-ink);
|
|
367
|
+
text-decoration-color: currentColor;
|
|
413
368
|
}
|
|
414
369
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
370
|
+
/* --------------------------------------------------------------------------
|
|
371
|
+
The search field. A real form: `GET /search?q=`, answered by the host. In
|
|
372
|
+
the header it is compact; on the home page it is the first thing a reader
|
|
373
|
+
reaches for.
|
|
374
|
+
-------------------------------------------------------------------------- */
|
|
418
375
|
|
|
419
|
-
|
|
420
|
-
its (duplicate) links never enter the accessibility tree on a wide
|
|
421
|
-
viewport, exactly the reasoning `chrome.ts`'s own comment gives. */
|
|
422
|
-
.cg-nav-toggle {
|
|
423
|
-
display: none;
|
|
376
|
+
.cd-search {
|
|
424
377
|
position: relative;
|
|
425
|
-
margin-inline-start: var(--cg-s2);
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
.cg-nav-toggle__button {
|
|
429
|
-
display: flex;
|
|
430
|
-
align-items: center;
|
|
431
|
-
justify-content: center;
|
|
432
|
-
padding: var(--cg-s2);
|
|
433
|
-
border-radius: var(--cg-radius-md);
|
|
434
|
-
cursor: pointer;
|
|
435
|
-
list-style: none;
|
|
436
|
-
color: var(--cg-ink);
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
.cg-nav-toggle__button::-webkit-details-marker {
|
|
440
|
-
display: none;
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
.cg-nav-toggle__icon {
|
|
444
378
|
display: block;
|
|
379
|
+
margin: 0;
|
|
445
380
|
}
|
|
446
381
|
|
|
447
|
-
.
|
|
382
|
+
.cd-search__icon {
|
|
448
383
|
position: absolute;
|
|
449
|
-
inset-
|
|
450
|
-
inset-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
padding: var(--cg-s4);
|
|
457
|
-
background: var(--cg-surface-raised);
|
|
458
|
-
border-radius: var(--cg-radius-md);
|
|
459
|
-
box-shadow: var(--cg-elevation-3);
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
.cg-nav-toggle__panel .cg-menu {
|
|
463
|
-
flex-direction: column;
|
|
464
|
-
align-items: flex-start;
|
|
465
|
-
gap: var(--cg-s3);
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
.cg-nav-toggle__action {
|
|
469
|
-
align-self: flex-start;
|
|
470
|
-
}
|
|
471
|
-
|
|
472
|
-
@media (max-width: 56rem) {
|
|
473
|
-
.cg-site-header__nav {
|
|
474
|
-
display: none;
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
/* Equal-specificity `.cg-action { display: inline-flex }` (Actions,
|
|
478
|
-
below) is declared later in this file, so a bare `.cg-site-header__
|
|
479
|
-
action` selector here would lose the cascade tie despite the narrower
|
|
480
|
-
viewport matching — the desktop action stayed visible next to the
|
|
481
|
-
hamburger's own copy, cramping the site name into wrapping onto the
|
|
482
|
-
sticky header and overlapping the page content beneath it. Chaining the
|
|
483
|
-
parent class raises specificity above `.cg-action`'s, independent of
|
|
484
|
-
source order. */
|
|
485
|
-
.cg-site-header__inner .cg-site-header__action {
|
|
486
|
-
display: none;
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
.cg-nav-toggle {
|
|
490
|
-
display: block;
|
|
491
|
-
}
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
/* --------------------------------------------------------------------------
|
|
495
|
-
Chrome — footer, a real multi-column layout
|
|
496
|
-
-------------------------------------------------------------------------- */
|
|
497
|
-
|
|
498
|
-
.cg-site-footer {
|
|
499
|
-
padding: var(--cg-s16) var(--cg-gutter) var(--cg-s8);
|
|
500
|
-
background: var(--cg-surface-sunken);
|
|
501
|
-
color: var(--cg-ink-muted);
|
|
502
|
-
border-block-start: 1px solid var(--cg-line-soft);
|
|
503
|
-
font-size: var(--cg-text-sm);
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
.cg-site-footer__grid {
|
|
507
|
-
display: grid;
|
|
508
|
-
gap: var(--cg-gap-loose);
|
|
509
|
-
grid-template-columns: 1fr;
|
|
510
|
-
max-inline-size: var(--cg-page);
|
|
511
|
-
margin-inline: auto;
|
|
512
|
-
padding-block-end: var(--cg-s10);
|
|
513
|
-
border-block-end: 1px solid var(--cg-line-soft);
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
@media (min-width: 48rem) {
|
|
517
|
-
.cg-site-footer__grid {
|
|
518
|
-
grid-template-columns: 1.2fr 1fr 1fr;
|
|
519
|
-
align-items: start;
|
|
520
|
-
}
|
|
384
|
+
inset-block-start: 50%;
|
|
385
|
+
inset-inline-start: var(--cd-s3);
|
|
386
|
+
inline-size: 1rem;
|
|
387
|
+
block-size: 1rem;
|
|
388
|
+
margin-block-start: -0.5rem;
|
|
389
|
+
color: var(--cd-ink-muted);
|
|
390
|
+
pointer-events: none;
|
|
521
391
|
}
|
|
522
392
|
|
|
523
|
-
.
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
.cg-site-footer__social {
|
|
537
|
-
display: flex;
|
|
538
|
-
flex-wrap: wrap;
|
|
539
|
-
gap: var(--cg-s3);
|
|
540
|
-
margin: var(--cg-s4) 0 0;
|
|
541
|
-
padding: 0;
|
|
542
|
-
list-style: none;
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
.cg-site-footer__social-item a {
|
|
546
|
-
display: flex;
|
|
547
|
-
align-items: center;
|
|
548
|
-
justify-content: center;
|
|
549
|
-
inline-size: 2.1rem;
|
|
550
|
-
block-size: 2.1rem;
|
|
551
|
-
border-radius: var(--cg-radius-md);
|
|
552
|
-
color: var(--cg-ink-muted);
|
|
553
|
-
background: var(--cg-surface);
|
|
554
|
-
box-shadow: var(--cg-ring);
|
|
393
|
+
.cd-search__input {
|
|
394
|
+
inline-size: 100%;
|
|
395
|
+
min-block-size: 2.375rem;
|
|
396
|
+
padding: var(--cd-s2) var(--cd-s3) var(--cd-s2) calc(var(--cd-s3) + 1.5rem);
|
|
397
|
+
border: var(--cd-rule) solid var(--cd-line);
|
|
398
|
+
border-radius: var(--cd-radius-control);
|
|
399
|
+
background: var(--cd-surface);
|
|
400
|
+
color: var(--cd-ink);
|
|
401
|
+
font-family: var(--cd-font-sans);
|
|
402
|
+
font-size: var(--cd-text-ui);
|
|
403
|
+
line-height: var(--cd-leading-ui);
|
|
404
|
+
appearance: none;
|
|
555
405
|
transition:
|
|
556
|
-
color var(--
|
|
557
|
-
background-color var(--
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
.cg-site-footer__social-item a:hover,
|
|
561
|
-
.cg-site-footer__social-item a:focus-visible {
|
|
562
|
-
color: var(--cg-accent-fg);
|
|
563
|
-
background: var(--cg-accent);
|
|
564
|
-
}
|
|
565
|
-
|
|
566
|
-
.cg-social__icon {
|
|
567
|
-
inline-size: 1.05rem;
|
|
568
|
-
block-size: 1.05rem;
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
.cg-site-footer__nav-col .cg-menu {
|
|
572
|
-
flex-direction: column;
|
|
573
|
-
align-items: flex-start;
|
|
574
|
-
gap: var(--cg-s3);
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
.cg-site-footer__note {
|
|
578
|
-
margin: 0 0 var(--cg-s5);
|
|
579
|
-
max-inline-size: 24rem;
|
|
406
|
+
border-color var(--cd-duration) var(--cd-ease),
|
|
407
|
+
background-color var(--cd-duration) var(--cd-ease);
|
|
580
408
|
}
|
|
581
409
|
|
|
582
|
-
.
|
|
583
|
-
|
|
584
|
-
align-items: center;
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
.cg-site-footer__branding a {
|
|
588
|
-
display: flex;
|
|
589
|
-
align-items: center;
|
|
590
|
-
gap: 0.4em;
|
|
591
|
-
opacity: 0.75;
|
|
592
|
-
transition: opacity var(--cg-duration) var(--cg-ease);
|
|
593
|
-
}
|
|
594
|
-
|
|
595
|
-
.cg-site-footer__branding a:hover,
|
|
596
|
-
.cg-site-footer__branding a:focus-visible {
|
|
410
|
+
.cd-search__input::placeholder {
|
|
411
|
+
color: var(--cd-ink-muted);
|
|
597
412
|
opacity: 1;
|
|
598
413
|
}
|
|
599
414
|
|
|
600
|
-
.
|
|
601
|
-
|
|
602
|
-
block-size: 25px;
|
|
603
|
-
inline-size: auto;
|
|
415
|
+
.cd-search__input:hover {
|
|
416
|
+
border-color: var(--cd-line-strong);
|
|
604
417
|
}
|
|
605
418
|
|
|
606
|
-
.
|
|
607
|
-
|
|
608
|
-
|
|
419
|
+
.cd-search__input:focus-visible {
|
|
420
|
+
border-color: var(--cd-accent);
|
|
421
|
+
outline: var(--cd-rule) solid var(--cd-accent);
|
|
422
|
+
outline-offset: 0;
|
|
423
|
+
background-color: var(--cd-canvas);
|
|
609
424
|
}
|
|
610
425
|
|
|
611
|
-
.
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
letter-spacing: var(--cg-tracking-wide);
|
|
617
|
-
text-transform: uppercase;
|
|
618
|
-
color: var(--cg-ink-subtle);
|
|
426
|
+
.cd-search--large .cd-search__icon {
|
|
427
|
+
inset-inline-start: var(--cd-s4);
|
|
428
|
+
inline-size: 1.25rem;
|
|
429
|
+
block-size: 1.25rem;
|
|
430
|
+
margin-block-start: -0.625rem;
|
|
619
431
|
}
|
|
620
432
|
|
|
621
|
-
.
|
|
622
|
-
|
|
623
|
-
inline
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
overflow: hidden;
|
|
628
|
-
clip: rect(0, 0, 0, 0);
|
|
629
|
-
white-space: nowrap;
|
|
630
|
-
border: 0;
|
|
433
|
+
.cd-search--large .cd-search__input {
|
|
434
|
+
min-block-size: 3.25rem;
|
|
435
|
+
padding-inline: calc(var(--cd-s4) + 2rem) var(--cd-s4);
|
|
436
|
+
border-color: var(--cd-line-strong);
|
|
437
|
+
background: var(--cd-canvas);
|
|
438
|
+
font-size: var(--cd-text-md);
|
|
631
439
|
}
|
|
632
440
|
|
|
633
441
|
/* --------------------------------------------------------------------------
|
|
634
|
-
|
|
442
|
+
Search results, forms and comments: the utility pages the host renders, in
|
|
443
|
+
the same register. The host sets them in a bare `<main class="cg-main">`.
|
|
635
444
|
-------------------------------------------------------------------------- */
|
|
636
445
|
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
grid-template-columns: var(--cg-sidebar-width) 1fr;
|
|
649
|
-
gap: var(--cg-s10);
|
|
650
|
-
align-items: start;
|
|
651
|
-
}
|
|
652
|
-
}
|
|
653
|
-
|
|
654
|
-
/* The sidebar, in two copies (`render-block.ts`'s `renderSidebar`/
|
|
655
|
-
`renderSidebarMobile`) — not one `<details>` toggled by breakpoint.
|
|
656
|
-
Chrome (and every engine following the current HTML rendering rules)
|
|
657
|
-
hides a closed `<details>`'s non-summary content through its own internal
|
|
658
|
-
`::details-content` box, not through plain CSS `display: none`; a
|
|
659
|
-
stylesheet rule forcing that content's `display: block` back on does not
|
|
660
|
-
reliably win against the closed state, verified live (an earlier build
|
|
661
|
-
with a single shared `<details>` rendered an empty sidebar column at
|
|
662
|
-
1280px in a real Chrome tab). So `.cg-docs__nav-desktop` is a plain
|
|
663
|
-
`<div>` — nothing for the browser to collapse — shown only at the
|
|
664
|
-
two-column breakpoint, and `.cg-docs__nav-mobile` is a **separate**
|
|
665
|
-
`<details>` disclosure, shown only below it. Exactly one of the two is
|
|
666
|
-
ever `display: block` at a given width, so a screen reader is never
|
|
667
|
-
offered two "Documentation" navigations at once. */
|
|
668
|
-
.cg-docs__nav {
|
|
669
|
-
margin: 0 0 var(--cg-s6);
|
|
670
|
-
}
|
|
671
|
-
|
|
672
|
-
.cg-docs__nav-desktop {
|
|
673
|
-
display: none;
|
|
674
|
-
}
|
|
675
|
-
|
|
676
|
-
.cg-docs__nav-toggle {
|
|
677
|
-
display: flex;
|
|
678
|
-
align-items: center;
|
|
679
|
-
justify-content: space-between;
|
|
680
|
-
padding: var(--cg-s3) var(--cg-s4);
|
|
681
|
-
border-radius: var(--cg-radius-md);
|
|
682
|
-
box-shadow: var(--cg-ring);
|
|
683
|
-
cursor: pointer;
|
|
684
|
-
font-weight: var(--cg-weight-semibold);
|
|
685
|
-
list-style: none;
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
.cg-docs__nav-toggle::-webkit-details-marker {
|
|
689
|
-
display: none;
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
.cg-docs__nav-toggle::after {
|
|
693
|
-
content: "";
|
|
694
|
-
inline-size: 0.5rem;
|
|
695
|
-
block-size: 0.5rem;
|
|
696
|
-
border-inline-end: 2px solid currentColor;
|
|
697
|
-
border-block-end: 2px solid currentColor;
|
|
698
|
-
transform: rotate(45deg);
|
|
699
|
-
transition: transform var(--cg-duration) var(--cg-ease);
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
.cg-docs__nav-mobile[open] .cg-docs__nav-toggle::after {
|
|
703
|
-
transform: rotate(225deg);
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
.cg-docs__nav-panel {
|
|
707
|
-
padding-block-start: var(--cg-s3);
|
|
708
|
-
}
|
|
709
|
-
|
|
710
|
-
@media (min-width: 64rem) {
|
|
711
|
-
.cg-docs__nav-mobile {
|
|
712
|
-
display: none;
|
|
713
|
-
}
|
|
714
|
-
|
|
715
|
-
.cg-docs__nav-desktop {
|
|
716
|
-
display: block;
|
|
717
|
-
position: sticky;
|
|
718
|
-
inset-block-start: calc(var(--cg-header-height) + var(--cg-s6));
|
|
719
|
-
max-block-size: calc(100vh - var(--cg-header-height) - var(--cg-s10));
|
|
720
|
-
overflow-y: auto;
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
.cg-docs__nav-desktop .cg-docs__nav-panel {
|
|
724
|
-
padding-block-start: 0;
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
.cg-docs__nav-group {
|
|
729
|
-
margin: 0 0 var(--cg-s6);
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
.cg-docs__nav-heading {
|
|
733
|
-
margin: 0 0 var(--cg-s2);
|
|
734
|
-
font-size: var(--cg-text-xs);
|
|
735
|
-
font-weight: var(--cg-weight-bold);
|
|
736
|
-
letter-spacing: var(--cg-tracking-wide);
|
|
737
|
-
text-transform: uppercase;
|
|
738
|
-
color: var(--cg-ink-subtle);
|
|
739
|
-
}
|
|
740
|
-
|
|
741
|
-
.cg-docs__nav-items {
|
|
742
|
-
margin: 0;
|
|
743
|
-
padding: 0;
|
|
744
|
-
list-style: none;
|
|
745
|
-
border-inline-start: 1px solid var(--cg-line-soft);
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
.cg-docs__nav-link {
|
|
749
|
-
display: block;
|
|
750
|
-
padding: var(--cg-s1) var(--cg-s3);
|
|
751
|
-
margin-inline-start: -1px;
|
|
752
|
-
border-inline-start: 2px solid transparent;
|
|
753
|
-
font-size: var(--cg-text-sm);
|
|
754
|
-
color: var(--cg-ink-muted);
|
|
755
|
-
text-decoration: none;
|
|
756
|
-
}
|
|
757
|
-
|
|
758
|
-
.cg-docs__nav-link:hover {
|
|
759
|
-
color: var(--cg-ink);
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
.cg-docs__nav-link[aria-current="page"] {
|
|
763
|
-
border-inline-start-color: var(--cg-accent);
|
|
764
|
-
color: var(--cg-accent);
|
|
765
|
-
font-weight: var(--cg-weight-semibold);
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
.cg-docs__content {
|
|
769
|
-
max-inline-size: var(--cg-measure);
|
|
770
|
-
min-inline-size: 0;
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
.cg-docs__content > .cg-block,
|
|
774
|
-
.cg-docs__content > .cg-entry-header {
|
|
775
|
-
max-inline-size: none;
|
|
446
|
+
/* Left-aligned on the page edge the wordmark starts from, like every other
|
|
447
|
+
page of the site, and held to a reading width. */
|
|
448
|
+
:is(.cg-main, .cg-sidebar-layout__content) > .cg-page__title,
|
|
449
|
+
.cg-search__form,
|
|
450
|
+
.cg-search__results,
|
|
451
|
+
.cg-search__empty,
|
|
452
|
+
.cg-search__error,
|
|
453
|
+
.cg-form,
|
|
454
|
+
.cg-form__confirmation {
|
|
455
|
+
--cd-edge: max(var(--cd-gutter), calc((100% - var(--cd-page)) / 2));
|
|
456
|
+
inline-size: 100%;
|
|
776
457
|
margin-inline: 0;
|
|
777
|
-
padding-inline:
|
|
778
|
-
}
|
|
779
|
-
|
|
780
|
-
.cg-docs__content > .cg-block:first-child {
|
|
781
|
-
margin-block-start: 0;
|
|
458
|
+
padding-inline: var(--cd-edge) max(var(--cd-gutter), calc(100% - var(--cd-edge) - 52rem));
|
|
782
459
|
}
|
|
783
460
|
|
|
784
|
-
.cg-
|
|
785
|
-
|
|
786
|
-
font-size: var(--
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
.cg-docs__breadcrumb ol {
|
|
791
|
-
display: flex;
|
|
792
|
-
flex-wrap: wrap;
|
|
793
|
-
gap: var(--cg-s2);
|
|
794
|
-
margin: 0;
|
|
795
|
-
padding: 0;
|
|
796
|
-
list-style: none;
|
|
797
|
-
}
|
|
798
|
-
|
|
799
|
-
.cg-docs__breadcrumb li:not(:last-child)::after {
|
|
800
|
-
content: "›";
|
|
801
|
-
margin-inline-start: var(--cg-s2);
|
|
802
|
-
color: var(--cg-line-strong);
|
|
803
|
-
}
|
|
804
|
-
|
|
805
|
-
.cg-docs__breadcrumb li[aria-current="page"] {
|
|
806
|
-
color: var(--cg-ink);
|
|
807
|
-
font-weight: var(--cg-weight-medium);
|
|
808
|
-
}
|
|
809
|
-
|
|
810
|
-
.cg-docs__title {
|
|
811
|
-
margin: 0 0 var(--cg-s6);
|
|
812
|
-
font-size: var(--cg-text-3xl);
|
|
813
|
-
line-height: var(--cg-leading-tight);
|
|
814
|
-
letter-spacing: var(--cg-tracking-tight);
|
|
815
|
-
font-weight: var(--cg-weight-bold);
|
|
816
|
-
text-wrap: balance;
|
|
461
|
+
:is(.cg-main, .cg-sidebar-layout__content) > .cg-page__title {
|
|
462
|
+
padding-block: calc(var(--cd-section) * 0.5) var(--cd-s6);
|
|
463
|
+
font-size: var(--cd-size-title);
|
|
464
|
+
line-height: var(--cd-leading-display);
|
|
465
|
+
letter-spacing: var(--cd-tracking-display);
|
|
817
466
|
}
|
|
818
467
|
|
|
819
|
-
|
|
820
|
-
Actions — the theme's only control
|
|
821
|
-
-------------------------------------------------------------------------- */
|
|
822
|
-
|
|
823
|
-
.cg-actions {
|
|
468
|
+
.cg-search__form {
|
|
824
469
|
display: flex;
|
|
825
470
|
flex-wrap: wrap;
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
list-style: none;
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
.cg-action {
|
|
833
|
-
display: inline-flex;
|
|
834
|
-
align-items: center;
|
|
835
|
-
justify-content: center;
|
|
836
|
-
gap: var(--cg-s2);
|
|
837
|
-
padding: var(--cg-s3) var(--cg-s5);
|
|
838
|
-
border: 0;
|
|
839
|
-
border-radius: var(--cg-radius-md);
|
|
840
|
-
font-size: var(--cg-text-sm);
|
|
841
|
-
font-weight: var(--cg-weight-semibold);
|
|
842
|
-
letter-spacing: var(--cg-tracking-snug);
|
|
843
|
-
line-height: var(--cg-leading-snug);
|
|
844
|
-
text-decoration: none;
|
|
845
|
-
white-space: nowrap;
|
|
846
|
-
transition:
|
|
847
|
-
background-color var(--cg-duration) var(--cg-ease),
|
|
848
|
-
color var(--cg-duration) var(--cg-ease),
|
|
849
|
-
box-shadow var(--cg-duration) var(--cg-ease),
|
|
850
|
-
transform var(--cg-duration-fast) var(--cg-ease);
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
.cg-action[data-emphasis="primary"] {
|
|
854
|
-
background: var(--cg-accent);
|
|
855
|
-
color: var(--cg-accent-fg);
|
|
856
|
-
box-shadow: var(--cg-elevation-1);
|
|
857
|
-
}
|
|
858
|
-
|
|
859
|
-
.cg-action[data-emphasis="primary"]:hover {
|
|
860
|
-
background: var(--cg-accent-hover);
|
|
861
|
-
box-shadow: var(--cg-elevation-2);
|
|
862
|
-
transform: translateY(-1px);
|
|
863
|
-
}
|
|
864
|
-
|
|
865
|
-
.cg-action[data-emphasis="secondary"] {
|
|
866
|
-
background: var(--cg-surface);
|
|
867
|
-
color: var(--cg-ink);
|
|
868
|
-
box-shadow: var(--cg-ring);
|
|
471
|
+
align-items: end;
|
|
472
|
+
gap: var(--cd-s3);
|
|
473
|
+
margin-block: 0 var(--cd-s10);
|
|
869
474
|
}
|
|
870
475
|
|
|
871
|
-
.cg-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
476
|
+
.cg-search__form label,
|
|
477
|
+
.cg-form__field label,
|
|
478
|
+
.cg-comment__form label {
|
|
479
|
+
display: block;
|
|
480
|
+
margin-block-end: var(--cd-s2);
|
|
481
|
+
color: var(--cd-ink);
|
|
482
|
+
font-size: var(--cd-text-ui);
|
|
483
|
+
font-weight: var(--cd-weight-medium);
|
|
875
484
|
}
|
|
876
485
|
|
|
877
|
-
.cg-
|
|
878
|
-
|
|
879
|
-
|
|
486
|
+
.cg-search__form label {
|
|
487
|
+
flex-basis: 100%;
|
|
488
|
+
margin: 0;
|
|
880
489
|
}
|
|
881
490
|
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
-------------------------------------------------------------------------- */
|
|
885
|
-
|
|
886
|
-
.cg-features__title,
|
|
887
|
-
.cg-cta__title,
|
|
888
|
-
.cg-faq__title,
|
|
889
|
-
.cg-panels__title,
|
|
890
|
-
.cg-stats__title,
|
|
891
|
-
.cg-kpis__title,
|
|
892
|
-
.cg-logos__title,
|
|
893
|
-
.cg-list__title-heading,
|
|
894
|
-
.cg-pricing__title {
|
|
895
|
-
margin: 0 0 var(--cg-s8);
|
|
896
|
-
font-size: var(--cg-text-xl);
|
|
897
|
-
line-height: var(--cg-leading-snug);
|
|
898
|
-
letter-spacing: var(--cg-tracking-tight);
|
|
899
|
-
font-weight: var(--cg-weight-bold);
|
|
900
|
-
text-wrap: balance;
|
|
491
|
+
.cg-search__form input[type="search"] {
|
|
492
|
+
flex: 1 1 18rem;
|
|
901
493
|
}
|
|
902
494
|
|
|
903
|
-
.cg-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
.cg-list__items,
|
|
907
|
-
.cg-faq__items,
|
|
908
|
-
.cg-panels__items,
|
|
909
|
-
.cg-pricing__tiers {
|
|
910
|
-
margin: 0;
|
|
911
|
-
padding: 0;
|
|
495
|
+
.cg-search__results {
|
|
496
|
+
display: grid;
|
|
497
|
+
margin-block: 0 var(--cd-section);
|
|
912
498
|
list-style: none;
|
|
499
|
+
counter-reset: cd-result;
|
|
913
500
|
}
|
|
914
501
|
|
|
915
|
-
.cg-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
overscroll-behavior-inline: contain;
|
|
921
|
-
scrollbar-width: thin;
|
|
922
|
-
scrollbar-color: var(--cg-line-strong) transparent;
|
|
923
|
-
padding-block: var(--cg-s2);
|
|
924
|
-
margin-block: calc(var(--cg-s2) * -1);
|
|
502
|
+
.cg-search__results > li {
|
|
503
|
+
padding-block: var(--cd-s4);
|
|
504
|
+
border-block-start: var(--cd-rule) solid var(--cd-line);
|
|
505
|
+
font-size: var(--cd-text-lg);
|
|
506
|
+
font-weight: var(--cd-weight-medium);
|
|
925
507
|
}
|
|
926
508
|
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
-------------------------------------------------------------------------- */
|
|
930
|
-
|
|
931
|
-
.cg-search__form,
|
|
932
|
-
.cg-search__results,
|
|
933
|
-
.cg-search__empty,
|
|
934
|
-
.cg-search__error,
|
|
935
|
-
.cg-form,
|
|
936
|
-
.cg-form__confirmation,
|
|
937
|
-
.cg-comments {
|
|
938
|
-
max-inline-size: var(--cg-page);
|
|
939
|
-
margin-inline: auto;
|
|
940
|
-
padding-inline: var(--cg-gutter);
|
|
509
|
+
.cg-search__results > li:last-child {
|
|
510
|
+
border-block-end: var(--cd-rule) solid var(--cd-line);
|
|
941
511
|
}
|
|
942
512
|
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
margin-block-end: var(--cg-s8);
|
|
513
|
+
/* The summary under a result and the count beside the title: the host's
|
|
514
|
+
floor reads the raw skin grey, which is too faint on the dark ground, so
|
|
515
|
+
both take this theme's own muted ink. */
|
|
516
|
+
.cg-search__count {
|
|
517
|
+
color: var(--cd-ink-muted);
|
|
949
518
|
}
|
|
950
519
|
|
|
951
|
-
.cg-
|
|
952
|
-
|
|
953
|
-
font-size: var(--
|
|
954
|
-
font-weight: var(--
|
|
955
|
-
|
|
520
|
+
.cg-search__excerpt {
|
|
521
|
+
color: var(--cd-ink-muted);
|
|
522
|
+
font-size: var(--cd-text-ui);
|
|
523
|
+
font-weight: var(--cd-weight-regular);
|
|
524
|
+
line-height: var(--cd-leading-ui);
|
|
956
525
|
}
|
|
957
526
|
|
|
958
|
-
.cg-
|
|
959
|
-
|
|
527
|
+
.cg-search__results a {
|
|
528
|
+
text-decoration-color: var(--cd-line-strong);
|
|
960
529
|
}
|
|
961
530
|
|
|
962
|
-
.cg-search__results {
|
|
963
|
-
|
|
964
|
-
padding-inline-start: var(--cg-gutter);
|
|
965
|
-
display: grid;
|
|
966
|
-
gap: var(--cg-s4);
|
|
967
|
-
font-size: var(--cg-text-lg);
|
|
531
|
+
.cg-search__results a:hover {
|
|
532
|
+
text-decoration-color: currentColor;
|
|
968
533
|
}
|
|
969
534
|
|
|
970
535
|
.cg-search__empty,
|
|
971
536
|
.cg-comments__empty,
|
|
972
|
-
.cg-comments__closed
|
|
973
|
-
|
|
537
|
+
.cg-comments__closed,
|
|
538
|
+
.cg-form__help {
|
|
539
|
+
color: var(--cd-ink-muted);
|
|
974
540
|
}
|
|
975
541
|
|
|
976
542
|
.cg-search__error,
|
|
977
543
|
.cg-form__error,
|
|
978
544
|
.cg-form__field-error {
|
|
979
|
-
color: var(--
|
|
980
|
-
font-weight: var(--
|
|
545
|
+
color: var(--cd-ink);
|
|
546
|
+
font-weight: var(--cd-weight-semibold);
|
|
981
547
|
}
|
|
982
548
|
|
|
983
549
|
.cg-search__form input,
|
|
@@ -987,66 +553,79 @@ kbd {
|
|
|
987
553
|
.cg-comment__form input,
|
|
988
554
|
.cg-comment__form textarea {
|
|
989
555
|
inline-size: 100%;
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
border
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
556
|
+
min-block-size: 44px;
|
|
557
|
+
padding: var(--cd-s2) var(--cd-s3);
|
|
558
|
+
border: var(--cd-rule) solid var(--cd-line-strong);
|
|
559
|
+
border-radius: var(--cd-radius-control);
|
|
560
|
+
background: var(--cd-canvas);
|
|
561
|
+
color: var(--cd-ink);
|
|
562
|
+
font-family: var(--cd-font-sans);
|
|
563
|
+
font-size: var(--cd-text-md);
|
|
564
|
+
line-height: var(--cd-leading-ui);
|
|
565
|
+
transition: border-color var(--cd-duration) var(--cd-ease);
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
.cg-form__field textarea,
|
|
569
|
+
.cg-comment__form textarea {
|
|
570
|
+
resize: vertical;
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
.cg-search__form input:focus-visible,
|
|
574
|
+
.cg-form__field :is(input, select, textarea):focus-visible,
|
|
575
|
+
.cg-comment__form :is(input, textarea):focus-visible {
|
|
576
|
+
border-color: var(--cd-accent);
|
|
577
|
+
outline: var(--cd-rule) solid var(--cd-accent);
|
|
578
|
+
outline-offset: 0;
|
|
996
579
|
}
|
|
997
580
|
|
|
998
581
|
.cg-form__field input[aria-invalid="true"],
|
|
999
582
|
.cg-form__field select[aria-invalid="true"],
|
|
1000
583
|
.cg-form__field textarea[aria-invalid="true"] {
|
|
1001
|
-
border-
|
|
1002
|
-
border-
|
|
584
|
+
border-color: var(--cd-ink);
|
|
585
|
+
border-width: var(--cd-rule-strong);
|
|
1003
586
|
}
|
|
1004
587
|
|
|
1005
588
|
.cg-search__form button,
|
|
1006
589
|
.cg-form button[type="submit"],
|
|
1007
590
|
.cg-comment__form button[type="submit"] {
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
border
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
591
|
+
min-block-size: 44px;
|
|
592
|
+
padding: var(--cd-s3) var(--cd-s5);
|
|
593
|
+
border: var(--cd-rule) solid var(--cd-accent);
|
|
594
|
+
border-radius: var(--cd-radius-control);
|
|
595
|
+
background: var(--cd-accent);
|
|
596
|
+
color: var(--cd-accent-fg);
|
|
597
|
+
font-family: var(--cd-font-sans);
|
|
598
|
+
font-size: var(--cd-text-ui);
|
|
599
|
+
font-weight: var(--cd-weight-medium);
|
|
1014
600
|
cursor: pointer;
|
|
1015
|
-
transition:
|
|
601
|
+
transition:
|
|
602
|
+
background-color var(--cd-duration) var(--cd-ease),
|
|
603
|
+
border-color var(--cd-duration) var(--cd-ease);
|
|
1016
604
|
}
|
|
1017
605
|
|
|
1018
606
|
.cg-search__form button:hover,
|
|
1019
607
|
.cg-form button[type="submit"]:hover,
|
|
1020
608
|
.cg-comment__form button[type="submit"]:hover {
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
.cg-form__field,
|
|
1025
|
-
.cg-comment__form p {
|
|
1026
|
-
display: block;
|
|
1027
|
-
margin-block-end: var(--cg-s5);
|
|
609
|
+
border-color: var(--cd-accent-hover);
|
|
610
|
+
background: var(--cd-accent-hover);
|
|
1028
611
|
}
|
|
1029
612
|
|
|
1030
|
-
.cg-form__field
|
|
1031
|
-
.cg-comment__form label {
|
|
613
|
+
.cg-form__field {
|
|
1032
614
|
display: block;
|
|
1033
|
-
|
|
1034
|
-
font-weight: var(--cg-weight-semibold);
|
|
1035
|
-
margin-block-end: var(--cg-s2);
|
|
615
|
+
margin-block-end: var(--cd-s6);
|
|
1036
616
|
}
|
|
1037
617
|
|
|
1038
618
|
.cg-form__help {
|
|
1039
|
-
margin: var(--
|
|
1040
|
-
font-size: var(--
|
|
1041
|
-
color: var(--cg-ink-muted);
|
|
619
|
+
margin: var(--cd-s2) 0 0;
|
|
620
|
+
font-size: var(--cd-text-label);
|
|
1042
621
|
}
|
|
1043
622
|
|
|
1044
623
|
.cg-form__choice {
|
|
1045
624
|
display: inline-flex;
|
|
1046
625
|
align-items: center;
|
|
1047
|
-
gap: var(--
|
|
1048
|
-
margin-inline-end: var(--
|
|
1049
|
-
font-weight:
|
|
626
|
+
gap: var(--cd-s2);
|
|
627
|
+
margin-inline-end: var(--cd-s4);
|
|
628
|
+
font-weight: var(--cd-weight-regular);
|
|
1050
629
|
}
|
|
1051
630
|
|
|
1052
631
|
.cg-form__honeypot,
|
|
@@ -1058,11 +637,18 @@ kbd {
|
|
|
1058
637
|
inset-inline-start: -9999px;
|
|
1059
638
|
}
|
|
1060
639
|
|
|
640
|
+
/* Comments, when a site turns them on, sit on the reading column. */
|
|
1061
641
|
.cg-comments {
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
padding
|
|
1065
|
-
|
|
642
|
+
max-inline-size: calc(52rem + var(--cd-gutter) * 2);
|
|
643
|
+
margin: 0 auto var(--cd-section);
|
|
644
|
+
padding: 0 var(--cd-gutter);
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
.cg-comments > h2 {
|
|
648
|
+
padding-block-start: var(--cd-s5);
|
|
649
|
+
border-block-start: var(--cd-rule) solid var(--cd-line);
|
|
650
|
+
margin-block-end: var(--cd-s5);
|
|
651
|
+
font-size: var(--cd-text-xl);
|
|
1066
652
|
}
|
|
1067
653
|
|
|
1068
654
|
.cg-comments__list,
|
|
@@ -1073,34 +659,48 @@ kbd {
|
|
|
1073
659
|
}
|
|
1074
660
|
|
|
1075
661
|
.cg-comment {
|
|
1076
|
-
padding-block: var(--
|
|
1077
|
-
border-block-
|
|
662
|
+
padding-block: var(--cd-s5);
|
|
663
|
+
border-block-start: var(--cd-rule) solid var(--cd-line);
|
|
1078
664
|
}
|
|
1079
665
|
|
|
1080
666
|
.cg-comment__replies {
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
.cg-comment__replies .cg-comment {
|
|
1085
|
-
padding-inline-start: var(--cg-s6);
|
|
1086
|
-
border-inline-start: 2px solid var(--cg-line-soft);
|
|
1087
|
-
border-block-end: 0;
|
|
667
|
+
margin-block-start: var(--cd-s4);
|
|
668
|
+
padding-inline-start: var(--cd-s6);
|
|
669
|
+
border-inline-start: var(--cd-rule) solid var(--cd-line);
|
|
1088
670
|
}
|
|
1089
671
|
|
|
1090
672
|
.cg-comment__meta {
|
|
1091
673
|
display: flex;
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
margin-block-end: var(--cg-s2);
|
|
674
|
+
flex-wrap: wrap;
|
|
675
|
+
gap: var(--cd-s1) var(--cd-s3);
|
|
676
|
+
margin: 0 0 var(--cd-s2);
|
|
677
|
+
font-size: var(--cd-text-label);
|
|
1097
678
|
}
|
|
1098
679
|
|
|
1099
680
|
.cg-comment__author {
|
|
1100
|
-
|
|
1101
|
-
|
|
681
|
+
color: var(--cd-ink);
|
|
682
|
+
font-weight: var(--cd-weight-semibold);
|
|
1102
683
|
}
|
|
1103
684
|
|
|
1104
|
-
.cg-
|
|
685
|
+
.cg-comment__date {
|
|
686
|
+
color: var(--cd-ink-muted);
|
|
687
|
+
font-variant-numeric: tabular-nums;
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
.cg-comment__body p {
|
|
1105
691
|
margin: 0;
|
|
1106
692
|
}
|
|
693
|
+
|
|
694
|
+
.cg-comment__form {
|
|
695
|
+
display: grid;
|
|
696
|
+
gap: var(--cd-s3);
|
|
697
|
+
margin-block-start: var(--cd-s6);
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
.cg-comment__form > * {
|
|
701
|
+
margin: 0;
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
.cg-comment__form button[type="submit"] {
|
|
705
|
+
justify-self: start;
|
|
706
|
+
}
|