@janga/norna 0.7.22 → 0.7.24

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.
Files changed (88) hide show
  1. package/README.md +14 -18
  2. package/astro.config.mjs +15 -0
  3. package/bin/norna-cli.mjs +8 -2
  4. package/package.json +28 -3
  5. package/schemas/category.schema.json +2 -2
  6. package/schemas/config.schema.json +52 -24
  7. package/schemas/content-frontmatter.schema.json +25 -5
  8. package/schemas/page-theme.schema.json +53 -25
  9. package/schemas/sitewide-content.schema.json +19 -18
  10. package/schemas/theme.schema.json +385 -252
  11. package/scripts/build-site.mjs +1 -0
  12. package/scripts/check-config.mjs +36 -5
  13. package/scripts/deploy-site.mjs +0 -1
  14. package/scripts/dev-local.mjs +175 -112
  15. package/scripts/generate-search-index.mjs +57 -0
  16. package/scripts/init-site.mjs +1 -0
  17. package/scripts/lib/code-fence-metadata.mjs +223 -0
  18. package/scripts/lib/content-sync-apply.mjs +34 -0
  19. package/scripts/lib/content-sync-plan.mjs +179 -0
  20. package/scripts/lib/edit-source-link.mjs +49 -0
  21. package/scripts/lib/editor-language-service.mjs +160 -12
  22. package/scripts/lib/heading-ids.mjs +1 -1
  23. package/scripts/lib/image-presentation.mjs +6 -0
  24. package/scripts/lib/markdown-links.mjs +182 -0
  25. package/scripts/lib/navigation-model.mjs +44 -12
  26. package/scripts/lib/navigation-review.mjs +396 -0
  27. package/scripts/lib/norna-markdown-blocks.mjs +74 -26
  28. package/scripts/lib/norna-markdown-render-plugin.mjs +64 -1
  29. package/scripts/lib/page-aliases.mjs +184 -0
  30. package/scripts/lib/page-markdown.mjs +88 -7
  31. package/scripts/lib/page-move-plan.mjs +659 -0
  32. package/scripts/lib/presentation-palette-metadata.mjs +1 -1
  33. package/scripts/lib/presentation.mjs +10 -37
  34. package/scripts/lib/project-config.mjs +146 -19
  35. package/scripts/lib/public-asset-conventions.mjs +36 -2
  36. package/scripts/lib/schema-definitions.mjs +43 -15
  37. package/scripts/lib/schema-editor-metadata.mjs +60 -32
  38. package/scripts/lib/schema-value-definitions.mjs +6 -2
  39. package/scripts/lib/semantic-callouts.mjs +128 -0
  40. package/scripts/lib/site-content.mjs +28 -5
  41. package/scripts/lib/site-link-graph.mjs +357 -0
  42. package/scripts/lib/site-navigation-tree.mjs +85 -0
  43. package/scripts/lib/site-page-urls.mjs +10 -0
  44. package/scripts/lib/sitemap.mjs +34 -0
  45. package/scripts/lib/social-image-assets.mjs +30 -0
  46. package/scripts/lib/theme-presets.mjs +53 -25
  47. package/scripts/lib/theme-profiles.mjs +6 -8
  48. package/scripts/lib/yaml-config.mjs +6 -2
  49. package/scripts/move-site-page.mjs +256 -0
  50. package/scripts/review-navigation.mjs +32 -0
  51. package/scripts/sync-content-sections.mjs +182 -216
  52. package/scripts/sync-site-public.mjs +43 -3
  53. package/src/components/CodeBlockCopyScript.astro +97 -0
  54. package/src/components/DisplaySettings.astro +4 -4
  55. package/src/components/EditSourceLink.astro +17 -0
  56. package/src/components/ImageCarousel.astro +6 -3
  57. package/src/components/NavigationPageTree.astro +81 -86
  58. package/src/components/NavigationTreeControls.astro +77 -0
  59. package/src/components/PageAliasRedirect.astro +49 -0
  60. package/src/components/PageContentsNavigation.astro +21 -0
  61. package/src/components/PageList.astro +33 -0
  62. package/src/components/PageSequenceNavigation.astro +37 -0
  63. package/src/components/SearchPage.astro +151 -0
  64. package/src/components/SectionNavigationScript.astro +62 -6
  65. package/src/components/SiteNavigation.astro +50 -11
  66. package/src/components/SitePage.astro +113 -20
  67. package/src/components/SiteSection.astro +16 -3
  68. package/src/components/SiteTreeNavigation.astro +8 -2
  69. package/src/components/TreeNavigationScript.astro +207 -26
  70. package/src/content.config.ts +5 -2
  71. package/src/layouts/BaseLayout.astro +71 -10
  72. package/src/lib/readerPreferencesScript.mjs +2 -2
  73. package/src/lib/sectionContent.ts +32 -3
  74. package/src/lib/siteNavigation.ts +31 -52
  75. package/src/lib/sitePages.ts +3 -2
  76. package/src/lib/sitePublicAssets.ts +1 -0
  77. package/src/pages/404.astro +110 -0
  78. package/src/pages/[...slug].astro +45 -8
  79. package/src/styles/content.css +718 -0
  80. package/src/styles/foundations.css +284 -0
  81. package/src/styles/global.css +6 -2510
  82. package/src/styles/media.css +518 -0
  83. package/src/styles/navigation.css +526 -0
  84. package/src/styles/page-layout.css +786 -0
  85. package/src/styles/responsive.css +594 -0
  86. package/starters/basic/README.md +6 -19
  87. package/starters/basic/package.json +1 -0
  88. package/starters/basic/site/pages/000-home/content.md +13 -50
@@ -1,2510 +1,6 @@
1
- *,
2
- *::before,
3
- *::after {
4
- box-sizing: border-box;
5
- }
6
-
7
- :root {
8
- --color-page: var(--palette-light-page-background, #fff);
9
- --color-primary-text: var(--palette-light-primary-text, var(--palette-light-page-text, #17201d));
10
- --color-secondary-text: var(--palette-light-secondary-text, #5e655f);
11
- --color-link-text: var(--palette-light-link-text, #38645a);
12
- --color-focus-ring: var(--palette-light-focus-ring, #17201d);
13
- --color-focus-ring-contrast: var(--palette-light-focus-ring-contrast, #fff);
14
- --color-selection-background: var(--palette-light-selection-background, #17201d);
15
- --color-selection-text: var(--palette-light-selection-text, #fff);
16
- --color-control-background: var(--palette-light-control-background, rgb(0 0 0 / 70%));
17
- --color-control-background-active: var(--palette-light-control-background-active, rgb(0 0 0 / 86%));
18
- --color-control-text: var(--palette-light-control-text, #fff);
19
- --color-code-background: var(--palette-light-code-background, #0d1117);
20
- --color-code-text: var(--palette-light-code-text, #f0f6fc);
21
- --color-warning-accent: var(--palette-light-warning-accent, #7a5600);
22
- --color-warning-surface: var(--palette-light-warning-surface, #fff4c2);
23
- --color-warning-text: var(--palette-light-warning-text, #3b2b00);
24
- --color-error-accent: var(--palette-light-error-accent, #a12d2d);
25
- --color-error-surface: var(--palette-light-error-surface, #fce8e8);
26
- --color-error-text: var(--palette-light-error-text, #5f1616);
27
- --color-success-accent: var(--palette-light-success-accent, #17643c);
28
- --color-success-surface: var(--palette-light-success-surface, #e4f4e9);
29
- --color-success-text: var(--palette-light-success-text, #12472e);
30
- --color-text: var(--color-primary-text);
31
- --color-surface: var(--palette-light-surface, #f7f8f7);
32
- --color-muted: var(--color-secondary-text);
33
- --color-soft: var(--palette-light-soft, #d9dfda);
34
- --color-accent: var(--color-link-text);
35
- --color-border: var(--palette-light-border, rgb(0 0 0 / 14%));
36
- --color-nav-background: var(--palette-light-nav-background, rgb(255 255 255 / 92%));
37
- --color-nav-separator: var(--palette-light-nav-separator, rgb(0 0 0 / 20%));
38
- --color-frame-background: var(--palette-light-frame-background, #fff);
39
- --color-frame-text: var(--palette-light-frame-text, #17201d);
40
- --color-surface-base-background: var(--palette-light-surface-base-background, #fff);
41
- --color-surface-base-text: var(--palette-light-surface-base-text, #17201d);
42
- --color-surface-base-secondary-text: var(--palette-light-surface-base-secondary-text, #555b57);
43
- --color-surface-soft-background: var(--palette-light-surface-soft-background, #f1f4f2);
44
- --color-surface-soft-text: var(--palette-light-surface-soft-text, #17201d);
45
- --color-surface-soft-secondary-text: var(--palette-light-surface-soft-secondary-text, #555b57);
46
- --color-surface-emphasis-background: var(--palette-light-surface-emphasis-background, #dde7e1);
47
- --color-surface-emphasis-text: var(--palette-light-surface-emphasis-text, #17201d);
48
- --color-surface-emphasis-secondary-text: var(--palette-light-surface-emphasis-secondary-text, #555b57);
49
- --font-sans: Arial, 'Helvetica Neue', Helvetica, sans-serif;
50
- --font-serif: Georgia, 'Times New Roman', serif;
51
- --page-width: 1180px;
52
- --text-width: 680px;
53
- --image-width: 900px;
54
- --image-max-available-width-desktop: 100%;
55
- --image-max-available-width-mobile: 100%;
56
- --image-max-available-width: var(--image-max-available-width-desktop);
57
- --image-layout-width: min(var(--image-width), var(--image-max-available-width));
58
- --image-max-height-desktop: 74svh;
59
- --image-max-height-mobile: 68svh;
60
- --image-max-height: var(--image-max-height-desktop);
61
- --nav-top-safety-inset: 0px;
62
-
63
- --space-nav-to-first-section-desktop: clamp(1.875rem, 3vw, 2.75rem);
64
- --space-nav-to-first-section-mobile: 1.375rem;
65
- --space-nav-to-first-section: var(--space-nav-to-first-section-desktop);
66
- --space-content-block-gap-desktop: 1.5em;
67
- --space-content-block-gap-mobile: 1.25em;
68
- --space-content-block-gap: var(--space-content-block-gap-desktop);
69
- --space-card-list-after: 0.5em;
70
- --space-heading-to-block-desktop: 0.75em;
71
- --space-heading-to-block-mobile: 0.7em;
72
- --space-heading-to-block: var(--space-heading-to-block-desktop);
73
- --space-image-item-desktop: clamp(1.5rem, 3.5vw, 2.75rem);
74
- --space-image-item-mobile: 2.75rem;
75
- --space-image-item: var(--space-image-item-desktop);
76
- --space-section-to-section-desktop: clamp(2.55rem, 4.2vw, 3.9rem);
77
- --space-section-to-section-mobile: 2.25rem;
78
- --space-section-to-section: var(--space-section-to-section-desktop);
79
- --space-page-title-to-first-section-desktop: clamp(0.9rem, 1.6vw, 1.4rem);
80
- --space-page-title-to-first-section-mobile: 0.9rem;
81
- --space-page-title-to-first-section: var(--space-page-title-to-first-section-desktop);
82
- --space-final-section-bottom-desktop: var(--space-section-to-section-desktop);
83
- --space-final-section-bottom-mobile: var(--space-section-to-section-mobile);
84
- --space-final-section-bottom: var(--space-final-section-bottom-desktop);
85
-
86
- --content-gutter-desktop: clamp(1.25rem, 4vw, 3rem);
87
- --content-gutter-mobile: 1rem;
88
- --content-gutter: var(--content-gutter-desktop);
89
- --site-top-anchor-offset: 4.5rem;
90
- --focus-indicator-width: 2px;
91
- --target-size-minimum: 1.5rem;
92
- --target-size-comfortable: 2.75rem;
93
- color-scheme: light;
94
- scroll-behavior: smooth;
95
- scroll-padding-top: var(--site-top-anchor-offset);
96
- }
97
-
98
- :root[data-color-mode='dark'] {
99
- --color-page: var(--palette-dark-page-background);
100
- --color-primary-text: var(--palette-dark-primary-text);
101
- --color-secondary-text: var(--palette-dark-secondary-text);
102
- --color-link-text: var(--palette-dark-link-text);
103
- --color-focus-ring: var(--palette-dark-focus-ring);
104
- --color-focus-ring-contrast: var(--palette-dark-focus-ring-contrast);
105
- --color-selection-background: var(--palette-dark-selection-background);
106
- --color-selection-text: var(--palette-dark-selection-text);
107
- --color-control-background: var(--palette-dark-control-background);
108
- --color-control-background-active: var(--palette-dark-control-background-active);
109
- --color-control-text: var(--palette-dark-control-text);
110
- --color-code-background: var(--palette-dark-code-background);
111
- --color-code-text: var(--palette-dark-code-text);
112
- --color-warning-accent: var(--palette-dark-warning-accent);
113
- --color-warning-surface: var(--palette-dark-warning-surface);
114
- --color-warning-text: var(--palette-dark-warning-text);
115
- --color-error-accent: var(--palette-dark-error-accent);
116
- --color-error-surface: var(--palette-dark-error-surface);
117
- --color-error-text: var(--palette-dark-error-text);
118
- --color-success-accent: var(--palette-dark-success-accent);
119
- --color-success-surface: var(--palette-dark-success-surface);
120
- --color-success-text: var(--palette-dark-success-text);
121
- --color-text: var(--color-primary-text);
122
- --color-surface: var(--palette-dark-surface);
123
- --color-muted: var(--color-secondary-text);
124
- --color-soft: var(--palette-dark-soft);
125
- --color-accent: var(--color-link-text);
126
- --color-border: var(--palette-dark-border);
127
- --color-nav-background: var(--palette-dark-nav-background);
128
- --color-nav-separator: var(--palette-dark-nav-separator);
129
- --color-frame-background: var(--palette-dark-frame-background);
130
- --color-frame-text: var(--palette-dark-frame-text);
131
- --color-surface-base-background: var(--palette-dark-surface-base-background);
132
- --color-surface-base-text: var(--palette-dark-surface-base-text);
133
- --color-surface-base-secondary-text: var(--palette-dark-surface-base-secondary-text);
134
- --color-surface-soft-background: var(--palette-dark-surface-soft-background);
135
- --color-surface-soft-text: var(--palette-dark-surface-soft-text);
136
- --color-surface-soft-secondary-text: var(--palette-dark-surface-soft-secondary-text);
137
- --color-surface-emphasis-background: var(--palette-dark-surface-emphasis-background);
138
- --color-surface-emphasis-text: var(--palette-dark-surface-emphasis-text);
139
- --color-surface-emphasis-secondary-text: var(--palette-dark-surface-emphasis-secondary-text);
140
- color-scheme: dark;
141
- }
142
-
143
- @media (prefers-color-scheme: dark) {
144
- :root[data-color-mode='system'] {
145
- --color-page: var(--palette-dark-page-background);
146
- --color-primary-text: var(--palette-dark-primary-text);
147
- --color-secondary-text: var(--palette-dark-secondary-text);
148
- --color-link-text: var(--palette-dark-link-text);
149
- --color-focus-ring: var(--palette-dark-focus-ring);
150
- --color-focus-ring-contrast: var(--palette-dark-focus-ring-contrast);
151
- --color-selection-background: var(--palette-dark-selection-background);
152
- --color-selection-text: var(--palette-dark-selection-text);
153
- --color-control-background: var(--palette-dark-control-background);
154
- --color-control-background-active: var(--palette-dark-control-background-active);
155
- --color-control-text: var(--palette-dark-control-text);
156
- --color-code-background: var(--palette-dark-code-background);
157
- --color-code-text: var(--palette-dark-code-text);
158
- --color-warning-accent: var(--palette-dark-warning-accent);
159
- --color-warning-surface: var(--palette-dark-warning-surface);
160
- --color-warning-text: var(--palette-dark-warning-text);
161
- --color-error-accent: var(--palette-dark-error-accent);
162
- --color-error-surface: var(--palette-dark-error-surface);
163
- --color-error-text: var(--palette-dark-error-text);
164
- --color-success-accent: var(--palette-dark-success-accent);
165
- --color-success-surface: var(--palette-dark-success-surface);
166
- --color-success-text: var(--palette-dark-success-text);
167
- --color-text: var(--color-primary-text);
168
- --color-surface: var(--palette-dark-surface);
169
- --color-muted: var(--color-secondary-text);
170
- --color-soft: var(--palette-dark-soft);
171
- --color-accent: var(--color-link-text);
172
- --color-border: var(--palette-dark-border);
173
- --color-nav-background: var(--palette-dark-nav-background);
174
- --color-nav-separator: var(--palette-dark-nav-separator);
175
- --color-frame-background: var(--palette-dark-frame-background);
176
- --color-frame-text: var(--palette-dark-frame-text);
177
- --color-surface-base-background: var(--palette-dark-surface-base-background);
178
- --color-surface-base-text: var(--palette-dark-surface-base-text);
179
- --color-surface-base-secondary-text: var(--palette-dark-surface-base-secondary-text);
180
- --color-surface-soft-background: var(--palette-dark-surface-soft-background);
181
- --color-surface-soft-text: var(--palette-dark-surface-soft-text);
182
- --color-surface-soft-secondary-text: var(--palette-dark-surface-soft-secondary-text);
183
- --color-surface-emphasis-background: var(--palette-dark-surface-emphasis-background);
184
- --color-surface-emphasis-text: var(--palette-dark-surface-emphasis-text);
185
- --color-surface-emphasis-secondary-text: var(--palette-dark-surface-emphasis-secondary-text);
186
- color-scheme: dark;
187
- }
188
- }
189
-
190
- :root[data-reading-width='narrow'] {
191
- --reader-text-width: min(60ch, var(--text-width));
192
- }
193
-
194
- :root[data-reading-width='standard'] {
195
- --reader-text-width: min(72ch, var(--text-width));
196
- }
197
-
198
- :root[data-reading-width='wide'] {
199
- --reader-text-width: min(80ch, var(--image-layout-width));
200
- }
201
-
202
- html {
203
- min-height: 100%;
204
- background: var(--color-page);
205
- }
206
-
207
- @media (prefers-reduced-motion: reduce) {
208
- html {
209
- scroll-behavior: auto !important;
210
- }
211
-
212
- *,
213
- *::before,
214
- *::after {
215
- animation-duration: 0.01ms !important;
216
- animation-iteration-count: 1 !important;
217
- scroll-behavior: auto !important;
218
- transition-duration: 0.01ms !important;
219
- }
220
- }
221
-
222
- body {
223
- min-height: 100vh;
224
- min-height: 100svh;
225
- margin: 0;
226
- isolation: isolate;
227
- background: var(--color-page);
228
- color: var(--color-text);
229
- font-family: var(--font-sans);
230
- -webkit-font-smoothing: antialiased;
231
- -moz-osx-font-smoothing: grayscale;
232
- }
233
-
234
- img {
235
- display: block;
236
- height: auto;
237
- max-width: 100%;
238
- }
239
-
240
- a {
241
- color: var(--color-accent);
242
- overflow-wrap: anywhere;
243
- transition: color 0.18s ease, opacity 0.18s ease;
244
- }
245
-
246
- ::selection {
247
- background: var(--color-selection-background);
248
- color: var(--color-selection-text);
249
- }
250
-
251
- :where(a, button, summary, [tabindex]:not([tabindex='-1'])):focus-visible {
252
- outline: var(--focus-indicator-width) solid var(--color-focus-ring);
253
- outline-offset: var(--focus-indicator-width);
254
- box-shadow: 0 0 0 calc(var(--focus-indicator-width) + var(--focus-indicator-width)) var(--color-focus-ring-contrast);
255
- }
256
-
257
- .visually-hidden {
258
- position: absolute;
259
- width: 1px;
260
- height: 1px;
261
- margin: -1px;
262
- padding: 0;
263
- border: 0;
264
- overflow: hidden;
265
- clip: rect(0 0 0 0);
266
- clip-path: inset(50%);
267
- white-space: nowrap;
268
- }
269
-
270
- .skip-link {
271
- position: fixed;
272
- top: 0.75rem;
273
- left: 0.75rem;
274
- z-index: 100;
275
- transform: translateY(-200%);
276
- background: var(--color-text);
277
- color: var(--color-surface);
278
- padding: 0.75rem 1rem;
279
- font-weight: 700;
280
- text-decoration: none;
281
- }
282
-
283
- .skip-link:focus {
284
- transform: translateY(0);
285
- }
286
-
287
- .site-top {
288
- position: sticky;
289
- top: 0;
290
- z-index: 10;
291
- padding-top: var(--nav-top-safety-inset);
292
- padding-top: max(env(safe-area-inset-top, 0px), var(--nav-top-safety-inset));
293
- border-bottom: 1px solid var(--color-border);
294
- background-color: var(--site-top-background-color, var(--color-nav-background));
295
- color: var(--site-top-text-color, var(--color-text));
296
- backdrop-filter: blur(16px);
297
- transition: background-color 0.18s ease, color 0.18s ease;
298
- }
299
-
300
- .site-nav-row {
301
- display: flex;
302
- align-items: center;
303
- justify-content: space-between;
304
- gap: 1rem;
305
- width: min(calc(100% - (var(--content-gutter) * 2)), var(--page-width));
306
- margin: 0 auto;
307
- padding: 0.8rem 0 0.7rem;
308
- }
309
-
310
- .site-top[data-navigation-mode='tree'] .site-nav-row {
311
- width: min(calc(100% - (var(--content-gutter) * 2)), max(var(--page-width), 76rem));
312
- }
313
-
314
- .site-nav-row-mobile-only {
315
- display: none;
316
- }
317
-
318
- .site-nav-actions {
319
- display: flex;
320
- align-items: center;
321
- justify-content: flex-end;
322
- gap: clamp(0.65rem, 1.5vw, 1rem);
323
- min-width: 0;
324
- margin-left: auto;
325
- }
326
-
327
- .site-nav-leading {
328
- display: flex;
329
- align-items: center;
330
- gap: 0.35rem;
331
- min-width: 0;
332
- flex: 0 0 auto;
333
- }
334
-
335
- :root:not([data-reader-preferences-ready='true']) .display-settings {
336
- display: none;
337
- }
338
-
339
- .display-settings {
340
- position: relative;
341
- display: block;
342
- flex: 0 0 auto;
343
- font-family: var(--font-sans);
344
- }
345
-
346
- .display-settings summary {
347
- display: grid;
348
- place-items: center;
349
- width: 2.25rem;
350
- height: 2.25rem;
351
- border: 1px solid color-mix(in srgb, currentColor 38%, transparent);
352
- border-radius: 50%;
353
- background-color: transparent;
354
- color: currentColor;
355
- cursor: pointer;
356
- list-style: none;
357
- transition: border-color 0.18s ease, background-color 0.18s ease;
358
- }
359
-
360
- :root[data-focus-reading='on'] .display-settings summary {
361
- grid-template-columns: auto auto;
362
- gap: 0.4rem;
363
- width: auto;
364
- padding: 0 0.65rem;
365
- border-color: currentColor;
366
- background: color-mix(in srgb, currentColor 9%, transparent);
367
- }
368
-
369
- .display-settings summary::-webkit-details-marker {
370
- display: none;
371
- }
372
-
373
- .display-settings summary:hover,
374
- .display-settings[open] summary {
375
- border-color: currentColor;
376
- background: color-mix(in srgb, currentColor 9%, transparent);
377
- }
378
-
379
- .display-settings summary:focus-visible,
380
- .display-settings button:focus-visible,
381
- .display-settings input:focus-visible + span {
382
- outline-color: var(--color-focus-ring);
383
- }
384
-
385
- .display-settings-trigger-icon {
386
- display: block;
387
- width: 1.05rem;
388
- height: 1.05rem;
389
- fill: none;
390
- stroke: currentColor;
391
- stroke-width: 2;
392
- stroke-linecap: round;
393
- stroke-linejoin: round;
394
- }
395
-
396
- .display-settings-focus-status {
397
- display: none;
398
- font-size: 0.72rem;
399
- font-weight: 650;
400
- white-space: nowrap;
401
- }
402
-
403
- :root[data-focus-reading='on'] .display-settings-focus-status {
404
- display: block;
405
- }
406
-
407
- .display-settings-panel {
408
- position: absolute;
409
- top: calc(100% + 0.45rem);
410
- right: 0;
411
- z-index: 30;
412
- display: grid;
413
- gap: 0.9rem;
414
- width: min(20rem, calc(100vw - (var(--content-gutter) * 2)));
415
- max-height: calc(100svh - var(--site-top-anchor-offset) - 1rem);
416
- margin: 0;
417
- padding: 0.85rem;
418
- border: 1px solid var(--color-border);
419
- border-radius: var(--corner-radius-medium, 4px);
420
- background: var(--color-surface-base-background);
421
- color: var(--color-surface-base-text);
422
- font-size: 0.82rem;
423
- box-shadow: 0 0.6rem 1.6rem rgb(0 0 0 / 16%);
424
- overflow-y: auto;
425
- }
426
-
427
- .display-settings-title {
428
- margin: 0;
429
- font-size: 0.78rem;
430
- font-weight: 700;
431
- text-transform: uppercase;
432
- }
433
-
434
- .display-settings fieldset {
435
- display: grid;
436
- gap: 0.4rem;
437
- margin: 0;
438
- padding: 0;
439
- border: 0;
440
- }
441
-
442
- .display-settings legend {
443
- margin: 0 0 0.4rem;
444
- padding: 0;
445
- color: var(--color-surface-base-secondary-text);
446
- font-size: 0.72rem;
447
- font-weight: 650;
448
- }
449
-
450
- .display-settings-segmented {
451
- display: grid;
452
- grid-template-columns: repeat(3, minmax(0, 1fr));
453
- gap: 1px;
454
- width: 100%;
455
- border: 1px solid var(--color-border);
456
- border-radius: var(--corner-radius-small, 2px);
457
- background: var(--color-border);
458
- overflow: hidden;
459
- }
460
-
461
- .display-settings-segmented label {
462
- position: relative;
463
- min-width: 0;
464
- cursor: pointer;
465
- }
466
-
467
- .display-settings-segmented input {
468
- position: absolute;
469
- width: 1px;
470
- height: 1px;
471
- opacity: 0;
472
- }
473
-
474
- .display-settings-segmented span {
475
- display: grid;
476
- place-items: center;
477
- min-height: var(--target-size-comfortable);
478
- padding: 0.35rem 0.45rem;
479
- background: var(--color-surface-base-background);
480
- color: inherit;
481
- font-size: 0.75rem;
482
- font-weight: 600;
483
- text-align: center;
484
- transition: background-color 0.18s ease, color 0.18s ease;
485
- }
486
-
487
- .display-settings-segmented label:hover span {
488
- background: color-mix(in srgb, currentColor 8%, var(--color-surface-base-background));
489
- }
490
-
491
- .display-settings-segmented input:checked + span {
492
- background: color-mix(in srgb, var(--color-accent) 14%, transparent);
493
- color: var(--color-surface-base-text);
494
- }
495
-
496
- .display-settings-segmented input:focus-visible + span {
497
- position: relative;
498
- z-index: 1;
499
- outline: var(--focus-indicator-width) solid var(--color-focus-ring);
500
- outline-offset: calc(0px - var(--focus-indicator-width));
501
- box-shadow: inset 0 0 0 var(--focus-indicator-width) var(--color-focus-ring-contrast);
502
- }
503
-
504
- .display-settings-toggle {
505
- display: flex;
506
- align-items: center;
507
- gap: 0.55rem;
508
- min-height: var(--target-size-minimum);
509
- font-weight: 600;
510
- cursor: pointer;
511
- }
512
-
513
- .display-settings-toggle input {
514
- width: 1rem;
515
- height: 1rem;
516
- margin: 0;
517
- accent-color: var(--color-accent);
518
- }
519
-
520
- .display-settings-reset {
521
- justify-self: start;
522
- min-height: var(--target-size-minimum);
523
- border: 0;
524
- padding: 0;
525
- background: transparent;
526
- color: var(--color-accent);
527
- font: inherit;
528
- font-weight: 650;
529
- text-decoration: underline;
530
- text-underline-offset: 0.2em;
531
- cursor: pointer;
532
- }
533
-
534
- .site-brand,
535
- .site-nav a,
536
- .mobile-nav-menu summary,
537
- .mobile-nav-panel a,
538
- .site-nav-submenu a {
539
- color: currentColor;
540
- text-decoration: none;
541
- }
542
-
543
- .site-brand {
544
- display: flex;
545
- align-items: center;
546
- flex: 0 0 auto;
547
- font-size: 0.82rem;
548
- font-weight: 700;
549
- letter-spacing: 0.08em;
550
- line-height: 1.1;
551
- text-transform: uppercase;
552
- }
553
-
554
- .site-brand-logo {
555
- display: block;
556
- width: auto;
557
- height: var(--site-brand-logo-height, 2.6rem);
558
- max-width: min(30vw, 18rem);
559
- }
560
-
561
- .site-nav ul,
562
- .mobile-nav-panel ul {
563
- margin: 0;
564
- padding: 0;
565
- list-style: none;
566
- }
567
-
568
- .site-nav > ul {
569
- display: flex;
570
- flex-wrap: wrap;
571
- justify-content: flex-end;
572
- gap: 0.35rem clamp(0.9rem, 2.6vw, 2rem);
573
- }
574
-
575
- .site-nav-item {
576
- position: relative;
577
- }
578
-
579
- .site-nav a,
580
- .mobile-nav-panel a {
581
- display: block;
582
- min-height: var(--target-size-minimum);
583
- color: var(--color-secondary-text);
584
- font-size: 0.78rem;
585
- font-weight: 500;
586
- letter-spacing: 0.08em;
587
- line-height: 1.2;
588
- text-transform: uppercase;
589
- }
590
-
591
- .site-nav a:hover,
592
- .site-nav a:focus-visible,
593
- .site-nav a[aria-current='page'],
594
- .mobile-nav-panel a:hover,
595
- .mobile-nav-panel a:focus-visible,
596
- .mobile-nav-panel a[aria-current='page'] {
597
- color: var(--site-top-text-color, var(--color-primary-text));
598
- }
599
-
600
- .site-nav > ul > .site-nav-item > a:hover,
601
- .site-nav > ul > .site-nav-item > a:focus-visible,
602
- .site-nav > ul > .site-nav-item > a[aria-current='page'],
603
- .site-nav > ul > .site-nav-item-current-branch > a {
604
- text-decoration: underline;
605
- text-decoration-thickness: 1px;
606
- text-underline-offset: 0.35em;
607
- }
608
-
609
- .site-nav-submenu {
610
- position: absolute;
611
- top: 100%;
612
- left: 50%;
613
- z-index: 10;
614
- width: max-content;
615
- max-width: min(24rem, calc(100vw - (var(--content-gutter) * 2)));
616
- min-width: 12rem;
617
- padding-top: 0.7rem;
618
- opacity: 0;
619
- visibility: hidden;
620
- pointer-events: none;
621
- transform: translate(-50%, -0.35rem);
622
- transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
623
- }
624
-
625
- .site-nav-submenu > nav {
626
- border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
627
- padding: 0.8rem 1rem;
628
- background: var(--site-top-background-color, var(--color-nav-background));
629
- box-shadow: 0 1rem 2.5rem rgb(0 0 0 / 0.22);
630
- }
631
-
632
- .site-nav-submenu ul {
633
- display: grid;
634
- gap: 0.65rem;
635
- }
636
-
637
- .site-nav-submenu .navigation-page-tree-submenu {
638
- gap: 0.75rem;
639
- }
640
-
641
- .site-nav-submenu .navigation-page-tree-submenu .navigation-page-tree-submenu {
642
- margin: 0.15rem 0 0 0.35rem;
643
- border-left: 1px solid color-mix(in srgb, currentColor 24%, transparent);
644
- padding-left: 0.75rem;
645
- }
646
-
647
- .site-nav-submenu .navigation-page-link {
648
- font-weight: 650;
649
- }
650
-
651
- .site-nav-submenu a {
652
- font-size: 0.76rem;
653
- letter-spacing: 0.03em;
654
- line-height: 1.3;
655
- text-transform: none;
656
- white-space: normal;
657
- }
658
-
659
- .site-nav-submenu a:hover,
660
- .site-nav-submenu a:focus-visible,
661
- .site-nav-submenu a[aria-current='location'] {
662
- color: var(--site-top-text-color, var(--color-primary-text));
663
- text-decoration: underline;
664
- text-underline-offset: 0.25em;
665
- }
666
-
667
- .site-nav-item:hover .site-nav-submenu,
668
- .site-nav-item:focus-within .site-nav-submenu {
669
- opacity: 1;
670
- visibility: visible;
671
- pointer-events: auto;
672
- transform: translate(-50%, 0);
673
- }
674
-
675
- .site-nav-item[data-submenu-dismissed='true'] .site-nav-submenu {
676
- opacity: 0;
677
- visibility: hidden;
678
- pointer-events: none;
679
- transform: translate(-50%, -0.35rem);
680
- }
681
-
682
- .mobile-nav-menu {
683
- display: none;
684
- }
685
-
686
- .page-nav {
687
- border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
688
- }
689
-
690
- .site-top:not(.site-top-has-navigation-row) .page-nav {
691
- border-top: 0;
692
- }
693
-
694
- .page-nav-inner {
695
- display: flex;
696
- align-items: center;
697
- justify-content: center;
698
- gap: clamp(1.1rem, 2.5vw, 2rem);
699
- width: min(calc(100% - (var(--content-gutter) * 2)), var(--page-width));
700
- margin: 0 auto;
701
- }
702
-
703
- .page-nav-label {
704
- flex: 0 0 auto;
705
- font-size: 0.7rem;
706
- font-weight: 650;
707
- letter-spacing: 0.08em;
708
- color: var(--color-secondary-text);
709
- text-transform: uppercase;
710
- white-space: nowrap;
711
- }
712
-
713
- .page-nav ul {
714
- display: flex;
715
- flex-wrap: wrap;
716
- justify-content: flex-start;
717
- gap: 0 clamp(1.4rem, 4vw, 3.25rem);
718
- margin: 0;
719
- padding: 0;
720
- list-style: none;
721
- }
722
-
723
- .page-nav li {
724
- position: relative;
725
- }
726
-
727
- .page-nav li + li::before {
728
- position: absolute;
729
- top: 50%;
730
- left: calc(clamp(1.4rem, 4vw, 3.25rem) / -2 - 0.1rem);
731
- transform: translateY(-50%);
732
- content: "·";
733
- font-size: 0.75rem;
734
- opacity: 0.28;
735
- }
736
-
737
- .page-nav a {
738
- display: block;
739
- min-height: var(--target-size-minimum);
740
- padding: 1.05rem 0 0.95rem;
741
- color: var(--color-secondary-text);
742
- font-size: 0.76rem;
743
- font-weight: 500;
744
- letter-spacing: 0.08em;
745
- line-height: 1.2;
746
- text-decoration: none;
747
- text-transform: uppercase;
748
- }
749
-
750
- .page-nav a:hover,
751
- .page-nav a:focus-visible,
752
- .page-nav a[aria-current='location'] {
753
- color: var(--site-top-text-color, var(--color-primary-text));
754
- text-decoration: underline;
755
- text-decoration-thickness: 1px;
756
- text-underline-offset: 0.35em;
757
- }
758
-
759
- .page-nav .page-nav-page-top {
760
- font-size: 0.82rem;
761
- font-weight: 700;
762
- }
763
-
764
- .page-nav-page-top-item:not(:last-child) {
765
- margin-right: clamp(0.3rem, 1vw, 0.7rem);
766
- }
767
-
768
- .mobile-nav-sections a[aria-current='location'] {
769
- opacity: 1;
770
- text-decoration: underline;
771
- text-decoration-thickness: 1px;
772
- text-underline-offset: 0.35em;
773
- }
774
-
775
- @media (hover: hover) and (pointer: fine) {
776
- :root {
777
- --nav-top-safety-inset: 0.625rem;
778
- }
779
- }
780
-
781
- .site-content {
782
- position: relative;
783
- z-index: 2;
784
- width: min(calc(100% - (var(--content-gutter) * 2)), var(--page-width));
785
- margin: 0 auto;
786
- padding: 0;
787
- }
788
-
789
- .site-page-layout:not(.site-page-layout-tree) {
790
- display: contents;
791
- }
792
-
793
- .site-page-layout-tree {
794
- --tree-layout-width: max(var(--page-width), 76rem);
795
- --tree-layout-outer-margin: max(var(--content-gutter), calc((100vw - var(--tree-layout-width)) / 2));
796
- --tree-navigation-width: 14rem;
797
- --tree-layout-gap: var(--local-navigation-gap, clamp(1.5rem, 3vw, 3rem));
798
- display: grid;
799
- grid-template-columns: var(--tree-navigation-width) minmax(0, 1fr);
800
- align-items: start;
801
- gap: var(--tree-layout-gap);
802
- min-height: calc(100svh - var(--site-top-anchor-offset));
803
- width: min(calc(100% - (var(--content-gutter) * 2)), var(--tree-layout-width));
804
- margin: 0 auto;
805
- }
806
-
807
- .site-page-layout-tree > .site-content {
808
- width: 100%;
809
- min-width: 0;
810
- }
811
-
812
- .site-page-layout-tree .site-section {
813
- background-color: transparent;
814
- }
815
-
816
- @media (min-width: 701px) {
817
- .site-page-layout-tree :is(.site-breadcrumbs, .section-header, .section-markdown) {
818
- margin-right: auto;
819
- margin-left: 0;
820
- }
821
-
822
- .site-page-layout-tree .card-list {
823
- margin-right: auto;
824
- margin-left: 0;
825
- }
826
-
827
- .site-page-layout-tree .image-stack .managed-image-item {
828
- width: min(100%, var(--image-layout-width));
829
- margin-right: auto;
830
- margin-left: 0;
831
- }
832
-
833
- .site-page-layout-tree .image-carousel-stage,
834
- .site-page-layout-tree .image-carousel-captions {
835
- margin-right: auto;
836
- margin-left: 0;
837
- }
838
-
839
- }
840
-
841
- .tree-local-navigation {
842
- position: sticky;
843
- top: calc(var(--site-top-anchor-offset) + 1.25rem);
844
- z-index: 3;
845
- min-height: 0;
846
- max-height: calc(100svh - var(--site-top-anchor-offset) - 2.5rem);
847
- padding: 1.5rem 0;
848
- background: var(--color-page);
849
- overflow-y: auto;
850
- overscroll-behavior: contain;
851
- }
852
-
853
- .navigation-page-sections {
854
- margin: 0.15rem 0 0.55rem 0.3rem;
855
- border-left: 2px solid color-mix(in srgb, currentColor 38%, transparent);
856
- padding: 0.2rem 0 0.25rem 0.85rem;
857
- }
858
-
859
- .navigation-page-tree,
860
- .page-contents-links {
861
- margin: 0;
862
- padding: 0;
863
- list-style: none;
864
- }
865
-
866
- .navigation-page-node {
867
- position: relative;
868
- }
869
-
870
- .navigation-page-tree-sidebar .navigation-page-link {
871
- display: block;
872
- padding: 0.45rem 2rem 0.45rem 0;
873
- color: var(--color-secondary-text);
874
- font-size: 0.86rem;
875
- line-height: 1.35;
876
- text-decoration: none;
877
- }
878
-
879
- .navigation-page-tree-sidebar > .navigation-page-node > .navigation-page-link {
880
- color: var(--color-primary-text);
881
- font-size: 0.94rem;
882
- font-weight: 700;
883
- }
884
-
885
- .navigation-page-tree-sidebar .navigation-page-link:hover,
886
- .navigation-page-tree-sidebar .navigation-page-link:focus-visible,
887
- .navigation-page-tree-sidebar .navigation-page-link[aria-current='page'] {
888
- color: var(--color-primary-text);
889
- text-decoration: underline;
890
- text-decoration-thickness: 1px;
891
- text-underline-offset: 0.28em;
892
- }
893
-
894
- .navigation-page-tree-sidebar .navigation-page-tree-sidebar {
895
- margin: 0.25rem 0 0.25rem 0.3rem;
896
- border-left: 1px solid color-mix(in srgb, currentColor 18%, transparent);
897
- padding-left: 0.85rem;
898
- }
899
-
900
- .navigation-page-branch:not(.navigation-page-disclosure) > summary {
901
- position: absolute;
902
- top: 0.25rem;
903
- right: 0;
904
- display: grid;
905
- place-items: center;
906
- width: 1.8rem;
907
- height: 1.8rem;
908
- border: 0;
909
- border-radius: var(--corner-radius-small, 2px);
910
- list-style: none;
911
- cursor: pointer;
912
- color: var(--color-secondary-text);
913
- }
914
-
915
- .navigation-page-branch:not(.navigation-page-disclosure) > summary::-webkit-details-marker {
916
- display: none;
917
- }
918
-
919
- .navigation-page-branch:not(.navigation-page-disclosure) > summary:hover,
920
- .navigation-page-branch:not(.navigation-page-disclosure) > summary:focus-visible {
921
- background: color-mix(in srgb, currentColor 8%, transparent);
922
- color: var(--color-primary-text);
923
- }
924
-
925
- .navigation-page-branch:not(.navigation-page-disclosure) > summary > [aria-hidden='true']::before {
926
- content: "+";
927
- }
928
-
929
- .navigation-page-branch:not(.navigation-page-disclosure)[open] > summary > [aria-hidden='true']::before {
930
- content: "−";
931
- }
932
-
933
- .navigation-page-disclosure > .navigation-page-summary {
934
- display: flex;
935
- align-items: center;
936
- justify-content: space-between;
937
- width: 100%;
938
- border: 0;
939
- border-radius: var(--corner-radius-small, 2px);
940
- padding: 0.45rem 0;
941
- font-size: 0.86rem;
942
- line-height: 1.35;
943
- list-style: none;
944
- cursor: pointer;
945
- color: var(--color-secondary-text);
946
- }
947
-
948
- .navigation-page-disclosure {
949
- position: relative;
950
- }
951
-
952
- .navigation-page-disclosure > .navigation-page-summary::-webkit-details-marker {
953
- display: none;
954
- }
955
-
956
- .navigation-page-disclosure > .navigation-page-summary:hover,
957
- .navigation-page-disclosure > .navigation-page-summary:focus-visible,
958
- .navigation-page-disclosure[data-current-page='true'] > .navigation-page-summary {
959
- color: var(--color-primary-text);
960
- }
961
-
962
- .navigation-page-disclosure > .navigation-page-summary:hover > :first-child,
963
- .navigation-page-disclosure > .navigation-page-summary:focus-visible > :first-child,
964
- .navigation-page-disclosure[data-current-page='true'] > .navigation-page-summary > :first-child {
965
- text-decoration: underline;
966
- text-decoration-thickness: 1px;
967
- text-underline-offset: 0.28em;
968
- }
969
-
970
- .navigation-page-disclosure:not(.navigation-category-disclosure)[open]
971
- > .navigation-page-summary > .navigation-page-summary-title {
972
- opacity: 0;
973
- }
974
-
975
- .navigation-category-disclosure[data-current-branch='true'] > .navigation-page-summary {
976
- color: var(--color-primary-text);
977
- }
978
-
979
- .navigation-page-open-link {
980
- position: absolute;
981
- top: 0;
982
- left: 0;
983
- display: none;
984
- width: calc(100% - 2rem);
985
- padding: 0.45rem 0;
986
- color: var(--color-secondary-text);
987
- font-size: 0.86rem;
988
- line-height: 1.35;
989
- overflow: visible;
990
- overflow-wrap: anywhere;
991
- text-decoration: none;
992
- white-space: normal;
993
- }
994
-
995
- .navigation-page-disclosure[open] > .navigation-page-open-link {
996
- display: block;
997
- }
998
-
999
- .navigation-page-open-link:hover,
1000
- .navigation-page-open-link:focus-visible,
1001
- .navigation-page-open-link[aria-current='page'] {
1002
- color: var(--color-primary-text);
1003
- text-decoration: underline;
1004
- text-decoration-thickness: 1px;
1005
- text-underline-offset: 0.28em;
1006
- }
1007
-
1008
- .navigation-page-chevron::before {
1009
- display: block;
1010
- content: "›";
1011
- font-size: 1.15rem;
1012
- line-height: 1;
1013
- transition: transform 140ms ease;
1014
- }
1015
-
1016
- .navigation-page-disclosure[open] > .navigation-page-summary .navigation-page-chevron::before {
1017
- transform: rotate(90deg);
1018
- }
1019
-
1020
- .navigation-page-tree-sidebar > .navigation-page-node > .navigation-page-disclosure > .navigation-page-summary {
1021
- color: var(--color-primary-text);
1022
- font-size: 0.94rem;
1023
- font-weight: 700;
1024
- }
1025
-
1026
- .navigation-page-tree-sidebar > .navigation-page-node > .navigation-page-disclosure > .navigation-page-open-link {
1027
- color: var(--color-primary-text);
1028
- font-size: 0.94rem;
1029
- font-weight: 700;
1030
- }
1031
-
1032
- .navigation-page-tree-sidebar .navigation-page-disclosure > .navigation-page-branch-content {
1033
- margin: 0.1rem 0 0.25rem 0.3rem;
1034
- border-left: 1px solid color-mix(in srgb, currentColor 18%, transparent);
1035
- padding-left: 0.85rem;
1036
- }
1037
-
1038
- .navigation-page-tree-sidebar .navigation-page-disclosure .navigation-page-tree-sidebar {
1039
- margin: 0.25rem 0;
1040
- border-left: 0;
1041
- padding-left: 0;
1042
- }
1043
-
1044
- .navigation-page-disclosure[data-current-branch='true']:not([data-current-page='true']):not([data-sections-open='true'])
1045
- > .navigation-page-branch-content > .navigation-page-sections {
1046
- display: none;
1047
- }
1048
-
1049
- .page-contents-links li + li {
1050
- margin-top: 0.45rem;
1051
- }
1052
-
1053
- .page-contents-links ol {
1054
- margin: 0.45rem 0 0;
1055
- padding-left: 0.8rem;
1056
- border-left: 1px solid color-mix(in srgb, currentColor 16%, transparent);
1057
- list-style: none;
1058
- }
1059
-
1060
- .page-contents-links a {
1061
- position: relative;
1062
- display: block;
1063
- color: var(--color-secondary-text);
1064
- font-size: 0.8rem;
1065
- line-height: 1.4;
1066
- text-decoration: none;
1067
- }
1068
-
1069
- .page-contents-links a:hover,
1070
- .page-contents-links a:focus-visible,
1071
- .page-contents-links a[aria-current='location'] {
1072
- color: var(--color-primary-text);
1073
- text-decoration: underline;
1074
- text-underline-offset: 0.25em;
1075
- }
1076
-
1077
- .page-contents-links a[aria-current='location']::before {
1078
- position: absolute;
1079
- top: 0.15em;
1080
- bottom: 0.15em;
1081
- left: -0.85rem;
1082
- width: 2px;
1083
- border-radius: 1px;
1084
- background: currentColor;
1085
- content: '';
1086
- }
1087
-
1088
- .site-breadcrumbs {
1089
- min-height: calc(clamp(1rem, 2.5vw, 1.5rem) + 1.35rem);
1090
- width: min(100%, var(--reader-text-width, var(--page-text-width, var(--text-width))));
1091
- margin: 0 auto;
1092
- padding-top: clamp(1rem, 2.5vw, 1.5rem);
1093
- font-size: 1rem;
1094
- line-height: 1.4;
1095
- overflow: visible;
1096
- }
1097
-
1098
- .site-breadcrumbs ol {
1099
- display: flex;
1100
- flex-wrap: wrap;
1101
- gap: 0;
1102
- margin: 0;
1103
- padding: 0;
1104
- font-size: 0.78rem;
1105
- list-style: none;
1106
- }
1107
-
1108
- .site-breadcrumbs li {
1109
- display: flex;
1110
- min-width: 0;
1111
- align-items: center;
1112
- }
1113
-
1114
- .site-breadcrumbs li:last-child {
1115
- flex: 0 1 auto;
1116
- }
1117
-
1118
- .site-breadcrumbs li + li::before {
1119
- margin: 0 0.55rem;
1120
- content: "/";
1121
- opacity: 0.38;
1122
- }
1123
-
1124
- .site-breadcrumbs a {
1125
- display: block;
1126
- min-width: 0;
1127
- color: var(--color-secondary-text);
1128
- overflow: visible;
1129
- overflow-wrap: anywhere;
1130
- text-decoration: none;
1131
- }
1132
-
1133
- .site-breadcrumbs a:hover,
1134
- .site-breadcrumbs a:focus-visible {
1135
- color: var(--color-primary-text);
1136
- text-decoration: underline;
1137
- text-underline-offset: 0.25em;
1138
- }
1139
-
1140
- .site-breadcrumbs [aria-current='page'] {
1141
- display: block;
1142
- min-width: 0;
1143
- overflow: visible;
1144
- overflow-wrap: anywhere;
1145
- font-weight: 650;
1146
- }
1147
-
1148
- .site-content-has-breadcrumbs > .site-section:first-of-type {
1149
- padding-top: clamp(1.15rem, 2.5vw, 1.75rem);
1150
- }
1151
-
1152
- .site-banners {
1153
- position: relative;
1154
- z-index: 2;
1155
- display: grid;
1156
- gap: 0.75rem;
1157
- width: min(calc(100% - (var(--content-gutter) * 2)), var(--page-width));
1158
- margin: 0 auto;
1159
- padding: 1rem 0 0;
1160
- }
1161
-
1162
- .site-banner {
1163
- display: flex;
1164
- align-items: center;
1165
- width: 100%;
1166
- min-width: 0;
1167
- gap: 1rem;
1168
- border: 1px solid var(--color-warning-accent);
1169
- border-inline-start: 0.35rem solid var(--color-warning-accent);
1170
- padding: 0.8rem 0.9rem;
1171
- background: var(--color-warning-surface);
1172
- color: var(--color-warning-text);
1173
- }
1174
-
1175
- .site-banner[hidden] {
1176
- display: none;
1177
- }
1178
-
1179
- .site-banner-copy {
1180
- display: flex;
1181
- align-items: baseline;
1182
- flex-wrap: wrap;
1183
- gap: 0.65rem;
1184
- min-width: 0;
1185
- flex: 1 1 auto;
1186
- }
1187
-
1188
- .site-banner-title,
1189
- .site-banner-text {
1190
- margin: 0;
1191
- }
1192
-
1193
- .site-banner-title {
1194
- flex: 0 0 auto;
1195
- white-space: nowrap;
1196
- font-weight: 700;
1197
- }
1198
-
1199
- .site-banner-text {
1200
- min-width: 0;
1201
- margin-top: 0.2rem;
1202
- overflow-wrap: anywhere;
1203
- }
1204
-
1205
- .site-banner-dismiss {
1206
- flex: 0 0 auto;
1207
- width: 2rem;
1208
- height: 2rem;
1209
- border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
1210
- padding: 0;
1211
- background: transparent;
1212
- color: currentColor;
1213
- cursor: pointer;
1214
- font-size: 1.25rem;
1215
- line-height: 1;
1216
- }
1217
-
1218
- .site-banner-dismiss:hover,
1219
- .site-banner-dismiss:focus-visible {
1220
- background: color-mix(in srgb, currentColor 12%, transparent);
1221
- }
1222
-
1223
- .site-footer {
1224
- position: relative;
1225
- isolation: isolate;
1226
- z-index: 2;
1227
- width: min(calc(100% - (var(--content-gutter) * 2)), var(--page-width));
1228
- margin: 0 auto;
1229
- padding: 0 0 2.5rem;
1230
- background-color: var(--site-footer-background-color, var(--color-page));
1231
- color: var(--site-footer-text-color, var(--color-muted));
1232
- font-size: 0.75rem;
1233
- line-height: 1.5;
1234
- text-align: center;
1235
- }
1236
-
1237
- .site-footer::before {
1238
- position: absolute;
1239
- z-index: -1;
1240
- inset: 0 calc(50% - 50vw);
1241
- background-color: var(--site-footer-background-color, var(--color-page));
1242
- content: "";
1243
- pointer-events: none;
1244
- }
1245
-
1246
- .site-footer p {
1247
- margin: 0;
1248
- }
1249
-
1250
- .site-footer span {
1251
- display: block;
1252
- }
1253
-
1254
- .site-section {
1255
- position: relative;
1256
- isolation: isolate;
1257
- background-color: var(--section-background-color, transparent);
1258
- padding: var(--space-nav-to-first-section) 0 0;
1259
- }
1260
-
1261
- .site-section::before {
1262
- position: absolute;
1263
- z-index: -1;
1264
- inset: 0 calc(50% - 50vw);
1265
- background-color: var(--section-background-color, transparent);
1266
- content: "";
1267
- pointer-events: none;
1268
- }
1269
-
1270
- .site-page-layout-tree .site-section::before {
1271
- left: 0;
1272
- right: calc(0px - var(--tree-layout-outer-margin));
1273
- }
1274
-
1275
- .site-section + .site-section {
1276
- margin-top: 0;
1277
- padding-top: var(--space-section-to-section);
1278
- }
1279
-
1280
- .site-section-page-title-empty .section-header {
1281
- padding-bottom: 0;
1282
- }
1283
-
1284
- .site-section-page-title-empty .section-header h1 {
1285
- padding-bottom: 0;
1286
- }
1287
-
1288
- .site-section-page-title-empty + .site-section {
1289
- padding-top: var(--space-page-title-to-first-section);
1290
- }
1291
-
1292
- .site-section:last-child {
1293
- padding-bottom: var(--space-final-section-bottom);
1294
- }
1295
-
1296
- .section-card {
1297
- background: transparent;
1298
- color: var(--section-text-color, var(--color-text));
1299
- }
1300
-
1301
- .section-header {
1302
- width: min(100%, var(--reader-text-width, var(--section-heading-width-desktop, 760px)));
1303
- margin: 0 auto;
1304
- padding: 0;
1305
- text-align: var(--section-heading-align-desktop, center);
1306
- }
1307
-
1308
- .site-section-first-block-is-visual .section-header h1,
1309
- .site-section-first-block-is-visual .section-header h2 {
1310
- padding-bottom: var(--space-heading-to-block);
1311
- }
1312
-
1313
- .section-header h1,
1314
- .section-header h2,
1315
- p,
1316
- ul {
1317
- margin-top: 0;
1318
- }
1319
-
1320
- .section-header h1,
1321
- .section-header h2 {
1322
- margin-bottom: 0;
1323
- padding-bottom: var(--section-heading-spacing-after, 0.55em);
1324
- color: inherit;
1325
- font-size: var(--section-heading-font-size-desktop, clamp(1.35rem, 1.1rem + 0.9vw, 2rem));
1326
- font-weight: var(--section-heading-font-weight, 400);
1327
- letter-spacing: 0;
1328
- line-height: var(--section-heading-line-height, 1.04);
1329
- text-transform: uppercase;
1330
- overflow-wrap: anywhere;
1331
- }
1332
-
1333
- .section-body {
1334
- display: flow-root;
1335
- container-type: inline-size;
1336
- width: 100%;
1337
- margin: 0 auto;
1338
- color: inherit;
1339
- font-family: var(--font-sans);
1340
- font-size: clamp(0.96rem, 0.94rem + 0.08vw, 1rem);
1341
- }
1342
-
1343
- .section-note {
1344
- display: grid;
1345
- grid-template-columns: auto minmax(0, 1fr);
1346
- column-gap: 0.25rem;
1347
- width: 100%;
1348
- margin: var(--section-body-paragraph-spacing, 0.85em) 0 0;
1349
- border-inline-start: 2px solid color-mix(in srgb, currentColor 35%, transparent);
1350
- padding: 0 0 0 0.35rem;
1351
- color: var(--section-secondary-text-color, var(--color-secondary-text));
1352
- font-size: 0.88em;
1353
- line-height: 1.45;
1354
- scroll-margin-top: calc(var(--site-top-anchor-offset) + 1rem);
1355
- }
1356
-
1357
- .section-note-number {
1358
- display: block;
1359
- margin: 0;
1360
- color: inherit;
1361
- font-size: 0.82em;
1362
- font-weight: 700;
1363
- line-height: 1;
1364
- text-decoration: none;
1365
- }
1366
-
1367
- .section-note-ref {
1368
- display: inline-block;
1369
- margin-left: 0.03em;
1370
- font-size: 0.72em;
1371
- line-height: 0;
1372
- white-space: nowrap;
1373
- vertical-align: super;
1374
- }
1375
-
1376
- .section-note-ref a {
1377
- color: inherit;
1378
- text-decoration: underline;
1379
- text-decoration-thickness: 0.08em;
1380
- text-underline-offset: 0.15em;
1381
- }
1382
-
1383
- .section-note:target {
1384
- border-inline-start-color: currentColor;
1385
- background: color-mix(in srgb, currentColor 6%, transparent);
1386
- }
1387
-
1388
- .section-note-ref:has(+ .section-note:hover) a,
1389
- .section-note-ref a:hover,
1390
- .section-note-ref a:focus-visible {
1391
- text-decoration-thickness: 0.16em;
1392
- }
1393
-
1394
- .section-note-content {
1395
- min-width: 0;
1396
- }
1397
-
1398
- @media (min-width: 1101px) {
1399
- @container (min-width: 55rem) {
1400
- .section-note {
1401
- float: right;
1402
- clear: right;
1403
- width: var(--section-note-width, 12rem);
1404
- margin: 0 calc(0px - var(--section-note-width, 12rem) - var(--section-note-gap, 1.25rem)) 0.75rem var(--section-note-gap, 1.25rem);
1405
- }
1406
- }
1407
- }
1408
-
1409
- .section-markdown {
1410
- width: min(100%, var(--reader-text-width, var(--section-body-width-desktop, var(--text-width))));
1411
- max-width: none;
1412
- margin: 0 auto;
1413
- font-size: var(--section-body-font-size-desktop, clamp(0.96rem, 0.94rem + 0.08vw, 1rem));
1414
- line-height: var(--section-body-line-height, 1.6);
1415
- text-align: var(--section-body-align-desktop, left);
1416
- }
1417
-
1418
- :root[data-focus-reading='on'] :is(
1419
- .site-nav-leading,
1420
- .site-nav,
1421
- .mobile-nav-menu,
1422
- .page-nav,
1423
- .tree-local-navigation,
1424
- .site-breadcrumbs,
1425
- .site-footer
1426
- ) {
1427
- display: none !important;
1428
- }
1429
-
1430
- :root[data-focus-reading='on'] .site-nav-row {
1431
- justify-content: flex-end;
1432
- }
1433
-
1434
- @media (min-width: 701px) {
1435
- :root[data-focus-reading='on'] .site-page-layout-tree {
1436
- display: grid;
1437
- grid-template-columns: var(--tree-navigation-width) minmax(0, 1fr);
1438
- gap: var(--tree-layout-gap);
1439
- width: min(calc(100% - (var(--content-gutter) * 2)), var(--tree-layout-width));
1440
- }
1441
-
1442
- :root[data-focus-reading='on'] .site-page-layout-tree > .site-content {
1443
- grid-column: 2;
1444
- width: 100%;
1445
- }
1446
-
1447
- :root[data-focus-reading='on'] .site-page-layout-tree
1448
- :is(.site-breadcrumbs, .section-header) {
1449
- margin-right: auto;
1450
- margin-left: 0;
1451
- max-width: none;
1452
- }
1453
-
1454
- :root[data-focus-reading='on'] .site-page-layout-tree .section-body {
1455
- width: 100%;
1456
- margin-right: auto;
1457
- margin-left: auto;
1458
- }
1459
-
1460
- :root[data-focus-reading='on'] .site-page-layout-tree .site-section::before {
1461
- left: 0;
1462
- right: calc(0px - var(--tree-layout-outer-margin));
1463
- }
1464
- }
1465
-
1466
- :root[data-focus-reading='on'] .site-content-has-breadcrumbs > .site-section:first-of-type {
1467
- padding-top: var(--space-nav-to-first-section);
1468
- }
1469
-
1470
- .section-markdown p {
1471
- margin: 0 0 var(--section-body-paragraph-spacing, 1em);
1472
- }
1473
-
1474
- .section-markdown blockquote {
1475
- margin: 0 0 var(--section-body-paragraph-spacing, 1em);
1476
- border-left: 1px solid color-mix(in srgb, currentColor 34%, transparent);
1477
- padding-left: 1rem;
1478
- }
1479
-
1480
- .section-markdown blockquote > :last-child {
1481
- margin-bottom: 0;
1482
- }
1483
-
1484
- .section-markdown pre.astro-code {
1485
- margin: 0 0 var(--section-body-paragraph-spacing, 1em);
1486
- border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
1487
- border-radius: var(--corner-radius-medium, 6px);
1488
- padding: 0.78rem 0.9rem;
1489
- background: var(--color-code-background) !important;
1490
- color: var(--color-code-text);
1491
- font-size: 0.92em;
1492
- line-height: 1.45;
1493
- text-align: left;
1494
- }
1495
-
1496
- .section-markdown pre.astro-code code {
1497
- font: inherit;
1498
- }
1499
-
1500
- .section-markdown :not(pre) > code {
1501
- overflow-wrap: anywhere;
1502
- word-break: break-word;
1503
- }
1504
-
1505
- .section-markdown > :last-child,
1506
- .image-meta :last-child {
1507
- margin-bottom: 0;
1508
- }
1509
-
1510
- .section-markdown > pre.astro-code:last-child {
1511
- margin-bottom: 0;
1512
- }
1513
-
1514
- .section-markdown blockquote > pre.astro-code:last-child {
1515
- margin-bottom: 0;
1516
- }
1517
-
1518
- .section-markdown h3 {
1519
- margin:
1520
- var(--section-markdown-h3-spacing-before, 1.5em)
1521
- 0
1522
- var(--section-markdown-h3-spacing-after, 0.5em);
1523
- border-top: 1px solid var(--color-soft);
1524
- padding-top: 0.55em;
1525
- font-family: var(--font-sans);
1526
- font-size: var(--section-markdown-h3-font-size-desktop, 0.82rem);
1527
- font-weight: var(--section-markdown-h3-font-weight, 700);
1528
- letter-spacing: 0;
1529
- line-height: var(--section-markdown-h3-line-height, 1.35);
1530
- text-align: var(--section-markdown-h3-align-desktop, left);
1531
- text-transform: uppercase;
1532
- }
1533
-
1534
- .section-markdown h4 {
1535
- margin:
1536
- var(--section-markdown-h4-spacing-before, 1.1em)
1537
- 0
1538
- var(--section-markdown-h4-spacing-after, 0.4em);
1539
- color: inherit;
1540
- font-size: var(--section-markdown-h4-font-size-desktop, clamp(0.96rem, 0.94rem + 0.08vw, 1rem));
1541
- font-weight: var(--section-markdown-h4-font-weight, 400);
1542
- letter-spacing: 0;
1543
- line-height: var(--section-markdown-h4-line-height, 1.5);
1544
- text-align: var(--section-markdown-h4-align-desktop, left);
1545
- }
1546
-
1547
- .section-markdown ul,
1548
- .section-markdown ol {
1549
- display: inline-block;
1550
- margin-right: auto;
1551
- margin-left: auto;
1552
- padding-left: 1.2rem;
1553
- text-align: left;
1554
- }
1555
-
1556
- .section-markdown li + li {
1557
- margin-top: 0.35rem;
1558
- }
1559
-
1560
- .card-list {
1561
- display: grid;
1562
- grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
1563
- gap: var(--card-list-gap, clamp(0.9rem, 2vw, 1.25rem));
1564
- width: min(100%, var(--card-list-width, min(56rem, var(--page-width))));
1565
- margin: 0 auto;
1566
- text-align: left;
1567
- --card-list-width: min(56rem, var(--page-width));
1568
- --card-list-gap: clamp(0.9rem, 2vw, 1.25rem);
1569
- --card-list-item-gap: 0.85rem;
1570
- --card-list-padding: clamp(0.9rem, 2vw, 1.15rem);
1571
- --card-list-media-width: 32%;
1572
- --card-list-media-min-width: 7rem;
1573
- --card-list-top-media-width: 20rem;
1574
- --card-list-title-scale: 1;
1575
- --card-list-text-scale: 1;
1576
- }
1577
-
1578
- .section-body > .section-markdown:not(:last-child),
1579
- .section-body > :is(.image-stack, .managed-images):not(:last-child) {
1580
- margin-bottom: var(--space-content-block-gap);
1581
- }
1582
-
1583
- .section-body > :is(.image-stack, .managed-images, .card-list) {
1584
- clear: both;
1585
- }
1586
-
1587
- .section-body > .card-list:not(:last-child) {
1588
- margin-bottom: calc(var(--space-content-block-gap) + var(--space-card-list-after));
1589
- }
1590
-
1591
- .section-body > .card-list:last-child {
1592
- margin-bottom: var(--space-card-list-after);
1593
- }
1594
-
1595
- .card-list-width-text {
1596
- --card-list-width: var(--reader-text-width, var(--text-width));
1597
- }
1598
-
1599
- .card-list-width-narrow {
1600
- --card-list-width: min(48rem, var(--page-width));
1601
- }
1602
-
1603
- .card-list-width-wide {
1604
- --card-list-width: var(--page-width);
1605
- }
1606
-
1607
- .card-list-size-s {
1608
- --card-list-gap: 0.75rem;
1609
- --card-list-item-gap: 0.65rem;
1610
- --card-list-padding: 0.8rem;
1611
- --card-list-media-width: 26%;
1612
- --card-list-media-min-width: 5.5rem;
1613
- --card-list-top-media-width: 14rem;
1614
- --card-list-title-scale: 0.92;
1615
- --card-list-text-scale: 0.92;
1616
- }
1617
-
1618
- .card-list-size-l {
1619
- --card-list-gap: clamp(1rem, 2.4vw, 1.5rem);
1620
- --card-list-item-gap: 1rem;
1621
- --card-list-padding: clamp(1.1rem, 2.4vw, 1.45rem);
1622
- --card-list-media-width: 36%;
1623
- --card-list-media-min-width: 8.5rem;
1624
- --card-list-top-media-width: 24rem;
1625
- --card-list-title-scale: 1.08;
1626
- --card-list-text-scale: 1.02;
1627
- }
1628
-
1629
- .card-list-size-xl {
1630
- --card-list-gap: clamp(1.15rem, 2.8vw, 1.8rem);
1631
- --card-list-item-gap: 1.1rem;
1632
- --card-list-padding: clamp(1.25rem, 3vw, 1.75rem);
1633
- --card-list-media-width: 40%;
1634
- --card-list-media-min-width: 10rem;
1635
- --card-list-top-media-width: 28rem;
1636
- --card-list-title-scale: 1.18;
1637
- --card-list-text-scale: 1.06;
1638
- }
1639
-
1640
- .card-list-flow-stack {
1641
- grid-template-columns: 1fr;
1642
- }
1643
-
1644
- .card-list-item {
1645
- display: grid;
1646
- gap: var(--card-list-item-gap);
1647
- align-content: start;
1648
- margin: 0;
1649
- border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
1650
- border-radius: var(--corner-radius-large, 8px);
1651
- padding: var(--card-list-padding);
1652
- background: var(--color-surface);
1653
- color: inherit;
1654
- }
1655
-
1656
- .card-list-layout-image-left .card-list-item-has-image,
1657
- .card-list-layout-image-right .card-list-item-has-image {
1658
- grid-template-columns: minmax(var(--card-list-media-min-width), var(--card-list-media-width)) minmax(0, 1fr);
1659
- align-items: center;
1660
- }
1661
-
1662
- .card-list-layout-image-right .card-list-item-has-image {
1663
- grid-template-columns: minmax(0, 1fr) minmax(var(--card-list-media-min-width), var(--card-list-media-width));
1664
- }
1665
-
1666
- .card-list-layout-image-left .card-list-item-linked,
1667
- .card-list-layout-image-right .card-list-item-linked {
1668
- grid-template-columns: 1fr;
1669
- }
1670
-
1671
- .card-list-layout-image-right .card-list-image-frame {
1672
- order: 2;
1673
- }
1674
-
1675
- .card-list-link {
1676
- display: grid;
1677
- gap: var(--card-list-item-gap);
1678
- width: 100%;
1679
- color: inherit;
1680
- text-decoration: none;
1681
- }
1682
-
1683
- .card-list-layout-image-left .card-list-item-has-image .card-list-link,
1684
- .card-list-layout-image-right .card-list-item-has-image .card-list-link {
1685
- grid-template-columns: minmax(var(--card-list-media-min-width), var(--card-list-media-width)) minmax(0, 1fr);
1686
- align-items: center;
1687
- }
1688
-
1689
- .card-list-layout-image-right .card-list-item-has-image .card-list-link {
1690
- grid-template-columns: minmax(0, 1fr) minmax(var(--card-list-media-min-width), var(--card-list-media-width));
1691
- }
1692
-
1693
- .card-list-link:hover .card-list-title,
1694
- .card-list-link:focus-visible .card-list-title {
1695
- text-decoration: underline;
1696
- text-underline-offset: 0.18em;
1697
- }
1698
-
1699
- .card-list-image-frame {
1700
- display: grid;
1701
- width: 100%;
1702
- aspect-ratio: 16 / 10;
1703
- place-items: center;
1704
- overflow: hidden;
1705
- }
1706
-
1707
- .card-list-flow-stack.card-list-layout-image-top .card-list-image-frame {
1708
- width: min(100%, var(--card-list-top-media-width));
1709
- }
1710
-
1711
- .card-list-image {
1712
- display: block;
1713
- width: 100%;
1714
- height: 100%;
1715
- object-fit: contain;
1716
- }
1717
-
1718
- .card-list-content {
1719
- display: grid;
1720
- gap: 0.4rem;
1721
- }
1722
-
1723
- .card-list-badge {
1724
- justify-self: start;
1725
- margin: 0 0 0.15rem;
1726
- border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
1727
- border-radius: 999px;
1728
- padding: 0.18rem 0.48rem;
1729
- background: color-mix(in srgb, currentColor 9%, transparent);
1730
- color: inherit;
1731
- font-size: calc(var(--section-body-font-size-desktop, 1rem) * 0.72);
1732
- font-weight: 700;
1733
- letter-spacing: 0;
1734
- line-height: 1.2;
1735
- }
1736
-
1737
- .card-list-title {
1738
- margin: 0;
1739
- color: inherit;
1740
- font-size: calc(var(--section-markdown-h3-font-size-desktop, 1.1rem) * var(--card-list-title-scale));
1741
- font-weight: 700;
1742
- letter-spacing: 0;
1743
- line-height: var(--section-markdown-h3-line-height, 1.35);
1744
- text-transform: none;
1745
- }
1746
-
1747
- .card-list-content p:not(.card-list-badge) {
1748
- margin: 0;
1749
- font-size: calc(var(--section-body-font-size-desktop, 1rem) * var(--card-list-text-scale));
1750
- line-height: var(--section-body-line-height, 1.5);
1751
- }
1752
-
1753
- :is(.image-stack, .managed-images) {
1754
- display: grid;
1755
- gap: var(--space-image-item);
1756
- margin-top: 0;
1757
- }
1758
-
1759
- .managed-image-item {
1760
- display: grid;
1761
- gap: 0.55rem;
1762
- align-content: start;
1763
- margin: 0;
1764
- }
1765
-
1766
- .managed-image-frame {
1767
- display: grid;
1768
- width: min(100%, var(--image-layout-width));
1769
- margin: 0 auto;
1770
- background: transparent;
1771
- place-items: center;
1772
- }
1773
-
1774
- .managed-image {
1775
- display: block;
1776
- width: auto;
1777
- margin: 0 auto;
1778
- background: transparent;
1779
- height: auto;
1780
- max-width: 100%;
1781
- max-height: var(--image-max-height);
1782
- object-fit: contain;
1783
- }
1784
-
1785
- .managed-image.managed-image-landscape {
1786
- width: 100%;
1787
- max-height: none;
1788
- }
1789
-
1790
- .image-carousel {
1791
- position: relative;
1792
- --image-carousel-width-from-height: var(--image-carousel-width-from-height-desktop, var(--image-layout-width));
1793
- --image-carousel-control-background: var(--color-control-background);
1794
- --image-carousel-control-background-active: var(--color-control-background-active);
1795
- --image-carousel-control-color: var(--color-control-text);
1796
- outline: none;
1797
- }
1798
-
1799
- .image-carousel:focus-visible {
1800
- outline: var(--focus-indicator-width) solid var(--color-focus-ring);
1801
- outline-offset: 0.5rem;
1802
- }
1803
-
1804
- .image-carousel-slide {
1805
- flex: 0 0 100%;
1806
- min-width: 0;
1807
- margin: 0;
1808
- }
1809
-
1810
- .image-carousel-stage {
1811
- position: relative;
1812
- display: grid;
1813
- width: min(
1814
- 100%,
1815
- var(--image-layout-width),
1816
- var(--image-carousel-width-from-height, var(--image-layout-width))
1817
- );
1818
- max-height: var(--image-max-height);
1819
- margin: 0 auto;
1820
- aspect-ratio: var(--image-carousel-aspect-ratio, auto);
1821
- }
1822
-
1823
- .image-carousel-viewport {
1824
- height: 100%;
1825
- }
1826
-
1827
- .image-carousel-frame {
1828
- display: grid;
1829
- width: 100%;
1830
- height: 100%;
1831
- min-height: 0;
1832
- place-items: center;
1833
- }
1834
-
1835
- .image-carousel[data-carousel-ready='true'] .image-carousel-viewport {
1836
- overflow: hidden;
1837
- }
1838
-
1839
- .image-carousel[data-carousel-ready='true'] .image-carousel-slides {
1840
- display: flex;
1841
- height: 100%;
1842
- touch-action: pan-y pinch-zoom;
1843
- }
1844
-
1845
- .image-carousel[data-carousel-ready='true'] .image-carousel-slide {
1846
- display: grid;
1847
- height: 100%;
1848
- min-height: 0;
1849
- align-content: start;
1850
- }
1851
-
1852
- .image-carousel-frame .managed-image {
1853
- width: 100%;
1854
- height: 100%;
1855
- min-width: 0;
1856
- min-height: 0;
1857
- max-width: 100%;
1858
- max-height: 100%;
1859
- object-fit: contain;
1860
- }
1861
-
1862
- .image-carousel-button,
1863
- .image-carousel-position {
1864
- display: none;
1865
- }
1866
-
1867
- .image-carousel[data-carousel-ready='true'] .image-carousel-button,
1868
- .image-carousel[data-carousel-ready='true'] .image-carousel-position {
1869
- display: grid;
1870
- }
1871
-
1872
- .image-carousel-button {
1873
- position: absolute;
1874
- top: 50%;
1875
- z-index: 2;
1876
- width: 2.75rem;
1877
- height: 2.75rem;
1878
- padding: 0;
1879
- place-items: center;
1880
- border: 0;
1881
- border-radius: 999px;
1882
- background: var(--image-carousel-control-background);
1883
- box-shadow: 0 0.125rem 0.5rem rgb(0 0 0 / 18%);
1884
- color: var(--image-carousel-control-color);
1885
- cursor: pointer;
1886
- transform: translateY(-50%);
1887
- }
1888
-
1889
- .image-carousel-button svg {
1890
- width: 1.5rem;
1891
- height: 1.5rem;
1892
- fill: none;
1893
- stroke: currentColor;
1894
- stroke-linecap: round;
1895
- stroke-linejoin: round;
1896
- stroke-width: 2;
1897
- }
1898
-
1899
- .image-carousel-button:hover:not(:disabled),
1900
- .image-carousel-button:focus-visible:not(:disabled) {
1901
- background: var(--image-carousel-control-background-active);
1902
- }
1903
-
1904
- .image-carousel-button:focus-visible:not(:disabled) {
1905
- outline: var(--focus-indicator-width) solid var(--image-carousel-control-color);
1906
- outline-offset: 2px;
1907
- box-shadow:
1908
- 0 0 0 4px var(--image-carousel-control-background-active),
1909
- 0 0 0 6px var(--color-focus-ring);
1910
- }
1911
-
1912
- .image-carousel-button:disabled {
1913
- cursor: default;
1914
- opacity: 0;
1915
- pointer-events: none;
1916
- }
1917
-
1918
- .image-carousel-button-previous {
1919
- left: 0.75rem;
1920
- }
1921
-
1922
- .image-carousel-button-next {
1923
- right: 0.75rem;
1924
- }
1925
-
1926
- .image-carousel-position {
1927
- position: absolute;
1928
- right: 0.75rem;
1929
- bottom: 0.75rem;
1930
- z-index: 2;
1931
- min-width: 3rem;
1932
- min-height: 1.875rem;
1933
- padding: 0.35rem 0.65rem;
1934
- place-items: center;
1935
- border: 0;
1936
- border-radius: 999px;
1937
- background: var(--image-carousel-control-background);
1938
- box-shadow: 0 0.125rem 0.5rem rgb(0 0 0 / 18%);
1939
- color: var(--image-carousel-control-color);
1940
- font-size: 0.8125rem;
1941
- font-variant-numeric: tabular-nums;
1942
- font-weight: 600;
1943
- line-height: 1;
1944
- text-align: center;
1945
- }
1946
-
1947
- .image-carousel-captions {
1948
- width: min(
1949
- 100%,
1950
- var(--image-layout-width),
1951
- var(--image-carousel-width-from-height, var(--image-layout-width)),
1952
- 72ch
1953
- );
1954
- margin: 0 auto;
1955
- }
1956
-
1957
- .image-carousel-caption {
1958
- margin-bottom: 0;
1959
- }
1960
-
1961
- .image-carousel[data-carousel-ready='true'] .image-carousel-captions {
1962
- display: grid;
1963
- }
1964
-
1965
- .image-carousel[data-carousel-ready='true'] .image-carousel-caption {
1966
- grid-area: 1 / 1;
1967
- visibility: hidden;
1968
- pointer-events: none;
1969
- }
1970
-
1971
- .image-carousel[data-carousel-ready='true'] .image-carousel-caption.is-active {
1972
- visibility: visible;
1973
- pointer-events: auto;
1974
- }
1975
-
1976
- .image-meta {
1977
- width: min(100%, var(--image-layout-width), 72ch);
1978
- margin: var(--section-caption-spacing-before, 0.5em) auto 0;
1979
- font-size: var(--section-caption-font-size-desktop, 0.95rem);
1980
- text-align: var(--section-caption-align-desktop, center);
1981
- }
1982
-
1983
- .image-details {
1984
- display: flex;
1985
- flex-wrap: wrap;
1986
- align-items: baseline;
1987
- justify-content: var(--section-caption-justify-desktop, center);
1988
- gap: 0.5rem;
1989
- margin-bottom: 0;
1990
- color: var(--section-secondary-text-color, var(--color-secondary-text));
1991
- font-size: inherit;
1992
- font-family: var(--font-sans);
1993
- letter-spacing: 0;
1994
- line-height: var(--section-caption-line-height, 1.5);
1995
- }
1996
-
1997
- @media (max-width: 700px) {
1998
- :root {
1999
- --space-nav-to-first-section: var(--space-nav-to-first-section-mobile);
2000
- --space-content-block-gap: var(--space-content-block-gap-mobile);
2001
- --space-heading-to-block: var(--space-heading-to-block-mobile);
2002
- --space-image-item: var(--space-image-item-mobile);
2003
- --space-section-to-section: var(--space-section-to-section-mobile);
2004
- --space-page-title-to-first-section: var(--space-page-title-to-first-section-mobile);
2005
- --space-final-section-bottom: var(--space-final-section-bottom-mobile);
2006
- --content-gutter: var(--content-gutter-mobile);
2007
- --image-max-available-width: var(--image-max-available-width-mobile);
2008
- --image-max-height: var(--image-max-height-mobile);
2009
- --site-top-anchor-offset: 6.25rem;
2010
- }
2011
-
2012
- .site-top {
2013
- backdrop-filter: none;
2014
- }
2015
-
2016
- .image-carousel {
2017
- --image-carousel-width-from-height: var(--image-carousel-width-from-height-mobile, var(--image-layout-width));
2018
- }
2019
-
2020
- .site-nav-row {
2021
- width: min(calc(100% - (var(--content-gutter) * 2)), var(--page-width));
2022
- padding: 0.75rem 0;
2023
- }
2024
-
2025
- .site-nav-row-mobile-only {
2026
- display: flex;
2027
- }
2028
-
2029
- .site-brand {
2030
- max-width: min(70vw, 26rem);
2031
- font-size: 0.76rem;
2032
- overflow-wrap: anywhere;
2033
- }
2034
-
2035
- .site-brand-logo {
2036
- height: min(var(--site-brand-logo-height, 2.6rem), 2.15rem);
2037
- max-width: min(48vw, 13rem);
2038
- }
2039
-
2040
- .site-nav {
2041
- display: none;
2042
- }
2043
-
2044
- .mobile-nav-menu {
2045
- display: block;
2046
- position: relative;
2047
- flex: 0 0 auto;
2048
- margin-left: auto;
2049
- }
2050
-
2051
- .page-nav {
2052
- display: none;
2053
- }
2054
-
2055
- .page-nav.page-nav-title-only {
2056
- display: block;
2057
- }
2058
-
2059
- .mobile-nav-menu > summary {
2060
- display: flex;
2061
- align-items: center;
2062
- gap: 0.5rem;
2063
- min-height: 2.75rem;
2064
- border: 1px solid currentColor;
2065
- padding: 0.55rem 0.75rem;
2066
- font-size: 0.72rem;
2067
- font-weight: 700;
2068
- letter-spacing: 0.1em;
2069
- line-height: 1;
2070
- list-style: none;
2071
- color: var(--site-top-text-color, var(--color-primary-text));
2072
- text-transform: uppercase;
2073
- }
2074
-
2075
- .mobile-nav-menu > summary::after {
2076
- content: "☰";
2077
- font-size: 1rem;
2078
- line-height: 1;
2079
- opacity: 0.86;
2080
- }
2081
-
2082
- .mobile-nav-menu[open] > summary::after {
2083
- content: "×";
2084
- font-size: 1.25rem;
2085
- }
2086
-
2087
- .mobile-nav-menu > summary::-webkit-details-marker {
2088
- display: none;
2089
- }
2090
-
2091
- .mobile-nav-panel {
2092
- position: fixed;
2093
- top: var(--site-top-anchor-offset);
2094
- right: 0;
2095
- bottom: 0;
2096
- left: 0;
2097
- width: 100%;
2098
- max-height: none;
2099
- border-top: 1px solid color-mix(in srgb, currentColor 24%, transparent);
2100
- padding: clamp(1.25rem, 5vw, 2rem) var(--content-gutter) max(1.5rem, env(safe-area-inset-bottom));
2101
- background: var(--site-top-background-color, var(--color-nav-background));
2102
- box-shadow: 0 1.5rem 3.5rem rgb(0 0 0 / 0.32);
2103
- color: var(--site-top-text-color, var(--color-text));
2104
- overflow-y: auto;
2105
- overscroll-behavior: contain;
2106
- }
2107
-
2108
- .mobile-site-nav {
2109
- width: min(100%, 32rem);
2110
- margin: 0 auto;
2111
- }
2112
-
2113
- .mobile-nav-panel h2 {
2114
- margin: 0 0 1.25rem;
2115
- font-size: clamp(1.25rem, 5vw, 1.55rem);
2116
- font-weight: 650;
2117
- letter-spacing: 0;
2118
- line-height: 1.2;
2119
- text-transform: none;
2120
- }
2121
-
2122
- .mobile-nav-panel :is(ul, ol) {
2123
- display: grid;
2124
- gap: 0;
2125
- margin: 0;
2126
- padding: 0;
2127
- list-style: none;
2128
- }
2129
-
2130
- .navigation-page-tree-mobile > .navigation-page-node {
2131
- border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
2132
- }
2133
-
2134
- .navigation-page-tree-mobile > .navigation-page-node:first-child {
2135
- border-top: 0;
2136
- }
2137
-
2138
- .navigation-page-tree-mobile .navigation-page-link {
2139
- display: flex;
2140
- align-items: center;
2141
- width: 100%;
2142
- min-height: 3.25rem;
2143
- padding: 0.75rem 2.5rem 0.75rem 0;
2144
- color: var(--color-secondary-text);
2145
- font-size: 0.94rem;
2146
- letter-spacing: 0;
2147
- line-height: 1.35;
2148
- text-decoration: none;
2149
- text-transform: none;
2150
- }
2151
-
2152
- .navigation-page-tree-mobile .navigation-page-disclosure > .navigation-page-summary {
2153
- position: static;
2154
- display: flex;
2155
- align-items: center;
2156
- justify-content: space-between;
2157
- width: 100%;
2158
- height: auto;
2159
- min-height: 3.25rem;
2160
- padding: 0.75rem 0;
2161
- font-size: 0.94rem;
2162
- line-height: 1.35;
2163
- color: var(--color-secondary-text);
2164
- }
2165
-
2166
- .navigation-page-tree-mobile .navigation-page-disclosure > .navigation-page-open-link {
2167
- display: none;
2168
- align-items: center;
2169
- min-height: 3.25rem;
2170
- width: calc(100% - 2.5rem);
2171
- padding: 0.75rem 0;
2172
- font-size: 0.94rem;
2173
- line-height: 1.35;
2174
- color: var(--color-secondary-text);
2175
- overflow-wrap: anywhere;
2176
- }
2177
-
2178
- .navigation-page-tree-mobile .navigation-page-disclosure[open] > .navigation-page-open-link {
2179
- display: flex;
2180
- }
2181
-
2182
- .navigation-page-tree-mobile .navigation-page-disclosure > .navigation-page-summary:hover,
2183
- .navigation-page-tree-mobile .navigation-page-disclosure > .navigation-page-summary:focus-visible,
2184
- .navigation-page-node-current > .navigation-page-disclosure > .navigation-page-summary {
2185
- background: transparent;
2186
- color: var(--color-primary-text);
2187
- }
2188
-
2189
- .navigation-page-tree-mobile .navigation-page-disclosure > .navigation-page-summary:hover > :first-child,
2190
- .navigation-page-tree-mobile .navigation-page-disclosure > .navigation-page-summary:focus-visible > :first-child,
2191
- .navigation-page-node-current > .navigation-page-disclosure > .navigation-page-summary > :first-child {
2192
- text-decoration: underline;
2193
- text-decoration-thickness: 1px;
2194
- text-underline-offset: 0.3em;
2195
- }
2196
-
2197
- .navigation-page-chevron::before {
2198
- display: block;
2199
- content: "›";
2200
- font-size: 1.25rem;
2201
- line-height: 1;
2202
- transition: transform 140ms ease;
2203
- }
2204
-
2205
- .navigation-page-disclosure[open] > .navigation-page-summary .navigation-page-chevron::before {
2206
- transform: rotate(90deg);
2207
- }
2208
-
2209
- .navigation-page-tree-mobile .navigation-page-disclosure > .navigation-page-summary > [aria-hidden='true']::before,
2210
- .navigation-page-tree-mobile .navigation-page-disclosure[open] > .navigation-page-summary > [aria-hidden='true']::before {
2211
- content: "›";
2212
- }
2213
-
2214
- .navigation-page-tree-mobile .navigation-page-branch-content {
2215
- margin-left: 0.35rem;
2216
- border-left: 1px solid color-mix(in srgb, currentColor 20%, transparent);
2217
- padding-left: 1rem;
2218
- }
2219
-
2220
- .navigation-page-tree-mobile .navigation-page-sections {
2221
- margin: 0 0 0.45rem;
2222
- }
2223
-
2224
- .navigation-page-branch-content > .navigation-page-tree-mobile > .navigation-page-node {
2225
- border-top: 1px solid color-mix(in srgb, currentColor 10%, transparent);
2226
- }
2227
-
2228
- .navigation-page-tree-mobile .navigation-page-link:hover,
2229
- .navigation-page-tree-mobile .navigation-page-link:focus-visible,
2230
- .navigation-page-tree-mobile .navigation-page-link[aria-current='page'] {
2231
- color: var(--color-primary-text);
2232
- text-decoration: underline;
2233
- text-decoration-thickness: 1px;
2234
- text-underline-offset: 0.3em;
2235
- }
2236
-
2237
- .page-contents-links-mobile {
2238
- margin-top: 0.25rem;
2239
- }
2240
-
2241
- .page-contents-links-mobile > li {
2242
- border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
2243
- }
2244
-
2245
- .page-contents-links-mobile li + li {
2246
- margin-top: 0;
2247
- }
2248
-
2249
- .page-contents-links-mobile ol {
2250
- border-left: 1px solid color-mix(in srgb, currentColor 16%, transparent);
2251
- padding-left: 1rem;
2252
- }
2253
-
2254
- .page-contents-links-mobile a {
2255
- min-height: 3.2rem;
2256
- padding: 0.85rem 0;
2257
- font-size: 0.92rem;
2258
- color: var(--color-secondary-text);
2259
- }
2260
-
2261
- .mobile-nav-panel a {
2262
- font-family: inherit;
2263
- font-size: 0.94rem;
2264
- letter-spacing: 0;
2265
- line-height: 1.35;
2266
- text-transform: none;
2267
- }
2268
-
2269
- .mobile-nav-view + .mobile-nav-view {
2270
- margin-top: 2rem;
2271
- }
2272
-
2273
- .mobile-nav-sections {
2274
- border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
2275
- }
2276
-
2277
- .mobile-nav-sections li {
2278
- border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
2279
- }
2280
-
2281
- .mobile-nav-sections a {
2282
- min-height: 3.2rem;
2283
- padding: 0.85rem 0;
2284
- font-size: 0.92rem;
2285
- color: var(--color-secondary-text);
2286
- }
2287
-
2288
- .mobile-nav-sections .mobile-nav-page-top {
2289
- font-weight: 650;
2290
- }
2291
-
2292
- .mobile-nav-sections li:not(.mobile-nav-page-top-item) a {
2293
- padding-left: 1rem;
2294
- }
2295
-
2296
- .mobile-nav-sections a:hover,
2297
- .mobile-nav-sections a:focus-visible,
2298
- .mobile-nav-sections a[aria-current='location'] {
2299
- color: var(--color-primary-text);
2300
- text-decoration: underline;
2301
- text-decoration-thickness: 1px;
2302
- text-underline-offset: 0.25em;
2303
- }
2304
-
2305
- .mobile-navigation-open {
2306
- overflow: hidden;
2307
- }
2308
-
2309
- .site-content {
2310
- width: min(calc(100% - (var(--content-gutter) * 2)), var(--page-width));
2311
- }
2312
-
2313
- .site-page-layout-tree {
2314
- display: block;
2315
- width: 100%;
2316
- }
2317
-
2318
- .site-page-layout-tree > .site-content {
2319
- width: min(calc(100% - (var(--content-gutter) * 2)), var(--page-width));
2320
- }
2321
-
2322
- .site-page-layout-tree .site-section::before {
2323
- left: calc(50% - 50vw);
2324
- right: calc(50% - 50vw);
2325
- }
2326
-
2327
- .tree-local-navigation {
2328
- display: none;
2329
- }
2330
-
2331
- .site-banners {
2332
- width: min(calc(100% - 2rem), var(--page-width));
2333
- padding-top: 0.75rem;
2334
- }
2335
-
2336
- .site-footer {
2337
- width: min(calc(100% - 2rem), 34rem);
2338
- }
2339
-
2340
- .site-section + .site-section {
2341
- margin-top: 0;
2342
- }
2343
-
2344
- .section-body {
2345
- width: 100%;
2346
- line-height: 1.72;
2347
- }
2348
-
2349
- .section-header h1,
2350
- .section-header h2 {
2351
- font-size: var(
2352
- --section-heading-font-size-mobile,
2353
- var(--section-heading-font-size-desktop, clamp(1.3rem, 1.05rem + 1.35vw, 1.75rem))
2354
- );
2355
- }
2356
-
2357
- .section-header {
2358
- width: min(
2359
- 100%,
2360
- var(
2361
- --reader-text-width,
2362
- var(--section-heading-width-mobile, var(--section-heading-width-desktop, 760px))
2363
- )
2364
- );
2365
- text-align: var(--section-heading-align-mobile, var(--section-heading-align-desktop, center));
2366
- }
2367
-
2368
- .section-markdown {
2369
- width: min(
2370
- 100%,
2371
- var(--reader-text-width, var(--section-body-width-mobile, var(--section-body-width-desktop, var(--text-width))))
2372
- );
2373
- font-size: var(
2374
- --section-body-font-size-mobile,
2375
- var(--section-body-font-size-desktop, clamp(0.96rem, 0.94rem + 0.08vw, 1rem))
2376
- );
2377
- text-align: var(--section-body-align-mobile, var(--section-body-align-desktop, left));
2378
- }
2379
-
2380
- .image-meta {
2381
- font-size: var(--section-caption-font-size-mobile, var(--section-caption-font-size-desktop, 0.95rem));
2382
- text-align: var(--section-caption-align-mobile, var(--section-caption-align-desktop, center));
2383
- }
2384
-
2385
- .image-details {
2386
- justify-content: var(--section-caption-justify-mobile, var(--section-caption-justify-desktop, center));
2387
- }
2388
-
2389
- .section-markdown h3 {
2390
- font-size: var(--section-markdown-h3-font-size-mobile, var(--section-markdown-h3-font-size-desktop, 0.82rem));
2391
- text-align: var(--section-markdown-h3-align-mobile, var(--section-markdown-h3-align-desktop, left));
2392
- }
2393
-
2394
- .section-markdown h4 {
2395
- font-size: var(--section-markdown-h4-font-size-mobile, var(--section-markdown-h4-font-size-desktop, clamp(0.96rem, 0.94rem + 0.08vw, 1rem)));
2396
- text-align: var(--section-markdown-h4-align-mobile, var(--section-markdown-h4-align-desktop, left));
2397
- }
2398
-
2399
- .card-list-layout-image-left .card-list-item-has-image,
2400
- .card-list-layout-image-right .card-list-item-has-image,
2401
- .card-list-layout-image-left .card-list-item-has-image .card-list-link,
2402
- .card-list-layout-image-right .card-list-item-has-image .card-list-link {
2403
- grid-template-columns: 1fr;
2404
- }
2405
-
2406
- .card-list-layout-image-right .card-list-image-frame {
2407
- order: 0;
2408
- }
2409
-
2410
- .section-markdown ul,
2411
- .section-markdown ol {
2412
- display: block;
2413
- }
2414
-
2415
- .managed-image-item img {
2416
- max-height: var(--image-max-height);
2417
- }
2418
-
2419
- .image-carousel-position {
2420
- position: absolute;
2421
- right: 0.5rem;
2422
- bottom: 0.5rem;
2423
- min-width: 3rem;
2424
- min-height: 1.75rem;
2425
- padding: 0.3rem 0.55rem;
2426
- font-size: 0.75rem;
2427
- }
2428
-
2429
- :is(.image-stack, .managed-images) {
2430
- gap: var(--space-image-item);
2431
- }
2432
-
2433
- .image-details {
2434
- padding: 0 0.25rem;
2435
- font-size: 1rem;
2436
- }
2437
- }
2438
-
2439
- @media (forced-colors: active) {
2440
- :root,
2441
- :root[data-color-mode='dark'],
2442
- :root[data-color-mode='system'] {
2443
- --color-page: Canvas;
2444
- --color-primary-text: CanvasText;
2445
- --color-secondary-text: CanvasText;
2446
- --color-link-text: LinkText;
2447
- --color-text: CanvasText;
2448
- --color-muted: CanvasText;
2449
- --color-accent: LinkText;
2450
- --color-surface: Canvas;
2451
- --color-soft: CanvasText;
2452
- --color-border: CanvasText;
2453
- --color-nav-background: Canvas;
2454
- --color-nav-separator: CanvasText;
2455
- --color-frame-background: Canvas;
2456
- --color-frame-text: CanvasText;
2457
- --color-surface-base-background: Canvas;
2458
- --color-surface-base-text: CanvasText;
2459
- --color-surface-base-secondary-text: CanvasText;
2460
- --color-surface-soft-background: Canvas;
2461
- --color-surface-soft-text: CanvasText;
2462
- --color-surface-soft-secondary-text: CanvasText;
2463
- --color-surface-emphasis-background: Canvas;
2464
- --color-surface-emphasis-text: CanvasText;
2465
- --color-surface-emphasis-secondary-text: CanvasText;
2466
- --color-focus-ring: Highlight;
2467
- --color-focus-ring-contrast: Canvas;
2468
- --color-selection-background: Highlight;
2469
- --color-selection-text: HighlightText;
2470
- --color-control-background: ButtonFace;
2471
- --color-control-background-active: Highlight;
2472
- --color-control-text: ButtonText;
2473
- --color-code-background: Canvas;
2474
- --color-code-text: CanvasText;
2475
- --color-warning-accent: Highlight;
2476
- --color-warning-surface: Canvas;
2477
- --color-warning-text: CanvasText;
2478
- --color-error-accent: Highlight;
2479
- --color-error-surface: Canvas;
2480
- --color-error-text: CanvasText;
2481
- --color-success-accent: Highlight;
2482
- --color-success-surface: Canvas;
2483
- --color-success-text: CanvasText;
2484
- }
2485
-
2486
- .site-top {
2487
- backdrop-filter: none;
2488
- }
2489
-
2490
- .display-settings-panel,
2491
- .mobile-nav-panel,
2492
- .site-nav-submenu > nav,
2493
- .card-list-item,
2494
- .image-carousel-button,
2495
- .image-carousel-position {
2496
- border: 1px solid CanvasText;
2497
- box-shadow: none;
2498
- }
2499
-
2500
- :is(.display-settings button, .display-settings-segmented span, .mobile-nav-menu > summary, .site-banner-dismiss) {
2501
- border-color: ButtonText;
2502
- background: ButtonFace;
2503
- color: ButtonText;
2504
- }
2505
-
2506
- :is(.display-settings-segmented input:checked + span, .image-carousel-button:hover:not(:disabled)) {
2507
- background: Highlight;
2508
- color: HighlightText;
2509
- }
2510
- }
1
+ @import './foundations.css';
2
+ @import './navigation.css';
3
+ @import './page-layout.css';
4
+ @import './content.css';
5
+ @import './media.css';
6
+ @import './responsive.css';