ocean-brain 0.8.2 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/README.md +2 -0
  2. package/dist/mcp.js +103 -105
  3. package/package.json +3 -2
  4. package/server/client/dist/assets/{ArrowRight.es-g2YZTklZ.js → ArrowRight.es-BEhnlwfe.js} +1 -1
  5. package/server/client/dist/assets/AuxiliaryPanelHeader-B1k7pZpn.js +1 -0
  6. package/server/client/dist/assets/Calendar-D7QJsAlg.js +25 -0
  7. package/server/client/dist/assets/{Callout-B_IPSF_5.js → Callout-BTd1BYtV.js} +1 -1
  8. package/server/client/dist/assets/{Copy.es-CNxe4ujr.js → Copy.es-BoLjilxv.js} +1 -1
  9. package/server/client/dist/assets/File.es-Ct7fscBg.js +1 -0
  10. package/server/client/dist/assets/Graph-DYUb7gQb.js +46 -0
  11. package/server/client/dist/assets/{Graph-D9GeO71k.js → Graph-LY_IgMYy.js} +1 -1
  12. package/server/client/dist/assets/{Image.es-DnON8cv2.js → Image.es-OYyN3BYt.js} +1 -1
  13. package/server/client/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  14. package/server/client/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  15. package/server/client/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  16. package/server/client/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  17. package/server/client/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  18. package/server/client/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  19. package/server/client/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  20. package/server/client/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  21. package/server/client/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  22. package/server/client/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  23. package/server/client/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  24. package/server/client/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  25. package/server/client/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  26. package/server/client/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  27. package/server/client/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  28. package/server/client/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  29. package/server/client/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  30. package/server/client/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  31. package/server/client/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  32. package/server/client/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  33. package/server/client/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  34. package/server/client/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  35. package/server/client/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  36. package/server/client/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  37. package/server/client/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  38. package/server/client/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  39. package/server/client/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  40. package/server/client/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  41. package/server/client/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  42. package/server/client/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  43. package/server/client/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  44. package/server/client/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  45. package/server/client/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  46. package/server/client/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  47. package/server/client/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  48. package/server/client/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  49. package/server/client/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  50. package/server/client/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  51. package/server/client/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  52. package/server/client/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  53. package/server/client/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  54. package/server/client/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  55. package/server/client/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  56. package/server/client/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  57. package/server/client/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  58. package/server/client/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  59. package/server/client/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  60. package/server/client/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  61. package/server/client/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  62. package/server/client/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  63. package/server/client/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  64. package/server/client/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  65. package/server/client/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  66. package/server/client/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  67. package/server/client/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  68. package/server/client/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  69. package/server/client/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  70. package/server/client/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  71. package/server/client/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  72. package/server/client/dist/assets/Note-DsMhwrHw.js +25 -0
  73. package/server/client/dist/assets/NotePropertiesPanel-aCKXAe5F.js +2 -0
  74. package/server/client/dist/assets/PencilLine.es-0JpEgxFY.js +1 -0
  75. package/server/client/dist/assets/{Plus.es-CQ8wn2is.js → Plus.es-DRfLW_bI.js} +1 -1
  76. package/server/client/dist/assets/Reminders-COr1OHvF.js +1 -0
  77. package/server/client/dist/assets/Search-Ctkx0BQk.js +31 -0
  78. package/server/client/dist/assets/SurfaceCard-t7pdfhEe.js +1 -0
  79. package/server/client/dist/assets/Tag-BjxtrIQW.js +1 -0
  80. package/server/client/dist/assets/TagNotes-DV_fdRbg.js +1 -0
  81. package/server/client/dist/assets/{Trash.es-0aPpA-3S.js → Trash.es-Bo1VyK9Q.js} +1 -1
  82. package/server/client/dist/assets/ViewChip-DlCkL4z4.js +1 -0
  83. package/server/client/dist/assets/ViewNotes-wWWeFJyU.js +1 -0
  84. package/server/client/dist/assets/ViewSectionDialog-DhH8harC.js +102 -0
  85. package/server/client/dist/assets/Views-CWE99SnI.js +1 -0
  86. package/server/client/dist/assets/abnfDiagram-VRR7QNED-CWlV5dXw.js +1 -0
  87. package/server/client/dist/assets/app-B9WZRrAH.css +1 -0
  88. package/server/client/dist/assets/app-BpSMjzET.js +26 -0
  89. package/server/client/dist/assets/arc-BV-n6RUX.js +1 -0
  90. package/server/client/dist/assets/architectureDiagram-ZJ3FMSHR-CekzMXdu.js +36 -0
  91. package/server/client/dist/assets/blockDiagram-677ZJIJ3-B49yHoxq.js +132 -0
  92. package/server/client/dist/assets/c4Diagram-LMCZKHZV-0AfB9NBC.js +10 -0
  93. package/server/client/dist/assets/channel-CigOulR-.js +1 -0
  94. package/server/client/dist/assets/chunk-2Q5K7J3B-DaPQAU1q.js +1 -0
  95. package/server/client/dist/assets/chunk-32BRIVSS-CfL3kZAg.js +1 -0
  96. package/server/client/dist/assets/chunk-5VM5RSS4-DeOwWPE_.js +15 -0
  97. package/server/client/dist/assets/chunk-EX3LRPZG-C3W1oc9y.js +231 -0
  98. package/server/client/dist/assets/chunk-JWPE2WC7-_Oqh79OY.js +1 -0
  99. package/server/client/dist/assets/chunk-MOJQB5TN-DDKNNzI6.js +88 -0
  100. package/server/client/dist/assets/chunk-RYQCIY6F-DCHah7CC.js +1 -0
  101. package/server/client/dist/assets/chunk-V7JOEXUC-uUOIzgxj.js +206 -0
  102. package/server/client/dist/assets/chunk-VR4S4FIN-DDVw2WPs.js +1 -0
  103. package/server/client/dist/assets/chunk-XXDRQBXY-Coo4UFm2.js +1 -0
  104. package/server/client/dist/assets/classDiagram-OUVF2IWQ-D13ISIOW.js +1 -0
  105. package/server/client/dist/assets/classDiagram-v2-EOCWNBFH-D13ISIOW.js +1 -0
  106. package/server/client/dist/assets/colors-Cc3OSVma.js +1 -0
  107. package/server/client/dist/assets/cose-bilkent-JH36ORCC-C3pHmHpD.js +1 -0
  108. package/server/client/dist/assets/cynefin-VYW2F7L2-DU_G4Atc.js +166 -0
  109. package/server/client/dist/assets/cynefinDiagram-TSTJHNR4-DZ6iiJFo.js +62 -0
  110. package/server/client/dist/assets/cytoscape.esm-D3_iZ_3b.js +321 -0
  111. package/server/client/dist/assets/dagre-VKFMJZFB-DNELbhwC.js +4 -0
  112. package/server/client/dist/assets/defaultLocale-DX6XiGOO.js +1 -0
  113. package/server/client/dist/assets/diagram-FQU43EPY-CMEvZJ61.js +3 -0
  114. package/server/client/dist/assets/diagram-G47NLZAW-BYDtf6j9.js +24 -0
  115. package/server/client/dist/assets/diagram-NH7WQ7WH-CmXfcCQA.js +24 -0
  116. package/server/client/dist/assets/diagram-OA4YK3LP-BflTKJxU.js +30 -0
  117. package/server/client/dist/assets/diagram-WEI45ONY-KW3fKqna.js +41 -0
  118. package/server/client/dist/assets/ebnfDiagram-CCIWWBDH-CbyhY5Nj.js +1 -0
  119. package/server/client/dist/assets/erDiagram-Q63AITRT-CC2eZV8g.js +85 -0
  120. package/server/client/dist/assets/{floating-ui.react-dom-wWLZ1CdM.js → floating-ui.react-dom-BWTnA00G.js} +1 -1
  121. package/server/client/dist/assets/flowDiagram-23GEKE2U-unplo7Qm.js +156 -0
  122. package/server/client/dist/assets/ganttDiagram-NO4QXBWP-BcBK5HcZ.js +292 -0
  123. package/server/client/dist/assets/gitGraphDiagram-IHSO6WYX-DgVbbb5k.js +106 -0
  124. package/server/client/dist/assets/graph-C5DFNLrC.js +1 -0
  125. package/server/client/dist/assets/image-delete-confirmation-D7xrODQV.js +1 -0
  126. package/server/client/dist/assets/image.api-CyQisInP.js +17 -0
  127. package/server/client/dist/assets/index-B-E1Ilh9.js +1 -0
  128. package/server/client/dist/assets/infoDiagram-FWYZ7A6U-N_D9RdfG.js +2 -0
  129. package/server/client/dist/assets/init-Gi6I4Gst.js +1 -0
  130. package/server/client/dist/assets/isObject-U9U2HXiq.js +1 -0
  131. package/server/client/dist/assets/ishikawaDiagram-FXEZZL3T-BBKrzmB2.js +70 -0
  132. package/server/client/dist/assets/journeyDiagram-5HDEW3XC-NdCxLmQB.js +139 -0
  133. package/server/client/dist/assets/kanban-definition-HUTT4EX6-Ck7t4-tt.js +89 -0
  134. package/server/client/dist/assets/katex-DywYRkvg.css +1 -0
  135. package/server/client/dist/assets/katex-HP8lGamR.js +257 -0
  136. package/server/client/dist/assets/katex-x288kqHd.js +257 -0
  137. package/server/client/dist/assets/layout-Cz0MDlGi.js +1 -0
  138. package/server/client/dist/assets/linear-D6yRgDLq.js +1 -0
  139. package/server/client/dist/assets/manage-image-azmo5iVw.js +1 -0
  140. package/server/client/dist/assets/manage-image-detail-BF-uSqb_.js +1 -0
  141. package/server/client/dist/assets/map-Mm1V-_Na.js +1 -0
  142. package/server/client/dist/assets/{mcp-CT_9IV2c.js → mcp-CCaFd0zm.js} +4 -4
  143. package/server/client/dist/assets/{mcp-admin-adapter-xAuyZc_M.js → mcp-admin-adapter-PMmgPupc.js} +1 -1
  144. package/server/client/dist/assets/mermaid.core-B14ZAmWA.js +308 -0
  145. package/server/client/dist/assets/min-tv6RD-6E.js +1 -0
  146. package/server/client/dist/assets/mindmap-definition-LN4V7U3C-BTUqSdcP.js +96 -0
  147. package/server/client/dist/assets/{note-core-Buwzyxi7.js → note-core-DUTqUh5N.js} +2 -2
  148. package/server/client/dist/assets/{note-runtime-CPDVOFEo.js → note-runtime-zN5ddTba.js} +1 -1
  149. package/server/client/dist/assets/{note-ui-CHI-tzj-.js → note-ui-CtijppHK.js} +1 -1
  150. package/server/client/dist/assets/{note.api-D_00ZzJC.js → note.api-D3oJmG3q.js} +6 -6
  151. package/server/client/dist/assets/ordinal-Cboi1Yqb.js +1 -0
  152. package/server/client/dist/assets/pegDiagram-2B236MQR-Cjcu3mVz.js +1 -0
  153. package/server/client/dist/assets/pieDiagram-ENE6RG2P-BxI_c22Z.js +39 -0
  154. package/server/client/dist/assets/{placeholder-DbdGiYGL.js → placeholder-AusSo8p9.js} +4 -4
  155. package/server/client/dist/assets/properties-BrNJLkxR.js +1 -0
  156. package/server/client/dist/assets/quadrantDiagram-ABIIQ3AL-DGm0a-yR.js +7 -0
  157. package/server/client/dist/assets/railroadDiagram-RFXS5EU6-DmCDu89O.js +1 -0
  158. package/server/client/dist/assets/requirementDiagram-TGXJPOKE-CBpUt7Ig.js +84 -0
  159. package/server/client/dist/assets/route-preload.js +2 -2
  160. package/server/client/dist/assets/sankeyDiagram-HTMAVEWB-BjGnDZlp.js +40 -0
  161. package/server/client/dist/assets/search-D-xKTPdO.js +1 -0
  162. package/server/client/dist/assets/search-admin-adapter-CJnJmL6w.js +1 -0
  163. package/server/client/dist/assets/sequenceDiagram-DBY2YBRQ-B7rpCfS6.js +162 -0
  164. package/server/client/dist/assets/sizeCapture-X5ZJPWSS-CUJhD0uW.js +1 -0
  165. package/server/client/dist/assets/stateDiagram-2N3HPSRC-Y9-3XqRX.js +1 -0
  166. package/server/client/dist/assets/stateDiagram-v2-6OUMAXLB-DbHXhT02.js +1 -0
  167. package/server/client/dist/assets/swimlanes-5IMT3BWC-Cs1NO9ng.js +2 -0
  168. package/server/client/dist/assets/swimlanesDiagram-G3AALYLV-DQnrq2ZC.js +8 -0
  169. package/server/client/dist/assets/{tag.api-CX0SE06J.js → tag.api-DNSQpqwk.js} +3 -3
  170. package/server/client/dist/assets/time-D5LRMumI.js +9 -0
  171. package/server/client/dist/assets/timeline-definition-FHXFAJF6-8fqD4WNL.js +120 -0
  172. package/server/client/dist/assets/toNumber-DE3J3kMD.js +1 -0
  173. package/server/client/dist/assets/transform-BUB79_za.js +1 -0
  174. package/server/client/dist/assets/trash-D4-9sv8q.js +1 -0
  175. package/server/client/dist/assets/url-9nrbQs7Z.js +1 -0
  176. package/server/client/dist/assets/{useReminderMutate-CLK1tHvT.js → useReminderMutate-BrGO9M0o.js} +4 -4
  177. package/server/client/dist/assets/vennDiagram-L72KCM5P-BPqKkd5a.js +34 -0
  178. package/server/client/dist/assets/wardleyDiagram-EHGQE667-Cq11kU2M.js +78 -0
  179. package/server/client/dist/assets/xychartDiagram-FW5EYKEG-DJ6UzFj-.js +7 -0
  180. package/server/client/dist/index.html +7 -7
  181. package/server/dist/features/image/services/delete.js +25 -1
  182. package/server/dist/features/note/graphql/note.field.resolver.js +2 -0
  183. package/server/dist/features/note/graphql/note.mutation.resolver.js +54 -23
  184. package/server/dist/features/note/graphql/note.query.resolver.js +15 -5
  185. package/server/dist/features/note/graphql/note.type-defs.js +2 -1
  186. package/server/dist/features/note/http/mcp.js +1 -60
  187. package/server/dist/features/note/services/authoring.js +17 -80
  188. package/server/dist/features/note/services/markdown-patch.js +80 -8
  189. package/server/dist/features/note/services/note-reference-index.js +98 -0
  190. package/server/dist/features/note/services/properties.js +21 -1
  191. package/server/dist/features/note/services/property-restore.js +26 -0
  192. package/server/dist/features/note/services/search.js +5 -0
  193. package/server/dist/features/note/services/snapshot.js +82 -58
  194. package/server/dist/features/note/services/trash.js +18 -31
  195. package/server/dist/features/note/services/write.js +10 -3
  196. package/server/dist/features/search/embedding-api-key-store.js +57 -0
  197. package/server/dist/features/search/embedding-client.js +179 -0
  198. package/server/dist/features/search/graphql/index.js +6 -0
  199. package/server/dist/features/search/graphql/resolver.js +32 -0
  200. package/server/dist/features/search/graphql/type-defs.js +37 -0
  201. package/server/dist/features/search/http/handlers.js +108 -0
  202. package/server/dist/features/search/hybrid-ranking.js +57 -0
  203. package/server/dist/features/search/hybrid-search.js +176 -0
  204. package/server/dist/features/search/note-change.js +16 -0
  205. package/server/dist/features/search/note-chunking.js +75 -0
  206. package/server/dist/features/search/related-notes.js +186 -0
  207. package/server/dist/features/search/search-config.js +150 -0
  208. package/server/dist/features/search/search-manager.js +431 -0
  209. package/server/dist/features/search/semantic-indexer.js +138 -0
  210. package/server/dist/features/search/sqlite-vector-index.js +636 -0
  211. package/server/dist/features/search/url-normalization.js +10 -0
  212. package/server/dist/features/tag/services/organization.js +3 -0
  213. package/server/dist/features/view/services/workspace.js +1 -1
  214. package/server/dist/main.js +12 -3
  215. package/server/dist/modules/blocknote.js +4 -5
  216. package/server/dist/paths.js +7 -2
  217. package/server/dist/routes/api.js +37 -0
  218. package/server/dist/routes/mcp.js +0 -5
  219. package/server/dist/schema/index.js +3 -0
  220. package/server/prisma/migrations/20260728090000_0019_note_reference_index/migration.sql +15 -0
  221. package/server/prisma/schema.prisma +16 -0
  222. package/server/client/dist/assets/Calendar-BP6HTuSn.js +0 -25
  223. package/server/client/dist/assets/Graph-Xha3fwhp.js +0 -46
  224. package/server/client/dist/assets/Image-BLEjLUqd.js +0 -1
  225. package/server/client/dist/assets/Note-DjrCYtat.js +0 -24
  226. package/server/client/dist/assets/NotePropertiesPanel-2DgXEM4B.js +0 -2
  227. package/server/client/dist/assets/Reminders-B4l3KdlK.js +0 -1
  228. package/server/client/dist/assets/Search-BN5sf7bE.js +0 -1
  229. package/server/client/dist/assets/SurfaceCard-BZm73nyS.js +0 -1
  230. package/server/client/dist/assets/Tag-oSnmViVp.js +0 -1
  231. package/server/client/dist/assets/TagNotes-BDTCcJcL.js +0 -1
  232. package/server/client/dist/assets/ViewNotes-CiZtGJNE.js +0 -1
  233. package/server/client/dist/assets/ViewSectionDialog-Ctl_694Y.js +0 -102
  234. package/server/client/dist/assets/Views-D-zlatYD.js +0 -1
  235. package/server/client/dist/assets/app-DmqIOMWF.css +0 -1
  236. package/server/client/dist/assets/app-cTRcKMGc.js +0 -26
  237. package/server/client/dist/assets/image.api-CVuuvTBk.js +0 -17
  238. package/server/client/dist/assets/index-DKJChPr4.js +0 -1
  239. package/server/client/dist/assets/manage-image-BZjaxp-f.js +0 -1
  240. package/server/client/dist/assets/manage-image-detail-DPv0FQ2m.js +0 -1
  241. package/server/client/dist/assets/properties-D447wsWk.js +0 -1
  242. package/server/client/dist/assets/time-B3pt8vt4.js +0 -9
  243. package/server/client/dist/assets/trash-8sH7EZgc.js +0 -1
  244. package/server/client/dist/assets/url-BSnWpmJx.js +0 -1
@@ -0,0 +1,102 @@
1
+ import{g as v,T as d,B as V,F as ze,M as P,L as f,I as ae,a as re,b as R,D as _e,x as T,y as m,d as Me}from"./note.api-D3oJmG3q.js";import{j as t,r as g}from"./floating-ui.react-dom-BWTnA00G.js";import{t as ne,M as qe}from"./time-D5LRMumI.js";import{N as Be}from"./url-9nrbQs7Z.js";import{V as W}from"./ViewChip-DlCkL4z4.js";const Z=`
2
+ id
3
+ tabId
4
+ title
5
+ displayType
6
+ displayOptions {
7
+ tableColumns
8
+ }
9
+ tagNames
10
+ mode
11
+ propertyFilters {
12
+ key
13
+ name
14
+ valueType
15
+ operator
16
+ value
17
+ }
18
+ sortBy
19
+ sortOrder
20
+ limit
21
+ order
22
+ `;function lt(){return v(`query FetchViewWorkspace {
23
+ viewWorkspace {
24
+ activeTabId
25
+ tabs {
26
+ id
27
+ title
28
+ order
29
+ sections {
30
+ ${Z}
31
+ }
32
+ }
33
+ }
34
+ }`)}function ot(e){return v(`query FetchViewSection($id: ID!) {
35
+ viewSection(id: $id) {
36
+ ${Z}
37
+ }
38
+ }`,{id:e})}function dt(e,{limit:a=25,offset:s=0}={}){return v(`query FetchViewSectionNotes($id: ID!, $pagination: PaginationInput) {
39
+ viewSectionNotes(id: $id, pagination: $pagination) {
40
+ totalCount
41
+ notes {
42
+ id
43
+ title
44
+ pinned
45
+ tags {
46
+ id
47
+ name
48
+ }
49
+ createdAt
50
+ updatedAt
51
+ properties {
52
+ key
53
+ name
54
+ value
55
+ valueType
56
+ option { id label value color order }
57
+ createdAt
58
+ updatedAt
59
+ }
60
+ }
61
+ }
62
+ }`,{id:e,pagination:{limit:a,offset:s}})}function ct(e){return v(`mutation CreateViewTab($title: String!) {
63
+ createViewTab(title: $title) {
64
+ id
65
+ }
66
+ }`,{title:e})}function ut(e,a){return v(`mutation UpdateViewTab($id: ID!, $title: String!) {
67
+ updateViewTab(id: $id, title: $title) {
68
+ id
69
+ }
70
+ }`,{id:e,title:a})}function pt(e){return v(`mutation DeleteViewTab($id: ID!) {
71
+ deleteViewTab(id: $id)
72
+ }`,{id:e})}function mt(e){return v(`mutation SetActiveViewTab($id: ID!) {
73
+ setActiveViewTab(id: $id) {
74
+ activeTabId
75
+ tabs {
76
+ id
77
+ title
78
+ order
79
+ sections {
80
+ ${Z}
81
+ }
82
+ }
83
+ }
84
+ }`,{id:e})}function bt(e){return v(`mutation ReorderViewTabs($tabIds: [ID!]!) {
85
+ reorderViewTabs(tabIds: $tabIds) {
86
+ id
87
+ }
88
+ }`,{tabIds:e})}function xt(e,a){return v(`mutation CreateViewSection($tabId: ID!, $input: ViewSectionInput!) {
89
+ createViewSection(tabId: $tabId, input: $input) {
90
+ id
91
+ }
92
+ }`,{tabId:e,input:a})}function ht(e,a){return v(`mutation UpdateViewSection($id: ID!, $input: ViewSectionInput!) {
93
+ updateViewSection(id: $id, input: $input) {
94
+ id
95
+ }
96
+ }`,{id:e,input:a})}function gt(e){return v(`mutation DeleteViewSection($id: ID!) {
97
+ deleteViewSection(id: $id)
98
+ }`,{id:e})}function vt(e,a){return v(`mutation ReorderViewSections($tabId: ID!, $sectionIds: [ID!]!) {
99
+ reorderViewSections(tabId: $tabId, sectionIds: $sectionIds) {
100
+ id
101
+ }
102
+ }`,{tabId:e,sectionIds:a})}const X=["title","tags","properties","createdAt","updatedAt"],yt={activeTabId:null,tabs:[]},Pe=e=>{const a=e.trim();return a?a.startsWith("@")?a:a.startsWith("#")?"":`@${a}`:""},ye=(e,a,s)=>{if(a===s)return e;const n=e.findIndex(x=>x.id===a),l=e.findIndex(x=>x.id===s);if(n<0||l<0)return e;const b=[...e],[j]=b.splice(n,1);return b.splice(l,0,j),b},fe=(e,a,s)=>{const n=e.findIndex(b=>b.id===a),l=n+(s==="previous"?-1:1);return n>=0&&l>=0&&l<e.length?e[l]?.id:void 0},ie=e=>{const a=e.flatMap(s=>typeof s=="string"?s.split(","):[]);return Array.from(new Set(a.map(Pe).filter(Boolean)))},ft=e=>e.tabs.length===0?null:e.activeTabId?e.tabs.find(a=>a.id===e.activeTabId)??e.tabs[0]??null:e.tabs[0]??null,jt=(e,a)=>e.tabs.some(s=>s.id===a)?{...e,activeTabId:a}:e,Re=(e,a,s)=>({...e,tabs:ye(e.tabs,a,s)}),We=(e,a,s,n)=>({...e,tabs:e.tabs.map(l=>l.id===a?{...l,sections:ye(l.sections,s,n)}:l)}),wt=(e,a,s)=>{const n=fe(e.tabs,a,s);return n?Re(e,a,n):e},Nt=(e,a,s,n)=>{const l=e.tabs.find(j=>j.id===a)?.sections??[],b=fe(l,s,n);return b?We(e,a,s,b):e},le=e=>e==="or"?"OR — any selected tag":"AND — all selected tags",Tt=e=>e==="or"?"OR":"AND",je=e=>{switch(e){case"notEquals":return"is not";case"contains":return"contains";case"notContains":return"does not contain";case"before":return"before";case"after":return"after";case"exists":return"is set";case"notExists":return"is empty";default:return"is"}},Ue=e=>{switch(e){case"table":return"Table";case"calendar":return"Unavailable";default:return"List"}},we=e=>{switch(e){case"tags":return"Tags";case"properties":return"Properties";case"createdAt":return"Created";case"updatedAt":return"Updated";default:return"Title"}},U=e=>{const a=new Set(X),s=(e??[]).filter(l=>a.has(l)),n=Array.from(new Set(s));return n.length===0?[...X]:n.includes("title")?n:["title",...n]},Ne=e=>({tableColumns:U(e?.tableColumns)}),Vt=e=>{const a=je(e.operator);return e.operator==="exists"||e.operator==="notExists"?`${e.name} ${a}`:`${e.name} ${a} ${e.value??""}`.trim()},It=(e,a={})=>{const s={...e,...a};return{title:s.title,displayType:s.displayType,displayOptions:Ne(s.displayOptions),tagNames:s.tagNames,mode:s.mode,propertyFilters:s.propertyFilters.map(n=>({key:n.key,valueType:n.valueType,operator:n.operator,value:n.value})),sortBy:s.sortBy,sortOrder:s.sortOrder,limit:s.limit}},Ct=e=>({page:1,sectionId:e.id}),He=e=>e.valueType==="select"?e.option?.label??e.value:e.valueType==="boolean"?e.value==="true"?"True":"False":e.value,Ye=e=>(e.properties??[]).slice(0,3),Te={title:280,tags:190,properties:260,createdAt:132,updatedAt:132},Ge={title:"title",createdAt:"createdAt",updatedAt:"updatedAt"},Ve="flex h-[22px] min-w-0 max-w-full items-center gap-1.5 overflow-hidden whitespace-nowrap",Ie="text-xs leading-5 text-fg-tertiary",Ke=e=>{const a=e.reduce((s,n)=>s+Te[n],0);return Math.max(520,a)},Qe=(e,a={})=>{if(e.tags.length===0)return a.hideEmpty?null:t.jsx("span",{className:Ie,children:"—"});const s=e.tags.slice(0,3),n=e.tags.length-s.length;return t.jsxs("div",{className:Ve,children:[s.map(l=>t.jsx(W,{size:"compact",className:"max-w-[132px] shrink-0 border-border-subtle bg-transparent text-fg-secondary",children:l.name},l.id)),n>0&&t.jsxs(W,{size:"compact",className:"shrink-0 border-border-subtle bg-subtle text-fg-tertiary",children:["+",n]})]})},Je=(e,a={})=>{const s=Ye(e);if(s.length===0)return a.hideEmpty?null:t.jsx("span",{className:Ie,children:"—"});const n=(e.properties?.length??0)-s.length;return t.jsxs("div",{className:Ve,children:[s.map(l=>t.jsxs(W,{size:"compact",truncateContent:!1,className:"max-w-[190px] shrink-0 gap-1 border-border-subtle bg-subtle text-fg-secondary",children:[t.jsx("span",{className:"min-w-0 max-w-[76px] shrink truncate text-fg-tertiary",children:l.name}),t.jsx("span",{className:"min-w-0 truncate",children:He(l)||"—"})]},l.key)),n>0&&t.jsxs(W,{size:"compact",className:"shrink-0 border-border-subtle bg-subtle text-fg-tertiary",children:["+",n]})]})};function St({section:e,notes:a,isPending:s,isError:n,onRetry:l,onSortChange:b,isSortPending:j,surface:x="flush"}){const I=U(e.displayOptions?.tableColumns),L=Ke(I),z=x==="card"?"overflow-x-auto rounded-[16px] border border-border-subtle bg-elevated":"overflow-x-auto bg-transparent",C=x==="card"?"overflow-hidden rounded-[16px] border border-border-subtle bg-elevated":"overflow-hidden bg-transparent",S=x==="card"?"bg-elevated":"bg-transparent",F=x==="card"?"bg-subtle/65":"bg-subtle/45",_=x==="card"?"bg-elevated":"bg-transparent",E=c=>{const u=Ge[c],O=we(c),k=u?e.sortBy===u:!1;return t.jsx("th",{"aria-sort":k?e.sortOrder==="asc"?"ascending":"descending":void 0,className:"px-3 py-2.5 text-xs font-semibold text-fg-tertiary",children:u?t.jsxs("button",{type:"button",className:"focus-ring-soft -ml-1 inline-flex items-center gap-1 rounded-[8px] px-1 py-0.5 outline-none transition-colors hover:bg-hover-subtle hover:text-fg-secondary disabled:cursor-wait disabled:opacity-60",disabled:j,onClick:()=>b(u),children:[t.jsx("span",{children:O}),t.jsx("span",{"aria-hidden":"true",className:"text-[10px] text-fg-tertiary",children:k?e.sortOrder==="asc"?"↑":"↓":"↕"})]}):O},c)},A=(c,u)=>{switch(u){case"tags":return t.jsx("td",{className:"overflow-hidden px-3 py-2.5 align-middle",children:Qe(c)},u);case"properties":return t.jsx("td",{className:"overflow-hidden px-3 py-2.5 align-middle",children:Je(c)},u);case"createdAt":return t.jsx("td",{className:"whitespace-nowrap px-3 py-2.5 align-middle",children:t.jsx(d,{as:"span",variant:"meta",tone:"tertiary",children:ne(Number(c.createdAt))})},u);case"updatedAt":return t.jsx("td",{className:"whitespace-nowrap px-3 py-2.5 align-middle",children:t.jsx(d,{as:"span",variant:"meta",tone:"tertiary",children:ne(Number(c.updatedAt))})},u);default:return t.jsx("td",{className:"px-3 py-2.5 align-middle",children:t.jsx(d,{as:"div",variant:"body",weight:"semibold",className:"line-clamp-1",children:t.jsx(ze,{to:Be,params:{id:c.id},className:"focus-ring-soft rounded-[6px] outline-none transition-colors hover:text-fg-default/85",children:c.title||"Untitled"})})},u)}};return s?t.jsxs("div",{className:C,children:[t.jsx("div",{className:"h-11 animate-pulse bg-subtle/50"}),t.jsx("div",{className:`h-14 animate-pulse border-t border-border-subtle ${S}`}),t.jsx("div",{className:`h-14 animate-pulse border-t border-border-subtle ${S}`}),t.jsx("div",{className:`h-14 animate-pulse border-t border-border-subtle ${S}`})]}):n?t.jsxs("div",{className:"rounded-[16px] border border-border-subtle bg-subtle/30 p-4",children:[t.jsx(d,{as:"p",variant:"body",weight:"semibold",children:"Failed to load this table"}),t.jsx(d,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:"Retry to refresh this saved query."}),t.jsx("div",{className:"mt-3",children:t.jsx(V,{type:"button",variant:"ghost",size:"sm",onClick:l,children:"Retry"})})]}):a.length===0?t.jsxs("div",{className:"rounded-[16px] border border-dashed border-border-subtle px-4 py-5",children:[t.jsx(d,{as:"p",variant:"body",weight:"semibold",children:"No rows yet"}),t.jsx(d,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:"Add matching notes, or edit this view query."})]}):t.jsx("div",{className:z,children:t.jsxs("table",{className:"w-full table-fixed border-collapse text-left",style:{minWidth:L},children:[t.jsx("caption",{className:"sr-only",children:"View query results as a table"}),t.jsx("colgroup",{children:I.map(c=>t.jsx("col",{style:{width:Te[c]}},c))}),t.jsx("thead",{className:F,children:t.jsx("tr",{className:"border-b border-border-subtle",children:I.map(E)})}),t.jsx("tbody",{className:_,children:a.map(c=>t.jsx("tr",{className:"h-12 border-b border-border-subtle/70 last:border-b-0",children:I.map(u=>A(c,u))},c.id))})]})})}const Q="__choose_property__",Xe=["title","tags","properties","createdAt","updatedAt"],oe=e=>String(e?.limit??5),de=e=>e?.displayType==="table"?"table":"list",ce=e=>U(e?.displayOptions?.tableColumns??X),ue=e=>e?.mode??"and",pe=e=>e?e.tagNames.join(", "):"",me=e=>e?.title??"",be=e=>e?.sortBy??"updatedAt",xe=e=>e?.sortOrder??"desc",Ce=e=>`property-filter-${Date.now()}-${e}`,he=e=>(e?.propertyFilters??[]).map((a,s)=>({id:Ce(s),key:a.key,operator:a.operator,value:a.value??""})),ge=e=>e?e.valueType==="date"||e.valueType==="number"?["equals","notEquals","before","after","exists","notExists"]:e.valueType==="text"||e.valueType==="url"?["equals","notEquals","contains","notContains","exists","notExists"]:["equals","notEquals","exists","notExists"]:["exists","notExists"],ve=e=>e?"equals":"exists",Ze=e=>e?e.valueType==="boolean"?"true":e.valueType==="select"?e.options[0]?.value??"":"":"",J=e=>e!=="exists"&&e!=="notExists",Se=e=>e==="contains"||e==="notContains",et=(e,a)=>e.valueType==="date"?"date":e.valueType==="number"?"number":e.valueType==="url"&&!Se(a)?"url":"text",tt=(e,a)=>{if(e.valueType==="url")return Se(a)?"example.com":"https://example.com";if(e.valueType==="text")return"Value"};function At({open:e,mode:a,initialSection:s=null,availableTags:n,availableProperties:l,isTagsLoading:b=!1,isPropertiesLoading:j=!1,onClose:x,onSubmit:I}){const[L,z]=g.useState(me(s)),[C,S]=g.useState(de(s)),[F,_]=g.useState(ce(s)),[E,A]=g.useState(pe(s)),[c,u]=g.useState(ue(s)),[O,k]=g.useState(be(s)),[ee,te]=g.useState(xe(s)),[H,se]=g.useState(oe(s)),[$,M]=g.useState(he(s)),[Ae,Y]=g.useState((s?.tagNames.length??0)>0),[G,h]=g.useState(""),q=g.useMemo(()=>new Map(l.map(r=>[r.key,r])),[l]);g.useEffect(()=>{e&&(z(me(s)),S(de(s)),_(ce(s)),A(pe(s)),u(ue(s)),k(be(s)),te(xe(s)),se(oe(s)),M(he(s)),Y((s?.tagNames.length??0)>0),h(""))},[s,e]);const w=ie([E]),B=Ae||w.length>0,$e=w.length===0&&$.length===0,Fe=r=>{r!=="title"&&(_(o=>{if(o.includes(r)){const y=o.filter(i=>i!==r);return y.length>0?y:o}return U([...o,r])}),h(""))},Ee=r=>{const o=w.includes(r)?w.filter(y=>y!==r):[...w,r];A(o.join(", ")),h("")},Oe=()=>{Y(!0),h("")},ke=()=>{A(""),u("and"),Y(!1),h("")},De=()=>{if(l.length===0){h("Create a shared property before adding a filter.");return}M(r=>[...r,{id:Ce(r.length),key:"",operator:"exists",value:""}]),h("")},D=(r,o)=>{M(y=>y.map(i=>{if(i.id!==r)return i;const N={...i,...o},p=q.get(N.key);return ge(p).includes(N.operator)||(N.operator=ve(p)),"key"in o&&(N.value=Ze(p),N.operator=ve(p)),N})),h("")},Le=r=>{M(o=>o.filter(y=>y.id!==r)),h("")};return t.jsxs(P,{isOpen:e,onClose:x,variant:"form",className:"sm:max-w-[720px]",children:[t.jsx(P.Header,{title:a==="create"?"Create section":"Edit section",onClose:x}),t.jsx(P.Body,{children:t.jsxs("form",{id:"view-section-form",className:"flex flex-col gap-5",onSubmit:r=>{r.preventDefault();const o=ie([E]);if(B&&o.length===0){h("Choose at least one tag, or remove this tag filter.");return}if($.find(p=>!p.key||!q.has(p.key))){h("Choose a property for every filter.");return}const i=$.map(p=>{const K=q.get(p.key);return{key:K?.key??p.key,valueType:K?.valueType??"text",operator:p.operator,value:J(p.operator)?p.value:null}});if(i.some(p=>J(p.operator)&&!p.value?.trim())){h("Fill every filter value, or switch it to is set / is empty.");return}I({title:L,displayType:C,displayOptions:Ne({tableColumns:F}),tagNames:o,mode:c,propertyFilters:i,sortBy:O,sortOrder:ee,limit:Number(H)})},children:[t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx(f,{htmlFor:"view-section-title",size:"md",children:"Section name"}),t.jsx(ae,{id:"view-section-title",value:L,onChange:r=>z(r.target.value),placeholder:"Doing notes",autoFocus:!0})]}),t.jsxs("section",{className:"flex flex-col gap-3 rounded-[18px] border border-border-subtle bg-elevated px-4 py-3",children:[t.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx(f,{size:"md",children:"Display"}),t.jsx(d,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:"Show the same query as a compact list or a table."})]}),t.jsx(d,{as:"span",variant:"meta",tone:"tertiary",children:Ue(C)})]}),t.jsxs(re,{type:"single",value:C,onValueChange:r=>{(r==="list"||r==="table")&&S(r)},variant:"quiet",size:"sm",className:"self-start",children:[t.jsx(R,{value:"list","aria-label":"Show as list",children:"List"}),t.jsx(R,{value:"table","aria-label":"Show as table",children:"Table"})]}),C==="table"?t.jsxs("div",{className:"rounded-[16px] border border-border-subtle bg-subtle/45 p-3",children:[t.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[t.jsx(f,{size:"sm",children:"Table columns"}),t.jsxs(d,{as:"span",variant:"meta",tone:"tertiary",children:[F.length," shown"]})]}),t.jsx("div",{className:"mt-3 grid gap-2 sm:grid-cols-2",children:Xe.map(r=>{const o=we(r);return t.jsxs("div",{className:"flex items-center gap-2 rounded-[12px] border border-border-subtle bg-elevated px-3 py-2",children:[t.jsx(_e,{size:"sm",checked:F.includes(r),disabled:r==="title","aria-label":`Show ${o} column`,onChange:()=>Fe(r)}),t.jsx(d,{as:"span",variant:"label",tone:"secondary",children:o})]},r)})}),t.jsx(d,{as:"p",variant:"meta",tone:"tertiary",className:"mt-2",children:"Title is always shown because it opens the note."})]}):null]}),t.jsxs("section",{className:"flex flex-col gap-3 rounded-[20px] border border-border-subtle bg-subtle/40 p-4",children:[t.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx(f,{size:"md",children:"Filters"}),t.jsx(d,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:"Use properties for structured fields, and tags for loose topics or context."})]}),t.jsxs("div",{className:"flex flex-wrap gap-2",children:[t.jsx(V,{type:"button",variant:"subtle",size:"sm",onClick:De,children:"Add property filter"}),!B&&t.jsx(V,{type:"button",variant:"subtle",size:"sm",onClick:Oe,children:"Add tag filter"})]})]}),$.length===0&&!B?t.jsxs("div",{className:"rounded-[16px] border border-dashed border-border-subtle bg-elevated/60 px-4 py-3",children:[t.jsx(d,{as:"p",variant:"label",tone:"default",children:$e?"All notes":"No filters"}),t.jsx(d,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:"Add a property filter, a tag filter, or leave this view open to all notes."})]}):null,$.length>0?t.jsx("div",{className:"flex flex-col gap-2.5",children:$.map(r=>{const o=q.get(r.key),y=ge(o);return t.jsxs("div",{className:"grid gap-2 rounded-[16px] border border-border-subtle bg-elevated p-3 md:grid-cols-[minmax(0,1fr)_minmax(10.5rem,12rem)_minmax(0,1fr)_auto] md:items-center",children:[t.jsxs(T,{value:r.key||Q,ariaLabel:"Property filter property",className:"w-full min-w-0",onValueChange:i=>{i!==Q&&D(r.id,{key:i})},children:[t.jsx(m,{value:Q,disabled:!0,children:"Choose property"}),l.map(i=>t.jsx(m,{value:i.key,children:i.name},i.key))]}),t.jsx(T,{value:r.operator,disabled:!o,ariaLabel:"Property filter operator",className:"w-full min-w-0",onValueChange:i=>D(r.id,{operator:i}),children:y.map(i=>t.jsx(m,{value:i,children:je(i)},i))}),J(r.operator)&&o?o.valueType==="select"?t.jsx(T,{value:r.value,ariaLabel:"Property filter value",className:"w-full min-w-0",onValueChange:i=>D(r.id,{value:i}),children:o.options.map(i=>t.jsx(m,{value:i.value,children:i.label},i.value))}):o.valueType==="boolean"?t.jsxs(T,{value:r.value||"true",ariaLabel:"Property filter value",className:"w-full min-w-0",onValueChange:i=>D(r.id,{value:i}),children:[t.jsx(m,{value:"true",children:"True"}),t.jsx(m,{value:"false",children:"False"})]}):t.jsx(ae,{type:et(o,r.operator),value:r.value,onChange:i=>D(r.id,{value:i.target.value}),placeholder:tt(o,r.operator),"aria-label":"Property filter value"}):t.jsx(d,{as:"span",variant:"label",tone:"tertiary",children:o?"No value needed":"Choose a property first"}),t.jsx(V,{type:"button",variant:"ghost",size:"sm",onClick:()=>Le(r.id),children:"Remove"})]},r.id)})}):null,B?t.jsxs("div",{className:"flex flex-col gap-3 rounded-[16px] border border-border-subtle bg-elevated p-3",children:[t.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx(d,{as:"p",variant:"label",tone:"default",children:"Tag filter"}),t.jsx(d,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:"Match notes by selected tags."})]}),t.jsx(V,{type:"button",variant:"ghost",size:"sm",onClick:ke,children:"Remove"})]}),t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx(f,{htmlFor:"view-section-tags",size:"sm",children:"Tag names"}),t.jsx(Me,{id:"view-section-tags",value:E,onChange:r=>{A(r.target.value),h("")},placeholder:"@OceanBrain, @todo",size:"sm"}),t.jsx(d,{as:"p",variant:"meta",tone:"tertiary",children:"You can use tags only, properties only, both together, or no filters."})]}),w.length>1?t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx(f,{size:"sm",children:"Tag match"}),t.jsxs(re,{type:"single",value:c,onValueChange:r=>{(r==="and"||r==="or")&&u(r)},variant:"quiet",size:"sm",className:"self-start",children:[t.jsx(R,{value:"and","aria-label":le("and"),children:"AND"}),t.jsx(R,{value:"or","aria-label":le("or"),children:"OR"})]}),t.jsx(d,{as:"p",variant:"meta",tone:"tertiary",children:"AND requires every selected tag. OR accepts any selected tag."})]}):null,t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsx(f,{size:"sm",children:"Existing tags"}),t.jsx(d,{as:"span",variant:"meta",tone:"tertiary",children:b?"Loading...":`${n.length} available`})]}),n.length>0?t.jsx("div",{className:"max-h-44 overflow-y-auto rounded-[16px] border border-border-subtle bg-hover-subtle/60 p-3",children:t.jsx("div",{className:"flex flex-wrap gap-2",children:n.map(r=>{const o=w.includes(r.name);return t.jsx("button",{type:"button",className:`inline-flex items-center rounded-full border px-3 py-1.5 text-sm font-medium transition-colors ${o?"border-border-secondary bg-elevated text-fg-default":"border-border-subtle bg-transparent text-fg-secondary hover:border-border-secondary hover:bg-elevated hover:text-fg-default"}`,"aria-pressed":o,onClick:()=>Ee(r.name),children:r.name},r.id)})})}):t.jsx(d,{as:"p",variant:"meta",tone:"tertiary",children:"No tags yet. You can still type tag names manually."})]}):null,t.jsx(d,{as:"p",variant:"meta",tone:G?"default":"tertiary",className:G?"text-fg-error":void 0,children:G||(j||b?"Loading filter options...":`${l.length} properties · ${n.length} tags available`)})]}),t.jsxs("details",{className:"group rounded-[18px] border border-border-subtle bg-elevated px-4 py-3",children:[t.jsx("summary",{className:"cursor-pointer list-none",children:t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx(d,{as:"span",variant:"label",tone:"default",children:"Sort and limit"}),t.jsx(d,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:"Controls how many matching notes appear on the Views page preview."})]}),t.jsxs(d,{as:"span",variant:"meta",tone:"tertiary",children:[H," notes"]})]})}),t.jsxs("div",{className:"mt-4 grid gap-4 md:grid-cols-3",children:[t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx(f,{id:"view-section-sort-by-label",htmlFor:"view-section-sort-by",size:"sm",children:"Sort by"}),t.jsxs(T,{id:"view-section-sort-by",value:O,"aria-labelledby":"view-section-sort-by-label",onValueChange:r=>k(r),children:[t.jsx(m,{value:"updatedAt",children:"Updated time"}),t.jsx(m,{value:"createdAt",children:"Created time"}),t.jsx(m,{value:"title",children:"Title"})]})]}),t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx(f,{id:"view-section-sort-order-label",htmlFor:"view-section-sort-order",size:"sm",children:"Order"}),t.jsxs(T,{id:"view-section-sort-order",value:ee,"aria-labelledby":"view-section-sort-order-label",onValueChange:r=>te(r),children:[t.jsx(m,{value:"desc",children:"Descending"}),t.jsx(m,{value:"asc",children:"Ascending"})]})]}),t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx(f,{id:"view-section-limit-label",htmlFor:"view-section-limit",size:"sm",children:"Preview rows"}),t.jsxs(T,{id:"view-section-limit",value:H,"aria-labelledby":"view-section-limit-label",onValueChange:se,children:[t.jsx(m,{value:"3",children:"3 rows"}),t.jsx(m,{value:"5",children:"5 rows"}),t.jsx(m,{value:"8",children:"8 rows"}),t.jsx(m,{value:"10",children:"10 rows"}),t.jsx(m,{value:"12",children:"12 rows"})]})]})]})]})]})}),t.jsx(P.Footer,{children:t.jsxs(qe,{children:[t.jsx(V,{type:"button",variant:"ghost",size:"sm",onClick:x,children:"Cancel"}),t.jsx(V,{type:"submit",size:"sm",form:"view-section-form",children:a==="create"?"Create section":"Save section"})]})})]})}export{yt as E,St as V,dt as a,Vt as b,At as c,It as d,Ct as e,ot as f,le as g,Tt as h,Ue as i,lt as j,ft as k,mt as l,wt as m,We as n,Nt as o,ct as p,ut as q,Re as r,jt as s,pt as t,ht as u,xt as v,gt as w,bt as x,vt as y};
@@ -0,0 +1 @@
1
+ import{j as e,r as T}from"./floating-ui.react-dom-BWTnA00G.js";import{u as G,d as E,e as H,K as Y,M as ge,D as J,r as we,f as X,S as Z,h as ye,g as ee,C as te,P as ve,j as je,v as Ne,m as Se}from"./app-BpSMjzET.js";import{t as ke,a as D,f as se,M as Te,u as Ce}from"./time-D5LRMumI.js";import{T as h,B as y,F as K,u as ae,q as g,G as re,e as ie,c as z,M as V,L as Ve,I as De,o as Ee,P as Re,l as I,E as _}from"./note.api-D3oJmG3q.js";import{f as We}from"./tag.api-DNSQpqwk.js";import{V as qe,e as Ae,a as Fe,h as Pe,i as Ie,b as Ke,u as ne,d as oe,j as ze,k as Me,E as Le,c as Oe,r as Qe,m as $e,s as _e,l as Ue,n as Be,o as Ge,p as He,q as Ye,t as Je,v as U,w as Xe,x as Ze,y as et}from"./ViewSectionDialog-DhH8harC.js";import{S as M}from"./SurfaceCard-t7pdfhEe.js";import{N as tt,V as B}from"./url-9nrbQs7Z.js";import{V as S}from"./ViewChip-DlCkL4z4.js";import{s as st}from"./ArrowRight.es-BEhnlwfe.js";import{n as L}from"./Plus.es-DRfLW_bI.js";import"./preload-helper-BXl3LOEh.js";import"./Graph-LY_IgMYy.js";const at="group flex min-h-[64px] items-start justify-between gap-3 px-3 py-2.5 transition-colors hover:bg-hover-subtle",rt=s=>{const i=s.tags.slice(0,2),n=s.tags.length-i.length;return i.length===0?null:e.jsxs(e.Fragment,{children:[i.map(c=>e.jsx(S,{size:"compact",className:"max-w-[116px] shrink-0 border-border-subtle bg-transparent text-fg-secondary",children:c.name},c.id)),n>0&&e.jsxs(S,{size:"compact",className:"shrink-0 border-border-subtle bg-subtle text-fg-tertiary",children:["+",n]})]})};function it({notes:s,isPending:i,isError:n,onRetry:c}){return i?e.jsxs("div",{className:"overflow-hidden bg-transparent",children:[e.jsx("div",{className:"h-[64px] animate-pulse bg-subtle/35"}),e.jsx("div",{className:"h-[64px] animate-pulse border-t border-border-subtle/70 bg-subtle/35"}),e.jsx("div",{className:"h-[64px] animate-pulse border-t border-border-subtle/70 bg-subtle/35"})]}):n?e.jsxs("div",{className:"rounded-[16px] border border-border-subtle bg-subtle/30 p-4",children:[e.jsx(h,{as:"p",variant:"body",weight:"semibold",children:"Failed to load this section"}),e.jsx(h,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:"Retry to refresh this saved query."}),e.jsx("div",{className:"mt-3",children:e.jsx(y,{type:"button",variant:"ghost",size:"sm",onClick:c,children:"Retry"})})]}):s.length===0?e.jsxs("div",{className:"rounded-[16px] border border-dashed border-border-subtle px-4 py-5",children:[e.jsx(h,{as:"p",variant:"body",weight:"semibold",children:"No notes match yet"}),e.jsx(h,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:"Add matching notes, or edit this view query."})]}):e.jsx("div",{className:"divide-y divide-border-subtle/70 bg-transparent",children:s.map(o=>e.jsxs(K,{to:tt,params:{id:o.id},className:at,children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx(h,{as:"div",variant:"body",weight:"semibold",className:"line-clamp-1",children:o.title||"Untitled"}),e.jsxs("div",{className:"mt-1.5 flex min-w-0 flex-wrap items-center gap-1.5",children:[e.jsxs(h,{as:"span",variant:"label",weight:"medium",tone:"secondary",className:"mr-0.5",children:["Updated ",ke(Number(o.updatedAt))]}),rt(o)]})]}),e.jsx(st,{className:"mt-0.5 h-4 w-4 shrink-0 text-fg-tertiary transition-transform group-hover:translate-x-0.5"})]},o.id))})}function nt({onEdit:s}){return e.jsxs("div",{className:"rounded-[16px] border border-dashed border-border-subtle bg-subtle/40 px-4 py-5",children:[e.jsx(h,{as:"p",variant:"body",weight:"semibold",children:"This display type is unavailable"}),e.jsx(h,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:"Switch this section to List or Table to preview the saved query here."}),e.jsx("div",{className:"mt-3",children:e.jsx(y,{type:"button",variant:"ghost",size:"sm",onClick:s,children:"Change display"})})]})}function ot({section:s,notes:i,isPending:n,isError:c,onRetry:o,onEdit:d,onSortChange:l,isSortPending:b}){return s.displayType==="table"?e.jsx(qe,{section:s,notes:i,isPending:n,isError:c,onRetry:o,onSortChange:l,isSortPending:b}):s.displayType==="calendar"?e.jsx(nt,{onEdit:d}):e.jsx(it,{notes:i,isPending:n,isError:c,onRetry:o})}function lt({section:s,onEdit:i,onDuplicate:n,onDelete:c,onMoveUp:o,onMoveDown:d,dragHandle:l}){const b=ae(),v=ie(),[w,j]=T.useState(!1),u=Ae(s),{data:r,isPending:N,isError:R,refetch:W}=D({queryKey:g.views.sectionNotes(s.id,{limit:s.limit,offset:0}),async queryFn(){const m=await Fe(s.id,{limit:s.limit,offset:0});if(m.type==="error")throw m;return m.viewSectionNotes}}),C=r?.notes??[],q=r?.totalCount??0,A=Pe(s.mode),F=s.tagNames.length>0||s.propertyFilters.length>0,P=async m=>{if(w)return;const f=s.sortBy===m?s.sortOrder==="asc"?"desc":"asc":m==="title"?"asc":"desc";j(!0);const k=await ne(s.id,oe(s,{sortBy:m,sortOrder:f}));if(k.type==="error"){v(k.errors[0]?.message??"Failed to update table sort."),j(!1);return}await b.invalidateQueries({queryKey:g.views.all(),exact:!1}),j(!1)};return e.jsxs(M,{flush:!0,className:"flex h-full flex-col overflow-hidden",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 border-b border-border-subtle/75 px-4 py-3.5",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[l&&e.jsx("div",{className:"-mr-1 shrink-0 self-center",children:l}),e.jsx("div",{className:"min-w-0",children:e.jsx(h,{as:"h2",variant:"subheading",weight:"semibold",tracking:"tight",className:"min-w-0",children:e.jsx(K,{to:B,search:u,className:"truncate hover:text-fg-default/85",children:s.title})})})]}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-1.5",children:[e.jsx(S,{className:"max-w-full border-border-subtle/80 bg-elevated text-fg-secondary",children:Ie(s.displayType)}),s.tagNames.map((m,f)=>e.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[f>0&&e.jsx("span",{className:"px-0.5 text-[10px] font-semibold tracking-[0.08em] text-fg-tertiary/85",children:A}),e.jsx(S,{className:"max-w-full border-border-subtle/80 bg-transparent text-fg-secondary",children:m})]},m)),s.propertyFilters.map(m=>e.jsx(S,{className:"max-w-full border-border-subtle/80 bg-subtle text-fg-secondary",children:Ke(m)},`${m.key}-${m.operator}-${m.value??""}`)),!F&&e.jsx(S,{className:"max-w-full border-border-subtle/80 bg-transparent text-fg-tertiary",children:"All notes"})]})]}),e.jsx(re,{button:e.jsx(se,{label:"Section actions"}),items:[...o?[{name:"Move up",onClick:o}]:[],...d?[{name:"Move down",onClick:d}]:[],...o||d?[{type:"separator"}]:[],{name:"Edit section",onClick:i},{name:"Duplicate section",onClick:n},{type:"separator"},{name:"Delete section",onClick:c}]})]}),e.jsx("div",{className:"flex flex-1 flex-col",children:e.jsx(ot,{section:s,notes:C,isPending:N,isError:R,onRetry:()=>{W()},onEdit:i,onSortChange:P,isSortPending:w})}),e.jsxs("div",{className:"flex items-center justify-between gap-3 border-t border-border-subtle/75 px-4 py-3",children:[e.jsx(h,{as:"p",variant:"meta",tone:"tertiary",children:N?"Loading notes...":`Showing ${C.length} of ${q} notes`}),e.jsx(y,{asChild:!0,variant:"subtle",size:"sm",children:e.jsx(K,{to:B,search:u,children:"Open results"})})]})]})}const ct="group flex h-10 max-w-[72vw] shrink-0 items-center rounded-[12px] border transition-[background-color,border-color,color,box-shadow] sm:max-w-[176px]",dt="focus-ring-soft inline-flex h-full min-w-0 flex-1 touch-pan-x items-center gap-1 rounded-[11px] px-3 text-[13px] font-medium outline-none transition-colors";function mt({tab:s,isActive:i,onSelect:n}){const{attributes:c,listeners:o,setNodeRef:d,setActivatorNodeRef:l,transform:b,transition:v,isDragging:w}=ee({id:s.id});return e.jsx("div",{ref:d,style:{transform:te.Translate.toString(b),transition:v,opacity:w?.6:1},className:z(ct,i?"border-border-secondary/80 bg-elevated text-fg-default shadow-[0_8px_18px_-18px_rgba(15,18,24,0.28)]":"border-transparent bg-transparent text-fg-secondary hover:border-border-subtle/80 hover:bg-hover-subtle hover:text-fg-default"),children:e.jsxs("button",{type:"button",ref:l,...c,...o,role:"tab","aria-selected":i,title:`${s.title}. Drag to reorder.`,className:z(dt,i?"text-fg-default":"text-fg-secondary group-hover:text-fg-default",w?"cursor-grabbing":"cursor-pointer"),onClick:n,children:[e.jsx("span",{className:"min-w-0 flex-1 truncate",children:s.title}),e.jsx("span",{className:"inline-flex min-w-4 shrink-0 items-center justify-center rounded-full bg-hover-subtle/75 px-1 py-0 text-[10px] leading-4 text-current/70",children:s.sections.length})]})})}function pt({tabs:s,activeTabId:i,onSelectTab:n,onReorderTabs:c,onCreateTab:o}){const d=G(E(ge,{activationConstraint:{distance:8}}),E(Y,{coordinateGetter:H}));return e.jsx("div",{className:"-mx-1 rounded-[16px] border border-border-subtle/75 bg-subtle/50 p-1 sm:mx-0",children:e.jsx(J,{sensors:d,collisionDetection:X,modifiers:[we],autoScroll:!1,onDragEnd:l=>{c(l)},children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(Z,{items:s.map(l=>l.id),strategy:ye,children:e.jsx("div",{role:"tablist","aria-label":"Views tab list",className:"flex min-w-0 flex-1 items-center gap-1 overflow-x-auto overflow-y-hidden",children:s.map(l=>e.jsx(mt,{tab:l,isActive:l.id===i,onSelect:()=>{n(l)}},l.id))})}),e.jsxs(y,{type:"button","aria-label":"New view tab",variant:"ghost",size:"sm",className:"h-10 w-10 shrink-0 rounded-[12px] border-transparent bg-transparent px-0 text-[13px] text-fg-secondary hover:border-border-subtle/80 hover:bg-hover-subtle hover:text-fg-default sm:w-auto sm:px-2.5",onClick:o,children:[e.jsx(L,{className:"h-5 w-5 shrink-0"}),e.jsx("span",{className:"hidden sm:inline",children:"New view tab"})]})]})})})}function ut({open:s,mode:i,initialTitle:n="",onClose:c,onSubmit:o}){const[d,l]=T.useState(n);return T.useEffect(()=>{s&&l(n)},[n,s]),e.jsxs(V,{isOpen:s,onClose:c,variant:"form",className:"sm:max-w-[480px]",children:[e.jsx(V.Header,{title:i==="create"?"Create view tab":"Rename view tab",onClose:c}),e.jsx(V.Body,{children:e.jsxs("form",{id:"view-tab-form",className:"flex flex-col gap-4",onSubmit:b=>{b.preventDefault(),o(d)},children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(Ve,{htmlFor:"view-tab-title",size:"md",children:"Tab name"}),e.jsx(De,{id:"view-tab-title",value:d,onChange:b=>l(b.target.value),placeholder:"Now",autoFocus:!0})]}),e.jsx(h,{as:"p",variant:"meta",tone:"tertiary",children:"Each tab is one saved view inside the Views page."})]})}),e.jsx(V.Footer,{children:e.jsxs(Te,{children:[e.jsx(y,{type:"button",variant:"ghost",size:"sm",onClick:c,children:"Cancel"}),e.jsx(y,{type:"submit",size:"sm",form:"view-tab-form",children:i==="create"?"Create tab":"Save tab"})]})})]})}const xt="Save reusable note queries with tags, shared properties, and sorting.",ht="focus-ring-soft hidden h-8 w-8 items-center justify-center rounded-[10px] text-fg-default/70 outline-none transition-colors hover:bg-hover-subtle hover:text-fg-default sm:inline-flex touch-none",bt=({section:s,onEdit:i,onDuplicate:n,onDelete:c,onMoveUp:o,onMoveDown:d})=>{const{attributes:l,listeners:b,setNodeRef:v,setActivatorNodeRef:w,transform:j,transition:u,isDragging:r}=ee({id:s.id});return e.jsx("div",{ref:v,style:{transform:te.Translate.toString(j),transition:u,opacity:r?.6:1},children:e.jsx(lt,{section:s,onEdit:i,onDuplicate:n,onDelete:c,onMoveUp:o,onMoveDown:d,dragHandle:e.jsx("button",{type:"button",ref:w,"aria-label":`Reorder section ${s.title}`,...l,...b,className:z(ht,r?"cursor-grabbing":"cursor-grab"),children:e.jsx(Se,{className:"size-4"})})})})};function Et(){const s=Ce(),i=ie(),n=ae(),[c,o]=T.useState(null),[d,l]=T.useState(null),{data:b,isPending:v,isError:w,refetch:j}=D({queryKey:g.views.workspace(),async queryFn(){const t=await ze();if(t.type==="error")throw t;return t.viewWorkspace}}),u=b??Le,r=Me(u),N=r?u.tabs.findIndex(t=>t.id===r.id):-1,{data:R,isPending:W}=D({queryKey:g.tags.list({limit:200}),async queryFn(){const t=await We({limit:200});if(t.type==="error")throw t;return t.allTags}}),C=G(E(ve,{activationConstraint:{distance:8}}),E(Y,{coordinateGetter:H})),q=R?.tags??[],{data:A,isPending:F}=D({queryKey:g.notes.propertyKeys({limit:100}),async queryFn(){const t=await Ee({limit:100});if(t.type==="error")throw t;return t.notePropertyKeys}}),P=A?.keys??[],m=t=>{n.setQueryData(g.views.workspace(),t)},f=async()=>{await n.invalidateQueries({queryKey:g.views.all(),exact:!1})},k=async(t,a)=>{m(a);const p=await Ze(a.tabs.map(x=>x.id));if(p.type==="error"){m(t),i(p.errors[0].message);return}await f()},le=async({active:t,over:a})=>{if(!a||t.id===a.id)return;const p=n.getQueryData(g.views.workspace())??u,x=Qe(p,String(t.id),String(a.id));await k(p,x)},O=async t=>{if(!r)return;const a=n.getQueryData(g.views.workspace())??u,p=$e(a,r.id,t);p!==a&&await k(a,p)},ce=async t=>{const a=n.getQueryData(g.views.workspace())??u,p=_e(a,t.id);m(p);const x=await Ue(t.id);if(x.type==="error"){m(a),i(x.errors[0].message);return}m(x.setActiveViewTab)},Q=async(t,a)=>{if(!r)return;m(a);const p=await et(r.id,a.tabs.find(x=>x.id===r.id)?.sections.map(x=>x.id)??[]);if(p.type==="error"){m(t),i(p.errors[0].message);return}await f()},de=async({active:t,over:a})=>{if(!r||!a||t.id===a.id)return;const p=n.getQueryData(g.views.workspace())??u,x=Be(p,r.id,String(t.id),String(a.id));await Q(p,x)},$=async(t,a)=>{if(!r)return;const p=n.getQueryData(g.views.workspace())??u,x=Ge(p,r.id,t,a);x!==p&&await Q(p,x)},me=async t=>{const a=await He(t);if(a.type==="error"){i(a.errors[0].message);return}await f(),o(null)},pe=async t=>{if(!r)return;const a=await Ye(r.id,t);if(a.type==="error"){i(a.errors[0].message);return}await f(),o(null)},ue=async()=>{if(!r||!await s("Delete this view tab and all of its sections?"))return;const t=await Je(r.id);if(t.type==="error"){i(t.errors[0].message);return}await f()},xe=async t=>{if(!r)return;const a=await U(r.id,t);if(a.type==="error"){i(a.errors[0].message);return}await f(),l(null)},he=async t=>{if(!r||!d||d.mode!=="edit")return;const a=await ne(d.section.id,t);if(a.type==="error"){i(a.errors[0].message);return}await f(),l(null)},be=async t=>{const a=await U(t.tabId,{...oe(t),title:`${t.title} copy`});if(a.type==="error"){i(a.errors[0].message);return}await f(),i("Section duplicated.")},fe=async t=>{if(!r||!await s("Delete this section from the current view tab?"))return;const a=await Xe(t);if(a.type==="error"){i(a.errors[0].message);return}await f()};return e.jsxs(e.Fragment,{children:[e.jsx(Re,{title:"Views",description:xt,children:v&&!b?e.jsx(M,{className:"px-6 py-8 sm:px-8 sm:py-10",children:e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(I,{height:20,width:180,className:"rounded-full"}),e.jsx(I,{height:16,width:260,className:"rounded-full"}),e.jsx(I,{height:44,width:140,className:"rounded-[12px]"})]})}):w?e.jsxs(M,{className:"px-6 py-8 sm:px-8 sm:py-10",children:[e.jsx(h,{as:"p",variant:"body",weight:"semibold",children:"Failed to load saved views"}),e.jsx(h,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:"Retry loading your saved view tabs."}),e.jsx("div",{className:"mt-4",children:e.jsx(y,{type:"button",variant:"ghost",size:"sm",onClick:()=>{j()},children:"Retry"})})]}):u.tabs.length===0?e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(_,{title:"Create your first view tab",description:"Start with a saved view tab, then add sections that query notes by tags, properties, or both.",className:"h-[320px]"}),e.jsx("div",{className:"flex justify-center",children:e.jsxs(y,{type:"button",onClick:()=>o({mode:"create"}),children:[e.jsx(L,{className:"h-4 w-4"}),"Create first tab"]})})]}):e.jsxs("div",{className:"flex flex-col gap-5",children:[e.jsx(pt,{tabs:u.tabs,activeTabId:r?.id??null,onSelectTab:ce,onReorderTabs:le,onCreateTab:()=>o({mode:"create"})}),r&&e.jsxs("div",{className:"flex flex-col gap-5",children:[e.jsxs("div",{className:"flex flex-col gap-3 border-b border-border-subtle/80 px-1 pb-4 sm:flex-row sm:items-center sm:justify-between",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx(h,{as:"h2",variant:"subheading",weight:"semibold",tracking:"tight",truncate:!0,children:r.title}),e.jsx(h,{as:"p",variant:"meta",tone:"tertiary",className:"mt-1",children:r.sections.length>0?`${r.sections.length} section${r.sections.length===1?"":"s"} in this view`:"Add sections to build this view"})]}),e.jsxs("div",{className:"inline-flex flex-wrap items-center gap-2 self-start sm:self-center",children:[e.jsxs(y,{type:"button",size:"sm",onClick:()=>l({mode:"create"}),children:[e.jsx(L,{className:"h-4 w-4"}),"Add section"]}),e.jsx(re,{button:e.jsx(se,{label:"View tab actions"}),items:[...N>0?[{name:"Move tab left",onClick:()=>{O("previous")}}]:[],...N>=0&&N<u.tabs.length-1?[{name:"Move tab right",onClick:()=>{O("next")}}]:[],...u.tabs.length>1?[{type:"separator"}]:[],{name:"Rename tab",onClick:()=>o({mode:"edit",tab:r})},{type:"separator"},{name:"Delete tab",onClick:()=>{ue()}}]})]})]}),r.sections.length===0?e.jsx(_,{title:"Add the first section to this tab",description:"Sections can pull notes by tags, properties, or both.",className:"h-[300px]"}):e.jsx("div",{className:"flex flex-col",children:e.jsx(J,{sensors:C,collisionDetection:X,modifiers:[je],onDragEnd:de,children:e.jsx(Z,{items:r.sections.map(t=>t.id),strategy:Ne,children:e.jsx("div",{className:"flex flex-col gap-4",children:r.sections.map((t,a)=>e.jsx(bt,{section:t,onEdit:()=>l({mode:"edit",section:t}),onDuplicate:()=>{be(t)},onDelete:()=>{fe(t.id)},onMoveUp:a>0?()=>{$(t.id,"previous")}:void 0,onMoveDown:a<r.sections.length-1?()=>{$(t.id,"next")}:void 0},t.id))})})})})]})]})}),e.jsx(ut,{open:c!==null,mode:c?.mode??"create",initialTitle:c?.mode==="edit"?c.tab.title:"",onClose:()=>o(null),onSubmit:t=>{if(c?.mode==="edit"){pe(t);return}me(t)}}),e.jsx(Oe,{open:d!==null,mode:d?.mode??"create",initialSection:d?.mode==="edit"?d.section:null,availableTags:q,availableProperties:P,isTagsLoading:W,isPropertiesLoading:F,onClose:()=>l(null),onSubmit:t=>{if(d?.mode==="edit"){he(t);return}xe(t)}})]})}export{Et as default};
@@ -0,0 +1 @@
1
+ import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-DDKNNzI6.js";import{p as f}from"./chunk-JWPE2WC7-_Oqh79OY.js";import{_ as n,l as o}from"./mermaid.core-B14ZAmWA.js";import"./transform-BUB79_za.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-DU_G4Atc.js";import"./preload-helper-BXl3LOEh.js";import"./floating-ui.react-dom-BWTnA00G.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},I={parser:R,db:a,renderer:u,styles:p};export{I as diagram};
@@ -0,0 +1 @@
1
+ .ProseMirror a{color:var(--fg-muted);cursor:pointer;text-decoration:underline;text-decoration-color:var(--border-secondary);text-underline-offset:2px;transition:color .15s ease,text-decoration-color .15s ease}.ProseMirror a:hover{color:var(--fg-default);text-decoration-color:var(--fg-muted)}.bn-editor{background:transparent!important;padding-inline:54px 0!important;overflow-wrap:anywhere!important}.bn-container{--bn-font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;font-family:var(--bn-font-family)!important}.bn-mantine .bn-suggestion-menu{width:min(368px,100vw - 32px);max-height:min(424px,100vh - 96px);padding:6px;background:var(--elevated);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 18px 36px -28px #171d2657,0 1px 2px #171d260f;color:var(--fg-default);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-secondary) transparent}html.dark .bn-mantine .bn-suggestion-menu{box-shadow:0 20px 42px -30px #000000b8,0 1px 2px #00000052}.bn-mantine .mantine-Menu-dropdown,.bn-mantine .bn-menu-dropdown{min-width:148px;padding:5px;background:var(--elevated);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 14px 28px -24px #171d264d,0 1px 2px #171d260f;color:var(--fg-default)}html.dark .bn-mantine .mantine-Menu-dropdown,html.dark .bn-mantine .bn-menu-dropdown{box-shadow:0 18px 34px -28px #000000ad,0 1px 2px #00000052}.bn-mantine .mantine-Menu-item{min-height:32px;height:auto;padding:7px 10px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--fg-secondary);font-size:.8125rem;font-weight:600;line-height:1.35;transition:background .15s ease,border-color .15s ease,color .15s ease}.bn-mantine .mantine-Menu-item[aria-selected=true],.bn-mantine .mantine-Menu-item:hover,.bn-mantine .mantine-Menu-item:focus-visible{background:var(--hover-subtle);border-color:var(--border-subtle);color:var(--fg-default)}.bn-mantine .mantine-Menu-itemLabel{color:inherit}.bn-mantine .bn-suggestion-menu-label{padding:8px 10px 5px;color:var(--fg-tertiary);font-size:.75rem;font-weight:700;line-height:1.2}.bn-mantine .bn-suggestion-menu-label:not(:first-child){margin-top:4px;padding-top:10px;border-top:1px solid var(--border-subtle)}.bn-mantine .bn-suggestion-menu-item{min-height:52px;height:auto;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:10px;color:var(--fg-default);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.bn-mantine .bn-suggestion-menu-item:hover,.bn-mantine .bn-suggestion-menu-item[aria-selected=true]{background:var(--hover-subtle);border-color:var(--border-subtle)}.bn-mantine .bn-suggestion-menu-item-small{min-height:34px;padding:7px 10px}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-body{min-width:0;padding-right:10px}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-section[data-position=left]{flex:0 0 32px;width:32px;height:32px;margin-inline-end:10px;padding:0;background:var(--muted);border:1px solid var(--border-subtle);border-radius:8px;color:var(--fg-secondary)}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-section[data-position=left] svg{width:16px;height:16px}.bn-mantine .bn-suggestion-menu-item:hover .bn-mt-suggestion-menu-item-section[data-position=left],.bn-mantine .bn-suggestion-menu-item[aria-selected=true] .bn-mt-suggestion-menu-item-section[data-position=left]{background:var(--surface);border-color:var(--border-secondary);color:var(--fg-default)}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-section[data-position=right]{flex:0 0 auto;margin-inline-start:8px;color:var(--fg-tertiary)}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-section[data-position=right] .mantine-Badge-root{height:20px;padding:0 6px;background:var(--muted);border:1px solid var(--border-subtle);border-radius:7px;color:var(--fg-tertiary);font-size:.6875rem;font-weight:600;line-height:18px;letter-spacing:0;text-transform:none;white-space:nowrap}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-title,.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-title{color:var(--fg-default);font-size:.875rem;font-weight:600;line-height:1.35}.bn-mantine .bn-suggestion-menu-item-small .bn-mt-suggestion-menu-item-title{font-size:.8125rem}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-subtitle{color:var(--fg-tertiary);font-size:.75rem;line-height:1.35}@media(max-width:640px){.bn-mantine .bn-suggestion-menu{width:calc(100vw - 24px);max-height:min(360px,100vh - 80px)}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-section[data-position=right] .mantine-Badge-root{max-width:84px;overflow:hidden;text-overflow:ellipsis}}.bn-default-styles,.bn-default-styles p,.bn-default-styles li,.bn-default-styles h1,.bn-default-styles h2,.bn-default-styles h3,.bn-default-styles h4,.bn-default-styles h5,.bn-default-styles h6,.bn-container button,.bn-container input,.bn-container select,.bn-container textarea{font-family:var(--bn-font-family)!important}.bn-inline-content code{color:var(--fg-muted);background:color-mix(in srgb,var(--highlight) 72%,transparent);border:1px solid color-mix(in srgb,var(--border-subtle) 72%,transparent);border-radius:6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9em;letter-spacing:0;padding:.08em .34em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.bn-file-block-content-wrapper{max-width:100%}.bn-block-content[data-content-type=codeBlock]{background-color:#181b20;border:1px solid rgba(255,255,255,.08);border-radius:10px}.bn-block-content[data-content-type=codeBlock]:has(>[data-rich-code-toolbar]){flex-direction:column;overflow:hidden;background-color:var(--elevated);border-color:var(--border-subtle);color:var(--fg-default)}.bn-block-content[data-content-type=codeBlock]:has(>[data-rich-code-toolbar])>div>select{display:none}[data-rich-code-preview] svg foreignObject p{font-family:inherit!important;line-height:inherit}.bn-block-content[data-content-type=codeBlock]>pre{color:#ffffffd6;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:1rem;line-height:1.65}.bn-block-content[data-content-type=codeBlock]>div>select{border-radius:6px;color:#ffffffb8}.bn-editor [data-content-type=table] .tableWrapper{--default-cell-min-width: 112px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border-secondary) transparent}.bn-editor [data-content-type=table] table{overflow:hidden;background:var(--elevated);border:1px solid var(--border-subtle);border-radius:10px;border-collapse:separate;border-spacing:0}.bn-editor [data-content-type=table] th,.bn-editor [data-content-type=table] td{min-width:112px;padding:8px 10px;background:var(--elevated);border:0;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);color:var(--fg-default);vertical-align:top}.bn-editor [data-content-type=table] th{background:var(--muted);color:var(--fg-muted);font-weight:600}.bn-editor [data-content-type=table] tr>:last-child{border-right:0}.bn-editor [data-content-type=table] tr:last-child>*{border-bottom:0}.bn-editor [data-content-type=table] th:hover,.bn-editor [data-content-type=table] td:hover{background:var(--hover-subtle)}.ProseMirror .selectedCell:after{background:color-mix(in srgb,var(--accent-soft-primary) 58%,transparent);box-shadow:inset 0 0 0 1px var(--border-focus);pointer-events:none}.ProseMirror .column-resize-handle,.bn-table-drop-cursor{background:var(--accent-primary)}.bn-mantine .bn-table-handle,.bn-mantine .bn-extend-button,.bn-mantine .bn-table-cell-handle{background:var(--elevated);border:1px solid var(--border-subtle);border-radius:7px;box-shadow:0 8px 18px -16px #171d2638;color:var(--fg-tertiary);transition:background .15s ease,border-color .15s ease,color .15s ease}.bn-mantine .bn-table-handle:hover,.bn-mantine .bn-table-handle-dragging,.bn-mantine .bn-extend-button:hover,.bn-mantine .bn-extend-button-editing,.bn-mantine .bn-table-cell-handle:hover{background:var(--hover-subtle);border-color:var(--border-secondary);color:var(--fg-default)}.bn-default-styles [data-content-type=heading]{--level: 1.375rem;--ob-heading-color: var(--fg-default);--ob-heading-letter-spacing: -.01em;--ob-heading-line-height: 1.35;--ob-heading-weight: 700}.bn-default-styles [data-content-type=heading][data-level="2"]{--level: 1.1875rem;--ob-heading-letter-spacing: -.005em;--ob-heading-line-height: 1.4;--ob-heading-weight: 650}.bn-default-styles [data-content-type=heading][data-level="3"]{--level: 1.0625rem;--ob-heading-letter-spacing: 0;--ob-heading-line-height: 1.45;--ob-heading-weight: 620}.bn-default-styles [data-content-type=heading][data-level="4"]{--level: 1rem;--ob-heading-letter-spacing: 0;--ob-heading-line-height: 1.5;--ob-heading-weight: 600}.bn-default-styles [data-content-type=heading][data-level="5"]{--level: 1rem;--ob-heading-color: var(--fg-muted);--ob-heading-letter-spacing: 0;--ob-heading-line-height: 1.5;--ob-heading-weight: 560}.bn-default-styles [data-content-type=heading][data-level="6"]{--level: 1rem;--ob-heading-color: var(--fg-secondary);--ob-heading-letter-spacing: .01em;--ob-heading-line-height: 1.5;--ob-heading-weight: 520}.bn-default-styles [data-prev-level="1"]{--prev-level: 1.375rem;--ob-prev-heading-letter-spacing: -.01em;--ob-prev-heading-line-height: 1.35;--ob-prev-heading-weight: 700}.bn-default-styles [data-prev-level="2"]{--prev-level: 1.1875rem;--ob-prev-heading-letter-spacing: -.005em;--ob-prev-heading-line-height: 1.4;--ob-prev-heading-weight: 650}.bn-default-styles [data-prev-level="3"]{--prev-level: 1.0625rem;--ob-prev-heading-letter-spacing: 0;--ob-prev-heading-line-height: 1.45;--ob-prev-heading-weight: 620}.bn-default-styles [data-prev-level="4"]{--prev-level: 1rem;--ob-prev-heading-letter-spacing: 0;--ob-prev-heading-line-height: 1.5;--ob-prev-heading-weight: 600}.bn-default-styles [data-prev-level="5"]{--prev-level: 1rem;--ob-prev-heading-letter-spacing: 0;--ob-prev-heading-line-height: 1.5;--ob-prev-heading-weight: 560}.bn-default-styles [data-prev-level="6"]{--prev-level: 1rem;--ob-prev-heading-letter-spacing: .01em;--ob-prev-heading-line-height: 1.5;--ob-prev-heading-weight: 520}.bn-default-styles .bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=heading],.bn-default-styles .bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>div[data-type=modification]>.bn-block-content[data-content-type=heading]{color:var(--ob-heading-color, var(--fg-default));font-size:var(--level);font-weight:var(--ob-heading-weight, 600);letter-spacing:var(--ob-heading-letter-spacing, 0);line-height:var(--ob-heading-line-height, 1.5)}.bn-default-styles .bn-block-outer[data-prev-type=heading]>.bn-block>.bn-block-content{font-size:var(--prev-level);font-weight:var(--ob-prev-heading-weight, 600);letter-spacing:var(--ob-prev-heading-letter-spacing, 0);line-height:var(--ob-prev-heading-line-height, 1.5)}.bn-default-styles p{line-height:1.7}.bn-default-styles li{line-height:1.65}.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=numberedListItem]:before{content:var(--index) ".";white-space:nowrap}.bn-side-menu[data-block-type=heading][data-level="1"]{height:36px}.bn-side-menu[data-block-type=heading][data-level="2"]{height:33px}.bn-side-menu[data-block-type=heading][data-level="3"]{height:31px}.bn-side-menu[data-block-type=heading][data-level="4"],.bn-side-menu[data-block-type=heading][data-level="5"],.bn-side-menu[data-block-type=heading][data-level="6"]{height:30px}@font-face{font-family:Pretendard;font-weight:700;font-display:swap;src:local("Pretendard Bold"),url(/fonts/Pretendard-Bold.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:400;font-display:swap;src:local("Pretendard Regular"),url(/fonts/Pretendard-Regular.woff2) format("woff2")}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}html{background:var(--page-bg);color:var(--fg-default)}html.dark{background-color:var(--page-bg);color:var(--fg-default)}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--page-bg);color:var(--fg-default);word-wrap:break-word;word-break:keep-all;overflow-wrap:anywhere}div:focus:not(:focus-visible){outline:none}.window-modal__container{z-index:1002}@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-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-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-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-700:oklch(50.5% .213 27.518);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-700:oklch(50% .134 242.749);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-700:oklch(51.4% .222 16.935);--color-black:#000;--color-white:#fff;--spacing:.25rem;--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: 1.5 ;--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-normal:1.5;--leading-relaxed:1.625;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-2xl:40px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-pastel-yellow-200:#d8c4a8;--color-pastel-green-200:#9fb39d;--color-pastel-pink-200:#d6a3a0;--color-pastel-orange-200:#cfa88d;--color-pastel-blue-200:#9cafb9;--color-pastel-lavender-200:#c0b7c6;--color-priority-high:#e4a29f;--color-priority-medium:#deb07e;--color-priority-low:#dec988;--color-surface:var(--surface);--color-muted:var(--muted);--color-subtle:var(--subtle);--color-elevated:var(--elevated);--color-emphasis:var(--emphasis);--color-hover:var(--hover);--color-hover-subtle:var(--hover-subtle);--color-active:var(--active);--color-fg-default:var(--fg-default);--color-fg-muted:var(--fg-muted);--color-fg-secondary:var(--fg-secondary);--color-fg-tertiary:var(--fg-tertiary);--color-fg-disabled:var(--fg-disabled);--color-fg-placeholder:var(--fg-placeholder);--color-fg-error:var(--fg-error);--color-fg-on-filled:var(--fg-on-filled);--color-fg-weekend:var(--fg-weekend);--color-border:var(--border);--color-border-secondary:var(--border-secondary);--color-border-subtle:var(--border-subtle);--color-border-focus:var(--border-focus);--color-border-error:var(--border-error);--color-accent-primary:var(--accent-primary);--color-accent-secondary:var(--accent-secondary);--color-accent-secondary-hover:var(--accent-secondary-hover);--color-accent-danger:var(--accent-danger);--color-accent-danger-hover:var(--accent-danger-hover);--color-accent-success:var(--accent-success);--color-accent-soft-primary:var(--accent-soft-primary);--color-accent-soft-danger:var(--accent-soft-danger);--color-accent-soft-danger-hover:var(--accent-soft-danger-hover);--color-accent-soft-success:var(--accent-soft-success);--color-accent-soft-success-hover:var(--accent-soft-success-hover);--color-cta:var(--cta);--color-cta-hover:var(--cta-hover);--color-overlay:var(--overlay);--color-divider:var(--divider);--radius-full:9999px;--animate-fade-in:fade-in .2s ease-out;--animate-zoom-in:zoom-in .2s ease-out;--animate-shimmer:shimmer 1.5s infinite}}@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;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}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.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)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-10{top:calc(var(--spacing) * -10)}.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-20{top:calc(var(--spacing) * 20)}.-right-10{right:calc(var(--spacing) * -10)}.right-0{right:calc(var(--spacing) * 0)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-\[-14px\]{right:-14px}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\[-4px\]{bottom:-4px}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[1001\]{z-index:1001}.z-\[1002\]{z-index:1002}.z-\[1003\]{z-index:1003}.z-\[1090\]{z-index:1090}.z-\[1100\]{z-index:1100}.z-\[1200\]{z-index:1200}.col-start-1{grid-column-start:1}.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-1{margin:calc(var(--spacing) * -1)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.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-8{margin-top:calc(var(--spacing) * 8)}.mt-\[2px\]{margin-top:2px}.mt-\[6px\]{margin-top:6px}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-0{margin-left:calc(var(--spacing) * 0)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-12{margin-left:calc(var(--spacing) * 12)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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}.line-clamp-4{-webkit-line-clamp:4;-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}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.h-1{height:calc(var(--spacing) * 1)}.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-4\.5{height:calc(var(--spacing) * 4.5)}.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-28{height:calc(var(--spacing) * 28)}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[34px\]{height:34px}.h-\[64px\]{height:64px}.h-\[76px\]{height:76px}.h-\[98px\]{height:98px}.h-\[300px\]{height:300px}.h-\[320px\]{height:320px}.h-\[400px\]{height:400px}.h-\[min\(34rem\,calc\(100dvh-12rem\)\)\]{height:min(34rem,100dvh - 12rem)}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-\[38px\]{min-height:38px}.min-h-\[60px\]{min-height:60px}.min-h-\[64px\]{min-height:64px}.min-h-\[80px\]{min-height:80px}.min-h-\[84px\]{min-height:84px}.min-h-\[100px\]{min-height:100px}.min-h-\[112px\]{min-height:112px}.min-h-\[196px\]{min-height:196px}.min-h-\[420px\]{min-height:420px}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.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-12{width:calc(var(--spacing) * 12)}.w-28{width:calc(var(--spacing) * 28)}.w-\[18px\]{width:18px}.w-\[34px\]{width:34px}.w-\[220px\]{width:220px}.w-\[min\(22rem\,calc\(100vw-2rem\)\)\]{width:min(22rem,100vw - 2rem)}.w-full{width:100%}.w-px{width:1px}.max-w-\[12rem\]{max-width:12rem}.max-w-\[34rem\]{max-width:34rem}.max-w-\[44rem\]{max-width:44rem}.max-w-\[72\%\]{max-width:72%}.max-w-\[72vw\]{max-width:72vw}.max-w-\[76px\]{max-width:76px}.max-w-\[116px\]{max-width:116px}.max-w-\[132px\]{max-width:132px}.max-w-\[190px\]{max-width:190px}.max-w-\[240px\]{max-width:240px}.max-w-\[336px\]{max-width:336px}.max-w-\[400px\]{max-width:400px}.max-w-\[480px\]{max-width:480px}.max-w-\[560px\]{max-width:560px}.max-w-\[640px\]{max-width:640px}.max-w-\[896px\]{max-width:896px}.max-w-\[min\(420px\,calc\(100vw-32px\)\)\]{max-width:min(420px,100vw - 32px)}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-26{min-width:calc(var(--spacing) * 26)}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[10rem\]{min-width:10rem}.min-w-\[1260px\]{min-width:1260px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-\[0_0_300px\]{flex:0 0 300px}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.basis-\[28rem\]{flex-basis:28rem}.basis-full{flex-basis:100%}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[38\%\]{--tw-translate-y: -38% ;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-fade-in{animation:var(--animate-fade-in)}.animate-pulse{animation:var(--animate-pulse)}.animate-shimmer{animation:var(--animate-shimmer)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pan-x{--tw-pan-x:pan-x;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[3px_minmax\(0\,1fr\)_2\.75rem\]{grid-template-columns:3px minmax(0,1fr) 2.75rem}.grid-cols-\[minmax\(0\,1fr\)_3\.5rem\]{grid-template-columns:minmax(0,1fr) 3.5rem}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.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-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}: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-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px * var(--tw-space-y-reverse));margin-block-end:calc(1px * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}: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)))}:where(.divide-border-subtle>:not(:last-child)),:where(.divide-border-subtle\/70>:not(:last-child)){border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){:where(.divide-border-subtle\/70>:not(:last-child)){border-color:color-mix(in oklab,var(--color-border-subtle) 70%,transparent)}}.self-center{align-self:center}.self-start{align-self:flex-start}.justify-self-center{justify-self:center}.justify-self-end{justify-self:flex-end}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.rounded-\[6px\]{border-radius:6px}.rounded-\[8px\]{border-radius:8px}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[12px\]{border-radius:12px}.rounded-\[13px\]{border-radius:13px}.rounded-\[14px\]{border-radius:14px}.rounded-\[15px\]{border-radius:15px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:var(--radius-full)}.rounded-t-\[18px\]{border-top-left-radius:18px;border-top-right-radius:18px}.border{border-style:var(--tw-border-style);border-width:1px}.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-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-200\/70{border-color:#fee685b3}@supports (color:color-mix(in lab,red,red)){.border-amber-200\/70{border-color:color-mix(in oklab,var(--color-amber-200) 70%,transparent)}}.border-border{border-color:var(--color-border)}.border-border-error,.border-border-error\/70{border-color:var(--color-border-error)}@supports (color:color-mix(in lab,red,red)){.border-border-error\/70{border-color:color-mix(in oklab,var(--color-border-error) 70%,transparent)}}.border-border-secondary,.border-border-secondary\/70{border-color:var(--color-border-secondary)}@supports (color:color-mix(in lab,red,red)){.border-border-secondary\/70{border-color:color-mix(in oklab,var(--color-border-secondary) 70%,transparent)}}.border-border-secondary\/80{border-color:var(--color-border-secondary)}@supports (color:color-mix(in lab,red,red)){.border-border-secondary\/80{border-color:color-mix(in oklab,var(--color-border-secondary) 80%,transparent)}}.border-border-subtle,.border-border-subtle\/60{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/60{border-color:color-mix(in oklab,var(--color-border-subtle) 60%,transparent)}}.border-border-subtle\/65{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/65{border-color:color-mix(in oklab,var(--color-border-subtle) 65%,transparent)}}.border-border-subtle\/70{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/70{border-color:color-mix(in oklab,var(--color-border-subtle) 70%,transparent)}}.border-border-subtle\/75{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/75{border-color:color-mix(in oklab,var(--color-border-subtle) 75%,transparent)}}.border-border-subtle\/80{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/80{border-color:color-mix(in oklab,var(--color-border-subtle) 80%,transparent)}}.border-cta{border-color:var(--color-cta)}.border-fg-muted{border-color:var(--color-fg-muted)}.border-sky-200\/75{border-color:#b8e6febf}@supports (color:color-mix(in lab,red,red)){.border-sky-200\/75{border-color:color-mix(in oklab,var(--color-sky-200) 75%,transparent)}}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/14{border-color:#ffffff24}@supports (color:color-mix(in lab,red,red)){.border-white\/14{border-color:color-mix(in oklab,var(--color-white) 14%,transparent)}}.bg-\[\#181b20\]{background-color:#181b20}.bg-\[color-mix\(in_srgb\,var\(--elevated\)_72\%\,var\(--hover-subtle\)\)\]{background-color:var(--elevated)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--elevated\)_72\%\,var\(--hover-subtle\)\)\]{background-color:color-mix(in srgb,var(--elevated) 72%,var(--hover-subtle))}}.bg-\[color\:color-mix\(in_srgb\,var\(--surface\)_88\%\,var\(--accent-soft-primary\)_12\%\)\]{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--surface\)_88\%\,var\(--accent-soft-primary\)_12\%\)\]{background-color:color-mix(in srgb,var(--surface) 88%,var(--accent-soft-primary) 12%)}}.bg-\[var\(--page-bg\)\]{background-color:var(--page-bg)}.bg-accent-danger{background-color:var(--color-accent-danger)}.bg-accent-secondary{background-color:var(--color-accent-secondary)}.bg-accent-soft-danger,.bg-accent-soft-danger\/40{background-color:var(--color-accent-soft-danger)}@supports (color:color-mix(in lab,red,red)){.bg-accent-soft-danger\/40{background-color:color-mix(in oklab,var(--color-accent-soft-danger) 40%,transparent)}}.bg-accent-soft-danger\/60{background-color:var(--color-accent-soft-danger)}@supports (color:color-mix(in lab,red,red)){.bg-accent-soft-danger\/60{background-color:color-mix(in oklab,var(--color-accent-soft-danger) 60%,transparent)}}.bg-accent-soft-danger\/70{background-color:var(--color-accent-soft-danger)}@supports (color:color-mix(in lab,red,red)){.bg-accent-soft-danger\/70{background-color:color-mix(in oklab,var(--color-accent-soft-danger) 70%,transparent)}}.bg-accent-soft-primary{background-color:var(--color-accent-soft-primary)}.bg-accent-soft-success{background-color:var(--color-accent-soft-success)}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.bg-black\/24{background-color:#0000003d}@supports (color:color-mix(in lab,red,red)){.bg-black\/24{background-color:color-mix(in oklab,var(--color-black) 24%,transparent)}}.bg-border-secondary{background-color:var(--color-border-secondary)}.bg-border-subtle{background-color:var(--color-border-subtle)}.bg-cta{background-color:var(--color-cta)}.bg-divider{background-color:var(--color-divider)}.bg-elevated,.bg-elevated\/60{background-color:var(--color-elevated)}@supports (color:color-mix(in lab,red,red)){.bg-elevated\/60{background-color:color-mix(in oklab,var(--color-elevated) 60%,transparent)}}.bg-emerald-500\/12{background-color:#00bb7f1f}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/12{background-color:color-mix(in oklab,var(--color-emerald-500) 12%,transparent)}}.bg-emphasis{background-color:var(--color-emphasis)}.bg-fg-default{background-color:var(--color-fg-default)}.bg-fg-placeholder{background-color:var(--color-fg-placeholder)}.bg-fg-secondary{background-color:var(--color-fg-secondary)}.bg-hover-subtle,.bg-hover-subtle\/40{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-hover-subtle\/40{background-color:color-mix(in oklab,var(--color-hover-subtle) 40%,transparent)}}.bg-hover-subtle\/50{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-hover-subtle\/50{background-color:color-mix(in oklab,var(--color-hover-subtle) 50%,transparent)}}.bg-hover-subtle\/55{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-hover-subtle\/55{background-color:color-mix(in oklab,var(--color-hover-subtle) 55%,transparent)}}.bg-hover-subtle\/60{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-hover-subtle\/60{background-color:color-mix(in oklab,var(--color-hover-subtle) 60%,transparent)}}.bg-hover-subtle\/75{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-hover-subtle\/75{background-color:color-mix(in oklab,var(--color-hover-subtle) 75%,transparent)}}.bg-muted,.bg-muted\/18{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/18{background-color:color-mix(in oklab,var(--color-muted) 18%,transparent)}}.bg-muted\/25{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/25{background-color:color-mix(in oklab,var(--color-muted) 25%,transparent)}}.bg-muted\/30{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--color-muted) 30%,transparent)}}.bg-muted\/40{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--color-muted) 40%,transparent)}}.bg-muted\/70{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/70{background-color:color-mix(in oklab,var(--color-muted) 70%,transparent)}}.bg-overlay{background-color:var(--color-overlay)}.bg-pastel-blue-200{background-color:var(--color-pastel-blue-200)}.bg-pastel-green-200{background-color:var(--color-pastel-green-200)}.bg-pastel-orange-200{background-color:var(--color-pastel-orange-200)}.bg-pastel-pink-200{background-color:var(--color-pastel-pink-200)}.bg-priority-high{background-color:var(--color-priority-high)}.bg-priority-low{background-color:var(--color-priority-low)}.bg-priority-medium{background-color:var(--color-priority-medium)}.bg-red-200{background-color:var(--color-red-200)}.bg-rose-500\/12{background-color:#ff23571f}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/12{background-color:color-mix(in oklab,var(--color-rose-500) 12%,transparent)}}.bg-sky-500\/12{background-color:#00a5ef1f}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/12{background-color:color-mix(in oklab,var(--color-sky-500) 12%,transparent)}}.bg-subtle,.bg-subtle\/30{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/30{background-color:color-mix(in oklab,var(--color-subtle) 30%,transparent)}}.bg-subtle\/35{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/35{background-color:color-mix(in oklab,var(--color-subtle) 35%,transparent)}}.bg-subtle\/40{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/40{background-color:color-mix(in oklab,var(--color-subtle) 40%,transparent)}}.bg-subtle\/45{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/45{background-color:color-mix(in oklab,var(--color-subtle) 45%,transparent)}}.bg-subtle\/50{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/50{background-color:color-mix(in oklab,var(--color-subtle) 50%,transparent)}}.bg-subtle\/65{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/65{background-color:color-mix(in oklab,var(--color-subtle) 65%,transparent)}}.bg-subtle\/70{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/70{background-color:color-mix(in oklab,var(--color-subtle) 70%,transparent)}}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.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\/55{background-color:#ffffff8c}@supports (color:color-mix(in lab,red,red)){.bg-white\/55{background-color:color-mix(in oklab,var(--color-white) 55%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[linear-gradient\(135deg\,\#f8fbff_0\%\,\#f1efff_54\%\,\#eafaf4_100\%\)\]{background-image:linear-gradient(135deg,#f8fbff,#f1efff 54%,#eafaf4)}.bg-\[linear-gradient\(135deg\,\#fffaf0_0\%\,\#eef7ff_58\%\,\#e7f6fb_100\%\)\]{background-image:linear-gradient(135deg,#fffaf0,#eef7ff 58%,#e7f6fb)}.from-pastel-lavender-200\/30{--tw-gradient-from:#c0b7c64d}@supports (color:color-mix(in lab,red,red)){.from-pastel-lavender-200\/30{--tw-gradient-from:color-mix(in oklab, var(--color-pastel-lavender-200) 30%, transparent)}}.from-pastel-lavender-200\/30{--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-pastel-yellow-200\/20{--tw-gradient-via:#d8c4a833}@supports (color:color-mix(in lab,red,red)){.via-pastel-yellow-200\/20{--tw-gradient-via:color-mix(in oklab, var(--color-pastel-yellow-200) 20%, transparent)}}.via-pastel-yellow-200\/20{--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-pastel-lavender-200\/30{--tw-gradient-to:#c0b7c64d}@supports (color:color-mix(in lab,red,red)){.to-pastel-lavender-200\/30{--tw-gradient-to:color-mix(in oklab, var(--color-pastel-lavender-200) 30%, transparent)}}.to-pastel-lavender-200\/30{--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))}.bg-\[length\:200\%_100\%\]{background-size:200% 100%}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-right-bottom{object-position:right bottom}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.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-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:calc(var(--spacing) * 0)}.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-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.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-5{padding-top:calc(var(--spacing) * 5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-44{padding-right:calc(var(--spacing) * 44)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-3\.5{padding-bottom:calc(var(--spacing) * 3.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-\[26px\]{padding-left:26px}.pl-\[40px\]{padding-left:40px}.pl-\[54px\]{padding-left:54px}.pl-\[68px\]{padding-left:68px}.pl-\[82px\]{padding-left:82px}.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-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--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-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-\[16px\]{--tw-leading:16px;line-height:16px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.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-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.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}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-success{color:var(--color-accent-success)}.text-black{color:var(--color-black)}.text-black\/55{color:#0000008c}@supports (color:color-mix(in lab,red,red)){.text-black\/55{color:color-mix(in oklab,var(--color-black) 55%,transparent)}}.text-current,.text-current\/70{color:currentColor}@supports (color:color-mix(in lab,red,red)){.text-current\/70{color:color-mix(in oklab,currentcolor 70%,transparent)}}.text-emerald-700{color:var(--color-emerald-700)}.text-fg-default,.text-fg-default\/70{color:var(--color-fg-default)}@supports (color:color-mix(in lab,red,red)){.text-fg-default\/70{color:color-mix(in oklab,var(--color-fg-default) 70%,transparent)}}.text-fg-disabled{color:var(--color-fg-disabled)}.text-fg-error{color:var(--color-fg-error)}.text-fg-muted{color:var(--color-fg-muted)}.text-fg-on-filled{color:var(--color-fg-on-filled)}.text-fg-placeholder{color:var(--color-fg-placeholder)}.text-fg-secondary{color:var(--color-fg-secondary)}.text-fg-tertiary,.text-fg-tertiary\/85{color:var(--color-fg-tertiary)}@supports (color:color-mix(in lab,red,red)){.text-fg-tertiary\/85{color:color-mix(in oklab,var(--color-fg-tertiary) 85%,transparent)}}.text-fg-weekend{color:var(--color-fg-weekend)}.text-red-700{color:var(--color-red-700)}.text-rose-700{color:var(--color-rose-700)}.text-sky-700{color:var(--color-sky-700)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.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,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-border-secondary{-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-cta{accent-color:var(--color-cta)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-95{opacity:.95}.shadow-\[0_8px_18px_-14px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 8px 18px -14px var(--tw-shadow-color,#00000073);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_18px_-14px_rgba\(23\,29\,38\,0\.32\)\]{--tw-shadow:0 8px 18px -14px var(--tw-shadow-color,#171d2652);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_18px_-16px_rgba\(15\,18\,24\,0\.28\)\]{--tw-shadow:0 8px 18px -16px var(--tw-shadow-color,#0f121847);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_18px_-18px_rgba\(15\,18\,24\,0\.28\)\]{--tw-shadow:0 8px 18px -18px var(--tw-shadow-color,#0f121847);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_12px_24px_-18px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 12px 24px -18px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_16px_36px_-24px_rgba\(15\,18\,24\,0\.24\)\]{--tw-shadow:0 16px 36px -24px var(--tw-shadow-color,#0f12183d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_44px_-28px_rgba\(15\,18\,24\,0\.28\)\]{--tw-shadow:0 18px 44px -28px var(--tw-shadow-color,#0f121847);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_22px_56px_-30px_rgba\(15\,18\,24\,0\.32\)\]{--tw-shadow:0 22px 56px -30px var(--tw-shadow-color,#0f121852);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_64px_-30px_rgba\(15\,18\,24\,0\.34\)\]{--tw-shadow:0 24px 64px -30px var(--tw-shadow-color,#0f121857);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_64px_-32px_rgba\(15\,18\,24\,0\.36\)\]{--tw-shadow:0 24px 64px -32px var(--tw-shadow-color,#0f12185c);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 2px 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)}.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,)}.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-\[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-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{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,box-shadow\]{transition-property:background-color,border-color,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}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[scrollbar-gutter\:stable\]{scrollbar-gutter:stable}.\[scrollbar-width\:none\]{scrollbar-width:none}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}@media(hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-\[1\.01\]:is(:where(.group):hover *){scale:1.01}.group-hover\:scale-\[1\.025\]:is(:where(.group):hover *){scale:1.025}.group-hover\:border-border-secondary\/70:is(:where(.group):hover *){border-color:var(--color-border-secondary)}@supports (color:color-mix(in lab,red,red)){.group-hover\:border-border-secondary\/70:is(:where(.group):hover *){border-color:color-mix(in oklab,var(--color-border-secondary) 70%,transparent)}}.group-hover\:bg-border-secondary:is(:where(.group):hover *){background-color:var(--color-border-secondary)}.group-hover\:bg-hover-subtle:is(:where(.group):hover *){background-color:var(--color-hover-subtle)}.group-hover\:text-fg-default:is(:where(.group):hover *){color:var(--color-fg-default)}.group-hover\:text-fg-secondary:is(:where(.group):hover *){color:var(--color-fg-secondary)}.group-hover\:opacity-90:is(:where(.group):hover *){opacity:.9}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-checked\:border-cta:is(:where(.peer):checked~*){border-color:var(--color-cta)}.peer-checked\:bg-cta:is(:where(.peer):checked~*){background-color:var(--color-cta)}.peer-focus-visible\:border-border-focus:is(:where(.peer):focus-visible~*){border-color:var(--color-border-focus)}.peer-focus-visible\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:is(:where(.peer):focus-visible~*){--tw-shadow:0 0 0 4px var(--tw-shadow-color,var(--accent-soft-primary))}@supports (color:color-mix(in lab,red,red)){.peer-focus-visible\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:is(:where(.peer):focus-visible~*){--tw-shadow:0 0 0 4px var(--tw-shadow-color,color-mix(in srgb,var(--accent-soft-primary) 90%,transparent))}}.peer-focus-visible\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:is(:where(.peer):focus-visible~*){box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.marker\:hidden ::marker{display:none}.marker\:hidden::marker{display:none}.marker\:hidden ::-webkit-details-marker{display:none}.marker\:hidden::-webkit-details-marker{display:none}.placeholder\:text-xs::placeholder{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.placeholder\:font-medium::placeholder{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-fg-placeholder::placeholder{color:var(--color-fg-placeholder)}.before\:mr-1:before{content:var(--tw-content);margin-right:calc(var(--spacing) * 1)}.before\:content-\[\"·\"\]:before{--tw-content:"·";content:var(--tw-content)}.after\:block:after{content:var(--tw-content);display:block}.after\:h-4:after{content:var(--tw-content);height:calc(var(--spacing) * 4)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:start:first-child{inset-inline-start:var(--spacing)}.first\:end:first-child{inset-inline-end:var(--spacing)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-border-focus:focus-within{border-color:var(--color-border-focus)}.focus-within\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:focus-within{--tw-shadow:0 0 0 4px var(--tw-shadow-color,var(--accent-soft-primary))}@supports (color:color-mix(in lab,red,red)){.focus-within\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:focus-within{--tw-shadow:0 0 0 4px var(--tw-shadow-color,color-mix(in srgb,var(--accent-soft-primary) 90%,transparent))}}.focus-within\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:focus-within{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@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\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-amber-300\/80:hover{border-color:#ffd236cc}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-300\/80:hover{border-color:color-mix(in oklab,var(--color-amber-300) 80%,transparent)}}.hover\:border-border-secondary:hover,.hover\:border-border-secondary\/70:hover{border-color:var(--color-border-secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-border-secondary\/70:hover{border-color:color-mix(in oklab,var(--color-border-secondary) 70%,transparent)}}.hover\:border-border-subtle:hover,.hover\:border-border-subtle\/80:hover{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.hover\:border-border-subtle\/80:hover{border-color:color-mix(in oklab,var(--color-border-subtle) 80%,transparent)}}.hover\:border-sky-300\/80:hover{border-color:#77d4ffcc}@supports (color:color-mix(in lab,red,red)){.hover\:border-sky-300\/80:hover{border-color:color-mix(in oklab,var(--color-sky-300) 80%,transparent)}}.hover\:bg-accent-danger-hover:hover{background-color:var(--color-accent-danger-hover)}.hover\:bg-accent-secondary-hover:hover{background-color:var(--color-accent-secondary-hover)}.hover\:bg-accent-soft-danger-hover:hover{background-color:var(--color-accent-soft-danger-hover)}.hover\:bg-accent-soft-success-hover:hover{background-color:var(--color-accent-soft-success-hover)}.hover\:bg-black\/34:hover{background-color:#00000057}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/34:hover{background-color:color-mix(in oklab,var(--color-black) 34%,transparent)}}.hover\:bg-cta-hover:hover{background-color:var(--color-cta-hover)}.hover\:bg-elevated:hover{background-color:var(--color-elevated)}.hover\:bg-hover:hover{background-color:var(--color-hover)}.hover\:bg-hover-subtle:hover,.hover\:bg-hover-subtle\/25:hover{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-hover-subtle\/25:hover{background-color:color-mix(in oklab,var(--color-hover-subtle) 25%,transparent)}}.hover\:bg-hover-subtle\/70:hover{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-hover-subtle\/70:hover{background-color:color-mix(in oklab,var(--color-hover-subtle) 70%,transparent)}}.hover\:bg-hover-subtle\/80:hover{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-hover-subtle\/80:hover{background-color:color-mix(in oklab,var(--color-hover-subtle) 80%,transparent)}}.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\:text-accent-primary:hover{color:var(--color-accent-primary)}.hover\:text-accent-success:hover{color:var(--color-accent-success)}.hover\:text-fg-default:hover,.hover\:text-fg-default\/85:hover{color:var(--color-fg-default)}@supports (color:color-mix(in lab,red,red)){.hover\:text-fg-default\/85:hover{color:color-mix(in oklab,var(--color-fg-default) 85%,transparent)}}.hover\:text-fg-error:hover{color:var(--color-fg-error)}.hover\:text-fg-secondary:hover{color:var(--color-fg-secondary)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-white\/90:hover{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/90:hover{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_18px_42px_-34px_rgba\(15\,23\,42\,0\.42\)\]:hover{--tw-shadow:0 18px 42px -34px var(--tw-shadow-color,#0f172a6b);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-hover-subtle:focus{background-color:var(--color-hover-subtle)}.focus\:text-accent-success:focus{color:var(--color-accent-success)}.focus\:text-fg-default:focus{color:var(--color-fg-default)}.focus\:text-fg-error:focus{color:var(--color-fg-error)}.focus\:text-white\/90:focus{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.focus\:text-white\/90:focus{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.focus\:opacity-100:focus,.focus-visible\:opacity-100:focus-visible{opacity:1}.active\:translate-y-px:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-accent-danger-hover:active{background-color:var(--color-accent-danger-hover)}.active\:bg-accent-secondary-hover:active{background-color:var(--color-accent-secondary-hover)}.active\:bg-accent-soft-danger-hover:active{background-color:var(--color-accent-soft-danger-hover)}.active\:bg-accent-soft-success-hover:active{background-color:var(--color-accent-soft-success-hover)}.active\:bg-active:active{background-color:var(--color-active)}.active\:bg-cta-hover:active{background-color:var(--color-cta-hover)}.active\:bg-hover:active{background-color:var(--color-hover)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.aria-expanded\:bg-hover-subtle[aria-expanded=true]{background-color:var(--color-hover-subtle)}.aria-expanded\:text-fg-default[aria-expanded=true]{color:var(--color-fg-default)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-hover-subtle[data-highlighted]{background-color:var(--color-hover-subtle)}.data-\[highlighted\]\:text-fg-default[data-highlighted]{color:var(--color-fg-default)}.data-\[state\=on\]\:border-border-secondary[data-state=on],.data-\[state\=on\]\:border-border-secondary\/70[data-state=on]{border-color:var(--color-border-secondary)}@supports (color:color-mix(in lab,red,red)){.data-\[state\=on\]\:border-border-secondary\/70[data-state=on]{border-color:color-mix(in oklab,var(--color-border-secondary) 70%,transparent)}}.data-\[state\=on\]\:bg-cta[data-state=on]{background-color:var(--color-cta)}.data-\[state\=on\]\:bg-elevated[data-state=on]{background-color:var(--color-elevated)}.data-\[state\=on\]\:text-fg-default[data-state=on]{color:var(--color-fg-default)}.data-\[state\=on\]\:text-fg-on-filled[data-state=on]{color:var(--color-fg-on-filled)}.data-\[state\=on\]\:shadow-\[0_8px_18px_-16px_rgba\(15\,18\,24\,0\.28\)\][data-state=on]{--tw-shadow:0 8px 18px -16px var(--tw-shadow-color,#0f121847);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\=open\]\:animate-fade-in[data-state=open]{animation:var(--animate-fade-in)}.data-\[state\=open\]\:animate-zoom-in[data-state=open]{animation:var(--animate-zoom-in)}.data-\[state\=open\]\:bg-hover-subtle[data-state=open]{background-color:var(--color-hover-subtle)}.data-\[state\=open\]\:text-fg-default[data-state=open]{color:var(--color-fg-default)}@media not all and (min-width:48rem){.max-md\:after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.max-md\:after\:absolute:after{content:var(--tw-content);position:absolute}.max-md\:after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.max-md\:after\:right-0:after{content:var(--tw-content);right:calc(var(--spacing) * 0)}.max-md\:after\:h-24:after{content:var(--tw-content);height:calc(var(--spacing) * 24)}.max-md\:after\:w-12:after{content:var(--tw-content);width:calc(var(--spacing) * 12)}.max-md\:after\:bg-\[linear-gradient\(to_right\,transparent\,var\(--page-bg\)\)\]:after{content:var(--tw-content);background-image:linear-gradient(to right,transparent,var(--page-bg))}.max-md\:after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}}@media(min-width:40rem){.sm\:mx-0{margin-inline:calc(var(--spacing) * 0)}.sm\:ml-10{margin-left:calc(var(--spacing) * 10)}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:w-auto{width:auto}.sm\:max-w-\[176px\]{max-width:176px}.sm\:max-w-\[480px\]{max-width:480px}.sm\:max-w-\[720px\]{max-width:720px}.sm\:shrink-0{flex-shrink:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[1fr_1fr_auto\]{grid-template-columns:1fr 1fr auto}.sm\:grid-cols-\[minmax\(0\,180px\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,180px) minmax(0,1fr) auto}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.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)}.sm\:self-auto{align-self:auto}.sm\:self-center{align-self:center}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-5{padding-block:calc(var(--spacing) * 5)}.sm\:py-6{padding-block:calc(var(--spacing) * 6)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:pr-48{padding-right:calc(var(--spacing) * 48)}.sm\:text-\[2\.15rem\]{font-size:2.15rem}.sm\:opacity-0{opacity:0}@media(hover:hover){.sm\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.sm\:focus-visible\:opacity-100:focus-visible{opacity:1}}@media(min-width:48rem){.md\:pointer-events-auto{pointer-events:auto}.md\:static{position:static}.md\:block{display:block}.md\:hidden{display:none}.md\:h-10{height:calc(var(--spacing) * 10)}.md\:h-\[520px\]{height:520px}.md\:w-10{width:calc(var(--spacing) * 10)}.md\:w-auto{width:auto}.md\:basis-auto{flex-basis:auto}.md\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.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-\[minmax\(0\,1fr\)_120px_120px_auto\]{grid-template-columns:minmax(0,1fr) 120px 120px auto}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(10\.5rem\,12rem\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(10.5rem,12rem) minmax(0,1fr) auto}.md\:items-center{align-items:center}.md\:justify-self-end{justify-self:flex-end}.md\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.md\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.md\:pb-0{padding-bottom:calc(var(--spacing) * 0)}}@media(min-width:64rem){.lg\:w-72{width:calc(var(--spacing) * 72)}.lg\:w-\[400px\]{width:400px}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:justify-end{justify-content:flex-end}}@media(min-width:80rem){.xl\:pointer-events-auto{pointer-events:auto}.xl\:visible{visibility:visible}.xl\:order-1{order:1}.xl\:order-2{order:2}.xl\:col-auto{grid-column:auto}.xl\:row-auto{grid-row:auto}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:h-\[min\(44rem\,calc\(100vh-10rem\)\)\]{height:min(44rem,100vh - 10rem)}.xl\:grid-cols-\[minmax\(0\,1fr\)_23rem\]{grid-template-columns:minmax(0,1fr) 23rem}}.dark\:border-amber-200\/20:where(html.dark *){border-color:#fee68533}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-200\/20:where(html.dark *){border-color:color-mix(in oklab,var(--color-amber-200) 20%,transparent)}}.dark\:border-sky-200\/20:where(html.dark *){border-color:#b8e6fe33}@supports (color:color-mix(in lab,red,red)){.dark\:border-sky-200\/20:where(html.dark *){border-color:color-mix(in oklab,var(--color-sky-200) 20%,transparent)}}.dark\:bg-\[color-mix\(in_srgb\,var\(--elevated\)_82\%\,var\(--hover-subtle\)\)\]:where(html.dark *){background-color:var(--elevated)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-\[color-mix\(in_srgb\,var\(--elevated\)_82\%\,var\(--hover-subtle\)\)\]:where(html.dark *){background-color:color-mix(in srgb,var(--elevated) 82%,var(--hover-subtle))}}.dark\:bg-emphasis:where(html.dark *),.dark\:bg-emphasis\/70:where(html.dark *){background-color:var(--color-emphasis)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emphasis\/70:where(html.dark *){background-color:color-mix(in oklab,var(--color-emphasis) 70%,transparent)}}.dark\:bg-white\/8:where(html.dark *){background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/8:where(html.dark *){background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.dark\:bg-\[linear-gradient\(135deg\,rgba\(23\,35\,52\,0\.72\)_0\%\,rgba\(35\,31\,62\,0\.62\)_54\%\,rgba\(20\,50\,39\,0\.58\)_100\%\)\]:where(html.dark *){background-image:linear-gradient(135deg,#172334b8,#231f3e9e 54%,#14322794)}.dark\:bg-\[linear-gradient\(135deg\,rgba\(44\,34\,18\,0\.58\)_0\%\,rgba\(20\,34\,48\,0\.72\)_58\%\,rgba\(19\,50\,62\,0\.62\)_100\%\)\]:where(html.dark *){background-image:linear-gradient(135deg,#2c221294,#142230b8 58%,#13323e9e)}.dark\:text-emerald-200:where(html.dark *){color:var(--color-emerald-200)}.dark\:text-rose-200:where(html.dark *){color:var(--color-rose-200)}.dark\:text-sky-200:where(html.dark *){color:var(--color-sky-200)}.dark\:brightness-\[0\.85\]:where(html.dark *){--tw-brightness:brightness(.85);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,)}.dark\:saturate-\[0\.9\]:where(html.dark *){--tw-saturate:saturate(.9);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,)}.\[\&_\.katex-display\]\:m-0 .katex-display{margin:calc(var(--spacing) * 0)}.\[\&_svg\]\:mx-auto svg{margin-inline:auto}.\[\&_svg\]\:block svg{display:block}.\[\&_svg\]\:h-auto svg{height:auto}.\[\&_svg\]\:max-h-\[min\(68vh\,640px\)\] svg{max-height:min(68vh,640px)}.\[\&_svg\]\:max-w-full svg{max-width:100%}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\:first-child\]\:-translate-x-\[3px\]>svg:first-child{--tw-translate-x: -3px ;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\:last-child\]\:translate-x-\[3px\]>svg:last-child{--tw-translate-x:3px;translate:var(--tw-translate-x) var(--tw-translate-y)}}@keyframes save-ring-spin{to{transform:rotate(360deg)}}:root{color-scheme:light;--surface:#f7f8fa;--muted:#f1f3f6;--subtle:#f8fafceb;--elevated:#fbfcfd;--emphasis:#e7ebf0;--hover:#1b1f250f;--hover-subtle:#1b1f2509;--active:#1b1f251a;--ghost:#1b1f250f;--fg:#151922;--fg-default:#202631;--fg-muted:#485160;--fg-secondary:#626d7c;--fg-tertiary:#8993a2;--fg-disabled:#bcc5d0;--fg-placeholder:#98a2b0;--fg-error:#a24545;--fg-on-accent:#f6f8fb;--fg-on-filled:#f6f8fb;--fg-weekend:#c24b62;--border:#a4acb8;--border-secondary:#c9d0d8;--border-subtle:#e5e9ee;--border-focus:#757f8d;--border-error:#d47777;--accent-primary:#5d6672;--accent-primary-hover:#4f5762;--accent-secondary:#5d6672;--accent-secondary-hover:#4f5762;--accent-danger:#b94a4a;--accent-danger-hover:#a53e3e;--accent-success:#7f9c94;--accent-success-hover:#6e8a82;--accent-soft-primary:#5d66721f;--accent-soft-primary-hover:#5d66722e;--accent-soft-danger:#d68d872e;--accent-soft-danger-hover:#d68d8742;--accent-soft-success:#7f9b862e;--accent-soft-success-hover:#7f9b8642;--cta:#23272d;--cta-hover:#171a1f;--overlay:#13181f5c;--highlight:#5d66721a;--highlight-fg:#202631;--divider:#d9e1e8;--page-bg:#f2f5f8}html.dark{color-scheme:dark;--surface:#16191e;--muted:#1b2026;--subtle:#20252db3;--elevated:#1d2229;--emphasis:#262c34;--hover:#eff3f712;--hover-subtle:#eff3f70a;--active:#eff3f71a;--ghost:#eff3f712;--fg:#eef2f7;--fg-default:#e6ebf2;--fg-muted:#c7cfdb;--fg-secondary:#a9b3c2;--fg-tertiary:#7f8998;--fg-disabled:#545d69;--fg-placeholder:#717b88;--fg-error:#efaaaa;--fg-on-accent:#12161c;--fg-on-filled:#12161c;--fg-weekend:#f19aa9;--border:#48515d;--border-secondary:#5a6471;--border-subtle:#29303a;--border-focus:#b4c0cf;--border-error:#efaaaa;--accent-primary:#b8c0ca;--accent-primary-hover:#c9d0d8;--accent-secondary:#b8c0ca;--accent-secondary-hover:#c9d0d8;--accent-danger:#d36f6f;--accent-danger-hover:#e08383;--accent-success:#90aea4;--accent-success-hover:#a4c0b7;--accent-soft-primary:#b8c0ca1f;--accent-soft-primary-hover:#b8c0ca2e;--accent-soft-danger:#d7928b24;--accent-soft-danger-hover:#d7928b38;--accent-soft-success:#88a99524;--accent-soft-success-hover:#88a99538;--cta:#edf1f5;--cta-hover:#f8fafc;--overlay:#080c108f;--highlight:#b8c0ca1f;--highlight-fg:#eef2f7;--divider:#2b3440;--page-bg:#101318}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes zoom-in{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes zoom-out{0%{transform:scale(1)}to{transform:scale(.95)}}@keyframes slide-in-from-top{0%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes slide-in-from-bottom{0%{transform:translateY(8px)}to{transform:translateY(0)}}@keyframes slide-in-from-left{0%{transform:translate(-8px)}to{transform:translate(0)}}@keyframes slide-in-from-right{0%{transform:translate(8px)}to{transform:translate(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rounded-sketchy-xs{border-radius:6px}.rounded-sketchy-sm{border-radius:10px}.rounded-sketchy-md{border-radius:14px}.rounded-sketchy-lg{border-radius:18px}.rounded-sketchy-xl{border-radius:28px}.sketchy{border:1px solid var(--border);border-radius:18px}.sketchy-sm{border:1px solid var(--border);border-radius:12px}.sketchy-hover:hover{border-radius:18px}.text-display{font-size:1.375rem;line-height:1.3}.text-heading{font-size:1.125rem;line-height:1.4}.text-subheading{font-size:1rem;line-height:1.5}.text-body{font-size:1rem;line-height:1.6}.text-meta{font-size:.875rem;line-height:1.5}.text-label{font-size:.75rem;line-height:1.4}.text-micro{font-size:.625rem;line-height:1.4}.surface-base{background:var(--surface);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:inset 0 1px #ffffff1a,0 1px 4px -2px #171d260a}.surface-elevated,.surface-floating{background:var(--elevated)}@supports (color:color-mix(in lab,red,red)){.surface-floating{background:color-mix(in srgb,var(--elevated) 90%,transparent)}}.surface-floating{border:1px solid var(--border-secondary)}@supports (color:color-mix(in lab,red,red)){.surface-floating{border:1px solid color-mix(in srgb,var(--border-secondary) 45%,transparent)}}.surface-floating{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;box-shadow:0 12px 24px -22px #171d2624}.focus-ring-soft:focus-visible{box-shadow:0 0 0 4px var(--accent-soft-primary);outline:none}@supports (color:color-mix(in lab,red,red)){.focus-ring-soft:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-soft-primary) 90%,transparent)}}.focus-ring-soft:focus-visible{border-color:var(--border-focus)}html.dark .surface-base{box-shadow:inset 0 1px #ffffff08,0 1px 4px -2px #0000002e}.grid-auto-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid-search-bar{grid-template-columns:32px 1fr 24px}.progress-fill{width:var(--progress-width)}.save-progress-ring{--save-progress:100%;--save-ring-color:var(--border-secondary);background:conic-gradient(from -90deg,var(--save-ring-color) var(--save-progress),var(--hover-subtle) 0)}.save-progress-ring-active{--save-progress:28%;--save-ring-color:var(--accent-primary);animation:.8s linear infinite save-ring-spin}.save-progress-ring-complete{--save-progress:100%;--save-ring-color:var(--accent-success)}.save-progress-ring-error{--save-progress:100%;--save-ring-color:var(--accent-danger)}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.save-progress-ring-active{--save-progress:100%;animation:none}}.skeleton-sized{width:var(--skeleton-width,auto);height:var(--skeleton-height,30px);opacity:var(--skeleton-opacity,1)}.graph-canvas{background:var(--graph-bg);-webkit-user-select:none;user-select:none}.legend-dot{background:var(--legend-color)}html.dark .surface-floating{box-shadow:0 18px 36px -28px #0000006b}@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-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-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-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}