@xleddyl/nuxt-cms 0.4.4 → 0.5.1

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 (471) hide show
  1. package/README.md +1 -1
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +22 -7
  4. package/dist/runtime/app/components/cms/BlockOutline.vue +56 -67
  5. package/dist/runtime/app/components/cms/BlockPalette.vue +3 -1
  6. package/dist/runtime/app/components/cms/BlocksField.vue +155 -149
  7. package/dist/runtime/app/components/cms/BrandMark.d.vue.ts +3 -1
  8. package/dist/runtime/app/components/cms/BrandMark.vue +24 -25
  9. package/dist/runtime/app/components/cms/BrandMark.vue.d.ts +3 -1
  10. package/dist/runtime/app/components/cms/{Checkbox.d.vue.ts → ConfirmGroups.d.vue.ts} +4 -4
  11. package/dist/runtime/app/components/cms/ConfirmGroups.vue +22 -0
  12. package/dist/runtime/app/components/cms/{Checkbox.vue.d.ts → ConfirmGroups.vue.d.ts} +4 -4
  13. package/dist/runtime/app/components/cms/EntryDrawer.d.vue.ts +2 -2
  14. package/dist/runtime/app/components/cms/EntryDrawer.vue +62 -47
  15. package/dist/runtime/app/components/cms/EntryDrawer.vue.d.ts +2 -2
  16. package/dist/runtime/app/components/cms/EntryForm.vue +100 -95
  17. package/dist/runtime/app/components/cms/FieldInput.vue +56 -32
  18. package/dist/runtime/app/components/cms/ImportModal.d.vue.ts +2 -2
  19. package/dist/runtime/app/components/cms/ImportModal.vue +80 -79
  20. package/dist/runtime/app/components/cms/ImportModal.vue.d.ts +2 -2
  21. package/dist/runtime/app/components/cms/JsonField.vue +17 -8
  22. package/dist/runtime/app/components/cms/ListFilters.vue +54 -63
  23. package/dist/runtime/app/components/cms/LocaleSwitch.vue +21 -18
  24. package/dist/runtime/app/components/cms/MediaDetail.vue +110 -72
  25. package/dist/runtime/app/components/cms/MediaField.vue +37 -29
  26. package/dist/runtime/app/components/cms/MediaFolderPicker.d.vue.ts +1 -0
  27. package/dist/runtime/app/components/cms/MediaFolderPicker.vue +77 -49
  28. package/dist/runtime/app/components/cms/MediaFolderPicker.vue.d.ts +1 -0
  29. package/dist/runtime/app/components/cms/MediaGallery.vue +300 -323
  30. package/dist/runtime/app/components/cms/MediaThumb.vue +7 -2
  31. package/dist/runtime/app/components/cms/MediaUpload.vue +37 -70
  32. package/dist/runtime/app/components/cms/RelationField.vue +23 -71
  33. package/dist/runtime/app/components/cms/RichTextField.vue +23 -177
  34. package/dist/runtime/app/components/cms/SettingsAccount.vue +96 -104
  35. package/dist/runtime/app/components/cms/SettingsColumns.vue +7 -6
  36. package/dist/runtime/app/components/cms/SettingsEntry.d.vue.ts +10 -1
  37. package/dist/runtime/app/components/cms/SettingsEntry.vue +35 -52
  38. package/dist/runtime/app/components/cms/SettingsEntry.vue.d.ts +10 -1
  39. package/dist/runtime/app/components/cms/SettingsLayout.vue +7 -4
  40. package/dist/runtime/app/components/cms/SettingsModal.d.vue.ts +0 -4
  41. package/dist/runtime/app/components/cms/SettingsModal.vue +102 -151
  42. package/dist/runtime/app/components/cms/SettingsModal.vue.d.ts +0 -4
  43. package/dist/runtime/app/components/cms/SettingsUsers.d.vue.ts +8 -1
  44. package/dist/runtime/app/components/cms/SettingsUsers.vue +182 -189
  45. package/dist/runtime/app/components/cms/SettingsUsers.vue.d.ts +8 -1
  46. package/dist/runtime/app/components/cms/SlugField.vue +9 -6
  47. package/dist/runtime/app/components/cms/StatusBadge.vue +7 -6
  48. package/dist/runtime/app/components/cms/TranslatableField.vue +11 -6
  49. package/dist/runtime/app/components/cms/VisualEditor.vue +243 -282
  50. package/dist/runtime/app/components/cms/WelcomeModal.vue +49 -41
  51. package/dist/runtime/app/composables/cms-confirm.d.ts +0 -6
  52. package/dist/runtime/app/composables/cms-confirm.js +13 -13
  53. package/dist/runtime/app/composables/cms-media-uploader.d.ts +4 -0
  54. package/dist/runtime/app/composables/cms-media-uploader.js +12 -40
  55. package/dist/runtime/app/composables/cms-theme.d.ts +3 -9
  56. package/dist/runtime/app/composables/cms-theme.js +1 -19
  57. package/dist/runtime/app/composables/cms-toast.d.ts +3 -4
  58. package/dist/runtime/app/composables/cms-toast.js +6 -13
  59. package/dist/runtime/app/layouts/cms-admin.d.vue.ts +2 -2
  60. package/dist/runtime/app/layouts/cms-admin.vue +184 -113
  61. package/dist/runtime/app/layouts/cms-admin.vue.d.ts +2 -2
  62. package/dist/runtime/app/layouts/cms-editor.d.vue.ts +2 -2
  63. package/dist/runtime/app/layouts/cms-editor.vue +9 -4
  64. package/dist/runtime/app/layouts/cms-editor.vue.d.ts +2 -2
  65. package/dist/runtime/app/pages/admin-collection.vue +178 -143
  66. package/dist/runtime/app/pages/admin-content.vue +35 -30
  67. package/dist/runtime/app/pages/admin-entry.vue +14 -9
  68. package/dist/runtime/app/pages/admin-login.vue +57 -54
  69. package/dist/runtime/app/pages/admin-media.vue +6 -4
  70. package/dist/runtime/app/pages/admin-preview.vue +3 -2
  71. package/dist/runtime/app/preview/PreviewOverlay.vue +9 -7
  72. package/dist/runtime/app/utils/ui.d.ts +1 -3
  73. package/dist/runtime/app/utils/ui.js +4 -2
  74. package/dist/runtime/assets/editor.css +1 -0
  75. package/dist/runtime/assets/main.css +1 -1
  76. package/dist/runtime/assets/media.css +1 -0
  77. package/dist/runtime/assets/shell.css +1 -0
  78. package/package.json +9 -8
  79. package/dist/runtime/app/components/cms/Alert.d.vue.ts +0 -17
  80. package/dist/runtime/app/components/cms/Alert.vue +0 -13
  81. package/dist/runtime/app/components/cms/Alert.vue.d.ts +0 -17
  82. package/dist/runtime/app/components/cms/Button.d.vue.ts +0 -26
  83. package/dist/runtime/app/components/cms/Button.vue +0 -48
  84. package/dist/runtime/app/components/cms/Button.vue.d.ts +0 -26
  85. package/dist/runtime/app/components/cms/Checkbox.vue +0 -21
  86. package/dist/runtime/app/components/cms/ConfirmModal.d.vue.ts +0 -3
  87. package/dist/runtime/app/components/cms/ConfirmModal.vue +0 -46
  88. package/dist/runtime/app/components/cms/ConfirmModal.vue.d.ts +0 -3
  89. package/dist/runtime/app/components/cms/Drawer.d.vue.ts +0 -30
  90. package/dist/runtime/app/components/cms/Drawer.vue +0 -61
  91. package/dist/runtime/app/components/cms/Drawer.vue.d.ts +0 -30
  92. package/dist/runtime/app/components/cms/DropdownMenu.d.vue.ts +0 -26
  93. package/dist/runtime/app/components/cms/DropdownMenu.vue +0 -48
  94. package/dist/runtime/app/components/cms/DropdownMenu.vue.d.ts +0 -26
  95. package/dist/runtime/app/components/cms/EmptyState.d.vue.ts +0 -19
  96. package/dist/runtime/app/components/cms/EmptyState.vue +0 -21
  97. package/dist/runtime/app/components/cms/EmptyState.vue.d.ts +0 -19
  98. package/dist/runtime/app/components/cms/Form.d.vue.ts +0 -37
  99. package/dist/runtime/app/components/cms/Form.vue +0 -63
  100. package/dist/runtime/app/components/cms/Form.vue.d.ts +0 -37
  101. package/dist/runtime/app/components/cms/FormField.d.vue.ts +0 -22
  102. package/dist/runtime/app/components/cms/FormField.vue +0 -35
  103. package/dist/runtime/app/components/cms/FormField.vue.d.ts +0 -22
  104. package/dist/runtime/app/components/cms/Icon.d.vue.ts +0 -6
  105. package/dist/runtime/app/components/cms/Icon.vue +0 -23
  106. package/dist/runtime/app/components/cms/Icon.vue.d.ts +0 -6
  107. package/dist/runtime/app/components/cms/Input.d.vue.ts +0 -27
  108. package/dist/runtime/app/components/cms/Input.vue +0 -46
  109. package/dist/runtime/app/components/cms/Input.vue.d.ts +0 -27
  110. package/dist/runtime/app/components/cms/Modal.d.vue.ts +0 -31
  111. package/dist/runtime/app/components/cms/Modal.vue +0 -49
  112. package/dist/runtime/app/components/cms/Modal.vue.d.ts +0 -31
  113. package/dist/runtime/app/components/cms/PageHeader.d.vue.ts +0 -25
  114. package/dist/runtime/app/components/cms/PageHeader.vue +0 -36
  115. package/dist/runtime/app/components/cms/PageHeader.vue.d.ts +0 -25
  116. package/dist/runtime/app/components/cms/Pagination.d.vue.ts +0 -15
  117. package/dist/runtime/app/components/cms/Pagination.vue +0 -51
  118. package/dist/runtime/app/components/cms/Pagination.vue.d.ts +0 -15
  119. package/dist/runtime/app/components/cms/PasswordInput.d.vue.ts +0 -17
  120. package/dist/runtime/app/components/cms/PasswordInput.vue +0 -81
  121. package/dist/runtime/app/components/cms/PasswordInput.vue.d.ts +0 -17
  122. package/dist/runtime/app/components/cms/Popover.d.vue.ts +0 -22
  123. package/dist/runtime/app/components/cms/Popover.vue +0 -27
  124. package/dist/runtime/app/components/cms/Popover.vue.d.ts +0 -22
  125. package/dist/runtime/app/components/cms/Search.d.vue.ts +0 -7
  126. package/dist/runtime/app/components/cms/Search.vue +0 -347
  127. package/dist/runtime/app/components/cms/Search.vue.d.ts +0 -7
  128. package/dist/runtime/app/components/cms/SelectMenu.d.vue.ts +0 -25
  129. package/dist/runtime/app/components/cms/SelectMenu.vue +0 -152
  130. package/dist/runtime/app/components/cms/SelectMenu.vue.d.ts +0 -25
  131. package/dist/runtime/app/components/cms/Spinner.d.vue.ts +0 -3
  132. package/dist/runtime/app/components/cms/Spinner.vue +0 -5
  133. package/dist/runtime/app/components/cms/Spinner.vue.d.ts +0 -3
  134. package/dist/runtime/app/components/cms/Switch.d.vue.ts +0 -10
  135. package/dist/runtime/app/components/cms/Switch.vue +0 -14
  136. package/dist/runtime/app/components/cms/Switch.vue.d.ts +0 -10
  137. package/dist/runtime/app/components/cms/Table.d.vue.ts +0 -51
  138. package/dist/runtime/app/components/cms/Table.vue +0 -115
  139. package/dist/runtime/app/components/cms/Table.vue.d.ts +0 -51
  140. package/dist/runtime/app/components/cms/Textarea.d.vue.ts +0 -15
  141. package/dist/runtime/app/components/cms/Textarea.vue +0 -16
  142. package/dist/runtime/app/components/cms/Textarea.vue.d.ts +0 -15
  143. package/dist/runtime/app/components/cms/Toaster.d.vue.ts +0 -3
  144. package/dist/runtime/app/components/cms/Toaster.vue +0 -48
  145. package/dist/runtime/app/components/cms/Toaster.vue.d.ts +0 -3
  146. package/dist/runtime/app/composables/cms-overlay.d.ts +0 -4
  147. package/dist/runtime/app/composables/cms-overlay.js +0 -23
  148. package/dist/runtime/assets/svg/academic-cap.svg +0 -3
  149. package/dist/runtime/assets/svg/adjustments-horizontal.svg +0 -3
  150. package/dist/runtime/assets/svg/adjustments-vertical.svg +0 -3
  151. package/dist/runtime/assets/svg/archive-box-arrow-down.svg +0 -3
  152. package/dist/runtime/assets/svg/archive-box-x-mark.svg +0 -3
  153. package/dist/runtime/assets/svg/archive-box.svg +0 -3
  154. package/dist/runtime/assets/svg/arrow-down-circle.svg +0 -3
  155. package/dist/runtime/assets/svg/arrow-down-left.svg +0 -3
  156. package/dist/runtime/assets/svg/arrow-down-on-square-stack.svg +0 -3
  157. package/dist/runtime/assets/svg/arrow-down-on-square.svg +0 -3
  158. package/dist/runtime/assets/svg/arrow-down-right.svg +0 -3
  159. package/dist/runtime/assets/svg/arrow-down-tray.svg +0 -3
  160. package/dist/runtime/assets/svg/arrow-down.svg +0 -3
  161. package/dist/runtime/assets/svg/arrow-left-circle.svg +0 -3
  162. package/dist/runtime/assets/svg/arrow-left-end-on-rectangle.svg +0 -3
  163. package/dist/runtime/assets/svg/arrow-left-on-rectangle.svg +0 -3
  164. package/dist/runtime/assets/svg/arrow-left-start-on-rectangle.svg +0 -3
  165. package/dist/runtime/assets/svg/arrow-left.svg +0 -3
  166. package/dist/runtime/assets/svg/arrow-long-down.svg +0 -3
  167. package/dist/runtime/assets/svg/arrow-long-left.svg +0 -3
  168. package/dist/runtime/assets/svg/arrow-long-right.svg +0 -3
  169. package/dist/runtime/assets/svg/arrow-long-up.svg +0 -3
  170. package/dist/runtime/assets/svg/arrow-path-rounded-square.svg +0 -3
  171. package/dist/runtime/assets/svg/arrow-path.svg +0 -3
  172. package/dist/runtime/assets/svg/arrow-right-circle.svg +0 -3
  173. package/dist/runtime/assets/svg/arrow-right-end-on-rectangle.svg +0 -3
  174. package/dist/runtime/assets/svg/arrow-right-on-rectangle.svg +0 -3
  175. package/dist/runtime/assets/svg/arrow-right-start-on-rectangle.svg +0 -3
  176. package/dist/runtime/assets/svg/arrow-right.svg +0 -3
  177. package/dist/runtime/assets/svg/arrow-small-down.svg +0 -3
  178. package/dist/runtime/assets/svg/arrow-small-left.svg +0 -3
  179. package/dist/runtime/assets/svg/arrow-small-right.svg +0 -3
  180. package/dist/runtime/assets/svg/arrow-small-up.svg +0 -3
  181. package/dist/runtime/assets/svg/arrow-top-right-on-square.svg +0 -3
  182. package/dist/runtime/assets/svg/arrow-trending-down.svg +0 -3
  183. package/dist/runtime/assets/svg/arrow-trending-up.svg +0 -3
  184. package/dist/runtime/assets/svg/arrow-turn-down-left.svg +0 -3
  185. package/dist/runtime/assets/svg/arrow-turn-down-right.svg +0 -3
  186. package/dist/runtime/assets/svg/arrow-turn-left-down.svg +0 -3
  187. package/dist/runtime/assets/svg/arrow-turn-left-up.svg +0 -3
  188. package/dist/runtime/assets/svg/arrow-turn-right-down.svg +0 -3
  189. package/dist/runtime/assets/svg/arrow-turn-right-up.svg +0 -3
  190. package/dist/runtime/assets/svg/arrow-turn-up-left.svg +0 -3
  191. package/dist/runtime/assets/svg/arrow-turn-up-right.svg +0 -3
  192. package/dist/runtime/assets/svg/arrow-up-circle.svg +0 -3
  193. package/dist/runtime/assets/svg/arrow-up-left.svg +0 -3
  194. package/dist/runtime/assets/svg/arrow-up-on-square-stack.svg +0 -3
  195. package/dist/runtime/assets/svg/arrow-up-on-square.svg +0 -3
  196. package/dist/runtime/assets/svg/arrow-up-right.svg +0 -3
  197. package/dist/runtime/assets/svg/arrow-up-tray.svg +0 -3
  198. package/dist/runtime/assets/svg/arrow-up.svg +0 -3
  199. package/dist/runtime/assets/svg/arrow-uturn-down.svg +0 -3
  200. package/dist/runtime/assets/svg/arrow-uturn-left.svg +0 -3
  201. package/dist/runtime/assets/svg/arrow-uturn-right.svg +0 -3
  202. package/dist/runtime/assets/svg/arrow-uturn-up.svg +0 -3
  203. package/dist/runtime/assets/svg/arrows-pointing-in.svg +0 -3
  204. package/dist/runtime/assets/svg/arrows-pointing-out.svg +0 -3
  205. package/dist/runtime/assets/svg/arrows-right-left.svg +0 -3
  206. package/dist/runtime/assets/svg/arrows-up-down.svg +0 -3
  207. package/dist/runtime/assets/svg/at-symbol.svg +0 -3
  208. package/dist/runtime/assets/svg/backspace.svg +0 -3
  209. package/dist/runtime/assets/svg/backward.svg +0 -3
  210. package/dist/runtime/assets/svg/banknotes.svg +0 -3
  211. package/dist/runtime/assets/svg/bars-2.svg +0 -3
  212. package/dist/runtime/assets/svg/bars-3-bottom-left.svg +0 -3
  213. package/dist/runtime/assets/svg/bars-3-bottom-right.svg +0 -3
  214. package/dist/runtime/assets/svg/bars-3-center-left.svg +0 -3
  215. package/dist/runtime/assets/svg/bars-3.svg +0 -3
  216. package/dist/runtime/assets/svg/bars-4.svg +0 -3
  217. package/dist/runtime/assets/svg/bars-arrow-down.svg +0 -3
  218. package/dist/runtime/assets/svg/bars-arrow-up.svg +0 -3
  219. package/dist/runtime/assets/svg/battery-0.svg +0 -3
  220. package/dist/runtime/assets/svg/battery-100.svg +0 -3
  221. package/dist/runtime/assets/svg/battery-50.svg +0 -3
  222. package/dist/runtime/assets/svg/beaker.svg +0 -3
  223. package/dist/runtime/assets/svg/bell-alert.svg +0 -3
  224. package/dist/runtime/assets/svg/bell-slash.svg +0 -3
  225. package/dist/runtime/assets/svg/bell-snooze.svg +0 -3
  226. package/dist/runtime/assets/svg/bell.svg +0 -3
  227. package/dist/runtime/assets/svg/bold.svg +0 -3
  228. package/dist/runtime/assets/svg/bolt-slash.svg +0 -3
  229. package/dist/runtime/assets/svg/bolt.svg +0 -3
  230. package/dist/runtime/assets/svg/book-open.svg +0 -3
  231. package/dist/runtime/assets/svg/bookmark-slash.svg +0 -3
  232. package/dist/runtime/assets/svg/bookmark-square.svg +0 -3
  233. package/dist/runtime/assets/svg/bookmark.svg +0 -3
  234. package/dist/runtime/assets/svg/briefcase.svg +0 -3
  235. package/dist/runtime/assets/svg/bug-ant.svg +0 -3
  236. package/dist/runtime/assets/svg/building-library.svg +0 -3
  237. package/dist/runtime/assets/svg/building-office-2.svg +0 -3
  238. package/dist/runtime/assets/svg/building-office.svg +0 -3
  239. package/dist/runtime/assets/svg/building-storefront.svg +0 -3
  240. package/dist/runtime/assets/svg/cake.svg +0 -3
  241. package/dist/runtime/assets/svg/calculator.svg +0 -3
  242. package/dist/runtime/assets/svg/calendar-date-range.svg +0 -3
  243. package/dist/runtime/assets/svg/calendar-days.svg +0 -3
  244. package/dist/runtime/assets/svg/calendar.svg +0 -3
  245. package/dist/runtime/assets/svg/camera.svg +0 -4
  246. package/dist/runtime/assets/svg/chart-bar-square.svg +0 -3
  247. package/dist/runtime/assets/svg/chart-bar.svg +0 -3
  248. package/dist/runtime/assets/svg/chart-pie.svg +0 -4
  249. package/dist/runtime/assets/svg/chat-bubble-bottom-center-text.svg +0 -3
  250. package/dist/runtime/assets/svg/chat-bubble-bottom-center.svg +0 -3
  251. package/dist/runtime/assets/svg/chat-bubble-left-ellipsis.svg +0 -3
  252. package/dist/runtime/assets/svg/chat-bubble-left-right.svg +0 -3
  253. package/dist/runtime/assets/svg/chat-bubble-left.svg +0 -3
  254. package/dist/runtime/assets/svg/chat-bubble-oval-left-ellipsis.svg +0 -3
  255. package/dist/runtime/assets/svg/chat-bubble-oval-left.svg +0 -3
  256. package/dist/runtime/assets/svg/check-badge.svg +0 -3
  257. package/dist/runtime/assets/svg/check-circle.svg +0 -3
  258. package/dist/runtime/assets/svg/check.svg +0 -3
  259. package/dist/runtime/assets/svg/chevron-double-down.svg +0 -3
  260. package/dist/runtime/assets/svg/chevron-double-left.svg +0 -3
  261. package/dist/runtime/assets/svg/chevron-double-right.svg +0 -3
  262. package/dist/runtime/assets/svg/chevron-double-up.svg +0 -4
  263. package/dist/runtime/assets/svg/chevron-down.svg +0 -3
  264. package/dist/runtime/assets/svg/chevron-left.svg +0 -3
  265. package/dist/runtime/assets/svg/chevron-right.svg +0 -3
  266. package/dist/runtime/assets/svg/chevron-up-down.svg +0 -3
  267. package/dist/runtime/assets/svg/chevron-up.svg +0 -3
  268. package/dist/runtime/assets/svg/circle-stack.svg +0 -3
  269. package/dist/runtime/assets/svg/clipboard-document-check.svg +0 -3
  270. package/dist/runtime/assets/svg/clipboard-document-list.svg +0 -3
  271. package/dist/runtime/assets/svg/clipboard-document.svg +0 -3
  272. package/dist/runtime/assets/svg/clipboard.svg +0 -3
  273. package/dist/runtime/assets/svg/clock.svg +0 -3
  274. package/dist/runtime/assets/svg/cloud-arrow-down.svg +0 -3
  275. package/dist/runtime/assets/svg/cloud-arrow-up.svg +0 -3
  276. package/dist/runtime/assets/svg/cloud.svg +0 -3
  277. package/dist/runtime/assets/svg/code-bracket-square.svg +0 -3
  278. package/dist/runtime/assets/svg/code-bracket.svg +0 -3
  279. package/dist/runtime/assets/svg/cog-6-tooth.svg +0 -4
  280. package/dist/runtime/assets/svg/cog-8-tooth.svg +0 -4
  281. package/dist/runtime/assets/svg/cog.svg +0 -3
  282. package/dist/runtime/assets/svg/command-line.svg +0 -3
  283. package/dist/runtime/assets/svg/computer-desktop.svg +0 -3
  284. package/dist/runtime/assets/svg/cpu-chip.svg +0 -3
  285. package/dist/runtime/assets/svg/credit-card.svg +0 -3
  286. package/dist/runtime/assets/svg/cube-transparent.svg +0 -3
  287. package/dist/runtime/assets/svg/cube.svg +0 -3
  288. package/dist/runtime/assets/svg/currency-bangladeshi.svg +0 -3
  289. package/dist/runtime/assets/svg/currency-dollar.svg +0 -3
  290. package/dist/runtime/assets/svg/currency-euro.svg +0 -3
  291. package/dist/runtime/assets/svg/currency-pound.svg +0 -3
  292. package/dist/runtime/assets/svg/currency-rupee.svg +0 -3
  293. package/dist/runtime/assets/svg/currency-yen.svg +0 -3
  294. package/dist/runtime/assets/svg/cursor-arrow-rays.svg +0 -3
  295. package/dist/runtime/assets/svg/cursor-arrow-ripple.svg +0 -3
  296. package/dist/runtime/assets/svg/device-phone-mobile.svg +0 -3
  297. package/dist/runtime/assets/svg/device-tablet.svg +0 -3
  298. package/dist/runtime/assets/svg/divide.svg +0 -3
  299. package/dist/runtime/assets/svg/document-arrow-down.svg +0 -3
  300. package/dist/runtime/assets/svg/document-arrow-up.svg +0 -3
  301. package/dist/runtime/assets/svg/document-chart-bar.svg +0 -3
  302. package/dist/runtime/assets/svg/document-check.svg +0 -3
  303. package/dist/runtime/assets/svg/document-currency-bangladeshi.svg +0 -3
  304. package/dist/runtime/assets/svg/document-currency-dollar.svg +0 -3
  305. package/dist/runtime/assets/svg/document-currency-euro.svg +0 -3
  306. package/dist/runtime/assets/svg/document-currency-pound.svg +0 -3
  307. package/dist/runtime/assets/svg/document-currency-rupee.svg +0 -3
  308. package/dist/runtime/assets/svg/document-currency-yen.svg +0 -3
  309. package/dist/runtime/assets/svg/document-duplicate.svg +0 -3
  310. package/dist/runtime/assets/svg/document-magnifying-glass.svg +0 -3
  311. package/dist/runtime/assets/svg/document-minus.svg +0 -3
  312. package/dist/runtime/assets/svg/document-plus.svg +0 -3
  313. package/dist/runtime/assets/svg/document-text.svg +0 -3
  314. package/dist/runtime/assets/svg/document.svg +0 -3
  315. package/dist/runtime/assets/svg/ellipsis-horizontal-circle.svg +0 -3
  316. package/dist/runtime/assets/svg/ellipsis-horizontal.svg +0 -3
  317. package/dist/runtime/assets/svg/ellipsis-vertical.svg +0 -3
  318. package/dist/runtime/assets/svg/envelope-open.svg +0 -3
  319. package/dist/runtime/assets/svg/envelope.svg +0 -3
  320. package/dist/runtime/assets/svg/equals.svg +0 -3
  321. package/dist/runtime/assets/svg/exclamation-circle.svg +0 -3
  322. package/dist/runtime/assets/svg/exclamation-triangle.svg +0 -3
  323. package/dist/runtime/assets/svg/eye-dropper.svg +0 -3
  324. package/dist/runtime/assets/svg/eye-slash.svg +0 -3
  325. package/dist/runtime/assets/svg/eye.svg +0 -4
  326. package/dist/runtime/assets/svg/face-frown.svg +0 -3
  327. package/dist/runtime/assets/svg/face-smile.svg +0 -3
  328. package/dist/runtime/assets/svg/film.svg +0 -3
  329. package/dist/runtime/assets/svg/finger-print.svg +0 -3
  330. package/dist/runtime/assets/svg/fire.svg +0 -4
  331. package/dist/runtime/assets/svg/flag.svg +0 -3
  332. package/dist/runtime/assets/svg/folder-arrow-down.svg +0 -3
  333. package/dist/runtime/assets/svg/folder-minus.svg +0 -3
  334. package/dist/runtime/assets/svg/folder-open.svg +0 -3
  335. package/dist/runtime/assets/svg/folder-plus.svg +0 -3
  336. package/dist/runtime/assets/svg/folder.svg +0 -3
  337. package/dist/runtime/assets/svg/forward.svg +0 -3
  338. package/dist/runtime/assets/svg/funnel.svg +0 -3
  339. package/dist/runtime/assets/svg/gif.svg +0 -3
  340. package/dist/runtime/assets/svg/gift-top.svg +0 -3
  341. package/dist/runtime/assets/svg/gift.svg +0 -3
  342. package/dist/runtime/assets/svg/globe-alt.svg +0 -3
  343. package/dist/runtime/assets/svg/globe-americas.svg +0 -3
  344. package/dist/runtime/assets/svg/globe-asia-australia.svg +0 -3
  345. package/dist/runtime/assets/svg/globe-europe-africa.svg +0 -3
  346. package/dist/runtime/assets/svg/h1.svg +0 -3
  347. package/dist/runtime/assets/svg/h2.svg +0 -3
  348. package/dist/runtime/assets/svg/h3.svg +0 -3
  349. package/dist/runtime/assets/svg/hand-raised.svg +0 -3
  350. package/dist/runtime/assets/svg/hand-thumb-down.svg +0 -3
  351. package/dist/runtime/assets/svg/hand-thumb-up.svg +0 -3
  352. package/dist/runtime/assets/svg/hashtag.svg +0 -3
  353. package/dist/runtime/assets/svg/heart.svg +0 -3
  354. package/dist/runtime/assets/svg/home-modern.svg +0 -3
  355. package/dist/runtime/assets/svg/home.svg +0 -3
  356. package/dist/runtime/assets/svg/identification.svg +0 -3
  357. package/dist/runtime/assets/svg/inbox-arrow-down.svg +0 -3
  358. package/dist/runtime/assets/svg/inbox-stack.svg +0 -3
  359. package/dist/runtime/assets/svg/inbox.svg +0 -3
  360. package/dist/runtime/assets/svg/information-circle.svg +0 -3
  361. package/dist/runtime/assets/svg/italic.svg +0 -3
  362. package/dist/runtime/assets/svg/key.svg +0 -3
  363. package/dist/runtime/assets/svg/language.svg +0 -3
  364. package/dist/runtime/assets/svg/lifebuoy.svg +0 -3
  365. package/dist/runtime/assets/svg/light-bulb.svg +0 -3
  366. package/dist/runtime/assets/svg/link-slash.svg +0 -3
  367. package/dist/runtime/assets/svg/link.svg +0 -3
  368. package/dist/runtime/assets/svg/list-bullet.svg +0 -3
  369. package/dist/runtime/assets/svg/lock-closed.svg +0 -3
  370. package/dist/runtime/assets/svg/lock-open.svg +0 -3
  371. package/dist/runtime/assets/svg/magnifying-glass-circle.svg +0 -3
  372. package/dist/runtime/assets/svg/magnifying-glass-minus.svg +0 -3
  373. package/dist/runtime/assets/svg/magnifying-glass-plus.svg +0 -3
  374. package/dist/runtime/assets/svg/magnifying-glass.svg +0 -3
  375. package/dist/runtime/assets/svg/map-pin.svg +0 -4
  376. package/dist/runtime/assets/svg/map.svg +0 -3
  377. package/dist/runtime/assets/svg/megaphone.svg +0 -3
  378. package/dist/runtime/assets/svg/microphone.svg +0 -3
  379. package/dist/runtime/assets/svg/minus-circle.svg +0 -3
  380. package/dist/runtime/assets/svg/minus-small.svg +0 -3
  381. package/dist/runtime/assets/svg/minus.svg +0 -3
  382. package/dist/runtime/assets/svg/moon.svg +0 -3
  383. package/dist/runtime/assets/svg/musical-note.svg +0 -3
  384. package/dist/runtime/assets/svg/newspaper.svg +0 -3
  385. package/dist/runtime/assets/svg/no-symbol.svg +0 -3
  386. package/dist/runtime/assets/svg/numbered-list.svg +0 -3
  387. package/dist/runtime/assets/svg/paint-brush.svg +0 -3
  388. package/dist/runtime/assets/svg/paper-airplane.svg +0 -3
  389. package/dist/runtime/assets/svg/paper-clip.svg +0 -3
  390. package/dist/runtime/assets/svg/pause-circle.svg +0 -3
  391. package/dist/runtime/assets/svg/pause.svg +0 -3
  392. package/dist/runtime/assets/svg/pencil-square.svg +0 -3
  393. package/dist/runtime/assets/svg/pencil.svg +0 -3
  394. package/dist/runtime/assets/svg/percent-badge.svg +0 -3
  395. package/dist/runtime/assets/svg/phone-arrow-down-left.svg +0 -3
  396. package/dist/runtime/assets/svg/phone-arrow-up-right.svg +0 -3
  397. package/dist/runtime/assets/svg/phone-x-mark.svg +0 -3
  398. package/dist/runtime/assets/svg/phone.svg +0 -3
  399. package/dist/runtime/assets/svg/photo.svg +0 -3
  400. package/dist/runtime/assets/svg/play-circle.svg +0 -4
  401. package/dist/runtime/assets/svg/play-pause.svg +0 -3
  402. package/dist/runtime/assets/svg/play.svg +0 -3
  403. package/dist/runtime/assets/svg/plus-circle.svg +0 -3
  404. package/dist/runtime/assets/svg/plus-small.svg +0 -3
  405. package/dist/runtime/assets/svg/plus.svg +0 -3
  406. package/dist/runtime/assets/svg/power.svg +0 -3
  407. package/dist/runtime/assets/svg/presentation-chart-bar.svg +0 -3
  408. package/dist/runtime/assets/svg/presentation-chart-line.svg +0 -3
  409. package/dist/runtime/assets/svg/printer.svg +0 -3
  410. package/dist/runtime/assets/svg/puzzle-piece.svg +0 -3
  411. package/dist/runtime/assets/svg/qr-code.svg +0 -4
  412. package/dist/runtime/assets/svg/question-mark-circle.svg +0 -3
  413. package/dist/runtime/assets/svg/queue-list.svg +0 -3
  414. package/dist/runtime/assets/svg/radio.svg +0 -3
  415. package/dist/runtime/assets/svg/receipt-percent.svg +0 -3
  416. package/dist/runtime/assets/svg/receipt-refund.svg +0 -3
  417. package/dist/runtime/assets/svg/rectangle-group.svg +0 -3
  418. package/dist/runtime/assets/svg/rectangle-stack.svg +0 -3
  419. package/dist/runtime/assets/svg/rocket-launch.svg +0 -3
  420. package/dist/runtime/assets/svg/rss.svg +0 -3
  421. package/dist/runtime/assets/svg/scale.svg +0 -3
  422. package/dist/runtime/assets/svg/scissors.svg +0 -3
  423. package/dist/runtime/assets/svg/server-stack.svg +0 -3
  424. package/dist/runtime/assets/svg/server.svg +0 -3
  425. package/dist/runtime/assets/svg/share.svg +0 -3
  426. package/dist/runtime/assets/svg/shield-check.svg +0 -3
  427. package/dist/runtime/assets/svg/shield-exclamation.svg +0 -3
  428. package/dist/runtime/assets/svg/shopping-bag.svg +0 -3
  429. package/dist/runtime/assets/svg/shopping-cart.svg +0 -3
  430. package/dist/runtime/assets/svg/signal-slash.svg +0 -3
  431. package/dist/runtime/assets/svg/signal.svg +0 -3
  432. package/dist/runtime/assets/svg/slash.svg +0 -3
  433. package/dist/runtime/assets/svg/sparkles.svg +0 -3
  434. package/dist/runtime/assets/svg/speaker-wave.svg +0 -3
  435. package/dist/runtime/assets/svg/speaker-x-mark.svg +0 -3
  436. package/dist/runtime/assets/svg/square-2-stack.svg +0 -3
  437. package/dist/runtime/assets/svg/square-3-stack-3d.svg +0 -3
  438. package/dist/runtime/assets/svg/squares-2x2.svg +0 -3
  439. package/dist/runtime/assets/svg/squares-plus.svg +0 -3
  440. package/dist/runtime/assets/svg/star.svg +0 -3
  441. package/dist/runtime/assets/svg/stop-circle.svg +0 -4
  442. package/dist/runtime/assets/svg/stop.svg +0 -3
  443. package/dist/runtime/assets/svg/strikethrough.svg +0 -3
  444. package/dist/runtime/assets/svg/sun.svg +0 -3
  445. package/dist/runtime/assets/svg/swatch.svg +0 -3
  446. package/dist/runtime/assets/svg/table-cells.svg +0 -3
  447. package/dist/runtime/assets/svg/tag.svg +0 -4
  448. package/dist/runtime/assets/svg/ticket.svg +0 -3
  449. package/dist/runtime/assets/svg/trash.svg +0 -3
  450. package/dist/runtime/assets/svg/trophy.svg +0 -3
  451. package/dist/runtime/assets/svg/truck.svg +0 -3
  452. package/dist/runtime/assets/svg/tv.svg +0 -3
  453. package/dist/runtime/assets/svg/underline.svg +0 -3
  454. package/dist/runtime/assets/svg/user-circle.svg +0 -3
  455. package/dist/runtime/assets/svg/user-group.svg +0 -3
  456. package/dist/runtime/assets/svg/user-minus.svg +0 -3
  457. package/dist/runtime/assets/svg/user-plus.svg +0 -3
  458. package/dist/runtime/assets/svg/user.svg +0 -3
  459. package/dist/runtime/assets/svg/users.svg +0 -3
  460. package/dist/runtime/assets/svg/variable.svg +0 -3
  461. package/dist/runtime/assets/svg/video-camera-slash.svg +0 -3
  462. package/dist/runtime/assets/svg/video-camera.svg +0 -3
  463. package/dist/runtime/assets/svg/view-columns.svg +0 -3
  464. package/dist/runtime/assets/svg/viewfinder-circle.svg +0 -3
  465. package/dist/runtime/assets/svg/wallet.svg +0 -3
  466. package/dist/runtime/assets/svg/wifi.svg +0 -3
  467. package/dist/runtime/assets/svg/window.svg +0 -3
  468. package/dist/runtime/assets/svg/wrench-screwdriver.svg +0 -3
  469. package/dist/runtime/assets/svg/wrench.svg +0 -4
  470. package/dist/runtime/assets/svg/x-circle.svg +0 -3
  471. package/dist/runtime/assets/svg/x-mark.svg +0 -3
@@ -1,74 +1,77 @@
1
1
  <template>
2
- <div class="cms-scope cms-canvas cms-auth" :data-theme="theme">
3
- <div class="cms-auth-panel cms-rise">
4
- <header class="cms-auth-header">
5
- <CmsBrandMark size="lg" />
6
- <h1 class="cms-title cms-title-lg">Welcome back</h1>
7
- <p class="cms-subtitle">Sign in to manage your content.</p>
8
- </header>
2
+ <KRoot class="cms-scope cms-canvas" :theme="theme" preset="default">
3
+ <KAuthLayout
4
+ title="Welcome back"
5
+ description="Sign in to manage your content."
6
+ footer="Powered by nuxt-cms"
7
+ >
8
+ <template #brand>
9
+ <CmsBrandMark size="lg" hide-text class="cms-auth-brand" />
10
+ </template>
9
11
 
10
- <div class="cms-card cms-auth-card">
11
- <CmsForm :state="state" @submit="login">
12
- <CmsAlert v-if="error" color="error" :title="error" />
13
- <CmsFormField label="Email" name="email" required>
14
- <CmsInput
15
- v-model="state.email"
16
- type="email"
17
- icon="envelope"
18
- autocomplete="username"
19
- placeholder="you@example.com"
20
- />
21
- </CmsFormField>
22
- <CmsFormField label="Password" name="password" required>
23
- <CmsInput
24
- v-model="state.password"
25
- type="password"
26
- icon="key"
27
- autocomplete="current-password"
28
- placeholder="••••••••"
29
- />
30
- </CmsFormField>
31
- <CmsButton
32
- type="submit"
33
- label="Sign in"
34
- icon="arrow-right"
35
- trailing-icon
36
- size="lg"
37
- block
38
- :loading="loading"
12
+ <KForm :form="form">
13
+ <KFormField label="Email" name="email" required>
14
+ <KInput
15
+ v-model="form.values.email"
16
+ type="email"
17
+ :icon="cmsIcon('envelope')"
18
+ autocomplete="username"
19
+ placeholder="you@example.com"
39
20
  />
40
- </CmsForm>
41
- </div>
42
-
43
- <p class="cms-auth-footer">Powered by nuxt-cms</p>
44
- </div>
45
- </div>
21
+ </KFormField>
22
+ <KFormField label="Password" name="password" required>
23
+ <KInput
24
+ v-model="form.values.password"
25
+ type="password"
26
+ icon="key"
27
+ autocomplete="current-password"
28
+ placeholder="••••••••"
29
+ />
30
+ </KFormField>
31
+ <KButton type="submit" label="Sign in" trailing-icon="arrow-right" size="lg" block />
32
+ </KForm>
33
+ </KAuthLayout>
34
+ </KRoot>
46
35
  </template>
47
36
 
48
37
  <script setup>
49
- import { definePageMeta, navigateTo, ref, useUserSession } from "#imports";
50
- import { errorMessage } from "../utils/ui";
38
+ import {
39
+ AuthLayout as KAuthLayout,
40
+ Button as KButton,
41
+ Form as KForm,
42
+ FormField as KFormField,
43
+ Input as KInput,
44
+ Root as KRoot,
45
+ provideTheme,
46
+ useForm
47
+ } from "@xleddyl/443-components-vue";
48
+ import { definePageMeta, navigateTo, useUserSession } from "#imports";
49
+ import { cmsIcon, errorMessage } from "../utils/ui";
51
50
  import { useCmsTheme } from "../composables/cms-theme";
52
51
  definePageMeta({ layout: false });
53
52
  const theme = useCmsTheme();
53
+ provideTheme(theme);
54
54
  const { loggedIn } = useUserSession();
55
55
  if (loggedIn.value) {
56
56
  await navigateTo("/cms", { replace: true });
57
57
  }
58
- const state = ref({ email: "", password: "" });
59
- const error = ref(null);
60
- const loading = ref(false);
61
- async function login() {
62
- loading.value = true;
63
- error.value = null;
58
+ const form = useForm({
59
+ schema: {
60
+ email: { initial: () => "" },
61
+ password: { initial: () => "" }
62
+ },
63
+ onSubmit: login
64
+ });
65
+ async function login(values) {
64
66
  try {
65
- await $fetch("/api/cms/auth/login", { method: "POST", body: state.value });
67
+ await $fetch("/api/cms/auth/login", { method: "POST", body: values });
66
68
  window.location.replace("/cms");
67
69
  } catch (e) {
68
70
  const status = e.statusCode;
69
- error.value = status === 401 ? "Invalid email or password." : errorMessage(e) ?? "Login failed. Please try again.";
70
- } finally {
71
- loading.value = false;
71
+ form.setError(
72
+ "",
73
+ status === 401 ? "Invalid email or password." : errorMessage(e) ?? "Login failed. Please try again."
74
+ );
72
75
  }
73
76
  }
74
77
  </script>
@@ -1,23 +1,25 @@
1
1
  <template>
2
2
  <div class="cms-page">
3
- <CmsPageHeader
3
+ <KPageHeader
4
4
  title="Media"
5
- icon="photo"
5
+ :icon="cmsIcon('photo')"
6
6
  description="Images, videos and files used across your content."
7
7
  >
8
8
  <template #badge>
9
- <span class="cms-badge is-muted">{{ runtime.mediaStorage }}</span>
9
+ <KBadge :label="runtime.mediaStorage" size="sm" class="cms-code-badge" />
10
10
  </template>
11
- </CmsPageHeader>
11
+ </KPageHeader>
12
12
 
13
13
  <CmsMediaGallery v-model:folder="folder" />
14
14
  </div>
15
15
  </template>
16
16
 
17
17
  <script setup>
18
+ import { Badge as KBadge, PageHeader as KPageHeader } from "@xleddyl/443-components-vue";
18
19
  import { computed, definePageMeta, navigateTo, useRoute } from "#imports";
19
20
  import { normalizeMediaFolder } from "#nuxt-cms";
20
21
  import { useCmsRuntime } from "../composables/cms-runtime";
22
+ import { cmsIcon } from "../utils/ui";
21
23
  definePageMeta({ layout: "cms-admin", middleware: "cms-auth" });
22
24
  const runtime = useCmsRuntime();
23
25
  const route = useRoute();
@@ -10,7 +10,7 @@
10
10
  data-cms-preview-keep
11
11
  @click="post({ type: 'insert', index: state.blocks.length })"
12
12
  >
13
- <CmsIcon name="plus" />
13
+ <KIcon name="plus" />
14
14
  <span>Add a block</span>
15
15
  </button>
16
16
  </div>
@@ -24,7 +24,7 @@
24
24
  data-cms-preview-keep
25
25
  @click="post({ type: 'insert', index: state.blocks.length })"
26
26
  >
27
- <CmsIcon name="plus" />
27
+ <KIcon name="plus" />
28
28
  <span>Add a block</span>
29
29
  </button>
30
30
  </div>
@@ -54,6 +54,7 @@ import {
54
54
  shallowRef,
55
55
  useHead
56
56
  } from "#imports";
57
+ import { Icon as KIcon } from "@xleddyl/443-components-vue";
57
58
  import cmsConfig from "#cms-config";
58
59
  import { cmsPreviewComponents } from "#cms-blocks";
59
60
  import {
@@ -26,7 +26,7 @@
26
26
  @keydown="onHandleKey($event, box.index)"
27
27
  @click="onHandleClick(box.index)"
28
28
  >
29
- <CmsIcon name="bars-2" />
29
+ <KIcon :name="cmsIcon('bars-2')" />
30
30
  </button>
31
31
  <button
32
32
  type="button"
@@ -36,7 +36,7 @@
36
36
  :disabled="box.index === 0"
37
37
  @click="emitMove(box.index, box.index - 1)"
38
38
  >
39
- <CmsIcon name="arrow-up" />
39
+ <KIcon :name="cmsIcon('arrow-up')" />
40
40
  </button>
41
41
  <button
42
42
  type="button"
@@ -46,7 +46,7 @@
46
46
  :disabled="box.index >= total - 1"
47
47
  @click="emitMove(box.index, box.index + 1)"
48
48
  >
49
- <CmsIcon name="arrow-down" />
49
+ <KIcon :name="cmsIcon('arrow-down')" />
50
50
  </button>
51
51
  <span class="cms-preview-separator" />
52
52
  <button
@@ -57,7 +57,7 @@
57
57
  :disabled="!canAdd"
58
58
  @click="emit('message', { type: 'duplicate', index: box.index })"
59
59
  >
60
- <CmsIcon name="document-duplicate" />
60
+ <KIcon :name="cmsIcon('document-duplicate')" />
61
61
  </button>
62
62
  <button
63
63
  v-if="hideable(box)"
@@ -67,7 +67,7 @@
67
67
  title="Hide"
68
68
  @click="emit('message', { type: 'toggle-hidden', index: box.index })"
69
69
  >
70
- <CmsIcon name="eye-slash" />
70
+ <KIcon :name="cmsIcon('eye-slash')" />
71
71
  </button>
72
72
  <button
73
73
  type="button"
@@ -76,7 +76,7 @@
76
76
  title="Delete"
77
77
  @click="emit('message', { type: 'remove', index: box.index })"
78
78
  >
79
- <CmsIcon name="trash" />
79
+ <KIcon :name="cmsIcon('trash')" />
80
80
  </button>
81
81
  </div>
82
82
  </template>
@@ -92,7 +92,7 @@
92
92
  title="Insert a block"
93
93
  @click="emit('message', { type: 'insert', index: slot.index })"
94
94
  >
95
- <CmsIcon name="plus" />
95
+ <KIcon :name="cmsIcon('plus')" />
96
96
  </button>
97
97
 
98
98
  <div
@@ -104,6 +104,8 @@
104
104
  </template>
105
105
 
106
106
  <script setup>
107
+ import { Icon as KIcon } from "@xleddyl/443-components-vue";
108
+ import { cmsIcon } from "../utils/ui";
107
109
  import { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from "#imports";
108
110
  import { canAddBlock } from "../../shared/index";
109
111
  import { canHideBlock, insertionIndex, moveTargetForInsertion } from "../../shared/preview";
@@ -1,6 +1,4 @@
1
- import type { InjectionKey, Reactive, Ref } from 'vue';
2
1
  import type { FieldConfig } from '#nuxt-cms';
3
- export declare const CMS_FORM_ERRORS: InjectionKey<Reactive<Record<string, string>>>;
4
- export declare const CMS_FORM_WARNINGS: InjectionKey<Readonly<Ref<Record<string, string>>>>;
5
2
  export declare function errorMessage(error: unknown): string | undefined;
6
3
  export declare function fieldIcon(field: FieldConfig): string;
4
+ export declare function cmsIcon(name: string): string;
@@ -1,5 +1,4 @@
1
- export const CMS_FORM_ERRORS = Symbol("cms-form-errors");
2
- export const CMS_FORM_WARNINGS = Symbol("cms-form-warnings");
1
+ import { isBuiltinIcon } from "@xleddyl/443-components-vue";
3
2
  export function errorMessage(error) {
4
3
  const err = error;
5
4
  return err.data?.message ?? err.message;
@@ -23,3 +22,6 @@ export function fieldIcon(field) {
23
22
  if (field.type === "select" && field.multiple) return "list-bullet";
24
23
  return FIELD_ICONS[field.type];
25
24
  }
25
+ export function cmsIcon(name) {
26
+ return name.includes(":") || isBuiltinIcon(name) ? name : `heroicons:${name}`;
27
+ }
@@ -0,0 +1 @@
1
+ .cms-form{container-type:inline-size}.cms-form,.cms-form-main,.cms-form-rows{display:flex;flex-direction:column;gap:1.375rem}.cms-form-main,.cms-form-rows{min-width:0}.cms-form-row{display:grid;gap:1.375rem 1rem;grid-template-columns:minmax(0,1fr)}@container (min-width: 32rem){.cms-form-row{grid-template-columns:repeat(var(--cms-row-cols,1),minmax(0,1fr))}}.cms-form-section-body{border-top:1px solid var(--k-line);padding:1rem 1rem 1.125rem}.cms-field-hint{color:var(--k-text-muted);font-size:.75rem;font-weight:400;line-height:1.45}.cms-search-focus{animation:cms-field-focus 2.4s var(--k-ease);border-radius:var(--k-radius-md)}@keyframes cms-field-focus{0%,60%{background:var(--k-accent-soft);box-shadow:0 0 0 6px var(--k-accent-soft)}to{background:transparent;box-shadow:0 0 0 6px transparent}}.cms-drawer-loading{min-height:12rem}.cms-block-editor-actions,.cms-drawer-actions{flex:1}.cms-blocks-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.cms-blocks-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.cms-blocks-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.cms-block-tile{background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);overflow:hidden;transition:opacity var(--k-duration) var(--k-ease),border-color var(--k-duration) var(--k-ease),box-shadow var(--k-duration-lg) var(--k-ease),transform var(--k-duration-lg) var(--k-ease-out)}.cms-block-tile:hover{border-color:var(--k-line-strong);box-shadow:var(--k-shadow-sm)}.cms-block-tile.is-muted{opacity:.45}.cms-block-tile.is-missing{border-color:color-mix(in oklab,var(--k-warning) 55%,transparent)}.cms-block-tile.is-dragging{opacity:.4;transform:scale(.98)}.cms-block-tile.is-drop-target{outline:2px solid var(--k-accent);outline-offset:2px}.cms-block-tile.is-media-only{cursor:grab}.cms-block-tile.is-media-only.is-dragging{cursor:grabbing}.cms-block-preview{align-items:center;aspect-ratio:4/3;background:var(--k-subtle);color:var(--k-text-dimmed);display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.cms-block-tile.is-media-only .cms-block-preview{aspect-ratio:1}.cms-block-preview>img,.cms-block-preview>video{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .5s var(--k-ease-out);width:100%}.cms-block-tile:hover .cms-block-preview>img,.cms-block-tile:hover .cms-block-preview>video{transform:scale(1.03)}.cms-block-icon{--k-icon-size:1.75rem}.cms-block-summary{color:var(--k-text-muted);font-size:.75rem;line-height:1.5;padding:.75rem;text-align:left}.cms-block-hidden{--k-icon-size:1rem;color:#fff;filter:drop-shadow(0 1px 2px rgb(0 0 0/.6));left:.5rem;position:absolute;top:.5rem}.cms-block-missing,.cms-block-remove{--k-icon-size:0.875rem;border-radius:var(--k-radius-full);color:#fff;display:grid;height:1.5rem;place-items:center;position:absolute;width:1.5rem}.cms-block-missing{background:var(--k-warning);bottom:.375rem;left:.375rem}.cms-block-remove{backdrop-filter:blur(6px);background:rgba(0,0,0,.55);opacity:0;right:.375rem;scale:.85;top:.375rem;transition:opacity var(--k-duration) var(--k-ease),scale var(--k-duration-lg) var(--k-ease-out),background-color var(--k-duration) var(--k-ease);z-index:1}.cms-block-tile:focus-within .cms-block-remove,.cms-block-tile:hover .cms-block-remove{opacity:1;scale:1}.cms-block-remove:hover{background:var(--k-danger)}@media (hover:none){.cms-block-remove{opacity:1;scale:1}}.cms-block-bar{--k-icon-size:1rem;border-top:1px solid var(--k-line);gap:.25rem;padding:.3125rem}.cms-block-bar,.cms-block-grip{align-items:center;display:flex}.cms-block-grip{border-radius:var(--k-radius-xs);color:var(--k-text-dimmed);cursor:grab;justify-content:center;padding:.25rem;transition:color var(--k-duration) var(--k-ease),background-color var(--k-duration) var(--k-ease)}.cms-block-grip:hover{background:var(--k-hover);color:var(--k-text-muted)}.cms-block-tile.is-dragging .cms-block-grip{cursor:grabbing}.cms-block-bar-name{color:var(--k-text-toned);flex:1;font-size:.75rem;font-weight:500;overflow:hidden;padding-left:.25rem;text-overflow:ellipsis;white-space:nowrap}.cms-block-missing-icon{color:var(--k-warning);display:flex}.cms-block-add{--k-icon-size:1.25rem;align-items:center;background:var(--k-subtle);border:1px dashed var(--k-line-strong);border-radius:var(--k-radius-lg);color:var(--k-text-muted);display:flex;flex-direction:column;font-size:.8125rem;font-weight:500;gap:.375rem;justify-content:center;min-height:6rem;transition:border-color var(--k-duration) var(--k-ease),background-color var(--k-duration) var(--k-ease),color var(--k-duration) var(--k-ease);width:100%}.cms-block-add:hover:not(:disabled){background:var(--k-accent-soft);border-color:var(--k-accent-line);color:var(--k-accent-text)}.cms-block-add:disabled{cursor:not-allowed;opacity:.55}.cms-editor{background:var(--k-canvas);display:flex;flex-direction:column;height:100dvh}.cms-editor-modal .cms-editor{height:100%}.cms-editor-bar{align-items:center;background:var(--k-surface);border-bottom:1px solid var(--k-line);display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:3.25rem;padding:.5rem .75rem}.cms-editor-bar-center,.cms-editor-bar-end,.cms-editor-bar-start,.cms-editor-heading{align-items:center;display:flex;min-width:0}.cms-editor-bar-start{gap:.375rem}.cms-editor-heading{gap:.625rem}.cms-editor-bar-center{gap:.5rem;justify-content:center}.cms-editor-bar-end{gap:.375rem;justify-content:flex-end}.cms-editor-title{color:var(--k-text);font-size:.875rem;font-weight:600;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-editor-body{display:flex;flex:1;min-height:0}.cms-editor-canvas{display:flex;flex:1;justify-content:center;min-width:0;overflow:auto;padding:1rem}.cms-editor-frame{background:#fff;border-radius:var(--k-radius-lg);box-shadow:var(--k-shadow-raised);height:100%;overflow:hidden;transition:width var(--k-duration-lg) var(--k-ease-out);width:100%}.cms-editor-frame.is-mobile{flex:none;max-width:100%;width:390px}.cms-editor-iframe{border:0;display:block;height:100%;width:100%}.cms-editor-panel{background:var(--k-surface);border-left:1px solid var(--k-line);display:flex;flex-direction:column;flex-shrink:0;min-height:0;width:22rem}.cms-editor-inspector{gap:0}.cms-editor-inspector,.cms-editor-panel-body{display:flex;flex:1;flex-direction:column;min-height:0}.cms-editor-panel-body{container-type:inline-size;gap:1rem;overflow-y:auto;padding:.875rem}.cms-editor-fields{gap:1.125rem}.cms-editor-section-title{border-top:1px solid var(--k-line);display:flex;flex-direction:column;gap:.25rem;padding-top:.75rem}.cms-editor-section-title:first-child{border-top:0;padding-top:0}.cms-editor-block-head{align-items:center;display:flex;justify-content:space-between;margin:-.25rem -.25rem 0}.cms-editor-block-position{color:var(--k-text-dimmed);font-size:.6875rem}.cms-editor-block-title{--k-icon-size:1rem;align-items:center;color:var(--k-text);display:flex;font-size:.9375rem;font-weight:600;gap:.5rem}.cms-editor-block-actions{border-bottom:1px solid var(--k-line);padding-bottom:1rem}.cms-outline-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-outline-text.is-hidden{opacity:.55}.cms-outline-label{color:var(--k-text);font-size:.8125rem;font-weight:500}.cms-outline-label,.cms-outline-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-outline-summary{color:var(--k-text-muted);font-size:.75rem}.cms-outline-hidden{--k-icon-size:1rem;color:var(--k-text-dimmed)}.cms-palette{display:grid;gap:.375rem}.cms-palette-item{align-items:flex-start;background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);display:flex;gap:.625rem;padding:.625rem;text-align:left;transition:background-color var(--k-duration) var(--k-ease),border-color var(--k-duration) var(--k-ease)}.cms-palette-item:hover{background:var(--k-accent-soft);border-color:var(--k-accent-line)}.cms-palette-icon{--k-icon-size:1rem;align-items:center;background:var(--k-fill);border-radius:var(--k-radius-md);color:var(--k-text-toned);display:flex;flex-shrink:0;height:2rem;justify-content:center;width:2rem}.cms-palette-item:hover .cms-palette-icon{color:var(--k-accent-text)}.cms-palette-text{display:flex;flex-direction:column;gap:.1875rem;min-width:0;padding-top:.0625rem}.cms-palette-label{color:var(--k-text);font-size:.8125rem;font-weight:600}.cms-palette-description{color:var(--k-text-muted);font-size:.75rem;line-height:1.4}@media (max-width:767px){.cms-editor-bar{grid-template-columns:minmax(0,1fr) auto}.cms-editor-bar-center{grid-column:1/-1;grid-row:2}.cms-editor-body{flex-direction:column}.cms-editor-canvas{flex:0 0 50%;padding:.5rem}.cms-editor-panel{border-left:0;border-top:1px solid var(--k-line);flex:1;width:auto}}
@@ -1 +1 @@
1
- @layer theme, base, components, utilities;@import "tailwindcss/theme.css" layer(theme) theme(inline);.cms-scope{@import "tailwindcss/preflight.css" layer(base);@import "tailwindcss/utilities.css" layer(utilities) source(none)}@source "../app";.cms-scope,.cms-theme-preview-app,html:has(.cms-scope){--cms-canvas:light-dark(#f5f5f6,#0d0d0f);--cms-surface:light-dark(#fff,#141416);--cms-subtle:light-dark(#f7f7f8,#18181b);--cms-field:light-dark(#fff,#19191c);--cms-elevated:light-dark(#fff,#1c1c20);--cms-fill:light-dark(#efeff1,#222226);--cms-line:light-dark(#e7e7ea,#232327);--cms-line-strong:light-dark(#d8d8dd,#303036);--cms-field-line:light-dark(#dedee3,#2a2a30);--cms-text:light-dark(#111114,#f2f2f3);--cms-text-toned:light-dark(#3b3b42,#cdcdd3);--cms-text-muted:light-dark(#6b6b75,#9b9ba5);--cms-text-dimmed:light-dark(#9d9da7,#686872);--cms-accent:light-dark(#5b5bd6,#6466e9);--cms-accent-hover:light-dark(#4d4dc8,#7375ee);--cms-accent-text:light-dark(#5050cc,#a0a2f8);--cms-accent-contrast:#fff;--cms-accent-soft:color-mix(in oklab,var(--cms-accent) 11%,transparent);--cms-accent-line:color-mix(in oklab,var(--cms-accent) 34%,transparent);--cms-error:light-dark(#d9383a,#f47a7a);--cms-success:light-dark(#1d8a54,#5ccf90);--cms-warning:light-dark(#b5620b,#efb255);--cms-hover:color-mix(in oklab,var(--cms-text) 5%,transparent);--cms-press:color-mix(in oklab,var(--cms-text) 8%,transparent);--cms-font-ui:"Geist Variable","Geist",ui-sans-serif,system-ui,sans-serif;--cms-font-mono:"Geist Mono Variable","Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--cms-radius-xs:4px;--cms-radius-sm:6px;--cms-radius-md:8px;--cms-radius-lg:12px;--cms-radius-xl:14px;--cms-shadow-tint:light-dark(rgba(20,20,30,.06),rgba(0,0,0,.35));--cms-shadow-tint-strong:light-dark(rgba(20,20,30,.14),rgba(0,0,0,.6));--cms-highlight:light-dark(hsla(0,0%,100%,.9),hsla(0,0%,100%,.05));--cms-shadow-xs:0 1px 2px var(--cms-shadow-tint);--cms-shadow-sm:0 1px 2px var(--cms-shadow-tint),0 3px 8px -3px var(--cms-shadow-tint);--cms-shadow-raised:0 0 0 1px var(--cms-line),0 1px 2px var(--cms-shadow-tint);--cms-shadow-overlay:0 0 0 1px var(--cms-line),0 16px 40px -12px var(--cms-shadow-tint-strong),0 6px 14px -6px var(--cms-shadow-tint);--cms-scrim:light-dark(rgba(22,22,30,.22),rgba(0,0,0,.55));--cms-duration:140ms;--cms-duration-lg:260ms;--cms-ease:cubic-bezier(0.2,0,0,1);--cms-ease-out:cubic-bezier(0.16,1,0.3,1);--cms-ease-drawer:cubic-bezier(0.32,0.72,0,1);--cms-ease-spring:cubic-bezier(0.34,1.4,0.64,1);--ui-text-dimmed:var(--cms-text-dimmed);--ui-text-muted:var(--cms-text-muted);--ui-text-toned:var(--cms-text-toned);--ui-text:var(--cms-text-toned);--ui-text-highlighted:var(--cms-text);--ui-text-inverted:var(--cms-surface);--ui-bg:var(--cms-surface);--ui-bg-muted:var(--cms-canvas);--ui-bg-elevated:var(--cms-subtle);--ui-bg-accented:var(--cms-fill);--ui-bg-inverted:var(--cms-text);--ui-border:var(--cms-line);--ui-border-muted:var(--cms-line);--ui-border-accented:var(--cms-line-strong);--ui-border-inverted:var(--cms-text);--ui-primary:var(--cms-accent);--ui-accent:var(--cms-accent-text);--ui-error:var(--cms-error);--ui-success:var(--cms-success);--ui-warning:var(--cms-warning);--ui-radius:var(--cms-radius-md)}html:has(.cms-scope){background:var(--cms-canvas);color-scheme:light dark;overscroll-behavior-y:none}.cms-scope[data-theme=light],html:has(.cms-scope[data-theme=light]){color-scheme:light}.cms-scope[data-theme=dark],html:has(.cms-scope[data-theme=dark]){color-scheme:dark}.cms-scope,body:has(.cms-scope){color:var(--ui-text);font-family:var(--cms-font-ui);font-feature-settings:"ss01","cv11";font-size:.875rem;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:has(.cms-scope){background:var(--cms-canvas);overscroll-behavior-y:none}body:has(.cms-scope) ::-moz-selection{background:color-mix(in oklab,var(--cms-accent) 28%,transparent);color:var(--ui-text-highlighted)}body:has(.cms-scope) ::selection{background:color-mix(in oklab,var(--cms-accent) 28%,transparent);color:var(--ui-text-highlighted)}body:has(.cms-scope) :is(.cms-scope,.cms-scope *){scrollbar-color:var(--cms-line-strong) transparent;scrollbar-width:thin}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar{height:10px;width:10px}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-track{background:transparent}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-thumb{background:var(--cms-line-strong);background-clip:content-box;border:3px solid transparent;border-radius:9999px}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-thumb:hover{background:var(--cms-text-dimmed);background-clip:content-box}.cms-display{font-weight:650;letter-spacing:-.025em}.cms-display,.cms-title{font-family:var(--cms-font-ui)}.cms-title{color:var(--ui-text-highlighted);font-weight:600;letter-spacing:-.015em}.cms-title-sm{font-size:.9375rem;line-height:1.4}.cms-title-md{font-size:1.5rem;letter-spacing:-.022em;line-height:1.2}.cms-title-lg{font-size:1.625rem;letter-spacing:-.025em;line-height:1.2}.cms-subtitle{color:var(--ui-text-muted);font-size:.875rem}.cms-accent{color:var(--cms-accent-text)}.cms-label{color:var(--ui-text-muted);font-size:.75rem;font-weight:500;line-height:1.4}.cms-mono{font-family:var(--cms-font-mono);font-size:.75rem;letter-spacing:-.01em}body:has(.cms-scope) :is(button,a,[role=button],[role=menuitem],[role=option],.__clickable):not(:disabled,[aria-disabled=true]){@apply cursor-pointer select-none}body:has(.cms-scope) :is(button,a,[role=button],[role=menuitem],[role=option],[role=radio]):focus-visible{outline:2px solid color-mix(in oklab,var(--cms-accent) 70%,transparent);outline-offset:2px}.cms-canvas{background-color:var(--cms-canvas)}.cms-card{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg)}.cms-panel{padding:1.5rem}.cms-shell,.cms-sidebar{background:var(--cms-canvas);display:flex;height:100dvh}.cms-sidebar{flex-direction:column;flex-shrink:0;gap:1.25rem;padding:.875rem .625rem .625rem;width:15rem}.cms-sidebar-brand{align-items:center;display:flex;gap:.625rem;padding:.25rem .375rem}.cms-brand-mark{background:var(--ui-bg-inverted);border-radius:var(--cms-radius-md);color:var(--ui-text-inverted);display:grid;flex:none;height:1.75rem;place-items:center;position:relative;width:1.75rem}.cms-brand-mark svg{height:62%;width:62%}.cms-brand-mark.is-lg{border-radius:var(--cms-radius-lg);height:2.75rem;width:2.75rem}.cms-brand-logo{color:var(--ui-text-highlighted);display:block;flex:none;height:1.75rem;max-width:7.5rem;-o-object-fit:contain;object-fit:contain;width:auto}.cms-brand-logo.is-lg{height:2.75rem;max-width:12rem}span.cms-brand-logo{display:inline-flex}span.cms-brand-logo svg{display:block;height:100%;max-width:100%;width:auto}.cms-auth-header .cms-brand-logo{margin-bottom:.75rem}.cms-brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.cms-brand-name{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:600;letter-spacing:-.01em}.cms-brand-meta,.cms-brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-brand-meta{color:var(--ui-text-dimmed);font-size:.75rem}.cms-sidebar-nav{display:flex;flex:1;flex-direction:column;gap:1.125rem;margin-inline:-.25rem;min-height:0;overflow-y:auto;overscroll-behavior-y:none;padding:.125rem .25rem}.cms-sidebar-group{display:flex;flex-direction:column;gap:1px}.cms-sidebar-group>.cms-label{color:var(--ui-text-dimmed);font-size:.6875rem;letter-spacing:.01em;margin-bottom:.25rem;padding-inline:.5rem}.cms-sidebar-footer{display:flex;flex-direction:column;gap:.5rem}.cms-navlink{align-items:center;border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;font-size:.8125rem;font-weight:450;gap:.5rem;height:1.875rem;padding-inline:.5rem;position:relative;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease)}.cms-navlink:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-navlink:active{scale:.985}.cms-navlink.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--ui-text-highlighted);font-weight:500}.cms-navlink-icon{color:var(--ui-text-dimmed);transition:color var(--cms-duration) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-navlink:hover .cms-navlink-icon{color:var(--ui-text-muted)}.cms-navlink.is-active .cms-navlink-icon{animation:cms-icon-pop .36s var(--cms-ease-spring);color:var(--cms-accent-text)}.cms-account{align-items:center;border-radius:var(--cms-radius-md);display:flex;gap:.5rem;padding:.375rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease);width:100%}.cms-account.is-open,.cms-account:hover{background:var(--cms-hover)}.cms-account-more{color:var(--ui-text-dimmed);flex:none;transition:color var(--cms-duration) var(--cms-ease)}.cms-account.is-open .cms-account-more,.cms-account:hover .cms-account-more{color:var(--ui-text-highlighted)}.cms-avatar{background:var(--cms-accent);border-radius:9999px;color:var(--cms-accent-contrast);display:grid;flex:none;font-size:.75rem;font-weight:600;height:1.75rem;place-items:center;text-transform:uppercase;width:1.75rem}.cms-avatar.is-lg{font-size:1.0625rem;height:2.75rem;width:2.75rem}.cms-account-card{align-items:center;background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;gap:.75rem;padding:.875rem 1rem}.cms-password-input .cms-field{font-family:var(--cms-font-mono);font-size:.8125rem;padding-right:5.75rem}.cms-password-input .cms-field::-moz-placeholder{font-family:var(--cms-font-ui)}.cms-password-input .cms-field::placeholder{font-family:var(--cms-font-ui)}.cms-password-actions{align-items:center;display:flex;gap:1px}.cms-password-action{border-radius:var(--cms-radius-sm);color:var(--ui-text-dimmed);display:grid;height:1.625rem;place-items:center;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease);width:1.625rem}.cms-password-action:hover:not(:disabled){background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-password-action:disabled{opacity:.4}.cms-password-action.is-done{color:var(--ui-success)}.cms-password-action>svg{transition:transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-password-action:active>svg{transform:scale(.85)}.cms-credentials{animation:cms-enter .26s var(--cms-ease-out) backwards;background:color-mix(in oklab,var(--cms-accent) 4%,var(--cms-surface));border:1px solid var(--cms-accent-line);border-radius:var(--cms-radius-lg);display:flex;flex-direction:column;gap:.875rem;padding:1rem}.cms-credentials-list{display:grid;font-size:.8125rem;gap:.375rem 1.25rem;grid-template-columns:max-content minmax(0,1fr)}.cms-credentials-list dt{color:var(--ui-text-muted)}.cms-credentials-list dd{color:var(--ui-text-highlighted);overflow-wrap:anywhere}.cms-user-row{animation:cms-row-in .32s var(--cms-ease-out) backwards;background:var(--cms-surface);display:flex;flex-direction:column}.cms-user-row+.cms-user-row{border-top:1px solid var(--cms-line)}.cms-user-main{align-items:center;display:flex;gap:.75rem;padding:.625rem .75rem}.cms-user-actions{display:flex;gap:.125rem}.cms-user-reset{padding:0 .75rem .875rem}.cms-account-text{display:flex;flex:1;flex-direction:column;line-height:1.25;min-width:0}.cms-account-name{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-account-email{color:var(--ui-text-dimmed);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-main{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-xs);flex:1;height:calc(100dvh - 1rem);margin:.5rem .5rem .5rem 0;min-width:0;overflow-y:auto;overscroll-behavior-y:none;position:relative}.cms-main-inner{display:flex;flex-direction:column;margin-inline:auto;max-width:72rem;min-height:100%;padding:2.25rem 2.5rem 2.5rem;width:100%}.cms-sidebar-scrim,.cms-topbar{display:none}@media (max-width:767px){.cms-sidebar{border-right:1px solid var(--cms-line);box-shadow:var(--cms-shadow-overlay);inset:0 auto 0 0;position:fixed;transform:translateX(-105%);transition:transform .34s var(--cms-ease-drawer);width:16.5rem;z-index:70}.cms-shell.is-nav-open .cms-sidebar{transform:none}.cms-sidebar-scrim{background:var(--cms-scrim);display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity var(--cms-duration-lg) var(--cms-ease);z-index:65}.cms-shell.is-nav-open .cms-sidebar-scrim{opacity:1;pointer-events:auto}.cms-topbar{align-items:center;backdrop-filter:blur(12px);background:color-mix(in oklab,var(--cms-surface) 82%,transparent);border-bottom:1px solid var(--cms-line);display:flex;gap:.5rem;height:3rem;padding-inline:.625rem;position:sticky;top:0;z-index:20}.cms-main{border:0;border-radius:0;box-shadow:none;height:100dvh;margin:0}.cms-main-inner{min-height:calc(100% - 3rem);padding:1.25rem 1rem 2rem}}.cms-page{animation:cms-enter .32s var(--cms-ease-out) backwards;display:flex;flex-direction:column;gap:1.5rem}.cms-page.is-fill{flex:1;min-height:0}.cms-page-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.cms-page-heading{display:flex;flex-direction:column;gap:.625rem;min-width:0}.cms-page-title-row{align-items:center;display:flex;gap:.75rem;min-width:0}.cms-page-icon{background:var(--cms-surface);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-raised),inset 0 -2px 0 var(--cms-subtle);color:var(--cms-accent-text);display:grid;flex:none;height:2.25rem;place-items:center;width:2.25rem}.cms-page-title-text{display:flex;flex-direction:column;gap:.1875rem;min-width:0}.cms-page-description{color:var(--ui-text-muted);font-size:.8125rem}.cms-count{animation:cms-fade .4s var(--cms-ease) backwards;background:var(--cms-fill);border-radius:var(--cms-radius-sm);display:inline-flex;font-family:var(--cms-font-mono);font-size:.75rem;font-variant-numeric:tabular-nums;height:1.375rem;padding-inline:.4375rem}.cms-breadcrumb,.cms-count{align-items:center;color:var(--ui-text-muted)}.cms-breadcrumb{display:flex;font-size:.8125rem;font-weight:450;gap:.25rem;line-height:1.4}.cms-breadcrumb-link{border-radius:var(--cms-radius-xs);margin-inline:-.25rem 0;padding:.0625rem .25rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-breadcrumb-link:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-breadcrumb-separator{color:var(--ui-text-dimmed)}.cms-tree{overflow:hidden}.cms-tree-row{align-items:center;animation:cms-row-in .36s var(--cms-ease-out) backwards;animation-delay:var(--cms-row-delay,0s);display:flex;gap:.75rem;min-height:3.25rem;padding:.5rem 1rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-tree-row+.cms-tree-row{border-top:1px solid var(--cms-line)}.cms-tree-row:hover{background-color:var(--cms-subtle)}.cms-tree-branch{color:var(--ui-text-dimmed);flex-shrink:0;transform:scaleY(-1) rotate(90deg);width:1rem}.cms-tree-doc{background:var(--cms-subtle);border-radius:var(--cms-radius-sm);box-shadow:inset 0 0 0 1px var(--cms-line);color:var(--ui-text-muted);display:grid;flex:none;height:1.75rem;place-items:center;width:1.75rem}.cms-tree-title{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:500}.cms-tree-path,.cms-tree-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-tree-path{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.71875rem}.cms-tree-meta{font-size:.75rem}.cms-tree-chevron,.cms-tree-meta{color:var(--ui-text-dimmed);flex-shrink:0}.cms-tree-chevron{transition:transform var(--cms-duration-lg) var(--cms-ease-out),color var(--cms-duration) var(--cms-ease)}.cms-tree-row:hover .cms-tree-chevron{color:var(--ui-text-highlighted);transform:translateX(3px)}.cms-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.cms-toolbar-actions{flex-shrink:0;margin-left:auto}.cms-actions,.cms-toolbar-actions{align-items:center;display:flex;gap:.5rem}.cms-actions{flex-wrap:wrap}.cms-actions.is-end{justify-content:flex-end}.cms-spinner{align-items:center;animation:cms-fade .3s var(--cms-ease) .12s backwards;color:var(--ui-text-dimmed);display:flex;flex:1;justify-content:center;padding-block:2.5rem}.cms-spinner-ring{animation:cms-spin .7s linear infinite;border:2px solid var(--cms-line-strong);border-radius:9999px;border-top-color:var(--cms-accent-text);height:1.25rem;width:1.25rem}.cms-empty{align-items:center;animation:cms-fade .36s var(--cms-ease) backwards;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;flex-direction:column;gap:.375rem;isolation:isolate;overflow:hidden;padding:3.5rem 1.5rem;position:relative;text-align:center}.cms-empty:before{background-image:radial-gradient(circle at 1px 1px,var(--cms-line-strong) 1px,transparent 0);background-size:18px 18px;content:"";inset:0;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 45%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 50% 45%,#000,transparent 75%);opacity:.8;position:absolute;z-index:-1}.cms-empty.is-fill{flex:1;justify-content:center}.cms-empty-icon{animation:cms-float 4s ease-in-out infinite;background:var(--cms-surface);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-raised),0 6px 16px -6px var(--cms-shadow-tint-strong);color:var(--ui-text-muted);display:grid;height:2.75rem;margin-bottom:.625rem;place-items:center;width:2.75rem}.cms-empty>.cms-btn{margin-top:1rem}.cms-auth{align-items:center;display:flex;justify-content:center;min-height:100dvh;padding:1.5rem}.cms-auth-panel{gap:1.75rem;max-width:23rem;width:100%}.cms-auth-header,.cms-auth-panel{display:flex;flex-direction:column}.cms-auth-header{align-items:center;gap:.5rem;text-align:center}.cms-auth-header .cms-brand-mark{margin-bottom:.75rem}.cms-auth-card{border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-sm),0 24px 48px -24px var(--cms-shadow-tint-strong);padding:1.5rem}.cms-auth-footer{color:var(--ui-text-dimmed);font-size:.75rem;text-align:center}.cms-badge{align-items:center;background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:9999px;color:var(--ui-text-toned);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;height:1.375rem;line-height:1;padding:0 .5rem;pointer-events:none;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-badge.is-draft:before,.cms-badge.is-published:before,.cms-badge.is-scheduled:before{border-radius:9999px;content:"";flex:none;height:.375rem;width:.375rem}.cms-badge.is-published{background:color-mix(in oklab,var(--cms-success) 10%,transparent);border-color:color-mix(in oklab,var(--cms-success) 24%,transparent);color:var(--cms-success)}.cms-badge.is-published:before{background:var(--cms-success);box-shadow:0 0 0 3px color-mix(in oklab,var(--cms-success) 22%,transparent)}.cms-badge.is-muted{background:var(--cms-fill);border-color:transparent;border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);font-family:var(--cms-font-mono);font-size:.6875rem;font-weight:400;height:1.25rem;letter-spacing:.02em;padding:0 .4375rem;text-transform:uppercase}.cms-badge.is-scheduled{background:color-mix(in oklab,var(--cms-warning) 10%,transparent);border-color:color-mix(in oklab,var(--cms-warning) 24%,transparent);color:var(--cms-warning)}.cms-badge.is-scheduled:before{box-shadow:inset 0 0 0 1.5px var(--cms-warning)}.cms-badge.is-draft{background:transparent;color:var(--ui-text-muted)}.cms-badge.is-draft:before{box-shadow:inset 0 0 0 1.5px var(--ui-text-dimmed)}.cms-dropzone{align-items:center;background:var(--cms-subtle);border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-lg);color:var(--ui-text-muted);cursor:pointer;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:2rem 1.5rem;transition:border-color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-dropzone>svg{transition:transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-dropzone.is-over,.cms-dropzone:hover{background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--ui-text-highlighted)}.cms-dropzone.is-over>svg,.cms-dropzone:hover>svg{color:var(--cms-accent-text);transform:translateY(-2px)}.cms-dropzone.is-dense{flex-direction:row;gap:.625rem;padding:.875rem 1.25rem}.cms-dropzone.is-busy{opacity:.7;pointer-events:none}.cms-pill{align-items:center;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:9999px;color:var(--ui-text-muted);cursor:pointer;display:inline-flex;flex:none;font-size:.8125rem;font-weight:450;gap:.375rem;height:1.75rem;line-height:1;padding:0 .75rem;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-pill:hover{background:var(--cms-subtle);border-color:var(--cms-line-strong);color:var(--ui-text-highlighted)}.cms-pill:active{scale:.97}.cms-pill.is-active{background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--cms-accent-text)}.cms-pill.is-empty{border-style:dashed}.cms-folder-picker{display:flex;flex-direction:column;gap:.5rem}.cms-folder-picker-list{background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-xs);display:flex;flex-direction:column;gap:1px;max-height:16rem;overflow-y:auto;padding:.25rem}.cms-folder-picker-row{align-items:center;border-radius:var(--cms-radius-sm);color:var(--ui-text-toned);cursor:pointer;display:flex;font-size:.8125rem;gap:.5rem;min-height:1.875rem;padding:.25rem .5rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-folder-picker-row:hover:not(:disabled){background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-folder-picker-row.is-active{background:var(--cms-accent-soft);color:var(--cms-accent-text)}.cms-folder-picker-row:disabled{cursor:not-allowed;opacity:.4}.cms-folder-picker-check{flex:none;margin-left:auto}.cms-folder-picker-empty{padding:.5rem .625rem}.cms-folder-picker-empty,.cms-form-hint{color:var(--ui-text-dimmed);font-size:.8125rem}.cms-dropzone-hint{align-items:center;color:var(--ui-text-dimmed);display:inline-flex;font-size:.75rem;gap:.3rem}@keyframes cms-rise{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}@keyframes cms-enter{0%{opacity:0;transform:translateY(6px)}}@keyframes cms-fade{0%{opacity:0}}@keyframes cms-row-in{0%{opacity:0;transform:translateY(4px)}}@keyframes cms-pop{0%{opacity:0;transform:translateY(-4px) scale(.97)}}@keyframes cms-spin{to{transform:rotate(1turn)}}@keyframes cms-icon-pop{40%{transform:scale(1.18)}}@keyframes cms-icon-spin{0%{opacity:.4;transform:rotate(-60deg) scale(.6)}}@keyframes cms-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes cms-toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}}@keyframes cms-toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes cms-shake{20%,60%{transform:translateX(-3px)}40%,80%{transform:translateX(3px)}}.cms-rise{animation:cms-rise .42s var(--cms-ease-out) both}.cms-rise.is-delayed{animation-delay:90ms}.cms-richtext{background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-xs);overflow:hidden;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease)}.cms-richtext:hover:not(:focus-within){border-color:var(--cms-line-strong)}.cms-richtext:focus-within{border-color:var(--cms-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--cms-accent) 18%,transparent)}.cms-richtext-toolbar{align-items:center;background:var(--cms-subtle);border-bottom:1px solid var(--cms-line);display:flex;flex-wrap:wrap;gap:1px;padding:.25rem}.cms-richtext-body{color:var(--ui-text-highlighted);font-size:.875rem;line-height:1.6;min-height:9rem;outline:none;padding:.75rem .875rem}.cms-richtext-body h2{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;margin:.75em 0 .35em}.cms-richtext-body h3{font-size:1.05rem;font-weight:600;margin:.75em 0 .35em}.cms-richtext-body p{margin:.35em 0}.cms-richtext-body ul{list-style:disc;padding-left:1.25rem}.cms-richtext-body ol{list-style:decimal;padding-left:1.25rem}.cms-richtext-body blockquote{border-left:2px solid var(--cms-accent-line);color:var(--ui-text-muted);padding-left:.75rem}.cms-richtext-body a{color:var(--cms-accent-text);text-decoration:underline;text-decoration-color:var(--cms-accent-line);text-underline-offset:2px}.cms-btn{align-items:center;border:1px solid transparent;border-radius:var(--cms-radius-md);display:inline-flex;font-weight:500;gap:.375rem;justify-content:center;letter-spacing:-.005em;line-height:1;min-height:var(--cms-btn-size);position:relative;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-btn:active:not(:disabled,[aria-disabled=true]){scale:.97}.cms-btn:disabled,.cms-btn[aria-disabled=true]{opacity:.5;pointer-events:none}.cms-btn.is-block{width:100%}.cms-btn.is-icon{justify-content:center;padding-inline:0;width:var(--cms-btn-size)}.cms-btn>svg{transition:transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-btn:hover>svg[data-icon=arrow-left]{transform:translateX(-2px)}.cms-btn:hover>svg[data-icon=arrow-right]{transform:translateX(2px)}.cms-btn-xs{--cms-btn-size:1.5rem;border-radius:var(--cms-radius-sm);font-size:.75rem;padding:.125rem .5rem}.cms-btn-sm{--cms-btn-size:1.75rem;border-radius:7px;font-size:.8125rem;padding:.25rem .625rem}.cms-btn-md{--cms-btn-size:2.125rem;font-size:.8125rem;padding:.25rem .8125rem}.cms-btn-lg{--cms-btn-size:2.5rem;border-radius:10px;font-size:.875rem;padding:.375rem 1.125rem}.cms-btn-primary.cms-btn-solid{background:var(--cms-accent);border-color:color-mix(in oklab,var(--cms-accent) 82%,#000);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18),0 1px 2px color-mix(in oklab,var(--cms-accent) 35%,transparent);color:var(--cms-accent-contrast)}.cms-btn-primary.cms-btn-solid:hover{background:var(--cms-accent-hover);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.22),0 2px 8px -2px color-mix(in oklab,var(--cms-accent) 60%,transparent)}.cms-btn-primary.cms-btn-solid:active{background:color-mix(in oklab,var(--cms-accent) 90%,#000)}.cms-btn-neutral.cms-btn-soft,.cms-btn-primary.cms-btn-soft{background:var(--cms-surface);border-color:var(--cms-field-line);box-shadow:var(--cms-shadow-xs),inset 0 -1px 0 var(--cms-subtle);color:var(--ui-text-highlighted)}.cms-btn-neutral.cms-btn-soft:hover,.cms-btn-primary.cms-btn-soft:hover{background:var(--cms-subtle);border-color:var(--cms-line-strong)}.cms-btn-neutral.cms-btn-soft:active,.cms-btn-primary.cms-btn-soft:active{background:var(--cms-fill)}.cms-btn-neutral.cms-btn-ghost,.cms-btn-primary.cms-btn-ghost{background:transparent;color:var(--ui-text-muted)}.cms-btn-neutral.cms-btn-ghost:hover,.cms-btn-primary.cms-btn-ghost:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-btn-neutral.cms-btn-ghost:active,.cms-btn-primary.cms-btn-ghost:active{background:var(--cms-press)}.cms-btn-neutral.cms-btn-solid{background:var(--cms-text);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.14);color:var(--cms-surface)}.cms-btn-neutral.cms-btn-solid:hover{background:color-mix(in oklab,var(--cms-text) 86%,var(--cms-surface))}.cms-btn-neutral.cms-btn-solid:active{background:color-mix(in oklab,var(--cms-text) 80%,var(--cms-surface))}.cms-btn-error.cms-btn-solid{background:var(--ui-error);border-color:color-mix(in oklab,var(--ui-error) 82%,#000);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18);color:#fff}.cms-btn-error.cms-btn-solid:hover{background:color-mix(in oklab,var(--ui-error) 90%,#000)}.cms-btn-error.cms-btn-solid:active{background:color-mix(in oklab,var(--ui-error) 82%,#000)}.cms-btn-error.cms-btn-soft{background:color-mix(in oklab,var(--ui-error) 9%,transparent);border-color:color-mix(in oklab,var(--ui-error) 22%,transparent);color:var(--ui-error)}.cms-btn-error.cms-btn-soft:hover{background:color-mix(in oklab,var(--ui-error) 15%,transparent);border-color:color-mix(in oklab,var(--ui-error) 34%,transparent)}.cms-btn-error.cms-btn-soft:active{background:color-mix(in oklab,var(--ui-error) 20%,transparent)}.cms-btn-error.cms-btn-ghost{background:transparent;color:var(--ui-error)}.cms-btn-error.cms-btn-ghost:hover{background:color-mix(in oklab,var(--ui-error) 10%,transparent)}.cms-btn-error.cms-btn-ghost:active{background:color-mix(in oklab,var(--ui-error) 16%,transparent)}.cms-btn-success.cms-btn-solid{background:var(--ui-success);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18);color:#fff}.cms-btn-success.cms-btn-solid:hover{background:color-mix(in oklab,var(--ui-success) 90%,#000)}.cms-btn-success.cms-btn-solid:active{background:color-mix(in oklab,var(--ui-success) 82%,#000)}.cms-btn-success.cms-btn-soft{background:color-mix(in oklab,var(--ui-success) 9%,transparent);border-color:color-mix(in oklab,var(--ui-success) 22%,transparent);color:var(--ui-success)}.cms-btn-success.cms-btn-soft:hover{background:color-mix(in oklab,var(--ui-success) 15%,transparent);border-color:color-mix(in oklab,var(--ui-success) 34%,transparent)}.cms-btn-success.cms-btn-soft:active{background:color-mix(in oklab,var(--ui-success) 20%,transparent)}.cms-btn-success.cms-btn-ghost{background:transparent;color:var(--ui-success)}.cms-btn-success.cms-btn-ghost:hover{background:color-mix(in oklab,var(--ui-success) 10%,transparent)}.cms-btn-success.cms-btn-ghost:active{background:color-mix(in oklab,var(--ui-success) 16%,transparent)}.cms-form{container-type:inline-size;display:flex;flex-direction:column;gap:1.375rem}.cms-tabs{align-items:center;align-self:flex-start;background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:inline-flex;gap:2px;margin-bottom:.25rem;max-width:100%;overflow-x:auto;padding:2px}.cms-tab{border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);cursor:pointer;font-size:.8125rem;font-weight:500;height:1.75rem;padding:0 .75rem;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-tab.is-active,.cms-tab:hover{color:var(--ui-text-highlighted)}.cms-tab.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised)}.cms-form-field{display:flex;flex-direction:column;gap:.4375rem}.cms-form-label-row{align-items:center;display:flex;gap:.75rem;justify-content:space-between;min-height:1.5rem}.cms-form-label{align-items:center;color:var(--ui-text-toned);display:inline-flex;font-size:.8125rem;font-weight:500;gap:.4375rem}.cms-form-label-icon{color:var(--ui-text-dimmed);flex:none;transition:color var(--cms-duration) var(--cms-ease)}.cms-form-field:focus-within .cms-form-label-icon{color:var(--cms-accent-text)}.cms-form-error,.cms-form-required{color:var(--ui-error)}.cms-form-required{margin-left:-.25rem}.cms-form-error,.cms-form-warning{align-items:center;animation:cms-enter .26s var(--cms-ease-out) backwards;display:flex;font-size:.8125rem;gap:.375rem}.cms-form-warning{color:var(--ui-warning)}.cms-form-field.is-error .cms-field,.cms-form-field.is-error .cms-richtext{animation:cms-shake .32s var(--cms-ease)}.cms-form-description{color:var(--ui-text-muted);font-size:.75rem;line-height:1.45;margin-top:-.125rem}.cms-form-layout{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}.cms-form-main{display:flex;flex-direction:column;gap:1.375rem;min-width:0}.cms-form-section.is-titled{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg)}.cms-form-section-header{align-items:center;border-radius:var(--cms-radius-lg);display:flex;gap:.75rem;padding:.875rem 1rem;text-align:left;width:100%}.cms-form-section-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-form-section-title{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:600}.cms-form-section-description{color:var(--ui-text-muted);font-size:.75rem}.cms-form-section-chevron{color:var(--ui-text-dimmed);flex:none;transition:transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-form-section.is-collapsed .cms-form-section-chevron{transform:rotate(-90deg)}.cms-form-rows{display:flex;flex-direction:column;gap:1.375rem}.cms-form-section.is-titled>.cms-form-rows{border-top:1px solid var(--cms-line);padding:1rem 1rem 1.125rem}.cms-form-row{display:grid;gap:1.375rem 1rem;grid-template-columns:minmax(0,1fr)}@container (min-width: 32rem){.cms-form-row{grid-template-columns:repeat(var(--cms-row-cols,1),minmax(0,1fr))}}.cms-form-actions{align-items:center;display:flex;gap:.5rem;justify-content:flex-end;padding-top:.25rem}.cms-field{background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--ui-radius);box-shadow:var(--cms-shadow-xs);color:var(--ui-text-highlighted);line-height:1.25;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease);width:100%}textarea.cms-field{line-height:1.5;min-height:0;padding-bottom:.5rem;padding-top:.5rem;resize:vertical}.cms-field::-moz-placeholder{color:var(--ui-text-dimmed)}.cms-field::placeholder{color:var(--ui-text-dimmed)}.cms-field:hover:not(:focus,:focus-within){border-color:var(--cms-line-strong)}.cms-field:focus,.cms-field:focus-within{border-color:var(--cms-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--cms-accent) 18%,transparent);outline:none}.cms-field.is-error{border-color:var(--ui-error)}.cms-field:disabled{background:var(--cms-subtle);box-shadow:none;color:var(--ui-text-muted);cursor:not-allowed}.cms-field.is-error:focus,.cms-field.is-error:focus-within{border-color:var(--ui-error);box-shadow:0 0 0 3px color-mix(in oklab,var(--ui-error) 18%,transparent)}.cms-field-sm{font-size:.8125rem;min-height:1.75rem;padding:.25rem .625rem}.cms-field-md{font-size:.875rem;min-height:2.125rem;padding:.25rem .75rem}.cms-field-lg{font-size:.9375rem;min-height:2.5rem;padding:.375rem .875rem}.cms-field[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;-webkit-transition:opacity var(--cms-duration) var(--cms-ease);transition:opacity var(--cms-duration) var(--cms-ease)}.cms-field[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.9}.cms-select-chevron{align-items:center;cursor:pointer;display:inline-flex;transition:transform var(--cms-duration-lg) var(--cms-ease-out),color var(--cms-duration) var(--cms-ease)}.cms-select-chevron:hover{color:var(--ui-text-muted)}.cms-select-chevron.is-open{transform:rotate(180deg)}.cms-locale-switch{align-items:center;background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-sm);display:inline-flex;gap:1px;padding:2px}.cms-locale-option{border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);cursor:pointer;font-family:var(--cms-font-mono);font-size:.65625rem;letter-spacing:.04em;line-height:1.4;padding:.125rem .4375rem;position:relative;text-transform:uppercase;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-locale-option:hover:not(.is-active){color:var(--ui-text-highlighted)}.cms-locale-option.is-empty{color:var(--ui-text-dimmed)}.cms-locale-option.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--cms-accent-text)}.cms-input-wrap{align-items:center;display:flex;position:relative;width:100%}.cms-input-wrap .cms-field{width:100%}.cms-input-lead,.cms-input-trail{align-items:center;color:var(--ui-text-dimmed);display:flex;position:absolute;transition:color var(--cms-duration) var(--cms-ease)}.cms-input-lead{left:.6875rem;pointer-events:none}.cms-input-wrap:focus-within .cms-input-lead{color:var(--cms-accent-text)}.cms-input-trail{right:.375rem}.cms-input-wrap.has-lead .cms-field{padding-left:2.0625rem}.cms-switch{align-items:center;background:var(--cms-line-strong);border-radius:9999px;box-shadow:inset 0 1px 2px rgba(0,0,0,.08);display:inline-flex;flex-shrink:0;height:1.25rem;position:relative;transition:background-color .2s var(--cms-ease);width:2.125rem}.cms-switch:hover{background:color-mix(in oklab,var(--cms-line-strong) 80%,var(--cms-text))}.cms-switch.is-on{background:var(--cms-accent)}.cms-switch.is-on:hover{background:var(--cms-accent-hover)}.cms-switch:after{background:#fff;border-radius:9999px;box-shadow:0 1px 2px rgba(0,0,0,.2),0 0 0 .5px rgba(0,0,0,.04);content:"";height:1rem;left:.125rem;position:absolute;transition:transform .3s var(--cms-ease-spring),width .16s var(--cms-ease);width:1rem}.cms-switch.is-on:after{transform:translateX(.875rem)}.cms-switch:active:after{width:1.25rem}.cms-switch.is-on:active:after{transform:translateX(.625rem)}.cms-overlay{align-items:center;backdrop-filter:blur(3px);background:var(--cms-scrim);display:flex;inset:0;justify-content:center;overflow-y:auto;padding:2rem 1rem;position:fixed;z-index:60}.cms-modal{background:var(--cms-surface);border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-overlay);display:flex;flex-direction:column;max-height:calc(100dvh - 4rem);max-width:32rem;width:100%}.cms-modal.is-sm{max-width:26rem}.cms-modal.is-lg{max-width:50rem}.cms-modal-header{padding:1.125rem 1.25rem 0}.cms-modal-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.25rem 1.25rem}.cms-modal-enter-active,.cms-modal-leave-active{transition:opacity var(--cms-duration-lg) var(--cms-ease)}.cms-modal-enter-active .cms-modal{transition:transform .36s var(--cms-ease-out),opacity var(--cms-duration-lg) var(--cms-ease);will-change:transform}.cms-modal-leave-active .cms-modal{transition:transform .18s var(--cms-ease),opacity .18s var(--cms-ease)}.cms-modal-enter-from,.cms-modal-leave-to{opacity:0}.cms-modal-enter-from .cms-modal,.cms-modal-leave-to .cms-modal{opacity:0;transform:translateY(8px) scale(.97)}.cms-kbd{align-items:center;background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);display:inline-flex;font-family:var(--cms-font-mono);font-size:.6875rem;height:1.25rem;justify-content:center;line-height:1;min-width:1.25rem;padding:0 .3125rem}.cms-search-trigger{align-items:center;background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-xs);color:var(--ui-text-dimmed);cursor:text;display:flex;font-size:.8125rem;gap:.5rem;height:2rem;margin-top:-.5rem;padding:0 .375rem 0 .625rem;transition:border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-search-trigger:hover{border-color:var(--cms-line-strong);color:var(--ui-text-muted)}.cms-search-trigger:focus-visible{border-color:var(--cms-accent);box-shadow:0 0 0 3px var(--cms-accent-soft);outline:none}.cms-search-trigger-text{flex:1;text-align:left}.cms-search-overlay{align-items:flex-start;padding-top:min(14vh,8rem)}.cms-search{max-height:min(36rem,calc(100dvh - 6rem));max-width:40rem;overflow:hidden}.cms-search-bar{align-items:center;border-bottom:1px solid var(--cms-line);display:flex;gap:.625rem;padding:.75rem 1rem}.cms-search-bar-icon{color:var(--ui-text-dimmed)}.cms-search-bar .cms-spinner{flex:none;padding:0}.cms-search-bar .cms-spinner-ring{height:1rem;width:1rem}.cms-search-input{background:transparent;border:0;color:var(--ui-text-highlighted);flex:1;font-size:1rem;height:2rem;min-width:0;outline:none}.cms-search-input::-moz-placeholder{color:var(--ui-text-dimmed)}.cms-search-input::placeholder{color:var(--ui-text-dimmed)}.cms-search-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.375rem}.cms-search-hint{color:var(--ui-text-muted);font-size:.8125rem;padding:1.25rem .75rem;text-align:center}.cms-search-group+.cms-search-group{margin-top:.375rem}.cms-search-group-title{align-items:baseline;color:var(--ui-text-muted);display:flex;font-size:.6875rem;font-weight:500;gap:.5rem;padding:.5rem .625rem .25rem}.cms-search-group-kind{color:var(--ui-text-dimmed);font-weight:400}.cms-search-option{align-items:flex-start;border-radius:var(--cms-radius-md);cursor:pointer;display:flex;gap:.625rem;padding:.5rem .625rem}.cms-search-option.is-active{background:var(--cms-accent-soft)}.cms-search-option-icon{color:var(--ui-text-dimmed);margin-top:.125rem}.cms-search-option.is-active .cms-search-option-icon{color:var(--cms-accent-text)}.cms-search-option-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-search-option-head{align-items:center;display:flex;gap:.5rem;min-width:0}.cms-search-option-title{color:var(--ui-text-highlighted);font-weight:500}.cms-search-option-meta,.cms-search-option-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-search-option-meta{color:var(--ui-text-muted);font-size:.75rem}.cms-search-snippet{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;-webkit-box-orient:vertical;color:var(--ui-text-toned);font-size:.8125rem;line-height:1.45}.cms-search-mark{background:color-mix(in oklab,var(--cms-warning) 26%,transparent);border-radius:2px;color:inherit}.cms-search-footer{border-top:1px solid var(--cms-line);color:var(--ui-text-dimmed);display:flex;flex-wrap:wrap;font-size:.6875rem;gap:1rem;padding:.5rem 1rem}.cms-search-footer span{align-items:center;display:inline-flex;gap:.25rem}.cms-form-field.is-search-focus{animation:cms-search-focus 2.4s var(--cms-ease);border-radius:var(--cms-radius-md)}@keyframes cms-search-focus{0%,60%{background:var(--cms-accent-soft);box-shadow:0 0 0 6px var(--cms-accent-soft)}to{background:transparent;box-shadow:0 0 0 6px transparent}}.cms-settings{flex-direction:row;height:min(42rem,calc(100dvh - 4rem));max-width:60rem;overflow:hidden}.cms-settings-nav{background:var(--cms-subtle);border-right:1px solid var(--cms-line);display:flex;flex:none;flex-direction:column;gap:1px;padding:.625rem;width:12.5rem}.cms-settings-close{margin-bottom:.5rem}.cms-settings-tab{align-items:center;border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;font-size:.8125rem;font-weight:500;gap:.5rem;height:2rem;padding-inline:.5rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-settings-tab:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-settings-tab.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--ui-text-highlighted)}.cms-settings-tab.is-danger{color:var(--ui-error)}.cms-settings-tab.is-danger:hover{background:color-mix(in oklab,var(--ui-error) 10%,transparent);color:var(--ui-error)}.cms-settings-nav-list{display:flex;flex:1;flex-direction:column;gap:1px;margin-inline:-.25rem;min-height:0;overflow-y:auto;padding-inline:.25rem}.cms-settings-nav-label{color:var(--ui-text-dimmed);font-size:.6875rem;font-weight:500;margin:.875rem 0 .25rem;padding-inline:.5rem}.cms-settings-entry{display:flex;flex-direction:column;gap:1rem;min-height:100%}.cms-settings-entry>*{flex-shrink:0}.cms-settings-entry-header{align-items:flex-start;border-bottom:1px solid var(--cms-line);display:flex;gap:1rem;justify-content:space-between;padding-bottom:.875rem}.cms-settings-status{color:var(--ui-text-dimmed);flex:none;font-size:.75rem;padding-top:.25rem;transition:color var(--cms-duration) var(--cms-ease)}.cms-settings-status.is-saved{color:var(--ui-success)}.cms-settings-status.is-error{color:var(--ui-error)}.cms-settings-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:.5rem}.cms-settings-subtitle{color:var(--ui-text-muted);font-size:.75rem;font-weight:500;margin:.75rem 0 .375rem}.cms-settings-list{border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;overflow:hidden}.cms-settings-columns>.cms-settings-list{margin-top:.75rem}.cms-settings-item{align-items:center;background:var(--cms-surface);display:flex;gap:.5rem;min-height:2.5rem;padding:.25rem .75rem;position:relative;transition:background-color var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease)}.cms-settings-item+.cms-settings-item{border-top:1px solid var(--cms-line)}.cms-settings-item.is-draggable{cursor:grab}.cms-settings-item.is-draggable:hover{background:var(--cms-subtle)}.cms-settings-item.is-dragging{opacity:.4}.cms-settings-drop-end.is-over:before,.cms-settings-item.is-drop-before:before{background:var(--cms-accent);border-radius:9999px;content:"";height:2px;left:.5rem;position:absolute;right:.5rem;top:-1px}.cms-settings-drop-end{height:.75rem;position:relative}.cms-settings-item.is-muted .cms-settings-item-label{color:var(--ui-text-muted)}.cms-settings-grip,.cms-settings-item-icon{color:var(--ui-text-dimmed);flex:none}.cms-settings-item-label{color:var(--ui-text-highlighted);flex:1;font-size:.8125rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-layout-editor{display:flex;flex-direction:column;gap:.25rem}.cms-layout-areas{display:flex;flex-direction:column;margin-top:.5rem}.cms-layout-area{display:flex;flex-direction:column;gap:.5rem;min-width:0}.cms-layout-section{background:var(--cms-subtle);border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;padding:.25rem .5rem}.cms-layout-section.is-titled{background:var(--cms-surface);border-color:var(--cms-line);border-style:solid}.cms-layout-section-title{align-items:center;color:var(--ui-text-highlighted);display:flex;font-size:.75rem;font-weight:600;gap:.5rem;padding:.375rem .125rem .125rem}.cms-layout-chip,.cms-layout-row{display:flex;gap:.375rem}.cms-layout-chip{align-items:center;background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-sm);box-shadow:var(--cms-shadow-xs);cursor:grab;flex:1;height:2.125rem;min-width:0;padding:0 .5rem;position:relative;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease)}.cms-layout-chip:hover{border-color:var(--cms-line-strong)}.cms-layout-chip.is-dragging{opacity:.35}.cms-layout-chip.is-blocked{border-color:var(--ui-error);cursor:not-allowed}.cms-layout-chip.is-drop-after:after,.cms-layout-chip.is-drop-before:before{background:var(--cms-accent);border-radius:9999px;bottom:.25rem;content:"";position:absolute;top:.25rem;width:2px}.cms-layout-chip.is-drop-before:before{left:-.25rem}.cms-layout-chip.is-drop-after:after{right:-.25rem}.cms-layout-chip-label{color:var(--ui-text-highlighted);flex:1;font-size:.75rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-layout-chip-tab{background:var(--cms-fill);border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);flex:none;font-size:.625rem;line-height:1rem;padding:0 .3125rem}.cms-layout-gap{height:.375rem;position:relative;transition:height var(--cms-duration) var(--cms-ease)}.cms-layout-editor.is-dragging .cms-layout-gap{height:.75rem}.cms-layout-gap.is-over:before{background:var(--cms-accent);border-radius:9999px;content:"";height:2px;left:0;margin-top:-1px;position:absolute;right:0;top:50%}.cms-layout-editor.is-dragging .cms-layout-gap.is-empty,.cms-layout-gap.is-empty{color:var(--ui-text-dimmed);display:grid;font-size:.75rem;height:2.5rem;place-items:center}.cms-layout-empty{border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-md);color:var(--ui-text-dimmed);display:grid;font-size:.75rem;min-height:5rem;padding:1rem;place-items:center;text-align:center;transition:border-color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-layout-empty.is-over{background:var(--cms-accent-soft);border-color:var(--cms-accent);color:var(--cms-accent-text)}.cms-settings-divider{border:0;border-top:1px solid var(--cms-line);margin:.375rem .25rem}.cms-settings-content{display:flex;flex:1;flex-direction:column;gap:1.25rem;min-width:0;overflow-y:auto;padding:1.25rem 1.5rem 1.5rem}.cms-settings-content>.cms-title{border-bottom:1px solid var(--cms-line);padding-bottom:.875rem}.cms-settings-group{display:flex;flex-direction:column;gap:.75rem}.cms-settings-group+.cms-settings-group{border-top:1px solid var(--cms-line);padding-top:1.25rem}.cms-settings-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.cms-settings-heading{display:flex;flex-direction:column;gap:.125rem;min-width:0}.cms-settings-label{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:500}.cms-settings-hint{color:var(--ui-text-muted);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis}.cms-theme-cards{display:grid;gap:.625rem;grid-template-columns:repeat(3,minmax(0,1fr))}.cms-theme-card{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;flex-direction:column;gap:.5rem;padding:.375rem;text-align:left;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease)}.cms-theme-card:hover{border-color:var(--cms-line-strong)}.cms-theme-card.is-active{border-color:var(--cms-accent);box-shadow:0 0 0 3px var(--cms-accent-soft)}.cms-theme-preview{border-radius:var(--cms-radius-md);box-shadow:inset 0 0 0 1px var(--cms-line);display:flex;height:4.5rem;overflow:hidden;position:relative}.cms-theme-preview-app{background:var(--cms-canvas);display:flex;flex:1;gap:.25rem;min-width:0;padding:.375rem 0 0 .375rem}.cms-theme-preview-app.is-light{color-scheme:light}.cms-theme-preview-app.is-dark{color-scheme:dark}.cms-theme-preview.is-system .cms-theme-preview-app.is-dark{clip-path:inset(50% 0 0 0);inset:0;position:absolute}.cms-theme-preview.is-system:after{background:var(--cms-line-strong);content:"";height:1px;inset:50% 0 auto;position:absolute}.cms-theme-preview-side{background:var(--cms-fill);border-radius:3px;flex:none;margin-bottom:.375rem;width:22%}.cms-theme-preview-panel{background:var(--cms-surface);border-radius:5px 0 0 0;box-shadow:inset 0 0 0 1px var(--cms-line);display:flex;flex:1;flex-direction:column;gap:.25rem;padding:.5rem .375rem}.cms-theme-preview-line{background:var(--cms-fill);border-radius:9999px;height:.25rem}.cms-theme-preview-line.is-accent{background:var(--cms-accent);width:45%}.cms-theme-preview-line.is-short{width:60%}.cms-theme-card-label{align-items:center;color:var(--ui-text-toned);display:flex;font-size:.8125rem;font-weight:500;gap:.375rem;padding:0 .25rem .125rem}.cms-theme-card.is-active .cms-theme-card-label{color:var(--ui-text-highlighted)}.cms-theme-card-check{animation:cms-icon-pop .3s var(--cms-ease-spring);color:var(--cms-accent-text);margin-left:auto}@media (max-width:639px){.cms-settings{flex-direction:column;height:auto}.cms-settings-nav{align-items:center;border-bottom:1px solid var(--cms-line);border-right:0;flex:none;flex-direction:row;gap:.25rem;overflow-x:auto;width:auto}.cms-settings-nav-list{display:contents}.cms-settings-close,.cms-settings-nav .cms-settings-tab{flex:none;margin-bottom:0;width:auto}.cms-settings-divider,.cms-settings-nav-label{display:none}.cms-theme-cards{grid-template-columns:repeat(3,minmax(5.5rem,1fr))}}.cms-overlay-drawer{align-items:stretch;justify-content:flex-end;overflow:hidden;padding:.5rem;z-index:55}.cms-drawer{background:var(--cms-surface);border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-overlay);display:flex;flex-direction:column;height:100%;max-width:46rem;overflow:hidden;width:100%}.cms-drawer-header{align-items:center;border-bottom:1px solid var(--cms-line);display:flex;gap:1rem;justify-content:space-between;min-height:3.5rem;padding:.625rem .75rem .625rem 1.5rem}.cms-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:1.5rem}.cms-drawer-footer{align-items:center;background:var(--cms-subtle);border-top:1px solid var(--cms-line);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem .75rem 1.25rem}.cms-drawer-enter-active,.cms-drawer-leave-active{transition:opacity var(--cms-duration-lg) var(--cms-ease)}.cms-drawer-enter-active .cms-drawer{transition:transform .42s var(--cms-ease-drawer);will-change:transform}.cms-drawer-leave-active .cms-drawer{transition:transform .26s var(--cms-ease)}.cms-drawer-enter-from,.cms-drawer-leave-to{opacity:0}.cms-drawer-enter-from .cms-drawer,.cms-drawer-leave-to .cms-drawer{transform:translateX(calc(100% + 1rem))}.cms-menu{animation:cms-pop .16s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);margin-top:.375rem;min-width:12rem;padding:.25rem;position:absolute;transform-origin:top left;z-index:50}.cms-menu.align-end{right:0;transform-origin:top right}.cms-menu-item{align-items:center;border-radius:var(--cms-radius-sm);color:var(--ui-text);cursor:pointer;display:flex;font-size:.8125rem;gap:.5rem;min-height:1.875rem;padding:.25rem .5rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-menu-item:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-menu-check{animation:cms-icon-pop .3s var(--cms-ease-spring);color:var(--cms-accent-text);margin-left:auto}.cms-popover{animation:cms-pop .16s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);margin-top:.375rem;position:absolute;transform-origin:top left;z-index:50}.cms-selectmenu-input{background:transparent;color:var(--ui-text-highlighted);flex:1 1 0;min-width:4rem;outline:none;width:0}.cms-selectmenu-affix{color:var(--ui-text-dimmed);flex-shrink:0}.cms-selectmenu-panel{animation:cms-pop .16s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);left:0;margin-top:.375rem;max-height:15rem;overflow-y:auto;padding:.25rem;position:absolute;right:0;transform-origin:top center;z-index:50}.cms-tag{align-items:center;animation:cms-pop .18s var(--cms-ease-out);background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-sm);color:var(--ui-text-highlighted);display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;height:1.375rem;padding:0 .3125rem 0 .5rem}.cms-media-gallery{display:flex;flex-direction:column;gap:1.25rem;position:relative}.cms-media-source{color:var(--ui-text-dimmed);font-size:.75rem;margin-top:-.75rem}.cms-media-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.cms-blocks-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.cms-blocks-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.cms-blocks-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.cms-block-tile{overflow:hidden;transition:opacity var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-block-tile:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm)}.cms-block-tile.is-muted{opacity:.45}.cms-block-preview{align-items:center;aspect-ratio:4/3;background:var(--cms-subtle);color:var(--ui-text-dimmed);display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.cms-block-preview>img,.cms-block-preview>video{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .5s var(--cms-ease-out);width:100%}.cms-block-tile:hover .cms-block-preview>img,.cms-block-tile:hover .cms-block-preview>video{transform:scale(1.03)}.cms-block-tile.is-media-only{cursor:grab}.cms-block-tile.is-media-only:focus-visible{outline:2px solid color-mix(in oklab,var(--cms-accent) 70%,transparent);outline-offset:2px}.cms-block-tile.is-media-only.is-dragging{cursor:grabbing}.cms-block-tile.is-media-only .cms-block-preview{aspect-ratio:1}.cms-block-remove{backdrop-filter:blur(6px);background:rgba(0,0,0,.55);border-radius:9999px;color:#fff;display:grid;height:1.5rem;opacity:0;place-items:center;position:absolute;right:.375rem;scale:.85;top:.375rem;transition:opacity var(--cms-duration) var(--cms-ease),scale var(--cms-duration-lg) var(--cms-ease-spring),background-color var(--cms-duration) var(--cms-ease);width:1.5rem;z-index:1}.cms-block-tile:focus-within .cms-block-remove,.cms-block-tile:hover .cms-block-remove{opacity:1;scale:1}.cms-block-remove:hover{background:var(--cms-error)}@media (hover:none){.cms-block-remove{opacity:1;scale:1}}.cms-block-missing{background:var(--ui-warning);border-radius:9999px;bottom:.375rem;color:#fff;display:grid;height:1.5rem;left:.375rem;place-items:center;position:absolute;width:1.5rem}.cms-block-summary{color:var(--ui-text-muted);font-size:.75rem;line-height:1.5;padding:.75rem;text-align:left}.cms-block-hidden{color:#fff;filter:drop-shadow(0 1px 2px rgb(0 0 0/.6));left:.5rem;position:absolute;top:.5rem}.cms-block-tile.is-dragging{opacity:.4;transform:scale(.98)}.cms-block-tile.is-drop-target{outline:2px solid var(--cms-accent);outline-offset:2px}.cms-block-bar{border-top:1px solid var(--cms-line);gap:.25rem;padding:.3125rem}.cms-block-bar,.cms-block-grip{align-items:center;display:flex}.cms-block-grip{border-radius:var(--cms-radius-xs);color:var(--ui-text-dimmed);cursor:grab;justify-content:center;padding:.25rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-block-grip:hover{background:var(--cms-hover);color:var(--ui-text-muted)}.cms-block-tile.is-dragging .cms-block-grip{cursor:grabbing}.cms-block-bar-name{color:var(--ui-text-toned);flex:1;font-size:.75rem;font-weight:500;overflow:hidden;padding-left:.25rem;text-overflow:ellipsis;white-space:nowrap}.cms-block-bar-actions{align-items:center;display:flex;gap:1px}.cms-block-add{align-items:center;background:var(--cms-subtle);border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-lg);color:var(--ui-text-muted);display:flex;flex-direction:column;font-size:.8125rem;font-weight:500;gap:.375rem;justify-content:center;min-height:6rem;transition:border-color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-block-add:hover:not(:disabled){background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--cms-accent-text)}.cms-block-add:disabled{cursor:not-allowed;opacity:.55}.cms-media-gallery.is-compact{gap:1rem}.cms-media-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.cms-media-search{flex:1 1 16rem;min-width:0}.cms-media-search-clear{border-radius:var(--cms-radius-xs);color:var(--ui-text-dimmed);cursor:pointer;display:flex;padding:.1875rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-media-search-clear:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-media-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.cms-media-view-toggle{background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:inline-flex;gap:2px;padding:2px}.cms-media-view-toggle .cms-btn{--cms-btn-size:1.625rem;border-radius:var(--cms-radius-sm)}.cms-media-view-toggle .cms-btn-soft{background:var(--cms-surface);border-color:transparent;box-shadow:var(--cms-shadow-raised)}.cms-media-nav{gap:.5rem;justify-content:space-between;min-height:1.75rem}.cms-media-crumbs,.cms-media-nav{align-items:center;display:flex;flex-wrap:wrap}.cms-media-crumbs{gap:.125rem;min-width:0}.cms-media-crumb{align-items:center;border:1px solid transparent;border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;gap:.375rem;height:1.75rem;padding:0 .5rem;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-media-crumb:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-media-crumb.is-current,.cms-media-crumb.is-current:hover{background:transparent;color:var(--ui-text-highlighted);cursor:default}.cms-media-crumb.is-drop{background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--cms-accent-text)}.cms-media-folder-actions{align-items:center;display:flex;gap:.25rem}.cms-media-progress{animation:cms-enter .26s var(--cms-ease-out) backwards;background:var(--cms-accent-soft);border:1px solid var(--cms-accent-line);border-radius:var(--cms-radius-md);color:var(--cms-accent-text);font-size:.8125rem;overflow:hidden;padding:.5rem .75rem;position:relative}.cms-media-progress,.cms-media-selection{align-items:center;display:flex;gap:.5rem}.cms-media-selection{animation:cms-pop .2s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:0 0 0 1px var(--cms-accent-line),0 12px 28px -10px var(--cms-shadow-tint-strong);flex-wrap:wrap;padding:.3125rem .375rem .3125rem .875rem;position:sticky;top:.75rem;z-index:5}.cms-media-selection-count{align-items:center;color:var(--ui-text-highlighted);display:inline-flex;font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:600;gap:.5rem}.cms-media-selection-count:before{background:var(--cms-accent);border-radius:9999px;box-shadow:0 0 0 3px var(--cms-accent-soft);content:"";height:.5rem;width:.5rem}.cms-media-selection-actions{align-items:center;display:flex;gap:.375rem;margin-left:auto}.cms-media-section{display:flex;flex-direction:column;gap:.625rem}.cms-media-section-title{align-items:center;color:var(--ui-text-muted);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem}.cms-media-folders{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.cms-media-gallery.is-compact .cms-media-folders{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.cms-media-folder-tile{align-items:center;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);cursor:pointer;display:flex;gap:.75rem;min-width:0;padding:.625rem .75rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-folder-tile:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm);transform:translateY(-1px)}.cms-media-folder-tile.is-drop{background:var(--cms-accent-soft);border-color:var(--cms-accent-line)}.cms-media-folder-tile-icon{background:var(--cms-accent-soft);border-radius:var(--cms-radius-md);box-sizing:content-box;color:var(--cms-accent-text);flex:none;height:1.125rem;padding:.4375rem;width:1.125rem}.cms-media-folder-tile-text{display:flex;flex-direction:column;min-width:0}.cms-media-folder-tile-name{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-folder-tile-meta{color:var(--ui-text-dimmed);font-size:.75rem}.cms-media-row.is-checked,.cms-media-tile.is-checked{border-color:var(--cms-accent)}.cms-media-tile.is-checked{box-shadow:0 0 0 3px var(--cms-accent-soft)}.cms-media-row.is-checked{background:var(--cms-accent-soft)}.cms-media-tile.is-checked .cms-media-preview>img,.cms-media-tile.is-checked .cms-media-preview>video{border-radius:var(--cms-radius-md);transform:scale(.94)}.cms-media-row.is-dragging,.cms-media-tile.is-dragging{opacity:.45}.cms-media-check{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.3);border:1.5px solid hsla(0,0%,100%,.9);border-radius:9999px;color:transparent;cursor:pointer;display:flex;height:1.25rem;justify-content:center;left:.5rem;opacity:0;position:absolute;scale:.85;top:.5rem;transition:opacity var(--cms-duration) var(--cms-ease),scale var(--cms-duration-lg) var(--cms-ease-spring),background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:1.25rem;z-index:1}.cms-media-check.is-on,.cms-media-check.is-visible,.cms-media-tile:focus-visible .cms-media-check,.cms-media-tile:hover .cms-media-check{opacity:1;scale:1}.cms-media-check.is-on{background:var(--cms-accent);border-color:var(--cms-accent);color:var(--cms-accent-contrast)}.cms-media-row .cms-media-check{backdrop-filter:none;background:var(--cms-field);border-color:var(--cms-line-strong);border-radius:var(--cms-radius-xs);flex:none;height:1rem;position:static;width:1rem}.cms-media-row .cms-media-check.is-on{background:var(--cms-accent);border-color:var(--cms-accent)}.cms-media-grid.is-recent{gap:.5rem;grid-template-columns:repeat(6,minmax(0,1fr))}.cms-media-grid.is-recent .cms-media-tile{border-radius:var(--cms-radius-md)}.cms-media-list{display:flex;flex-direction:column;overflow:hidden}.cms-media-row{align-items:center;animation:cms-row-in .32s var(--cms-ease-out) backwards;border:1px solid transparent;border-bottom:1px solid var(--cms-line);cursor:pointer;display:flex;gap:.875rem;padding:.4375rem .875rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-media-row:last-child{border-bottom-color:transparent}.cms-media-row:hover{background:var(--cms-subtle)}.cms-media-row-name{color:var(--ui-text-highlighted);display:flex;flex:1;flex-direction:column;font-size:.8125rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-row-cell{color:var(--ui-text-muted);flex:none;font-size:.75rem;font-variant-numeric:tabular-nums;text-align:right;width:5.5rem}.cms-media-row-cell.is-mono{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem;text-transform:uppercase;width:3.5rem}@media (max-width:640px){.cms-media-row-cell.is-wide{display:none}.cms-media-grid.is-recent{grid-template-columns:repeat(3,minmax(0,1fr))}}.cms-media-drop-overlay{align-items:center;animation:cms-fade .16s var(--cms-ease);backdrop-filter:blur(4px);background:color-mix(in oklab,var(--cms-surface) 84%,transparent);border:1.5px dashed var(--cms-accent);border-radius:var(--cms-radius-xl);color:var(--ui-text-highlighted);display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;inset:-.5rem;justify-content:center;pointer-events:none;position:absolute;z-index:10}.cms-media-drop-overlay>svg{animation:cms-float 1.6s ease-in-out infinite}.cms-media-drop-overlay strong,.cms-media-drop-overlay>svg{color:var(--cms-accent-text)}.cms-media-upload-hint{margin-top:.75rem;text-align:center}.cms-media-detail{display:flex;flex-direction:column;gap:1.5rem}.cms-media-detail-preview{align-items:center;background:repeating-conic-gradient(var(--cms-subtle) 0 25%,var(--cms-surface) 0 50%) 50% /1.25rem 1.25rem;border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);color:var(--ui-text-dimmed);display:flex;justify-content:center;max-height:24rem;min-height:12rem;overflow:hidden}.cms-media-detail-preview>img,.cms-media-detail-preview>video{animation:cms-fade .3s var(--cms-ease);max-height:24rem;max-width:100%;-o-object-fit:contain;object-fit:contain}.cms-media-detail-facts{background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:grid;font-size:.8125rem;gap:.5rem 1.5rem;grid-template-columns:max-content minmax(0,1fr);padding:.875rem 1rem}.cms-media-detail-facts dt{color:var(--ui-text-muted)}.cms-media-detail-facts dd{color:var(--ui-text-highlighted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-detail-facts dd.is-mono{font-family:var(--cms-font-mono);font-size:.75rem;line-height:1.6}.cms-media-detail-usage{display:flex;flex-direction:column;gap:.625rem}.cms-media-usage-list{border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;overflow:hidden}.cms-media-usage-list li+li{border-top:1px solid var(--cms-line)}.cms-media-usage-link{display:flex;flex-direction:column;gap:.125rem;padding:.5rem .75rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-media-usage-link:hover{background:var(--cms-subtle)}.cms-media-usage-title{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-media-usage-meta{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem}.cms-media-usage-badge{align-items:center;color:var(--cms-accent-text);display:inline-flex;flex:none;font-size:.6875rem;font-weight:500;gap:.25rem;white-space:nowrap}.cms-media-usage-badge.is-unused{color:var(--ui-text-dimmed);font-weight:400}.cms-media-row-cell.is-usage{width:7.5rem}.cms-confirm-groups{display:flex;flex-direction:column;gap:.875rem;max-height:min(50vh,24rem);overflow-y:auto}.cms-confirm-group{display:flex;flex-direction:column;gap:.375rem}.cms-confirm-group-title{color:var(--ui-text-toned);font-family:var(--cms-font-mono);font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-grid{display:grid;gap:.875rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.cms-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.cms-media-grid:not(.is-compact){grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.cms-media-grid:not(.is-compact){grid-template-columns:repeat(5,minmax(0,1fr))}}.cms-media-tile{overflow:hidden;text-align:left;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-grid>.cms-media-tile{animation:cms-row-in .38s var(--cms-ease-out) backwards}.cms-media-tile.is-selectable{cursor:pointer}.cms-media-tile.is-selectable:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm);transform:translateY(-2px)}.cms-media-preview{align-items:center;aspect-ratio:1;background:var(--cms-subtle);color:var(--ui-text-dimmed);display:flex;justify-content:center;overflow:hidden;position:relative}.cms-media-preview>img,.cms-media-preview>video{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .5s var(--cms-ease-out),border-radius var(--cms-duration-lg) var(--cms-ease);width:100%}.cms-media-tile.is-selectable:hover:not(.is-checked) .cms-media-preview>img,.cms-media-tile.is-selectable:hover:not(.is-checked) .cms-media-preview>video{transform:scale(1.04)}.cms-media-info{background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);bottom:0;color:#fff;font-family:var(--cms-font-mono);font-size:.6875rem;left:0;letter-spacing:.02em;line-height:1.4;opacity:0;padding:1.75rem .625rem .5rem;pointer-events:none;position:absolute;right:0;text-transform:uppercase;transform:translateY(4px);transition:opacity var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-tile:focus-visible .cms-media-info,.cms-media-tile:hover .cms-media-info{opacity:1;transform:none}.cms-media-meta{border-top:1px solid var(--cms-line);display:flex;flex-direction:column;gap:.25rem;padding:.5625rem .75rem}.cms-media-name{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-media-folder,.cms-media-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-folder{align-items:center;color:var(--ui-text-dimmed);display:inline-flex;font-size:.75rem;font-weight:400;gap:.25rem}.cms-media-single{max-width:15rem;width:100%}.cms-block-tile.is-missing{border-color:color-mix(in oklab,var(--ui-warning) 55%,transparent)}.cms-media-missing{align-items:center;font-size:.75rem;gap:.375rem}.cms-media-missing,.cms-media-missing-icon{color:var(--ui-warning);display:flex}.cms-media-thumb{background:var(--cms-subtle);border-radius:var(--cms-radius-sm);box-shadow:inset 0 0 0 1px var(--cms-line);height:2rem;-o-object-fit:cover;object-fit:cover;width:2rem}.cms-media-thumb.is-fallback{align-items:center;color:var(--ui-text-dimmed);display:flex;justify-content:center}.cms-media-thumb-empty{color:var(--ui-text-dimmed)}.cms-table-shell{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.cms-table-scroll{flex:1;min-height:0;overflow:auto}.cms-table{border-collapse:collapse;min-width:-moz-max-content;min-width:max-content;text-align:left;width:100%}.cms-table td,.cms-table th{white-space:nowrap}.cms-table thead{background:var(--cms-subtle);position:sticky;top:0;z-index:10}.cms-table th{background:var(--cms-subtle);box-shadow:inset 0 -1px 0 var(--cms-line);color:var(--ui-text-muted);font-size:.75rem;font-weight:500;height:2.375rem;line-height:1.4;padding:0 1rem;transition:background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-table td{color:var(--ui-text);font-size:.8125rem;height:3rem;padding:0 1rem}.cms-table td.cms-table-check-cell+td,.cms-table td:first-child:not(.cms-table-check-cell){color:var(--ui-text-highlighted);font-weight:500}.cms-table tbody tr{animation:cms-row-in .36s var(--cms-ease-out) backwards;animation-delay:var(--cms-row-delay,0s);border-bottom:1px solid var(--cms-line);transition:background-color var(--cms-duration) var(--cms-ease)}.cms-table tbody tr:last-child{border-bottom:0}.cms-table tbody tr:hover{background:var(--cms-subtle)}.cms-table td.cms-table-check-cell,.cms-table th.cms-table-check-cell{padding:0 0 0 1rem;width:2.75rem}.cms-table td.cms-table-check-cell+td,.cms-table th.cms-table-check-cell+th{padding-left:.75rem}.cms-table tbody tr.is-selected,.cms-table tbody tr.is-selected:hover{background:var(--cms-accent-soft)}.cms-checkbox{background:var(--cms-field);border:1px solid var(--cms-line-strong);border-radius:var(--cms-radius-xs);box-shadow:var(--cms-shadow-xs);color:var(--cms-accent-contrast);display:grid;height:1rem;place-items:center;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease);vertical-align:middle;width:1rem}.cms-checkbox:hover{border-color:var(--cms-text-dimmed)}.cms-checkbox:active{scale:.9}.cms-checkbox.is-on{background:var(--cms-accent);border-color:var(--cms-accent)}.cms-checkbox>svg{animation:cms-icon-pop .26s var(--cms-ease-spring);height:.75rem;stroke-width:3;width:.75rem}.cms-bulk-actions{animation:cms-pop .2s var(--cms-ease-out)}.cms-bulk-count{align-items:center;color:var(--ui-text-highlighted);display:inline-flex;font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:600;gap:.5rem}.cms-bulk-count:before{background:var(--cms-accent);border-radius:9999px;box-shadow:0 0 0 3px var(--cms-accent-soft);content:"";height:.5rem;width:.5rem}.cms-list-filters{animation:cms-fade .3s var(--cms-ease) backwards}.cms-list-filter-panel{padding:.75rem;width:18rem}.cms-import-file{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.cms-import-file-name{color:var(--ui-text-muted);font-size:.8125rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-import-preview{max-height:20rem}.cms-import-preview .cms-table td{height:auto;padding-block:.5rem;vertical-align:top}.cms-import-preview .cms-import-title{max-width:14rem;overflow:hidden;text-overflow:ellipsis}.cms-import-list{display:flex;flex-direction:column;gap:.125rem;list-style:none;margin:0;padding:0}.cms-import-issues{color:var(--ui-error);font-size:.75rem;white-space:normal}.cms-import-ok{color:var(--ui-success);font-size:.75rem;gap:.25rem}.cms-import-ok,.cms-th-label{align-items:center;display:inline-flex}.cms-th-label{gap:.35rem}.cms-table th.is-sortable{cursor:pointer}.cms-table th.is-sortable:hover,.cms-table th.is-sorted{color:var(--ui-text-highlighted)}.cms-table th.is-sorted{background:var(--cms-fill)}.cms-th-sort{flex:none;opacity:0;transition:opacity var(--cms-duration) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-table th.is-sortable:hover .cms-th-sort,.cms-table th.is-sorted .cms-th-sort{opacity:1}.cms-alert{animation:cms-enter .26s var(--cms-ease-out) backwards;border:1px solid transparent;border-radius:var(--cms-radius-md);display:flex;flex-direction:column;font-size:.8125rem;gap:.125rem;padding:.625rem .875rem}.cms-alert-title{font-weight:550}.cms-alert-error{background:color-mix(in oklab,var(--ui-error) 8%,transparent);border-color:color-mix(in oklab,var(--ui-error) 24%,transparent);color:var(--ui-error)}.cms-alert-success{background:color-mix(in oklab,var(--ui-success) 8%,transparent);border-color:color-mix(in oklab,var(--ui-success) 24%,transparent);color:var(--ui-success)}.cms-alert-warning{background:color-mix(in oklab,var(--ui-warning) 8%,transparent);border-color:color-mix(in oklab,var(--ui-warning) 24%,transparent);color:var(--ui-warning)}.cms-alert-neutral{background:var(--cms-subtle);border-color:var(--cms-line);color:var(--ui-text-toned)}.cms-alert-neutral .cms-alert-title{color:var(--ui-text-highlighted)}.cms-toaster{bottom:1rem;display:flex;flex-direction:column;gap:.5rem;max-width:calc(100vw - 2rem);position:fixed;right:1rem;width:22rem;z-index:80}.cms-toast{animation:cms-toast-in .42s var(--cms-ease-out) both;background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);overflow:hidden;padding:.75rem .75rem .8125rem;position:relative}.cms-toast:after{animation:cms-toast-timer 4s linear forwards;background:var(--cms-line-strong);bottom:0;content:"";height:2px;left:0;position:absolute;right:0;transform-origin:left}.cms-toast.is-success:after{background:color-mix(in oklab,var(--ui-success) 60%,transparent)}.cms-toast.is-error:after{background:color-mix(in oklab,var(--ui-error) 60%,transparent)}.cms-toast-row{align-items:flex-start;display:flex;gap:.625rem}.cms-toast-icon{animation:cms-icon-pop .42s var(--cms-ease-spring) .12s;background:var(--cms-fill);border-radius:9999px;box-sizing:content-box;color:var(--ui-text-muted);flex-shrink:0;padding:.1875rem}.cms-toast.is-success .cms-toast-icon{background:color-mix(in oklab,var(--ui-success) 14%,transparent);color:var(--ui-success)}.cms-toast.is-error .cms-toast-icon{background:color-mix(in oklab,var(--ui-error) 14%,transparent);color:var(--ui-error)}.cms-toast-title{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500;padding-top:.0625rem}.cms-toast-description{color:var(--ui-text-muted);font-size:.8125rem;margin-top:.125rem}.cms-toast-dismiss{border-radius:var(--cms-radius-xs);color:var(--ui-text-dimmed);flex-shrink:0;padding:.125rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-toast-dismiss:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-pagination{align-items:center;display:flex;gap:.25rem;justify-content:center}.cms-page-btn{border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);font-size:.8125rem;font-variant-numeric:tabular-nums;height:1.75rem;min-width:1.75rem;padding:0 .4375rem;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease)}.cms-page-btn>svg{margin-inline:auto}.cms-page-btn:hover:not(:disabled){background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-page-btn:active:not(:disabled){scale:.94}.cms-page-btn.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--ui-text-highlighted);font-weight:600}.cms-page-btn:disabled{opacity:.35}.cms-editor{background:var(--cms-canvas);display:flex;flex-direction:column;height:100dvh}.cms-editor-overlay{animation:cms-fade .16s var(--cms-ease);inset:0;position:fixed;z-index:45}.cms-editor-bar{align-items:center;background:var(--cms-surface);border-bottom:1px solid var(--cms-line);display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:3.25rem;padding:.5rem .75rem}.cms-editor-bar-center,.cms-editor-bar-end,.cms-editor-bar-start,.cms-editor-heading{align-items:center;display:flex;min-width:0}.cms-editor-bar-start{gap:.375rem}.cms-editor-heading{gap:.625rem}.cms-editor-bar-center{gap:.5rem;justify-content:center}.cms-editor-bar-end{gap:.375rem;justify-content:flex-end}.cms-editor-title{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:600;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-editor-dirty{color:var(--ui-text-muted);font-size:.75rem;white-space:nowrap}.cms-editor-devices{align-items:center;background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-sm);display:inline-flex;gap:1px;padding:2px}.cms-editor-device{align-items:center;border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);display:flex;height:1.375rem;justify-content:center;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:1.75rem}.cms-editor-device:hover:not(.is-active){color:var(--ui-text-highlighted)}.cms-editor-device.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--cms-accent-text)}.cms-editor-body{display:flex;flex:1;min-height:0}.cms-editor-canvas{display:flex;flex:1;justify-content:center;min-width:0;overflow:auto;padding:1rem}.cms-editor-frame{background:#fff;border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-raised);height:100%;overflow:hidden;transition:width var(--cms-duration-lg) var(--cms-ease-out);width:100%}.cms-editor-frame.is-mobile{flex:none;max-width:100%;width:390px}.cms-editor-iframe{border:0;display:block;height:100%;width:100%}.cms-editor-panel{background:var(--cms-surface);border-left:1px solid var(--cms-line);display:flex;flex-direction:column;flex-shrink:0;min-height:0;width:22rem}.cms-editor-tabs{padding:.75rem .875rem 0}.cms-editor-tabs .cms-tabs{margin-bottom:0}.cms-editor-tab-dot{background:var(--cms-error);border-radius:9999px;display:inline-block;height:6px;margin-left:.375rem;vertical-align:middle;width:6px}.cms-editor-panel-body{container-type:inline-size;display:flex;flex:1;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;padding:.875rem}.cms-editor-fields{display:flex;flex-direction:column;gap:1.125rem}.cms-editor-section{display:flex;flex-direction:column;gap:.5rem}.cms-editor-section-title{border-top:1px solid var(--cms-line);display:flex;flex-direction:column;gap:.25rem;padding-top:.75rem}.cms-editor-section-title:first-child{border-top:0;padding-top:0}.cms-editor-block-head{align-items:center;display:flex;justify-content:space-between;margin:-.25rem -.25rem 0}.cms-editor-block-position{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem}.cms-editor-block-title{align-items:center;color:var(--ui-text-highlighted);display:flex;font-size:.9375rem;font-weight:600;gap:.5rem}.cms-editor-block-actions{border-bottom:1px solid var(--cms-line);display:flex;flex-wrap:wrap;gap:.375rem;padding-bottom:1rem}.cms-editor-schedule .cms-popover{right:0;top:100%;transform-origin:top right}.cms-editor-schedule-panel{display:flex;flex-direction:column;gap:.875rem;padding:.875rem;width:18rem}.cms-outline{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.cms-outline-row{align-items:center;border:1px solid transparent;border-radius:var(--cms-radius-md);display:flex;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease)}.cms-outline-row:hover{background:var(--cms-hover)}.cms-outline-row.is-selected{background:var(--cms-accent-soft);border-color:var(--cms-accent-line)}.cms-outline-row.is-dragging{opacity:.4}.cms-outline-row.is-drop-target{box-shadow:inset 0 2px 0 var(--cms-accent)}.cms-outline-grip{align-items:center;color:var(--ui-text-dimmed);cursor:grab;display:flex;padding:0 .125rem 0 .5rem}.cms-outline-main{align-items:center;border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;flex:1;gap:.5rem;min-width:0;padding:.4375rem .5rem .4375rem .25rem;text-align:left}.cms-outline-row.is-hidden .cms-outline-main{opacity:.55}.cms-outline-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-outline-label{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-outline-summary{color:var(--ui-text-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-outline-hidden{color:var(--ui-text-dimmed)}.cms-palette{display:grid;gap:.375rem}.cms-palette-item{align-items:flex-start;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;gap:.625rem;padding:.625rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease)}.cms-palette-item:hover{background:var(--cms-accent-soft);border-color:var(--cms-accent-line)}.cms-palette-icon{align-items:center;background:var(--cms-fill);border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;flex-shrink:0;height:2rem;justify-content:center;width:2rem}.cms-palette-item:hover .cms-palette-icon{color:var(--cms-accent-text)}.cms-palette-text{display:flex;flex-direction:column;gap:.1875rem;min-width:0;padding-top:.0625rem}.cms-palette-label{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:600}.cms-palette-description{color:var(--ui-text-muted);font-size:.75rem;line-height:1.4}@media (max-width:767px){.cms-editor-bar{grid-template-columns:minmax(0,1fr) auto}.cms-editor-bar-center{grid-column:1/-1;grid-row:2}.cms-editor-body{flex-direction:column}.cms-editor-canvas{flex:0 0 50%;padding:.5rem}.cms-editor-panel{border-left:0;border-top:1px solid var(--cms-line);flex:1;width:auto}}::view-transition-new(root),::view-transition-old(root){animation-duration:.28s;animation-timing-function:var(--cms-ease)}@media (prefers-reduced-motion:reduce){.cms-scope *,.cms-scope :after,.cms-scope :before{animation-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
1
+ .cms-scope,html:has(.cms-scope){--cms-canvas:light-dark(#f5f5f6,#0d0d0f);--cms-surface:light-dark(#fff,#141416);--cms-subtle:light-dark(#f7f7f8,#18181b);--cms-field:light-dark(#fff,#19191c);--cms-elevated:light-dark(#fff,#1c1c20);--cms-fill:light-dark(#efeff1,#222226);--cms-line:light-dark(#e7e7ea,#232327);--cms-line-strong:light-dark(#d8d8dd,#303036);--cms-field-line:light-dark(#dedee3,#2a2a30);--cms-text:light-dark(#111114,#f2f2f3);--cms-text-toned:light-dark(#3b3b42,#cdcdd3);--cms-text-muted:light-dark(#6b6b75,#9b9ba5);--cms-text-dimmed:light-dark(#9d9da7,#686872);--cms-accent:light-dark(#5b5bd6,#6466e9);--cms-accent-hover:light-dark(#4d4dc8,#7375ee);--cms-accent-text:light-dark(#5050cc,#a0a2f8);--cms-accent-contrast:#fff;--cms-accent-soft:color-mix(in oklab,var(--cms-accent) 11%,transparent);--cms-accent-line:color-mix(in oklab,var(--cms-accent) 34%,transparent);--cms-error:light-dark(#d9383a,#f47a7a);--cms-success:light-dark(#1d8a54,#5ccf90);--cms-warning:light-dark(#b5620b,#efb255);--cms-hover:color-mix(in oklab,var(--cms-text) 5%,transparent);--cms-press:color-mix(in oklab,var(--cms-text) 8%,transparent);--cms-font-ui:"Geist Variable","Geist",ui-sans-serif,system-ui,sans-serif;--cms-font-mono:"Geist Mono Variable","Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--cms-radius-xs:4px;--cms-radius-sm:6px;--cms-radius-md:8px;--cms-radius-lg:12px;--cms-radius-xl:14px;--cms-shadow-tint:light-dark(rgba(20,20,30,.06),rgba(0,0,0,.35));--cms-shadow-tint-strong:light-dark(rgba(20,20,30,.14),rgba(0,0,0,.6));--cms-highlight:light-dark(hsla(0,0%,100%,.9),hsla(0,0%,100%,.05));--cms-shadow-xs:0 1px 2px var(--cms-shadow-tint);--cms-shadow-sm:0 1px 2px var(--cms-shadow-tint),0 3px 8px -3px var(--cms-shadow-tint);--cms-shadow-raised:0 0 0 1px var(--cms-line),0 1px 2px var(--cms-shadow-tint);--cms-shadow-overlay:0 0 0 1px var(--cms-line),0 16px 40px -12px var(--cms-shadow-tint-strong),0 6px 14px -6px var(--cms-shadow-tint);--cms-scrim:light-dark(rgba(22,22,30,.22),rgba(0,0,0,.55));--cms-duration:140ms;--cms-duration-lg:260ms;--cms-ease:cubic-bezier(0.2,0,0,1);--cms-ease-out:cubic-bezier(0.16,1,0.3,1);--cms-ease-drawer:cubic-bezier(0.32,0.72,0,1);--cms-ease-spring:cubic-bezier(0.34,1.4,0.64,1);--ui-text-dimmed:var(--cms-text-dimmed);--ui-text-muted:var(--cms-text-muted);--ui-text-toned:var(--cms-text-toned);--ui-text:var(--cms-text-toned);--ui-text-highlighted:var(--cms-text);--ui-text-inverted:var(--cms-surface);--ui-bg:var(--cms-surface);--ui-bg-muted:var(--cms-canvas);--ui-bg-elevated:var(--cms-subtle);--ui-bg-accented:var(--cms-fill);--ui-bg-inverted:var(--cms-text);--ui-border:var(--cms-line);--ui-border-muted:var(--cms-line);--ui-border-accented:var(--cms-line-strong);--ui-border-inverted:var(--cms-text);--ui-primary:var(--cms-accent);--ui-accent:var(--cms-accent-text);--ui-error:var(--cms-error);--ui-success:var(--cms-success);--ui-warning:var(--cms-warning);--ui-radius:var(--cms-radius-md)}html:has(.cms-scope){background:var(--cms-canvas);color-scheme:light dark;overscroll-behavior-y:none}.cms-scope[data-theme=light],html:has(.cms-scope[data-theme=light]){color-scheme:light}.cms-scope[data-theme=dark],html:has(.cms-scope[data-theme=dark]){color-scheme:dark}.cms-scope,body:has(.cms-scope){color:var(--ui-text);font-family:var(--cms-font-ui);font-feature-settings:"ss01","cv11";font-size:.875rem;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:has(.cms-scope){background:var(--cms-canvas);overscroll-behavior-y:none}body:has(.cms-scope) ::-moz-selection{background:color-mix(in oklab,var(--cms-accent) 28%,transparent);color:var(--ui-text-highlighted)}body:has(.cms-scope) ::selection{background:color-mix(in oklab,var(--cms-accent) 28%,transparent);color:var(--ui-text-highlighted)}body:has(.cms-scope) :is(.cms-scope,.cms-scope *){scrollbar-color:var(--cms-line-strong) transparent;scrollbar-width:thin}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar{height:10px;width:10px}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-track{background:transparent}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-thumb{background:var(--cms-line-strong);background-clip:content-box;border:3px solid transparent;border-radius:9999px}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-thumb:hover{background:var(--cms-text-dimmed);background-clip:content-box}body:has(.cms-scope) :is(button,a,[role=button],[role=menuitem],[role=option],.__clickable):not(:disabled,[aria-disabled=true]){@apply cursor-pointer select-none}body:has(.cms-scope) :is(button,a,[role=button],[role=menuitem],[role=option],[role=radio]):focus-visible{outline:2px solid color-mix(in oklab,var(--cms-accent) 70%,transparent);outline-offset:2px}.cms-canvas{background-color:var(--cms-canvas);min-height:100dvh}.cms-account{align-items:center;border-radius:var(--cms-radius-md);display:flex;gap:.5rem;padding:.375rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease);width:100%}.cms-account.is-open,.cms-account:hover{background:var(--cms-hover)}.cms-user-row{animation:cms-row-in .32s var(--cms-ease-out) backwards;background:var(--cms-surface);display:flex;flex-direction:column}.cms-user-row+.cms-user-row{border-top:1px solid var(--cms-line)}.cms-user-main{align-items:center;display:flex;gap:.75rem;padding:.625rem .75rem}.cms-user-reset{padding:0 .75rem .875rem}.cms-page{animation:cms-enter .32s var(--cms-ease-out) backwards;display:flex;flex-direction:column;gap:1.5rem}.cms-page.is-fill{flex:1;min-height:0}.cms-count{align-items:center;animation:cms-fade .4s var(--cms-ease) backwards;background:var(--cms-fill);border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);display:inline-flex;font-family:var(--cms-font-mono);font-size:.75rem;font-variant-numeric:tabular-nums;height:1.375rem;padding-inline:.4375rem}.cms-tree{overflow:hidden}.cms-tree-row{align-items:center;animation:cms-row-in .36s var(--cms-ease-out) backwards;animation-delay:var(--cms-row-delay,0s);display:flex;gap:.75rem;min-height:3.25rem;padding:.5rem 1rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-tree-row+.cms-tree-row{border-top:1px solid var(--cms-line)}.cms-tree-row:hover{background-color:var(--cms-subtle)}.cms-tree-branch{color:var(--ui-text-dimmed);flex-shrink:0;transform:scaleY(-1) rotate(90deg);width:1rem}.cms-tree-doc{background:var(--cms-subtle);border-radius:var(--cms-radius-sm);box-shadow:inset 0 0 0 1px var(--cms-line);color:var(--ui-text-muted);display:grid;flex:none;height:1.75rem;place-items:center;width:1.75rem}.cms-tree-title{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:500}.cms-tree-path,.cms-tree-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-tree-path{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.71875rem}.cms-tree-meta{font-size:.75rem}.cms-tree-chevron,.cms-tree-meta{color:var(--ui-text-dimmed);flex-shrink:0}.cms-tree-chevron{transition:transform var(--cms-duration-lg) var(--cms-ease-out),color var(--cms-duration) var(--cms-ease)}.cms-tree-row:hover .cms-tree-chevron{color:var(--ui-text-highlighted);transform:translateX(3px)}.cms-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.cms-toolbar-actions{flex-shrink:0;gap:.5rem;margin-left:auto}.cms-auth,.cms-toolbar-actions{align-items:center;display:flex}.cms-auth{justify-content:center;min-height:100dvh;padding:1.5rem}@keyframes cms-enter{0%{opacity:0;transform:translateY(6px)}}@keyframes cms-fade{0%{opacity:0}}@keyframes cms-row-in{0%{opacity:0;transform:translateY(4px)}}@keyframes cms-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes cms-toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}}@keyframes cms-toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.cms-form{container-type:inline-size}.cms-form,.cms-form-main{display:flex;flex-direction:column;gap:1.375rem}.cms-form-main{min-width:0}.cms-form-section.is-titled{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg)}.cms-form-rows{display:flex;flex-direction:column;gap:1.375rem}.cms-form-section.is-titled>.cms-form-rows{border-top:1px solid var(--cms-line);padding:1rem 1rem 1.125rem}.cms-form-row{display:grid;gap:1.375rem 1rem;grid-template-columns:minmax(0,1fr)}@container (min-width: 32rem){.cms-form-row{grid-template-columns:repeat(var(--cms-row-cols,1),minmax(0,1fr))}}.cms-field{background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--ui-radius);box-shadow:var(--cms-shadow-xs);color:var(--ui-text-highlighted);line-height:1.25;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease);width:100%}textarea.cms-field{line-height:1.5;min-height:0;padding-bottom:.5rem;padding-top:.5rem;resize:vertical}.cms-field::-moz-placeholder{color:var(--ui-text-dimmed)}.cms-field::placeholder{color:var(--ui-text-dimmed)}.cms-field:hover:not(:focus,:focus-within){border-color:var(--cms-line-strong)}.cms-field:focus,.cms-field:focus-within{border-color:var(--cms-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--cms-accent) 18%,transparent);outline:none}.cms-field.is-error{border-color:var(--ui-error)}.cms-field:disabled{background:var(--cms-subtle);box-shadow:none;color:var(--ui-text-muted);cursor:not-allowed}.cms-field.is-error:focus,.cms-field.is-error:focus-within{border-color:var(--ui-error);box-shadow:0 0 0 3px color-mix(in oklab,var(--ui-error) 18%,transparent)}.cms-field[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;-webkit-transition:opacity var(--cms-duration) var(--cms-ease);transition:opacity var(--cms-duration) var(--cms-ease)}.cms-field[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.9}.cms-search-option-icon{color:var(--ui-text-dimmed);margin-top:.125rem}.cms-search-option-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-search-option-head{align-items:center;display:flex;gap:.5rem;min-width:0}.cms-search-option-title{color:var(--ui-text-highlighted);font-weight:500}.cms-search-option-meta,.cms-search-option-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-search-option-meta{color:var(--ui-text-muted);font-size:.75rem}.cms-search-snippet{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;-webkit-box-orient:vertical;color:var(--ui-text-toned);font-size:.8125rem;line-height:1.45}.cms-search-mark{background:color-mix(in oklab,var(--cms-warning) 26%,transparent);border-radius:2px;color:inherit}.cms-settings{flex-direction:row;height:min(42rem,calc(100dvh - 4rem));max-width:60rem;overflow:hidden}.cms-settings-entry{display:flex;flex-direction:column;gap:1rem;min-height:100%}.cms-settings-entry>*{flex-shrink:0}.cms-settings-status{color:var(--ui-text-dimmed);flex:none;font-size:.75rem;padding-top:.25rem;transition:color var(--cms-duration) var(--cms-ease)}.cms-settings-status.is-saved{color:var(--ui-success)}.cms-settings-status.is-error{color:var(--ui-error)}.cms-settings-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:.5rem}.cms-settings-subtitle{color:var(--ui-text-muted);font-size:.75rem;font-weight:500;margin:.75rem 0 .375rem}.cms-settings-list{border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;overflow:hidden}.cms-settings-columns>.cms-settings-list{margin-top:.75rem}.cms-settings-item{align-items:center;background:var(--cms-surface);display:flex;gap:.5rem;min-height:2.5rem;padding:.25rem .75rem;position:relative;transition:background-color var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease)}.cms-settings-item+.cms-settings-item{border-top:1px solid var(--cms-line)}.cms-settings-item.is-draggable{cursor:grab}.cms-settings-item.is-draggable:hover{background:var(--cms-subtle)}.cms-settings-item.is-dragging{opacity:.4}.cms-settings-drop-end.is-over:before,.cms-settings-item.is-drop-before:before{background:var(--cms-accent);border-radius:9999px;content:"";height:2px;left:.5rem;position:absolute;right:.5rem;top:-1px}.cms-settings-drop-end{height:.75rem;position:relative}.cms-settings-item.is-muted .cms-settings-item-label{color:var(--ui-text-muted)}.cms-settings-grip,.cms-settings-item-icon{color:var(--ui-text-dimmed);flex:none}.cms-settings-item-label{color:var(--ui-text-highlighted);flex:1;font-size:.8125rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-layout-editor{display:flex;flex-direction:column;gap:.25rem}.cms-layout-areas{display:flex;flex-direction:column;margin-top:.5rem}.cms-layout-area{display:flex;flex-direction:column;gap:.5rem;min-width:0}.cms-layout-section{background:var(--cms-subtle);border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;padding:.25rem .5rem}.cms-layout-section.is-titled{background:var(--cms-surface);border-color:var(--cms-line);border-style:solid}.cms-layout-section-title{align-items:center;color:var(--ui-text-highlighted);display:flex;font-size:.75rem;font-weight:600;gap:.5rem;padding:.375rem .125rem .125rem}.cms-layout-chip,.cms-layout-row{display:flex;gap:.375rem}.cms-layout-chip{align-items:center;background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-sm);box-shadow:var(--cms-shadow-xs);cursor:grab;flex:1;height:2.125rem;min-width:0;padding:0 .5rem;position:relative;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease)}.cms-layout-chip:hover{border-color:var(--cms-line-strong)}.cms-layout-chip.is-dragging{opacity:.35}.cms-layout-chip.is-blocked{border-color:var(--ui-error);cursor:not-allowed}.cms-layout-chip.is-drop-after:after,.cms-layout-chip.is-drop-before:before{background:var(--cms-accent);border-radius:9999px;bottom:.25rem;content:"";position:absolute;top:.25rem;width:2px}.cms-layout-chip.is-drop-before:before{left:-.25rem}.cms-layout-chip.is-drop-after:after{right:-.25rem}.cms-layout-chip-label{color:var(--ui-text-highlighted);flex:1;font-size:.75rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-layout-chip-tab{background:var(--cms-fill);border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);flex:none;font-size:.625rem;line-height:1rem;padding:0 .3125rem}.cms-layout-gap{height:.375rem;position:relative;transition:height var(--cms-duration) var(--cms-ease)}.cms-layout-editor.is-dragging .cms-layout-gap{height:.75rem}.cms-layout-gap.is-over:before{background:var(--cms-accent);border-radius:9999px;content:"";height:2px;left:0;margin-top:-1px;position:absolute;right:0;top:50%}.cms-layout-editor.is-dragging .cms-layout-gap.is-empty,.cms-layout-gap.is-empty{color:var(--ui-text-dimmed);display:grid;font-size:.75rem;height:2.5rem;place-items:center}.cms-layout-empty{border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-md);color:var(--ui-text-dimmed);display:grid;font-size:.75rem;min-height:5rem;padding:1rem;place-items:center;text-align:center;transition:border-color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-layout-empty.is-over{background:var(--cms-accent-soft);border-color:var(--cms-accent);color:var(--cms-accent-text)}.cms-settings-hint{color:var(--ui-text-muted);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis}@media (max-width:639px){.cms-settings{flex-direction:column;height:auto}}.cms-media-gallery{display:flex;flex-direction:column;gap:1.25rem;position:relative}.cms-media-source{color:var(--ui-text-dimmed);font-size:.75rem;margin-top:-.75rem}.cms-blocks-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.cms-blocks-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.cms-blocks-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.cms-block-tile{overflow:hidden;transition:opacity var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-block-tile:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm)}.cms-block-tile.is-muted{opacity:.45}.cms-block-preview{align-items:center;aspect-ratio:4/3;background:var(--cms-subtle);color:var(--ui-text-dimmed);display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.cms-block-preview>img,.cms-block-preview>video{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .5s var(--cms-ease-out);width:100%}.cms-block-tile:hover .cms-block-preview>img,.cms-block-tile:hover .cms-block-preview>video{transform:scale(1.03)}.cms-block-tile.is-media-only{cursor:grab}.cms-block-tile.is-media-only:focus-visible{outline:2px solid color-mix(in oklab,var(--cms-accent) 70%,transparent);outline-offset:2px}.cms-block-tile.is-media-only.is-dragging{cursor:grabbing}.cms-block-tile.is-media-only .cms-block-preview{aspect-ratio:1}.cms-block-remove{backdrop-filter:blur(6px);background:rgba(0,0,0,.55);border-radius:9999px;color:#fff;display:grid;height:1.5rem;opacity:0;place-items:center;position:absolute;right:.375rem;scale:.85;top:.375rem;transition:opacity var(--cms-duration) var(--cms-ease),scale var(--cms-duration-lg) var(--cms-ease-spring),background-color var(--cms-duration) var(--cms-ease);width:1.5rem;z-index:1}.cms-block-tile:focus-within .cms-block-remove,.cms-block-tile:hover .cms-block-remove{opacity:1;scale:1}.cms-block-remove:hover{background:var(--cms-error)}@media (hover:none){.cms-block-remove{opacity:1;scale:1}}.cms-block-missing{background:var(--ui-warning);border-radius:9999px;bottom:.375rem;color:#fff;display:grid;height:1.5rem;left:.375rem;place-items:center;position:absolute;width:1.5rem}.cms-block-summary{color:var(--ui-text-muted);font-size:.75rem;line-height:1.5;padding:.75rem;text-align:left}.cms-block-hidden{color:#fff;filter:drop-shadow(0 1px 2px rgb(0 0 0/.6));left:.5rem;position:absolute;top:.5rem}.cms-block-tile.is-dragging{opacity:.4;transform:scale(.98)}.cms-block-tile.is-drop-target{outline:2px solid var(--cms-accent);outline-offset:2px}.cms-block-bar{border-top:1px solid var(--cms-line);gap:.25rem;padding:.3125rem}.cms-block-bar,.cms-block-grip{align-items:center;display:flex}.cms-block-grip{border-radius:var(--cms-radius-xs);color:var(--ui-text-dimmed);cursor:grab;justify-content:center;padding:.25rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-block-grip:hover{background:var(--cms-hover);color:var(--ui-text-muted)}.cms-block-tile.is-dragging .cms-block-grip{cursor:grabbing}.cms-block-bar-name{color:var(--ui-text-toned);flex:1;font-size:.75rem;font-weight:500;overflow:hidden;padding-left:.25rem;text-overflow:ellipsis;white-space:nowrap}.cms-block-add{align-items:center;background:var(--cms-subtle);border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-lg);color:var(--ui-text-muted);display:flex;flex-direction:column;font-size:.8125rem;font-weight:500;gap:.375rem;justify-content:center;min-height:6rem;transition:border-color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-block-add:hover:not(:disabled){background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--cms-accent-text)}.cms-block-add:disabled{cursor:not-allowed;opacity:.55}.cms-media-gallery.is-compact{gap:1rem}.cms-media-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.cms-media-search{flex:1 1 16rem;min-width:0}.cms-media-nav{flex-wrap:wrap;justify-content:space-between;min-height:1.75rem}.cms-media-nav,.cms-media-progress{align-items:center;display:flex;gap:.5rem}.cms-media-progress{animation:cms-enter .26s var(--cms-ease-out) backwards;background:var(--cms-accent-soft);border:1px solid var(--cms-accent-line);border-radius:var(--cms-radius-md);color:var(--cms-accent-text);font-size:.8125rem;overflow:hidden;padding:.5rem .75rem;position:relative}.cms-media-section{display:flex;flex-direction:column;gap:.625rem}.cms-media-section-title{align-items:center;color:var(--ui-text-muted);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem}.cms-media-folders{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.cms-media-gallery.is-compact .cms-media-folders{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.cms-media-folder-tile{align-items:center;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);cursor:pointer;display:flex;gap:.75rem;min-width:0;padding:.625rem .75rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-folder-tile:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm);transform:translateY(-1px)}.cms-media-folder-tile.is-drop{background:var(--cms-accent-soft);border-color:var(--cms-accent-line)}.cms-media-folder-tile-icon{background:var(--cms-accent-soft);border-radius:var(--cms-radius-md);box-sizing:content-box;color:var(--cms-accent-text);flex:none;height:1.125rem;padding:.4375rem;width:1.125rem}.cms-media-folder-tile-text{display:flex;flex-direction:column;min-width:0}.cms-media-folder-tile-name{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-folder-tile-meta{color:var(--ui-text-dimmed);font-size:.75rem}.cms-media-row.is-checked{background:var(--cms-accent-soft);border-color:var(--cms-accent)}.cms-media-row.is-dragging,.cms-media-tile.is-dragging{opacity:.45}.cms-media-check{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.3);border:1.5px solid hsla(0,0%,100%,.9);border-radius:9999px;color:transparent;cursor:pointer;display:flex;height:1.25rem;justify-content:center;left:.5rem;opacity:0;position:absolute;scale:.85;top:.5rem;transition:opacity var(--cms-duration) var(--cms-ease),scale var(--cms-duration-lg) var(--cms-ease-spring),background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:1.25rem;z-index:1}.cms-media-check.is-on,.cms-media-check.is-visible,.cms-media-tile:focus-visible .cms-media-check,.cms-media-tile:hover .cms-media-check{opacity:1;scale:1}.cms-media-check.is-on{background:var(--cms-accent);border-color:var(--cms-accent);color:var(--cms-accent-contrast)}.cms-media-row .cms-media-check{backdrop-filter:none;background:var(--cms-field);border-color:var(--cms-line-strong);border-radius:var(--cms-radius-xs);flex:none;height:1rem;position:static;width:1rem}.cms-media-row .cms-media-check.is-on{background:var(--cms-accent);border-color:var(--cms-accent)}.cms-media-grid.is-recent{gap:.5rem;grid-template-columns:repeat(6,minmax(0,1fr))}.cms-media-grid.is-recent .cms-media-tile{border-radius:var(--cms-radius-md)}.cms-media-list{display:flex;flex-direction:column;overflow:hidden}.cms-media-row{align-items:center;animation:cms-row-in .32s var(--cms-ease-out) backwards;border:1px solid transparent;border-bottom:1px solid var(--cms-line);cursor:pointer;display:flex;gap:.875rem;padding:.4375rem .875rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-media-row:last-child{border-bottom-color:transparent}.cms-media-row:hover{background:var(--cms-subtle)}.cms-media-row-name{color:var(--ui-text-highlighted);display:flex;flex:1;flex-direction:column;font-size:.8125rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-row-cell{color:var(--ui-text-muted);flex:none;font-size:.75rem;font-variant-numeric:tabular-nums;text-align:right;width:5.5rem}.cms-media-row-cell.is-mono{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem;text-transform:uppercase;width:3.5rem}@media (max-width:640px){.cms-media-row-cell.is-wide{display:none}.cms-media-grid.is-recent{grid-template-columns:repeat(3,minmax(0,1fr))}}.cms-media-drop-overlay{align-items:center;animation:cms-fade .16s var(--cms-ease);backdrop-filter:blur(4px);background:color-mix(in oklab,var(--cms-surface) 84%,transparent);border:1.5px dashed var(--cms-accent);border-radius:var(--cms-radius-xl);color:var(--ui-text-highlighted);display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;inset:-.5rem;justify-content:center;pointer-events:none;position:absolute;z-index:10}.cms-media-drop-overlay>svg{animation:cms-float 1.6s ease-in-out infinite}.cms-media-drop-overlay strong,.cms-media-drop-overlay>svg{color:var(--cms-accent-text)}.cms-media-upload-hint{margin-top:.75rem;text-align:center}.cms-media-detail{display:flex;flex-direction:column;gap:1.5rem}.cms-media-detail-preview{align-items:center;background:repeating-conic-gradient(var(--cms-subtle) 0 25%,var(--cms-surface) 0 50%) 50% /1.25rem 1.25rem;border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);color:var(--ui-text-dimmed);display:flex;justify-content:center;max-height:24rem;min-height:12rem;overflow:hidden}.cms-media-detail-preview>img,.cms-media-detail-preview>video{animation:cms-fade .3s var(--cms-ease);max-height:24rem;max-width:100%;-o-object-fit:contain;object-fit:contain}.cms-media-detail-facts{background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:grid;font-size:.8125rem;gap:.5rem 1.5rem;grid-template-columns:max-content minmax(0,1fr);padding:.875rem 1rem}.cms-media-detail-facts dt{color:var(--ui-text-muted)}.cms-media-detail-facts dd{color:var(--ui-text-highlighted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-detail-facts dd.is-mono{font-family:var(--cms-font-mono);font-size:.75rem;line-height:1.6}.cms-media-detail-usage{display:flex;flex-direction:column;gap:.625rem}.cms-media-usage-list{border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;overflow:hidden}.cms-media-usage-list li+li{border-top:1px solid var(--cms-line)}.cms-media-usage-link{display:flex;flex-direction:column;gap:.125rem;padding:.5rem .75rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-media-usage-link:hover{background:var(--cms-subtle)}.cms-media-usage-title{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-media-usage-meta{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem}.cms-media-usage-badge{align-items:center;color:var(--cms-accent-text);display:inline-flex;flex:none;font-size:.6875rem;font-weight:500;gap:.25rem;white-space:nowrap}.cms-media-usage-badge.is-unused{color:var(--ui-text-dimmed);font-weight:400}.cms-media-row-cell.is-usage{width:7.5rem}.cms-confirm-groups{display:flex;flex-direction:column;gap:.875rem;max-height:min(50vh,24rem);overflow-y:auto}.cms-confirm-group{display:flex;flex-direction:column;gap:.375rem}.cms-confirm-group-title{color:var(--ui-text-toned);font-family:var(--cms-font-mono);font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-grid{display:grid;gap:.875rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.cms-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.cms-media-grid:not(.is-compact){grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.cms-media-grid:not(.is-compact){grid-template-columns:repeat(5,minmax(0,1fr))}}.cms-media-tile{overflow:hidden;text-align:left;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-grid>.cms-media-tile{animation:cms-row-in .38s var(--cms-ease-out) backwards}.cms-media-tile.is-selectable{cursor:pointer}.cms-media-tile.is-selectable:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm);transform:translateY(-2px)}.cms-media-preview{align-items:center;aspect-ratio:1;background:var(--cms-subtle);color:var(--ui-text-dimmed);display:flex;justify-content:center;overflow:hidden;position:relative}.cms-media-preview>img,.cms-media-preview>video{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .5s var(--cms-ease-out),border-radius var(--cms-duration-lg) var(--cms-ease);width:100%}.cms-media-info{background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);bottom:0;color:#fff;font-family:var(--cms-font-mono);font-size:.6875rem;left:0;letter-spacing:.02em;line-height:1.4;opacity:0;padding:1.75rem .625rem .5rem;pointer-events:none;position:absolute;right:0;text-transform:uppercase;transform:translateY(4px);transition:opacity var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-tile:focus-visible .cms-media-info,.cms-media-tile:hover .cms-media-info{opacity:1;transform:none}.cms-media-meta{border-top:1px solid var(--cms-line);display:flex;flex-direction:column;gap:.25rem;padding:.5625rem .75rem}.cms-media-name{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-media-folder,.cms-media-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-folder{align-items:center;color:var(--ui-text-dimmed);display:inline-flex;font-size:.75rem;font-weight:400;gap:.25rem}.cms-media-single{max-width:15rem;width:100%}.cms-block-tile.is-missing{border-color:color-mix(in oklab,var(--ui-warning) 55%,transparent)}.cms-media-missing{align-items:center;color:var(--ui-warning);display:flex;font-size:.75rem;gap:.375rem}.cms-media-thumb{background:var(--cms-subtle);border-radius:var(--cms-radius-sm);box-shadow:inset 0 0 0 1px var(--cms-line);height:2rem;-o-object-fit:cover;object-fit:cover;width:2rem}.cms-media-thumb.is-fallback{align-items:center;color:var(--ui-text-dimmed);display:flex;justify-content:center}.cms-media-thumb-empty{color:var(--ui-text-dimmed)}.cms-list-filters{animation:cms-fade .3s var(--cms-ease) backwards}.cms-list-filter-panel{padding:.75rem;width:18rem}.cms-import-file-name{color:var(--ui-text-muted);font-size:.8125rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-import-list{display:flex;flex-direction:column;gap:.125rem;list-style:none;margin:0;padding:0}.cms-import-issues{color:var(--ui-error);font-size:.75rem;white-space:normal}.cms-import-ok{align-items:center;color:var(--ui-success);display:inline-flex;font-size:.75rem;gap:.25rem}.cms-toast{animation:cms-toast-in .42s var(--cms-ease-out) both;background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);overflow:hidden;padding:.75rem .75rem .8125rem;position:relative}.cms-toast:after{animation:cms-toast-timer 4s linear forwards;background:var(--cms-line-strong);bottom:0;content:"";height:2px;left:0;position:absolute;right:0;transform-origin:left}.cms-toast.is-success:after{background:color-mix(in oklab,var(--ui-success) 60%,transparent)}.cms-toast.is-error:after{background:color-mix(in oklab,var(--ui-error) 60%,transparent)}.cms-editor{background:var(--cms-canvas);display:flex;flex-direction:column;height:100dvh}.cms-editor-bar{align-items:center;background:var(--cms-surface);border-bottom:1px solid var(--cms-line);display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:3.25rem;padding:.5rem .75rem}.cms-editor-bar-center,.cms-editor-bar-end,.cms-editor-bar-start,.cms-editor-heading{align-items:center;display:flex;min-width:0}.cms-editor-bar-start{gap:.375rem}.cms-editor-heading{gap:.625rem}.cms-editor-bar-center{gap:.5rem;justify-content:center}.cms-editor-bar-end{gap:.375rem;justify-content:flex-end}.cms-editor-title{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:600;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-editor-dirty{color:var(--ui-text-muted);font-size:.75rem;white-space:nowrap}.cms-editor-body{display:flex;flex:1;min-height:0}.cms-editor-canvas{display:flex;flex:1;justify-content:center;min-width:0;overflow:auto;padding:1rem}.cms-editor-frame{background:#fff;border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-raised);height:100%;overflow:hidden;transition:width var(--cms-duration-lg) var(--cms-ease-out);width:100%}.cms-editor-frame.is-mobile{flex:none;max-width:100%;width:390px}.cms-editor-iframe{border:0;display:block;height:100%;width:100%}.cms-editor-panel{background:var(--cms-surface);border-left:1px solid var(--cms-line);display:flex;flex-direction:column;flex-shrink:0;min-height:0;width:22rem}.cms-editor-panel-body{container-type:inline-size;display:flex;flex:1;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;padding:.875rem}.cms-editor-fields{display:flex;flex-direction:column;gap:1.125rem}.cms-editor-section-title{border-top:1px solid var(--cms-line);display:flex;flex-direction:column;gap:.25rem;padding-top:.75rem}.cms-editor-section-title:first-child{border-top:0;padding-top:0}.cms-editor-block-head{align-items:center;display:flex;justify-content:space-between;margin:-.25rem -.25rem 0}.cms-editor-block-position{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem}.cms-editor-block-title{align-items:center;color:var(--ui-text-highlighted);display:flex;font-size:.9375rem;font-weight:600;gap:.5rem}.cms-editor-block-actions{border-bottom:1px solid var(--cms-line);display:flex;flex-wrap:wrap;gap:.375rem;padding-bottom:1rem}.cms-editor-schedule-panel{display:flex;flex-direction:column;gap:.875rem;padding:.875rem;width:18rem}.cms-outline-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-outline-label{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-outline-summary{color:var(--ui-text-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-outline-hidden{color:var(--ui-text-dimmed)}.cms-palette{display:grid;gap:.375rem}.cms-palette-item{align-items:flex-start;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;gap:.625rem;padding:.625rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease)}.cms-palette-item:hover{background:var(--cms-accent-soft);border-color:var(--cms-accent-line)}.cms-palette-icon{align-items:center;background:var(--cms-fill);border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;flex-shrink:0;height:2rem;justify-content:center;width:2rem}.cms-palette-item:hover .cms-palette-icon{color:var(--cms-accent-text)}.cms-palette-text{display:flex;flex-direction:column;gap:.1875rem;min-width:0;padding-top:.0625rem}.cms-palette-label{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:600}.cms-palette-description{color:var(--ui-text-muted);font-size:.75rem;line-height:1.4}@media (max-width:767px){.cms-editor-bar{grid-template-columns:minmax(0,1fr) auto}.cms-editor-bar-center{grid-column:1/-1;grid-row:2}.cms-editor-body{flex-direction:column}.cms-editor-canvas{flex:0 0 50%;padding:.5rem}.cms-editor-panel{border-left:0;border-top:1px solid var(--cms-line);flex:1;width:auto}}::view-transition-new(root),::view-transition-old(root){animation-duration:.28s;animation-timing-function:var(--cms-ease)}@media (prefers-reduced-motion:reduce){.cms-scope *,.cms-scope :after,.cms-scope :before{animation-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}