@openpalm/ui 0.11.5-rc.8 → 0.12.0-rc.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 (446) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/0.iY5Na-jC.css +1 -0
  3. package/build/client/_app/immutable/assets/0.iY5Na-jC.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.iY5Na-jC.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/10.C6prJXUw.css +1 -0
  6. package/build/client/_app/immutable/assets/10.C6prJXUw.css.br +0 -0
  7. package/build/client/_app/immutable/assets/10.C6prJXUw.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/4.D-9LGiQD.css +1 -0
  9. package/build/client/_app/immutable/assets/4.D-9LGiQD.css.br +0 -0
  10. package/build/client/_app/immutable/assets/4.D-9LGiQD.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/9.CkiNtsHc.css +1 -0
  12. package/build/client/_app/immutable/assets/9.CkiNtsHc.css.br +0 -0
  13. package/build/client/_app/immutable/assets/9.CkiNtsHc.css.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{BWN4X0zs.js → BihYGk9Y.js} +1 -1
  15. package/build/client/_app/immutable/chunks/BihYGk9Y.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/BihYGk9Y.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/Buy0D9D-.js +1 -0
  18. package/build/client/_app/immutable/chunks/Buy0D9D-.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/Buy0D9D-.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{2ZMOX13V.js → C5EI77dn.js} +1 -1
  21. package/build/client/_app/immutable/chunks/C5EI77dn.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/C5EI77dn.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{BplpI4py.js → CMRs-cy6.js} +1 -1
  24. package/build/client/_app/immutable/chunks/CMRs-cy6.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/CMRs-cy6.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/D6NbA5vY.js +3 -0
  27. package/build/client/_app/immutable/chunks/D6NbA5vY.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/D6NbA5vY.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/lIgyewlB.js +1 -0
  30. package/build/client/_app/immutable/chunks/lIgyewlB.js.br +2 -0
  31. package/build/client/_app/immutable/chunks/lIgyewlB.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/{app.CvJhqOWB.js → app.D4HjSNXN.js} +2 -2
  33. package/build/client/_app/immutable/entry/app.D4HjSNXN.js.br +0 -0
  34. package/build/client/_app/immutable/entry/app.D4HjSNXN.js.gz +0 -0
  35. package/build/client/_app/immutable/entry/start.BBmWGrcI.js +1 -0
  36. package/build/client/_app/immutable/entry/start.BBmWGrcI.js.br +0 -0
  37. package/build/client/_app/immutable/entry/start.BBmWGrcI.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{1.CkZ-UG6X.js → 1.Cv1FI9RA.js} +1 -1
  39. package/build/client/_app/immutable/nodes/1.Cv1FI9RA.js.br +2 -0
  40. package/build/client/_app/immutable/nodes/1.Cv1FI9RA.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/10.CqffShhl.js +3 -0
  42. package/build/client/_app/immutable/nodes/10.CqffShhl.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/10.CqffShhl.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{3.BtPTs7lf.js → 3.BkI3j43n.js} +1 -1
  45. package/build/client/_app/immutable/nodes/3.BkI3j43n.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/3.BkI3j43n.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/4.0ZfV2HFJ.js +120 -0
  48. package/build/client/_app/immutable/nodes/4.0ZfV2HFJ.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/4.0ZfV2HFJ.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{5.CQID4Lcc.js → 5.B_jsAXs5.js} +1 -1
  51. package/build/client/_app/immutable/nodes/5.B_jsAXs5.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/5.B_jsAXs5.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/{6.BkC_Qb-V.js → 6.CD18u_qC.js} +1 -1
  54. package/build/client/_app/immutable/nodes/6.CD18u_qC.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/6.CD18u_qC.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/{7.C_moEri9.js → 7.BXyjSbT8.js} +1 -1
  57. package/build/client/_app/immutable/nodes/7.BXyjSbT8.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/7.BXyjSbT8.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/{8.CPQQ7-ZY.js → 8.CDTwcjzi.js} +1 -1
  60. package/build/client/_app/immutable/nodes/8.CDTwcjzi.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/8.CDTwcjzi.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/9.CBG9N3Ki.js +6 -0
  63. package/build/client/_app/immutable/nodes/9.CBG9N3Ki.js.br +0 -0
  64. package/build/client/_app/immutable/nodes/9.CBG9N3Ki.js.gz +0 -0
  65. package/build/client/_app/version.json +1 -1
  66. package/build/client/_app/version.json.br +1 -1
  67. package/build/client/_app/version.json.gz +0 -0
  68. package/build/server/chunks/{0-WMKdOxQY.js → 0-u2E6UMPO.js} +3 -3
  69. package/build/server/chunks/{0-WMKdOxQY.js.map → 0-u2E6UMPO.js.map} +1 -1
  70. package/build/server/chunks/1-CVcQJtBc.js +9 -0
  71. package/build/server/chunks/{1-DUa0GF3v.js.map → 1-CVcQJtBc.js.map} +1 -1
  72. package/build/server/chunks/10-W-ONZquv.js +69 -0
  73. package/build/server/chunks/10-W-ONZquv.js.map +1 -0
  74. package/build/server/chunks/{3-D50EGd7q.js → 3-DfK6WkJn.js} +3 -3
  75. package/build/server/chunks/3-DfK6WkJn.js.map +1 -0
  76. package/build/server/chunks/4-CTyDAO7N.js +9 -0
  77. package/build/server/chunks/4-CTyDAO7N.js.map +1 -0
  78. package/build/server/chunks/{5-C1m-Jk_l.js → 5-BXILJ_BC.js} +3 -3
  79. package/build/server/chunks/{5-C1m-Jk_l.js.map → 5-BXILJ_BC.js.map} +1 -1
  80. package/build/server/chunks/{6-BxTOxlzm.js → 6-HdFbhR1m.js} +3 -3
  81. package/build/server/chunks/{6-BxTOxlzm.js.map → 6-HdFbhR1m.js.map} +1 -1
  82. package/build/server/chunks/7-k9H-eD_d.js +9 -0
  83. package/build/server/chunks/{7-CiVEK5n0.js.map → 7-k9H-eD_d.js.map} +1 -1
  84. package/build/server/chunks/{8-Bpnku7ab.js → 8-CQmCVu_8.js} +3 -3
  85. package/build/server/chunks/{8-Bpnku7ab.js.map → 8-CQmCVu_8.js.map} +1 -1
  86. package/build/server/chunks/9-CfObyXK7.js +9 -0
  87. package/build/server/chunks/9-CfObyXK7.js.map +1 -0
  88. package/build/server/chunks/{ChatMessage-BHIBUzrd.js → ChatMessage-DfLmvrJq.js} +2 -2
  89. package/build/server/chunks/{ChatMessage-BHIBUzrd.js.map → ChatMessage-DfLmvrJq.js.map} +1 -1
  90. package/build/server/chunks/{Navbar-CHNgBXIf.js → Navbar-Dnxvfk10.js} +3 -3
  91. package/build/server/chunks/Navbar-Dnxvfk10.js.map +1 -0
  92. package/build/server/chunks/{_page.svelte-CLA0ELRQ.js → _page.svelte-BsDNnBfz.js} +379 -26
  93. package/build/server/chunks/_page.svelte-BsDNnBfz.js.map +1 -0
  94. package/build/server/chunks/{_page.svelte-Bo_k7Yp9.js → _page.svelte-CigItPjU.js} +9 -45
  95. package/build/server/chunks/_page.svelte-CigItPjU.js.map +1 -0
  96. package/build/server/chunks/{_page.svelte-D1_skK9H.js → _page.svelte-CqkvpyUV.js} +3 -3
  97. package/build/server/chunks/{_page.svelte-D1_skK9H.js.map → _page.svelte-CqkvpyUV.js.map} +1 -1
  98. package/build/server/chunks/_page.svelte-CrROmg04.js +35 -0
  99. package/build/server/chunks/_page.svelte-CrROmg04.js.map +1 -0
  100. package/build/server/chunks/{_page.svelte-BEfqZueO.js → _page.svelte-DMBLB7p4.js} +5 -5
  101. package/build/server/chunks/_page.svelte-DMBLB7p4.js.map +1 -0
  102. package/build/server/chunks/{_page.svelte-DqPyVIwk.js → _page.svelte-Dea_LGsw.js} +5 -5
  103. package/build/server/chunks/{_page.svelte-DqPyVIwk.js.map → _page.svelte-Dea_LGsw.js.map} +1 -1
  104. package/build/server/chunks/{_page.svelte-DAOv8x_O.js → _page.svelte-DnHQefg6.js} +6 -6
  105. package/build/server/chunks/_page.svelte-DnHQefg6.js.map +1 -0
  106. package/build/server/chunks/{_server.ts-DKCYV7cA.js → _server.ts--ZXHd_7G.js} +8 -6
  107. package/build/server/chunks/{_server.ts-DKCYV7cA.js.map → _server.ts--ZXHd_7G.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-oR5F0ndN.js → _server.ts-0B6ETUr-.js} +7 -5
  109. package/build/server/chunks/_server.ts-0B6ETUr-.js.map +1 -0
  110. package/build/server/chunks/{_server.ts-D__yhafj.js → _server.ts-ALC_q9Pv.js} +10 -8
  111. package/build/server/chunks/_server.ts-ALC_q9Pv.js.map +1 -0
  112. package/build/server/chunks/{_server.ts-atTSaGh1.js → _server.ts-B1yfYKPg.js} +7 -5
  113. package/build/server/chunks/_server.ts-B1yfYKPg.js.map +1 -0
  114. package/build/server/chunks/{_server.ts-BRMeIbO9.js → _server.ts-B2osMaU8.js} +7 -5
  115. package/build/server/chunks/_server.ts-B2osMaU8.js.map +1 -0
  116. package/build/server/chunks/{_server.ts-CIf-kHdw.js → _server.ts-B409KD6U.js} +7 -5
  117. package/build/server/chunks/_server.ts-B409KD6U.js.map +1 -0
  118. package/build/server/chunks/{_server.ts-Lvr38bTh.js → _server.ts-B5hR6mRJ.js} +4 -3
  119. package/build/server/chunks/{_server.ts-Lvr38bTh.js.map → _server.ts-B5hR6mRJ.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-7sbbhwIJ.js → _server.ts-BCfPFzEV.js} +22 -17
  121. package/build/server/chunks/_server.ts-BCfPFzEV.js.map +1 -0
  122. package/build/server/chunks/{_server.ts-DkPNdshV.js → _server.ts-BEdChB0B.js} +7 -5
  123. package/build/server/chunks/_server.ts-BEdChB0B.js.map +1 -0
  124. package/build/server/chunks/{_server.ts-BYVcXj0z.js → _server.ts-BL9qmwrJ.js} +50 -5
  125. package/build/server/chunks/_server.ts-BL9qmwrJ.js.map +1 -0
  126. package/build/server/chunks/{_server.ts-DCSE5HH9.js → _server.ts-BOYEjBGJ.js} +9 -7
  127. package/build/server/chunks/_server.ts-BOYEjBGJ.js.map +1 -0
  128. package/build/server/chunks/{_server.ts-C25ID2Ds.js → _server.ts-BP1-cpdO.js} +8 -6
  129. package/build/server/chunks/{_server.ts-C25ID2Ds.js.map → _server.ts-BP1-cpdO.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-CNgRWhGz.js → _server.ts-BVQjwsMp.js} +7 -5
  131. package/build/server/chunks/{_server.ts-CNgRWhGz.js.map → _server.ts-BVQjwsMp.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-DNehZ4Dq.js → _server.ts-BX19lZQE.js} +7 -5
  133. package/build/server/chunks/{_server.ts-DNehZ4Dq.js.map → _server.ts-BX19lZQE.js.map} +1 -1
  134. package/build/server/chunks/_server.ts-BaCAfVqq.js +41 -0
  135. package/build/server/chunks/_server.ts-BaCAfVqq.js.map +1 -0
  136. package/build/server/chunks/{_server.ts-Ro0pdSG-.js → _server.ts-BfRDa9Ak.js} +7 -5
  137. package/build/server/chunks/_server.ts-BfRDa9Ak.js.map +1 -0
  138. package/build/server/chunks/{_server.ts-BljWPM83.js → _server.ts-BfpKWyaE.js} +7 -5
  139. package/build/server/chunks/_server.ts-BfpKWyaE.js.map +1 -0
  140. package/build/server/chunks/_server.ts-BmQi3d-p.js +50 -0
  141. package/build/server/chunks/_server.ts-BmQi3d-p.js.map +1 -0
  142. package/build/server/chunks/{_server.ts-D_CnUPkK.js → _server.ts-Bs3oAE6C.js} +7 -5
  143. package/build/server/chunks/_server.ts-Bs3oAE6C.js.map +1 -0
  144. package/build/server/chunks/{_server.ts-Czpq8s6u.js → _server.ts-BsgERSUa.js} +16 -14
  145. package/build/server/chunks/_server.ts-BsgERSUa.js.map +1 -0
  146. package/build/server/chunks/{_server.ts-ve3vu4qb.js → _server.ts-Bu5_FYA-.js} +7 -5
  147. package/build/server/chunks/_server.ts-Bu5_FYA-.js.map +1 -0
  148. package/build/server/chunks/{_server.ts-BMVMgjjP.js → _server.ts-BzEFvvlp.js} +9 -7
  149. package/build/server/chunks/{_server.ts-BMVMgjjP.js.map → _server.ts-BzEFvvlp.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-Yr37THbf.js → _server.ts-C2oIwHOm.js} +7 -5
  151. package/build/server/chunks/{_server.ts-Yr37THbf.js.map → _server.ts-C2oIwHOm.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-CosA5eNc.js → _server.ts-C40BmZoV.js} +7 -5
  153. package/build/server/chunks/_server.ts-C40BmZoV.js.map +1 -0
  154. package/build/server/chunks/{_server.ts-jJDzcwxi.js → _server.ts-CB1MjjTN.js} +9 -7
  155. package/build/server/chunks/_server.ts-CB1MjjTN.js.map +1 -0
  156. package/build/server/chunks/{_server.ts-CrxFegEr.js → _server.ts-CERCOBc3.js} +7 -5
  157. package/build/server/chunks/_server.ts-CERCOBc3.js.map +1 -0
  158. package/build/server/chunks/{_server.ts-CTTmVvXF.js → _server.ts-CGlVN30h.js} +7 -5
  159. package/build/server/chunks/_server.ts-CGlVN30h.js.map +1 -0
  160. package/build/server/chunks/{_server.ts-BRx0eMUC.js → _server.ts-CHC5iyoo.js} +7 -5
  161. package/build/server/chunks/_server.ts-CHC5iyoo.js.map +1 -0
  162. package/build/server/chunks/{_server.ts-CqgWbZJS.js → _server.ts-CI29Cyri.js} +8 -6
  163. package/build/server/chunks/_server.ts-CI29Cyri.js.map +1 -0
  164. package/build/server/chunks/{_server.ts-Cf18QJ0U.js → _server.ts-CPzXJpes.js} +8 -6
  165. package/build/server/chunks/_server.ts-CPzXJpes.js.map +1 -0
  166. package/build/server/chunks/{_server.ts-DCDfTBwU.js → _server.ts-CSZz4p8L.js} +7 -5
  167. package/build/server/chunks/_server.ts-CSZz4p8L.js.map +1 -0
  168. package/build/server/chunks/{_server.ts-CxEzeqf_.js → _server.ts-CW_MqxCL.js} +9 -7
  169. package/build/server/chunks/_server.ts-CW_MqxCL.js.map +1 -0
  170. package/build/server/chunks/{_server.ts-BjHba4db.js → _server.ts-CcKpUv9a.js} +7 -5
  171. package/build/server/chunks/_server.ts-CcKpUv9a.js.map +1 -0
  172. package/build/server/chunks/{_server.ts-DYzS6l9L.js → _server.ts-CfZXoUH1.js} +7 -5
  173. package/build/server/chunks/_server.ts-CfZXoUH1.js.map +1 -0
  174. package/build/server/chunks/{_server.ts-DRtfz2MH.js → _server.ts-Cg_nVcGe.js} +8 -6
  175. package/build/server/chunks/_server.ts-Cg_nVcGe.js.map +1 -0
  176. package/build/server/chunks/{_server.ts-Dnl_--6H.js → _server.ts-Ckf8jQdl.js} +8 -6
  177. package/build/server/chunks/{_server.ts-Dnl_--6H.js.map → _server.ts-Ckf8jQdl.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-Brd-UhLJ.js → _server.ts-Cl0rLFUw.js} +8 -6
  179. package/build/server/chunks/{_server.ts-Brd-UhLJ.js.map → _server.ts-Cl0rLFUw.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-CydJkxqH.js → _server.ts-ComhXvuD.js} +7 -5
  181. package/build/server/chunks/_server.ts-ComhXvuD.js.map +1 -0
  182. package/build/server/chunks/_server.ts-Cya45Eco.js +36 -0
  183. package/build/server/chunks/_server.ts-Cya45Eco.js.map +1 -0
  184. package/build/server/chunks/{_server.ts-CzsTFGFb.js → _server.ts-D1dT173b.js} +7 -5
  185. package/build/server/chunks/_server.ts-D1dT173b.js.map +1 -0
  186. package/build/server/chunks/{_server.ts-DuMubVfl.js → _server.ts-D1v6AXVY.js} +4 -3
  187. package/build/server/chunks/_server.ts-D1v6AXVY.js.map +1 -0
  188. package/build/server/chunks/{_server.ts-DxHIA_Rr.js → _server.ts-D2YDAvSW.js} +7 -5
  189. package/build/server/chunks/_server.ts-D2YDAvSW.js.map +1 -0
  190. package/build/server/chunks/{_server.ts-Adn-DdpI.js → _server.ts-D30T84pQ.js} +7 -5
  191. package/build/server/chunks/_server.ts-D30T84pQ.js.map +1 -0
  192. package/build/server/chunks/{_server.ts-BKTLNDmT.js → _server.ts-D47IinIP.js} +13 -25
  193. package/build/server/chunks/_server.ts-D47IinIP.js.map +1 -0
  194. package/build/server/chunks/{_server.ts-CfeJ2lFS.js → _server.ts-D4lQjUia.js} +9 -7
  195. package/build/server/chunks/{_server.ts-CfeJ2lFS.js.map → _server.ts-D4lQjUia.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-ChMZ5tdq.js → _server.ts-D53Q4y2U.js} +7 -5
  197. package/build/server/chunks/_server.ts-D53Q4y2U.js.map +1 -0
  198. package/build/server/chunks/{_server.ts-D3sEN-0K.js → _server.ts-DESj9ag6.js} +23 -14
  199. package/build/server/chunks/_server.ts-DESj9ag6.js.map +1 -0
  200. package/build/server/chunks/{_server.ts-6x0IrmfD.js → _server.ts-DErSZ0aB.js} +4 -3
  201. package/build/server/chunks/_server.ts-DErSZ0aB.js.map +1 -0
  202. package/build/server/chunks/{_server.ts-GR8XZaCp.js → _server.ts-DFfzCkBR.js} +7 -5
  203. package/build/server/chunks/_server.ts-DFfzCkBR.js.map +1 -0
  204. package/build/server/chunks/{_server.ts-C6hPARrn.js → _server.ts-DGkBTOLd.js} +7 -5
  205. package/build/server/chunks/_server.ts-DGkBTOLd.js.map +1 -0
  206. package/build/server/chunks/_server.ts-DJ8dviE4.js +40 -0
  207. package/build/server/chunks/_server.ts-DJ8dviE4.js.map +1 -0
  208. package/build/server/chunks/{_server.ts-B8D9bzxZ.js → _server.ts-DMNpdAr1.js} +7 -5
  209. package/build/server/chunks/_server.ts-DMNpdAr1.js.map +1 -0
  210. package/build/server/chunks/{_server.ts-DFlWDerb.js → _server.ts-DSn8PZs3.js} +11 -9
  211. package/build/server/chunks/_server.ts-DSn8PZs3.js.map +1 -0
  212. package/build/server/chunks/{_server.ts-B0Mco4CF.js → _server.ts-DUJObAJG.js} +8 -6
  213. package/build/server/chunks/_server.ts-DUJObAJG.js.map +1 -0
  214. package/build/server/chunks/_server.ts-DYU3yoaF.js +62 -0
  215. package/build/server/chunks/_server.ts-DYU3yoaF.js.map +1 -0
  216. package/build/server/chunks/{_server.ts-CLnVD1ol.js → _server.ts-Dbczo4Pv.js} +3 -2
  217. package/build/server/chunks/_server.ts-Dbczo4Pv.js.map +1 -0
  218. package/build/server/chunks/{_server.ts-NxCB35yu.js → _server.ts-Dbnh0OAK.js} +7 -5
  219. package/build/server/chunks/{_server.ts-NxCB35yu.js.map → _server.ts-Dbnh0OAK.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-DRP9GnjO.js → _server.ts-Df_d0aal.js} +7 -5
  221. package/build/server/chunks/_server.ts-Df_d0aal.js.map +1 -0
  222. package/build/server/chunks/{_server.ts-BW8WG_zO.js → _server.ts-DhF_U44B.js} +7 -5
  223. package/build/server/chunks/{_server.ts-BW8WG_zO.js.map → _server.ts-DhF_U44B.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-YXu1Ll0m.js → _server.ts-DjPUN7lf.js} +7 -5
  225. package/build/server/chunks/_server.ts-DjPUN7lf.js.map +1 -0
  226. package/build/server/chunks/{_server.ts-DdmosErD.js → _server.ts-Dr56nQwT.js} +7 -5
  227. package/build/server/chunks/_server.ts-Dr56nQwT.js.map +1 -0
  228. package/build/server/chunks/{_server.ts-kT0aEfNc.js → _server.ts-DsXYP4wI.js} +7 -5
  229. package/build/server/chunks/_server.ts-DsXYP4wI.js.map +1 -0
  230. package/build/server/chunks/{_server.ts-9X9GboOx.js → _server.ts-Dsl30Kqm.js} +7 -5
  231. package/build/server/chunks/{_server.ts-9X9GboOx.js.map → _server.ts-Dsl30Kqm.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-DnveUL19.js → _server.ts-DtJPTK6T.js} +7 -5
  233. package/build/server/chunks/{_server.ts-DnveUL19.js.map → _server.ts-DtJPTK6T.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-BE_vE72K.js → _server.ts-Dwhv7KnR.js} +8 -6
  235. package/build/server/chunks/{_server.ts-BE_vE72K.js.map → _server.ts-Dwhv7KnR.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-DlF8VdRG.js → _server.ts-DzFK8bVm.js} +7 -5
  237. package/build/server/chunks/_server.ts-DzFK8bVm.js.map +1 -0
  238. package/build/server/chunks/{_server.ts-B4XJRWmg.js → _server.ts-JWoayilI.js} +7 -5
  239. package/build/server/chunks/{_server.ts-B4XJRWmg.js.map → _server.ts-JWoayilI.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-ClPu8Rkm.js → _server.ts-LS-MWWTz.js} +8 -6
  241. package/build/server/chunks/{_server.ts-ClPu8Rkm.js.map → _server.ts-LS-MWWTz.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-Pe6f27yp.js → _server.ts-MPKhnT_9.js} +7 -5
  243. package/build/server/chunks/{_server.ts-Pe6f27yp.js.map → _server.ts-MPKhnT_9.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-Db3C73DS.js → _server.ts-Ou4LHoL0.js} +7 -5
  245. package/build/server/chunks/{_server.ts-Db3C73DS.js.map → _server.ts-Ou4LHoL0.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-DKG4AeRF.js → _server.ts-WQLovWTW.js} +8 -6
  247. package/build/server/chunks/_server.ts-WQLovWTW.js.map +1 -0
  248. package/build/server/chunks/{_server.ts-U5GFn5_3.js → _server.ts-YGPIKWu1.js} +7 -5
  249. package/build/server/chunks/{_server.ts-U5GFn5_3.js.map → _server.ts-YGPIKWu1.js.map} +1 -1
  250. package/build/server/chunks/{_server.ts-D_YIlUj0.js → _server.ts-Z6Jl5czR.js} +7 -5
  251. package/build/server/chunks/_server.ts-Z6Jl5czR.js.map +1 -0
  252. package/build/server/chunks/{_server.ts-Az776yqU.js → _server.ts-anQxgBbg.js} +7 -5
  253. package/build/server/chunks/{_server.ts-Az776yqU.js.map → _server.ts-anQxgBbg.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-DVSzfbvS.js → _server.ts-b0eG_upf.js} +7 -5
  255. package/build/server/chunks/{_server.ts-DVSzfbvS.js.map → _server.ts-b0eG_upf.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-2L3QS1hC.js → _server.ts-gBd2rolQ.js} +7 -5
  257. package/build/server/chunks/_server.ts-gBd2rolQ.js.map +1 -0
  258. package/build/server/chunks/{_server.ts-CMpjAvc7.js → _server.ts-keJe--oH.js} +44 -24
  259. package/build/server/chunks/_server.ts-keJe--oH.js.map +1 -0
  260. package/build/server/chunks/{_server.ts-Bj-aBJk7.js → _server.ts-tSnumHIh.js} +7 -5
  261. package/build/server/chunks/_server.ts-tSnumHIh.js.map +1 -0
  262. package/build/server/chunks/{_server.ts-CrqxuI7F.js → _server.ts-tVOMHVfT.js} +8 -6
  263. package/build/server/chunks/{_server.ts-CrqxuI7F.js.map → _server.ts-tVOMHVfT.js.map} +1 -1
  264. package/build/server/chunks/{_server.ts-DaEP8BBJ.js → _server.ts-vz7XppYp.js} +7 -5
  265. package/build/server/chunks/_server.ts-vz7XppYp.js.map +1 -0
  266. package/build/server/chunks/{_server.ts-X5JJ8ArH.js → _server.ts-xxCrP77n.js} +7 -5
  267. package/build/server/chunks/_server.ts-xxCrP77n.js.map +1 -0
  268. package/build/server/chunks/{addon-helpers-BvyuEly-.js → addon-helpers-CNp09lT6.js} +3 -3
  269. package/build/server/chunks/addon-helpers-CNp09lT6.js.map +1 -0
  270. package/build/server/chunks/{akm-DoHUKzR0.js → akm-Du5uQGJQ.js} +3 -2
  271. package/build/server/chunks/akm-Du5uQGJQ.js.map +1 -0
  272. package/build/server/chunks/{_server.ts-C8z34WB4.js → catalog-VJdRC16s.js} +46 -34
  273. package/build/server/chunks/catalog-VJdRC16s.js.map +1 -0
  274. package/build/server/chunks/{client-Cjb8uvpz.js → client-BQEOyapc.js} +2 -2
  275. package/build/server/chunks/{client-Cjb8uvpz.js.map → client-BQEOyapc.js.map} +1 -1
  276. package/build/server/chunks/{config-Bonsx0Rw.js → config-VQx1c1o2.js} +2 -2
  277. package/build/server/chunks/{config-Bonsx0Rw.js.map → config-VQx1c1o2.js.map} +1 -1
  278. package/build/server/chunks/{docker-DUcl5Nd3.js → docker-DeSRsk_C.js} +2 -2
  279. package/build/server/chunks/docker-DeSRsk_C.js.map +1 -0
  280. package/build/server/chunks/{endpoints-Crjg6AFu.js → endpoints-CVaZyXGR.js} +56 -23
  281. package/build/server/chunks/endpoints-CVaZyXGR.js.map +1 -0
  282. package/build/server/chunks/{environment-OK7MYhly.js → environment-BTWh1E9j.js} +2 -2
  283. package/build/server/chunks/{environment-OK7MYhly.js.map → environment-BTWh1E9j.js.map} +1 -1
  284. package/build/server/chunks/{error.svelte-CZS56Lew.js → error.svelte-Cz7XJbXh.js} +4 -4
  285. package/build/server/chunks/error.svelte-Cz7XJbXh.js.map +1 -0
  286. package/build/server/chunks/{helpers-BQ_IzT4l.js → helpers-DEWuEDi5.js} +3 -3
  287. package/build/server/chunks/helpers-DEWuEDi5.js.map +1 -0
  288. package/build/server/chunks/{hooks.server-DauSX3Qa.js → hooks.server-D_p0VTSA.js} +59 -8
  289. package/build/server/chunks/hooks.server-D_p0VTSA.js.map +1 -0
  290. package/build/server/chunks/{http-CW8qaRto.js → http-Bz9VDTR1.js} +2 -2
  291. package/build/server/chunks/{http-CW8qaRto.js.map → http-Bz9VDTR1.js.map} +1 -1
  292. package/build/server/chunks/{internal-CU62uCyK.js → internal-CXonuT4k.js} +3 -3
  293. package/build/server/chunks/{internal-CU62uCyK.js.map → internal-CXonuT4k.js.map} +1 -1
  294. package/build/server/chunks/provider-constants-DPrj3yBX.js +63 -0
  295. package/build/server/chunks/provider-constants-DPrj3yBX.js.map +1 -0
  296. package/build/server/chunks/{session-cookie-C4Vsx_M2.js → session-cookie-CQw8e0tc.js} +2 -2
  297. package/build/server/chunks/{session-cookie-C4Vsx_M2.js.map → session-cookie-CQw8e0tc.js.map} +1 -1
  298. package/build/server/chunks/setup-deploy-BBl1pM-Q.js +75 -0
  299. package/build/server/chunks/setup-deploy-BBl1pM-Q.js.map +1 -0
  300. package/build/server/chunks/{src-D4RUgmPp.js → src-CHZNd5cO.js} +2545 -1612
  301. package/build/server/chunks/src-CHZNd5cO.js.map +1 -0
  302. package/build/server/chunks/state-BcQ5v_Ye.js +27 -0
  303. package/build/server/chunks/state-BcQ5v_Ye.js.map +1 -0
  304. package/build/server/chunks/{state-Di9Aippp.js → state2-CGTr4dHs.js} +2 -2
  305. package/build/server/chunks/state2-CGTr4dHs.js.map +1 -0
  306. package/build/server/index.js +2 -2
  307. package/build/server/manifest.js +119 -90
  308. package/build/server/manifest.js.map +1 -1
  309. package/package.json +2 -2
  310. package/build/client/_app/immutable/assets/0.Cg_kDPOD.css +0 -1
  311. package/build/client/_app/immutable/assets/0.Cg_kDPOD.css.br +0 -0
  312. package/build/client/_app/immutable/assets/0.Cg_kDPOD.css.gz +0 -0
  313. package/build/client/_app/immutable/assets/4.DuxrEHWs.css +0 -1
  314. package/build/client/_app/immutable/assets/4.DuxrEHWs.css.br +0 -0
  315. package/build/client/_app/immutable/assets/4.DuxrEHWs.css.gz +0 -0
  316. package/build/client/_app/immutable/assets/9.BqmkXh6u.css +0 -1
  317. package/build/client/_app/immutable/assets/9.BqmkXh6u.css.br +0 -0
  318. package/build/client/_app/immutable/assets/9.BqmkXh6u.css.gz +0 -0
  319. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css +0 -1
  320. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css.br +0 -0
  321. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css.gz +0 -0
  322. package/build/client/_app/immutable/chunks/2ZMOX13V.js.br +0 -0
  323. package/build/client/_app/immutable/chunks/2ZMOX13V.js.gz +0 -0
  324. package/build/client/_app/immutable/chunks/BE96pGoc.js +0 -3
  325. package/build/client/_app/immutable/chunks/BE96pGoc.js.br +0 -0
  326. package/build/client/_app/immutable/chunks/BE96pGoc.js.gz +0 -0
  327. package/build/client/_app/immutable/chunks/BWN4X0zs.js.br +0 -0
  328. package/build/client/_app/immutable/chunks/BWN4X0zs.js.gz +0 -0
  329. package/build/client/_app/immutable/chunks/BplpI4py.js.br +0 -0
  330. package/build/client/_app/immutable/chunks/BplpI4py.js.gz +0 -0
  331. package/build/client/_app/immutable/chunks/CVdeYz6v.js +0 -1
  332. package/build/client/_app/immutable/chunks/CVdeYz6v.js.br +0 -0
  333. package/build/client/_app/immutable/chunks/CVdeYz6v.js.gz +0 -0
  334. package/build/client/_app/immutable/chunks/p0W0xTr8.js +0 -1
  335. package/build/client/_app/immutable/chunks/p0W0xTr8.js.br +0 -2
  336. package/build/client/_app/immutable/chunks/p0W0xTr8.js.gz +0 -0
  337. package/build/client/_app/immutable/entry/app.CvJhqOWB.js.br +0 -0
  338. package/build/client/_app/immutable/entry/app.CvJhqOWB.js.gz +0 -0
  339. package/build/client/_app/immutable/entry/start.Buubqkoa.js +0 -1
  340. package/build/client/_app/immutable/entry/start.Buubqkoa.js.br +0 -1
  341. package/build/client/_app/immutable/entry/start.Buubqkoa.js.gz +0 -0
  342. package/build/client/_app/immutable/nodes/1.CkZ-UG6X.js.br +0 -4
  343. package/build/client/_app/immutable/nodes/1.CkZ-UG6X.js.gz +0 -0
  344. package/build/client/_app/immutable/nodes/3.BtPTs7lf.js.br +0 -0
  345. package/build/client/_app/immutable/nodes/3.BtPTs7lf.js.gz +0 -0
  346. package/build/client/_app/immutable/nodes/4.DZOzJf5N.js +0 -120
  347. package/build/client/_app/immutable/nodes/4.DZOzJf5N.js.br +0 -0
  348. package/build/client/_app/immutable/nodes/4.DZOzJf5N.js.gz +0 -0
  349. package/build/client/_app/immutable/nodes/5.CQID4Lcc.js.br +0 -0
  350. package/build/client/_app/immutable/nodes/5.CQID4Lcc.js.gz +0 -0
  351. package/build/client/_app/immutable/nodes/6.BkC_Qb-V.js.br +0 -0
  352. package/build/client/_app/immutable/nodes/6.BkC_Qb-V.js.gz +0 -0
  353. package/build/client/_app/immutable/nodes/7.C_moEri9.js.br +0 -0
  354. package/build/client/_app/immutable/nodes/7.C_moEri9.js.gz +0 -0
  355. package/build/client/_app/immutable/nodes/8.CPQQ7-ZY.js.br +0 -0
  356. package/build/client/_app/immutable/nodes/8.CPQQ7-ZY.js.gz +0 -0
  357. package/build/client/_app/immutable/nodes/9.BhpjEFrE.js +0 -5
  358. package/build/client/_app/immutable/nodes/9.BhpjEFrE.js.br +0 -0
  359. package/build/client/_app/immutable/nodes/9.BhpjEFrE.js.gz +0 -0
  360. package/build/client/setup/wizard.css +0 -1509
  361. package/build/client/setup/wizard.css.br +0 -0
  362. package/build/client/setup/wizard.css.gz +0 -0
  363. package/build/server/chunks/1-DUa0GF3v.js +0 -9
  364. package/build/server/chunks/3-D50EGd7q.js.map +0 -1
  365. package/build/server/chunks/4-CRAGzUQh.js +0 -9
  366. package/build/server/chunks/4-CRAGzUQh.js.map +0 -1
  367. package/build/server/chunks/7-CiVEK5n0.js +0 -9
  368. package/build/server/chunks/9-BjxPEGaS.js +0 -9
  369. package/build/server/chunks/9-BjxPEGaS.js.map +0 -1
  370. package/build/server/chunks/Navbar-CHNgBXIf.js.map +0 -1
  371. package/build/server/chunks/VoiceProfileSelector-Dm9LnnyW.js +0 -306
  372. package/build/server/chunks/VoiceProfileSelector-Dm9LnnyW.js.map +0 -1
  373. package/build/server/chunks/_page.svelte-BEfqZueO.js.map +0 -1
  374. package/build/server/chunks/_page.svelte-Bo_k7Yp9.js.map +0 -1
  375. package/build/server/chunks/_page.svelte-CLA0ELRQ.js.map +0 -1
  376. package/build/server/chunks/_page.svelte-DAOv8x_O.js.map +0 -1
  377. package/build/server/chunks/_server.ts-2L3QS1hC.js.map +0 -1
  378. package/build/server/chunks/_server.ts-6x0IrmfD.js.map +0 -1
  379. package/build/server/chunks/_server.ts-7sbbhwIJ.js.map +0 -1
  380. package/build/server/chunks/_server.ts-Adn-DdpI.js.map +0 -1
  381. package/build/server/chunks/_server.ts-B0Mco4CF.js.map +0 -1
  382. package/build/server/chunks/_server.ts-B8D9bzxZ.js.map +0 -1
  383. package/build/server/chunks/_server.ts-BKTLNDmT.js.map +0 -1
  384. package/build/server/chunks/_server.ts-BRMeIbO9.js.map +0 -1
  385. package/build/server/chunks/_server.ts-BRx0eMUC.js.map +0 -1
  386. package/build/server/chunks/_server.ts-BYVcXj0z.js.map +0 -1
  387. package/build/server/chunks/_server.ts-Bj-aBJk7.js.map +0 -1
  388. package/build/server/chunks/_server.ts-BjHba4db.js.map +0 -1
  389. package/build/server/chunks/_server.ts-BljWPM83.js.map +0 -1
  390. package/build/server/chunks/_server.ts-C6hPARrn.js.map +0 -1
  391. package/build/server/chunks/_server.ts-C8z34WB4.js.map +0 -1
  392. package/build/server/chunks/_server.ts-CHeQUV5e.js +0 -80
  393. package/build/server/chunks/_server.ts-CHeQUV5e.js.map +0 -1
  394. package/build/server/chunks/_server.ts-CIf-kHdw.js.map +0 -1
  395. package/build/server/chunks/_server.ts-CLnVD1ol.js.map +0 -1
  396. package/build/server/chunks/_server.ts-CMpjAvc7.js.map +0 -1
  397. package/build/server/chunks/_server.ts-CTTmVvXF.js.map +0 -1
  398. package/build/server/chunks/_server.ts-Cf18QJ0U.js.map +0 -1
  399. package/build/server/chunks/_server.ts-ChMZ5tdq.js.map +0 -1
  400. package/build/server/chunks/_server.ts-CosA5eNc.js.map +0 -1
  401. package/build/server/chunks/_server.ts-CqgWbZJS.js.map +0 -1
  402. package/build/server/chunks/_server.ts-CrxFegEr.js.map +0 -1
  403. package/build/server/chunks/_server.ts-CxEzeqf_.js.map +0 -1
  404. package/build/server/chunks/_server.ts-CydJkxqH.js.map +0 -1
  405. package/build/server/chunks/_server.ts-Czpq8s6u.js.map +0 -1
  406. package/build/server/chunks/_server.ts-CzsTFGFb.js.map +0 -1
  407. package/build/server/chunks/_server.ts-D3sEN-0K.js.map +0 -1
  408. package/build/server/chunks/_server.ts-DCDfTBwU.js.map +0 -1
  409. package/build/server/chunks/_server.ts-DCSE5HH9.js.map +0 -1
  410. package/build/server/chunks/_server.ts-DFlWDerb.js.map +0 -1
  411. package/build/server/chunks/_server.ts-DKG4AeRF.js.map +0 -1
  412. package/build/server/chunks/_server.ts-DRP9GnjO.js.map +0 -1
  413. package/build/server/chunks/_server.ts-DRtfz2MH.js.map +0 -1
  414. package/build/server/chunks/_server.ts-DYzS6l9L.js.map +0 -1
  415. package/build/server/chunks/_server.ts-D_CnUPkK.js.map +0 -1
  416. package/build/server/chunks/_server.ts-D_YIlUj0.js.map +0 -1
  417. package/build/server/chunks/_server.ts-D__yhafj.js.map +0 -1
  418. package/build/server/chunks/_server.ts-DaEP8BBJ.js.map +0 -1
  419. package/build/server/chunks/_server.ts-DdmosErD.js.map +0 -1
  420. package/build/server/chunks/_server.ts-DkPNdshV.js.map +0 -1
  421. package/build/server/chunks/_server.ts-DlF8VdRG.js.map +0 -1
  422. package/build/server/chunks/_server.ts-DuMubVfl.js.map +0 -1
  423. package/build/server/chunks/_server.ts-DxHIA_Rr.js.map +0 -1
  424. package/build/server/chunks/_server.ts-GR8XZaCp.js.map +0 -1
  425. package/build/server/chunks/_server.ts-Ro0pdSG-.js.map +0 -1
  426. package/build/server/chunks/_server.ts-X5JJ8ArH.js.map +0 -1
  427. package/build/server/chunks/_server.ts-YXu1Ll0m.js.map +0 -1
  428. package/build/server/chunks/_server.ts-atTSaGh1.js.map +0 -1
  429. package/build/server/chunks/_server.ts-jJDzcwxi.js.map +0 -1
  430. package/build/server/chunks/_server.ts-kT0aEfNc.js.map +0 -1
  431. package/build/server/chunks/_server.ts-oR5F0ndN.js.map +0 -1
  432. package/build/server/chunks/_server.ts-ve3vu4qb.js.map +0 -1
  433. package/build/server/chunks/addon-helpers-BvyuEly-.js.map +0 -1
  434. package/build/server/chunks/akm-DoHUKzR0.js.map +0 -1
  435. package/build/server/chunks/docker-DUcl5Nd3.js.map +0 -1
  436. package/build/server/chunks/endpoints-Crjg6AFu.js.map +0 -1
  437. package/build/server/chunks/error.svelte-CZS56Lew.js.map +0 -1
  438. package/build/server/chunks/helpers-BQ_IzT4l.js.map +0 -1
  439. package/build/server/chunks/hooks.server-DauSX3Qa.js.map +0 -1
  440. package/build/server/chunks/setup-deploy-DvvlcGX4.js +0 -525
  441. package/build/server/chunks/setup-deploy-DvvlcGX4.js.map +0 -1
  442. package/build/server/chunks/src-D4RUgmPp.js.map +0 -1
  443. package/build/server/chunks/state-Di9Aippp.js.map +0 -1
  444. /package/build/client/_app/immutable/nodes/{0.BeACmjY0.js → 0.DEcud9DA.js} +0 -0
  445. /package/build/client/_app/immutable/nodes/{0.BeACmjY0.js.br → 0.DEcud9DA.js.br} +0 -0
  446. /package/build/client/_app/immutable/nodes/{0.BeACmjY0.js.gz → 0.DEcud9DA.js.gz} +0 -0
@@ -1,1509 +0,0 @@
1
- /* =========================================================================
2
- OpenPalm Setup Wizard — Standalone CSS
3
- ========================================================================= */
4
-
5
- /* ── CSS Custom Properties (Design Tokens) ─────────────────────────────── */
6
- :root {
7
- /* Spacing scale */
8
- --space-1: 4px;
9
- --space-2: 8px;
10
- --space-3: 12px;
11
- --space-4: 16px;
12
- --space-5: 20px;
13
- --space-6: 24px;
14
- --space-7: 28px;
15
- --space-8: 32px;
16
-
17
- /* Typography */
18
- --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
19
- --font-mono: 'SF Mono', 'Cascadia Code', 'Fira Code', Consolas, monospace;
20
- --text-xs: 0.75rem;
21
- --text-sm: 0.8125rem;
22
- --text-base: 0.875rem;
23
- --text-lg: 1.125rem;
24
- --text-xl: 1.25rem;
25
- --text-2xl: 1.5rem;
26
- --font-medium: 500;
27
- --font-semibold: 600;
28
- --font-bold: 700;
29
- --leading-tight: 1.25;
30
-
31
- /* Radii */
32
- --radius-sm: 6px;
33
- --radius-md: 8px;
34
- --radius-lg: 12px;
35
- --radius-full: 9999px;
36
-
37
- /* Accent colors for provider/badge chrome. The core --color-* design tokens
38
- (bg, text, border, primary, success, danger, surface, etc.) are inherited
39
- from app.css, which defines BOTH light and dark values — that is what makes
40
- the wizard theme-aware. Only the accent hues below are wizard-specific and
41
- absent from app.css, so they are (re)declared here with light + dark values. */
42
- --color-blue: #2563EB;
43
- --color-blue-soft: #EFF6FF;
44
- --color-teal: #0d9488;
45
- --color-teal-soft: #f0fdfa;
46
-
47
- /* Transitions */
48
- --transition-fast: 0.15s ease;
49
- }
50
-
51
- :root[data-theme='dark'] {
52
- /* Dark variants for the wizard-specific accent hues. Brighter foregrounds on
53
- dark, faint translucent "soft" backgrounds so badges/buttons stay legible. */
54
- --color-blue: #93c5fd;
55
- --color-blue-soft: rgba(37, 99, 235, 0.18);
56
- --color-teal: #5eead4;
57
- --color-teal-soft: rgba(13, 148, 136, 0.18);
58
- }
59
-
60
- /* ── Reset / Base ──────────────────────────────────────────────────────── */
61
- *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
62
-
63
- body {
64
- font-family: var(--font-sans);
65
- font-size: var(--text-base);
66
- color: var(--color-text);
67
- background: var(--color-bg-secondary);
68
- line-height: 1.5;
69
- -webkit-font-smoothing: antialiased;
70
- -moz-osx-font-smoothing: grayscale;
71
- }
72
-
73
- /* ── Page Layout ───────────────────────────────────────────────────────── */
74
- .setup-page {
75
- min-height: 100vh;
76
- display: flex;
77
- align-items: center;
78
- justify-content: center;
79
- /* flex instead of grid+place-items avoids the grid column being sized to the
80
- card's max-width, which caused the card to exceed the viewport width on
81
- narrow screens (< 720px). */
82
- padding: var(--space-6);
83
- background:
84
- radial-gradient(ellipse 80% 60% at 15% 10%, rgba(255, 157, 0, 0.06) 0%, transparent 60%),
85
- radial-gradient(ellipse 60% 50% at 85% 90%, rgba(99, 102, 241, 0.05) 0%, transparent 55%),
86
- var(--color-bg-secondary);
87
- position: relative;
88
- /* Only clip horizontally (to hide the decorative radial-gradient bleed).
89
- overflow:hidden was clipping the card vertically on short viewports. */
90
- overflow-x: hidden;
91
- overflow-y: auto;
92
- }
93
-
94
- /* ── Wizard Card ───────────────────────────────────────────────────────── */
95
- .wizard-card {
96
- width: 100%;
97
- max-width: min(100%, 720px);
98
- /* Cap height so the card never taller than the viewport minus the page
99
- padding (2 × 24px). The body scrolls internally; step-actions sticks
100
- at the bottom of the visible card area, not at the bottom of the
101
- full scroll-height. Use calc() so it responds to any viewport height. */
102
- max-height: calc(100vh - 48px);
103
- background: var(--color-bg);
104
- border: 1px solid rgba(0, 0, 0, 0.08);
105
- border-radius: 20px;
106
- box-shadow:
107
- 0 0 0 1px rgba(0, 0, 0, 0.04),
108
- 0 4px 6px -1px rgba(0, 0, 0, 0.06),
109
- 0 16px 40px -8px rgba(0, 0, 0, 0.1);
110
- padding: 0;
111
- position: relative;
112
- z-index: 1;
113
- min-height: 520px;
114
- display: flex;
115
- flex-direction: column;
116
- animation: card-enter 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
117
- }
118
-
119
- @keyframes card-enter {
120
- from { opacity: 0; transform: translateY(16px) scale(0.98); }
121
- to { opacity: 1; transform: translateY(0) scale(1); }
122
- }
123
-
124
- @keyframes fadeIn {
125
- from { opacity: 0; transform: translateY(6px); }
126
- to { opacity: 1; transform: translateY(0); }
127
- }
128
-
129
- @media (prefers-reduced-motion: reduce) {
130
- .wizard-card { animation: none; }
131
- }
132
-
133
- .wizard-header {
134
- padding: var(--space-6) var(--space-8) var(--space-5);
135
- border-bottom: 1px solid var(--color-border);
136
- display: flex;
137
- align-items: center;
138
- gap: 10px;
139
- }
140
-
141
- .hdr-logo {
142
- width: 30px;
143
- height: 30px;
144
- border-radius: 8px;
145
- background: var(--color-primary);
146
- display: grid;
147
- place-items: center;
148
- font-weight: 700;
149
- font-size: 12px;
150
- color: #1a1a1a;
151
- flex-shrink: 0;
152
- }
153
-
154
- .wizard-header h1 {
155
- font-size: 15px;
156
- font-weight: var(--font-semibold);
157
- color: var(--color-text);
158
- letter-spacing: -0.01em;
159
- line-height: 1.1;
160
- }
161
-
162
- .hdr-suffix {
163
- /* AA contrast (WCAG 1.4.3): secondary passes ≥4.5:1 in both themes; tertiary did not. */
164
- color: var(--color-text-secondary);
165
- font-weight: 400;
166
- margin-left: 4px;
167
- }
168
-
169
- .wizard-body {
170
- padding: var(--space-6) var(--space-8) var(--space-8);
171
- flex: 1;
172
- display: flex;
173
- flex-direction: column;
174
- min-height: 0;
175
- }
176
-
177
- /* ── Segmented Progress Bar ───────────────────────────────────────────── */
178
- .prog-bar {
179
- margin-bottom: var(--space-6);
180
- /* F1 (WCAG 1.4.10 Reflow): never let segments/labels spill past the card edge. */
181
- overflow: hidden;
182
- }
183
-
184
- .prog-segments {
185
- display: flex;
186
- gap: 3px;
187
- margin-bottom: 6px;
188
- }
189
-
190
- .prog-seg {
191
- flex: 1;
192
- height: 3px;
193
- border-radius: 2px;
194
- background: var(--color-border);
195
- transition: background 0.3s;
196
- }
197
-
198
- .prog-seg.on {
199
- background: var(--color-primary-hover);
200
- }
201
-
202
- .prog-labels {
203
- display: flex;
204
- gap: 3px;
205
- }
206
-
207
- .prog-lbl {
208
- flex: 1;
209
- min-width: 0;
210
- font-size: 12px;
211
- font-weight: var(--font-medium);
212
- /* F4 (WCAG 1.4.3): secondary passes AA ≥4.5:1 in both themes; tertiary failed in light. */
213
- color: var(--color-text-secondary);
214
- transition: color 0.3s;
215
- cursor: pointer;
216
- /* F3 (WCAG 2.5.8): ≥24px tall interactive target. */
217
- min-height: 24px;
218
- padding: 4px 2px;
219
- display: flex;
220
- align-items: center;
221
- justify-content: center;
222
- text-align: center;
223
- border-radius: var(--radius-sm, 6px);
224
- /* The full label text is the accessible name; the dot is a compact fallback. */
225
- overflow: hidden;
226
- text-overflow: ellipsis;
227
- }
228
-
229
- .prog-lbl:hover {
230
- background: var(--color-bg-secondary);
231
- }
232
-
233
- .prog-lbl.on {
234
- color: var(--color-text);
235
- }
236
-
237
- .prog-lbl.active {
238
- color: var(--color-text);
239
- font-weight: var(--font-semibold);
240
- }
241
-
242
- /* F1: on narrow viewports the 7 word-labels cannot fit at 320px without
243
- clipping, so collapse them to numbered dots that reflow cleanly. The
244
- accessible name (aria-label="Go to step …") is unchanged. */
245
- .prog-lbl-num {
246
- display: none;
247
- }
248
-
249
- @media (max-width: 560px) {
250
- .prog-labels {
251
- gap: 4px;
252
- }
253
- .prog-lbl {
254
- flex: 1 1 0;
255
- font-size: 0;
256
- padding: 4px 0;
257
- }
258
- .prog-lbl-text {
259
- display: none;
260
- }
261
- .prog-lbl-num {
262
- display: inline-flex;
263
- align-items: center;
264
- justify-content: center;
265
- width: 22px;
266
- height: 22px;
267
- min-width: 22px;
268
- border-radius: var(--radius-full, 999px);
269
- font-size: 12px;
270
- font-weight: var(--font-semibold);
271
- background: var(--color-bg-secondary);
272
- color: var(--color-text-secondary);
273
- line-height: 1;
274
- }
275
- .prog-lbl.on .prog-lbl-num {
276
- color: var(--color-text);
277
- }
278
- .prog-lbl.active .prog-lbl-num {
279
- background: var(--color-primary);
280
- color: #1a1a1a;
281
- }
282
- }
283
-
284
- /* ── Step Content ──────────────────────────────────────────────────────── */
285
- .step-content {
286
- display: flex;
287
- flex-direction: column;
288
- flex: 1;
289
- /* Make step-content the scroll container so sticky step-actions works.
290
- wizard-body provides the flex layout; step-content scrolls internally. */
291
- overflow-y: auto;
292
- min-height: 0;
293
- animation: fadeIn 0.25s ease;
294
- }
295
-
296
- .step-content h2 {
297
- font-size: var(--text-2xl);
298
- font-weight: var(--font-bold);
299
- color: var(--color-text);
300
- margin-bottom: var(--space-2);
301
- letter-spacing: -0.01em;
302
- }
303
-
304
- .step-description {
305
- font-size: var(--text-sm);
306
- color: var(--color-text-secondary);
307
- margin-bottom: var(--space-6);
308
- line-height: 1.5;
309
- }
310
-
311
- /* ── Welcome Hero ──────────────────────────────────────────────────────── */
312
- .welcome-hero {
313
- text-align: center;
314
- padding: 40px 0 24px;
315
- animation: fadeIn 0.25s ease;
316
- }
317
-
318
- .welcome-icon {
319
- font-size: 48px;
320
- margin-bottom: var(--space-4);
321
- }
322
-
323
- .welcome-hero h2 {
324
- font-size: 28px;
325
- text-align: center;
326
- }
327
-
328
- .welcome-subtitle {
329
- max-width: 380px;
330
- margin: 8px auto 28px;
331
- font-size: var(--text-sm);
332
- color: var(--color-text-secondary);
333
- line-height: 1.5;
334
- }
335
-
336
- /* ── Step Actions ──────────────────────────────────────────────────────── */
337
- .step-actions {
338
- display: flex;
339
- /* Wrap buttons onto a second line at narrow widths so nothing extends
340
- off-screen at 320px — e.g. the review step has 3 buttons. */
341
- flex-wrap: wrap;
342
- justify-content: flex-end;
343
- align-items: center;
344
- gap: var(--space-3);
345
- /* Stick to the bottom of the visible wizard-body scroll area. This keeps
346
- nav buttons permanently in view on content-heavy steps (providers,
347
- models, voice, options, review) where the step-content scroll height
348
- exceeds the body's client height.
349
- NOTE: negative margins break sticky in most browsers, so the separator
350
- is achieved with a box-shadow inset rather than a border-top + bleed. */
351
- position: sticky;
352
- bottom: 0;
353
- background: var(--color-bg);
354
- padding-top: var(--space-5);
355
- padding-bottom: var(--space-2);
356
- /* Use inset box-shadow as top separator — avoids needing negative-margin
357
- bleed that would break sticky positioning. */
358
- box-shadow: 0 -1px 0 var(--color-border);
359
- }
360
-
361
- .nav-info {
362
- font-size: var(--text-xs);
363
- /* Secondary token meets AA (>=4.5:1) against the footer bg in both themes;
364
- tertiary fails in light mode (2.5:1). */
365
- color: var(--color-text-secondary);
366
- margin-right: auto;
367
- margin-left: var(--space-2);
368
- }
369
-
370
- .nav-info b {
371
- /* WCAG AA: --color-success fails as text on light bg; use the text-safe token. */
372
- color: var(--color-success-text);
373
- font-weight: var(--font-semibold);
374
- }
375
-
376
- /* ── Buttons ───────────────────────────────────────────────────────────── */
377
- /* Button system (.btn, .btn-primary, .btn-secondary, .btn-outline, .btn-sm,
378
- .btn-lg, …) lives in the app's shared design system (app.css). The wizard
379
- inherits those classes — do not re-declare them here. */
380
-
381
- /* ── Form Fields ───────────────────────────────────────────────────────── */
382
- /* Form controls, hints, and error/warning banners use the app design system
383
- (.form-field / .form-label / .form-input / .field-hint and .feedback /
384
- .feedback--error / .feedback--warning, all defined in app.css). The wizard's
385
- bespoke .field-group / .field-error / .field-warning copies were removed. */
386
-
387
- /* ── Provider Card Grid ──────────────────────────────────────────────── */
388
- /* NOTE: app.css also defines a global `.provider-grid` (the admin UI's 96px
389
- provider-chip grid). The wizard page loads app.css, so that rule collides
390
- with this one and crushed cards below their content width (F1 clipping).
391
- The #provider-grid ID selector wins regardless of stylesheet order. */
392
- #provider-grid {
393
- display: grid;
394
- /* Wide enough for a provider name + status check + "N models · M auth
395
- methods" meta line without internal clipping. */
396
- grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
397
- gap: var(--space-3);
398
- margin-bottom: var(--space-4);
399
- min-width: 0;
400
- }
401
-
402
- .provider-group-header {
403
- display: flex;
404
- align-items: baseline;
405
- gap: var(--space-3);
406
- margin-bottom: var(--space-2);
407
- padding-bottom: var(--space-2);
408
- border-bottom: 1px solid var(--color-border);
409
- }
410
-
411
- .provider-group-label {
412
- font-size: var(--text-base);
413
- font-weight: var(--font-semibold);
414
- color: var(--color-text);
415
- margin: 0;
416
- }
417
-
418
- .provider-group-desc {
419
- font-size: var(--text-sm);
420
- color: var(--color-text-secondary);
421
- }
422
-
423
- .provider-group-cards {
424
- display: grid;
425
- grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
426
- gap: 8px;
427
- }
428
-
429
- /* ── Provider Cards ──────────────────────────────────────────────────── */
430
- .pcard {
431
- background: var(--color-bg);
432
- border: 1.5px solid var(--color-border);
433
- border-radius: var(--radius-lg);
434
- padding: 14px;
435
- cursor: pointer;
436
- transition: all 0.15s;
437
- /* F1 (WCAG 1.4.10 Reflow): clip any overflowing content (e.g. auth-row
438
- input+button combos) so the card never widens its flex/grid container.
439
- min-width:0 prevents the card itself from overflowing its flex parent. */
440
- overflow: hidden;
441
- min-width: 0;
442
- }
443
-
444
- .pcard:hover {
445
- border-color: var(--color-border-hover);
446
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
447
- }
448
-
449
- .pcard.selected {
450
- border-color: var(--color-primary-hover);
451
- background: var(--color-primary-subtle);
452
- }
453
-
454
- /* WCAG AA: secondary text drops below 4.5:1 on the primary-subtle tint of a
455
- selected/expanded card (axe color-contrast on .wide .pcard-desc). */
456
- .pcard.selected .pcard-desc {
457
- color: var(--color-text);
458
- }
459
-
460
- .pcard.verified {
461
- border-color: var(--color-success);
462
- background: var(--color-success-bg);
463
- }
464
-
465
- .pcard.wide {
466
- grid-column: 1 / -1;
467
- }
468
-
469
- .pcard-header {
470
- display: flex;
471
- align-items: center;
472
- gap: 10px;
473
- }
474
- /* WCAG 2.4.7: role="button" elements must show a focus ring. The global
475
- :focus-visible rule in app.css handles native buttons; interactive divs
476
- need explicit focus styling. */
477
- .pcard-header[role="button"]:focus-visible,
478
- .model-group-header[role="button"]:focus-visible {
479
- outline: 2px solid var(--color-primary);
480
- outline-offset: 2px;
481
- border-radius: var(--radius-sm);
482
- }
483
-
484
- .pcard-icon {
485
- width: 36px;
486
- height: 36px;
487
- border-radius: var(--radius-md);
488
- background: var(--color-bg-secondary);
489
- border: 1px solid var(--color-border);
490
- display: grid;
491
- place-items: center;
492
- font-size: 18px;
493
- flex-shrink: 0;
494
- }
495
-
496
- .pcard-info {
497
- flex: 1;
498
- min-width: 0;
499
- }
500
-
501
- .pcard-name {
502
- font-size: var(--text-sm);
503
- font-weight: var(--font-semibold);
504
- display: flex;
505
- align-items: center;
506
- gap: 6px;
507
- flex-wrap: wrap;
508
- }
509
-
510
- .pcard-desc {
511
- font-size: var(--text-xs);
512
- /* --color-text-tertiary fails WCAG AA in light mode. Use secondary. */
513
- color: var(--color-text-secondary);
514
- margin-top: 1px;
515
- overflow: hidden;
516
- text-overflow: ellipsis;
517
- white-space: nowrap;
518
- }
519
-
520
- .pcard-check {
521
- width: 18px;
522
- height: 18px;
523
- border-radius: 6px;
524
- border: 2px solid var(--color-border);
525
- flex-shrink: 0;
526
- display: grid;
527
- place-items: center;
528
- font-size: 11px;
529
- color: white;
530
- transition: all 0.15s;
531
- }
532
-
533
- .pcard.selected .pcard-check {
534
- background: var(--color-primary-hover);
535
- border-color: var(--color-primary-hover);
536
- }
537
-
538
- .pcard.verified .pcard-check {
539
- background: var(--color-success);
540
- border-color: var(--color-success);
541
- }
542
-
543
- /* ── Badges ──────────────────────────────────────────────────────────── */
544
- /* Badges use the app design system (.badge + .badge-neutral / .badge-success /
545
- .badge-recommended, defined in app.css). The wizard's bespoke .badge /
546
- .badge-cloud / .badge-local / .badge-hybrid copies were removed. */
547
-
548
- /* ── Verification Status ─────────────────────────────────────────────── */
549
- .vs {
550
- font-size: var(--text-sm);
551
- flex-shrink: 0;
552
- margin-left: 2px;
553
- }
554
-
555
- .vs-ok { color: var(--color-success); }
556
- .vs-err { color: var(--color-error); }
557
- .vs-wait { color: var(--color-primary-hover); animation: blink 1.2s ease infinite; }
558
-
559
- @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
560
-
561
- /* ── Inline Auth Panel ───────────────────────────────────────────────── */
562
- .pcard-auth {
563
- margin-top: var(--space-3);
564
- padding-top: var(--space-3);
565
- border-top: 1px solid var(--color-border);
566
- animation: fadeIn 0.2s ease;
567
- }
568
-
569
- .auth-row {
570
- display: flex;
571
- /* Wrap input+button onto two lines at narrow widths so controls
572
- never extend beyond the card edge at 320px. */
573
- flex-wrap: wrap;
574
- gap: 6px;
575
- margin-bottom: var(--space-2);
576
- }
577
-
578
- .auth-row input {
579
- flex: 1 1 120px;
580
- min-width: 0;
581
- /* Ensure input fills the full row width when alone (no button on same line). */
582
- width: 100%;
583
- padding: 9px 12px;
584
- border-radius: var(--radius-md);
585
- border: 1.5px solid var(--color-border);
586
- background: var(--color-bg);
587
- color: var(--color-text);
588
- font-size: 13px;
589
- font-family: var(--font-mono);
590
- outline: none;
591
- transition: border-color 0.15s;
592
- }
593
-
594
- .auth-row input:focus {
595
- border-color: var(--color-primary);
596
- }
597
- .auth-row input:focus-visible {
598
- /* WCAG 2.4.7: restore focus indicator removed by outline:none above. */
599
- outline: 2px solid var(--color-primary);
600
- outline-offset: 2px;
601
- }
602
-
603
- .auth-row input::placeholder {
604
- color: var(--color-text-tertiary);
605
- }
606
-
607
- .auth-btn {
608
- display: inline-flex;
609
- align-items: center;
610
- justify-content: center;
611
- gap: 5px;
612
- padding: 9px 14px;
613
- border-radius: var(--radius-md);
614
- border: none;
615
- font-family: var(--font-sans);
616
- font-size: 13px;
617
- font-weight: var(--font-semibold);
618
- cursor: pointer;
619
- transition: all 0.15s;
620
- white-space: nowrap;
621
- }
622
-
623
- .auth-btn:hover:not(:disabled) { filter: brightness(0.95); }
624
- .auth-btn:disabled { opacity: 0.35; cursor: not-allowed; }
625
- .auth-btn-verify { background: var(--color-primary); color: #1a1a1a; }
626
- .auth-btn-verified { background: var(--color-success-bg); color: var(--color-success); border: 1px solid var(--color-success-border); }
627
- .auth-btn-detect { background: var(--color-teal); color: white; }
628
- .auth-btn-detected { background: var(--color-teal-soft); color: var(--color-teal); border: 1px solid var(--color-teal); }
629
-
630
- /* ── Auth Feedback ───────────────────────────────────────────────────── */
631
- /* In-panel verification feedback uses the app .feedback / .feedback--success /
632
- .feedback--error banners (app.css). The bespoke .auth-feedback* copies were
633
- removed. A small top gap is added so the banner clears the auth rows above. */
634
- .pcard-auth .feedback {
635
- margin-top: var(--space-2);
636
- }
637
-
638
- /* ── Ollama Mode Prompt ──────────────────────────────────────────────── */
639
- .ollama-mode-prompt {
640
- background: var(--color-bg-secondary);
641
- border: 1px solid var(--color-border);
642
- border-radius: var(--radius-lg);
643
- padding: 14px;
644
- text-align: center;
645
- }
646
-
647
- .ollama-mode-prompt p {
648
- font-size: 13px;
649
- color: var(--color-text-secondary);
650
- margin-bottom: 10px;
651
- }
652
-
653
- .ollama-mode-buttons {
654
- display: flex;
655
- gap: 8px;
656
- justify-content: center;
657
- }
658
-
659
- .ollama-mode-btn {
660
- display: inline-flex;
661
- align-items: center;
662
- justify-content: center;
663
- gap: 5px;
664
- padding: 9px 18px;
665
- border-radius: var(--radius-md);
666
- border: none;
667
- font-family: var(--font-sans);
668
- font-size: 13px;
669
- font-weight: var(--font-semibold);
670
- cursor: pointer;
671
- transition: all 0.15s;
672
- white-space: nowrap;
673
- }
674
-
675
- .ollama-mode-btn:hover { filter: brightness(0.95); }
676
- .ollama-mode-btn-detect { background: var(--color-teal); color: white; }
677
- .ollama-mode-btn-stack { background: var(--color-bg); color: var(--color-text-secondary); border: 1px solid var(--color-border); }
678
- .ollama-mode-btn-stack:hover { border-color: var(--color-border-hover); color: var(--color-text); }
679
-
680
- /* ── Advanced Toggle ─────────────────────────────────────────────────── */
681
- .adv-toggle {
682
- grid-column: 1 / -1;
683
- display: flex;
684
- align-items: center;
685
- gap: 8px;
686
- padding: 8px 0;
687
- cursor: pointer;
688
- color: var(--color-text-tertiary);
689
- font-size: 13px;
690
- font-weight: var(--font-medium);
691
- user-select: none;
692
- border: none;
693
- background: none;
694
- width: 100%;
695
- }
696
-
697
- .adv-toggle:hover { color: var(--color-text-secondary); }
698
- .adv-toggle::before, .adv-toggle::after {
699
- content: '';
700
- flex: 1;
701
- height: 1px;
702
- background: var(--color-border);
703
- }
704
-
705
- .adv-toggle .arr {
706
- display: inline-block;
707
- transition: transform 0.2s;
708
- font-size: 10px;
709
- margin-left: 2px;
710
- }
711
-
712
- .adv-toggle.open .arr { transform: rotate(90deg); }
713
-
714
- /* ── Model Groups ────────────────────────────────────────────────────── */
715
- .model-group {
716
- background: var(--color-bg);
717
- border: 1.5px solid var(--color-border);
718
- border-radius: var(--radius-lg);
719
- padding: var(--space-4);
720
- margin-bottom: 10px;
721
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
722
- /* Constrain model option lists so each group shows ~5 options before
723
- scrolling, rather than expanding to show all 100+ models and pushing
724
- the step-actions button 600px below the visible area. */
725
- display: flex;
726
- flex-direction: column;
727
- }
728
-
729
- /* The list of .model-opt rows within a group scrolls independently */
730
- .model-group .model-filter-row ~ .model-opt,
731
- .model-group > .model-opt {
732
- /* Handled via the scroll container below */
733
- }
734
-
735
- /* Wrap the scrollable option list so only options scroll, not the header */
736
- .model-opts-scroll {
737
- max-height: 220px;
738
- overflow-y: auto;
739
- /* Subtle inner shadow indicates there is more content to scroll */
740
- mask-image: linear-gradient(to bottom, black calc(100% - 24px), transparent 100%);
741
- -webkit-mask-image: linear-gradient(to bottom, black calc(100% - 24px), transparent 100%);
742
- }
743
-
744
- .model-group-header {
745
- display: flex;
746
- align-items: center;
747
- gap: 8px;
748
- /* WCAG 2.5.8: interactive header must have a minimum 24px touch target height.
749
- 44px is the recommended minimum for primary interactive controls. */
750
- min-height: 44px;
751
- padding: 10px 0;
752
- margin-bottom: 2px;
753
- }
754
-
755
- .model-group-title {
756
- font-size: var(--text-sm);
757
- font-weight: var(--font-bold);
758
- }
759
-
760
- .model-group-tag {
761
- /* WCAG 1.4.4: 10px body text falls below the 11px legibility floor. */
762
- font-size: 12px;
763
- font-weight: var(--font-semibold);
764
- padding: 2px 6px;
765
- border-radius: 4px;
766
- letter-spacing: 0.04em;
767
- text-transform: uppercase;
768
- }
769
-
770
- .model-group-tag-required {
771
- background: var(--color-primary-subtle);
772
- /* --color-primary-hover (orange) on near-white fails WCAG AA contrast (~3:1).
773
- Use --color-text (dark) to ensure ≥4.5:1 in both themes. */
774
- color: var(--color-text);
775
- }
776
-
777
- .model-group-tag-optional {
778
- background: var(--color-teal-soft);
779
- /* WCAG AA: teal-on-teal-soft fails contrast (axe color-contrast). Match the
780
- required tag: full-contrast text on the soft background. */
781
- color: var(--color-text);
782
- }
783
-
784
- .model-group-desc {
785
- font-size: var(--text-xs);
786
- /* --color-text-tertiary (~#9ca3af) fails WCAG AA contrast on white in light
787
- mode (~2.5:1). --color-text-secondary (~#6b7280) passes (~4.6:1). */
788
- color: var(--color-text-secondary);
789
- margin-bottom: var(--space-3);
790
- }
791
-
792
- /* Empty embedding role — akm self-embeds locally, so no model is offered. */
793
- .model-auto-note {
794
- font-size: var(--text-sm);
795
- color: var(--color-text-secondary);
796
- background: var(--color-surface);
797
- border: 1px dashed var(--color-border);
798
- border-radius: var(--radius-md, 8px);
799
- padding: var(--space-3, 12px);
800
- }
801
-
802
- /* ── Model Search Filter ──────────────────────────────────────────── */
803
- .model-filter-row {
804
- margin-bottom: 6px;
805
- }
806
- .model-filter-input {
807
- width: 100%;
808
- padding: 8px 12px;
809
- border: 1px solid var(--color-border);
810
- border-radius: var(--radius-md);
811
- font-size: 0.85rem;
812
- background: var(--color-surface);
813
- color: var(--color-text-primary);
814
- outline: none;
815
- transition: border-color 0.15s;
816
- }
817
- .model-filter-input:focus {
818
- border-color: var(--color-primary);
819
- }
820
- .model-filter-input:focus-visible {
821
- /* WCAG 2.4.7: restore focus indicator removed by outline:none above. */
822
- outline: 2px solid var(--color-primary);
823
- outline-offset: 2px;
824
- }
825
- .model-filter-input::placeholder {
826
- color: var(--color-text-tertiary);
827
- }
828
- .model-opt-filtered {
829
- display: none !important;
830
- }
831
-
832
- /* ── Model Option (radio-style) ──────────────────────────────────────── */
833
- .model-opt {
834
- display: flex;
835
- align-items: center;
836
- gap: 10px;
837
- /* WCAG 2.5.8: touch target must be ≥24px; 44px is the recommended minimum
838
- for primary interactive controls. The padding provides height; explicitly
839
- enforce min-height so even empty-content rows meet the floor. */
840
- min-height: 44px;
841
- padding: 10px 12px;
842
- border-radius: var(--radius-md);
843
- cursor: pointer;
844
- transition: all 0.1s;
845
- margin-bottom: 2px;
846
- border: 1.5px solid transparent;
847
- }
848
-
849
- .model-opt:hover { background: var(--color-bg-secondary); }
850
- .model-opt:focus-visible {
851
- /* WCAG 2.4.7: ensure focus ring is visible on keyboard navigation. */
852
- outline: 2px solid var(--color-primary);
853
- outline-offset: 2px;
854
- }
855
-
856
- .model-opt.on {
857
- background: var(--color-primary-subtle);
858
- border-color: var(--color-primary-border);
859
- }
860
-
861
- .model-opt-dot {
862
- width: 16px;
863
- height: 16px;
864
- border-radius: 50%;
865
- border: 2px solid var(--color-border);
866
- flex-shrink: 0;
867
- display: grid;
868
- place-items: center;
869
- }
870
-
871
- .model-opt.on .model-opt-dot {
872
- border-color: var(--color-primary-hover);
873
- }
874
-
875
- .model-opt-dot-inner {
876
- width: 7px;
877
- height: 7px;
878
- border-radius: 50%;
879
- background: transparent;
880
- }
881
-
882
- .model-opt.on .model-opt-dot-inner {
883
- background: var(--color-primary-hover);
884
- }
885
-
886
- .model-opt-name {
887
- font-size: 13px;
888
- color: var(--color-text-secondary);
889
- }
890
-
891
- .model-opt.on .model-opt-name {
892
- color: var(--color-text);
893
- font-weight: var(--font-medium);
894
- }
895
-
896
- .model-opt-meta {
897
- font-size: 12px;
898
- /* --color-text-tertiary fails AA contrast in light mode. Use secondary. */
899
- color: var(--color-text-secondary);
900
- margin-top: 1px;
901
- }
902
-
903
- .model-opt-badge {
904
- /* WCAG 1.4.4: 9px falls below the 11px legibility floor. */
905
- font-size: 12px;
906
- font-weight: var(--font-semibold);
907
- padding: 2px 6px;
908
- border-radius: 4px;
909
- letter-spacing: 0.04em;
910
- text-transform: uppercase;
911
- margin-left: auto;
912
- flex-shrink: 0;
913
- }
914
-
915
- .model-opt-badge-top {
916
- background: var(--color-primary-subtle);
917
- /* Orange-on-near-white fails AA. Use --color-text for sufficient contrast. */
918
- color: var(--color-text);
919
- }
920
-
921
- .model-opt-badge-auto {
922
- background: var(--color-blue-soft);
923
- color: var(--color-blue);
924
- }
925
-
926
- /* ── Review Summary ──────────────────────────────────────────────────── */
927
- .review-card {
928
- background: var(--color-bg);
929
- border: 1.5px solid var(--color-border);
930
- border-radius: var(--radius-lg);
931
- padding: 18px;
932
- margin-bottom: var(--space-4);
933
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
934
- }
935
-
936
- .review-card-title {
937
- font-size: 12px;
938
- font-weight: var(--font-semibold);
939
- letter-spacing: 0.06em;
940
- text-transform: uppercase;
941
- /* --color-text-tertiary fails AA contrast. Use secondary for ≥4.5:1. */
942
- color: var(--color-text-secondary);
943
- margin-bottom: 8px;
944
- display: flex;
945
- justify-content: space-between;
946
- align-items: center;
947
- }
948
-
949
- .review-edit-btn {
950
- background: none;
951
- border: none;
952
- /* --color-primary (orange) on white/near-white fails WCAG AA (~2.7:1 light).
953
- Use --color-text-secondary which passes ≥4.5:1 in both themes. */
954
- color: var(--color-text-secondary);
955
- font-size: var(--text-xs);
956
- font-weight: var(--font-medium);
957
- cursor: pointer;
958
- /* WCAG 2.5.8: minimum 24×24 target; 32px height with padding is practical. */
959
- min-height: 32px;
960
- padding: 6px 8px;
961
- border-radius: var(--radius-md);
962
- transition: all 0.15s ease;
963
- text-transform: none;
964
- letter-spacing: normal;
965
- }
966
-
967
- .review-edit-btn:hover { background: var(--color-bg-secondary); color: var(--color-text); }
968
-
969
- .review-row {
970
- display: flex;
971
- align-items: center;
972
- justify-content: space-between;
973
- padding: 6px 0;
974
- border-bottom: 1px solid var(--color-bg-secondary);
975
- font-size: 13px;
976
- }
977
-
978
- .review-row:last-child { border-bottom: none; }
979
-
980
- .review-row-label {
981
- color: var(--color-text-secondary);
982
- }
983
-
984
- .review-row-value {
985
- font-family: var(--font-mono);
986
- font-size: var(--text-xs);
987
- color: var(--color-text);
988
- text-align: right;
989
- /* Raised from 240px — model names like
990
- "adrienbrault/nous-hermes2theta-llama3-8b:q4_K_M (Ollama)" are 404px wide
991
- and were always truncated. 60% of the row gives the value enough room
992
- while keeping the label readable. */
993
- max-width: 60%;
994
- overflow: hidden;
995
- text-overflow: ellipsis;
996
- white-space: nowrap;
997
- }
998
-
999
- /* Alert rows (e.g. the password row) hold token-like values that can be long.
1000
- Allow them to wrap and break so content is never clipped at narrow widths. */
1001
- .review-row--alert .review-row-value {
1002
- max-width: 100%;
1003
- white-space: normal;
1004
- word-break: break-all;
1005
- text-align: left;
1006
- }
1007
-
1008
- .review-row-value-ok {
1009
- /* WCAG AA: --color-success fails as text on light bg; use the text-safe token. */
1010
- color: var(--color-success-text);
1011
- font-family: var(--font-sans);
1012
- }
1013
-
1014
- .review-json-toggle {
1015
- margin-bottom: var(--space-3);
1016
- }
1017
-
1018
- .btn-json-toggle {
1019
- background: none;
1020
- border: 1px solid var(--color-border);
1021
- border-radius: var(--radius-md);
1022
- color: var(--color-text-secondary);
1023
- font-size: var(--text-xs);
1024
- font-weight: var(--font-medium);
1025
- padding: 6px 12px;
1026
- cursor: pointer;
1027
- transition: all 0.15s;
1028
- font-family: var(--font-sans);
1029
- }
1030
-
1031
- .btn-json-toggle:hover {
1032
- border-color: var(--color-border-hover);
1033
- color: var(--color-text);
1034
- }
1035
-
1036
- .review-json pre {
1037
- background: var(--color-bg-secondary);
1038
- border: 1px solid var(--color-border);
1039
- border-radius: var(--radius-lg);
1040
- padding: 14px;
1041
- font-family: var(--font-mono);
1042
- font-size: 12px;
1043
- line-height: 1.6;
1044
- color: var(--color-text-secondary);
1045
- white-space: pre;
1046
- overflow-x: auto;
1047
- max-height: 360px;
1048
- margin-bottom: var(--space-3);
1049
- }
1050
-
1051
- /* (Removed: unused legacy review-grid, optional add-on row, and
1052
- reranking/field-layout blocks — no setup markup referenced them.) */
1053
-
1054
- /* ── Deploy Screen ─────────────────────────────────────────────────────── */
1055
- .deploy-header { text-align: center; margin-bottom: var(--space-6); }
1056
-
1057
- .deploy-progress-summary {
1058
- margin-bottom: var(--space-5);
1059
- padding: var(--space-4);
1060
- border: 1px solid var(--color-border);
1061
- border-radius: var(--radius-lg);
1062
- background: var(--color-bg-secondary);
1063
- }
1064
-
1065
- .deploy-progress-meta {
1066
- display: flex;
1067
- justify-content: space-between;
1068
- align-items: center;
1069
- gap: var(--space-3);
1070
- margin-bottom: var(--space-3);
1071
- }
1072
-
1073
- .deploy-progress-label { font-size: var(--text-sm); font-weight: var(--font-semibold); color: var(--color-text); }
1074
- .deploy-progress-value { font-size: var(--text-sm); font-weight: var(--font-bold); color: var(--color-primary-hover); }
1075
- .deploy-progress-value--error { color: var(--color-danger); }
1076
-
1077
- .deploy-progress-bar {
1078
- height: 10px;
1079
- border-radius: 999px;
1080
- overflow: hidden;
1081
- background: var(--color-bg);
1082
- border: 1px solid var(--color-border);
1083
- }
1084
-
1085
- .deploy-progress-bar--error { background: var(--color-danger-bg); border-color: var(--color-danger-border); }
1086
-
1087
- .deploy-progress-fill {
1088
- height: 100%;
1089
- border-radius: inherit;
1090
- background: linear-gradient(90deg, #ffb020 0%, #2f9e44 100%);
1091
- transition: width 0.4s ease;
1092
- }
1093
-
1094
- .deploy-progress-fill--error { background: linear-gradient(90deg, #f59e0b 0%, #dc2626 100%); }
1095
-
1096
- .deploy-progress-note { margin: var(--space-3) 0 0; font-size: var(--text-xs); color: var(--color-text-secondary); line-height: 1.5; }
1097
-
1098
- .deploy-services { display: flex; flex-direction: column; gap: var(--space-3); margin-bottom: var(--space-6); }
1099
-
1100
- .deploy-service-row {
1101
- display: grid;
1102
- grid-template-columns: 28px 1fr 120px;
1103
- align-items: center;
1104
- gap: var(--space-3);
1105
- padding: var(--space-3) var(--space-4);
1106
- background: var(--color-bg);
1107
- border: 1px solid var(--color-border);
1108
- border-radius: var(--radius-md);
1109
- }
1110
-
1111
- .deploy-service-indicator { display: flex; align-items: center; justify-content: center; }
1112
- .deploy-check,
1113
- .deploy-warning,
1114
- .deploy-spinner { display: flex; align-items: center; justify-content: center; }
1115
- .deploy-service-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
1116
- .deploy-service-name { font-size: var(--text-sm); font-weight: var(--font-medium); color: var(--color-text); }
1117
- .deploy-service-status { font-size: var(--text-xs); color: var(--color-text-tertiary); }
1118
-
1119
- .deploy-service-bar { height: 6px; background: var(--color-bg-secondary); border-radius: 3px; overflow: hidden; }
1120
- .deploy-bar-fill { height: 100%; border-radius: 3px; transition: all 0.4s ease; }
1121
- .deploy-bar-fill.indeterminate { width: 40%; background: var(--color-primary); animation: indeterminate-bar 1.5s ease-in-out infinite; }
1122
- .deploy-bar-fill.ready { width: 72%; background: #ffb020; animation: none; }
1123
- .deploy-bar-fill.stopped { width: 72%; background: #d97706; animation: none; opacity: 0.9; }
1124
- .deploy-bar-fill.complete { width: 100%; background: var(--color-success); animation: none; }
1125
-
1126
- @keyframes indeterminate-bar { 0% { transform: translateX(-100%); } 50% { transform: translateX(150%); } 100% { transform: translateX(-100%); } }
1127
- @media (prefers-reduced-motion: reduce) { .deploy-bar-fill.indeterminate { animation: none; width: 100%; opacity: 0.5; } }
1128
-
1129
- .deploy-done { text-align: center; margin-top: var(--space-4); }
1130
-
1131
- /* Deploy failure card */
1132
- .deploy-failure-card {
1133
- margin-bottom: var(--space-5);
1134
- padding: var(--space-4);
1135
- border-radius: var(--radius-lg);
1136
- border: 1px solid var(--color-danger-border);
1137
- background: var(--color-danger-bg);
1138
- }
1139
-
1140
- .deploy-failure-header { margin-bottom: var(--space-2); }
1141
- .deploy-failure-kicker { display: inline-block; margin-bottom: var(--space-1); font-size: var(--text-xs); font-weight: var(--font-semibold); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-badge-danger-fg); }
1142
- .deploy-failure-header h3 { margin: 0; font-size: var(--text-lg); color: var(--color-text); }
1143
- .deploy-failure-summary { margin: 0 0 var(--space-3); font-size: var(--text-sm); color: var(--color-text-secondary); line-height: 1.55; }
1144
-
1145
- /* Deploy tips */
1146
- .deploy-tips {
1147
- margin-top: var(--space-5);
1148
- padding: var(--space-4);
1149
- border-radius: var(--radius-lg);
1150
- border: 1px solid var(--color-warning-border);
1151
- background: var(--color-warning-bg);
1152
- }
1153
-
1154
- .deploy-tips-header { margin-bottom: var(--space-3); }
1155
- .deploy-tips-kicker { display: inline-block; font-size: var(--text-xs); font-weight: var(--font-semibold); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-caution); margin-bottom: var(--space-1); }
1156
- .deploy-tips h3 { margin: 0; font-size: var(--text-base); color: var(--color-text); }
1157
- .deploy-tips ul { margin: 0; padding-left: 1.1rem; display: grid; gap: var(--space-2); }
1158
- .deploy-tips li { font-size: var(--text-sm); color: var(--color-text-secondary); line-height: 1.5; }
1159
-
1160
- /* Deploy error details */
1161
- .deploy-error-details {
1162
- margin-top: var(--space-3);
1163
- padding: var(--space-3);
1164
- border: 1px solid var(--color-border);
1165
- border-radius: var(--radius-md);
1166
- background: var(--color-bg-secondary);
1167
- }
1168
-
1169
- .deploy-error-details summary { cursor: pointer; font-size: var(--text-sm); font-weight: var(--font-semibold); color: var(--color-text); }
1170
- .deploy-error-details pre { margin: var(--space-3) 0 0; white-space: pre-wrap; word-break: break-word; font-size: var(--text-xs); color: var(--color-text-secondary); line-height: 1.5; }
1171
-
1172
- /* ── Spinner ───────────────────────────────────────────────────────────── */
1173
- /* The wizard uses the shared common/Spinner.svelte component (self-contained
1174
- styles + reduced-motion handling). The bespoke .spinner copy was removed. */
1175
-
1176
- /* ── Loading State ─────────────────────────────────────────────────────── */
1177
- .loading-state { display: flex; justify-content: center; align-items: center; padding: var(--space-8); }
1178
-
1179
- /* ── Done State ────────────────────────────────────────────────────────── */
1180
- .done-state { text-align: center; padding: var(--space-4) 0; }
1181
- .done-icon { display: inline-block; margin-bottom: var(--space-4); }
1182
- .done-state h2 { font-size: var(--text-2xl); font-weight: var(--font-bold); color: var(--color-text); margin-bottom: var(--space-2); }
1183
- .done-subtitle { font-size: var(--text-sm); color: var(--color-text-secondary); margin-bottom: var(--space-5); }
1184
-
1185
- .service-list {
1186
- list-style: none;
1187
- display: flex;
1188
- flex-wrap: wrap;
1189
- gap: var(--space-2);
1190
- justify-content: center;
1191
- margin-bottom: var(--space-6);
1192
- }
1193
-
1194
- .service-list li {
1195
- font-size: var(--text-sm);
1196
- background: var(--color-success-bg);
1197
- color: var(--color-text);
1198
- border: 1px solid var(--color-success-border);
1199
- padding: var(--space-2) var(--space-4);
1200
- border-radius: var(--radius-md);
1201
- display: flex;
1202
- align-items: center;
1203
- gap: var(--space-2);
1204
- width: 100%;
1205
- justify-content: flex-start;
1206
- }
1207
-
1208
- .service-list {
1209
- flex-direction: column;
1210
- align-items: stretch;
1211
- max-width: 420px;
1212
- margin-left: auto;
1213
- margin-right: auto;
1214
- }
1215
-
1216
- .deploy-svc-name {
1217
- font-weight: var(--font-semibold);
1218
- min-width: 130px;
1219
- }
1220
-
1221
- .deploy-svc-link {
1222
- font-family: var(--font-mono);
1223
- font-size: var(--text-xs);
1224
- color: var(--color-accent);
1225
- text-decoration: none;
1226
- }
1227
-
1228
- .deploy-svc-link:hover {
1229
- text-decoration: underline;
1230
- }
1231
-
1232
- .deploy-svc-status {
1233
- font-size: var(--text-xs);
1234
- color: var(--color-success);
1235
- margin-left: auto;
1236
- }
1237
-
1238
- /* ── Voice Hint ───────────────────────────────────────────────────────── */
1239
- .voice-hint {
1240
- font-size: var(--text-sm);
1241
- color: var(--color-text-secondary);
1242
- background: var(--color-bg-secondary);
1243
- border: 1px solid var(--color-border);
1244
- border-radius: var(--radius-md);
1245
- padding: var(--space-3) var(--space-4);
1246
- margin-bottom: var(--space-4);
1247
- line-height: 1.5;
1248
- }
1249
-
1250
- /* ── Options Sections ─────────────────────────────────────────────────── */
1251
- .options-section {
1252
- margin-bottom: var(--space-5);
1253
- }
1254
-
1255
- .options-section-title {
1256
- font-size: var(--text-base);
1257
- font-weight: var(--font-bold);
1258
- color: var(--color-text);
1259
- margin-bottom: var(--space-1);
1260
- }
1261
-
1262
- .options-section-desc {
1263
- font-size: var(--text-xs);
1264
- color: var(--color-text-secondary);
1265
- margin-bottom: var(--space-3);
1266
- line-height: 1.5;
1267
- /* Cap the readable measure so long-form descriptions stay <=~75ch (F2). */
1268
- max-width: 70ch;
1269
- }
1270
-
1271
- /* ── Toggle Card Grid ─────────────────────────────────────────────────── */
1272
- .toggle-grid {
1273
- display: flex;
1274
- flex-direction: column;
1275
- gap: 6px;
1276
- }
1277
-
1278
- /* WCAG 2.4.7: programmatic/AT focus does not match :focus-visible after
1279
- pointer input, so voice-step controls get plain :focus indicators. */
1280
- .engine-card:focus,
1281
- .voice-configure-summary:focus,
1282
- #voice-groups select:focus,
1283
- #voice-groups input:focus,
1284
- .voice-profile-inline select:focus,
1285
- .step-actions .btn:focus {
1286
- outline: 2px solid var(--color-primary);
1287
- outline-offset: 2px;
1288
- }
1289
-
1290
- .toggle-card {
1291
- background: var(--color-bg);
1292
- border: 1.5px solid var(--color-border);
1293
- border-radius: var(--radius-md);
1294
- padding: 10px 14px;
1295
- cursor: pointer;
1296
- transition: all 0.15s;
1297
- }
1298
-
1299
- .toggle-card:hover {
1300
- border-color: var(--color-border-hover);
1301
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
1302
- }
1303
-
1304
- .toggle-card.on {
1305
- border-color: var(--color-primary-hover);
1306
- background: var(--color-primary-subtle);
1307
- }
1308
-
1309
- .toggle-card.locked {
1310
- cursor: default;
1311
- opacity: 0.85;
1312
- }
1313
-
1314
- .toggle-card.locked:hover {
1315
- box-shadow: none;
1316
- }
1317
-
1318
- .toggle-card-header {
1319
- display: flex;
1320
- align-items: center;
1321
- gap: 10px;
1322
- }
1323
-
1324
- .toggle-card-icon {
1325
- width: 32px;
1326
- height: 32px;
1327
- border-radius: var(--radius-sm);
1328
- background: var(--color-bg-secondary);
1329
- border: 1px solid var(--color-border);
1330
- display: grid;
1331
- place-items: center;
1332
- font-size: 16px;
1333
- flex-shrink: 0;
1334
- }
1335
-
1336
- .toggle-card-info {
1337
- flex: 1;
1338
- min-width: 0;
1339
- }
1340
-
1341
- .toggle-card-name {
1342
- font-size: var(--text-sm);
1343
- font-weight: var(--font-semibold);
1344
- display: flex;
1345
- align-items: center;
1346
- gap: 6px;
1347
- flex-wrap: wrap;
1348
- }
1349
-
1350
- .toggle-card-desc {
1351
- font-size: var(--text-xs);
1352
- /* Secondary (not tertiary) so the description meets AA (>=4.5:1) on both the
1353
- plain card bg and the tinted .toggle-card.on (--color-primary-subtle) state,
1354
- in light and dark themes. */
1355
- color: var(--color-text-secondary);
1356
- margin-top: 1px;
1357
- overflow: hidden;
1358
- text-overflow: ellipsis;
1359
- white-space: nowrap;
1360
- }
1361
-
1362
- .toggle-card-switch {
1363
- flex-shrink: 0;
1364
- }
1365
-
1366
- /* ── Toggle Track (iOS-style) ─────────────────────────────────────────── */
1367
- /*
1368
- * WCAG 1.4.11 Non-Text Contrast fix: the off-state track must achieve ≥3:1
1369
- * against the card background in both light and dark themes.
1370
- *
1371
- * Light mode card bg = #ffffff (L=1.000)
1372
- * --wizard-toggle-off = #8b9198 → L≈0.289
1373
- * track vs card: 1.05 / 0.339 ≈ 3.10:1 ✓
1374
- * thumb vs track: 1.05 / 0.339 ≈ 3.10:1 ✓
1375
- *
1376
- * Dark mode card bg = #101418 (L≈0.005)
1377
- * --wizard-toggle-off = #5b6471 → L≈0.130
1378
- * track vs card: 0.180 / 0.055 ≈ 3.27:1 ✓
1379
- * thumb vs track: 1.05 / 0.180 ≈ 5.83:1 ✓
1380
- *
1381
- * Previous value var(--color-border) = #e5e7eb → 1.14:1 (failed).
1382
- */
1383
- :root {
1384
- --wizard-toggle-off: #8b9198;
1385
- }
1386
- :root[data-theme='dark'] {
1387
- --wizard-toggle-off: #5b6471;
1388
- }
1389
-
1390
- .toggle-track {
1391
- width: 36px;
1392
- height: 20px;
1393
- border-radius: 10px;
1394
- background: var(--wizard-toggle-off);
1395
- position: relative;
1396
- transition: background 0.2s;
1397
- }
1398
-
1399
- .toggle-track.on {
1400
- background: var(--color-primary-hover);
1401
- }
1402
-
1403
- .toggle-track.locked {
1404
- background: var(--color-success);
1405
- }
1406
-
1407
- .toggle-thumb {
1408
- width: 16px;
1409
- height: 16px;
1410
- border-radius: 50%;
1411
- background: white;
1412
- position: absolute;
1413
- top: 2px;
1414
- left: 2px;
1415
- transition: transform 0.2s;
1416
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
1417
- }
1418
-
1419
- .toggle-track.on .toggle-thumb,
1420
- .toggle-track.locked .toggle-thumb {
1421
- transform: translateX(16px);
1422
- }
1423
-
1424
- /* ── Channel Credential Expansion ─────────────────────────────────────── */
1425
- .toggle-card.wide {
1426
- grid-column: 1 / -1;
1427
- }
1428
-
1429
- .toggle-card .pcard-auth {
1430
- margin-top: var(--space-3);
1431
- padding-top: var(--space-3);
1432
- border-top: 1px solid var(--color-border);
1433
- animation: fadeIn 0.2s ease;
1434
- }
1435
-
1436
- .channel-cred-label {
1437
- display: block;
1438
- font-size: var(--text-xs);
1439
- font-weight: var(--font-semibold);
1440
- color: var(--color-text-secondary);
1441
- margin-bottom: 4px;
1442
- }
1443
-
1444
- .channel-cred-required {
1445
- color: var(--color-error, #ef4444);
1446
- }
1447
-
1448
- /* ── Hidden utility ────────────────────────────────────────────────────── */
1449
- .hidden { display: none !important; }
1450
-
1451
- /* ── Responsive ────────────────────────────────────────────────────────── */
1452
- @media (min-width: 900px) {
1453
- .wizard-card { max-width: 800px; }
1454
- }
1455
-
1456
- @media (min-width: 1200px) {
1457
- /* On wide displays give the card more room so the provider grid and
1458
- model lists don't feel cramped with 400px of empty gutter on each side. */
1459
- .wizard-card { max-width: 920px; }
1460
- }
1461
-
1462
- @media (max-width: 540px) {
1463
- /* Reduce page padding so the card has more usable width on phones */
1464
- .setup-page { padding: var(--space-3); }
1465
- .wizard-card {
1466
- max-height: calc(100vh - 24px);
1467
- min-height: 0;
1468
- border-radius: 16px;
1469
- }
1470
- .wizard-header { padding: var(--space-4) var(--space-5) var(--space-3); }
1471
- .wizard-body { padding: var(--space-4) var(--space-5) var(--space-4); }
1472
- /* No margin compensation needed — step-actions no longer uses negative margins */
1473
- }
1474
-
1475
- @media (max-width: 480px) {
1476
- .review-item { flex-direction: column; align-items: flex-start; }
1477
- .review-value { text-align: left; }
1478
- .deploy-service-row { grid-template-columns: 28px 1fr; }
1479
- .deploy-service-bar { display: none; }
1480
- /* Stack review rows vertically on narrow phones so long values don't clip. */
1481
- .review-row {
1482
- flex-direction: column;
1483
- align-items: flex-start;
1484
- gap: 4px;
1485
- }
1486
- .review-row-value {
1487
- max-width: 100%;
1488
- text-align: left;
1489
- white-space: normal;
1490
- word-break: break-all;
1491
- }
1492
- }
1493
-
1494
- .rerun-banner {
1495
- display: flex;
1496
- align-items: center;
1497
- justify-content: space-between;
1498
- padding: 8px 16px;
1499
- background: var(--color-surface, #f0f4ff);
1500
- border-bottom: 1px solid var(--color-border, #dde3f0);
1501
- font-size: 0.8rem;
1502
- color: var(--color-text-secondary, #555);
1503
- }
1504
- .rerun-back-link {
1505
- color: var(--color-primary, #4f6ef7);
1506
- text-decoration: none;
1507
- font-weight: 500;
1508
- }
1509
- .rerun-back-link:hover { text-decoration: underline; }