@linloir/limr 0.0.0-stage → 1.0.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 (473) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +123 -0
  3. package/README.md +122 -2
  4. package/benchmarks/results/browser.json +237 -0
  5. package/benchmarks/results/node.json +75 -0
  6. package/benchmarks/results/selection.json +172 -0
  7. package/dist/THIRD_PARTY_LICENSES.txt +117 -0
  8. package/dist/base.css +454 -0
  9. package/dist/chunk-3ILUZKDB.js +3130 -0
  10. package/dist/chunk-3ILUZKDB.js.map +1 -0
  11. package/dist/chunk-6N6TFHEN.js +83 -0
  12. package/dist/chunk-6N6TFHEN.js.map +1 -0
  13. package/dist/chunk-N77VD2YR.js +1238 -0
  14. package/dist/chunk-N77VD2YR.js.map +1 -0
  15. package/dist/chunk-TTISGBST.js +478 -0
  16. package/dist/chunk-TTISGBST.js.map +1 -0
  17. package/dist/chunk-V2OG4Y3F.js +1 -0
  18. package/dist/chunk-V2OG4Y3F.js.map +1 -0
  19. package/dist/core/index.d.ts +57 -0
  20. package/dist/core/index.js +39 -0
  21. package/dist/core/index.js.map +1 -0
  22. package/dist/engine-43u8B4yt.d.ts +172 -0
  23. package/dist/extensions/index.d.ts +130 -0
  24. package/dist/extensions/index.js +50 -0
  25. package/dist/extensions/index.js.map +1 -0
  26. package/dist/fonts/KaTeX_AMS-Regular.ttf +0 -0
  27. package/dist/fonts/KaTeX_AMS-Regular.woff +0 -0
  28. package/dist/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  29. package/dist/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  30. package/dist/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  31. package/dist/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  32. package/dist/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  33. package/dist/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  34. package/dist/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  35. package/dist/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  36. package/dist/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  37. package/dist/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  38. package/dist/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  39. package/dist/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  40. package/dist/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  41. package/dist/fonts/KaTeX_Main-Bold.ttf +0 -0
  42. package/dist/fonts/KaTeX_Main-Bold.woff +0 -0
  43. package/dist/fonts/KaTeX_Main-Bold.woff2 +0 -0
  44. package/dist/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  45. package/dist/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  46. package/dist/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  47. package/dist/fonts/KaTeX_Main-Italic.ttf +0 -0
  48. package/dist/fonts/KaTeX_Main-Italic.woff +0 -0
  49. package/dist/fonts/KaTeX_Main-Italic.woff2 +0 -0
  50. package/dist/fonts/KaTeX_Main-Regular.ttf +0 -0
  51. package/dist/fonts/KaTeX_Main-Regular.woff +0 -0
  52. package/dist/fonts/KaTeX_Main-Regular.woff2 +0 -0
  53. package/dist/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  54. package/dist/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  55. package/dist/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  56. package/dist/fonts/KaTeX_Math-Italic.ttf +0 -0
  57. package/dist/fonts/KaTeX_Math-Italic.woff +0 -0
  58. package/dist/fonts/KaTeX_Math-Italic.woff2 +0 -0
  59. package/dist/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  60. package/dist/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  61. package/dist/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  62. package/dist/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  63. package/dist/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  64. package/dist/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  65. package/dist/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  66. package/dist/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  67. package/dist/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  68. package/dist/fonts/KaTeX_Script-Regular.ttf +0 -0
  69. package/dist/fonts/KaTeX_Script-Regular.woff +0 -0
  70. package/dist/fonts/KaTeX_Script-Regular.woff2 +0 -0
  71. package/dist/fonts/KaTeX_Size1-Regular.ttf +0 -0
  72. package/dist/fonts/KaTeX_Size1-Regular.woff +0 -0
  73. package/dist/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  74. package/dist/fonts/KaTeX_Size2-Regular.ttf +0 -0
  75. package/dist/fonts/KaTeX_Size2-Regular.woff +0 -0
  76. package/dist/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  77. package/dist/fonts/KaTeX_Size3-Regular.ttf +0 -0
  78. package/dist/fonts/KaTeX_Size3-Regular.woff +0 -0
  79. package/dist/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  80. package/dist/fonts/KaTeX_Size4-Regular.ttf +0 -0
  81. package/dist/fonts/KaTeX_Size4-Regular.woff +0 -0
  82. package/dist/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  83. package/dist/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  84. package/dist/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  85. package/dist/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  86. package/dist/fonts/LICENSE.txt +93 -0
  87. package/dist/fonts/manifest.json +2204 -0
  88. package/dist/fonts/maple-7.9-bold-005-5530d8c1d6.woff2 +0 -0
  89. package/dist/fonts/maple-7.9-bold-00f-1179d800a7.woff2 +0 -0
  90. package/dist/fonts/maple-7.9-bold-010-9974a942b1.woff2 +0 -0
  91. package/dist/fonts/maple-7.9-bold-011-9b9230baf2.woff2 +0 -0
  92. package/dist/fonts/maple-7.9-bold-012-c2545292b1.woff2 +0 -0
  93. package/dist/fonts/maple-7.9-bold-013-877b19fe05.woff2 +0 -0
  94. package/dist/fonts/maple-7.9-bold-014-6acf4a4e92.woff2 +0 -0
  95. package/dist/fonts/maple-7.9-bold-015-c889146da3.woff2 +0 -0
  96. package/dist/fonts/maple-7.9-bold-018-419ad5f31f.woff2 +0 -0
  97. package/dist/fonts/maple-7.9-bold-027-dd414483da.woff2 +0 -0
  98. package/dist/fonts/maple-7.9-bold-028-263744fbc7.woff2 +0 -0
  99. package/dist/fonts/maple-7.9-bold-029-ae3a163d8b.woff2 +0 -0
  100. package/dist/fonts/maple-7.9-bold-02a-515f0a82c2.woff2 +0 -0
  101. package/dist/fonts/maple-7.9-bold-02b-0823c5133d.woff2 +0 -0
  102. package/dist/fonts/maple-7.9-bold-02c-296fd5db38.woff2 +0 -0
  103. package/dist/fonts/maple-7.9-bold-02d-0bb4734363.woff2 +0 -0
  104. package/dist/fonts/maple-7.9-bold-02e-25415fed50.woff2 +0 -0
  105. package/dist/fonts/maple-7.9-bold-02f-19ed79a84e.woff2 +0 -0
  106. package/dist/fonts/maple-7.9-bold-030-21962a0327.woff2 +0 -0
  107. package/dist/fonts/maple-7.9-bold-031-d216fc0d68.woff2 +0 -0
  108. package/dist/fonts/maple-7.9-bold-032-d90ba34901.woff2 +0 -0
  109. package/dist/fonts/maple-7.9-bold-033-55ea37ea00.woff2 +0 -0
  110. package/dist/fonts/maple-7.9-bold-034-bc8649f808.woff2 +0 -0
  111. package/dist/fonts/maple-7.9-bold-035-03604fe40b.woff2 +0 -0
  112. package/dist/fonts/maple-7.9-bold-036-44fc7f77b2.woff2 +0 -0
  113. package/dist/fonts/maple-7.9-bold-037-8a1440f155.woff2 +0 -0
  114. package/dist/fonts/maple-7.9-bold-038-c65a618d5c.woff2 +0 -0
  115. package/dist/fonts/maple-7.9-bold-039-be05db966d.woff2 +0 -0
  116. package/dist/fonts/maple-7.9-bold-03a-ca3a10002d.woff2 +0 -0
  117. package/dist/fonts/maple-7.9-bold-03b-067b32e10b.woff2 +0 -0
  118. package/dist/fonts/maple-7.9-bold-03c-4da4f84530.woff2 +0 -0
  119. package/dist/fonts/maple-7.9-bold-03d-f0fe6a68c8.woff2 +0 -0
  120. package/dist/fonts/maple-7.9-bold-03e-0e97f89433.woff2 +0 -0
  121. package/dist/fonts/maple-7.9-bold-03f-3289a5e3bc.woff2 +0 -0
  122. package/dist/fonts/maple-7.9-bold-040-232dcd0d7b.woff2 +0 -0
  123. package/dist/fonts/maple-7.9-bold-041-e25e9a9c41.woff2 +0 -0
  124. package/dist/fonts/maple-7.9-bold-042-d64a2b1824.woff2 +0 -0
  125. package/dist/fonts/maple-7.9-bold-043-2d01cf5e52.woff2 +0 -0
  126. package/dist/fonts/maple-7.9-bold-044-0ab808b5f1.woff2 +0 -0
  127. package/dist/fonts/maple-7.9-bold-045-e41dc814b4.woff2 +0 -0
  128. package/dist/fonts/maple-7.9-bold-046-d5fe26344d.woff2 +0 -0
  129. package/dist/fonts/maple-7.9-bold-047-f322ded671.woff2 +0 -0
  130. package/dist/fonts/maple-7.9-bold-048-0cdcf7257f.woff2 +0 -0
  131. package/dist/fonts/maple-7.9-bold-049-aa280ca08a.woff2 +0 -0
  132. package/dist/fonts/maple-7.9-bold-04a-f51ad4d92c.woff2 +0 -0
  133. package/dist/fonts/maple-7.9-bold-04b-4e8c6fa3ee.woff2 +0 -0
  134. package/dist/fonts/maple-7.9-bold-04c-9bfdf4d743.woff2 +0 -0
  135. package/dist/fonts/maple-7.9-bold-04d-83ac1f5bb3.woff2 +0 -0
  136. package/dist/fonts/maple-7.9-bold-04e-bcec89804a.woff2 +0 -0
  137. package/dist/fonts/maple-7.9-bold-04f-d31e83b6ce.woff2 +0 -0
  138. package/dist/fonts/maple-7.9-bold-070-8a3b0fdf98.woff2 +0 -0
  139. package/dist/fonts/maple-7.9-bold-071-5bee0a62c4.woff2 +0 -0
  140. package/dist/fonts/maple-7.9-bold-072-97d891eee4.woff2 +0 -0
  141. package/dist/fonts/maple-7.9-bold-073-4d4c36aca0.woff2 +0 -0
  142. package/dist/fonts/maple-7.9-bold-074-6d3cc01e90.woff2 +0 -0
  143. package/dist/fonts/maple-7.9-bold-075-eab42ad657.woff2 +0 -0
  144. package/dist/fonts/maple-7.9-bold-076-2b1f5c4a42.woff2 +0 -0
  145. package/dist/fonts/maple-7.9-bold-077-1db0d50873.woff2 +0 -0
  146. package/dist/fonts/maple-7.9-bold-078-bc6994a28f.woff2 +0 -0
  147. package/dist/fonts/maple-7.9-bold-079-ad6c1757ce.woff2 +0 -0
  148. package/dist/fonts/maple-7.9-bold-07a-d08ed2b87d.woff2 +0 -0
  149. package/dist/fonts/maple-7.9-bold-07f-2f4af46cc6.woff2 +0 -0
  150. package/dist/fonts/maple-7.9-bold-0fc-42ed90884c.woff2 +0 -0
  151. package/dist/fonts/maple-7.9-bold-780-261fac1b24.woff2 +0 -0
  152. package/dist/fonts/maple-7.9-bold-781-377319a91b.woff2 +0 -0
  153. package/dist/fonts/maple-7.9-bold-782-3106f0be62.woff2 +0 -0
  154. package/dist/fonts/maple-7.9-bold-783-74fbfa8648.woff2 +0 -0
  155. package/dist/fonts/maple-7.9-bold-784-8570270664.woff2 +0 -0
  156. package/dist/fonts/maple-7.9-bold-785-cee8de1ded.woff2 +0 -0
  157. package/dist/fonts/maple-7.9-bold-786-5ab5ff7149.woff2 +0 -0
  158. package/dist/fonts/maple-7.9-bold-787-844b4c4373.woff2 +0 -0
  159. package/dist/fonts/maple-7.9-bold-788-01731198ab.woff2 +0 -0
  160. package/dist/fonts/maple-7.9-bold-789-f4c75fa806.woff2 +0 -0
  161. package/dist/fonts/maple-7.9-bold-78a-4370321ec6.woff2 +0 -0
  162. package/dist/fonts/maple-7.9-bold-78b-5cd412b56f.woff2 +0 -0
  163. package/dist/fonts/maple-7.9-bold-78c-f88e331085.woff2 +0 -0
  164. package/dist/fonts/maple-7.9-bold-78d-1b9b77f6e8.woff2 +0 -0
  165. package/dist/fonts/maple-7.9-bold-latin-3b4b2831f3.woff2 +0 -0
  166. package/dist/fonts/maple-7.9-bolditalic-005-d59fef8639.woff2 +0 -0
  167. package/dist/fonts/maple-7.9-bolditalic-00f-1bbda7af69.woff2 +0 -0
  168. package/dist/fonts/maple-7.9-bolditalic-010-5cdd4b46a7.woff2 +0 -0
  169. package/dist/fonts/maple-7.9-bolditalic-011-0d1f1ae687.woff2 +0 -0
  170. package/dist/fonts/maple-7.9-bolditalic-012-4ceb000b2e.woff2 +0 -0
  171. package/dist/fonts/maple-7.9-bolditalic-013-ad0a4f4313.woff2 +0 -0
  172. package/dist/fonts/maple-7.9-bolditalic-014-94d54b71b3.woff2 +0 -0
  173. package/dist/fonts/maple-7.9-bolditalic-015-7aede280da.woff2 +0 -0
  174. package/dist/fonts/maple-7.9-bolditalic-018-f21221b1c2.woff2 +0 -0
  175. package/dist/fonts/maple-7.9-bolditalic-027-d23d0e80a4.woff2 +0 -0
  176. package/dist/fonts/maple-7.9-bolditalic-028-23bd6f24df.woff2 +0 -0
  177. package/dist/fonts/maple-7.9-bolditalic-029-c481c0ad50.woff2 +0 -0
  178. package/dist/fonts/maple-7.9-bolditalic-02a-1c134be68e.woff2 +0 -0
  179. package/dist/fonts/maple-7.9-bolditalic-02b-3feb29ecfd.woff2 +0 -0
  180. package/dist/fonts/maple-7.9-bolditalic-02c-de8cc5a063.woff2 +0 -0
  181. package/dist/fonts/maple-7.9-bolditalic-02d-ea25c21fad.woff2 +0 -0
  182. package/dist/fonts/maple-7.9-bolditalic-02e-e68d6bd335.woff2 +0 -0
  183. package/dist/fonts/maple-7.9-bolditalic-02f-c88d1e92dc.woff2 +0 -0
  184. package/dist/fonts/maple-7.9-bolditalic-030-f26fefe87e.woff2 +0 -0
  185. package/dist/fonts/maple-7.9-bolditalic-031-f2aa1b8e22.woff2 +0 -0
  186. package/dist/fonts/maple-7.9-bolditalic-032-c4fafc4aa6.woff2 +0 -0
  187. package/dist/fonts/maple-7.9-bolditalic-033-288a1639ca.woff2 +0 -0
  188. package/dist/fonts/maple-7.9-bolditalic-034-7c982125bc.woff2 +0 -0
  189. package/dist/fonts/maple-7.9-bolditalic-035-fd1575dea2.woff2 +0 -0
  190. package/dist/fonts/maple-7.9-bolditalic-036-f6bf406353.woff2 +0 -0
  191. package/dist/fonts/maple-7.9-bolditalic-037-8ac1466916.woff2 +0 -0
  192. package/dist/fonts/maple-7.9-bolditalic-038-e9f7fed6a6.woff2 +0 -0
  193. package/dist/fonts/maple-7.9-bolditalic-039-6f90d42310.woff2 +0 -0
  194. package/dist/fonts/maple-7.9-bolditalic-03a-30c9409a7e.woff2 +0 -0
  195. package/dist/fonts/maple-7.9-bolditalic-03b-4f1741e9e9.woff2 +0 -0
  196. package/dist/fonts/maple-7.9-bolditalic-03c-6551c74e78.woff2 +0 -0
  197. package/dist/fonts/maple-7.9-bolditalic-03d-c8e2b07106.woff2 +0 -0
  198. package/dist/fonts/maple-7.9-bolditalic-03e-c3e98613d4.woff2 +0 -0
  199. package/dist/fonts/maple-7.9-bolditalic-03f-f1c580bad4.woff2 +0 -0
  200. package/dist/fonts/maple-7.9-bolditalic-040-32e8260076.woff2 +0 -0
  201. package/dist/fonts/maple-7.9-bolditalic-041-39805a0ed7.woff2 +0 -0
  202. package/dist/fonts/maple-7.9-bolditalic-042-13b4d84cd3.woff2 +0 -0
  203. package/dist/fonts/maple-7.9-bolditalic-043-d85780d0bd.woff2 +0 -0
  204. package/dist/fonts/maple-7.9-bolditalic-044-1b5eb624d7.woff2 +0 -0
  205. package/dist/fonts/maple-7.9-bolditalic-045-ad0b4f8762.woff2 +0 -0
  206. package/dist/fonts/maple-7.9-bolditalic-046-9966021b3a.woff2 +0 -0
  207. package/dist/fonts/maple-7.9-bolditalic-047-100d4f6f4e.woff2 +0 -0
  208. package/dist/fonts/maple-7.9-bolditalic-048-a0a1e8b29c.woff2 +0 -0
  209. package/dist/fonts/maple-7.9-bolditalic-049-0806f9b3cc.woff2 +0 -0
  210. package/dist/fonts/maple-7.9-bolditalic-04a-28fdef78b3.woff2 +0 -0
  211. package/dist/fonts/maple-7.9-bolditalic-04b-6e93ef0086.woff2 +0 -0
  212. package/dist/fonts/maple-7.9-bolditalic-04c-50b8da6282.woff2 +0 -0
  213. package/dist/fonts/maple-7.9-bolditalic-04d-f93277723d.woff2 +0 -0
  214. package/dist/fonts/maple-7.9-bolditalic-04e-72e2644690.woff2 +0 -0
  215. package/dist/fonts/maple-7.9-bolditalic-04f-4f234f1802.woff2 +0 -0
  216. package/dist/fonts/maple-7.9-bolditalic-070-a3658a8a23.woff2 +0 -0
  217. package/dist/fonts/maple-7.9-bolditalic-071-4987e49732.woff2 +0 -0
  218. package/dist/fonts/maple-7.9-bolditalic-072-e587fa72cd.woff2 +0 -0
  219. package/dist/fonts/maple-7.9-bolditalic-073-2aca01fdf6.woff2 +0 -0
  220. package/dist/fonts/maple-7.9-bolditalic-074-ae89f99a60.woff2 +0 -0
  221. package/dist/fonts/maple-7.9-bolditalic-075-5a77191665.woff2 +0 -0
  222. package/dist/fonts/maple-7.9-bolditalic-076-4c54a87277.woff2 +0 -0
  223. package/dist/fonts/maple-7.9-bolditalic-077-e47dce25ee.woff2 +0 -0
  224. package/dist/fonts/maple-7.9-bolditalic-078-b0b720dab6.woff2 +0 -0
  225. package/dist/fonts/maple-7.9-bolditalic-079-316ee96f6a.woff2 +0 -0
  226. package/dist/fonts/maple-7.9-bolditalic-07a-b10ccb8107.woff2 +0 -0
  227. package/dist/fonts/maple-7.9-bolditalic-07d-5667cb3be1.woff2 +0 -0
  228. package/dist/fonts/maple-7.9-bolditalic-07f-2ac6735ff8.woff2 +0 -0
  229. package/dist/fonts/maple-7.9-bolditalic-0fc-52171ca01e.woff2 +0 -0
  230. package/dist/fonts/maple-7.9-bolditalic-780-3c090c5f89.woff2 +0 -0
  231. package/dist/fonts/maple-7.9-bolditalic-781-ca4077b4fa.woff2 +0 -0
  232. package/dist/fonts/maple-7.9-bolditalic-782-42c3d52206.woff2 +0 -0
  233. package/dist/fonts/maple-7.9-bolditalic-783-d72840dd37.woff2 +0 -0
  234. package/dist/fonts/maple-7.9-bolditalic-784-b9ca097e50.woff2 +0 -0
  235. package/dist/fonts/maple-7.9-bolditalic-785-b81dec6af9.woff2 +0 -0
  236. package/dist/fonts/maple-7.9-bolditalic-786-76c266f6f5.woff2 +0 -0
  237. package/dist/fonts/maple-7.9-bolditalic-787-403bd73766.woff2 +0 -0
  238. package/dist/fonts/maple-7.9-bolditalic-788-71a4b8c2c5.woff2 +0 -0
  239. package/dist/fonts/maple-7.9-bolditalic-789-94527f3fa4.woff2 +0 -0
  240. package/dist/fonts/maple-7.9-bolditalic-78a-81918568b8.woff2 +0 -0
  241. package/dist/fonts/maple-7.9-bolditalic-78b-d0302b4bfe.woff2 +0 -0
  242. package/dist/fonts/maple-7.9-bolditalic-78c-e864792049.woff2 +0 -0
  243. package/dist/fonts/maple-7.9-bolditalic-78d-105ff69bf4.woff2 +0 -0
  244. package/dist/fonts/maple-7.9-bolditalic-latin-96412d165b.woff2 +0 -0
  245. package/dist/fonts/maple-7.9-italic-005-23b09473f8.woff2 +0 -0
  246. package/dist/fonts/maple-7.9-italic-00f-e9bf4dd93c.woff2 +0 -0
  247. package/dist/fonts/maple-7.9-italic-010-22933d6d77.woff2 +0 -0
  248. package/dist/fonts/maple-7.9-italic-011-71b0157ddc.woff2 +0 -0
  249. package/dist/fonts/maple-7.9-italic-012-b751ab3752.woff2 +0 -0
  250. package/dist/fonts/maple-7.9-italic-013-530b1d3f8b.woff2 +0 -0
  251. package/dist/fonts/maple-7.9-italic-014-0e842f6749.woff2 +0 -0
  252. package/dist/fonts/maple-7.9-italic-015-642211b03a.woff2 +0 -0
  253. package/dist/fonts/maple-7.9-italic-018-0c5b0001c6.woff2 +0 -0
  254. package/dist/fonts/maple-7.9-italic-027-9a09afbbb1.woff2 +0 -0
  255. package/dist/fonts/maple-7.9-italic-028-93fea67326.woff2 +0 -0
  256. package/dist/fonts/maple-7.9-italic-029-7d7627d4cc.woff2 +0 -0
  257. package/dist/fonts/maple-7.9-italic-02a-88e76d051b.woff2 +0 -0
  258. package/dist/fonts/maple-7.9-italic-02b-7d9219748b.woff2 +0 -0
  259. package/dist/fonts/maple-7.9-italic-02c-049df19d84.woff2 +0 -0
  260. package/dist/fonts/maple-7.9-italic-02d-663fc73c6e.woff2 +0 -0
  261. package/dist/fonts/maple-7.9-italic-02e-a98ed33998.woff2 +0 -0
  262. package/dist/fonts/maple-7.9-italic-02f-8ef9d93d09.woff2 +0 -0
  263. package/dist/fonts/maple-7.9-italic-030-74885d994d.woff2 +0 -0
  264. package/dist/fonts/maple-7.9-italic-031-4cf66c5d65.woff2 +0 -0
  265. package/dist/fonts/maple-7.9-italic-032-a608b7aed4.woff2 +0 -0
  266. package/dist/fonts/maple-7.9-italic-033-2978f66e55.woff2 +0 -0
  267. package/dist/fonts/maple-7.9-italic-034-38f7a0bf87.woff2 +0 -0
  268. package/dist/fonts/maple-7.9-italic-035-5cc45cd3b7.woff2 +0 -0
  269. package/dist/fonts/maple-7.9-italic-036-ca92d327e5.woff2 +0 -0
  270. package/dist/fonts/maple-7.9-italic-037-f887681c7d.woff2 +0 -0
  271. package/dist/fonts/maple-7.9-italic-038-06150b88f8.woff2 +0 -0
  272. package/dist/fonts/maple-7.9-italic-039-761da333b7.woff2 +0 -0
  273. package/dist/fonts/maple-7.9-italic-03a-1408ddaf2c.woff2 +0 -0
  274. package/dist/fonts/maple-7.9-italic-03b-1542b3b67c.woff2 +0 -0
  275. package/dist/fonts/maple-7.9-italic-03c-479f2f5011.woff2 +0 -0
  276. package/dist/fonts/maple-7.9-italic-03d-0f10590b11.woff2 +0 -0
  277. package/dist/fonts/maple-7.9-italic-03e-8b93e0ee0e.woff2 +0 -0
  278. package/dist/fonts/maple-7.9-italic-03f-2bd8815e3e.woff2 +0 -0
  279. package/dist/fonts/maple-7.9-italic-040-b85023679a.woff2 +0 -0
  280. package/dist/fonts/maple-7.9-italic-041-eb881b7b92.woff2 +0 -0
  281. package/dist/fonts/maple-7.9-italic-042-01490a139e.woff2 +0 -0
  282. package/dist/fonts/maple-7.9-italic-043-ffb21b6c4c.woff2 +0 -0
  283. package/dist/fonts/maple-7.9-italic-044-05cd1a1b14.woff2 +0 -0
  284. package/dist/fonts/maple-7.9-italic-045-1270935363.woff2 +0 -0
  285. package/dist/fonts/maple-7.9-italic-046-857077eab1.woff2 +0 -0
  286. package/dist/fonts/maple-7.9-italic-047-ca57774cc3.woff2 +0 -0
  287. package/dist/fonts/maple-7.9-italic-048-20969d6307.woff2 +0 -0
  288. package/dist/fonts/maple-7.9-italic-049-4066aa1a18.woff2 +0 -0
  289. package/dist/fonts/maple-7.9-italic-04a-1ed360d580.woff2 +0 -0
  290. package/dist/fonts/maple-7.9-italic-04b-2eba62d76b.woff2 +0 -0
  291. package/dist/fonts/maple-7.9-italic-04c-2f4effc460.woff2 +0 -0
  292. package/dist/fonts/maple-7.9-italic-04d-d858c0a9c1.woff2 +0 -0
  293. package/dist/fonts/maple-7.9-italic-04e-a19eb0289f.woff2 +0 -0
  294. package/dist/fonts/maple-7.9-italic-04f-8addde15f2.woff2 +0 -0
  295. package/dist/fonts/maple-7.9-italic-070-f0bd641f1c.woff2 +0 -0
  296. package/dist/fonts/maple-7.9-italic-071-e6ac564431.woff2 +0 -0
  297. package/dist/fonts/maple-7.9-italic-072-e6fea65bca.woff2 +0 -0
  298. package/dist/fonts/maple-7.9-italic-073-71621c00dc.woff2 +0 -0
  299. package/dist/fonts/maple-7.9-italic-074-4bd488962a.woff2 +0 -0
  300. package/dist/fonts/maple-7.9-italic-075-2838d95bd6.woff2 +0 -0
  301. package/dist/fonts/maple-7.9-italic-076-94e02ecc03.woff2 +0 -0
  302. package/dist/fonts/maple-7.9-italic-077-32c536ab6b.woff2 +0 -0
  303. package/dist/fonts/maple-7.9-italic-078-18256447bd.woff2 +0 -0
  304. package/dist/fonts/maple-7.9-italic-079-7a735e61cf.woff2 +0 -0
  305. package/dist/fonts/maple-7.9-italic-07a-2b57a6a905.woff2 +0 -0
  306. package/dist/fonts/maple-7.9-italic-07d-8ba1bbfb50.woff2 +0 -0
  307. package/dist/fonts/maple-7.9-italic-07f-0240d80c69.woff2 +0 -0
  308. package/dist/fonts/maple-7.9-italic-0fc-e5b20a692e.woff2 +0 -0
  309. package/dist/fonts/maple-7.9-italic-780-093cc90a9b.woff2 +0 -0
  310. package/dist/fonts/maple-7.9-italic-781-f6ec357f6d.woff2 +0 -0
  311. package/dist/fonts/maple-7.9-italic-782-5ca2ef4ddd.woff2 +0 -0
  312. package/dist/fonts/maple-7.9-italic-783-7450baabee.woff2 +0 -0
  313. package/dist/fonts/maple-7.9-italic-784-14a93cc4bd.woff2 +0 -0
  314. package/dist/fonts/maple-7.9-italic-785-d62fb8b4d7.woff2 +0 -0
  315. package/dist/fonts/maple-7.9-italic-786-1d2959dc83.woff2 +0 -0
  316. package/dist/fonts/maple-7.9-italic-787-70ae947136.woff2 +0 -0
  317. package/dist/fonts/maple-7.9-italic-788-cf1f156ebf.woff2 +0 -0
  318. package/dist/fonts/maple-7.9-italic-789-f0b79f9680.woff2 +0 -0
  319. package/dist/fonts/maple-7.9-italic-78a-5a53fd7870.woff2 +0 -0
  320. package/dist/fonts/maple-7.9-italic-78b-40be093bfd.woff2 +0 -0
  321. package/dist/fonts/maple-7.9-italic-78c-3b11646f8e.woff2 +0 -0
  322. package/dist/fonts/maple-7.9-italic-78d-b13ed8c48b.woff2 +0 -0
  323. package/dist/fonts/maple-7.9-italic-latin-befeb2b610.woff2 +0 -0
  324. package/dist/fonts/maple-7.9-regular-005-90bff107ac.woff2 +0 -0
  325. package/dist/fonts/maple-7.9-regular-00f-001e503e53.woff2 +0 -0
  326. package/dist/fonts/maple-7.9-regular-010-374da1ebb4.woff2 +0 -0
  327. package/dist/fonts/maple-7.9-regular-011-8f91fcc9e7.woff2 +0 -0
  328. package/dist/fonts/maple-7.9-regular-012-e4ec3016ef.woff2 +0 -0
  329. package/dist/fonts/maple-7.9-regular-013-e779e13a12.woff2 +0 -0
  330. package/dist/fonts/maple-7.9-regular-014-6b833ad501.woff2 +0 -0
  331. package/dist/fonts/maple-7.9-regular-015-4e058c4c42.woff2 +0 -0
  332. package/dist/fonts/maple-7.9-regular-018-6f776bc19b.woff2 +0 -0
  333. package/dist/fonts/maple-7.9-regular-027-92c0be3439.woff2 +0 -0
  334. package/dist/fonts/maple-7.9-regular-028-154c8c3039.woff2 +0 -0
  335. package/dist/fonts/maple-7.9-regular-029-9d88470aca.woff2 +0 -0
  336. package/dist/fonts/maple-7.9-regular-02a-7a94cb26f2.woff2 +0 -0
  337. package/dist/fonts/maple-7.9-regular-02b-1725b841c2.woff2 +0 -0
  338. package/dist/fonts/maple-7.9-regular-02c-e080c435d6.woff2 +0 -0
  339. package/dist/fonts/maple-7.9-regular-02d-a6461c4708.woff2 +0 -0
  340. package/dist/fonts/maple-7.9-regular-02e-2e55d9b957.woff2 +0 -0
  341. package/dist/fonts/maple-7.9-regular-02f-858a76fa1f.woff2 +0 -0
  342. package/dist/fonts/maple-7.9-regular-030-bbbe80f8ad.woff2 +0 -0
  343. package/dist/fonts/maple-7.9-regular-031-cafc1258ad.woff2 +0 -0
  344. package/dist/fonts/maple-7.9-regular-032-0ca83ecceb.woff2 +0 -0
  345. package/dist/fonts/maple-7.9-regular-033-6cb995f2e7.woff2 +0 -0
  346. package/dist/fonts/maple-7.9-regular-034-5877222be6.woff2 +0 -0
  347. package/dist/fonts/maple-7.9-regular-035-988d8f2d26.woff2 +0 -0
  348. package/dist/fonts/maple-7.9-regular-036-e91853e3ca.woff2 +0 -0
  349. package/dist/fonts/maple-7.9-regular-037-3eed60f359.woff2 +0 -0
  350. package/dist/fonts/maple-7.9-regular-038-5681f42a4a.woff2 +0 -0
  351. package/dist/fonts/maple-7.9-regular-039-07036fe444.woff2 +0 -0
  352. package/dist/fonts/maple-7.9-regular-03a-5495eead93.woff2 +0 -0
  353. package/dist/fonts/maple-7.9-regular-03b-d07b1d6c1e.woff2 +0 -0
  354. package/dist/fonts/maple-7.9-regular-03c-6291400ee0.woff2 +0 -0
  355. package/dist/fonts/maple-7.9-regular-03d-3787a51772.woff2 +0 -0
  356. package/dist/fonts/maple-7.9-regular-03e-ce4d945844.woff2 +0 -0
  357. package/dist/fonts/maple-7.9-regular-03f-95e98b329c.woff2 +0 -0
  358. package/dist/fonts/maple-7.9-regular-040-693b769fe8.woff2 +0 -0
  359. package/dist/fonts/maple-7.9-regular-041-7b436d2c09.woff2 +0 -0
  360. package/dist/fonts/maple-7.9-regular-042-9ad884cd73.woff2 +0 -0
  361. package/dist/fonts/maple-7.9-regular-043-372231e8e2.woff2 +0 -0
  362. package/dist/fonts/maple-7.9-regular-044-9922b540b1.woff2 +0 -0
  363. package/dist/fonts/maple-7.9-regular-045-8a88a91c22.woff2 +0 -0
  364. package/dist/fonts/maple-7.9-regular-046-82859ede10.woff2 +0 -0
  365. package/dist/fonts/maple-7.9-regular-047-6532babd62.woff2 +0 -0
  366. package/dist/fonts/maple-7.9-regular-048-abfdc5d7ce.woff2 +0 -0
  367. package/dist/fonts/maple-7.9-regular-049-adb7fa9ed3.woff2 +0 -0
  368. package/dist/fonts/maple-7.9-regular-04a-f3f794b1cb.woff2 +0 -0
  369. package/dist/fonts/maple-7.9-regular-04b-715211b8dd.woff2 +0 -0
  370. package/dist/fonts/maple-7.9-regular-04c-c6f978d10d.woff2 +0 -0
  371. package/dist/fonts/maple-7.9-regular-04d-61019a1c8f.woff2 +0 -0
  372. package/dist/fonts/maple-7.9-regular-04e-806d6efe85.woff2 +0 -0
  373. package/dist/fonts/maple-7.9-regular-04f-99d19aa8db.woff2 +0 -0
  374. package/dist/fonts/maple-7.9-regular-070-e94ba9445d.woff2 +0 -0
  375. package/dist/fonts/maple-7.9-regular-071-057314b533.woff2 +0 -0
  376. package/dist/fonts/maple-7.9-regular-072-a7699beb84.woff2 +0 -0
  377. package/dist/fonts/maple-7.9-regular-073-ebe1bd9ef4.woff2 +0 -0
  378. package/dist/fonts/maple-7.9-regular-074-722db38100.woff2 +0 -0
  379. package/dist/fonts/maple-7.9-regular-075-150ff7187b.woff2 +0 -0
  380. package/dist/fonts/maple-7.9-regular-076-c14595e715.woff2 +0 -0
  381. package/dist/fonts/maple-7.9-regular-077-6c88302a32.woff2 +0 -0
  382. package/dist/fonts/maple-7.9-regular-078-549b294c78.woff2 +0 -0
  383. package/dist/fonts/maple-7.9-regular-079-5131c42759.woff2 +0 -0
  384. package/dist/fonts/maple-7.9-regular-07a-c0dad221b5.woff2 +0 -0
  385. package/dist/fonts/maple-7.9-regular-07f-5cf5ebe065.woff2 +0 -0
  386. package/dist/fonts/maple-7.9-regular-0fc-b644c0c6d9.woff2 +0 -0
  387. package/dist/fonts/maple-7.9-regular-780-c6000d472a.woff2 +0 -0
  388. package/dist/fonts/maple-7.9-regular-781-86409ab7f7.woff2 +0 -0
  389. package/dist/fonts/maple-7.9-regular-782-9cd950637c.woff2 +0 -0
  390. package/dist/fonts/maple-7.9-regular-783-105c4d02df.woff2 +0 -0
  391. package/dist/fonts/maple-7.9-regular-784-00c042af97.woff2 +0 -0
  392. package/dist/fonts/maple-7.9-regular-785-022568d0b8.woff2 +0 -0
  393. package/dist/fonts/maple-7.9-regular-786-90b6f3aef5.woff2 +0 -0
  394. package/dist/fonts/maple-7.9-regular-787-e2888596c9.woff2 +0 -0
  395. package/dist/fonts/maple-7.9-regular-788-3416e1fda3.woff2 +0 -0
  396. package/dist/fonts/maple-7.9-regular-789-9ffc917b0b.woff2 +0 -0
  397. package/dist/fonts/maple-7.9-regular-78a-4a921d07f6.woff2 +0 -0
  398. package/dist/fonts/maple-7.9-regular-78b-9d71c5327b.woff2 +0 -0
  399. package/dist/fonts/maple-7.9-regular-78c-9ec048314b.woff2 +0 -0
  400. package/dist/fonts/maple-7.9-regular-78d-46a2ebd113.woff2 +0 -0
  401. package/dist/fonts/maple-7.9-regular-latin-59c752ba1d.woff2 +0 -0
  402. package/dist/fonts/maple.css +315 -0
  403. package/dist/index.d.ts +9 -0
  404. package/dist/index.js +136 -0
  405. package/dist/index.js.map +1 -0
  406. package/dist/math-renderer-L6DOH4RX.js +21 -0
  407. package/dist/math-renderer-L6DOH4RX.js.map +1 -0
  408. package/dist/math.css +1 -0
  409. package/dist/react/index.d.ts +113 -0
  410. package/dist/react/index.js +59 -0
  411. package/dist/react/index.js.map +1 -0
  412. package/dist/styles.css +454 -0
  413. package/dist/translations-DHnYMg4h.d.ts +318 -0
  414. package/docs/README.md +13 -0
  415. package/docs/api.md +8 -0
  416. package/docs/assets/rendered.svg +9 -0
  417. package/docs/assets/source.svg +9 -0
  418. package/docs/en/README.md +26 -0
  419. package/docs/en/ai-skills.md +57 -0
  420. package/docs/en/annotations.md +84 -0
  421. package/docs/en/api.md +107 -0
  422. package/docs/en/architecture.md +33 -0
  423. package/docs/en/extensions.md +159 -0
  424. package/docs/en/getting-started.md +67 -0
  425. package/docs/en/integration.md +130 -0
  426. package/docs/en/modules.md +80 -0
  427. package/docs/en/performance.md +53 -0
  428. package/docs/en/plugin-packages.md +68 -0
  429. package/docs/en/styles.md +80 -0
  430. package/docs/en/syntax.md +352 -0
  431. package/docs/extensions.md +8 -0
  432. package/docs/implementation.md +8 -0
  433. package/docs/performance.md +8 -0
  434. package/docs/screenshots/blocks.png +0 -0
  435. package/docs/screenshots/dark.png +0 -0
  436. package/docs/screenshots/desktop.png +0 -0
  437. package/docs/screenshots/plugin-mobile.png +0 -0
  438. package/docs/styles.md +8 -0
  439. package/docs/visual-upgrade.md +8 -0
  440. package/docs/zh-CN/README.md +26 -0
  441. package/docs/zh-CN/ai-skills.md +57 -0
  442. package/docs/zh-CN/annotations.md +84 -0
  443. package/docs/zh-CN/api.md +107 -0
  444. package/docs/zh-CN/architecture.md +33 -0
  445. package/docs/zh-CN/extensions.md +159 -0
  446. package/docs/zh-CN/getting-started.md +67 -0
  447. package/docs/zh-CN/integration.md +130 -0
  448. package/docs/zh-CN/modules.md +80 -0
  449. package/docs/zh-CN/performance.md +53 -0
  450. package/docs/zh-CN/plugin-packages.md +68 -0
  451. package/docs/zh-CN/styles.md +80 -0
  452. package/docs/zh-CN/syntax.md +352 -0
  453. package/examples/assistant.tsx +52 -0
  454. package/examples/notes.tsx +80 -0
  455. package/examples/packages/paper-theme/index.css +25 -0
  456. package/examples/packages/paper-theme/package.json +7 -0
  457. package/examples/packages/reading-tools/index.d.ts +2 -0
  458. package/examples/packages/reading-tools/index.js +25 -0
  459. package/examples/packages/reading-tools/package.json +16 -0
  460. package/package.json +114 -3
  461. package/skills/limr-plugin-development/SKILL.md +22 -0
  462. package/skills/limr-plugin-development/agents/openai.yaml +4 -0
  463. package/skills/limr-plugin-development/assets/plugin-template/README.md +30 -0
  464. package/skills/limr-plugin-development/assets/plugin-template/package.json +36 -0
  465. package/skills/limr-plugin-development/assets/plugin-template/src/index.tsx +50 -0
  466. package/skills/limr-plugin-development/assets/plugin-template/src/styles.css +9 -0
  467. package/skills/limr-plugin-development/assets/plugin-template/tsconfig.json +20 -0
  468. package/skills/limr-plugin-development/assets/plugin-template/tsup.config.ts +8 -0
  469. package/skills/limr-plugin-development/references/contract.md +45 -0
  470. package/skills/limr-use/SKILL.md +23 -0
  471. package/skills/limr-use/agents/openai.yaml +4 -0
  472. package/skills/limr-use/references/integration.md +41 -0
  473. package/skills/limr-use/references/syntax.md +17 -0
package/dist/base.css ADDED
@@ -0,0 +1,454 @@
1
+ /* LiMR classic skin. Local assets only; unlayered application CSS wins. */
2
+
3
+ @layer limr {
4
+ :where([data-limr-appearance]) {
5
+ --limr-ease: cubic-bezier(.16, 1, .3, 1);
6
+ --limr-ease-spring: cubic-bezier(.2, 1.5, .4, 1);
7
+ --limr-motion-fast: 180ms;
8
+ --limr-motion: 360ms;
9
+ --limr-motion-slow: 460ms;
10
+ }
11
+ .limr-underline,.limr-prose a:not(.limr-extra-link),.limr-choice-text [data-limr-text] {
12
+ background-image: linear-gradient(currentColor, currentColor);
13
+ background-position: left calc(100% - .04em);
14
+ background-repeat: no-repeat;
15
+ background-size: 0% 1px;
16
+ box-decoration-break: clone; -webkit-box-decoration-break: clone;
17
+ transition: background-size var(--limr-motion) var(--limr-ease), color var(--limr-motion-fast) var(--limr-ease);
18
+ }
19
+ .limr-underline:hover,:where(a,button,summary,label):hover .limr-underline,a:focus-visible .limr-underline,button:focus-visible .limr-underline,
20
+ .limr-prose a:not(.limr-extra-link):hover,.limr-prose a:focus-visible,
21
+ .limr-question-options label:has(.limr-choice-diamond:hover,input:hover,input:focus-visible,.limr-choice-text [data-limr-text]:hover) .limr-choice-text [data-limr-text],
22
+ .limr-question-options label[data-result] .limr-choice-text [data-limr-text] { background-size: 100% 1px; }
23
+ .limr-collapse { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--limr-motion) var(--limr-ease); }
24
+ .limr-collapse[data-open] { grid-template-rows: 1fr; }
25
+ .limr-collapse-inner { min-height: 0; overflow: hidden; }
26
+ .limr-collapse-inner > * { opacity: 0; transform: translateY(5px); transition: opacity var(--limr-motion-fast) var(--limr-ease), transform var(--limr-motion) var(--limr-ease); }
27
+ .limr-collapse[data-open] > .limr-collapse-inner > * { opacity: 1; transform: none; transition-delay: 45ms; }
28
+ @keyframes limr-reveal { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
29
+ .limr-copy-button { display: inline-grid; place-items: center; position: relative; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 9px; background: transparent; color: var(--limr-secondary, #7b7975); transition: color var(--limr-motion-fast) var(--limr-ease), background-color var(--limr-motion-fast) var(--limr-ease), opacity var(--limr-motion) var(--limr-ease); }
30
+ .limr-copy-button[data-variant='glass'] { background: #ffffff99; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 1px 5px #29231d0a, inset 0 0 0 1px #ffffff80; color: #6b6760; }
31
+ .limr-copy-button:hover { background: #87837822; }
32
+ .limr-copy-button[data-variant='glass']:hover { background: #ffffffdd; }
33
+ .limr-copy-button:active { background: #87837838; }
34
+ .limr-copy-button[data-variant='glass']:active { background: #e8e4dfdd; }
35
+ .limr-copy-button[data-status='copied'] { color: var(--limr-success, #648957); }
36
+ .limr-copy-button[data-status='error'] { color: var(--limr-error, #b45858); }
37
+ .limr-copy-glyph { display: block; width: 19px; height: 19px; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
38
+ .limr-copy-sheets { transform-origin: center; transition: opacity var(--limr-motion-fast) var(--limr-ease), transform var(--limr-motion) var(--limr-ease); }
39
+ .limr-copy-check { opacity: 0; stroke-dasharray: 1; stroke-dashoffset: 1; transform: scale(.7); transform-origin: center; transition: stroke-dashoffset var(--limr-motion) var(--limr-ease), transform var(--limr-motion) var(--limr-ease-spring), opacity var(--limr-motion-fast) var(--limr-ease); }
40
+ [data-status='copied'] .limr-copy-sheets { opacity: 0; transform: scale(.6) rotate(-15deg); }
41
+ [data-status='copied'] .limr-copy-check { opacity: 1; stroke-dashoffset: 0; transform: scale(1); transition-delay: 65ms; }
42
+ :where(.limr-prose,.limr-reader,.limr-toc,.limr-sidebar,.limr-annotation-overlay,.limr-selection-toolbar) {
43
+ box-sizing: border-box;
44
+ color: var(--limr-text, #1a1a1a);
45
+ font-family: var(--limr-font-text, 'Noto Serif SC', 'Source Han Serif SC', 'STSong', Georgia, serif);
46
+ -webkit-font-smoothing: antialiased;
47
+ }
48
+ :where(.limr-reader,.limr-prose,.limr-annotation-overlay,.limr-selection-toolbar) *,
49
+ :where(.limr-reader,.limr-prose,.limr-annotation-overlay,.limr-selection-toolbar) *::before,
50
+ :where(.limr-reader,.limr-prose,.limr-annotation-overlay,.limr-selection-toolbar) *::after { box-sizing: border-box; }
51
+ [data-limr-theme='dark'] {
52
+ --limr-text: #e0ddd8; --limr-heading: #d5d0c8; --limr-secondary: #a09b94; --limr-muted: #96908a;
53
+ --limr-border: #3a3835; --limr-border-strong: #4a4744; --limr-background: #1b1a18; --limr-surface: #242320;
54
+ --limr-code-bg: #1e1d1b; --limr-code-header: #262422; --limr-inline-code: #d98f8f;
55
+ --limr-link: #8bb8e3; --limr-selection: #6e88c955; --limr-shadow: #0006;
56
+ }
57
+ @media (prefers-color-scheme: dark) {
58
+ [data-limr-theme='auto'] {
59
+ --limr-text: #e0ddd8; --limr-heading: #d5d0c8; --limr-secondary: #a09b94; --limr-muted: #96908a;
60
+ --limr-border: #3a3835; --limr-border-strong: #4a4744; --limr-background: #1b1a18; --limr-surface: #242320;
61
+ --limr-code-bg: #1e1d1b; --limr-code-header: #262422; --limr-inline-code: #d98f8f;
62
+ --limr-link: #8bb8e3; --limr-selection: #6e88c955; --limr-shadow: #0006;
63
+ }
64
+ }
65
+ .limr-prose { width: 100%; min-width: 0; font-size: var(--limr-font-size, 1rem); line-height: var(--limr-line-height, 1.8); font-feature-settings: var(--limr-font-features, 'palt' 1); overflow-wrap: break-word; --limr-paragraph-align: start; }
66
+ .limr-prose[data-limr-justify='true'] { --limr-paragraph-align: justify; }
67
+ .limr-prose :where(p,.limr-paragraph,li) { text-align: var(--limr-paragraph-align); text-align-last: start; text-justify: auto; }
68
+ .limr-prose ::selection { background: var(--limr-selection, #667eea4d); }
69
+ .limr-prose { position: relative; isolation: isolate; transition: translate var(--limr-motion) var(--limr-ease); }
70
+ .limr-prose[data-limr-painted] ::selection { background: transparent; }
71
+ .limr-prose[data-limr-painted] .limr-highlight-background,
72
+ .limr-prose[data-limr-painted] .limr-atomic-highlight,
73
+ .limr-prose[data-limr-painted] .limr-atomic[data-selected] { background: transparent; }
74
+ .limr-prose[data-limr-painted] .limr-highlight { text-decoration: none; }
75
+ .limr-paint-layer { position: absolute; inset-inline: 0; top: 0; height: 0; contain: strict; pointer-events: none; z-index: 2; overflow: clip; }
76
+ .limr-paint-rect { display: block; position: absolute; pointer-events: none; border-radius: 0; }
77
+ [data-limr-highlight-host] { isolation: isolate; }
78
+ [data-limr-highlight-position] { position: relative; }
79
+ .limr-highlight-layer { position: absolute; inset-inline: 0; height: 0; z-index: -1; pointer-events: none; overflow: clip; contain: strict; }
80
+ .limr-highlight-layer .limr-paint-rect { transition: opacity 220ms var(--limr-ease), background-color 180ms var(--limr-ease), filter 180ms var(--limr-ease); }
81
+ .limr-paint-rect[data-muted] { opacity: 0; }
82
+ .limr-highlight[data-hidden] { background: transparent; text-decoration: none; }
83
+ .limr-paint-background { background: color-mix(in srgb, var(--limr-highlight) 30%, transparent); }
84
+ .limr-paint-background:is([data-hovered],[data-active]) { background: color-mix(in srgb, var(--limr-highlight) 48%, transparent); }
85
+ .limr-paint-background[data-reference] { background: color-mix(in srgb, var(--limr-highlight) 18%, transparent); }
86
+ .limr-highlight-layer .limr-paint-rect:is([data-hovered],[data-active]):not(.limr-paint-background) { background-color: color-mix(in srgb, var(--limr-highlight) 14%, transparent); }
87
+ .limr-highlight { cursor: pointer; }
88
+ .limr-paint-selection { background: var(--limr-selection, #667eea4d); z-index: 1; }
89
+ .limr-paint-underline { border-bottom: 2px solid var(--limr-highlight); }
90
+ .limr-paint-dotted { border-bottom: 2px dotted var(--limr-highlight); }
91
+ .limr-paint-wavy { background: radial-gradient(ellipse at top, transparent 45%, var(--limr-highlight) 50%, var(--limr-highlight) 65%, transparent 70%) left bottom / 6px 3px repeat-x; }
92
+ .limr-atomic-image > .limr-highlight-layer { z-index: 1; }
93
+ :is(.limr-paint-background,.limr-paint-selection)[data-media='image'] { background: transparent; }
94
+ .limr-paint-background[data-media='image'] { border: 3px solid var(--limr-highlight); }
95
+ .limr-paint-selection[data-media='image'] { border: 3px solid var(--limr-selection-border, #8292ce); }
96
+ .limr-highlight-layer .limr-paint-rect[data-media='image']:is([data-hovered],[data-active]) { background-color: transparent; filter: saturate(1.3); }
97
+ .limr-prose :where(p,.limr-paragraph) { margin: 0 0 1rem; }
98
+ .limr-prose :where(h1,h2,h3,h4,h5,h6) { color: var(--limr-heading, #3d3a36); font-family: inherit; text-align: start; scroll-margin-top: var(--limr-scroll-offset, 24px); }
99
+ .limr-prose h1 { font-size: 2em; font-weight: 700; line-height: 1.3; margin: 1.5rem 0 1rem; }
100
+ .limr-prose h2 { font-size: 1.5em; font-weight: 600; line-height: 1.35; margin: 1.25rem 0 .75rem; }
101
+ .limr-prose h3 { font-size: 1.25em; font-weight: 600; line-height: 1.4; margin: 1rem 0 .5rem; }
102
+ .limr-prose h4 { font-size: 1.125em; font-weight: 600; margin: .875rem 0 .5rem; }
103
+ .limr-prose h5 { font-size: 1em; font-weight: 600; margin: .75rem 0 .375rem; }
104
+ .limr-prose h6 { font-size: .875em; font-weight: 600; margin: .625rem 0 .375rem; }
105
+ .limr-prose a { color: var(--limr-link, #0066cc); text-decoration: none; }
106
+ .limr-prose a:hover { text-decoration: none; }
107
+ .limr-prose strong { font-weight: 700; }
108
+ .limr-prose em { padding-inline-end: var(--limr-emphasis-spacing, .08em); }
109
+ .limr-prose del { color: var(--limr-muted, #718096); }
110
+ .limr-prose :where(ul,ol) { padding-inline-start: 1.5rem; margin: 0 0 1rem; }
111
+ .limr-prose ul { list-style-type: disc; }
112
+ .limr-prose ol { list-style-type: decimal; }
113
+ .limr-prose li { display: list-item; margin-block-end: var(--limr-list-item-gap, .375rem); }
114
+ .limr-prose li:last-child { margin-block-end: 0; }
115
+ .limr-prose li > p { margin-block-end: var(--limr-list-item-gap, .375rem); }
116
+ .limr-prose :where(ul,ol) :where(ul,ol) { margin-block: var(--limr-list-item-gap, .375rem) 0; }
117
+ .limr-prose ul ul { list-style-type: circle; }
118
+ .limr-prose ul ul ul { list-style-type: square; }
119
+ .limr-prose .limr-task-item { list-style-type: none; }
120
+ .limr-task-item > input { margin-inline: -1.25rem .5rem; accent-color: #8a7865; }
121
+ .limr-prose hr { border: 0; border-top: 1px solid var(--limr-border, #e5e2dc); margin: 2rem 0; }
122
+ .limr-prose img { display: inline-block; max-width: 100%; height: auto; vertical-align: middle; border-radius: 4px; }
123
+ .limr-prose figure { margin: 1.5rem 0; text-align: center; }
124
+ .limr-prose figcaption { margin-top: .5rem; font-size: .875em; color: var(--limr-secondary, #666); }
125
+ .limr-prose :is(.limr-figure,.limr-figures) { position: relative; padding: 36px; border: 1px solid var(--limr-border, #e8e5df); border-radius: 10px; background: var(--limr-code-bg, #f9f8f6); }
126
+ .limr-figures-grid { display: grid; align-items: stretch; justify-items: center; min-width: 0; }
127
+ .limr-prose .limr-figures-grid > .limr-figure { display: grid; grid-row: span 2; grid-template-rows: subgrid; width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
128
+ .limr-figure-media { display: flex; justify-content: center; align-items: center; align-self: center; width: 100%; min-height: var(--limr-figure-min-height); max-width: var(--limr-figure-width); margin-inline: auto; }
129
+ .limr-figure-media > :is(p,.limr-paragraph) { width: 100%; margin: 0; }
130
+ .limr-figure-media > .limr-atomic { display: block; width: 100%; max-width: 100%; }
131
+ .limr-figure-media .limr-atomic-image { width: 100%; }
132
+ .limr-prose .limr-figure-media img { display: inline-block; width: 100%; height: auto; max-height: var(--limr-figure-max-height); object-fit: contain; border-radius: 6px; }
133
+ .limr-prose :is(.limr-figure,.limr-figures) figcaption { --limr-paragraph-align: center; margin-block-start: .75rem; line-height: 1.65; text-align: center; text-align-last: center; }
134
+ .limr-prose :is(.limr-figure,.limr-figures) figcaption :is(p,.limr-paragraph) { text-align: center; text-align-last: center; }
135
+ .limr-prose .limr-figures-grid > .limr-figure > figcaption { grid-row: 2; align-self: start; margin-block-start: 0; }
136
+ .limr-prose figcaption > :last-child { margin-block-end: 0; }
137
+ .limr-prose .limr-figures > figcaption { padding-block-start: .65rem; border-top: 1px solid var(--limr-border, #e8e5df); }
138
+ .limr-figure-copy,.limr-figures-copy { position: absolute; inset-block-start: 5px; inset-inline-end: 5px; opacity: 0; z-index: 1; }
139
+ .limr-copy-error { position: absolute; inset-block-start: calc(100% + 4px); inset-inline-end: 0; width: max-content; max-width: 180px; padding: 4px 8px; border-radius: 5px; background: var(--limr-background, #fffefa); color: var(--limr-error, #ad4040); box-shadow: 0 2px 10px #0002; font-size: 12px; line-height: 1.5; }
140
+ .limr-figures-copy { inset-block-start: 5px; inset-inline-end: 5px; }
141
+ .limr-figure:hover > .limr-figure-copy,.limr-figure:focus-within > .limr-figure-copy,.limr-figures:hover > .limr-figures-copy,.limr-figures:focus-within > .limr-figures-copy { opacity: 1; }
142
+ @media (hover: none) { .limr-figure-copy,.limr-figures-copy { opacity: 1; } }
143
+ .limr-table-scroll { width: 100%; overflow-x: auto; margin: 1.25rem 0; }
144
+ .limr-prose table { width: 100%; border-collapse: collapse; font-size: .95em; }
145
+ .limr-prose th,.limr-prose td { padding: .7rem 1rem; text-align: start; border: 0; border-bottom: 1px solid var(--limr-border, #e5e2dc); }
146
+ .limr-prose th { font-weight: 600; color: var(--limr-heading, #3d3a36); border-bottom: 2px solid var(--limr-border-strong, #d5d0c8); }
147
+ .limr-prose :where(code,pre) { font-family: var(--limr-font-code, 'LiMR Maple Mono NF CN', 'Maple Mono NF CN', 'Maple Mono', 'SFMono-Regular', Consolas, monospace); font-size: .875em; }
148
+ .limr-prose :where(code,pre),.limr-code-header { font-variant-ligatures: common-ligatures contextual; font-feature-settings: 'calt' 1, 'liga' 1; }
149
+ .limr-prose :not(pre) > code { color: var(--limr-inline-code, #ab5656); background: #8783781f; padding: .12em .35em; border-radius: 3px; }
150
+ .limr-prose pre { background: var(--limr-code-bg, #f9f8f6); margin: 0; padding: 1rem 1.25rem; line-height: 1.7; overflow-x: auto; tab-size: 2; text-align: start; }
151
+ .limr-prose pre code { font-size: inherit; color: inherit; background: none; padding: 0; }
152
+ .limr-code-block { margin: 1rem 0; border: 1px solid var(--limr-border, #e8e5df); border-radius: 4px; overflow: hidden; }
153
+ .limr-code-header { display: flex; justify-content: space-between; align-items: center; padding: .3rem 1rem; background: var(--limr-code-header, #f3f1ee); color: var(--limr-muted, #9b9590); font-family: var(--limr-font-code, 'LiMR Maple Mono NF CN', 'SFMono-Regular', Consolas, monospace); font-size: .7rem; }
154
+ .limr-code-header .limr-copy-button { width: 24px; height: 24px; border-radius: 6px; margin-inline-end: -5px; }
155
+ .limr-code-header .limr-copy-glyph { width: 17px; height: 17px; }
156
+ :where(.limr-reader,.limr-prose,.limr-annotation-overlay,.limr-selection-toolbar,.limr-sidebar) button { font: inherit; cursor: pointer; color: inherit; }
157
+ :where(.limr-reader,.limr-prose,.limr-annotation-overlay,.limr-selection-toolbar,.limr-sidebar) button:disabled { cursor: default; opacity: .5; }
158
+ :where(.limr-reader,.limr-prose,.limr-annotation-overlay,.limr-selection-toolbar) :focus-visible { outline: 2px solid var(--limr-focus, #8a7865); outline-offset: 3px; }
159
+ .limr-prose .shiki,.limr-prose .limr-code-token { color: var(--shiki-light, #24292e); }
160
+ [data-limr-theme='dark'] .shiki,[data-limr-theme='dark'] .limr-code-token { color: var(--shiki-dark); }
161
+ @media (prefers-color-scheme: dark) { [data-limr-theme='auto'] .shiki,[data-limr-theme='auto'] .limr-code-token { color: var(--shiki-dark); } }
162
+ .limr-math-display { display: block; overflow-x: auto; padding: .75rem 1rem; margin: 0; border-radius: 4px; background: var(--limr-code-bg, #f9f8f6); }
163
+ .limr-math-display .katex-display { margin: .5em 0; }
164
+ .limr-math-block { position: relative; }
165
+ .limr-math-copy { position: absolute; inset-block-start: .45rem; inset-inline-end: .5rem; opacity: 0; }
166
+ .limr-math-block:hover .limr-math-copy,.limr-math-block:focus-within .limr-math-copy { opacity: 1; }
167
+ @media (hover: none) { .limr-math-copy { opacity: 1; } }
168
+ .limr-atomic { min-width: 0; }
169
+ span.limr-atomic { display: inline; }
170
+ .limr-atomic-corner { position: relative; }
171
+ .limr-atomic-corner:has(> .limr-math-block) { margin-block: 1rem; }
172
+ span.limr-atomic-image { display: inline-block; max-width: 100%; vertical-align: middle; line-height: 0; }
173
+ .limr-atomic-image > img { display: block; }
174
+ .limr-corner-marks { position: absolute; inset-inline-end: .35rem; inset-block-end: .3rem; display: flex; align-items: center; gap: .15em; max-width: calc(100% - .7rem); line-height: 1; z-index: 3; }
175
+ .limr-corner-marks .limr-mark { margin: 0; vertical-align: middle; }
176
+ .limr-atomic-image .limr-mark { background: color-mix(in srgb, var(--limr-mark-color, #6366f1) 18%, var(--limr-background, #fffefa)); }
177
+ .limr-atomic-image .limr-mark:is(:hover,[data-active]) { background: color-mix(in srgb, var(--limr-mark-color, #6366f1) 30%, var(--limr-background, #fffefa)); }
178
+ .limr-atomic[data-selected] { background: var(--limr-selection, #667eea4d); border-radius: 3px; }
179
+ .limr-atomic-highlight { background: var(--limr-highlight); border-radius: 3px; }
180
+ .limr-highlight { color: inherit; border-radius: 2px; background: transparent; }
181
+ .limr-highlight-background { background: var(--limr-highlight); }
182
+ .limr-highlight-underline,.limr-highlight-dotted,.limr-highlight-wavy { text-decoration-line: underline; text-decoration-color: var(--limr-highlight); text-decoration-thickness: 2px; text-underline-offset: .2em; }
183
+ .limr-highlight-dotted { text-decoration-style: dotted; }
184
+ .limr-highlight-wavy { text-decoration-style: wavy; }
185
+ [data-limr-ignore] { user-select: none; -webkit-user-select: none; }
186
+ .limr-mark-wrap { display: inline; position: relative; font-size: inherit; line-height: inherit; white-space: nowrap; }
187
+ /* Like closing punctuation, a marker stays with the preceding character.
188
+ Generated content keeps the joiner out of source mapping and copied text. */
189
+ .limr-mark-wrap::before { content: '\2060'; }
190
+ .limr-corner-marks .limr-mark-wrap::before { content: none; }
191
+ .limr-mark { display: inline-grid; place-items: center; vertical-align: .18em; inline-size: var(--limr-mark-size, .92em); block-size: var(--limr-mark-size, .92em); min-inline-size: 0; min-block-size: 0; border: 0; border-radius: .22em; padding: 0; margin-inline: .12em; font: 400 var(--limr-font-size, 1rem)/1 sans-serif; background: color-mix(in srgb, var(--limr-mark-color, #6366f1) 12%, transparent); color: var(--limr-mark-color, #6366f1); position: relative; transition: background-color var(--limr-motion-fast) var(--limr-ease); }
192
+ /* The slot owns sizing, baseline and hit testing, even for a plugin icon with
193
+ large intrinsic/inline dimensions. It cannot change the button's layout. */
194
+ .limr-mark-icon { display: flex; align-items: center; justify-content: center; inline-size: 75%; block-size: 75%; min-width: 0; min-height: 0; contain: size layout paint; overflow: clip; pointer-events: none; font-size: .6em; line-height: 1; transition: transform var(--limr-motion-fast) var(--limr-ease-spring); }
195
+ .limr-action-mark { border-radius: .25em; }
196
+ .limr-action-mark:disabled { opacity: .65; }
197
+ .limr-translations { margin-block: 1em; overflow-anchor: none; }
198
+ .limr-translation-panel { --limr-motion: 480ms; --limr-motion-fast: 300ms; }
199
+ .limr-translation-panel > .limr-collapse-inner { min-width: 0; }
200
+ .limr-translation-text { display: flow-root; padding-block: .05px; transition: padding-block-start var(--limr-motion) var(--limr-ease); }
201
+ .limr-translation-text > :first-child { margin-block-start: 0; }
202
+ .limr-translation-text > :last-child { margin-block-end: 0; }
203
+ .limr-translations[data-mode='both'] [data-language='origin'] { padding-block-start: .8em; }
204
+ .limr-mark-icon :where(*) { max-inline-size: 100%; max-block-size: 100%; min-inline-size: 0; min-block-size: 0; box-sizing: border-box; }
205
+ .limr-mark-icon > :where(svg,img) { display: block; width: 100%; height: 100%; flex: none; object-fit: contain; }
206
+ .limr-mark-icon :where(div,span,i,b,strong,em) { display: inline-flex; align-items: center; justify-content: center; font-size: inherit !important; line-height: 1 !important; }
207
+ .limr-mark:hover,.limr-mark[data-active] { background: color-mix(in srgb, var(--limr-mark-color, #6366f1) 23%, transparent); }
208
+ .limr-mark:hover .limr-mark-icon { transform: scale(1.08); }
209
+ .limr-mark:active .limr-mark-icon { transform: scale(.88); }
210
+ .limr-mark-count { position: absolute; font-size: .5em; inset-inline-end: -.4em; inset-block-start: -.4em; padding: .1em; border-radius: 1em; background: var(--limr-background, #fffefa); }
211
+ .limr-definition,.limr-question,.limr-extras,.limr-note { margin: 1.1rem 0; padding: .85rem 1.05rem 1.05rem; border: 0; border-inline-start: 3px solid; border-radius: 0; }
212
+ .limr-definition { border-color: #6b8fb5; background: #6b8fb50f; }
213
+ .limr-definition .limr-math-display { background: var(--limr-definition-math-bg, #6b8fb51c); }
214
+ .limr-question { border-color: #c4956a; background: #c4956a0a; }
215
+ .limr-extras { border-color: #8b9faf; background: #8b9faf0d; }
216
+ .limr-note { border-color: #9c9689; background: #9c968912; }
217
+ .limr-question:has(> .limr-disclosure:last-child) { padding-bottom: 0; }
218
+ .limr-card-label { font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--limr-secondary, #7b7975); margin-block-end: .45rem; }
219
+ .limr-definition-title,.limr-question-title { color: var(--limr-heading, #3d3a36); font-size: 1.05em; font-weight: 600; margin-bottom: .65rem; }
220
+ .limr-block-content > :first-child { margin-block-start: 0; }
221
+ .limr-block-content > :last-child,.limr-extra > :last-child,.limr-extra-link > :last-child,.limr-question-detail > :last-child { margin-block-end: 0; }
222
+ .limr-question-options { border: 0; margin: .7rem 0; padding: 0; min-width: 0; }
223
+ .limr-question-options label { position: relative; display: flex; align-items: baseline; width: fit-content; max-width: 100%; gap: .65rem; padding: .32rem 0; cursor: pointer; color: var(--limr-secondary, #85796c); transition: color var(--limr-motion) var(--limr-ease); }
224
+ .limr-question-options label[data-selected] { color: var(--limr-question-accent, #997045); }
225
+ .limr-question-options label[data-result='correct'] { color: var(--limr-success, #648957); }
226
+ .limr-question-options label[data-result='incorrect'] { color: var(--limr-error, #b45858); }
227
+ .limr-question-options input { position: absolute; z-index: 1; opacity: 0; width: .875em; height: .875em; inset-inline-start: 0; top: calc(.32rem + (1lh - .875em) / 2); margin: 0; }
228
+ .limr-choice-diamond { flex: none; display: block; position: relative; top: .06em; width: .875em; height: .875em; }
229
+ .limr-diamond-outline { stroke: color-mix(in srgb, var(--limr-text, #1a1a1a) 25%, transparent); stroke-width: 1.4; transition: stroke .3s ease, stroke-width .3s ease; }
230
+ .limr-choice-diamond[data-checked] .limr-diamond-outline { stroke: currentColor; stroke-width: 1; }
231
+ .limr-diamond-fill { transform: scale(0); transform-origin: 9px 9px; transition: transform .3s cubic-bezier(.16, 1, .3, 1); }
232
+ .limr-choice-diamond[data-checked] .limr-diamond-fill { transform: scale(1); }
233
+ input:focus-visible + .limr-choice-diamond { outline: 2px solid var(--limr-focus, #8a7865); outline-offset: 3px; }
234
+ .limr-choice-text { min-width: 0; }
235
+ .limr-question-options p { margin: 0; }
236
+ .limr-question-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: .75rem; font-size: .8em; align-items: center; }
237
+ .limr-question-actions > button { display: inline-flex; align-items: center; justify-content: center; line-height: 1.4; min-width: 4.5em; border: 1px solid var(--limr-border, #ded7cf); border-radius: 6px; background: transparent; padding: .3rem .85rem; overflow: hidden; transition: background-color var(--limr-motion-fast) var(--limr-ease), transform var(--limr-motion-fast) var(--limr-ease); }
238
+ .limr-question-actions > button:hover { background: #87837815; }
239
+ .limr-question-actions > button:active { transform: scale(.94); }
240
+ .limr-button-label { display: inline-block; animation: limr-reveal var(--limr-motion) var(--limr-ease) both; }
241
+ .limr-question-result { display: block; line-height: 1.4; padding-block: .3rem; }
242
+ .limr-question-result { position: relative; top: -.075em; }
243
+ .limr-disclosure { margin-top: 1.15rem; border-top: 1px solid var(--limr-border, #eae8e3); }
244
+ .limr-disclosure + .limr-disclosure { margin-top: 0; }
245
+ .limr-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .6rem; list-style: none; cursor: pointer; font-size: .8em; color: var(--limr-secondary, #7b7975); }
246
+ .limr-disclosure > summary::-webkit-details-marker { display: none; }
247
+ .limr-disclosure > summary > svg { width: 1em; height: 1em; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--limr-motion) var(--limr-ease); }
248
+ .limr-disclosure[data-expanded] > summary > svg { transform: rotate(180deg); }
249
+ .limr-question-detail { padding-block: .15rem .6rem; }
250
+ .limr-disclosure:last-child .limr-question-detail { padding-bottom: .85rem; }
251
+ .limr-success { color: #648957; }.limr-error { color: #b45858; }
252
+ .limr-extra + .limr-extra { border-top: 1px solid var(--limr-border, #ebeef2); margin-top: .75rem; padding-top: .75rem; }
253
+ .limr-prose .limr-extra-link { display: block; color: var(--limr-heading, #3d3a36); line-height: 1.4; font-weight: 600; }
254
+ .limr-extra p { margin-block: .125rem 0; font-size: .8125em; line-height: 1.5; font-weight: 400; color: var(--limr-muted, #9b9590); }
255
+ .limr-video { position: relative; width: 100%; min-width: 0; padding: .75rem 1.5rem; margin: 1.5rem 0; border: 0; border-radius: 8px; background: var(--limr-surface, #f8f7f5); }
256
+ .limr-video-frame { position: relative; aspect-ratio: 16 / 9; max-width: var(--limr-video-width, 560px); margin-inline: auto; border-radius: 4px; overflow: hidden; background: #141414; }
257
+ .limr-video iframe,.limr-video video { display: block; width: 100%; height: 100%; position: absolute; inset: 0; border: 0; }
258
+ .limr-video-title { max-width: var(--limr-video-width, 560px); margin: .6rem auto 0; font-size: .85em; text-align: center; color: var(--limr-secondary, #5a5650); }
259
+ .limr-video-error { height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .5rem; padding: 1rem; color: #bbb; overflow-wrap: anywhere; }
260
+ .limr-video-play { display: grid; place-items: center; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 56px; height: 40px; padding: 0; border: 0; border-radius: 10px; background: #ffffff24; color: #fff; transition: background-color var(--limr-motion) var(--limr-ease); }
261
+ .limr-video-play:hover { background: #ffffff48; }
262
+ .limr-video-play svg { width: 26px; height: 26px; }
263
+ .limr-video-copy { position: absolute; top: 8px; right: 8px; opacity: 0; }
264
+ .limr-video:hover .limr-video-copy,.limr-video:focus-within .limr-video-copy { opacity: 1; }
265
+ @media (hover: none) { .limr-video-copy { opacity: 1; } }
266
+ @media (max-width: 600px) { .limr-video { padding: .65rem; } }
267
+ .limr-footnotes { color: var(--limr-secondary, #5a5650); font-size: .85em; }
268
+ .limr-literal { white-space: pre-wrap; }
269
+ .limr-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
270
+ .limr-muted { color: var(--limr-muted, #9b9590); }
271
+
272
+ .limr-reader { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 var(--limr-column-gap, 36px); width: 100%; max-width: var(--limr-reader-width, 1800px); margin-inline: auto; align-items: start; background: var(--limr-background, transparent); }
273
+ .limr-reader[data-fill-height] { min-height: var(--limr-reader-min-height, max(0px, calc(var(--limr-reader-available-height, 0px) - var(--limr-reader-bottom-space, 24px)))); }
274
+ .limr-reader:not([data-toc]):has(> .limr-reader-mobile-toc) { grid-template-rows: auto minmax(0, 1fr); }
275
+ .limr-reader[data-toc] { grid-template-columns: var(--limr-toc-width, clamp(190px, calc(20% - 100px), 280px)) minmax(0, 1fr); }
276
+ .limr-reader[data-sidebar] { grid-template-columns: minmax(0, 1fr) var(--limr-sidebar-width, clamp(270px, calc(50% - 450px), 480px)); }
277
+ .limr-reader[data-toc][data-sidebar] { grid-template-columns: var(--limr-toc-width, clamp(190px, calc(20% - 100px), 280px)) minmax(0, 1fr) var(--limr-sidebar-width, clamp(270px, calc(50% - 450px), 480px)); }
278
+ .limr-reader-content { width: 100%; min-width: 0; max-width: var(--limr-content-width, 900px); justify-self: center; }
279
+ .limr-reader[data-sidebar] .limr-reader-content { align-self: stretch; overflow: clip; overflow-anchor: none; }
280
+ .limr-reader[data-sidebar] .limr-reader-content > .limr-prose { display: flow-root; }
281
+ /* Only the zero-height rail participates in sticky's containing-block limit.
282
+ Its independently sized list stays pinned when the article/footer ends. */
283
+ .limr-reader-toc { display: none; position: sticky; top: var(--limr-sticky-top, 24px); height: 0; max-height: max(0px, calc(var(--limr-toc-available-height, 100dvh - var(--limr-sticky-top, 24px)) - 24px)); min-width: 0; }
284
+ .limr-reader[data-toc] .limr-reader-toc { display: block; }
285
+ .limr-reader-toc[inert] { visibility: hidden; }
286
+ .limr-reader-mobile-toc { --limr-motion: 520ms; --limr-motion-fast: 360ms; grid-column: 1 / -1; font-size: .875rem; border-bottom: 1px solid var(--limr-border, #e5e2dc); margin-bottom: 1rem; }
287
+ .limr-mobile-toc-toggle { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; padding: .65rem .5rem; margin: 0 0 .35rem; border: 0; border-radius: 8px; background: transparent; color: var(--limr-muted, #9b9590); text-align: start; letter-spacing: .1em; transition: color var(--limr-motion-fast) var(--limr-ease), background-color var(--limr-motion-fast) var(--limr-ease); }
288
+ .limr-mobile-toc-toggle:hover,.limr-mobile-toc-toggle:focus-visible { color: var(--limr-heading, #3d3a36); background: color-mix(in srgb, var(--limr-secondary, #7b756e) 8%, transparent); }
289
+ .limr-mobile-toc-toggle svg { flex: none; width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--limr-motion) var(--limr-ease); }
290
+ .limr-mobile-toc-toggle[aria-expanded='true'] svg { transform: rotate(180deg); }
291
+ .limr-reader-mobile-toc .limr-collapse-inner > * { transition-delay: 0ms; }
292
+ .limr-reader-mobile-toc .limr-toc-title { display: none; }
293
+ .limr-reader[data-toc] .limr-reader-mobile-toc { display: none; }
294
+ .limr-toc { display: flex; flex-direction: column; min-height: 0; max-height: inherit; width: 100%; }
295
+ .limr-toc-title { flex: none; font-size: .75rem; font-weight: 600; letter-spacing: .1em; color: var(--limr-muted, #9b9590); padding: .4rem 0 1rem; }
296
+ .limr-toc-scroll { min-height: 0; overflow-y: auto; overflow-x: hidden; scrollbar-width: none; overscroll-behavior: contain; }
297
+ .limr-toc-scroll::-webkit-scrollbar { display: none; }
298
+ .limr-toc ol { list-style: none; margin: 0; padding: 0; }
299
+ .limr-toc li { margin: 0 0 2px; padding: 0; }
300
+ .limr-toc a { display: block; padding: 5px 8px 5px 12px; font-size: .8125rem; line-height: 1.5; border-inline-start: 2px solid transparent; color: var(--limr-muted, #9b9590); text-decoration: none; white-space: normal; overflow-wrap: anywhere; }
301
+ .limr-toc a[aria-current] { color: var(--limr-heading, #3d3a36); border-inline-start-color: var(--limr-accent, #8a7865); font-weight: 600; }
302
+ .limr-reader-mobile-toc .limr-toc { max-height: 50dvh; padding-bottom: 1rem; }
303
+
304
+ .limr-sidebar { position: relative; min-width: 0; width: 100%; align-self: start; font-size: .8125rem; }
305
+ /* The document/grid row supplies the rail height. Card motion cannot change
306
+ page overflow, scroll anchoring or the rail's own origin. overflow: clip
307
+ also prevents wheel, touch and focus from independently scrolling it. */
308
+ .limr-sidebar[data-sync='document'] { align-self: stretch; min-height: 0; contain: size layout; overflow: clip; overflow-anchor: none; }
309
+ :is(.limr-sidebar,.limr-reader-content,.limr-toc-scroll) { --limr-fade-top: 0px; --limr-fade-bottom: 0px; }
310
+ :is(.limr-sidebar,.limr-reader-content,.limr-toc-scroll)[data-overflow-top] { --limr-fade-top: var(--limr-overflow-fade-size, 24px); }
311
+ :is(.limr-sidebar,.limr-reader-content,.limr-toc-scroll)[data-overflow-bottom] { --limr-fade-bottom: var(--limr-overflow-fade-size, 24px); }
312
+ /* Keep a viewport-sized gradient image stable while scrolling; only move its
313
+ position instead of rebuilding gradient stops across the entire document. */
314
+ :is(.limr-sidebar,.limr-reader-content,.limr-toc-scroll):is([data-overflow-top],[data-overflow-bottom]) {
315
+ mask-image: linear-gradient(to bottom, transparent, #000 var(--limr-fade-top), #000 calc(100% - var(--limr-fade-bottom)), transparent);
316
+ mask-size: 100% calc(var(--limr-fade-end, 100%) - var(--limr-fade-start, 0px));
317
+ mask-position: 0 var(--limr-fade-start, 0px); mask-repeat: no-repeat;
318
+ }
319
+ .limr-sidebar-card { color: var(--limr-annotation-text, var(--limr-text, #1a1a1a)); min-width: 0; transition: top var(--limr-motion-slow) var(--limr-ease), border-color var(--limr-motion) var(--limr-ease), background-color var(--limr-motion) var(--limr-ease); }
320
+ .limr-sidebar-card:not([data-default-card]),.limr-sidebar-card-body { border-inline-start: 2px solid var(--limr-annotation-border, var(--limr-annotation-color, var(--limr-border-strong, #d5d0c8))); background: var(--limr-background, #fffefa); padding: var(--limr-sidebar-padding-block, .65rem) var(--limr-sidebar-padding-inline, 10px) calc(var(--limr-sidebar-padding-block, .65rem) + 2px); }
321
+ .limr-sidebar-card[data-locked] { z-index: 1; transition-property: border-color, background-color; }
322
+ .limr-sidebar:is([data-resizing],[data-releasing]) > .limr-sidebar-card { transition-property: border-color, background-color; }
323
+ .limr-sidebar-card[data-default-card] { display: flex; flex-direction: column; }
324
+ .limr-sidebar-card[data-default-card] { max-height: var(--limr-sidebar-card-height, none); }
325
+ .limr-sidebar-card-body { display: flex; flex-direction: column; min-height: 0; transition: border-color var(--limr-motion) var(--limr-ease), background-color var(--limr-motion) var(--limr-ease); }
326
+ .limr-sidebar-card-body > .limr-collapse { min-height: 0; }
327
+ /* Preview and details trade height; fading both can leave a blank card when
328
+ toggles reverse before the delayed content entrance has completed. */
329
+ .limr-sidebar-card-body > .limr-collapse > .limr-collapse-inner > * { opacity: 1; transform: none; transition: none; }
330
+ .limr-sidebar-card[data-active]:not([data-default-card]),.limr-sidebar-card[data-active] > .limr-sidebar-card-body { border-color: var(--limr-annotation-color, var(--limr-accent, #8a7865)); background: color-mix(in srgb, var(--limr-annotation-color, var(--limr-accent, #8a7865)) 6%, var(--limr-background, #fffefa)); }
331
+ .limr-sidebar-card[data-default-card]:not([data-expanded]),.limr-sidebar-card[data-default-card][data-content-toggle] { cursor: pointer; }
332
+ .limr-sidebar-card-heading { display: flex; flex: none; justify-content: space-between; gap: .5rem; border: 0; padding: 0; background: transparent; color: var(--limr-annotation-title, var(--limr-annotation-color, var(--limr-heading, #3d3a36))); width: 100%; text-align: start; font-weight: 600 !important; }
333
+ .limr-sidebar-toggle { flex: none; font-size: .85em; font-weight: 400; color: var(--limr-secondary, #7b756e); padding: 0; transition: color var(--limr-motion-fast) var(--limr-ease); }
334
+ .limr-sidebar-toggle:hover,.limr-sidebar-card-heading:focus-visible .limr-sidebar-toggle { color: var(--limr-heading, #3d3a36); }
335
+ .limr-sidebar-card-heading .limr-underline { background-size: 0% 1px; }
336
+ .limr-sidebar-toggle:hover .limr-underline,.limr-sidebar-card-heading:focus-visible .limr-underline,.limr-overlay-header button:hover .limr-underline { background-size: 100% 1px; }
337
+ .limr-sidebar-reference { flex: none; min-width: 0; margin-block-end: var(--limr-sidebar-reference-gap, 1px); padding: 5px var(--limr-sidebar-padding-inline, 10px); border-inline-start: 2px solid var(--limr-border-strong, #d5d0c8); background: color-mix(in srgb, var(--limr-muted, #9b9590) 10%, var(--limr-background, #fffefa)); }
338
+ .limr-sidebar-excerpt { margin: 0; color: var(--limr-annotation-excerpt, var(--limr-secondary, #7b756e)); font-size: .9em; line-height: 1.5; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
339
+ .limr-sidebar-preview:not(:empty) { margin-block-start: .5rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--limr-sidebar-preview-lines, 2); line-clamp: var(--limr-sidebar-preview-lines, 2); overflow: hidden; overflow-wrap: anywhere; font-size: .95em; line-height: 1.6; color: var(--limr-annotation-preview, var(--limr-secondary, #7b756e)); }
340
+ .limr-sidebar-preview > :first-child { margin-block-start: 0; }
341
+ .limr-sidebar-preview > :last-child { margin-block-end: 0; }
342
+ .limr-sidebar-card-content { max-height: min(600px, 65dvh, 100%); overflow: auto; overscroll-behavior: contain; scrollbar-width: none; padding-top: .75rem; }
343
+ .limr-sidebar-card-content::-webkit-scrollbar { display: none; }
344
+ .limr-sidebar-card-content .limr-annotation-markdown { color: inherit; }
345
+ .limr-sidebar-card[data-citations] { --limr-citation-gap: .6rem; --limr-sidebar-padding-block: var(--limr-citation-gap); --limr-citation-bottom-trim: 3px; }
346
+ .limr-sidebar-card[data-citations]:has(.limr-annotation-entry:only-child) { --limr-citation-bottom-trim: 5px; }
347
+ .limr-sidebar-card[data-citations][data-expanded] > .limr-sidebar-card-body { padding-bottom: calc(var(--limr-citation-gap) - var(--limr-citation-bottom-trim)); }
348
+ .limr-sidebar-card[data-citations][data-expanded]:has(.limr-annotation-entry:last-child .limr-annotation-markdown) > .limr-sidebar-card-body { padding-bottom: calc(1rem + var(--limr-citation-gap) - var(--limr-citation-bottom-trim)); }
349
+ .limr-sidebar-card[data-citations] .limr-sidebar-card-heading { line-height: 1.5; }
350
+ .limr-sidebar-card[data-citations] .limr-sidebar-card-content { padding-block: calc(1rem - 2px) 0; }
351
+ .limr-sidebar-card[data-citations] .limr-annotation-entry + .limr-annotation-entry { margin-top: calc(var(--limr-citation-gap) - 2px); padding-top: calc(var(--limr-citation-gap) + 2px); }
352
+ .limr-sidebar-card[data-citations] .limr-annotation-entry:has(.limr-annotation-markdown) + .limr-annotation-entry { margin-top: calc(1rem - 2px); }
353
+ .limr-annotation-entry + .limr-annotation-entry { border-top: 1px solid var(--limr-border, #e5e2dc); margin-top: 1rem; padding-top: 1rem; }
354
+ .limr-annotation-markdown { font-size: inherit; line-height: 1.7; }
355
+ .limr-annotation-entry > :first-child { margin-block-start: 0; }
356
+ /* Custom renderers can wrap the paragraph in a source-binding block. Clear
357
+ the actual last content node, whether wrapped or beside a paint layer. */
358
+ .limr-annotation-markdown > :last-child,.limr-annotation-markdown > :has(+ .limr-paint-layer),
359
+ .limr-annotation-markdown > [data-limr-block]:is(:last-child,:has(+ .limr-paint-layer)) > :last-child,
360
+ .limr-annotation-entry > :last-child { margin-block-end: 0; }
361
+ .limr-annotation-markdown h1,.limr-annotation-markdown h2 { font-size: 1.1em; }
362
+ .limr-citation-content { line-height: 1.5; }
363
+ .limr-citation-content[data-linked] { cursor: pointer; }
364
+ .limr-citation-title { display: block; }
365
+ .limr-citation-content:hover .limr-underline,.limr-citation-content:focus-within .limr-underline { background-size: 100% 1px; }
366
+ .limr-citation-content a { color: var(--limr-heading, #3d3a36); text-decoration: none; overflow-wrap: anywhere; }
367
+ .limr-citation-content .limr-annotation-markdown { margin-top: .15rem; font-size: .875em; line-height: 1.6; color: var(--limr-secondary, #7b756e); }
368
+ .limr-overlay-positioner { display: flex; flex-direction: column; min-height: 0; z-index: var(--limr-overlay-z, 1000); }
369
+ .limr-overlay-positioner:focus { outline: none; }
370
+ .limr-annotation-overlay { position: relative; min-height: 0; flex: 1 1 auto; width: 100%; transform-origin: top left; display: flex; flex-direction: column; z-index: var(--limr-overlay-z, 1000); border: 0; border-radius: 8px; font-size: .875rem; }
371
+ .limr-overlay-surface { position: absolute; inset: 0; pointer-events: none; transform-origin: top left; border-radius: inherit; background: var(--limr-background, #fffefa); box-shadow: 0 8px 36px var(--limr-shadow, #40392d1f); }
372
+ .limr-overlay-card { position: relative; display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; border-radius: inherit; overflow: hidden; }
373
+ .limr-overlay-header { display: flex; justify-content: space-between; align-items: center; height: 2.6rem; padding: .4rem .9rem; flex: none; color: var(--limr-secondary, #5a5650); font-size: .8rem; }
374
+ .limr-overlay-header > span { color: var(--limr-annotation-color, inherit); }
375
+ .limr-overlay-header button { border: 0; background: transparent; padding: .25rem .4rem; }
376
+ .limr-overlay-header .limr-overlay-close { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; padding: 0; border-radius: 6px; transition: background-color var(--limr-motion-fast) var(--limr-ease), color var(--limr-motion-fast) var(--limr-ease); }
377
+ .limr-overlay-close:hover { background: #87837822; }
378
+ .limr-overlay-close:active { background: #87837840; }
379
+ .limr-annotation-overlay[data-type='citation'] .limr-overlay-content { padding: .25rem .9rem calc(.65rem - 2px); }
380
+ .limr-annotation-overlay[data-type='citation'] .limr-overlay-content:has(.limr-annotation-entry:last-child .limr-annotation-markdown) { padding-bottom: calc(1rem + .65rem - 2px); }
381
+ .limr-annotation-overlay[data-type='citation'] .limr-annotation-entry + .limr-annotation-entry { margin-top: calc(1rem - 3px); padding-top: calc(1rem - 3px); }
382
+ .limr-overlay-scroll { position: relative; display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
383
+ .limr-overlay-content { min-height: 0; overflow-y: auto; padding: 1rem; overscroll-behavior: contain; scrollbar-width: none; }
384
+ .limr-overlay-content::-webkit-scrollbar { display: none; }
385
+ .limr-overlay-scrollbar { position: absolute; inset-block: 6px; inset-inline-end: 2px; width: 9px; opacity: 0; pointer-events: none; touch-action: none; transition: opacity var(--limr-motion-fast) var(--limr-ease); }
386
+ .limr-overlay-scroll-thumb { width: 3px; margin-inline: auto; border-radius: 3px; background: color-mix(in srgb, var(--limr-secondary, #7b7975) 55%, transparent); }
387
+ .limr-overlay-scroll[data-overflow][data-scrolling] > .limr-overlay-scrollbar,
388
+ .limr-toolbar-panel .limr-overlay-scroll[data-overflow]:is(:hover,:focus-within) > .limr-overlay-scrollbar { opacity: 1; pointer-events: auto; }
389
+ .limr-annotation-overlay[data-motion] .limr-overlay-scrollbar { opacity: 0; pointer-events: none; transition: none; }
390
+ .limr-overlay-controls { display: flex; align-items: center; gap: .25rem; }
391
+ .limr-backdrop { z-index: var(--limr-overlay-z, 1000); background: transparent; transition: background-color var(--limr-motion, 360ms) var(--limr-ease, cubic-bezier(.16,1,.3,1)); }
392
+ .limr-backdrop[data-expanded] { background: #17141133; }
393
+ .limr-annotation-overlay .limr-annotation-entry + .limr-annotation-entry { border: 0; }
394
+ .limr-selection-toolbar { z-index: var(--limr-toolbar-z, 1010); max-width: calc(100vw - 20px); font-size: var(--limr-toolbar-font-size, .75rem); --limr-tool-offset: 6px; }
395
+ .limr-selection-toolbar[data-placement^='bottom'] { --limr-tool-offset: -6px; }
396
+ .limr-toolbar-surface { display: flex; flex-direction: column; max-width: inherit; padding: 5px; background: var(--limr-toolbar-background, var(--limr-background, #fffefa)); border: 1px solid var(--limr-toolbar-border, var(--limr-border, #e5e2dc)); border-radius: var(--limr-toolbar-radius, 6px); box-shadow: var(--limr-toolbar-shadow, 0 4px 24px var(--limr-shadow, #40392d1f)); }
397
+ .limr-toolbar-surface[data-ready] { animation: limr-tool-float 360ms cubic-bezier(.16,1,.3,1) both, limr-tool-fade 240ms cubic-bezier(.22,.7,.3,1) 45ms both; }
398
+ .limr-toolbar-actions { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 2px; }
399
+ .limr-toolbar-item { display: flex; align-items: center; border-radius: 3px; transition: color 240ms var(--limr-ease); }
400
+ [data-ready] .limr-toolbar-item { animation: limr-tool-float 330ms cubic-bezier(.16,1,.3,1) calc(30ms + var(--limr-tool-index) * 22ms) both, limr-tool-fade 210ms cubic-bezier(.22,.7,.3,1) calc(65ms + var(--limr-tool-index) * 22ms) both; }
401
+ .limr-toolbar-action { display: inline-grid; place-items: center; flex: none; min-height: 34px; padding: 5px 7px; border: 0; border-radius: 3px; background: transparent; white-space: nowrap; line-height: 1.5; }
402
+ .limr-tool-face { display: flex; align-items: center; justify-self: start; grid-area: 1 / 1; gap: 5px; width: 0; min-width: 0; line-height: 1.5; opacity: 0; pointer-events: none; transition: opacity 240ms var(--limr-ease); }
403
+ .limr-tool-face[data-visible] { width: auto; opacity: 1; }
404
+ .limr-tool-label { display: block; flex: none; padding-block-end: 1px; }
405
+ .limr-tool-face > .limr-tool-icon { animation: limr-tool-fade 240ms var(--limr-ease) both; }
406
+ .limr-toolbar-item[data-status='success'] { color: var(--limr-success, #52885e); }
407
+ .limr-toolbar-item[data-tone='danger']:hover { color: var(--limr-error, #b45858); }
408
+ .limr-tool-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 var(--limr-tool-icon-size, 18px); width: var(--limr-tool-icon-size, 18px); height: var(--limr-tool-icon-size, 18px); contain: size layout paint; overflow: clip; pointer-events: none; font-size: 16px; line-height: 1; }
409
+ .limr-tool-icon :where(*) { max-inline-size: 100% !important; max-block-size: 100% !important; min-inline-size: 0 !important; min-block-size: 0 !important; }
410
+ .limr-tool-icon :where(svg,img) { display: block; width: 100% !important; height: 100% !important; object-fit: contain; flex: none; }
411
+ .limr-tool-icon :where(div,span,i,b,strong,em) { display: inline-flex; align-items: center; justify-content: center; font-size: inherit !important; line-height: 1 !important; }
412
+ /* Only the actions determine toolbar width. Panel contents cannot enlarge it. */
413
+ .limr-toolbar-panel { display: flex; contain: inline-size; min-width: 0; min-height: 0; align-self: stretch; max-height: var(--limr-toolbar-panel-height, 260px); overflow: hidden; text-align: start; margin-top: 4px; border-top: 1px solid var(--limr-toolbar-border, var(--limr-border, #e5e2dc)); animation: limr-tool-float 300ms cubic-bezier(.16,1,.3,1) both, limr-tool-fade 220ms ease 35ms both; }
414
+ .limr-toolbar-panel .limr-overlay-content { padding: 10px 9px 4px; scroll-padding-block: 8px; }
415
+ .limr-toolbar-panel .limr-overlay-scroll { width: 100%; min-width: 0; }
416
+ .limr-toolbar-panel .limr-overlay-scroll-inner { width: 100%; min-width: 0; overflow-wrap: anywhere; }
417
+ .limr-toolbar-panel :where(input,textarea,select,img) { max-width: 100%; }
418
+ [data-placement^='top'] .limr-toolbar-panel { order: -1; border-top: 0; border-bottom: 1px solid var(--limr-toolbar-border, var(--limr-border, #e5e2dc)); margin-top: 0; margin-bottom: 4px; }
419
+ .limr-toolbar-swatch { position: relative; width: 24px; height: 24px; margin: 3px 12px 3px 5px; padding: 0; border: 1px solid color-mix(in srgb, var(--swatch) 60%, transparent); border-radius: var(--limr-toolbar-swatch-radius, 4px); background: color-mix(in srgb, var(--swatch) 30%, transparent); transition: scale 240ms var(--limr-ease); --limr-highlight: var(--swatch); }
420
+ .limr-toolbar-swatch:hover { scale: 1.07; }
421
+ .limr-toolbar-swatch::after { content: ''; position: absolute; right: -9px; top: 1px; height: 20px; border-right: 1px solid var(--limr-border, #e5e2dc); }
422
+ .limr-toolbar-delete-warning { width: 0; min-width: 100%; }
423
+ .limr-toolbar-delete-warning[aria-hidden='true'] { visibility: hidden; }
424
+ [data-placement^='top'] .limr-toolbar-delete-warning { order: -1; }
425
+ .limr-toolbar-delete-hint { margin: 4px 8px 5px; font-size: 11px; color: var(--limr-error, #b45858); }
426
+ .limr-highlight-settings fieldset { border: 0; padding: 0; margin: 0 0 12px; min-width: 0; }
427
+ .limr-highlight-settings legend { margin-bottom: 7px; padding: 0; color: var(--limr-secondary, #7b756e); font-size: 11px; }
428
+ .limr-highlight-colors { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 9px; }
429
+ .limr-color-swatch { display: grid; place-items: center; width: 26px; height: 26px; flex: none; padding: 5px; background: color-mix(in srgb, var(--swatch) 30%, transparent); border: 1px solid color-mix(in srgb, var(--swatch) 50%, transparent); border-radius: 4px; outline: 2px solid transparent; outline-offset: 0; transition: outline-color 180ms var(--limr-ease), scale 220ms var(--limr-ease); }
430
+ .limr-color-swatch:hover { scale: 1.08; }
431
+ .limr-color-swatch[aria-pressed='true'] { outline-color: var(--swatch); }
432
+ .limr-color-swatch svg { width: 15px; height: 15px; color: var(--limr-text, #3d3a36); opacity: 0; }
433
+ .limr-color-swatch[aria-pressed='true'] svg { opacity: 1; }
434
+ .limr-highlight-styles { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; gap: 5px; }
435
+ .limr-highlight-styles button { display: flex; flex: 0 0 auto; min-width: 48px; flex-direction: column; align-items: center; gap: 4px; padding: 6px 8px; border: 1px solid transparent; border-radius: 4px; background: transparent; font-size: 11px; white-space: nowrap; }
436
+ .limr-highlight-style-label { text-align: center; }
437
+ .limr-highlight-styles button svg { width: 21px; height: 21px; }
438
+ .limr-highlight-styles [aria-pressed='true'] { color: var(--limr-toolbar-accent, var(--limr-accent, #8a7865)); border-color: currentColor; }
439
+ .limr-action-error { display: block; max-width: 300px; padding: .5rem; color: #b45858; }
440
+ @keyframes limr-tool-float { from { transform: translateY(var(--limr-tool-offset)); } to { transform: translateY(0); } }
441
+ @keyframes limr-tool-fade { from { opacity: 0; } to { opacity: 1; } }
442
+ @media (prefers-reduced-motion: reduce) { [data-limr-appearance] *, [data-limr-appearance] *::before, [data-limr-appearance] *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; transition-delay: 0ms !important; scroll-behavior: auto !important; } }
443
+ @media print {
444
+ .limr-paint-layer,.limr-highlight-layer { display: none; }
445
+ .limr-prose[data-limr-painted] .limr-highlight-background,.limr-prose[data-limr-painted] .limr-atomic-highlight { background: var(--limr-highlight); }
446
+ .limr-prose[data-limr-painted] .limr-highlight-underline,.limr-prose[data-limr-painted] .limr-highlight-dotted,.limr-prose[data-limr-painted] .limr-highlight-wavy { text-decoration-line: underline; }
447
+ .limr-reader { display: block; min-height: 0 !important; }
448
+ .limr-reader-content { overflow: visible !important; mask-image: none !important; }
449
+ .limr-prose { translate: none !important; }
450
+ .limr-reader-toc,.limr-reader-mobile-toc,.limr-sidebar,.limr-annotation-overlay,.limr-selection-toolbar,.limr-code-header button { display: none !important; }
451
+ .limr-prose [data-limr-block] { content-visibility: visible !important; }
452
+ .limr-prose pre { white-space: pre-wrap; }
453
+ }
454
+ }