opencami 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +4 -1
  2. package/dist/client/assets/{CSPContext-EgWK8bIJ.js → CSPContext-Bq8j4nl9.js} +1 -1
  3. package/dist/client/assets/DirectionContext-BdX86BHP.js +1 -0
  4. package/dist/client/assets/_sessionKey-DsjnpErt.js +14 -0
  5. package/dist/client/assets/agents-DwxKcpP6.js +2 -0
  6. package/dist/client/assets/agents-screen-DwIY8hze.js +1 -0
  7. package/dist/client/assets/bots-CRlm-3-d.js +2 -0
  8. package/dist/client/assets/bots-screen-c78I920d.js +1 -0
  9. package/dist/client/assets/button-Dg7VFQQn.js +1 -0
  10. package/dist/client/assets/c-BIGW1oBm.js +1 -0
  11. package/dist/client/assets/composite-DBl8R3ae.js +1 -0
  12. package/dist/client/assets/{connect-w4lLOqiJ.js → connect-NYvOqiBJ.js} +1 -1
  13. package/dist/client/assets/core-BrHBc0Zp.js +12 -0
  14. package/dist/client/assets/cpp-B-lmv-kZ.js +1 -0
  15. package/dist/client/assets/csharp-K5feNrxe.js +1 -0
  16. package/dist/client/assets/css-DPfMkruS.js +1 -0
  17. package/dist/client/assets/diff-D97Zzqfu.js +1 -0
  18. package/dist/client/assets/dockerfile-BcOcwvcX.js +1 -0
  19. package/dist/client/assets/engine-javascript-PwbX1GN8.js +141 -0
  20. package/dist/client/assets/file-explorer-screen-BSMbs0vi.js +1 -0
  21. package/dist/client/assets/files-BJbMx0_w.js +2 -0
  22. package/dist/client/assets/go-Dn2_MT6a.js +1 -0
  23. package/dist/client/assets/graphql-ChdNCCLP.js +1 -0
  24. package/dist/client/assets/html-GMplVEZG.js +1 -0
  25. package/dist/client/assets/index-CMATW8VA.js +3 -0
  26. package/dist/client/assets/index-T4TOjvD0.js +1 -0
  27. package/dist/client/assets/{index-36G0WCxU.js → index-rOIRO-8E.js} +1 -1
  28. package/dist/client/assets/java-CylS5w8V.js +1 -0
  29. package/dist/client/assets/javascript-wDzz0qaB.js +1 -0
  30. package/dist/client/assets/json-Cp-IABpG.js +1 -0
  31. package/dist/client/assets/jsx-g9-lgVsj.js +1 -0
  32. package/dist/client/assets/keyboard-shortcuts-dialog-BTGWdJMl.js +1 -0
  33. package/dist/client/assets/kotlin-BdnUsdx6.js +1 -0
  34. package/dist/client/assets/{main-B3N0eQFg.js → main-B_dlfHME.js} +9 -9
  35. package/dist/client/assets/markdown-BVzT7z4x.js +87 -0
  36. package/dist/client/assets/markdown-Cvjx9yec.js +1 -0
  37. package/dist/client/assets/memory-S3Yws6a5.js +2 -0
  38. package/dist/client/assets/memory-screen-C-Z9o31m.js +1 -0
  39. package/dist/client/assets/menu-DHNgWk_8.js +1 -0
  40. package/dist/client/assets/{opencami-logo-DD0DPFRQ.js → opencami-logo-BQQETnJG.js} +1 -1
  41. package/dist/client/assets/owner-CpRnf1fI.js +1 -0
  42. package/dist/client/assets/php-CDn_0X-4.js +1 -0
  43. package/dist/client/assets/popupStateMapping-BRPDXnjv.js +1 -0
  44. package/dist/client/assets/proxy-BcUh9kMA.js +9 -0
  45. package/dist/client/assets/python-B6aJPvgy.js +1 -0
  46. package/dist/client/assets/react-irH8OzhB.js +1 -0
  47. package/dist/client/assets/regexp-CDVJQ6XC.js +1 -0
  48. package/dist/client/assets/ruby-FDmvQDUv.js +1 -0
  49. package/dist/client/assets/rust-B1yitclQ.js +1 -0
  50. package/dist/client/assets/search-dialog-B96zx_ng.js +1 -0
  51. package/dist/client/assets/session-export-dialog-DPuHnhgv.js +1 -0
  52. package/dist/client/assets/settings-dialog-DZcRCaPj.js +1 -0
  53. package/dist/client/assets/shell-DfDnw5Jg.js +1 -0
  54. package/dist/client/assets/skills-YZe3I63y.js +2 -0
  55. package/dist/client/assets/{skills-panel-BLUjzfjJ.js → skills-panel-WDUfIwnI.js} +2 -2
  56. package/dist/client/assets/sql-BLtJtn59.js +1 -0
  57. package/dist/client/assets/styles-Bwo-K6Y4.css +1 -0
  58. package/dist/client/assets/swift-Dg5xB15N.js +1 -0
  59. package/dist/client/assets/switch-DPocNFRG.js +1 -0
  60. package/dist/client/assets/tabs-B0cro1hL.js +1 -0
  61. package/dist/client/assets/toml-vGWfd6FD.js +1 -0
  62. package/dist/client/assets/tooltip-Dg9fy-vT.js +1 -0
  63. package/dist/client/assets/tsx-COt5Ahok.js +1 -0
  64. package/dist/client/assets/typescript-BPQ3VLAy.js +1 -0
  65. package/dist/client/assets/use-file-explorer-state-DzT0bksg.js +12 -0
  66. package/dist/client/assets/useButton-Cbl_9oFG.js +1 -0
  67. package/dist/client/assets/useCompositeItem-BDAzTxVe.js +1 -0
  68. package/dist/client/assets/{useControlled-BhUuiHAm.js → useControlled-Dscz_s4f.js} +1 -1
  69. package/dist/client/assets/{useMutation-CFmVaBag.js → useMutation-B1FlDsNN.js} +1 -1
  70. package/dist/client/assets/visuallyHidden-ONmQ-0U2.js +1 -0
  71. package/dist/client/assets/vitesse-dark-D0r3Knsf.js +1 -0
  72. package/dist/client/assets/vitesse-light-CVO1_9PV.js +1 -0
  73. package/dist/client/assets/xml-sdJ4AIDG.js +1 -0
  74. package/dist/client/assets/yaml-Buea-lGh.js +1 -0
  75. package/dist/server/assets/{_sessionKey-tRze5NLR.js → _sessionKey-B0ZlLAjH.js} +184 -575
  76. package/dist/server/assets/_tanstack-start-manifest_v-D5UVTs1o.js +4 -0
  77. package/dist/server/assets/{connect-d3AqjAqe.js → connect-CbgijWz4.js} +1 -34
  78. package/dist/server/assets/{file-explorer-screen-CVlFiAFu.js → file-explorer-screen-DH4UFK03.js} +3 -2
  79. package/dist/server/assets/{files-BIEcSPGp.js → files-DYdXlQDr.js} +1 -1
  80. package/dist/server/assets/{index-CRfLKh30.js → index-CiUjUD0t.js} +1 -1
  81. package/dist/server/assets/{index-CNIATlJ9.js → index-Dl2BOKP7.js} +94 -79
  82. package/dist/server/assets/{keyboard-shortcuts-dialog-CsNP85q8.js → keyboard-shortcuts-dialog-Cr6fOqHz.js} +1 -2
  83. package/dist/server/assets/markdown-BFE5y9YH.js +565 -0
  84. package/dist/server/assets/memory-BqZOoD7Q.js +11 -0
  85. package/dist/server/assets/memory-screen-BK5phS8K.js +235 -0
  86. package/dist/server/assets/menu-D90CDTi2.js +45 -0
  87. package/dist/server/assets/{router-rn7pJO_D.js → router-Uuagl6O7.js} +56 -46
  88. package/dist/server/assets/{search-dialog-Bz4Cu0KW.js → search-dialog-DZTS5SEi.js} +49 -83
  89. package/dist/server/assets/{session-export-dialog-CwclV0Aj.js → session-export-dialog-C53RRAah.js} +1 -2
  90. package/dist/server/assets/{settings-dialog-BBM7jCjE.js → settings-dialog-CSYDj2qm.js} +82 -56
  91. package/dist/server/assets/{use-file-explorer-state-Il1LlBAe.js → use-file-explorer-state-s7CS50ho.js} +0 -41
  92. package/dist/server/server.js +2 -2
  93. package/package.json +2 -1
  94. package/dist/client/assets/DirectionContext-DXtY05YF.js +0 -1
  95. package/dist/client/assets/_sessionKey-B89e7G3y.js +0 -100
  96. package/dist/client/assets/agents-screen-1BiEZ9od.js +0 -1
  97. package/dist/client/assets/agents-x54ocA9z.js +0 -2
  98. package/dist/client/assets/bots-screen-BNQciUeJ.js +0 -1
  99. package/dist/client/assets/bots-x86ZHG4b.js +0 -2
  100. package/dist/client/assets/button-nDcsaNPl.js +0 -1
  101. package/dist/client/assets/file-explorer-screen-CAsjd3w8.js +0 -1
  102. package/dist/client/assets/files-Bype5Mnb.js +0 -2
  103. package/dist/client/assets/index-BXkRE220.js +0 -153
  104. package/dist/client/assets/keyboard-shortcuts-dialog-BdCeXRjD.js +0 -1
  105. package/dist/client/assets/react-B16OrBeM.js +0 -1
  106. package/dist/client/assets/search-dialog-BjTPceEl.js +0 -1
  107. package/dist/client/assets/session-export-dialog-DtHKG2zW.js +0 -1
  108. package/dist/client/assets/settings-dialog-hiqdk_UD.js +0 -1
  109. package/dist/client/assets/skills-DhwyFq3y.js +0 -2
  110. package/dist/client/assets/styles-CHP4l6vZ.css +0 -1
  111. package/dist/client/assets/switch-J6wLIVu2.js +0 -1
  112. package/dist/client/assets/tabs-DvPgTz5I.js +0 -1
  113. package/dist/client/assets/tooltip-C14vdXHK.js +0 -1
  114. package/dist/client/assets/use-file-explorer-state-BnaJEqRP.js +0 -12
  115. package/dist/client/assets/useButton-Bnnac1eR.js +0 -1
  116. package/dist/client/assets/useCompositeItem-BgiEMKAt.js +0 -1
  117. package/dist/client/assets/visuallyHidden-DCCICp6T.js +0 -9
  118. package/dist/server/assets/_tanstack-start-manifest_v-CyfoMvUa.js +0 -4
@@ -0,0 +1 @@
1
+ const n=Object.freeze(JSON.parse(`{"displayName":"Shell","name":"shellscript","patterns":[{"include":"#initial_context"}],"repository":{"alias_statement":{"begin":"[\\\\t ]*+(alias)[\\\\t ]*+((?:((?<!\\\\w)-\\\\w+)\\\\b[\\\\t ]*+)*)[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))","beginCaptures":{"1":{"name":"storage.type.alias.shell"},"2":{"patterns":[{"match":"(?<!\\\\w)-\\\\w+\\\\b","name":"string.unquoted.argument.shell constant.other.option.shell"}]},"3":{"name":"string.unquoted.argument.shell constant.other.option.shell"},"4":{"name":"variable.other.assignment.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"variable.other.assignment.shell"},"7":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"8":{"name":"punctuation.definition.array.access.shell"},"9":{"name":"keyword.operator.assignment.shell"},"10":{"name":"keyword.operator.assignment.compound.shell"},"11":{"name":"keyword.operator.assignment.compound.shell"}},"end":"(?=[\\\\t ]|$)|(?:(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&))","endCaptures":{"1":{"name":"punctuation.terminator.statement.semicolon.shell"},"2":{"name":"punctuation.separator.statement.and.shell"},"3":{"name":"punctuation.separator.statement.or.shell"},"4":{"name":"punctuation.separator.statement.background.shell"}},"name":"meta.expression.assignment.alias.shell","patterns":[{"include":"#normal_context"}]},"argument":{"begin":"[\\\\t ]++(?![\\\\n#\\\\&(\\\\[|]|$|;)","beginCaptures":{},"end":"(?=[\\\\t \\\\&;|]|$|[\\\\n)\`])","endCaptures":{},"name":"meta.argument.shell","patterns":[{"include":"#argument_context"},{"include":"#line_continuation"}]},"argument_context":{"patterns":[{"captures":{"1":{"name":"string.unquoted.argument.shell","patterns":[{"match":"\\\\*","name":"variable.language.special.wildcard.shell"},{"include":"#variable"},{"include":"#numeric_literal"},{"captures":{"1":{"name":"constant.language.$1.shell"}},"match":"(?<!\\\\w)\\\\b(true|false)\\\\b(?!\\\\w)"}]}},"match":"[\\\\t ]*+([^\\\\t\\\\n \\"$\\\\&-);<>\\\\\\\\\`|]+(?!>))"},{"include":"#normal_context"}]},"arithmetic_double":{"patterns":[{"begin":"\\\\(\\\\(","beginCaptures":{"0":{"name":"punctuation.section.arithmetic.double.shell"}},"end":"\\\\)\\\\s*\\\\)","endCaptures":{"0":{"name":"punctuation.section.arithmetic.double.shell"}},"name":"meta.arithmetic.shell","patterns":[{"include":"#math"},{"include":"#string"}]}]},"arithmetic_no_dollar":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.arithmetic.single.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arithmetic.single.shell"}},"name":"meta.arithmetic.shell","patterns":[{"include":"#math"},{"include":"#string"}]}]},"array_access_inline":{"captures":{"1":{"name":"punctuation.section.array.shell"},"2":{"patterns":[{"include":"#special_expansion"},{"include":"#string"},{"include":"#variable"}]},"3":{"name":"punctuation.section.array.shell"}},"match":"(\\\\[)([^]\\\\[]+)(])"},"array_value":{"begin":"[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))[\\\\t ]*+(\\\\()","beginCaptures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"},"9":{"name":"punctuation.definition.array.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.array.shell"}},"patterns":[{"include":"#comment"},{"captures":{"1":{"name":"variable.other.assignment.array.shell entity.other.attribute-name.shell"},"2":{"name":"keyword.operator.assignment.shell punctuation.definition.assignment.shell"}},"match":"((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(=)"},{"captures":{"1":{"name":"punctuation.definition.bracket.named-array.shell"},"2":{"name":"string.unquoted.shell entity.other.attribute-name.bracket.shell"},"3":{"name":"punctuation.definition.bracket.named-array.shell"},"4":{"name":"punctuation.definition.assignment.shell"}},"match":"(\\\\[)(.+?)(])(=)"},{"include":"#normal_context"},{"include":"#simple_unquoted"}]},"assignment_statement":{"patterns":[{"include":"#array_value"},{"include":"#modified_assignment_statement"},{"include":"#normal_assignment_statement"}]},"basic_command_name":{"captures":{"1":{"name":"storage.modifier.$1.shell"},"2":{"name":"entity.name.function.call.shell entity.name.command.shell","patterns":[{"match":"(?<!\\\\w)(?:continue|return|break)(?!\\\\w)","name":"keyword.control.$0.shell"},{"match":"(?<!\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\w)(?!-)","name":"support.function.builtin.shell"},{"include":"#variable"}]}},"match":"(?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;])(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$)(?:((?<=^|[\\\\t \\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\t \\\\&;]|$))|((?![\\"']|\\\\\\\\\\\\n?$)[^\\\\t\\\\n\\\\r !\\"'<>]+?))(?:(?=[\\\\t ])|(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\))","name":"meta.statement.command.name.basic.shell"},"block_comment":{"begin":"\\\\s*+(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.shell"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.shell"}},"name":"comment.block.shell"},"boolean":{"match":"\\\\b(?:true|false)\\\\b","name":"constant.language.$0.shell"},"case_statement":{"begin":"\\\\b(case)\\\\b[\\\\t ]*+(.+?)[\\\\t ]*+\\\\b(in)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.shell"},"2":{"patterns":[{"include":"#initial_context"}]},"3":{"name":"keyword.control.in.shell"}},"end":"\\\\besac\\\\b","endCaptures":{"0":{"name":"keyword.control.esac.shell"}},"name":"meta.case.shell","patterns":[{"include":"#comment"},{"captures":{"1":{"name":"keyword.operator.pattern.case.default.shell"}},"match":"[\\\\t ]*+(\\\\* *\\\\))"},{"begin":"(?<!\\\\))(?![\\\\t ]*+(?:esac\\\\b|$))","beginCaptures":{},"end":"(?=\\\\besac\\\\b)|(\\\\))","endCaptures":{"1":{"name":"keyword.operator.pattern.case.shell"}},"name":"meta.case.entry.pattern.shell","patterns":[{"include":"#case_statement_context"}]},{"begin":"(?<=\\\\))","beginCaptures":{},"end":"(;;)|(?=\\\\besac\\\\b)","endCaptures":{"1":{"name":"punctuation.terminator.statement.case.shell"}},"name":"meta.case.entry.body.shell","patterns":[{"include":"#typical_statements"},{"include":"#initial_context"}]}]},"case_statement_context":{"patterns":[{"match":"\\\\*","name":"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"\\\\+","name":"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"\\\\?","name":"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"@","name":"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell"},{"match":"\\\\|","name":"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell"},{"match":"\\\\\\\\.","name":"constant.character.escape.shell"},{"match":"(?<=\\\\tin| in|[\\\\t ]|;;)\\\\(","name":"keyword.operator.pattern.case.shell"},{"begin":"(?<=\\\\S)(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},"name":"meta.parenthese.shell","patterns":[{"include":"#case_statement_context"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.character-class.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.character-class.shell"}},"name":"string.regexp.character-class.shell","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.shell"}]},{"include":"#string"},{"match":"[^\\\\t\\\\n )*?@\\\\[|]","name":"string.unquoted.pattern.shell string.regexp.unquoted.shell"}]},"command_name_range":{"begin":"\\\\G","beginCaptures":{},"end":"(?=[\\\\t \\\\&;|]|$|[\\\\n)\`])|(?=<)","endCaptures":{},"name":"meta.statement.command.name.shell","patterns":[{"match":"(?<!\\\\w)(?:continue|return|break)(?!\\\\w)","name":"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell"},{"match":"(?<!\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\w)(?!-)","name":"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell"},{"include":"#variable"},{"captures":{"1":{"name":"entity.name.function.call.shell entity.name.command.shell"}},"match":"(?<!\\\\w)(?<=\\\\G|[\\"')}])([^\\\\t\\\\n\\\\r \\"\\\\&');->\`{|]+)"},{"begin":"(?:\\\\G|(?<![\\\\t\\\\n #\\\\&;{|]))(\\\\$?)((\\")|('))","beginCaptures":{"1":{"name":"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell"},"2":{},"3":{"name":"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"},"4":{"name":"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"}},"end":"(?<!\\\\G)(?<=\\\\2)","endCaptures":{},"patterns":[{"include":"#continuation_of_single_quoted_command_name"},{"include":"#continuation_of_double_quoted_command_name"}]},{"include":"#line_continuation"},{"include":"#simple_unquoted"}]},"command_statement":{"begin":"[\\\\t ]*+(?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;])(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$)(?!\\\\\\\\\\\\n?$)","beginCaptures":{},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.command.shell","patterns":[{"include":"#command_name_range"},{"include":"#line_continuation"},{"include":"#option"},{"include":"#argument"},{"include":"#string"},{"include":"#heredoc"}]},"comment":{"captures":{"1":{"name":"comment.line.number-sign.shell meta.shebang.shell"},"2":{"name":"punctuation.definition.comment.shebang.shell"},"3":{"name":"comment.line.number-sign.shell"},"4":{"name":"punctuation.definition.comment.shell"}},"match":"(?:^|[\\\\t ]++)(?:((#!).*)|((#).*))"},"comments":{"patterns":[{"include":"#block_comment"},{"include":"#line_comment"}]},"compound-command":{"patterns":[{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical-expression"},{"include":"#initial_context"}]},{"begin":"(?<=\\\\s|^)\\\\{(?=\\\\s|$)","beginCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"end":"(?<=^|;)\\\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.group.shell"}},"name":"meta.scope.group.shell","patterns":[{"include":"#initial_context"}]}]},"continuation_of_double_quoted_command_name":{"begin":"\\\\G(?<=\\")","beginCaptures":{},"contentName":"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command","end":"\\"","endCaptures":{"0":{"name":"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}},"patterns":[{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},"continuation_of_single_quoted_command_name":{"begin":"\\\\G(?<=')","beginCaptures":{},"contentName":"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command","end":"'","endCaptures":{"0":{"name":"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}}},"custom_command_names":{"patterns":[]},"custom_commands":{"patterns":[]},"double_quote_context":{"patterns":[{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},"double_quote_escape_char":{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},"floating_keyword":{"patterns":[{"match":"(?<=^|[\\\\t \\\\&;])(?:then|elif|else|done|end|do|if|fi)(?=[\\\\t \\\\&;]|$)","name":"keyword.control.$0.shell"}]},"for_statement":{"patterns":[{"begin":"\\\\b(for)\\\\b[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))[\\\\t ]*+\\\\b(in)\\\\b","beginCaptures":{"1":{"name":"keyword.control.for.shell"},"2":{"name":"variable.other.for.shell"},"3":{"name":"keyword.control.in.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.for.in.shell","patterns":[{"include":"#string"},{"include":"#simple_unquoted"},{"include":"#normal_context"}]},{"begin":"\\\\b(for)\\\\b","beginCaptures":{"1":{"name":"keyword.control.for.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.for.shell","patterns":[{"include":"#arithmetic_double"},{"include":"#normal_context"}]}]},"function_definition":{"applyEndPatternLast":1,"begin":"[\\\\t ]*+(?:\\\\b(function)\\\\b[\\\\t ]*+([^\\\\t\\\\n\\\\r \\"'()=]+)(?:(\\\\()[\\\\t ]*+(\\\\)))?|([^\\\\t\\\\n\\\\r \\"'()=]+)[\\\\t ]*+(\\\\()[\\\\t ]*+(\\\\)))","beginCaptures":{"1":{"name":"storage.type.function.shell"},"2":{"name":"entity.name.function.shell"},"3":{"name":"punctuation.definition.arguments.shell"},"4":{"name":"punctuation.definition.arguments.shell"},"5":{"name":"entity.name.function.shell"},"6":{"name":"punctuation.definition.arguments.shell"},"7":{"name":"punctuation.definition.arguments.shell"}},"end":"(?<=[)}])","endCaptures":{},"name":"meta.function.shell","patterns":[{"match":"\\\\G[\\\\t\\\\n ]"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"name":"meta.function.body.shell","patterns":[{"include":"#initial_context"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"name":"meta.function.body.shell","patterns":[{"include":"#initial_context"}]},{"include":"#initial_context"}]},"heredoc":{"patterns":[{"begin":"((?<!<)<<-)[\\\\t ]*+([\\"'])[\\\\t ]*+([^\\"']+?)(?=[\\"\\\\&';<\\\\s])(\\\\2)(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.quote.shell"},"3":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"4":{"name":"punctuation.definition.string.heredoc.quote.shell"},"5":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.quoted.heredoc.indent.$3","end":"^\\\\t*\\\\3(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.$0.shell"}},"patterns":[]},{"begin":"((?<!<)<<(?!<))[\\\\t ]*+([\\"'])[\\\\t ]*+([^\\"']+?)(?=[\\"\\\\&';<\\\\s])(\\\\2)(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.quote.shell"},"3":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"4":{"name":"punctuation.definition.string.heredoc.quote.shell"},"5":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.quoted.heredoc.no-indent.$3","end":"^\\\\3(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[]},{"begin":"((?<!<)<<-)[\\\\t ]*+([^\\\\t \\"']+)(?=[\\"\\\\&';<\\\\s])(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"3":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.unquoted.heredoc.indent.$2","end":"^\\\\t*\\\\2(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[{"include":"#double_quote_escape_char"},{"include":"#variable"},{"include":"#interpolation"}]},{"begin":"((?<!<)<<(?!<))[\\\\t ]*+([^\\\\t \\"']+)(?=[\\"\\\\&';<\\\\s])(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"3":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.unquoted.heredoc.no-indent.$2","end":"^\\\\2(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[{"include":"#double_quote_escape_char"},{"include":"#variable"},{"include":"#interpolation"}]}]},"herestring":{"patterns":[{"begin":"(<<<)\\\\s*(('))","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.single.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"contentName":"string.quoted.single.shell","end":"(')","endCaptures":{"0":{"name":"string.quoted.single.shell"},"1":{"name":"punctuation.definition.string.end.shell"}},"name":"meta.herestring.shell"},{"begin":"(<<<)\\\\s*((\\"))","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.double.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"contentName":"string.quoted.double.shell","end":"(\\")","endCaptures":{"0":{"name":"string.quoted.double.shell"},"1":{"name":"punctuation.definition.string.end.shell"}},"name":"meta.herestring.shell","patterns":[{"include":"#double_quote_context"}]},{"captures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.unquoted.herestring.shell","patterns":[{"include":"#initial_context"}]}},"match":"(<<<)\\\\s*(([^)\\\\\\\\\\\\s]|\\\\\\\\.)+)","name":"meta.herestring.shell"}]},"initial_context":{"patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#logical_expression_double"},{"include":"#logical_expression_single"},{"include":"#assignment_statement"},{"include":"#case_statement"},{"include":"#for_statement"},{"include":"#loop"},{"include":"#function_definition"},{"include":"#line_continuation"},{"include":"#arithmetic_double"},{"include":"#misc_ranges"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#alias_statement"},{"include":"#normal_statement"},{"include":"#string"},{"include":"#support"}]},"inline_comment":{"captures":{"1":{"name":"comment.block.shell punctuation.definition.comment.begin.shell"},"2":{"name":"comment.block.shell"},"3":{"patterns":[{"match":"\\\\*/","name":"comment.block.shell punctuation.definition.comment.end.shell"},{"match":"\\\\*","name":"comment.block.shell"}]}},"match":"(/\\\\*)((?:[^*]|\\\\*++[^/])*+(\\\\*++/))"},"interpolation":{"patterns":[{"include":"#arithmetic_dollar"},{"include":"#subshell_dollar"},{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.evaluation.backticks.shell"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.evaluation.backticks.shell"}},"name":"string.interpolated.backtick.shell","patterns":[{"match":"\\\\\\\\[$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"begin":"(?<=\\\\W)(?=#)(?!#\\\\{)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}},"end":"(?=\`)","name":"comment.line.number-sign.shell"}]},{"include":"#initial_context"}]}]},"keyword":{"patterns":[{"match":"(?<=^|[\\\\&;\\\\s])(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=[\\\\&;\\\\s]|$)","name":"keyword.control.shell"},{"match":"(?<=^|[\\\\&;\\\\s])(?:export|declare|typeset|local|readonly)(?=[\\\\&;\\\\s]|$)","name":"storage.modifier.shell"}]},"line_comment":{"begin":"\\\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.shell"}},"end":"(?<=\\\\n)(?<!\\\\\\\\\\\\n)","endCaptures":{},"name":"comment.line.double-slash.shell","patterns":[{"include":"#line_continuation_character"}]},"line_continuation":{"match":"\\\\\\\\(?=\\\\n)","name":"constant.character.escape.line-continuation.shell"},"logical-expression":{"patterns":[{"include":"#arithmetic_no_dollar"},{"match":"=[=~]?|!=?|[<>]|&&|\\\\|\\\\|","name":"keyword.operator.logical.shell"},{"match":"(?<!\\\\S)-(nt|ot|ef|eq|ne|l[et]|g[et]|[GLNOSa-hknopr-uwxz])\\\\b","name":"keyword.operator.logical.shell"}]},"logical_expression_context":{"patterns":[{"include":"#regex_comparison"},{"include":"#arithmetic_no_dollar"},{"include":"#logical-expression"},{"include":"#logical_expression_single"},{"include":"#logical_expression_double"},{"include":"#comment"},{"include":"#boolean"},{"include":"#redirect_number"},{"include":"#numeric_literal"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"}]},"logical_expression_double":{"begin":"\\\\[\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical_expression_context"}]},"logical_expression_single":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical_expression_context"}]},"loop":{"patterns":[{"begin":"(?<=^|[\\\\&;\\\\s])(for)\\\\s+(.+?)\\\\s+(in)(?=[\\\\&;\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell","patterns":[{"include":"#string"}]},"3":{"name":"keyword.control.shell"}},"end":"(?<=^|[\\\\&;\\\\s])done(?=[\\\\&;\\\\s]|$|\\\\))","endCaptures":{"0":{"name":"keyword.control.shell"}},"name":"meta.scope.for-in-loop.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\\\&;\\\\s])(while|until)(?=[\\\\&;\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"}},"end":"(?<=^|[\\\\&;\\\\s])done(?=[\\\\&;\\\\s]|$|\\\\))","endCaptures":{"0":{"name":"keyword.control.shell"}},"name":"meta.scope.while-loop.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\\\&;\\\\s])(select)\\\\s+((?:[^\\\\\\\\\\\\s]|\\\\\\\\.)+)(?=[\\\\&;\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell"}},"end":"(?<=^|[\\\\&;\\\\s])(done)(?=[\\\\&;\\\\s]|$|\\\\))","endCaptures":{"1":{"name":"keyword.control.shell"}},"name":"meta.scope.select-block.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\\\&;\\\\s])if(?=[\\\\&;\\\\s]|$)","beginCaptures":{"0":{"name":"keyword.control.if.shell"}},"end":"(?<=^|[\\\\&;\\\\s])fi(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"keyword.control.fi.shell"}},"name":"meta.scope.if-block.shell","patterns":[{"include":"#initial_context"}]}]},"math":{"patterns":[{"include":"#variable"},{"match":"\\\\+{1,2}|-{1,2}|[!~]|\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\&*+/^|]=|<<=|>>=","name":"keyword.operator.arithmetic.shell"},{"match":"0[Xx]\\\\h+","name":"constant.numeric.hex.shell"},{"match":";","name":"punctuation.separator.semicolon.range"},{"match":"0\\\\d+","name":"constant.numeric.octal.shell"},{"match":"\\\\d{1,2}#[0-9@-Z_a-z]+","name":"constant.numeric.other.shell"},{"match":"\\\\d+","name":"constant.numeric.integer.shell"},{"match":"(?<!\\\\w)[0-9A-Z_a-z]+(?!\\\\w)","name":"variable.other.normal.shell"}]},"math_operators":{"patterns":[{"match":"\\\\+{1,2}|-{1,2}|[!~]|\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\&*+/^|]=|<<=|>>=","name":"keyword.operator.arithmetic.shell"},{"match":"0[Xx]\\\\h+","name":"constant.numeric.hex.shell"},{"match":"0\\\\d+","name":"constant.numeric.octal.shell"},{"match":"\\\\d{1,2}#[0-9@-Z_a-z]+","name":"constant.numeric.other.shell"},{"match":"\\\\d+","name":"constant.numeric.integer.shell"}]},"misc_ranges":{"patterns":[{"include":"#logical_expression_single"},{"include":"#logical_expression_double"},{"include":"#subshell_dollar"},{"begin":"(?<![^\\\\t ])(\\\\{)(?![$\\\\w])","beginCaptures":{"1":{"name":"punctuation.definition.group.shell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"name":"meta.scope.group.shell","patterns":[{"include":"#initial_context"}]}]},"modified_assignment_statement":{"begin":"(?<=^|[\\\\t \\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\t \\\\&;]|$)","beginCaptures":{"0":{"name":"storage.modifier.$0.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.shell meta.expression.assignment.modified.shell","patterns":[{"match":"(?<!\\\\w)-\\\\w+\\\\b","name":"string.unquoted.argument.shell constant.other.option.shell"},{"include":"#array_value"},{"captures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"},"9":{"name":"constant.numeric.shell constant.numeric.hex.shell"},"10":{"name":"constant.numeric.shell constant.numeric.octal.shell"},"11":{"name":"constant.numeric.shell constant.numeric.other.shell"},"12":{"name":"constant.numeric.shell constant.numeric.decimal.shell"},"13":{"name":"constant.numeric.shell constant.numeric.version.shell"},"14":{"name":"constant.numeric.shell constant.numeric.integer.shell"}},"match":"((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))?(?:(?<=[\\\\t =]|^|[(\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\h+)|(0\\\\d+))|(\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\d+\\\\.\\\\d+))|(-?\\\\d+(?:\\\\.\\\\d+)+))|(-?\\\\d+))(?=[\\\\t ]|$|[);}]))?"},{"include":"#normal_context"}]},"modifiers":{"match":"(?<=^|[\\\\t \\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\t \\\\&;]|$)","name":"storage.modifier.$0.shell"},"normal_assignment_statement":{"begin":"[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))","beginCaptures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.expression.assignment.shell","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#normal_assignment_statement"},{"begin":"(?<=[\\\\t ])(?![\\\\t ]|\\\\w+=)","beginCaptures":{},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.command.env.shell","patterns":[{"include":"#command_name_range"},{"include":"#line_continuation"},{"include":"#option"},{"include":"#argument"},{"include":"#string"}]},{"include":"#simple_unquoted"},{"include":"#normal_context"}]},"normal_context":{"patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#misc_ranges"},{"include":"#boolean"},{"include":"#redirect_number"},{"include":"#numeric_literal"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"},{"include":"#parenthese"}]},"normal_statement":{"begin":"(?!^[\\\\t ]*+$)(?:(?<=(?:^until| until|\\\\tuntil|^while| while|\\\\twhile|^elif| elif|\\\\telif|^else| else|\\\\telse|^then| then|\\\\tthen|^do| do|\\\\tdo|^if| if|\\\\tif) )|(?<=^|[!\\\\&(;\`{|]))[\\\\t ]*+(?!nocorrect\\\\W|nocorrect\\\\$|function\\\\W|function\\\\$|foreach\\\\W|foreach\\\\$|repeat\\\\W|repeat\\\\$|logout\\\\W|logout\\\\$|coproc\\\\W|coproc\\\\$|select\\\\W|select\\\\$|while\\\\W|while\\\\$|pushd\\\\W|pushd\\\\$|until\\\\W|until\\\\$|case\\\\W|case\\\\$|done\\\\W|done\\\\$|elif\\\\W|elif\\\\$|else\\\\W|else\\\\$|esac\\\\W|esac\\\\$|popd\\\\W|popd\\\\$|then\\\\W|then\\\\$|time\\\\W|time\\\\$|for\\\\W|for\\\\$|end\\\\W|end\\\\$|fi\\\\W|fi\\\\$|do\\\\W|do\\\\$|in\\\\W|in\\\\$|if\\\\W|if\\\\$)","beginCaptures":{},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.shell","patterns":[{"include":"#typical_statements"}]},"normal_statement_seperator":{"captures":{"1":{"name":"punctuation.terminator.statement.semicolon.shell"},"2":{"name":"punctuation.separator.statement.and.shell"},"3":{"name":"punctuation.separator.statement.or.shell"},"4":{"name":"punctuation.separator.statement.background.shell"}},"match":"(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&)"},"numeric_literal":{"captures":{"1":{"name":"constant.numeric.shell constant.numeric.hex.shell"},"2":{"name":"constant.numeric.shell constant.numeric.octal.shell"},"3":{"name":"constant.numeric.shell constant.numeric.other.shell"},"4":{"name":"constant.numeric.shell constant.numeric.decimal.shell"},"5":{"name":"constant.numeric.shell constant.numeric.version.shell"},"6":{"name":"constant.numeric.shell constant.numeric.integer.shell"}},"match":"(?<=[\\\\t =]|^|[(\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\h+)|(0\\\\d+))|(\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\d+\\\\.\\\\d+))|(-?\\\\d+(?:\\\\.\\\\d+)+))|(-?\\\\d+))(?=[\\\\t ]|$|[);}])"},"option":{"begin":"[\\\\t ]++(-)((?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;]))","beginCaptures":{"1":{"name":"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{"name":"string.unquoted.argument.shell constant.other.option.shell"}},"contentName":"string.unquoted.argument constant.other.option","end":"(?=[\\\\t ])|(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"patterns":[{"include":"#option_context"}]},"option_context":{"patterns":[{"include":"#misc_ranges"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"}]},"parenthese":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parenthese.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parenthese.shell"}},"name":"meta.parenthese.group.shell","patterns":[{"include":"#initial_context"}]}]},"pathname":{"patterns":[{"match":"(?<=[:=\\\\s]|^)~","name":"keyword.operator.tilde.shell"},{"match":"[*?]","name":"keyword.operator.glob.shell"},{"begin":"([!*+?@])(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.extglob.shell"},"2":{"name":"punctuation.definition.extglob.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.extglob.shell"}},"name":"meta.structure.extglob.shell","patterns":[{"include":"#initial_context"}]}]},"pipeline":{"patterns":[{"match":"(?<=^|[\\\\&;\\\\s])(time)(?=[\\\\&;\\\\s]|$)","name":"keyword.other.shell"},{"match":"[!|]","name":"keyword.operator.pipe.shell"}]},"redirect_fix":{"captures":{"1":{"name":"keyword.operator.redirect.shell"},"2":{"name":"string.unquoted.argument.shell"}},"match":"(>>?)[\\\\t ]*+([^\\\\t\\\\n \\"$\\\\&-);<>\\\\\\\\\`|]+)"},"redirect_number":{"captures":{"1":{"name":"keyword.operator.redirect.stdout.shell"},"2":{"name":"keyword.operator.redirect.stderr.shell"},"3":{"name":"keyword.operator.redirect.$3.shell"}},"match":"(?<=[\\\\t ])(?:(1)|(2)|(\\\\d+))(?=>)"},"redirection":{"patterns":[{"begin":"[<>]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.interpolated.process-substitution.shell","patterns":[{"include":"#initial_context"}]},{"match":"(?<![<>])(&>|\\\\d*>&\\\\d*|\\\\d*(>>|[<>])|\\\\d*<&|\\\\d*<>)(?![<>])","name":"keyword.operator.redirect.shell"}]},"regex_comparison":{"match":"=~","name":"keyword.operator.logical.regex.shell"},"regexp":{"patterns":[{"match":".+"}]},"simple_options":{"captures":{"0":{"patterns":[{"captures":{"1":{"name":"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{"name":"string.unquoted.argument.shell constant.other.option.shell"}},"match":"[\\\\t ]++(-)(\\\\w+)"}]}},"match":"(?:[\\\\t ]++-\\\\w+)*"},"simple_unquoted":{"match":"[^\\\\t\\\\n \\"$\\\\&-);<>\\\\\\\\\`|]","name":"string.unquoted.shell"},"special_expansion":{"match":"!|:[-=?]?|[*@]|##?|%%|[%/]","name":"keyword.operator.expansion.shell"},"start_of_command":{"match":"[\\\\t ]*+(?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;])(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$)(?!\\\\\\\\\\\\n?$)"},"string":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.shell"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.single.shell"},{"begin":"\\\\$?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.double.shell","patterns":[{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},{"begin":"\\\\$'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.single.dollar.shell","patterns":[{"match":"\\\\\\\\['\\\\\\\\abefnrtv]","name":"constant.character.escape.ansi-c.shell"},{"match":"\\\\\\\\[0-9]{3}\\"","name":"constant.character.escape.octal.shell"},{"match":"\\\\\\\\x\\\\h{2}\\"","name":"constant.character.escape.hex.shell"},{"match":"\\\\\\\\c.\\"","name":"constant.character.escape.control-char.shell"}]}]},"subshell_dollar":{"patterns":[{"begin":"\\\\$\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.single.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.subshell.single.shell"}},"name":"meta.scope.subshell","patterns":[{"include":"#parenthese"},{"include":"#initial_context"}]}]},"support":{"patterns":[{"match":"(?<=^|[\\\\&;\\\\s])[.:](?=[\\\\&;\\\\s]|$)","name":"support.function.builtin.shell"}]},"typical_statements":{"patterns":[{"include":"#assignment_statement"},{"include":"#case_statement"},{"include":"#for_statement"},{"include":"#while_statement"},{"include":"#function_definition"},{"include":"#command_statement"},{"include":"#line_continuation"},{"include":"#arithmetic_double"},{"include":"#normal_context"}]},"variable":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.all.shell"},"2":{"name":"variable.parameter.positional.all.shell"}},"match":"(\\\\$)(@(?!\\\\w))"},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{"name":"variable.parameter.positional.shell"}},"match":"(\\\\$)([0-9](?!\\\\w))"},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.language.special.shell"},"2":{"name":"variable.language.special.shell"}},"match":"(\\\\$)([-!#$*0?_](?!\\\\w))"},{"begin":"(\\\\$)(\\\\{)[\\\\t ]*+(?=\\\\d)","beginCaptures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{"name":"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},"contentName":"meta.parameter-expansion","end":"}","endCaptures":{"0":{"name":"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},"patterns":[{"include":"#special_expansion"},{"include":"#array_access_inline"},{"match":"[0-9]+","name":"variable.parameter.positional.shell"},{"match":"(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)","name":"variable.other.normal.shell"},{"include":"#variable"},{"include":"#string"}]},{"begin":"(\\\\$)(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.variable.shell"},"2":{"name":"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell"}},"contentName":"meta.parameter-expansion","end":"}","endCaptures":{"0":{"name":"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell"}},"patterns":[{"include":"#special_expansion"},{"include":"#array_access_inline"},{"match":"(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)","name":"variable.other.normal.shell"},{"include":"#variable"},{"include":"#string"}]},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.other.normal.shell"},"2":{"name":"variable.other.normal.shell"}},"match":"(\\\\$)(\\\\w+(?!\\\\w))"}]},"while_statement":{"patterns":[{"begin":"\\\\b(while)\\\\b","beginCaptures":{"1":{"name":"keyword.control.while.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.while.shell","patterns":[{"include":"#line_continuation"},{"include":"#math_operators"},{"include":"#option"},{"include":"#simple_unquoted"},{"include":"#normal_context"},{"include":"#string"}]}]}},"scopeName":"source.shell","aliases":["bash","sh","shell","zsh"]}`)),e=[n],t=Object.freeze(Object.defineProperty({__proto__:null,default:e},Symbol.toStringTag,{value:"Module"})),a=Object.freeze(Object.defineProperty({__proto__:null,default:e},Symbol.toStringTag,{value:"Module"}));export{a,t as b,e as s};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/skills-panel-WDUfIwnI.js","assets/main-B_dlfHME.js","assets/button-Dg7VFQQn.js","assets/tabs-B0cro1hL.js","assets/useControlled-Dscz_s4f.js","assets/useButton-Cbl_9oFG.js","assets/useCompositeItem-BDAzTxVe.js","assets/DirectionContext-BdX86BHP.js","assets/owner-CpRnf1fI.js","assets/composite-DBl8R3ae.js","assets/CSPContext-Bq8j4nl9.js"])))=>i.map(i=>d[i]);
2
+ import{j as e,r as t,_ as r}from"./main-B_dlfHME.js";const l=t.lazy(()=>r(()=>import("./skills-panel-WDUfIwnI.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])).then(s=>({default:s.SkillsPanel})));function a(){return e.jsx(t.Suspense,{fallback:e.jsx("div",{className:"flex h-screen items-center justify-center text-primary-500 text-sm",children:"Loading…"}),children:e.jsx(l,{})})}export{a as component};
@@ -1,5 +1,5 @@
1
- import{r as o,j as e,L as H}from"./main-B3N0eQFg.js";import{H as m,C as W,r as y,E as D,G as A,K as E,J as I,L as R,A as _,B as J,N as F}from"./button-nDcsaNPl.js";import{T as K,a as Q,b as k}from"./tabs-DvPgTz5I.js";import"./useControlled-BhUuiHAm.js";import"./useButton-Bnnac1eR.js";import"./useCompositeItem-BgiEMKAt.js";import"./DirectionContext-DXtY05YF.js";import"./CSPContext-EgWK8bIJ.js";async function v(s){const n=await fetch(s);if(!n.ok)throw new Error(`HTTP ${n.status}`);const r=await n.json();if(!r.ok)throw new Error(r.error||"Unknown error");return r.skills}function b(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=installed");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function G(s,n){const[r,l]=o.useState([]),[c,a]=o.useState(!0),[i,t]=o.useState(null);return o.useEffect(()=>{let x=!1;return a(!0),t(null),v(`/api/skills?action=explore&sort=${s}&limit=${n}`).then(d=>{x||l(d)}).catch(d=>{x||t(d instanceof Error?d.message:String(d))}).finally(()=>{x||a(!1)}),()=>{x=!0}},[s,n]),{skills:r,loading:c,error:i}}function Z(s){const[n,r]=o.useState([]),[l,c]=o.useState(!1),[a,i]=o.useState(null),t=o.useRef(null);return o.useEffect(()=>{if(t.current&&clearTimeout(t.current),!s.trim()){r([]),c(!1);return}return c(!0),t.current=setTimeout(()=>{v(`/api/skills?action=search&q=${encodeURIComponent(s)}&limit=10`).then(r).catch(x=>i(x instanceof Error?x.message:String(x))).finally(()=>c(!1))},400),()=>{t.current&&clearTimeout(t.current)}},[s]),{skills:n,loading:l,error:a}}function V(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=my-skills");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function q(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=recommended");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function M(){const[s,n]=o.useState(null),[r,l]=o.useState(null);return{install:o.useCallback(async a=>{n(a),l(null);try{const t=await(await fetch("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",slug:a})})).json();if(!t.ok)throw new Error(t.error||"Install failed")}catch(i){throw l(i instanceof Error?i.message:String(i)),i}finally{n(null)}},[]),installing:s,error:r}}function X(){const[s,n]=o.useState(null),[r,l]=o.useState(null);return{update:o.useCallback(async a=>{n(a),l(null);try{const t=await(await fetch("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"update",slug:a})})).json();if(!t.ok)throw new Error(t.error||"Update failed")}catch(i){throw l(i instanceof Error?i.message:String(i)),i}finally{n(null)}},[]),updating:s,error:r}}const Y=new Set(["openclaw","clawhub","anthropic","robbyczgw-cla"]),ee=100;function U(s,n){if(n)return{type:"installed",label:"Installed"};const r=s.publisher||s.author||"",l=s.stats?.downloads||0;return Y.has(r.toLowerCase())||l>=ee?{type:"verified",label:"Verified"}:{type:"community",label:"Community"}}function $({type:s,label:n}){const r={verified:"bg-emerald-50 text-emerald-600 border-emerald-100",community:"bg-primary-50 text-primary-500 border-primary-100",installed:"bg-sky-50 text-sky-600 border-sky-100"};return e.jsxs("span",{className:`inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] font-medium rounded-full border ${r[s]}`,title:`${n} Skill`,children:[e.jsx(m,{icon:s==="installed"?I:F,size:10,strokeWidth:2}),n]})}function B({skill:s,installed:n,installing:r,onInstall:l,onUpdate:c,updating:a,showUpdate:i,onClick:t}){const x=s.slug||"",d=s.displayName||x,p=s.summary,h=s.version||s.latestVersion?.version||"",f=s.stats?.downloads,j=U(s,n);return e.jsxs("div",{className:`
1
+ import{r as o,j as e,L as H}from"./main-B_dlfHME.js";import{H as m,r as W,h as f,j as D,k as A,y as E,J as I,A as R,l as _,B as J,m as F}from"./button-Dg7VFQQn.js";import{T as K,a as Q,b as k}from"./tabs-B0cro1hL.js";import"./useControlled-Dscz_s4f.js";import"./useButton-Cbl_9oFG.js";import"./useCompositeItem-BDAzTxVe.js";import"./DirectionContext-BdX86BHP.js";import"./owner-CpRnf1fI.js";import"./composite-DBl8R3ae.js";import"./CSPContext-Bq8j4nl9.js";async function v(s){const n=await fetch(s);if(!n.ok)throw new Error(`HTTP ${n.status}`);const r=await n.json();if(!r.ok)throw new Error(r.error||"Unknown error");return r.skills}function b(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=installed");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function Z(s,n){const[r,l]=o.useState([]),[c,a]=o.useState(!0),[i,t]=o.useState(null);return o.useEffect(()=>{let x=!1;return a(!0),t(null),v(`/api/skills?action=explore&sort=${s}&limit=${n}`).then(d=>{x||l(d)}).catch(d=>{x||t(d instanceof Error?d.message:String(d))}).finally(()=>{x||a(!1)}),()=>{x=!0}},[s,n]),{skills:r,loading:c,error:i}}function q(s){const[n,r]=o.useState([]),[l,c]=o.useState(!1),[a,i]=o.useState(null),t=o.useRef(null);return o.useEffect(()=>{if(t.current&&clearTimeout(t.current),!s.trim()){r([]),c(!1);return}return c(!0),t.current=setTimeout(()=>{v(`/api/skills?action=search&q=${encodeURIComponent(s)}&limit=10`).then(r).catch(x=>i(x instanceof Error?x.message:String(x))).finally(()=>c(!1))},400),()=>{t.current&&clearTimeout(t.current)}},[s]),{skills:n,loading:l,error:a}}function V(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=my-skills");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function G(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=recommended");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function M(){const[s,n]=o.useState(null),[r,l]=o.useState(null);return{install:o.useCallback(async a=>{n(a),l(null);try{const t=await(await fetch("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",slug:a})})).json();if(!t.ok)throw new Error(t.error||"Install failed")}catch(i){throw l(i instanceof Error?i.message:String(i)),i}finally{n(null)}},[]),installing:s,error:r}}function X(){const[s,n]=o.useState(null),[r,l]=o.useState(null);return{update:o.useCallback(async a=>{n(a),l(null);try{const t=await(await fetch("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"update",slug:a})})).json();if(!t.ok)throw new Error(t.error||"Update failed")}catch(i){throw l(i instanceof Error?i.message:String(i)),i}finally{n(null)}},[]),updating:s,error:r}}const Y=new Set(["openclaw","clawhub","anthropic","robbyczgw-cla"]),ee=100;function U(s,n){if(n)return{type:"installed",label:"Installed"};const r=s.publisher||s.author||"",l=s.stats?.downloads||0;return Y.has(r.toLowerCase())||l>=ee?{type:"verified",label:"Verified"}:{type:"community",label:"Community"}}function $({type:s,label:n}){const r={verified:"bg-emerald-50 text-emerald-600 border-emerald-100",community:"bg-primary-50 text-primary-500 border-primary-100",installed:"bg-sky-50 text-sky-600 border-sky-100"};return e.jsxs("span",{className:`inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] font-medium rounded-full border ${r[s]}`,title:`${n} Skill`,children:[e.jsx(m,{icon:s==="installed"?I:F,size:10,strokeWidth:2}),n]})}function B({skill:s,installed:n,installing:r,onInstall:l,onUpdate:c,updating:a,showUpdate:i,onClick:t}){const x=s.slug||"",d=s.displayName||x,p=s.summary,h=s.version||s.latestVersion?.version||"",y=s.stats?.downloads,j=U(s,n);return e.jsxs("div",{className:`
2
2
  group rounded-lg border border-primary-100 bg-surface p-4
3
3
  transition-all duration-150 ease-out
4
4
  ${t?"cursor-pointer hover:border-primary-200 hover:shadow-sm":""}
5
- `,onClick:t,children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 mb-2",children:[e.jsx("h4",{className:"text-[13px] font-semibold text-primary-900 leading-tight truncate",children:d}),h&&e.jsx("span",{className:"shrink-0 text-[10px] font-mono text-primary-400",children:h})]}),p&&e.jsx("p",{className:"text-xs text-primary-500 leading-relaxed line-clamp-2 mb-3",children:p}),e.jsxs("div",{className:"flex items-center justify-between pt-2 border-t border-primary-50",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx($,{...j}),f!==void 0&&f>0&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:A,size:11,strokeWidth:1.5}),f.toLocaleString()]})]}),e.jsxs("div",{className:"flex gap-2",onClick:S=>S.stopPropagation(),children:[i&&c&&e.jsx("button",{onClick:c,disabled:!!a,className:"text-[11px] font-medium text-primary-500 hover:text-primary-700 transition-colors duration-150 disabled:opacity-50",children:a?e.jsx(m,{icon:y,size:12,className:"animate-spin"}):"Update"}),!n&&e.jsx("button",{onClick:l,disabled:r,className:"text-[11px] font-medium text-primary-600 hover:text-primary-800 transition-colors duration-150 disabled:opacity-50",children:r?e.jsx(m,{icon:y,size:12,className:"animate-spin"}):"Install"})]})]})]})}function z(s){return s?new Date(s).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):""}function se(s){return s>=1e3?`${(s/1e3).toFixed(1)}k`:s.toString()}function te({skill:s,installed:n,installing:r,onInstall:l,onBack:c}){const a=s.slug||"",i=s.displayName||a,t=s.version||s.latestVersion?.version||"",x=U(s,n),d=s.stats?.downloads||0,p=s.tags?Array.isArray(s.tags)?s.tags:Object.keys(s.tags).filter(h=>h!=="latest"):[];return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("button",{onClick:c,className:"inline-flex items-center gap-1.5 text-xs font-medium text-primary-500 hover:text-primary-700 transition-colors duration-150",children:[e.jsx(m,{icon:W,size:14,strokeWidth:2}),"Back to browse"]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("h3",{className:"text-lg font-semibold text-primary-900 leading-tight",children:i}),t&&e.jsxs("span",{className:"text-xs font-mono text-primary-400",children:["v",t]})]}),e.jsx($,{...x})]}),s.summary&&e.jsx("p",{className:"text-sm text-primary-600 leading-relaxed",children:s.summary})]}),e.jsxs("div",{className:"flex items-center gap-6 py-4 border-y border-primary-100",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:se(d)}),e.jsx("div",{className:"text-[11px] text-primary-400 uppercase tracking-wide",children:"Downloads"})]}),s.stats?.versions!==void 0&&e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:s.stats.versions}),e.jsx("div",{className:"text-[11px] text-primary-400 uppercase tracking-wide",children:"Versions"})]}),s.stats?.stars!==void 0&&s.stats.stars>0&&e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:s.stats.stars}),e.jsx("div",{className:"text-[11px] text-primary-400 uppercase tracking-wide",children:"Stars"})]})]}),s.latestVersion?.changelog&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h4",{className:"text-xs font-semibold text-primary-700 uppercase tracking-wide",children:"Latest Release"}),s.latestVersion.createdAt&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:R,size:11,strokeWidth:1.5}),z(s.latestVersion.createdAt)]})]}),e.jsx("p",{className:"text-sm text-primary-600 leading-relaxed",children:s.latestVersion.changelog})]}),p.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1.5",children:p.map(h=>e.jsx("span",{className:"text-[10px] font-medium text-primary-500 bg-primary-50 px-2 py-1 rounded",children:h},h))}),(s.createdAt||s.updatedAt)&&e.jsxs("div",{className:"text-[11px] text-primary-400 space-y-0.5",children:[s.createdAt&&e.jsxs("div",{children:["Published ",z(s.createdAt)]}),s.updatedAt&&e.jsxs("div",{children:["Last updated ",z(s.updatedAt)]})]}),e.jsxs("div",{className:"flex gap-3 pt-2",children:[n?e.jsxs("div",{className:"flex-1 flex items-center justify-center gap-2 py-2.5 rounded-lg bg-emerald-50 text-emerald-600 text-sm font-medium border border-emerald-100",children:[e.jsx(m,{icon:I,size:15,strokeWidth:2}),"Installed"]}):e.jsx(J,{onClick:l,disabled:r,className:"flex-1",size:"sm",children:r?e.jsxs(e.Fragment,{children:[e.jsx(m,{icon:y,size:14,className:"animate-spin mr-1.5"}),"Installing…"]}):"Install Skill"}),e.jsxs("a",{href:`https://clawhub.com/skills/${a}`,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 px-4 py-2 text-sm font-medium text-primary-600 hover:text-primary-800 transition-colors duration-150",children:["View on ClawHub",e.jsx(m,{icon:D,size:14,strokeWidth:1.5})]})]})]})}function ae(){const{skills:s,loading:n,error:r,refresh:l}=b(),{update:c,updating:a}=X(),i=async t=>{try{await c(t),l()}catch{}};return n?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(m,{icon:y,size:18,className:"animate-spin text-primary-300"})}):r?e.jsx("div",{className:"text-sm text-red-500 py-8 text-center",children:r}):s.length===0?e.jsxs("div",{className:"py-12 text-center",children:[e.jsx("p",{className:"text-sm text-primary-400",children:"No skills installed"}),e.jsx("p",{className:"text-xs text-primary-300 mt-1",children:"Browse the catalog to get started"})]}):e.jsx("div",{className:"space-y-3",children:s.map(t=>e.jsx(B,{skill:{slug:t.name,displayName:t.name,version:t.version},installed:!0,installing:!1,onInstall:()=>{},onUpdate:()=>i(t.name),updating:a===t.name,showUpdate:!0},t.name))})}function re(){const{skills:s,loading:n,error:r}=V(),l=o.useMemo(()=>s.reduce((a,i)=>a+(i.stats?.downloads||0),0),[s]),c=o.useMemo(()=>s.reduce((a,i)=>a+(i.stats?.stars||0),0),[s]);return n?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(m,{icon:y,size:18,className:"animate-spin text-primary-300"})}):r?e.jsx("div",{className:"text-sm text-red-500 py-8 text-center",children:r}):s.length===0?e.jsxs("div",{className:"py-12 text-center",children:[e.jsx("p",{className:"text-sm text-primary-400",children:"No skills configured"}),e.jsx("p",{className:"text-xs text-primary-300 mt-1",children:"Add slugs to .clawhub-my-skills.json"})]}):e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-6 py-3 px-4 rounded-lg bg-primary-50/60 border border-primary-100",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:s.length}),e.jsx("div",{className:"text-[10px] text-primary-400 uppercase tracking-wide",children:"Skills"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:l.toLocaleString()}),e.jsx("div",{className:"text-[10px] text-primary-400 uppercase tracking-wide",children:"Downloads"})]}),c>0&&e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:c}),e.jsx("div",{className:"text-[10px] text-primary-400 uppercase tracking-wide",children:"Stars"})]})]}),e.jsx("div",{className:"space-y-2",children:s.map(a=>{const i=a.slug||"",t=a.displayName||i,x=a.version||a.latestVersion?.version||"",d=a.stats?.downloads||0,p=a.stats?.stars||0,h=a.stats?.installsAllTime||a.stats?.installsCurrent||0;return e.jsxs("a",{href:`https://clawhub.com/skills/${i}`,target:"_blank",rel:"noopener noreferrer",className:"group block rounded-lg border border-primary-100 bg-surface p-4 transition-all duration-150 ease-out hover:border-primary-200 hover:shadow-sm",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 mb-1.5",children:[e.jsx("h4",{className:"text-[13px] font-semibold text-primary-900 leading-tight truncate group-hover:text-primary-700 transition-colors duration-150",children:t}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[x&&e.jsx("span",{className:"text-[10px] font-mono text-primary-400",children:x}),e.jsx(m,{icon:D,size:12,strokeWidth:1.5,className:"text-primary-300 opacity-0 group-hover:opacity-100 transition-opacity duration-150"})]})]}),a.summary&&e.jsx("p",{className:"text-xs text-primary-500 leading-relaxed line-clamp-2 mb-3",children:a.summary}),e.jsxs("div",{className:"flex items-center gap-4 pt-2 border-t border-primary-50",children:[e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:A,size:11,strokeWidth:1.5}),d.toLocaleString()]}),p>0&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:E,size:11,strokeWidth:1.5}),p]}),h>0&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:I,size:11,strokeWidth:1.5}),h.toLocaleString()]}),a.updatedAt&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1 ml-auto",children:[e.jsx(m,{icon:R,size:11,strokeWidth:1.5}),z(a.updatedAt)]})]})]},i)})})]})}function ne(){const{skills:s,loading:n,error:r}=q(),{skills:l}=b(),{install:c,installing:a}=M(),i=b().refresh,t=o.useMemo(()=>new Set(l.map(d=>d.name)),[l]),x=async d=>{try{await c(d),i()}catch{}};return n?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(m,{icon:y,size:18,className:"animate-spin text-primary-300"})}):r?e.jsx("div",{className:"text-sm text-red-500 py-8 text-center",children:r}):s.length===0?e.jsx("div",{className:"py-12 text-center",children:e.jsx("p",{className:"text-sm text-primary-400",children:"No recommended skills available"})}):e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-primary-500",children:[e.jsx(m,{icon:E,size:14,strokeWidth:1.5,className:"text-amber-400"}),e.jsx("span",{children:"Curated skills we recommend"})]}),e.jsx("div",{className:"grid gap-3",children:s.map(d=>{const p=d.slug||"",h=d.displayName||p,f=t.has(p)||t.has(h);return e.jsxs("div",{className:"group relative rounded-lg border border-primary-100 bg-surface p-4 transition-all duration-150 ease-out hover:border-primary-200 hover:shadow-sm",children:[e.jsx("div",{className:"absolute -top-1.5 -right-1.5",children:e.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 text-[9px] font-medium rounded-full bg-amber-50 text-amber-600 border border-amber-100",children:[e.jsx(m,{icon:E,size:8,strokeWidth:2}),"Pick"]})}),e.jsxs("div",{className:"flex items-start justify-between gap-3 mb-2",children:[e.jsx("h4",{className:"text-[13px] font-semibold text-primary-900 leading-tight truncate",children:h}),d.version&&e.jsx("span",{className:"shrink-0 text-[10px] font-mono text-primary-400",children:d.version})]}),d.summary&&e.jsx("p",{className:"text-xs text-primary-500 leading-relaxed line-clamp-2 mb-3",children:d.summary}),e.jsxs("div",{className:"flex items-center justify-between pt-2 border-t border-primary-50",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[d.stats?.downloads!==void 0&&d.stats.downloads>0&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:A,size:11,strokeWidth:1.5}),d.stats.downloads.toLocaleString()]}),d.stats?.stars!==void 0&&d.stats.stars>0&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:E,size:11,strokeWidth:1.5}),d.stats.stars]})]}),e.jsx("div",{onClick:j=>j.stopPropagation(),children:f?e.jsxs("span",{className:"text-[11px] font-medium text-emerald-500 flex items-center gap-1",children:[e.jsx(m,{icon:I,size:11,strokeWidth:2}),"Installed"]}):e.jsx("button",{onClick:()=>x(p),disabled:a===p,className:"text-[11px] font-medium text-primary-600 hover:text-primary-800 transition-colors duration-150 disabled:opacity-50",children:a===p?e.jsx(m,{icon:y,size:12,className:"animate-spin"}):"Install"})})]})]},p)})})]})}function ie(s,n){return[...s].sort((r,l)=>n==="downloads"?(l.stats?.downloads||0)-(r.stats?.downloads||0):n==="stars"?(l.stats?.stars||0)-(r.stats?.stars||0):n==="updatedAt"?(l.updatedAt||0)-(r.updatedAt||0):0)}function le(){const[s,n]=o.useState("downloads"),[r,l]=o.useState(""),[c,a]=o.useState(null),i=s==="updatedAt"?"newest":s==="stars"?"trending":"downloads",{skills:t,loading:x,error:d}=G(i,50),{skills:p,loading:h}=Z(r),{skills:f}=b(),{install:j,installing:S}=M(),w=o.useMemo(()=>new Set(f.map(u=>u.name)),[f]),P=b().refresh,L=async u=>{try{await j(u),P()}catch{}},N=r.trim().length>0,T=o.useMemo(()=>N?ie(p,s):t,[N,p,t,s]),O=N?h:x;if(c){const u=c.slug||"",g=c.displayName||u,C=w.has(u)||w.has(g);return e.jsx(te,{skill:c,installed:C,installing:S===u,onInstall:()=>L(u),onBack:()=>a(null)})}return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(m,{icon:_,size:15,strokeWidth:1.5,className:"absolute left-3 top-1/2 -translate-y-1/2 text-primary-300"}),e.jsx("input",{type:"text",value:r,onChange:u=>l(u.target.value),placeholder:"Search skills…",className:"w-full pl-9 pr-3 py-2 text-sm rounded-lg border border-primary-100 bg-surface placeholder:text-primary-300 focus:outline-none focus:border-primary-300 transition-colors duration-150"})]}),e.jsxs("select",{value:s,onChange:u=>n(u.target.value),className:"shrink-0 text-xs text-primary-600 rounded-md border border-primary-100 bg-surface px-2 py-2 focus:outline-none focus:border-primary-300 transition-colors duration-150",children:[e.jsx("option",{value:"downloads",children:"Most Downloads"}),e.jsx("option",{value:"stars",children:"Most Stars"}),e.jsx("option",{value:"updatedAt",children:"Recently Updated"})]})]}),O?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(m,{icon:y,size:18,className:"animate-spin text-primary-300"})}):d&&!N?e.jsx("div",{className:"text-sm text-red-500 py-8 text-center",children:d}):T.length===0?e.jsx("div",{className:"py-12 text-center",children:e.jsx("p",{className:"text-sm text-primary-400",children:N?"No skills found":"No skills available"})}):e.jsx("div",{className:"space-y-3",children:T.map(u=>{const g=u.slug||u.name||"",C=u.displayName||g;return e.jsx(B,{skill:u,installed:w.has(g)||w.has(C),installing:S===g,onInstall:()=>L(g),onClick:()=>a(u)},g)})})]})}function fe(){const[s,n]=o.useState("installed"),{skills:r,loading:l}=V(),c=!l&&r.length>0;return e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:"px-4 pt-4 pb-3 border-b border-primary-100",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx(H,{to:"/chat/$sessionKey",params:{sessionKey:"main"},className:"p-1.5 -ml-1.5 rounded-md text-primary-500 hover:text-primary-700 hover:bg-primary-50 transition-colors duration-150","aria-label":"Back to Chat",children:e.jsx(m,{icon:W,size:18,strokeWidth:2})}),e.jsx("h2",{className:"text-base font-semibold text-primary-900",children:"Skills"})]}),e.jsx(K,{value:s,onValueChange:n,children:e.jsxs(Q,{variant:"default",className:"gap-2 *:data-[slot=tab-indicator]:duration-0",children:[e.jsx(k,{value:"installed",children:e.jsx("span",{className:"text-xs",children:"Installed"})}),c&&e.jsx(k,{value:"my-skills",children:e.jsx("span",{className:"text-xs",children:"My Skills"})}),e.jsx(k,{value:"recommended",children:e.jsx("span",{className:"text-xs",children:"Recommended"})}),e.jsx(k,{value:"browse",children:e.jsx("span",{className:"text-xs",children:"Browse"})})]})})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto px-4 pb-4 pt-4",children:[s==="installed"&&e.jsx(ae,{}),s==="my-skills"&&e.jsx(re,{}),s==="recommended"&&e.jsx(ne,{}),s==="browse"&&e.jsx(le,{})]})]})}export{fe as SkillsPanel};
5
+ `,onClick:t,children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 mb-2",children:[e.jsx("h4",{className:"text-[13px] font-semibold text-primary-900 leading-tight truncate",children:d}),h&&e.jsx("span",{className:"shrink-0 text-[10px] font-mono text-primary-400",children:h})]}),p&&e.jsx("p",{className:"text-xs text-primary-500 leading-relaxed line-clamp-2 mb-3",children:p}),e.jsxs("div",{className:"flex items-center justify-between pt-2 border-t border-primary-50",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx($,{...j}),y!==void 0&&y>0&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:A,size:11,strokeWidth:1.5}),y.toLocaleString()]})]}),e.jsxs("div",{className:"flex gap-2",onClick:S=>S.stopPropagation(),children:[i&&c&&e.jsx("button",{onClick:c,disabled:!!a,className:"text-[11px] font-medium text-primary-500 hover:text-primary-700 transition-colors duration-150 disabled:opacity-50",children:a?e.jsx(m,{icon:f,size:12,className:"animate-spin"}):"Update"}),!n&&e.jsx("button",{onClick:l,disabled:r,className:"text-[11px] font-medium text-primary-600 hover:text-primary-800 transition-colors duration-150 disabled:opacity-50",children:r?e.jsx(m,{icon:f,size:12,className:"animate-spin"}):"Install"})]})]})]})}function z(s){return s?new Date(s).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):""}function se(s){return s>=1e3?`${(s/1e3).toFixed(1)}k`:s.toString()}function te({skill:s,installed:n,installing:r,onInstall:l,onBack:c}){const a=s.slug||"",i=s.displayName||a,t=s.version||s.latestVersion?.version||"",x=U(s,n),d=s.stats?.downloads||0,p=s.tags?Array.isArray(s.tags)?s.tags:Object.keys(s.tags).filter(h=>h!=="latest"):[];return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("button",{onClick:c,className:"inline-flex items-center gap-1.5 text-xs font-medium text-primary-500 hover:text-primary-700 transition-colors duration-150",children:[e.jsx(m,{icon:W,size:14,strokeWidth:2}),"Back to browse"]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("h3",{className:"text-lg font-semibold text-primary-900 leading-tight",children:i}),t&&e.jsxs("span",{className:"text-xs font-mono text-primary-400",children:["v",t]})]}),e.jsx($,{...x})]}),s.summary&&e.jsx("p",{className:"text-sm text-primary-600 leading-relaxed",children:s.summary})]}),e.jsxs("div",{className:"flex items-center gap-6 py-4 border-y border-primary-100",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:se(d)}),e.jsx("div",{className:"text-[11px] text-primary-400 uppercase tracking-wide",children:"Downloads"})]}),s.stats?.versions!==void 0&&e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:s.stats.versions}),e.jsx("div",{className:"text-[11px] text-primary-400 uppercase tracking-wide",children:"Versions"})]}),s.stats?.stars!==void 0&&s.stats.stars>0&&e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:s.stats.stars}),e.jsx("div",{className:"text-[11px] text-primary-400 uppercase tracking-wide",children:"Stars"})]})]}),s.latestVersion?.changelog&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h4",{className:"text-xs font-semibold text-primary-700 uppercase tracking-wide",children:"Latest Release"}),s.latestVersion.createdAt&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:R,size:11,strokeWidth:1.5}),z(s.latestVersion.createdAt)]})]}),e.jsx("p",{className:"text-sm text-primary-600 leading-relaxed",children:s.latestVersion.changelog})]}),p.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1.5",children:p.map(h=>e.jsx("span",{className:"text-[10px] font-medium text-primary-500 bg-primary-50 px-2 py-1 rounded",children:h},h))}),(s.createdAt||s.updatedAt)&&e.jsxs("div",{className:"text-[11px] text-primary-400 space-y-0.5",children:[s.createdAt&&e.jsxs("div",{children:["Published ",z(s.createdAt)]}),s.updatedAt&&e.jsxs("div",{children:["Last updated ",z(s.updatedAt)]})]}),e.jsxs("div",{className:"flex gap-3 pt-2",children:[n?e.jsxs("div",{className:"flex-1 flex items-center justify-center gap-2 py-2.5 rounded-lg bg-emerald-50 text-emerald-600 text-sm font-medium border border-emerald-100",children:[e.jsx(m,{icon:I,size:15,strokeWidth:2}),"Installed"]}):e.jsx(J,{onClick:l,disabled:r,className:"flex-1",size:"sm",children:r?e.jsxs(e.Fragment,{children:[e.jsx(m,{icon:f,size:14,className:"animate-spin mr-1.5"}),"Installing…"]}):"Install Skill"}),e.jsxs("a",{href:`https://clawhub.com/skills/${a}`,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 px-4 py-2 text-sm font-medium text-primary-600 hover:text-primary-800 transition-colors duration-150",children:["View on ClawHub",e.jsx(m,{icon:D,size:14,strokeWidth:1.5})]})]})]})}function ae(){const{skills:s,loading:n,error:r,refresh:l}=b(),{update:c,updating:a}=X(),i=async t=>{try{await c(t),l()}catch{}};return n?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(m,{icon:f,size:18,className:"animate-spin text-primary-300"})}):r?e.jsx("div",{className:"text-sm text-red-500 py-8 text-center",children:r}):s.length===0?e.jsxs("div",{className:"py-12 text-center",children:[e.jsx("p",{className:"text-sm text-primary-400",children:"No skills installed"}),e.jsx("p",{className:"text-xs text-primary-300 mt-1",children:"Browse the catalog to get started"})]}):e.jsx("div",{className:"space-y-3",children:s.map(t=>e.jsx(B,{skill:{slug:t.name,displayName:t.name,version:t.version},installed:!0,installing:!1,onInstall:()=>{},onUpdate:()=>i(t.name),updating:a===t.name,showUpdate:!0},t.name))})}function re(){const{skills:s,loading:n,error:r}=V(),l=o.useMemo(()=>s.reduce((a,i)=>a+(i.stats?.downloads||0),0),[s]),c=o.useMemo(()=>s.reduce((a,i)=>a+(i.stats?.stars||0),0),[s]);return n?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(m,{icon:f,size:18,className:"animate-spin text-primary-300"})}):r?e.jsx("div",{className:"text-sm text-red-500 py-8 text-center",children:r}):s.length===0?e.jsxs("div",{className:"py-12 text-center",children:[e.jsx("p",{className:"text-sm text-primary-400",children:"No skills configured"}),e.jsx("p",{className:"text-xs text-primary-300 mt-1",children:"Add slugs to .clawhub-my-skills.json"})]}):e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-6 py-3 px-4 rounded-lg bg-primary-50/60 border border-primary-100",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:s.length}),e.jsx("div",{className:"text-[10px] text-primary-400 uppercase tracking-wide",children:"Skills"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:l.toLocaleString()}),e.jsx("div",{className:"text-[10px] text-primary-400 uppercase tracking-wide",children:"Downloads"})]}),c>0&&e.jsxs("div",{children:[e.jsx("div",{className:"text-lg font-semibold text-primary-900",children:c}),e.jsx("div",{className:"text-[10px] text-primary-400 uppercase tracking-wide",children:"Stars"})]})]}),e.jsx("div",{className:"space-y-2",children:s.map(a=>{const i=a.slug||"",t=a.displayName||i,x=a.version||a.latestVersion?.version||"",d=a.stats?.downloads||0,p=a.stats?.stars||0,h=a.stats?.installsAllTime||a.stats?.installsCurrent||0;return e.jsxs("a",{href:`https://clawhub.com/skills/${i}`,target:"_blank",rel:"noopener noreferrer",className:"group block rounded-lg border border-primary-100 bg-surface p-4 transition-all duration-150 ease-out hover:border-primary-200 hover:shadow-sm",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 mb-1.5",children:[e.jsx("h4",{className:"text-[13px] font-semibold text-primary-900 leading-tight truncate group-hover:text-primary-700 transition-colors duration-150",children:t}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[x&&e.jsx("span",{className:"text-[10px] font-mono text-primary-400",children:x}),e.jsx(m,{icon:D,size:12,strokeWidth:1.5,className:"text-primary-300 opacity-0 group-hover:opacity-100 transition-opacity duration-150"})]})]}),a.summary&&e.jsx("p",{className:"text-xs text-primary-500 leading-relaxed line-clamp-2 mb-3",children:a.summary}),e.jsxs("div",{className:"flex items-center gap-4 pt-2 border-t border-primary-50",children:[e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:A,size:11,strokeWidth:1.5}),d.toLocaleString()]}),p>0&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:E,size:11,strokeWidth:1.5}),p]}),h>0&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:I,size:11,strokeWidth:1.5}),h.toLocaleString()]}),a.updatedAt&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1 ml-auto",children:[e.jsx(m,{icon:R,size:11,strokeWidth:1.5}),z(a.updatedAt)]})]})]},i)})})]})}function ne(){const{skills:s,loading:n,error:r}=G(),{skills:l}=b(),{install:c,installing:a}=M(),i=b().refresh,t=o.useMemo(()=>new Set(l.map(d=>d.name)),[l]),x=async d=>{try{await c(d),i()}catch{}};return n?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(m,{icon:f,size:18,className:"animate-spin text-primary-300"})}):r?e.jsx("div",{className:"text-sm text-red-500 py-8 text-center",children:r}):s.length===0?e.jsx("div",{className:"py-12 text-center",children:e.jsx("p",{className:"text-sm text-primary-400",children:"No recommended skills available"})}):e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-primary-500",children:[e.jsx(m,{icon:E,size:14,strokeWidth:1.5,className:"text-amber-400"}),e.jsx("span",{children:"Curated skills we recommend"})]}),e.jsx("div",{className:"grid gap-3",children:s.map(d=>{const p=d.slug||"",h=d.displayName||p,y=t.has(p)||t.has(h);return e.jsxs("div",{className:"group relative rounded-lg border border-primary-100 bg-surface p-4 transition-all duration-150 ease-out hover:border-primary-200 hover:shadow-sm",children:[e.jsx("div",{className:"absolute -top-1.5 -right-1.5",children:e.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 text-[9px] font-medium rounded-full bg-amber-50 text-amber-600 border border-amber-100",children:[e.jsx(m,{icon:E,size:8,strokeWidth:2}),"Pick"]})}),e.jsxs("div",{className:"flex items-start justify-between gap-3 mb-2",children:[e.jsx("h4",{className:"text-[13px] font-semibold text-primary-900 leading-tight truncate",children:h}),d.version&&e.jsx("span",{className:"shrink-0 text-[10px] font-mono text-primary-400",children:d.version})]}),d.summary&&e.jsx("p",{className:"text-xs text-primary-500 leading-relaxed line-clamp-2 mb-3",children:d.summary}),e.jsxs("div",{className:"flex items-center justify-between pt-2 border-t border-primary-50",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[d.stats?.downloads!==void 0&&d.stats.downloads>0&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:A,size:11,strokeWidth:1.5}),d.stats.downloads.toLocaleString()]}),d.stats?.stars!==void 0&&d.stats.stars>0&&e.jsxs("span",{className:"text-[11px] text-primary-400 flex items-center gap-1",children:[e.jsx(m,{icon:E,size:11,strokeWidth:1.5}),d.stats.stars]})]}),e.jsx("div",{onClick:j=>j.stopPropagation(),children:y?e.jsxs("span",{className:"text-[11px] font-medium text-emerald-500 flex items-center gap-1",children:[e.jsx(m,{icon:I,size:11,strokeWidth:2}),"Installed"]}):e.jsx("button",{onClick:()=>x(p),disabled:a===p,className:"text-[11px] font-medium text-primary-600 hover:text-primary-800 transition-colors duration-150 disabled:opacity-50",children:a===p?e.jsx(m,{icon:f,size:12,className:"animate-spin"}):"Install"})})]})]},p)})})]})}function ie(s,n){return[...s].sort((r,l)=>n==="downloads"?(l.stats?.downloads||0)-(r.stats?.downloads||0):n==="stars"?(l.stats?.stars||0)-(r.stats?.stars||0):n==="updatedAt"?(l.updatedAt||0)-(r.updatedAt||0):0)}function le(){const[s,n]=o.useState("downloads"),[r,l]=o.useState(""),[c,a]=o.useState(null),i=s==="updatedAt"?"newest":s==="stars"?"trending":"downloads",{skills:t,loading:x,error:d}=Z(i,50),{skills:p,loading:h}=q(r),{skills:y}=b(),{install:j,installing:S}=M(),w=o.useMemo(()=>new Set(y.map(u=>u.name)),[y]),P=b().refresh,T=async u=>{try{await j(u),P()}catch{}},N=r.trim().length>0,L=o.useMemo(()=>N?ie(p,s):t,[N,p,t,s]),O=N?h:x;if(c){const u=c.slug||"",g=c.displayName||u,C=w.has(u)||w.has(g);return e.jsx(te,{skill:c,installed:C,installing:S===u,onInstall:()=>T(u),onBack:()=>a(null)})}return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(m,{icon:_,size:15,strokeWidth:1.5,className:"absolute left-3 top-1/2 -translate-y-1/2 text-primary-300"}),e.jsx("input",{type:"text",value:r,onChange:u=>l(u.target.value),placeholder:"Search skills…",className:"w-full pl-9 pr-3 py-2 text-sm rounded-lg border border-primary-100 bg-surface placeholder:text-primary-300 focus:outline-none focus:border-primary-300 transition-colors duration-150"})]}),e.jsxs("select",{value:s,onChange:u=>n(u.target.value),className:"shrink-0 text-xs text-primary-600 rounded-md border border-primary-100 bg-surface px-2 py-2 focus:outline-none focus:border-primary-300 transition-colors duration-150",children:[e.jsx("option",{value:"downloads",children:"Most Downloads"}),e.jsx("option",{value:"stars",children:"Most Stars"}),e.jsx("option",{value:"updatedAt",children:"Recently Updated"})]})]}),O?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(m,{icon:f,size:18,className:"animate-spin text-primary-300"})}):d&&!N?e.jsx("div",{className:"text-sm text-red-500 py-8 text-center",children:d}):L.length===0?e.jsx("div",{className:"py-12 text-center",children:e.jsx("p",{className:"text-sm text-primary-400",children:N?"No skills found":"No skills available"})}):e.jsx("div",{className:"space-y-3",children:L.map(u=>{const g=u.slug||u.name||"",C=u.displayName||g;return e.jsx(B,{skill:u,installed:w.has(g)||w.has(C),installing:S===g,onInstall:()=>T(g),onClick:()=>a(u)},g)})})]})}function ge(){const[s,n]=o.useState("installed"),{skills:r,loading:l}=V(),c=!l&&r.length>0;return e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:"px-4 pt-4 pb-3 border-b border-primary-100",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx(H,{to:"/chat/$sessionKey",params:{sessionKey:"main"},className:"p-1.5 -ml-1.5 rounded-md text-primary-500 hover:text-primary-700 hover:bg-primary-50 transition-colors duration-150","aria-label":"Back to Chat",children:e.jsx(m,{icon:W,size:18,strokeWidth:2})}),e.jsx("h2",{className:"text-base font-semibold text-primary-900",children:"Skills"})]}),e.jsx(K,{value:s,onValueChange:n,children:e.jsxs(Q,{variant:"default",className:"gap-2 *:data-[slot=tab-indicator]:duration-0",children:[e.jsx(k,{value:"installed",children:e.jsx("span",{className:"text-xs",children:"Installed"})}),c&&e.jsx(k,{value:"my-skills",children:e.jsx("span",{className:"text-xs",children:"My Skills"})}),e.jsx(k,{value:"recommended",children:e.jsx("span",{className:"text-xs",children:"Recommended"})}),e.jsx(k,{value:"browse",children:e.jsx("span",{className:"text-xs",children:"Browse"})})]})})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto px-4 pb-4 pt-4",children:[s==="installed"&&e.jsx(ae,{}),s==="my-skills"&&e.jsx(re,{}),s==="recommended"&&e.jsx(ne,{}),s==="browse"&&e.jsx(le,{})]})]})}export{ge as SkillsPanel};
@@ -0,0 +1 @@
1
+ const e=Object.freeze(JSON.parse('{"displayName":"SQL","name":"sql","patterns":[{"match":"((?<!@)@)\\\\b(\\\\w+)\\\\b","name":"text.variable"},{"match":"(\\\\[)[^]]*(])","name":"text.bracketed"},{"include":"#comments"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.sql"},"5":{"name":"entity.name.function.sql"}},"match":"(?i:^\\\\s*(create(?:\\\\s+or\\\\s+replace)?)\\\\s+(aggregate|conversion|database|domain|function|group|(unique\\\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\s+)([\\"\'`]?)(\\\\w+)\\\\4","name":"meta.create.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.sql"}},"match":"(?i:^\\\\s*(drop)\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))","name":"meta.drop.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.table.sql"},"3":{"name":"entity.name.function.sql"},"4":{"name":"keyword.other.cascade.sql"}},"match":"(?i:\\\\s*(drop)\\\\s+(table)\\\\s+(\\\\w+)(\\\\s+cascade)?\\\\b)","name":"meta.drop.sql"},{"captures":{"1":{"name":"keyword.other.create.sql"},"2":{"name":"keyword.other.table.sql"}},"match":"(?i:^\\\\s*(alter)\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|proc(edure)?|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\s+)","name":"meta.alter.sql"},{"captures":{"1":{"name":"storage.type.sql"},"2":{"name":"storage.type.sql"},"3":{"name":"constant.numeric.sql"},"4":{"name":"storage.type.sql"},"5":{"name":"constant.numeric.sql"},"6":{"name":"storage.type.sql"},"7":{"name":"constant.numeric.sql"},"8":{"name":"constant.numeric.sql"},"9":{"name":"storage.type.sql"},"10":{"name":"constant.numeric.sql"},"11":{"name":"storage.type.sql"},"12":{"name":"storage.type.sql"},"13":{"name":"storage.type.sql"},"14":{"name":"constant.numeric.sql"},"15":{"name":"storage.type.sql"}},"match":"(?i)\\\\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\\\b|\\\\b(bit\\\\svarying|character\\\\s(?:varying)?|tinyint|var\\\\schar|float|interval)\\\\((\\\\d+)\\\\)|\\\\b(char|number|varchar\\\\d?)\\\\b(?:\\\\((\\\\d+)\\\\))?|\\\\b(numeric|decimal)\\\\b(?:\\\\((\\\\d+),(\\\\d+)\\\\))?|\\\\b(times?)\\\\b(?:\\\\((\\\\d+)\\\\))?(\\\\swith(?:out)?\\\\stime\\\\szone\\\\b)?|\\\\b(timestamp)(s|tz)?\\\\b(?:\\\\((\\\\d+)\\\\))?(\\\\s(with(?:|out))\\\\stime\\\\szone\\\\b)?"},{"match":"(?i:\\\\b((?:primary|foreign)\\\\s+key|references|on\\\\s+(delete|update)(\\\\s+cascade)?|nocheck|check|constraint|collate|default)\\\\b)","name":"storage.modifier.sql"},{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.sql"},{"match":"(?i:\\\\b(select(\\\\s+(all|distinct))?|insert\\\\s+(ignore\\\\s+)?into|update|delete|from|set|where|group\\\\s+by|or|like|and|union(\\\\s+all)?|having|order\\\\s+by|limit|cross\\\\s+join|join|straight_join|(inner|(left|right|full)(\\\\s+outer)?)\\\\s+join|natural(\\\\s+(inner|(left|right|full)(\\\\s+outer)?))?\\\\s+join)\\\\b)","name":"keyword.other.DML.sql"},{"match":"(?i:\\\\b(on|off|((is\\\\s+)?not\\\\s+)?null)\\\\b)","name":"keyword.other.DDL.create.II.sql"},{"match":"(?i:\\\\bvalues\\\\b)","name":"keyword.other.DML.II.sql"},{"match":"(?i:\\\\b(begin(\\\\s+work)?|start\\\\s+transaction|commit(\\\\s+work)?|rollback(\\\\s+work)?)\\\\b)","name":"keyword.other.LUW.sql"},{"match":"(?i:\\\\b(grant(\\\\swith\\\\sgrant\\\\soption)?|revoke)\\\\b)","name":"keyword.other.authorization.sql"},{"match":"(?i:\\\\bin\\\\b)","name":"keyword.other.data-integrity.sql"},{"match":"(?i:^\\\\s*(comment\\\\s+on\\\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\\\s+)","name":"keyword.other.object-comments.sql"},{"match":"(?i)\\\\bAS\\\\b","name":"keyword.other.alias.sql"},{"match":"(?i)\\\\b(DESC|ASC)\\\\b","name":"keyword.other.order.sql"},{"match":"\\\\*","name":"keyword.operator.star.sql"},{"match":"[!<>]?=|<>|[<>]","name":"keyword.operator.comparison.sql"},{"match":"[-+/]","name":"keyword.operator.math.sql"},{"match":"\\\\|\\\\|","name":"keyword.operator.concatenator.sql"},{"captures":{"1":{"name":"support.function.aggregate.sql"}},"match":"(?i)\\\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdevp??|varp??)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.analytic.sql"}},"match":"(?i)\\\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.bitmanipulation.sql"}},"match":"(?i)\\\\b((?:bit_coun|get_bi|left_shif|right_shif|set_bi)t)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.conversion.sql"}},"match":"(?i)\\\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.collation.sql"}},"match":"(?i)\\\\b(collationproperty|tertiary_weights)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.cryptographic.sql"}},"match":"(?i)\\\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.cursor.sql"}},"match":"(?i)\\\\b(cursor_status)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.datetime.sql"}},"match":"(?i)\\\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.datatype.sql"}},"match":"(?i)\\\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.expression.sql"}},"match":"(?i)\\\\b(coalesce|nullif)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.globalvar.sql"}},"match":"(?<!@)@@(?i)\\\\b(cursor_rows|connections|cpu_busy|datefirst|dbts|error|fetch_status|identity|idle|io_busy|langid|language|lock_timeout|max_connections|max_precision|nestlevel|options|packet_errors|pack_received|pack_sent|procid|remserver|rowcount|servername|servicename|spid|textsize|timeticks|total_errors|total_read|total_write|trancount|version)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.json.sql"}},"match":"(?i)\\\\b(json|isjson|json_object|json_array|json_value|json_query|json_modify|json_path_exists)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.logical.sql"}},"match":"(?i)\\\\b(choose|iif|greatest|least)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.mathematical.sql"}},"match":"(?i)\\\\b(abs|acos|asin|atan|atn2|ceiling|cos|cot|degrees|exp|floor|log|log10|pi|power|radians|rand|round|sign|sin|sqrt|square|tan)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.metadata.sql"}},"match":"(?i)\\\\b(app_name|applock_mode|applock_test|assemblyproperty|col_length|col_name|columnproperty|database_principal_id|databasepropertyex|db_id|db_name|file_id|file_idex|file_name|filegroup_id|filegroup_name|filegroupproperty|fileproperty|fulltextcatalogproperty|fulltextserviceproperty|index_col|indexkey_property|indexproperty|object_definition|object_id|object_name|object_schema_name|objectproperty|objectpropertyex|original_db_name|parsename|schema_id|schema_name|scope_identity|serverproperty|stats_date|type_id|type_name|typeproperty)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.ranking.sql"}},"match":"(?i)\\\\b(rank|dense_rank|ntile|row_number)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.rowset.sql"}},"match":"(?i)\\\\b(generate_series|opendatasource|openjson|openrowset|openquery|openxml|predict|string_split)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.security.sql"}},"match":"(?i)\\\\b(certencoded|certprivatekey|current_user|database_principal_id|has_perms_by_name|is_member|is_rolemember|is_srvrolemember|original_login|permissions|pwdcompare|pwdencrypt|schema_id|schema_name|session_user|suser_id|suser_sid|suser_sname|system_user|suser_name|user_id|user_name)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.string.sql"}},"match":"(?i)\\\\b(ascii|char|charindex|concat|difference|format|left|len|lower|ltrim|nchar|nodes|patindex|quotename|replace|replicate|reverse|right|rtrim|soundex|space|str|string_agg|string_escape|string_split|stuff|substring|translate|trim|unicode|upper)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.system.sql"}},"match":"(?i)\\\\b(binary_checksum|checksum|compress|connectionproperty|context_info|current_request_id|current_transaction_id|decompress|error_line|error_message|error_number|error_procedure|error_severity|error_state|formatmessage|get_filestream_transaction_context|getansinull|host_id|host_name|isnull|isnumeric|min_active_rowversion|newid|newsequentialid|rowcount_big|session_context|session_id|xact_state)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.textimage.sql"}},"match":"(?i)\\\\b(patindex|textptr|textvalid)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.vector.sql"}},"match":"(?i)\\\\b(vector_(?:distance|norm|normalize))\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"constant.other.database-name.sql"},"2":{"name":"constant.other.table-name.sql"}},"match":"(\\\\w+?)\\\\.(\\\\w+)"},{"include":"#strings"},{"include":"#regexps"},{"match":"\\\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|connection|containment|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\\\\\s+or\\\\\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime2??|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_fulltext_language|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filegrowth|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|incremental|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|match|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|nested_triggers|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|seconds|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|sessions??|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|shortest_path|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablockx??|take|tape|target|target_index|target_partition|target_recovery_time|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|top??|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|transform_noise_words|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|two_digit_year_cutoff|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|values??|varbinary|varchar|vector|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|windows??|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\\\b","name":"keyword.other.sql"},{"captures":{"1":{"name":"punctuation.section.scope.begin.sql"},"2":{"name":"punctuation.section.scope.end.sql"}},"match":"(\\\\()(\\\\))","name":"meta.block.sql"}],"repository":{"comment-block":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.sql"}},"end":"\\\\*/","name":"comment.block","patterns":[{"include":"#comment-block"}]},"comments":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=--)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.sql"}},"end":"(?!\\\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.sql"}},"end":"\\\\n","name":"comment.line.double-dash.sql"}]},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.sql"}},"end":"(?!\\\\G)","patterns":[]},{"include":"#comment-block"}]},"regexps":{"patterns":[{"begin":"/(?=\\\\S.*/)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"/","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.regexp.sql","patterns":[{"include":"#string_interpolation"},{"match":"\\\\\\\\/","name":"constant.character.escape.slash.sql"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.regexp.modr.sql","patterns":[{"include":"#string_interpolation"}]}]},"string_escape":{"match":"\\\\\\\\.","name":"constant.character.escape.sql"},"string_interpolation":{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"3":{"name":"punctuation.definition.string.end.sql"}},"match":"(#\\\\{)([^}]*)(})","name":"string.interpolated.sql"},"strings":{"patterns":[{"captures":{"2":{"name":"punctuation.definition.string.begin.sql"},"3":{"name":"punctuation.definition.string.end.sql"}},"match":"(N)?(\')[^\']*(\')","name":"string.quoted.single.sql"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.single.sql","patterns":[{"include":"#string_escape"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"2":{"name":"punctuation.definition.string.end.sql"}},"match":"(`)[^\\\\\\\\`]*(`)","name":"string.quoted.other.backtick.sql"},{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.other.backtick.sql","patterns":[{"include":"#string_escape"}]},{"captures":{"1":{"name":"punctuation.definition.string.begin.sql"},"2":{"name":"punctuation.definition.string.end.sql"}},"match":"(\\")[^\\"#]*(\\")","name":"string.quoted.double.sql"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.quoted.double.sql","patterns":[{"include":"#string_interpolation"}]},{"begin":"%\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sql"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.sql"}},"name":"string.other.quoted.brackets.sql","patterns":[{"include":"#string_interpolation"}]}]}},"scopeName":"source.sql"}')),t=[e];export{t as default};
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=EB+Garamond:opsz,wght@8..120,400..800&family=Inter:wght@400;500;600&family=Roboto:wght@400;500;700&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"JetBrains Mono",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-600:oklch(54.1% .281 293.009);--color-zinc-800:oklch(27.4% .006 286.033);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-surface:var(--color-white);--color-ink:var(--color-black);--color-primary-50:oklch(99.2% .002 80);--color-primary-100:oklch(98.21% 0 89.88);--color-primary-200:oklch(94.61% 0 89.88);--color-primary-300:oklch(95% .004 80);--color-primary-400:oklch(87.5% .005 80);--color-primary-500:oklch(78.5% .006 80);--color-primary-600:oklch(67% .007 80);--color-primary-700:oklch(56% .006 80);--color-primary-800:oklch(45% .005 80);--color-primary-900:oklch(35% .004 80);--color-primary-950:oklch(25% .003 80)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-2{inset:calc(var(--spacing)*2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.-top-1\.5{top:calc(var(--spacing)*-1.5)}.top-1\/2{top:50%}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.-right-1\.5{right:calc(var(--spacing)*-1.5)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-10{right:calc(var(--spacing)*10)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-10{bottom:calc(var(--spacing)*10)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.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}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.-mb-4{margin-bottom:calc(var(--spacing)*-4)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.-ml-1\.5{margin-left:calc(var(--spacing)*-1.5)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-11{width:calc(var(--spacing)*11);height:calc(var(--spacing)*11)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.h-\(--active-tab-height\){height:var(--active-tab-height)}.h-\(--collapsible-panel-height\){height:var(--collapsible-panel-height)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\[calc\(100vh-48px\)\]{height:calc(100vh - 48px)}.h-\[calc\(var\(--thumb-size\)\+2px\)\]{height:calc(var(--thumb-size) + 2px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-44{max-height:calc(var(--spacing)*44)}.max-h-56{max-height:calc(var(--spacing)*56)}.max-h-80{max-height:calc(var(--spacing)*80)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[88vh\]{max-height:88vh}.max-h-\[300px\]{max-height:300px}.max-h-\[360px\]{max-height:360px}.max-h-\[calc\(88vh-72px\)\]{max-height:calc(88vh - 72px)}.max-h-none{max-height:none}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-\[28px\]{min-height:28px}.min-h-\[36px\]{min-height:36px}.min-h-\[60vh\]{min-height:60vh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-\(--active-tab-width\){width:var(--active-tab-width)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-\[300px\]{width:300px}.w-\[calc\(var\(--thumb-size\)\*2-2px\)\]{width:calc(var(--thumb-size)*2 - 2px)}.w-\[min\(380px\,90vw\)\]{width:min(380px,90vw)}.w-\[min\(400px\,92vw\)\]{width:min(400px,92vw)}.w-\[min\(420px\,90vw\)\]{width:min(420px,90vw)}.w-\[min\(500px\,92vw\)\]{width:min(500px,92vw)}.w-\[min\(600px\,92vw\)\]{width:min(600px,92vw)}.w-\[min\(680px\,92vw\)\]{width:min(680px,92vw)}.w-\[min\(1000px\,95vw\)\]{width:min(1000px,95vw)}.w-\[var\(--opencami-sidebar-width\)\]{width:var(--opencami-sidebar-width)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[85\%\]{max-width:85%}.max-w-\[140px\]{max-width:140px}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[var\(--opencami-chat-width\)\]{max-width:var(--opencami-chat-width)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[60px\]{min-width:60px}.min-w-\[80px\]{min-width:80px}.min-w-\[90px\]{min-width:90px}.min-w-\[110px\]{min-width:110px}.min-w-\[140px\]{min-width:140px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[190px\]{min-width:190px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:0}.origin-top-right{transform-origin:100% 0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\(--active-tab-left\){--tw-translate-x:var(--active-tab-left);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-\(--active-tab-bottom\){--tw-translate-y:calc(var(--active-tab-bottom)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-98{--tw-scale-x:98%;--tw-scale-y:98%;--tw-scale-z:98%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[shimmer_2s_infinite_linear\]{animation:2s linear infinite shimmer}.animate-\[shimmer_4s_infinite_linear\]{animation:4s linear infinite shimmer}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-mt-0{scroll-margin-top:calc(var(--spacing)*0)}.scroll-mt-4{scroll-margin-top:calc(var(--spacing)*4)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_1fr_auto_auto\]{grid-template-columns:auto 1fr auto auto}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-\[var\(--opencami-msg-gap\)\]{gap:var(--opencami-msg-gap)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-0\.5{column-gap:calc(var(--spacing)*.5)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-primary-100>:not(:last-child)){border-color:var(--color-primary-100)}:where(.divide-primary-200>:not(:last-child)){border-color:var(--color-primary-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\(--thumb-size\){border-radius:var(--thumb-size)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[12px\]{border-radius:12px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-100{border-color:var(--color-amber-100)}.border-amber-200{border-color:var(--color-amber-200)}.border-current{border-color:currentColor}.border-cyan-500\/10{border-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/10{border-color:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.border-cyan-500\/20{border-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/20{border-color:color-mix(in oklab,var(--color-cyan-500)20%,transparent)}}.border-cyan-500\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/30{border-color:color-mix(in oklab,var(--color-cyan-500)30%,transparent)}}.border-emerald-100{border-color:var(--color-emerald-100)}.border-primary-50{border-color:var(--color-primary-50)}.border-primary-100{border-color:var(--color-primary-100)}.border-primary-200{border-color:var(--color-primary-200)}.border-primary-200\/70{border-color:#edededb3}@supports (color:color-mix(in lab,red,red)){.border-primary-200\/70{border-color:color-mix(in oklab,var(--color-primary-200)70%,transparent)}}.border-primary-200\/80{border-color:#edededcc}@supports (color:color-mix(in lab,red,red)){.border-primary-200\/80{border-color:color-mix(in oklab,var(--color-primary-200)80%,transparent)}}.border-primary-300{border-color:var(--color-primary-300)}.border-primary-400{border-color:var(--color-primary-400)}.border-primary-700{border-color:var(--color-primary-700)}.border-primary-900{border-color:var(--color-primary-900)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-sky-100{border-color:var(--color-sky-100)}.border-transparent{border-color:#0000}.border-violet-100{border-color:var(--color-violet-100)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-\[var\(--opencami-accent\)\]{background-color:var(--opencami-accent)}.bg-\[var\(--opencami-accent-light\)\]{background-color:var(--opencami-accent-light)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-black{background-color:var(--color-black)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-cyan-500\/5{background-color:#00b7d70d}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/5{background-color:color-mix(in oklab,var(--color-cyan-500)5%,transparent)}}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.bg-cyan-500\/20{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/20{background-color:color-mix(in oklab,var(--color-cyan-500)20%,transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-ink\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-ink\/40{background-color:color-mix(in oklab,var(--color-ink)40%,transparent)}}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900\/95{background-color:#171717f2}@supports (color:color-mix(in lab,red,red)){.bg-neutral-900\/95{background-color:color-mix(in oklab,var(--color-neutral-900)95%,transparent)}}.bg-primary-50{background-color:var(--color-primary-50)}.bg-primary-50\/50{background-color:#fdfcfb80}@supports (color:color-mix(in lab,red,red)){.bg-primary-50\/50{background-color:color-mix(in oklab,var(--color-primary-50)50%,transparent)}}.bg-primary-50\/60{background-color:#fdfcfb99}@supports (color:color-mix(in lab,red,red)){.bg-primary-50\/60{background-color:color-mix(in oklab,var(--color-primary-50)60%,transparent)}}.bg-primary-50\/90{background-color:#fdfcfbe6}@supports (color:color-mix(in lab,red,red)){.bg-primary-50\/90{background-color:color-mix(in oklab,var(--color-primary-50)90%,transparent)}}.bg-primary-100{background-color:var(--color-primary-100)}.bg-primary-100\/70{background-color:#f9f9f9b3}@supports (color:color-mix(in lab,red,red)){.bg-primary-100\/70{background-color:color-mix(in oklab,var(--color-primary-100)70%,transparent)}}.bg-primary-200{background-color:var(--color-primary-200)}.bg-primary-400{background-color:var(--color-primary-400)}.bg-primary-500{background-color:var(--color-primary-500)}.bg-primary-600{background-color:var(--color-primary-600)}.bg-primary-700{background-color:var(--color-primary-700)}.bg-primary-950{background-color:var(--color-primary-950)}.bg-primary-950\/20{background-color:#22212033}@supports (color:color-mix(in lab,red,red)){.bg-primary-950\/20{background-color:color-mix(in oklab,var(--color-primary-950)20%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-white{background-color:var(--color-white)}.bg-yellow-200{background-color:var(--color-yellow-200)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-size-\[200\%_auto\]{background-size:200%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing)*0)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-\[var\(--opencami-msg-padding-y\)\]{padding-block:var(--opencami-msg-padding-y)}.py-\[var\(--opencami-user-bubble-py\)\]{padding-block:var(--opencami-user-bubble-py)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-0\.5{padding-right:calc(var(--spacing)*.5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pb-0\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-1\.5{padding-left:calc(var(--spacing)*1.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-9{padding-left:calc(var(--spacing)*9)}.pl-\[18px\]{padding-left:18px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-\[\"Inter\"\,sans-serif\]{font-family:Inter,sans-serif}.font-\[\"Roboto\"\,sans-serif\]{font-family:Roboto,sans-serif}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-\[450\]{--tw-font-weight:450;font-weight:450}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--opencami-accent\)\]{color:var(--opencami-accent)}.text-amber-400{color:var(--color-amber-400)}.text-amber-600{color:var(--color-amber-600)}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-blue-700{color:var(--color-blue-700)}.text-cyan-300{color:var(--color-cyan-300)}.text-cyan-400{color:var(--color-cyan-400)}.text-cyan-500\/70{color:#00b7d7b3}@supports (color:color-mix(in lab,red,red)){.text-cyan-500\/70{color:color-mix(in oklab,var(--color-cyan-500)70%,transparent)}}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-green-600{color:var(--color-green-600)}.text-green-600\/80{color:#00a544cc}@supports (color:color-mix(in lab,red,red)){.text-green-600\/80{color:color-mix(in oklab,var(--color-green-600)80%,transparent)}}.text-green-700{color:var(--color-green-700)}.text-neutral-300{color:var(--color-neutral-300)}.text-primary-50{color:var(--color-primary-50)}.text-primary-100{color:var(--color-primary-100)}.text-primary-300{color:var(--color-primary-300)}.text-primary-400{color:var(--color-primary-400)}.text-primary-500{color:var(--color-primary-500)}.text-primary-500\/70{color:#bbb9b5b3}@supports (color:color-mix(in lab,red,red)){.text-primary-500\/70{color:color-mix(in oklab,var(--color-primary-500)70%,transparent)}}.text-primary-500\/75{color:#bbb9b5bf}@supports (color:color-mix(in lab,red,red)){.text-primary-500\/75{color:color-mix(in oklab,var(--color-primary-500)75%,transparent)}}.text-primary-500\/80{color:#bbb9b5cc}@supports (color:color-mix(in lab,red,red)){.text-primary-500\/80{color:color-mix(in oklab,var(--color-primary-500)80%,transparent)}}.text-primary-600{color:var(--color-primary-600)}.text-primary-600\/80{color:#979590cc}@supports (color:color-mix(in lab,red,red)){.text-primary-600\/80{color:color-mix(in oklab,var(--color-primary-600)80%,transparent)}}.text-primary-700{color:var(--color-primary-700)}.text-primary-700\/80{color:#767471cc}@supports (color:color-mix(in lab,red,red)){.text-primary-700\/80{color:color-mix(in oklab,var(--color-primary-700)80%,transparent)}}.text-primary-800{color:var(--color-primary-800)}.text-primary-900{color:var(--color-primary-900)}.text-primary-950{color:var(--color-primary-950)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-600\/80{color:#e40014cc}@supports (color:color-mix(in lab,red,red)){.text-red-600\/80{color:color-mix(in oklab,var(--color-red-600)80%,transparent)}}.text-red-700{color:var(--color-red-700)}.text-sky-500{color:var(--color-sky-500)}.text-sky-600{color:var(--color-sky-600)}.text-transparent{color:#0000}.text-violet-600{color:var(--color-violet-600)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-\[var\(--opencami-accent-light\)\]{-webkit-text-decoration-color:var(--opencami-accent-light);text-decoration-color:var(--opencami-accent-light)}.decoration-primary-300{-webkit-text-decoration-color:var(--color-primary-300);text-decoration-color:var(--color-primary-300)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-100{opacity:1}.shadow-sm\/5{--tw-shadow-alpha:5%;--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,oklab(0% 0 0/.05)),0 1px 2px -1px var(--tw-shadow-color,oklab(0% 0 0/.05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0px_12px_32px_0px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0px 12px 32px 0px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-surface{--tw-ring-color:var(--color-surface)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-black{outline-color:var(--color-black)}.outline-ink\/10{outline-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.outline-ink\/10{outline-color:color-mix(in oklab,var(--color-ink)10%,transparent)}}.outline-primary-900\/10{outline-color:#3c3a381a}@supports (color:color-mix(in lab,red,red)){.outline-primary-900\/10{outline-color:color-mix(in oklab,var(--color-primary-900)10%,transparent)}}.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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,box-shadow\]{transition-property:background-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,background-color\,box-shadow\]{transition-property:color,background-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,translate\]{transition-property:width,translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-0{--tw-duration:0s;transition-duration:0s}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--thumb-size\:--spacing\(5\)\]{--thumb-size:calc(var(--spacing)*5)}.\[transition\:translate_\.15s\,border-radius_\.15s\,scale_\.1s_\.1s\,transform-origin_\.15s\]{transition:translate .15s,border-radius .15s,scale .1s .1s,transform-origin .15s}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media(hover:hover){.group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.group-hover\:h-2:is(:where(.group):hover *){height:calc(var(--spacing)*2)}.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:scale-100:is(:where(.group):hover *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:text-primary-600:is(:where(.group):hover *){color:var(--color-primary-600)}.group-hover\:text-primary-700:is(:where(.group):hover *){color:var(--color-primary-700)}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/scroll-area\:opacity-100:is(:where(.group\/scroll-area):hover *){opacity:1}}.group-data-panel-open\:rotate-90:is(:where(.group)[data-panel-open] *){rotate:90deg}.group-data-panel-open\:rotate-180:is(:where(.group)[data-panel-open] *){rotate:180deg}.marker\:text-primary-400 ::marker{color:var(--color-primary-400)}.marker\:text-primary-400::marker{color:var(--color-primary-400)}.marker\:text-primary-400 ::-webkit-details-marker{color:var(--color-primary-400)}.marker\:text-primary-400::-webkit-details-marker{color:var(--color-primary-400)}.marker\:text-primary-500 ::marker{color:var(--color-primary-500)}.marker\:text-primary-500::marker{color:var(--color-primary-500)}.marker\:text-primary-500 ::-webkit-details-marker{color:var(--color-primary-500)}.marker\:text-primary-500::-webkit-details-marker{color:var(--color-primary-500)}.selection\:bg-blue-800\/50 ::selection{background-color:#193cb880}@supports (color:color-mix(in lab,red,red)){.selection\:bg-blue-800\/50 ::selection{background-color:color-mix(in oklab,var(--color-blue-800)50%,transparent)}}.selection\:bg-blue-800\/50::selection{background-color:#193cb880}@supports (color:color-mix(in lab,red,red)){.selection\:bg-blue-800\/50::selection{background-color:color-mix(in oklab,var(--color-blue-800)50%,transparent)}}.placeholder\:text-primary-300::placeholder{color:var(--color-primary-300)}.placeholder\:text-primary-400::placeholder{color:var(--color-primary-400)}.placeholder\:text-primary-500::placeholder{color:var(--color-primary-500)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-primary-100:hover{border-color:var(--color-primary-100)}.hover\:border-primary-200:hover{border-color:var(--color-primary-200)}.hover\:border-primary-300:hover{border-color:var(--color-primary-300)}.hover\:bg-\[var\(--opencami-accent-hover\)\]:hover{background-color:var(--opencami-accent-hover)}.hover\:bg-cyan-500\/5:hover{background-color:#00b7d70d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cyan-500\/5:hover{background-color:color-mix(in oklab,var(--color-cyan-500)5%,transparent)}}.hover\:bg-cyan-500\/20:hover{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cyan-500\/20:hover{background-color:color-mix(in oklab,var(--color-cyan-500)20%,transparent)}}.hover\:bg-neutral-800\/80:hover{background-color:#262626cc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-neutral-800\/80:hover{background-color:color-mix(in oklab,var(--color-neutral-800)80%,transparent)}}.hover\:bg-primary-50:hover{background-color:var(--color-primary-50)}.hover\:bg-primary-50\/50:hover{background-color:#fdfcfb80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary-50\/50:hover{background-color:color-mix(in oklab,var(--color-primary-50)50%,transparent)}}.hover\:bg-primary-100:hover{background-color:var(--color-primary-100)}.hover\:bg-primary-200:hover{background-color:var(--color-primary-200)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-50\/80:hover{background-color:#fef2f2cc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-50\/80:hover{background-color:color-mix(in oklab,var(--color-red-50)80%,transparent)}}.hover\:bg-red-200:hover{background-color:var(--color-red-200)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-primary-600:hover{color:var(--color-primary-600)}.hover\:text-primary-700:hover{color:var(--color-primary-700)}.hover\:text-primary-800:hover{color:var(--color-primary-800)}.hover\:text-primary-900:hover{color:var(--color-primary-900)}.hover\:text-primary-950:hover{color:var(--color-primary-950)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-primary-600:hover{-webkit-text-decoration-color:var(--color-primary-600);text-decoration-color:var(--color-primary-600)}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-primary-300:focus{border-color:var(--color-primary-300)}.focus\:border-primary-400:focus{border-color:var(--color-primary-400)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary-500:focus{--tw-ring-color:var(--color-primary-500)}.focus\:ring-primary-500\/20:focus{--tw-ring-color:#bbb9b533}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary-500\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-primary-500)20%,transparent)}}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:rounded-lg:focus-visible{border-radius:var(--radius-lg)}.focus-visible\:bg-primary-50:focus-visible{background-color:var(--color-primary-50)}.focus-visible\:bg-primary-100:focus-visible{background-color:var(--color-primary-100)}.focus-visible\:text-primary-900:focus-visible{color:var(--color-primary-900)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[var\(--opencami-accent\)\]:focus-visible{--tw-ring-color:var(--opencami-accent)}.focus-visible\:ring-primary-300:focus-visible{--tw-ring-color:var(--color-primary-300)}.focus-visible\:ring-primary-950:focus-visible{--tw-ring-color:var(--color-primary-950)}.focus-visible\:ring-red-300:focus-visible{--tw-ring-color:var(--color-red-300)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(hover:hover){.disabled\:hover\:border-primary-200:disabled:hover{border-color:var(--color-primary-200)}.disabled\:hover\:bg-primary-50:disabled:hover{background-color:var(--color-primary-50)}}:where(:is([role=switch]:active,[data-slot=label]:active)) .in-\[\[role\=switch\]\:active\,\[data-slot\=label\]\:active\]\:rounded-\[var\(--thumb-size\)\/calc\(var\(--thumb-size\)\*1\.1\)\]{border-radius:var(--thumb-size)/calc(var(--thumb-size)*1.1)}:where(:is([role=switch]:active,[data-slot=label]:active)) .in-\[\[role\=switch\]\:active\,\[data-slot\=label\]\:active\]\:not-data-disabled\:scale-x-110:not([data-disabled]){--tw-scale-x:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.aria-expanded\:bg-primary-200[aria-expanded=true]{background-color:var(--color-primary-200)}.aria-expanded\:opacity-100[aria-expanded=true]{opacity:1}.data-active\:text-primary-900[data-active]{color:var(--color-primary-900)}.data-checked\:origin-\[var\(--thumb-size\)_50\%\][data-checked]{transform-origin:var(--thumb-size)50%}.data-checked\:translate-x-\[calc\(var\(--thumb-size\)-4px\)\][data-checked]{--tw-translate-x:calc(var(--thumb-size) - 4px);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-checked\:bg-primary-900[data-checked]{background-color:var(--color-primary-900)}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-64[data-disabled]{opacity:.64}.data-ending-style\:h-0[data-ending-style]{height:calc(var(--spacing)*0)}.data-highlighted\:bg-primary-100[data-highlighted]{background-color:var(--color-primary-100)}.data-highlighted\:bg-red-50\/80[data-highlighted]{background-color:#fef2f2cc}@supports (color:color-mix(in lab,red,red)){.data-highlighted\:bg-red-50\/80[data-highlighted]{background-color:color-mix(in oklab,var(--color-red-50)80%,transparent)}}.data-hovering\:opacity-100[data-hovering]{opacity:1}.data-panel-open\:text-primary-700[data-panel-open]{color:var(--color-primary-700)}.data-scrolling\:opacity-100[data-scrolling]{opacity:1}.data-starting-style\:h-0[data-starting-style]{height:calc(var(--spacing)*0)}.data-unchecked\:bg-primary-200[data-unchecked]{background-color:var(--color-primary-200)}.data-\[orientation\=horizontal\]\:h-0\.5[data-orientation=horizontal]{height:calc(var(--spacing)*.5)}.data-\[orientation\=horizontal\]\:translate-y-px[data-orientation=horizontal]{--tw-translate-y:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[orientation\=horizontal\]\:py-1[data-orientation=horizontal]{padding-block:calc(var(--spacing)*1)}.data-\[orientation\=vertical\]\:w-0\.5[data-orientation=vertical]{width:calc(var(--spacing)*.5)}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:-translate-x-px[data-orientation=vertical]{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[orientation\=vertical\]\:flex-row[data-orientation=vertical]{flex-direction:row}.data-\[orientation\=vertical\]\:justify-start[data-orientation=vertical]{justify-content:flex-start}.data-\[orientation\=vertical\]\:px-1[data-orientation=vertical]{padding-inline:calc(var(--spacing)*1)}:is(.\*\:data-\[slot\=tab-indicator\]\:duration-0>*)[data-slot=tab-indicator]{--tw-duration:0s;transition-duration:0s}.data-\[state\=closed\]\:scale-95[data-state=closed]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[state\=closed\]\:opacity-0[data-state=closed]{opacity:0}.data-\[state\=open\]\:scale-100[data-state=open]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}@media(min-width:40rem){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:flex{display:flex}.sm\:max-w-\[768px\]{max-width:768px}.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\:\[--thumb-size\:--spacing\(4\)\]{--thumb-size:calc(var(--spacing)*4)}}@media(min-width:48rem){.md\:right-5{right:calc(var(--spacing)*5)}.md\:left-5{left:calc(var(--spacing)*5)}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:inline{display:inline}.md\:h-full{height:100%}.md\:max-h-\[calc\(85vh-90px\)\]{max-height:calc(85vh - 90px)}.md\:min-h-\[400px\]{min-height:400px}.md\:w-72{width:calc(var(--spacing)*72)}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[18rem_1fr\]{grid-template-columns:18rem 1fr}.md\:flex-row{flex-direction:row}.md\:gap-3{gap:calc(var(--spacing)*3)}:where(.md\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.md\:px-5{padding-inline:calc(var(--spacing)*5)}.md\:pb-3{padding-bottom:calc(var(--spacing)*3)}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(min-width:80rem){.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}.dark\:border-neutral-700:where(.dark,.dark *){border-color:var(--color-neutral-700)}.dark\:border-primary-700:where(.dark,.dark *){border-color:var(--color-primary-700)}.dark\:border-red-800:where(.dark,.dark *){border-color:var(--color-red-800)}.dark\:bg-neutral-700:where(.dark,.dark *){background-color:var(--color-neutral-700)}.dark\:bg-neutral-800:where(.dark,.dark *){background-color:var(--color-neutral-800)}.dark\:bg-neutral-900:where(.dark,.dark *){background-color:var(--color-neutral-900)}.dark\:bg-primary-700:where(.dark,.dark *){background-color:var(--color-primary-700)}.dark\:bg-red-900\/20:where(.dark,.dark *){background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:bg-surface\/40:where(.dark,.dark *){background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.dark\:bg-surface\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-surface)40%,transparent)}}.dark\:bg-zinc-800:where(.dark,.dark *){background-color:var(--color-zinc-800)}.dark\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\:text-neutral-100:where(.dark,.dark *){color:var(--color-neutral-100)}.dark\:text-neutral-300:where(.dark,.dark *){color:var(--color-neutral-300)}.dark\:text-neutral-400:where(.dark,.dark *){color:var(--color-neutral-400)}.dark\:text-neutral-500:where(.dark,.dark *){color:var(--color-neutral-500)}.dark\:text-primary-300:where(.dark,.dark *){color:var(--color-primary-300)}.dark\:text-primary-400:where(.dark,.dark *){color:var(--color-primary-400)}.dark\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:text-yellow-400:where(.dark,.dark *){color:var(--color-yellow-400)}@media(hover:hover){.dark\:hover\:bg-neutral-800:where(.dark,.dark *):hover{background-color:var(--color-neutral-800)}}.\[\&_\.line\]\:break-words .line{overflow-wrap:break-word}.\[\&_\.line\]\:whitespace-pre-wrap .line{white-space:pre-wrap}.\[\&_\.line\]\:before\:mr-4 .line:before{content:var(--tw-content);margin-right:calc(var(--spacing)*4)}.\[\&_\.line\]\:before\:inline-block .line:before{content:var(--tw-content);display:inline-block}.\[\&_\.line\]\:before\:w-8 .line:before{content:var(--tw-content);width:calc(var(--spacing)*8)}.\[\&_\.line\]\:before\:text-right .line:before{content:var(--tw-content);text-align:right}.\[\&_\.line\]\:before\:text-primary-500\/60 .line:before{content:var(--tw-content);color:#bbb9b599}@supports (color:color-mix(in lab,red,red)){.\[\&_\.line\]\:before\:text-primary-500\/60 .line:before{color:color-mix(in oklab,var(--color-primary-500)60%,transparent)}}.\[\&_\.line\]\:before\:content-\[counter\(line\)\] .line:before{--tw-content:counter(line);content:var(--tw-content)}.\[\&_\.line\]\:before\:select-none .line:before{content:var(--tw-content);-webkit-user-select:none;user-select:none}.\[\&_\.line\]\:before\:\[counter-increment\:line\] .line:before{content:var(--tw-content);counter-increment:line}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:-mx-0\.5 svg{margin-inline:calc(var(--spacing)*-.5)}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\"size-\"\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\:hover\:not\(\:has\(button\:hover\)\)\]\:bg-primary-200:hover:not(:has(button:hover)){background-color:var(--color-primary-200)}.\[\&\>pre\]\:w-full>pre{width:100%}.\[\&\>pre\]\:max-w-full>pre{max-width:100%}.\[\&\>pre\]\:min-w-0>pre{min-width:calc(var(--spacing)*0)}.\[\&\>pre\]\:overflow-x-auto>pre{overflow-x:auto}.\[\&\>pre\]\:px-3>pre{padding-inline:calc(var(--spacing)*3)}.\[\&\>pre\]\:py-3>pre{padding-block:calc(var(--spacing)*3)}.\[\&\>pre\]\:break-words>pre{overflow-wrap:break-word}.\[\&\>pre\]\:whitespace-pre>pre{white-space:pre}.\[\&\>pre\]\:whitespace-pre-wrap>pre{white-space:pre-wrap}.\[\&\>pre\]\:\[counter-reset\:line\]>pre{counter-reset:line}.\[\&\[hidden\]\:not\(\[hidden\=\"until-found\"\]\)\]\:hidden[hidden]:not([hidden=until-found]){display:none}}.root{isolation:isolate}html{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.safe-area-top{padding-top:env(safe-area-inset-top)}:root{--opencami-text-size:16px;--opencami-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--opencami-density:comfortable;--opencami-msg-padding-y:.75rem;--opencami-msg-gap:.5rem;--opencami-user-bubble-py:.625rem;--opencami-accent:#22c55e;--opencami-accent-hover:#16a34a;--opencami-accent-light:#22c55e1a;--opencami-chat-width:1000px;--opencami-sidebar-width:260px}.opencami-text-size{font-size:var(--opencami-text-size)}.dark{color-scheme:dark;--color-primary-50:oklch(12.44% 0 89.88);--color-primary-100:oklch(15.84% 0 89.88);--color-primary-200:oklch(20.78% 0 89.88);--color-primary-300:oklch(30% .006 80);--color-primary-400:oklch(40% .006 80);--color-primary-500:oklch(52% .006 80);--color-primary-600:oklch(65% .006 80);--color-primary-700:oklch(73% .006 80);--color-primary-800:oklch(83% .005 80);--color-primary-900:oklch(89.5% .004 80);--color-primary-950:oklch(94.5% .003 80);--color-surface:var(--color-black);--color-ink:var(--color-white)}.light,.system{color-scheme:light}@media(prefers-color-scheme:dark){.system{color-scheme:dark;--color-primary-50:oklch(12.44% 0 89.88);--color-primary-100:oklch(15.84% 0 89.88);--color-primary-200:oklch(20.78% 0 89.88);--color-primary-300:oklch(30% .006 80);--color-primary-400:oklch(40% .006 80);--color-primary-500:oklch(52% .006 80);--color-primary-600:oklch(65% .006 80);--color-primary-700:oklch(73% .006 80);--color-primary-800:oklch(83% .005 80);--color-primary-900:oklch(89.5% .004 80);--color-primary-950:oklch(94.5% .003 80);--color-surface:var(--color-black);--color-ink:var(--color-white);--color-surface-deep:oklch(18% 0 0)}}.chameleon{color-scheme:light;--color-primary-50:oklch(97.5% .012 155);--color-primary-100:oklch(95.5% .018 155);--color-primary-200:oklch(91.5% .025 155);--color-primary-300:oklch(86% .035 160);--color-primary-400:oklch(75% .045 165);--color-primary-500:oklch(62% .055 168);--color-primary-600:oklch(50% .055 168);--color-primary-700:oklch(42% .045 165);--color-primary-800:oklch(35% .035 160);--color-primary-900:oklch(28% .025 155);--color-primary-950:oklch(22% .018 155);--color-surface:oklch(98% .008 155);--color-ink:oklch(25% .025 155)}.frost{color-scheme:light;--color-primary-50:oklch(98.5% .008 250);--color-primary-100:oklch(96% .01 250);--color-primary-200:oklch(90.5% .015 250);--color-primary-300:oklch(84% .018 250);--color-primary-400:oklch(73% .02 250);--color-primary-500:oklch(60% .02 250);--color-primary-600:oklch(50% .018 250);--color-primary-700:oklch(40% .015 250);--color-primary-800:oklch(30% .012 250);--color-primary-900:oklch(24% .01 250);--color-primary-950:oklch(18% .008 250);--color-surface:oklch(99% .005 250);--color-ink:oklch(24% .01 250)}.frost.dark,.frost-dark{color-scheme:dark;--color-primary-50:oklch(15% .01 260);--color-primary-100:oklch(19% .012 260);--color-primary-200:oklch(24% .014 260);--color-primary-300:oklch(34% .014 260);--color-primary-400:oklch(44% .012 260);--color-primary-500:oklch(56% .012 260);--color-primary-600:oklch(68% .01 260);--color-primary-700:oklch(76% .01 260);--color-primary-800:oklch(86% .008 260);--color-primary-900:oklch(93% .005 260);--color-primary-950:oklch(97% .003 260);--color-surface:oklch(6% .008 260);--color-ink:oklch(97% .003 260)}@media(prefers-color-scheme:dark){.frost:not(.frost-light):not(:where(.light,.light *)){color-scheme:dark;--color-primary-50:oklch(15% .01 260);--color-primary-100:oklch(19% .012 260);--color-primary-200:oklch(24% .014 260);--color-primary-300:oklch(34% .014 260);--color-primary-400:oklch(44% .012 260);--color-primary-500:oklch(56% .012 260);--color-primary-600:oklch(68% .01 260);--color-primary-700:oklch(76% .01 260);--color-primary-800:oklch(86% .008 260);--color-primary-900:oklch(93% .005 260);--color-primary-950:oklch(97% .003 260);--color-surface:oklch(6% .008 260);--color-ink:oklch(97% .003 260)}}html.frost body{background:radial-gradient(1200px 700px at -10% -10%,var(--opencami-accent),transparent 60%),radial-gradient(900px 500px at 110% -5%,var(--opencami-accent),transparent 65%),linear-gradient(180deg,#ffffff59,#fff3)}@supports (color:color-mix(in lab,red,red)){html.frost body{background:radial-gradient(1200px 700px at -10% -10%,color-mix(in srgb,var(--opencami-accent)14%,transparent),transparent 60%),radial-gradient(900px 500px at 110% -5%,color-mix(in srgb,var(--opencami-accent)10%,transparent),transparent 65%),linear-gradient(180deg,#ffffff59,#fff3)}}html.frost.dark body,html.frost-dark body{background:radial-gradient(1200px 700px at -10% -10%,var(--opencami-accent),transparent 62%),radial-gradient(900px 500px at 110% -5%,var(--opencami-accent),transparent 68%),linear-gradient(180deg,#0a0c12eb,#0a0c12db)}@supports (color:color-mix(in lab,red,red)){html.frost.dark body,html.frost-dark body{background:radial-gradient(1200px 700px at -10% -10%,color-mix(in srgb,var(--opencami-accent)18%,transparent),transparent 62%),radial-gradient(900px 500px at 110% -5%,color-mix(in srgb,var(--opencami-accent)14%,transparent),transparent 68%),linear-gradient(180deg,#0a0c12eb,#0a0c12db)}}@media(prefers-color-scheme:dark){html.frost:not(.frost-light) body{background:radial-gradient(1200px 700px at -10% -10%,var(--opencami-accent),transparent 62%),radial-gradient(900px 500px at 110% -5%,var(--opencami-accent),transparent 68%),linear-gradient(180deg,#0a0c12eb,#0a0c12db)}@supports (color:color-mix(in lab,red,red)){html.frost:not(.frost-light) body{background:radial-gradient(1200px 700px at -10% -10%,color-mix(in srgb,var(--opencami-accent)18%,transparent),transparent 62%),radial-gradient(900px 500px at 110% -5%,color-mix(in srgb,var(--opencami-accent)14%,transparent),transparent 68%),linear-gradient(180deg,#0a0c12eb,#0a0c12db)}}}.frost aside,.frost .tauri-drag-header,.frost .DialogPopup,.frost [role=dialog],.frost .opencami-frost-panel,.frost .bg-surface.cursor-text{-webkit-backdrop-filter:blur(20px)}.frost aside,.frost .tauri-drag-header,.frost .bg-surface.cursor-text{box-shadow:0 8px 32px #00000014;background:#fff9!important;border-color:#ffffff4d!important}@media(prefers-color-scheme:dark){.frost aside,.frost .tauri-drag-header,.frost .bg-surface.cursor-text{box-shadow:0 8px 32px #00000059;background:#0f0f0fb3!important;border-color:#ffffff29!important}}.frost .group.inline-flex.items-center.justify-between{border:1px solid #0000}.frost .group.inline-flex.items-center.justify-between:hover{background:#fff6;border-color:#ffffff52}.frost .group.inline-flex.items-center.justify-between.bg-\[var\(--opencami-accent-light\)\]{box-shadow:0 0 0 1px var(--opencami-accent),0 8px 24px var(--opencami-accent)}@supports (color:color-mix(in lab,red,red)){.frost .group.inline-flex.items-center.justify-between.bg-\[var\(--opencami-accent-light\)\]{box-shadow:0 0 0 1px color-mix(in srgb,var(--opencami-accent)38%,transparent),0 8px 24px color-mix(in srgb,var(--opencami-accent)22%,transparent)}}.frost .opencami-message-user{background:var(--opencami-accent)}@supports (color:color-mix(in lab,red,red)){.frost .opencami-message-user{background:color-mix(in srgb,var(--opencami-accent)18%,#ffffff80)}}.frost .opencami-message-user{border:1px solid var(--opencami-accent)}@supports (color:color-mix(in lab,red,red)){.frost .opencami-message-user{border:1px solid color-mix(in srgb,var(--opencami-accent)28%,#fff6)}}.frost .opencami-message-user{box-shadow:0 4px 16px #00000014}.frost .opencami-message-assistant{background:#ffffff59;border:1px solid #ffffff3d;border-radius:14px;padding:.5rem .75rem}@media(prefers-color-scheme:dark){.frost .opencami-message-assistant{background:#16181e80;border-color:#ffffff26}}.frost [data-slot=tabs-list],.frost [role=menu],.frost [data-slot=button][class*=outline],.frost [role=dialog]{-webkit-backdrop-filter:blur(20px)}.frost [role=dialog],.frost [role=menu]{background:#ffffff8c;border:1px solid #ffffff4d;box-shadow:0 8px 32px #0000001a}@media(prefers-color-scheme:dark){.frost [role=dialog],.frost [role=menu]{background:#0f0f0fb8;border-color:#ffffff2e;box-shadow:0 8px 32px #00000059}}.frost .opencami-accent-bg,.frost .opencami-accent-bg-hover:hover,.frost [data-slot=button]:focus-visible{box-shadow:0 0 0 1px var(--opencami-accent),0 8px 24px var(--opencami-accent)}@supports (color:color-mix(in lab,red,red)){.frost .opencami-accent-bg,.frost .opencami-accent-bg-hover:hover,.frost [data-slot=button]:focus-visible{box-shadow:0 0 0 1px color-mix(in srgb,var(--opencami-accent)42%,transparent),0 8px 24px color-mix(in srgb,var(--opencami-accent)24%,transparent)}}html,body{margin:calc(var(--spacing)*0);font-family:var(--opencami-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);letter-spacing:-.15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}.font-sans{letter-spacing:-.15px}.inline-code{background:var(--color-primary-100);border:1px solid var(--color-primary-200);color:var(--color-primary-900);white-space:nowrap;border-radius:.5rem;padding:.1rem .4rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95em}.code-block .shiki{margin:0;background:0 0!important}.code-block .shiki code{font-size:.875rem;line-height:1.5;display:block}code{font-family:JetBrains Mono,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes shimmer{0%{background-position:200%}to{background-position:-200%}}@keyframes stream-fade-in{0%{opacity:.4}to{opacity:1}}.stream-fade-in{animation:.25s ease-out stream-fade-in}@keyframes message-highlight-pulse{0%{background-color:color-mix(in srgb,var(--opencami-accent,#22c55e)18%,transparent)}to{background-color:#0000}}.opencami-message-highlight{border-radius:.75rem;animation:1.8s ease-out message-highlight-pulse}@media(prefers-reduced-motion:reduce){.stream-fade-in,.opencami-message-highlight{animation:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tauri-drag-header{padding-left:env(titlebar-area-x,1rem)}@supports (padding-left:env(titlebar-area-x)){.tauri-drag-header{padding-left:calc(env(titlebar-area-x) + env(titlebar-area-width) + .5rem)}}html.tauri .tauri-drag-header{padding-left:5rem}::selection{background:var(--opencami-accent-light)}.opencami-accent-text{color:var(--opencami-accent)}.opencami-accent-bg{background:var(--opencami-accent);color:#fff}.opencami-accent-bg-hover:hover{background:var(--opencami-accent-hover)}.opencami-accent-soft{background:var(--opencami-accent-light);color:var(--opencami-accent)}[data-opencami-bubble-style=bubbles] .opencami-message-assistant{background:var(--color-primary-100);max-width:80%;padding:.75rem 1rem}[data-opencami-bubble-style=bubbles] .opencami-message-user{background:var(--opencami-accent);color:#fff;max-width:80%}[data-opencami-bubble-style=minimal] .opencami-message-assistant,[data-opencami-bubble-style=minimal] .opencami-message-user{background:0 0;border-radius:0;max-width:100%;padding:0}[data-opencami-bubble-style=minimal] .opencami-message-item{border-top:1px solid var(--color-primary-200);padding-top:.75rem}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}