madness 1.2.5 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +23 -1
  3. data/app/public/css/main.css +652 -401
  4. data/app/public/css/main.css.map +17 -19
  5. data/app/public/js/theme.js +81 -0
  6. data/app/public/js/vendor/mermaid.min.js +1509 -915
  7. data/app/styles/_anchor.scss +11 -3
  8. data/app/styles/_breadcrumbs.scss +8 -1
  9. data/app/styles/_code.scss +26 -8
  10. data/app/styles/_footnotes.scss +29 -0
  11. data/app/styles/_general.scss +6 -3
  12. data/app/styles/_image.scss +18 -0
  13. data/app/styles/_keyboard.scss +6 -4
  14. data/app/styles/_manifest.scss +1 -2
  15. data/app/styles/_nav.scss +200 -16
  16. data/app/styles/_pandoc_code.scss +55 -51
  17. data/app/styles/_rouge.scss +57 -211
  18. data/app/styles/_scrollbar.scss +17 -3
  19. data/app/styles/_search.scss +20 -8
  20. data/app/styles/_table.scss +6 -5
  21. data/app/styles/_typography.scss +44 -16
  22. data/app/styles/_variables.scss +216 -35
  23. data/app/views/_icon.slim +23 -0
  24. data/app/views/_mobile_search.slim +1 -1
  25. data/app/views/_nav.slim +18 -8
  26. data/app/views/_nav_tree.slim +13 -0
  27. data/app/views/layout.slim +26 -1
  28. data/lib/madness/directory.rb +7 -0
  29. data/lib/madness/item.rb +1 -0
  30. data/lib/madness/navigation.rb +24 -0
  31. data/lib/madness/rendering/pandoc.rb +2 -1
  32. data/lib/madness/rendering/redcarpet_custom.rb +6 -1
  33. data/lib/madness/settings.rb +1 -0
  34. data/lib/madness/templates/madness.yml +5 -0
  35. data/lib/madness/version.rb +1 -1
  36. metadata +5 -8
  37. data/app/public/font/fontello.eot +0 -0
  38. data/app/public/font/fontello.svg +0 -16
  39. data/app/public/font/fontello.ttf +0 -0
  40. data/app/public/font/fontello.woff +0 -0
  41. data/app/public/font/fontello.woff2 +0 -0
  42. data/app/styles/_fontello.scss +0 -59
@@ -1,49 +1,240 @@
1
- @charset "UTF-8";
2
1
  :root {
3
- --background-color: #fff;
4
- --blockquote-border-color: #ddd;
5
- --blockquote-color: #777;
6
- --breadcrumbs-border-color: #ccc;
7
- --code-border-color: #ddd;
8
- --font-color: #333;
9
- --font-family: "Segoe UI", "Helvetica Neue", Helvetica,Arial, freesans, sans-serif;
10
- --font-family-monospace: Consolas, "Liberation Mono", Menlo, Courier, monospace;
11
- --footnotes-color: #666;
12
- --h1-border-color: #eee;
13
- --h1-color: #333;
14
- --h2-border-color: #eee;
15
- --h2-color: #333;
16
- --h3-color: #333;
17
- --h4-color: #333;
18
- --h5-color: #333;
19
- --h6-color: #777;
20
- --highlight-color: palegreen;
21
- --hr-color: #ddd;
22
- --inline-code-bg-color: #eee;
23
- --kbd-bg-color: #fcfcfc;
24
- --kbd-border-color: #ccc;
25
- --kbd-color: #111;
26
- --kbd-shadow-color: #bbb;
27
- --link-color: #4078c0;
28
- --quiet-color: #777;
29
- --scrollbar-color: #ccc;
30
- --search-field-border-color: #ccc;
31
- --search-field-focused-border-color: #4078c0;
32
- --sidebar-bg-color: #fff;
33
- --sidebar-border-color: #ddd;
34
- --sidebar-border-right-color: #ddd;
35
- --table-alt-row-bg-color: transparent;
2
+ color-scheme: light dark;
3
+ --background-color: #fdfdfd;
4
+ --sidebar-bg-color: #fafafa;
5
+ --sidebar-border-color: #ececec;
6
+ --sidebar-border-right-color: #e4e4e4;
7
+ --sidebar-hover-bg-color: #f0f0f0;
8
+ --sidebar-active-bg-color: #eef3fb;
9
+ --font-color: #1f2328;
10
+ --font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
11
+ --font-family-monospace: ui-monospace, "SFMono-Regular", "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;
12
+ --quiet-color: #656d76;
13
+ --footnotes-color: #656d76;
14
+ --h1-color: #1f2328;
15
+ --h1-border-color: #eaeef2;
16
+ --h2-color: #1f2328;
17
+ --h2-border-color: #eaeef2;
18
+ --h3-color: #1f2328;
19
+ --h4-color: #1f2328;
20
+ --h5-color: #1f2328;
21
+ --h6-color: #656d76;
22
+ --link-color: #0969da;
23
+ --link-hover-color: #0550ae;
24
+ --code-border-color: #eaeef2;
25
+ --code-bg-color: #f6f8fa;
26
+ --inline-code-bg-color: #f6f8fa;
27
+ --inline-code-color: #1f2328;
28
+ --blockquote-color: #656d76;
29
+ --blockquote-border-color: #d0d7de;
30
+ --table-border-color: #eaeef2;
36
31
  --table-bg-color: transparent;
37
- --table-border-color: #ddd;
38
- --table-header-bg-color: transparent;
39
- --table-row-bg-color: transparent; }
32
+ --table-header-bg-color: #f6f8fa;
33
+ --table-row-bg-color: transparent;
34
+ --table-alt-row-bg-color: #fafbfc;
35
+ --search-field-bg-color: #ffffff;
36
+ --search-field-border-color: #d0d7de;
37
+ --search-field-focused-border-color: #0969da;
38
+ --search-field-shadow-color: rgba(9, 105, 218, 0.18);
39
+ --kbd-color: #1f2328;
40
+ --kbd-bg-color: #f6f8fa;
41
+ --kbd-border-color: #d0d7de;
42
+ --kbd-shadow-color: #afb8c1;
43
+ --highlight-color: #fff8c5;
44
+ --highlight-text-color: #1f2328;
45
+ --hr-color: #eaeef2;
46
+ --scrollbar-color: #d0d7de;
47
+ --scrollbar-hover-color: #afb8c1;
48
+ --breadcrumbs-border-color: #eaeef2;
49
+ --selection-bg-color: rgba(9, 105, 218, 0.20);
50
+ --selection-color: inherit;
51
+ --focus-ring-color: rgba(9, 105, 218, 0.40);
52
+ --rouge-bg: var(--code-bg-color);
53
+ --rouge-fg: #1f2328;
54
+ --rouge-comment: #6e7781;
55
+ --rouge-comment-strong: #6e7781;
56
+ --rouge-error-fg: #82071e;
57
+ --rouge-error-bg: #ffebe9;
58
+ --rouge-keyword: #cf222e;
59
+ --rouge-operator: #cf222e;
60
+ --rouge-name: #1f2328;
61
+ --rouge-name-attribute: #116329;
62
+ --rouge-name-builtin: #953800;
63
+ --rouge-name-class: #953800;
64
+ --rouge-name-constant: #0550ae;
65
+ --rouge-name-function: #8250df;
66
+ --rouge-name-tag: #116329;
67
+ --rouge-name-variable: #953800;
68
+ --rouge-literal-string: #0a3069;
69
+ --rouge-literal-number: #0550ae;
70
+ --rouge-literal-regex: #0a3069;
71
+ --rouge-generic-deleted-fg: #82071e;
72
+ --rouge-generic-deleted-bg: #ffebe9;
73
+ --rouge-generic-inserted-fg: #116329;
74
+ --rouge-generic-inserted-bg: #dafbe1;
75
+ --rouge-generic-heading: #0550ae;
76
+ --rouge-generic-subheading: #0550ae;
77
+ --rouge-line-number: #8c959f; }
78
+
79
+ @media (prefers-color-scheme: dark) {
80
+ :root:not([data-theme="light"]) {
81
+ color-scheme: dark;
82
+ --background-color: #0d1117;
83
+ --sidebar-bg-color: #010409;
84
+ --sidebar-border-color: #21262d;
85
+ --sidebar-border-right-color: #21262d;
86
+ --sidebar-hover-bg-color: #161b22;
87
+ --sidebar-active-bg-color: #1f2937;
88
+ --font-color: #e6edf3;
89
+ --quiet-color: #8d96a0;
90
+ --footnotes-color: #8d96a0;
91
+ --h1-color: #f0f6fc;
92
+ --h1-border-color: #21262d;
93
+ --h2-color: #f0f6fc;
94
+ --h2-border-color: #21262d;
95
+ --h3-color: #f0f6fc;
96
+ --h4-color: #f0f6fc;
97
+ --h5-color: #f0f6fc;
98
+ --h6-color: #8d96a0;
99
+ --link-color: #58a6ff;
100
+ --link-hover-color: #79b8ff;
101
+ --code-border-color: #30363d;
102
+ --code-bg-color: #161b22;
103
+ --inline-code-bg-color: rgba(110, 118, 129, 0.30);
104
+ --inline-code-color: #e6edf3;
105
+ --blockquote-color: #8d96a0;
106
+ --blockquote-border-color: #30363d;
107
+ --table-border-color: #30363d;
108
+ --table-header-bg-color: #161b22;
109
+ --table-alt-row-bg-color: #0f1419;
110
+ --search-field-bg-color: #0d1117;
111
+ --search-field-border-color: #30363d;
112
+ --search-field-focused-border-color: #58a6ff;
113
+ --search-field-shadow-color: rgba(88, 166, 255, 0.25);
114
+ --kbd-color: #e6edf3;
115
+ --kbd-bg-color: #161b22;
116
+ --kbd-border-color: #30363d;
117
+ --kbd-shadow-color: #30363d;
118
+ --highlight-color: rgba(187, 128, 9, 0.40);
119
+ --highlight-text-color: #f0f6fc;
120
+ --hr-color: #21262d;
121
+ --scrollbar-color: #30363d;
122
+ --scrollbar-hover-color: #484f58;
123
+ --breadcrumbs-border-color: #21262d;
124
+ --selection-bg-color: rgba(56, 139, 253, 0.30);
125
+ --focus-ring-color: rgba(88, 166, 255, 0.45);
126
+ --rouge-bg: var(--code-bg-color);
127
+ --rouge-fg: #e6edf3;
128
+ --rouge-comment: #8b949e;
129
+ --rouge-comment-strong: #8b949e;
130
+ --rouge-error-fg: #ffa198;
131
+ --rouge-error-bg: rgba(248, 81, 73, 0.15);
132
+ --rouge-keyword: #ff7b72;
133
+ --rouge-operator: #ff7b72;
134
+ --rouge-name: #e6edf3;
135
+ --rouge-name-attribute: #7ee787;
136
+ --rouge-name-builtin: #ffa657;
137
+ --rouge-name-class: #ffa657;
138
+ --rouge-name-constant: #79c0ff;
139
+ --rouge-name-function: #d2a8ff;
140
+ --rouge-name-tag: #7ee787;
141
+ --rouge-name-variable: #ffa657;
142
+ --rouge-literal-string: #a5d6ff;
143
+ --rouge-literal-number: #79c0ff;
144
+ --rouge-literal-regex: #7ee787;
145
+ --rouge-generic-deleted-fg: #ffdcd7;
146
+ --rouge-generic-deleted-bg: rgba(248, 81, 73, 0.15);
147
+ --rouge-generic-inserted-fg: #aff5b4;
148
+ --rouge-generic-inserted-bg: rgba(46, 160, 67, 0.15);
149
+ --rouge-generic-heading: #79c0ff;
150
+ --rouge-generic-subheading: #79c0ff;
151
+ --rouge-line-number: #6e7681; } }
152
+
153
+ [data-theme="dark"]:root {
154
+ color-scheme: dark;
155
+ --background-color: #0d1117;
156
+ --sidebar-bg-color: #010409;
157
+ --sidebar-border-color: #21262d;
158
+ --sidebar-border-right-color: #21262d;
159
+ --sidebar-hover-bg-color: #161b22;
160
+ --sidebar-active-bg-color: #1f2937;
161
+ --font-color: #e6edf3;
162
+ --quiet-color: #8d96a0;
163
+ --footnotes-color: #8d96a0;
164
+ --h1-color: #f0f6fc;
165
+ --h1-border-color: #21262d;
166
+ --h2-color: #f0f6fc;
167
+ --h2-border-color: #21262d;
168
+ --h3-color: #f0f6fc;
169
+ --h4-color: #f0f6fc;
170
+ --h5-color: #f0f6fc;
171
+ --h6-color: #8d96a0;
172
+ --link-color: #58a6ff;
173
+ --link-hover-color: #79b8ff;
174
+ --code-border-color: #30363d;
175
+ --code-bg-color: #161b22;
176
+ --inline-code-bg-color: rgba(110, 118, 129, 0.30);
177
+ --inline-code-color: #e6edf3;
178
+ --blockquote-color: #8d96a0;
179
+ --blockquote-border-color: #30363d;
180
+ --table-border-color: #30363d;
181
+ --table-header-bg-color: #161b22;
182
+ --table-alt-row-bg-color: #0f1419;
183
+ --search-field-bg-color: #0d1117;
184
+ --search-field-border-color: #30363d;
185
+ --search-field-focused-border-color: #58a6ff;
186
+ --search-field-shadow-color: rgba(88, 166, 255, 0.25);
187
+ --kbd-color: #e6edf3;
188
+ --kbd-bg-color: #161b22;
189
+ --kbd-border-color: #30363d;
190
+ --kbd-shadow-color: #30363d;
191
+ --highlight-color: rgba(187, 128, 9, 0.40);
192
+ --highlight-text-color: #f0f6fc;
193
+ --hr-color: #21262d;
194
+ --scrollbar-color: #30363d;
195
+ --scrollbar-hover-color: #484f58;
196
+ --breadcrumbs-border-color: #21262d;
197
+ --selection-bg-color: rgba(56, 139, 253, 0.30);
198
+ --focus-ring-color: rgba(88, 166, 255, 0.45);
199
+ --rouge-bg: var(--code-bg-color);
200
+ --rouge-fg: #e6edf3;
201
+ --rouge-comment: #8b949e;
202
+ --rouge-comment-strong: #8b949e;
203
+ --rouge-error-fg: #ffa198;
204
+ --rouge-error-bg: rgba(248, 81, 73, 0.15);
205
+ --rouge-keyword: #ff7b72;
206
+ --rouge-operator: #ff7b72;
207
+ --rouge-name: #e6edf3;
208
+ --rouge-name-attribute: #7ee787;
209
+ --rouge-name-builtin: #ffa657;
210
+ --rouge-name-class: #ffa657;
211
+ --rouge-name-constant: #79c0ff;
212
+ --rouge-name-function: #d2a8ff;
213
+ --rouge-name-tag: #7ee787;
214
+ --rouge-name-variable: #ffa657;
215
+ --rouge-literal-string: #a5d6ff;
216
+ --rouge-literal-number: #79c0ff;
217
+ --rouge-literal-regex: #7ee787;
218
+ --rouge-generic-deleted-fg: #ffdcd7;
219
+ --rouge-generic-deleted-bg: rgba(248, 81, 73, 0.15);
220
+ --rouge-generic-inserted-fg: #aff5b4;
221
+ --rouge-generic-inserted-bg: rgba(46, 160, 67, 0.15);
222
+ --rouge-generic-heading: #79c0ff;
223
+ --rouge-generic-subheading: #79c0ff;
224
+ --rouge-line-number: #6e7681; }
40
225
 
41
226
  a {
42
227
  color: var(--link-color);
43
228
  text-decoration: none; }
44
- a:active, a:hover, a:focus {
45
- outline-width: 0;
46
- text-decoration: underline; }
229
+ a:hover {
230
+ color: var(--link-hover-color);
231
+ text-decoration: underline;
232
+ text-decoration-thickness: 1px;
233
+ text-underline-offset: 2px; }
234
+ a:focus-visible {
235
+ outline: 2px solid var(--focus-ring-color);
236
+ outline-offset: 2px;
237
+ border-radius: 3px; }
47
238
  a:not([href]) {
48
239
  color: inherit;
49
240
  text-decoration: none; }
@@ -52,95 +243,94 @@ a {
52
243
 
53
244
  .breadcrumbs {
54
245
  margin-top: 6px;
55
- border-bottom: 1px solid var(--breadcrumbs-border-color); }
246
+ border-bottom: 1px solid var(--breadcrumbs-border-color);
247
+ font-size: 0.9em;
248
+ color: var(--quiet-color); }
56
249
  .breadcrumbs a {
57
250
  display: inline-block;
58
- padding: 7px 0; }
251
+ padding: 8px 0;
252
+ color: var(--quiet-color); }
253
+ .breadcrumbs a:hover {
254
+ color: var(--link-color); }
255
+
256
+ code, pre, kbd {
257
+ font-family: var(--font-family-monospace); }
59
258
 
60
259
  code {
61
260
  background-color: var(--inline-code-bg-color);
62
- padding: 0px 8px;
261
+ color: var(--inline-code-color);
262
+ padding: 0.15em 0.4em;
63
263
  margin: 0;
64
- font-size: 90%;
65
- border-radius: 3px;
66
- display: inline-block; }
264
+ font-size: 87%;
265
+ border-radius: 6px;
266
+ font-feature-settings: "calt" 0;
267
+ white-space: break-spaces; }
67
268
 
68
269
  pre {
69
270
  position: relative;
271
+ background-color: var(--code-bg-color);
70
272
  border: 1px solid var(--code-border-color);
71
- border-radius: 5px;
273
+ border-radius: 8px;
72
274
  overflow-x: auto;
73
- padding: 10px; }
275
+ padding: 14px 16px;
276
+ font-size: 13.5px;
277
+ line-height: 1.55; }
74
278
  pre code {
75
279
  background-color: transparent;
280
+ color: inherit;
281
+ padding: 0;
76
282
  display: block;
77
- line-height: 1.2;
78
- position: relative; }
79
-
80
- @font-face {
81
- font-family: 'fontello';
82
- src: url("../font/fontello.eot?19183580");
83
- src: url("../font/fontello.eot?19183580#iefix") format("embedded-opentype"), url("../font/fontello.woff2?19183580") format("woff2"), url("../font/fontello.woff?19183580") format("woff"), url("../font/fontello.ttf?19183580") format("truetype"), url("../font/fontello.svg?19183580#fontello") format("svg");
84
- font-weight: normal;
85
- font-style: normal; }
86
-
87
- /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
88
- /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
89
- /*
90
- @media screen and (-webkit-min-device-pixel-ratio:0) {
91
- @font-face {
92
- font-family: 'fontello';
93
- src: url('../font/fontello.svg?19183580#fontello') format('svg');
94
- }
95
- }
96
- */
97
- [class^="icon-"]:before, [class*=" icon-"]:before {
98
- font-family: "fontello";
99
- font-style: normal;
100
- font-weight: normal;
101
- speak: never;
102
- display: inline-block;
103
- text-decoration: inherit;
104
- width: 1em;
105
- margin-right: .2em;
106
- text-align: center;
107
- /* opacity: .8; */
108
- /* For safety - reset parent styles, that can break glyph codes*/
109
- font-variant: normal;
110
- text-transform: none;
111
- /* fix buttons height, for twitter bootstrap */
112
- line-height: 1em;
113
- /* Animation center compensation - margins should be symmetric */
114
- /* remove if not needed */
115
- margin-left: .2em;
116
- /* you can be more comfortable with increased icons size */
117
- /* font-size: 120%; */
118
- /* Font smoothing. That was taken from TWBS */
119
- -webkit-font-smoothing: antialiased;
120
- -moz-osx-font-smoothing: grayscale;
121
- /* Uncomment for 3D effect */
122
- /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }
123
-
124
- .icon-home:before {
125
- content: '\e806'; }
126
-
127
- /* '' */
128
- .icon-copy:before {
129
- content: '\f24d'; }
283
+ line-height: inherit;
284
+ font-size: inherit;
285
+ position: relative;
286
+ border-radius: 0; }
130
287
 
131
- /* '' */
132
- .icon-search:before {
133
- content: '\f50d'; }
288
+ a code, h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
289
+ font-size: 0.85em;
290
+ color: inherit; }
134
291
 
135
- /* '' */
136
292
  .footnotes {
137
293
  color: var(--footnotes-color);
138
- font-size: 85%; }
294
+ font-size: 85%;
295
+ border-top: 1px solid var(--hr-color);
296
+ margin-top: 2em;
297
+ padding-top: 1em; }
298
+ .footnotes ol {
299
+ padding-left: 1.5em; }
300
+ .footnotes li {
301
+ margin-bottom: 0.5em; }
302
+
303
+ .mermaid {
304
+ display: flex;
305
+ justify-content: center;
306
+ margin: 16px 0;
307
+ padding: 12px;
308
+ border: 1px solid var(--code-border-color);
309
+ border-radius: 8px;
310
+ background-color: transparent;
311
+ overflow-x: auto; }
312
+ .mermaid svg {
313
+ max-width: 100%;
314
+ height: auto; }
139
315
 
140
316
  img {
141
317
  border-style: none;
142
318
  max-width: 100%;
143
- box-sizing: content-box; }
319
+ height: auto;
320
+ box-sizing: content-box;
321
+ border-radius: 6px; }
322
+
323
+ p > img:only-child {
324
+ display: block;
325
+ margin: 8px 0;
326
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04); }
327
+
328
+ [data-theme="dark"]:root p > img:only-child {
329
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
330
+
331
+ @media (prefers-color-scheme: dark) {
332
+ :root:not([data-theme="light"]) p > img:only-child {
333
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); } }
144
334
 
145
335
  kbd {
146
336
  color: var(--kbd-color);
@@ -149,11 +339,13 @@ kbd {
149
339
  border-bottom-color: var(--kbd-shadow-color);
150
340
  box-shadow: inset 0 -1px 0 var(--kbd-shadow-color);
151
341
  display: inline-block;
152
- padding: 6px 8px;
153
- font-size: 85%;
154
- line-height: 10px;
342
+ padding: 3px 6px;
343
+ font-size: 80%;
344
+ line-height: 1;
155
345
  vertical-align: middle;
156
- border-radius: 3px; }
346
+ border-radius: 5px;
347
+ font-weight: 500;
348
+ font-family: var(--font-family-monospace); }
157
349
 
158
350
  hr {
159
351
  border: 0;
@@ -195,10 +387,12 @@ li > p {
195
387
  nav {
196
388
  background: var(--sidebar-bg-color);
197
389
  border-right: 1px solid var(--sidebar-border-right-color);
390
+ color: var(--font-color);
198
391
  height: 100vh;
199
392
  width: 300px;
200
393
  overflow-y: auto;
201
- position: fixed; }
394
+ position: fixed;
395
+ font-size: 14px; }
202
396
  @media print {
203
397
  nav {
204
398
  display: none; } }
@@ -207,26 +401,158 @@ nav {
207
401
  display: none; } }
208
402
  nav .icon-bar {
209
403
  background: var(--sidebar-bg-color);
210
- border-bottom: 1px dotted var(--sidebar-border-color);
404
+ border-bottom: 1px solid var(--sidebar-border-color);
211
405
  position: sticky;
212
406
  top: 0;
213
- z-index: 1; }
407
+ z-index: 1;
408
+ display: flex;
409
+ align-items: center;
410
+ padding: 4px 8px; }
214
411
  nav a.document, nav span.document, nav .caption {
215
- border-bottom: 1px dotted var(--sidebar-border-color);
412
+ border-bottom: 1px solid var(--sidebar-border-color);
216
413
  display: block;
217
- padding: 5px 20px 5px 30px; }
414
+ padding: 8px 20px 8px 26px;
415
+ color: var(--font-color);
416
+ border-left: 3px solid transparent; }
417
+ nav a.document:hover {
418
+ background: var(--sidebar-hover-bg-color);
419
+ color: var(--link-color);
420
+ border-left-color: var(--link-color); }
421
+ nav a.document.strong {
422
+ font-weight: 600; }
423
+ nav .caption {
424
+ color: var(--quiet-color);
425
+ font-size: 12px;
426
+ font-weight: 500;
427
+ padding-top: 14px;
428
+ padding-bottom: 6px;
429
+ border-bottom: none; }
218
430
  nav a.icon {
219
- display: inline-block;
220
- font-size: 1.5em;
221
- width: 50%;
222
- padding: 3px 20px 3px 30px; }
431
+ display: inline-flex;
432
+ align-items: center;
433
+ justify-content: center;
434
+ font-size: 1.25em;
435
+ width: 44px;
436
+ height: 40px;
437
+ border-radius: 6px;
438
+ color: var(--font-color); }
223
439
  nav a.icon.wide {
224
- width: 100%; }
440
+ flex: 1; }
441
+ nav a.icon:hover {
442
+ background: var(--sidebar-hover-bg-color);
443
+ color: var(--link-color); }
444
+ nav a.icon .icon-svg {
445
+ width: 18px;
446
+ height: 18px;
447
+ stroke: currentColor;
448
+ stroke-width: 2;
449
+ fill: none;
450
+ stroke-linecap: round;
451
+ stroke-linejoin: round; }
452
+ nav .icon-spacer {
453
+ flex: 1; }
225
454
  nav:after {
226
455
  content: "";
227
456
  height: 90px;
228
457
  display: block; }
458
+ nav details.tree-folder > summary.tree-summary {
459
+ list-style: none;
460
+ cursor: pointer;
461
+ display: flex;
462
+ align-items: center;
463
+ padding: 0;
464
+ border-bottom: 1px solid var(--sidebar-border-color); }
465
+ nav details.tree-folder > summary.tree-summary::-webkit-details-marker {
466
+ display: none; }
467
+ nav details.tree-folder > summary.tree-summary:hover {
468
+ background: var(--sidebar-hover-bg-color); }
469
+ nav details.tree-folder > summary.tree-summary .tree-chevron {
470
+ flex: 0 0 18px;
471
+ width: 18px;
472
+ height: 18px;
473
+ margin-left: 8px;
474
+ position: relative;
475
+ color: var(--quiet-color);
476
+ transition: transform 150ms ease; }
477
+ nav details.tree-folder > summary.tree-summary .tree-chevron::before {
478
+ content: "";
479
+ position: absolute;
480
+ top: 50%;
481
+ left: 50%;
482
+ width: 6px;
483
+ height: 6px;
484
+ border-right: 1.5px solid currentColor;
485
+ border-bottom: 1.5px solid currentColor;
486
+ transform: translate(-65%, -50%) rotate(-45deg); }
487
+ nav details.tree-folder > summary.tree-summary > a.document {
488
+ flex: 1;
489
+ border-bottom: none;
490
+ border-left: none;
491
+ padding-left: 6px; }
492
+ nav details.tree-folder > summary.tree-summary:hover .tree-chevron {
493
+ color: var(--link-color); }
494
+ nav details.tree-folder[open] > summary.tree-summary .tree-chevron::before {
495
+ transform: translate(-50%, -65%) rotate(45deg); }
496
+ nav details.tree-folder .tree-children {
497
+ margin-left: 18px;
498
+ border-left: 1px solid var(--sidebar-border-color); }
499
+ nav details.tree-folder .tree-children > a.document,
500
+ nav details.tree-folder .tree-children > details.tree-folder > summary.tree-summary > a.document {
501
+ padding-left: 10px; }
502
+ nav details.tree-folder .tree-children > a.document {
503
+ padding-left: 16px; }
504
+
505
+ .theme-toggle .icon-sun, .floating-theme-toggle .icon-sun {
506
+ display: none; }
507
+
508
+ .theme-toggle .icon-moon, .floating-theme-toggle .icon-moon {
509
+ display: inline-block; }
510
+
511
+ [data-theme="dark"]:root .theme-toggle .icon-sun, [data-theme="dark"]:root .floating-theme-toggle .icon-sun {
512
+ display: inline-block; }
229
513
 
514
+ [data-theme="dark"]:root .theme-toggle .icon-moon, [data-theme="dark"]:root .floating-theme-toggle .icon-moon {
515
+ display: none; }
516
+
517
+ @media (prefers-color-scheme: dark) {
518
+ :root:not([data-theme="light"]) .theme-toggle .icon-sun, :root:not([data-theme="light"]) .floating-theme-toggle .icon-sun {
519
+ display: inline-block; }
520
+ :root:not([data-theme="light"]) .theme-toggle .icon-moon, :root:not([data-theme="light"]) .floating-theme-toggle .icon-moon {
521
+ display: none; } }
522
+
523
+ .floating-theme-toggle {
524
+ position: fixed;
525
+ bottom: 18px;
526
+ right: 18px;
527
+ z-index: 100;
528
+ display: inline-flex;
529
+ align-items: center;
530
+ justify-content: center;
531
+ width: 42px;
532
+ height: 42px;
533
+ border-radius: 50%;
534
+ background: var(--sidebar-bg-color);
535
+ border: 1px solid var(--sidebar-border-color);
536
+ color: var(--font-color);
537
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
538
+ transition: transform 120ms ease; }
539
+ .floating-theme-toggle:hover {
540
+ background: var(--sidebar-hover-bg-color);
541
+ transform: translateY(-1px); }
542
+ .floating-theme-toggle .icon-svg {
543
+ width: 18px;
544
+ height: 18px;
545
+ stroke: currentColor;
546
+ stroke-width: 2;
547
+ fill: none;
548
+ stroke-linecap: round;
549
+ stroke-linejoin: round; }
550
+ @media print {
551
+ .floating-theme-toggle {
552
+ display: none; } }
553
+ @media only screen and (min-width: 768px) {
554
+ body:has(nav) .floating-theme-toggle {
555
+ display: none; } }
230
556
  pre > code.sourceCode {
231
557
  white-space: pre;
232
558
  position: relative; }
@@ -283,11 +609,11 @@ pre.numberSource code > span > a:first-child::before {
283
609
  user-select: none;
284
610
  padding: 0 4px;
285
611
  width: 4em;
286
- color: #aaaaaa; }
612
+ color: var(--rouge-line-number); }
287
613
 
288
614
  pre.numberSource {
289
615
  margin-left: 3em;
290
- border-left: 1px solid #aaaaaa;
616
+ border-left: 1px solid var(--rouge-line-number);
291
617
  padding-left: 4px; }
292
618
 
293
619
  @media screen {
@@ -295,357 +621,245 @@ pre.numberSource {
295
621
  text-decoration: underline; } }
296
622
 
297
623
  code span.al {
298
- color: #ff0000;
624
+ color: var(--rouge-error-fg);
299
625
  font-weight: bold; }
300
626
 
301
627
  /* Alert */
302
628
  code span.an {
303
- color: #60a0b0;
629
+ color: var(--rouge-comment);
304
630
  font-weight: bold;
305
631
  font-style: italic; }
306
632
 
307
633
  /* Annotation */
308
634
  code span.at {
309
- color: #7d9029; }
635
+ color: var(--rouge-name-attribute); }
310
636
 
311
637
  /* Attribute */
312
638
  code span.bn {
313
- color: #40a070; }
639
+ color: var(--rouge-literal-number); }
314
640
 
315
641
  /* BaseN */
316
642
  code span.bu {
317
- color: #008000; }
643
+ color: var(--rouge-name-builtin); }
318
644
 
319
645
  /* BuiltIn */
320
646
  code span.cf {
321
- color: #007020;
647
+ color: var(--rouge-keyword);
322
648
  font-weight: bold; }
323
649
 
324
650
  /* ControlFlow */
325
651
  code span.ch {
326
- color: #4070a0; }
652
+ color: var(--rouge-literal-string); }
327
653
 
328
654
  /* Char */
329
655
  code span.cn {
330
- color: #880000; }
656
+ color: var(--rouge-name-constant); }
331
657
 
332
658
  /* Constant */
333
659
  code span.co {
334
- color: #60a0b0;
660
+ color: var(--rouge-comment);
335
661
  font-style: italic; }
336
662
 
337
663
  /* Comment */
338
664
  code span.cv {
339
- color: #60a0b0;
665
+ color: var(--rouge-comment);
340
666
  font-weight: bold;
341
667
  font-style: italic; }
342
668
 
343
669
  /* CommentVar */
344
670
  code span.do {
345
- color: #ba2121;
671
+ color: var(--rouge-comment);
346
672
  font-style: italic; }
347
673
 
348
674
  /* Documentation */
349
675
  code span.dt {
350
- color: #902000; }
676
+ color: var(--rouge-name-class); }
351
677
 
352
678
  /* DataType */
353
679
  code span.dv {
354
- color: #40a070; }
680
+ color: var(--rouge-literal-number); }
355
681
 
356
682
  /* DecVal */
357
683
  code span.er {
358
- color: #ff0000;
684
+ color: var(--rouge-error-fg);
359
685
  font-weight: bold; }
360
686
 
361
687
  /* Error */
362
688
  /* Extension */
363
689
  code span.fl {
364
- color: #40a070; }
690
+ color: var(--rouge-literal-number); }
365
691
 
366
692
  /* Float */
367
693
  code span.fu {
368
- color: #06287e; }
694
+ color: var(--rouge-name-function); }
369
695
 
370
696
  /* Function */
371
697
  code span.im {
372
- color: #008000;
698
+ color: var(--rouge-name-builtin);
373
699
  font-weight: bold; }
374
700
 
375
701
  /* Import */
376
702
  code span.in {
377
- color: #60a0b0;
703
+ color: var(--rouge-comment);
378
704
  font-weight: bold;
379
705
  font-style: italic; }
380
706
 
381
707
  /* Information */
382
708
  code span.kw {
383
- color: #007020;
709
+ color: var(--rouge-keyword);
384
710
  font-weight: bold; }
385
711
 
386
712
  /* Keyword */
387
713
  code span.op {
388
- color: #666666; }
714
+ color: var(--rouge-operator); }
389
715
 
390
716
  /* Operator */
391
717
  code span.ot {
392
- color: #007020; }
718
+ color: var(--rouge-keyword); }
393
719
 
394
720
  /* Other */
395
721
  code span.pp {
396
- color: #bc7a00; }
722
+ color: var(--rouge-name-builtin); }
397
723
 
398
724
  /* Preprocessor */
399
725
  code span.sc {
400
- color: #4070a0; }
726
+ color: var(--rouge-literal-string); }
401
727
 
402
728
  /* SpecialChar */
403
729
  code span.ss {
404
- color: #bb6688; }
730
+ color: var(--rouge-literal-string); }
405
731
 
406
732
  /* SpecialString */
407
733
  code span.st {
408
- color: #4070a0; }
734
+ color: var(--rouge-literal-string); }
409
735
 
410
736
  /* String */
411
737
  code span.va {
412
- color: #19177c; }
738
+ color: var(--rouge-name-variable); }
413
739
 
414
740
  /* Variable */
415
741
  code span.vs {
416
- color: #4070a0; }
742
+ color: var(--rouge-literal-string); }
417
743
 
418
744
  /* VerbatimString */
419
745
  code span.wa {
420
- color: #60a0b0;
746
+ color: var(--rouge-comment);
421
747
  font-weight: bold;
422
748
  font-style: italic; }
423
749
 
424
750
  /* Warning */
425
- .highlight table td {
426
- padding: 5px; }
427
-
428
- .highlight table pre {
429
- margin: 0; }
430
-
431
- .highlight .cm {
432
- color: #999988;
433
- font-style: italic; }
434
-
435
- .highlight .cp {
436
- color: #999999;
437
- font-weight: bold; }
438
-
439
- .highlight .c1 {
440
- color: #999988;
441
- font-style: italic; }
442
-
443
- .highlight .cs {
444
- color: #999999;
445
- font-weight: bold;
446
- font-style: italic; }
447
-
448
- .highlight .c, .highlight .ch, .highlight .cd, .highlight .cpf {
449
- color: #999988;
450
- font-style: italic; }
451
-
452
- .highlight .err {
453
- color: #a61717;
454
- background-color: #e3d2d2; }
455
-
456
- .highlight .gd {
457
- color: #000000;
458
- background-color: #ffdddd; }
459
-
460
- .highlight .ge {
461
- color: #000000;
462
- font-style: italic; }
463
-
464
- .highlight .gr {
465
- color: #aa0000; }
466
-
467
- .highlight .gh {
468
- color: #999999; }
469
-
470
- .highlight .gi {
471
- color: #000000;
472
- background-color: #ddffdd; }
473
-
474
- .highlight .go {
475
- color: #888888; }
476
-
477
- .highlight .gp {
478
- color: #555555; }
479
-
480
- .highlight .gs {
481
- font-weight: bold; }
482
-
483
- .highlight .gu {
484
- color: #aaaaaa; }
485
-
486
- .highlight .gt {
487
- color: #aa0000; }
488
-
489
- .highlight .kc {
490
- color: #000000;
491
- font-weight: bold; }
492
-
493
- .highlight .kd {
494
- color: #000000;
495
- font-weight: bold; }
496
-
497
- .highlight .kn {
498
- color: #000000;
499
- font-weight: bold; }
500
-
501
- .highlight .kp {
502
- color: #000000;
503
- font-weight: bold; }
504
-
505
- .highlight .kr {
506
- color: #000000;
507
- font-weight: bold; }
508
-
509
- .highlight .kt {
510
- color: #445588;
511
- font-weight: bold; }
512
-
513
- .highlight .k, .highlight .kv {
514
- color: #000000;
515
- font-weight: bold; }
516
-
517
- .highlight .mf {
518
- color: #009999; }
519
-
520
- .highlight .mh {
521
- color: #009999; }
522
-
523
- .highlight .il {
524
- color: #009999; }
525
-
526
- .highlight .mi {
527
- color: #009999; }
528
-
529
- .highlight .mo {
530
- color: #009999; }
531
-
532
- .highlight .m, .highlight .mb, .highlight .mx {
533
- color: #009999; }
534
-
535
- .highlight .sa {
536
- color: #000000;
537
- font-weight: bold; }
538
-
539
- .highlight .sb {
540
- color: #d14; }
541
-
542
- .highlight .sc {
543
- color: #d14; }
544
-
545
- .highlight .sd {
546
- color: #d14; }
547
-
548
- .highlight .s2 {
549
- color: #d14; }
550
-
551
- .highlight .se {
552
- color: #d14; }
553
-
554
- .highlight .sh {
555
- color: #d14; }
556
-
557
- .highlight .si {
558
- color: #d14; }
559
-
560
- .highlight .sx {
561
- color: #d14; }
562
-
563
- .highlight .sr {
564
- color: #009926; }
565
-
566
- .highlight .s1 {
567
- color: #d14; }
568
-
569
- .highlight .ss {
570
- color: #990073; }
571
-
572
- .highlight .s, .highlight .dl {
573
- color: #d14; }
574
-
575
- .highlight .na {
576
- color: #008080; }
577
-
578
- .highlight .bp {
579
- color: #999999; }
580
-
581
- .highlight .nb {
582
- color: #0086B3; }
583
-
584
- .highlight .nc {
585
- color: #445588;
586
- font-weight: bold; }
587
-
588
- .highlight .no {
589
- color: #008080; }
590
-
591
- .highlight .nd {
592
- color: #3c5d5d;
593
- font-weight: bold; }
594
-
595
- .highlight .ni {
596
- color: #800080; }
597
-
598
- .highlight .ne {
599
- color: #990000;
600
- font-weight: bold; }
601
-
602
- .highlight .nf, .highlight .fm {
603
- color: #990000;
604
- font-weight: bold; }
605
-
606
- .highlight .nl {
607
- color: #990000;
608
- font-weight: bold; }
609
-
610
- .highlight .nn {
611
- color: #555555; }
612
-
613
- .highlight .nt {
614
- color: #000080; }
615
-
616
- .highlight .vc {
617
- color: #008080; }
618
-
619
- .highlight .vg {
620
- color: #008080; }
621
-
622
- .highlight .vi {
623
- color: #008080; }
624
-
625
- .highlight .nv, .highlight .vm {
626
- color: #008080; }
627
-
628
- .highlight .ow {
629
- color: #000000;
630
- font-weight: bold; }
631
-
632
- .highlight .o {
633
- color: #000000;
634
- font-weight: bold; }
635
-
636
- .highlight .w {
637
- color: #bbbbbb; }
638
-
639
751
  .highlight {
640
- background-color: #f8f8f8; }
752
+ background: var(--rouge-bg);
753
+ color: var(--rouge-fg); }
754
+ .highlight table td {
755
+ padding: 5px; }
756
+ .highlight table pre {
757
+ margin: 0; }
758
+ .highlight .lineno {
759
+ color: var(--rouge-line-number); }
760
+ .highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs, .highlight .cp {
761
+ color: var(--rouge-comment);
762
+ font-style: italic; }
763
+ .highlight .cs {
764
+ font-weight: bold; }
765
+ .highlight .err {
766
+ color: var(--rouge-error-fg);
767
+ background-color: var(--rouge-error-bg); }
768
+ .highlight .gd {
769
+ color: var(--rouge-generic-deleted-fg);
770
+ background-color: var(--rouge-generic-deleted-bg); }
771
+ .highlight .gd .x {
772
+ color: var(--rouge-generic-deleted-fg);
773
+ background-color: var(--rouge-generic-deleted-bg); }
774
+ .highlight .ge {
775
+ font-style: italic; }
776
+ .highlight .gr {
777
+ color: var(--rouge-error-fg); }
778
+ .highlight .gh {
779
+ color: var(--rouge-generic-heading); }
780
+ .highlight .gi {
781
+ color: var(--rouge-generic-inserted-fg);
782
+ background-color: var(--rouge-generic-inserted-bg); }
783
+ .highlight .gi .x {
784
+ color: var(--rouge-generic-inserted-fg);
785
+ background-color: var(--rouge-generic-inserted-bg); }
786
+ .highlight .go {
787
+ color: var(--rouge-comment); }
788
+ .highlight .gp {
789
+ color: var(--rouge-comment); }
790
+ .highlight .gs {
791
+ font-weight: bold; }
792
+ .highlight .gu {
793
+ color: var(--rouge-generic-subheading); }
794
+ .highlight .gt {
795
+ color: var(--rouge-error-fg); }
796
+ .highlight .k, .highlight .kc, .highlight .kd, .highlight .kp, .highlight .kr {
797
+ color: var(--rouge-keyword);
798
+ font-weight: bold; }
799
+ .highlight .kt {
800
+ color: var(--rouge-name-class);
801
+ font-weight: bold; }
802
+ .highlight .o, .highlight .ow {
803
+ color: var(--rouge-operator);
804
+ font-weight: bold; }
805
+ .highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .mo, .highlight .il {
806
+ color: var(--rouge-literal-number); }
807
+ .highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .si, .highlight .sx, .highlight .s1, .highlight .ss {
808
+ color: var(--rouge-literal-string); }
809
+ .highlight .sr {
810
+ color: var(--rouge-literal-regex); }
811
+ .highlight .n {
812
+ color: var(--rouge-name); }
813
+ .highlight .na {
814
+ color: var(--rouge-name-attribute); }
815
+ .highlight .nb {
816
+ color: var(--rouge-name-builtin); }
817
+ .highlight .nc {
818
+ color: var(--rouge-name-class);
819
+ font-weight: bold; }
820
+ .highlight .no {
821
+ color: var(--rouge-name-constant); }
822
+ .highlight .ni {
823
+ color: var(--rouge-name-builtin); }
824
+ .highlight .ne {
825
+ color: var(--rouge-name-class);
826
+ font-weight: bold; }
827
+ .highlight .nf {
828
+ color: var(--rouge-name-function);
829
+ font-weight: bold; }
830
+ .highlight .nn {
831
+ color: var(--rouge-name-class); }
832
+ .highlight .nt {
833
+ color: var(--rouge-name-tag); }
834
+ .highlight .nv {
835
+ color: var(--rouge-name-variable); }
836
+ .highlight .bp {
837
+ color: var(--rouge-name-builtin); }
838
+ .highlight .vc {
839
+ color: var(--rouge-name-variable); }
840
+ .highlight .vg {
841
+ color: var(--rouge-name-variable); }
842
+ .highlight .vi {
843
+ color: var(--rouge-name-variable); }
844
+ .highlight .w {
845
+ color: var(--rouge-line-number); }
846
+
847
+ * {
848
+ scrollbar-width: thin;
849
+ scrollbar-color: var(--scrollbar-color) transparent; }
641
850
 
642
851
  ::-webkit-scrollbar {
643
- width: 6px;
644
- height: 6px; }
852
+ width: 8px;
853
+ height: 8px; }
854
+
855
+ ::-webkit-scrollbar-track {
856
+ background: transparent; }
645
857
 
646
858
  ::-webkit-scrollbar-thumb {
647
859
  background: var(--scrollbar-color);
648
- -webkit-border-radius: 3px; }
860
+ border-radius: 4px; }
861
+ ::-webkit-scrollbar-thumb:hover {
862
+ background: var(--scrollbar-hover-color); }
649
863
 
650
864
  @media print {
651
865
  #mobile-search {
@@ -658,25 +872,36 @@ code span.wa {
658
872
  @media only screen and (max-width: 767px) {
659
873
  #mobile-search {
660
874
  position: fixed;
661
- font-size: 30px;
662
- top: 0px;
663
- right: 10px;
664
- opacity: 0.5; } }
875
+ font-size: 26px;
876
+ top: 6px;
877
+ right: 12px;
878
+ opacity: 0.7;
879
+ color: var(--font-color);
880
+ transition: opacity 120ms ease; }
881
+ #mobile-search:hover {
882
+ opacity: 1; } }
665
883
 
666
884
  .search-form {
667
885
  margin-bottom: 20px;
668
886
  margin-top: 20px; }
669
887
 
670
888
  .search-field {
889
+ background-color: var(--search-field-bg-color);
890
+ color: var(--font-color);
671
891
  border: 1px solid var(--search-field-border-color);
672
- border-radius: 3px;
892
+ border-radius: 8px;
673
893
  outline: none;
674
- padding: 8px 12px;
675
- font-size: 1.5em;
894
+ padding: 10px 14px;
895
+ font-size: 1.25em;
896
+ font-family: var(--font-family);
676
897
  width: 100%;
677
- min-width: 200px; }
898
+ min-width: 200px;
899
+ transition: box-shadow 120ms ease; }
900
+ .search-field::placeholder {
901
+ color: var(--quiet-color); }
678
902
  .search-field:focus {
679
- border-color: var(--search-field-focused-border-color); }
903
+ border-color: var(--search-field-focused-border-color);
904
+ box-shadow: 0 0 0 3px var(--search-field-shadow-color); }
680
905
 
681
906
  .source-link {
682
907
  margin-top: 13px;
@@ -691,61 +916,80 @@ table {
691
916
  width: 100%;
692
917
  overflow: auto;
693
918
  word-break: normal;
694
- word-break: keep-all; }
919
+ word-break: keep-all;
920
+ font-size: 0.95em; }
695
921
  table th, table td {
696
- padding: 6px 13px;
922
+ padding: 8px 14px;
697
923
  border: 1px solid var(--table-border-color); }
698
924
  table td {
699
925
  background-color: var(--table-bg-color); }
700
926
  table th {
701
- font-weight: bold;
927
+ font-weight: 600;
928
+ text-align: left;
702
929
  background-color: var(--table-header-bg-color); }
703
930
  table tr {
704
931
  background-color: var(--table-row-bg-color); }
705
- table tr:nth-child(2n) {
932
+ table tr:nth-child(2n) td {
706
933
  background-color: var(--table-alt-row-bg-color); }
707
934
 
708
935
  body {
709
936
  -ms-text-size-adjust: 100%;
710
937
  -webkit-text-size-adjust: 100%;
938
+ -webkit-font-smoothing: antialiased;
939
+ -moz-osx-font-smoothing: grayscale;
711
940
  color: var(--font-color);
712
941
  font-family: var(--font-family);
713
942
  font-size: 16px;
714
- line-height: 1.6;
943
+ line-height: 1.7;
944
+ font-feature-settings: "cv02", "cv03", "cv04", "cv11";
715
945
  word-wrap: break-word; }
716
946
 
947
+ ::selection {
948
+ background-color: var(--selection-bg-color);
949
+ color: var(--selection-color); }
950
+
717
951
  strong, .strong {
718
- font-weight: bolder; }
952
+ font-weight: 600; }
719
953
 
720
954
  h1, h2, h3, h4, h5, h6 {
721
- margin-top: 1em;
722
- margin-bottom: 16px;
723
- font-weight: bold;
724
- line-height: 1.4; }
955
+ margin-top: 1.6em;
956
+ margin-bottom: 0.6em;
957
+ font-weight: 600;
958
+ line-height: 1.3;
959
+ letter-spacing: -0.011em; }
960
+ h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
961
+ margin-top: 0.5em; }
725
962
 
726
963
  h1 {
727
964
  color: var(--h1-color);
728
965
  border-bottom: 1px solid var(--h1-border-color);
729
- margin: 0.67em 0;
966
+ margin: 0.4em 0 0.6em;
730
967
  padding-bottom: 0.3em;
731
968
  font-size: 2.25em;
732
- line-height: 1.2; }
969
+ font-weight: 700;
970
+ line-height: 1.2;
971
+ letter-spacing: -0.022em; }
972
+
973
+ .main h1 ~ h1 {
974
+ border-bottom: none;
975
+ padding-bottom: 0; }
733
976
 
734
977
  h2 {
735
978
  color: var(--h2-color);
736
979
  border-bottom: 1px solid var(--h2-border-color);
737
980
  padding-bottom: 0.3em;
738
- font-size: 1.75em;
739
- line-height: 1.225; }
981
+ font-size: 1.6em;
982
+ line-height: 1.3;
983
+ letter-spacing: -0.017em; }
740
984
 
741
985
  h3 {
742
986
  color: var(--h3-color);
743
- font-size: 1.5em;
744
- line-height: 1.43; }
987
+ font-size: 1.3em;
988
+ line-height: 1.4; }
745
989
 
746
990
  h4 {
747
991
  color: var(--h4-color);
748
- font-size: 1.25em; }
992
+ font-size: 1.1em; }
749
993
 
750
994
  h5 {
751
995
  color: var(--h5-color);
@@ -753,23 +997,27 @@ h5 {
753
997
 
754
998
  h6 {
755
999
  color: var(--h6-color);
756
- font-size: 1em; }
1000
+ font-size: 0.9em;
1001
+ text-transform: uppercase;
1002
+ letter-spacing: 0.04em; }
757
1003
 
758
- code, pre, kbd {
759
- font-family: var(--font-family-monospace); }
1004
+ @media (prefers-reduced-motion: reduce) {
1005
+ html, body, * {
1006
+ transition: none !important;
1007
+ animation: none !important; } }
760
1008
 
761
1009
  * {
762
1010
  box-sizing: border-box; }
763
1011
 
764
1012
  p {
765
1013
  margin-top: 0;
766
- margin-bottom: 10px; }
1014
+ margin-bottom: 12px; }
767
1015
 
768
1016
  blockquote {
769
1017
  color: var(--blockquote-color);
770
1018
  border-left: 4px solid var(--blockquote-border-color);
771
1019
  margin: 0;
772
- padding: 0 15px; }
1020
+ padding: 4px 16px; }
773
1021
  blockquote > :first-child {
774
1022
  margin-top: 0; }
775
1023
  blockquote > :last-child {
@@ -780,7 +1028,10 @@ p, blockquote, ul, ol, dl, table, pre {
780
1028
  margin-bottom: 16px; }
781
1029
 
782
1030
  mark {
783
- background-color: var(--highlight-color); }
1031
+ background-color: var(--highlight-color);
1032
+ color: var(--highlight-text-color);
1033
+ padding: 0 0.2em;
1034
+ border-radius: 3px; }
784
1035
 
785
1036
  .quiet {
786
1037
  color: var(--quiet-color); }