libre-webui 0.13.1 → 0.13.3

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 (96) hide show
  1. package/README.md +118 -247
  2. package/backend/dist/index.js +1 -1
  3. package/backend/dist/index.js.map +1 -1
  4. package/backend/dist/routes/chat.d.ts.map +1 -1
  5. package/backend/dist/routes/chat.js +5 -1
  6. package/backend/dist/routes/chat.js.map +1 -1
  7. package/backend/dist/routes/plugins.d.ts.map +1 -1
  8. package/backend/dist/routes/plugins.js +8 -7
  9. package/backend/dist/routes/plugins.js.map +1 -1
  10. package/backend/dist/routes/tts.d.ts.map +1 -1
  11. package/backend/dist/routes/tts.js +28 -7
  12. package/backend/dist/routes/tts.js.map +1 -1
  13. package/backend/dist/services/pluginCapabilityRegistryService.d.ts +1 -1
  14. package/backend/dist/services/pluginCapabilityRegistryService.d.ts.map +1 -1
  15. package/backend/dist/services/pluginCapabilityRegistryService.js +10 -5
  16. package/backend/dist/services/pluginCapabilityRegistryService.js.map +1 -1
  17. package/backend/dist/services/pluginService.d.ts +8 -3
  18. package/backend/dist/services/pluginService.d.ts.map +1 -1
  19. package/backend/dist/services/pluginService.js +74 -54
  20. package/backend/dist/services/pluginService.js.map +1 -1
  21. package/backend/dist/services/pluginTTSService.d.ts +4 -2
  22. package/backend/dist/services/pluginTTSService.d.ts.map +1 -1
  23. package/backend/dist/services/pluginTTSService.js +25 -31
  24. package/backend/dist/services/pluginTTSService.js.map +1 -1
  25. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  26. package/backend/dist/services/preferencesService.js +6 -1
  27. package/backend/dist/services/preferencesService.js.map +1 -1
  28. package/backend/dist/services/titleGenerationService.d.ts +5 -0
  29. package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
  30. package/backend/dist/services/titleGenerationService.js +30 -6
  31. package/backend/dist/services/titleGenerationService.js.map +1 -1
  32. package/backend/dist/types/index.d.ts +2 -0
  33. package/backend/dist/types/index.d.ts.map +1 -1
  34. package/backend/dist/types/index.js.map +1 -1
  35. package/backend/dist/utils/packagePaths.d.ts +1 -0
  36. package/backend/dist/utils/packagePaths.d.ts.map +1 -1
  37. package/backend/dist/utils/packagePaths.js +22 -0
  38. package/backend/dist/utils/packagePaths.js.map +1 -1
  39. package/backend/package.json +1 -1
  40. package/frontend/dist/assets/index-CXKTQEWS.js +5 -0
  41. package/frontend/dist/assets/index-ClnPpnM5.css +1 -0
  42. package/frontend/dist/index.html +5 -5
  43. package/frontend/dist/js/{ArtifactContainer-lBT2Cf0m.js → ArtifactContainer-DiRnahHG.js} +1 -1
  44. package/frontend/dist/js/{ArtifactDemoPage-622qBoTt.js → ArtifactDemoPage-DlROHIWC.js} +1 -1
  45. package/frontend/dist/js/ArtifactSlideOutPanel-Bsj35Ixs.js +1 -0
  46. package/frontend/dist/js/{Button-Cgmt_2gR.js → Button-BZBnLKRn.js} +1 -1
  47. package/frontend/dist/js/ChatPage-CjrNWkGe.js +16 -0
  48. package/frontend/dist/js/{FirstTimeSetup-BDCojgfX.js → FirstTimeSetup-DHqRxGnu.js} +1 -1
  49. package/frontend/dist/js/{GalleryPage-DWjvQFPR.js → GalleryPage-D6JI9-bu.js} +1 -1
  50. package/frontend/dist/js/LibreClawPage-C5UCG3UO.js +1 -0
  51. package/frontend/dist/js/{ModelManagerModals-BECfRnGl.js → ModelManagerModals-ibSD3Sfs.js} +1 -1
  52. package/frontend/dist/js/{ModelsPage-Ccmog6B5.js → ModelsPage-4isgqfxd.js} +2 -2
  53. package/frontend/dist/js/{OptimizedSyntaxHighlighter-CNjLqj1Z.js → OptimizedSyntaxHighlighter-Fr-hsdRj.js} +1 -1
  54. package/frontend/dist/js/{PersonasPage-DvTDH2Fy.js → PersonasPage-CQPSBBkb.js} +2 -2
  55. package/frontend/dist/js/RichMessageContent-DmV_QHWo.js +3 -0
  56. package/frontend/dist/js/SettingsModal-CMgPDKKF.js +1 -0
  57. package/frontend/dist/js/{UserManagementPage-k1mBGCDH.js → UserManagementPage-KmYKTbzm.js} +1 -1
  58. package/frontend/dist/js/{api-Ddawdcbi.js → api-CdKv5S1E.js} +3 -3
  59. package/frontend/dist/js/{ar-CQheG5xK.js → ar-CxLY7ABG.js} +1 -1
  60. package/frontend/dist/js/{bn-BVXljlpH.js → bn-DREExDzT.js} +1 -1
  61. package/frontend/dist/js/{cs-BgyyXudt.js → cs-LDpGwqlb.js} +1 -1
  62. package/frontend/dist/js/{da-Dk83-zzY.js → da-Csupo97j.js} +1 -1
  63. package/frontend/dist/js/{de-B9SDOxyQ.js → de-EOghQcPX.js} +1 -1
  64. package/frontend/dist/js/{es-DMlNf0tc.js → es-CiX_CYKt.js} +1 -1
  65. package/frontend/dist/js/{fr-DtOoKP26.js → fr-1IIacQYp.js} +1 -1
  66. package/frontend/dist/js/{hi-wuG6Draz.js → hi-DGT4fx6S.js} +1 -1
  67. package/frontend/dist/js/{id-CT2rnPXt.js → id-0UGudeEI.js} +1 -1
  68. package/frontend/dist/js/{is-Cfy2VWp5.js → is-BQzgz0LG.js} +1 -1
  69. package/frontend/dist/js/{it-vgQmoI8w.js → it-3PfovgDw.js} +1 -1
  70. package/frontend/dist/js/{ja-B8pVsr1R.js → ja-BaXdHNz8.js} +1 -1
  71. package/frontend/dist/js/{ko-CTERnuAH.js → ko-DNqxLzw3.js} +1 -1
  72. package/frontend/dist/js/{ms-BGmwAKcP.js → ms-D_X86VRO.js} +1 -1
  73. package/frontend/dist/js/{nl-CKLRry0w.js → nl-B832wh-7.js} +1 -1
  74. package/frontend/dist/js/{pl-DRWZS4lz.js → pl-BDMgy2lk.js} +1 -1
  75. package/frontend/dist/js/{pt-Dua6AStw.js → pt-CbhjHMrx.js} +1 -1
  76. package/frontend/dist/js/{ru-B6MEHobb.js → ru-CEe0KRO9.js} +1 -1
  77. package/frontend/dist/js/{sv-Bg1rkqPN.js → sv-BWwpkP0M.js} +1 -1
  78. package/frontend/dist/js/{th-Nz5BELCH.js → th-Dm5aEMnB.js} +1 -1
  79. package/frontend/dist/js/{tr-7Nyg2UmX.js → tr-DMaVgSRT.js} +1 -1
  80. package/frontend/dist/js/{uk-DUAnc6NJ.js → uk-Cu1mMWfT.js} +1 -1
  81. package/frontend/dist/js/useBaseQuery-4Pd5VVAl.js +1 -0
  82. package/frontend/dist/js/useQuery-BgOybVfP.js +1 -0
  83. package/frontend/dist/js/utils-D0l9J3P-.js +1 -0
  84. package/frontend/dist/js/{vi-BOpghAsX.js → vi-B_DGmAUD.js} +1 -1
  85. package/frontend/dist/js/{zh-lCo3TiLV.js → zh-DIKyA5Kk.js} +1 -1
  86. package/package.json +2 -2
  87. package/frontend/dist/assets/index-6X4Fay3z.js +0 -5
  88. package/frontend/dist/assets/index-j-Q57B_D.css +0 -1
  89. package/frontend/dist/js/ArtifactSlideOutPanel-CfbbHcaI.js +0 -1
  90. package/frontend/dist/js/ChatPage-DGqHo1eh.js +0 -16
  91. package/frontend/dist/js/LibreClawPage-BQ5dN-0J.js +0 -1
  92. package/frontend/dist/js/RichMessageContent-CBR2ML5W.js +0 -3
  93. package/frontend/dist/js/SettingsModal-CV9iz6Lk.js +0 -1
  94. package/frontend/dist/js/useBaseQuery-5VtX6QMw.js +0 -1
  95. package/frontend/dist/js/useQuery-CXwvr2_e.js +0 -1
  96. package/frontend/dist/js/utils-BaPYjs_z.js +0 -1
@@ -1 +0,0 @@
1
- *,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e2e8f0}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI Variable,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,ui-monospace,Fira Code,SF Mono,Monaco,Inconsolata,Roboto Mono,source-code-pro,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button{-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=button]){-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=reset]){-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:475px){.\!container{max-width:475px!important}.container{max-width:475px}}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;bottom:0;left:0;right:0}.inset-x-0{left:0;right:0}.inset-x-3{left:.75rem;right:.75rem}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-1{bottom:-.25rem}.-end-0\.5:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:-.125rem}.-end-0\.5:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:-.125rem}.-end-0\.5:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:-.125rem}.-end-0\.5:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:-.125rem}.-end-1:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:-.25rem}.-end-1:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:-.25rem}.-end-1:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:-.25rem}.-end-1:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:-.25rem}.-right-0\.5{right:-.125rem}.-top-0\.5{top:-.125rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-\[16\%\]{bottom:16%}.bottom-full{bottom:100%}.end-0:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.end-0:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.end-0:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.end-0:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.end-2:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:.5rem}.end-2:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:.5rem}.end-2:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:.5rem}.end-2:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:.5rem}.end-3:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:.75rem}.end-3:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:.75rem}.end-3:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:.75rem}.end-3:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:.75rem}.left-0{left:0}.left-0\.5{left:.125rem}.left-1\/2{left:50%}.left-16{left:4rem}.left-2{left:.5rem}.left-3{left:.75rem}.left-\[12\%\]{left:12%}.right-0{right:0}.right-0\.5{right:.125rem}.right-2{right:.5rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-\[10\%\]{right:10%}.start-3:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:.75rem}.start-3:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:.75rem}.start-3:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:.75rem}.start-3:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:.75rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-\[18\%\]{top:18%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[2147483647\]{z-index:2147483647}.z-\[2\]{z-index:2}.z-\[55\]{z-index:55}.z-\[56\]{z-index:56}.z-\[60\]{z-index:60}.z-\[9998\]{z-index:9998}.z-\[999999\]{z-index:999999}.z-\[99999\]{z-index:99999}.z-\[9999\]{z-index:9999}.\!m-0{margin:0!important}.m-auto{margin:auto}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-2{margin-left:-.5rem}.-mt-6{margin-top:-1.5rem}.-mt-8{margin-top:-2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.me-1\.5{margin-inline-end:.375rem}.me-2{margin-inline-end:.5rem}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-18{margin-left:4.5rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-72{margin-left:18rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-auto{margin-inline-start:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.\!h-full{height:100%!important}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[min\(620px\,88vh\)\]{height:min(620px,88vh)}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-36{max-height:9rem}.max-h-40{max-height:10rem}.max-h-52{max-height:13rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-\[160px\]{max-height:160px}.max-h-\[25vh\]{max-height:25vh}.max-h-\[400px\]{max-height:400px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[95vh\]{max-height:95vh}.max-h-\[calc\(85vh-60px\)\]{max-height:calc(85vh - 60px)}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-24{min-height:6rem}.min-h-32{min-height:8rem}.min-h-4{min-height:1rem}.min-h-9{min-height:2.25rem}.min-h-\[100px\]{min-height:100px}.min-h-\[3rem\]{min-height:3rem}.min-h-\[40px\]{min-height:40px}.min-h-\[65px\]{min-height:65px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-18{width:4.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[18px\]{width:18px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-32{min-width:8rem}.min-w-\[140px\]{min-width:140px}.min-w-\[150px\]{min-width:150px}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.max-w-2xl{max-width:42rem}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[100px\]{max-width:100px}.max-w-\[108px\]{max-width:108px}.max-w-\[120px\]{max-width:120px}.max-w-\[200px\]{max-width:200px}.max-w-\[210px\]{max-width:210px}.max-w-\[230px\]{max-width:230px}.max-w-\[88\%\]{max-width:88%}.max-w-\[90vw\]{max-width:90vw}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.basis-0{flex-basis:0}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x:1.5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0\.5{--tw-translate-y:.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:1s infinite bounce}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.18s cubic-bezier(.22,1,.36,1) fadeIn}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes scaleIn{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:.16s cubic-bezier(.22,1,.36,1) scaleIn}@keyframes slideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.18s cubic-bezier(.22,1,.36,1) slideUp}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-col-resize{cursor:col-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;appearance:none}.columns-1{-moz-columns:1;columns:1}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(241 245 249/var(--tw-divide-opacity,1))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity,1))}.divide-gray-200\/70>:not([hidden])~:not([hidden]){border-color:#e2e8f0b3}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-y-contain{overscroll-behavior-y:contain}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-lg{border-radius:.5rem!important}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[1\.35rem\]{border-radius:1.35rem}.rounded-\[1\.55rem\]{border-radius:1.55rem}.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-\[1\.6rem\]{border-radius:1.6rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-br-md{border-bottom-right-radius:.375rem}.\!border-0{border-width:0!important}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-e{border-inline-end-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.\!border-none{border-style:none!important}.border-accent-200{--tw-border-opacity:1;border-color:rgb(var(--color-accent-200) / var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-black\/10{border-color:#0000001a}.border-black\/\[0\.05\]{border-color:#0000000d}.border-black\/\[0\.06\]{border-color:#0000000f}.border-black\/\[0\.07\]{border-color:#00000012}.border-black\/\[0\.08\]{border-color:#00000014}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-current{border-color:currentColor}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200\/50{border-color:#a7f3d080}.border-error-500{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-gray-200\/50{border-color:#e2e8f080}.border-gray-200\/70{border-color:#e2e8f0b3}.border-gray-200\/80{border-color:#e2e8f0cc}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-line{--tw-border-opacity:1;border-color:rgb(var(--color-line) / var(--tw-border-opacity,1))}.border-line-strong{--tw-border-opacity:1;border-color:rgb(var(--color-line-strong) / var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-primary-100{--tw-border-opacity:1;border-color:rgb(var(--color-primary-100) / var(--tw-border-opacity,1))}.border-primary-200{--tw-border-opacity:1;border-color:rgb(var(--color-primary-200) / var(--tw-border-opacity,1))}.border-primary-200\/50{border-color:rgb(var(--color-primary-200) / .5)}.border-primary-200\/70{border-color:rgb(var(--color-primary-200) / .7)}.border-primary-300{--tw-border-opacity:1;border-color:rgb(var(--color-primary-300) / var(--tw-border-opacity,1))}.border-primary-400{--tw-border-opacity:1;border-color:rgb(var(--color-primary-400) / var(--tw-border-opacity,1))}.border-primary-500{--tw-border-opacity:1;border-color:rgb(var(--color-primary-500) / var(--tw-border-opacity,1))}.border-primary-500\/10{border-color:rgb(var(--color-primary-500) / .1)}.border-primary-500\/30{border-color:rgb(var(--color-primary-500) / .3)}.border-primary-600{--tw-border-opacity:1;border-color:rgb(var(--color-primary-600) / var(--tw-border-opacity,1))}.border-primary-600\/70{border-color:rgb(var(--color-primary-600) / .7)}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/30{border-color:#ffffff4d}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-t-primary-500{--tw-border-opacity:1;border-top-color:rgb(var(--color-primary-500) / var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.\!bg-transparent{background-color:#0000!important}.bg-accent-50\/40{background-color:rgb(var(--color-accent-50) / .4)}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/70{background-color:#fffbebb3}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/80{background-color:#f59e0bcc}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/10{background-color:#0000001a}.bg-black\/15{background-color:#00000026}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/50{background-color:#00000080}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/85{background-color:#000000d9}.bg-black\/90{background-color:#000000e6}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-current{background-color:currentColor}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-error-600{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-gray-100\/60{background-color:#f1f5f999}.bg-gray-100\/70{background-color:#f1f5f9b3}.bg-gray-100\/75{background-color:#f1f5f9bf}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-300\/60{background-color:#d1d5db99}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-gray-50\/70{background-color:#f8fafcb3}.bg-gray-50\/\[0\.88\]{background-color:#f8fafce0}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-gray-900\/\[0\.025\]{background-color:#11182706}.bg-gray-950{--tw-bg-opacity:1;background-color:rgb(11 16 32/var(--tw-bg-opacity,1))}.bg-gray-950\/55{background-color:#0b10208c}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-50\/50{background-color:#f0fdf480}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-ink{--tw-bg-opacity:1;background-color:rgb(var(--color-ink) / var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-100) / var(--tw-bg-opacity,1))}.bg-primary-300{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-300) / var(--tw-bg-opacity,1))}.bg-primary-400{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-400) / var(--tw-bg-opacity,1))}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-50) / var(--tw-bg-opacity,1))}.bg-primary-50\/50{background-color:rgb(var(--color-primary-50) / .5)}.bg-primary-50\/60{background-color:rgb(var(--color-primary-50) / .6)}.bg-primary-50\/80{background-color:rgb(var(--color-primary-50) / .8)}.bg-primary-500{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-500) / var(--tw-bg-opacity,1))}.bg-primary-500\/10{background-color:rgb(var(--color-primary-500) / .1)}.bg-primary-500\/\[0\.035\]{background-color:rgb(var(--color-primary-500) / .035)}.bg-primary-600{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-600) / var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-surface{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1))}.bg-surface-raised{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-raised) / var(--tw-bg-opacity,1))}.bg-surface-subtle{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-subtle) / var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/30{background-color:#ffffff4d}.bg-white\/40{background-color:#fff6}.bg-white\/45{background-color:#ffffff73}.bg-white\/50{background-color:#ffffff80}.bg-white\/55{background-color:#ffffff8c}.bg-white\/60{background-color:#fff9}.bg-white\/65{background-color:#ffffffa6}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.bg-white\/\[0\.92\]{background-color:#ffffffeb}.bg-white\/\[0\.98\]{background-color:#fffffffa}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-opacity-0{--tw-bg-opacity:0}.bg-opacity-50{--tw-bg-opacity:.5}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.from-black\/80{--tw-gradient-from:#000c var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:#10b98100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-100{--tw-gradient-from:rgb(var(--color-primary-100) / 1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-primary-100) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-400{--tw-gradient-from:rgb(var(--color-primary-400) / 1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-primary-400) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-50{--tw-gradient-from:rgb(var(--color-primary-50) / 1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-primary-50) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from:rgb(var(--color-primary-500) / 1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-primary-500) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:#a855f700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-black\/20{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #0003 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary-500{--tw-gradient-to:rgb(var(--color-primary-500) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), rgb(var(--color-primary-500) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-primary-100\/50{--tw-gradient-to:rgb(var(--color-primary-100) / .5) var(--tw-gradient-to-position)}.to-primary-200{--tw-gradient-to:rgb(var(--color-primary-200) / 1) var(--tw-gradient-to-position)}.to-primary-500{--tw-gradient-to:rgb(var(--color-primary-500) / 1) var(--tw-gradient-to-position)}.to-primary-600{--tw-gradient-to:rgb(var(--color-primary-600) / 1) var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.fill-amber-500{fill:#f59e0b}.fill-white{fill:#fff}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.\!p-2{padding:.5rem!important}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-7{padding-bottom:1.75rem}.pe-10{padding-inline-end:2.5rem}.pe-11{padding-inline-end:2.75rem}.pe-12{padding-inline-end:3rem}.pe-3{padding-inline-end:.75rem}.pe-4{padding-inline-end:1rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-9{padding-left:2.25rem}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.ps-10{padding-inline-start:2.5rem}.ps-6{padding-inline-start:1.5rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-start{text-align:start}.text-end{text-align:end}.align-baseline{vertical-align:baseline}.font-mono{font-family:JetBrains Mono,ui-monospace,Fira Code,SF Mono,Monaco,Inconsolata,Roboto Mono,source-code-pro,monospace}.\!text-sm{font-size:.8125rem!important;line-height:1.25rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[1\.0625rem\]{font-size:1.0625rem}.text-\[1\.625rem\]{font-size:1.625rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[2\.5rem\]{font-size:2.5rem}.text-\[9px\]{font-size:9px}.text-\[clamp\(2\.65rem\,7vw\,5\.25rem\)\]{font-size:clamp(2.65rem,7vw,5.25rem)}.text-base{font-size:.9375rem;line-height:1.625}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.8125rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-\[0\.98\]{line-height:.98}.leading-\[1\.02\]{line-height:1.02}.leading-\[1\.08\]{line-height:1.08}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[-0\.005em\]{letter-spacing:-.005em}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.025em\]{letter-spacing:-.025em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[-0\.035em\]{letter-spacing:-.035em}.tracking-\[-0\.03em\]{letter-spacing:-.03em}.tracking-\[-0\.04em\]{letter-spacing:-.04em}.tracking-\[-0\.055em\]{letter-spacing:-.055em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-accent-500{--tw-text-opacity:1;color:rgb(var(--color-accent-500) / var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-error-600{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-gray-950{--tw-text-opacity:1;color:rgb(11 16 32/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1))}.text-ink-inverse{--tw-text-opacity:1;color:rgb(var(--color-ink-inverse) / var(--tw-text-opacity,1))}.text-ink-muted{--tw-text-opacity:1;color:rgb(var(--color-ink-muted) / var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-900{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity,1))}.text-primary-300{--tw-text-opacity:1;color:rgb(var(--color-primary-300) / var(--tw-text-opacity,1))}.text-primary-500{--tw-text-opacity:1;color:rgb(var(--color-primary-500) / var(--tw-text-opacity,1))}.text-primary-600{--tw-text-opacity:1;color:rgb(var(--color-primary-600) / var(--tw-text-opacity,1))}.text-primary-600\/70{color:rgb(var(--color-primary-600) / .7)}.text-primary-700{--tw-text-opacity:1;color:rgb(var(--color-primary-700) / var(--tw-text-opacity,1))}.text-primary-800{--tw-text-opacity:1;color:rgb(var(--color-primary-800) / var(--tw-text-opacity,1))}.text-primary-900{--tw-text-opacity:1;color:rgb(var(--color-primary-900) / var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-success-600{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/45{color:#ffffff73}.text-white\/60{color:#fff9}.text-white\/65{color:#ffffffa6}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.\!shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_12px_40px_rgba\(15\,23\,42\,0\.08\)\]{--tw-shadow:0 12px 40px #0f172a14;--tw-shadow-colored:0 12px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_18px_60px_rgba\(15\,23\,42\,0\.16\)\]{--tw-shadow:0 18px 60px #0f172a29;--tw-shadow-colored:0 18px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.03\)\,0_14px_42px_rgba\(15\,23\,42\,0\.08\)\]{--tw-shadow:0 1px 2px #00000008,0 14px 42px #0f172a14;--tw-shadow-colored:0 1px 2px var(--tw-shadow-color), 0 14px 42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.03\)\,0_18px_50px_rgba\(15\,23\,42\,0\.08\)\]{--tw-shadow:0 1px 2px #00000008,0 18px 50px #0f172a14;--tw-shadow-colored:0 1px 2px var(--tw-shadow-color), 0 18px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_24px_80px_rgba\(0\,0\,0\,0\.24\)\]{--tw-shadow:0 24px 80px #0000003d;--tw-shadow-colored:0 24px 80px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_24px_80px_rgba\(15\,23\,42\,0\.12\)\]{--tw-shadow:0 24px 80px #0f172a1f;--tw-shadow-colored:0 24px 80px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_30px_100px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 30px 100px #00000047;--tw-shadow-colored:0 30px 100px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_8px_28px_rgba\(15\,23\,42\,0\.12\)\]{--tw-shadow:0 8px 28px #0f172a1f;--tw-shadow-colored:0 8px 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-card{--tw-shadow:0 1px 2px 0 #00000009;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-glow{--tw-shadow:0 0 0 1px rgb(var(--color-primary-500) / .12), 0 6px 20px -14px rgb(var(--color-primary-500) / .18);--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color), 0 6px 20px -14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-subtle{--tw-shadow:0 1px 2px 0 #00000009;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-black\/10{--tw-ring-color:#0000001a}.ring-black\/5{--tw-ring-color:#0000000d}.ring-black\/\[0\.04\]{--tw-ring-color:#0000000a}.ring-primary-200{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-primary-200) / var(--tw-ring-opacity,1))}.ring-primary-500{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-primary-500) / var(--tw-ring-opacity,1))}.ring-primary-500\/10{--tw-ring-color:rgb(var(--color-primary-500) / .1)}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur:blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[background-color\,border-color\,box-shadow\,color\]{transition-property:background-color,border-color,box-shadow,color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[background-color\,border-color\,color\,box-shadow\,opacity\]{transition-property:background-color,border-color,color,box-shadow,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[background-color\,border-color\]{transition-property:background-color,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,background-color\]{transition-property:border-color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,box-shadow\,background-color\]{transition-property:border-color,box-shadow,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,transform\]{transition-property:border-color,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\,background-color\]{transition-property:margin,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\]{transition-property:margin;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,transform\,background-color\]{transition-property:width,transform,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.range-slider{-webkit-appearance:none;appearance:none;background:rgb(var(--color-line));width:100%;height:4px;accent-color:rgb(var(--color-primary-600));border-radius:9999px;outline:none}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:rgb(var(--color-primary-600));cursor:pointer;border:2px solid rgb(var(--color-surface-raised));border-radius:50%;width:16px;height:16px;transition:transform .15s;box-shadow:0 1px 3px #00000024}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.range-slider::-moz-range-thumb{background:rgb(var(--color-primary-600));cursor:pointer;border:2px solid rgb(var(--color-surface-raised));border-radius:50%;width:16px;height:16px;transition:transform .15s;box-shadow:0 1px 3px #00000024}.range-slider::-moz-range-thumb:hover{transform:scale(1.15)}.range-slider:focus-visible{box-shadow:0 0 0 3px rgb(var(--color-primary-500) / .25)}.slider{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;background:rgb(var(--color-line));position:relative}.slider::-webkit-slider-track{cursor:pointer;background:rgb(var(--color-line));border-radius:4px;width:100%;height:8px;transition:background-color .2s}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:rgb(var(--color-primary-500));cursor:pointer;border:2px solid rgb(var(--color-surface-raised));border-radius:50%;width:20px;height:20px;transition:all .2s;box-shadow:0 2px 4px #00000024}.slider::-webkit-slider-thumb:hover{background:rgb(var(--color-primary-600));transform:scale(1.1)}.slider::-moz-range-track{cursor:pointer;background:rgb(var(--color-line));border:none;border-radius:4px;width:100%;height:8px}.slider::-moz-range-thumb{background:rgb(var(--color-primary-500));cursor:pointer;border:2px solid rgb(var(--color-surface-raised));border-radius:50%;width:20px;height:20px;transition:all .2s;box-shadow:0 2px 4px #00000024}.slider::-moz-range-thumb:hover{background:rgb(var(--color-primary-600));transform:scale(1.1)}.slider:before{content:"";height:100%;width:var(--progress,50%);background:rgb(var(--color-primary-500));pointer-events:none;border-radius:4px;transition:width .2s;position:absolute;top:0;left:0}.\[-webkit-overflow-scrolling\:touch\]{-webkit-overflow-scrolling:touch}.libre-brand{font-optical-sizing:auto;letter-spacing:-.045em;font-weight:650;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif!important}:root{font-synthesis:none;font-optical-sizing:auto;font-feature-settings:"cv02" 1, "cv03" 1, "cv04" 1, "cv11" 1;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:247 247 245;--color-surface:252 252 250;--color-surface-subtle:241 241 238;--color-surface-raised:255 255 253;--color-surface-overlay:255 255 255;--color-surface-inverse:24 24 22;--color-ink:24 24 22;--color-ink-muted:98 98 91;--color-ink-subtle:136 136 128;--color-ink-inverse:250 250 247;--color-line:226 226 221;--color-line-strong:203 203 196;--motion-fast:.14s;--motion-standard:.18s;--ease-product:cubic-bezier(.22, 1, .36, 1);--color-primary-50:239 246 255;--color-primary-100:219 234 254;--color-primary-200:191 219 254;--color-primary-300:147 197 253;--color-primary-400:96 165 250;--color-primary-500:37 99 235;--color-primary-600:29 78 216;--color-primary-700:30 64 175;--color-primary-800:30 58 138;--color-primary-900:23 37 84;--color-primary-950:15 23 42;--color-accent-50:var(--color-primary-50);--color-accent-100:var(--color-primary-100);--color-accent-200:var(--color-primary-200);--color-accent-300:var(--color-primary-300);--color-accent-400:var(--color-primary-400);--color-accent-500:var(--color-primary-500);--color-accent-600:var(--color-primary-600);--color-accent-700:var(--color-primary-700);--color-accent-800:var(--color-primary-800);--color-accent-900:var(--color-primary-900);--color-accent-950:var(--color-primary-950);--toast-bg:rgb(var(--color-surface-overlay));--toast-color:rgb(var(--color-ink));--toast-border:rgb(var(--color-line));--scrollbar-width:6px;--scrollbar-track:transparent;--scrollbar-thumb:rgb(var(--color-line-strong));--scrollbar-thumb-hover:rgb(var(--color-ink-subtle));font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI Variable,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:13 13 12;--color-surface:18 18 17;--color-surface-subtle:23 23 22;--color-surface-raised:27 27 26;--color-surface-overlay:31 31 29;--color-surface-inverse:244 244 240;--color-ink:244 244 240;--color-ink-muted:166 166 156;--color-ink-subtle:117 117 110;--color-ink-inverse:18 18 17;--color-line:43 43 40;--color-line-strong:67 67 62;--toast-bg:rgb(var(--color-surface-overlay));--toast-color:rgb(var(--color-ink));--toast-border:rgb(var(--color-line));--scrollbar-track:transparent;--scrollbar-thumb:rgb(var(--color-line-strong));--scrollbar-thumb-hover:rgb(var(--color-ink-subtle))}[data-hot-toast]{z-index:9999!important}[data-hot-toast] [data-toast]{cursor:pointer;border:1px solid var(--toast-border);transition:background-color var(--motion-fast) ease-out, border-color var(--motion-fast) ease-out, box-shadow var(--motion-fast) ease-out, transform var(--motion-fast) var(--ease-product)}[data-hot-toast] [data-toast]:hover{transform:translateY(-1px);box-shadow:0 12px 36px -24px #00000047!important}[data-hot-toast] [data-toast]:after{content:"×";color:rgb(var(--color-ink-subtle));opacity:0;pointer-events:none;font-size:16px;font-weight:500;transition:opacity .2s ease-in-out;position:absolute;top:8px;right:12px}[data-hot-toast] [data-toast]:hover:after{opacity:1}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.scrollbar-thin::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}.scrollbar-thin::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:10px}.scrollbar-thin::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:1px solid var(--scrollbar-track);border-radius:10px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.scrollbar-hidden{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hidden::-webkit-scrollbar{display:none}a,button{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.text-primary-500{color:rgb(var(--color-primary-500))!important}.text-primary-400{color:rgb(var(--color-primary-400))!important}.text-primary-600,.hover\:text-primary-600:hover{color:rgb(var(--color-primary-600))!important}.hover\:text-primary-300:hover{color:rgb(var(--color-primary-300))!important}.dark .text-primary-500{color:rgb(var(--color-primary-400))!important}.dark .text-primary-400,.dark .dark\:text-primary-400{color:rgb(var(--color-primary-300))!important}.dark .dark\:hover\:text-primary-300:hover{color:rgb(var(--color-primary-200))!important}.text-accent-500{color:rgb(var(--color-accent-500))!important}.text-accent-400{color:rgb(var(--color-accent-400))!important}.text-accent-600,.hover\:text-accent-600:hover{color:rgb(var(--color-accent-600))!important}.hover\:text-accent-300:hover{color:rgb(var(--color-accent-300))!important}.dark .text-accent-500{color:rgb(var(--color-accent-400))!important}.dark .text-accent-400,.dark .dark\:text-accent-400{color:rgb(var(--color-accent-300))!important}.dark .dark\:hover\:text-accent-300:hover{color:rgb(var(--color-accent-200))!important}.focus-ring:focus{box-shadow:0 0 0 2px rgb(var(--color-primary-500)), 0 0 0 4px rgb(var(--color-primary-500) / .2);outline:none}::selection{background-color:rgb(var(--color-primary-100));color:rgb(var(--color-primary-900))}.dark ::selection{background-color:rgb(var(--color-primary-800));color:rgb(var(--color-primary-100))}.scrollbar-thumb-gray-600::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:9999px}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:focus-visible{outline:2px solid rgb(var(--color-primary-500));outline-offset:2px}.touch-manipulation{touch-action:manipulation}html{background:rgb(var(--color-canvas));min-height:100%}body,#root{min-height:100%}body{background:rgb(var(--color-canvas));color:rgb(var(--color-ink));-webkit-app-region:no-drag;margin:0}button,a,input,textarea,select,[role=button],.cursor-pointer{-webkit-app-region:no-drag;-webkit-user-drag:none}@media (max-width:768px){input[type=text],input[type=email],input[type=password],input[type=search],textarea,select{font-size:16px}button,.touch-target{min-width:44px;min-height:44px}}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.prose{--tw-prose-body:rgb(var(--color-ink));--tw-prose-headings:rgb(var(--color-ink));--tw-prose-lead:rgb(var(--color-ink-muted));--tw-prose-links:rgb(var(--color-primary-600));--tw-prose-bold:rgb(var(--color-ink));--tw-prose-counters:rgb(var(--color-ink-subtle));--tw-prose-bullets:rgb(var(--color-line-strong));--tw-prose-hr:rgb(var(--color-line));--tw-prose-quotes:rgb(var(--color-ink));--tw-prose-quote-borders:rgb(var(--color-line-strong));--tw-prose-captions:rgb(var(--color-ink-muted));--tw-prose-code:rgb(var(--color-ink));--tw-prose-pre-code:rgb(var(--color-ink));--tw-prose-pre-bg:rgb(var(--color-surface-subtle));--tw-prose-th-borders:rgb(var(--color-line-strong));--tw-prose-td-borders:rgb(var(--color-line))}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:2s linear infinite spin-slow}.file\:mr-4::-webkit-file-upload-button{margin-right:1rem}.file\:mr-4::file-selector-button{margin-right:1rem}.file\:rounded-md::-webkit-file-upload-button{border-radius:.375rem}.file\:rounded-md::file-selector-button{border-radius:.375rem}.file\:border-0::-webkit-file-upload-button{border-width:0}.file\:border-0::file-selector-button{border-width:0}.file\:bg-gray-100::-webkit-file-upload-button{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.file\:bg-gray-100::file-selector-button{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.file\:px-4::-webkit-file-upload-button{padding-left:1rem;padding-right:1rem}.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\:py-2::-webkit-file-upload-button{padding-top:.5rem;padding-bottom:.5rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-sm::-webkit-file-upload-button{font-size:.8125rem;line-height:1.25rem}.file\:text-sm::file-selector-button{font-size:.8125rem;line-height:1.25rem}.file\:font-medium::-webkit-file-upload-button{font-weight:500}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-gray-700::-webkit-file-upload-button{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.file\:text-gray-700::file-selector-button{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.placeholder\:text-ink-muted::placeholder{--tw-text-opacity:1;color:rgb(var(--color-ink-muted) / var(--tw-text-opacity,1))}.placeholder\:text-ink-subtle::placeholder{--tw-text-opacity:1;color:rgb(var(--color-ink-subtle) / var(--tw-text-opacity,1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-5:after{content:var(--tw-content);height:1.25rem}.after\:w-5:after{content:var(--tw-content);width:1.25rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.last\:border-b-0:last-child{border-bottom-width:0}.focus-within\:border-primary-500\/35:focus-within{border-color:rgb(var(--color-primary-500) / .35)}.focus-within\:shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.03\)\,0_18px_52px_rgba\(15\,23\,42\,0\.11\)\]:focus-within{--tw-shadow:0 1px 2px #00000008,0 18px 52px #0f172a1c;--tw-shadow-colored:0 1px 2px var(--tw-shadow-color), 0 18px 52px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus-within\:shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.03\)\,0_22px_65px_rgba\(15\,23\,42\,0\.12\)\]:focus-within{--tw-shadow:0 1px 2px #00000008,0 22px 65px #0f172a1f;--tw-shadow-colored:0 1px 2px var(--tw-shadow-color), 0 22px 65px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus-within\:outline-none:focus-within{outline-offset:2px;outline:2px solid #0000}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-within\:ring-primary-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-primary-500) / var(--tw-ring-opacity,1))}.focus-within\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-line-strong:hover{--tw-border-opacity:1;border-color:rgb(var(--color-line-strong) / var(--tw-border-opacity,1))}.hover\:border-primary-400:hover{--tw-border-opacity:1;border-color:rgb(var(--color-primary-400) / var(--tw-border-opacity,1))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.hover\:bg-amber-500:hover{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.hover\:bg-black\/30:hover{background-color:#0000004d}.hover\:bg-black\/80:hover{background-color:#000c}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-error-700:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-gray-100\/70:hover{background-color:#f1f5f9b3}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.hover\:bg-orange-50:hover{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-100) / var(--tw-bg-opacity,1))}.hover\:bg-primary-200:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-200) / var(--tw-bg-opacity,1))}.hover\:bg-primary-700:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-700) / var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/80:hover{background-color:#ef4444cc}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-surface-subtle:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-subtle) / var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/30:hover{background-color:#ffffff4d}.hover\:bg-white\/60:hover{background-color:#fff9}.hover\:bg-white\/70:hover{background-color:#ffffffb3}.hover\:bg-white\/80:hover{background-color:#fffc}.hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-gray-950:hover{--tw-text-opacity:1;color:rgb(11 16 32/var(--tw-text-opacity,1))}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgb(var(--color-primary-600) / var(--tw-text-opacity,1))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(var(--color-primary-700) / var(--tw-text-opacity,1))}.hover\:text-primary-900:hover{--tw-text-opacity:1;color:rgb(var(--color-primary-900) / var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:file\:bg-gray-200::-webkit-file-upload-button:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:file\:bg-gray-200::file-selector-button:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.focus\:\!border-0:focus{border-width:0!important}.focus\:border-error-500:focus{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.focus\:border-line-strong:focus{--tw-border-opacity:1;border-color:rgb(var(--color-line-strong) / var(--tw-border-opacity,1))}.focus\:border-primary-400:focus{--tw-border-opacity:1;border-color:rgb(var(--color-primary-400) / var(--tw-border-opacity,1))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(var(--color-primary-500) / var(--tw-border-opacity,1))}.focus\:border-primary-500\/40:focus{border-color:rgb(var(--color-primary-500) / .4)}.focus\:border-transparent:focus{border-color:#0000}.focus\:\!bg-transparent:focus{background-color:#0000!important}.focus\:\!shadow-none:focus{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)!important}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:\!ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)!important}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-500\/20:focus{--tw-ring-color:#3b82f633}.focus\:ring-error-500\/20:focus{--tw-ring-color:#f8717133}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\:ring-primary-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-primary-100) / var(--tw-ring-opacity,1))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-primary-500) / var(--tw-ring-opacity,1))}.focus\:ring-primary-500\/20:focus{--tw-ring-color:rgb(var(--color-primary-500) / .2)}.focus\:ring-primary-500\/35:focus{--tw-ring-color:rgb(var(--color-primary-500) / .35)}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:ring-primary-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-primary-500) / var(--tw-ring-opacity,1))}.focus-visible\:ring-primary-500\/30:focus-visible{--tw-ring-color:rgb(var(--color-primary-500) / .3)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-canvas:focus-visible{--tw-ring-offset-color:rgb(var(--color-canvas) / 1)}.active\:bg-gray-100:active{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.active\:bg-gray-200:active{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.active\:bg-gray-900:active{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.active\:bg-red-100:active{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.active\:bg-white:active{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-100:disabled{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.disabled\:bg-surface-subtle:disabled{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-subtle) / var(--tw-bg-opacity,1))}.disabled\:text-gray-400:disabled{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.disabled\:text-ink-muted:disabled{--tw-text-opacity:1;color:rgb(var(--color-ink-muted) / var(--tw-text-opacity,1))}.disabled\:text-ink-subtle:disabled{--tw-text-opacity:1;color:rgb(var(--color-ink-subtle) / var(--tw-text-opacity,1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-70:disabled{opacity:.7}.disabled\:hover\:bg-gray-100:hover:disabled{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.group:hover .group-hover\:h-24{height:6rem}.group:hover .group-hover\:bg-primary-500{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-500) / var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-opacity-50{--tw-bg-opacity:.5}.group:hover .group-hover\:text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-ink{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.peer:checked~.peer-checked\:bg-primary-600{--tw-bg-opacity:1;background-color:rgb(var(--color-primary-600) / var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\:outline-none{outline-offset:2px;outline:2px solid #0000}.peer:focus~.peer-focus\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-primary-300{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-primary-300) / var(--tw-ring-opacity,1))}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}.dark\:divide-dark-200:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(24 24 27/var(--tw-divide-opacity,1))}.dark\:divide-dark-300:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(39 39 42/var(--tw-divide-opacity,1))}.dark\:divide-gray-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity,1))}.dark\:divide-white\/\[0\.08\]:is(.dark *)>:not([hidden])~:not([hidden]){border-color:#ffffff14}.dark\:border-accent-800\/70:is(.dark *){border-color:rgb(var(--color-accent-800) / .7)}.dark\:border-amber-700\/50:is(.dark *){border-color:#b4530980}.dark\:border-amber-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.dark\:border-amber-800\/60:is(.dark *){border-color:#92400e99}.dark\:border-blue-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.dark\:border-dark-200:is(.dark *){--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.dark\:border-dark-200\/50:is(.dark *){border-color:#18181b80}.dark\:border-dark-300:is(.dark *){--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.dark\:border-dark-300\/50:is(.dark *){border-color:#27272a80}.dark\:border-dark-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.dark\:border-emerald-700\/30:is(.dark *){border-color:#0478574d}.dark\:border-emerald-800\/30:is(.dark *){border-color:#065f464d}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:border-green-800\/50:is(.dark *){border-color:#16653480}.dark\:border-orange-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.dark\:border-primary-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(var(--color-primary-400) / var(--tw-border-opacity,1))}.dark\:border-primary-400\/10:is(.dark *){border-color:rgb(var(--color-primary-400) / .1)}.dark\:border-primary-400\/30:is(.dark *){border-color:rgb(var(--color-primary-400) / .3)}.dark\:border-primary-500:is(.dark *){--tw-border-opacity:1;border-color:rgb(var(--color-primary-500) / var(--tw-border-opacity,1))}.dark\:border-primary-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(var(--color-primary-600) / var(--tw-border-opacity,1))}.dark\:border-primary-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(var(--color-primary-700) / var(--tw-border-opacity,1))}.dark\:border-primary-700\/30:is(.dark *){border-color:rgb(var(--color-primary-700) / .3)}.dark\:border-primary-700\/50:is(.dark *){border-color:rgb(var(--color-primary-700) / .5)}.dark\:border-primary-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(var(--color-primary-800) / var(--tw-border-opacity,1))}.dark\:border-primary-800\/30:is(.dark *){border-color:rgb(var(--color-primary-800) / .3)}.dark\:border-primary-800\/40:is(.dark *){border-color:rgb(var(--color-primary-800) / .4)}.dark\:border-primary-800\/50:is(.dark *){border-color:rgb(var(--color-primary-800) / .5)}.dark\:border-primary-900\/60:is(.dark *){border-color:rgb(var(--color-primary-900) / .6)}.dark\:border-red-500:is(.dark *){--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:border-red-800\/30:is(.dark *){border-color:#991b1b4d}.dark\:border-red-900\/50:is(.dark *){border-color:#7f1d1d80}.dark\:border-white:is(.dark *){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}.dark\:border-white\/15:is(.dark *){border-color:#ffffff26}.dark\:border-white\/\[0\.05\]:is(.dark *){border-color:#ffffff0d}.dark\:border-white\/\[0\.06\]:is(.dark *){border-color:#ffffff0f}.dark\:border-white\/\[0\.07\]:is(.dark *){border-color:#ffffff12}.dark\:border-white\/\[0\.08\]:is(.dark *){border-color:#ffffff14}.dark\:border-white\/\[0\.09\]:is(.dark *){border-color:#ffffff17}.dark\:border-yellow-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity,1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.dark\:border-t-primary-400:is(.dark *){--tw-border-opacity:1;border-top-color:rgb(var(--color-primary-400) / var(--tw-border-opacity,1))}.dark\:bg-accent-950\/20:is(.dark *){background-color:rgb(var(--color-accent-950) / .2)}.dark\:bg-amber-900\/15:is(.dark *){background-color:#78350f26}.dark\:bg-amber-900\/20:is(.dark *){background-color:#78350f33}.dark\:bg-amber-900\/30:is(.dark *){background-color:#78350f4d}.dark\:bg-amber-900\/40:is(.dark *){background-color:#78350f66}.dark\:bg-black\/25:is(.dark *){background-color:#00000040}.dark\:bg-black\/40:is(.dark *){background-color:#0006}.dark\:bg-black\/50:is(.dark *){background-color:#00000080}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-dark-100:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 17 19/var(--tw-bg-opacity,1))}.dark\:bg-dark-100\/35:is(.dark *){background-color:#11111359}.dark\:bg-dark-100\/50:is(.dark *){background-color:#11111380}.dark\:bg-dark-100\/55:is(.dark *){background-color:#1111138c}.dark\:bg-dark-100\/80:is(.dark *){background-color:#111113cc}.dark\:bg-dark-100\/90:is(.dark *){background-color:#111113e6}.dark\:bg-dark-100\/95:is(.dark *){background-color:#111113f2}.dark\:bg-dark-100\/\[0\.88\]:is(.dark *){background-color:#111113e0}.dark\:bg-dark-200:is(.dark *){--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.dark\:bg-dark-200\/35:is(.dark *){background-color:#18181b59}.dark\:bg-dark-200\/45:is(.dark *){background-color:#18181b73}.dark\:bg-dark-200\/60:is(.dark *){background-color:#18181b99}.dark\:bg-dark-200\/65:is(.dark *){background-color:#18181ba6}.dark\:bg-dark-200\/70:is(.dark *){background-color:#18181bb3}.dark\:bg-dark-200\/80:is(.dark *){background-color:#18181bcc}.dark\:bg-dark-200\/90:is(.dark *){background-color:#18181be6}.dark\:bg-dark-200\/\[0\.92\]:is(.dark *){background-color:#18181beb}.dark\:bg-dark-25:is(.dark *){--tw-bg-opacity:1;background-color:rgb(32 32 35/var(--tw-bg-opacity,1))}.dark\:bg-dark-25\/95:is(.dark *){background-color:#202023f2}.dark\:bg-dark-25\/\[0\.98\]:is(.dark *){background-color:#202023fa}.dark\:bg-dark-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\:bg-dark-300\/70:is(.dark *){background-color:#27272ab3}.dark\:bg-dark-400:is(.dark *){--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.dark\:bg-dark-50:is(.dark *){--tw-bg-opacity:1;background-color:rgb(10 10 11/var(--tw-bg-opacity,1))}.dark\:bg-dark-50\/10:is(.dark *){background-color:#0a0a0b1a}.dark\:bg-dark-50\/60:is(.dark *){background-color:#0a0a0b99}.dark\:bg-dark-50\/70:is(.dark *){background-color:#0a0a0bb3}.dark\:bg-dark-50\/75:is(.dark *){background-color:#0a0a0bbf}.dark\:bg-emerald-900\/20:is(.dark *){background-color:#064e3b33}.dark\:bg-emerald-900\/30:is(.dark *){background-color:#064e3b4d}.dark\:bg-error-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.dark\:bg-gray-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900\/50:is(.dark *){background-color:#11182780}.dark\:bg-green-900\/10:is(.dark *){background-color:#14532d1a}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-primary-400:is(.dark *){--tw-bg-opacity:1;background-color:rgb(var(--color-primary-400) / var(--tw-bg-opacity,1))}.dark\:bg-primary-400\/\[0\.04\]:is(.dark *){background-color:rgb(var(--color-primary-400) / .04)}.dark\:bg-primary-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(var(--color-primary-500) / var(--tw-bg-opacity,1))}.dark\:bg-primary-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(var(--color-primary-600) / var(--tw-bg-opacity,1))}.dark\:bg-primary-900\/10:is(.dark *){background-color:rgb(var(--color-primary-900) / .1)}.dark\:bg-primary-900\/20:is(.dark *){background-color:rgb(var(--color-primary-900) / .2)}.dark\:bg-primary-900\/25:is(.dark *){background-color:rgb(var(--color-primary-900) / .25)}.dark\:bg-primary-900\/30:is(.dark *){background-color:rgb(var(--color-primary-900) / .3)}.dark\:bg-primary-900\/35:is(.dark *){background-color:rgb(var(--color-primary-900) / .35)}.dark\:bg-primary-950\/25:is(.dark *){background-color:rgb(var(--color-primary-950) / .25)}.dark\:bg-primary-950\/30:is(.dark *){background-color:rgb(var(--color-primary-950) / .3)}.dark\:bg-purple-900\/30:is(.dark *){background-color:#581c874d}.dark\:bg-red-900\/20:is(.dark *){background-color:#7f1d1d33}.dark\:bg-red-900\/30:is(.dark *){background-color:#7f1d1d4d}.dark\:bg-red-950\/30:is(.dark *){background-color:#450a0a4d}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:bg-white:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-white\/\[0\.025\]:is(.dark *){background-color:#ffffff06}.dark\:bg-white\/\[0\.02\]:is(.dark *){background-color:#ffffff05}.dark\:bg-white\/\[0\.035\]:is(.dark *){background-color:#ffffff09}.dark\:bg-white\/\[0\.03\]:is(.dark *){background-color:#ffffff08}.dark\:bg-white\/\[0\.04\]:is(.dark *){background-color:#ffffff0a}.dark\:bg-yellow-900\/20:is(.dark *){background-color:#713f1233}.dark\:bg-yellow-900\/30:is(.dark *){background-color:#713f124d}.dark\:from-emerald-600:is(.dark *){--tw-gradient-from:#059669 var(--tw-gradient-from-position);--tw-gradient-to:#05966900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-primary-400:is(.dark *){--tw-gradient-from:rgb(var(--color-primary-400) / 1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-primary-400) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-primary-600:is(.dark *){--tw-gradient-from:rgb(var(--color-primary-600) / 1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-primary-600) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-primary-900\/30:is(.dark *){--tw-gradient-from:rgb(var(--color-primary-900) / .3) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-primary-900) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:via-primary-700:is(.dark *){--tw-gradient-to:rgb(var(--color-primary-700) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), rgb(var(--color-primary-700) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:to-primary-500:is(.dark *){--tw-gradient-to:rgb(var(--color-primary-500) / 1) var(--tw-gradient-to-position)}.dark\:to-primary-800\/20:is(.dark *){--tw-gradient-to:rgb(var(--color-primary-800) / .2) var(--tw-gradient-to-position)}.dark\:to-primary-800\/30:is(.dark *){--tw-gradient-to:rgb(var(--color-primary-800) / .3) var(--tw-gradient-to-position)}.dark\:to-purple-800:is(.dark *){--tw-gradient-to:#6b21a8 var(--tw-gradient-to-position)}.dark\:to-teal-600:is(.dark *){--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.dark\:text-accent-400:is(.dark *){--tw-text-opacity:1;color:rgb(var(--color-accent-400) / var(--tw-text-opacity,1))}.dark\:text-amber-200:is(.dark *){--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-dark-400:is(.dark *){--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.dark\:text-dark-500:is(.dark *){--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.dark\:text-dark-600:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\:text-dark-700:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.dark\:text-dark-800:is(.dark *){--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.dark\:text-dark-900:is(.dark *){--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.dark\:text-dark-950:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-error-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-error-500:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:text-gray-950:is(.dark *){--tw-text-opacity:1;color:rgb(11 16 32/var(--tw-text-opacity,1))}.dark\:text-gray-950\/60:is(.dark *){color:#0b102099}.dark\:text-gray-950\/70:is(.dark *){color:#0b1020b3}.dark\:text-green-200:is(.dark *){--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-ink-inverse:is(.dark *){--tw-text-opacity:1;color:rgb(var(--color-ink-inverse) / var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-primary-100:is(.dark *){--tw-text-opacity:1;color:rgb(var(--color-primary-100) / var(--tw-text-opacity,1))}.dark\:text-primary-200:is(.dark *){--tw-text-opacity:1;color:rgb(var(--color-primary-200) / var(--tw-text-opacity,1))}.dark\:text-primary-300:is(.dark *){--tw-text-opacity:1;color:rgb(var(--color-primary-300) / var(--tw-text-opacity,1))}.dark\:text-primary-400:is(.dark *){--tw-text-opacity:1;color:rgb(var(--color-primary-400) / var(--tw-text-opacity,1))}.dark\:text-primary-400\/70:is(.dark *){color:rgb(var(--color-primary-400) / .7)}.dark\:text-primary-500:is(.dark *){--tw-text-opacity:1;color:rgb(var(--color-primary-500) / var(--tw-text-opacity,1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:text-success-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-success-500:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:placeholder-dark-500:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(113 113 122/var(--tw-placeholder-opacity,1))}.dark\:placeholder-dark-500:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(113 113 122/var(--tw-placeholder-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:ring-dark-100:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(17 17 19/var(--tw-ring-opacity,1))}.dark\:ring-dark-50:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(10 10 11/var(--tw-ring-opacity,1))}.dark\:ring-primary-400:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-primary-400) / var(--tw-ring-opacity,1))}.dark\:ring-primary-800\/60:is(.dark *){--tw-ring-color:rgb(var(--color-primary-800) / .6)}.dark\:ring-white\/10:is(.dark *){--tw-ring-color:#ffffff1a}.dark\:ring-white\/\[0\.05\]:is(.dark *){--tw-ring-color:#ffffff0d}.dark\:ring-white\/\[0\.06\]:is(.dark *){--tw-ring-color:#ffffff0f}.dark\:file\:bg-dark-200:-webkit-any(.dark *)::-webkit-file-upload-button{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.dark\:file\:bg-dark-200:is(.dark *)::file-selector-button{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.dark\:file\:text-dark-700:-webkit-any(.dark *)::-webkit-file-upload-button{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.dark\:file\:text-dark-700:is(.dark *)::file-selector-button{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.dark\:placeholder\:text-dark-500:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.dark\:placeholder\:text-dark-500:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.dark\:placeholder\:text-gray-500:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:placeholder\:text-gray-500:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:focus-within\:ring-offset-dark-50:focus-within:is(.dark *){--tw-ring-offset-color:#0a0a0b}.dark\:hover\:border-dark-400:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.dark\:hover\:border-gray-500:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.dark\:hover\:border-primary-500:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(var(--color-primary-500) / var(--tw-border-opacity,1))}.dark\:hover\:border-red-700:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.dark\:hover\:border-white\/20:hover:is(.dark *){border-color:#fff3}.dark\:hover\:bg-black\/\[0\.06\]:hover:is(.dark *){background-color:#0000000f}.dark\:hover\:bg-blue-900\/20:hover:is(.dark *){background-color:#1e3a8a33}.dark\:hover\:bg-blue-900\/50:hover:is(.dark *){background-color:#1e3a8a80}.dark\:hover\:bg-dark-100:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 17 19/var(--tw-bg-opacity,1))}.dark\:hover\:bg-dark-200:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.dark\:hover\:bg-dark-200\/60:hover:is(.dark *){background-color:#18181b99}.dark\:hover\:bg-dark-200\/70:hover:is(.dark *){background-color:#18181bb3}.dark\:hover\:bg-dark-300:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\:hover\:bg-dark-50:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(10 10 11/var(--tw-bg-opacity,1))}.dark\:hover\:bg-error-400:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-100:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-900\/50:hover:is(.dark *){background-color:#11182780}.dark\:hover\:bg-green-900\/50:hover:is(.dark *){background-color:#14532d80}.dark\:hover\:bg-orange-900\/20:hover:is(.dark *){background-color:#7c2d1233}.dark\:hover\:bg-primary-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(var(--color-primary-500) / var(--tw-bg-opacity,1))}.dark\:hover\:bg-primary-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(var(--color-primary-600) / var(--tw-bg-opacity,1))}.dark\:hover\:bg-primary-900\/30:hover:is(.dark *){background-color:rgb(var(--color-primary-900) / .3)}.dark\:hover\:bg-primary-900\/40:hover:is(.dark *){background-color:rgb(var(--color-primary-900) / .4)}.dark\:hover\:bg-primary-900\/50:hover:is(.dark *){background-color:rgb(var(--color-primary-900) / .5)}.dark\:hover\:bg-red-900\/20:hover:is(.dark *){background-color:#7f1d1d33}.dark\:hover\:bg-red-900\/30:hover:is(.dark *){background-color:#7f1d1d4d}.dark\:hover\:bg-white\/\[0\.05\]:hover:is(.dark *){background-color:#ffffff0d}.dark\:hover\:bg-white\/\[0\.06\]:hover:is(.dark *){background-color:#ffffff0f}.dark\:hover\:bg-white\/\[0\.08\]:hover:is(.dark *){background-color:#ffffff14}.dark\:hover\:bg-yellow-900\/20:hover:is(.dark *){background-color:#713f1233}.dark\:hover\:text-dark-600:hover:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.dark\:hover\:text-dark-700:hover:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.dark\:hover\:text-dark-800:hover:is(.dark *){--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.dark\:hover\:text-dark-900:hover:is(.dark *){--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.dark\:hover\:text-dark-950:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-950:hover:is(.dark *){--tw-text-opacity:1;color:rgb(11 16 32/var(--tw-text-opacity,1))}.dark\:hover\:text-primary-100:hover:is(.dark *){--tw-text-opacity:1;color:rgb(var(--color-primary-100) / var(--tw-text-opacity,1))}.dark\:hover\:text-primary-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(var(--color-primary-300) / var(--tw-text-opacity,1))}.dark\:hover\:text-primary-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(var(--color-primary-400) / var(--tw-text-opacity,1))}.dark\:hover\:text-red-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:hover\:text-red-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:hover\:file\:bg-dark-300:-webkit-any(.dark *)::-webkit-file-upload-button:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\:hover\:file\:bg-dark-300:is(.dark *)::file-selector-button:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\:focus\:border-primary-400:focus:is(.dark *){--tw-border-opacity:1;border-color:rgb(var(--color-primary-400) / var(--tw-border-opacity,1))}.dark\:focus\:border-primary-500:focus:is(.dark *){--tw-border-opacity:1;border-color:rgb(var(--color-primary-500) / var(--tw-border-opacity,1))}.dark\:focus\:ring-primary-400:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-primary-400) / var(--tw-ring-opacity,1))}.dark\:focus\:ring-primary-400\/20:focus:is(.dark *){--tw-ring-color:rgb(var(--color-primary-400) / .2)}.dark\:focus\:ring-primary-900\/30:focus:is(.dark *){--tw-ring-color:rgb(var(--color-primary-900) / .3)}.dark\:focus\:ring-offset-dark-100:focus:is(.dark *){--tw-ring-offset-color:#111113}.dark\:focus\:ring-offset-dark-50:focus:is(.dark *){--tw-ring-offset-color:#0a0a0b}.dark\:focus-visible\:ring-primary-400:focus-visible:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-primary-400) / var(--tw-ring-opacity,1))}.dark\:active\:bg-dark-100:active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 17 19/var(--tw-bg-opacity,1))}.dark\:active\:bg-dark-200:active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.dark\:active\:bg-dark-400:active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.dark\:active\:bg-gray-200:active:is(.dark *){--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.dark\:active\:bg-red-900\/30:active:is(.dark *){background-color:#7f1d1d4d}.dark\:active\:bg-white\/10:active:is(.dark *){background-color:#ffffff1a}.dark\:disabled\:bg-dark-300:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.dark\:disabled\:text-dark-500:disabled:is(.dark *){--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.dark\:disabled\:hover\:bg-dark-300:hover:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.group:hover .dark\:group-hover\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.peer:focus~.dark\:peer-focus\:ring-primary-800:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(var(--color-primary-800) / var(--tw-ring-opacity,1))}@media not all and (min-width:1024px){.max-lg\:ml-0{margin-left:0}.max-lg\:ml-18{margin-left:4.5rem}}@media not all and (min-width:640px){.max-sm\:ml-64{margin-left:16rem}.max-sm\:w-64{width:16rem}}@media (min-width:475px){.xs\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:640px){.sm\:right-6{right:1.5rem}.sm\:top-6{top:1.5rem}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:mb-10{margin-bottom:2.5rem}.sm\:mb-12{margin-bottom:3rem}.sm\:mt-7{margin-top:1.75rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-10{height:2.5rem}.sm\:h-4{height:1rem}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-80{height:20rem}.sm\:max-h-80{max-height:20rem}.sm\:max-h-\[94vh\]{max-height:94vh}.sm\:w-10{width:2.5rem}.sm\:w-4{width:1rem}.sm\:w-52{width:13rem}.sm\:w-56{width:14rem}.sm\:w-7{width:1.75rem}.sm\:w-8{width:2rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-48{max-width:12rem}.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-\[72\%\]{max-width:72%}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:columns-2{-moz-columns:2;columns:2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:.5rem}.sm\:overflow-y-auto{overflow-y:auto}.sm\:overflow-x-hidden{overflow-x:hidden}.sm\:rounded-3xl{border-radius:1.5rem}.sm\:border-b-0{border-bottom-width:0}.sm\:border-e{border-inline-end-width:1px}.sm\:p-10{padding:2.5rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:pb-20{padding-bottom:5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pb-9{padding-bottom:2.25rem}.sm\:pt-10{padding-top:2.5rem}.sm\:pt-5{padding-top:1.25rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-base{font-size:.9375rem;line-height:1.625}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.8125rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:leading-7{line-height:1.75rem}.sm\:opacity-0{opacity:0}.group:focus-within .sm\:group-focus-within\:opacity-100,.group:hover .sm\:group-hover\:opacity-100{opacity:1}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:1024px){.lg\:invisible{visibility:hidden}.lg\:-right-12{right:-3rem}.lg\:top-0{top:0}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:h-96{height:24rem}.lg\:max-h-96{max-height:24rem}.lg\:max-h-\[90vh\]{max-height:90vh}.lg\:w-64{width:16rem}.lg\:w-80{width:20rem}.lg\:columns-3{-moz-columns:3;columns:3}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}.lg\:grid-cols-\[minmax\(20rem\,0\.9fr\)_minmax\(32rem\,1\.1fr\)\]{grid-template-columns:minmax(20rem,.9fr) minmax(32rem,1.1fr)}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:rounded-\[1\.5rem\]{border-radius:1.5rem}.lg\:border{border-width:1px}.lg\:border-black\/\[0\.06\]{border-color:#0000000f}.lg\:p-5{padding:1.25rem}.lg\:p-6{padding:1.5rem}.lg\:p-8{padding:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:py-2{padding-top:.5rem;padding-bottom:.5rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:pr-2{padding-right:.5rem}.lg\:shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.03\)\,0_18px_60px_rgba\(15\,23\,42\,0\.04\)\]{--tw-shadow:0 1px 2px #00000008,0 18px 60px #0f172a0a;--tw-shadow-colored:0 1px 2px var(--tw-shadow-color), 0 18px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.lg\:shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dark\:lg\:border-white\/\[0\.07\]:is(.dark *){border-color:#ffffff12}}@media (min-width:1280px){.xl\:columns-4{-moz-columns:4;columns:4}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-\[360px_minmax\(0\,1fr\)\]{grid-template-columns:360px minmax(0,1fr)}.xl\:p-16{padding:4rem}.xl\:text-5xl{font-size:3rem;line-height:1}}.rtl\:-translate-x-1:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:-translate-x-6:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-1.5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:rotate-180:where([dir=rtl],[dir=rtl] *){--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>div\]\:\!max-w-none>div{max-width:none!important}.\[\&\>div\]\:\!rounded-none>div{border-radius:0!important}.\[\&\>div\]\:\!border-0>div{border-width:0!important}.\[\&\>div\]\:\!bg-transparent>div{background-color:#0000!important}.\[\&\>div\]\:\!p-0>div{padding:0!important}.\[\&\>div\]\:\!shadow-none>div{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)!important}.\[\&_\.katex-display\]\:overflow-x-auto .katex-display{overflow-x:auto}.\[\&_\.katex-display\]\:overflow-y-hidden .katex-display{overflow-y:hidden}.\[\&_\.katex-display\]\:py-2 .katex-display{padding-top:.5rem;padding-bottom:.5rem}.\[\&_\.katex\]\:text-inherit .katex{color:inherit}
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{d as t,f as n}from"./markdown-core-fkbHPd-g.js";import{n as r}from"./react-vendor-Co1u1rWb.js";import{t as i}from"./logger-BmpKNkls.js";import{J as a,Ot as o,Rt as s,Y as c,at as ee,dt as l,n as u,ot as d,st as f,tt as p,ut as m,vt as te}from"./ui-vendor-njo77ljx.js";import{t as h}from"./utils-BaPYjs_z.js";import{t as g}from"./Button-Cgmt_2gR.js";import{P as _,w as v}from"../assets/index-6X4Fay3z.js";import{t as y}from"./OptimizedSyntaxHighlighter-CNjLqj1Z.js";import{n as b,r as x,t as ne}from"./artifactHtml-B7Oy2e__.js";var S=e(n(),1),C=r(),w=t(),T=i(`components:artifact-slide-out-panel`),E=320,D=.9,O=600,k=()=>{let{t:e}=_(),{artifactPanelOpen:t,artifactPanelArtifact:n,closeArtifactPanel:r,theme:i}=v(),[k,A]=(0,S.useState)(!1),[j,M]=(0,S.useState)(`preview`),[N,P]=(0,S.useState)(O),[F,I]=(0,S.useState)(!1),L=(0,S.useRef)(null),R=(0,S.useRef)(null),z=(0,S.useRef)(null),B=(0,S.useRef)(0),V=(0,S.useRef)(0),H=(0,S.useRef)(null),U=(0,S.useRef)(null),W=(0,S.useRef)(N),G=n?.id??null;G!==z.current&&(z.current=G,j!==`preview`&&M(`preview`));let K=(0,S.useCallback)(e=>{W.current=e,U.current===null&&(U.current=window.requestAnimationFrame(()=>{U.current=null,P(W.current)}))},[]),q=(0,S.useCallback)(()=>{H.current=null,I(!1),U.current!==null&&(window.cancelAnimationFrame(U.current),U.current=null,P(W.current))},[]),J=(0,S.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),H.current=e.pointerId,V.current=N,B.current=e.clientX,W.current=N,e.currentTarget.setPointerCapture(e.pointerId),I(!0)},[N]),Y=(0,S.useCallback)(e=>{if(!F||H.current!==null&&e.pointerId!==H.current)return;e.preventDefault();let t=B.current-e.clientX,n=window.innerWidth*D;K(Math.min(n,Math.max(E,V.current+t)))},[F,K]);if((0,S.useEffect)(()=>{if(!F){document.body.style.userSelect=``,document.body.style.cursor=``;return}let e=e=>{(H.current===null||e.pointerId===H.current)&&q()};return window.addEventListener(`pointermove`,Y,{passive:!1}),window.addEventListener(`pointerup`,e),window.addEventListener(`pointercancel`,e),window.addEventListener(`blur`,q),document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`,()=>{window.removeEventListener(`pointermove`,Y),window.removeEventListener(`pointerup`,e),window.removeEventListener(`pointercancel`,e),window.removeEventListener(`blur`,q),document.body.style.userSelect=``,document.body.style.cursor=``}},[F,Y,q]),(0,S.useEffect)(()=>{let e=()=>{let e=window.innerWidth*D;N>e&&P(e)};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[N]),(0,S.useEffect)(()=>{let e=e=>{e.key===`Escape`&&t&&r()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,r]),(0,S.useEffect)(()=>{let e=e=>{F||R.current&&!R.current.contains(e.target)&&t&&r()},n=setTimeout(()=>{window.addEventListener(`mousedown`,e)},100);return()=>{clearTimeout(n),window.removeEventListener(`mousedown`,e)}},[t,r,F]),!n)return null;let X=n,re=async e=>{try{await navigator.clipboard.writeText(e),A(!0),setTimeout(()=>A(!1),2e3)}catch(e){T.error(`Failed to copy:`,e)}},ie=()=>{let e=X.type===`html`?x(X.content,X.title):X.content,t=new Blob([e],{type:ae(X.type)}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${X.title}.${oe(X.type)}`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)},ae=e=>{switch(e){case`html`:return`text/html`;case`react`:return`text/javascript`;case`svg`:return`image/svg+xml`;case`css`:return`text/css`;case`json`:return`application/json`;default:return`text/plain`}},oe=e=>{switch(e){case`html`:return`html`;case`react`:return`jsx`;case`svg`:return`svg`;case`css`:return`css`;case`json`:return`json`;default:return`txt`}},se=()=>{switch(X.type){case`html`:return(0,w.jsx)(c,{className:`h-5 w-5`});case`react`:return(0,w.jsx)(l,{className:`h-5 w-5`});case`svg`:return(0,w.jsx)(p,{className:`h-5 w-5`});case`code`:return(0,w.jsx)(l,{className:`h-5 w-5`});default:return(0,w.jsx)(p,{className:`h-5 w-5`})}},ce=()=>(0,w.jsx)(`div`,{"data-testid":`artifact-html-fallback`,className:`w-full h-full flex items-center justify-center bg-gray-50 dark:bg-dark-100 rounded-lg border border-gray-200 dark:border-dark-200 p-4`,children:(0,w.jsxs)(`div`,{className:`max-w-sm text-center`,children:[(0,w.jsx)(o,{className:`h-8 w-8 text-primary-500 mx-auto mb-3`}),(0,w.jsx)(`p`,{className:`text-sm font-medium text-gray-900 dark:text-gray-100`,children:e(`artifacts.previewUnavailable`)}),(0,w.jsx)(`p`,{className:`mt-1 text-sm text-gray-600 dark:text-gray-400`,children:e(`artifacts.previewUnavailableDescription`)}),(0,w.jsxs)(g,{variant:`outline`,size:`sm`,onClick:()=>M(`code`),className:`mt-4`,children:[(0,w.jsx)(s,{className:`h-3.5 w-3.5 mr-1.5`}),e(`artifacts.code`)]})]})}),Z=()=>X.content.trim()?(0,w.jsx)(`iframe`,{ref:L,"data-testid":`artifact-html-preview`,srcDoc:x(X.content,X.title),className:h(`w-full h-full border-0 rounded-lg bg-white`,F&&`pointer-events-none`),sandbox:b,allow:ne,allowFullScreen:!0,title:X.title}):ce(),le=()=>{try{return(0,w.jsx)(`div`,{className:`w-full h-full flex items-center justify-center bg-gray-50 dark:bg-dark-100 rounded-lg overflow-auto p-4`,dangerouslySetInnerHTML:{__html:X.content}})}catch{return(0,w.jsx)(`div`,{className:`w-full h-full flex items-center justify-center bg-gray-50 dark:bg-dark-100 rounded-lg`,children:(0,w.jsxs)(`div`,{className:`text-center`,children:[(0,w.jsx)(o,{className:`h-8 w-8 text-primary-500 mx-auto mb-2`}),(0,w.jsx)(`p`,{className:`text-sm text-gray-600 dark:text-dark-600`,children:e(`artifacts.invalidSvg`)})]})})}},Q=()=>(0,w.jsx)(`div`,{className:`h-full overflow-auto`,children:(0,w.jsx)(y,{language:(()=>{if(X.language)return X.language;switch(X.type){case`html`:return`html`;case`react`:return`jsx`;case`svg`:return`xml`;case`json`:return`json`;default:return`text`}})(),isDark:i.mode===`dark`,className:`!m-0 !rounded-lg !h-full`,children:X.content})}),ue=()=>{try{let e=JSON.parse(X.content),t=JSON.stringify(e,null,2);return(0,w.jsx)(`div`,{className:`h-full overflow-auto`,children:(0,w.jsx)(y,{language:`json`,isDark:i.mode===`dark`,className:`!m-0 !rounded-lg !h-full`,children:t})})}catch{return(0,w.jsx)(`div`,{className:`w-full h-full flex items-center justify-center bg-gray-50 dark:bg-dark-100 rounded-lg`,children:(0,w.jsxs)(`div`,{className:`text-center`,children:[(0,w.jsx)(o,{className:`h-8 w-8 text-primary-500 mx-auto mb-2`}),(0,w.jsx)(`p`,{className:`text-sm text-gray-600 dark:text-dark-600`,children:e(`artifacts.invalidJson`)})]})})}},de=()=>{if(j===`code`)return Q();switch(X.type){case`html`:return Z();case`svg`:return le();case`json`:return ue();default:return Q()}},fe=()=>X.type===`html`||X.type===`svg`||X.type===`react`,$=typeof window<`u`&&window.innerWidth<640,pe=$?`100%`:`${N}px`;return(0,C.createPortal)((0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`div`,{className:h(`fixed inset-0 bg-black/30 dark:bg-black/50 z-40 transition-opacity duration-300`,t?`opacity-100`:`opacity-0 pointer-events-none`)}),F&&(0,w.jsx)(`div`,{className:`fixed inset-0 z-[55] cursor-col-resize select-none`,"aria-hidden":`true`}),(0,w.jsxs)(`div`,{ref:R,"data-testid":`artifact-slide-out-panel`,style:{width:pe},className:h(`fixed top-0 right-0 h-full z-50`,`bg-white dark:bg-dark-25`,`shadow-2xl border-l border-gray-200 dark:border-dark-200`,`flex flex-col`,`transform transition-transform duration-300 ease-out`,t?`translate-x-0`:`translate-x-full`),children:[!$&&(0,w.jsxs)(`div`,{onPointerDown:J,"data-testid":`artifact-resize-handle`,className:h(`absolute left-0 top-0 bottom-0 w-4 -ml-2 cursor-col-resize z-[56]`,`flex items-center justify-center`,`touch-none select-none group`),children:[(0,w.jsx)(`div`,{className:h(`w-1 h-16 rounded-full transition-all duration-200`,`bg-gray-300 dark:bg-dark-300`,`group-hover:bg-primary-500 group-hover:h-24`,F&&`bg-primary-500 h-24`)}),(0,w.jsx)(`div`,{className:h(`absolute left-1/2 -translate-x-1/2 opacity-0 group-hover:opacity-100 transition-opacity`,`text-gray-400 dark:text-dark-500`,F&&`opacity-100`),children:(0,w.jsx)(a,{className:`h-4 w-4`})})]}),(0,w.jsxs)(`div`,{className:`flex items-center justify-between p-4 border-b border-gray-200 dark:border-dark-200`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0 flex-1`,children:[(0,w.jsx)(`div`,{className:`text-gray-600 dark:text-gray-400 flex-shrink-0`,children:se()}),(0,w.jsx)(`h2`,{className:`font-semibold text-gray-900 dark:text-gray-100 truncate`,children:X.title}),(0,w.jsx)(`span`,{className:`text-xs bg-primary-50 dark:bg-primary-900/20 text-primary-700 dark:text-primary-300 px-2 py-1 rounded-full font-medium flex-shrink-0`,children:X.type.toUpperCase()})]}),(0,w.jsx)(g,{variant:`ghost`,size:`sm`,onClick:r,className:`h-8 w-8 p-0 hover:bg-gray-100 dark:hover:bg-dark-200 flex-shrink-0`,title:e(`artifacts.closePanelEsc`),children:(0,w.jsx)(u,{className:`h-5 w-5`})})]}),(0,w.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-gray-100 dark:border-dark-200 bg-gray-50 dark:bg-dark-100/50`,children:[(0,w.jsx)(`div`,{className:`flex items-center gap-1`,children:fe()&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(g,{variant:j===`preview`?`primary`:`ghost`,size:`sm`,onClick:()=>M(`preview`),className:`h-8 px-3 text-xs`,title:e(`artifacts.previewMode`),children:[(0,w.jsx)(ee,{className:`h-3.5 w-3.5 mr-1.5`}),e(`artifacts.preview`)]}),(0,w.jsxs)(g,{variant:j===`code`?`primary`:`ghost`,size:`sm`,onClick:()=>M(`code`),className:`h-8 px-3 text-xs`,title:e(`artifacts.codeMode`),children:[(0,w.jsx)(s,{className:`h-3.5 w-3.5 mr-1.5`}),e(`artifacts.code`)]})]})}),(0,w.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,w.jsx)(g,{variant:`ghost`,size:`sm`,onClick:()=>re(X.content),className:`h-8 px-3 text-xs hover:bg-gray-100 dark:hover:bg-dark-200`,title:e(`artifacts.copyContent`),children:k?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(te,{className:`h-3.5 w-3.5 mr-1.5 text-green-500`}),e(`artifacts.copied`)]}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(m,{className:`h-3.5 w-3.5 mr-1.5`}),e(`artifacts.copyButton`)]})}),(0,w.jsxs)(g,{variant:`ghost`,size:`sm`,onClick:ie,className:`h-8 px-3 text-xs hover:bg-gray-100 dark:hover:bg-dark-200`,title:e(`artifacts.download`),children:[(0,w.jsx)(f,{className:`h-3.5 w-3.5 mr-1.5`}),e(`artifacts.download`)]}),(X.type===`html`||X.type===`react`)&&(0,w.jsxs)(g,{variant:`ghost`,size:`sm`,onClick:()=>{let e=window.open(``,`_blank`);e&&(e.document.write(x(X.content,X.title)),e.document.close())},className:`h-8 px-3 text-xs hover:bg-gray-100 dark:hover:bg-dark-200`,title:e(`artifacts.openInNewWindow`),children:[(0,w.jsx)(d,{className:`h-3.5 w-3.5 mr-1.5`}),e(`artifacts.open`)]})]})]}),X.description&&(0,w.jsx)(`div`,{className:`px-4 py-3 border-b border-gray-100 dark:border-dark-200`,children:(0,w.jsx)(`p`,{className:`text-sm text-gray-600 dark:text-gray-400`,children:X.description})}),(0,w.jsx)(`div`,{className:`flex-1 p-4 overflow-hidden`,children:de()}),(0,w.jsx)(`div`,{className:`px-4 py-2 border-t border-gray-100 dark:border-dark-200 bg-gray-50 dark:bg-dark-100/50`,children:(0,w.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,w.jsxs)(`div`,{className:`text-xs text-gray-500 dark:text-gray-400`,children:[e(`artifacts.created`),`:`,` `,new Date(X.createdAt).toLocaleString()]}),!$&&(0,w.jsx)(`div`,{className:`text-xs text-gray-400 dark:text-dark-500`,children:e(`artifacts.dragEdgeToResize`)})]})})]})]}),document.body)};export{k as ArtifactSlideOutPanel};
@@ -1,16 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{d as t,f as n}from"./markdown-core-fkbHPd-g.js";import{n as r}from"./react-vendor-Co1u1rWb.js";import{t as i}from"./useQuery-CXwvr2_e.js";import{t as a}from"./logger-BmpKNkls.js";import{A as o,At as s,Bt as c,C as l,Ct as u,D as d,G as f,H as p,Mt as m,N as h,Nt as g,P as _,Q as v,Rt as y,S as b,St as x,T as S,Tt as C,U as w,Vt as T,Y as E,Z as D,_t as O,a as k,c as A,ct as ee,d as j,dt as M,et as N,ft as P,h as te,ht as ne,i as F,lt as I,mt as re,n as L,o as ie,ot as ae,q as oe,r as se,st as ce,t as R,tt as z,ut as le,v as B,vt as ue,x as V,xt as de,y as fe,z as H}from"./ui-vendor-njo77ljx.js";import{n as pe}from"./demoMode-BhEpMVh5.js";import{a as me,c as he,d as ge,f as U,m as _e,n as ve,o as ye,s as be,u as xe}from"./api-Ddawdcbi.js";import{i as Se,n as Ce,r as we,t as W}from"./utils-BaPYjs_z.js";import{t as G}from"./Button-Cgmt_2gR.js";import{A as K,G as Te,K as Ee,P as q,S as J,W as De,_ as Oe,f as ke,h as Ae,m as je,v as Me,w as Ne,x as Pe,y as Fe}from"../assets/index-6X4Fay3z.js";import{a as Ie,i as Le}from"./artifactHtml-B7Oy2e__.js";import{t as Re}from"./ArtifactContainer-lBT2Cf0m.js";var ze=r(),Y=e(n(),1),X=t(),Be=({statistics:e,className:t=``})=>{let[n,r]=(0,Y.useState)(!1),{t:i}=q(),a=e=>{if(e==null)return`N/A`;let t=e/1e6;return t<1e3?`${Math.round(t)}ms`:`${(t/1e3).toFixed(2)}s`},o=e=>e?`${e.toFixed(1)} t/s`:`N/A`,s=e.prompt_eval_count||0,c=e.eval_count||0,l=s+c,u=a(e.total_duration),d=o(e.tokens_per_second);return(0,X.jsxs)(`div`,{className:`text-xs text-gray-500 dark:text-dark-500 mt-2 ${t}`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-4 mb-1`,children:[(0,X.jsxs)(`span`,{className:`flex items-center gap-1 text-gray-600 dark:text-dark-600`,children:[(0,X.jsx)(p,{size:12,className:`text-primary-500`}),c,` tokens`]}),(0,X.jsx)(`span`,{className:`text-gray-500 dark:text-dark-500`,children:d}),(0,X.jsx)(`span`,{className:`text-gray-500 dark:text-dark-500`,children:u}),e.model&&(0,X.jsx)(`span`,{className:`text-gray-400 dark:text-dark-400 bg-gray-100 dark:bg-dark-200 px-2 py-0.5 rounded-full truncate max-w-32 sm:max-w-48`,title:e.model,children:e.model})]}),(0,X.jsxs)(`button`,{onClick:()=>r(!n),className:`flex items-center gap-1 text-gray-400 dark:text-dark-400 hover:text-gray-600 dark:hover:text-dark-600 transition-colors`,children:[n?(0,X.jsx)(O,{size:12}):(0,X.jsx)(ne,{size:12}),(0,X.jsx)(`span`,{children:i(`generationStats.details`)})]}),n&&(0,X.jsxs)(`div`,{className:`mt-2 p-3 bg-gray-50 dark:bg-dark-100 border border-gray-200 dark:border-dark-300 rounded-lg text-xs space-y-2`,children:[(0,X.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-4 gap-y-2`,children:[(0,X.jsxs)(`div`,{className:`text-gray-700 dark:text-dark-700`,children:[(0,X.jsx)(`span`,{className:`font-medium text-gray-800 dark:text-dark-800`,children:i(`generationStats.promptTokens`)}),` `,s]}),(0,X.jsxs)(`div`,{className:`text-gray-700 dark:text-dark-700`,children:[(0,X.jsx)(`span`,{className:`font-medium text-gray-800 dark:text-dark-800`,children:i(`generationStats.generatedTokens`)}),` `,c]}),(0,X.jsxs)(`div`,{className:`text-gray-700 dark:text-dark-700`,children:[(0,X.jsx)(`span`,{className:`font-medium text-gray-800 dark:text-dark-800`,children:i(`generationStats.totalTokens`)}),` `,l]}),(0,X.jsxs)(`div`,{className:`text-gray-700 dark:text-dark-700`,children:[(0,X.jsx)(`span`,{className:`font-medium text-gray-800 dark:text-dark-800`,children:i(`generationStats.speed`)}),` `,d]}),(0,X.jsxs)(`div`,{className:`text-gray-700 dark:text-dark-700`,children:[(0,X.jsx)(`span`,{className:`font-medium text-gray-800 dark:text-dark-800`,children:i(`generationStats.promptEval`)}),` `,a(e.prompt_eval_duration)]}),(0,X.jsxs)(`div`,{className:`text-gray-700 dark:text-dark-700`,children:[(0,X.jsx)(`span`,{className:`font-medium text-gray-800 dark:text-dark-800`,children:i(`generationStats.generation`)}),` `,a(e.eval_duration)]}),(0,X.jsxs)(`div`,{className:`text-gray-700 dark:text-dark-700`,children:[(0,X.jsx)(`span`,{className:`font-medium text-gray-800 dark:text-dark-800`,children:i(`generationStats.modelLoad`)}),` `,a(e.load_duration)]}),(0,X.jsxs)(`div`,{className:`text-gray-700 dark:text-dark-700`,children:[(0,X.jsx)(`span`,{className:`font-medium text-gray-800 dark:text-dark-800`,children:i(`generationStats.totalTime`)}),` `,u]})]}),e.created_at&&(0,X.jsxs)(`div`,{className:`pt-2 border-t border-gray-200 dark:border-dark-300 text-gray-600 dark:text-dark-600`,children:[(0,X.jsx)(`span`,{className:`font-medium text-gray-800 dark:text-dark-800`,children:i(`generationStats.generatedAt`)}),` `,new Date(e.created_at).toLocaleTimeString()]})]})]})},Ve=a(`components:ttsbutton`),He=null,Ue=null,We=0,Ge=300*1e3;async function Ke(){let e=Date.now();return He!==null&&e-We<Ge?He:Ue||(Ue=(async()=>{try{let t=await ve.getModels();return t.success&&t.data&&t.data.length>0?(He=t.data,We=e,t.data):(He=[],We=e,[])}catch{return He=[],We=e,[]}finally{Ue=null}})(),Ue)}function qe(e){return e.split(/(?<=[.!?]["']?\s)|(?<=[.!?]["']?$)/).map(e=>e.trim()).filter(e=>e.length>0)}var Je=({text:e,className:t,size:n=`sm`})=>{let{t:r}=q(),{preferences:i}=Ne(),[a,o]=(0,Y.useState)(!1),[s,c]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)([]),[p,m]=(0,Y.useState)(null),h=(0,Y.useRef)(null),_=(0,Y.useRef)(!1),v=(0,Y.useRef)([]),y=(0,Y.useRef)(0);(0,Y.useEffect)(()=>{let e=!0;return Ke().then(t=>{e&&(f(t),m(t.length>0))}),()=>{e=!1}},[]);let b=(0,Y.useCallback)(async(e,t,n,i)=>{let a=await ve.generateBase64({model:t,input:e,voice:n,speed:i,response_format:`mp3`});if(!a.success||!a.data?.audio)throw Error(a.message||r(`ttsButton.generateFailed`));let o=`data:${a.data.mimeType};base64,${a.data.audio}`,s=new Audio(o);return h.current=s,new Promise((e,t)=>{s.onended=()=>{h.current=null,e()},s.onerror=()=>{h.current=null,t(Error(r(`ttsButton.playbackFailed`)))},s.play().catch(t)})},[r]),x=(0,Y.useCallback)(async(e,t,n,r)=>{v.current=e,y.current=0,_.current=!1;let i=null,a=async e=>{try{let i=await ve.generateBase64({model:t,input:e,voice:n,speed:r,response_format:`mp3`});return!i.success||!i.data?.audio?null:{audioUrl:`data:${i.data.mimeType};base64,${i.data.audio}`,mimeType:i.data.mimeType}}catch{return null}};e.length>0&&(i=a(e[0]));for(let t=0;t<e.length&&!_.current;t++){y.current=t;try{let n=await i;if(_.current)break;if(i=t+1<e.length?a(e[t+1]):null,!n){Ve.warn(`Failed to generate audio for sentence ${t+1}, skipping`);continue}let r=new Audio(n.audioUrl);h.current=r,await new Promise((e,t)=>{r.onended=()=>{h.current=null,e()},r.onerror=()=>{h.current=null,e()},r.play().catch(()=>{e()})})}catch(e){Ve.error(`Error playing sentence ${t+1}:`,e)}}},[]),S=(0,Y.useCallback)(()=>{_.current=!0,h.current&&(h.current.pause(),h.current.currentTime=0,h.current=null),o(!1),c(!1)},[]),C=async()=>{if(!s){if(a){S();return}c(!0),u(null),_.current=!1;try{let t=i.ttsSettings,n=t?.model||d[0]?.model||`tts-1`,a=t?.voice||d[0]?.config?.default_voice||`alloy`,s=t?.speed||1;if(t?.streamSentences){let t=qe(e);if(t.length===0)throw Error(r(`ttsButton.generateFailed`));c(!1),o(!0),await x(t,n,a,s),_.current||o(!1)}else await b(e,n,a,s),c(!1),o(!0),h.current&&(h.current.onended=()=>{o(!1),h.current=null},h.current.onerror=()=>{u(r(`ttsButton.playbackFailed`)),o(!1),h.current=null})}catch(e){u(e instanceof Error?e.message:r(`ttsButton.generateFailed`)),Ve.error(`TTS error:`,e),o(!1),c(!1)}}};if((0,Y.useEffect)(()=>()=>{_.current=!0,h.current&&(h.current.pause(),h.current=null)},[]),p===!1||p===null)return null;let w={sm:`h-6 w-6 p-1`,md:`h-8 w-8 p-1.5`,lg:`h-10 w-10 p-2`},T={sm:`h-3.5 w-3.5`,md:`h-4 w-4`,lg:`h-5 w-5`};return(0,X.jsx)(`button`,{onClick:C,disabled:s||!e,title:l||r(a?`ttsButton.stopSpeaking`:s?`ttsButton.generatingSpeech`:`ttsButton.readAloud`),className:W(`rounded-full transition-all duration-200`,`hover:bg-gray-100 dark:hover:bg-dark-200`,`focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-1`,`disabled:opacity-50 disabled:cursor-not-allowed`,l?`text-red-500 dark:text-red-400`:a?`text-primary-600 dark:text-primary-400 bg-primary-50 dark:bg-primary-900/20`:`text-gray-500 dark:text-gray-400`,w[n],t),children:s?(0,X.jsx)(g,{className:W(T[n],`animate-spin`)}):a?(0,X.jsx)(te,{className:T[n]}):l?(0,X.jsx)(F,{className:T[n]}):(0,X.jsx)(k,{className:T[n]})})},Ye=/```([^\n`]*)\n([\s\S]*?)\n```/g,Xe=/[\w@./-]+\.(?:html?|css|mjs|js|jsx|ts|tsx|svg|json|py)/i,Ze=[`html`,`react`,`svg`,`mermaid`,`chart`,`code`,`text`,`json`],Qe=[{regex:/<artifact\s+type="([^"]+)"\s+title="([^"]+)"[^>]*>([\s\S]*?)<\/artifact>/gi,extract:e=>({type:ot(e[1]),title:$e(e[2]).trim()||`Artifact`,content:e[3].trim()})},{regex:/<artifact\s+type="([^"]+)"[^>]*>([\s\S]*?)<\/artifact>/gi,extract:e=>{let t=ot(e[1]);return{type:t,title:`${t.toUpperCase()} Artifact`,content:e[2].trim()}}}];function $e(e){if(typeof document<`u`){let t=document.createElement(`div`);return t.innerHTML=e,t.textContent||t.innerText||``}return tt(et(e))}function et(e){return e.replace(/&(lt|gt|quot|apos|#39);/gi,(e,t)=>{switch(t.toLowerCase()){case`lt`:return`<`;case`gt`:return`>`;case`quot`:return`"`;case`apos`:case`#39`:return`'`;default:return``}}).replace(/&amp;/gi,`&`)}function tt(e){let t=``,n=!1,r=null;for(let i=0;i<e.length;i+=1){let a=e[i];if(n){if(r){a===r&&(r=null);continue}if(a===`"`||a===`'`){r=a;continue}a===`>`&&(n=!1);continue}if(a===`<`){let t=e[i+1];if(t&&/[!/A-Za-z?]/.test(t)){n=!0;continue}}t+=a}return t}function nt(e){let t=e.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(t)return $e(t[1]).trim()||null;let n=e.match(/<h1[^>]*>([\s\S]*?)<\/h1>/i);return n&&$e(n[1]).trim()||null}function rt(e){let t=e.match(/(?:function|const)\s+(\w+)/);if(t)return t[1];let n=e.match(/class\s+(\w+)/);return n?n[1]:null}function it(e){if(e.includes(`def main(`))return`Python Script`;let t=e.match(/class\s+(\w+)/);if(t)return`${t[1]} Class`;let n=e.match(/def\s+(\w+)/);return n&&n[1]!==`__init__`?`${n[1]} Function`:null}function at(e){let t=e.match(/function\s+(\w+)/);if(t)return`${t[1]} Function`;let n=e.match(/(?:const|let)\s+(\w+)\s*=/);return n?n[1]:null}function ot(e){let t=e.trim().toLowerCase();return Ze.includes(t)?t:`text`}function Z(e){if(!e)return;let t=e.trim().toLowerCase().replace(/^\./,``).replace(/[,:;]+$/,``);switch(t){case`htm`:case`html`:return`html`;case`js`:case`mjs`:case`javascript`:return`javascript`;case`jsx`:case`tsx`:case`react`:return`react`;case`ts`:case`typescript`:return`typescript`;case`py`:case`python`:return`python`;case`css`:case`svg`:case`json`:return t;default:return t||void 0}}function st(e){let t=[],n=new RegExp(Ye),r;for(;(r=n.exec(e))!==null;){let n=r[1].trim(),i=ct(n,ut(e,r.index));t.push({raw:r[0],info:n,content:r[2].trim(),start:r.index,end:r.index+r[0].length,language:i.language,fileName:i.fileName})}return t}function ct(e,t){let n=lt(e)||t,r=e.split(/\s+/).filter(Boolean)[0]?.replace(/[{}[\]()]/g,``);return{language:(r&&!Xe.test(r)&&!r.includes(`=`)?Z(r):void 0)||Z(ft(n)),fileName:n}}function lt(e){let t=e.match(/(?:file(?:name)?|path|name)\s*=\s*["']?([^"'\s]+)["']?/i);if(t&&Xe.test(t[1]))return dt(t[1]);let n=e.match(Xe);return n?dt(n[0]):void 0}function ut(e,t){let n=e.slice(Math.max(0,t-180),t).split(`
2
- `).slice(-3).reverse();for(let e of n){let t=e.trim().replace(/^#{1,6}\s*/,``).replace(/^[-*]\s*/,``).replace(/[::]\s*$/,``).match(Xe);if(t)return dt(t[0])}}function dt(e){return e.replace(/^["'`]+|["'`:]+$/g,``)}function ft(e){return e?.match(/\.([a-z0-9]+)$/i)?.[1]}function pt(e){return e?.split(/[\\/]/).pop()}function Q(e){let t=pt(e);if(!t)return null;let n=t.replace(/\.[^.]+$/,``);return/^(index|main|app)$/i.test(n)?null:n.replace(/[-_]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function mt(e){let t=Date.now();return{...e,id:`artifact-${t}-${Math.random().toString(36).slice(2,11)}`,createdAt:t,updatedAt:t}}function ht(e){let t=Z(e.language)||Z(ft(e.fileName));switch(t){case`html`:return{type:`html`,title:nt(e.content)||Q(e.fileName)||`HTML Document`};case`svg`:return{type:`svg`,title:Q(e.fileName)||`SVG Image`};case`react`:return{type:`react`,title:rt(e.content)||Q(e.fileName)||`React Component`,language:`jsx`};case`json`:return{type:`json`,title:Q(e.fileName)||`JSON Data`};case`python`:return{type:`code`,title:it(e.content)||Q(e.fileName)||`Python Code`,language:`python`};case`css`:return{type:`code`,title:Q(e.fileName)||`CSS Styles`,language:`css`};case`javascript`:return{type:`code`,title:at(e.content)||Q(e.fileName)||`JavaScript Code`,language:`javascript`};case`typescript`:return{type:`code`,title:Q(e.fileName)||`TypeScript Code`,language:`typescript`};default:return t?{type:`code`,title:Q(e.fileName)||`${t.toUpperCase()} Code`,language:t}:null}}function gt(e){return(Z(e.language)||Z(ft(e.fileName)))===`html`}function _t(e){return(Z(e.language)||Z(ft(e.fileName)))===`css`}function vt(e){return(Z(e.language)||Z(ft(e.fileName)))===`javascript`}function yt(e){let t=st(e),n=t.filter(gt);if(n.length===0)return null;let r=t.filter(_t),i=t.filter(vt);if(r.length===0&&i.length===0)return null;let a=n.find(e=>/(^|[/\\])index\.html?$/i.test(e.fileName||``))||n[0],o=Ie(bt(a.content,r,i),r.map(e=>e.content),i.map(e=>e.content));return Tt(o,`html`)?{artifact:mt({type:`html`,title:nt(o)||Q(a.fileName)||`Interactive HTML App`,description:`Bundled generated HTML, CSS, and JavaScript files into one runnable artifact.`,content:o}),ranges:[a,...r,...i]}:null}function bt(e,t,n){let r=e;for(let e of t){let t=pt(e.fileName);t&&(r=r.replace(RegExp(`<link\\b[^>]*href=["'][^"']*${wt(t)}["'][^>]*>`,`gi`),``))}for(let e of n){let t=pt(e.fileName);t&&(r=r.replace(RegExp(`<script\\b[^>]*src=["'][^"']*${wt(t)}["'][^>]*>\\s*<\\/script>`,`gi`),``))}return r}function xt(e){let t=/<!doctype\s+html|<html[\s>]/i.exec(e);if(!t||t.index===void 0)return null;let n=st(e);if(St(t.index,n))return null;let r=t.index,i=/<\/html>/gi;i.lastIndex=r;let a=i.exec(e),o=a?a.index+a[0].length:e.length,s=e.slice(r,o).trim();return Tt(s,`html`)?{artifact:mt({type:`html`,title:nt(s)||`HTML Document`,content:s}),ranges:[{start:r,end:o}]}:null}function St(e,t){return t.some(t=>e>=t.start&&e<=t.end)}function Ct(e,t){return[...t].sort((e,t)=>t.start-e.start).reduce((e,t)=>`${e.slice(0,t.start)}${e.slice(t.end)}`,e)}function wt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Tt(e,t){if(t===`html`){let t=e.trim(),n=/<[^>]+>/.test(t),r=/<(canvas|script|style|button|form|input|select|textarea|video|audio)\b/i.test(t)||/\bon(?:click|input|submit|keydown|keyup|mousemove)=/i.test(t);return n&&(Le(t)||t.length>160||r)}if(t===`svg`)return/<svg[^>]*>/.test(e);if(t===`react`)return/<[A-Z][^>]*>/.test(e)||/return\s*\(/.test(e);if(t===`json`)try{return JSON.parse(e),e.trim().length>100}catch{return!1}if(t===`code`){let t=e.split(`
3
- `).length,n=e.trim().length,r=/function|class|def |import |from |const |let |var |if |for |while |try |catch/.test(e);return(n>500||t>15)&&r}return e.trim().length>200}function Et(e){let t=[],n=e;for(let e of Qe){e.regex.lastIndex=0;let r=[],i;for(;(i=e.regex.exec(n))!==null;){let n=e.extract(i);Tt(n.content,n.type)&&(t.push(mt({type:n.type,title:n.title,content:n.content})),r.push({start:i.index,end:i.index+i[0].length}))}n=Ct(n,r)}let r=yt(n);for(;r;)t.push(r.artifact),n=Ct(n,r.ranges),r=yt(n);let i=xt(n);i&&(t.push(i.artifact),n=Ct(n,i.ranges));let a=st(n),o=[];for(let e of a){let n=ht(e);!n||!Tt(e.content,n.type)||(t.push(mt({type:n.type,title:n.title,content:e.content,language:n.language})),o.push(e))}return n=Ct(n,o),{content:n.trim(),artifacts:t}}var Dt=a(`components:chat-message`),Ot=({message:e,isStreaming:t=!1,className:n,isLastAssistantMessage:r=!1,onRegenerate:i})=>{let{t:a}=q(),o=e.role===`user`,s=e.role===`system`,{preferences:c}=Ne(),{user:u}=Pe(),{setSystemMessage:d,getCurrentPersona:f}=K(),p=f(),[h,g]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(e.content),[y,b]=(0,Y.useState)(null),[x,C]=(0,Y.useState)(!1),[w,T]=(0,Y.useState)(!1),[E,D]=(0,Y.useState)(!1),[k,A]=(0,Y.useState)(!1),[ee,j]=(0,Y.useState)(!1),M=(0,Y.useRef)(null),N=(0,Y.useRef)(t),P=(0,Y.useRef)(!1),te=async()=>{try{await navigator.clipboard.writeText(e.content),j(!0),setTimeout(()=>j(!1),2e3)}catch(e){Dt.error(`Failed to copy message:`,e)}},{thinkingContent:ne,parsedContent:F,artifacts:I}=(0,Y.useMemo)(()=>{if(o||s||!e.content)return{thinkingContent:null,parsedContent:e.content,artifacts:e.artifacts||[]};let n=Se(e.content),r=n.content;if(e.artifacts&&e.artifacts.length>0)return{thinkingContent:n.thinking,parsedContent:r,artifacts:e.artifacts};if(!t){let e=Et(r);return{thinkingContent:n.thinking,parsedContent:e.content,artifacts:e.artifacts}}return{thinkingContent:n.thinking,parsedContent:r,artifacts:[]}},[e.content,e.artifacts,o,s,t]);(0,Y.useEffect)(()=>{let e=N.current&&!t;return N.current=t,e&&!P.current&&!o&&!s&&F&&c.ttsSettings?.enabled&&c.ttsSettings?.autoPlay&&(P.current=!0,(async()=>{A(!0);try{let e=await ve.generateBase64({model:c.ttsSettings?.model||`tts-1`,input:F,voice:c.ttsSettings?.voice||`alloy`,speed:c.ttsSettings?.speed||1,response_format:`mp3`});if(e.success&&e.data?.audio){let t=`data:${e.data.mimeType};base64,${e.data.audio}`,n=new Audio(t);M.current=n,n.onended=()=>{A(!1),M.current=null},n.onerror=()=>{A(!1),M.current=null},await n.play()}}catch(e){Dt.error(`Auto-play TTS failed:`,e),A(!1)}})()),()=>{M.current&&(M.current.pause(),M.current=null)}},[t,o,s,F,c.ttsSettings]);let ie=()=>s?a(`chatMessage.system`):o?c.showUsername&&u?.username?u.username:a(`chatMessage.you`):p?.name?p.name:e.model||a(`chatMessage.assistant`),ae=()=>{g(!0),v(e.content)},oe=async()=>{C(!0);try{d(_),g(!1),Dt.debug(`✅ System message updated:`,_)}catch(e){Dt.error(`Failed to save system message:`,e)}finally{C(!1)}},se=()=>{g(!1),v(e.content)},ce=(e,t=100)=>e.length<=t?e:e.substring(0,t)+`...`,R=s&&e.content.length>100;return(0,X.jsxs)(`div`,{className:W(`group flex py-3 transition-colors sm:py-4`,o?`justify-end`:`justify-start`,n),children:[(0,X.jsx)(`div`,{className:W(`flex min-w-0`,o?`max-w-[88%] sm:max-w-[72%]`:`w-full`),children:(0,X.jsxs)(`div`,{className:W(`min-w-0 flex-1`,o?`rounded-[1.35rem] rounded-br-md border border-black/[0.06] bg-gray-900 px-4 py-3 text-white shadow-sm dark:border-white/[0.07] dark:bg-dark-300`:s?`bg-transparent py-2`:`bg-transparent py-1`),children:[!s&&(0,X.jsxs)(`div`,{className:W(`mb-2 flex items-center gap-2.5`,o&&`justify-end`),children:[(0,X.jsx)(`span`,{className:W(`text-[11px] font-semibold uppercase tracking-[0.1em]`,o?`text-white/70`:`text-gray-700 dark:text-dark-700`),children:ie()}),e.model&&!o&&p?.name&&(0,X.jsx)(`span`,{className:`max-w-32 truncate rounded-full bg-gray-100 px-2 py-0.5 text-[10px] text-gray-500 dark:bg-dark-200 dark:text-dark-600 sm:max-w-48`,title:e.model,children:e.model}),(0,X.jsx)(`span`,{className:W(`text-[10px] tabular-nums`,o?`text-white/45`:`text-gray-400 dark:text-dark-500`),children:Ce(e.timestamp)})]}),(0,X.jsxs)(`div`,{className:W(o?`text-[15px] text-white`:`text-[15px] leading-7 text-gray-800 dark:text-dark-800 sm:text-base`),children:[e.images&&e.images.length>0&&(0,X.jsx)(`div`,{className:`mb-3 grid max-w-lg grid-cols-2 gap-2 sm:grid-cols-3`,children:e.images.map((e,t)=>(0,X.jsx)(`div`,{className:`aspect-square overflow-hidden rounded-xl border border-white/10 bg-gray-100 dark:bg-gray-800`,children:(0,X.jsx)(`img`,{src:e,alt:`Uploaded image ${t+1}`,className:`w-full h-full object-cover cursor-pointer hover:opacity-90 transition-opacity`,onClick:()=>b(e)})},t))}),o?(0,X.jsx)(`p`,{className:`whitespace-pre-wrap leading-relaxed`,children:e.content}):s?(0,X.jsxs)(`div`,{className:`relative z-0 rounded-2xl border border-black/[0.06] bg-white/55 p-3 dark:border-white/[0.06] dark:bg-dark-200/45`,children:[(0,X.jsxs)(`div`,{className:`mb-2 flex items-center justify-between text-[10px] font-semibold uppercase tracking-[0.12em] text-gray-500 dark:text-dark-500`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(B,{className:`h-2.5 w-2.5 opacity-50`}),a(`chatMessage.system`)]}),(0,X.jsx)(`div`,{className:`flex items-center gap-1`,children:h?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{onClick:oe,disabled:x,className:`rounded-lg p-1.5 transition-colors hover:bg-gray-100 disabled:opacity-50 dark:hover:bg-dark-300`,title:a(`chatMessage.saveChanges`),children:(0,X.jsx)(l,{className:`h-3 w-3 text-green-600 dark:text-green-400`})}),(0,X.jsx)(`button`,{onClick:se,disabled:x,className:`rounded-lg p-1.5 transition-colors hover:bg-gray-100 disabled:opacity-50 dark:hover:bg-dark-300`,title:a(`chatMessage.cancelEditing`),children:(0,X.jsx)(L,{className:`h-3 w-3 text-red-600 dark:text-red-400`})})]}):(0,X.jsx)(`button`,{onClick:ae,className:`rounded-lg p-1.5 transition-colors hover:bg-gray-100 dark:hover:bg-dark-300`,title:a(`chatMessage.editSystemMessage`),children:(0,X.jsx)(m,{className:`h-3 w-3 text-gray-600 dark:text-gray-400`})})})]}),h?(0,X.jsx)(`textarea`,{value:_,onChange:e=>v(e.target.value),className:`min-h-[100px] w-full resize-none rounded-xl border border-black/[0.08] bg-white p-3 text-sm text-gray-900 focus:border-transparent focus:outline-none focus:ring-2 focus:ring-primary-500 dark:border-white/[0.08] dark:bg-dark-100 dark:text-dark-900 dark:focus:ring-primary-400`,placeholder:a(`chatMessage.systemMessagePlaceholder`),disabled:x}):(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`p`,{className:`whitespace-pre-wrap text-xs leading-relaxed text-gray-500 dark:text-dark-600`,children:w?e.content:ce(e.content)}),R&&(0,X.jsx)(`button`,{onClick:()=>T(!w),className:`mt-2 flex items-center gap-1 text-xs text-gray-400 transition-colors hover:text-gray-900 dark:text-dark-500 dark:hover:text-dark-900`,children:w?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(re,{className:`h-3 w-3`}),a(`chatMessage.showLess`)]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(O,{className:`h-3 w-3`}),a(`chatMessage.showMore`)]})})]})]}):(0,X.jsxs)(`div`,{className:`relative`,children:[ne&&(0,X.jsxs)(`div`,{className:`mb-4 border-l border-gray-200 pl-3 dark:border-dark-300`,children:[(0,X.jsxs)(`button`,{onClick:()=>D(!E),className:`flex items-center gap-2 text-xs text-gray-500 transition-colors hover:text-gray-900 dark:text-dark-600 dark:hover:text-dark-900`,children:[(0,X.jsx)(de,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`font-medium`,children:a(`chatMessage.thinking`)}),E?(0,X.jsx)(re,{className:`h-4 w-4`}):(0,X.jsx)(O,{className:`h-4 w-4`})]}),E&&(0,X.jsx)(`div`,{className:`mt-3 rounded-xl bg-gray-100/60 p-3 dark:bg-dark-200/60`,children:(0,X.jsx)(`p`,{className:`whitespace-pre-wrap text-sm leading-relaxed text-gray-600 dark:text-dark-700`,children:ne})})]}),(0,X.jsx)(ke,{content:F,isStreaming:t}),t&&!F.includes("```")&&(0,X.jsx)(`div`,{className:`ml-1 inline-block h-5 w-1 animate-pulse rounded-full bg-primary-500`})]}),!o&&!s&&I.length>0&&(0,X.jsx)(`div`,{className:`mt-4`,children:(0,X.jsx)(Re,{artifacts:I})}),!o&&!s&&e.statistics&&(0,X.jsx)(`div`,{className:`mt-3`,children:(0,X.jsx)(Be,{statistics:e.statistics})}),!s&&!t&&(0,X.jsxs)(`div`,{className:W(`mt-3 flex items-center gap-1`,o?`justify-end border-t border-white/10 pt-2 text-white/65`:`text-gray-400 dark:text-dark-500`),children:[!o&&F&&(0,X.jsx)(Je,{text:F,size:`sm`,className:W(`transition-colors`,k&&`bg-primary-50 text-primary-600 dark:bg-primary-900/20 dark:text-primary-400`)}),(0,X.jsx)(`button`,{onClick:te,className:W(`flex h-8 w-8 items-center justify-center rounded-full transition-colors`,o?`hover:bg-white/10 hover:text-white`:`hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-dark-200 dark:hover:text-dark-800`),title:a(ee?`chatMessage.copied`:`chatMessage.copyMessage`),children:ee?(0,X.jsx)(ue,{className:`h-3.5 w-3.5 text-green-400`}):(0,X.jsx)(le,{className:`h-3.5 w-3.5`})}),!o&&r&&i&&(0,X.jsx)(`button`,{onClick:i,className:`flex h-8 w-8 items-center justify-center rounded-full transition-colors hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-dark-200 dark:hover:text-dark-800`,title:a(`chatMessage.regenerateResponse`),children:(0,X.jsx)(S,{className:`h-3.5 w-3.5`})})]})]})]})}),y&&(0,ze.createPortal)((0,X.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":a(`chatMessage.fullSizeImage`),className:`fixed inset-0 z-[9999] flex items-center justify-center bg-black/85 p-6 backdrop-blur-md`,onClick:()=>b(null),children:[(0,X.jsx)(`button`,{className:`absolute right-6 top-6 rounded-full border border-white/15 bg-white/10 p-3 text-white transition-colors hover:bg-white/20`,onClick:e=>{e.stopPropagation(),b(null)},children:(0,X.jsx)(L,{className:`h-7 w-7`})}),(0,X.jsx)(`img`,{src:y,alt:a(`chatMessage.fullSizeImage`),className:`max-h-[90vh] max-w-[90vw] rounded-2xl object-contain shadow-2xl`,onClick:e=>e.stopPropagation()})]}),document.body)]})},kt=({messages:e,isStreaming:t=!1,streamingMessage:n,streamingMessageId:r,isLastAssistantMessage:i=!1,onRegenerate:a,onSelectBranch:o,className:s})=>{if(e.length===1){let o=e[0],c=t&&r===o.id;return(0,X.jsx)(Ot,{message:c&&n?{...o,content:n}:o,isStreaming:c,isLastAssistantMessage:i,onRegenerate:a,className:s})}return(0,X.jsxs)(`div`,{className:W(`relative py-2`,s),children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 pb-3 text-[10px] font-medium uppercase tracking-[0.12em] text-gray-400 dark:text-dark-500`,children:[(0,X.jsx)(D,{className:`h-3 w-3`}),(0,X.jsxs)(`span`,{children:[e.length,` variants`]})]}),(0,X.jsx)(`div`,{className:`grid grid-cols-1 gap-3 md:grid-cols-2`,children:e.map((e,s)=>{let c=e.isActive!==!1,l=t&&r===e.id,u=l&&n?{...e,content:n}:e;return(0,X.jsxs)(`div`,{className:W(`relative overflow-hidden rounded-2xl border bg-white/45 transition-colors duration-150 dark:bg-dark-200/35`,c||l?`border-primary-500/30 ring-1 ring-primary-500/10 dark:border-primary-400/30`:`border-black/[0.07] hover:bg-white/80 dark:border-white/[0.07] dark:hover:bg-dark-200/70`,!c&&!l&&`cursor-pointer`),role:!c&&!l?`button`:void 0,tabIndex:!c&&!l?0:void 0,onClick:()=>!c&&!l&&o?.(e.id),onKeyDown:t=>{!c&&!l&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),o?.(e.id))},children:[(0,X.jsxs)(`div`,{className:W(`flex items-center justify-between border-b px-3 py-2 text-[10px] font-medium uppercase tracking-[0.12em]`,c||l?`border-primary-500/10 bg-primary-50/50 text-primary-600 dark:border-primary-400/10 dark:bg-primary-900/10 dark:text-primary-400`:`border-black/[0.05] text-gray-400 dark:border-white/[0.05] dark:text-dark-500`),children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,X.jsx)(`span`,{className:`font-medium`,children:s+1}),l&&(0,X.jsx)(`span`,{className:`text-[10px] opacity-70 animate-pulse`,children:`generating...`})]}),c&&!l&&(0,X.jsx)(ue,{className:`h-3 w-3`}),!c&&!l&&(0,X.jsx)(`span`,{className:`text-[10px] opacity-50`,children:`select`})]}),(0,X.jsx)(`div`,{className:W(!c&&!l&&`opacity-75`),children:(0,X.jsx)(Ot,{message:u,isStreaming:l,isLastAssistantMessage:i&&(c||l),onRegenerate:c&&!t?a:void 0,className:`px-3 pb-3 !text-sm`})})]},e.id)})})]})},At={web_search:b,web_fetch:E,exec:j,browser:E,Read:z,Write:z,Edit:z,image:w,memory_search:ee,memory_get:ee,working:se,thinking:se,default:se},jt={web_search:`Searching the web`,web_fetch:`Fetching page`,exec:`Running command`,browser:`Using browser`,Read:`Reading file`,Write:`Writing file`,Edit:`Editing file`,image:`Analyzing image`,memory_search:`Searching memory`,memory_get:`Reading memory`,cron:`Managing schedule`,message:`Sending message`,tts:`Generating speech`,nodes:`Checking devices`,sessions_spawn:`Spawning agent`,canvas:`Rendering canvas`,process:`Managing process`,working:`Using tools`,thinking:`Thinking`},Mt=({tools:e,className:t})=>{if(e.length===0)return null;let n=e.filter(e=>e.phase!==`result`&&e.phase!==`done`);return n.length===0?null:(0,X.jsx)(`div`,{className:W(`flex flex-col gap-1 py-2 px-1`,t),children:n.map(e=>{let t=At[e.name]||At.default,n=jt[e.name]||`Using ${e.name}`,r=e.phase===`result`;return(0,X.jsxs)(`div`,{className:W(`flex items-center gap-2 text-sm transition-all duration-300`,r?`text-green-600 dark:text-green-400 opacity-60`:`text-gray-500 dark:text-gray-400`),children:[(0,X.jsx)(`div`,{className:W(`flex items-center justify-center w-5 h-5`,!r&&`animate-spin-slow`),children:(0,X.jsx)(t,{className:`h-3.5 w-3.5`})}),(0,X.jsx)(`span`,{className:`text-xs font-medium`,children:r?`✓ ${n}`:`${n}…`}),!r&&(0,X.jsxs)(`div`,{className:`flex gap-0.5`,children:[(0,X.jsx)(`div`,{className:`w-1 h-1 bg-current rounded-full animate-bounce`,style:{animationDelay:`0ms`}}),(0,X.jsx)(`div`,{className:`w-1 h-1 bg-current rounded-full animate-bounce`,style:{animationDelay:`150ms`}}),(0,X.jsx)(`div`,{className:`w-1 h-1 bg-current rounded-full animate-bounce`,style:{animationDelay:`300ms`}})]})]},e.toolCallId)})})};a(`components:chat-messages`);var Nt=({messages:e,streamingMessage:t,streamingMessageId:n,isStreaming:r=!1,toolActivities:i=[],className:a,onRegenerate:o,onSelectBranch:c})=>{let{t:l}=q(),u=(0,Y.useRef)(null),d=(0,Y.useRef)(),f=(0,Y.useRef)(null),p=(0,Y.useRef)(!1),[m,h]=(0,Y.useState)(!1),g=(0,Y.useMemo)(()=>{let t=[],n=new Set,r=[...e].sort((e,t)=>e.role===`system`&&t.role!==`system`?-1:t.role===`system`&&e.role!==`system`?1:e.parentId===t.parentId?(e.branchIndex||0)-(t.branchIndex||0):e.timestamp-t.timestamp);for(let i of r){if(n.has(i.id))continue;let r=i.parentId;if(r){let a=t.findIndex(e=>e.id===r);if(a>=0)t[a].messages.push(i);else{let a=e.find(e=>e.id===r);a&&!n.has(r)?(t.push({id:r,messages:[a,i],messageIndex:t.length}),n.add(r)):t.push({id:i.id,messages:[i],messageIndex:t.length})}n.add(i.id)}else{let r=e.filter(e=>e.parentId===i.id);r.length>0?(t.push({id:i.id,messages:[i,...r],messageIndex:t.length}),n.add(i.id),r.forEach(e=>n.add(e.id))):(t.push({id:i.id,messages:[i],messageIndex:t.length}),n.add(i.id))}}return t.sort((e,t)=>{let n=e.messages[0],r=t.messages[0];return n.role===`system`&&r.role!==`system`?-1:r.role===`system`&&n.role!==`system`?1:n.timestamp-r.timestamp})},[e]),_=(0,Y.useCallback)((e=!1)=>{p.current&&!e||u.current?.scrollIntoView({behavior:`smooth`})},[]),v=(0,Y.useCallback)(()=>{let t=f.current;if(!t)return;let{scrollTop:n,scrollHeight:r,clientHeight:i}=t,a=r-n-i<100;p.current=!a,h(!a&&e.length>0)},[e.length]),y=(0,Y.useRef)(e.length);if((0,Y.useEffect)(()=>{e.length>y.current&&!p.current&&_(),y.current=e.length},[e.length,_]),(0,Y.useEffect)(()=>{r&&t&&!p.current&&requestAnimationFrame(()=>{let e=f.current;e&&(e.scrollTop=e.scrollHeight)})},[r,t]),(0,Y.useEffect)(()=>{let e=d.current;return()=>{e&&clearTimeout(e)}},[]),e.length===0&&!r)return(0,X.jsx)(`div`,{className:W(`flex-1 flex items-center justify-center p-6 sm:p-10`,a),children:(0,X.jsxs)(`div`,{className:`max-w-sm text-center text-gray-500 dark:text-dark-600`,children:[(0,X.jsx)(`div`,{className:`mx-auto mb-5 flex h-11 w-11 items-center justify-center rounded-2xl border border-black/[0.06] bg-white/70 text-gray-500 shadow-sm dark:border-white/[0.07] dark:bg-dark-200/70 dark:text-dark-600`,children:(0,X.jsx)(s,{className:`h-4 w-4`})}),(0,X.jsx)(`h3`,{className:`mb-2 text-lg font-medium tracking-[-0.02em] text-gray-900 dark:text-dark-900 sm:text-xl`,children:l(`chatMessage.startConversation`)}),(0,X.jsx)(`p`,{className:`px-4 text-sm leading-relaxed`,children:l(`chatMessage.startConversationDescription`)})]})});let b=-1;for(let e=g.length-1;e>=0;e--)if(g[e].messages.some(e=>e.role===`assistant`)){b=e;break}return(0,X.jsxs)(`div`,{ref:f,onScroll:v,className:W(`relative flex-1 overflow-y-auto scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-gray-600`,`scrollbar-track-transparent hover:scrollbar-thumb-gray-400 dark:hover:scrollbar-thumb-gray-500`,`overscroll-behavior-y-contain`,`[-webkit-overflow-scrolling:touch]`,a),style:{WebkitOverflowScrolling:`touch`,overscrollBehaviorY:`contain`,WebkitAppRegion:`no-drag`},children:[(0,X.jsxs)(`div`,{className:`mx-auto w-full min-w-0 max-w-4xl px-4 sm:px-6 md:px-8`,children:[g.map((e,i)=>{let a=i===b,s=r&&e.messages.some(e=>e.id===n);if(e.messages.length===1){let s=e.messages[0],c=r&&s.id===n;return(0,X.jsx)(Ot,{message:c&&t?{...s,content:t}:s,isStreaming:c,isLastAssistantMessage:a,onRegenerate:a?o:void 0,className:i===0?`mt-5 sm:mt-7`:``},s.id)}return(0,X.jsx)(kt,{messages:e.messages,isStreaming:s,streamingMessage:t,streamingMessageId:n||void 0,isLastAssistantMessage:a,onRegenerate:a?o:void 0,onSelectBranch:c,className:i===0?`mt-5 sm:mt-7`:``},e.id)}),r&&i.length>0&&(0,X.jsx)(Mt,{tools:i,className:`px-0`}),(0,X.jsx)(`div`,{ref:u,className:`h-4 sm:h-6`})]}),m&&(0,X.jsxs)(`button`,{onClick:()=>{p.current=!1,u.current?.scrollIntoView({behavior:`smooth`}),h(!1)},className:W(`absolute bottom-4 left-1/2 -translate-x-1/2 z-10`,`flex items-center justify-center gap-1.5`,`px-3.5 py-2 rounded-full`,`bg-white/90 dark:bg-dark-200/90`,`border border-black/[0.07] dark:border-white/[0.08]`,`shadow-[0_8px_28px_rgba(15,23,42,0.12)] backdrop-blur-xl`,`text-gray-600 dark:text-dark-600`,`hover:bg-white dark:hover:bg-dark-200`,`hover:text-gray-900 dark:hover:text-dark-800`,`transition-colors duration-150`),title:l(`chatMessage.scrollToBottom`),children:[(0,X.jsx)(C,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`text-xs font-medium`,children:l(`chatMessage.newMessages`)})]})]})};function Pt(e){let t=(e.match(/```/g)||[]).length,n=t%2==1,r=null;if(n){let t=e.lastIndexOf("```");if(t!==-1){let n=e.slice(t+3).match(/^(\w+)/);n&&(r=n[1])}}return{hasCodeBlocks:t>0,isInCodeBlock:n,language:r}}var Ft=Y.forwardRef(({value:e,onChange:t,className:n,placeholder:r,disabled:i,onKeyDown:a,...o},s)=>{let{hasCodeBlocks:c,isInCodeBlock:l,language:u}=(0,Y.useMemo)(()=>Pt(e),[e]);return(0,X.jsxs)(`div`,{className:`relative w-full`,children:[(0,X.jsx)(`textarea`,{ref:s,value:e,onChange:t,onKeyDown:a,placeholder:r,disabled:i,className:W(`w-full resize-none transition-all duration-200`,l&&[`font-mono text-[13px]`,`bg-gray-50 dark:bg-dark-100/50`,`rounded-lg`],n),...o}),c&&(0,X.jsx)(`div`,{className:`absolute right-0 top-0 pointer-events-none flex items-center gap-1`,children:(0,X.jsxs)(`div`,{className:W(`flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[10px] font-medium`,`bg-gray-100 dark:bg-dark-200`,`text-gray-500 dark:text-gray-400`,`border border-gray-200/50 dark:border-dark-300/50`,l&&`animate-pulse`),children:[(0,X.jsx)(y,{className:`h-3 w-3`}),u&&(0,X.jsx)(`span`,{children:u}),!u&&l&&(0,X.jsx)(`span`,{children:`code`})]})})]})});Ft.displayName=`CodeAwareTextarea`;var It=a(`components:media-upload`),Lt=({images:e,onImagesChange:t,maxImages:n=5,sessionId:r,onDocumentUploaded:i,disabled:a=!1,className:o})=>{let{t:s}=q(),c=(0,Y.useRef)(null),[l,u]=(0,Y.useState)(!1),[d,f]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)([]),h=async e=>{if(!(!e||a))for(let t=0;t<e.length;t++){let n=e[t];n.type.startsWith(`image/`)?await _(n):n.type.includes(`pdf`)||n.type.includes(`text`)?await v(n):T.error(`File type not supported: ${n.name}`)}},_=async r=>{if(n-e.length<=0){T.error(`Maximum ${n} images allowed`);return}if(r.size>10*1024*1024){T.error(`Image ${r.name} is too large (max 10MB)`);return}let i=new FileReader;i.onload=n=>{n.target?.result&&t([...e,n.target.result])},i.readAsDataURL(r)},v=async e=>{if(e.size>10*1024*1024){T.error(`File size must be less than 10MB`);return}f(!0);try{let t=await U.uploadDocument(e,r);if(t.success&&t.data){let n=t.data;m(e=>[...e,n]),i?.(n),T.success(`Document "${e.name}" uploaded`)}else T.error(t.error||`Failed to upload document`)}catch(e){It.error(`Document upload error:`,e),T.error(`Failed to upload document`)}finally{f(!1)}},y=e=>{e.preventDefault(),a||u(!0)},b=e=>{e.preventDefault(),u(!1)},x=e=>{e.preventDefault(),u(!1),a||h(e.dataTransfer.files)},S=n=>{t(e.filter((e,t)=>t!==n))},C=async e=>{try{let t=await U.deleteDocument(e);t.success?(m(t=>t.filter(t=>t.id!==e)),T.success(`Document removed`)):T.error(t.error||`Failed to remove document`)}catch(e){It.error(`Error removing document:`,e),T.error(`Failed to remove document`)}},w=e=>{if(e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**r).toFixed(1))+` `+n[r]},E=e.length>0||p.length>0;return(0,X.jsxs)(`div`,{className:W(`space-y-3`,o),children:[(0,X.jsxs)(`div`,{className:W(`border-2 border-dashed rounded-xl p-6 transition-all duration-200 cursor-pointer`,`border-gray-300 dark:border-gray-600`,`hover:border-primary-400 dark:hover:border-primary-500`,l&&`border-primary-500 dark:border-primary-400 bg-primary-50/50 dark:bg-primary-900/10`,a&&`opacity-50 cursor-not-allowed`),onDragOver:y,onDragLeave:b,onDrop:x,onClick:()=>!a&&c.current?.click(),children:[(0,X.jsx)(`input`,{ref:c,type:`file`,multiple:!0,accept:`image/*,.pdf,.txt`,onChange:e=>{h(e.target.files),e.target.value=``},className:`hidden`,disabled:a}),(0,X.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[d?(0,X.jsx)(g,{className:`h-8 w-8 text-gray-400 dark:text-gray-500 mb-2 animate-spin`}):(0,X.jsx)(A,{className:`h-8 w-8 text-gray-400 dark:text-gray-500 mb-2`}),(0,X.jsxs)(`p`,{className:`text-sm text-gray-700 dark:text-gray-300`,children:[s(`chat.mediaUpload.dropImagesHere`),` `,(0,X.jsx)(`span`,{className:`text-primary-600 dark:text-primary-400 font-medium`,children:s(`chat.mediaUpload.browse`)})]}),(0,X.jsx)(`p`,{className:`text-xs text-gray-500 dark:text-gray-400 mt-1`,children:s(`chat.mediaUpload.supportedFormats`)})]})]}),E&&(0,X.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[e.map((e,t)=>(0,X.jsxs)(`div`,{className:`relative group w-16 h-16 rounded-lg overflow-hidden bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700`,children:[(0,X.jsx)(`img`,{src:e,alt:`Upload ${t+1}`,className:`w-full h-full object-cover`}),(0,X.jsx)(`button`,{onClick:e=>{e.stopPropagation(),S(t)},className:`absolute top-0.5 right-0.5 p-0.5 rounded-full bg-black/60 hover:bg-black/80 text-white opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,X.jsx)(L,{className:`h-3 w-3`})})]},`img-${t}`)),p.map(e=>(0,X.jsxs)(`div`,{className:`relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700`,children:[e.fileType===`pdf`?(0,X.jsx)(z,{className:`w-4 h-4 text-red-500 flex-shrink-0`}):(0,X.jsx)(N,{className:`w-4 h-4 text-blue-500 flex-shrink-0`}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-xs font-medium text-gray-900 dark:text-gray-100 truncate max-w-[100px]`,children:e.filename}),(0,X.jsx)(`p`,{className:`text-[10px] text-gray-500 dark:text-gray-400`,children:w(e.size)})]}),(0,X.jsx)(`button`,{onClick:t=>{t.stopPropagation(),C(e.id)},className:`p-0.5 rounded-full hover:bg-gray-200 dark:hover:bg-gray-700 text-gray-500 hover:text-red-500 transition-colors`,children:(0,X.jsx)(L,{className:`h-3 w-3`})})]},e.id))]})]})},Rt=a(`components:document-indicator`),zt=({sessionId:e,className:t=``})=>{let[n,r]=(0,Y.useState)([]);if((0,Y.useEffect)(()=>{e&&(async()=>{try{let t=await U.getDocuments(e);t.success&&t.data&&r(t.data)}catch(e){Rt.error(`Failed to load documents:`,e)}})()},[e]),!e||n.length===0)return null;let i=n.reduce((e,t)=>e+t.size,0);return(0,X.jsxs)(`div`,{className:`
4
- inline-flex items-center space-x-1 px-2 py-1
5
- bg-blue-50 dark:bg-blue-900/20
6
- border border-blue-200 dark:border-blue-800
7
- rounded-md text-xs
8
- ${t}
9
- `,title:`${n.length} document(s) available for context - Total: ${(e=>{if(e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**r).toFixed(1))+` `+n[r]})(i)}`,children:[(0,X.jsx)(u,{className:`w-3 h-3 text-blue-600 dark:text-blue-400`}),(0,X.jsxs)(`span`,{className:`text-blue-700 dark:text-blue-300 font-medium`,children:[n.length,` doc`,n.length===1?``:`s`]})]})},Bt=a(`components:structured-output`),Vt=[{key:`none`,value:null},{key:`json`,value:`json`},{key:`list`,value:{type:`object`,properties:{items:{type:`array`,items:{type:`string`}}},required:[`items`]}},{key:`summary`,value:{type:`object`,properties:{title:{type:`string`},summary:{type:`string`},key_points:{type:`array`,items:{type:`string`}}},required:[`title`,`summary`,`key_points`]}},{key:`analysis`,value:{type:`object`,properties:{analysis:{type:`string`},pros:{type:`array`,items:{type:`string`}},cons:{type:`array`,items:{type:`string`}},recommendation:{type:`string`}},required:[`analysis`,`pros`,`cons`,`recommendation`]}},{key:`custom`,value:`custom`}],Ht=({format:e,onFormatChange:t,className:n})=>{let{t:r}=q(),[i,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(``),c=()=>Vt.map(e=>({key:e.key,label:r(`chat.structuredOutput.${e.key}`),value:e.value,description:r(`chat.structuredOutput.${e.key}Description`)})),l=()=>{let t=c();return e===null?t[0]:e===`json`?t[1]:typeof e==`object`?t.find(t=>typeof t.value==`object`&&JSON.stringify(t.value)===JSON.stringify(e))||{key:`customSchema`,label:r(`chat.structuredOutput.custom`),value:e,description:r(`chat.structuredOutput.customSchema`)}:t[0]},u=e=>{let n=c().find(t=>t.label===e);if(n){if(n.value===`custom`){a(!0);return}a(!1),t(n.value)}};return(0,X.jsxs)(`div`,{className:W(`space-y-3`,n),children:[(0,X.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,X.jsxs)(`div`,{className:`flex items-center`,children:[(0,X.jsx)(B,{className:`h-4 w-4 text-gray-500 mr-2`}),(0,X.jsx)(`span`,{className:`text-sm font-medium text-gray-700 dark:text-gray-300`,children:r(`chat.structuredOutput.title`)})]})}),(0,X.jsx)(je,{value:l().label,onChange:e=>u(e.target.value),options:c().map(e=>({value:e.label,label:e.label}))}),(0,X.jsx)(`p`,{className:`text-xs text-gray-500 dark:text-gray-400`,children:l().description}),i&&(0,X.jsxs)(`div`,{className:`space-y-3`,children:[(0,X.jsx)(Ae,{value:o,onChange:e=>s(e.target.value),placeholder:`{
10
- "type": "object",
11
- "properties": {
12
- "field1": { "type": "string" },
13
- "field2": { "type": "number" }
14
- },
15
- "required": ["field1"]
16
- }`,rows:8,className:`font-mono text-sm`}),(0,X.jsxs)(`div`,{className:`flex gap-2`,children:[(0,X.jsx)(G,{onClick:()=>{try{t(JSON.parse(o)),a(!1)}catch(e){Bt.error(`Invalid JSON schema:`,e)}},size:`sm`,disabled:!o.trim(),children:r(`chat.structuredOutput.applySchema`)}),(0,X.jsx)(G,{onClick:()=>{a(!1),s(``)},variant:`outline`,size:`sm`,children:r(`chat.structuredOutput.cancel`)})]})]}),(()=>{let e=l();return!e.value||e.value===`json`?null:(0,X.jsxs)(`div`,{className:`mt-3 p-3 bg-gray-50 dark:bg-gray-800 rounded-md`,children:[(0,X.jsxs)(`div`,{className:`flex items-center mb-2`,children:[(0,X.jsx)(M,{className:`h-4 w-4 text-gray-500 mr-2`}),(0,X.jsx)(`span`,{className:`text-sm font-medium text-gray-700 dark:text-gray-300`,children:r(`chat.structuredOutput.schemaPreview`)})]}),(0,X.jsx)(`pre`,{className:`text-xs text-gray-700 dark:text-gray-300 overflow-x-auto`,children:JSON.stringify(e.value,null,2)})]})})(),e&&(0,X.jsxs)(`div`,{className:`flex items-center text-xs text-green-600 dark:text-green-400`,children:[(0,X.jsx)(z,{className:`h-3 w-3 mr-1`}),r(`chat.structuredOutput.enabled`)]})]})};function Ut(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toString()}function Wt({hfTask:e,hfSort:t,canInstallModels:n,loadingHf:r,hfModels:i,expandedHfModel:a,hfGgufFiles:o,loadingGguf:s,pullingModel:c,pullProgress:l,setHfTask:u,setHfSort:d,onToggleHfModel:p,onPullHfGguf:m,onCancelPull:h,onRefreshHfModels:g}){let{t:_}=q();return(0,X.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:[(0,X.jsx)(`div`,{className:`px-3 py-2 border-b border-gray-200 dark:border-dark-300 flex-shrink-0 space-y-2`,children:(0,X.jsxs)(`div`,{className:`flex gap-2`,children:[(0,X.jsxs)(`select`,{value:e,onChange:e=>u(e.target.value),onMouseDown:e=>e.stopPropagation(),className:`flex-1 px-2 py-1.5 rounded-lg border text-xs bg-gray-50 dark:bg-dark-50 border-gray-200 dark:border-dark-300 text-gray-900 dark:text-gray-100`,children:[(0,X.jsx)(`option`,{value:`text-generation`,children:_(`modelManager.huggingface.taskTextGeneration`)}),(0,X.jsx)(`option`,{value:`text-to-speech`,children:_(`modelManager.huggingface.taskTextToSpeech`)}),(0,X.jsx)(`option`,{value:`text-to-image`,children:_(`modelManager.huggingface.taskTextToImage`)}),(0,X.jsx)(`option`,{value:`automatic-speech-recognition`,children:_(`modelManager.huggingface.taskSpeechRecognition`)})]}),(0,X.jsxs)(`select`,{value:t,onChange:e=>d(e.target.value),onMouseDown:e=>e.stopPropagation(),className:`px-2 py-1.5 rounded-lg border text-xs bg-gray-50 dark:bg-dark-50 border-gray-200 dark:border-dark-300 text-gray-900 dark:text-gray-100`,children:[(0,X.jsx)(`option`,{value:`downloads`,children:_(`modelManager.huggingface.sortDownloads`)}),(0,X.jsx)(`option`,{value:`likes`,children:_(`modelManager.huggingface.sortLikes`)}),(0,X.jsx)(`option`,{value:`lastModified`,children:_(`modelManager.huggingface.sortRecent`)})]})]})}),(0,X.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[!n&&(0,X.jsx)(`div`,{className:`mx-3 mt-3 mb-1 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800 dark:border-amber-800 dark:bg-amber-900/20 dark:text-amber-300`,children:_(`modelSelector.pullRestricted`)}),r?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,X.jsx)(H,{className:`h-6 w-6 animate-spin text-gray-400`})}):i.length===0?(0,X.jsxs)(`div`,{className:`px-4 py-8 text-center text-gray-500 dark:text-gray-400`,children:[(0,X.jsx)(R,{className:`h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600`}),(0,X.jsx)(`p`,{className:`text-sm`,children:_(`modelManager.huggingface.noModelsFound`)})]}):(0,X.jsx)(`div`,{className:`divide-y divide-gray-100 dark:divide-dark-200`,children:i.map(e=>{let t=a===e.id,r=o[e.id]||[],i=s===e.id;return(0,X.jsxs)(`div`,{className:`bg-white dark:bg-dark-100`,children:[(0,X.jsx)(`div`,{className:`px-3 py-3 cursor-pointer hover:bg-gray-50 dark:hover:bg-dark-200`,onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),p(e.id)},children:(0,X.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,X.jsx)(`div`,{className:`p-2 rounded-lg bg-yellow-100 dark:bg-yellow-900/30 flex-shrink-0`,children:(0,X.jsx)(R,{className:`h-4 w-4 text-yellow-600 dark:text-yellow-400`})}),(0,X.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`h4`,{className:`text-sm font-medium text-gray-900 dark:text-gray-100 truncate`,children:e.id}),e.gated&&(0,X.jsx)(`span`,{className:`px-1.5 py-0.5 rounded text-xs bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400`,children:`Gated`})]}),(0,X.jsxs)(`p`,{className:`text-xs text-gray-500 dark:text-gray-400 mt-0.5`,children:[`by `,e.author]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-3 mt-1.5 text-xs text-gray-400 dark:text-gray-500`,children:[(0,X.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(ce,{className:`h-3 w-3`}),Ut(e.downloads)]}),(0,X.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(f,{className:`h-3 w-3`}),Ut(e.likes)]}),e.pipeline_tag&&(0,X.jsx)(`span`,{className:`px-1.5 py-0.5 rounded bg-gray-100 dark:bg-dark-200`,children:e.pipeline_tag})]})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[(0,X.jsx)(`a`,{href:`https://huggingface.co/${e.id}`,target:`_blank`,rel:`noopener noreferrer`,onMouseDown:e=>e.stopPropagation(),className:`p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200`,children:(0,X.jsx)(ae,{className:`h-4 w-4 text-gray-400`})}),(0,X.jsx)(O,{className:W(`h-4 w-4 text-gray-400 transition-transform`,t&&`rotate-180`)})]})]})}),t&&(0,X.jsx)(`div`,{className:`px-3 pb-3 pt-1 border-t border-gray-100 dark:border-dark-200 bg-gray-50 dark:bg-dark-200`,children:i?(0,X.jsxs)(`div`,{className:`flex items-center justify-center py-4`,children:[(0,X.jsx)(H,{className:`h-4 w-4 animate-spin text-gray-400`}),(0,X.jsx)(`span`,{className:`ml-2 text-xs text-gray-500`,children:_(`modelManager.huggingface.checkingGguf`)})]}):r.length===0?(0,X.jsx)(`div`,{className:`py-4 text-center text-xs text-gray-500 dark:text-gray-400`,children:_(`modelManager.huggingface.noGgufAvailable`)}):(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(`div`,{className:`text-xs font-medium text-gray-600 dark:text-gray-300 mb-2`,children:_(`modelManager.huggingface.ggufFilesCount`,{count:r.length})}),r.map(e=>{let t=c===e.ollamaCommand;return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 p-2 rounded-lg bg-white dark:bg-dark-100 border border-gray-200 dark:border-dark-300`,children:[(0,X.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,X.jsx)(`div`,{className:`text-xs font-medium text-gray-800 dark:text-gray-200 truncate`,children:e.filename}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2 mt-0.5 text-xs text-gray-500 dark:text-gray-400`,children:[(0,X.jsx)(`span`,{children:e.sizeFormatted}),e.quantization&&(0,X.jsx)(`span`,{className:`px-1.5 py-0.5 rounded bg-purple-100 dark:bg-purple-900/30 text-purple-700 dark:text-purple-400`,children:e.quantization})]})]}),t?(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`div`,{className:`text-xs text-gray-500 w-12 text-right`,children:l?.percent===void 0?`...`:`${l.percent}%`}),(0,X.jsx)(`button`,{onMouseDown:e=>{e.preventDefault(),e.stopPropagation(),h()},className:`p-1.5 rounded-lg text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20`,children:(0,X.jsx)(L,{className:`h-4 w-4`})})]}):n?(0,X.jsxs)(`button`,{onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),m(e.ollamaCommand,e.filename)},disabled:!!c,className:W(`px-3 py-1.5 rounded-lg text-xs font-medium`,`bg-primary-100 dark:bg-primary-900/30`,`text-primary-700 dark:text-primary-400`,`hover:bg-primary-200 dark:hover:bg-primary-900/50`,`disabled:opacity-50 disabled:cursor-not-allowed`),children:[(0,X.jsx)(ce,{className:`h-3 w-3 inline mr-1`}),_(`models.pull`)]}):(0,X.jsx)(`span`,{className:`px-2 py-1 rounded text-[11px] font-medium bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-300`,children:_(`modelSelector.adminOnlyPull`)})]},e.filename)}),c?.startsWith(`hf.co/`)&&c.includes(e.id)&&l?.percent!==void 0&&(0,X.jsx)(`div`,{className:`w-full bg-gray-200 dark:bg-dark-300 rounded-full h-1.5 overflow-hidden mt-2`,children:(0,X.jsx)(`div`,{className:`h-1.5 rounded-full bg-primary-500 transition-all duration-300`,style:{width:`${l.percent}%`}})})]})})]},e.id)})})]}),(0,X.jsxs)(`div`,{className:`px-3 py-2 border-t border-gray-200 dark:border-dark-300 flex items-center justify-between flex-shrink-0`,children:[(0,X.jsxs)(`a`,{href:`https://huggingface.co/models`,target:`_blank`,rel:`noopener noreferrer`,onMouseDown:e=>e.stopPropagation(),className:`text-xs text-primary-600 dark:text-primary-400 hover:underline flex items-center gap-1`,children:[(0,X.jsx)(ae,{className:`h-3 w-3`}),_(`modelManager.huggingface.browseAllLink`)]}),(0,X.jsx)(`button`,{onMouseDown:e=>{e.preventDefault(),e.stopPropagation(),g()},className:`p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200`,children:(0,X.jsx)(S,{className:W(`h-3.5 w-3.5 text-gray-400`,r&&`animate-spin`)})})]})]})}function Gt({filteredGroups:e,selectedModel:t,showImageGen:n,getModelIcon:r,getModelLabel:i,getModelSubLabel:a,onModelSelect:o,onOpenGallery:s}){let{t:c}=q();return(0,X.jsxs)(`div`,{className:`flex-1 overflow-y-auto scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-dark-400`,children:[e.length>0?e.map(e=>(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`div`,{className:`px-3 py-2 text-xs font-semibold text-gray-500 dark:text-gray-400 bg-gray-100 dark:bg-dark-300 border-b border-gray-200 dark:border-dark-400 sticky top-0`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.icon,e.label,` (`,e.models.length,`)`]})}),e.models.map(e=>(0,X.jsx)(`div`,{onMouseDown:t=>{t.preventDefault(),o(e.name)},className:W(`px-3 py-3 cursor-pointer border-b border-gray-100 dark:border-dark-200 last:border-b-0`,`hover:bg-gray-50 dark:hover:bg-dark-200`,`bg-white dark:bg-dark-100 transition-colors`,t===e.name&&`bg-primary-50 dark:bg-primary-900/30`),children:(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[r(e),(0,X.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,X.jsx)(`div`,{className:`text-sm font-medium text-gray-900 dark:text-gray-100 truncate`,children:i(e)}),a(e)&&(0,X.jsx)(`div`,{className:`text-xs text-gray-500 dark:text-gray-400 truncate`,children:a(e)})]}),t===e.name&&(0,X.jsx)(ue,{className:`h-4 w-4 text-primary-600 dark:text-primary-400 flex-shrink-0`})]})},e.name))]},e.type)):(0,X.jsxs)(`div`,{className:`px-4 py-8 text-center text-gray-500 dark:text-gray-400`,children:[(0,X.jsx)(I,{className:`h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600`}),(0,X.jsx)(`p`,{className:`text-sm`,children:c(`models.noModelsFound`)})]}),n&&(0,X.jsxs)(`div`,{className:`border-t border-gray-200 dark:border-dark-300`,children:[(0,X.jsx)(`div`,{className:`px-3 py-2 text-xs font-semibold text-gray-500 dark:text-gray-400 bg-gray-100 dark:bg-dark-300`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(d,{className:`h-4 w-4 text-blue-600 dark:text-blue-400`}),c(`modelSelector.actions`)]})}),(0,X.jsx)(`div`,{onMouseDown:e=>{e.preventDefault(),s()},className:`px-3 py-3 cursor-pointer hover:bg-blue-50 dark:hover:bg-blue-900/20 bg-white dark:bg-dark-100`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(w,{className:`h-4 w-4 text-blue-600 dark:text-blue-400`}),(0,X.jsxs)(`div`,{className:`flex-1`,children:[(0,X.jsx)(`div`,{className:`text-sm font-medium text-gray-900 dark:text-gray-100`,children:c(`gallery.generate`)}),(0,X.jsx)(`div`,{className:`text-xs text-gray-500 dark:text-gray-400`,children:c(`gallery.generateDescription`)})]})]})})]})]})}function Kt({libraryCategories:e,libraryCategory:t,canInstallModels:n,loadingLibrary:r,filteredLibraryModels:i,pullingModel:a,pullProgress:o,setLibraryCategory:s,isModelInstalled:c,onModelSelect:l,onPullModel:u,onCancelPull:d,onRefreshLibrary:f}){let{t:p}=q();return(0,X.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:[(0,X.jsx)(`div`,{className:`px-3 py-2 border-b border-gray-200 dark:border-dark-300 flex-shrink-0`,children:(0,X.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.map(e=>(0,X.jsx)(`button`,{onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),s(e)},className:W(`px-2.5 py-1 rounded-full text-xs font-medium transition-colors`,t===e?`bg-primary-100 dark:bg-primary-900/30 text-primary-700 dark:text-primary-400`:`bg-gray-100 dark:bg-dark-200 text-gray-600 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-dark-300`),children:e.charAt(0).toUpperCase()+e.slice(1)},e))})}),(0,X.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[!n&&(0,X.jsx)(`div`,{className:`mx-3 mt-3 mb-1 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800 dark:border-amber-800 dark:bg-amber-900/20 dark:text-amber-300`,children:p(`modelSelector.pullRestricted`)}),r?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,X.jsx)(H,{className:`h-6 w-6 animate-spin text-gray-400`})}):i.length===0?(0,X.jsxs)(`div`,{className:`px-4 py-8 text-center text-gray-500 dark:text-gray-400`,children:[(0,X.jsx)(P,{className:`h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600`}),(0,X.jsx)(`p`,{className:`text-sm`,children:p(`models.noModelsFound`)})]}):(0,X.jsx)(`div`,{className:`divide-y divide-gray-100 dark:divide-dark-200`,children:i.slice(0,50).map(e=>{let t=c(e.name),r=a===e.name;return(0,X.jsxs)(`div`,{className:W(`px-3 py-3 bg-white dark:bg-dark-100`,t&&`bg-green-50/50 dark:bg-green-900/10`),children:[(0,X.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,X.jsx)(`div`,{className:`p-2 rounded-lg bg-blue-100 dark:bg-blue-900/30 flex-shrink-0`,children:(0,X.jsx)(P,{className:`h-4 w-4 text-blue-600 dark:text-blue-400`})}),(0,X.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`h4`,{className:`text-sm font-medium text-gray-900 dark:text-gray-100 truncate`,children:e.name}),t&&(0,X.jsx)(`span`,{className:`px-1.5 py-0.5 rounded text-xs bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400`,children:p(`modelSelector.installed`)}),(e.category===`cloud`||e.tags?.includes(`cloud`))&&(0,X.jsxs)(`span`,{className:`px-1.5 py-0.5 rounded text-xs bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400 flex items-center gap-1`,children:[(0,X.jsx)(P,{className:`h-3 w-3`}),`Cloud`]})]}),(0,X.jsx)(`p`,{className:`text-xs text-gray-500 dark:text-gray-400 line-clamp-1 mt-0.5`,children:e.description}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2 mt-1.5`,children:[e.sizes.slice(0,3).map(e=>(0,X.jsx)(`span`,{className:`px-1.5 py-0.5 rounded text-xs bg-gray-100 dark:bg-dark-200 text-gray-600 dark:text-gray-400`,children:e},e)),e.pulls&&(0,X.jsxs)(`span`,{className:`text-xs text-gray-400 dark:text-gray-500 flex items-center gap-1`,children:[(0,X.jsx)(ce,{className:`h-3 w-3`}),e.pulls]})]})]}),(0,X.jsx)(`div`,{className:`flex-shrink-0`,children:r?(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`div`,{className:`text-xs text-gray-500 w-12 text-right`,children:o?.percent===void 0?`...`:`${o.percent}%`}),(0,X.jsx)(`button`,{onClick:d,className:`p-1.5 rounded-lg text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20`,children:(0,X.jsx)(L,{className:`h-4 w-4`})})]}):t?(0,X.jsx)(`button`,{onClick:()=>l(e.name),className:`px-3 py-1.5 rounded-lg text-xs font-medium bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400 hover:bg-green-200 dark:hover:bg-green-900/50`,children:p(`modelSelector.use`)}):n?(0,X.jsxs)(`button`,{onClick:()=>u(e.name),className:`px-3 py-1.5 rounded-lg text-xs font-medium bg-primary-100 dark:bg-primary-900/30 text-primary-700 dark:text-primary-400 hover:bg-primary-200 dark:hover:bg-primary-900/50`,children:[(0,X.jsx)(ce,{className:`h-3 w-3 inline mr-1`}),p(`modelSelector.pull`)]}):(0,X.jsx)(`span`,{className:`px-2 py-1 rounded text-[11px] font-medium bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-300`,children:p(`modelSelector.adminOnlyPull`)})})]}),r&&o?.percent!==void 0&&(0,X.jsx)(`div`,{className:`mt-2 w-full bg-gray-200 dark:bg-dark-300 rounded-full h-1.5 overflow-hidden`,children:(0,X.jsx)(`div`,{className:`h-1.5 rounded-full bg-primary-500 transition-all duration-300`,style:{width:`${o.percent}%`}})})]},e.name)})})]}),(0,X.jsxs)(`div`,{className:`px-3 py-2 border-t border-gray-200 dark:border-dark-300 flex items-center justify-between flex-shrink-0`,children:[(0,X.jsxs)(`a`,{href:`https://ollama.com/library`,target:`_blank`,rel:`noopener noreferrer`,onMouseDown:e=>e.stopPropagation(),className:`text-xs text-primary-600 dark:text-primary-400 hover:underline flex items-center gap-1`,children:[(0,X.jsx)(ae,{className:`h-3 w-3`}),p(`modelManager.huggingface.browseAllLink`)]}),(0,X.jsx)(`button`,{onMouseDown:e=>{e.preventDefault(),e.stopPropagation(),f()},className:`p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200`,children:(0,X.jsx)(S,{className:W(`h-3.5 w-3.5 text-gray-400`,r&&`animate-spin`)})})]})]})}var qt=a(`components:model-selector`),Jt=({models:e,selectedModel:t,onModelChange:n,currentPersona:r,className:a,disabled:o=!1,compact:c=!1,showImageGen:l=!1,onModelsRefresh:u})=>{let{t:d}=q(),[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(``),[g,_]=(0,Y.useState)(`installed`),v=(0,Y.useRef)(null),y=(0,Y.useRef)(null),S=Te(),{user:C,systemInfo:w}=Pe(),E=C?.role===`admin`||(w?.allowUserModelPull??!0),[D,k]=(0,Y.useState)(`all`),[A,ee]=(0,Y.useState)(``),[j,M]=(0,Y.useState)(`text-generation`),[N,te]=(0,Y.useState)(`downloads`),[ne,F]=(0,Y.useState)(``),[I,re]=(0,Y.useState)(null),[ae,se]=(0,Y.useState)({}),[ce,z]=(0,Y.useState)(null),[le,B]=(0,Y.useState)(null),[ue,V]=(0,Y.useState)(null),[fe,H]=(0,Y.useState)(null),pe=[`all`,`popular`,`chat`,`code`,`vision`,`embedding`,`cloud`],me=[{type:`personas`,label:d(`modelSelector.personas`),icon:(0,X.jsx)(ie,{className:`h-4 w-4 text-gray-500 dark:text-dark-600`}),models:e.filter(e=>e.isPersona),color:`purple`},{type:`ollama`,label:d(`modelSelector.ollamaModels`),icon:(0,X.jsx)(x,{className:`h-4 w-4 text-gray-500 dark:text-dark-600`}),models:e.filter(e=>!e.isPersona&&!e.isPlugin&&!e.name.includes(`embed`)),color:`green`},{type:`plugins`,label:d(`modelSelector.pluginModels`),icon:(0,X.jsx)(R,{className:`h-4 w-4 text-gray-500 dark:text-dark-600`}),models:e.filter(e=>e.isPlugin),color:`green`}].filter(e=>e.models.length>0).map(e=>({...e,models:e.models.filter(e=>e.name.toLowerCase().includes(m.toLowerCase())||e.personaName&&e.personaName.toLowerCase().includes(m.toLowerCase())||e.pluginName&&e.pluginName.toLowerCase().includes(m.toLowerCase()))})).filter(e=>e.models.length>0),U=e.find(e=>e.name===t||t.startsWith(`persona:`)&&e.name===t),{data:_e=[],isLoading:ve,refetch:ye}=i({queryKey:[`ollama-library-selector`,A,D],queryFn:async()=>{let e=await he.getLibraryModels({search:A||void 0,sort:`popular`,category:D===`cloud`?`cloud`:void 0});return e.success&&e.data?e.data:[]},enabled:f&&g===`ollama`}),{data:be=[],isLoading:xe,refetch:Se}=i({queryKey:[`hf-models-selector`,j,ne,N],queryFn:async()=>{let e=await ge.getModels({task:j,search:ne||void 0,sort:N,limit:30});return e.success&&e.data?e.data:[]},enabled:f&&g===`huggingface`}),Ce=_e.filter(e=>{let t=!m||e.name.toLowerCase().includes(m.toLowerCase())||e.description.toLowerCase().includes(m.toLowerCase()),n=D===`all`||e.category===D;return t&&n}),we=(0,Y.useCallback)(async e=>{let[t,n]=e.split(`/`);if(!(!t||!n)){z(e);try{let r=await ge.getGgufFiles(t,n);r.success&&r.data&&se(t=>({...t,[e]:r.data}))}catch(e){qt.error(`Failed to load GGUF files:`,e)}finally{z(null)}}},[]),G=(0,Y.useCallback)(e=>{I===e?re(null):(re(e),ae[e]||we(e))},[I,ae,we]),K=(0,Y.useCallback)((e,t)=>{if(!E){T.error(d(`modelSelector.pullRestricted`));return}if(!le){B(e),V({status:`starting`});try{let n=he.pullModelStream(e,e=>{V(e)},()=>{V(null),B(null),H(null),T.success(`Downloaded ${t}`),u?.()},e=>{V(null),B(null),H(null),T.error(`Failed to download: ${e}`)});H(()=>n)}catch{V(null),B(null),T.error(`Failed to start download`)}}},[E,u,le,d]);(0,Y.useEffect)(()=>{let e=setTimeout(()=>{g===`huggingface`?F(m):g===`ollama`&&ee(m)},300);return()=>clearTimeout(e)},[m,g]),(0,Y.useEffect)(()=>{if(!f)return;let e=e=>{e.key===`Escape`&&(p(!1),h(``))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[f]),(0,Y.useEffect)(()=>{f&&y.current&&y.current.focus()},[f]);let Ee=async e=>{p(!1),h(``);try{let t=await he.listRunningModels();if(t.success&&t.data){let n=t.data;n.length>0&&(n.some(t=>t.name===e||e.startsWith(`persona:`))||await he.unloadAllModels())}}catch(e){qt.warn(`Failed to unload models before switch:`,e)}n({target:{value:e}})},J=async e=>{if(!E){T.error(d(`modelSelector.pullRestricted`));return}if(!le){B(e),V({status:`starting`});try{let t=he.pullModelStream(e,e=>{V(e)},()=>{V(null),B(null),H(null),T.success(`Downloaded ${e}`),u?.()},e=>{V(null),B(null),H(null),T.error(`Failed to download: ${e}`)});H(()=>t)}catch{V(null),B(null),T.error(`Failed to start download`)}}},De=()=>{fe&&(fe(),H(null),B(null),V(null),T.success(`Download cancelled`))},Oe=t=>e.some(e=>e.name===t||e.name.startsWith(t+`:`)),ke=e=>e.isPersona?(0,X.jsx)(ie,{className:`h-4 w-4 text-gray-500 dark:text-dark-600`}):e.isPlugin?(0,X.jsx)(R,{className:`h-4 w-4 text-gray-500 dark:text-dark-600`}):(0,X.jsx)(x,{className:`h-4 w-4 text-gray-500 dark:text-dark-600`}),Ae=e=>e.isPersona?e.personaName||e.name:e.isPlugin?`${e.name}`:e.name,je=e=>e.isPersona?`via ${e.model}`:e.isPlugin?`via ${e.pluginName}`:null;return(0,X.jsxs)(`div`,{className:W(`relative`,a),ref:v,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>!o&&p(!f),disabled:o,"aria-haspopup":`dialog`,"aria-expanded":f,className:W(c?`h-9 sm:h-10 px-2.5 flex items-center justify-between text-left w-full`:`w-full flex items-center justify-between gap-2 px-3 py-2.5 text-left`,`border border-black/[0.06] bg-gray-100/70 dark:border-white/[0.06] dark:bg-dark-300/70`,`rounded-xl text-sm hover:bg-gray-100 dark:hover:bg-dark-300`,`transition-colors duration-150 focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500/40`,o?`opacity-50 cursor-not-allowed`:`cursor-pointer`),title:c?U?Ae(U):d(`modelSelector.selectModel`):void 0,children:[(()=>{if(!U)return c?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,X.jsx)(x,{className:`h-4 w-4`}),(0,X.jsx)(`span`,{className:`text-xs font-medium text-gray-400 dark:text-gray-500 truncate`,children:d(`modelSelector.selectModel`)})]}):d(`modelSelector.selectModel`);if(c){let e=Ae(U);return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[ke(U),(0,X.jsx)(`span`,{className:`text-xs font-medium text-gray-700 dark:text-gray-200 truncate`,children:e})]})}let e=Ae(U),t=je(U);return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[ke(U),(0,X.jsxs)(`div`,{className:`flex flex-col min-w-0`,children:[(0,X.jsx)(`span`,{className:`text-sm font-medium truncate`,children:e}),t&&(0,X.jsx)(`span`,{className:`text-xs text-gray-500 dark:text-gray-400 truncate`,children:t})]}),U.isPersona&&r&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1 ml-auto`,children:[(0,X.jsx)(de,{className:`h-3 w-3 text-gray-500 dark:text-dark-600`}),r.embedding_model&&(0,X.jsx)(s,{className:`h-3 w-3 text-gray-400 dark:text-dark-500`})]})]})})(),(0,X.jsx)(O,{className:W(c?`h-3 w-3`:`h-4 w-4`,`text-gray-400 flex-shrink-0 transition-transform duration-150`,f&&`rotate-180`)})]}),f&&(0,ze.createPortal)((0,X.jsxs)(`div`,{className:`fixed inset-0 z-[999999] flex items-center justify-center p-3 sm:p-6`,children:[(0,X.jsx)(`div`,{className:`absolute inset-0 bg-gray-950/55 backdrop-blur-md`,onClick:()=>{p(!1),h(``)}}),(0,X.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":d(`modelSelector.selectModel`),className:W(`relative flex w-full max-w-xl flex-col overflow-hidden bg-white/[0.98] dark:bg-dark-25/[0.98]`,`h-[min(620px,88vh)] rounded-[1.5rem] border border-black/[0.08] dark:border-white/[0.09]`,`shadow-[0_30px_100px_rgba(0,0,0,0.28)] backdrop-blur-xl animate-scale-in`),onClick:e=>e.stopPropagation(),children:[(0,X.jsxs)(`div`,{className:`flex-shrink-0`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between px-4 pb-2 pt-4 sm:px-5 sm:pt-5`,children:[(0,X.jsx)(`h2`,{className:`text-lg font-medium tracking-[-0.025em] text-gray-950 dark:text-dark-950`,children:d(`modelSelector.selectModel`)}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>{p(!1),h(``)},className:`flex h-9 w-9 items-center justify-center rounded-full text-gray-400 transition-colors hover:bg-gray-100 hover:text-gray-950 dark:text-dark-500 dark:hover:bg-dark-200 dark:hover:text-dark-950`,title:d(`common.close`),children:(0,X.jsx)(L,{className:`h-4 w-4`})})]}),(0,X.jsx)(`div`,{className:`px-4 pb-3 sm:px-5`,children:(0,X.jsxs)(`div`,{className:`relative`,children:[(0,X.jsx)(b,{className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400`}),(0,X.jsx)(`input`,{ref:y,type:`text`,placeholder:d(g===`installed`?`modelSelector.searchInstalled`:g===`ollama`?`modelSelector.searchOllama`:`modelSelector.searchHuggingFace`),value:m,onChange:e=>h(e.target.value),className:W(`w-full rounded-xl border border-black/[0.07] bg-gray-100/70 py-2.5 pl-10 pr-4 text-sm dark:border-white/[0.07] dark:bg-dark-200/70`,`focus:outline-none focus:ring-2 focus:ring-primary-500/20`,`text-gray-900 dark:text-dark-900 placeholder:text-gray-400 dark:placeholder:text-dark-500`)})]})}),(0,X.jsxs)(`div`,{className:`mx-4 mb-3 flex rounded-xl bg-gray-100/70 p-1 dark:bg-dark-200/70 sm:mx-5`,children:[(0,X.jsxs)(`button`,{onClick:()=>{_(`installed`)},className:W(`flex-1 rounded-lg px-2 py-2 text-xs font-medium transition-colors sm:px-4`,g===`installed`?`bg-white text-gray-950 shadow-sm dark:bg-dark-300 dark:text-dark-950`:`text-gray-500 hover:text-gray-800 dark:text-dark-500 dark:hover:text-dark-800`),"aria-pressed":g===`installed`,children:[(0,X.jsx)(oe,{className:`h-4 w-4 inline mr-1.5`}),d(`modelSelector.installed`)]}),(0,X.jsxs)(`button`,{onClick:()=>{_(`ollama`)},className:W(`flex-1 rounded-lg px-2 py-2 text-xs font-medium transition-colors sm:px-4`,g===`ollama`?`bg-white text-gray-950 shadow-sm dark:bg-dark-300 dark:text-dark-950`:`text-gray-500 hover:text-gray-800 dark:text-dark-500 dark:hover:text-dark-800`),"aria-pressed":g===`ollama`,children:[(0,X.jsx)(P,{className:`h-4 w-4 inline mr-1.5`}),`Ollama`]}),(0,X.jsxs)(`button`,{onClick:()=>{_(`huggingface`)},className:W(`flex-1 rounded-lg px-2 py-2 text-xs font-medium transition-colors sm:px-4`,g===`huggingface`?`bg-white text-gray-950 shadow-sm dark:bg-dark-300 dark:text-dark-950`:`text-gray-500 hover:text-gray-800 dark:text-dark-500 dark:hover:text-dark-800`),"aria-pressed":g===`huggingface`,children:[(0,X.jsx)(R,{className:`h-4 w-4 inline mr-1.5`}),`HuggingFace`]})]})]}),g===`installed`&&(0,X.jsx)(Gt,{filteredGroups:me,selectedModel:t,showImageGen:l,getModelIcon:ke,getModelLabel:Ae,getModelSubLabel:je,onModelSelect:Ee,onOpenGallery:()=>{p(!1),S(`/gallery`)}}),g===`ollama`&&(0,X.jsx)(Kt,{libraryCategories:pe,libraryCategory:D,canInstallModels:E,loadingLibrary:ve,filteredLibraryModels:Ce,pullingModel:le,pullProgress:ue,setLibraryCategory:k,isModelInstalled:Oe,onModelSelect:Ee,onPullModel:J,onCancelPull:De,onRefreshLibrary:()=>{ye()}}),g===`huggingface`&&(0,X.jsx)(Wt,{hfTask:j,hfSort:N,canInstallModels:E,loadingHf:xe,hfModels:be,expandedHfModel:I,hfGgufFiles:ae,loadingGguf:ce,pullingModel:le,pullProgress:ue,setHfTask:M,setHfSort:te,onToggleHfModel:G,onPullHfGguf:K,onCancelPull:De,onRefreshHfModels:()=>{Se()}})]})]}),document.body),(0,X.jsx)(`select`,{value:t,onChange:n,className:`sr-only`,tabIndex:-1,children:e.map(e=>(0,X.jsx)(`option`,{value:e.name,children:Ae(e)},e.name))})]})},Yt=a(`components:chat-input`),Xt=({onSendMessage:e,onStopGeneration:t,disabled:n=!1})=>{let{t:r}=q(),[i,a]=(0,Y.useState)(``),[s,l]=(0,Y.useState)([]),[u,f]=(0,Y.useState)(null),[p,m]=(0,Y.useState)(!1),[g,_]=(0,Y.useState)(null),[v,y]=(0,Y.useState)(!1),{isGenerating:b,setBackgroundImage:x}=Ne(),{currentSession:S,models:C}=K(),w=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{(async()=>{try{let e=await xe.getPlugins();y(!!(e.success&&e.data&&e.data.length>0))}catch{y(!1)}})()},[]);let T=t=>{t.preventDefault(),!(!i.trim()||b)&&(e(i.trim(),s.length>0?s:void 0,u||void 0),a(``),l([]))},E=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),T(e))},D=()=>{t()};(0,Y.useEffect)(()=>{let e=w.current;e&&(e.style.height=`auto`,e.style.height=Math.min(e.scrollHeight,200)+`px`)},[i]),(0,Y.useEffect)(()=>{(async()=>{if(S?.personaId)try{let e=await me.getPersona(S.personaId);if(e.success&&e.data)_(e.data);else{Yt.warn(`Persona ${S.personaId} not found, clearing reference`),_(null);let{setCurrentSession:e}=K.getState();e({...S,personaId:void 0})}}catch(e){if(Yt.error(`Failed to load current persona:`,e),_(null),S){let{setCurrentSession:e}=K.getState();e({...S,personaId:void 0})}}else _(null)})()},[S?.personaId]);let O=async e=>{let t=e.target.value;if(S)try{if(t.startsWith(`persona:`)){let e=t.replace(`persona:`,``),n=await me.getPersona(e);if(!n.success||!n.data){c.error(`Failed to load persona details`);return}let i=n.data,a=await _e.updateSession(S.id,{personaId:e,model:t});if(a.success&&a.data){let{sessions:e}=K.getState(),t=e.map(e=>e.id===S.id?a.data:e);K.setState({sessions:t,currentSession:a.data}),i.background&&x(i.background),c.success(r(`chat.persona.applied`))}}else{let e=await _e.updateSession(S.id,{model:t,personaId:void 0});if(e.success&&e.data){let{sessions:t}=K.getState(),n=t.map(t=>t.id===S.id?e.data:t);K.setState({sessions:n,currentSession:e.data}),x(null),c.success(r(`chat.model.updated`))}}}catch(e){Yt.error(`Failed to update session:`,e),c.error(`Failed to update session`)}},k=s.length>0||u!==null;return(0,X.jsx)(`div`,{className:`pointer-events-none`,children:(0,X.jsxs)(`div`,{className:`pointer-events-auto mx-auto w-full max-w-4xl px-4 sm:px-6 md:px-8`,children:[p&&(0,X.jsxs)(`div`,{className:`mb-2 animate-slide-up rounded-2xl border border-black/[0.07] bg-white/90 p-4 shadow-[0_12px_40px_rgba(15,23,42,0.08)] backdrop-blur-xl dark:border-white/[0.08] dark:bg-dark-200/90`,children:[(0,X.jsx)(Lt,{images:s,onImagesChange:l,maxImages:5,sessionId:S?.id,disabled:n}),(0,X.jsx)(Ht,{format:u,onFormatChange:f})]}),(0,X.jsxs)(`div`,{className:`pb-3 pt-2 sm:pb-4`,children:[(0,X.jsx)(`form`,{onSubmit:T,children:(0,X.jsxs)(`div`,{className:W(`flex items-end gap-2 rounded-[1.55rem] border p-2.5 transition-[border-color,box-shadow,background-color] duration-200 sm:p-3`,`bg-white/[0.92] dark:bg-dark-200/[0.92] backdrop-blur-xl`,`border-black/[0.08] dark:border-white/[0.09]`,`shadow-[0_1px_2px_rgba(0,0,0,0.03),0_14px_42px_rgba(15,23,42,0.08)]`,`focus-within:border-primary-500/35 focus-within:shadow-[0_1px_2px_rgba(0,0,0,0.03),0_18px_52px_rgba(15,23,42,0.11)]`),children:[(0,X.jsx)(G,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>m(!p),className:W(`h-9 w-9 sm:h-10 sm:w-10 !p-0 rounded-full flex-shrink-0`,`text-gray-500 dark:text-dark-600 hover:bg-gray-100 dark:hover:bg-dark-300`,`transition-colors duration-150 touch-manipulation`,k&&`text-primary-600 dark:text-primary-400`,p&&`bg-gray-100 dark:bg-dark-300`),title:r(`chat.input.attachments`),children:k?(0,X.jsxs)(`div`,{className:`relative flex items-center justify-center`,children:[(0,X.jsx)(o,{className:`h-4 w-4`}),(0,X.jsx)(`div`,{className:`absolute -top-0.5 -right-0.5 h-2 w-2 bg-primary-500 dark:bg-primary-400 rounded-full ring-2 ring-white dark:ring-dark-50`})]}):p?(0,X.jsx)(h,{className:`h-4 w-4`}):(0,X.jsx)(d,{className:`h-4 w-4`})}),(0,X.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,X.jsx)(Ft,{ref:w,value:i,onChange:e=>a(e.target.value),onKeyDown:E,placeholder:r(`chat.input.placeholder`),disabled:n,className:`!m-0 min-h-[40px] max-h-[160px] resize-none !rounded-none !border-0 !bg-transparent !p-2 !shadow-none scrollbar-thin scrollbar-thumb-gray-300 placeholder:text-gray-400 focus:!border-0 focus:!bg-transparent focus:!shadow-none focus:!ring-0 dark:scrollbar-thumb-dark-400 dark:placeholder:text-dark-500 text-base leading-relaxed touch-manipulation`,rows:1})}),(0,X.jsxs)(`div`,{className:`flex flex-shrink-0 items-center gap-1 sm:gap-2`,children:[S&&C.length>0&&(0,X.jsx)(`div`,{className:`hidden sm:block`,children:(0,X.jsx)(Jt,{models:C,selectedModel:S.personaId?`persona:${S.personaId}`:S.model,onModelChange:O,currentPersona:g,className:`min-w-[150px] max-w-[230px]`,compact:!0,showImageGen:v})}),b?(0,X.jsx)(G,{type:`button`,variant:`ghost`,size:`sm`,onClick:D,className:W(`h-9 w-9 sm:h-10 sm:w-10 p-0 rounded-full flex-shrink-0 flex items-center justify-center`,`bg-red-50 dark:bg-red-900/20`,`text-red-500 dark:text-red-400`,`hover:bg-red-100 dark:hover:bg-red-900/30`,`transition-colors duration-150 touch-manipulation`),title:r(`chat.input.stopGeneration`),children:(0,X.jsx)(te,{className:`h-4 w-4`})}):(0,X.jsx)(G,{type:`submit`,variant:`ghost`,size:`sm`,disabled:!i.trim()||n,className:W(`h-9 w-9 sm:h-10 sm:w-10 p-0 rounded-full flex-shrink-0 flex items-center justify-center`,`bg-gray-100 text-gray-400 dark:bg-dark-300 dark:text-dark-500`,`disabled:cursor-not-allowed disabled:opacity-70`,`transition-colors duration-150 touch-manipulation`,i.trim()&&!n&&[`bg-gray-950 text-white hover:bg-gray-800`,`dark:bg-white dark:text-gray-950 dark:hover:bg-gray-100`,`shadow-sm`]),title:r(`chat.input.sendMessage`),children:(0,X.jsx)(V,{className:`h-4 w-4`})})]})]})}),S&&C.length>0&&(0,X.jsx)(`div`,{className:`mt-3 sm:hidden`,children:(0,X.jsx)(Jt,{models:C,selectedModel:S.personaId?`persona:${S.personaId}`:S.model,onModelChange:O,currentPersona:g,className:`w-full`,compact:!0,showImageGen:v})}),(0,X.jsxs)(`div`,{className:`mt-2 flex min-h-4 items-center justify-center gap-2 text-[10px] text-gray-400 dark:text-dark-500`,children:[(0,X.jsx)(zt,{sessionId:S?.id}),(0,X.jsxs)(`div`,{className:`text-center leading-relaxed`,children:[(0,X.jsx)(`span`,{children:r(`chat.footer.disclaimer`)}),k&&(0,X.jsxs)(`span`,{className:`ml-2 text-primary-600 dark:text-primary-400`,children:[`•`,` `,s.length>0&&r(`chat.footer.images`,{count:s.length}),s.length>0&&u&&` • `,u&&r(`chat.footer.structuredOutput`)]})]})]})]})]})})},Zt=({persona:e,onClear:t,className:n})=>{let[r,i]=(0,Y.useState)(!1),a=(0,Y.useRef)(null),[o,c]=(0,Y.useState)({top:0,left:0});(0,Y.useEffect)(()=>{if(r&&a.current){let e=a.current.getBoundingClientRect();c({top:e.bottom+8,left:e.left})}},[r]);let l=!!(e.memory_settings?.enabled||e.mutation_settings?.enabled),u=()=>ye(e,64),d=t=>{be(t.currentTarget,e.name,64)};return(0,X.jsxs)(`div`,{className:W(`relative`,n),children:[(0,X.jsxs)(`button`,{ref:a,onClick:()=>i(!r),className:W(`flex items-center gap-2 px-3 py-1.5 rounded-full transition-all duration-200`,`bg-primary-50 dark:bg-primary-900/30`,`border border-primary-200 dark:border-primary-700/50`,`hover:bg-primary-100 dark:hover:bg-primary-900/40`,`text-primary-700 dark:text-primary-300`),children:[(0,X.jsx)(`img`,{src:u(),alt:e.name,className:`w-5 h-5 rounded-full object-cover`,onError:d}),(0,X.jsx)(`span`,{className:`text-sm font-medium max-w-[120px] truncate`,children:e.name}),l&&(0,X.jsx)(s,{className:`h-3 w-3 text-purple-500 dark:text-purple-400`}),(0,X.jsx)(O,{className:W(`h-3.5 w-3.5 transition-transform duration-200`,r&&`rotate-180`)})]}),r&&(0,ze.createPortal)((0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`fixed inset-0 z-[9998]`,onClick:()=>i(!1)}),(0,X.jsx)(`div`,{className:`fixed w-72 z-[9999]`,style:{top:o.top,left:o.left},children:(0,X.jsxs)(`div`,{className:W(`rounded-xl overflow-hidden shadow-xl`,`bg-white dark:bg-dark-100`,`border border-gray-200 dark:border-dark-300`),children:[(0,X.jsxs)(`div`,{className:`relative h-16`,children:[e.background?(0,X.jsx)(`div`,{className:`absolute inset-0 bg-cover bg-center`,style:{backgroundImage:`url(${e.background})`}}):(0,X.jsx)(`div`,{className:`absolute inset-0 bg-gradient-to-br from-primary-400 via-primary-500 to-purple-600 dark:from-primary-600 dark:via-primary-700 dark:to-purple-800`}),(0,X.jsx)(`div`,{className:`absolute inset-0 bg-black/10`}),t&&(0,X.jsx)(`button`,{onClick:e=>{e.stopPropagation(),t(),i(!1)},className:`absolute top-2 right-2 p-1 rounded-full bg-white/20 hover:bg-white/30 backdrop-blur-sm transition-colors`,title:`Remove persona`,children:(0,X.jsx)(L,{className:`h-3.5 w-3.5 text-white`})}),l&&(0,X.jsxs)(`div`,{className:`absolute top-2 left-2 flex items-center gap-1 px-2 py-0.5 rounded-full bg-white/20 backdrop-blur-sm text-white text-[10px] font-medium`,children:[(0,X.jsx)(de,{className:`h-3 w-3`}),`Enhanced`]})]}),(0,X.jsx)(`div`,{className:`relative px-4 -mt-6`,children:(0,X.jsx)(`img`,{src:u(),alt:e.name,className:`w-12 h-12 rounded-lg object-cover ring-3 ring-white dark:ring-dark-100 shadow-md`,onError:d})}),(0,X.jsxs)(`div`,{className:`px-4 pt-2 pb-4`,children:[(0,X.jsx)(`h4`,{className:`text-base font-semibold text-gray-900 dark:text-gray-100`,children:e.name}),(0,X.jsxs)(`p`,{className:`text-xs text-gray-500 dark:text-gray-400 flex items-center gap-1 mt-0.5`,children:[(0,X.jsx)(fe,{className:`h-3 w-3`}),e.model]}),e.description&&(0,X.jsx)(`p`,{className:`text-xs text-gray-600 dark:text-gray-400 mt-2 line-clamp-2`,children:e.description}),e.parameters.system_prompt&&(0,X.jsxs)(`div`,{className:`mt-3 p-2 rounded-lg bg-gray-50 dark:bg-dark-50 border border-gray-100 dark:border-dark-200`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1 mb-1`,children:[(0,X.jsx)(_,{className:`h-2.5 w-2.5 text-gray-400`}),(0,X.jsx)(`span`,{className:`text-[9px] uppercase tracking-wider font-medium text-gray-400`,children:`System`})]}),(0,X.jsxs)(`p`,{className:`text-[11px] text-gray-600 dark:text-gray-400 line-clamp-2 italic`,children:[`“`,e.parameters.system_prompt,`”`]})]}),(0,X.jsxs)(`div`,{className:`flex flex-wrap gap-1 mt-3`,children:[(0,X.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded text-[10px] font-medium bg-gray-100 dark:bg-dark-200 text-gray-600 dark:text-gray-400`,children:[(0,X.jsx)(R,{className:`h-2.5 w-2.5`}),e.parameters.temperature?.toFixed(1)||`0.7`]}),(0,X.jsxs)(`span`,{className:`inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-gray-100 dark:bg-dark-200 text-gray-600 dark:text-gray-400`,children:[`Top-P `,e.parameters.top_p?.toFixed(1)||`0.9`]}),e.memory_settings?.enabled&&(0,X.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded text-[10px] font-medium bg-purple-100 dark:bg-purple-900/30 text-purple-700 dark:text-purple-300`,children:[(0,X.jsx)(de,{className:`h-2.5 w-2.5`}),`Memory`]})]})]})]})})]}),document.body)]})},Qt=({images:e,onImagesChange:t,maxImages:n=5,className:r})=>{let{t:i}=q(),a=(0,Y.useRef)(null),[o,s]=(0,Y.useState)(!1),c=r=>{if(!r)return;let i=[],a=n-e.length;for(let n=0;n<Math.min(r.length,a);n++){let o=r[n];if(!o.type.startsWith(`image/`)){T.error(`File ${o.name} is not an image`);continue}if(o.size>10*1024*1024){T.error(`Image ${o.name} is too large (max 10MB)`);continue}let s=new FileReader;s.onload=n=>{n.target?.result&&(i.push(n.target.result),i.length===Math.min(r.length,a)&&t([...e,...i]))},s.readAsDataURL(o)}r.length>a&&T.error(`Only ${a} more images can be added`)},l=e=>{e.preventDefault(),s(!0)},u=e=>{e.preventDefault(),s(!1)},d=e=>{e.preventDefault(),s(!1),c(e.dataTransfer.files)},f=n=>{t(e.filter((e,t)=>t!==n))},p=e.length<n;return(0,X.jsxs)(`div`,{className:W(`space-y-3`,r),children:[p&&(0,X.jsxs)(`div`,{className:W(`border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg p-4 transition-colors`,`hover:border-primary-400 dark:hover:border-primary-500`,o&&`border-primary-500 bg-primary-50 dark:bg-primary-900/20`),onDragOver:l,onDragLeave:u,onDrop:d,children:[(0,X.jsx)(`input`,{ref:a,type:`file`,multiple:!0,accept:`image/*`,onChange:e=>c(e.target.files),className:`hidden`}),(0,X.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,X.jsx)(A,{className:`h-8 w-8 text-gray-400 dark:text-gray-500 mb-2`}),(0,X.jsxs)(`p`,{className:`text-sm text-gray-700 dark:text-gray-300 mb-2`,children:[i(`chat.mediaUpload.dropImagesHere`),` `,(0,X.jsx)(`button`,{onClick:()=>a.current?.click(),className:`text-primary-600 dark:text-primary-400 hover:underline font-medium`,children:i(`chat.mediaUpload.browse`)})]}),(0,X.jsx)(`p`,{className:`text-xs text-gray-500 dark:text-gray-400`,children:i(`chat.mediaUpload.supportedFormats`)})]})]}),e.length>0&&(0,X.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`,children:e.map((e,t)=>(0,X.jsxs)(`div`,{className:`relative group aspect-square rounded-lg overflow-hidden bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700`,children:[(0,X.jsx)(`img`,{src:e,alt:`Upload ${t+1}`,className:`w-full h-full object-cover`}),(0,X.jsx)(`div`,{className:`absolute inset-0 bg-black bg-opacity-0 group-hover:bg-opacity-50 transition-all duration-200 flex items-center justify-center`,children:(0,X.jsx)(G,{variant:`ghost`,size:`sm`,onClick:()=>f(t),className:`opacity-0 group-hover:opacity-100 transition-opacity bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 hover:bg-red-100 dark:hover:bg-red-900/20 hover:text-red-600 dark:hover:text-red-400 p-1 rounded-full`,children:(0,X.jsx)(L,{className:`h-4 w-4`})})})]},t))}),p&&e.length>0&&(0,X.jsxs)(G,{variant:`outline`,size:`sm`,onClick:()=>a.current?.click(),className:`w-full sm:w-auto`,children:[(0,X.jsx)(w,{className:`h-4 w-4 mr-2`}),`Add More Images (`,e.length,`/`,n,`)`]})]})},$=a(`use-chat`),$t=new Set([`New Chat`,`New Demo Session`]),en=e=>!e||$t.has(e),tn=e=>{let[t,n]=(0,Y.useState)(``),[r,i]=(0,Y.useState)(null),[a,o]=(0,Y.useState)(!1),[s,c]=(0,Y.useState)([]),{addMessage:l,updateMessage:u,updateMessageWithStatistics:d,updateSessionTitle:f,setGeneratingTitleForSession:p}=K(),{setIsGenerating:m,preferences:h}=Ne(),g=(0,Y.useRef)(null),_=(0,Y.useRef)(null),v=(0,Y.useRef)(!1),y=(0,Y.useRef)(null),b=(0,Y.useRef)(``),x=(0,Y.useRef)(0),S=(0,Y.useRef)(),C=(0,Y.useRef)(null),w=(0,Y.useRef)(``),E=(0,Y.useCallback)(()=>{C.current!==null&&typeof window<`u`&&window.cancelAnimationFrame(C.current),C.current=null},[]),D=(0,Y.useCallback)((e,t=!1)=>{if(w.current=e,t||typeof window>`u`){E(),n(e);return}C.current===null&&(C.current=window.requestAnimationFrame(()=>{C.current=null,n(w.current)}))},[E]),O=(0,Y.useCallback)(()=>{E(),w.current=``,n(``)},[E]),k=(0,Y.useCallback)(()=>{_.current=null,v.current=!1,y.current=null},[]),A=(0,Y.useCallback)(e=>{let t=Ne.getState().preferences.titleSettings,n=_.current,r=v.current&&y.current===e;$.debug(`Auto-title check:`,{firstMessage:n,autoTitle:t?.autoTitle,taskModel:t?.taskModel,shouldGenerateTitle:r}),n&&r&&t?.autoTitle&&t?.taskModel&&($.debug(`Triggering auto-title generation...`),p(e),_e.generateTitle(e,t.taskModel,n).then(t=>{$.debug(`Title generation response:`,t),t.success&&t.data?.title&&f(e,t.data.title)}).catch(e=>{$.error(`Failed to generate title:`,e)}).finally(()=>{p(null)})),k()},[k,p,f]);return(0,Y.useEffect)(()=>()=>{J.offMessage(`user_message`),J.offMessage(`assistant_chunk`),J.offMessage(`assistant_complete`),J.offMessage(`tool_status`),J.offMessage(`error`)},[e]),(0,Y.useEffect)(()=>{if(!e){J.offMessage(`user_message`),J.offMessage(`assistant_chunk`),J.offMessage(`assistant_complete`),J.offMessage(`tool_status`),J.offMessage(`error`);return}return J.onMessage(`user_message`,()=>{}),J.onMessage(`assistant_chunk`,t=>{let n=t,r=n.messageId||g.current;r&&(b.current=n.total,D(n.total,n.done),S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{u(e,r,b.current),x.current=Date.now()},n.done?0:200))}),J.onMessage(`tool_status`,e=>{let t=e;c(e=>e.find(e=>e.toolCallId===t.toolCallId)?e.map(e=>e.toolCallId===t.toolCallId?{...e,phase:t.phase}:e):[...e,{toolCallId:t.toolCallId,name:t.name,phase:t.phase,startedAt:Date.now()}])}),J.onMessage(`assistant_complete`,t=>{let n=t;$.debug(`Hook: Received assistant_complete for session:`,e,`messageId:`,n.messageId,`with statistics:`,!!n.statistics),o(!1),O(),m(!1),c([]);let r=n.messageId||g.current;n&&r&&d(e,r,b.current||n.content,n.statistics),A(e),g.current=null,b.current=``,S.current&&clearTimeout(S.current),x.current=0}),J.onMessage(`error`,e=>{let t=e;if(o(!1),O(),m(!1),g.current=null,t.code===`SESSION_NOT_FOUND`){$.warn(`Session not found, redirecting to create new session...`),T.error(`Session not found. Creating a new session...`),window.location.href=`/`;return}T.error(t.error),k()}),o(!1),O(),g.current=null,()=>{S.current&&clearTimeout(S.current),E()}},[e,u,d,m,D,O,E,A,k]),{sendMessage:(0,Y.useCallback)(async(t,n,r)=>{if(!(!e||!t.trim()&&(!n||n.length===0)))try{m(!0),o(!0),O(),S.current&&clearTimeout(S.current),x.current=Date.now();let a=K.getState().currentSession,s=a?.isPrivate===!0,c=a?.messages?.some(e=>e.role===`user`);!s&&!c&&en(a?.title)?(_.current=t.trim(),v.current=!0,y.current=e):(_.current=null,v.current=!1,y.current=null),l(e,{role:`user`,content:t.trim(),images:n});let d=we();if(g.current=d,i(d),l(e,{role:`assistant`,content:``,id:d}),pe()){let n=`Demo response for: ${t.trim()}`;window.setTimeout(()=>{u(e,d,n),o(!1),O(),i(null),m(!1),A(e),g.current=null,b.current=``},500);return}J.isConnected||await J.connect();let f=s?a?.messages?.filter(e=>e.role!==`system`&&e.id!==d).map(e=>({role:e.role,content:e.content,images:e.images})):void 0;J.send({type:`chat_stream`,data:{sessionId:e,content:t.trim(),images:n,format:r,options:h.generationOptions,assistantMessageId:d,isPrivate:s,model:s?a?.model:void 0,messageHistory:f}})}catch(e){$.error(`Failed to send message:`,e),o(!1),O(),i(null),m(!1),g.current=null,T.error(`Failed to send message`)}},[e,l,u,m,O,A,h.generationOptions]),stopGeneration:(0,Y.useCallback)(()=>{o(!1),O(),i(null),m(!1),g.current=null},[m,O]),regenerateLastMessage:(0,Y.useCallback)(async()=>{let t=K.getState().currentSession;if(!t||!e)return;let n=t.messages,r=-1,a=-1;for(let e=n.length-1;e>=0;e--)if(n[e].role===`assistant`){a=e;break}if(a>0){for(let e=a-1;e>=0;e--)if(n[e].role===`user`){r=e;break}}if(r===-1||a===-1){T.error(`No message to regenerate`);return}let s=n[r],c=n[a];try{m(!0),o(!0),O(),S.current&&clearTimeout(S.current),x.current=Date.now();let t=we();g.current=t,i(t),l(e,{role:`assistant`,content:``,id:t,parentId:c.parentId||c.id,branchIndex:c.siblingCount||1,isActive:!0}),J.isConnected||await J.connect(),J.send({type:`chat_stream`,data:{sessionId:e,content:s.content,images:s.images,options:h.generationOptions,assistantMessageId:t,regenerate:!0,originalMessageId:c.id}})}catch(e){$.error(`Failed to regenerate message:`,e),o(!1),O(),i(null),m(!1),g.current=null,T.error(`Failed to regenerate message`)}},[e,m,O,l,h.generationOptions]),selectBranch:(0,Y.useCallback)(async t=>{let n=K.getState().currentSession;if(!n||!e)return;let r=n.messages.find(e=>e.id===t);if(!r){T.error(`Message not found`);return}if(r.isActive!==!1)return;let i=r.parentId||r.id,a=r.branchIndex||0;try{let r=await _e.switchMessageBranch(e,t,a);if(r.success&&r.data){let r=n.messages.map(e=>e.id===i||e.parentId===i?{...e,isActive:e.id===t}:e),o={...n,messages:r,updatedAt:Date.now()};K.setState(t=>({sessions:t.sessions.map(t=>t.id===e?o:t),currentSession:o})),T.success(`Switched to variant ${a+1}`)}else T.error(r.error||`Failed to select branch`)}catch(e){$.error(`Failed to select branch:`,e),T.error(`Failed to select branch`)}},[e]),isStreaming:a,streamingMessage:t,streamingMessageId:r,toolActivities:s}},nn=a(`pages:chat-page`),rn=(e,t)=>{let n=new Date().getHours(),r=e?`, ${e}`:``;return n>=5&&n<12?{id:`time`,title:`${t?t(`chat.greeting.morning`):`Good morning`}${r}`,subtitle:t?t(`chat.welcome.helpToday`):`What can I help with today?`}:n>=12&&n<17?{id:`time`,title:`${t?t(`chat.greeting.afternoon`):`Good afternoon`}${r}`,subtitle:t?t(`chat.welcome.helpToday`):`What can I help with today?`}:n>=17&&n<21?{id:`time`,title:`${t?t(`chat.greeting.evening`):`Good evening`}${r}`,subtitle:t?t(`chat.welcome.helpTonight`):`What can I help with tonight?`}:{id:`time`,title:`${t?t(`chat.greeting.night`):`Good night`}${r}`,subtitle:t?t(`chat.welcome.helpTonight`):`What can I help with tonight?`}},an=(e,t,n)=>{let r=Me(e);return r===`time`?rn(t,n):{id:r,title:n?n(`chat.welcome.variety.${r}.title`):`What should we make?`,subtitle:n?n(`chat.welcome.variety.${r}.subtitle`):`Start with a thought, a sketch, or a stubborn problem.`}},on=()=>{let{t:e}=q(),{sessionId:t}=Ee(),n=Te(),r=De(),{currentSession:i,sessions:a,models:s,selectedModel:c,setSelectedModel:l,createSession:u,setCurrentSession:f,loadSessions:p,getCurrentPersona:m}=K(),{user:g}=Pe(),{sendMessage:_,stopGeneration:y,regenerateLastMessage:b,selectBranch:x,isStreaming:S,streamingMessage:C,streamingMessageId:w,toolActivities:T}=tn(i?.id||``),E=m(),[D,O]=(0,Y.useState)(Fe),k=(0,Y.useMemo)(()=>an(D,g?.username,e),[e,g?.username,D]),[A,ee]=(0,Y.useState)(``),[j,M]=(0,Y.useState)([]),[N,P]=(0,Y.useState)(!1),te=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{let e=()=>{O(Fe())};return window.addEventListener(Oe,e),()=>window.removeEventListener(Oe,e)},[]);let[ne,F]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{a.length===0&&p()},[p,a.length]),(0,Y.useEffect)(()=>{(async()=>{try{let e=await xe.getPlugins();F(!!(e.success&&e.data&&e.data.length>0))}catch{F(!1)}})()},[]),(0,Y.useEffect)(()=>{(()=>{if(sessionStorage.getItem(`forceWelcomeScreen`)){sessionStorage.removeItem(`forceWelcomeScreen`);return}if(!i?.isPrivate&&a.length!==0)if(t){let e=a.find(e=>e.id===t);e&&e.id!==i?.id?f(e):e||(nn.warn(`Session ${t} not found for current user, redirecting...`),a.length>0?n(`/c/${a[0].id}`,{replace:!0}):n(`/`,{replace:!0}))}else!t&&a.length>0&&r.pathname===`/`&&n(`/c/${a[0].id}`,{replace:!0})})()},[t,a,f,n,i?.id,i?.isPrivate,r.pathname]),(0,Y.useEffect)(()=>{if(i?.id){let e=sessionStorage.getItem(`pendingMessage`);if(e){sessionStorage.removeItem(`pendingMessage`);try{let t=JSON.parse(e);setTimeout(()=>{_(t.content,t.images)},100)}catch(e){nn.error(`Failed to parse pending message:`,e)}}}},[i?.id,_]),(0,Y.useEffect)(()=>{let e=te.current;e&&(e.style.height=`auto`,e.style.height=Math.min(e.scrollHeight,200)+`px`)},[A]);let I=async e=>{if(e.preventDefault(),!A.trim()||!c)return;let t={content:A.trim(),images:j.length>0?j:void 0};sessionStorage.setItem(`pendingMessage`,JSON.stringify(t)),ee(``),M([]);let r=await u(c);r&&n(`/c/${r.id}`,{replace:!0})},re=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),I(e))},L=async e=>{let t=e.target.value;l(t)},ie=(e,t,n)=>{i&&_(e,t,n)};if(!i){let t=j.length>0;return(0,X.jsxs)(`div`,{className:`relative h-full flex-1 overflow-y-auto overflow-x-hidden px-4 py-20 sm:px-8 sm:py-24`,children:[(0,X.jsxs)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,children:[(0,X.jsx)(`div`,{className:`absolute left-[12%] top-[18%] h-56 w-56 rounded-full bg-primary-500/[0.035] blur-3xl dark:bg-primary-400/[0.04]`}),(0,X.jsx)(`div`,{className:`absolute bottom-[16%] right-[10%] h-72 w-72 rounded-full bg-gray-900/[0.025] blur-3xl dark:bg-white/[0.025]`}),(0,X.jsx)(`div`,{className:`absolute left-1/2 top-0 h-16 w-px bg-gray-300/60 dark:bg-white/10`})]}),(0,X.jsxs)(`button`,{onClick:()=>{if(!c&&s.length===0)return;let t=Date.now();f({id:`private-${t}`,title:e(`chat.session.private`),model:c||s[0]?.name||``,messages:[],createdAt:t,updatedAt:t,isPrivate:!0})},disabled:!c&&s.length===0,className:`absolute right-4 top-4 z-10 flex items-center gap-2 rounded-full border border-black/[0.07] bg-white/65 px-3 py-2 text-xs font-medium text-gray-500 backdrop-blur-md transition-colors duration-150 hover:bg-white hover:text-gray-950 disabled:cursor-not-allowed disabled:opacity-50 dark:border-white/[0.08] dark:bg-dark-200/65 dark:text-dark-600 dark:hover:bg-dark-200 dark:hover:text-dark-950 sm:right-6 sm:top-6`,title:e(`chat.session.privateTooltip`),children:[(0,X.jsx)(v,{className:`h-3.5 w-3.5`}),(0,X.jsx)(`span`,{children:e(`chat.session.private`)})]}),(0,X.jsxs)(`div`,{className:`relative z-[1] mx-auto flex min-h-full w-full max-w-3xl flex-col items-center justify-center`,children:[(0,X.jsxs)(`div`,{className:`mb-10 flex flex-col items-center text-center animate-fade-in sm:mb-12`,"aria-live":`polite`,children:[(0,X.jsx)(`h1`,{className:`mb-4 max-w-3xl text-balance text-[clamp(2.65rem,7vw,5.25rem)] font-light leading-[0.98] tracking-[-0.055em] text-gray-950 dark:text-dark-950`,children:k.title}),(0,X.jsx)(`p`,{className:`max-w-xl text-balance text-base leading-relaxed text-gray-500 dark:text-dark-600 sm:text-lg`,children:k.subtitle})]},k.id),s.length>0?(0,X.jsxs)(`div`,{className:`w-full`,children:[N&&(0,X.jsx)(`div`,{className:`mb-3 animate-slide-up rounded-2xl border border-black/[0.07] bg-white/80 p-4 shadow-sm backdrop-blur-xl dark:border-white/[0.08] dark:bg-dark-200/80`,children:(0,X.jsx)(Qt,{images:j,onImagesChange:M,maxImages:5})}),(0,X.jsx)(`form`,{onSubmit:I,children:(0,X.jsxs)(`div`,{className:W(`flex items-end gap-2 rounded-[1.6rem] border p-2.5 transition-[border-color,box-shadow,background-color] duration-200 sm:p-3`,`border-black/[0.08] bg-white/90 dark:border-white/[0.09] dark:bg-dark-200/90`,`shadow-[0_1px_2px_rgba(0,0,0,0.03),0_18px_50px_rgba(15,23,42,0.08)] backdrop-blur-xl`,`focus-within:border-primary-500/35 focus-within:shadow-[0_1px_2px_rgba(0,0,0,0.03),0_22px_65px_rgba(15,23,42,0.12)]`),children:[(0,X.jsx)(G,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>P(!N),className:W(`h-9 w-9 sm:h-10 sm:w-10 !p-0 rounded-full flex-shrink-0`,`text-gray-500 dark:text-dark-600 hover:bg-gray-100 dark:hover:bg-dark-300 transition-colors touch-manipulation`,t&&`text-primary-600 dark:text-primary-400`,N&&`bg-gray-100 dark:bg-dark-300`),title:e(`chat.input.attachImages`),children:t?(0,X.jsxs)(`div`,{className:`relative flex items-center justify-center`,children:[(0,X.jsx)(o,{className:`h-4 w-4`}),(0,X.jsx)(`div`,{className:`absolute -top-0.5 -right-0.5 h-1.5 w-1.5 bg-primary-500 rounded-full`})]}):N?(0,X.jsx)(h,{className:`h-4 w-4`}):(0,X.jsx)(d,{className:`h-4 w-4`})}),(0,X.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,X.jsx)(Ft,{ref:te,value:A,onChange:e=>ee(e.target.value),onKeyDown:re,placeholder:e(`chat.input.messagePlaceholder`),className:`!m-0 min-h-[40px] max-h-[160px] resize-none !rounded-none !border-0 !bg-transparent !p-2 !shadow-none scrollbar-thin scrollbar-thumb-gray-300 placeholder:text-gray-400 focus:!border-0 focus:!bg-transparent focus:!shadow-none focus:!ring-0 dark:scrollbar-thumb-dark-400 dark:placeholder:text-dark-500 text-base leading-relaxed touch-manipulation`,rows:1})}),(0,X.jsx)(`div`,{className:`hidden sm:block`,children:(0,X.jsx)(Jt,{models:s,selectedModel:c,onModelChange:L,className:`min-w-[140px] max-w-[210px]`,compact:!0,showImageGen:ne})}),(0,X.jsx)(G,{type:`submit`,variant:`ghost`,size:`sm`,disabled:!A.trim()||!c,className:W(`h-9 w-9 sm:h-10 sm:w-10 p-0 rounded-full flex-shrink-0 flex items-center justify-center`,`bg-gray-950 text-white hover:bg-gray-800 dark:bg-white dark:text-gray-950 dark:hover:bg-gray-100`,`disabled:bg-gray-100 disabled:text-gray-400 dark:disabled:bg-dark-300 dark:disabled:text-dark-500 disabled:hover:bg-gray-100 dark:disabled:hover:bg-dark-300`,`transition-colors duration-150 touch-manipulation`,A.trim()&&c&&`shadow-sm`),title:e(`chat.input.sendMessage`),children:(0,X.jsx)(V,{className:`h-4 w-4`})})]})}),(0,X.jsx)(`div`,{className:`sm:hidden mt-4`,children:(0,X.jsx)(Jt,{models:s,selectedModel:c,onModelChange:L,className:`w-full`,compact:!0,showImageGen:ne})}),(0,X.jsx)(`p`,{className:`mt-4 text-center text-[10px] leading-relaxed text-gray-400 dark:text-dark-500`,children:e(`chat.footer.disclaimer`)})]}):(0,X.jsx)(`div`,{className:`w-full max-w-lg`,children:(0,X.jsxs)(`div`,{className:`rounded-2xl border border-black/[0.07] bg-white/70 p-6 backdrop-blur-xl dark:border-white/[0.08] dark:bg-dark-200/70`,children:[(0,X.jsx)(`p`,{className:`mb-4 text-sm leading-relaxed text-gray-600 dark:text-dark-700`,children:e(`chat.model.noModelsDescription`)}),(0,X.jsx)(`code`,{className:`block rounded-xl bg-gray-100 p-3 font-mono text-xs text-gray-800 dark:bg-dark-300 dark:text-dark-700`,children:e(`chat.model.pullCommand`)})]})})]})]})}return(0,X.jsxs)(`div`,{className:`relative flex h-full flex-col`,style:E?.background?{backgroundImage:`url(${E.background})`,backgroundSize:`cover`,backgroundPosition:`center`,backgroundRepeat:`no-repeat`}:void 0,children:[E?.background&&(0,X.jsx)(`div`,{className:`absolute inset-0 bg-gray-50/[0.88] backdrop-blur-sm dark:bg-dark-100/[0.88]`}),(0,X.jsxs)(`div`,{className:`relative z-10 flex h-full flex-col`,children:[i?.isPrivate&&(0,X.jsx)(`div`,{className:`flex-shrink-0 border-b border-black/[0.05] bg-white/55 px-4 py-2 backdrop-blur-xl dark:border-white/[0.06] dark:bg-dark-100/55`,children:(0,X.jsxs)(`div`,{className:`flex items-center justify-center gap-2 text-gray-500 dark:text-dark-600`,children:[(0,X.jsx)(v,{className:`h-3.5 w-3.5`}),(0,X.jsx)(`span`,{className:`text-xs font-medium`,children:e(`chat.session.privateMode`)}),(0,X.jsxs)(`span`,{className:`hidden text-[11px] text-gray-400 dark:text-dark-500 sm:inline`,children:[`— `,e(`chat.session.privateDescription`)]})]})}),E&&!i?.isPrivate&&(0,X.jsx)(`div`,{className:`flex-shrink-0 border-b border-black/[0.05] bg-white/55 px-4 py-2 backdrop-blur-xl dark:border-white/[0.06] dark:bg-dark-100/55`,children:(0,X.jsx)(Zt,{persona:E,onClear:()=>{if(i){let{sessions:e}=K.getState(),t={...i,model:E.model,personaId:void 0},n=e.map(e=>e.id===i.id?t:e);K.setState({sessions:n,currentSession:t})}}})}),(0,X.jsx)(Nt,{messages:i.messages,streamingMessage:C,streamingMessageId:w,isStreaming:S,toolActivities:T,onRegenerate:b,onSelectBranch:x,className:`flex-1`}),(0,X.jsx)(Xt,{onSendMessage:ie,onStopGeneration:y,disabled:!i})]})]})};export{on as ChatPage,on as default};