@xingwangzhe/stalux 1.2.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 (214) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +192 -0
  3. package/package.json +108 -0
  4. package/scripts/cli.mjs +103 -0
  5. package/src/assets/BiCcCircle.svg +1 -0
  6. package/src/assets/astro.svg +1 -0
  7. package/src/assets/background/README.md +3 -0
  8. package/src/assets/background/pattern-1.min.svg +1 -0
  9. package/src/assets/background/pattern-10.min.svg +1 -0
  10. package/src/assets/background/pattern-11.min.svg +1 -0
  11. package/src/assets/background/pattern-12.min.svg +1 -0
  12. package/src/assets/background/pattern-13.min.svg +1 -0
  13. package/src/assets/background/pattern-14.min.svg +1 -0
  14. package/src/assets/background/pattern-15.min.svg +1 -0
  15. package/src/assets/background/pattern-16.min.svg +1 -0
  16. package/src/assets/background/pattern-17.min.svg +1 -0
  17. package/src/assets/background/pattern-18.min.svg +1 -0
  18. package/src/assets/background/pattern-19.min.svg +1 -0
  19. package/src/assets/background/pattern-2.min.svg +1 -0
  20. package/src/assets/background/pattern-20.min.svg +1 -0
  21. package/src/assets/background/pattern-21.min.svg +1 -0
  22. package/src/assets/background/pattern-22.min.svg +1 -0
  23. package/src/assets/background/pattern-23.min.svg +1 -0
  24. package/src/assets/background/pattern-24.min.svg +1 -0
  25. package/src/assets/background/pattern-25.min.svg +1 -0
  26. package/src/assets/background/pattern-26.min.svg +1 -0
  27. package/src/assets/background/pattern-27.min.svg +1 -0
  28. package/src/assets/background/pattern-28.min.svg +1 -0
  29. package/src/assets/background/pattern-29.min.svg +1 -0
  30. package/src/assets/background/pattern-3.min.svg +1 -0
  31. package/src/assets/background/pattern-30.min.svg +1 -0
  32. package/src/assets/background/pattern-31.min.svg +1 -0
  33. package/src/assets/background/pattern-32.min.svg +1 -0
  34. package/src/assets/background/pattern-33.min.svg +1 -0
  35. package/src/assets/background/pattern-34.min.svg +1 -0
  36. package/src/assets/background/pattern-35.min.svg +1 -0
  37. package/src/assets/background/pattern-36.min.svg +1 -0
  38. package/src/assets/background/pattern-37.min.svg +1 -0
  39. package/src/assets/background/pattern-38.min.svg +1 -0
  40. package/src/assets/background/pattern-39.min.svg +1 -0
  41. package/src/assets/background/pattern-4.min.svg +1 -0
  42. package/src/assets/background/pattern-40.min.svg +1 -0
  43. package/src/assets/background/pattern-41.min.svg +1 -0
  44. package/src/assets/background/pattern-42.min.svg +1 -0
  45. package/src/assets/background/pattern-5.min.svg +1 -0
  46. package/src/assets/background/pattern-6.min.svg +1 -0
  47. package/src/assets/background/pattern-7.min.svg +1 -0
  48. package/src/assets/background/pattern-8.min.svg +1 -0
  49. package/src/assets/background/pattern-9.min.svg +1 -0
  50. package/src/assets/background.svg +1 -0
  51. package/src/assets/cc-icon.svg +4 -0
  52. package/src/assets/fonts/GoogleSansCode-Italic.woff2 +0 -0
  53. package/src/assets/fonts/GoogleSansCode.woff2 +0 -0
  54. package/src/assets/fonts/LXGWWenKai-Regular.ttf +0 -0
  55. package/src/assets/fonts/LXGWWenKai-Regular.woff2 +0 -0
  56. package/src/components/stalux/analytics/clarity.astro +25 -0
  57. package/src/components/stalux/analytics/google.astro +31 -0
  58. package/src/components/stalux/analytics/umami.astro +16 -0
  59. package/src/components/stalux/archives/archivesList.astro +116 -0
  60. package/src/components/stalux/archives/toArchive.astro +14 -0
  61. package/src/components/stalux/categories/categoriesCard.astro +49 -0
  62. package/src/components/stalux/categories/categoriesList.astro +17 -0
  63. package/src/components/stalux/common/author.astro +35 -0
  64. package/src/components/stalux/common/date.astro +59 -0
  65. package/src/components/stalux/common/search.astro +14 -0
  66. package/src/components/stalux/common/textType.astro +16 -0
  67. package/src/components/stalux/common/verCount.astro +10 -0
  68. package/src/components/stalux/footer/FooterBadges.astro +150 -0
  69. package/src/components/stalux/footer/FooterBeian.astro +91 -0
  70. package/src/components/stalux/footer/FooterCopyright.astro +40 -0
  71. package/src/components/stalux/footer/FooterStats.astro +108 -0
  72. package/src/components/stalux/footer/FooterThemeInfo.astro +67 -0
  73. package/src/components/stalux/layout/footer.astro +87 -0
  74. package/src/components/stalux/layout/head.astro +194 -0
  75. package/src/components/stalux/layout/listPage.astro +26 -0
  76. package/src/components/stalux/layout/navs.astro +174 -0
  77. package/src/components/stalux/links/linkCard.astro +50 -0
  78. package/src/components/stalux/links/linkList.astro +20 -0
  79. package/src/components/stalux/links/socialMedia.astro +102 -0
  80. package/src/components/stalux/posts/PhotoSwipeStyle.astro +3 -0
  81. package/src/components/stalux/posts/PostTaxonomy.astro +65 -0
  82. package/src/components/stalux/posts/WalineComment.astro +609 -0
  83. package/src/components/stalux/posts/postAuthor.astro +23 -0
  84. package/src/components/stalux/posts/postCC.astro +52 -0
  85. package/src/components/stalux/posts/postCard.astro +83 -0
  86. package/src/components/stalux/posts/postContent.astro +174 -0
  87. package/src/components/stalux/posts/postLeft.astro +41 -0
  88. package/src/components/stalux/posts/postList.astro +25 -0
  89. package/src/components/stalux/posts/postNavigation.astro +137 -0
  90. package/src/components/stalux/posts/postRight.astro +33 -0
  91. package/src/components/stalux/posts/postToc.astro +88 -0
  92. package/src/components/stalux/posts/randomPost.astro +134 -0
  93. package/src/components/stalux/tags/tagHeader.astro +50 -0
  94. package/src/components/stalux/tags/tagsCloud.astro +100 -0
  95. package/src/components/stalux/words/wordCard.astro +62 -0
  96. package/src/components/stalux/words/wordList.astro +70 -0
  97. package/src/config.ts +58 -0
  98. package/src/i18n/en.json +193 -0
  99. package/src/i18n/zh-CN.json +193 -0
  100. package/src/index.ts +215 -0
  101. package/src/internal/components-plugin.ts +54 -0
  102. package/src/internal/dev-toolbar.ts +33 -0
  103. package/src/internal/override.ts +99 -0
  104. package/src/internal/pagefind.ts +40 -0
  105. package/src/layouts/PostLayout.astro +90 -0
  106. package/src/layouts/Stalux.astro +91 -0
  107. package/src/pages/404.astro +103 -0
  108. package/src/pages/about.astro +59 -0
  109. package/src/pages/about.md.ts +15 -0
  110. package/src/pages/api/post.abbrlink.json.ts +20 -0
  111. package/src/pages/archives.astro +23 -0
  112. package/src/pages/archives.md.ts +24 -0
  113. package/src/pages/atom.xml.ts +29 -0
  114. package/src/pages/categories/[category].astro +35 -0
  115. package/src/pages/categories/[category].md.ts +34 -0
  116. package/src/pages/categories/index.astro +23 -0
  117. package/src/pages/categories/index.md.ts +27 -0
  118. package/src/pages/index.astro +30 -0
  119. package/src/pages/index.md.ts +18 -0
  120. package/src/pages/links.astro +23 -0
  121. package/src/pages/links.md.ts +18 -0
  122. package/src/pages/llms-full.txt.ts +25 -0
  123. package/src/pages/llms.txt.ts +26 -0
  124. package/src/pages/posts/[post].astro +69 -0
  125. package/src/pages/posts/[post].md.ts +109 -0
  126. package/src/pages/rss.xml.ts +29 -0
  127. package/src/pages/tags/[tag].astro +37 -0
  128. package/src/pages/tags/[tag].md.ts +34 -0
  129. package/src/pages/tags/index.astro +23 -0
  130. package/src/pages/tags/index.md.ts +27 -0
  131. package/src/pages/words.astro +24 -0
  132. package/src/pages/words.md.ts +14 -0
  133. package/src/plugins/feature-flags.ts +68 -0
  134. package/src/plugins/satteri-temml.ts +81 -0
  135. package/src/schemas/collections.ts +140 -0
  136. package/src/schemas/config.ts +226 -0
  137. package/src/scripts/background.ts +59 -0
  138. package/src/styles/base/init.css +286 -0
  139. package/src/styles/base/math.css +411 -0
  140. package/src/styles/components/archives/archivesList.module.css +378 -0
  141. package/src/styles/components/archives/toArchive.module.css +3 -0
  142. package/src/styles/components/categories/categoriesCard.module.css +87 -0
  143. package/src/styles/components/categories/categoriesList.module.css +27 -0
  144. package/src/styles/components/common/author.module.css +73 -0
  145. package/src/styles/components/common/date.module.css +15 -0
  146. package/src/styles/components/common/textType.module.css +10 -0
  147. package/src/styles/components/footer/footer.module.css +44 -0
  148. package/src/styles/components/layout/navs.module.css +250 -0
  149. package/src/styles/components/links/linkCard.module.css +99 -0
  150. package/src/styles/components/links/linkList.module.css +67 -0
  151. package/src/styles/components/links/socialLinks.module.css +22 -0
  152. package/src/styles/components/markdown.css +528 -0
  153. package/src/styles/components/posts/postAuthor.module.css +32 -0
  154. package/src/styles/components/posts/postCC.module.css +138 -0
  155. package/src/styles/components/posts/postCard.module.css +156 -0
  156. package/src/styles/components/posts/postCategories.module.css +50 -0
  157. package/src/styles/components/posts/postContent.module.css +230 -0
  158. package/src/styles/components/posts/postLayout.module.css +142 -0
  159. package/src/styles/components/posts/postLeft.module.css +38 -0
  160. package/src/styles/components/posts/postList.module.css +24 -0
  161. package/src/styles/components/posts/postNavigation.module.css +187 -0
  162. package/src/styles/components/posts/postRight.module.css +60 -0
  163. package/src/styles/components/posts/postSidebar.module.css +57 -0
  164. package/src/styles/components/posts/postTags.module.css +51 -0
  165. package/src/styles/components/posts/postTaxonomy.module.css +87 -0
  166. package/src/styles/components/posts/postToc.module.css +74 -0
  167. package/src/styles/components/posts/randomPost.module.css +131 -0
  168. package/src/styles/components/tags/tagHeader.module.css +44 -0
  169. package/src/styles/components/tags/tagsCloud.module.css +124 -0
  170. package/src/styles/components/words/wordCard.module.css +130 -0
  171. package/src/styles/components/words/wordList.module.css +39 -0
  172. package/src/styles/pages/archives.module.css +18 -0
  173. package/src/styles/pages/categories.module.css +13 -0
  174. package/src/styles/pages/home.module.css +51 -0
  175. package/src/styles/pages/listPage.module.css +13 -0
  176. package/src/styles/pages/tags.module.css +12 -0
  177. package/src/styles/pages/words.module.css +13 -0
  178. package/src/styles/shared/animations.css +87 -0
  179. package/src/styles/shared/stagger.css +20 -0
  180. package/src/utils/ai-discovery.ts +547 -0
  181. package/src/utils/badge-generator.ts +68 -0
  182. package/src/utils/cc.ts +46 -0
  183. package/src/utils/collections-stats.ts +48 -0
  184. package/src/utils/config-utils.ts +107 -0
  185. package/src/utils/count-words.ts +20 -0
  186. package/src/utils/dayjs.ts +106 -0
  187. package/src/utils/feed.ts +70 -0
  188. package/src/utils/i18n.ts +64 -0
  189. package/src/utils/lucide-icons.ts +52 -0
  190. package/src/utils/semantic-time.ts +11 -0
  191. package/src/utils/taxonomy.ts +44 -0
  192. package/src/utils/toc-scrollspy.ts +95 -0
  193. package/src/utils/waline.ts +27 -0
  194. package/src/utils/word-count-utils.ts +83 -0
  195. package/template/astro.config.mjs +51 -0
  196. package/template/package.json +27 -0
  197. package/template/public/robots.txt +3 -0
  198. package/template/src/content.config.ts +11 -0
  199. package/template/stalux/about/index.md +14 -0
  200. package/template/stalux/config/ai-discovery.yml +2 -0
  201. package/template/stalux/config/author.yml +4 -0
  202. package/template/stalux/config/comment.yml +5 -0
  203. package/template/stalux/config/footer.yml +13 -0
  204. package/template/stalux/config/head.yml +7 -0
  205. package/template/stalux/config/links.yml +4 -0
  206. package/template/stalux/config/media-links.yml +8 -0
  207. package/template/stalux/config/navs.yml +23 -0
  208. package/template/stalux/config/promote.yml +2 -0
  209. package/template/stalux/config/site.yml +7 -0
  210. package/template/stalux/config/typetexts.yml +5 -0
  211. package/template/stalux/posts/hello-stalux.md +47 -0
  212. package/template/stalux/words/_template.md +12 -0
  213. package/template/stalux/words/einstein-imagination.md +8 -0
  214. package/template/tsconfig.json +9 -0
@@ -0,0 +1,411 @@
1
+ /*
2
+ * Latin Modern Math 字体 + Temml 数学渲染样式
3
+ * 仅作用于 <math> 元素,不影响全局字体。
4
+ *
5
+ * Latin Modern Math 基于 GUST Font License (LPPL equivalent)
6
+ * Temml.woff2 是 KaTeX_Script-Regular 的克隆,用于 \mathscr{} 和 Chromium prime 对齐
7
+ */
8
+
9
+ /* ===== @font-face 声明 ===== */
10
+
11
+ @font-face {
12
+ font-family: "Temml";
13
+ src: url("/fonts/Temml.woff2") format("woff2");
14
+ font-weight: normal;
15
+ font-style: normal;
16
+ }
17
+
18
+ @font-face {
19
+ font-family: Latin Modern Math;
20
+ src: url("/fonts/latinmodern-math.woff2") format("woff2");
21
+ font-display: swap;
22
+ }
23
+
24
+ /* ===== 数学公式核心样式(仅作用于 <math>) ===== */
25
+
26
+ math {
27
+ font-style: normal;
28
+ font-weight: normal;
29
+ line-height: normal;
30
+ font-size-adjust: none;
31
+ text-indent: 0;
32
+ text-transform: none;
33
+ letter-spacing: normal;
34
+ word-wrap: normal;
35
+ direction: ltr;
36
+ /* Prevent Firefox from omitting the dot on i or j. */
37
+ font-feature-settings: "dtls" off;
38
+ font-family: "Latin Modern Math", math;
39
+ }
40
+
41
+ math * {
42
+ border-color: currentColor;
43
+ }
44
+
45
+ /* display: block is necessary in Firefox and Safari.
46
+ * Not in Chromium, which recognizes display: "block math" written inline. */
47
+ math.tml-display {
48
+ display: block;
49
+ width: 100%;
50
+ }
51
+
52
+ *.mathscr {
53
+ font-family: "Temml";
54
+ }
55
+
56
+ /* Cramped superscripts in WebKit */
57
+ mfrac > :nth-child(2),
58
+ msqrt,
59
+ mover > :first-child {
60
+ math-shift: compact;
61
+ }
62
+
63
+ .menclose {
64
+ display: inline-block;
65
+ position: relative;
66
+ padding: 0.5ex 0ex;
67
+ }
68
+
69
+ .tml-cancelto {
70
+ display: inline-block;
71
+ position: absolute;
72
+ top: 0;
73
+ left: 0;
74
+ padding: 0.5ex 0ex;
75
+ background-color: currentColor;
76
+ -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><marker id='a' markerHeight='5' markerUnits='strokeWidth' markerWidth='7' orient='auto' refX='7' refY='2.5'><path fill='black' d='m0 0 7 2.5L0 5z'/></marker></defs><line x2='100%25' y1='100%25' stroke='black' stroke-width='.06em' marker-end='url(%23a)' vector-effect='non-scaling-stroke'/></svg>");
77
+ mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><marker id='a' markerHeight='5' markerUnits='strokeWidth' markerWidth='7' orient='auto' refX='7' refY='2.5'><path fill='black' d='m0 0 7 2.5L0 5z'/></marker></defs><line x2='100%25' y1='100%25' stroke='black' stroke-width='.06em' marker-end='url(%23a)' vector-effect='non-scaling-stroke'/></svg>");
78
+ -webkit-mask-repeat: no-repeat;
79
+ mask-repeat: no-repeat;
80
+ -webkit-mask-size: 100% 100%;
81
+ mask-size: 100% 100%;
82
+ -webkit-mask-position: 0 0;
83
+ mask-position: 0 0;
84
+ }
85
+
86
+ /* ===== Firefox fixes ===== */
87
+
88
+ @-moz-document url-prefix() {
89
+ /* Prevent flex-wrap */
90
+ math {
91
+ display: inline;
92
+ }
93
+ math > mrow {
94
+ padding: 0;
95
+ }
96
+ /* Adjust Firefox spacing between array rows */
97
+ mtd,
98
+ mtable.tml-small mtd {
99
+ padding-top: 0;
100
+ padding-bottom: 0;
101
+ }
102
+ mtable.tml-jot mtd {
103
+ padding-top: 0.2ex;
104
+ padding-bottom: 0ex;
105
+ }
106
+
107
+ /* \vec w/o italic correction for Firefox */
108
+ .tml-vec {
109
+ transform: scale(0.75);
110
+ }
111
+ /* Fix \cancelto in Firefox */
112
+ .ff-narrow {
113
+ width: 0em;
114
+ }
115
+ .ff-nudge-left {
116
+ margin-left: -0.2em;
117
+ }
118
+ /* Squash hidden mrows in \bordermatrix */
119
+ .ff-squash mtd {
120
+ display: block;
121
+ height: 0;
122
+ }
123
+ }
124
+
125
+ /* ===== Chromium & WebKit fixes ===== */
126
+
127
+ @supports (not (-moz-appearance: none)) {
128
+ /* prime vertical alignment */
129
+ mo.tml-prime {
130
+ font-family: Temml;
131
+ }
132
+ /* Italic correction on superscripts */
133
+ .tml-sml-pad {
134
+ padding-left: 0.05em;
135
+ }
136
+ .tml-med-pad {
137
+ padding-left: 0.1em;
138
+ }
139
+ .tml-lrg-pad {
140
+ padding-left: 0.15em;
141
+ }
142
+ }
143
+
144
+ /* ===== WebKit-specific fixes ===== */
145
+
146
+ @supports (-webkit-backdrop-filter: blur(1px)) {
147
+ /* WebKit vertical & italic correction on accents */
148
+ .wbk-acc {
149
+ transform: translate(0em, 0.431em);
150
+ }
151
+ .wbk-sml {
152
+ transform: translate(0.07em, 0);
153
+ }
154
+ .wbk-sml-acc {
155
+ transform: translate(0.07em, 0.431em);
156
+ }
157
+ .wbk-sml-vec {
158
+ transform: scale(0.75) translate(0.07em, 0);
159
+ }
160
+ .wbk-med {
161
+ transform: translate(0.14em, 0);
162
+ }
163
+ .wbk-med-acc {
164
+ transform: translate(0.14em, 0.431em);
165
+ }
166
+ .wbk-med-vec {
167
+ transform: scale(0.75) translate(0.14em, 0);
168
+ }
169
+ .wbk-lrg {
170
+ transform: translate(0.21em, 0);
171
+ }
172
+ .wbk-lrg-acc {
173
+ transform: translate(0.21em, 0.431em);
174
+ }
175
+ .wbk-lrg-vec {
176
+ transform: scale(0.75) translate(0.21em, 0);
177
+ }
178
+ }
179
+
180
+ /* ===== Chromium-only fixes ===== */
181
+
182
+ @supports (not (-webkit-backdrop-filter: blur(1px))) and (not (-moz-appearance: none)) {
183
+ /* Italic correction on accents */
184
+ .chr-sml {
185
+ transform: translate(0.07em, 0);
186
+ }
187
+ .chr-sml-vec {
188
+ transform: scale(0.75) translate(0.07em, 0);
189
+ }
190
+ .chr-med {
191
+ transform: translate(0.14em, 0);
192
+ }
193
+ .chr-med-vec {
194
+ transform: scale(0.75) translate(0.14em, 0);
195
+ }
196
+ .chr-lrg {
197
+ transform: translate(0.21em, 0);
198
+ }
199
+ .chr-lrg-vec {
200
+ transform: scale(0.75) translate(0.21em, 0);
201
+ }
202
+
203
+ /* For CD labels that grow to the left */
204
+ .tml-shift-left {
205
+ margin-left: -100%;
206
+ }
207
+
208
+ /* MathML Core & Chromium do not support <menclose> attributes */
209
+ menclose {
210
+ position: relative;
211
+ padding: 0.5ex 0ex;
212
+ }
213
+
214
+ .tml-overline {
215
+ padding: 0.1em 0 0 0;
216
+ border-top: 0.065em solid;
217
+ }
218
+ .tml-underline {
219
+ padding: 0 0 0.1em 0;
220
+ border-bottom: 0.065em solid;
221
+ }
222
+
223
+ .tml-cancel {
224
+ display: inline-block;
225
+ position: absolute;
226
+ left: 0.5px;
227
+ bottom: 0;
228
+ width: 100%;
229
+ height: 100%;
230
+ background-color: currentColor;
231
+ }
232
+ .upstrike {
233
+ clip-path: polygon(
234
+ 0.05em 100%,
235
+ 0em calc(100% - 0.05em),
236
+ calc(100% - 0.05em) 0em,
237
+ 100% 0.05em
238
+ );
239
+ }
240
+ .downstrike {
241
+ clip-path: polygon(
242
+ 0em 0.05em,
243
+ 0.05em 0em,
244
+ 100% calc(100% - 0.05em),
245
+ calc(100% - 0.05em) 100%
246
+ );
247
+ }
248
+ .sout {
249
+ clip-path: polygon(
250
+ 0em calc(55% + 0.0333em),
251
+ 0em calc(55% - 0.0333em),
252
+ 100% calc(55% - 0.0333em),
253
+ 100% calc(55% + 0.0333em)
254
+ );
255
+ }
256
+ .tml-xcancel {
257
+ clip-path: polygon(
258
+ 0.05em 0em,
259
+ 0em 0.05em,
260
+ calc(50% - 0.05em) 50%,
261
+ 0em calc(100% - 0.05em),
262
+ 0.05em 100%,
263
+ 50% calc(50% + 0.05em),
264
+ calc(100% - 0.05em) 100%,
265
+ 100% calc(100% - 0.05em),
266
+ calc(50% + 0.05em) 50%,
267
+ 100% 0.05em,
268
+ calc(100% - 0.05em) 0%,
269
+ 50% calc(50% - 0.05em)
270
+ );
271
+ }
272
+
273
+ .longdiv-top {
274
+ border-top: 0.067em solid;
275
+ padding: 0.1em 0.2em 0.2em 0.433em;
276
+ }
277
+ .longdiv-arc {
278
+ position: absolute;
279
+ top: 0;
280
+ bottom: 0.1em;
281
+ left: -0.4em;
282
+ width: 0.7em;
283
+ border: 0.067em solid;
284
+ transform: translateY(-0.067em);
285
+ border-radius: 70%;
286
+ clip-path: inset(0 0 0 0.4em);
287
+ box-sizing: border-box;
288
+ }
289
+ .menclose {
290
+ display: inline-block;
291
+ text-align: left;
292
+ position: relative;
293
+ }
294
+
295
+ .phasor-bottom {
296
+ border-bottom: 0.067em solid;
297
+ padding: 0.2em 0.2em 0.1em 0.6em;
298
+ }
299
+ .phasor-angle {
300
+ display: inline-block;
301
+ position: absolute;
302
+ left: 0.5px;
303
+ bottom: -0.04em;
304
+ height: 100%;
305
+ aspect-ratio: 0.5;
306
+ background-color: currentColor;
307
+ clip-path: polygon(
308
+ 0.05em 100%,
309
+ 0em calc(100% - 0.05em),
310
+ calc(100% - 0.05em) 0em,
311
+ 100% 0.05em
312
+ );
313
+ }
314
+
315
+ .tml-fbox {
316
+ padding: 3pt;
317
+ border: 1px solid;
318
+ }
319
+ .circle-pad {
320
+ padding: 0.267em;
321
+ }
322
+ .textcircle {
323
+ position: absolute;
324
+ top: 0;
325
+ bottom: 0;
326
+ right: 0;
327
+ left: 0;
328
+ border: 0.067em solid;
329
+ border-radius: 50%;
330
+ }
331
+ .actuarial {
332
+ padding: 0.03889em 0.03889em 0 0.03889em;
333
+ border-width: 0.08em 0.08em 0em 0em;
334
+ border-style: solid;
335
+ margin-right: 0.03889em;
336
+ }
337
+
338
+ /* Stretch \widetilde */
339
+ .tml-crooked-2 {
340
+ transform: scale(2, 1.1);
341
+ }
342
+ .tml-crooked-3 {
343
+ transform: scale(3, 1.3);
344
+ }
345
+ .tml-crooked-4 {
346
+ transform: scale(4, 1.4);
347
+ }
348
+
349
+ /* array cell justification */
350
+ .tml-right {
351
+ text-align: -webkit-right;
352
+ }
353
+ .tml-left {
354
+ text-align: -webkit-left;
355
+ }
356
+ }
357
+
358
+ /* ===== 通用样式 ===== */
359
+
360
+ /* \cancel & \phase 打印时显示背景图 */
361
+ menclose {
362
+ -webkit-print-color-adjust: exact;
363
+ print-color-adjust: exact;
364
+ }
365
+
366
+ /* Array cell justification in Firefox & WebKit */
367
+ .tml-right {
368
+ text-align: right;
369
+ }
370
+ .tml-left {
371
+ text-align: left;
372
+ }
373
+
374
+ /* 特殊分数字体回退 */
375
+ .special-fraction {
376
+ font-family: "Times New Roman", Times, "STIX TWO", Tinos, serif;
377
+ }
378
+
379
+ /* flex-wrap for line-breaking in Chromium */
380
+ math {
381
+ display: inline-flex;
382
+ flex-wrap: wrap;
383
+ align-items: baseline;
384
+ }
385
+ math > mrow {
386
+ padding: 0.5ex 0ex;
387
+ }
388
+
389
+ /* mtd top padding is 0.5ex per MathML-Core. Adjust for jot and small. */
390
+ mtable.tml-jot mtd {
391
+ padding-top: 0.7ex;
392
+ padding-bottom: 0.7ex;
393
+ }
394
+ mtable.tml-small mtd {
395
+ padding-top: 0.35ex;
396
+ padding-bottom: 0.35ex;
397
+ }
398
+
399
+ /* CD labels that grow to the left in Firefox and WebKit */
400
+ .tml-shift-left {
401
+ margin-left: -200%;
402
+ }
403
+
404
+ /* ===== AMS 环境自动编号 ===== */
405
+ .tml-eqn::before {
406
+ counter-increment: tmlEqnNo;
407
+ content: "(" counter(tmlEqnNo) ")";
408
+ }
409
+ body {
410
+ counter-reset: tmlEqnNo;
411
+ }