wrong-notebook 0.0.0-stage → 2026.10.21

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 (1067) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +81 -0
  3. package/.next/build-manifest.json +24 -0
  4. package/.next/package.json +1 -0
  5. package/.next/prerender-manifest.json +104 -0
  6. package/.next/required-server-files.json +358 -0
  7. package/.next/routes-manifest.json +579 -0
  8. package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  9. package/.next/server/app/_global-error/page/build-manifest.json +20 -0
  10. package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  11. package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  12. package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  13. package/.next/server/app/_global-error/page.js +9 -0
  14. package/.next/server/app/_global-error/page.js.map +5 -0
  15. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  16. package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  17. package/.next/server/app/_global-error.html +1 -0
  18. package/.next/server/app/_global-error.meta +30 -0
  19. package/.next/server/app/_global-error.rsc +15 -0
  20. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +20 -0
  21. package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  22. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  23. package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  24. package/.next/server/app/_not-found/page/build-manifest.json +20 -0
  25. package/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
  26. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  27. package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  28. package/.next/server/app/_not-found/page.js +13 -0
  29. package/.next/server/app/_not-found/page.js.map +5 -0
  30. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  31. package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  32. package/.next/server/app/admin/page/app-paths-manifest.json +3 -0
  33. package/.next/server/app/admin/page/build-manifest.json +20 -0
  34. package/.next/server/app/admin/page/next-font-manifest.json +11 -0
  35. package/.next/server/app/admin/page/react-loadable-manifest.json +1 -0
  36. package/.next/server/app/admin/page/server-reference-manifest.json +4 -0
  37. package/.next/server/app/admin/page.js +14 -0
  38. package/.next/server/app/admin/page.js.map +5 -0
  39. package/.next/server/app/admin/page.js.nft.json +1 -0
  40. package/.next/server/app/admin/page_client-reference-manifest.js +3 -0
  41. package/.next/server/app/admin/user/[id]/page/app-paths-manifest.json +3 -0
  42. package/.next/server/app/admin/user/[id]/page/build-manifest.json +20 -0
  43. package/.next/server/app/admin/user/[id]/page/next-font-manifest.json +11 -0
  44. package/.next/server/app/admin/user/[id]/page/react-loadable-manifest.json +1 -0
  45. package/.next/server/app/admin/user/[id]/page/server-reference-manifest.json +4 -0
  46. package/.next/server/app/admin/user/[id]/page.js +14 -0
  47. package/.next/server/app/admin/user/[id]/page.js.map +5 -0
  48. package/.next/server/app/admin/user/[id]/page.js.nft.json +1 -0
  49. package/.next/server/app/admin/user/[id]/page_client-reference-manifest.js +3 -0
  50. package/.next/server/app/api/admin/dashboard/route/app-paths-manifest.json +3 -0
  51. package/.next/server/app/api/admin/dashboard/route/build-manifest.json +12 -0
  52. package/.next/server/app/api/admin/dashboard/route/server-reference-manifest.json +4 -0
  53. package/.next/server/app/api/admin/dashboard/route.js +10 -0
  54. package/.next/server/app/api/admin/dashboard/route.js.map +5 -0
  55. package/.next/server/app/api/admin/dashboard/route.js.nft.json +1 -0
  56. package/.next/server/app/api/admin/dashboard/route_client-reference-manifest.js +3 -0
  57. package/.next/server/app/api/admin/migrate-tags/route/app-paths-manifest.json +3 -0
  58. package/.next/server/app/api/admin/migrate-tags/route/build-manifest.json +12 -0
  59. package/.next/server/app/api/admin/migrate-tags/route/server-reference-manifest.json +4 -0
  60. package/.next/server/app/api/admin/migrate-tags/route.js +9 -0
  61. package/.next/server/app/api/admin/migrate-tags/route.js.map +5 -0
  62. package/.next/server/app/api/admin/migrate-tags/route.js.nft.json +1 -0
  63. package/.next/server/app/api/admin/migrate-tags/route_client-reference-manifest.js +3 -0
  64. package/.next/server/app/api/admin/system-reset/route/app-paths-manifest.json +3 -0
  65. package/.next/server/app/api/admin/system-reset/route/build-manifest.json +12 -0
  66. package/.next/server/app/api/admin/system-reset/route/server-reference-manifest.json +4 -0
  67. package/.next/server/app/api/admin/system-reset/route.js +8 -0
  68. package/.next/server/app/api/admin/system-reset/route.js.map +5 -0
  69. package/.next/server/app/api/admin/system-reset/route.js.nft.json +1 -0
  70. package/.next/server/app/api/admin/system-reset/route_client-reference-manifest.js +3 -0
  71. package/.next/server/app/api/admin/users/[id]/detail/route/app-paths-manifest.json +3 -0
  72. package/.next/server/app/api/admin/users/[id]/detail/route/build-manifest.json +12 -0
  73. package/.next/server/app/api/admin/users/[id]/detail/route/server-reference-manifest.json +4 -0
  74. package/.next/server/app/api/admin/users/[id]/detail/route.js +9 -0
  75. package/.next/server/app/api/admin/users/[id]/detail/route.js.map +5 -0
  76. package/.next/server/app/api/admin/users/[id]/detail/route.js.nft.json +1 -0
  77. package/.next/server/app/api/admin/users/[id]/detail/route_client-reference-manifest.js +3 -0
  78. package/.next/server/app/api/admin/users/[id]/route/app-paths-manifest.json +3 -0
  79. package/.next/server/app/api/admin/users/[id]/route/build-manifest.json +12 -0
  80. package/.next/server/app/api/admin/users/[id]/route/server-reference-manifest.json +4 -0
  81. package/.next/server/app/api/admin/users/[id]/route.js +8 -0
  82. package/.next/server/app/api/admin/users/[id]/route.js.map +5 -0
  83. package/.next/server/app/api/admin/users/[id]/route.js.nft.json +1 -0
  84. package/.next/server/app/api/admin/users/[id]/route_client-reference-manifest.js +3 -0
  85. package/.next/server/app/api/admin/users/route/app-paths-manifest.json +3 -0
  86. package/.next/server/app/api/admin/users/route/build-manifest.json +12 -0
  87. package/.next/server/app/api/admin/users/route/server-reference-manifest.json +4 -0
  88. package/.next/server/app/api/admin/users/route.js +8 -0
  89. package/.next/server/app/api/admin/users/route.js.map +5 -0
  90. package/.next/server/app/api/admin/users/route.js.nft.json +1 -0
  91. package/.next/server/app/api/admin/users/route_client-reference-manifest.js +3 -0
  92. package/.next/server/app/api/ai/models/route/app-paths-manifest.json +3 -0
  93. package/.next/server/app/api/ai/models/route/build-manifest.json +12 -0
  94. package/.next/server/app/api/ai/models/route/server-reference-manifest.json +4 -0
  95. package/.next/server/app/api/ai/models/route.js +14 -0
  96. package/.next/server/app/api/ai/models/route.js.map +5 -0
  97. package/.next/server/app/api/ai/models/route.js.nft.json +1 -0
  98. package/.next/server/app/api/ai/models/route_client-reference-manifest.js +3 -0
  99. package/.next/server/app/api/ai/test/route/app-paths-manifest.json +3 -0
  100. package/.next/server/app/api/ai/test/route/build-manifest.json +12 -0
  101. package/.next/server/app/api/ai/test/route/server-reference-manifest.json +4 -0
  102. package/.next/server/app/api/ai/test/route.js +15 -0
  103. package/.next/server/app/api/ai/test/route.js.map +5 -0
  104. package/.next/server/app/api/ai/test/route.js.nft.json +1 -0
  105. package/.next/server/app/api/ai/test/route_client-reference-manifest.js +3 -0
  106. package/.next/server/app/api/analytics/route/app-paths-manifest.json +3 -0
  107. package/.next/server/app/api/analytics/route/build-manifest.json +12 -0
  108. package/.next/server/app/api/analytics/route/server-reference-manifest.json +4 -0
  109. package/.next/server/app/api/analytics/route.js +9 -0
  110. package/.next/server/app/api/analytics/route.js.map +5 -0
  111. package/.next/server/app/api/analytics/route.js.nft.json +1 -0
  112. package/.next/server/app/api/analytics/route_client-reference-manifest.js +3 -0
  113. package/.next/server/app/api/analyze/route/app-paths-manifest.json +3 -0
  114. package/.next/server/app/api/analyze/route/build-manifest.json +12 -0
  115. package/.next/server/app/api/analyze/route/server-reference-manifest.json +4 -0
  116. package/.next/server/app/api/analyze/route.js +16 -0
  117. package/.next/server/app/api/analyze/route.js.map +5 -0
  118. package/.next/server/app/api/analyze/route.js.nft.json +1 -0
  119. package/.next/server/app/api/analyze/route_client-reference-manifest.js +3 -0
  120. package/.next/server/app/api/auth/[...nextauth]/route/app-paths-manifest.json +3 -0
  121. package/.next/server/app/api/auth/[...nextauth]/route/build-manifest.json +12 -0
  122. package/.next/server/app/api/auth/[...nextauth]/route/server-reference-manifest.json +4 -0
  123. package/.next/server/app/api/auth/[...nextauth]/route.js +7 -0
  124. package/.next/server/app/api/auth/[...nextauth]/route.js.map +5 -0
  125. package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -0
  126. package/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +3 -0
  127. package/.next/server/app/api/error-items/[id]/delete/route/app-paths-manifest.json +3 -0
  128. package/.next/server/app/api/error-items/[id]/delete/route/build-manifest.json +12 -0
  129. package/.next/server/app/api/error-items/[id]/delete/route/server-reference-manifest.json +4 -0
  130. package/.next/server/app/api/error-items/[id]/delete/route.js +8 -0
  131. package/.next/server/app/api/error-items/[id]/delete/route.js.map +5 -0
  132. package/.next/server/app/api/error-items/[id]/delete/route.js.nft.json +1 -0
  133. package/.next/server/app/api/error-items/[id]/delete/route_client-reference-manifest.js +3 -0
  134. package/.next/server/app/api/error-items/[id]/figure/route/app-paths-manifest.json +3 -0
  135. package/.next/server/app/api/error-items/[id]/figure/route/build-manifest.json +12 -0
  136. package/.next/server/app/api/error-items/[id]/figure/route/server-reference-manifest.json +4 -0
  137. package/.next/server/app/api/error-items/[id]/figure/route.js +15 -0
  138. package/.next/server/app/api/error-items/[id]/figure/route.js.map +5 -0
  139. package/.next/server/app/api/error-items/[id]/figure/route.js.nft.json +1 -0
  140. package/.next/server/app/api/error-items/[id]/figure/route_client-reference-manifest.js +3 -0
  141. package/.next/server/app/api/error-items/[id]/fix-latex/route/app-paths-manifest.json +3 -0
  142. package/.next/server/app/api/error-items/[id]/fix-latex/route/build-manifest.json +12 -0
  143. package/.next/server/app/api/error-items/[id]/fix-latex/route/server-reference-manifest.json +4 -0
  144. package/.next/server/app/api/error-items/[id]/fix-latex/route.js +16 -0
  145. package/.next/server/app/api/error-items/[id]/fix-latex/route.js.map +5 -0
  146. package/.next/server/app/api/error-items/[id]/fix-latex/route.js.nft.json +1 -0
  147. package/.next/server/app/api/error-items/[id]/fix-latex/route_client-reference-manifest.js +3 -0
  148. package/.next/server/app/api/error-items/[id]/geogebra/route/app-paths-manifest.json +3 -0
  149. package/.next/server/app/api/error-items/[id]/geogebra/route/build-manifest.json +12 -0
  150. package/.next/server/app/api/error-items/[id]/geogebra/route/server-reference-manifest.json +4 -0
  151. package/.next/server/app/api/error-items/[id]/geogebra/route.js +15 -0
  152. package/.next/server/app/api/error-items/[id]/geogebra/route.js.map +5 -0
  153. package/.next/server/app/api/error-items/[id]/geogebra/route.js.nft.json +1 -0
  154. package/.next/server/app/api/error-items/[id]/geogebra/route_client-reference-manifest.js +3 -0
  155. package/.next/server/app/api/error-items/[id]/image/route/app-paths-manifest.json +3 -0
  156. package/.next/server/app/api/error-items/[id]/image/route/build-manifest.json +12 -0
  157. package/.next/server/app/api/error-items/[id]/image/route/server-reference-manifest.json +4 -0
  158. package/.next/server/app/api/error-items/[id]/image/route.js +9 -0
  159. package/.next/server/app/api/error-items/[id]/image/route.js.map +5 -0
  160. package/.next/server/app/api/error-items/[id]/image/route.js.nft.json +1 -0
  161. package/.next/server/app/api/error-items/[id]/image/route_client-reference-manifest.js +3 -0
  162. package/.next/server/app/api/error-items/[id]/mastery/route/app-paths-manifest.json +3 -0
  163. package/.next/server/app/api/error-items/[id]/mastery/route/build-manifest.json +12 -0
  164. package/.next/server/app/api/error-items/[id]/mastery/route/server-reference-manifest.json +4 -0
  165. package/.next/server/app/api/error-items/[id]/mastery/route.js +8 -0
  166. package/.next/server/app/api/error-items/[id]/mastery/route.js.map +5 -0
  167. package/.next/server/app/api/error-items/[id]/mastery/route.js.nft.json +1 -0
  168. package/.next/server/app/api/error-items/[id]/mastery/route_client-reference-manifest.js +3 -0
  169. package/.next/server/app/api/error-items/[id]/notes/route/app-paths-manifest.json +3 -0
  170. package/.next/server/app/api/error-items/[id]/notes/route/build-manifest.json +12 -0
  171. package/.next/server/app/api/error-items/[id]/notes/route/server-reference-manifest.json +4 -0
  172. package/.next/server/app/api/error-items/[id]/notes/route.js +8 -0
  173. package/.next/server/app/api/error-items/[id]/notes/route.js.map +5 -0
  174. package/.next/server/app/api/error-items/[id]/notes/route.js.nft.json +1 -0
  175. package/.next/server/app/api/error-items/[id]/notes/route_client-reference-manifest.js +3 -0
  176. package/.next/server/app/api/error-items/[id]/practice-records/route/app-paths-manifest.json +3 -0
  177. package/.next/server/app/api/error-items/[id]/practice-records/route/build-manifest.json +12 -0
  178. package/.next/server/app/api/error-items/[id]/practice-records/route/server-reference-manifest.json +4 -0
  179. package/.next/server/app/api/error-items/[id]/practice-records/route.js +8 -0
  180. package/.next/server/app/api/error-items/[id]/practice-records/route.js.map +5 -0
  181. package/.next/server/app/api/error-items/[id]/practice-records/route.js.nft.json +1 -0
  182. package/.next/server/app/api/error-items/[id]/practice-records/route_client-reference-manifest.js +3 -0
  183. package/.next/server/app/api/error-items/[id]/reanswer/route/app-paths-manifest.json +3 -0
  184. package/.next/server/app/api/error-items/[id]/reanswer/route/build-manifest.json +12 -0
  185. package/.next/server/app/api/error-items/[id]/reanswer/route/server-reference-manifest.json +4 -0
  186. package/.next/server/app/api/error-items/[id]/reanswer/route.js +15 -0
  187. package/.next/server/app/api/error-items/[id]/reanswer/route.js.map +5 -0
  188. package/.next/server/app/api/error-items/[id]/reanswer/route.js.nft.json +1 -0
  189. package/.next/server/app/api/error-items/[id]/reanswer/route_client-reference-manifest.js +3 -0
  190. package/.next/server/app/api/error-items/[id]/retag/route/app-paths-manifest.json +3 -0
  191. package/.next/server/app/api/error-items/[id]/retag/route/build-manifest.json +12 -0
  192. package/.next/server/app/api/error-items/[id]/retag/route/server-reference-manifest.json +4 -0
  193. package/.next/server/app/api/error-items/[id]/retag/route.js +16 -0
  194. package/.next/server/app/api/error-items/[id]/retag/route.js.map +5 -0
  195. package/.next/server/app/api/error-items/[id]/retag/route.js.nft.json +1 -0
  196. package/.next/server/app/api/error-items/[id]/retag/route_client-reference-manifest.js +3 -0
  197. package/.next/server/app/api/error-items/[id]/route/app-paths-manifest.json +3 -0
  198. package/.next/server/app/api/error-items/[id]/route/build-manifest.json +12 -0
  199. package/.next/server/app/api/error-items/[id]/route/server-reference-manifest.json +4 -0
  200. package/.next/server/app/api/error-items/[id]/route.js +9 -0
  201. package/.next/server/app/api/error-items/[id]/route.js.map +5 -0
  202. package/.next/server/app/api/error-items/[id]/route.js.nft.json +1 -0
  203. package/.next/server/app/api/error-items/[id]/route_client-reference-manifest.js +3 -0
  204. package/.next/server/app/api/error-items/[id]/svg-animation/route/app-paths-manifest.json +3 -0
  205. package/.next/server/app/api/error-items/[id]/svg-animation/route/build-manifest.json +12 -0
  206. package/.next/server/app/api/error-items/[id]/svg-animation/route/server-reference-manifest.json +4 -0
  207. package/.next/server/app/api/error-items/[id]/svg-animation/route.js +16 -0
  208. package/.next/server/app/api/error-items/[id]/svg-animation/route.js.map +5 -0
  209. package/.next/server/app/api/error-items/[id]/svg-animation/route.js.nft.json +1 -0
  210. package/.next/server/app/api/error-items/[id]/svg-animation/route_client-reference-manifest.js +3 -0
  211. package/.next/server/app/api/error-items/batch-delete/route/app-paths-manifest.json +3 -0
  212. package/.next/server/app/api/error-items/batch-delete/route/build-manifest.json +12 -0
  213. package/.next/server/app/api/error-items/batch-delete/route/server-reference-manifest.json +4 -0
  214. package/.next/server/app/api/error-items/batch-delete/route.js +8 -0
  215. package/.next/server/app/api/error-items/batch-delete/route.js.map +5 -0
  216. package/.next/server/app/api/error-items/batch-delete/route.js.nft.json +1 -0
  217. package/.next/server/app/api/error-items/batch-delete/route_client-reference-manifest.js +3 -0
  218. package/.next/server/app/api/error-items/clear/route/app-paths-manifest.json +3 -0
  219. package/.next/server/app/api/error-items/clear/route/build-manifest.json +12 -0
  220. package/.next/server/app/api/error-items/clear/route/server-reference-manifest.json +4 -0
  221. package/.next/server/app/api/error-items/clear/route.js +8 -0
  222. package/.next/server/app/api/error-items/clear/route.js.map +5 -0
  223. package/.next/server/app/api/error-items/clear/route.js.nft.json +1 -0
  224. package/.next/server/app/api/error-items/clear/route_client-reference-manifest.js +3 -0
  225. package/.next/server/app/api/error-items/list/route/app-paths-manifest.json +3 -0
  226. package/.next/server/app/api/error-items/list/route/build-manifest.json +12 -0
  227. package/.next/server/app/api/error-items/list/route/server-reference-manifest.json +4 -0
  228. package/.next/server/app/api/error-items/list/route.js +10 -0
  229. package/.next/server/app/api/error-items/list/route.js.map +5 -0
  230. package/.next/server/app/api/error-items/list/route.js.nft.json +1 -0
  231. package/.next/server/app/api/error-items/list/route_client-reference-manifest.js +3 -0
  232. package/.next/server/app/api/error-items/route/app-paths-manifest.json +3 -0
  233. package/.next/server/app/api/error-items/route/build-manifest.json +12 -0
  234. package/.next/server/app/api/error-items/route/server-reference-manifest.json +4 -0
  235. package/.next/server/app/api/error-items/route.js +17 -0
  236. package/.next/server/app/api/error-items/route.js.map +5 -0
  237. package/.next/server/app/api/error-items/route.js.nft.json +1 -0
  238. package/.next/server/app/api/error-items/route_client-reference-manifest.js +3 -0
  239. package/.next/server/app/api/error-items/short/[shortId]/route/app-paths-manifest.json +3 -0
  240. package/.next/server/app/api/error-items/short/[shortId]/route/build-manifest.json +12 -0
  241. package/.next/server/app/api/error-items/short/[shortId]/route/server-reference-manifest.json +4 -0
  242. package/.next/server/app/api/error-items/short/[shortId]/route.js +8 -0
  243. package/.next/server/app/api/error-items/short/[shortId]/route.js.map +5 -0
  244. package/.next/server/app/api/error-items/short/[shortId]/route.js.nft.json +1 -0
  245. package/.next/server/app/api/error-items/short/[shortId]/route_client-reference-manifest.js +3 -0
  246. package/.next/server/app/api/error-items/similarity/route/app-paths-manifest.json +3 -0
  247. package/.next/server/app/api/error-items/similarity/route/build-manifest.json +12 -0
  248. package/.next/server/app/api/error-items/similarity/route/server-reference-manifest.json +4 -0
  249. package/.next/server/app/api/error-items/similarity/route.js +9 -0
  250. package/.next/server/app/api/error-items/similarity/route.js.map +5 -0
  251. package/.next/server/app/api/error-items/similarity/route.js.nft.json +1 -0
  252. package/.next/server/app/api/error-items/similarity/route_client-reference-manifest.js +3 -0
  253. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route/app-paths-manifest.json +3 -0
  254. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route/build-manifest.json +12 -0
  255. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route/server-reference-manifest.json +4 -0
  256. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js +16 -0
  257. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js.map +5 -0
  258. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js.nft.json +1 -0
  259. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route_client-reference-manifest.js +3 -0
  260. package/.next/server/app/api/exams/[id]/results/route/app-paths-manifest.json +3 -0
  261. package/.next/server/app/api/exams/[id]/results/route/build-manifest.json +12 -0
  262. package/.next/server/app/api/exams/[id]/results/route/server-reference-manifest.json +4 -0
  263. package/.next/server/app/api/exams/[id]/results/route.js +16 -0
  264. package/.next/server/app/api/exams/[id]/results/route.js.map +5 -0
  265. package/.next/server/app/api/exams/[id]/results/route.js.nft.json +1 -0
  266. package/.next/server/app/api/exams/[id]/results/route_client-reference-manifest.js +3 -0
  267. package/.next/server/app/api/exams/[id]/retry/route/app-paths-manifest.json +3 -0
  268. package/.next/server/app/api/exams/[id]/retry/route/build-manifest.json +12 -0
  269. package/.next/server/app/api/exams/[id]/retry/route/server-reference-manifest.json +4 -0
  270. package/.next/server/app/api/exams/[id]/retry/route.js +16 -0
  271. package/.next/server/app/api/exams/[id]/retry/route.js.map +5 -0
  272. package/.next/server/app/api/exams/[id]/retry/route.js.nft.json +1 -0
  273. package/.next/server/app/api/exams/[id]/retry/route_client-reference-manifest.js +3 -0
  274. package/.next/server/app/api/exams/[id]/route/app-paths-manifest.json +3 -0
  275. package/.next/server/app/api/exams/[id]/route/build-manifest.json +12 -0
  276. package/.next/server/app/api/exams/[id]/route/server-reference-manifest.json +4 -0
  277. package/.next/server/app/api/exams/[id]/route.js +16 -0
  278. package/.next/server/app/api/exams/[id]/route.js.map +5 -0
  279. package/.next/server/app/api/exams/[id]/route.js.nft.json +1 -0
  280. package/.next/server/app/api/exams/[id]/route_client-reference-manifest.js +3 -0
  281. package/.next/server/app/api/exams/route/app-paths-manifest.json +3 -0
  282. package/.next/server/app/api/exams/route/build-manifest.json +12 -0
  283. package/.next/server/app/api/exams/route/server-reference-manifest.json +4 -0
  284. package/.next/server/app/api/exams/route.js +16 -0
  285. package/.next/server/app/api/exams/route.js.map +5 -0
  286. package/.next/server/app/api/exams/route.js.nft.json +1 -0
  287. package/.next/server/app/api/exams/route_client-reference-manifest.js +3 -0
  288. package/.next/server/app/api/export/route/app-paths-manifest.json +3 -0
  289. package/.next/server/app/api/export/route/build-manifest.json +12 -0
  290. package/.next/server/app/api/export/route/server-reference-manifest.json +4 -0
  291. package/.next/server/app/api/export/route.js +10 -0
  292. package/.next/server/app/api/export/route.js.map +5 -0
  293. package/.next/server/app/api/export/route.js.nft.json +1 -0
  294. package/.next/server/app/api/export/route_client-reference-manifest.js +3 -0
  295. package/.next/server/app/api/geogebra-analyze/route/app-paths-manifest.json +3 -0
  296. package/.next/server/app/api/geogebra-analyze/route/build-manifest.json +12 -0
  297. package/.next/server/app/api/geogebra-analyze/route/server-reference-manifest.json +4 -0
  298. package/.next/server/app/api/geogebra-analyze/route.js +15 -0
  299. package/.next/server/app/api/geogebra-analyze/route.js.map +5 -0
  300. package/.next/server/app/api/geogebra-analyze/route.js.nft.json +1 -0
  301. package/.next/server/app/api/geogebra-analyze/route_client-reference-manifest.js +3 -0
  302. package/.next/server/app/api/health/route/app-paths-manifest.json +3 -0
  303. package/.next/server/app/api/health/route/build-manifest.json +12 -0
  304. package/.next/server/app/api/health/route/server-reference-manifest.json +4 -0
  305. package/.next/server/app/api/health/route.js +7 -0
  306. package/.next/server/app/api/health/route.js.map +5 -0
  307. package/.next/server/app/api/health/route.js.nft.json +1 -0
  308. package/.next/server/app/api/health/route_client-reference-manifest.js +3 -0
  309. package/.next/server/app/api/import/route/app-paths-manifest.json +3 -0
  310. package/.next/server/app/api/import/route/build-manifest.json +12 -0
  311. package/.next/server/app/api/import/route/server-reference-manifest.json +4 -0
  312. package/.next/server/app/api/import/route.js +17 -0
  313. package/.next/server/app/api/import/route.js.map +5 -0
  314. package/.next/server/app/api/import/route.js.nft.json +1 -0
  315. package/.next/server/app/api/import/route_client-reference-manifest.js +3 -0
  316. package/.next/server/app/api/logs/frontend/route/app-paths-manifest.json +3 -0
  317. package/.next/server/app/api/logs/frontend/route/build-manifest.json +12 -0
  318. package/.next/server/app/api/logs/frontend/route/server-reference-manifest.json +4 -0
  319. package/.next/server/app/api/logs/frontend/route.js +8 -0
  320. package/.next/server/app/api/logs/frontend/route.js.map +5 -0
  321. package/.next/server/app/api/logs/frontend/route.js.nft.json +1 -0
  322. package/.next/server/app/api/logs/frontend/route_client-reference-manifest.js +3 -0
  323. package/.next/server/app/api/notebooks/[id]/retag/route/app-paths-manifest.json +3 -0
  324. package/.next/server/app/api/notebooks/[id]/retag/route/build-manifest.json +12 -0
  325. package/.next/server/app/api/notebooks/[id]/retag/route/server-reference-manifest.json +4 -0
  326. package/.next/server/app/api/notebooks/[id]/retag/route.js +16 -0
  327. package/.next/server/app/api/notebooks/[id]/retag/route.js.map +5 -0
  328. package/.next/server/app/api/notebooks/[id]/retag/route.js.nft.json +1 -0
  329. package/.next/server/app/api/notebooks/[id]/retag/route_client-reference-manifest.js +3 -0
  330. package/.next/server/app/api/notebooks/[id]/route/app-paths-manifest.json +3 -0
  331. package/.next/server/app/api/notebooks/[id]/route/build-manifest.json +12 -0
  332. package/.next/server/app/api/notebooks/[id]/route/server-reference-manifest.json +4 -0
  333. package/.next/server/app/api/notebooks/[id]/route.js +9 -0
  334. package/.next/server/app/api/notebooks/[id]/route.js.map +5 -0
  335. package/.next/server/app/api/notebooks/[id]/route.js.nft.json +1 -0
  336. package/.next/server/app/api/notebooks/[id]/route_client-reference-manifest.js +3 -0
  337. package/.next/server/app/api/notebooks/route/app-paths-manifest.json +3 -0
  338. package/.next/server/app/api/notebooks/route/build-manifest.json +12 -0
  339. package/.next/server/app/api/notebooks/route/server-reference-manifest.json +4 -0
  340. package/.next/server/app/api/notebooks/route.js +10 -0
  341. package/.next/server/app/api/notebooks/route.js.map +5 -0
  342. package/.next/server/app/api/notebooks/route.js.nft.json +1 -0
  343. package/.next/server/app/api/notebooks/route_client-reference-manifest.js +3 -0
  344. package/.next/server/app/api/openclaw/batch-upload/route/app-paths-manifest.json +3 -0
  345. package/.next/server/app/api/openclaw/batch-upload/route/build-manifest.json +12 -0
  346. package/.next/server/app/api/openclaw/batch-upload/route/server-reference-manifest.json +4 -0
  347. package/.next/server/app/api/openclaw/batch-upload/route.js +15 -0
  348. package/.next/server/app/api/openclaw/batch-upload/route.js.map +5 -0
  349. package/.next/server/app/api/openclaw/batch-upload/route.js.nft.json +1 -0
  350. package/.next/server/app/api/openclaw/batch-upload/route_client-reference-manifest.js +3 -0
  351. package/.next/server/app/api/practice/generate/route/app-paths-manifest.json +3 -0
  352. package/.next/server/app/api/practice/generate/route/build-manifest.json +12 -0
  353. package/.next/server/app/api/practice/generate/route/server-reference-manifest.json +4 -0
  354. package/.next/server/app/api/practice/generate/route.js +15 -0
  355. package/.next/server/app/api/practice/generate/route.js.map +5 -0
  356. package/.next/server/app/api/practice/generate/route.js.nft.json +1 -0
  357. package/.next/server/app/api/practice/generate/route_client-reference-manifest.js +3 -0
  358. package/.next/server/app/api/practice/record/[id]/route/app-paths-manifest.json +3 -0
  359. package/.next/server/app/api/practice/record/[id]/route/build-manifest.json +12 -0
  360. package/.next/server/app/api/practice/record/[id]/route/server-reference-manifest.json +4 -0
  361. package/.next/server/app/api/practice/record/[id]/route.js +15 -0
  362. package/.next/server/app/api/practice/record/[id]/route.js.map +5 -0
  363. package/.next/server/app/api/practice/record/[id]/route.js.nft.json +1 -0
  364. package/.next/server/app/api/practice/record/[id]/route_client-reference-manifest.js +3 -0
  365. package/.next/server/app/api/practice/record/route/app-paths-manifest.json +3 -0
  366. package/.next/server/app/api/practice/record/route/build-manifest.json +12 -0
  367. package/.next/server/app/api/practice/record/route/server-reference-manifest.json +4 -0
  368. package/.next/server/app/api/practice/record/route.js +15 -0
  369. package/.next/server/app/api/practice/record/route.js.map +5 -0
  370. package/.next/server/app/api/practice/record/route.js.nft.json +1 -0
  371. package/.next/server/app/api/practice/record/route_client-reference-manifest.js +3 -0
  372. package/.next/server/app/api/reanswer/route/app-paths-manifest.json +3 -0
  373. package/.next/server/app/api/reanswer/route/build-manifest.json +12 -0
  374. package/.next/server/app/api/reanswer/route/server-reference-manifest.json +4 -0
  375. package/.next/server/app/api/reanswer/route.js +15 -0
  376. package/.next/server/app/api/reanswer/route.js.map +5 -0
  377. package/.next/server/app/api/reanswer/route.js.nft.json +1 -0
  378. package/.next/server/app/api/reanswer/route_client-reference-manifest.js +3 -0
  379. package/.next/server/app/api/register/route/app-paths-manifest.json +3 -0
  380. package/.next/server/app/api/register/route/build-manifest.json +12 -0
  381. package/.next/server/app/api/register/route/server-reference-manifest.json +4 -0
  382. package/.next/server/app/api/register/route.js +9 -0
  383. package/.next/server/app/api/register/route.js.map +5 -0
  384. package/.next/server/app/api/register/route.js.nft.json +1 -0
  385. package/.next/server/app/api/register/route_client-reference-manifest.js +3 -0
  386. package/.next/server/app/api/register/status/route/app-paths-manifest.json +3 -0
  387. package/.next/server/app/api/register/status/route/build-manifest.json +12 -0
  388. package/.next/server/app/api/register/status/route/server-reference-manifest.json +4 -0
  389. package/.next/server/app/api/register/status/route.js +8 -0
  390. package/.next/server/app/api/register/status/route.js.map +5 -0
  391. package/.next/server/app/api/register/status/route.js.nft.json +1 -0
  392. package/.next/server/app/api/register/status/route_client-reference-manifest.js +3 -0
  393. package/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
  394. package/.next/server/app/api/settings/route/build-manifest.json +12 -0
  395. package/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
  396. package/.next/server/app/api/settings/route.js +9 -0
  397. package/.next/server/app/api/settings/route.js.map +5 -0
  398. package/.next/server/app/api/settings/route.js.nft.json +1 -0
  399. package/.next/server/app/api/settings/route_client-reference-manifest.js +3 -0
  400. package/.next/server/app/api/stats/practice/clear/route/app-paths-manifest.json +3 -0
  401. package/.next/server/app/api/stats/practice/clear/route/build-manifest.json +12 -0
  402. package/.next/server/app/api/stats/practice/clear/route/server-reference-manifest.json +4 -0
  403. package/.next/server/app/api/stats/practice/clear/route.js +8 -0
  404. package/.next/server/app/api/stats/practice/clear/route.js.map +5 -0
  405. package/.next/server/app/api/stats/practice/clear/route.js.nft.json +1 -0
  406. package/.next/server/app/api/stats/practice/clear/route_client-reference-manifest.js +3 -0
  407. package/.next/server/app/api/stats/practice/route/app-paths-manifest.json +3 -0
  408. package/.next/server/app/api/stats/practice/route/build-manifest.json +12 -0
  409. package/.next/server/app/api/stats/practice/route/server-reference-manifest.json +4 -0
  410. package/.next/server/app/api/stats/practice/route.js +9 -0
  411. package/.next/server/app/api/stats/practice/route.js.map +5 -0
  412. package/.next/server/app/api/stats/practice/route.js.nft.json +1 -0
  413. package/.next/server/app/api/stats/practice/route_client-reference-manifest.js +3 -0
  414. package/.next/server/app/api/tags/route/app-paths-manifest.json +3 -0
  415. package/.next/server/app/api/tags/route/build-manifest.json +12 -0
  416. package/.next/server/app/api/tags/route/server-reference-manifest.json +4 -0
  417. package/.next/server/app/api/tags/route.js +9 -0
  418. package/.next/server/app/api/tags/route.js.map +5 -0
  419. package/.next/server/app/api/tags/route.js.nft.json +1 -0
  420. package/.next/server/app/api/tags/route_client-reference-manifest.js +3 -0
  421. package/.next/server/app/api/tags/stats/route/app-paths-manifest.json +3 -0
  422. package/.next/server/app/api/tags/stats/route/build-manifest.json +12 -0
  423. package/.next/server/app/api/tags/stats/route/server-reference-manifest.json +4 -0
  424. package/.next/server/app/api/tags/stats/route.js +8 -0
  425. package/.next/server/app/api/tags/stats/route.js.map +5 -0
  426. package/.next/server/app/api/tags/stats/route.js.nft.json +1 -0
  427. package/.next/server/app/api/tags/stats/route_client-reference-manifest.js +3 -0
  428. package/.next/server/app/api/tags/suggestions/route/app-paths-manifest.json +3 -0
  429. package/.next/server/app/api/tags/suggestions/route/build-manifest.json +12 -0
  430. package/.next/server/app/api/tags/suggestions/route/server-reference-manifest.json +4 -0
  431. package/.next/server/app/api/tags/suggestions/route.js +8 -0
  432. package/.next/server/app/api/tags/suggestions/route.js.map +5 -0
  433. package/.next/server/app/api/tags/suggestions/route.js.nft.json +1 -0
  434. package/.next/server/app/api/tags/suggestions/route_client-reference-manifest.js +3 -0
  435. package/.next/server/app/api/tasks/route/app-paths-manifest.json +3 -0
  436. package/.next/server/app/api/tasks/route/build-manifest.json +12 -0
  437. package/.next/server/app/api/tasks/route/server-reference-manifest.json +4 -0
  438. package/.next/server/app/api/tasks/route.js +8 -0
  439. package/.next/server/app/api/tasks/route.js.map +5 -0
  440. package/.next/server/app/api/tasks/route.js.nft.json +1 -0
  441. package/.next/server/app/api/tasks/route_client-reference-manifest.js +3 -0
  442. package/.next/server/app/api/user/route/app-paths-manifest.json +3 -0
  443. package/.next/server/app/api/user/route/build-manifest.json +12 -0
  444. package/.next/server/app/api/user/route/server-reference-manifest.json +4 -0
  445. package/.next/server/app/api/user/route.js +10 -0
  446. package/.next/server/app/api/user/route.js.map +5 -0
  447. package/.next/server/app/api/user/route.js.nft.json +1 -0
  448. package/.next/server/app/api/user/route_client-reference-manifest.js +3 -0
  449. package/.next/server/app/api/version/route/app-paths-manifest.json +3 -0
  450. package/.next/server/app/api/version/route/build-manifest.json +12 -0
  451. package/.next/server/app/api/version/route/server-reference-manifest.json +4 -0
  452. package/.next/server/app/api/version/route.js +7 -0
  453. package/.next/server/app/api/version/route.js.map +5 -0
  454. package/.next/server/app/api/version/route.js.nft.json +1 -0
  455. package/.next/server/app/api/version/route_client-reference-manifest.js +3 -0
  456. package/.next/server/app/error-items/[id]/page/app-paths-manifest.json +3 -0
  457. package/.next/server/app/error-items/[id]/page/build-manifest.json +20 -0
  458. package/.next/server/app/error-items/[id]/page/next-font-manifest.json +11 -0
  459. package/.next/server/app/error-items/[id]/page/react-loadable-manifest.json +1 -0
  460. package/.next/server/app/error-items/[id]/page/server-reference-manifest.json +4 -0
  461. package/.next/server/app/error-items/[id]/page.js +14 -0
  462. package/.next/server/app/error-items/[id]/page.js.map +5 -0
  463. package/.next/server/app/error-items/[id]/page.js.nft.json +1 -0
  464. package/.next/server/app/error-items/[id]/page_client-reference-manifest.js +3 -0
  465. package/.next/server/app/exams/[id]/page/app-paths-manifest.json +3 -0
  466. package/.next/server/app/exams/[id]/page/build-manifest.json +20 -0
  467. package/.next/server/app/exams/[id]/page/next-font-manifest.json +11 -0
  468. package/.next/server/app/exams/[id]/page/react-loadable-manifest.json +1 -0
  469. package/.next/server/app/exams/[id]/page/server-reference-manifest.json +4 -0
  470. package/.next/server/app/exams/[id]/page.js +14 -0
  471. package/.next/server/app/exams/[id]/page.js.map +5 -0
  472. package/.next/server/app/exams/[id]/page.js.nft.json +1 -0
  473. package/.next/server/app/exams/[id]/page_client-reference-manifest.js +3 -0
  474. package/.next/server/app/exams/[id]/print/page/app-paths-manifest.json +3 -0
  475. package/.next/server/app/exams/[id]/print/page/build-manifest.json +20 -0
  476. package/.next/server/app/exams/[id]/print/page/next-font-manifest.json +11 -0
  477. package/.next/server/app/exams/[id]/print/page/react-loadable-manifest.json +1 -0
  478. package/.next/server/app/exams/[id]/print/page/server-reference-manifest.json +4 -0
  479. package/.next/server/app/exams/[id]/print/page.js +14 -0
  480. package/.next/server/app/exams/[id]/print/page.js.map +5 -0
  481. package/.next/server/app/exams/[id]/print/page.js.nft.json +1 -0
  482. package/.next/server/app/exams/[id]/print/page_client-reference-manifest.js +3 -0
  483. package/.next/server/app/exams/page/app-paths-manifest.json +3 -0
  484. package/.next/server/app/exams/page/build-manifest.json +20 -0
  485. package/.next/server/app/exams/page/next-font-manifest.json +11 -0
  486. package/.next/server/app/exams/page/react-loadable-manifest.json +1 -0
  487. package/.next/server/app/exams/page/server-reference-manifest.json +4 -0
  488. package/.next/server/app/exams/page.js +14 -0
  489. package/.next/server/app/exams/page.js.map +5 -0
  490. package/.next/server/app/exams/page.js.nft.json +1 -0
  491. package/.next/server/app/exams/page_client-reference-manifest.js +3 -0
  492. package/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
  493. package/.next/server/app/favicon.ico/route/build-manifest.json +12 -0
  494. package/.next/server/app/favicon.ico/route.js +8 -0
  495. package/.next/server/app/favicon.ico/route.js.map +5 -0
  496. package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  497. package/.next/server/app/favicon.ico.body +0 -0
  498. package/.next/server/app/favicon.ico.meta +1 -0
  499. package/.next/server/app/latex-test/page/app-paths-manifest.json +3 -0
  500. package/.next/server/app/latex-test/page/build-manifest.json +20 -0
  501. package/.next/server/app/latex-test/page/next-font-manifest.json +11 -0
  502. package/.next/server/app/latex-test/page/react-loadable-manifest.json +1 -0
  503. package/.next/server/app/latex-test/page/server-reference-manifest.json +4 -0
  504. package/.next/server/app/latex-test/page.js +14 -0
  505. package/.next/server/app/latex-test/page.js.map +5 -0
  506. package/.next/server/app/latex-test/page.js.nft.json +1 -0
  507. package/.next/server/app/latex-test/page_client-reference-manifest.js +3 -0
  508. package/.next/server/app/login/page/app-paths-manifest.json +3 -0
  509. package/.next/server/app/login/page/build-manifest.json +20 -0
  510. package/.next/server/app/login/page/next-font-manifest.json +11 -0
  511. package/.next/server/app/login/page/react-loadable-manifest.json +1 -0
  512. package/.next/server/app/login/page/server-reference-manifest.json +4 -0
  513. package/.next/server/app/login/page.js +14 -0
  514. package/.next/server/app/login/page.js.map +5 -0
  515. package/.next/server/app/login/page.js.nft.json +1 -0
  516. package/.next/server/app/login/page_client-reference-manifest.js +3 -0
  517. package/.next/server/app/manifest.webmanifest/route/app-paths-manifest.json +3 -0
  518. package/.next/server/app/manifest.webmanifest/route/build-manifest.json +12 -0
  519. package/.next/server/app/manifest.webmanifest/route/server-reference-manifest.json +4 -0
  520. package/.next/server/app/manifest.webmanifest/route.js +8 -0
  521. package/.next/server/app/manifest.webmanifest/route.js.map +5 -0
  522. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  523. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +3 -0
  524. package/.next/server/app/manifest.webmanifest.body +1 -0
  525. package/.next/server/app/manifest.webmanifest.meta +1 -0
  526. package/.next/server/app/notebooks/[id]/add/page/app-paths-manifest.json +3 -0
  527. package/.next/server/app/notebooks/[id]/add/page/build-manifest.json +20 -0
  528. package/.next/server/app/notebooks/[id]/add/page/next-font-manifest.json +11 -0
  529. package/.next/server/app/notebooks/[id]/add/page/react-loadable-manifest.json +1 -0
  530. package/.next/server/app/notebooks/[id]/add/page/server-reference-manifest.json +4 -0
  531. package/.next/server/app/notebooks/[id]/add/page.js +14 -0
  532. package/.next/server/app/notebooks/[id]/add/page.js.map +5 -0
  533. package/.next/server/app/notebooks/[id]/add/page.js.nft.json +1 -0
  534. package/.next/server/app/notebooks/[id]/add/page_client-reference-manifest.js +3 -0
  535. package/.next/server/app/notebooks/[id]/page/app-paths-manifest.json +3 -0
  536. package/.next/server/app/notebooks/[id]/page/build-manifest.json +20 -0
  537. package/.next/server/app/notebooks/[id]/page/next-font-manifest.json +11 -0
  538. package/.next/server/app/notebooks/[id]/page/react-loadable-manifest.json +1 -0
  539. package/.next/server/app/notebooks/[id]/page/server-reference-manifest.json +4 -0
  540. package/.next/server/app/notebooks/[id]/page.js +14 -0
  541. package/.next/server/app/notebooks/[id]/page.js.map +5 -0
  542. package/.next/server/app/notebooks/[id]/page.js.nft.json +1 -0
  543. package/.next/server/app/notebooks/[id]/page_client-reference-manifest.js +3 -0
  544. package/.next/server/app/notebooks/page/app-paths-manifest.json +3 -0
  545. package/.next/server/app/notebooks/page/build-manifest.json +20 -0
  546. package/.next/server/app/notebooks/page/next-font-manifest.json +11 -0
  547. package/.next/server/app/notebooks/page/react-loadable-manifest.json +1 -0
  548. package/.next/server/app/notebooks/page/server-reference-manifest.json +4 -0
  549. package/.next/server/app/notebooks/page.js +14 -0
  550. package/.next/server/app/notebooks/page.js.map +5 -0
  551. package/.next/server/app/notebooks/page.js.nft.json +1 -0
  552. package/.next/server/app/notebooks/page_client-reference-manifest.js +3 -0
  553. package/.next/server/app/page/app-paths-manifest.json +3 -0
  554. package/.next/server/app/page/build-manifest.json +20 -0
  555. package/.next/server/app/page/next-font-manifest.json +11 -0
  556. package/.next/server/app/page/react-loadable-manifest.json +1 -0
  557. package/.next/server/app/page/server-reference-manifest.json +4 -0
  558. package/.next/server/app/page.js +14 -0
  559. package/.next/server/app/page.js.map +5 -0
  560. package/.next/server/app/page.js.nft.json +1 -0
  561. package/.next/server/app/page_client-reference-manifest.js +3 -0
  562. package/.next/server/app/practice/page/app-paths-manifest.json +3 -0
  563. package/.next/server/app/practice/page/build-manifest.json +20 -0
  564. package/.next/server/app/practice/page/next-font-manifest.json +11 -0
  565. package/.next/server/app/practice/page/react-loadable-manifest.json +1 -0
  566. package/.next/server/app/practice/page/server-reference-manifest.json +4 -0
  567. package/.next/server/app/practice/page.js +14 -0
  568. package/.next/server/app/practice/page.js.map +5 -0
  569. package/.next/server/app/practice/page.js.nft.json +1 -0
  570. package/.next/server/app/practice/page_client-reference-manifest.js +3 -0
  571. package/.next/server/app/print-preview/page/app-paths-manifest.json +3 -0
  572. package/.next/server/app/print-preview/page/build-manifest.json +20 -0
  573. package/.next/server/app/print-preview/page/next-font-manifest.json +11 -0
  574. package/.next/server/app/print-preview/page/react-loadable-manifest.json +1 -0
  575. package/.next/server/app/print-preview/page/server-reference-manifest.json +4 -0
  576. package/.next/server/app/print-preview/page.js +14 -0
  577. package/.next/server/app/print-preview/page.js.map +5 -0
  578. package/.next/server/app/print-preview/page.js.nft.json +1 -0
  579. package/.next/server/app/print-preview/page_client-reference-manifest.js +3 -0
  580. package/.next/server/app/register/page/app-paths-manifest.json +3 -0
  581. package/.next/server/app/register/page/build-manifest.json +20 -0
  582. package/.next/server/app/register/page/next-font-manifest.json +11 -0
  583. package/.next/server/app/register/page/react-loadable-manifest.json +1 -0
  584. package/.next/server/app/register/page/server-reference-manifest.json +4 -0
  585. package/.next/server/app/register/page.js +14 -0
  586. package/.next/server/app/register/page.js.map +5 -0
  587. package/.next/server/app/register/page.js.nft.json +1 -0
  588. package/.next/server/app/register/page_client-reference-manifest.js +3 -0
  589. package/.next/server/app/stats/page/app-paths-manifest.json +3 -0
  590. package/.next/server/app/stats/page/build-manifest.json +20 -0
  591. package/.next/server/app/stats/page/next-font-manifest.json +11 -0
  592. package/.next/server/app/stats/page/react-loadable-manifest.json +1 -0
  593. package/.next/server/app/stats/page/server-reference-manifest.json +4 -0
  594. package/.next/server/app/stats/page.js +14 -0
  595. package/.next/server/app/stats/page.js.map +5 -0
  596. package/.next/server/app/stats/page.js.nft.json +1 -0
  597. package/.next/server/app/stats/page_client-reference-manifest.js +3 -0
  598. package/.next/server/app/tags/page/app-paths-manifest.json +3 -0
  599. package/.next/server/app/tags/page/build-manifest.json +20 -0
  600. package/.next/server/app/tags/page/next-font-manifest.json +11 -0
  601. package/.next/server/app/tags/page/react-loadable-manifest.json +1 -0
  602. package/.next/server/app/tags/page/server-reference-manifest.json +4 -0
  603. package/.next/server/app/tags/page.js +14 -0
  604. package/.next/server/app/tags/page.js.map +5 -0
  605. package/.next/server/app/tags/page.js.nft.json +1 -0
  606. package/.next/server/app/tags/page_client-reference-manifest.js +3 -0
  607. package/.next/server/app-paths-manifest.json +81 -0
  608. package/.next/server/chunks/1jng_app_api_exams_[id]_questions_[questionId]_regenerate_route_actions_1ggead3.js +3 -0
  609. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_practice-records_route_actions_0z2zuf1.js +3 -0
  610. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_svg-animation_route_actions_17gckf3.js +3 -0
  611. package/.next/server/chunks/[externals]__04n7qbr._.js +3 -0
  612. package/.next/server/chunks/[externals]__0pot68n._.js +3 -0
  613. package/.next/server/chunks/[externals]__1735khz._.js +3 -0
  614. package/.next/server/chunks/[externals]_assert_1pwe1ri._.js +3 -0
  615. package/.next/server/chunks/[root-of-the-server]__0-8hf14._.js +3 -0
  616. package/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +153 -0
  617. package/.next/server/chunks/[root-of-the-server]__00m7v48._.js +3 -0
  618. package/.next/server/chunks/[root-of-the-server]__01bzczj._.js +3 -0
  619. package/.next/server/chunks/[root-of-the-server]__01m28mx._.js +3 -0
  620. package/.next/server/chunks/[root-of-the-server]__04mu6-m._.js +3 -0
  621. package/.next/server/chunks/[root-of-the-server]__04tyyvs._.js +3 -0
  622. package/.next/server/chunks/[root-of-the-server]__05no8nw._.js +3 -0
  623. package/.next/server/chunks/[root-of-the-server]__05s4wut._.js +3 -0
  624. package/.next/server/chunks/[root-of-the-server]__06h5afw._.js +3 -0
  625. package/.next/server/chunks/[root-of-the-server]__07jl92a._.js +3 -0
  626. package/.next/server/chunks/[root-of-the-server]__07nvz1d._.js +3 -0
  627. package/.next/server/chunks/[root-of-the-server]__08gak8r._.js +3 -0
  628. package/.next/server/chunks/[root-of-the-server]__08zi-xg._.js +3 -0
  629. package/.next/server/chunks/[root-of-the-server]__0994h9l._.js +3 -0
  630. package/.next/server/chunks/[root-of-the-server]__0_t7bbz._.js +3 -0
  631. package/.next/server/chunks/[root-of-the-server]__0akadps._.js +3 -0
  632. package/.next/server/chunks/[root-of-the-server]__0b3nww4._.js +3 -0
  633. package/.next/server/chunks/[root-of-the-server]__0bs5unr._.js +3 -0
  634. package/.next/server/chunks/[root-of-the-server]__0c59gc3._.js +3 -0
  635. package/.next/server/chunks/[root-of-the-server]__0dfbwm3._.js +3 -0
  636. package/.next/server/chunks/[root-of-the-server]__0e22a4y._.js +122 -0
  637. package/.next/server/chunks/[root-of-the-server]__0els3c1._.js +3 -0
  638. package/.next/server/chunks/[root-of-the-server]__0gp88gz._.js +3 -0
  639. package/.next/server/chunks/[root-of-the-server]__0gpohuv._.js +3 -0
  640. package/.next/server/chunks/[root-of-the-server]__0grkic-._.js +3 -0
  641. package/.next/server/chunks/[root-of-the-server]__0hj9oe2._.js +3 -0
  642. package/.next/server/chunks/[root-of-the-server]__0inxsnu._.js +3 -0
  643. package/.next/server/chunks/[root-of-the-server]__0j-gv3-._.js +3 -0
  644. package/.next/server/chunks/[root-of-the-server]__0jaawra._.js +3 -0
  645. package/.next/server/chunks/[root-of-the-server]__0je3zje._.js +3 -0
  646. package/.next/server/chunks/[root-of-the-server]__0m8p-6f._.js +3 -0
  647. package/.next/server/chunks/[root-of-the-server]__0m_f8ct._.js +3 -0
  648. package/.next/server/chunks/[root-of-the-server]__0na-z2m._.js +3 -0
  649. package/.next/server/chunks/[root-of-the-server]__0nqbham._.js +3 -0
  650. package/.next/server/chunks/[root-of-the-server]__0ns_tws._.js +3 -0
  651. package/.next/server/chunks/[root-of-the-server]__0p3hkz7._.js +3 -0
  652. package/.next/server/chunks/[root-of-the-server]__0pli74s._.js +3 -0
  653. package/.next/server/chunks/[root-of-the-server]__0qaih8c._.js +3 -0
  654. package/.next/server/chunks/[root-of-the-server]__0ra48rd._.js +3 -0
  655. package/.next/server/chunks/[root-of-the-server]__0rk_yxy._.js +9 -0
  656. package/.next/server/chunks/[root-of-the-server]__0sh6-yu._.js +3 -0
  657. package/.next/server/chunks/[root-of-the-server]__0ssagl1._.js +3 -0
  658. package/.next/server/chunks/[root-of-the-server]__0u58zap._.js +3 -0
  659. package/.next/server/chunks/[root-of-the-server]__0ws6c0v._.js +3 -0
  660. package/.next/server/chunks/[root-of-the-server]__0yc8r2x._.js +3 -0
  661. package/.next/server/chunks/[root-of-the-server]__0ydrrdj._.js +3 -0
  662. package/.next/server/chunks/[root-of-the-server]__0yds0ae._.js +3 -0
  663. package/.next/server/chunks/[root-of-the-server]__0ynfeq-._.js +3 -0
  664. package/.next/server/chunks/[root-of-the-server]__0z-sjqh._.js +3 -0
  665. package/.next/server/chunks/[root-of-the-server]__0zp1e41._.js +3 -0
  666. package/.next/server/chunks/[root-of-the-server]__108ydjw._.js +3 -0
  667. package/.next/server/chunks/[root-of-the-server]__10yghm_._.js +3 -0
  668. package/.next/server/chunks/[root-of-the-server]__11-sf2-._.js +3 -0
  669. package/.next/server/chunks/[root-of-the-server]__11wobg2._.js +3 -0
  670. package/.next/server/chunks/[root-of-the-server]__122xu-0._.js +32 -0
  671. package/.next/server/chunks/[root-of-the-server]__13_c7nc._.js +3 -0
  672. package/.next/server/chunks/[root-of-the-server]__13ebiit._.js +3 -0
  673. package/.next/server/chunks/[root-of-the-server]__1413v0e._.js +3 -0
  674. package/.next/server/chunks/[root-of-the-server]__14pcopd._.js +3 -0
  675. package/.next/server/chunks/[root-of-the-server]__150ei9u._.js +3 -0
  676. package/.next/server/chunks/[root-of-the-server]__15g7yjy._.js +3 -0
  677. package/.next/server/chunks/[root-of-the-server]__15tkoe6._.js +10 -0
  678. package/.next/server/chunks/[root-of-the-server]__19nm3y_._.js +3 -0
  679. package/.next/server/chunks/[root-of-the-server]__19vj8qy._.js +3 -0
  680. package/.next/server/chunks/[root-of-the-server]__1_gkx5x._.js +3 -0
  681. package/.next/server/chunks/[root-of-the-server]__1a4i9sz._.js +3 -0
  682. package/.next/server/chunks/[root-of-the-server]__1cn6rlb._.js +3 -0
  683. package/.next/server/chunks/[root-of-the-server]__1csfdxc._.js +3 -0
  684. package/.next/server/chunks/[root-of-the-server]__1e3crdc._.js +3 -0
  685. package/.next/server/chunks/[root-of-the-server]__1ezwxao._.js +3 -0
  686. package/.next/server/chunks/[root-of-the-server]__1g-xe1f._.js +3 -0
  687. package/.next/server/chunks/[root-of-the-server]__1g1wi9i._.js +3 -0
  688. package/.next/server/chunks/[root-of-the-server]__1g3usdn._.js +3 -0
  689. package/.next/server/chunks/[root-of-the-server]__1gmc_uw._.js +3 -0
  690. package/.next/server/chunks/[root-of-the-server]__1hmv25w._.js +3 -0
  691. package/.next/server/chunks/[root-of-the-server]__1hpwwxw._.js +3 -0
  692. package/.next/server/chunks/[root-of-the-server]__1hq73__._.js +3 -0
  693. package/.next/server/chunks/[root-of-the-server]__1jtd2ar._.js +6 -0
  694. package/.next/server/chunks/[root-of-the-server]__1kqv61m._.js +3 -0
  695. package/.next/server/chunks/[root-of-the-server]__1m4-ab6._.js +3 -0
  696. package/.next/server/chunks/[root-of-the-server]__1nmtv65._.js +10 -0
  697. package/.next/server/chunks/[root-of-the-server]__1oup682._.js +3 -0
  698. package/.next/server/chunks/[root-of-the-server]__1ouzjax._.js +3 -0
  699. package/.next/server/chunks/[root-of-the-server]__1pcgq22._.js +3 -0
  700. package/.next/server/chunks/[root-of-the-server]__1pplzr1._.js +3 -0
  701. package/.next/server/chunks/[root-of-the-server]__1q5nt5y._.js +3 -0
  702. package/.next/server/chunks/[root-of-the-server]__1qt6_3b._.js +3 -0
  703. package/.next/server/chunks/[root-of-the-server]__1sdtn83._.js +3 -0
  704. package/.next/server/chunks/[root-of-the-server]__1utxo11._.js +3 -0
  705. package/.next/server/chunks/[root-of-the-server]__1v1dgs2._.js +3 -0
  706. package/.next/server/chunks/[root-of-the-server]__1v9b8go._.js +3 -0
  707. package/.next/server/chunks/[root-of-the-server]__1vw740y._.js +32 -0
  708. package/.next/server/chunks/[root-of-the-server]__1vzxn91._.js +3 -0
  709. package/.next/server/chunks/[root-of-the-server]__1wgn76g._.js +3 -0
  710. package/.next/server/chunks/[root-of-the-server]__1wkh9sj._.js +3 -0
  711. package/.next/server/chunks/[root-of-the-server]__1xcmja4._.js +3 -0
  712. package/.next/server/chunks/[root-of-the-server]__1y6fx9-._.js +3 -0
  713. package/.next/server/chunks/[root-of-the-server]__1zos_p4._.js +3 -0
  714. package/.next/server/chunks/[root-of-the-server]__1zp0oig._.js +3 -0
  715. package/.next/server/chunks/[root-of-the-server]__203q6el._.js +3 -0
  716. package/.next/server/chunks/[root-of-the-server]__20bun16._.js +3 -0
  717. package/.next/server/chunks/[turbopack]_runtime.js +939 -0
  718. package/.next/server/chunks/_008zx49._.js +3 -0
  719. package/.next/server/chunks/_011-ll5._.js +3 -0
  720. package/.next/server/chunks/_0431fxn._.js +3 -0
  721. package/.next/server/chunks/_0ae3z2e._.js +3 -0
  722. package/.next/server/chunks/_0c5hvv3._.js +11 -0
  723. package/.next/server/chunks/_0ekrwj-._.js +36 -0
  724. package/.next/server/chunks/_0frix22._.js +11 -0
  725. package/.next/server/chunks/_0gxi3zr._.js +3 -0
  726. package/.next/server/chunks/_0lz3t4l._.js +19 -0
  727. package/.next/server/chunks/_0o1p57f._.js +3 -0
  728. package/.next/server/chunks/_0t6g4yt._.js +3 -0
  729. package/.next/server/chunks/_0uxp3uh._.js +3 -0
  730. package/.next/server/chunks/_0x3ltk0._.js +36 -0
  731. package/.next/server/chunks/_12w5k19._.js +3 -0
  732. package/.next/server/chunks/_13ffmxv._.js +3 -0
  733. package/.next/server/chunks/_14tz_k9._.js +3 -0
  734. package/.next/server/chunks/_16jdov0._.js +3 -0
  735. package/.next/server/chunks/_18amra5._.js +3 -0
  736. package/.next/server/chunks/_19fidvw._.js +3 -0
  737. package/.next/server/chunks/_1_ns7o3._.js +3 -0
  738. package/.next/server/chunks/_1a1aqmi._.js +3 -0
  739. package/.next/server/chunks/_1a1udq0._.js +3 -0
  740. package/.next/server/chunks/_1b0269x._.js +3 -0
  741. package/.next/server/chunks/_1b7qjlv._.js +3 -0
  742. package/.next/server/chunks/_1be-y66._.js +3 -0
  743. package/.next/server/chunks/_1ex6ovo._.js +3 -0
  744. package/.next/server/chunks/_1fgb9ve._.js +3 -0
  745. package/.next/server/chunks/_1m-yyz-._.js +3 -0
  746. package/.next/server/chunks/_1oj6gy_._.js +3 -0
  747. package/.next/server/chunks/_1oqpwh8._.js +3 -0
  748. package/.next/server/chunks/_1q5w9fc._.js +3 -0
  749. package/.next/server/chunks/_1ve0z0w._.js +3 -0
  750. package/.next/server/chunks/_1z_ujac._.js +3 -0
  751. package/.next/server/chunks/_211va-d._.js +3 -0
  752. package/.next/server/chunks/_next-internal_server_app_api_admin_dashboard_route_actions_1ispso-.js +3 -0
  753. package/.next/server/chunks/_next-internal_server_app_api_admin_migrate-tags_route_actions_1ztwxhx.js +3 -0
  754. package/.next/server/chunks/_next-internal_server_app_api_admin_system-reset_route_actions_15aselt.js +3 -0
  755. package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_detail_route_actions_0oe_wkt.js +3 -0
  756. package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_route_actions_1hhpuc4.js +3 -0
  757. package/.next/server/chunks/_next-internal_server_app_api_admin_users_route_actions_0q-rtz1.js +3 -0
  758. package/.next/server/chunks/_next-internal_server_app_api_ai_models_route_actions_0w7iwv-.js +3 -0
  759. package/.next/server/chunks/_next-internal_server_app_api_ai_test_route_actions_1p0n1q8.js +3 -0
  760. package/.next/server/chunks/_next-internal_server_app_api_analytics_route_actions_1e0ou17.js +3 -0
  761. package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js +3 -0
  762. package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdk.js +3 -0
  763. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_delete_route_actions_1w26boq.js +3 -0
  764. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_figure_route_actions_0adlts0.js +3 -0
  765. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_fix-latex_route_actions_0hc7dhx.js +3 -0
  766. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_geogebra_route_actions_1-ks4uv.js +3 -0
  767. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_image_route_actions_1k9n5yl.js +3 -0
  768. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_mastery_route_actions_1l5uan6.js +3 -0
  769. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_notes_route_actions_1cjux7z.js +3 -0
  770. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_reanswer_route_actions_1-sw0j2.js +3 -0
  771. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_retag_route_actions_0ckki4n.js +3 -0
  772. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_route_actions_1kbs4ux.js +3 -0
  773. package/.next/server/chunks/_next-internal_server_app_api_error-items_batch-delete_route_actions_0hiq_1k.js +3 -0
  774. package/.next/server/chunks/_next-internal_server_app_api_error-items_clear_route_actions_14t_6i-.js +3 -0
  775. package/.next/server/chunks/_next-internal_server_app_api_error-items_list_route_actions_032x4ue.js +3 -0
  776. package/.next/server/chunks/_next-internal_server_app_api_error-items_route_actions_1zdvz0p.js +3 -0
  777. package/.next/server/chunks/_next-internal_server_app_api_error-items_short_[shortId]_route_actions_02976v-.js +3 -0
  778. package/.next/server/chunks/_next-internal_server_app_api_error-items_similarity_route_actions_1i26if9.js +3 -0
  779. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_results_route_actions_1v3vhi4.js +3 -0
  780. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_retry_route_actions_1fdi39f.js +3 -0
  781. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_route_actions_1wuidrq.js +3 -0
  782. package/.next/server/chunks/_next-internal_server_app_api_exams_route_actions_1c_zhtj.js +3 -0
  783. package/.next/server/chunks/_next-internal_server_app_api_export_route_actions_0lpcnjc.js +3 -0
  784. package/.next/server/chunks/_next-internal_server_app_api_geogebra-analyze_route_actions_1xng0_c.js +3 -0
  785. package/.next/server/chunks/_next-internal_server_app_api_health_route_actions_1ryftkb.js +3 -0
  786. package/.next/server/chunks/_next-internal_server_app_api_import_route_actions_20ko04x.js +3 -0
  787. package/.next/server/chunks/_next-internal_server_app_api_logs_frontend_route_actions_0nxepty.js +3 -0
  788. package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_retag_route_actions_00su_t8.js +3 -0
  789. package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_route_actions_11j3vxg.js +3 -0
  790. package/.next/server/chunks/_next-internal_server_app_api_notebooks_route_actions_02cy45r.js +3 -0
  791. package/.next/server/chunks/_next-internal_server_app_api_openclaw_batch-upload_route_actions_1zz3oen.js +3 -0
  792. package/.next/server/chunks/_next-internal_server_app_api_practice_generate_route_actions_1krr9n_.js +3 -0
  793. package/.next/server/chunks/_next-internal_server_app_api_practice_record_[id]_route_actions_0zreiom.js +3 -0
  794. package/.next/server/chunks/_next-internal_server_app_api_practice_record_route_actions_0py9z__.js +3 -0
  795. package/.next/server/chunks/_next-internal_server_app_api_reanswer_route_actions_04xweh_.js +3 -0
  796. package/.next/server/chunks/_next-internal_server_app_api_register_route_actions_0vlzh_c.js +3 -0
  797. package/.next/server/chunks/_next-internal_server_app_api_register_status_route_actions_0b52_sj.js +3 -0
  798. package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +3 -0
  799. package/.next/server/chunks/_next-internal_server_app_api_stats_practice_clear_route_actions_1iz6iz0.js +3 -0
  800. package/.next/server/chunks/_next-internal_server_app_api_stats_practice_route_actions_1tfoxx-.js +3 -0
  801. package/.next/server/chunks/_next-internal_server_app_api_tags_route_actions_1nb9ma2.js +3 -0
  802. package/.next/server/chunks/_next-internal_server_app_api_tags_stats_route_actions_0fmeadc.js +3 -0
  803. package/.next/server/chunks/_next-internal_server_app_api_tags_suggestions_route_actions_1xpolyv.js +3 -0
  804. package/.next/server/chunks/_next-internal_server_app_api_tasks_route_actions_123tq1_.js +3 -0
  805. package/.next/server/chunks/_next-internal_server_app_api_user_route_actions_1k-4clg.js +3 -0
  806. package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30h.js +3 -0
  807. package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +3 -0
  808. package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_08hcpz0.js +3 -0
  809. package/.next/server/chunks/node_modules_next_1zdbrne._.js +10 -0
  810. package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js +22 -0
  811. package/.next/server/chunks/src_0tzpy5j._.js +3 -0
  812. package/.next/server/chunks/src_lib_ai_prompts_ts_0z36zms._.js +554 -0
  813. package/.next/server/chunks/src_lib_date-time_ts_14chb27._.js +3 -0
  814. package/.next/server/chunks/src_lib_question-deduplication_ts_1p1bik-._.js +3 -0
  815. package/.next/server/chunks/ssr/[externals]_fs_0pplqgc._.js +3 -0
  816. package/.next/server/chunks/ssr/[root-of-the-server]__00gewu3._.js +35 -0
  817. package/.next/server/chunks/ssr/[root-of-the-server]__05f8wbh._.js +3 -0
  818. package/.next/server/chunks/ssr/[root-of-the-server]__0a0nty7._.js +3 -0
  819. package/.next/server/chunks/ssr/[root-of-the-server]__0ax9dog._.js +3 -0
  820. package/.next/server/chunks/ssr/[root-of-the-server]__0b8kewv._.js +3 -0
  821. package/.next/server/chunks/ssr/[root-of-the-server]__0bvtza7._.js +33 -0
  822. package/.next/server/chunks/ssr/[root-of-the-server]__0g_-bym._.js +3 -0
  823. package/.next/server/chunks/ssr/[root-of-the-server]__0gwwr7e._.js +3 -0
  824. package/.next/server/chunks/ssr/[root-of-the-server]__0hzktoi._.js +3 -0
  825. package/.next/server/chunks/ssr/[root-of-the-server]__0icjezr._.js +3 -0
  826. package/.next/server/chunks/ssr/[root-of-the-server]__0koj8h0._.js +3 -0
  827. package/.next/server/chunks/ssr/[root-of-the-server]__0s87xha._.js +3 -0
  828. package/.next/server/chunks/ssr/[root-of-the-server]__0snpjfe._.js +3 -0
  829. package/.next/server/chunks/ssr/[root-of-the-server]__0y_e9do._.js +3 -0
  830. package/.next/server/chunks/ssr/[root-of-the-server]__0ybs_4c._.js +3 -0
  831. package/.next/server/chunks/ssr/[root-of-the-server]__14l7peq._.js +3 -0
  832. package/.next/server/chunks/ssr/[root-of-the-server]__1507q8a._.js +3 -0
  833. package/.next/server/chunks/ssr/[root-of-the-server]__15ppb9j._.js +3 -0
  834. package/.next/server/chunks/ssr/[root-of-the-server]__191jn5n._.js +3 -0
  835. package/.next/server/chunks/ssr/[root-of-the-server]__1f2jx51._.js +33 -0
  836. package/.next/server/chunks/ssr/[root-of-the-server]__1gth76-._.js +3 -0
  837. package/.next/server/chunks/ssr/[root-of-the-server]__1ko_dw5._.js +3 -0
  838. package/.next/server/chunks/ssr/[root-of-the-server]__1l84pks._.js +3 -0
  839. package/.next/server/chunks/ssr/[root-of-the-server]__1m7qw-2._.js +3 -0
  840. package/.next/server/chunks/ssr/[root-of-the-server]__1ma2oml._.js +3 -0
  841. package/.next/server/chunks/ssr/[root-of-the-server]__1o8jotz._.js +3 -0
  842. package/.next/server/chunks/ssr/[root-of-the-server]__1o__w27._.js +3 -0
  843. package/.next/server/chunks/ssr/[root-of-the-server]__1p7f0va._.js +3 -0
  844. package/.next/server/chunks/ssr/[root-of-the-server]__1sg9eoj._.js +3 -0
  845. package/.next/server/chunks/ssr/[root-of-the-server]__1u74hyi._.js +3 -0
  846. package/.next/server/chunks/ssr/[root-of-the-server]__1xsovpr._.js +3 -0
  847. package/.next/server/chunks/ssr/[turbopack]_runtime.js +939 -0
  848. package/.next/server/chunks/ssr/_054yhx9._.js +3 -0
  849. package/.next/server/chunks/ssr/_07ls0n_._.js +3 -0
  850. package/.next/server/chunks/ssr/_0i9hwpv._.js +3 -0
  851. package/.next/server/chunks/ssr/_0iqp5hs._.js +3 -0
  852. package/.next/server/chunks/ssr/_0m1-rq-._.js +3 -0
  853. package/.next/server/chunks/ssr/_0mgbe2b._.js +3 -0
  854. package/.next/server/chunks/ssr/_0nv22wt._.js +3 -0
  855. package/.next/server/chunks/ssr/_0rz2_qb._.js +151 -0
  856. package/.next/server/chunks/ssr/_0sbbx9z._.js +7 -0
  857. package/.next/server/chunks/ssr/_0sf1gd9._.js +3 -0
  858. package/.next/server/chunks/ssr/_0uemk57._.js +3 -0
  859. package/.next/server/chunks/ssr/_0zj7dlu._.js +3 -0
  860. package/.next/server/chunks/ssr/_12c20v5._.js +3 -0
  861. package/.next/server/chunks/ssr/_17igtpd._.js +3 -0
  862. package/.next/server/chunks/ssr/_1filpif._.js +3 -0
  863. package/.next/server/chunks/ssr/_1gu1rou._.js +3 -0
  864. package/.next/server/chunks/ssr/_1jniqsj._.js +3 -0
  865. package/.next/server/chunks/ssr/_1kgnhmo._.js +8 -0
  866. package/.next/server/chunks/ssr/_1lt1lhz._.js +8 -0
  867. package/.next/server/chunks/ssr/_1yeu09q._.js +3 -0
  868. package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
  869. package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
  870. package/.next/server/chunks/ssr/_next-internal_server_app_admin_page_actions_1mcickz.js +3 -0
  871. package/.next/server/chunks/ssr/_next-internal_server_app_admin_user_[id]_page_actions_0baj8gs.js +3 -0
  872. package/.next/server/chunks/ssr/_next-internal_server_app_error-items_[id]_page_actions_0qla9ak.js +3 -0
  873. package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_page_actions_1kushg5.js +3 -0
  874. package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_print_page_actions_0pxdgxq.js +3 -0
  875. package/.next/server/chunks/ssr/_next-internal_server_app_exams_page_actions_0av69f-.js +3 -0
  876. package/.next/server/chunks/ssr/_next-internal_server_app_latex-test_page_actions_19v7ka0.js +3 -0
  877. package/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_04fnjo0.js +3 -0
  878. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_add_page_actions_0275ft2.js +3 -0
  879. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_page_actions_1qj0i-7.js +3 -0
  880. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_page_actions_06x1kdz.js +3 -0
  881. package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +3 -0
  882. package/.next/server/chunks/ssr/_next-internal_server_app_practice_page_actions_0cy-h5n.js +3 -0
  883. package/.next/server/chunks/ssr/_next-internal_server_app_print-preview_page_actions_1jhaaln.js +3 -0
  884. package/.next/server/chunks/ssr/_next-internal_server_app_register_page_actions_1op-s-x.js +3 -0
  885. package/.next/server/chunks/ssr/_next-internal_server_app_stats_page_actions_1olf1_a.js +3 -0
  886. package/.next/server/chunks/ssr/_next-internal_server_app_tags_page_actions_20v_n--.js +3 -0
  887. package/.next/server/chunks/ssr/node_modules_0o2aki7._.js +3 -0
  888. package/.next/server/chunks/ssr/node_modules_1y5ym6h._.js +3 -0
  889. package/.next/server/chunks/ssr/node_modules_next_1lnqo1a._.js +5 -0
  890. package/.next/server/chunks/ssr/node_modules_next_dist_077yo5w._.js +3 -0
  891. package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +6 -0
  892. package/.next/server/chunks/ssr/node_modules_next_dist_1_c-t1n._.js +14 -0
  893. package/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +3 -0
  894. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i._.js +33 -0
  895. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
  896. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
  897. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +3 -0
  898. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
  899. package/.next/server/chunks/ssr/src_1biegcg._.js +3 -0
  900. package/.next/server/chunks/ssr/src_1gayunq._.js +3 -0
  901. package/.next/server/chunks/ssr/src_1o363ao._.js +3 -0
  902. package/.next/server/chunks/ssr/src_app_admin_page_tsx_0ublbd0._.js +3 -0
  903. package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdm._.js +3 -0
  904. package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5._.js +3 -0
  905. package/.next/server/chunks/ssr/src_app_notebooks_page_tsx_1p9src5._.js +3 -0
  906. package/.next/server/chunks/ssr/src_app_page_tsx_1chiuah._.js +3 -0
  907. package/.next/server/chunks/ssr/src_app_practice_page_tsx_10gnx53._.js +3 -0
  908. package/.next/server/chunks/ssr/src_app_tags_page_tsx_1h2vkk4._.js +3 -0
  909. package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv._.js +193 -0
  910. package/.next/server/chunks/ssr/src_lib_date-time_ts_0oyqctn._.js +3 -0
  911. package/.next/server/edge/chunks/[root-of-the-server]__1osrt2u._.js +3 -0
  912. package/.next/server/edge/chunks/_1s0wgnu._.js +3 -0
  913. package/.next/server/edge/chunks/node_modules_0g4gi6f._.js +13 -0
  914. package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1iafar9.js +3 -0
  915. package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1x1n1fx.js +3 -0
  916. package/.next/server/functions-config-manifest.json +6 -0
  917. package/.next/server/instrumentation.js +4 -0
  918. package/.next/server/middleware-build-manifest.js +24 -0
  919. package/.next/server/middleware-manifest.json +36 -0
  920. package/.next/server/next-font-manifest.js +1 -0
  921. package/.next/server/next-font-manifest.json +79 -0
  922. package/.next/server/pages/500.html +1 -0
  923. package/.next/server/pages-manifest.json +3 -0
  924. package/.next/server/prefetch-hints.json +11 -0
  925. package/.next/server/server-reference-manifest.js +1 -0
  926. package/.next/server/server-reference-manifest.json +5 -0
  927. package/.next/static/OpwRvHtdhPgxve2rKkWkK/_buildManifest.js +11 -0
  928. package/.next/static/OpwRvHtdhPgxve2rKkWkK/_clientMiddlewareManifest.js +6 -0
  929. package/.next/static/OpwRvHtdhPgxve2rKkWkK/_ssgManifest.js +1 -0
  930. package/.next/static/chunks/00pn0o7lymln6.js +1 -0
  931. package/.next/static/chunks/02521degnqmf0.js +1 -0
  932. package/.next/static/chunks/05q4yafxnvtzs.js +1 -0
  933. package/.next/static/chunks/0_w084ms_lq25.js +22 -0
  934. package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
  935. package/.next/static/chunks/0dzfsm6h13fyr.js +1 -0
  936. package/.next/static/chunks/0ehjiuuxbbhq9.js +1 -0
  937. package/.next/static/chunks/0iq53qkw5hvrs.js +1 -0
  938. package/.next/static/chunks/0lxsaj3bivcgo.css +1 -0
  939. package/.next/static/chunks/0m81l71kojx8j.js +1 -0
  940. package/.next/static/chunks/0nckb2-62ooyq.js +1 -0
  941. package/.next/static/chunks/0snej-v5yglxr.js +1 -0
  942. package/.next/static/chunks/1-7k9gbbjkcml.js +1 -0
  943. package/.next/static/chunks/1ad3ir88_e_v6.css +3 -0
  944. package/.next/static/chunks/1cd32rtomdngh.js +1 -0
  945. package/.next/static/chunks/1io3-cth_2-cd.js +1 -0
  946. package/.next/static/chunks/1oiuiyv1cv06v.js +31 -0
  947. package/.next/static/chunks/1t4-pobw0y5cf.js +1 -0
  948. package/.next/static/chunks/1xg811762s1p1.js +1 -0
  949. package/.next/static/chunks/1z_5sj1wqi06v.js +1 -0
  950. package/.next/static/chunks/29erttsjondpe.js +1 -0
  951. package/.next/static/chunks/2dlme2fdlkms6.js +1 -0
  952. package/.next/static/chunks/2h-exsnhkfnb8.js +1 -0
  953. package/.next/static/chunks/2pmzqbg-qabof.js +1 -0
  954. package/.next/static/chunks/2rmhba08h4qqo.js +33 -0
  955. package/.next/static/chunks/2s07soqug65hc.js +1 -0
  956. package/.next/static/chunks/2w2uo9jjxt-re.js +1 -0
  957. package/.next/static/chunks/2yl8a-gxngbuq.js +1 -0
  958. package/.next/static/chunks/31rxdwy0u_t29.js +1 -0
  959. package/.next/static/chunks/32bl-oqw9oso0.js +1 -0
  960. package/.next/static/chunks/35cov9g4cgt-v.js +1 -0
  961. package/.next/static/chunks/37g3bsrs22xg7.js +191 -0
  962. package/.next/static/chunks/3b-g5_r9nto3s.js +6 -0
  963. package/.next/static/chunks/3c4-ozf1dxam2.css +1 -0
  964. package/.next/static/chunks/3g1rm2suowncy.js +3 -0
  965. package/.next/static/chunks/3helovsg02qr4.js +1 -0
  966. package/.next/static/chunks/3jta6jrk-jubq.js +1 -0
  967. package/.next/static/chunks/3yhf6xyypekz6.js +1 -0
  968. package/.next/static/chunks/3z9gc_02gl8n9.js +1 -0
  969. package/.next/static/chunks/427wg73nuzpiz.js +5 -0
  970. package/.next/static/chunks/turbopack-1-0r7_puvz3eq.js +1 -0
  971. package/.next/static/media/GeistMono_Variable-s.p.0iy569vnmknd-.woff2 +0 -0
  972. package/.next/static/media/Geist_Variable-s.p.03oqkqkevsckn.woff2 +0 -0
  973. package/.next/static/media/KaTeX_AMS-Regular.10y3kupq4t663.woff +0 -0
  974. package/.next/static/media/KaTeX_AMS-Regular.25ieegmnh38ts.woff2 +0 -0
  975. package/.next/static/media/KaTeX_AMS-Regular.418dr7cz3fo2x.ttf +0 -0
  976. package/.next/static/media/KaTeX_Caligraphic-Bold.06b-ya9t43ioz.woff2 +0 -0
  977. package/.next/static/media/KaTeX_Caligraphic-Bold.2vmk2hva4ctha.woff +0 -0
  978. package/.next/static/media/KaTeX_Caligraphic-Bold.40ltxhe834pns.ttf +0 -0
  979. package/.next/static/media/KaTeX_Caligraphic-Regular.07-7u27-nhn_r.ttf +0 -0
  980. package/.next/static/media/KaTeX_Caligraphic-Regular.2eph4dlhid_m9.woff2 +0 -0
  981. package/.next/static/media/KaTeX_Caligraphic-Regular.3gxeetazf831f.woff +0 -0
  982. package/.next/static/media/KaTeX_Fraktur-Bold.19yqa_tc9d_gx.ttf +0 -0
  983. package/.next/static/media/KaTeX_Fraktur-Bold.1alcy76__wdj2.woff +0 -0
  984. package/.next/static/media/KaTeX_Fraktur-Bold.2sasz-d-jtw8y.woff2 +0 -0
  985. package/.next/static/media/KaTeX_Fraktur-Regular.110oo81prr9n5.woff +0 -0
  986. package/.next/static/media/KaTeX_Fraktur-Regular.2d10y4xmjvzlf.woff2 +0 -0
  987. package/.next/static/media/KaTeX_Fraktur-Regular.2qhy34r6a05dn.ttf +0 -0
  988. package/.next/static/media/KaTeX_Main-Bold.0us_n0tnxlxu7.ttf +0 -0
  989. package/.next/static/media/KaTeX_Main-Bold.0v1esh257kqpe.woff +0 -0
  990. package/.next/static/media/KaTeX_Main-Bold.3-rowy8o6_4ky.woff2 +0 -0
  991. package/.next/static/media/KaTeX_Main-BoldItalic.13355ck5zr48q.woff +0 -0
  992. package/.next/static/media/KaTeX_Main-BoldItalic.14r2naom8mrec.woff2 +0 -0
  993. package/.next/static/media/KaTeX_Main-BoldItalic.3x_u9cepaced0.ttf +0 -0
  994. package/.next/static/media/KaTeX_Main-Italic.0afv392dj4w59.woff +0 -0
  995. package/.next/static/media/KaTeX_Main-Italic.0lig0v9j0700p.woff2 +0 -0
  996. package/.next/static/media/KaTeX_Main-Italic.2hkw3230mfwcv.ttf +0 -0
  997. package/.next/static/media/KaTeX_Main-Regular.0symfa7dqj6jd.ttf +0 -0
  998. package/.next/static/media/KaTeX_Main-Regular.15u8r3b2y7fv4.woff +0 -0
  999. package/.next/static/media/KaTeX_Main-Regular.1ryvsdzh2w1_e.woff2 +0 -0
  1000. package/.next/static/media/KaTeX_Math-BoldItalic.0y5w36a5aq__2.ttf +0 -0
  1001. package/.next/static/media/KaTeX_Math-BoldItalic.12pl58orkw9rg.woff +0 -0
  1002. package/.next/static/media/KaTeX_Math-BoldItalic.1oopuu636h4il.woff2 +0 -0
  1003. package/.next/static/media/KaTeX_Math-Italic.0w0b1ugh62cfr.woff +0 -0
  1004. package/.next/static/media/KaTeX_Math-Italic.2vkekfblmz5nb.ttf +0 -0
  1005. package/.next/static/media/KaTeX_Math-Italic.32405s1aq8vas.woff2 +0 -0
  1006. package/.next/static/media/KaTeX_SansSerif-Bold.0h3wi2z_eouyg.woff2 +0 -0
  1007. package/.next/static/media/KaTeX_SansSerif-Bold.1ovw5p-yjp56g.woff +0 -0
  1008. package/.next/static/media/KaTeX_SansSerif-Bold.2d03q85pwxpti.ttf +0 -0
  1009. package/.next/static/media/KaTeX_SansSerif-Italic.0wkjc4dm2kcit.woff2 +0 -0
  1010. package/.next/static/media/KaTeX_SansSerif-Italic.1qavw__2zz8gk.woff +0 -0
  1011. package/.next/static/media/KaTeX_SansSerif-Italic.3i-q087b23-m8.ttf +0 -0
  1012. package/.next/static/media/KaTeX_SansSerif-Regular.1i4afx8nk8n4r.woff +0 -0
  1013. package/.next/static/media/KaTeX_SansSerif-Regular.2peiewu59z3d-.woff2 +0 -0
  1014. package/.next/static/media/KaTeX_SansSerif-Regular.31pbu25feko_c.ttf +0 -0
  1015. package/.next/static/media/KaTeX_Script-Regular.11h14300o9pd0.woff2 +0 -0
  1016. package/.next/static/media/KaTeX_Script-Regular.28p_x7iz71ofe.ttf +0 -0
  1017. package/.next/static/media/KaTeX_Script-Regular.3110jb9c-bxna.woff +0 -0
  1018. package/.next/static/media/KaTeX_Size1-Regular.03lhvx36ekcou.woff2 +0 -0
  1019. package/.next/static/media/KaTeX_Size1-Regular.1slf4bh0hc6vm.woff +0 -0
  1020. package/.next/static/media/KaTeX_Size1-Regular.1y57-ck23ey8c.ttf +0 -0
  1021. package/.next/static/media/KaTeX_Size2-Regular.0-kwyvx03omo8.woff +0 -0
  1022. package/.next/static/media/KaTeX_Size2-Regular.14s5gg-puz6h-.woff2 +0 -0
  1023. package/.next/static/media/KaTeX_Size2-Regular.2u0s-b07k2o9m.ttf +0 -0
  1024. package/.next/static/media/KaTeX_Size3-Regular.04o9a_02gu_e8.woff +0 -0
  1025. package/.next/static/media/KaTeX_Size3-Regular.1n1rgzz84z8r9.woff2 +0 -0
  1026. package/.next/static/media/KaTeX_Size3-Regular.1pkn-dge4q0fv.ttf +0 -0
  1027. package/.next/static/media/KaTeX_Size4-Regular.2sgotkdv3dcyv.woff2 +0 -0
  1028. package/.next/static/media/KaTeX_Size4-Regular.2uelkfk2yna5e.ttf +0 -0
  1029. package/.next/static/media/KaTeX_Size4-Regular.3p2r1l7xmebxv.woff +0 -0
  1030. package/.next/static/media/KaTeX_Typewriter-Regular.11gr2d2wuwz77.woff2 +0 -0
  1031. package/.next/static/media/KaTeX_Typewriter-Regular.12f8myjij3617.woff +0 -0
  1032. package/.next/static/media/KaTeX_Typewriter-Regular.3nee9kjfy6nm8.ttf +0 -0
  1033. package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
  1034. package/README.md +35 -2
  1035. package/bin/wrong-notebook.js +60 -0
  1036. package/launcher.js +177 -0
  1037. package/package.json +44 -4
  1038. package/prisma/migrations/20251127143435_init/migration.sql +62 -0
  1039. package/prisma/migrations/20251129152530_init/migration.sql +40 -0
  1040. package/prisma/migrations/20251130150624_add_education_info/migration.sql +6 -0
  1041. package/prisma/migrations/20251130161659_init/migration.sql +2 -0
  1042. package/prisma/migrations/20251201050917_add_admin_role/migration.sql +21 -0
  1043. package/prisma/migrations/20251203155126_cascade_delete_subject_error_items/migration.sql +29 -0
  1044. package/prisma/migrations/20251213132347_add_knowledge_tag_model/migration.sql +38 -0
  1045. package/prisma/migrations/20251219014445_fix_tag_constraints/migration.sql +11 -0
  1046. package/prisma/migrations/20260427090000_add_mistake_analysis_fields/migration.sql +4 -0
  1047. package/prisma/migrations/20260608000000_add_geogebra_commands/migration.sql +2 -0
  1048. package/prisma/migrations/20261018120000_add_practice_mastery_exam/migration.sql +103 -0
  1049. package/prisma/migrations/20261018133653_add_duplicate_import_details/migration.sql +4 -0
  1050. package/prisma/migrations/20261018134606_add_question_duplicate_threshold/migration.sql +2 -0
  1051. package/prisma/migrations/20261019090000_add_user_enable_geogebra/migration.sql +2 -0
  1052. package/prisma/migrations/20261019120000_lower_question_duplicate_threshold_default/migration.sql +27 -0
  1053. package/prisma/migrations/20261019150000_add_error_item_difficulty_stars/migration.sql +2 -0
  1054. package/prisma/migrations/20261019170000_add_notebook_stage_subject/migration.sql +17 -0
  1055. package/prisma/migrations/20261019190000_add_question_figure_svg/migration.sql +6 -0
  1056. package/prisma/migrations/20261019210000_add_svg_animation/migration.sql +3 -0
  1057. package/prisma/migrations/20261019230000_exam_question_multiple_results/migration.sql +40 -0
  1058. package/prisma/migrations/migration_lock.toml +3 -0
  1059. package/prisma/schema.prisma +222 -0
  1060. package/prisma/seed.db +0 -0
  1061. package/public/file.svg +1 -0
  1062. package/public/globe.svg +1 -0
  1063. package/public/icons/icon.png +0 -0
  1064. package/public/next.svg +1 -0
  1065. package/public/vercel.svg +1 -0
  1066. package/public/window.svg +1 -0
  1067. package/server.js +38 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,28298,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useRouterBFCache",{enumerable:!0,get:function(){return l}});let n=e.r(71645);function l(e,t,r){let[l,u]=(0,n.useState)(()=>({tree:e,cacheNode:t,stateKey:r,next:null}));if(l.tree===e)return l;let a={tree:e,cacheNode:t,stateKey:r,next:null},o=1,d=l,s=a;for(;null!==d&&o<1;){if(d.stateKey===r){s.next=d.next;break}{o++;let e={tree:d.tree,cacheNode:d.cacheNode,stateKey:d.stateKey,next:null};s.next=e,s=e}d=d.next}return u(a),a}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},47257,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientPageRoot",{enumerable:!0,get:function(){return s}});let n=e.r(18050),l=e.r(8372),u=e.r(71645),a=e.r(33906),o=e.r(61994),d=e.r(15783);function s({Component:e,serverProvidedParams:t}){let r,i;if(null!==t)r=t.searchParams,i=t.params;else{let e=(0,u.use)(l.LayoutRouterContext);i=null!==e?e.parentParams:{},r=(0,a.urlSearchParamsToParsedUrlQuery)((0,u.use)(o.SearchParamsContext))}let c=(0,d.createClientSearchParams)(r),f=(0,d.createClientParams)(i);return(0,n.jsx)(e,{params:f,searchParams:c})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92825,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientSegmentRoot",{enumerable:!0,get:function(){return o}});let n=e.r(18050),l=e.r(8372),u=e.r(71645),a=e.r(15783);function o({Component:e,slots:t,serverProvidedParams:r}){let d;if(null!==r)d=r.params;else{let e=(0,u.use)(l.LayoutRouterContext);d=null!==e?e.parentParams:{}}let s=(0,a.createClientParams)(d);return(0,n.jsx)(e,{...t,params:s})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68017,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return i}});let n=e.r(90809),l=e.r(18050),u=n._(e.r(71645)),a=e.r(90373),o=e.r(54394),d=e.r(8372);class s extends u.default.Component{constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}componentDidCatch(){}static getDerivedStateFromError(e){if((0,o.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,o.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:u}=this.state,a={[o.HTTPAccessErrorStatus.NOT_FOUND]:e,[o.HTTPAccessErrorStatus.FORBIDDEN]:t,[o.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(u){let d=u===o.HTTPAccessErrorStatus.NOT_FOUND&&e,s=u===o.HTTPAccessErrorStatus.FORBIDDEN&&t,i=u===o.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return d||s||i?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("meta",{name:"robots",content:"noindex"}),!1,a[u]]}):n}return n}}function i({notFound:e,forbidden:t,unauthorized:r,children:n}){let o=(0,a.useUntrackedPathname)(),c=(0,u.useContext)(d.MissingSlotContext);return e||t||r?(0,l.jsx)(s,{pathname:o,notFound:e,forbidden:t,unauthorized:r,missingSlots:c,children:n}):(0,l.jsx)(l.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22976,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={InstantValidationBoundaryContext:function(){return u},PlaceValidationBoundaryBelowThisLevel:function(){return a},RenderValidationBoundaryAtThisLevel:function(){return o},SlotMarker:function(){return d}};for(var l in n)Object.defineProperty(r,l,{enumerable:!0,get:n[l]});let u=null,a=null,o=null,d=null;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},77694,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={InstantValidationBoundaryContext:function(){return u.InstantValidationBoundaryContext},PlaceValidationBoundaryBelowThisLevel:function(){return u.PlaceValidationBoundaryBelowThisLevel},RenderValidationBoundaryAtThisLevel:function(){return u.RenderValidationBoundaryAtThisLevel},SlotMarker:function(){return u.SlotMarker}};for(var l in n)Object.defineProperty(r,l,{enumerable:!0,get:n[l]});let u=e.r(22976);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},39756,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={LoadingBoundaryProvider:function(){return C},default:function(){return T}};for(var l in n)Object.defineProperty(r,l,{enumerable:!0,get:n[l]});let u=e.r(55682),a=e.r(90809),o=e.r(18050),d=a._(e.r(71645)),s=u._(e.r(74080)),i=e.r(8372),c=e.r(1244),f=e.r(72383),p=e.r(91915),y=e.r(58442),m=e.r(68017);e.r(77694);let b=e.r(70725),_=e.r(28298);e.r(74180);let h=e.r(61994),P=e.r(33906),v=e.r(95871);s.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function g(e,t,r){let n=e.getClientRects();if(0===n.length)return 0;let l=1/0;for(let e=0;e<n.length;e++){let t=n[e];t.top<l&&(l=t.top)}return l>=r()&&l<=t?1:2}d.default.Component;let j=function(e){let t=d.default.useRef(null);return(0,d.useLayoutEffect)(()=>{let{focusAndScrollRef:r,cacheNode:n}=e,l=r.forceScroll?r.scrollRef:n.scrollRef;if(null===l||!l.current)return;let u=null,a=r.hashFragment;if(a){var o;if(null===(u="top"===(o=a)?document.body:document.getElementById(o)??document.getElementsByName(o)[0]??null)){l.current=!1,r.onlyHashChange=!1,r.hashFragment=null;return}}else u=t.current;if(null===u)return;let d=!1;(0,p.disableSmoothScrollDuringRouteTransition)(()=>{let e=document.documentElement,t=null,r=null,n=null,o=()=>{var r,l;let u,a;return null===n&&(r=e,l=t,n=!Number.isFinite(a=Number.parseFloat(u=getComputedStyle(r).scrollPaddingTop))||a<0?0:u.endsWith("px")?a:u.endsWith("%")?a/100*l:0),n};(a||(t=e.clientHeight,0!==(r=g(u,t,o))))&&((d=!0,l.current=!1,a)?u.scrollIntoView():1!==r&&(e.scrollTop=0,2===g(u,t,o)&&u.scrollIntoView()))},{dontForceLayout:!0,onlyHashChange:r.onlyHashChange}),d&&(r.onlyHashChange=!1,r.hashFragment=null)},void 0),(0,o.jsx)(d.Fragment,{ref:t,children:e.children})};function O({children:e,cacheNode:t}){let r=(0,d.useContext)(i.GlobalLayoutRouterContext);if(!r)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,o.jsx)(j,{focusAndScrollRef:r.focusAndScrollRef,cacheNode:t,children:e})}function x({tree:e,segmentPath:t,debugNameContext:r,cacheNode:n,params:l,url:u,isActive:a}){let s,f=(0,d.useContext)(i.GlobalLayoutRouterContext);if((0,d.useContext)(h.NavigationPromisesContext),!f)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let p=null!==n?n:(0,d.use)(c.unresolvedThenable),y=null!==p.prefetchRsc?p.prefetchRsc:p.rsc,m=(0,d.useDeferredValue)(p.rsc,y);if((0,v.isDeferredRsc)(m)){let e=(0,d.use)(m);null===e&&(0,d.use)(c.unresolvedThenable),s=e}else null===m&&(0,d.use)(c.unresolvedThenable),s=m;let b=s;return(0,o.jsx)(i.LayoutRouterContext.Provider,{value:{parentTree:e,parentCacheNode:p,parentSegmentPath:t,parentParams:l,parentLoadingData:null,debugNameContext:r,url:u,isActive:a},children:b})}function C({loading:e,children:t}){let r=(0,d.use)(i.LayoutRouterContext);return null===r?t:(0,o.jsx)(i.LayoutRouterContext.Provider,{value:{parentTree:r.parentTree,parentCacheNode:r.parentCacheNode,parentSegmentPath:r.parentSegmentPath,parentParams:r.parentParams,parentLoadingData:e,debugNameContext:r.debugNameContext,url:r.url,isActive:r.isActive},children:t})}function R({name:e,loading:t,children:r}){if(null!==t){let n=t[0],l=t[1],u=t[2];return(0,o.jsx)(d.Suspense,{name:e,fallback:(0,o.jsxs)(o.Fragment,{children:[l,u,n]}),children:r})}return(0,o.jsx)(o.Fragment,{children:r})}function T({parallelRouterKey:e,error:t,errorStyles:r,errorScripts:n,templateStyles:l,templateScripts:u,template:a,notFound:s,forbidden:p,unauthorized:h,segmentViewBoundaries:v}){let g=(0,d.useContext)(i.LayoutRouterContext);if(!g)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:j,parentCacheNode:C,parentSegmentPath:S,parentParams:M,parentLoadingData:E,url:N,isActive:F,debugNameContext:A}=g,B=j[0],D=null===S?[e]:S.concat([B,e]),L=j[1][e],H=C.slots;(void 0===L||null===H)&&(0,d.use)(c.unresolvedThenable);let w=L[0],k=H[e]??null,U=(0,b.createRouterCacheKey)(w,!0),V=(0,_.useRouterBFCache)(L,k,U),I=[];do{let e=V.tree,d=V.cacheNode,c=V.stateKey,b=e[0],_=M;if(Array.isArray(b)){let e=b[0],t=b[1],r=b[2],n=(0,P.getParamValueFromCacheKey)(t,r);null!==n&&(_={...M,[e]:n})}let v=function(e){if("/"===e)return"/";if("string"==typeof e)if("(__SLOT__)"===e)return;else return e+"/";return e[1]+"/"}(b),g=v??A,j=void 0===v?void 0:A,C=(0,o.jsxs)(O,{cacheNode:d,children:[(0,o.jsx)(f.ErrorBoundary,{errorComponent:t,errorStyles:r,errorScripts:n,children:(0,o.jsx)(R,{name:j,loading:E,children:(0,o.jsx)(m.HTTPAccessFallbackBoundary,{notFound:s,forbidden:p,unauthorized:h,children:(0,o.jsxs)(y.RedirectBoundary,{children:[(0,o.jsx)(x,{url:N,tree:e,params:_,cacheNode:d,segmentPath:D,debugNameContext:g,isActive:F&&c===U}),null]})})})}),null]}),T=(0,o.jsxs)(i.TemplateContext.Provider,{value:C,children:[l,u,a]},c);I.push(T),V=V.next}while(null!==V)return I}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},37457,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(90809),l=e.r(18050),u=n._(e.r(71645)),a=e.r(8372);function o(){let e=(0,u.useContext)(a.TemplateContext);return(0,l.jsx)(l.Fragment,{children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},6831,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return l}});let n=new WeakMap;function l(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97689,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(6831).createRenderParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},93504,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return l}});let n=new WeakMap;function l(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66996,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(93504).createRenderSearchParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},15783,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createClientParams:function(){return u.createRenderParamsFromClient},createClientSearchParams:function(){return a.createRenderSearchParamsFromClient}};for(var l in n)Object.defineProperty(r,l,{enumerable:!0,get:n[l]});let u=e.r(97689),a=e.r(66996);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},27201,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"IconMark",{enumerable:!0,get:function(){return l}});let n=e.r(18050),l=()=>"u">typeof window?null:(0,n.jsx)("meta",{name:"«nxt-icon»"})},91915,(e,t,r)=>{"use strict";function n(e,t={}){if(t.onlyHashChange)return void e();let r=document.documentElement;if("smooth"!==r.dataset.scrollBehavior)return void e();let l=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=l}e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return n}})}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,71689,e=>{"use strict";let s=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,s],71689)},66944,e=>{"use strict";var s=e.i(18050),t=e.i(71645),r=e.i(18566),a=e.i(19455),i=e.i(90546),n=e.i(11445),l=e.i(49704),c=e.i(41931),o=e.i(11110),m=e.i(35209),d=e.i(69817);function p(){var e,p,x,u;let h=(0,r.useSearchParams)(),{t:g}=(0,o.useLanguage)(),[w,f]=(0,t.useState)([]);(0,m.usePageTitle)(g.printPreview.title);let[j,v]=(0,t.useState)(!0),[b,N]=(0,t.useState)(!1),[y,S]=(0,t.useState)(!1),[P,k]=(0,t.useState)(!1),[I,T]=(0,t.useState)(70),[A,C]=(0,t.useState)(!1),[E,L]=(0,t.useState)(new Set);(0,t.useEffect)(()=>{R()},[]);let R=async()=>{try{let e=new URLSearchParams(h.toString());e.set("pageSize",String(d.PRINT_PREVIEW_PAGE_SIZE));let s=await c.apiClient.get(`/api/error-items/list?${e.toString()}`);f(s.items),L(new Set(s.items.map(e=>e.id)))}catch(e){console.error(e)}finally{v(!1)}},B=w.filter(e=>E.has(e.id)),$=!b&&!y,_=(e=w.length,(p=B.length)===e?String(e):`${p}/${e}`),U=(x=w.length,u=B.length,0===x?"noItems":0===u?"noSelection":null);return j?(0,s.jsx)("div",{className:"min-h-screen flex items-center justify-center",children:(0,s.jsx)("p",{className:"text-muted-foreground",children:g.common.loading})}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"print:hidden sticky top-0 z-10 bg-background border-b p-3 sm:p-4 shadow-sm",children:(0,s.jsxs)("div",{className:"max-w-6xl mx-auto space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)(i.BackButton,{fallbackUrl:"/notebooks"}),(0,s.jsxs)("h1",{className:"text-lg sm:text-xl font-bold flex-1",children:[g.printPreview?.title||"Print Preview"," (",_," ",g.notebooks?.items||"items",")"]}),(0,s.jsx)(a.Button,{onClick:()=>{window.print()},size:"sm",className:"whitespace-nowrap",disabled:0===B.length,children:g.printPreview?.printButton||"Print / Save PDF"})]}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2 sm:gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm bg-muted/50 px-2 sm:px-3 py-1 rounded-md",children:[(0,s.jsxs)("span",{className:"whitespace-nowrap text-xs sm:text-sm",children:[g.printPreview?.imageScale||"Image Scale",": ",I,"%"]}),(0,s.jsx)("input",{type:"range",min:"30",max:"100",value:I,onChange:e=>T(Number(e.target.value)),className:"w-16 sm:w-20 accent-primary"})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-1 sm:gap-4",children:[(0,s.jsxs)("label",{className:"flex items-center gap-1.5 text-xs sm:text-sm cursor-pointer whitespace-nowrap hover:text-primary transition-colors",children:[(0,s.jsx)("input",{type:"checkbox",checked:A,onChange:e=>C(e.target.checked),className:"rounded border-gray-300 text-primary focus:ring-primary w-3.5 h-3.5 sm:w-4 sm:h-4"}),g.printPreview?.showQuestionText||"Question Text"]}),(0,s.jsxs)("label",{className:"flex items-center gap-1.5 text-xs sm:text-sm cursor-pointer whitespace-nowrap hover:text-primary transition-colors",children:[(0,s.jsx)("input",{type:"checkbox",checked:b,onChange:e=>N(e.target.checked),className:"rounded border-gray-300 text-primary focus:ring-primary w-3.5 h-3.5 sm:w-4 sm:h-4"}),g.printPreview?.showAnswers||"Show Answers"]}),(0,s.jsxs)("label",{className:"flex items-center gap-1.5 text-xs sm:text-sm cursor-pointer whitespace-nowrap hover:text-primary transition-colors",children:[(0,s.jsx)("input",{type:"checkbox",checked:y,onChange:e=>S(e.target.checked),className:"rounded border-gray-300 text-primary focus:ring-primary w-3.5 h-3.5 sm:w-4 sm:h-4"}),g.printPreview?.showAnalysis||"Show Analysis"]}),(0,s.jsxs)("label",{className:"flex items-center gap-1.5 text-xs sm:text-sm cursor-pointer whitespace-nowrap hover:text-primary transition-colors",children:[(0,s.jsx)("input",{type:"checkbox",checked:P,onChange:e=>k(e.target.checked),className:"rounded border-gray-300 text-primary focus:ring-primary w-3.5 h-3.5 sm:w-4 sm:h-4"}),g.printPreview?.showTags||"Show Tags"]})]})]}),(0,s.jsxs)("div",{className:"rounded-md border bg-muted/20 p-3 space-y-2",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,s.jsxs)("div",{className:"text-sm font-medium",children:[g.printPreview?.selectItems||"Select Items"," (",B.length,"/",w.length,")"]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>{L(new Set(w.map(e=>e.id)))},children:g.printPreview?.selectAll||"Select All"}),(0,s.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>{L(new Set)},children:g.printPreview?.clearSelection||"Clear Selection"})]})]}),(0,s.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3 max-h-44 overflow-y-auto pr-1",children:w.map((e,t)=>(0,s.jsxs)("label",{className:"flex items-start gap-2 rounded border bg-background p-2 text-xs cursor-pointer hover:border-primary/50",children:[(0,s.jsx)("input",{type:"checkbox",checked:E.has(e.id),onChange:()=>{var s;return s=e.id,void L(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})},className:"mt-0.5 rounded border-gray-300 text-primary focus:ring-primary"}),(0,s.jsxs)("span",{className:"line-clamp-2",children:[(0,s.jsx)("span",{className:"font-semibold",children:g.printPreview?.questionNumber?.replace("{num}",String(t+1))||`Question ${t+1}`}),e.questionText?`:${e.questionText}`:""]})]},e.id))})]})]})}),(0,s.jsxs)("div",{className:"max-w-4xl mx-auto p-8 print:p-0",children:[B.map((e,t)=>{let r=[];if(e.tags&&e.tags.length>0)r=e.tags.map(e=>e.name);else try{r=JSON.parse(e.knowledgePoints||"[]")}catch(e){r=[]}return(0,s.jsxs)("div",{className:`mb-4 border-b last:border-b-0 print:break-inside-avoid ${$?"pb-20 print:pb-16":"pb-6"}`,children:[(0,s.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-x-4 gap-y-2 leading-7",children:[(0,s.jsx)("span",{className:"text-lg font-bold",children:g.printPreview?.questionNumber?.replace("{num}",String(t+1))||`Question ${t+1}`}),e.shortId&&(0,s.jsx)("span",{className:"font-mono text-sm text-muted-foreground whitespace-nowrap",children:g.printPreview.source.replace("{id}",e.shortId)}),e.subject&&(0,s.jsx)("span",{className:"text-sm text-muted-foreground",children:e.subject.name}),e.gradeSemester&&(0,s.jsx)("span",{className:"text-sm text-muted-foreground",children:e.gradeSemester}),e.paperLevel&&(0,s.jsxs)("span",{className:"text-sm text-muted-foreground",children:[g.printPreview?.paperLevel||"Paper Level",": ",e.paperLevel.toUpperCase()]}),P&&r.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("span",{className:"font-semibold",children:[g.printPreview?.knowledgePoints||"Knowledge Points",":"]}),r.map((e,t)=>(0,s.jsx)("span",{className:"px-2 py-1 bg-muted rounded text-sm",children:e},`${e}-${t}`))]})]}),A&&e.questionText?(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsx)(n.MarkdownRenderer,{content:e.questionText}),(0,s.jsx)(l.QuestionFigure,{svg:e.figureSvg})]}):e.originalImageUrl&&(0,s.jsx)("div",{className:"mb-4",children:(0,s.jsx)("img",{src:e.originalImageUrl,alt:g.detail?.originalProblem||"Question Image",className:"h-auto border rounded",style:{maxWidth:`${I}%`}})}),b&&e.answerText&&(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsxs)("h3",{className:"font-semibold mb-2",children:[g.printPreview?.referenceAnswer||"Reference Answer",":"]}),(0,s.jsx)(n.MarkdownRenderer,{content:e.answerText})]}),y&&e.analysis&&(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsxs)("h3",{className:"font-semibold mb-2",children:[g.printPreview?.analysis||"Analysis",":"]}),(0,s.jsx)(n.MarkdownRenderer,{content:e.analysis})]})]},e.id)}),U&&(0,s.jsx)("div",{className:"text-center py-12 text-muted-foreground",children:"noSelection"===U?g.printPreview?.noSelection||"No items selected":g.printPreview?.noItems||"No matching error items"})]})]})}e.s(["default",0,function(){let{t:e}=(0,o.useLanguage)();return(0,s.jsx)(t.Suspense,{fallback:(0,s.jsx)("div",{className:"min-h-screen flex items-center justify-center",children:e.common.loading}),children:(0,s.jsx)(p,{})})}],66944)},49704,e=>{"use strict";var s=e.i(18050),t=e.i(11110),r=e.i(75157);e.s(["QuestionFigure",0,function({svg:e,className:a}){let{t:i}=(0,t.useLanguage)();return e?(0,s.jsx)("figure",{className:(0,r.cn)("question-figure my-3",a),children:(0,s.jsx)("img",{src:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`,alt:i.figure.alt,className:"mx-auto block h-auto max-w-full rounded border bg-white p-2",style:{maxHeight:360}})}):null}],49704)},90546,e=>{"use strict";var s=e.i(18050),t=e.i(18566),r=e.i(19455),a=e.i(71689);e.s(["BackButton",0,function({fallbackUrl:e,className:i}){let n=(0,t.useRouter)();return(0,s.jsx)(r.Button,{variant:"ghost",size:"icon",onClick:()=>{n.push(e)},className:i,children:(0,s.jsx)(a.ArrowLeft,{className:"h-5 w-5"})})}])},69817,e=>{"use strict";e.s(["DEFAULT_PAGE_SIZE",0,18,"MAX_VISIBLE_PAGES",0,5,"PRINT_PREVIEW_PAGE_SIZE",0,200])},35209,e=>{"use strict";var s=e.i(71645),t=e.i(11110);e.s(["usePageTitle",0,function(...e){let{t:r}=(0,t.useLanguage)(),a=[r.pageTitle.base,...e.map(e=>"string"==typeof e?e.trim():"").filter(e=>e.length>0)].join("-");(0,s.useEffect)(()=>{document.title=a},[a])}])}]);
@@ -0,0 +1 @@
1
+ @keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,71689,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],71689)},8821,e=>{"use strict";let t=(0,e.i(75254).default)("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);e.s(["default",0,t])},52801,e=>{"use strict";var t=e.i(18050),a=e.i(71645),s=e.i(22016),r=e.i(15519),n=e.i(30691),i=e.i(78583),l=e.i(7233),c=e.i(19455),d=e.i(15288),o=e.i(12505),u=e.i(93842),m=e.i(86963),x=e.i(18566),p=e.i(31278),h=e.i(8821),h=h,f=e.i(57428),g=e.i(93479),j=e.i(10204),b=e.i(88218),v=e.i(11110),y=e.i(41931);let N=["unmastered","mastered","all"],k=["least_practiced","random"],w=["easy","medium","hard","harder"];function C(){let{t:e,language:s}=(0,v.useLanguage)(),r=(0,x.useRouter)(),[n,i]=(0,a.useState)([]),[l,o]=(0,a.useState)([]),[u,m]=(0,a.useState)([]),[C,S]=(0,a.useState)("unmastered"),[E,R]=(0,a.useState)("least_practiced"),[L,P]=(0,a.useState)(10),[T,B]=(0,a.useState)("medium"),[M,_]=(0,a.useState)(""),[I,$]=(0,a.useState)(!1),[D,H]=(0,a.useState)(null);(0,a.useEffect)(()=>{y.apiClient.get("/api/notebooks").then(e=>{i(e),1===e.length&&o([e[0].id])}).catch(()=>i([]))},[]);let F=async t=>{if(t.preventDefault(),0===l.length)return void H(e.exam.noNotebook);$(!0),H(null);try{let e=await y.apiClient.post("/api/exams",{subjectIds:l,tagNames:u,scope:C,pickRule:E,count:L,difficulty:T,title:M.trim()||void 0,language:s});r.push(`/exams/${e.id}`)}catch(t){H("NO_SOURCE_ITEMS"===t?.data?.message?e.exam.noSource:e.common.messages?.saveFailed||"Failed"),$(!1)}},A=e.practice.difficulty;return(0,t.jsxs)(d.Card,{children:[(0,t.jsx)(d.CardHeader,{children:(0,t.jsx)(d.CardTitle,{className:"text-lg",children:e.exam.createTitle})}),(0,t.jsx)(d.CardContent,{children:(0,t.jsxs)("form",{onSubmit:F,className:"space-y-5",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(j.Label,{children:e.exam.notebooks}),n.length>1&&(0,t.jsx)("button",{type:"button",className:"text-xs text-primary hover:underline",onClick:()=>o(l.length===n.length?[]:n.map(e=>e.id)),children:e.exam.selectAll})]}),(0,t.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-2",children:n.map(e=>(0,t.jsxs)("label",{className:"flex items-center gap-2 rounded-md border p-2 text-sm cursor-pointer hover:bg-muted/50",children:[(0,t.jsx)(f.Checkbox,{checked:l.includes(e.id),onCheckedChange:()=>{var t;return t=e.id,void o(e=>e.includes(t)?e.filter(e=>e!==t):[...e,t])}}),(0,t.jsx)("span",{className:"truncate",children:e.name}),(0,t.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:e._count?.errorItems??""})]},e.id))})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(j.Label,{children:e.exam.tags}),(0,t.jsx)(b.TagInput,{value:u,onChange:m,placeholder:e.exam.tagsPlaceholder})]}),(0,t.jsxs)("div",{className:"grid gap-4 sm:grid-cols-3",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(j.Label,{children:e.exam.scope}),(0,t.jsx)("div",{className:"grid grid-cols-3 gap-1 rounded-md bg-muted p-1",children:N.map(a=>(0,t.jsx)("button",{type:"button",onClick:()=>S(a),className:`rounded px-2 py-1.5 text-sm transition-colors ${C===a?"bg-background shadow-sm font-medium":"text-muted-foreground"}`,children:e.exam.scopes[a]},a))})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(j.Label,{htmlFor:"exam-count",children:e.exam.count}),(0,t.jsx)(g.Input,{id:"exam-count",type:"number",min:1,max:50,value:L,onChange:e=>P(Math.min(50,Math.max(1,parseInt(e.target.value,10)||1)))})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(j.Label,{htmlFor:"exam-difficulty",children:e.exam.difficulty}),(0,t.jsx)("select",{id:"exam-difficulty",value:T,onChange:e=>B(e.target.value),className:"h-9 w-full rounded-md border bg-background px-3 text-sm",children:w.map(e=>(0,t.jsx)("option",{value:e,children:A[e]},e))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(j.Label,{children:e.exam.pickRule}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-1 rounded-md bg-muted p-1 sm:max-w-sm",children:k.map(a=>(0,t.jsx)("button",{type:"button",onClick:()=>R(a),className:`rounded px-2 py-1.5 text-sm transition-colors ${E===a?"bg-background shadow-sm font-medium":"text-muted-foreground"}`,children:e.exam.pickRules[a]},a))}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e.exam.pickRuleHints[E]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(j.Label,{htmlFor:"exam-title",children:e.exam.titleLabel}),(0,t.jsx)(g.Input,{id:"exam-title",value:M,maxLength:100,onChange:e=>_(e.target.value)})]}),D&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:D}),(0,t.jsxs)(c.Button,{type:"submit",disabled:I,className:"w-full sm:w-auto",children:[I?(0,t.jsx)(p.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,t.jsx)(h.default,{className:"mr-2 h-4 w-4"}),I?e.exam.creating:e.exam.generate]})]})})]})}var S=e.i(63661),E=e.i(35209);e.s(["default",0,function(){let{timeZone:e}=(0,r.useTimeZone)(),{t:x}=(0,v.useLanguage)();(0,E.usePageTitle)(x.exam.title);let[p,h]=(0,a.useState)(null),[f,g]=(0,a.useState)(!1);(0,a.useEffect)(()=>{y.apiClient.get("/api/exams").then(e=>{h(e),0===e.length&&g(!0)}).catch(()=>h([]))},[]);let j=x.practice.difficulty;return(0,t.jsx)("main",{className:"mx-auto min-h-screen max-w-6xl px-4 py-6 md:px-8 md:py-8",children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(u.PageHeader,{title:x.exam.title,description:x.exam.subtitle,actions:!f&&(0,t.jsxs)(c.Button,{onClick:()=>g(!0),"aria-label":x.exam.create,children:[(0,t.jsx)(l.Plus,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:x.exam.create})]})}),f&&(0,t.jsx)(C,{}),(0,t.jsxs)("section",{className:"space-y-3",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:x.exam.list}),null===p?(0,t.jsx)(m.PageLoading,{}):0===p.length?(0,t.jsx)(o.EmptyState,{icon:i.FileText,title:x.exam.empty,className:"py-10"}):(0,t.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:p.map(a=>(0,t.jsx)(s.default,{href:`/exams/${a.id}`,children:(0,t.jsx)(d.Card,{className:"h-full rounded-2xl transition-all hover:-translate-y-0.5 hover:border-primary/40 hover:shadow-md",children:(0,t.jsxs)(d.CardContent,{className:"space-y-2 pt-4",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2 font-medium",children:[(0,t.jsx)(i.FileText,{className:"h-4 w-4 shrink-0 text-primary"}),a.title]}),(0,t.jsx)(S.ExamStatusBadge,{status:a.status})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{children:(0,n.formatDateTime)(a.createdAt,"yyyy-MM-dd HH:mm",e)}),(0,t.jsx)("span",{children:x.exam.questionCount.replace("{count}",String(a.questionCount))}),(0,t.jsx)("span",{children:x.exam.scopes[a.scope]}),(0,t.jsx)("span",{children:j[a.difficulty]||a.difficulty}),(0,t.jsx)("span",{children:a.recordedCount>0?x.exam.recorded:x.exam.notRecorded})]})]})})},a.id))})]})]})})}],52801)},63661,e=>{"use strict";var t=e.i(18050),a=e.i(87486),s=e.i(11110);let r={generating:"bg-blue-100 text-blue-700 border-blue-200",ready:"bg-green-100 text-green-700 border-green-200",partial:"bg-amber-100 text-amber-700 border-amber-200",failed:"bg-red-100 text-red-700 border-red-200"};e.s(["ExamStatusBadge",0,function({status:e}){let{t:n}=(0,s.useLanguage)();return(0,t.jsx)(a.Badge,{variant:"outline",className:r[e],children:n.exam.status[e]})}])},88218,e=>{"use strict";var t=e.i(18050),a=e.i(71645),s=e.i(37727),r=e.i(87486),n=e.i(93479),i=e.i(41931);e.s(["TagInput",0,function({value:e=[],onChange:l,placeholder:c="Enter tags...",className:d="",enterHint:o,subject:u,gradeStage:m}){let[x,p]=(0,a.useState)(""),[h,f]=(0,a.useState)([]),[g,j]=(0,a.useState)(!1),[b,v]=(0,a.useState)(0),y=(0,a.useRef)(null),N=(0,a.useRef)(null);(0,a.useEffect)(()=>{x.trim()?k(x):(f([]),j(!1))},[x,u,m]);let k=async t=>{try{let a=new URLSearchParams({q:t});u&&a.append("subject",u),m&&a.append("stage",m);let s=((await i.apiClient.get(`/api/tags/suggestions?${a.toString()}`)).suggestions||[]).filter(t=>!e.includes(t));f(s.slice(0,20)),j(s.length>0),v(0)}catch(e){console.error("Failed to fetch suggestions:",e)}},w=t=>{t.trim()&&!e.includes(t.trim())&&(l([...e,t.trim()]),p(""),f([]),j(!1),v(0))},C=t=>{l(e.filter(e=>e!==t))};return(0,a.useEffect)(()=>{let e=e=>{!N.current||N.current.contains(e.target)||y.current?.contains(e.target)||j(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,t.jsxs)("div",{className:`relative ${d}`,children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-2 p-2 border rounded-lg bg-background min-h-[42px]",children:[e.map(e=>(0,t.jsxs)(r.Badge,{variant:"secondary",className:"flex items-center gap-1 px-2 py-1",children:[e,(0,t.jsx)("button",{type:"button",onClick:()=>C(e),className:"hover:text-destructive ml-1",children:(0,t.jsx)(s.X,{className:"h-3 w-3"})})]},e)),(0,t.jsx)(n.Input,{ref:y,type:"text",value:x,onChange:e=>p(e.target.value),onKeyDown:t=>{"Enter"===t.key?(t.preventDefault(),b>=0&&h[b]?w(h[b]):x.trim()&&w(x)):"ArrowDown"===t.key?(t.preventDefault(),v(e=>Math.min(e+1,h.length-1))):"ArrowUp"===t.key?(t.preventDefault(),v(e=>Math.max(e-1,0))):"Escape"===t.key?(j(!1),v(0)):"Backspace"===t.key&&!x&&e.length>0&&C(e[e.length-1])},onFocus:()=>{h.length>0&&j(!0)},placeholder:0===e.length?c:"",className:"flex-1 min-w-[120px] border-none focus-visible:ring-0 focus-visible:ring-offset-0 h-8 px-0"})]}),g&&h.length>0&&(0,t.jsx)("div",{ref:N,className:"absolute z-50 w-full mt-1 bg-popover border rounded-md shadow-md max-h-48 overflow-y-auto",children:h.map((e,a)=>(0,t.jsx)("div",{className:`px-3 py-2 cursor-pointer hover:bg-accent ${a===b?"bg-accent":""}`,onClick:()=>w(e),onMouseEnter:()=>v(a),children:e},e))}),x&&!g&&(0,t.jsx)("div",{className:"text-xs text-muted-foreground mt-1",children:o?`${o} "${x}"`:`Press Enter to create "${x}"`})]})}])},90546,e=>{"use strict";var t=e.i(18050),a=e.i(18566),s=e.i(19455),r=e.i(71689);e.s(["BackButton",0,function({fallbackUrl:e,className:n}){let i=(0,a.useRouter)();return(0,t.jsx)(s.Button,{variant:"ghost",size:"icon",onClick:()=>{i.push(e)},className:n,children:(0,t.jsx)(r.ArrowLeft,{className:"h-5 w-5"})})}])},15288,e=>{"use strict";var t=e.i(18050),a=e.i(75157);e.s(["Card",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...s})},"CardContent",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",e),...s})},"CardDescription",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",e),...s})},"CardHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...s})},"CardTitle",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",e),...s})}])},57428,e=>{"use strict";var t=e.i(18050),a=e.i(71645),s=e.i(20783),r=e.i(30030),n=e.i(81140),i=e.i(69340),l=e.i(99682),c=e.i(35804),d=e.i(96626);e.i(74080);var o=Symbol("radix.slottable");function u(e){return a.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===o}var m=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{var n,i;let l,c,d,o=(i=n=`Primitive.${r}`,(l=a.forwardRef((e,t)=>{let{children:r,...n}=e;if(a.isValidElement(r)){var i;let e,l,c=(i=r,(l=(e=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.ref:(l=(e=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.props.ref:i.props.ref||i.ref),d=function(e,t){let a={...t};for(let s in t){let r=e[s],n=t[s];/^on[A-Z]/.test(s)?r&&n?a[s]=(...e)=>{let t=n(...e);return r(...e),t}:r&&(a[s]=r):"style"===s?a[s]={...r,...n}:"className"===s&&(a[s]=[r,n].filter(Boolean).join(" "))}return{...e,...a}}(n,r.props);return r.type!==a.Fragment&&(d.ref=t?(0,s.composeRefs)(t,c):c),a.cloneElement(r,d)}return a.Children.count(r)>1?a.Children.only(null):null})).displayName=`${i}.SlotClone`,c=l,(d=a.forwardRef((e,s)=>{let{children:r,...n}=e,i=a.Children.toArray(r),l=i.find(u);if(l){let e=l.props.children,r=i.map(t=>t!==l?t:a.Children.count(e)>1?a.Children.only(null):a.isValidElement(e)?e.props.children:null);return(0,t.jsx)(c,{...n,ref:s,children:a.isValidElement(e)?a.cloneElement(e,void 0,r):null})}return(0,t.jsx)(c,{...n,ref:s,children:r})})).displayName=`${n}.Slot`,d),m=a.forwardRef((e,a)=>{let{asChild:s,...n}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(s?o:r,{...n,ref:a})});return m.displayName=`Primitive.${r}`,{...e,[r]:m}},{}),x="Checkbox",[p,h]=(0,r.createContextScope)(x),[f,g]=p(x);function j(e){let{__scopeCheckbox:s,checked:r,children:n,defaultChecked:l,disabled:c,form:d,name:o,onCheckedChange:u,required:m,value:p="on",internal_do_not_use_render:h}=e,[g,j]=(0,i.useControllableState)({prop:r,defaultProp:l??!1,onChange:u,caller:x}),[b,v]=a.useState(null),[y,N]=a.useState(null),k=a.useRef(!1),w=!b||!!d||!!b.closest("form"),C={checked:g,disabled:c,setChecked:j,control:b,setControl:v,name:o,form:d,value:p,hasConsumerStoppedPropagationRef:k,required:m,defaultChecked:!S(l)&&l,isFormControl:w,bubbleInput:y,setBubbleInput:N};return(0,t.jsx)(f,{scope:s,...C,children:"function"==typeof h?h(C):n})}var b="CheckboxTrigger",v=a.forwardRef(({__scopeCheckbox:e,onKeyDown:r,onClick:i,...l},c)=>{let{control:d,value:o,disabled:u,checked:x,required:p,setControl:h,setChecked:f,hasConsumerStoppedPropagationRef:j,isFormControl:v,bubbleInput:y}=g(b,e),N=(0,s.useComposedRefs)(c,h),k=a.useRef(x);return a.useEffect(()=>{let e=d?.form;if(e){let t=()=>f(k.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[d,f]),(0,t.jsx)(m.button,{type:"button",role:"checkbox","aria-checked":S(x)?"mixed":x,"aria-required":p,"data-state":E(x),"data-disabled":u?"":void 0,disabled:u,value:o,...l,ref:N,onKeyDown:(0,n.composeEventHandlers)(r,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,n.composeEventHandlers)(i,e=>{f(e=>!!S(e)||!e),y&&v&&(j.current=e.isPropagationStopped(),j.current||e.stopPropagation())})})});v.displayName=b;var y=a.forwardRef((e,a)=>{let{__scopeCheckbox:s,name:r,checked:n,defaultChecked:i,required:l,disabled:c,value:d,onCheckedChange:o,form:u,...m}=e;return(0,t.jsx)(j,{__scopeCheckbox:s,checked:n,defaultChecked:i,disabled:c,required:l,onCheckedChange:o,name:r,form:u,value:d,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v,{...m,ref:a,__scopeCheckbox:s}),e&&(0,t.jsx)(C,{__scopeCheckbox:s})]})})});y.displayName=x;var N="CheckboxIndicator",k=a.forwardRef((e,a)=>{let{__scopeCheckbox:s,forceMount:r,...n}=e,i=g(N,s);return(0,t.jsx)(d.Presence,{present:r||S(i.checked)||!0===i.checked,children:(0,t.jsx)(m.span,{"data-state":E(i.checked),"data-disabled":i.disabled?"":void 0,...n,ref:a,style:{pointerEvents:"none",...e.style}})})});k.displayName=N;var w="CheckboxBubbleInput",C=a.forwardRef(({__scopeCheckbox:e,...r},n)=>{let{control:i,hasConsumerStoppedPropagationRef:d,checked:o,defaultChecked:u,required:x,disabled:p,name:h,value:f,form:j,bubbleInput:b,setBubbleInput:v}=g(w,e),y=(0,s.useComposedRefs)(n,v),N=(0,l.usePrevious)(o),k=(0,c.useSize)(i);a.useEffect(()=>{if(!b)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!d.current;if(N!==o&&e){let a=new Event("click",{bubbles:t});b.indeterminate=S(o),e.call(b,!S(o)&&o),b.dispatchEvent(a)}},[b,N,o,d]);let C=a.useRef(!S(o)&&o);return(0,t.jsx)(m.input,{type:"checkbox","aria-hidden":!0,defaultChecked:u??C.current,required:x,disabled:p,name:h,value:f,form:j,...r,tabIndex:-1,ref:y,style:{...r.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function S(e){return"indeterminate"===e}function E(e){return S(e)?"indeterminate":e?"checked":"unchecked"}C.displayName=w;var R=e.i(43531),L=e.i(75157);let P=a.forwardRef(({className:e,...a},s)=>(0,t.jsx)(y,{ref:s,className:(0,L.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...a,children:(0,t.jsx)(k,{className:(0,L.cn)("flex items-center justify-center text-current"),children:(0,t.jsx)(R.Check,{className:"h-4 w-4"})})}));P.displayName=y.displayName,e.s(["Checkbox",0,P],57428)},12505,e=>{"use strict";var t=e.i(18050),a=e.i(75157);e.s(["EmptyState",0,function({icon:e,title:s,description:r,action:n,className:i}){return(0,t.jsxs)("div",{className:(0,a.cn)("flex flex-col items-center justify-center rounded-2xl border border-dashed bg-card/50 px-6 py-14 text-center",i),children:[(0,t.jsx)("div",{className:"mb-4 flex h-14 w-14 items-center justify-center rounded-2xl bg-accent text-accent-foreground",children:(0,t.jsx)(e,{className:"h-7 w-7"})}),(0,t.jsx)("p",{className:"font-medium",children:s}),r&&(0,t.jsx)("p",{className:"mt-1 max-w-sm text-sm text-muted-foreground",children:r}),n&&(0,t.jsx)("div",{className:"mt-5",children:n})]})}])},93842,e=>{"use strict";var t=e.i(18050),a=e.i(90546),s=e.i(75157);e.s(["PageHeader",0,function({title:e,description:r,backHref:n,actions:i,titleAddon:l,className:c}){return(0,t.jsxs)("div",{className:(0,s.cn)("flex items-start gap-3",c),children:[n&&(0,t.jsx)(a.BackButton,{fallbackUrl:n,className:"-ml-2 shrink-0"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("h1",{className:"truncate text-2xl font-bold tracking-tight sm:text-3xl",children:e}),l]}),r&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground sm:text-base",children:r})]}),i&&(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:i})]})}])},86963,e=>{"use strict";var t=e.i(18050),a=e.i(31278);e.s(["PageLoading",0,function({label:e}){return(0,t.jsxs)("div",{className:"flex min-h-[50vh] flex-col items-center justify-center gap-3 text-muted-foreground",children:[(0,t.jsx)(a.Loader2,{className:"h-7 w-7 animate-spin text-primary"}),e&&(0,t.jsx)("p",{className:"text-sm",children:e})]})}])},35209,e=>{"use strict";var t=e.i(71645),a=e.i(11110);e.s(["usePageTitle",0,function(...e){let{t:s}=(0,a.useLanguage)(),r=[s.pageTitle.base,...e.map(e=>"string"==typeof e?e.trim():"").filter(e=>e.length>0)].join("-");(0,t.useEffect)(()=>{document.title=r},[r])}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94542,e=>{"use strict";var t=e.i(18050),a=e.i(71645),s=e.i(17255),r=e.i(18566),i=e.i(19455),n=e.i(93479),l=e.i(15288),d=e.i(22016),o=e.i(80342),c=e.i(11110),u=e.i(35209);e.s(["default",0,function(){let e=(0,r.useRouter)(),{t:g,language:m}=(0,c.useLanguage)();(0,u.usePageTitle)(g.pageTitle.login);let[x,h]=(0,a.useState)(""),[p,f]=(0,a.useState)(""),[v,j]=(0,a.useState)(""),[b,N]=(0,a.useState)(!1),w=async t=>{t.preventDefault(),N(!0),j("");try{let t=await (0,s.signIn)("credentials",{redirect:!1,email:x,password:p});t?.error?j(g.auth?.login?.failed||"Login failed"):(e.push("/"),e.refresh())}catch(e){j(g.auth?.login?.error||"An error occurred")}finally{N(!1)}};return(0,t.jsx)(o.AuthShell,{children:(0,t.jsxs)(l.Card,{className:"w-full rounded-2xl border-0 shadow-xl shadow-indigo-500/5 ring-1 ring-border",children:[(0,t.jsx)(l.CardHeader,{children:(0,t.jsx)(l.CardTitle,{className:"text-2xl text-center",children:g.auth?.login?.title||"Login"})}),(0,t.jsx)(l.CardContent,{children:(0,t.jsxs)("form",{onSubmit:w,className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("label",{htmlFor:"email",className:"text-sm font-medium",children:g.auth?.email||"Email"}),(0,t.jsx)(n.Input,{id:"email",name:"email",type:"email",value:x,onChange:e=>h(e.target.value),required:!0})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("label",{htmlFor:"password",className:"text-sm font-medium",children:g.auth?.password||"Password"}),(0,t.jsx)(n.Input,{id:"password",name:"password",type:"password",value:p,onChange:e=>f(e.target.value),required:!0})]}),v&&(0,t.jsx)("div",{className:"rounded-lg bg-destructive/10 px-3 py-2 text-center text-sm text-destructive",children:v}),(0,t.jsx)(i.Button,{type:"submit",size:"lg",className:"w-full",disabled:b,children:b?g.auth?.login?.loggingIn||"Logging in...":g.auth?.login?.action||"Login"}),(0,t.jsxs)("div",{className:"text-center text-sm text-muted-foreground",children:[g.auth?.login?.noAccount||"Don't have an account? ",(0,t.jsx)(d.default,{href:"/register",className:"text-primary hover:underline",children:g.auth?.login?.registerNow||"Register now"})]})]})})]})})}])},80342,e=>{"use strict";var t=e.i(18050),a=e.i(57688),s=e.i(11110);e.s(["AuthShell",0,function({children:e}){let{t:r}=(0,s.useLanguage)();return(0,t.jsxs)("div",{className:"relative flex min-h-screen items-center justify-center overflow-hidden bg-background p-4",children:[(0,t.jsx)("div",{className:"pointer-events-none absolute -left-32 -top-32 h-96 w-96 rounded-full bg-indigo-400/25 blur-3xl"}),(0,t.jsx)("div",{className:"pointer-events-none absolute -bottom-40 -right-24 h-[28rem] w-[28rem] rounded-full bg-violet-400/20 blur-3xl"}),(0,t.jsxs)("div",{className:"relative w-full max-w-md space-y-6 py-8",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[(0,t.jsx)(a.default,{src:"/icons/icon.png",alt:"",width:64,height:64,className:"rounded-2xl shadow-lg shadow-indigo-500/30",priority:!0,unoptimized:!0}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"text-xl font-bold tracking-tight",children:r.pageTitle.base}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:r.app.subtitle})]})]}),e]})]})}])},15288,e=>{"use strict";var t=e.i(18050),a=e.i(75157);e.s(["Card",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...s})},"CardContent",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",e),...s})},"CardDescription",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",e),...s})},"CardHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...s})},"CardTitle",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",e),...s})}])},35209,e=>{"use strict";var t=e.i(71645),a=e.i(11110);e.s(["usePageTitle",0,function(...e){let{t:s}=(0,a.useLanguage)(),r=[s.pageTitle.base,...e.map(e=>"string"==typeof e?e.trim():"").filter(e=>e.length>0)].join("-");(0,t.useEffect)(()=>{document.title=r},[r])}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,72664,41176,38465,3198,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);e.s(["Box",0,r],72664);var a=e.i(18050),i=e.i(71645);let n=(0,t.default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);var s=e.i(86536),o=e.i(11445),l=e.i(24687),d=e.i(11110),h=e.i(75157);e.s(["MarkdownEditor",0,function({value:e,onChange:t,className:r,...c}){let{t:u}=(0,d.useLanguage)(),[m,g]=(0,i.useState)("source"),p=(0,i.useId)(),w=[{mode:"source",label:u.markdownEditor.source,icon:n},{mode:"preview",label:u.markdownEditor.preview,icon:s.Eye}];return(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)("div",{role:"tablist","aria-label":u.markdownEditor.modeLabel,className:"flex justify-end",children:(0,a.jsx)("div",{className:"inline-flex rounded-md border bg-muted/40 p-0.5",children:w.map(({mode:e,label:t,icon:r})=>(0,a.jsxs)("button",{type:"button",role:"tab","aria-selected":m===e,"aria-controls":p,onClick:()=>g(e),className:(0,h.cn)("flex items-center gap-1 rounded px-2.5 py-1 text-xs transition-colors",m===e?"bg-background font-medium shadow-sm":"text-muted-foreground hover:text-foreground"),children:[(0,a.jsx)(r,{className:"h-3.5 w-3.5"}),t]},e))})}),(0,a.jsx)("div",{id:p,role:"tabpanel",children:"source"===m?(0,a.jsx)(l.Textarea,{value:e,onChange:e=>t(e.target.value),className:r,...c}):(0,a.jsx)("div",{className:"min-h-24 cursor-text rounded-md border bg-muted/20 px-3 py-2",onDoubleClick:()=>g("source"),title:u.markdownEditor.doubleClickToEdit,children:e.trim()?(0,a.jsx)(o.MarkdownRenderer,{content:e}):(0,a.jsx)("p",{className:"text-sm italic text-muted-foreground",children:u.markdownEditor.empty})})})]})}],41176);var c=e.i(67489),u=e.i(10980),m=e.i(41931);e.s(["NotebookSelector",0,function({value:e,onChange:t,className:r}){let[n,s]=(0,i.useState)([]),[o,l]=(0,i.useState)(!0),{t:h}=(0,d.useLanguage)();return(0,i.useEffect)(()=>{(async()=>{try{let e=await m.apiClient.get("/api/notebooks");s(e)}catch(e){console.error("Failed to fetch notebooks:",e)}finally{l(!1)}})()},[]),(0,a.jsxs)(c.Select,{value:e,onValueChange:t,children:[(0,a.jsx)(c.SelectTrigger,{className:r,children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(u.BookOpen,{className:"h-4 w-4 text-muted-foreground"}),(0,a.jsx)(c.SelectValue,{placeholder:h.notebooks?.selector?.placeholder||"Select Notebook"})]})}),(0,a.jsx)(c.SelectContent,{children:0===n.length?(0,a.jsx)("div",{className:"p-2 text-sm text-muted-foreground text-center",children:h.notebooks?.selector?.empty||"No notebooks available"}):n.map(e=>(0,a.jsx)(c.SelectItem,{value:e.id,children:e.name},e.id))})]})}],38465);var g=e.i(31278);let p=(0,t.default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]),w=(0,t.default)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]);var x=e.i(67240),f=e.i(16715),y=e.i(27612),b=e.i(19455),v=e.i(94114);let C=null,j=["setcoordsystem","setaxesvisible","setgridvisible","setcolor","setlinethickness","setlinestyle","setpointsize","setpointstyle","setlabelvisible","setcaption","setvisible","setfilling","setvalue","setfixed","setbackgroundcolor"];function k(e,t){for(let r of t)try{if(function(e){let t=e.toLowerCase().trim();return j.some(e=>t.startsWith(e+"("))}(r)){let t=function(e){let t=e.match(/^(\w+)\(([\s\S]+)\)$/);if(!t)return null;try{let e=t[2].trim();if(e.startsWith("[")&&e.endsWith("]"))return{m:t[1],a:JSON.parse(e)};if(/^-?\d+(\.\d+)?$/.test(e))return{m:t[1],a:[Number(e)]};if("true"===e||"false"===e)return{m:t[1],a:["true"===e]};if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return{m:t[1],a:[e.slice(1,-1)]};let r=e.split(",").map(e=>e.trim()).map(e=>/^-?\d+(\.\d+)?$/.test(e)?Number(e):"true"===e||"false"===e?"true"===e:e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e);return{m:t[1],a:r}}catch{return null}}(r);t&&"function"==typeof e[t.m]&&e[t.m](...t.a)}else{let t=r.trim();t&&!/[<>'"]/.test(t)?e.evalCommand(t):console.warn(`[GGB] Blocked potentially unsafe command: ${r.substring(0,50)}`)}}catch(e){console.warn(`[GGB] Failed: ${r}`,e)}}e.s(["GeogebraDemo",0,function({commands:e,height:t=700,showToolBar:r=!1,showAlgebraInput:n=!1,showMenuBar:s=!1,className:o="",onRegenerate:l,onDelete:h}){let{t:c}=(0,d.useLanguage)(),u=(0,i.useRef)(null),m=(0,i.useRef)(null),j=(0,i.useRef)(`ggb-${Math.random().toString(36).slice(2,9)}`),[D,N]=(0,i.useState)(!0),[M,R]=(0,i.useState)(null),[S,E]=(0,i.useState)(!0),[$,B]=(0,i.useState)(!1),[_,L]=(0,i.useState)(!1),P=(0,i.useMemo)(()=>(function(e){if(!e?.trim())return[];let t=e.trim();if(t.startsWith("["))try{let e=JSON.parse(t);if(Array.isArray(e))return e.filter(e=>"string"==typeof e&&""!==e.trim())}catch{}return t.split("\n").map(e=>e.trim()).filter(e=>e&&!e.startsWith("//"))})(e),[e]);(0,i.useEffect)(()=>{if(0===P.length)return;let e=!1,a=j.current;return(C||(C=new Promise((e,t)=>{if(window.GGBApplet)return void e();let r=document.createElement("script");r.src="https://www.geogebra.org/apps/deployggb.js",r.async=!0,r.onload=()=>e(),r.onerror=()=>{C=null,t(Error("Failed to load GeoGebra"))},document.head.appendChild(r)}))).then(()=>{if(e)return;let i=window.GGBApplet;if(!i){R("GeoGebra 未正确加载"),N(!1);return}let o=u.current;if(o){o.innerHTML=`<div id="${a}" style="width:100%;height:${t}px"></div>`;try{new i({appName:"classic",width:"100%",height:t,showToolBar:r,showAlgebraInput:n,showMenuBar:s,showResetIcon:!0,enableRightClick:!0,enableShiftDragZoom:!0,language:"zh",appletOnLoad:r=>{if(e)return;m.current=r;let a=u.current?.firstElementChild;if(a){a.style.width="100%";let e=u.current?.offsetWidth||a.offsetWidth||800;r.setSize(e,t)}k(r,P),N(!1)}},!0).inject(a)}catch(t){console.error("[GGB] Init failed:",t),e||(R("GeoGebra 初始化失败"),N(!1))}}}).catch(t=>{console.error("[GGB] Script load failed:",t),e||(R("无法加载 GeoGebra 组件"),N(!1))}),()=>{e=!0;try{let e=m.current;e&&"function"==typeof e.remove&&e.remove()}catch(e){console.warn("[GGB] Cleanup failed:",e)}m.current=null,u.current&&(u.current.innerHTML="")}},[P,r,n,s]),(0,i.useEffect)(()=>{let e=u.current?.firstElementChild;if(!e)return;let r=S?700:t;e.style.width="100%",e.style.height=`${r}px`;let a=m.current;if(a?.setSize){let t=u.current?.offsetWidth||e.offsetWidth||800;a.setSize(t,r)}},[S,t]);let I=(0,i.useCallback)(()=>{let e=m.current;if(e)try{e.resetConstruction(),setTimeout(()=>{m.current&&k(m.current,P)},300)}catch(e){console.warn("[GGB] Reset failed",e)}},[P]),H=(0,i.useCallback)(async()=>{if(l&&!$){B(!0);try{await l()}finally{B(!1)}}},[l,$]),A=(0,i.useCallback)(async()=>{if(h&&!_&&await (0,v.confirmDialog)(c.geogebra.confirmDelete,{destructive:!0})){L(!0);try{await h()}catch{v.toast.error(c.geogebra.deleteFailed)}finally{L(!1)}}},[h,_,c]);return 0===P.length?null:(0,a.jsxs)("div",{className:`relative rounded-lg border bg-card ${o}`,children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b bg-muted/30",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"GeoGebra 动态演示"}),D&&(0,a.jsx)(g.Loader2,{className:"h-3 w-3 animate-spin text-muted-foreground"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[l&&(0,a.jsxs)(b.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs gap-1",onClick:H,title:"重新生成",disabled:$||D,children:[$?(0,a.jsx)(g.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(f.RefreshCw,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{children:"重新生成"})]}),h&&(0,a.jsxs)(b.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs gap-1 text-destructive hover:text-destructive",onClick:A,title:c.geogebra.delete,disabled:_||$,children:[_?(0,a.jsx)(g.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(y.Trash2,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{children:c.geogebra.delete})]}),(0,a.jsx)(b.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:I,title:"重置",disabled:D,children:(0,a.jsx)(x.RotateCcw,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(b.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>E(e=>!e),title:S?"缩小":"放大",children:S?(0,a.jsx)(w,{className:"h-3.5 w-3.5"}):(0,a.jsx)(p,{className:"h-3.5 w-3.5"})})]})]}),(0,a.jsx)("div",{ref:u,style:{width:"100%"}}),D&&(0,a.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-background/80 rounded-b-lg",style:{top:37},children:(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,a.jsx)(g.Loader2,{className:"h-6 w-6 animate-spin text-primary"}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"加载 GeoGebra..."})]})}),M&&(0,a.jsx)("div",{className:"flex items-center justify-center text-sm text-destructive",style:{minHeight:t},children:M})]})}],3198)},56909,e=>{"use strict";let t=(0,e.i(75254).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],56909)},83086,e=>{"use strict";let t=(0,e.i(75254).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",0,t],83086)},69937,e=>{"use strict";var t=e.i(18050);let r=(0,e.i(75254).default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);var a=e.i(11110),i=e.i(75157);let n=[1,2,3,4,5];e.s(["DifficultyStars",0,function({value:e,onChange:s,disabled:o,size:l="sm",showUnrated:d=!0,className:h}){let{t:c}=(0,a.useLanguage)(),u=e??0,m="sm"===l?"h-3.5 w-3.5":"h-5 w-5",g=u?c.difficulty.starsLabel.replace("{n}",String(u)):c.difficulty.unrated;return s?(0,t.jsxs)("span",{className:(0,i.cn)("inline-flex items-center gap-0.5",h),role:"group","aria-label":`${c.difficulty.label}:${g}`,title:c.difficulty.clearHint,children:[n.map(e=>(0,t.jsx)("button",{type:"button",disabled:o,onClick:()=>s(e===u?null:e),"aria-label":c.difficulty.setStars.replace("{n}",String(e)),"aria-pressed":e<=u,className:"rounded p-0.5 hover:bg-muted disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,t.jsx)(r,{className:(0,i.cn)(m,e<=u?"fill-amber-400 text-amber-400":"text-muted-foreground/40")})},e)),!u&&d&&(0,t.jsx)("span",{className:"ml-1 text-xs text-muted-foreground",children:c.difficulty.unrated})]}):u?(0,t.jsx)("span",{className:(0,i.cn)("inline-flex items-center",h),role:"img","aria-label":`${c.difficulty.label}:${g}`,title:g,children:n.map(e=>(0,t.jsx)(r,{className:(0,i.cn)(m,e<=u?"fill-amber-400 text-amber-400":"text-muted-foreground/30"),"aria-hidden":!0},e))}):d?(0,t.jsx)("span",{className:(0,i.cn)("text-xs text-muted-foreground",h),children:c.difficulty.unrated}):null}],69937)},12130,28928,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=r,i=Object.defineProperty,n=(e,t,r)=>{let a;return(a="symbol"!=typeof t?t+"":t)in e?i(e,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[a]=r};let s={x:0,y:0,width:0,height:0,unit:"px"},o=(e,t,r)=>Math.min(Math.max(e,t),r),l=(e,t)=>e===t||e.width===t.width&&e.height===t.height&&e.x===t.x&&e.y===t.y&&e.unit===t.unit;function d(e,t,r){return"%"===e.unit?{...s,...e,unit:"%"}:{unit:"%",x:e.x?e.x/t*100:0,y:e.y?e.y/r*100:0,width:e.width?e.width/t*100:0,height:e.height?e.height/r*100:0}}function h(e,t,r){return e.unit?"px"===e.unit?{...s,...e,unit:"px"}:{unit:"px",x:e.x?e.x*t/100:0,y:e.y?e.y*r/100:0,width:e.width?e.width*t/100:0,height:e.height?e.height*r/100:0}:{...s,...e,unit:"px"}}function c(e,t,r,a,i,n=0,s=0,o=a,l=i){let d={...e},h=Math.min(n,a),u=Math.min(s,i),m=Math.min(o,a),g=Math.min(l,i);t&&(t>1?(u=(h=s?s*t:h)/t,m=o*t):(h=(u=n?n/t:u)*t,g=l/t)),d.y<0&&(d.height=Math.max(d.height+d.y,u),d.y=0),d.x<0&&(d.width=Math.max(d.width+d.x,h),d.x=0);let p=a-(d.x+d.width);p<0&&(d.x=Math.min(d.x,a-h),d.width+=p);let w=i-(d.y+d.height);if(w<0&&(d.y=Math.min(d.y,i-u),d.height+=w),d.width<h&&(("sw"===r||"nw"==r)&&(d.x-=h-d.width),d.width=h),d.height<u&&(("nw"===r||"ne"==r)&&(d.y-=u-d.height),d.height=u),d.width>m&&(("sw"===r||"nw"==r)&&(d.x-=m-d.width),d.width=m),d.height>g&&(("nw"===r||"ne"==r)&&(d.y-=g-d.height),d.height=g),t){let e=d.width/d.height;if(e<t){let e=Math.max(d.width/t,u);("nw"===r||"ne"==r)&&(d.y-=e-d.height),d.height=e}else if(e>t){let e=Math.max(d.height*t,h);("sw"===r||"nw"==r)&&(d.x-=e-d.width),d.width=e}}return d}let u={capture:!0,passive:!1},m=0,g=class e extends a.PureComponent{constructor(){super(...arguments),n(this,"docMoveBound",!1),n(this,"mouseDownOnCrop",!1),n(this,"dragStarted",!1),n(this,"evData",{startClientX:0,startClientY:0,startCropX:0,startCropY:0,clientX:0,clientY:0,isResize:!0}),n(this,"componentRef",(0,a.createRef)()),n(this,"mediaRef",(0,a.createRef)()),n(this,"resizeObserver"),n(this,"initChangeCalled",!1),n(this,"instanceId",`rc-${m++}`),n(this,"state",{cropIsActive:!1,newCropIsBeingDrawn:!1}),n(this,"onCropPointerDown",e=>{let{crop:t,disabled:r}=this.props,a=this.getBox();if(!t)return;let i=h(t,a.width,a.height);if(r)return;e.cancelable&&e.preventDefault(),this.bindDocMove(),this.componentRef.current.focus({preventScroll:!0});let n=e.target.dataset.ord,s=e.clientX,o=e.clientY,l=i.x,d=i.y;if(n){let t=e.clientX-a.x,r=e.clientY-a.y,h=0,c=0;"ne"===n||"e"==n?(h=t-(i.x+i.width),c=r-i.y,l=i.x,d=i.y+i.height):"se"===n||"s"===n?(h=t-(i.x+i.width),c=r-(i.y+i.height),l=i.x,d=i.y):"sw"===n||"w"==n?(h=t-i.x,c=r-(i.y+i.height),l=i.x+i.width,d=i.y):("nw"===n||"n"==n)&&(h=t-i.x,c=r-i.y,l=i.x+i.width,d=i.y+i.height),s=l+a.x+h,o=d+a.y+c}this.evData={startClientX:s,startClientY:o,startCropX:l,startCropY:d,clientX:e.clientX,clientY:e.clientY,isResize:!!n,ord:n},this.mouseDownOnCrop=!0,this.setState({cropIsActive:!0})}),n(this,"onComponentPointerDown",e=>{let{crop:t,disabled:r,locked:a,keepSelection:i,onChange:n}=this.props,s=this.getBox();if(r||a||i&&t)return;e.cancelable&&e.preventDefault(),this.bindDocMove(),this.componentRef.current.focus({preventScroll:!0});let o=e.clientX-s.x,l=e.clientY-s.y,c={unit:"px",x:o,y:l,width:0,height:0};this.evData={startClientX:e.clientX,startClientY:e.clientY,startCropX:o,startCropY:l,clientX:e.clientX,clientY:e.clientY,isResize:!0},this.mouseDownOnCrop=!0,n(h(c,s.width,s.height),d(c,s.width,s.height)),this.setState({cropIsActive:!0,newCropIsBeingDrawn:!0})}),n(this,"onDocPointerMove",e=>{let t,{crop:r,disabled:a,onChange:i,onDragStart:n}=this.props,s=this.getBox();if(a||!r||!this.mouseDownOnCrop)return;e.cancelable&&e.preventDefault(),this.dragStarted||(this.dragStarted=!0,n&&n(e));let{evData:o}=this;o.clientX=e.clientX,o.clientY=e.clientY,l(r,t=o.isResize?this.resizeCrop():this.dragCrop())||i(h(t,s.width,s.height),d(t,s.width,s.height))}),n(this,"onComponentKeyDown",t=>{let{crop:r,disabled:a,onChange:i,onComplete:n}=this.props;if(a)return;let s=t.key,l=!1;if(!r)return;let c=this.getBox(),u=this.makePixelCrop(c),m=(navigator.platform.match("Mac")?t.metaKey:t.ctrlKey)?e.nudgeStepLarge:t.shiftKey?e.nudgeStepMedium:e.nudgeStep;if("ArrowLeft"===s?(u.x-=m,l=!0):"ArrowRight"===s?(u.x+=m,l=!0):"ArrowUp"===s?(u.y-=m,l=!0):"ArrowDown"===s&&(u.y+=m,l=!0),l){t.cancelable&&t.preventDefault(),u.x=o(u.x,0,c.width-u.width),u.y=o(u.y,0,c.height-u.height);let e=h(u,c.width,c.height),r=d(u,c.width,c.height);i(e,r),n&&n(e,r)}}),n(this,"onHandlerKeyDown",(t,r)=>{var a,i;let n,{aspect:s=0,crop:o,disabled:u,minWidth:m=0,minHeight:g=0,maxWidth:p,maxHeight:w,onChange:x,onComplete:f}=this.props,y=this.getBox();if(u||!o||"ArrowUp"!==t.key&&"ArrowDown"!==t.key&&"ArrowLeft"!==t.key&&"ArrowRight"!==t.key)return;t.stopPropagation(),t.preventDefault();let b=(navigator.platform.match("Mac")?t.metaKey:t.ctrlKey)?e.nudgeStepLarge:t.shiftKey?e.nudgeStepMedium:e.nudgeStep,v=c((a=h(o,y.width,y.height),i=t.key,n={...a},"ArrowLeft"===i?"nw"===r?(n.x-=b,n.y-=b,n.width+=b,n.height+=b):"w"===r?(n.x-=b,n.width+=b):"sw"===r?(n.x-=b,n.width+=b,n.height+=b):"ne"===r?(n.y+=b,n.width-=b,n.height-=b):"e"===r?n.width-=b:"se"===r&&(n.width-=b,n.height-=b):"ArrowRight"===i&&("nw"===r?(n.x+=b,n.y+=b,n.width-=b,n.height-=b):"w"===r?(n.x+=b,n.width-=b):"sw"===r?(n.x+=b,n.width-=b,n.height-=b):"ne"===r?(n.y-=b,n.width+=b,n.height+=b):"e"===r?n.width+=b:"se"===r&&(n.width+=b,n.height+=b)),"ArrowUp"===i?"nw"===r?(n.x-=b,n.y-=b,n.width+=b,n.height+=b):"n"===r?(n.y-=b,n.height+=b):"ne"===r?(n.y-=b,n.width+=b,n.height+=b):"sw"===r?(n.x+=b,n.width-=b,n.height-=b):"s"===r?n.height-=b:"se"===r&&(n.width-=b,n.height-=b):"ArrowDown"===i&&("nw"===r?(n.x+=b,n.y+=b,n.width-=b,n.height-=b):"n"===r?(n.y+=b,n.height-=b):"ne"===r?(n.y+=b,n.width-=b,n.height-=b):"sw"===r?(n.x-=b,n.width+=b,n.height+=b):"s"===r?n.height+=b:"se"===r&&(n.width+=b,n.height+=b)),n),s,r,y.width,y.height,m,g,p,w);if(!l(o,v)){let e=d(v,y.width,y.height);x(v,e),f&&f(v,e)}}),n(this,"onDocPointerDone",e=>{let{crop:t,disabled:r,onComplete:a,onDragEnd:i}=this.props,n=this.getBox();this.unbindDocMove(),!(r||!t)&&this.mouseDownOnCrop&&(this.mouseDownOnCrop=!1,this.dragStarted=!1,i&&i(e),a&&a(h(t,n.width,n.height),d(t,n.width,n.height)),this.setState({cropIsActive:!1,newCropIsBeingDrawn:!1}))}),n(this,"onDragFocus",()=>{var e;null==(e=this.componentRef.current)||e.scrollTo(0,0)})}get document(){return document}getBox(){let e=this.mediaRef.current;if(!e)return{x:0,y:0,width:0,height:0};let{x:t,y:r,width:a,height:i}=e.getBoundingClientRect();return{x:t,y:r,width:a,height:i}}componentDidUpdate(e){let{crop:t,onComplete:r}=this.props;if(r&&!e.crop&&t){let{width:e,height:a}=this.getBox();e&&a&&r(h(t,e,a),d(t,e,a))}}componentWillUnmount(){this.resizeObserver&&this.resizeObserver.disconnect(),this.unbindDocMove()}bindDocMove(){this.docMoveBound||(this.document.addEventListener("pointermove",this.onDocPointerMove,u),this.document.addEventListener("pointerup",this.onDocPointerDone,u),this.document.addEventListener("pointercancel",this.onDocPointerDone,u),this.docMoveBound=!0)}unbindDocMove(){this.docMoveBound&&(this.document.removeEventListener("pointermove",this.onDocPointerMove,u),this.document.removeEventListener("pointerup",this.onDocPointerDone,u),this.document.removeEventListener("pointercancel",this.onDocPointerDone,u),this.docMoveBound=!1)}getCropStyle(){let{crop:e}=this.props;if(e)return{top:`${e.y}${e.unit}`,left:`${e.x}${e.unit}`,width:`${e.width}${e.unit}`,height:`${e.height}${e.unit}`}}dragCrop(){let{evData:e}=this,t=this.getBox(),r=this.makePixelCrop(t),a=e.clientX-e.startClientX,i=e.clientY-e.startClientY;return r.x=o(e.startCropX+a,0,t.width-r.width),r.y=o(e.startCropY+i,0,t.height-r.height),r}getPointRegion(e,t,r,a){let i,{evData:n}=this,s=n.clientX-e.x,o=n.clientY-e.y;return i=a&&t?"nw"===t||"n"===t||"ne"===t:o<n.startCropY,(r&&t?"nw"===t||"w"===t||"sw"===t:s<n.startCropX)?i?"nw":"sw":i?"ne":"se"}resolveMinDimensions(e,t,r=0,a=0){let i=Math.min(r,e.width),n=Math.min(a,e.height);return t&&(i||n)?t>1?i?[i,i/t]:[n*t,n]:n?[n*t,n]:[i,i/t]:[i,n]}resizeCrop(){let{evData:t}=this,{aspect:r=0,maxWidth:a,maxHeight:i}=this.props,n=this.getBox(),[s,l]=this.resolveMinDimensions(n,r,this.props.minWidth,this.props.minHeight),d=this.makePixelCrop(n),h=this.getPointRegion(n,t.ord,s,l),u=t.ord||h,m=t.clientX-t.startClientX,g=t.clientY-t.startClientY;(s&&"nw"===u||"w"===u||"sw"===u)&&(m=Math.min(m,-s)),(l&&"nw"===u||"n"===u||"ne"===u)&&(g=Math.min(g,-l));let p={unit:"px",x:0,y:0,width:0,height:0};"ne"===h?(p.x=t.startCropX,p.width=m,r?p.height=p.width/r:p.height=Math.abs(g),p.y=t.startCropY-p.height):"se"===h?(p.x=t.startCropX,p.y=t.startCropY,p.width=m,r?p.height=p.width/r:p.height=g):"sw"===h?(p.x=t.startCropX+m,p.y=t.startCropY,p.width=Math.abs(m),r?p.height=p.width/r:p.height=g):"nw"===h&&(p.x=t.startCropX+m,p.width=Math.abs(m),r?(p.height=p.width/r,p.y=t.startCropY-p.height):(p.height=Math.abs(g),p.y=t.startCropY+g));let w=c(p,r,h,n.width,n.height,s,l,a,i);return r||e.xyOrds.indexOf(u)>-1?d=w:e.xOrds.indexOf(u)>-1?(d.x=w.x,d.width=w.width):e.yOrds.indexOf(u)>-1&&(d.y=w.y,d.height=w.height),d.x=o(d.x,0,n.width-d.width),d.y=o(d.y,0,n.height-d.height),d}renderCropSelection(){let{ariaLabels:t=e.defaultProps.ariaLabels,disabled:r,locked:i,renderSelectionAddon:n,ruleOfThirds:s,crop:o}=this.props,l=this.getCropStyle();if(o)return a.default.createElement("div",{style:l,className:"ReactCrop__crop-selection",onPointerDown:this.onCropPointerDown,"aria-label":t.cropArea,tabIndex:0,onKeyDown:this.onComponentKeyDown,role:"group"},!r&&!i&&a.default.createElement("div",{className:"ReactCrop__drag-elements",onFocus:this.onDragFocus},a.default.createElement("div",{className:"ReactCrop__drag-bar ord-n","data-ord":"n"}),a.default.createElement("div",{className:"ReactCrop__drag-bar ord-e","data-ord":"e"}),a.default.createElement("div",{className:"ReactCrop__drag-bar ord-s","data-ord":"s"}),a.default.createElement("div",{className:"ReactCrop__drag-bar ord-w","data-ord":"w"}),a.default.createElement("div",{className:"ReactCrop__drag-handle ord-nw","data-ord":"nw",tabIndex:0,"aria-label":t.nwDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"nw"),role:"button"}),a.default.createElement("div",{className:"ReactCrop__drag-handle ord-n","data-ord":"n",tabIndex:0,"aria-label":t.nDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"n"),role:"button"}),a.default.createElement("div",{className:"ReactCrop__drag-handle ord-ne","data-ord":"ne",tabIndex:0,"aria-label":t.neDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"ne"),role:"button"}),a.default.createElement("div",{className:"ReactCrop__drag-handle ord-e","data-ord":"e",tabIndex:0,"aria-label":t.eDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"e"),role:"button"}),a.default.createElement("div",{className:"ReactCrop__drag-handle ord-se","data-ord":"se",tabIndex:0,"aria-label":t.seDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"se"),role:"button"}),a.default.createElement("div",{className:"ReactCrop__drag-handle ord-s","data-ord":"s",tabIndex:0,"aria-label":t.sDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"s"),role:"button"}),a.default.createElement("div",{className:"ReactCrop__drag-handle ord-sw","data-ord":"sw",tabIndex:0,"aria-label":t.swDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"sw"),role:"button"}),a.default.createElement("div",{className:"ReactCrop__drag-handle ord-w","data-ord":"w",tabIndex:0,"aria-label":t.wDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"w"),role:"button"})),n&&a.default.createElement("div",{className:"ReactCrop__selection-addon",onPointerDown:e=>e.stopPropagation()},n(this.state)),s&&a.default.createElement(a.default.Fragment,null,a.default.createElement("div",{className:"ReactCrop__rule-of-thirds-hz"}),a.default.createElement("div",{className:"ReactCrop__rule-of-thirds-vt"})))}makePixelCrop(e){return h({...s,...this.props.crop||{}},e.width,e.height)}render(){let{aspect:e,children:t,circularCrop:r,className:i,crop:n,disabled:s,locked:o,style:l,ruleOfThirds:d}=this.props,{cropIsActive:h,newCropIsBeingDrawn:c}=this.state,u=n?this.renderCropSelection():null,m=((...e)=>e.filter(e=>e&&"string"==typeof e).join(" "))("ReactCrop",i,h&&"ReactCrop--active",s&&"ReactCrop--disabled",o&&"ReactCrop--locked",c&&"ReactCrop--new-crop",n&&e&&"ReactCrop--fixed-aspect",n&&r&&"ReactCrop--circular-crop",n&&d&&"ReactCrop--rule-of-thirds",!this.dragStarted&&n&&!n.width&&!n.height&&"ReactCrop--invisible-crop",r&&"ReactCrop--no-animate");return a.default.createElement("div",{ref:this.componentRef,className:m,style:l},a.default.createElement("div",{ref:this.mediaRef,className:"ReactCrop__child-wrapper",onPointerDown:this.onComponentPointerDown},t),n?a.default.createElement("svg",{className:"ReactCrop__crop-mask",width:"100%",height:"100%"},a.default.createElement("defs",null,a.default.createElement("mask",{id:`hole-${this.instanceId}`},a.default.createElement("rect",{width:"100%",height:"100%",fill:"white"}),r?a.default.createElement("ellipse",{cx:`${n.x+n.width/2}${n.unit}`,cy:`${n.y+n.height/2}${n.unit}`,rx:`${n.width/2}${n.unit}`,ry:`${n.height/2}${n.unit}`,fill:"black"}):a.default.createElement("rect",{x:`${n.x}${n.unit}`,y:`${n.y}${n.unit}`,width:`${n.width}${n.unit}`,height:`${n.height}${n.unit}`,fill:"black"}))),a.default.createElement("rect",{fill:"black",fillOpacity:.5,width:"100%",height:"100%",mask:`url(#hole-${this.instanceId})`})):void 0,u)}};n(g,"xOrds",["e","w"]),n(g,"yOrds",["n","s"]),n(g,"xyOrds",["nw","ne","se","sw"]),n(g,"nudgeStep",1),n(g,"nudgeStepMedium",10),n(g,"nudgeStepLarge",100),n(g,"defaultProps",{ariaLabels:{cropArea:"Use the arrow keys to move the crop selection area",nwDragHandle:"Use the arrow keys to move the north west drag handle to change the crop selection area",nDragHandle:"Use the up and down arrow keys to move the north drag handle to change the crop selection area",neDragHandle:"Use the arrow keys to move the north east drag handle to change the crop selection area",eDragHandle:"Use the up and down arrow keys to move the east drag handle to change the crop selection area",seDragHandle:"Use the arrow keys to move the south east drag handle to change the crop selection area",sDragHandle:"Use the up and down arrow keys to move the south drag handle to change the crop selection area",swDragHandle:"Use the arrow keys to move the south west drag handle to change the crop selection area",wDragHandle:"Use the up and down arrow keys to move the west drag handle to change the crop selection area"}});var p=e.i(19455),w=e.i(76639),x=e.i(37727),f=e.i(11110);async function y(e,t){let{naturalWidth:r,naturalHeight:a}=e;return Promise.all(t.map(t=>new Promise((i,n)=>{let s=document.createElement("canvas"),o=Math.round(t.x*r),l=Math.round(t.y*a);s.width=Math.max(1,Math.round(t.width*r)),s.height=Math.max(1,Math.round(t.height*a));let d=s.getContext("2d");d?(d.drawImage(e,o,l,s.width,s.height,0,0,s.width,s.height),s.toBlob(e=>e?i(e):n(Error("Canvas is empty")),"image/jpeg",.95)):n(Error("Canvas is not supported"))})))}let b=(0,r.forwardRef)(function({imageSrc:e,regions:a,onChange:i},n){let{t:s}=(0,f.useLanguage)(),o=(0,r.useRef)(null),l=(0,r.useRef)(null),[d,h]=(0,r.useState)(null),c=e=>{let t=o.current.getBoundingClientRect();return{x:(e.clientX-t.left)/t.width,y:(e.clientY-t.top)/t.height}},u=()=>{d&&d.width>=.02&&d.height>=.02&&i([...a,d]),l.current=null,h(null)},m=e=>({left:`${100*e.x}%`,top:`${100*e.y}%`,width:`${100*e.width}%`,height:`${100*e.height}%`});return(0,t.jsxs)("div",{className:"relative inline-block select-none",children:[(0,t.jsx)("img",{ref:n,src:e,alt:"",draggable:!1,style:{maxHeight:"65vh",maxWidth:"100%",objectFit:"contain"},className:"block"}),(0,t.jsxs)("div",{ref:o,className:"absolute inset-0 cursor-crosshair",style:{touchAction:"none"},onPointerDown:e=>{0===e.button&&(o.current?.setPointerCapture(e.pointerId),l.current=c(e),h(null))},onPointerMove:e=>{var t,r,a,i;let n,s,o;if(!l.current)return;let d=c(e);h((t=l.current.x,r=l.current.y,a=d.x,i=d.y,s=(n=e=>Math.min(1,Math.max(0,e)))(Math.min(t,a)),o=n(Math.min(r,i)),{x:s,y:o,width:n(Math.max(t,a))-s,height:n(Math.max(r,i))-o}))},onPointerUp:u,onPointerCancel:u,children:[a.map((e,r)=>(0,t.jsxs)("div",{className:"absolute border-2 border-sky-400 bg-sky-400/15",style:m(e),children:[(0,t.jsx)("span",{className:"absolute left-0 top-0 bg-sky-500 px-1.5 text-xs font-bold text-white",children:r+1}),(0,t.jsx)("button",{type:"button",className:"absolute -right-3 -top-3 flex h-6 w-6 items-center justify-center rounded-full bg-red-500 text-white shadow","aria-label":s.batchImport.removeRegion.replace("{index}",String(r+1)),onPointerDown:e=>e.stopPropagation(),onClick:()=>i(a.filter((e,t)=>t!==r)),children:(0,t.jsx)(x.X,{className:"h-3 w-3"})})]},r)),d&&(0,t.jsx)("div",{className:"absolute border-2 border-dashed border-yellow-300 bg-yellow-300/10",style:m(d)})]})]})});async function v(e,t=1,r=1920,a=.8){return new Promise((i,n)=>{let s=new FileReader;s.onload=s=>{let o=new Image;o.onload=()=>{let s=document.createElement("canvas"),l=s.getContext("2d");if(!l)return void n(Error("无法获取 Canvas 上下文"));let d=o.width,h=o.height;d>r&&(h=h*r/d,d=r),s.width=d,s.height=h,l.drawImage(o,0,0,d,h);let c=a,u=s.toDataURL("image/jpeg",c),m=3*u.length/4/1024/1024;for(;m>t&&c>.1;){c-=.1;let e=3*(u=s.toDataURL("image/jpeg",c)).length/4/1024/1024;if(console.log(`压缩质量: ${c.toFixed(1)}, 大小: ${e.toFixed(2)}MB`),e<=t)break}console.log(`原始文件: ${(e.size/1024/1024).toFixed(2)}MB, 压缩后: ${(3*u.length/4/1024/1024).toFixed(2)}MB`),i(u)},o.onerror=()=>n(Error("图片加载失败")),o.src=s.target?.result},s.onerror=()=>n(Error("文件读取失败")),s.readAsDataURL(e)})}async function C(e){let t=e.size/1024/1024;return(console.log(`文件大小: ${t.toFixed(2)}MB`),t>1)?(console.log("文件超过阈值,开始压缩..."),await v(e,1)):(console.log("文件大小合适,无需压缩"),new Promise((t,r)=>{let a=new FileReader;a.onload=()=>t(a.result),a.onerror=r,a.readAsDataURL(e)}))}e.s(["ImageCropper",0,function({imageSrc:e,open:a,onClose:i,onCropComplete:n,onMultiCropComplete:s}){let{t:o}=(0,f.useLanguage)(),[l,d]=(0,r.useState)(),[h,c]=(0,r.useState)(),u=(0,r.useRef)(null),[m,x]=(0,r.useState)("single"),[v,C]=(0,r.useState)({src:e,regions:[]}),j=v.src===e?v.regions:[],k=t=>C({src:e,regions:t}),D=(0,r.useRef)(null),N=async()=>{if(D.current&&0!==j.length&&s)try{s(await y(D.current,j)),k([])}catch(e){console.error(e)}},M=async(e,t)=>{let r=document.createElement("canvas"),a=e.naturalWidth/e.width,i=e.naturalHeight/e.height;r.width=t.width*a,r.height=t.height*i;let n=r.getContext("2d");return n?(n.drawImage(e,t.x*a,t.y*i,t.width*a,t.height*i,0,0,t.width*a,t.height*i),new Promise((e,t)=>{r.toBlob(r=>{r?e(r):t(Error("Canvas is empty"))},"image/jpeg")})):null},R=async()=>{if(h&&u.current)try{let e=await M(u.current,h);e&&n(e)}catch(e){console.error(e)}else if(!h&&e)try{let t=await fetch(e),r=await t.blob();n(r)}catch(e){console.error(e)}};return(0,t.jsx)(w.Dialog,{open:a,onOpenChange:e=>!e&&i(),children:(0,t.jsxs)(w.DialogContent,{className:"max-w-3xl h-[90vh] flex flex-col p-0 gap-0",children:[(0,t.jsx)(w.DialogHeader,{className:"p-4 border-b shrink-0",children:(0,t.jsx)(w.DialogTitle,{children:o.common.cropper?.title||"Crop Image"})}),(0,t.jsx)("div",{className:"flex-1 bg-black w-full overflow-auto flex items-center justify-center p-4",children:"multi"===m?(0,t.jsx)(b,{ref:D,imageSrc:e,regions:j,onChange:k}):(0,t.jsx)(g,{crop:l,onChange:(e,t)=>d(t),onComplete:e=>c(e),className:"max-h-full",children:(0,t.jsx)("img",{ref:u,alt:"Crop me",src:e,onLoad:function(e){let{width:t,height:r}=e.currentTarget;d({unit:"%",x:0,y:0,width:100,height:100}),c({unit:"px",x:0,y:0,width:t,height:r})},style:{maxHeight:"70vh",maxWidth:"100%",objectFit:"contain"}})})}),(0,t.jsxs)("div",{className:"p-4 border-t bg-background shrink-0 space-y-3",children:[s&&(0,t.jsx)("div",{className:"grid grid-cols-2 gap-1 rounded-md bg-muted p-1 sm:w-80",children:["single","multi"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>x(e),className:`rounded px-3 py-1.5 text-sm font-medium transition-colors ${m===e?"bg-background shadow-sm":"text-muted-foreground"}`,children:"single"===e?o.batchImport.singleMode:o.batchImport.multiMode},e))}),(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row sm:justify-between sm:items-center gap-3",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"multi"===m?`${o.batchImport.hint} ${o.batchImport.regionCount.replace("{count}",String(j.length))}`:o.common.cropper?.hint||"💡 Drag to adjust crop area"}),(0,t.jsxs)("div",{className:"flex gap-2 justify-end",children:["multi"===m&&j.length>0&&(0,t.jsx)(p.Button,{variant:"ghost",onClick:()=>k([]),children:o.batchImport.clear}),(0,t.jsx)(p.Button,{variant:"outline",onClick:i,children:o.common.cancel||"Cancel"}),"multi"===m?(0,t.jsx)(p.Button,{onClick:N,disabled:0===j.length,children:o.batchImport.start.replace("{count}",String(j.length))}):(0,t.jsx)(p.Button,{onClick:R,children:o.common.confirm||"Confirm"})]})]})]})]})})}],12130),e.s(["processImageFile",0,C],28928)},49704,e=>{"use strict";var t=e.i(18050),r=e.i(11110),a=e.i(75157);e.s(["QuestionFigure",0,function({svg:e,className:i}){let{t:n}=(0,r.useLanguage)();return e?(0,t.jsx)("figure",{className:(0,a.cn)("question-figure my-3",i),children:(0,t.jsx)("img",{src:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`,alt:n.figure.alt,className:"mx-auto block h-auto max-w-full rounded border bg-white p-2",style:{maxHeight:360}})}):null}],49704)},88218,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(37727),i=e.i(87486),n=e.i(93479),s=e.i(41931);e.s(["TagInput",0,function({value:e=[],onChange:o,placeholder:l="Enter tags...",className:d="",enterHint:h,subject:c,gradeStage:u}){let[m,g]=(0,r.useState)(""),[p,w]=(0,r.useState)([]),[x,f]=(0,r.useState)(!1),[y,b]=(0,r.useState)(0),v=(0,r.useRef)(null),C=(0,r.useRef)(null);(0,r.useEffect)(()=>{m.trim()?j(m):(w([]),f(!1))},[m,c,u]);let j=async t=>{try{let r=new URLSearchParams({q:t});c&&r.append("subject",c),u&&r.append("stage",u);let a=((await s.apiClient.get(`/api/tags/suggestions?${r.toString()}`)).suggestions||[]).filter(t=>!e.includes(t));w(a.slice(0,20)),f(a.length>0),b(0)}catch(e){console.error("Failed to fetch suggestions:",e)}},k=t=>{t.trim()&&!e.includes(t.trim())&&(o([...e,t.trim()]),g(""),w([]),f(!1),b(0))},D=t=>{o(e.filter(e=>e!==t))};return(0,r.useEffect)(()=>{let e=e=>{!C.current||C.current.contains(e.target)||v.current?.contains(e.target)||f(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,t.jsxs)("div",{className:`relative ${d}`,children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-2 p-2 border rounded-lg bg-background min-h-[42px]",children:[e.map(e=>(0,t.jsxs)(i.Badge,{variant:"secondary",className:"flex items-center gap-1 px-2 py-1",children:[e,(0,t.jsx)("button",{type:"button",onClick:()=>D(e),className:"hover:text-destructive ml-1",children:(0,t.jsx)(a.X,{className:"h-3 w-3"})})]},e)),(0,t.jsx)(n.Input,{ref:v,type:"text",value:m,onChange:e=>g(e.target.value),onKeyDown:t=>{"Enter"===t.key?(t.preventDefault(),y>=0&&p[y]?k(p[y]):m.trim()&&k(m)):"ArrowDown"===t.key?(t.preventDefault(),b(e=>Math.min(e+1,p.length-1))):"ArrowUp"===t.key?(t.preventDefault(),b(e=>Math.max(e-1,0))):"Escape"===t.key?(f(!1),b(0)):"Backspace"===t.key&&!m&&e.length>0&&D(e[e.length-1])},onFocus:()=>{p.length>0&&f(!0)},placeholder:0===e.length?l:"",className:"flex-1 min-w-[120px] border-none focus-visible:ring-0 focus-visible:ring-offset-0 h-8 px-0"})]}),x&&p.length>0&&(0,t.jsx)("div",{ref:C,className:"absolute z-50 w-full mt-1 bg-popover border rounded-md shadow-md max-h-48 overflow-y-auto",children:p.map((e,r)=>(0,t.jsx)("div",{className:`px-3 py-2 cursor-pointer hover:bg-accent ${r===y?"bg-accent":""}`,onClick:()=>k(e),onMouseEnter:()=>b(r),children:e},e))}),m&&!x&&(0,t.jsx)("div",{className:"text-xs text-muted-foreground mt-1",children:h?`${h} "${m}"`:`Press Enter to create "${m}"`})]})}])},15288,e=>{"use strict";var t=e.i(18050),r=e.i(75157);e.s(["Card",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,r.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...a})},"CardContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-6",e),...a})},"CardDescription",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,r.cn)("text-muted-foreground text-sm",e),...a})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,r.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...a})},"CardTitle",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("leading-none font-semibold",e),...a})}])},52122,e=>{"use strict";e.i(30691),e.s(["inferSubjectFromName",0,function(e){if(!e)return null;let t=e.toLowerCase();return t.includes("math")||t.includes("数学")?"math":t.includes("physics")||t.includes("物理")?"physics":t.includes("chemistry")||t.includes("化学")?"chemistry":t.includes("biology")||t.includes("生物")?"biology":t.includes("english")||t.includes("英语")?"english":t.includes("chinese")||t.includes("语文")?"chinese":t.includes("history")||t.includes("历史")?"history":t.includes("geography")||t.includes("地理")?"geography":t.includes("politics")||t.includes("政治")?"politics":null}])},62825,e=>{"use strict";function t(e){return"not_attempted"===e||"wrong_attempt"===e||"unknown"===e?e:"unknown"}e.s(["getMistakeStatusLabel",0,function(e,r="zh"){return("en"===r?{not_attempted:"Not attempted",wrong_attempt:"Wrong attempt",unknown:"Unknown"}:{not_attempted:"不会做",wrong_attempt:"做错了",unknown:"未判断"})[t(e)]},"normalizeMistakeStatusForSave",0,function(e,r){return(r||"").trim()?"wrong_attempt":t(e)}])},35209,e=>{"use strict";var t=e.i(71645),r=e.i(11110);e.s(["usePageTitle",0,function(...e){let{t:a}=(0,r.useLanguage)(),i=[a.pageTitle.base,...e.map(e=>"string"==typeof e?e.trim():"").filter(e=>e.length>0)].join("-");(0,t.useEffect)(()=>{document.title=i},[i])}])},43710,e=>{"use strict";e.s(["getDefaultPaperLevel",0,function(e){return"number"!=typeof e||!Number.isInteger(e)||e<1||e>5?null:e<=3?"a":"b"}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,72664,41176,38465,3198,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);e.s(["Box",0,r],72664);var i=e.i(18050),n=e.i(71645);let a=(0,t.default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);var s=e.i(86536),o=e.i(11445),l=e.i(24687),h=e.i(11110),d=e.i(75157);e.s(["MarkdownEditor",0,function({value:e,onChange:t,className:r,...c}){let{t:u}=(0,h.useLanguage)(),[m,g]=(0,n.useState)("source"),p=(0,n.useId)(),w=[{mode:"source",label:u.markdownEditor.source,icon:a},{mode:"preview",label:u.markdownEditor.preview,icon:s.Eye}];return(0,i.jsxs)("div",{className:"space-y-1.5",children:[(0,i.jsx)("div",{role:"tablist","aria-label":u.markdownEditor.modeLabel,className:"flex justify-end",children:(0,i.jsx)("div",{className:"inline-flex rounded-md border bg-muted/40 p-0.5",children:w.map(({mode:e,label:t,icon:r})=>(0,i.jsxs)("button",{type:"button",role:"tab","aria-selected":m===e,"aria-controls":p,onClick:()=>g(e),className:(0,d.cn)("flex items-center gap-1 rounded px-2.5 py-1 text-xs transition-colors",m===e?"bg-background font-medium shadow-sm":"text-muted-foreground hover:text-foreground"),children:[(0,i.jsx)(r,{className:"h-3.5 w-3.5"}),t]},e))})}),(0,i.jsx)("div",{id:p,role:"tabpanel",children:"source"===m?(0,i.jsx)(l.Textarea,{value:e,onChange:e=>t(e.target.value),className:r,...c}):(0,i.jsx)("div",{className:"min-h-24 cursor-text rounded-md border bg-muted/20 px-3 py-2",onDoubleClick:()=>g("source"),title:u.markdownEditor.doubleClickToEdit,children:e.trim()?(0,i.jsx)(o.MarkdownRenderer,{content:e}):(0,i.jsx)("p",{className:"text-sm italic text-muted-foreground",children:u.markdownEditor.empty})})})]})}],41176);var c=e.i(67489),u=e.i(10980),m=e.i(41931);e.s(["NotebookSelector",0,function({value:e,onChange:t,className:r}){let[a,s]=(0,n.useState)([]),[o,l]=(0,n.useState)(!0),{t:d}=(0,h.useLanguage)();return(0,n.useEffect)(()=>{(async()=>{try{let e=await m.apiClient.get("/api/notebooks");s(e)}catch(e){console.error("Failed to fetch notebooks:",e)}finally{l(!1)}})()},[]),(0,i.jsxs)(c.Select,{value:e,onValueChange:t,children:[(0,i.jsx)(c.SelectTrigger,{className:r,children:(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(u.BookOpen,{className:"h-4 w-4 text-muted-foreground"}),(0,i.jsx)(c.SelectValue,{placeholder:d.notebooks?.selector?.placeholder||"Select Notebook"})]})}),(0,i.jsx)(c.SelectContent,{children:0===a.length?(0,i.jsx)("div",{className:"p-2 text-sm text-muted-foreground text-center",children:d.notebooks?.selector?.empty||"No notebooks available"}):a.map(e=>(0,i.jsx)(c.SelectItem,{value:e.id,children:e.name},e.id))})]})}],38465);var g=e.i(31278);let p=(0,t.default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]),w=(0,t.default)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]);var x=e.i(67240),f=e.i(16715),y=e.i(27612),b=e.i(19455),v=e.i(94114);let C=null,k=["setcoordsystem","setaxesvisible","setgridvisible","setcolor","setlinethickness","setlinestyle","setpointsize","setpointstyle","setlabelvisible","setcaption","setvisible","setfilling","setvalue","setfixed","setbackgroundcolor"];function D(e,t){for(let r of t)try{if(function(e){let t=e.toLowerCase().trim();return k.some(e=>t.startsWith(e+"("))}(r)){let t=function(e){let t=e.match(/^(\w+)\(([\s\S]+)\)$/);if(!t)return null;try{let e=t[2].trim();if(e.startsWith("[")&&e.endsWith("]"))return{m:t[1],a:JSON.parse(e)};if(/^-?\d+(\.\d+)?$/.test(e))return{m:t[1],a:[Number(e)]};if("true"===e||"false"===e)return{m:t[1],a:["true"===e]};if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return{m:t[1],a:[e.slice(1,-1)]};let r=e.split(",").map(e=>e.trim()).map(e=>/^-?\d+(\.\d+)?$/.test(e)?Number(e):"true"===e||"false"===e?"true"===e:e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e);return{m:t[1],a:r}}catch{return null}}(r);t&&"function"==typeof e[t.m]&&e[t.m](...t.a)}else{let t=r.trim();t&&!/[<>'"]/.test(t)?e.evalCommand(t):console.warn(`[GGB] Blocked potentially unsafe command: ${r.substring(0,50)}`)}}catch(e){console.warn(`[GGB] Failed: ${r}`,e)}}e.s(["GeogebraDemo",0,function({commands:e,height:t=700,showToolBar:r=!1,showAlgebraInput:a=!1,showMenuBar:s=!1,className:o="",onRegenerate:l,onDelete:d}){let{t:c}=(0,h.useLanguage)(),u=(0,n.useRef)(null),m=(0,n.useRef)(null),k=(0,n.useRef)(`ggb-${Math.random().toString(36).slice(2,9)}`),[j,N]=(0,n.useState)(!0),[M,R]=(0,n.useState)(null),[S,E]=(0,n.useState)(!0),[$,B]=(0,n.useState)(!1),[P,_]=(0,n.useState)(!1),L=(0,n.useMemo)(()=>(function(e){if(!e?.trim())return[];let t=e.trim();if(t.startsWith("["))try{let e=JSON.parse(t);if(Array.isArray(e))return e.filter(e=>"string"==typeof e&&""!==e.trim())}catch{}return t.split("\n").map(e=>e.trim()).filter(e=>e&&!e.startsWith("//"))})(e),[e]);(0,n.useEffect)(()=>{if(0===L.length)return;let e=!1,i=k.current;return(C||(C=new Promise((e,t)=>{if(window.GGBApplet)return void e();let r=document.createElement("script");r.src="https://www.geogebra.org/apps/deployggb.js",r.async=!0,r.onload=()=>e(),r.onerror=()=>{C=null,t(Error("Failed to load GeoGebra"))},document.head.appendChild(r)}))).then(()=>{if(e)return;let n=window.GGBApplet;if(!n){R("GeoGebra 未正确加载"),N(!1);return}let o=u.current;if(o){o.innerHTML=`<div id="${i}" style="width:100%;height:${t}px"></div>`;try{new n({appName:"classic",width:"100%",height:t,showToolBar:r,showAlgebraInput:a,showMenuBar:s,showResetIcon:!0,enableRightClick:!0,enableShiftDragZoom:!0,language:"zh",appletOnLoad:r=>{if(e)return;m.current=r;let i=u.current?.firstElementChild;if(i){i.style.width="100%";let e=u.current?.offsetWidth||i.offsetWidth||800;r.setSize(e,t)}D(r,L),N(!1)}},!0).inject(i)}catch(t){console.error("[GGB] Init failed:",t),e||(R("GeoGebra 初始化失败"),N(!1))}}}).catch(t=>{console.error("[GGB] Script load failed:",t),e||(R("无法加载 GeoGebra 组件"),N(!1))}),()=>{e=!0;try{let e=m.current;e&&"function"==typeof e.remove&&e.remove()}catch(e){console.warn("[GGB] Cleanup failed:",e)}m.current=null,u.current&&(u.current.innerHTML="")}},[L,r,a,s]),(0,n.useEffect)(()=>{let e=u.current?.firstElementChild;if(!e)return;let r=S?700:t;e.style.width="100%",e.style.height=`${r}px`;let i=m.current;if(i?.setSize){let t=u.current?.offsetWidth||e.offsetWidth||800;i.setSize(t,r)}},[S,t]);let I=(0,n.useCallback)(()=>{let e=m.current;if(e)try{e.resetConstruction(),setTimeout(()=>{m.current&&D(m.current,L)},300)}catch(e){console.warn("[GGB] Reset failed",e)}},[L]),H=(0,n.useCallback)(async()=>{if(l&&!$){B(!0);try{await l()}finally{B(!1)}}},[l,$]),A=(0,n.useCallback)(async()=>{if(d&&!P&&await (0,v.confirmDialog)(c.geogebra.confirmDelete,{destructive:!0})){_(!0);try{await d()}catch{v.toast.error(c.geogebra.deleteFailed)}finally{_(!1)}}},[d,P,c]);return 0===L.length?null:(0,i.jsxs)("div",{className:`relative rounded-lg border bg-card ${o}`,children:[(0,i.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b bg-muted/30",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"GeoGebra 动态演示"}),j&&(0,i.jsx)(g.Loader2,{className:"h-3 w-3 animate-spin text-muted-foreground"})]}),(0,i.jsxs)("div",{className:"flex items-center gap-1",children:[l&&(0,i.jsxs)(b.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs gap-1",onClick:H,title:"重新生成",disabled:$||j,children:[$?(0,i.jsx)(g.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,i.jsx)(f.RefreshCw,{className:"h-3.5 w-3.5"}),(0,i.jsx)("span",{children:"重新生成"})]}),d&&(0,i.jsxs)(b.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs gap-1 text-destructive hover:text-destructive",onClick:A,title:c.geogebra.delete,disabled:P||$,children:[P?(0,i.jsx)(g.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,i.jsx)(y.Trash2,{className:"h-3.5 w-3.5"}),(0,i.jsx)("span",{children:c.geogebra.delete})]}),(0,i.jsx)(b.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:I,title:"重置",disabled:j,children:(0,i.jsx)(x.RotateCcw,{className:"h-3.5 w-3.5"})}),(0,i.jsx)(b.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>E(e=>!e),title:S?"缩小":"放大",children:S?(0,i.jsx)(w,{className:"h-3.5 w-3.5"}):(0,i.jsx)(p,{className:"h-3.5 w-3.5"})})]})]}),(0,i.jsx)("div",{ref:u,style:{width:"100%"}}),j&&(0,i.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-background/80 rounded-b-lg",style:{top:37},children:(0,i.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,i.jsx)(g.Loader2,{className:"h-6 w-6 animate-spin text-primary"}),(0,i.jsx)("span",{className:"text-sm text-muted-foreground",children:"加载 GeoGebra..."})]})}),M&&(0,i.jsx)("div",{className:"flex items-center justify-center text-sm text-destructive",style:{minHeight:t},children:M})]})}],3198)},83086,e=>{"use strict";let t=(0,e.i(75254).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",0,t],83086)},69937,e=>{"use strict";var t=e.i(18050);let r=(0,e.i(75254).default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);var i=e.i(11110),n=e.i(75157);let a=[1,2,3,4,5];e.s(["DifficultyStars",0,function({value:e,onChange:s,disabled:o,size:l="sm",showUnrated:h=!0,className:d}){let{t:c}=(0,i.useLanguage)(),u=e??0,m="sm"===l?"h-3.5 w-3.5":"h-5 w-5",g=u?c.difficulty.starsLabel.replace("{n}",String(u)):c.difficulty.unrated;return s?(0,t.jsxs)("span",{className:(0,n.cn)("inline-flex items-center gap-0.5",d),role:"group","aria-label":`${c.difficulty.label}:${g}`,title:c.difficulty.clearHint,children:[a.map(e=>(0,t.jsx)("button",{type:"button",disabled:o,onClick:()=>s(e===u?null:e),"aria-label":c.difficulty.setStars.replace("{n}",String(e)),"aria-pressed":e<=u,className:"rounded p-0.5 hover:bg-muted disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,t.jsx)(r,{className:(0,n.cn)(m,e<=u?"fill-amber-400 text-amber-400":"text-muted-foreground/40")})},e)),!u&&h&&(0,t.jsx)("span",{className:"ml-1 text-xs text-muted-foreground",children:c.difficulty.unrated})]}):u?(0,t.jsx)("span",{className:(0,n.cn)("inline-flex items-center",d),role:"img","aria-label":`${c.difficulty.label}:${g}`,title:g,children:a.map(e=>(0,t.jsx)(r,{className:(0,n.cn)(m,e<=u?"fill-amber-400 text-amber-400":"text-muted-foreground/30"),"aria-hidden":!0},e))}):h?(0,t.jsx)("span",{className:(0,n.cn)("text-xs text-muted-foreground",d),children:c.difficulty.unrated}):null}],69937)},12130,28928,e=>{"use strict";var t=e.i(18050),r=e.i(71645),i=r,n=Object.defineProperty,a=(e,t,r)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?n(e,i,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[i]=r};let s={x:0,y:0,width:0,height:0,unit:"px"},o=(e,t,r)=>Math.min(Math.max(e,t),r),l=(e,t)=>e===t||e.width===t.width&&e.height===t.height&&e.x===t.x&&e.y===t.y&&e.unit===t.unit;function h(e,t,r){return"%"===e.unit?{...s,...e,unit:"%"}:{unit:"%",x:e.x?e.x/t*100:0,y:e.y?e.y/r*100:0,width:e.width?e.width/t*100:0,height:e.height?e.height/r*100:0}}function d(e,t,r){return e.unit?"px"===e.unit?{...s,...e,unit:"px"}:{unit:"px",x:e.x?e.x*t/100:0,y:e.y?e.y*r/100:0,width:e.width?e.width*t/100:0,height:e.height?e.height*r/100:0}:{...s,...e,unit:"px"}}function c(e,t,r,i,n,a=0,s=0,o=i,l=n){let h={...e},d=Math.min(a,i),u=Math.min(s,n),m=Math.min(o,i),g=Math.min(l,n);t&&(t>1?(u=(d=s?s*t:d)/t,m=o*t):(d=(u=a?a/t:u)*t,g=l/t)),h.y<0&&(h.height=Math.max(h.height+h.y,u),h.y=0),h.x<0&&(h.width=Math.max(h.width+h.x,d),h.x=0);let p=i-(h.x+h.width);p<0&&(h.x=Math.min(h.x,i-d),h.width+=p);let w=n-(h.y+h.height);if(w<0&&(h.y=Math.min(h.y,n-u),h.height+=w),h.width<d&&(("sw"===r||"nw"==r)&&(h.x-=d-h.width),h.width=d),h.height<u&&(("nw"===r||"ne"==r)&&(h.y-=u-h.height),h.height=u),h.width>m&&(("sw"===r||"nw"==r)&&(h.x-=m-h.width),h.width=m),h.height>g&&(("nw"===r||"ne"==r)&&(h.y-=g-h.height),h.height=g),t){let e=h.width/h.height;if(e<t){let e=Math.max(h.width/t,u);("nw"===r||"ne"==r)&&(h.y-=e-h.height),h.height=e}else if(e>t){let e=Math.max(h.height*t,d);("sw"===r||"nw"==r)&&(h.x-=e-h.width),h.width=e}}return h}let u={capture:!0,passive:!1},m=0,g=class e extends i.PureComponent{constructor(){super(...arguments),a(this,"docMoveBound",!1),a(this,"mouseDownOnCrop",!1),a(this,"dragStarted",!1),a(this,"evData",{startClientX:0,startClientY:0,startCropX:0,startCropY:0,clientX:0,clientY:0,isResize:!0}),a(this,"componentRef",(0,i.createRef)()),a(this,"mediaRef",(0,i.createRef)()),a(this,"resizeObserver"),a(this,"initChangeCalled",!1),a(this,"instanceId",`rc-${m++}`),a(this,"state",{cropIsActive:!1,newCropIsBeingDrawn:!1}),a(this,"onCropPointerDown",e=>{let{crop:t,disabled:r}=this.props,i=this.getBox();if(!t)return;let n=d(t,i.width,i.height);if(r)return;e.cancelable&&e.preventDefault(),this.bindDocMove(),this.componentRef.current.focus({preventScroll:!0});let a=e.target.dataset.ord,s=e.clientX,o=e.clientY,l=n.x,h=n.y;if(a){let t=e.clientX-i.x,r=e.clientY-i.y,d=0,c=0;"ne"===a||"e"==a?(d=t-(n.x+n.width),c=r-n.y,l=n.x,h=n.y+n.height):"se"===a||"s"===a?(d=t-(n.x+n.width),c=r-(n.y+n.height),l=n.x,h=n.y):"sw"===a||"w"==a?(d=t-n.x,c=r-(n.y+n.height),l=n.x+n.width,h=n.y):("nw"===a||"n"==a)&&(d=t-n.x,c=r-n.y,l=n.x+n.width,h=n.y+n.height),s=l+i.x+d,o=h+i.y+c}this.evData={startClientX:s,startClientY:o,startCropX:l,startCropY:h,clientX:e.clientX,clientY:e.clientY,isResize:!!a,ord:a},this.mouseDownOnCrop=!0,this.setState({cropIsActive:!0})}),a(this,"onComponentPointerDown",e=>{let{crop:t,disabled:r,locked:i,keepSelection:n,onChange:a}=this.props,s=this.getBox();if(r||i||n&&t)return;e.cancelable&&e.preventDefault(),this.bindDocMove(),this.componentRef.current.focus({preventScroll:!0});let o=e.clientX-s.x,l=e.clientY-s.y,c={unit:"px",x:o,y:l,width:0,height:0};this.evData={startClientX:e.clientX,startClientY:e.clientY,startCropX:o,startCropY:l,clientX:e.clientX,clientY:e.clientY,isResize:!0},this.mouseDownOnCrop=!0,a(d(c,s.width,s.height),h(c,s.width,s.height)),this.setState({cropIsActive:!0,newCropIsBeingDrawn:!0})}),a(this,"onDocPointerMove",e=>{let t,{crop:r,disabled:i,onChange:n,onDragStart:a}=this.props,s=this.getBox();if(i||!r||!this.mouseDownOnCrop)return;e.cancelable&&e.preventDefault(),this.dragStarted||(this.dragStarted=!0,a&&a(e));let{evData:o}=this;o.clientX=e.clientX,o.clientY=e.clientY,l(r,t=o.isResize?this.resizeCrop():this.dragCrop())||n(d(t,s.width,s.height),h(t,s.width,s.height))}),a(this,"onComponentKeyDown",t=>{let{crop:r,disabled:i,onChange:n,onComplete:a}=this.props;if(i)return;let s=t.key,l=!1;if(!r)return;let c=this.getBox(),u=this.makePixelCrop(c),m=(navigator.platform.match("Mac")?t.metaKey:t.ctrlKey)?e.nudgeStepLarge:t.shiftKey?e.nudgeStepMedium:e.nudgeStep;if("ArrowLeft"===s?(u.x-=m,l=!0):"ArrowRight"===s?(u.x+=m,l=!0):"ArrowUp"===s?(u.y-=m,l=!0):"ArrowDown"===s&&(u.y+=m,l=!0),l){t.cancelable&&t.preventDefault(),u.x=o(u.x,0,c.width-u.width),u.y=o(u.y,0,c.height-u.height);let e=d(u,c.width,c.height),r=h(u,c.width,c.height);n(e,r),a&&a(e,r)}}),a(this,"onHandlerKeyDown",(t,r)=>{var i,n;let a,{aspect:s=0,crop:o,disabled:u,minWidth:m=0,minHeight:g=0,maxWidth:p,maxHeight:w,onChange:x,onComplete:f}=this.props,y=this.getBox();if(u||!o||"ArrowUp"!==t.key&&"ArrowDown"!==t.key&&"ArrowLeft"!==t.key&&"ArrowRight"!==t.key)return;t.stopPropagation(),t.preventDefault();let b=(navigator.platform.match("Mac")?t.metaKey:t.ctrlKey)?e.nudgeStepLarge:t.shiftKey?e.nudgeStepMedium:e.nudgeStep,v=c((i=d(o,y.width,y.height),n=t.key,a={...i},"ArrowLeft"===n?"nw"===r?(a.x-=b,a.y-=b,a.width+=b,a.height+=b):"w"===r?(a.x-=b,a.width+=b):"sw"===r?(a.x-=b,a.width+=b,a.height+=b):"ne"===r?(a.y+=b,a.width-=b,a.height-=b):"e"===r?a.width-=b:"se"===r&&(a.width-=b,a.height-=b):"ArrowRight"===n&&("nw"===r?(a.x+=b,a.y+=b,a.width-=b,a.height-=b):"w"===r?(a.x+=b,a.width-=b):"sw"===r?(a.x+=b,a.width-=b,a.height-=b):"ne"===r?(a.y-=b,a.width+=b,a.height+=b):"e"===r?a.width+=b:"se"===r&&(a.width+=b,a.height+=b)),"ArrowUp"===n?"nw"===r?(a.x-=b,a.y-=b,a.width+=b,a.height+=b):"n"===r?(a.y-=b,a.height+=b):"ne"===r?(a.y-=b,a.width+=b,a.height+=b):"sw"===r?(a.x+=b,a.width-=b,a.height-=b):"s"===r?a.height-=b:"se"===r&&(a.width-=b,a.height-=b):"ArrowDown"===n&&("nw"===r?(a.x+=b,a.y+=b,a.width-=b,a.height-=b):"n"===r?(a.y+=b,a.height-=b):"ne"===r?(a.y+=b,a.width-=b,a.height-=b):"sw"===r?(a.x-=b,a.width+=b,a.height+=b):"s"===r?a.height+=b:"se"===r&&(a.width+=b,a.height+=b)),a),s,r,y.width,y.height,m,g,p,w);if(!l(o,v)){let e=h(v,y.width,y.height);x(v,e),f&&f(v,e)}}),a(this,"onDocPointerDone",e=>{let{crop:t,disabled:r,onComplete:i,onDragEnd:n}=this.props,a=this.getBox();this.unbindDocMove(),!(r||!t)&&this.mouseDownOnCrop&&(this.mouseDownOnCrop=!1,this.dragStarted=!1,n&&n(e),i&&i(d(t,a.width,a.height),h(t,a.width,a.height)),this.setState({cropIsActive:!1,newCropIsBeingDrawn:!1}))}),a(this,"onDragFocus",()=>{var e;null==(e=this.componentRef.current)||e.scrollTo(0,0)})}get document(){return document}getBox(){let e=this.mediaRef.current;if(!e)return{x:0,y:0,width:0,height:0};let{x:t,y:r,width:i,height:n}=e.getBoundingClientRect();return{x:t,y:r,width:i,height:n}}componentDidUpdate(e){let{crop:t,onComplete:r}=this.props;if(r&&!e.crop&&t){let{width:e,height:i}=this.getBox();e&&i&&r(d(t,e,i),h(t,e,i))}}componentWillUnmount(){this.resizeObserver&&this.resizeObserver.disconnect(),this.unbindDocMove()}bindDocMove(){this.docMoveBound||(this.document.addEventListener("pointermove",this.onDocPointerMove,u),this.document.addEventListener("pointerup",this.onDocPointerDone,u),this.document.addEventListener("pointercancel",this.onDocPointerDone,u),this.docMoveBound=!0)}unbindDocMove(){this.docMoveBound&&(this.document.removeEventListener("pointermove",this.onDocPointerMove,u),this.document.removeEventListener("pointerup",this.onDocPointerDone,u),this.document.removeEventListener("pointercancel",this.onDocPointerDone,u),this.docMoveBound=!1)}getCropStyle(){let{crop:e}=this.props;if(e)return{top:`${e.y}${e.unit}`,left:`${e.x}${e.unit}`,width:`${e.width}${e.unit}`,height:`${e.height}${e.unit}`}}dragCrop(){let{evData:e}=this,t=this.getBox(),r=this.makePixelCrop(t),i=e.clientX-e.startClientX,n=e.clientY-e.startClientY;return r.x=o(e.startCropX+i,0,t.width-r.width),r.y=o(e.startCropY+n,0,t.height-r.height),r}getPointRegion(e,t,r,i){let n,{evData:a}=this,s=a.clientX-e.x,o=a.clientY-e.y;return n=i&&t?"nw"===t||"n"===t||"ne"===t:o<a.startCropY,(r&&t?"nw"===t||"w"===t||"sw"===t:s<a.startCropX)?n?"nw":"sw":n?"ne":"se"}resolveMinDimensions(e,t,r=0,i=0){let n=Math.min(r,e.width),a=Math.min(i,e.height);return t&&(n||a)?t>1?n?[n,n/t]:[a*t,a]:a?[a*t,a]:[n,n/t]:[n,a]}resizeCrop(){let{evData:t}=this,{aspect:r=0,maxWidth:i,maxHeight:n}=this.props,a=this.getBox(),[s,l]=this.resolveMinDimensions(a,r,this.props.minWidth,this.props.minHeight),h=this.makePixelCrop(a),d=this.getPointRegion(a,t.ord,s,l),u=t.ord||d,m=t.clientX-t.startClientX,g=t.clientY-t.startClientY;(s&&"nw"===u||"w"===u||"sw"===u)&&(m=Math.min(m,-s)),(l&&"nw"===u||"n"===u||"ne"===u)&&(g=Math.min(g,-l));let p={unit:"px",x:0,y:0,width:0,height:0};"ne"===d?(p.x=t.startCropX,p.width=m,r?p.height=p.width/r:p.height=Math.abs(g),p.y=t.startCropY-p.height):"se"===d?(p.x=t.startCropX,p.y=t.startCropY,p.width=m,r?p.height=p.width/r:p.height=g):"sw"===d?(p.x=t.startCropX+m,p.y=t.startCropY,p.width=Math.abs(m),r?p.height=p.width/r:p.height=g):"nw"===d&&(p.x=t.startCropX+m,p.width=Math.abs(m),r?(p.height=p.width/r,p.y=t.startCropY-p.height):(p.height=Math.abs(g),p.y=t.startCropY+g));let w=c(p,r,d,a.width,a.height,s,l,i,n);return r||e.xyOrds.indexOf(u)>-1?h=w:e.xOrds.indexOf(u)>-1?(h.x=w.x,h.width=w.width):e.yOrds.indexOf(u)>-1&&(h.y=w.y,h.height=w.height),h.x=o(h.x,0,a.width-h.width),h.y=o(h.y,0,a.height-h.height),h}renderCropSelection(){let{ariaLabels:t=e.defaultProps.ariaLabels,disabled:r,locked:n,renderSelectionAddon:a,ruleOfThirds:s,crop:o}=this.props,l=this.getCropStyle();if(o)return i.default.createElement("div",{style:l,className:"ReactCrop__crop-selection",onPointerDown:this.onCropPointerDown,"aria-label":t.cropArea,tabIndex:0,onKeyDown:this.onComponentKeyDown,role:"group"},!r&&!n&&i.default.createElement("div",{className:"ReactCrop__drag-elements",onFocus:this.onDragFocus},i.default.createElement("div",{className:"ReactCrop__drag-bar ord-n","data-ord":"n"}),i.default.createElement("div",{className:"ReactCrop__drag-bar ord-e","data-ord":"e"}),i.default.createElement("div",{className:"ReactCrop__drag-bar ord-s","data-ord":"s"}),i.default.createElement("div",{className:"ReactCrop__drag-bar ord-w","data-ord":"w"}),i.default.createElement("div",{className:"ReactCrop__drag-handle ord-nw","data-ord":"nw",tabIndex:0,"aria-label":t.nwDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"nw"),role:"button"}),i.default.createElement("div",{className:"ReactCrop__drag-handle ord-n","data-ord":"n",tabIndex:0,"aria-label":t.nDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"n"),role:"button"}),i.default.createElement("div",{className:"ReactCrop__drag-handle ord-ne","data-ord":"ne",tabIndex:0,"aria-label":t.neDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"ne"),role:"button"}),i.default.createElement("div",{className:"ReactCrop__drag-handle ord-e","data-ord":"e",tabIndex:0,"aria-label":t.eDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"e"),role:"button"}),i.default.createElement("div",{className:"ReactCrop__drag-handle ord-se","data-ord":"se",tabIndex:0,"aria-label":t.seDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"se"),role:"button"}),i.default.createElement("div",{className:"ReactCrop__drag-handle ord-s","data-ord":"s",tabIndex:0,"aria-label":t.sDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"s"),role:"button"}),i.default.createElement("div",{className:"ReactCrop__drag-handle ord-sw","data-ord":"sw",tabIndex:0,"aria-label":t.swDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"sw"),role:"button"}),i.default.createElement("div",{className:"ReactCrop__drag-handle ord-w","data-ord":"w",tabIndex:0,"aria-label":t.wDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"w"),role:"button"})),a&&i.default.createElement("div",{className:"ReactCrop__selection-addon",onPointerDown:e=>e.stopPropagation()},a(this.state)),s&&i.default.createElement(i.default.Fragment,null,i.default.createElement("div",{className:"ReactCrop__rule-of-thirds-hz"}),i.default.createElement("div",{className:"ReactCrop__rule-of-thirds-vt"})))}makePixelCrop(e){return d({...s,...this.props.crop||{}},e.width,e.height)}render(){let{aspect:e,children:t,circularCrop:r,className:n,crop:a,disabled:s,locked:o,style:l,ruleOfThirds:h}=this.props,{cropIsActive:d,newCropIsBeingDrawn:c}=this.state,u=a?this.renderCropSelection():null,m=((...e)=>e.filter(e=>e&&"string"==typeof e).join(" "))("ReactCrop",n,d&&"ReactCrop--active",s&&"ReactCrop--disabled",o&&"ReactCrop--locked",c&&"ReactCrop--new-crop",a&&e&&"ReactCrop--fixed-aspect",a&&r&&"ReactCrop--circular-crop",a&&h&&"ReactCrop--rule-of-thirds",!this.dragStarted&&a&&!a.width&&!a.height&&"ReactCrop--invisible-crop",r&&"ReactCrop--no-animate");return i.default.createElement("div",{ref:this.componentRef,className:m,style:l},i.default.createElement("div",{ref:this.mediaRef,className:"ReactCrop__child-wrapper",onPointerDown:this.onComponentPointerDown},t),a?i.default.createElement("svg",{className:"ReactCrop__crop-mask",width:"100%",height:"100%"},i.default.createElement("defs",null,i.default.createElement("mask",{id:`hole-${this.instanceId}`},i.default.createElement("rect",{width:"100%",height:"100%",fill:"white"}),r?i.default.createElement("ellipse",{cx:`${a.x+a.width/2}${a.unit}`,cy:`${a.y+a.height/2}${a.unit}`,rx:`${a.width/2}${a.unit}`,ry:`${a.height/2}${a.unit}`,fill:"black"}):i.default.createElement("rect",{x:`${a.x}${a.unit}`,y:`${a.y}${a.unit}`,width:`${a.width}${a.unit}`,height:`${a.height}${a.unit}`,fill:"black"}))),i.default.createElement("rect",{fill:"black",fillOpacity:.5,width:"100%",height:"100%",mask:`url(#hole-${this.instanceId})`})):void 0,u)}};a(g,"xOrds",["e","w"]),a(g,"yOrds",["n","s"]),a(g,"xyOrds",["nw","ne","se","sw"]),a(g,"nudgeStep",1),a(g,"nudgeStepMedium",10),a(g,"nudgeStepLarge",100),a(g,"defaultProps",{ariaLabels:{cropArea:"Use the arrow keys to move the crop selection area",nwDragHandle:"Use the arrow keys to move the north west drag handle to change the crop selection area",nDragHandle:"Use the up and down arrow keys to move the north drag handle to change the crop selection area",neDragHandle:"Use the arrow keys to move the north east drag handle to change the crop selection area",eDragHandle:"Use the up and down arrow keys to move the east drag handle to change the crop selection area",seDragHandle:"Use the arrow keys to move the south east drag handle to change the crop selection area",sDragHandle:"Use the up and down arrow keys to move the south drag handle to change the crop selection area",swDragHandle:"Use the arrow keys to move the south west drag handle to change the crop selection area",wDragHandle:"Use the up and down arrow keys to move the west drag handle to change the crop selection area"}});var p=e.i(19455),w=e.i(76639),x=e.i(37727),f=e.i(11110);async function y(e,t){let{naturalWidth:r,naturalHeight:i}=e;return Promise.all(t.map(t=>new Promise((n,a)=>{let s=document.createElement("canvas"),o=Math.round(t.x*r),l=Math.round(t.y*i);s.width=Math.max(1,Math.round(t.width*r)),s.height=Math.max(1,Math.round(t.height*i));let h=s.getContext("2d");h?(h.drawImage(e,o,l,s.width,s.height,0,0,s.width,s.height),s.toBlob(e=>e?n(e):a(Error("Canvas is empty")),"image/jpeg",.95)):a(Error("Canvas is not supported"))})))}let b=(0,r.forwardRef)(function({imageSrc:e,regions:i,onChange:n},a){let{t:s}=(0,f.useLanguage)(),o=(0,r.useRef)(null),l=(0,r.useRef)(null),[h,d]=(0,r.useState)(null),c=e=>{let t=o.current.getBoundingClientRect();return{x:(e.clientX-t.left)/t.width,y:(e.clientY-t.top)/t.height}},u=()=>{h&&h.width>=.02&&h.height>=.02&&n([...i,h]),l.current=null,d(null)},m=e=>({left:`${100*e.x}%`,top:`${100*e.y}%`,width:`${100*e.width}%`,height:`${100*e.height}%`});return(0,t.jsxs)("div",{className:"relative inline-block select-none",children:[(0,t.jsx)("img",{ref:a,src:e,alt:"",draggable:!1,style:{maxHeight:"65vh",maxWidth:"100%",objectFit:"contain"},className:"block"}),(0,t.jsxs)("div",{ref:o,className:"absolute inset-0 cursor-crosshair",style:{touchAction:"none"},onPointerDown:e=>{0===e.button&&(o.current?.setPointerCapture(e.pointerId),l.current=c(e),d(null))},onPointerMove:e=>{var t,r,i,n;let a,s,o;if(!l.current)return;let h=c(e);d((t=l.current.x,r=l.current.y,i=h.x,n=h.y,s=(a=e=>Math.min(1,Math.max(0,e)))(Math.min(t,i)),o=a(Math.min(r,n)),{x:s,y:o,width:a(Math.max(t,i))-s,height:a(Math.max(r,n))-o}))},onPointerUp:u,onPointerCancel:u,children:[i.map((e,r)=>(0,t.jsxs)("div",{className:"absolute border-2 border-sky-400 bg-sky-400/15",style:m(e),children:[(0,t.jsx)("span",{className:"absolute left-0 top-0 bg-sky-500 px-1.5 text-xs font-bold text-white",children:r+1}),(0,t.jsx)("button",{type:"button",className:"absolute -right-3 -top-3 flex h-6 w-6 items-center justify-center rounded-full bg-red-500 text-white shadow","aria-label":s.batchImport.removeRegion.replace("{index}",String(r+1)),onPointerDown:e=>e.stopPropagation(),onClick:()=>n(i.filter((e,t)=>t!==r)),children:(0,t.jsx)(x.X,{className:"h-3 w-3"})})]},r)),h&&(0,t.jsx)("div",{className:"absolute border-2 border-dashed border-yellow-300 bg-yellow-300/10",style:m(h)})]})]})});async function v(e,t=1,r=1920,i=.8){return new Promise((n,a)=>{let s=new FileReader;s.onload=s=>{let o=new Image;o.onload=()=>{let s=document.createElement("canvas"),l=s.getContext("2d");if(!l)return void a(Error("无法获取 Canvas 上下文"));let h=o.width,d=o.height;h>r&&(d=d*r/h,h=r),s.width=h,s.height=d,l.drawImage(o,0,0,h,d);let c=i,u=s.toDataURL("image/jpeg",c),m=3*u.length/4/1024/1024;for(;m>t&&c>.1;){c-=.1;let e=3*(u=s.toDataURL("image/jpeg",c)).length/4/1024/1024;if(console.log(`压缩质量: ${c.toFixed(1)}, 大小: ${e.toFixed(2)}MB`),e<=t)break}console.log(`原始文件: ${(e.size/1024/1024).toFixed(2)}MB, 压缩后: ${(3*u.length/4/1024/1024).toFixed(2)}MB`),n(u)},o.onerror=()=>a(Error("图片加载失败")),o.src=s.target?.result},s.onerror=()=>a(Error("文件读取失败")),s.readAsDataURL(e)})}async function C(e){let t=e.size/1024/1024;return(console.log(`文件大小: ${t.toFixed(2)}MB`),t>1)?(console.log("文件超过阈值,开始压缩..."),await v(e,1)):(console.log("文件大小合适,无需压缩"),new Promise((t,r)=>{let i=new FileReader;i.onload=()=>t(i.result),i.onerror=r,i.readAsDataURL(e)}))}e.s(["ImageCropper",0,function({imageSrc:e,open:i,onClose:n,onCropComplete:a,onMultiCropComplete:s}){let{t:o}=(0,f.useLanguage)(),[l,h]=(0,r.useState)(),[d,c]=(0,r.useState)(),u=(0,r.useRef)(null),[m,x]=(0,r.useState)("single"),[v,C]=(0,r.useState)({src:e,regions:[]}),k=v.src===e?v.regions:[],D=t=>C({src:e,regions:t}),j=(0,r.useRef)(null),N=async()=>{if(j.current&&0!==k.length&&s)try{s(await y(j.current,k)),D([])}catch(e){console.error(e)}},M=async(e,t)=>{let r=document.createElement("canvas"),i=e.naturalWidth/e.width,n=e.naturalHeight/e.height;r.width=t.width*i,r.height=t.height*n;let a=r.getContext("2d");return a?(a.drawImage(e,t.x*i,t.y*n,t.width*i,t.height*n,0,0,t.width*i,t.height*n),new Promise((e,t)=>{r.toBlob(r=>{r?e(r):t(Error("Canvas is empty"))},"image/jpeg")})):null},R=async()=>{if(d&&u.current)try{let e=await M(u.current,d);e&&a(e)}catch(e){console.error(e)}else if(!d&&e)try{let t=await fetch(e),r=await t.blob();a(r)}catch(e){console.error(e)}};return(0,t.jsx)(w.Dialog,{open:i,onOpenChange:e=>!e&&n(),children:(0,t.jsxs)(w.DialogContent,{className:"max-w-3xl h-[90vh] flex flex-col p-0 gap-0",children:[(0,t.jsx)(w.DialogHeader,{className:"p-4 border-b shrink-0",children:(0,t.jsx)(w.DialogTitle,{children:o.common.cropper?.title||"Crop Image"})}),(0,t.jsx)("div",{className:"flex-1 bg-black w-full overflow-auto flex items-center justify-center p-4",children:"multi"===m?(0,t.jsx)(b,{ref:j,imageSrc:e,regions:k,onChange:D}):(0,t.jsx)(g,{crop:l,onChange:(e,t)=>h(t),onComplete:e=>c(e),className:"max-h-full",children:(0,t.jsx)("img",{ref:u,alt:"Crop me",src:e,onLoad:function(e){let{width:t,height:r}=e.currentTarget;h({unit:"%",x:0,y:0,width:100,height:100}),c({unit:"px",x:0,y:0,width:t,height:r})},style:{maxHeight:"70vh",maxWidth:"100%",objectFit:"contain"}})})}),(0,t.jsxs)("div",{className:"p-4 border-t bg-background shrink-0 space-y-3",children:[s&&(0,t.jsx)("div",{className:"grid grid-cols-2 gap-1 rounded-md bg-muted p-1 sm:w-80",children:["single","multi"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>x(e),className:`rounded px-3 py-1.5 text-sm font-medium transition-colors ${m===e?"bg-background shadow-sm":"text-muted-foreground"}`,children:"single"===e?o.batchImport.singleMode:o.batchImport.multiMode},e))}),(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row sm:justify-between sm:items-center gap-3",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"multi"===m?`${o.batchImport.hint} ${o.batchImport.regionCount.replace("{count}",String(k.length))}`:o.common.cropper?.hint||"💡 Drag to adjust crop area"}),(0,t.jsxs)("div",{className:"flex gap-2 justify-end",children:["multi"===m&&k.length>0&&(0,t.jsx)(p.Button,{variant:"ghost",onClick:()=>D([]),children:o.batchImport.clear}),(0,t.jsx)(p.Button,{variant:"outline",onClick:n,children:o.common.cancel||"Cancel"}),"multi"===m?(0,t.jsx)(p.Button,{onClick:N,disabled:0===k.length,children:o.batchImport.start.replace("{count}",String(k.length))}):(0,t.jsx)(p.Button,{onClick:R,children:o.common.confirm||"Confirm"})]})]})]})]})})}],12130),e.s(["processImageFile",0,C],28928)},88218,e=>{"use strict";var t=e.i(18050),r=e.i(71645),i=e.i(37727),n=e.i(87486),a=e.i(93479),s=e.i(41931);e.s(["TagInput",0,function({value:e=[],onChange:o,placeholder:l="Enter tags...",className:h="",enterHint:d,subject:c,gradeStage:u}){let[m,g]=(0,r.useState)(""),[p,w]=(0,r.useState)([]),[x,f]=(0,r.useState)(!1),[y,b]=(0,r.useState)(0),v=(0,r.useRef)(null),C=(0,r.useRef)(null);(0,r.useEffect)(()=>{m.trim()?k(m):(w([]),f(!1))},[m,c,u]);let k=async t=>{try{let r=new URLSearchParams({q:t});c&&r.append("subject",c),u&&r.append("stage",u);let i=((await s.apiClient.get(`/api/tags/suggestions?${r.toString()}`)).suggestions||[]).filter(t=>!e.includes(t));w(i.slice(0,20)),f(i.length>0),b(0)}catch(e){console.error("Failed to fetch suggestions:",e)}},D=t=>{t.trim()&&!e.includes(t.trim())&&(o([...e,t.trim()]),g(""),w([]),f(!1),b(0))},j=t=>{o(e.filter(e=>e!==t))};return(0,r.useEffect)(()=>{let e=e=>{!C.current||C.current.contains(e.target)||v.current?.contains(e.target)||f(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,t.jsxs)("div",{className:`relative ${h}`,children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-2 p-2 border rounded-lg bg-background min-h-[42px]",children:[e.map(e=>(0,t.jsxs)(n.Badge,{variant:"secondary",className:"flex items-center gap-1 px-2 py-1",children:[e,(0,t.jsx)("button",{type:"button",onClick:()=>j(e),className:"hover:text-destructive ml-1",children:(0,t.jsx)(i.X,{className:"h-3 w-3"})})]},e)),(0,t.jsx)(a.Input,{ref:v,type:"text",value:m,onChange:e=>g(e.target.value),onKeyDown:t=>{"Enter"===t.key?(t.preventDefault(),y>=0&&p[y]?D(p[y]):m.trim()&&D(m)):"ArrowDown"===t.key?(t.preventDefault(),b(e=>Math.min(e+1,p.length-1))):"ArrowUp"===t.key?(t.preventDefault(),b(e=>Math.max(e-1,0))):"Escape"===t.key?(f(!1),b(0)):"Backspace"===t.key&&!m&&e.length>0&&j(e[e.length-1])},onFocus:()=>{p.length>0&&f(!0)},placeholder:0===e.length?l:"",className:"flex-1 min-w-[120px] border-none focus-visible:ring-0 focus-visible:ring-offset-0 h-8 px-0"})]}),x&&p.length>0&&(0,t.jsx)("div",{ref:C,className:"absolute z-50 w-full mt-1 bg-popover border rounded-md shadow-md max-h-48 overflow-y-auto",children:p.map((e,r)=>(0,t.jsx)("div",{className:`px-3 py-2 cursor-pointer hover:bg-accent ${r===y?"bg-accent":""}`,onClick:()=>D(e),onMouseEnter:()=>b(r),children:e},e))}),m&&!x&&(0,t.jsx)("div",{className:"text-xs text-muted-foreground mt-1",children:d?`${d} "${m}"`:`Press Enter to create "${m}"`})]})}])},52122,e=>{"use strict";e.i(30691),e.s(["inferSubjectFromName",0,function(e){if(!e)return null;let t=e.toLowerCase();return t.includes("math")||t.includes("数学")?"math":t.includes("physics")||t.includes("物理")?"physics":t.includes("chemistry")||t.includes("化学")?"chemistry":t.includes("biology")||t.includes("生物")?"biology":t.includes("english")||t.includes("英语")?"english":t.includes("chinese")||t.includes("语文")?"chinese":t.includes("history")||t.includes("历史")?"history":t.includes("geography")||t.includes("地理")?"geography":t.includes("politics")||t.includes("政治")?"politics":null}])},62825,e=>{"use strict";function t(e){return"not_attempted"===e||"wrong_attempt"===e||"unknown"===e?e:"unknown"}e.s(["getMistakeStatusLabel",0,function(e,r="zh"){return("en"===r?{not_attempted:"Not attempted",wrong_attempt:"Wrong attempt",unknown:"Unknown"}:{not_attempted:"不会做",wrong_attempt:"做错了",unknown:"未判断"})[t(e)]},"normalizeMistakeStatusForSave",0,function(e,r){return(r||"").trim()?"wrong_attempt":t(e)}])},43710,e=>{"use strict";e.s(["getDefaultPaperLevel",0,function(e){return"number"!=typeof e||!Number.isInteger(e)||e<1||e>5?null:e<=3?"a":"b"}])}]);
@@ -0,0 +1,3 @@
1
+ @font-face{font-family:geistSans;src:url(../media/Geist_Variable-s.p.03oqkqkevsckn.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geistSans Fallback;src:local(Arial);ascent-override:85.83%;descent-override:20.53%;line-gap-override:9.33%;size-adjust:107.19%}.geistsans_bd693000-module__ckR-yq__className{font-family:geistSans,geistSans Fallback}.geistsans_bd693000-module__ckR-yq__variable{--font-geist-sans:"geistSans", "geistSans Fallback"}
2
+ @font-face{font-family:geistMono;src:url(../media/GeistMono_Variable-s.p.0iy569vnmknd-.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geistMono Fallback;src:local(Arial);ascent-override:72.63%;descent-override:18.63%;line-gap-override:0.0%;size-adjust:131.49%}.geistmono_e440b2c1-module__ayGZiq__className{font-family:geistMono,geistMono Fallback}.geistmono_e440b2c1-module__ayGZiq__variable{--font-geist-mono:"geistMono", "geistMono Fallback"}
3
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-red-50:#fef2f2;--color-red-100:#ffe2e2;--color-red-200:#ffcaca;--color-red-300:#ffa3a3;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-red-700:#bf000f;--color-red-800:#9f0712;--color-red-900:#82181a;--color-red-950:#460809;--color-orange-100:#ffedd5;--color-orange-200:#ffd7a8;--color-orange-300:#ffb96d;--color-orange-400:#ff8b1a;--color-orange-500:#fe6e00;--color-orange-600:#f05100;--color-orange-700:#c53c00;--color-orange-900:#7e2a0c;--color-amber-50:#fffbeb;--color-amber-100:#fef3c6;--color-amber-200:#fee685;--color-amber-300:#ffd236;--color-amber-400:#fcbb00;--color-amber-500:#f99c00;--color-amber-600:#dd7400;--color-amber-700:#b75000;--color-amber-800:#953d00;--color-amber-900:#7b3306;--color-yellow-50:#fefce8;--color-yellow-300:#ffe02a;--color-yellow-500:#edb200;--color-yellow-600:#cd8900;--color-yellow-700:#a36100;--color-lime-100:#ecfcca;--color-lime-300:#bbf451;--color-lime-500:#80cd00;--color-lime-700:#4b7d00;--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#b9f8cf;--color-green-300:#7bf1a8;--color-green-500:#00c758;--color-green-600:#00a544;--color-green-700:#008138;--color-green-800:#016630;--color-green-900:#0d542b;--color-green-950:#032e15;--color-emerald-100:#d0fae5;--color-emerald-300:#5ee9b5;--color-emerald-500:#00bb7f;--color-emerald-600:#009767;--color-teal-100:#cbfbf1;--color-teal-300:#46ecd5;--color-teal-500:#00baa7;--color-teal-600:#009588;--color-cyan-100:#cefafe;--color-cyan-300:#53eafd;--color-cyan-500:#00b7d7;--color-cyan-600:#0092b5;--color-sky-400:#00bcfe;--color-sky-500:#00a5ef;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bedbff;--color-blue-300:#90c5ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-700:#1447e6;--color-blue-800:#193cb8;--color-blue-900:#1c398e;--color-blue-950:#162456;--color-indigo-400:#7d87ff;--color-indigo-500:#625fff;--color-indigo-600:#4f39f6;--color-indigo-700:#432dd7;--color-violet-400:#a685ff;--color-violet-500:#8d54ff;--color-violet-600:#7f22fe;--color-purple-50:#faf5ff;--color-purple-500:#ac4bff;--color-purple-950:#3c0366;--color-fuchsia-300:#f2a9ff;--color-pink-500:#f6339a;--color-rose-100:#ffe4e6;--color-rose-300:#ffa2ae;--color-rose-500:#ff2357;--color-rose-600:#e70044;--color-gray-300:#d1d5dc;--color-gray-600:#4a5565;--color-gray-700:#364153;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--blur-2xl:40px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-50:lab(96.5005% 4.18508 1.52328);--color-red-100:lab(92.243% 10.2865 3.83865);--color-red-200:lab(86.017% 19.8815 7.75869);--color-red-300:lab(76.5514% 36.422 15.5335);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-red-800:lab(33.7174% 55.8993 41.0293);--color-red-900:lab(28.5139% 44.5539 29.0463);--color-red-950:lab(13.003% 29.04 16.7519);--color-orange-100:lab(94.7127% 3.58394 14.3151);--color-orange-200:lab(88.4871% 9.94918 28.8378);--color-orange-300:lab(80.8059% 21.7313 50.4455);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-orange-600:lab(57.1026% 64.2584 89.8886);--color-orange-700:lab(46.4615% 57.7275 70.8507);--color-orange-900:lab(30.2951% 36.0434 37.671);--color-amber-50:lab(98.6252% -.635922 8.42309);--color-amber-100:lab(95.916% -1.21653 23.111);--color-amber-200:lab(91.7203% -.505269 49.9084);--color-amber-300:lab(86.4156% 6.13147 78.3961);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-amber-600:lab(60.3514% 40.5624 87.1228);--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-amber-800:lab(37.8822% 37.1699 52.2718);--color-amber-900:lab(31.2288% 30.2627 40.0378);--color-yellow-50:lab(98.6846% -1.79055 9.7766);--color-yellow-300:lab(89.7033% -.480294 84.4917);--color-yellow-500:lab(76.3898% 14.5258 98.4589);--color-yellow-600:lab(62.7799% 22.4197 86.1544);--color-yellow-700:lab(47.8202% 25.2426 66.5015);--color-lime-100:lab(96.8662% -11.7133 22.0854);--color-lime-300:lab(89.9218% -35.6546 68.5254);--color-lime-500:lab(75.3197% -46.6547 86.1778);--color-lime-700:lab(47.246% -32.2589 55.8249);--color-green-50:lab(98.1563% -5.60117 2.75915);--color-green-100:lab(96.1861% -13.8464 6.52365);--color-green-200:lab(92.4222% -26.4702 12.9427);--color-green-300:lab(86.9953% -47.2691 25.0054);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-green-700:lab(47.0329% -47.0239 31.4788);--color-green-800:lab(37.4616% -36.7971 22.9692);--color-green-900:lab(30.797% -29.6927 17.382);--color-green-950:lab(15.6845% -20.4225 11.7249);--color-emerald-100:lab(94.9004% -17.0769 5.63836);--color-emerald-300:lab(83.9203% -48.7124 13.8849);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-teal-100:lab(95.1845% -17.4212 -.425422);--color-teal-300:lab(84.8977% -48.1516 -1.3321);--color-teal-500:lab(67.3859% -49.0983 -2.63511);--color-teal-600:lab(55.0223% -41.0774 -3.90277);--color-cyan-100:lab(95.3146% -13.8285 -6.84732);--color-cyan-300:lab(85.3886% -36.7636 -21.5716);--color-cyan-500:lab(67.805% -35.3952 -30.2018);--color-cyan-600:lab(55.1767% -26.7496 -30.5139);--color-sky-400:lab(70.687% -23.6078 -45.9483);--color-sky-500:lab(63.3038% -18.433 -51.0407);--color-blue-50:lab(96.492% -1.14644 -5.11479);--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-blue-200:lab(86.15% -4.04379 -21.0797);--color-blue-300:lab(77.5052% -6.4629 -36.42);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-blue-800:lab(30.2514% 27.7853 -70.2699);--color-blue-900:lab(26.1542% 15.7545 -51.5504);--color-blue-950:lab(15.6723% 8.86232 -32.2945);--color-indigo-400:lab(59.866% 22.4834 -64.4485);--color-indigo-500:lab(48.295% 38.3129 -81.9673);--color-indigo-600:lab(38.4009% 52.6132 -92.3857);--color-indigo-700:lab(32.4486% 49.2217 -84.6695);--color-violet-400:lab(62.8239% 34.9159 -60.0512);--color-violet-500:lab(49.9355% 55.1776 -81.8963);--color-violet-600:lab(41.088% 68.9966 -91.995);--color-purple-50:lab(97.1627% 2.99937 -4.13398);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-purple-950:lab(14.8253% 38.9005 -44.5861);--color-fuchsia-300:lab(78.5378% 39.3533 -32.9615);--color-pink-500:lab(56.9303% 76.8162 -8.07021);--color-rose-100:lab(92.8221% 9.86832 2.60075);--color-rose-300:lab(76.6339% 38.3549 9.68835);--color-rose-500:lab(56.101% 79.4328 31.4532);--color-rose-600:lab(49.1882% 81.577 36.0311);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-600:lab(35.6337% -1.58697 -10.8425);--color-gray-700:lab(27.1134% -.956401 -12.3224)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground);-webkit-tap-highlight-color:transparent}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.-top-3{top:calc(var(--spacing)*-3)}.-top-12{top:calc(var(--spacing)*-12)}.-top-32{top:calc(var(--spacing)*-32)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.-right-1{right:calc(var(--spacing)*-1)}.-right-3{right:calc(var(--spacing)*-3)}.-right-10{right:calc(var(--spacing)*-10)}.-right-24{right:calc(var(--spacing)*-24)}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.right-24{right:calc(var(--spacing)*24)}.-bottom-16{bottom:calc(var(--spacing)*-16)}.-bottom-40{bottom:calc(var(--spacing)*-40)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-16{bottom:calc(var(--spacing)*16)}.bottom-20{bottom:calc(var(--spacing)*20)}.-left-32{left:calc(var(--spacing)*-32)}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.order-1{order:1}.order-2{order:2}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing)*4)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-auto{margin-right:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.-ml-2{margin-left:calc(var(--spacing)*-2)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.field-sizing-content{field-sizing:content}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-40{height:calc(var(--spacing)*40)}.h-44{height:calc(var(--spacing)*44)}.h-96{height:calc(var(--spacing)*96)}.h-\[28rem\]{height:28rem}.h-\[90vh\]{height:90vh}.h-\[300px\]{height:300px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-44{max-height:calc(var(--spacing)*44)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-56{max-height:calc(var(--spacing)*56)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-24{min-height:calc(var(--spacing)*24)}.min-h-\[4px\]{min-height:4px}.min-h-\[42px\]{min-height:42px}.min-h-\[50vh\]{min-height:50vh}.min-h-\[60vh\]{min-height:60vh}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[140px\]{min-height:140px}.min-h-\[150px\]{min-height:150px}.min-h-\[180px\]{min-height:180px}.min-h-\[200px\]{min-height:200px}.min-h-\[260px\]{min-height:260px}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-28{width:calc(var(--spacing)*28)}.w-40{width:calc(var(--spacing)*40)}.w-44{width:calc(var(--spacing)*44)}.w-48{width:calc(var(--spacing)*48)}.w-96{width:calc(var(--spacing)*96)}.w-\[28rem\]{width:28rem}.w-\[120px\]{width:120px}.w-\[140px\]{width:140px}.w-\[180px\]{width:180px}.w-\[200px\]{width:200px}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-\[calc\(100vw-2rem\)\]{width:calc(100vw - 2rem)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-40{max-width:calc(var(--spacing)*40)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[120px\]{min-width:120px}.min-w-\[200px\]{min-width:200px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-x-4{column-gap:calc(var(--spacing)*4)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-2{row-gap:calc(var(--spacing)*2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-md{border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-500{border-color:var(--color-amber-500)}.border-amber-600{border-color:var(--color-amber-600)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-border{border-color:var(--border)}.border-destructive,.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-green-500{border-color:var(--color-green-500)}.border-green-600{border-color:var(--color-green-600)}.border-input{border-color:var(--input)}.border-orange-300{border-color:var(--color-orange-300)}.border-primary,.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab,var(--primary)20%,transparent)}}.border-primary\/40{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/40{border-color:color-mix(in oklab,var(--primary)40%,transparent)}}.border-primary\/50{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/50{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-500{border-color:var(--color-red-500)}.border-red-600{border-color:var(--color-red-600)}.border-red-600\/50{border-color:#e4001480}@supports (color:color-mix(in lab, red, red)){.border-red-600\/50{border-color:color-mix(in oklab,var(--color-red-600)50%,transparent)}}.border-sky-400{border-color:var(--color-sky-400)}.border-transparent{border-color:#0000}.border-yellow-300{border-color:var(--color-yellow-300)}.border-yellow-500\/50{border-color:#edb20080}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/50{border-color:color-mix(in oklab,var(--color-yellow-500)50%,transparent)}}.border-l-success\/70{border-left-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.border-l-success\/70{border-left-color:color-mix(in oklab,var(--success)70%,transparent)}}.border-l-warning\/70{border-left-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.border-l-warning\/70{border-left-color:color-mix(in oklab,var(--warning)70%,transparent)}}.bg-accent,.bg-accent\/60{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/60{background-color:color-mix(in oklab,var(--accent)60%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab, red, red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-card,.bg-card\/50{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/50{background-color:color-mix(in oklab,var(--card)50%,transparent)}}.bg-card\/80{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/80{background-color:color-mix(in oklab,var(--card)80%,transparent)}}.bg-card\/90{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/90{background-color:color-mix(in oklab,var(--card)90%,transparent)}}.bg-card\/95{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/95{background-color:color-mix(in oklab,var(--card)95%,transparent)}}.bg-current{background-color:currentColor}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-fuchsia-300\/20{background-color:#f2a9ff33}@supports (color:color-mix(in lab, red, red)){.bg-fuchsia-300\/20{background-color:color-mix(in oklab,var(--color-fuchsia-300)20%,transparent)}}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-400\/25{background-color:#7d87ff40}@supports (color:color-mix(in lab, red, red)){.bg-indigo-400\/25{background-color:color-mix(in oklab,var(--color-indigo-400)25%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-lime-100{background-color:var(--color-lime-100)}.bg-muted,.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/20{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--muted)40%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-pink-500{background-color:var(--color-pink-500)}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-100\/50{background-color:#ffe2e280}@supports (color:color-mix(in lab, red, red)){.bg-red-100\/50{background-color:color-mix(in oklab,var(--color-red-100)50%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-700{background-color:var(--color-red-700)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-secondary{background-color:var(--secondary)}.bg-sky-400\/15{background-color:#00bcfe26}@supports (color:color-mix(in lab, red, red)){.bg-sky-400\/15{background-color:color-mix(in oklab,var(--color-sky-400)15%,transparent)}}.bg-sky-500{background-color:var(--color-sky-500)}.bg-success,.bg-success\/15{background-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/15{background-color:color-mix(in oklab,var(--success)15%,transparent)}}.bg-teal-100{background-color:var(--color-teal-100)}.bg-transparent{background-color:#0000}.bg-violet-400\/20{background-color:#a685ff33}@supports (color:color-mix(in lab, red, red)){.bg-violet-400\/20{background-color:color-mix(in oklab,var(--color-violet-400)20%,transparent)}}.bg-violet-500{background-color:var(--color-violet-500)}.bg-warning\/15{background-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/15{background-color:color-mix(in oklab,var(--warning)15%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.bg-yellow-50\/50{background-color:#fefce880}@supports (color:color-mix(in lab, red, red)){.bg-yellow-50\/50{background-color:color-mix(in oklab,var(--color-yellow-50)50%,transparent)}}.bg-yellow-300\/10{background-color:#ffe02a1a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-300\/10{background-color:color-mix(in oklab,var(--color-yellow-300)10%,transparent)}}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-indigo-600{--tw-gradient-from:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-500{--tw-gradient-from:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-indigo-500{--tw-gradient-via:var(--color-indigo-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-orange-400{--tw-gradient-to:var(--color-orange-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-violet-500{--tw-gradient-to:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.fill-amber-400{fill:var(--color-amber-400)}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-14{padding-block:calc(var(--spacing)*14)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-10{padding-right:calc(var(--spacing)*10)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-20{padding-bottom:calc(var(--spacing)*20)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pb-40{padding-bottom:calc(var(--spacing)*40)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-7{padding-left:calc(var(--spacing)*7)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-foreground{color:var(--accent-foreground)}.text-amber-400{color:var(--color-amber-400)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-800\/90{color:#953d00e6}@supports (color:color-mix(in lab, red, red)){.text-amber-800\/90{color:color-mix(in oklab,var(--color-amber-800)90%,transparent)}}.text-amber-900{color:var(--color-amber-900)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-border{color:var(--border)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-cyan-600{color:var(--color-cyan-600)}.text-destructive{color:var(--destructive)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground{color:var(--foreground)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-lime-700{color:var(--color-lime-700)}.text-muted-foreground,.text-muted-foreground\/30{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/30{color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.text-muted-foreground\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/40{color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-orange-900{color:var(--color-orange-900)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-500{color:var(--color-purple-500)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-rose-600{color:var(--color-rose-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-success{color:var(--success)}.text-teal-600{color:var(--color-teal-600)}.text-warning{color:var(--warning)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.text-white\/75{color:color-mix(in oklab,var(--color-white)75%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-primary{accent-color:var(--primary)}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-indigo-500\/5{--tw-shadow-color:#625fff0d}@supports (color:color-mix(in lab, red, red)){.shadow-indigo-500\/5{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-indigo-500)5%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-indigo-500\/20{--tw-shadow-color:#625fff33}@supports (color:color-mix(in lab, red, red)){.shadow-indigo-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-indigo-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-indigo-500\/30{--tw-shadow-color:#625fff4d}@supports (color:color-mix(in lab, red, red)){.shadow-indigo-500\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-indigo-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-border{--tw-ring-color:var(--border)}.ring-primary{--tw-ring-color:var(--primary)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\!running{animation-play-state:running!important}.\[ai\:openai\]{ai:openai}.fade-in{--tw-enter-opacity:0}.running{animation-play-state:running}.slide-in-from-bottom-4{--tw-enter-translate-y:calc(4*var(--spacing))}.slide-in-from-top-2{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}@media (hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection,.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection,.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:border-primary\/40:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,var(--primary)40%,transparent)}}.hover\:border-primary\/50:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.hover\:border-primary\/60:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/60:hover{border-color:color-mix(in oklab,var(--primary)60%,transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/40:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/40:hover{background-color:color-mix(in oklab,var(--accent)40%,transparent)}}.hover\:bg-black\/10:hover{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/10:hover{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.hover\:bg-blue-200:hover{background-color:var(--color-blue-200)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-green-200:hover{background-color:var(--color-green-200)}.hover\:bg-muted:hover,.hover\:bg-muted\/30:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/30:hover{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-orange-200:hover{background-color:var(--color-orange-200)}.hover\:bg-primary\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-200:hover{background-color:var(--color-red-200)}.hover\:bg-red-800:hover{background-color:var(--color-red-800)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-success\/90:hover{background-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-success\/90:hover{background-color:color-mix(in oklab,var(--success)90%,transparent)}}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:from-indigo-700:hover{--tw-gradient-from:var(--color-indigo-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-violet-600:hover{--tw-gradient-to:var(--color-violet-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-gray-300:hover{color:var(--color-gray-300)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary:focus{--tw-ring-color:var(--primary)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-card\/70{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.supports-\[backdrop-filter\]\:bg-card\/70{background-color:color-mix(in oklab,var(--card)70%,transparent)}}}@media (min-width:40rem){.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:mr-2{margin-right:calc(var(--spacing)*2)}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-grid{display:inline-grid}.sm\:h-4{height:calc(var(--spacing)*4)}.sm\:w-4{width:calc(var(--spacing)*4)}.sm\:w-20{width:calc(var(--spacing)*20)}.sm\:w-48{width:calc(var(--spacing)*48)}.sm\:w-80{width:calc(var(--spacing)*80)}.sm\:w-auto{width:auto}.sm\:max-w-3xl{max-width:var(--container-3xl)}.sm\:max-w-\[900px\]{max-width:900px}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:max-w-xs{max-width:var(--container-xs)}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing)*2)}.sm\:gap-4{gap:calc(var(--spacing)*4)}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:p-3{padding:calc(var(--spacing)*3)}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\:px-3{padding-inline:calc(var(--spacing)*3)}.sm\:pb-24{padding-bottom:calc(var(--spacing)*24)}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:opacity-0{opacity:0}.sm\:group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.sm\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}}@media (min-width:48rem){.md\:right-6{right:calc(var(--spacing)*6)}.md\:bottom-0{bottom:calc(var(--spacing)*0)}.md\:bottom-6{bottom:calc(var(--spacing)*6)}.md\:col-span-1{grid-column:span 1/span 1}.md\:m-8{margin:calc(var(--spacing)*8)}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-16{height:calc(var(--spacing)*16)}.md\:min-h-\[300px\]{min-height:300px}.md\:w-72{width:calc(var(--spacing)*72)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:p-7{padding:calc(var(--spacing)*7)}.md\:px-8{padding-inline:calc(var(--spacing)*8)}.md\:py-8{padding-block:calc(var(--spacing)*8)}.md\:pb-0{padding-bottom:calc(var(--spacing)*0)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:flex{display:flex}.lg\:flex-1{flex:1}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-amber-500\/15:is(.dark *){background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-500\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-500)15%,transparent)}}.dark\:bg-blue-500\/15:is(.dark *){background-color:#3080ff26}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-500\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-500)15%,transparent)}}.dark\:bg-blue-950\/30:is(.dark *){background-color:#1624564d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-950)30%,transparent)}}.dark\:bg-cyan-500\/15:is(.dark *){background-color:#00b7d726}@supports (color:color-mix(in lab, red, red)){.dark\:bg-cyan-500\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-cyan-500)15%,transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-emerald-500\/15:is(.dark *){background-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-500\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-emerald-500)15%,transparent)}}.dark\:bg-green-950\/30:is(.dark *){background-color:#032e154d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-green-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-green-950)30%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-lime-500\/15:is(.dark *){background-color:#80cd0026}@supports (color:color-mix(in lab, red, red)){.dark\:bg-lime-500\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-lime-500)15%,transparent)}}.dark\:bg-orange-500\/15:is(.dark *){background-color:#fe6e0026}@supports (color:color-mix(in lab, red, red)){.dark\:bg-orange-500\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-orange-500)15%,transparent)}}.dark\:bg-purple-950\/30:is(.dark *){background-color:#3c03664d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-purple-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-purple-950)30%,transparent)}}.dark\:bg-red-500\/15:is(.dark *){background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-500\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-red-500)15%,transparent)}}.dark\:bg-red-950\/30:is(.dark *){background-color:#4608094d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-950\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-red-950)30%,transparent)}}.dark\:bg-rose-500\/15:is(.dark *){background-color:#ff235726}@supports (color:color-mix(in lab, red, red)){.dark\:bg-rose-500\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-rose-500)15%,transparent)}}.dark\:bg-teal-500\/15:is(.dark *){background-color:#00baa726}@supports (color:color-mix(in lab, red, red)){.dark\:bg-teal-500\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-teal-500)15%,transparent)}}.dark\:text-amber-300:is(.dark *){color:var(--color-amber-300)}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-blue-300:is(.dark *){color:var(--color-blue-300)}.dark\:text-cyan-300:is(.dark *){color:var(--color-cyan-300)}.dark\:text-emerald-300:is(.dark *){color:var(--color-emerald-300)}.dark\:text-lime-300:is(.dark *){color:var(--color-lime-300)}.dark\:text-orange-300:is(.dark *){color:var(--color-orange-300)}.dark\:text-red-300:is(.dark *){color:var(--color-red-300)}.dark\:text-rose-300:is(.dark *){color:var(--color-rose-300)}.dark\:text-teal-300:is(.dark *){color:var(--color-teal-300)}.dark\:text-warning:is(.dark *){color:var(--warning)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}@media print{.print\:hidden{display:none}.print\:break-inside-avoid{break-inside:avoid}.print\:p-0{padding:calc(var(--spacing)*0)}.print\:pb-16{padding-bottom:calc(var(--spacing)*16)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.75rem;--background:#f8f9fc;--foreground:#141822;--card:#fff;--card-foreground:#141822;--popover:#fff;--popover-foreground:#141822;--primary:#3959da;--primary-foreground:#fafafa;--secondary:#edf0f9;--secondary-foreground:#212c4c;--muted:#f0f2f6;--muted-foreground:#636975;--accent:#e7eeff;--accent-foreground:#23367b;--destructive:#e40014;--success:#009957;--warning:#e29000;--border:#e0e3e8;--input:#dbdee5;--ring:#5577e5;--chart-1:#4163e4;--chart-2:#00a89a;--chart-3:#ef7926;--chart-4:#b24dc8;--chart-5:#d3a813;--sidebar:#fafafa;--sidebar-foreground:#0a0a0a;--sidebar-primary:#3959da;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#e7eeff;--sidebar-accent-foreground:#23367b;--sidebar-border:#e0e3e8;--sidebar-ring:#5577e5}@supports (color:lab(0% 0 0)){:root{--background:lab(97.8959% -.121325 -1.51236);--foreground:lab(8.24713% -.0405461 -7.31381);--card:lab(100% 0 0);--card-foreground:lab(8.24713% -.0405461 -7.31381);--popover:lab(100% 0 0);--popover-foreground:lab(8.24713% -.0405461 -7.31381);--primary:lab(41.7186% 23.956 -70.8077);--primary-foreground:lab(98.26% 0 0);--secondary:lab(94.7192% -.051409 -4.53904);--secondary-foreground:lab(18.2805% 3.31534 -21.5616);--muted:lab(95.3356% -.178218 -2.26622);--muted-foreground:lab(44.2277% -.398874 -7.45208);--accent:lab(94.0672% -.00500679 -9.40112);--accent-foreground:lab(24.3558% 12.1777 -42.5634);--destructive:lab(48.4493% 77.4328 61.5452);--success:lab(55.5299% -48.2881 24.9659);--warning:lab(67.147% 26.4915 75.1288);--border:lab(90.1072% -.231564 -3.01818);--input:lab(88.3586% -.282437 -3.76866);--ring:lab(51.8142% 14.2599 -60.5014);--chart-1:lab(45.3074% 22.4534 -70.8484);--chart-2:lab(61.2018% -52.511 -5.21389);--chart-3:lab(64.1406% 43.1601 62.5786);--chart-4:lab(50.4285% 54.7595 -46.1247);--chart-5:lab(71.3319% 7.19258 71.0927);--sidebar:lab(98.26% 0 0);--sidebar-foreground:lab(2.75381% 0 0);--sidebar-primary:lab(41.7186% 23.956 -70.8077);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(94.0672% -.00500679 -9.40112);--sidebar-accent-foreground:lab(24.3558% 12.1777 -42.5634);--sidebar-border:lab(90.1072% -.231564 -3.01818);--sidebar-ring:lab(51.8142% 14.2599 -60.5014)}}.dark{--background:#0a0d14;--foreground:#f3f5f9;--card:#141821;--card-foreground:#f3f5f9;--popover:#141821;--popover-foreground:#f3f5f9;--primary:#6e91fa;--primary-foreground:#0a0d14;--secondary:#212630;--secondary-foreground:#f3f5f9;--muted:#212630;--muted-foreground:#9ea5b2;--accent:#252d42;--accent-foreground:#f3f5f9;--destructive:#ff6568;--success:#3bb974;--warning:#f4a437;--border:#ffffff1a;--input:#ffffff26;--ring:#617cc8;--chart-1:#6e91fa;--chart-2:#00b8a9;--chart-3:#fc8c45;--chart-4:#cc67e3;--chart-5:#e3b831;--sidebar:#141821;--sidebar-foreground:#f3f5f9;--sidebar-primary:#6e91fa;--sidebar-primary-foreground:#f3f5f9;--sidebar-accent:#252d42;--sidebar-accent-foreground:#f3f5f9;--sidebar-border:#ffffff1a;--sidebar-ring:#617cc8}@supports (color:lab(0% 0 0)){.dark{--background:lab(3.64975% -.0222847 -3.84457);--foreground:lab(96.4998% -.150114 -1.88948);--card:lab(8.26159% -.0917316 -6.60053);--card-foreground:lab(96.4998% -.150114 -1.88948);--popover:lab(8.26159% -.0917316 -6.60053);--popover-foreground:lab(96.4998% -.150114 -1.88948);--primary:lab(61.373% 10.7609 -57.2222);--primary-foreground:lab(3.64975% -.0222847 -3.84457);--secondary:lab(15.2149% -.176251 -7.36006);--secondary-foreground:lab(96.4998% -.150114 -1.88948);--muted:lab(15.2149% -.176251 -7.36006);--muted-foreground:lab(67.4314% -.46429 -7.48369);--accent:lab(18.508% 1.32757 -14.5545);--accent-foreground:lab(96.4998% -.150114 -1.88948);--destructive:lab(63.7053% 60.745 31.3109);--success:lab(67.145% -47.9208 24.7216);--warning:lab(74.1858% 23.9202 65.0302);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(52.5611% 6.63069 -43.1233);--chart-1:lab(61.373% 10.7609 -57.2222);--chart-2:lab(67.0022% -52.3381 -5.22977);--chart-3:lab(70.043% 40.0023 55.7651);--chart-4:lab(59.7843% 54.4253 -46.2596);--chart-5:lab(77.158% 6.76 68.9724);--sidebar:lab(8.26159% -.0917316 -6.60053);--sidebar-foreground:lab(96.4998% -.150114 -1.88948);--sidebar-primary:lab(61.373% 10.7609 -57.2222);--sidebar-primary-foreground:lab(96.4998% -.150114 -1.88948);--sidebar-accent:lab(18.508% 1.32757 -14.5545);--sidebar-accent-foreground:lab(96.4998% -.150114 -1.88948);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(52.5611% 6.63069 -43.1233)}}.pb-safe{padding-bottom:env(safe-area-inset-bottom)}@media print{@page{size:A4;margin:2cm}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print\:hidden{display:none!important}.print\:break-inside-avoid{break-inside:avoid;page-break-inside:avoid}img{page-break-inside:avoid;max-width:100%}h1,h2,h3,h4,h5,h6{page-break-after:avoid}.bg-muted{background-color:#f5f5f5!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}