weasyprint 64.1__py3-none-any.whl → 65.1__py3-none-any.whl

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.
@@ -6,758 +6,258 @@ Contributed by Peter Moulder.
6
6
  Based on suggested styles in the HTML5 specification, CSS 2.1, and
7
7
  what various web browsers use.
8
8
 
9
- */
10
-
11
- /* https://www.w3.org/TR/html5/Overview#scroll-to-the-fragment-identifier */
12
- *[id] { -weasy-anchor: attr(id); }
13
- a[name] { -weasy-anchor: attr(name); }
14
-
15
- *[dir] { /* unicode-bidi: embed; */ }
16
- *[hidden] { display: none; }
17
- *[dir=ltr] { direction: ltr; }
18
- *[dir=rtl] { direction: rtl; }
19
- /* :dir(ltr) { direction: ltr; } */
20
- /* :dir(rtl) { direction: rtl; } */
21
- *[lang] { -weasy-lang: attr(lang); }
22
- :link { color: #0000EE; text-decoration: underline; }
23
- a[href] { -weasy-link: attr(href); }
24
- :visited { color: #551A8B; text-decoration: underline; }
25
- a:link[rel~=help] { cursor: help; }
26
- a:visited[rel~=help] { cursor: help; }
27
- abbr[title] { text-decoration: dotted underline; }
28
- acronym[title] { text-decoration: dotted underline; }
29
- address { display: block; font-style: italic; /* unicode-bidi: isolate; */ }
30
- area { display: none; }
31
- area:link[rel~=help] { cursor: help; }
32
- area:visited[rel~=help] { cursor: help; }
33
- article { display: block; /* unicode-bidi: isolate; */ }
34
- aside { display: block; /* unicode-bidi: isolate; */ }
35
- b { font-weight: bold; }
36
- base { display: none; }
37
- basefont { display: none; }
38
- bdi { /* unicode-bidi: isolate; */ }
39
- bdi[dir] { /* unicode-bidi: isolate; */ }
40
- bdo { /* unicode-bidi: bidi-override; */ }
41
- bdo[dir] { /* unicode-bidi: bidi-override; */ }
42
- big { font-size: larger; }
43
- blink { text-decoration: blink; }
44
- blockquote { display: block; margin: 1em 40px; /* unicode-bidi: isolate; */ }
45
- body { display: block; margin: 8px; }
46
- br::before { content: '\A'; white-space: pre-line; }
47
- wbr::before { content: '\200B'; }
48
- caption { display: table-caption; /* unicode-bidi: isolate; */ }
49
- center { display: block; text-align: center; /* unicode-bidi: isolate; */ }
50
- cite { font-style: italic; }
51
- code { font-family: monospace; }
52
- col { display: table-column; /* unicode-bidi: isolate; */ }
53
- col[hidden] { display: table-column; /* unicode-bidi: isolate; */ visibility: collapse; }
54
- colgroup { display: table-column-group; /* unicode-bidi: isolate; */ }
55
- colgroup[hidden] { display: table-column-group; /* unicode-bidi: isolate; */ visibility: collapse; }
56
- command { display: none; }
57
- datalist { display: none; }
58
-
59
- dd { display: block; margin-left: 40px; /* unicode-bidi: isolate; */ }
60
-
61
- *[dir=ltr] dd { margin-left: 0; margin-right: 40px; }
62
- *[dir=rtl] dd { margin-left: 40px; margin-right: 0; }
63
- *[dir] *[dir=ltr] dd { margin-left: 0; margin-right: 40px; }
64
- *[dir] *[dir=rtl] dd { margin-left: 40px; margin-right: 0; }
65
- *[dir] *[dir] *[dir=ltr] dd { margin-left: 0; margin-right: 40px; }
66
- *[dir] *[dir] *[dir=rtl] dd { margin-left: 40px; margin-right: 0; }
67
- dd[dir=ltr][dir][dir] { margin-left: 0; margin-right: 40px; }
68
- dd[dir=rtl][dir][dir] { margin-left: 40px; margin-right: 0; }
69
-
70
- details { display: block; /* unicode-bidi: isolate; */ }
71
- del { text-decoration: line-through; }
72
- dfn { font-style: italic; }
73
-
74
- dir { display: block; list-style-type: disc; margin-bottom: 1em; margin-top: 1em; padding-left: 40px; /* unicode-bidi: isolate; */ }
75
-
76
- *[dir=rtl] dir { padding-left: 0; padding-right: 40px; }
77
- *[dir=ltr] dir { padding-left: 40px; padding-right: 0; }
78
- *[dir] *[dir=rtl] dir { padding-left: 0; padding-right: 40px; }
79
- *[dir] *[dir=ltr] dir { padding-left: 40px; padding-right: 0; }
80
- *[dir] *[dir] *[dir=rtl] dir { padding-left: 0; padding-right: 40px; }
81
- *[dir] *[dir] *[dir=ltr] dir { padding-left: 40px; padding-right: 0; }
82
- dir[dir=rtl][dir][dir] { padding-left: 0; padding-right: 40px; }
83
- dir[dir=ltr][dir][dir] { padding-left: 40px; padding-right: 0; }
84
-
85
- dir dir { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
86
- dl dir { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
87
- menu dir { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
88
- ol dir { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
89
- ul dir { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
90
-
91
- div { display: block; /* unicode-bidi: isolate; */ }
92
-
93
- dl { display: block; margin-bottom: 1em; margin-top: 1em; /* unicode-bidi: isolate; */ }
94
-
95
- dir dl { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
96
- dl dl { margin-bottom: 0; margin-top: 0; }
97
- ol dl { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
98
- ul dl { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
99
-
100
- dir dir dl { list-style-type: square; }
101
- dir menu dl { list-style-type: square; }
102
- dir ol dl { list-style-type: square; }
103
- dir ul dl { list-style-type: square; }
104
- menu dir dl { list-style-type: square; }
105
- menu dl { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
106
- menu menu dl { list-style-type: square; }
107
- menu ol dl { list-style-type: square; }
108
- menu ul dl { list-style-type: square; }
109
- ol dir dl { list-style-type: square; }
110
- ol menu dl { list-style-type: square; }
111
- ol ol dl { list-style-type: square; }
112
- ol ul dl { list-style-type: square; }
113
- ul dir dl { list-style-type: square; }
114
- ul menu dl { list-style-type: square; }
115
- ul ol dl { list-style-type: square; }
116
- ul ul dl { list-style-type: square; }
9
+ https://dev.w3.org/html5/spec-LC/rendering.html#the-css-user-agent-style-sheet-and-presentational-hints
117
10
 
118
- ol, ul { counter-reset: list-item }
11
+ */
119
12
 
13
+ /* WeasyPrint-only features */
14
+
15
+ [id] { -weasy-anchor: attr(id) }
16
+ a[name] { -weasy-anchor: attr(name) }
17
+ [lang] { -weasy-lang: attr(lang) }
18
+ a[href] { -weasy-link: attr(href) }
19
+
20
+ /* Display and visibility */
21
+
22
+ [hidden], area, base, basefont, command, datalist, head, input[type=hidden i], link, menu[type=context i], meta, noembed, noframes, param, rp, script, source, style, template, title, track { display: none }
23
+ address, article, aside, blockquote, body, center, dd, details, dir, div, dl, dt, frame, frameset, fieldset, figure, figcaption, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, html, legend, listing, main, menu, nav, ol, p, plaintext, pre, section, summary, ul, xmp { display: block }
24
+ button, input, keygen, select, textarea { display: inline-block }
25
+ li { display: list-item }
26
+ table { display: table }
27
+ caption { display: table-caption }
28
+ colgroup, colgroup[hidden] { display: table-column-group }
29
+ col, col[hidden] { display: table-column }
30
+ thead, thead[hidden] { display: table-header-group }
31
+ tbody, tbody[hidden] { display: table-row-group }
32
+ tfoot, tfoot[hidden] { display: table-footer-group }
33
+ tr, tr[hidden] { display: table-row }
34
+ td, th, td[hidden], th[hidden] { display: table-cell }
35
+ :is(colgroup, col, thead, tbody, tfoot, tr, td, th)[hidden] { visibility: collapse }
36
+
37
+ /* Margins and padding */
38
+
39
+ blockquote, dir, dl, figure, listing, menu, ol, p, plaintext, pre, ul, xmp { margin-top: 1em; margin-bottom: 1em }
40
+ :is(dir, dl, menu, ol, ul) :is(dir, dl, menu, ol, ul) { margin-top: 0; margin-bottom: 0 }
41
+
42
+ body { margin: 8px }
43
+
44
+ h1 { margin-top: .67em; margin-bottom: .67em }
45
+ h2 { margin-top: .83em; margin-bottom: .83em }
46
+ h3 { margin-top: 1em; margin-bottom: 1em }
47
+ h4 { margin-top: 1.33em; margin-bottom: 1.33em }
48
+ h5 { margin-top: 1.67em; margin-bottom: 1.67em }
49
+ h6 { margin-top: 2.33em; margin-bottom: 2.33em }
50
+ :is(article, aside, nav, section) h1 { font-size: 1.5em; margin-bottom: .83em; margin-top: .83em }
51
+ :is(article, aside, nav, section) :is(article, aside, nav, section) h1 { font-size: 1.17em; margin-bottom: 1em; margin-top: 1em }
52
+ :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 { font-size: 1em; margin-bottom: 1.33em; margin-top: 1.33em }
53
+ :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 { font-size: .83em; margin-bottom: 1.67em; margin-top: 1.67em }
54
+ :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 { font-size: .67em; margin-bottom: 2.33em; margin-top: 2.33em }
55
+
56
+ blockquote, figure { margin-left: 40px; margin-right: 40px }
57
+
58
+ dd { margin-left: 40px }
59
+ [dir=ltr i] dd { margin-left: 0; margin-right: 40px }
60
+ [dir=rtl i] dd { margin-left: 40px; margin-right: 0 }
61
+ [dir] [dir=ltr i] dd { margin-left: 0; margin-right: 40px }
62
+ [dir] [dir=rtl i] dd { margin-left: 40px; margin-right: 0 }
63
+ [dir] [dir] [dir=ltr i] dd { margin-left: 0; margin-right: 40px }
64
+ [dir] [dir] [dir=rtl i] dd { margin-left: 40px; margin-right: 0 }
65
+ dd[dir=ltr i][dir][dir] { margin-left: 0; margin-right: 40px }
66
+ dd[dir=rtl i][dir][dir] { margin-left: 40px; margin-right: 0 }
67
+
68
+ dir, menu, ol, ul { padding-left: 40px }
69
+ [dir=ltr i] :is(dir, menu, ol, ul) { padding-left: 40px; padding-right: 0 }
70
+ [dir=rtl i] :is(dir, menu, ol, ul) { padding-left: 0; padding-right: 40px }
71
+ [dir] [dir=ltr i] :is(dir, menu, ol, ul) { padding-left: 40px; padding-right: 0 }
72
+ [dir] [dir=rtl i] :is(dir, menu, ol, ul) { padding-left: 0; padding-right: 40px }
73
+ [dir] [dir] [dir=ltr i] :is(dir, menu, ol, ul) { padding-left: 40px; padding-right: 0 }
74
+ [dir] [dir] [dir=rtl i] :is(dir, menu, ol, ul) { padding-left: 0; padding-right: 40px }
75
+ :is(dir, menu, ol, ul)[dir=ltr i][dir][dir] { padding-left: 40px; padding-right: 0 }
76
+ :is(dir, menu, ol, ul)[dir=rtl i][dir][dir] { padding-left: 0; padding-right: 40px }
77
+
78
+ table { border-spacing: 2px; border-collapse: separate }
79
+ td, th { padding: 1px }
80
+
81
+ /* Alignment */
82
+
83
+ thead, tbody, tfoot, table > tr { vertical-align: middle }
84
+ tr, td, th { vertical-align: inherit }
85
+ sub { vertical-align: sub }
86
+ sup { vertical-align: super }
87
+
88
+ /* Fonts and colors */
89
+
90
+ address, cite, dfn, em, i, var { font-style: italic }
91
+ b, strong, th { font-weight: bold }
92
+ code, kbd, listing, plaintext, pre, samp, tt, xmp { font-family: monospace }
93
+ h1 { font-size: 2em; font-weight: bold }
94
+ h2 { font-size: 1.5em; font-weight: bold }
95
+ h3 { font-size: 1.17em; font-weight: bold }
96
+ h4 { font-size: 1em; font-weight: bold }
97
+ h5 { font-size: .83em; font-weight: bold }
98
+ h6 { font-size: .67em; font-weight: bold }
99
+ big { font-size: larger }
100
+ small, sub, sup { font-size: smaller }
101
+ sub, sup { line-height: normal }
102
+
103
+ :link { color: blue }
104
+ mark { background: yellow; color: black }
105
+
106
+ table, td, th { border-color: gray }
107
+ thead, tbody, tfoot, tr { border-color: inherit }
108
+ table:is([rules], [frame]):is([frame=above i], [frame=below i], [frame=border i], [frame=box i], [frame=hsides i], [frame=lhs i], [frame=rhs i], [frame=void i], [frame=vsides i], [rules=all i], [rules=cols i], [rules=groups i], [rules=none i], [rules=rows i]), table[rules]:is([rules=all i], [rules=cols i], [rules=groups i], [rules=none i], [rules=rows i]) > tr > :is(td, th), table[rules]:is([rules=all i], [rules=cols i], [rules=groups i], [rules=none i], [rules=rows i]) > :is(thead, tbody, tfoot) > tr > :is(td, th) { border-color: black }
109
+
110
+ /* Punctuation and decorations */
111
+
112
+ :link, :visited, ins, u { text-decoration: underline }
113
+ abbr[title], acronym[title] { text-decoration: dotted underline }
114
+ del, s, strike { text-decoration: line-through }
115
+ q::before { content: open-quote }
116
+ q::after { content: close-quote }
117
+
118
+ br::before { content: "\A"; white-space: pre-line }
119
+ wbr::before { content: "\200B" }
120
+ nobr { white-space: nowrap }
121
+
122
+ hr { border-style: inset; border-width: 1px; color: gray; margin: .5em auto }
123
+
124
+ listing, plaintext, pre, xmp { white-space: pre }
125
+ textarea { white-space: pre-wrap }
126
+ ol { list-style-type: decimal }
127
+ dir, menu, ul { list-style-type: disc }
128
+ :is(dir, menu, ol, ul) ul { list-style-type: circle }
129
+ :is(dir, menu, ol, ul) :is(dir, menu, ol, ul) ul { list-style-type: square }
130
+
131
+ ::marker { font-variant-numeric: tabular-nums }
132
+
133
+ [dir=ltr i] { direction: ltr }
134
+ [dir=rtl i] { direction: rtl }
135
+
136
+ /* Text indent */
137
+
138
+ table, input, select, option, optgroup, button, textarea, keygen { text-indent: initial }
139
+
140
+ /* Specific tags */
141
+
142
+ center { text-align: center }
143
+ iframe:not([seamless]) { border: 2px inset }
144
+ img, svg { overflow: hidden }
145
+ video { object-fit: contain }
146
+ table { box-sizing: border-box }
147
+
148
+ /* Footnotes */
149
+
150
+ ::footnote-call { content: counter(footnote); vertical-align: super; font-size: smaller; line-height: inherit }
151
+ ::footnote-marker { content: counter(footnote) ". " }
120
152
 
121
- dt { display: block; /* unicode-bidi: isolate; */ }
122
- em { font-style: italic; }
123
- fieldset { display: block; border-style: groove; border-width: 2px; margin-left: 2px; margin-right: 2px; padding: .35em .625em .75em .625em; }
124
- figcaption { display: block; /* unicode-bidi: isolate; */ }
125
- figure { display: block; margin: 1em 40px; /* unicode-bidi: isolate; */ }
126
- footer { display: block; /* unicode-bidi: isolate; */ }
127
-
128
- form { display: block; /* unicode-bidi: isolate; */ }
129
- button,
130
- input,
131
- select,
132
- textarea {
133
- border: 1px solid black;
134
- display: inline-block;
135
- font-size: 0.85em;
136
- height: 1.2em;
137
- padding: 0.2em;
138
- white-space: pre;
139
- width: 20em;
140
- }
141
- input[type="button"],
142
- input[type="reset"],
143
- input[type="submit"],
144
- button {
145
- background: lightgrey;
146
- border-radius: 0.25em;
147
- text-align: center;
148
- }
149
- input[type="button"][value],
150
- input[type="reset"][value],
151
- input[type="submit"][value],
152
- button[value] {
153
- max-width: 100%;
154
- width: auto;
155
- }
156
- input[type="submit"]:not([value])::before {
157
- content: "Submit";
158
- }
159
- input[type="reset"]:not([value])::before {
160
- content: "Reset";
161
- }
162
- input[type="checkbox"],
163
- input[type="radio"] {
164
- height: 0.7em;
165
- vertical-align: -0.2em;
166
- width: 0.7em;
167
- }
168
- input[type="checkbox"][checked]:before,
169
- input[type="radio"][checked]:before {
170
- background: black;
171
- content: "";
172
- height: 100%;
173
- }
174
- input[type="radio"][checked]:before {
175
- border-radius: 50%;
176
- }
177
- input[type="hidden"] {
178
- display: none;
179
- }
180
- input[type="radio"] {
181
- border-radius: 50%;
182
- }
183
- input[value]::before {
184
- content: attr(value);
185
- display: block;
186
- overflow: hidden;
187
- }
188
- input::before,
189
- input[value=""]::before,
190
- input[type="checkbox"]::before,
191
- input[type="radio"]::before {
192
- content: "";
193
- display: block;
194
- }
195
- select {
196
- background: lightgrey;
197
- border-radius: 0.25em 0.25em;
198
- position: relative;
199
- white-space: normal;
200
- }
201
- select[multiple] {
202
- height: 3.6em;
203
- }
204
- select:not([multiple])::before {
205
- content: "˅";
206
- position: absolute;
207
- right: 0;
208
- text-align: center;
209
- width: 1.5em;
210
- }
211
- select option {
212
- padding-right: 1.5em;
213
- white-space: nowrap;
214
- }
215
- select:not([multiple]) option {
216
- display: none;
217
- }
218
- select[multiple] option,
219
- select:not(:has(option[selected])) option:first-of-type,
220
- select option[selected]:not(option[selected] ~ option[selected]) {
221
- display: block;
222
- overflow: hidden;
223
- }
224
- textarea {
225
- height: 3em;
226
- margin: 0.1em 0;
227
- overflow: hidden;
228
- overflow-wrap: break-word;
229
- padding: 0.2em;
230
- white-space: pre-wrap;
231
- }
232
- textarea:empty {
233
- height: 3em;
234
- }
153
+ /* Counters and bookmarks */
235
154
 
236
- frame { display: block; }
237
- frameset { display: block; }
238
-
239
- h1 { display: block; font-size: 2em; font-weight: bold; hyphens: manual; margin-bottom: .67em; margin-top: .67em; page-break-after: avoid; page-break-inside: avoid; /* unicode-bidi: isolate; */ bookmark-level: 1; bookmark-label: content(text); }
240
- section h1 { font-size: 1.50em; margin-bottom: .83em; margin-top: .83em; }
241
- section section h1 { font-size: 1.17em; margin-bottom: 1.00em; margin-top: 1.00em; }
242
- section section section h1 { font-size: 1.00em; margin-bottom: 1.33em; margin-top: 1.33em; }
243
- section section section section h1 { font-size: .83em; margin-bottom: 1.67em; margin-top: 1.67em; }
244
- section section section section section h1 { font-size: .67em; margin-bottom: 2.33em; margin-top: 2.33em; }
245
- h2 { display: block; font-size: 1.50em; font-weight: bold; hyphens: manual; margin-bottom: .83em; margin-top: .83em; page-break-after: avoid; page-break-inside: avoid; /* unicode-bidi: isolate; */ bookmark-level: 2; bookmark-label: content(text); }
246
- h3 { display: block; font-size: 1.17em; font-weight: bold; hyphens: manual; margin-bottom: 1.00em; margin-top: 1.00em; page-break-after: avoid; page-break-inside: avoid; /* unicode-bidi: isolate; */ bookmark-level: 3; bookmark-label: content(text); }
247
- h4 { display: block; font-size: 1.00em; font-weight: bold; hyphens: manual; margin-bottom: 1.33em; margin-top: 1.33em; page-break-after: avoid; page-break-inside: avoid; /* unicode-bidi: isolate; */ bookmark-level: 4; bookmark-label: content(text); }
248
- h5 { display: block; font-size: .83em; font-weight: bold; hyphens: manual; margin-bottom: 1.67em; margin-top: 1.67em; page-break-after: avoid; /* unicode-bidi: isolate; */ bookmark-level: 5; bookmark-label: content(text); }
249
- h6 { display: block; font-size: .67em; font-weight: bold; hyphens: manual; margin-bottom: 2.33em; margin-top: 2.33em; page-break-after: avoid; /* unicode-bidi: isolate; */ bookmark-level: 6; bookmark-label: content(text); }
250
-
251
- head { display: none; }
252
- header { display: block; /* unicode-bidi: isolate; */ }
253
- hgroup { display: block; /* unicode-bidi: isolate; */ }
254
-
255
- hr { border-style: inset; border-width: 1px; color: gray; display: block; margin-bottom: .5em; margin-left: auto; margin-right: auto; margin-top: .5em; /* unicode-bidi: isolate; */ }
256
- html { display: block; }
257
- i { font-style: italic; }
258
- *[dir=auto] { /* unicode-bidi: isolate; */ }
259
- bdo[dir=auto] { /* unicode-bidi: bidi-override isolate; */ }
260
- input[type=hidden] { display: none; }
261
- menu[type=context] { display: none; }
262
- pre[dir=auto] { /* unicode-bidi: plaintext; */ }
263
- table[frame=above] { border-color: black; }
264
- table[frame=below] { border-color: black; }
265
- table[frame=border] { border-color: black; }
266
- table[frame=box] { border-color: black; }
267
- table[frame=hsides] { border-color: black; }
268
- table[frame=lhs] { border-color: black; }
269
- table[frame=rhs] { border-color: black; }
270
- table[frame=void] { border-color: black; }
271
- table[frame=vsides] { border-color: black; }
272
- table[rules=all] { border-color: black; }
273
- table[rules=cols] { border-color: black; }
274
- table[rules=groups] { border-color: black; }
275
- table[rules=none] { border-color: black; }
276
- table[rules=rows] { border-color: black; }
277
- textarea[dir=auto] { /* unicode-bidi: plaintext; */ }
278
- iframe { border: 2px inset; }
279
- iframe[seamless] { border: none; }
280
- input { display: inline-block; text-indent: 0; }
281
- ins { text-decoration: underline; }
282
- kbd { font-family: monospace; }
283
- keygen { display: inline-block; text-indent: 0; }
284
- legend { display: block; /* unicode-bidi: isolate; */ }
285
- li { display: list-item; /* unicode-bidi: isolate; */ }
286
- link { display: none; }
287
- listing { display: block; font-family: monospace; margin-bottom: 1em; margin-top: 1em; /* unicode-bidi: isolate; */ white-space: pre; }
288
- mark { background: yellow; color: black; }
289
- main { display: block; /* unicode-bidi: isolate; */ }
290
-
291
- menu { display: block; list-style-type: disc; margin-bottom: 1em; margin-top: 1em; padding-left: 40px; /* unicode-bidi: isolate; */ }
292
-
293
- *[dir=rtl] menu { padding-left: 0; padding-right: 40px; }
294
- *[dir=ltr] menu { padding-left: 40px; padding-right: 0; }
295
- *[dir] *[dir=rtl] menu { padding-left: 0; padding-right: 40px; }
296
- *[dir] *[dir=ltr] menu { padding-left: 40px; padding-right: 0; }
297
- *[dir] *[dir] *[dir=rtl] menu { padding-left: 0; padding-right: 40px; }
298
- *[dir] *[dir] *[dir=ltr] menu { padding-left: 40px; padding-right: 0; }
299
- menu[dir=rtl][dir][dir] { padding-left: 0; padding-right: 40px; }
300
- menu[dir=ltr][dir][dir] { padding-left: 40px; padding-right: 0; }
301
-
302
- dir menu { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
303
- dl menu { margin-bottom: 0; margin-top: 0; }
304
- menu menu { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
305
-
306
- dir dir menu { list-style-type: square; }
307
- dir menu menu { list-style-type: square; }
308
- dir ol menu { list-style-type: square; }
309
- dir ul menu { list-style-type: square; }
310
- menu dir menu { list-style-type: square; }
311
- menu menu menu { list-style-type: square; }
312
- menu ol menu { list-style-type: square; }
313
- menu ul menu { list-style-type: square; }
314
-
315
- ol menu { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
316
- ol dir menu { list-style-type: square; }
317
- ol menu menu { list-style-type: square; }
318
- ol ol menu { list-style-type: square; }
319
- ol ul menu { list-style-type: square; }
320
- ul dir menu { list-style-type: square; }
321
- ul menu menu { list-style-type: square; }
322
- ul menu { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
323
- ul ol menu { list-style-type: square; }
324
- ul ul menu { list-style-type: square; }
325
- meta { display: none; }
326
- nav { display: block; /* unicode-bidi: isolate; */ }
327
- nobr { white-space: nowrap; }
328
- noembed { display: none; }
329
-
330
- /* The HTML5 spec suggests display:none for the old (now forbidden) noframes element,
331
- * but Morp doesn't currently handle frames, so we might as well render it.
332
- */
333
- /*noframes { display: none; }*/
334
- noframes { display: block; }
335
-
336
- ol { page-break-before: avoid; }
337
- ol { display: block; list-style-type: decimal; margin-bottom: 1em; margin-top: 1em; padding-left: 40px; /* unicode-bidi: isolate; */ }
338
-
339
- *[dir=ltr] ol { padding-left: 0; padding-right: 40px; }
340
- *[dir=rtl] ol { padding-left: 40px; padding-right: 0; }
341
- *[dir] *[dir=ltr] ol { padding-left: 0; padding-right: 40px; }
342
- *[dir] *[dir=rtl] ol { padding-left: 40px; padding-right: 0; }
343
- *[dir] *[dir] *[dir=ltr] ol { padding-left: 0; padding-right: 40px; }
344
- *[dir] *[dir] *[dir=rtl] ol { padding-left: 40px; padding-right: 0; }
345
- ol[dir=ltr][dir][dir] { padding-left: 0; padding-right: 40px; }
346
- ol[dir=rtl][dir][dir] { padding-left: 40px; padding-right: 0; }
347
-
348
- dir ol { margin-bottom: 0; margin-top: 0; }
349
- dl ol { margin-bottom: 0; margin-top: 0; }
350
- menu ol { margin-bottom: 0; margin-top: 0; }
351
- ol ol { margin-bottom: 0; margin-top: 0; }
352
- ul ol { margin-bottom: 0; margin-top: 0; }
353
-
354
- optgroup { text-indent: 0; }
355
- output { /* unicode-bidi: isolate; */ }
356
- output[dir] { /* unicode-bidi: isolate; */ }
357
- p { display: block; margin-bottom: 1em; margin-top: 1em; /* unicode-bidi: isolate; */ }
358
- param { display: none; }
359
- plaintext { display: block; font-family: monospace; margin-bottom: 1em; margin-top: 1em; /* unicode-bidi: isolate; */ white-space: pre; }
360
- pre { display: block; font-family: monospace; margin-bottom: 1em; margin-top: 1em; /* unicode-bidi: isolate; */ white-space: pre; }
361
- q::after { content: close-quote; }
362
- q::before { content: open-quote; }
363
- rp { display: none; }
364
- /* rt { display: ruby-text; } */
365
- /* ruby { display: ruby; } */
366
- s { text-decoration: line-through; }
367
- samp { font-family: monospace; }
368
- script { display: none; }
369
- section { display: block; /* unicode-bidi: isolate; */ }
370
- small { font-size: smaller; }
371
- source { display: none; }
372
- strike { text-decoration: line-through; }
373
- strong { font-weight: bolder; }
374
- style { display: none; }
375
- sub { font-size: smaller; line-height: normal; vertical-align: sub; }
376
- summary { display: block; /* unicode-bidi: isolate; */ }
377
- sup { font-size: smaller; line-height: normal; vertical-align: super; }
378
- img, svg { overflow: hidden; }
379
-
380
- table { border-collapse: separate; border-color: gray; border-spacing: 2px; display: table; text-indent: 0; /* unicode-bidi: isolate; */ }
381
-
382
- /* The html5 spec doesn't mention the following, though the CSS 2.1 spec does
383
- * hint at its use, and a couple of UAs do have this. I haven't looked into
384
- * why the HTML5 spec doesn't include this rule.
385
- */
386
- table { box-sizing: border-box; }
387
-
388
- tbody { border-color: inherit; display: table-row-group; /* unicode-bidi: isolate; */ vertical-align: middle; }
389
- tbody[hidden] { display: table-row-group; /* unicode-bidi: isolate; */ visibility: collapse; }
390
-
391
- td { border-color: gray; display: table-cell; padding: 1px; /* unicode-bidi: isolate; */ vertical-align: inherit; }
392
- td[hidden] { display: table-cell; /* unicode-bidi: isolate; */ visibility: collapse; }
393
-
394
- textarea { display: inline-block; text-indent: 0; white-space: pre-wrap; }
395
-
396
- tfoot { border-color: inherit; display: table-footer-group; /* unicode-bidi: isolate; */ vertical-align: middle; }
397
- tfoot[hidden] { display: table-footer-group; /* unicode-bidi: isolate; */ visibility: collapse; }
398
-
399
- table[rules=none] > tr > td, table[rules=none] > tr > th, table[rules=groups] > tr > td, table[rules=groups] > tr > th, table[rules=rows] > tr > td, table[rules=rows] > tr > th, table[rules=cols] > tr > td, table[rules=cols] > tr > th, table[rules=all] > tr > td, table[rules=all] > tr > th, table[rules=none] > thead > tr > td, table[rules=none] > thead > tr > th, table[rules=groups] > thead > tr > td, table[rules=groups] > thead > tr > th, table[rules=rows] > thead > tr > td, table[rules=rows] > thead > tr > th, table[rules=cols] > thead > tr > td, table[rules=cols] > thead > tr > th, table[rules=all] > thead > tr > td, table[rules=all] > thead > tr > th, table[rules=none] > tbody > tr > td, table[rules=none] > tbody > tr > th, table[rules=groups] > tbody > tr > td, table[rules=groups] > tbody > tr > th, table[rules=rows] > tbody > tr > td, table[rules=rows] > tbody > tr > th, table[rules=cols] > tbody > tr > td, table[rules=cols] > tbody > tr > th, table[rules=all] > tbody > tr > td, table[rules=all] > tbody > tr > th, table[rules=none] > tfoot > tr > td, table[rules=none] > tfoot > tr > th, table[rules=groups] > tfoot > tr > td, table[rules=groups] > tfoot > tr > th, table[rules=rows] > tfoot > tr > td, table[rules=rows] > tfoot > tr > th, table[rules=cols] > tfoot > tr > td, table[rules=cols] > tfoot > tr > th, table[rules=all] > tfoot > tr > td, table[rules=all] > tfoot > tr > th { border-color: black; }
400
- th { border-color: gray; display: table-cell; font-weight: bold; padding: 1px; /* unicode-bidi: isolate; */ vertical-align: inherit; }
401
-
402
- th[hidden] { display: table-cell; /* unicode-bidi: isolate; */ visibility: collapse; }
403
- thead { border-color: inherit; display: table-header-group; /* unicode-bidi: isolate; */ vertical-align: middle; }
404
- thead[hidden] { display: table-header-group; /* unicode-bidi: isolate; */ visibility: collapse; }
405
- table > tr { vertical-align: middle; }
406
- tr { border-color: inherit; display: table-row; /* unicode-bidi: isolate; */ vertical-align: inherit; }
407
- tr[hidden] { display: table-row; /* unicode-bidi: isolate; */ visibility: collapse; }
408
-
409
- template { display: none; }
410
- title { display: none; }
411
- track { display: none; }
412
- tt { font-family: monospace; }
413
- u { text-decoration: underline; }
414
-
415
- ::marker { /* unicode-bidi: isolate; */ font-variant-numeric: tabular-nums; }
416
- ul { display: block; list-style-type: disc; margin-bottom: 1em; margin-top: 1em; padding-left: 40px; /* unicode-bidi: isolate; */ }
417
-
418
- *[dir=ltr] ul { padding-left: 40px; padding-right: 0; }
419
- *[dir=rtl] ul { padding-left: 0; padding-right: 40px; }
420
- *[dir] *[dir=ltr] ul { padding-left: 40px; padding-right: 0; }
421
- *[dir] *[dir=rtl] ul { padding-left: 0; padding-right: 40px; }
422
- *[dir] *[dir] *[dir=ltr] ul { padding-left: 40px; padding-right: 0; }
423
- *[dir] *[dir] *[dir=rtl] ul { padding-left: 0; padding-right: 40px; }
424
- ul[dir=ltr][dir][dir] { padding-left: 40px; padding-right: 0; }
425
- ul[dir=rtl][dir][dir] { padding-left: 0; padding-right: 40px; }
426
-
427
- /* This isn't in the HTML5 spec's suggested styling, and should probably be a
428
- * mere hint rather than a demand. It usually is the right thing, though.
429
- */
430
- ul { display: block; page-break-before: avoid; }
431
-
432
- dir ul { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
433
- dl ul { margin-bottom: 0; margin-top: 0; }
434
- menu ul { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
435
- ol ul { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
436
- ul ul { list-style-type: circle; margin-bottom: 0; margin-top: 0; }
437
-
438
- dir dir ul { list-style-type: square; }
439
- dir menu ul { list-style-type: square; }
440
- dir ol ul { list-style-type: square; }
441
- dir ul ul { list-style-type: square; }
442
- menu dir ul { list-style-type: square; }
443
- menu menu ul { list-style-type: square; }
444
- menu ol ul { list-style-type: square; }
445
- menu ul ul { list-style-type: square; }
446
- ol dir ul { list-style-type: square; }
447
- ol menu ul { list-style-type: square; }
448
- ol ol ul { list-style-type: square; }
449
- ol ul ul { list-style-type: square; }
450
- ul dir ul { list-style-type: square; }
451
- ul menu ul { list-style-type: square; }
452
- ul ol ul { list-style-type: square; }
453
- ul ul ul { list-style-type: square; }
454
-
455
- var { font-style: italic; }
456
- video { object-fit: contain; }
457
- xmp { display: block; font-family: monospace; margin-bottom: 1em; margin-top: 1em; /* unicode-bidi: isolate; */ white-space: pre; }
458
-
459
- ::footnote-call { content: counter(footnote); vertical-align: super; font-size: smaller; line-height: inherit; }
460
- ::footnote-marker { content: counter(footnote) '. '; }
155
+ ol, ul { counter-reset: list-item }
156
+ h1 { bookmark-level: 1 }
157
+ h2 { bookmark-level: 2 }
158
+ h3 { bookmark-level: 3 }
159
+ h4 { bookmark-level: 4 }
160
+ h5 { bookmark-level: 5 }
161
+ h6 { bookmark-level: 6 }
162
+ h1, h2, h3, h4, h5, h6 { bookmark-label: content(text) }
163
+
164
+ /* Page breaks and hyphens */
165
+
166
+ h1, h2, h3, h4, h5, h6 { hyphens: manual; break-after: avoid; break-inside: avoid }
167
+ ol, ul { break-before: avoid }
168
+
169
+ /* Form fields */
170
+
171
+ button, input, select, textarea { border: 1px solid black; font-size: .85em; height: 1.2em; padding: .2em; white-space: pre; width: 20em }
172
+ input:is([type=button i], [type=reset i], [type=submit i]), button { background: lightgrey; border-radius: .25em; text-align: center }
173
+ input:is([type=button i], [type=reset i], [type=submit i])[value], button[value] { max-width: 100%; width: auto }
174
+ input[type=submit i]:not([value])::before { content: "Submit" }
175
+ input[type=reset i]:not([value])::before { content: "Reset" }
176
+ input:is([type=checkbox i], [type=radio i]) { height: .7em; vertical-align: -.2em; width: .7em }
177
+ input:is([type=checkbox i], [type=radio i])[checked]::before { background: black; content: ""; height: 100% }
178
+ input[type=radio i], input[type=radio][checked]:before { border-radius: 50% }
179
+ input[value]::before { content: attr(value); display: block; overflow: hidden }
180
+ :is(input, input[value=""], input[type=checkbox i], input[type=radio i]) { content: ""; display: block }
181
+ select { background: lightgrey; border-radius: .25em .25em; position: relative; white-space: normal }
182
+ select[multiple] { height: 3.6em }
183
+ select:not([multiple])::before { content: "˅"; position: absolute; right: 0; text-align: center; width: 1.5em }
184
+ select option { padding-right: 1.5em; white-space: nowrap }
185
+ select:not([multiple]) option { display: none }
186
+ select[multiple] option, select:not(:has(option[selected])) option:first-of-type, select option[selected]:not(option[selected] ~ option[selected]) { display: block; overflow: hidden }
187
+ textarea { height: 3em; margin: .1em 0; overflow: hidden; overflow-wrap: break-word; padding: .2em; white-space: pre-wrap }
188
+ textarea:empty { height: 3em }
189
+ fieldset { border: groove 2px; margin-left: 2px; margin-right: 2px; padding: .35em .625em .75em }
190
+
191
+ /* Pages */
461
192
 
462
193
  @page {
463
- /* `size: auto` (the initial) is A4 portrait */
464
- margin: 75px;
465
- @footnote { margin-top: 1em }
466
- @top-left-corner { text-align: right; vertical-align: middle }
467
- @top-left { text-align: left; vertical-align: middle }
468
- @top-center { text-align: center; vertical-align: middle }
469
- @top-right { text-align: right; vertical-align: middle }
470
- @top-right-corner { text-align: left; vertical-align: middle }
471
- @left-top { text-align: center; vertical-align: top }
472
- @left-middle { text-align: center; vertical-align: middle }
473
- @left-bottom { text-align: center; vertical-align: bottom }
474
- @right-top { text-align: center; vertical-align: top }
475
- @right-middle { text-align: center; vertical-align: middle }
476
- @right-bottom { text-align: center; vertical-align: bottom }
477
- @bottom-left-corner { text-align: right; vertical-align: middle }
478
- @bottom-left { text-align: left; vertical-align: middle }
479
- @bottom-center { text-align: center; vertical-align: middle }
480
- @bottom-right { text-align: right; vertical-align: middle }
481
- @bottom-right-corner { text-align: left; vertical-align: middle }
482
- }
483
-
484
-
485
- /* Counters: https://www.w3.org/TR/css-counter-styles-3/#predefined-counters */
486
-
487
- @counter-style disc {
488
- system: cyclic;
489
- symbols: •;
490
- suffix: " ";
491
- }
492
-
493
- @counter-style circle {
494
- system: cyclic;
495
- symbols: ◦;
496
- suffix: " ";
497
- }
498
-
499
- @counter-style square {
500
- system: cyclic;
501
- symbols: ▪;
502
- suffix: " ";
503
- }
504
-
505
- @counter-style disclosure-open {
506
- system: cyclic;
507
- symbols: ▾;
508
- suffix: " ";
509
- }
510
-
511
- @counter-style disclosure-closed {
512
- system: cyclic;
513
- /* TODO: handle rtl */
514
- symbols: ▸;
515
- suffix: " ";
516
- }
517
-
518
- @counter-style decimal {
519
- system: numeric;
520
- symbols: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
521
- }
522
-
523
-
524
- @counter-style decimal-leading-zero {
525
- system: extends decimal;
526
- pad: 2 '0';
527
- }
528
-
529
- @counter-style arabic-indic {
530
- system: numeric;
531
- symbols: ٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩;
532
- }
533
-
534
- @counter-style armenian {
535
- system: additive;
536
- range: 1 9999;
537
- additive-symbols: 9000 Ք, 8000 Փ, 7000 Ւ, 6000 Ց, 5000 Ր, 4000 Տ, 3000 Վ, 2000 Ս, 1000 Ռ, 900 Ջ, 800 Պ, 700 Չ, 600 Ո, 500 Շ, 400 Ն, 300 Յ, 200 Մ, 100 Ճ, 90 Ղ, 80 Ձ, 70 Հ, 60 Կ, 50 Ծ, 40 Խ, 30 Լ, 20 Ի, 10 Ժ, 9 Թ, 8 Ը, 7 Է, 6 Զ, 5 Ե, 4 Դ, 3 Գ, 2 Բ, 1 Ա;
538
- }
539
-
540
- @counter-style upper-armenian {
541
- system: extends armenian;
542
- }
543
-
544
- @counter-style lower-armenian {
545
- system: additive;
546
- range: 1 9999;
547
- additive-symbols: 9000 ք, 8000 փ, 7000 ւ, 6000 ց, 5000 ր, 4000 տ, 3000 վ, 2000 ս, 1000 ռ, 900 ջ, 800 պ, 700 չ, 600 ո, 500 շ, 400 ն, 300 յ, 200 մ, 100 ճ, 90 ղ, 80 ձ, 70 հ, 60 կ, 50 ծ, 40 խ, 30 լ, 20 ի, 10 ժ, 9 թ, 8 ը, 7 է, 6 զ, 5 ե, 4 դ, 3 գ, 2 բ, 1 ա;
548
- }
549
-
550
- @counter-style bengali {
551
- system: numeric;
552
- symbols: ০ ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯;
553
- }
554
-
555
- @counter-style cambodian {
556
- system: numeric;
557
- symbols: ០ ១ ២ ៣ ៤ ៥ ៦ ៧ ៨ ៩;
558
- }
559
-
560
- @counter-style khmer {
561
- system: extends cambodian;
562
- }
563
-
564
- @counter-style cjk-decimal {
565
- system: numeric;
566
- range: 0 infinite;
567
- symbols: 〇 一 二 三 四 五 六 七 八 九;
568
- suffix: "、";
569
- }
570
-
571
- @counter-style devanagari {
572
- system: numeric;
573
- symbols: ० १ २ ३ ४ ५ ६ ७ ८ ९;
574
- }
575
-
576
- @counter-style georgian {
577
- system: additive;
578
- range: 1 19999;
579
- additive-symbols: 10000 ჵ, 9000 ჰ, 8000 ჯ, 7000 ჴ, 6000 ხ, 5000 ჭ, 4000 წ, 3000 ძ, 2000 ც, 1000 ჩ, 900 შ, 800 ყ, 700 ღ, 600 ქ, 500 ფ, 400 ჳ, 300 ტ, 200 ს, 100 რ, 90 ჟ, 80 პ, 70 ო, 60 ჲ, 50 ნ, 40 მ, 30 ლ, 20 კ, 10 ი, 9 თ, 8 ჱ, 7 ზ, 6 ვ, 5 ე, 4 დ, 3 გ, 2 ბ, 1 ა;
580
- }
581
-
582
- @counter-style gujarati {
583
- system: numeric;
584
- symbols: ૦ ૧ ૨ ૩ ૪ ૫ ૬ ૭ ૮ ૯;
585
- }
586
-
587
- @counter-style gurmukhi {
588
- system: numeric;
589
- symbols: ੦ ੧ ੨ ੩ ੪ ੫ ੬ ੭ ੮ ੯;
590
- }
591
-
592
- @counter-style hebrew {
593
- system: additive;
594
- range: 1 10999;
595
- additive-symbols: 10000 י׳, 9000 ט׳, 8000 ח׳, 7000 ז׳, 6000 ו׳, 5000 ה׳, 4000 ד׳, 3000 ג׳, 2000 ב׳, 1000 א׳, 400 ת, 300 ש, 200 ר, 100 ק, 90 צ, 80 פ, 70 ע, 60 ס, 50 נ, 40 מ, 30 ל, 20 כ, 19 יט, 18 יח, 17 יז, 16 טז, 15 טו, 10 י, 9 ט, 8 ח, 7 ז, 6 ו, 5 ה, 4 ד, 3 ג, 2 ב, 1 א;
596
- }
597
-
598
- @counter-style kannada {
599
- system: numeric;
600
- symbols: ೦ ೧ ೨ ೩ ೪ ೫ ೬ ೭ ೮ ೯;
601
- }
602
-
603
- @counter-style lao {
604
- system: numeric;
605
- symbols: ໐ ໑ ໒ ໓ ໔ ໕ ໖ ໗ ໘ ໙;
606
- }
607
-
608
- @counter-style malayalam {
609
- system: numeric;
610
- symbols: ൦ ൧ ൨ ൩ ൪ ൫ ൬ ൭ ൮ ൯;
611
- }
612
-
613
- @counter-style mongolian {
614
- system: numeric;
615
- symbols: ᠐ ᠑ ᠒ ᠓ ᠔ ᠕ ᠖ ᠗ ᠘ ᠙;
616
- }
617
-
618
- @counter-style myanmar {
619
- system: numeric;
620
- symbols: ၀ ၁ ၂ ၃ ၄ ၅ ၆ ၇ ၈ ၉;
621
- }
622
-
623
- @counter-style oriya {
624
- system: numeric;
625
- symbols: ୦ ୧ ୨ ୩ ୪ ୫ ୬ ୭ ୮ ୯;
626
- }
627
-
628
- @counter-style persian {
629
- system: numeric;
630
- symbols: ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹;
631
- }
632
-
633
- @counter-style lower-roman {
634
- system: additive;
635
- range: 1 3999;
636
- additive-symbols: 1000 m, 900 cm, 500 d, 400 cd, 100 c, 90 xc, 50 l, 40 xl, 10 x, 9 ix, 5 v, 4 iv, 1 i;
637
- }
638
-
639
- @counter-style upper-roman {
640
- system: additive;
641
- range: 1 3999;
642
- additive-symbols: 1000 M, 900 CM, 500 D, 400 CD, 100 C, 90 XC, 50 L, 40 XL, 10 X, 9 IX, 5 V, 4 IV, 1 I;
643
- }
644
-
645
- @counter-style tamil {
646
- system: numeric;
647
- symbols: ௦ ௧ ௨ ௩ ௪ ௫ ௬ ௭ ௮ ௯;
648
- }
649
-
650
- @counter-style telugu {
651
- system: numeric;
652
- symbols: ౦ ౧ ౨ ౩ ౪ ౫ ౬ ౭ ౮ ౯;
653
- }
654
-
655
- @counter-style thai {
656
- system: numeric;
657
- symbols: ๐ ๑ ๒ ๓ ๔ ๕ ๖ ๗ ๘ ๙;
658
- }
659
-
660
- @counter-style tibetan {
661
- system: numeric;
662
- symbols: ༠ ༡ ༢ ༣ ༤ ༥ ༦ ༧ ༨ ༩;
663
- }
664
- @counter-style lower-alpha {
665
- system: alphabetic;
666
- symbols: a b c d e f g h i j k l m n o p q r s t u v w x y z;
667
- }
668
-
669
- @counter-style lower-latin {
670
- system: extends lower-alpha;
671
- }
672
-
673
- @counter-style upper-alpha {
674
- system: alphabetic;
675
- symbols: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z;
676
- }
677
-
678
- @counter-style upper-latin {
679
- system: extends upper-alpha;
680
- }
681
-
682
- @counter-style cjk-earthly-branch {
683
- system: alphabetic;
684
- symbols: 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥;
685
- suffix: "、";
686
- }
687
-
688
- @counter-style cjk-heavenly-stem {
689
- system: alphabetic;
690
- symbols: 甲 乙 丙 丁 戊 己 庚 辛 壬 癸;
691
- suffix: "、";
692
- }
693
-
694
- @counter-style lower-greek {
695
- system: alphabetic;
696
- symbols: α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω;
697
- }
698
-
699
- @counter-style hiragana {
700
- system: alphabetic;
701
- symbols: あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ よ ら り る れ ろ わ ゐ ゑ を ん;
702
- suffix: "、";
703
- }
704
-
705
- @counter-style hiragana-iroha {
706
- system: alphabetic;
707
- symbols: い ろ は に ほ へ と ち り ぬ る を わ か よ た れ そ つ ね な ら む う ゐ の お く や ま け ふ こ え て あ さ き ゆ め み し ゑ ひ も せ す;
708
- suffix: "、";
709
- }
710
-
711
- @counter-style katakana {
712
- system: alphabetic;
713
- symbols: ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヰ ヱ ヲ ン;
714
- suffix: "、";
715
- }
716
-
717
- @counter-style katakana-iroha {
718
- system: alphabetic;
719
- symbols: イ ロ ハ ニ ホ ヘ ト チ リ ヌ ル ヲ ワ カ ヨ タ レ ソ ツ ネ ナ ラ ム ウ ヰ ノ オ ク ヤ マ ケ フ コ エ テ ア サ キ ユ メ ミ シ ヱ ヒ モ セ ス;
720
- suffix: "、";
721
- }
722
-
723
- @counter-style japanese-informal {
724
- system: additive;
725
- range: -9999 9999;
726
- additive-symbols: 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 〇;
727
- suffix: 、;
728
- negative: マイナス;
729
- fallback: cjk-decimal;
730
- }
731
-
732
- @counter-style japanese-formal {
733
- system: additive;
734
- range: -9999 9999;
735
- additive-symbols: 9000 九阡, 8000 八阡, 7000 七阡, 6000 六阡, 5000 伍阡, 4000 四阡, 3000 参阡, 2000 弐阡, 1000 壱阡, 900 九百, 800 八百, 700 七百, 600 六百, 500 伍百, 400 四百, 300 参百, 200 弐百, 100 壱百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 伍拾, 40 四拾, 30 参拾, 20 弐拾, 10 壱拾, 9 九, 8 八, 7 七, 6 六, 5 伍, 4 四, 3 参, 2 弐, 1 壱, 0 零;
736
- suffix: 、;
737
- negative: マイナス;
738
- fallback: cjk-decimal;
739
- }
740
-
741
- @counter-style korean-hangul-formal {
742
- system: additive;
743
- range: -9999 9999;
744
- additive-symbols: 9000 구천, 8000 팔천, 7000 칠천, 6000 육천, 5000 오천, 4000 사천, 3000 삼천, 2000 이천, 1000 일천, 900 구백, 800 팔백, 700 칠백, 600 육백, 500 오백, 400 사백, 300 삼백, 200 이백, 100 일백, 90 구십, 80 팔십, 70 칠십, 60 육십, 50 오십, 40 사십, 30 삼십, 20 이십, 10 일십, 9 구, 8 팔, 7 칠, 6 육, 5 오, 4 사, 3 삼, 2 이, 1 일, 0 영;
745
- suffix: ', ';
746
- negative: "마이너스 ";
747
- }
748
-
749
- @counter-style korean-hanja-informal {
750
- system: additive;
751
- range: -9999 9999;
752
- additive-symbols: 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 零;
753
- suffix: ', ';
754
- negative: "마이너스 ";
755
- }
756
-
757
- @counter-style korean-hanja-formal {
758
- system: additive;
759
- range: -9999 9999;
760
- additive-symbols: 9000 九仟, 8000 八仟, 7000 七仟, 6000 六仟, 5000 五仟, 4000 四仟, 3000 參仟, 2000 貳仟, 1000 壹仟, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 參百, 200 貳百, 100 壹百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 五拾, 40 四拾, 30 參拾, 20 貳拾, 10 壹拾, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 參, 2 貳, 1 壹, 0 零;
761
- suffix: ', ';
762
- negative: "마이너스 ";
763
- }
194
+ margin: 75px;
195
+ @footnote { margin-top: 1em }
196
+ @top-left-corner { text-align: right; vertical-align: middle }
197
+ @top-left { text-align: left; vertical-align: middle }
198
+ @top-center { text-align: center; vertical-align: middle }
199
+ @top-right { text-align: right; vertical-align: middle }
200
+ @top-right-corner { text-align: left; vertical-align: middle }
201
+ @left-top { text-align: center; vertical-align: top }
202
+ @left-middle { text-align: center; vertical-align: middle }
203
+ @left-bottom { text-align: center; vertical-align: bottom }
204
+ @right-top { text-align: center; vertical-align: top }
205
+ @right-middle { text-align: center; vertical-align: middle }
206
+ @right-bottom { text-align: center; vertical-align: bottom }
207
+ @bottom-left-corner { text-align: right; vertical-align: middle }
208
+ @bottom-left { text-align: left; vertical-align: middle }
209
+ @bottom-center { text-align: center; vertical-align: middle }
210
+ @bottom-right { text-align: right; vertical-align: middle }
211
+ @bottom-right-corner { text-align: left; vertical-align: middle }
212
+ }
213
+
214
+ /* Counters */
215
+
216
+ @counter-style disc { system: cyclic; symbols: •; suffix: " " }
217
+ @counter-style circle { system: cyclic; symbols: ◦; suffix: " " }
218
+ @counter-style square { system: cyclic; symbols: ▪; suffix: " " }
219
+ @counter-style disclosure-open { system: cyclic; symbols: ▾; suffix: " " }
220
+ @counter-style disclosure-closed { system: cyclic; symbols: ▸; suffix: " " }
221
+ @counter-style decimal { system: numeric; symbols: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" }
222
+ @counter-style decimal-leading-zero { system: extends decimal; pad: 2 "0" }
223
+ @counter-style arabic-indic { system: numeric; symbols: ٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ }
224
+ @counter-style armenian { system: additive; range: 1 9999; additive-symbols: 9000 Ք, 8000 Փ, 7000 Ւ, 6000 Ց, 5000 Ր, 4000 Տ, 3000 Վ, 2000 Ս, 1000 Ռ, 900 Ջ, 800 Պ, 700 Չ, 600 Ո, 500 Շ, 400 Ն, 300 Յ, 200 Մ, 100 Ճ, 90 Ղ, 80 Ձ, 70 Հ, 60 Կ, 50 Ծ, 40 Խ, 30 Լ, 20 Ի, 10 Ժ, 9 Թ, 8 Ը, 7 Է, 6 Զ, 5 Ե, 4 Դ, 3 Գ, 2 Բ, 1 Ա }
225
+ @counter-style upper-armenian {system: extends armenian }
226
+ @counter-style lower-armenian { system: additive; range: 1 9999; additive-symbols: 9000 ք, 8000 փ, 7000 ւ, 6000 ց, 5000 ր, 4000 տ, 3000 վ, 2000 ս, 1000 ռ, 900 ջ, 800 պ, 700 չ, 600 ո, 500 շ, 400 ն, 300 յ, 200 մ, 100 ճ, 90 ղ, 80 ձ, 70 հ, 60 կ, 50 ծ, 40 խ, 30 լ, 20 ի, 10 ժ, 9 թ, 8 ը, 7 է, 6 զ, 5 ե, 4 դ, 3 գ, 2 բ, 1 ա }
227
+ @counter-style bengali { system: numeric; symbols: ০ ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ }
228
+ @counter-style cambodian { system: numeric; symbols: ០ ១ ២ ៣ ៤ ៥ ៦ ៧ ៨ ៩ }
229
+ @counter-style khmer { system: extends cambodian }
230
+ @counter-style cjk-decimal { system: numeric; range: 0 infinite; symbols: 〇 一 二 三 四 五 六 七 八 九; suffix: "、" }
231
+ @counter-style devanagari { system: numeric; symbols: ० १ २ ३ ४ ५ ६ ७ ८ ९ }
232
+ @counter-style georgian { system: additive; range: 1 19999; additive-symbols: 10000 ჵ, 9000 ჰ, 8000 ჯ, 7000 ჴ, 6000 ხ, 5000 ჭ, 4000 წ, 3000 ძ, 2000 ც, 1000 ჩ, 900 შ, 800 ყ, 700 ღ, 600 ქ, 500 ფ, 400 ჳ, 300 ტ, 200 ს, 100 რ, 90 ჟ, 80 პ, 70 ო, 60 ჲ, 50 ნ, 40 მ, 30 ლ, 20 კ, 10 ი, 9 თ, 8 ჱ, 7 ზ, 6 ვ, 5 ე, 4 დ, 3 გ, 2 ბ, 1 ა }
233
+ @counter-style gujarati { system: numeric; symbols: ૦ ૧ ૨ ૩ ૪ ૫ ૬ ૭ ૮ ૯ }
234
+ @counter-style gurmukhi { system: numeric; symbols: ੦ ੧ ੨ ੩ ੪ ੫ ੬ ੭ ੮ ੯ }
235
+ @counter-style hebrew { system: additive; range: 1 10999; additive-symbols: 10000 י׳, 9000 ט׳, 8000 ח׳, 7000 ז׳, 6000 ו׳, 5000 ה׳, 4000 ד׳, 3000 ג׳, 2000 ב׳, 1000 א׳, 400 ת, 300 ש, 200 ר, 100 ק, 90 צ, 80 פ, 70 ע, 60 ס, 50 נ, 40 מ, 30 ל, 20 כ, 19 יט, 18 יח, 17 יז, 16 טז, 15 טו, 10 י, 9 ט, 8 ח, 7 ז, 6 ו, 5 ה, 4 ד, 3 ג, 2 ב, 1 א }
236
+ @counter-style kannada { system: numeric; symbols: ೦ ೧ ೨ ೩ ೪ ೫ ೬ ೭ ೮ ೯ }
237
+ @counter-style lao { system: numeric; symbols: ໐ ໑ ໒ ໓ ໔ ໕ ໖ ໗ ໘ ໙ }
238
+ @counter-style malayalam { system: numeric; symbols: ൦ ൧ ൨ ൩ ൪ ൫ ൬ ൭ ൮ ൯ }
239
+ @counter-style mongolian { system: numeric; symbols: ᠐ ᠑ ᠒ ᠓ ᠔ ᠕ ᠖ ᠗ ᠘ ᠙ }
240
+ @counter-style myanmar { system: numeric; symbols: ၀ ၁ ၂ ၃ ၄ ၅ ၆ ၇ ၈ ၉ }
241
+ @counter-style oriya { system: numeric; symbols: ୦ ୧ ୨ ୩ ୪ ୫ ୬ ୭ ୮ ୯ }
242
+ @counter-style persian { system: numeric; symbols: ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ }
243
+ @counter-style lower-roman { system: additive; range: 1 3999; additive-symbols: 1000 m, 900 cm, 500 d, 400 cd, 100 c, 90 xc, 50 l, 40 xl, 10 x, 9 ix, 5 v, 4 iv, 1 i }
244
+ @counter-style upper-roman { system: additive; range: 1 3999; additive-symbols: 1000 M, 900 CM, 500 D, 400 CD, 100 C, 90 XC, 50 L, 40 XL, 10 X, 9 IX, 5 V, 4 IV, 1 I }
245
+ @counter-style tamil { system: numeric; symbols: ௦ ௧ ௨ ௩ ௪ ௫ ௬ ௭ ௮ ௯ }
246
+ @counter-style telugu { system: numeric; symbols: ౦ ౧ ౨ ౩ ౪ ౫ ౬ ౭ ౮ ౯ }
247
+ @counter-style thai { system: numeric; symbols: ๐ ๑ ๒ ๓ ๔ ๕ ๖ ๗ ๘ ๙ }
248
+ @counter-style tibetan { system: numeric; symbols: ༠ ༡ ༢ ༣ ༤ ༥ ༦ ༧ ༨ ༩ } @counter-style lower-alpha { system: alphabetic; symbols: a b c d e f g h i j k l m n o p q r s t u v w x y z }
249
+ @counter-style lower-latin { system: extends lower-alpha }
250
+ @counter-style upper-alpha { system: alphabetic; symbols: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z }
251
+ @counter-style upper-latin { system: extends upper-alpha }
252
+ @counter-style cjk-earthly-branch { system: alphabetic; symbols: 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥; suffix: "、" }
253
+ @counter-style cjk-heavenly-stem { system: alphabetic; symbols: 甲 乙 丙 丁 戊 己 庚 辛 壬 癸; suffix: "、" }
254
+ @counter-style lower-greek { system: alphabetic; symbols: α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω }
255
+ @counter-style hiragana { system: alphabetic; symbols: あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ よ ら り る れ ろ わ ゐ ゑ を ん; suffix: "、" }
256
+ @counter-style hiragana-iroha { system: alphabetic; symbols: い ろ は に ほ へ と ち り ぬ る を わ か よ た れ そ つ ね な ら む う ゐ の お く や ま け ふ こ え て あ さ き ゆ め み し ゑ ひ も せ す; suffix: "、" }
257
+ @counter-style katakana { system: alphabetic; symbols: ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヰ ヱ ヲ ン; suffix: "、" }
258
+ @counter-style katakana-iroha { system: alphabetic; symbols: イ ロ ハ ニ ホ ヘ ト チ リ ヌ ル ヲ ワ カ ヨ タ レ ソ ツ ネ ナ ラ ム ウ ヰ ノ オ ク ヤ マ ケ フ コ エ テ ア サ キ ユ メ ミ シ ヱ ヒ モ セ ス; suffix: "、" }
259
+ @counter-style japanese-informal { system: additive; range: -9999 9999; additive-symbols: 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 〇; suffix: 、; negative: マイナス; fallback: cjk-decimal }
260
+ @counter-style japanese-formal { system: additive; range: -9999 9999; additive-symbols: 9000 九阡, 8000 八阡, 7000 七阡, 6000 六阡, 5000 伍阡, 4000 四阡, 3000 参阡, 2000 弐阡, 1000 壱阡, 900 九百, 800 八百, 700 七百, 600 六百, 500 伍百, 400 四百, 300 参百, 200 弐百, 100 壱百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 伍拾, 40 四拾, 30 参拾, 20 弐拾, 10 壱拾, 9 九, 8 八, 7 七, 6 六, 5 伍, 4 四, 3 参, 2 弐, 1 壱, 0 零; suffix: 、; negative: マイナス; fallback: cjk-decimal }
261
+ @counter-style korean-hangul-formal { system: additive; range: -9999 9999; additive-symbols: 9000 구천, 8000 팔천, 7000 칠천, 6000 육천, 5000 오천, 4000 사천, 3000 삼천, 2000 이천, 1000 일천, 900 구백, 800 팔백, 700 칠백, 600 육백, 500 오백, 400 사백, 300 삼백, 200 이백, 100 일백, 90 구십, 80 팔십, 70 칠십, 60 육십, 50 오십, 40 사십, 30 삼십, 20 이십, 10 일십, 9 구, 8 팔, 7 칠, 6 육, 5 오, 4 사, 3 삼, 2 이, 1 일, 0 영; suffix: ", "; negative: "마이너스 " }
262
+ @counter-style korean-hanja-informal { system: additive; range: -9999 9999; additive-symbols: 9000 九千, 8000 八千, 7000 七千, 6000 六千, 5000 五千, 4000 四千, 3000 三千, 2000 二千, 1000 千, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 三百, 200 二百, 100 百, 90 九十, 80 八十, 70 七十, 60 六十, 50 五十, 40 四十, 30 三十, 20 二十, 10 十, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 三, 2 二, 1 一, 0 零; suffix: ", "; negative: "마이너스 " }
263
+ @counter-style korean-hanja-formal { system: additive; range: -9999 9999; additive-symbols: 9000 九仟, 8000 八仟, 7000 七仟, 6000 六仟, 5000 五仟, 4000 四仟, 3000 參仟, 2000 貳仟, 1000 壹仟, 900 九百, 800 八百, 700 七百, 600 六百, 500 五百, 400 四百, 300 參百, 200 貳百, 100 壹百, 90 九拾, 80 八拾, 70 七拾, 60 六拾, 50 五拾, 40 四拾, 30 參拾, 20 貳拾, 10 壹拾, 9 九, 8 八, 7 七, 6 六, 5 五, 4 四, 3 參, 2 貳, 1 壹, 0 零; suffix: ", "; negative: "마이너스 " }