ikanban-web 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +65 -0
  2. package/bin/cli.js +1055 -0
  3. package/dist/apple-touch-icon-120x120.png +0 -0
  4. package/dist/apple-touch-icon-152x152.png +0 -0
  5. package/dist/apple-touch-icon-167x167.png +0 -0
  6. package/dist/apple-touch-icon-180x180.png +0 -0
  7. package/dist/apple-touch-icon.png +0 -0
  8. package/dist/apple-touch-icon.svg +16 -0
  9. package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  10. package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  11. package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  12. package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  13. package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  14. package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  15. package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  16. package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  17. package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  18. package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  19. package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  20. package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  21. package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  22. package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  23. package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  24. package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  25. package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  26. package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  27. package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  28. package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  29. package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  30. package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  31. package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  32. package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  33. package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  34. package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  35. package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  36. package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  37. package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  38. package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  39. package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  40. package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  41. package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  42. package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  43. package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  44. package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  45. package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  46. package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  47. package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  48. package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  49. package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  50. package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  51. package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  52. package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  53. package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  54. package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  55. package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  56. package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  57. package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  58. package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  59. package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  60. package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  61. package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  62. package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  63. package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  64. package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  65. package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  66. package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  67. package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  68. package/dist/assets/ToolOutputDialog-BgFj3J4u.js +5 -0
  69. package/dist/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  70. package/dist/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  71. package/dist/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  72. package/dist/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  73. package/dist/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2 +0 -0
  74. package/dist/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff +0 -0
  75. package/dist/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
  76. package/dist/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
  77. package/dist/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
  78. package/dist/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
  79. package/dist/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
  80. package/dist/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
  81. package/dist/assets/index-BQJPAP5f.css +1 -0
  82. package/dist/assets/index-MBuF9PXk.js +2 -0
  83. package/dist/assets/main-C1GggQif.css +1 -0
  84. package/dist/assets/main-Dyy8WvPJ.js +311 -0
  85. package/dist/assets/vendor--DEobTDja.css +1 -0
  86. package/dist/assets/vendor-.bun-KwPUu5oc.js +4594 -0
  87. package/dist/assets/wasm-CG6Dc4jp.js +1 -0
  88. package/dist/assets/worker-suRQxAtO.js +155 -0
  89. package/dist/favicon-16.png +0 -0
  90. package/dist/favicon-32.png +0 -0
  91. package/dist/favicon.png +0 -0
  92. package/dist/favicon.svg +15 -0
  93. package/dist/index.html +325 -0
  94. package/dist/logo-dark-192x192.png +0 -0
  95. package/dist/logo-dark-512x512.svg +16 -0
  96. package/dist/logo-light-192x192.png +0 -0
  97. package/dist/logo-light-512x512.svg +16 -0
  98. package/dist/pwa-192.png +0 -0
  99. package/dist/pwa-512.png +0 -0
  100. package/dist/pwa-maskable-192.png +0 -0
  101. package/dist/pwa-maskable-512.png +0 -0
  102. package/dist/site.webmanifest +22 -0
  103. package/dist/sw.js +1 -0
  104. package/package.json +102 -0
  105. package/public/apple-touch-icon-120x120.png +0 -0
  106. package/public/apple-touch-icon-152x152.png +0 -0
  107. package/public/apple-touch-icon-167x167.png +0 -0
  108. package/public/apple-touch-icon-180x180.png +0 -0
  109. package/public/apple-touch-icon.png +0 -0
  110. package/public/apple-touch-icon.svg +16 -0
  111. package/public/favicon-16.png +0 -0
  112. package/public/favicon-32.png +0 -0
  113. package/public/favicon.png +0 -0
  114. package/public/favicon.svg +15 -0
  115. package/public/logo-dark-192x192.png +0 -0
  116. package/public/logo-dark-512x512.svg +16 -0
  117. package/public/logo-light-192x192.png +0 -0
  118. package/public/logo-light-512x512.svg +16 -0
  119. package/public/pwa-192.png +0 -0
  120. package/public/pwa-512.png +0 -0
  121. package/public/pwa-maskable-192.png +0 -0
  122. package/public/pwa-maskable-512.png +0 -0
  123. package/public/site.webmanifest +22 -0
  124. package/server/TERMINAL_INPUT_WS_PROTOCOL.md +44 -0
  125. package/server/index.d.ts +28 -0
  126. package/server/index.js +11181 -0
  127. package/server/lib/cloudflare-tunnel.js +196 -0
  128. package/server/lib/git-credentials.js +74 -0
  129. package/server/lib/git-identity-storage.js +110 -0
  130. package/server/lib/git-service.js +2690 -0
  131. package/server/lib/github-auth.js +307 -0
  132. package/server/lib/github-device-flow.js +50 -0
  133. package/server/lib/github-octokit.js +10 -0
  134. package/server/lib/github-repo.js +55 -0
  135. package/server/lib/notification-message.js +49 -0
  136. package/server/lib/notification-message.test.js +59 -0
  137. package/server/lib/opencode-auth.js +81 -0
  138. package/server/lib/opencode-config.js +1840 -0
  139. package/server/lib/opencode-config.js.d.ts +12 -0
  140. package/server/lib/package-manager.js +255 -0
  141. package/server/lib/quota/DOCUMENTATION.md +52 -0
  142. package/server/lib/quota/index.js +21 -0
  143. package/server/lib/quota/providers/claude.js +107 -0
  144. package/server/lib/quota/providers/codex.js +111 -0
  145. package/server/lib/quota/providers/copilot.js +165 -0
  146. package/server/lib/quota/providers/google/api.js +92 -0
  147. package/server/lib/quota/providers/google/auth.js +108 -0
  148. package/server/lib/quota/providers/google/index.js +124 -0
  149. package/server/lib/quota/providers/google/transforms.js +109 -0
  150. package/server/lib/quota/providers/index.js +128 -0
  151. package/server/lib/quota/providers/interface.js +55 -0
  152. package/server/lib/quota/providers/kimi.js +108 -0
  153. package/server/lib/quota/providers/nanogpt.js +124 -0
  154. package/server/lib/quota/providers/openai.js +91 -0
  155. package/server/lib/quota/providers/openrouter.js +92 -0
  156. package/server/lib/quota/providers/zai.js +91 -0
  157. package/server/lib/quota/utils/auth.js +46 -0
  158. package/server/lib/quota/utils/formatters.js +76 -0
  159. package/server/lib/quota/utils/index.js +10 -0
  160. package/server/lib/quota/utils/transformers.js +55 -0
  161. package/server/lib/skills-catalog/cache.js +29 -0
  162. package/server/lib/skills-catalog/clawdhub/api.js +158 -0
  163. package/server/lib/skills-catalog/clawdhub/index.js +30 -0
  164. package/server/lib/skills-catalog/clawdhub/install.js +223 -0
  165. package/server/lib/skills-catalog/clawdhub/scan.js +113 -0
  166. package/server/lib/skills-catalog/curated-sources.js +21 -0
  167. package/server/lib/skills-catalog/git.js +76 -0
  168. package/server/lib/skills-catalog/install.js +280 -0
  169. package/server/lib/skills-catalog/scan.js +221 -0
  170. package/server/lib/skills-catalog/source.js +85 -0
  171. package/server/lib/summarization-service.js +171 -0
  172. package/server/lib/terminal-input-ws-protocol.js +66 -0
  173. package/server/lib/terminal-input-ws-protocol.test.js +138 -0
  174. package/server/lib/tts-service.js +162 -0
  175. package/server/lib/ui-auth.js +518 -0
@@ -0,0 +1 @@
1
+ @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-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:"IBM Plex Mono","JetBrains Mono","Fira Code","SFMono-Regular","Menlo",monospace;--font-mono:"IBM Plex Mono","JetBrains Mono","Fira Code","SFMono-Regular","Menlo",monospace;--color-orange-500:oklch(70.5% .213 47.604);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-800:oklch(47.3% .137 46.201);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-500:oklch(62.3% .214 259.815);--color-purple-500:oklch(62.7% .265 303.9);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--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-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:"IBM Plex Mono","JetBrains Mono","Fira Code","SFMono-Regular","Menlo",monospace;--default-mono-font-family:"IBM Plex Mono","JetBrains Mono","Fira Code","SFMono-Regular","Menlo",monospace;--color-border:var(--border);--color-border-hover:var(--interactive-border-hover);--markdown-body-line-height:var(--markdown-body-line-height);--markdown-h1-line-height:var(--markdown-h1-line-height);--markdown-h2-line-height:var(--markdown-h2-line-height);--markdown-h3-line-height:var(--markdown-h3-line-height);--markdown-h4-line-height:var(--markdown-h4-line-height);--markdown-h5-line-height:var(--markdown-h5-line-height);--markdown-h6-line-height:var(--markdown-h6-line-height);--markdown-list-line-height:var(--markdown-list-line-height);--markdown-code-block-line-height:var(--markdown-code-block-line-height);--markdown-heading1:var(--markdown-heading1);--markdown-heading2:var(--markdown-heading2);--markdown-heading3:var(--markdown-heading3);--markdown-heading4:var(--markdown-heading4);--markdown-link:var(--markdown-link);--markdown-link-hover:var(--markdown-link-hover);--markdown-list-marker:var(--markdown-list-marker);--markdown-inline-code:var(--markdown-inline-code);--markdown-inline-code-bg:var(--markdown-inline-code-bg);--markdown-blockquote:var(--markdown-blockquote);--markdown-blockquote-border:var(--markdown-blockquote-border);--font-heading:var(--font-sans);--font-family-sans:var(--font-sans);--font-family-mono:var(--font-mono)}}@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}:root{color-scheme:light;--oc-safe-area-top:0px;--oc-safe-area-right:0px;--oc-safe-area-bottom:0px;--oc-safe-area-bottom-visual:0px;--oc-safe-area-left:0px;--oc-header-height:56px;--oc-visual-viewport-offset-top:0px;--oc-keyboard-inset:0px;--oc-keyboard-avoid-offset:0px;--oc-keyboard-home-indicator:0px;--ui-regular-font-weight:400;--oc-scrollbar-thumb:oklch(32% .03 50/.4);--oc-scrollbar-thumb-hover:oklch(32% .03 50/.6);--padding-scale:1;--text-markdown:.9375rem;--text-code:.9063rem;--text-ui-header:.9375rem;--text-ui-label:.875rem;--text-meta:.875rem;--text-micro:.875rem;--background:oklch(97% .02 85);--foreground:oklch(25% .02 40);--card:oklch(99% .01 90);--card-foreground:oklch(25% .02 40);--popover:oklch(99% .01 90);--popover-foreground:oklch(25% .02 40);--primary:oklch(65% .2 55);--primary-foreground:oklch(99% .01 90);--secondary:oklch(92% .02 80);--secondary-foreground:oklch(25% .02 40);--muted:oklch(90% .015 75);--muted-foreground:oklch(45% .02 50);--accent:oklch(92% .02 80);--accent-foreground:oklch(25% .02 40);--destructive:oklch(55% .25 25);--destructive-foreground:oklch(99% .01 90);--border:oklch(85% .02 70);--input:oklch(88% .02 75);--ring:oklch(65% .2 55);--radius:.625rem;--chart-1:oklch(58% .15 230);--chart-2:oklch(58% .15 145);--chart-3:oklch(65% .2 55);--chart-4:oklch(55% .18 30);--chart-5:oklch(60% .16 85);--sidebar:oklch(95% .02 80);--sidebar-foreground:oklch(25% .02 40);--sidebar-primary:oklch(65% .2 55);--sidebar-primary-foreground:oklch(99% .01 90);--sidebar-accent:oklch(90% .02 75);--sidebar-accent-foreground:oklch(25% .02 40);--sidebar-border:oklch(85% .02 70);--sidebar-ring:oklch(65% .2 55);--sidebar-stuck-bg:var(--sidebar)}.dark{--background:oklch(16% .01 30);--foreground:oklch(85% .02 90);--card:oklch(19% .01 40);--card-foreground:oklch(85% .02 90);--popover:oklch(24% .01 40);--popover-foreground:oklch(85% .02 90);--primary:oklch(77% .17 85);--primary-foreground:oklch(16% .01 30);--secondary:oklch(29% .01 40);--secondary-foreground:oklch(85% .02 90);--muted:oklch(33% .01 40);--muted-foreground:oklch(75% .02 80);--accent:oklch(29% .01 40);--accent-foreground:oklch(85% .02 90);--destructive:oklch(65% .15 30);--destructive-foreground:oklch(90% .02 80);--border:oklch(31% .01 35);--input:oklch(33% .01 40);--ring:oklch(77% .17 85);--chart-1:oklch(68% .12 230);--chart-2:oklch(68% .12 145);--chart-3:oklch(70% .13 95);--chart-4:oklch(65% .14 45);--chart-5:oklch(68% .12 55);--sidebar:oklch(16% .01 30);--sidebar-foreground:oklch(85% .02 90);--sidebar-primary:oklch(77% .17 85);--sidebar-primary-foreground:oklch(16% .01 30);--sidebar-accent:oklch(24% .01 40);--sidebar-accent-foreground:oklch(85% .02 90);--sidebar-border:oklch(31% .01 35);--sidebar-ring:oklch(77% .17 85);--sidebar-stuck-bg:var(--sidebar)}*{border-color:hsl(var(--border))}:root *{border-color:#c2974d33}.dark *{border-color:#39383680}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*{border-color:var(--border);--tw-outline-style:none;outline-style:none}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);font-weight:var(--ui-regular-font-weight,400)}:root.desktop-runtime,:root.desktop-runtime body,:root.desktop-runtime #root{overscroll-behavior:none;overscroll-behavior-y:none;height:100%;overflow:hidden}.font-sans{font-family:var(--font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)!important}.font-mono,code,pre{font-family:var(--font-mono,ui-monospace,SFMono-Regular,"Liberation Mono",Menlo,monospace)!important}:focus:not(input):not(textarea):not([data-slot=dropdown-menu-content]):not([data-slot=dropdown-menu-sub-content]):not([data-slot=select-content]),:focus-visible:not(input):not(textarea):not([data-slot=dropdown-menu-content]):not([data-slot=dropdown-menu-sub-content]):not([data-slot=select-content]){box-shadow:none!important;outline:none!important}}@layer components{.agent-primary{--agent-color:var(--primary);--agent-color-bg:var(--primary)}.agent-info{--agent-color:var(--status-info);--agent-color-bg:var(--status-info)}.agent-keyword{--agent-color:var(--syntax-keyword);--agent-color-bg:var(--syntax-keyword)}.agent-success{--agent-color:var(--status-success);--agent-color-bg:var(--status-success)}.agent-function{--agent-color:var(--syntax-function);--agent-color-bg:var(--syntax-function)}.agent-number{--agent-color:var(--syntax-number);--agent-color-bg:var(--syntax-number)}.agent-type{--agent-color:var(--syntax-type);--agent-color-bg:var(--syntax-type)}.agent-warning{--agent-color:var(--status-warning);--agent-color-bg:var(--status-warning)}.agent-variable{--agent-color:var(--syntax-variable);--agent-color-bg:var(--syntax-variable)}.agent-badge{background:rgb(from var(--agent-color-bg)r g b/.1);border:1px solid rgb(from var(--agent-color)r g b/.2);color:var(--agent-color)}.agent-badge:hover{background:rgb(from var(--agent-color-bg)r g b/.15);border-color:rgb(from var(--agent-color)r g b/.3)}.agent-dot{background:var(--agent-color)}.agent-list-item:hover{background:rgb(from var(--agent-color-bg)r g b/.05)}.agent-list-item.active{background:rgb(from var(--agent-color-bg)r g b/.1);border-color:rgb(from var(--agent-color)r g b/.2)}.typography-markdown{font-size:var(--text-markdown)}.typography-code{font-size:var(--text-code)}.typography-ui-header{font-size:var(--text-ui-header)}.typography-ui-label{font-size:var(--text-ui-label)}.typography-meta{font-size:var(--text-meta)}.typography-micro{font-size:var(--text-micro)}.chat-column,.chat-message-column{width:min(100%,56rem);padding-inline:calc(clamp(.75rem,2.5vw,1rem)*var(--padding-scale,1));margin-inline:auto}@media(min-width:1024px){.chat-column,.chat-message-column{padding-inline:calc(clamp(1rem,2.5vw,1.5rem)*var(--padding-scale,1))}}.model-favorite-button{transition:transform .1s;position:relative}.model-favorite-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:.25rem}.model-favorite-button:active{transform:scale(.95)}.typography-h1{font-size:var(--text-markdown);line-height:var(--h1-line-height);letter-spacing:var(--h1-letter-spacing);font-weight:var(--h1-font-weight)}.typography-h2{font-size:var(--text-markdown);line-height:var(--h2-line-height);letter-spacing:var(--h2-letter-spacing);font-weight:var(--h2-font-weight)}.typography-h3{font-size:var(--text-markdown);line-height:var(--h3-line-height);letter-spacing:var(--h3-letter-spacing);font-weight:var(--h3-font-weight)}.typography-ui-button{font-size:var(--text-ui-label);line-height:var(--ui-button-line-height);letter-spacing:var(--ui-button-letter-spacing);font-weight:var(--ui-button-font-weight)}.typography-ui-caption{font-size:var(--text-micro);line-height:var(--ui-caption-line-height);letter-spacing:var(--ui-caption-letter-spacing);font-weight:var(--ui-caption-font-weight)}.typography-markdown-body{font-size:var(--text-markdown);line-height:var(--markdown-body-line-height);letter-spacing:var(--markdown-body-letter-spacing);font-weight:var(--markdown-body-font-weight)}.typography-markdown-h1{font-size:var(--text-markdown);line-height:var(--markdown-h1-line-height);letter-spacing:var(--markdown-h1-letter-spacing);font-weight:var(--markdown-h1-font-weight)}.typography-markdown-h2{font-size:var(--text-markdown);line-height:var(--markdown-h2-line-height);letter-spacing:var(--markdown-h2-letter-spacing);font-weight:var(--markdown-h2-font-weight)}.typography-markdown-h3{font-size:var(--text-markdown);line-height:var(--markdown-h3-line-height);letter-spacing:var(--markdown-h3-letter-spacing);font-weight:var(--markdown-h3-font-weight)}.typography-markdown-h4{font-size:var(--text-markdown);line-height:var(--markdown-h4-line-height);letter-spacing:var(--markdown-h4-letter-spacing);font-weight:var(--markdown-h4-font-weight)}}@layer utilities{.\@container\/animated-tabs{container:animated-tabs/inline-size}.\@container\/card-header{container:card-header/inline-size}.\@container\/commit-actions{container:commit-actions/inline-size}.\@container\/git-header{container:git-header/inline-size}.\@container\/model-controls{container:model-controls/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\!{visibility:visible!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.-top-0\.5{top:calc(calc(.125rem*var(--padding-scale,1))*-1)}.-top-1{top:calc(calc(.25rem*var(--padding-scale,1))*-1)}.top-0{top:0}.top-1{top:calc(.25rem*var(--padding-scale,1))}.top-1\.5{top:calc(.375rem*var(--padding-scale,1))}.top-1\/2{top:50%}.top-2{top:calc(.5rem*var(--padding-scale,1))}.top-3\.5{top:calc(.875rem*var(--padding-scale,1))}.top-\[-0\.25rem\]{top:-.25rem}.top-\[2\.375rem\]{top:2.375rem}.top-\[50\%\]{top:50%}.top-full{top:100%}.-right-0\.5{right:calc(calc(.125rem*var(--padding-scale,1))*-1)}.-right-1{right:calc(calc(.25rem*var(--padding-scale,1))*-1)}.right-0{right:0}.right-1{right:calc(.25rem*var(--padding-scale,1))}.right-1\.5{right:calc(.375rem*var(--padding-scale,1))}.right-2{right:calc(.5rem*var(--padding-scale,1))}.right-3{right:calc(.75rem*var(--padding-scale,1))}.right-4{right:calc(1rem*var(--padding-scale,1))}.bottom-0{bottom:0}.bottom-4{bottom:calc(1rem*var(--padding-scale,1))}.bottom-8{bottom:calc(2rem*var(--padding-scale,1))}.bottom-\[0\.375rem\]{bottom:.375rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:calc(.5rem*var(--padding-scale,1))}.left-2\.5{left:calc(.625rem*var(--padding-scale,1))}.left-3{left:calc(.75rem*var(--padding-scale,1))}.left-4{left:calc(1rem*var(--padding-scale,1))}.left-\[-12px\]{left:-12px}.left-\[-13px\]{left:-13px}.left-\[0\.4375rem\]{left:.4375rem}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[9999\]{z-index:9999}.order-first{order:-9999}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(calc(.25rem*var(--padding-scale,1))*-1)}.-mx-2{margin-inline:calc(calc(.5rem*var(--padding-scale,1))*-1)}.-mx-3{margin-inline:calc(calc(.75rem*var(--padding-scale,1))*-1)}.mx-0\.5{margin-inline:calc(.125rem*var(--padding-scale,1))}.mx-1{margin-inline:calc(.25rem*var(--padding-scale,1))}.mx-3{margin-inline:calc(.75rem*var(--padding-scale,1))}.mx-auto{margin-inline:auto}.-my-0\.5{margin-block:calc(calc(.125rem*var(--padding-scale,1))*-1)}.-my-1{margin-block:calc(calc(.25rem*var(--padding-scale,1))*-1)}.my-0\.5{margin-block:calc(.125rem*var(--padding-scale,1))}.my-1{margin-block:calc(.25rem*var(--padding-scale,1))}.my-2{margin-block:calc(.5rem*var(--padding-scale,1))}.my-4{margin-block:calc(1rem*var(--padding-scale,1))}.-mt-1{margin-top:calc(calc(.25rem*var(--padding-scale,1))*-1)}.mt-0\.5{margin-top:calc(.125rem*var(--padding-scale,1))}.mt-1{margin-top:calc(.25rem*var(--padding-scale,1))}.mt-1\.5{margin-top:calc(.375rem*var(--padding-scale,1))}.mt-2{margin-top:calc(.5rem*var(--padding-scale,1))}.mt-3{margin-top:calc(.75rem*var(--padding-scale,1))}.mt-4{margin-top:calc(1rem*var(--padding-scale,1))}.mt-auto{margin-top:auto}.-mr-1{margin-right:calc(calc(.25rem*var(--padding-scale,1))*-1)}.-mr-\[3px\]{margin-right:-3px}.mr-1{margin-right:calc(.25rem*var(--padding-scale,1))}.mr-1\.5{margin-right:calc(.375rem*var(--padding-scale,1))}.mr-2{margin-right:calc(.5rem*var(--padding-scale,1))}.mr-3{margin-right:calc(.75rem*var(--padding-scale,1))}.mr-8{margin-right:calc(2rem*var(--padding-scale,1))}.mr-px{margin-right:1px}.mb-0\.5{margin-bottom:calc(.125rem*var(--padding-scale,1))}.mb-1{margin-bottom:calc(.25rem*var(--padding-scale,1))}.mb-1\.5{margin-bottom:calc(.375rem*var(--padding-scale,1))}.mb-2{margin-bottom:calc(.5rem*var(--padding-scale,1))}.mb-3{margin-bottom:calc(.75rem*var(--padding-scale,1))}.mb-4{margin-bottom:calc(1rem*var(--padding-scale,1))}.ml-0\.5{margin-left:calc(.125rem*var(--padding-scale,1))}.ml-1{margin-left:calc(.25rem*var(--padding-scale,1))}.ml-2{margin-left:calc(.5rem*var(--padding-scale,1))}.ml-2\.5{margin-left:calc(.625rem*var(--padding-scale,1))}.ml-3{margin-left:calc(.75rem*var(--padding-scale,1))}.ml-4{margin-left:calc(1rem*var(--padding-scale,1))}.ml-6{margin-left:calc(1.5rem*var(--padding-scale,1))}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(.625rem*var(--padding-scale,1));height:calc(.625rem*var(--padding-scale,1))}.size-3{width:calc(.75rem*var(--padding-scale,1));height:calc(.75rem*var(--padding-scale,1))}.size-3\.5{width:calc(.875rem*var(--padding-scale,1));height:calc(.875rem*var(--padding-scale,1))}.size-4{width:calc(1rem*var(--padding-scale,1));height:calc(1rem*var(--padding-scale,1))}.size-5{width:calc(1.25rem*var(--padding-scale,1));height:calc(1.25rem*var(--padding-scale,1))}.size-6{width:calc(1.5rem*var(--padding-scale,1));height:calc(1.5rem*var(--padding-scale,1))}.size-8{width:calc(2rem*var(--padding-scale,1));height:calc(2rem*var(--padding-scale,1))}.size-9{width:calc(2.25rem*var(--padding-scale,1));height:calc(2.25rem*var(--padding-scale,1))}.size-10{width:calc(2.5rem*var(--padding-scale,1));height:calc(2.5rem*var(--padding-scale,1))}.size-\[18px\]{width:18px;height:18px}.size-full{width:100%;height:100%}.\!h-9{height:calc(2.25rem*var(--padding-scale,1))!important}.h-1{height:calc(.25rem*var(--padding-scale,1))}.h-1\.5{height:calc(.375rem*var(--padding-scale,1))}.h-2{height:calc(.5rem*var(--padding-scale,1))}.h-2\.5{height:calc(.625rem*var(--padding-scale,1))}.h-3{height:calc(.75rem*var(--padding-scale,1))}.h-3\.5{height:calc(.875rem*var(--padding-scale,1))}.h-4{height:calc(1rem*var(--padding-scale,1))}.h-4\.5{height:calc(var(--spacing)*4.5)}.h-5{height:calc(1.25rem*var(--padding-scale,1))}.h-6{height:calc(1.5rem*var(--padding-scale,1))}.h-7{height:calc(1.75rem*var(--padding-scale,1))}.h-8{height:calc(2rem*var(--padding-scale,1))}.h-9{height:calc(2.25rem*var(--padding-scale,1))}.h-10{height:calc(2.5rem*var(--padding-scale,1))}.h-12{height:calc(3rem*var(--padding-scale,1))}.h-14{height:calc(3.5rem*var(--padding-scale,1))}.h-20{height:calc(5rem*var(--padding-scale,1))}.h-\[1\.2rem\]{height:1.2rem}.h-\[1\.0625rem\]{height:1.0625rem}.h-\[3px\]{height:3px}.h-\[4px\]{height:4px}.h-\[18px\]{height:18px}.h-\[85vh\]{height:85vh}.h-\[100dvh\]{height:100dvh}.h-\[300px\]{height:300px}.h-\[420px\]{height:420px}.h-\[min\(70vh\,520px\)\]{height:min(70vh,520px)}.h-\[min\(80dvh\,720px\)\]{height:min(80dvh,720px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-24{max-height:calc(6rem*var(--padding-scale,1))}.max-h-32{max-height:calc(8rem*var(--padding-scale,1))}.max-h-40{max-height:calc(10rem*var(--padding-scale,1))}.max-h-48{max-height:calc(12rem*var(--padding-scale,1))}.max-h-56{max-height:calc(14rem*var(--padding-scale,1))}.max-h-60{max-height:calc(15rem*var(--padding-scale,1))}.max-h-64{max-height:calc(16rem*var(--padding-scale,1))}.max-h-80{max-height:calc(20rem*var(--padding-scale,1))}.max-h-96{max-height:calc(24rem*var(--padding-scale,1))}.max-h-\[30vh\]{max-height:30vh}.max-h-\[40vh\]{max-height:40vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[66vh\]{max-height:66vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[75vh\]{max-height:75vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[82vh\]{max-height:82vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[200px\]{max-height:200px}.max-h-\[240px\]{max-height:240px}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[900px\]{max-height:900px}.max-h-\[calc\(100\%-2rem\)\]{max-height:calc(100% - 2rem)}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-\[calc\(100vh-32px\)\]{max-height:calc(100vh - 32px)}.max-h-\[min\(52dvh\,360px\)\]{max-height:min(52dvh,360px)}.max-h-\[min\(70vh\,520px\)\]{max-height:min(70vh,520px)}.max-h-\[min\(400px\,calc\(100dvh-12rem\)\)\]{max-height:min(400px,100dvh - 12rem)}.max-h-\[min\(600px\,calc\(100vh-10rem\)\)\]{max-height:min(600px,100vh - 10rem)}.max-h-\[var\(--radix-select-content-available-height\)\]{max-height:var(--radix-select-content-available-height)}.max-h-full{max-height:100%}.max-h-none{max-height:none}.\!min-h-0{min-height:0!important}.min-h-0{min-height:0}.min-h-4{min-height:calc(1rem*var(--padding-scale,1))}.min-h-6{min-height:calc(1.5rem*var(--padding-scale,1))}.min-h-7{min-height:calc(1.75rem*var(--padding-scale,1))}.min-h-8{min-height:calc(2rem*var(--padding-scale,1))}.min-h-16{min-height:calc(4rem*var(--padding-scale,1))}.min-h-24{min-height:calc(6rem*var(--padding-scale,1))}.min-h-\[32px\]{min-height:32px}.min-h-\[38rem\]{min-height:38rem}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[52px\]{min-height:52px}.min-h-\[80px\]{min-height:80px}.min-h-\[100px\]{min-height:100px}.min-h-\[110px\]{min-height:110px}.min-h-\[120px\]{min-height:120px}.min-h-\[200px\]{min-height:200px}.min-h-\[240px\]{min-height:240px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(.125rem*var(--padding-scale,1))}.w-1{width:calc(.25rem*var(--padding-scale,1))}.w-1\.5{width:calc(.375rem*var(--padding-scale,1))}.w-2{width:calc(.5rem*var(--padding-scale,1))}.w-2\.5{width:calc(.625rem*var(--padding-scale,1))}.w-3{width:calc(.75rem*var(--padding-scale,1))}.w-3\.5{width:calc(.875rem*var(--padding-scale,1))}.w-4{width:calc(1rem*var(--padding-scale,1))}.w-4\.5{width:calc(var(--spacing)*4.5)}.w-5{width:calc(1.25rem*var(--padding-scale,1))}.w-6{width:calc(1.5rem*var(--padding-scale,1))}.w-7{width:calc(1.75rem*var(--padding-scale,1))}.w-8{width:calc(2rem*var(--padding-scale,1))}.w-9{width:calc(2.25rem*var(--padding-scale,1))}.w-10{width:calc(2.5rem*var(--padding-scale,1))}.w-12{width:calc(3rem*var(--padding-scale,1))}.w-14{width:calc(3.5rem*var(--padding-scale,1))}.w-16{width:calc(4rem*var(--padding-scale,1))}.w-20{width:calc(5rem*var(--padding-scale,1))}.w-24{width:calc(6rem*var(--padding-scale,1))}.w-32{width:calc(8rem*var(--padding-scale,1))}.w-36{width:calc(9rem*var(--padding-scale,1))}.w-56{width:calc(14rem*var(--padding-scale,1))}.w-64{width:calc(16rem*var(--padding-scale,1))}.w-72{width:calc(18rem*var(--padding-scale,1))}.w-80{width:calc(20rem*var(--padding-scale,1))}.w-96{width:calc(24rem*var(--padding-scale,1))}.w-\[--radix-dropdown-menu-trigger-width\]{width:--radix-dropdown-menu-trigger-width}.w-\[1\.2rem\]{width:1.2rem}.w-\[1\.0625rem\]{width:1.0625rem}.w-\[2px\]{width:2px}.w-\[3px\]{width:3px}.w-\[4px\]{width:4px}.w-\[6px\]{width:6px}.w-\[8\.25rem\]{width:8.25rem}.w-\[18px\]{width:18px}.w-\[90vw\]{width:90vw}.w-\[95vw\]{width:95vw}.w-\[100vw\]{width:100vw}.w-\[140px\]{width:140px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[200px\]{width:200px}.w-\[280px\]{width:280px}.w-\[340px\]{width:340px}.w-\[350px\]{width:350px}.w-\[calc\(100vw-2rem\)\]{width:calc(100vw - 2rem)}.w-\[min\(30rem\,calc\(100vw-2rem\)\)\]{width:min(30rem,100vw - 2rem)}.w-\[min\(42rem\,calc\(100vw-1\.5rem\)\)\]{width:min(42rem,100vw - 1.5rem)}.w-\[min\(42rem\,calc\(100vw-2rem\)\)\]{width:min(42rem,100vw - 2rem)}.w-\[min\(180px\,calc\(100vw-2rem\)\)\]{width:min(180px,100vw - 2rem)}.w-\[min\(280px\,calc\(100vw-2rem\)\)\]{width:min(280px,100vw - 2rem)}.w-\[min\(380px\,calc\(100vw-2rem\)\)\]{width:min(380px,100vw - 2rem)}.w-\[min\(520px\,calc\(100vw-24px\)\)\]{width:min(520px,100vw - 24px)}.w-\[var\(--radix-dropdown-menu-trigger-width\)\]{width:var(--radix-dropdown-menu-trigger-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[9rem\]{max-width:9rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[11rem\]{max-width:11rem}.max-w-\[12rem\]{max-width:12rem}.max-w-\[14rem\]{max-width:14rem}.max-w-\[15rem\]{max-width:15rem}.max-w-\[18rem\]{max-width:18rem}.max-w-\[32rem\]{max-width:32rem}.max-w-\[45\%\]{max-width:45%}.max-w-\[60px\]{max-width:60px}.max-w-\[60vw\]{max-width:60vw}.max-w-\[85\%\]{max-width:85%}.max-w-\[95vw\]{max-width:95vw}.max-w-\[120px\]{max-width:120px}.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-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[320px\]{max-width:320px}.max-w-\[360px\]{max-width:360px}.max-w-\[450px\]{max-width:450px}.max-w-\[520px\]{max-width:520px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[calc\(100\%-2\.5rem\)\]{max-width:calc(100% - 2.5rem)}.max-w-\[min\(520px\,100vw-2rem\)\]{max-width:min(520px,100vw - 2rem)}.max-w-\[min\(560px\,100vw\)\]{max-width:min(560px,100vw)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-6{min-width:calc(1.5rem*var(--padding-scale,1))}.min-w-8{min-width:calc(2rem*var(--padding-scale,1))}.min-w-9{min-width:calc(2.25rem*var(--padding-scale,1))}.min-w-10{min-width:calc(2.5rem*var(--padding-scale,1))}.min-w-20{min-width:calc(5rem*var(--padding-scale,1))}.min-w-28{min-width:calc(7rem*var(--padding-scale,1))}.min-w-32{min-width:calc(8rem*var(--padding-scale,1))}.min-w-40{min-width:calc(10rem*var(--padding-scale,1))}.min-w-\[1rem\]{min-width:1rem}.min-w-\[3\.75rem\]{min-width:3.75rem}.min-w-\[3ch\]{min-width:3ch}.min-w-\[7\.5rem\]{min-width:7.5rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[16rem\]{min-width:16rem}.min-w-\[32px\]{min-width:32px}.min-w-\[72px\]{min-width:72px}.min-w-\[80px\]{min-width:80px}.min-w-\[100px\]{min-width:100px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[320px\]{min-width:320px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(1.25rem*var(--padding-scale,1));translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;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:0;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(.5rem*var(--padding-scale,1));translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[4px\]{--tw-translate-y:4px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;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-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}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.touch-pan-x{--tw-pan-x:pan-x;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.scroll-my-1{scroll-margin-block:calc(.25rem*var(--padding-scale,1))}.scroll-mt-4{scroll-margin-top:calc(1rem*var(--padding-scale,1))}.scroll-py-1{scroll-padding-block:calc(.25rem*var(--padding-scale,1))}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.\[appearance\:textfield\]{appearance:textfield}.appearance-none{appearance:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.grid-rows-\[minmax\(0\,1fr\)_auto\]{grid-template-rows:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.gap-0{gap:0}.gap-0\.5{gap:calc(.125rem*var(--padding-scale,1))}.gap-1{gap:calc(.25rem*var(--padding-scale,1))}.gap-1\.5{gap:calc(.375rem*var(--padding-scale,1))}.gap-1\.25{gap:calc(var(--spacing)*1.25)}.gap-2{gap:calc(.5rem*var(--padding-scale,1))}.gap-2\.5{gap:calc(.625rem*var(--padding-scale,1))}.gap-3{gap:calc(.75rem*var(--padding-scale,1))}.gap-4{gap:calc(1rem*var(--padding-scale,1))}.gap-6{gap:calc(1.5rem*var(--padding-scale,1))}.gap-10{gap:calc(2.5rem*var(--padding-scale,1))}.gap-\[1px\]{gap:1px}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(0*var(--tw-space-y-reverse));margin-block-end:calc(0*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.125rem*var(--padding-scale,1))*var(--tw-space-y-reverse));margin-block-end:calc(calc(.125rem*var(--padding-scale,1))*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem*var(--padding-scale,1))*var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem*var(--padding-scale,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(.375rem*var(--padding-scale,1))*var(--tw-space-y-reverse));margin-block-end:calc(calc(.375rem*var(--padding-scale,1))*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.5rem*var(--padding-scale,1))*var(--tw-space-y-reverse));margin-block-end:calc(calc(.5rem*var(--padding-scale,1))*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.75rem*var(--padding-scale,1))*var(--tw-space-y-reverse));margin-block-end:calc(calc(.75rem*var(--padding-scale,1))*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(1rem*var(--padding-scale,1))*var(--tw-space-y-reverse));margin-block-end:calc(calc(1rem*var(--padding-scale,1))*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(1.5rem*var(--padding-scale,1))*var(--tw-space-y-reverse));margin-block-end:calc(calc(1.5rem*var(--padding-scale,1))*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(2rem*var(--padding-scale,1))*var(--tw-space-y-reverse));margin-block-end:calc(calc(2rem*var(--padding-scale,1))*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-\[0\.6rem\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.6rem*var(--tw-space-y-reverse));margin-block-end:calc(.6rem*calc(1 - var(--tw-space-y-reverse)))}.gap-x-1{column-gap:calc(.25rem*var(--padding-scale,1))}.gap-x-1\.5{column-gap:calc(.375rem*var(--padding-scale,1))}.gap-x-2{column-gap:calc(.5rem*var(--padding-scale,1))}.gap-x-3{column-gap:calc(.75rem*var(--padding-scale,1))}.gap-y-0{row-gap:0}.gap-y-0\.5{row-gap:calc(.125rem*var(--padding-scale,1))}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)),:where(.divide-border\/20>:not(:last-child)){border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/20>:not(:last-child)){border-color:color-mix(in oklab,var(--border)20%,transparent)}}:where(.divide-border\/40>:not(:last-child)){border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/40>:not(:last-child)){border-color:color-mix(in oklab,var(--border)40%,transparent)}}:where(.divide-border\/50>:not(:last-child)){border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/50>:not(:last-child)){border-color:color-mix(in oklab,var(--border)50%,transparent)}}:where(.divide-border\/60>:not(:last-child)){border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/60>:not(:last-child)){border-color:color-mix(in oklab,var(--border)60%,transparent)}}.self-center{align-self:center}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overscroll-none{overscroll-behavior:none}.overscroll-x-contain{overscroll-behavior-x:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-xl{border-top-left-radius:calc(var(--radius) + 4px);border-top-right-radius:calc(var(--radius) + 4px)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) + 4px);border-bottom-left-radius:calc(var(--radius) + 4px)}.rounded-br-sm{border-bottom-right-radius:calc(var(--radius) - 4px)}.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-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-\[var\(--interactive-border\)\]{border-color:var(--interactive-border)}.border-\[var\(--primary-muted\)\]{border-color:var(--primary-muted)}.border-\[var\(--status-error-border\)\]{border-color:var(--status-error-border)}.border-\[var\(--status-info-border\)\]{border-color:var(--status-info-border)}.border-\[var\(--status-success-border\)\]{border-color:var(--status-success-border)}.border-\[var\(--status-warning\)\]{border-color:var(--status-warning)}.border-\[var\(--status-warning-border\)\]{border-color:var(--status-warning-border)}.border-\[var\(--surface-mutedForeground\)\]{border-color:var(--surface-mutedForeground)}.border-border,.border-border\/10{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/10{border-color:color-mix(in oklab,var(--border)10%,transparent)}}.border-border\/20{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/20{border-color:color-mix(in oklab,var(--border)20%,transparent)}}.border-border\/30{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,var(--border)30%,transparent)}}.border-border\/40{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}}.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--border)60%,transparent)}}.border-border\/70{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,var(--border)70%,transparent)}}.border-border\/80{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/80{border-color:color-mix(in oklab,var(--border)80%,transparent)}}.border-destructive\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/20{border-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.border-foreground{border-color:var(--foreground)}.border-input{border-color:var(--input)}.border-muted-foreground\/30{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/30{border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.border-primary,.border-primary\/5{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/5{border-color:color-mix(in oklab,var(--primary)5%,transparent)}}.border-primary\/25{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/25{border-color:color-mix(in oklab,var(--primary)25%,transparent)}}.border-primary\/30{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,var(--primary)30%,transparent)}}.border-primary\/50{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.border-status-warning\/20{border-color:var(--status-warning)}@supports (color:color-mix(in lab,red,red)){.border-status-warning\/20{border-color:color-mix(in oklab,var(--status-warning)20%,transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\[color\:var\(--sidebar-overlay-strong\)\]{background-color:var(--sidebar-overlay-strong)}.bg-\[color\:var\(--status-error\)\]{background-color:var(--status-error)}.bg-\[color\:var\(--status-success\)\]{background-color:var(--status-success)}.bg-\[color\:var\(--status-warning\)\]{background-color:var(--status-warning)}.bg-\[rgb\(var\(--status-error\)\/0\.1\)\]{background-color:rgb(var(--status-error)/.1)}.bg-\[rgb\(var\(--status-success\)\/0\.1\)\]{background-color:rgb(var(--status-success)/.1)}.bg-\[var\(--interactive-border\)\]{background-color:var(--interactive-border)}.bg-\[var\(--interactive-selection\)\],.bg-\[var\(--interactive-selection\)\]\/30{background-color:var(--interactive-selection)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--interactive-selection\)\]\/30{background-color:color-mix(in oklab,var(--interactive-selection)30%,transparent)}}.bg-\[var\(--primary-base\)\]{background-color:var(--primary-base)}.bg-\[var\(--status-error\)\]{background-color:var(--status-error)}.bg-\[var\(--status-error-background\)\],.bg-\[var\(--status-error-background\)\]\/40{background-color:var(--status-error-background)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--status-error-background\)\]\/40{background-color:color-mix(in oklab,var(--status-error-background)40%,transparent)}}.bg-\[var\(--status-error-bg\)\]{background-color:var(--status-error-bg)}.bg-\[var\(--status-info-background\)\]{background-color:var(--status-info-background)}.bg-\[var\(--status-success-background\)\]{background-color:var(--status-success-background)}.bg-\[var\(--status-warning-background\)\]{background-color:var(--status-warning-background)}.bg-\[var\(--status-warning-bg\)\]{background-color:var(--status-warning-bg)}.bg-\[var\(--surface-background\)\]{background-color:var(--surface-background)}.bg-\[var\(--surface-elevated\)\],.bg-\[var\(--surface-elevated\)\]\/60{background-color:var(--surface-elevated)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--surface-elevated\)\]\/60{background-color:color-mix(in oklab,var(--surface-elevated)60%,transparent)}}.bg-\[var\(--surface-muted\)\]{background-color:var(--surface-muted)}.bg-\[var\(--surface-subtle\)\]{background-color:var(--surface-subtle)}.bg-accent,.bg-accent\/40{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/40{background-color:color-mix(in oklab,var(--accent)40%,transparent)}}.bg-amber-100\/50{background-color:#fef3c680}@supports (color:color-mix(in lab,red,red)){.bg-amber-100\/50{background-color:color-mix(in oklab,var(--color-amber-100)50%,transparent)}}.bg-background,.bg-background\/40{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/40{background-color:color-mix(in oklab,var(--background)40%,transparent)}}.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}.bg-background\/70{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/70{background-color:color-mix(in oklab,var(--background)70%,transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}}.bg-black\/25{background-color:#00000040}@supports (color:color-mix(in lab,red,red)){.bg-black\/25{background-color:color-mix(in oklab,var(--color-black)25%,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-border,.bg-border\/40{background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.bg-border\/40{background-color:color-mix(in oklab,var(--border)40%,transparent)}}.bg-border\/60{background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.bg-border\/60{background-color:color-mix(in oklab,var(--border)60%,transparent)}}.bg-border\/70{background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.bg-border\/70{background-color:color-mix(in oklab,var(--border)70%,transparent)}}.bg-card,.bg-card\/90{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/90{background-color:color-mix(in oklab,var(--card)90%,transparent)}}.bg-current{background-color:currentColor}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-green-500{background-color:var(--color-green-500)}.bg-interactive-hover,.bg-interactive-hover\/20{background-color:var(--interactive-hover)}@supports (color:color-mix(in lab,red,red)){.bg-interactive-hover\/20{background-color:color-mix(in oklab,var(--interactive-hover)20%,transparent)}}.bg-interactive-selection,.bg-interactive-selection\/15{background-color:var(--interactive-selection)}@supports (color:color-mix(in lab,red,red)){.bg-interactive-selection\/15{background-color:color-mix(in oklab,var(--interactive-selection)15%,transparent)}}.bg-interactive-selection\/20{background-color:var(--interactive-selection)}@supports (color:color-mix(in lab,red,red)){.bg-interactive-selection\/20{background-color:color-mix(in oklab,var(--interactive-selection)20%,transparent)}}.bg-interactive-selection\/30{background-color:var(--interactive-selection)}@supports (color:color-mix(in lab,red,red)){.bg-interactive-selection\/30{background-color:color-mix(in oklab,var(--interactive-selection)30%,transparent)}}.bg-interactive-selection\/40{background-color:var(--interactive-selection)}@supports (color:color-mix(in lab,red,red)){.bg-interactive-selection\/40{background-color:color-mix(in oklab,var(--interactive-selection)40%,transparent)}}.bg-interactive-selection\/70{background-color:var(--interactive-selection)}@supports (color:color-mix(in lab,red,red)){.bg-interactive-selection\/70{background-color:color-mix(in oklab,var(--interactive-selection)70%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\/40{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.bg-muted-foreground\/50{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/50{background-color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.bg-muted\/5{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/5{background-color:color-mix(in oklab,var(--muted)5%,transparent)}}.bg-muted\/10{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/10{background-color:color-mix(in oklab,var(--muted)10%,transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--muted)40%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-muted\/60{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/60{background-color:color-mix(in oklab,var(--muted)60%,transparent)}}.bg-muted\/80{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/80{background-color:color-mix(in oklab,var(--muted)80%,transparent)}}.bg-primary,.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/12{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/12{background-color:color-mix(in oklab,var(--primary)12%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-primary\/30{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/30{background-color:color-mix(in oklab,var(--primary)30%,transparent)}}.bg-primary\/50{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/50{background-color:color-mix(in oklab,var(--primary)50%,transparent)}}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent\/40{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab,red,red)){.bg-sidebar-accent\/40{background-color:color-mix(in oklab,var(--sidebar-accent)40%,transparent)}}.bg-sidebar-accent\/50{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab,red,red)){.bg-sidebar-accent\/50{background-color:color-mix(in oklab,var(--sidebar-accent)50%,transparent)}}.bg-sidebar\/30{background-color:var(--sidebar)}@supports (color:color-mix(in lab,red,red)){.bg-sidebar\/30{background-color:color-mix(in oklab,var(--sidebar)30%,transparent)}}.bg-sidebar\/50{background-color:var(--sidebar)}@supports (color:color-mix(in lab,red,red)){.bg-sidebar\/50{background-color:color-mix(in oklab,var(--sidebar)50%,transparent)}}.bg-sidebar\/60{background-color:var(--sidebar)}@supports (color:color-mix(in lab,red,red)){.bg-sidebar\/60{background-color:color-mix(in oklab,var(--sidebar)60%,transparent)}}.bg-sidebar\/70{background-color:var(--sidebar)}@supports (color:color-mix(in lab,red,red)){.bg-sidebar\/70{background-color:color-mix(in oklab,var(--sidebar)70%,transparent)}}.bg-sidebar\/90{background-color:var(--sidebar)}@supports (color:color-mix(in lab,red,red)){.bg-sidebar\/90{background-color:color-mix(in oklab,var(--sidebar)90%,transparent)}}.bg-status-error{background-color:var(--status-error)}.bg-status-success{background-color:var(--status-success)}.bg-status-warning,.bg-status-warning\/10{background-color:var(--status-warning)}@supports (color:color-mix(in lab,red,red)){.bg-status-warning\/10{background-color:color-mix(in oklab,var(--status-warning)10%,transparent)}}.bg-transparent{background-color:#0000}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[linear-gradient\(110deg\,color-mix\(in_srgb\,var\(--surface-muted-foreground\)_45\%\,transparent\)\,35\%\,var\(--surface-foreground\)\,50\%\,color-mix\(in_srgb\,var\(--surface-muted-foreground\)_45\%\,transparent\)\,75\%\,color-mix\(in_srgb\,var\(--surface-muted-foreground\)_45\%\,transparent\)\)\]{background-image:linear-gradient(110deg,var(--surface-muted-foreground),35%,var(--surface-foreground),50%,var(--surface-muted-foreground),75%,var(--surface-muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-\[linear-gradient\(110deg\,color-mix\(in_srgb\,var\(--surface-muted-foreground\)_45\%\,transparent\)\,35\%\,var\(--surface-foreground\)\,50\%\,color-mix\(in_srgb\,var\(--surface-muted-foreground\)_45\%\,transparent\)\,75\%\,color-mix\(in_srgb\,var\(--surface-muted-foreground\)_45\%\,transparent\)\)\]{background-image:linear-gradient(110deg,color-mix(in srgb,var(--surface-muted-foreground)45%,transparent),35%,var(--surface-foreground),50%,color-mix(in srgb,var(--surface-muted-foreground)45%,transparent),75%,color-mix(in srgb,var(--surface-muted-foreground)45%,transparent))}}.from-\[var\(--surface-background\)\]{--tw-gradient-from:var(--surface-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-\[length\:200\%_100\%\]{background-size:200% 100%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-muted{fill:var(--muted)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(.125rem*var(--padding-scale,1))}.p-1{padding:calc(.25rem*var(--padding-scale,1))}.p-1\.5{padding:calc(.375rem*var(--padding-scale,1))}.p-2{padding:calc(.5rem*var(--padding-scale,1))}.p-2\.5{padding:calc(.625rem*var(--padding-scale,1))}.p-3{padding:calc(.75rem*var(--padding-scale,1))}.p-4{padding:calc(1rem*var(--padding-scale,1))}.p-6{padding:calc(1.5rem*var(--padding-scale,1))}.p-8{padding:calc(2rem*var(--padding-scale,1))}.p-px{padding:1px}.px-0{padding-inline:0}.px-0\.5{padding-inline:calc(.125rem*var(--padding-scale,1))}.px-1{padding-inline:calc(.25rem*var(--padding-scale,1))}.px-1\.5{padding-inline:calc(.375rem*var(--padding-scale,1))}.px-2{padding-inline:calc(.5rem*var(--padding-scale,1))}.px-2\.5{padding-inline:calc(.625rem*var(--padding-scale,1))}.px-3{padding-inline:calc(.75rem*var(--padding-scale,1))}.px-4{padding-inline:calc(1rem*var(--padding-scale,1))}.px-5{padding-inline:calc(1.25rem*var(--padding-scale,1))}.px-6{padding-inline:calc(1.5rem*var(--padding-scale,1))}.px-10{padding-inline:calc(2.5rem*var(--padding-scale,1))}.py-0{padding-block:0}.py-0\.5{padding-block:calc(.125rem*var(--padding-scale,1))}.py-1{padding-block:calc(.25rem*var(--padding-scale,1))}.py-1\.5{padding-block:calc(.375rem*var(--padding-scale,1))}.py-2{padding-block:calc(.5rem*var(--padding-scale,1))}.py-2\.5{padding-block:calc(.625rem*var(--padding-scale,1))}.py-3{padding-block:calc(.75rem*var(--padding-scale,1))}.py-4{padding-block:calc(1rem*var(--padding-scale,1))}.py-5{padding-block:calc(1.25rem*var(--padding-scale,1))}.py-6{padding-block:calc(1.5rem*var(--padding-scale,1))}.py-8{padding-block:calc(2rem*var(--padding-scale,1))}.py-10{padding-block:calc(2.5rem*var(--padding-scale,1))}.py-12{padding-block:calc(3rem*var(--padding-scale,1))}.py-\[1px\],.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\.5{padding-top:calc(.125rem*var(--padding-scale,1))}.pt-1{padding-top:calc(.25rem*var(--padding-scale,1))}.pt-1\.5{padding-top:calc(.375rem*var(--padding-scale,1))}.pt-2{padding-top:calc(.5rem*var(--padding-scale,1))}.pt-3{padding-top:calc(.75rem*var(--padding-scale,1))}.pt-4{padding-top:calc(1rem*var(--padding-scale,1))}.pt-5{padding-top:calc(1.25rem*var(--padding-scale,1))}.pt-6{padding-top:calc(1.5rem*var(--padding-scale,1))}.pt-10{padding-top:calc(2.5rem*var(--padding-scale,1))}.pt-\[calc\(var\(--oc-safe-area-top\,0px\)\+0\.5rem\)\]{padding-top:calc(var(--oc-safe-area-top,0px) + .5rem)}.pr-1{padding-right:calc(.25rem*var(--padding-scale,1))}.pr-2{padding-right:calc(.5rem*var(--padding-scale,1))}.pr-3{padding-right:calc(.75rem*var(--padding-scale,1))}.pr-4{padding-right:calc(1rem*var(--padding-scale,1))}.pr-5{padding-right:calc(1.25rem*var(--padding-scale,1))}.pr-8{padding-right:calc(2rem*var(--padding-scale,1))}.pr-\[2ch\]{padding-right:2ch}.pb-0{padding-bottom:0}.pb-1{padding-bottom:calc(.25rem*var(--padding-scale,1))}.pb-1\.5{padding-bottom:calc(.375rem*var(--padding-scale,1))}.pb-2{padding-bottom:calc(.5rem*var(--padding-scale,1))}.pb-3{padding-bottom:calc(.75rem*var(--padding-scale,1))}.pb-4{padding-bottom:calc(1rem*var(--padding-scale,1))}.pb-5{padding-bottom:calc(1.25rem*var(--padding-scale,1))}.pb-8{padding-bottom:calc(2rem*var(--padding-scale,1))}.pb-\[calc\(4rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(4rem + env(safe-area-inset-bottom))}.pb-px{padding-bottom:1px}.pl-0{padding-left:0}.pl-1{padding-left:calc(.25rem*var(--padding-scale,1))}.pl-1\.5{padding-left:calc(.375rem*var(--padding-scale,1))}.pl-2{padding-left:calc(.5rem*var(--padding-scale,1))}.pl-2\.5{padding-left:calc(.625rem*var(--padding-scale,1))}.pl-3{padding-left:calc(.75rem*var(--padding-scale,1))}.pl-3\.5{padding-left:calc(.875rem*var(--padding-scale,1))}.pl-4{padding-left:calc(1rem*var(--padding-scale,1))}.pl-4\.5{padding-left:calc(var(--spacing)*4.5)}.pl-5{padding-left:calc(1.25rem*var(--padding-scale,1))}.pl-5\.5{padding-left:calc(var(--spacing)*5.5)}.pl-6{padding-left:calc(1.5rem*var(--padding-scale,1))}.pl-7{padding-left:calc(1.75rem*var(--padding-scale,1))}.pl-8{padding-left:calc(2rem*var(--padding-scale,1))}.pl-9{padding-left:calc(2.25rem*var(--padding-scale,1))}.pl-10{padding-left:calc(2.5rem*var(--padding-scale,1))}.pl-\[1\.4375rem\]{padding-left:1.4375rem}.pl-\[2ch\]{padding-left:2ch}.pl-\[5\.5rem\]{padding-left:5.5rem}.pl-\[5\.75rem\]{padding-left:5.75rem}.pl-\[20px\]{padding-left:20px}.pl-px{padding-left:1px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono,.font-sans{font-family:IBM Plex Mono,JetBrains Mono,Fira Code,SFMono-Regular,Menlo,monospace}.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-\[0\.7rem\]{font-size:.7rem}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-4{--tw-leading:calc(1rem*var(--padding-scale,1));line-height:calc(1rem*var(--padding-scale,1))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.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)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[color\:var\(--status-error\)\]{color:var(--status-error)}.text-\[color\:var\(--status-info\)\]{color:var(--status-info)}.text-\[color\:var\(--status-success\)\]{color:var(--status-success)}.text-\[color\:var\(--status-warning\)\]{color:var(--status-warning)}.text-\[var\(--interactive-selection-foreground\)\]{color:var(--interactive-selection-foreground)}.text-\[var\(--primary-base\)\]{color:var(--primary-base)}.text-\[var\(--primary-foreground\)\]{color:var(--primary-foreground)}.text-\[var\(--status-error\)\]{color:var(--status-error)}.text-\[var\(--status-error-foreground\)\]{color:var(--status-error-foreground)}.text-\[var\(--status-info\)\]{color:var(--status-info)}.text-\[var\(--status-success\)\]{color:var(--status-success)}.text-\[var\(--status-warning\)\]{color:var(--status-warning)}.text-\[var\(--surface-foreground\)\]{color:var(--surface-foreground)}.text-\[var\(--surface-muted-foreground\)\]{color:var(--surface-muted-foreground)}.text-\[var\(--surface-mutedForeground\)\]{color:var(--surface-mutedForeground)}.text-accent-foreground{color:var(--accent-foreground)}.text-amber-500{color:var(--color-amber-500)}.text-amber-800{color:var(--color-amber-800)}.text-blue-500{color:var(--color-blue-500)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-cyan-500{color:var(--color-cyan-500)}.text-destructive,.text-destructive\/80{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/80{color:color-mix(in oklab,var(--destructive)80%,transparent)}}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground,.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,var(--foreground)70%,transparent)}}.text-foreground\/80{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-foreground\/90{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,var(--foreground)90%,transparent)}}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-interactive-selection-foreground{color:var(--interactive-selection-foreground)}.text-muted-foreground,.text-muted-foreground\/30{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/30{color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-muted-foreground\/80{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,var(--muted-foreground)80%,transparent)}}.text-muted-foreground\/90{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/90{color:color-mix(in oklab,var(--muted-foreground)90%,transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-primary\/60{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/60{color:color-mix(in oklab,var(--primary)60%,transparent)}}.text-primary\/80{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,var(--primary)80%,transparent)}}.text-purple-500{color:var(--color-purple-500)}.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-sidebar-foreground\/90{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/90{color:color-mix(in oklab,var(--sidebar-foreground)90%,transparent)}}.text-status-error{color:var(--status-error)}.text-status-info{color:var(--status-info)}.text-status-success{color:var(--status-success)}.text-status-warning{color:var(--status-warning)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--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-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-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)}.ring-0{--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)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + 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-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-primary,.ring-primary\/50{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/50{--tw-ring-color:color-mix(in oklab,var(--primary)50%,transparent)}}.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)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,box-shadow\,opacity\]{transition-property:background-color,border-color,color,box-shadow,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[height\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-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-\[opacity\,transform\]{will-change:opacity,transform}.will-change-scroll{will-change:scroll-position}.will-change-transform{will-change:transform}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[animation-duration\:1s\]{animation-duration:1s}.\[clip-path\:inset\(0_75\%_0_0_round_8px\)\]{clip-path:inset(0 75% 0 0 round 8px)}.\[overflow-anchor\:none\]{overflow-anchor:none}.\[transition\:clip-path_200ms_ease\]{transition:clip-path .2s}.fade-in{--tw-enter-opacity:0}.fade-out{--tw-exit-opacity:0}.paused{animation-play-state:paused}.running{animation-play-state:running}.slide-in-from-bottom-2{--tw-enter-translate-y:calc(2*var(--spacing))}.group-focus-within\/gh\:opacity-100:is(:where(.group\/gh):focus-within *){opacity:1}@media(hover:hover){.group-hover\:flex:is(:where(.group):hover *){display:flex}.group-hover\:hidden:is(:where(.group):hover *){display:none}.group-hover\:-translate-y-full:is(:where(.group):hover *){--tw-translate-y:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:translate-y-0:is(:where(.group):hover *){--tw-translate-y:0;translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:bg-interactive-hover:is(:where(.group):hover *){background-color:var(--interactive-hover)}.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/gh\:opacity-100:is(:where(.group\/gh):hover *){opacity:1}.group-hover\/message\:pointer-events-auto:is(:where(.group\/message):hover *){pointer-events:auto}.group-hover\/message\:opacity-100:is(:where(.group\/message):hover *){opacity:1}.group-hover\/project\:text-foreground:is(:where(.group\/project):hover *){color:var(--foreground)}.group-hover\/project\:opacity-100:is(:where(.group\/project):hover *){opacity:1}.group-hover\/tool\:opacity-0:is(:where(.group\/tool):hover *){opacity:0}.group-hover\/tool\:opacity-100:is(:where(.group\/tool):hover *){opacity:1}.group-hover\/user-actions\:pointer-events-auto:is(:where(.group\/user-actions):hover *){pointer-events:auto}.group-hover\/user-actions\:opacity-100:is(:where(.group\/user-actions):hover *){opacity:1}}.selection\:bg-interactive-selection ::selection{background-color:var(--interactive-selection)}.selection\:bg-interactive-selection::selection{background-color:var(--interactive-selection)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-interactive-selection-foreground ::selection{color:var(--interactive-selection-foreground)}.selection\:text-interactive-selection-foreground::selection{color:var(--interactive-selection-foreground)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(1.75rem*var(--padding-scale,1))}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/50::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/50::placeholder{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-\[-0\.25rem\]:before{content:var(--tw-content);top:-.25rem}.before\:top-\[-0\.45rem\]:before{content:var(--tw-content);top:-.45rem}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:bottom-\[-0\.6rem\]:before{content:var(--tw-content);bottom:-.6rem}.before\:left-\[0\.4375rem\]:before{content:var(--tw-content);left:.4375rem}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:bg-border\/80:before{content:var(--tw-content);background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.before\:bg-border\/80:before{background-color:color-mix(in oklab,var(--border)80%,transparent)}}.before\:content-\[\"\"\]:before{--tw-content:"";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bottom-0:after{content:var(--tw-content);bottom:0}.after\:left-0:after{content:var(--tw-content);left:0}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:origin-bottom-right:after{content:var(--tw-content);transform-origin:100% 100%}.after\:scale-x-0:after{content:var(--tw-content);--tw-scale-x:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.after\:transition-transform:after{content:var(--tw-content);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))}.after\:duration-300:after{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}.after\:ease-in-out:after{content:var(--tw-content);--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.first\:rounded-t-xl:first-child{border-top-left-radius:calc(var(--radius) + 4px);border-top-right-radius:calc(var(--radius) + 4px)}.last\:rounded-b-xl:last-child{border-bottom-right-radius:calc(var(--radius) + 4px);border-bottom-left-radius:calc(var(--radius) + 4px)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:border-ring:focus-within{border-color:var(--ring)}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-0:focus-within{--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-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + 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-within\:ring-\[3px\]:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + 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-within\:ring-primary\/50:focus-within{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-primary\/50:focus-within{--tw-ring-color:color-mix(in oklab,var(--primary)50%,transparent)}}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}@media(hover:hover){.hover\:border-\[rgb\(from_var\(--agent-color\)_r_g_b_\/_0\.2\)\]:hover{border-color:rgb(from var(--agent-color)r g b/.2)}.hover\:border-border:hover,.hover\:border-border\/80:hover{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.hover\:border-border\/80:hover{border-color:color-mix(in oklab,var(--border)80%,transparent)}}.hover\:border-input:hover{border-color:var(--input)}.hover\:border-primary\/50:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.hover\:border-transparent:hover{border-color:#0000}.hover\:\!bg-transparent:hover{background-color:#0000!important}.hover\:bg-\[rgb\(from_var\(--agent-color-bg\)_r_g_b_\/_0\.1\)\]:hover{background-color:rgb(from var(--agent-color-bg)r g b/.1)}.hover\:bg-\[rgb\(var\(--status-error\)\/0\.2\)\]:hover{background-color:rgb(var(--status-error)/.2)}.hover\:bg-\[rgb\(var\(--status-success\)\/0\.2\)\]:hover{background-color:rgb(var(--status-success)/.2)}.hover\:bg-\[var\(--interactive-hover\)\]:hover{background-color:var(--interactive-hover)}.hover\:bg-\[var\(--status-success-background\)\]:hover{background-color:var(--status-success-background)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-background:hover{background-color:var(--background)}.hover\:bg-black\/35:hover{background-color:#00000059}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/35:hover{background-color:color-mix(in oklab,var(--color-black)35%,transparent)}}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-destructive\/15:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/15:hover{background-color:color-mix(in oklab,var(--destructive)15%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-interactive-active:hover{background-color:var(--interactive-active)}.hover\:bg-interactive-hover:hover,.hover\:bg-interactive-hover\/20:hover{background-color:var(--interactive-hover)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-interactive-hover\/20:hover{background-color:color-mix(in oklab,var(--interactive-hover)20%,transparent)}}.hover\:bg-interactive-hover\/30:hover{background-color:var(--interactive-hover)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-interactive-hover\/30:hover{background-color:color-mix(in oklab,var(--interactive-hover)30%,transparent)}}.hover\:bg-interactive-hover\/40:hover{background-color:var(--interactive-hover)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-interactive-hover\/40:hover{background-color:color-mix(in oklab,var(--interactive-hover)40%,transparent)}}.hover\:bg-interactive-hover\/50:hover{background-color:var(--interactive-hover)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-interactive-hover\/50:hover{background-color:color-mix(in oklab,var(--interactive-hover)50%,transparent)}}.hover\:bg-interactive-hover\/60:hover{background-color:var(--interactive-hover)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-interactive-hover\/60:hover{background-color:color-mix(in oklab,var(--interactive-hover)60%,transparent)}}.hover\:bg-interactive-hover\/80:hover{background-color:var(--interactive-hover)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-interactive-hover\/80:hover{background-color:color-mix(in oklab,var(--interactive-hover)80%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/20:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.hover\:bg-primary\/50:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/50:hover{background-color:color-mix(in oklab,var(--primary)50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-sidebar:hover{background-color:var(--sidebar)}.hover\:bg-sidebar-accent\/30:hover{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sidebar-accent\/30:hover{background-color:color-mix(in oklab,var(--sidebar-accent)30%,transparent)}}.hover\:bg-sidebar-accent\/60:hover{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sidebar-accent\/60:hover{background-color:color-mix(in oklab,var(--sidebar-accent)60%,transparent)}}.hover\:bg-sidebar\/40:hover{background-color:var(--sidebar)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sidebar\/40:hover{background-color:color-mix(in oklab,var(--sidebar)40%,transparent)}}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-\[var\(--status-error\)\]:hover{color:var(--status-error)}.hover\:text-\[var\(--status-info\)\]:hover{color:var(--status-info)}.hover\:text-\[var\(--status-success\)\]:hover{color:var(--status-success)}.hover\:text-\[var\(--surface-foreground\)\]:hover{color:var(--surface-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-primary:hover,.hover\:text-primary\/80:hover{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\:text-sidebar-foreground:hover{color:var(--sidebar-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}.hover\:duration-300:hover{--tw-duration:.3s;transition-duration:.3s}.hover\:after\:origin-bottom-left:hover:after{content:var(--tw-content);transform-origin:0 100%}.hover\:after\:scale-x-100:hover:after{content:var(--tw-content);--tw-scale-x:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}}.focus\:border-primary:focus,.focus\:border-primary\/70:focus{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/70:focus{border-color:color-mix(in oklab,var(--primary)70%,transparent)}}.focus\:border-ring:focus{border-color:var(--ring)}.focus\:bg-transparent:focus{background-color:#0000}.focus\:text-destructive:focus{color:var(--destructive)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + 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-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-accent:focus{--tw-ring-color:var(--accent)}.focus\:ring-primary\/50:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/50:focus{--tw-ring-color:color-mix(in oklab,var(--primary)50%,transparent)}}.focus\:ring-primary\/60:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/60:focus{--tw-ring-color:color-mix(in oklab,var(--primary)60%,transparent)}}.focus\:ring-ring:focus,.focus\:ring-ring\/50:focus{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-ring\/50:focus{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus\:ring-offset-2:focus{--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\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:\!bg-transparent:focus-visible{background-color:#0000!important}.focus-visible\:opacity-100:focus-visible{opacity:1}.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-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + 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-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + 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\(--interactive-focus-ring\)\]:focus-visible{--tw-ring-color:var(--interactive-focus-ring)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-primary:focus-visible,.focus-visible\:ring-primary\/50:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-primary\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--primary)50%,transparent)}}.focus-visible\:ring-primary\/60:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-primary\/60:focus-visible{--tw-ring-color:color-mix(in oklab,var(--primary)60%,transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--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-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\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:cursor-grabbing:active{cursor:grabbing}.active\:\!bg-transparent:active{background-color:#0000!important}.active\:bg-\[var\(--interactive-selection\)\]:active{background-color:var(--interactive-selection)}.active\:bg-interactive-active:active{background-color:var(--interactive-active)}.active\:bg-interactive-hover:active{background-color:var(--interactive-hover)}.active\:opacity-80:active{opacity:.8}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-background:disabled{background-color:var(--background)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-100:disabled{opacity:1}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(.75rem*var(--padding-scale,1))}.has-\[\>svg\]\:px-0:has(>svg){padding-inline:0}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(.625rem*var(--padding-scale,1))}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(.75rem*var(--padding-scale,1))}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(1rem*var(--padding-scale,1))}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive[aria-invalid=true],.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[highlighted\]\:bg-interactive-hover[data-highlighted]{background-color:var(--interactive-hover)}.data-\[highlighted\]\:bg-transparent[data-highlighted]{background-color:#0000}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(2rem*var(--padding-scale,1))}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\=true\]\:bg-interactive-selection[data-selected=true]{background-color:var(--interactive-selection)}.data-\[selected\=true\]\:text-interactive-selection-foreground[data-selected=true]{color:var(--interactive-selection-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(.25rem*var(--padding-scale,1));translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(calc(.25rem*var(--padding-scale,1))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(.25rem*var(--padding-scale,1));translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(calc(.25rem*var(--padding-scale,1))*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=chip\]\:h-7[data-size=chip]{height:calc(1.75rem*var(--padding-scale,1))}.data-\[size\=chip\]\:py-1[data-size=chip]{padding-block:calc(.25rem*var(--padding-scale,1))}.data-\[size\=default\]\:h-6[data-size=default]{height:calc(1.5rem*var(--padding-scale,1))}.data-\[size\=lg\]\:h-8[data-size=lg]{height:calc(2rem*var(--padding-scale,1))}.data-\[size\=lg\]\:py-1\.5[data-size=lg]{padding-block:calc(.375rem*var(--padding-scale,1))}.data-\[size\=sm\]\:h-6[data-size=sm]{height:calc(1.5rem*var(--padding-scale,1))}.data-\[size\=sm\]\:h-auto[data-size=sm]{height:auto}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--destructive)90%,transparent)}}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(.5rem*var(--padding-scale,1))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(1rem*var(--padding-scale,1));translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-\[var\(--status-info\)\][data-state=checked]{background-color:var(--status-info)}.data-\[state\=checked\]\:bg-interactive-selection[data-state=checked]{background-color:var(--interactive-selection)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:bg-status-info[data-state=checked]{background-color:var(--status-info)}.data-\[state\=checked\]\:text-interactive-selection-foreground[data-state=checked]{color:var(--interactive-selection-foreground)}.data-\[state\=closed\]\:animate-collapsible-up[data-state=closed]{animation:collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=on\]\:bg-interactive-selection[data-state=on]{background-color:var(--interactive-selection)}.data-\[state\=on\]\:text-interactive-selection-foreground[data-state=on]{color:var(--interactive-selection-foreground)}.data-\[state\=open\]\:animate-collapsible-down[data-state=open]{animation:collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-interactive-active[data-state=open]{background-color:var(--interactive-active)}.data-\[state\=open\]\:text-foreground[data-state=open]{color:var(--foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-\[var\(--interactive-border\)\][data-state=unchecked]{background-color:var(--interactive-border)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}@media(hover:hover){.data-\[variant\=destructive\]\:hover\:bg-destructive\/10[data-variant=destructive]:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:hover\:bg-destructive\/10[data-variant=destructive]:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\[variant\=destructive\]\:hover\:text-destructive[data-variant=destructive]:hover{color:var(--destructive)}}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-\[color\:var\(--sidebar-overlay-soft\)\]{background-color:var(--sidebar-overlay-soft)}.supports-\[backdrop-filter\]\:bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.supports-\[backdrop-filter\]\:bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}}@media(min-width:40rem){.sm\:static{position:static}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-3{height:calc(.75rem*var(--padding-scale,1))}.sm\:h-14{height:calc(3.5rem*var(--padding-scale,1))}.sm\:max-h-\[80vh\]{max-height:80vh}.sm\:max-h-\[380px\]{max-height:380px}.sm\:min-h-0{min-height:0}.sm\:min-h-\[280px\]{min-height:280px}.sm\:w-3{width:calc(.75rem*var(--padding-scale,1))}.sm\:w-14{width:calc(3.5rem*var(--padding-scale,1))}.sm\:w-20{width:calc(5rem*var(--padding-scale,1))}.sm\:w-36{width:calc(9rem*var(--padding-scale,1))}.sm\:w-64{width:calc(16rem*var(--padding-scale,1))}.sm\:w-auto{width:auto}.sm\:max-w-\[180px\]{max-width:180px}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:max-w-xs{max-width:var(--container-xs)}.sm\:min-w-0{min-width:0}.sm\:min-w-\[140px\]{min-width:140px}.sm\:flex-1{flex:1}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-1{gap:calc(.25rem*var(--padding-scale,1))}.sm\:gap-1\.25{gap:calc(var(--spacing)*1.25)}.sm\:gap-2{gap:calc(.5rem*var(--padding-scale,1))}.sm\:gap-4{gap:calc(1rem*var(--padding-scale,1))}:where(.sm\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(1.5rem*var(--padding-scale,1))*var(--tw-space-y-reverse));margin-block-end:calc(calc(1.5rem*var(--padding-scale,1))*calc(1 - var(--tw-space-y-reverse)))}.sm\:gap-x-1{column-gap:calc(.25rem*var(--padding-scale,1))}.sm\:gap-x-4{column-gap:calc(1rem*var(--padding-scale,1))}.sm\:gap-y-1{row-gap:calc(.25rem*var(--padding-scale,1))}.sm\:gap-y-2{row-gap:calc(.5rem*var(--padding-scale,1))}.sm\:border-0{border-style:var(--tw-border-style);border-width:0}.sm\:bg-transparent{background-color:#0000}.sm\:p-0\.5{padding:calc(.125rem*var(--padding-scale,1))}.sm\:p-6{padding:calc(1.5rem*var(--padding-scale,1))}.sm\:px-0{padding-inline:0}.sm\:px-2{padding-inline:calc(.5rem*var(--padding-scale,1))}.sm\:px-2\.5{padding-inline:calc(.625rem*var(--padding-scale,1))}.sm\:px-6{padding-inline:calc(1.5rem*var(--padding-scale,1))}.sm\:py-0{padding-block:0}.sm\:py-1{padding-block:calc(.25rem*var(--padding-scale,1))}.sm\:pt-0{padding-top:0}.sm\:pt-1{padding-top:calc(.25rem*var(--padding-scale,1))}.sm\:pt-4{padding-top:calc(1rem*var(--padding-scale,1))}.sm\:pb-0{padding-bottom:0}.sm\:pb-1\.5{padding-bottom:calc(.375rem*var(--padding-scale,1))}.sm\:pb-3{padding-bottom:calc(.75rem*var(--padding-scale,1))}.sm\:text-left{text-align:left}.sm\:text-\[11px\]{font-size:11px}.sm\:has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(.625rem*var(--padding-scale,1))}}@media(min-width:48rem){.md\:flex{display:flex}.md\:h-16{height:calc(4rem*var(--padding-scale,1))}.md\:w-16{width:calc(4rem*var(--padding-scale,1))}.md\:w-24{width:calc(6rem*var(--padding-scale,1))}.md\:gap-x-3{column-gap:calc(.75rem*var(--padding-scale,1))}.md\:pb-2{padding-bottom:calc(.5rem*var(--padding-scale,1))}.md\:opacity-0{opacity:0}@media(hover:hover){.md\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}}@media(min-width:64rem){.lg\:flex{display:flex}}.dark\:bg-amber-800\/30:is(.dark *){background-color:#953d004d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-800\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-800)30%,transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-foreground\/70:is(.dark *){color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.dark\:text-foreground\/70:is(.dark *){color:color-mix(in oklab,var(--foreground)70%,transparent)}}.dark\:invert:is(.dark *){--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}@media(hover:hover){.dark\:data-\[variant\=destructive\]\:hover\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:hover\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:hover{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}}.\[\&_\.cm-editor\]\:h-full .cm-editor{height:100%}.\[\&_\.cm-editor\]\:w-full .cm-editor{width:100%}.\[\&_\.cm-lineNumbers\]\:text-\[var\(--tools-edit-line-number\)\] .cm-lineNumbers{color:var(--tools-edit-line-number)}.\[\&_\.cm-scroller\]\:relative .cm-scroller{position:relative}.\[\&_\.cm-scroller\]\:pb-\[var\(--oc-plan-comment-pad\)\] .cm-scroller{padding-bottom:var(--oc-plan-comment-pad)}.\[\&_\.cm-scroller\]\:font-mono .cm-scroller{font-family:IBM Plex Mono,JetBrains Mono,Fira Code,SFMono-Regular,Menlo,monospace}.\[\&_\.cm-scroller\]\:leading-6 .cm-scroller{--tw-leading:calc(1.5rem*var(--padding-scale,1));line-height:calc(1.5rem*var(--padding-scale,1))}.\[\&_\.cm-scroller\]\:text-\[var\(--text-code\)\] .cm-scroller{color:var(--text-code)}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(.5rem*var(--padding-scale,1))}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(.375rem*var(--padding-scale,1))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(.5rem*var(--padding-scale,1))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-4 [cmdk-input-wrapper] svg{height:calc(1rem*var(--padding-scale,1))}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-4 [cmdk-input-wrapper] svg{width:calc(1rem*var(--padding-scale,1))}.\[\&_\[cmdk-input\]\]\:h-8 [cmdk-input]{height:calc(2rem*var(--padding-scale,1))}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(.5rem*var(--padding-scale,1))}.\[\&_\[cmdk-item\]\]\:py-1\.5 [cmdk-item]{padding-block:calc(.375rem*var(--padding-scale,1))}.\[\&_\[cmdk-item\]_svg\]\:h-4 [cmdk-item] svg{height:calc(1rem*var(--padding-scale,1))}.\[\&_\[cmdk-item\]_svg\]\:w-4 [cmdk-item] svg{width:calc(1rem*var(--padding-scale,1))}.\[\&_a\]\:no-underline a,.\[\&_a\:hover\]\:no-underline a:hover{text-decoration-line:none}.\[\&_a\[href\*\=\'oc-self-mention\=1\'\]\]\:font-semibold a[href*="oc-self-mention=1"]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_a\[href\*\=\'oc-self-mention\=1\'\]\]\:\!text-\[var\(--primary-base\)\] a[href*="oc-self-mention=1"]{color:var(--primary-base)!important}.\[\&_a\[href\*\=\'oc-self-mention\=1\'\]\]\:\!no-underline a[href*="oc-self-mention=1"]{text-decoration-line:none!important}.\[\&_a\[href\*\=\'oc-self-mention\=1\'\]\:hover\]\:\!text-\[var\(--primary-hover\)\] a[href*="oc-self-mention=1"]:hover{color:var(--primary-hover)!important}.\[\&_ol\:last-child\]\:mb-0 ol:last-child{margin-bottom:0}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_p\:last-child\]\:mb-0 p:last-child{margin-bottom:0}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(.875rem*var(--padding-scale,1));height:calc(.875rem*var(--padding-scale,1))}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(1rem*var(--padding-scale,1));height:calc(1rem*var(--padding-scale,1))}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_ul\:last-child\]\:mb-0 ul:last-child{margin-bottom:0}.\[\&\:\:-moz-range-thumb\]\:h-4::-moz-range-thumb{height:calc(1rem*var(--padding-scale,1))}.\[\&\:\:-moz-range-thumb\]\:h-5::-moz-range-thumb{height:calc(1.25rem*var(--padding-scale,1))}.\[\&\:\:-moz-range-thumb\]\:w-4::-moz-range-thumb{width:calc(1rem*var(--padding-scale,1))}.\[\&\:\:-moz-range-thumb\]\:w-5::-moz-range-thumb{width:calc(1.25rem*var(--padding-scale,1))}.\[\&\:\:-moz-range-thumb\]\:rounded-full::-moz-range-thumb{border-radius:3.40282e38px}.\[\&\:\:-moz-range-thumb\]\:border-0::-moz-range-thumb{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-moz-range-thumb\]\:bg-primary::-moz-range-thumb{background-color:var(--primary)}.\[\&\:\:-moz-range-thumb\]\:shadow-md::-moz-range-thumb{--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)}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:h-4::-webkit-slider-thumb{height:calc(1rem*var(--padding-scale,1))}.\[\&\:\:-webkit-slider-thumb\]\:h-5::-webkit-slider-thumb{height:calc(1.25rem*var(--padding-scale,1))}.\[\&\:\:-webkit-slider-thumb\]\:w-4::-webkit-slider-thumb{width:calc(1rem*var(--padding-scale,1))}.\[\&\:\:-webkit-slider-thumb\]\:w-5::-webkit-slider-thumb{width:calc(1.25rem*var(--padding-scale,1))}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-slider-thumb\]\:bg-primary::-webkit-slider-thumb{background-color:var(--primary)}.\[\&\:\:-webkit-slider-thumb\]\:shadow-md::-webkit-slider-thumb{--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)}.\[\&\:\:-webkit-slider-thumb\]\:transition-transform::-webkit-slider-thumb{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))}@media(hover:hover){.\[\&\:\:-webkit-slider-thumb\]\:hover\:scale-110::-webkit-slider-thumb:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}}.\[\&\:\:-webkit-slider-thumb\]\:active\:scale-95::-webkit-slider-thumb:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(1.5rem*var(--padding-scale,1))}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(1.5rem*var(--padding-scale,1))}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(.5rem*var(--padding-scale,1))}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\>button\]\:top-1\.5>button{top:calc(.375rem*var(--padding-scale,1))}.\[\&\>button\]\:top-2\.5>button{top:calc(.625rem*var(--padding-scale,1))}.\[\&\>button\]\:right-1>button{right:calc(.25rem*var(--padding-scale,1))}.\[\&\>button\]\:right-4>button{right:calc(1rem*var(--padding-scale,1))}.\[\&\>span\:first-child\]\:hidden>span:first-child{display:none}.\[\&\>svg\]\:mr-1>svg{margin-right:calc(.25rem*var(--padding-scale,1))}.\[\&\>svg\]\:size-4>svg{width:calc(1rem*var(--padding-scale,1));height:calc(1rem*var(--padding-scale,1))}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(.125rem*var(--padding-scale,1));translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--is-mobile:0;--device-type:"desktop";--font-scale:1}@media(max-width:1024px){:root.mobile-pointer:not(.desktop-runtime){--is-mobile:1;--device-type:"mobile";--font-scale:.9}}.desktop-only{display:block}.mobile-only{display:none}@media(max-width:1024px){:root.mobile-pointer:not(.desktop-runtime) .desktop-only,:root.desktop-runtime .mobile-only{display:none!important}:root.mobile-pointer:not(.desktop-runtime) .mobile-only{display:block!important}:root.mobile-pointer:not(.desktop-runtime){--text-markdown:1rem;--text-code:.875rem;--text-ui-header:.9375rem;--text-ui-label:.875rem;--text-meta:.875rem;--text-micro:.8125rem}:root.mobile-pointer:not(.desktop-runtime) *{--text-markdown:1rem!important;--text-code:.875rem!important;--text-ui-header:.9375rem!important;--text-ui-label:.875rem!important;--text-meta:.875rem!important;--text-micro:.8125rem!important}:root.mobile-pointer:not(.desktop-runtime) .typography-markdown,:root.mobile-pointer:not(.desktop-runtime) .typography-code,:root.mobile-pointer:not(.desktop-runtime) .typography-ui-header,:root.mobile-pointer:not(.desktop-runtime) .typography-ui-label,:root.mobile-pointer:not(.desktop-runtime) .typography-meta,:root.mobile-pointer:not(.desktop-runtime) .typography-micro{font-size:unset!important}:root.mobile-pointer:not(.desktop-runtime) [class*=tool],:root.mobile-pointer:not(.desktop-runtime) [class*=code]{--text-code:.875rem!important;font-size:var(--text-code)!important}:root.mobile-pointer:not(.desktop-runtime) button,:root.mobile-pointer:not(.desktop-runtime) .btn,:root.mobile-pointer:not(.desktop-runtime) [role=button]{min-width:36px;min-height:36px}:root.mobile-pointer:not(.desktop-runtime) input,:root.mobile-pointer:not(.desktop-runtime) textarea,:root.mobile-pointer:not(.desktop-runtime) select{min-height:36px}:root.mobile-pointer:not(.desktop-runtime) input[type=text],:root.mobile-pointer:not(.desktop-runtime) input[type=search],:root.mobile-pointer:not(.desktop-runtime) input[type=email],:root.mobile-pointer:not(.desktop-runtime) input[type=password],:root.mobile-pointer:not(.desktop-runtime) textarea{font-size:16px!important}:root.mobile-pointer:not(.desktop-runtime) button:not([type=submit]):not([type=button]):not([type=reset]),:root.mobile-pointer:not(.desktop-runtime) .btn,:root.mobile-pointer:not(.desktop-runtime) [role=button]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}:root.mobile-pointer:not(.desktop-runtime) button[inputmode=none]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:auto}:root.mobile-pointer:not(.desktop-runtime) .message-content-text{-webkit-touch-callout:none;-webkit-user-select:text;user-select:text}:root.mobile-pointer:not(.desktop-runtime) .message-content-text.show-system-menu{-webkit-touch-callout:default}:root.mobile-pointer:not(.desktop-runtime) .px-4{padding-left:1rem!important;padding-right:1rem!important}:root.mobile-pointer:not(.desktop-runtime) .py-2{padding-top:.75rem!important;padding-bottom:.75rem!important}:root.mobile-pointer:not(.desktop-runtime) .overflow-hidden{-webkit-overflow-scrolling:touch;overflow:hidden auto!important}:root.mobile-pointer:not(.desktop-runtime),:root.mobile-pointer:not(.desktop-runtime) body{height:100%;height:-webkit-fill-available;overflow:hidden}:root.device-mobile:not(.desktop-runtime) body,:root.device-mobile:not(.desktop-runtime) #root{overscroll-behavior-y:none;width:100%;position:fixed;inset:0;overflow:hidden}:root.mobile-pointer:not(.desktop-runtime) .flex.flex-col.h-screen{height:100vh;height:-webkit-fill-available;min-height:0}:root.device-mobile:not(.desktop-runtime) .header-safe-area{top:var(--oc-visual-viewport-offset-top,0px);z-index:50;width:100%;position:fixed;left:0;right:0}:root.mobile-pointer:not(.desktop-runtime) .flex-1.overflow-hidden{flex:1;min-height:0}:root.mobile-pointer:not(.desktop-runtime) .flex.flex-col.h-full{height:100%;min-height:0}:root.mobile-pointer:not(.desktop-runtime) .flex.flex-col{min-height:0}:root.mobile-pointer:not(.desktop-runtime) .mobile-sidebar-top{top:var(--header-height,3rem);height:calc(100vh - var(--header-height,3rem))}:root.mobile-pointer:not(.desktop-runtime) .header-safe-area{--header-height:3rem}@media(max-width:768px){:root.mobile-pointer:not(.desktop-runtime) .header-safe-area{--header-height:3.5rem}}@media(min-width:769px)and (max-width:1024px){:root.mobile-pointer:not(.desktop-runtime) .header-safe-area{--header-height:3.25rem}}}@supports (-webkit-touch-callout:none){:root.device-mobile:not(.desktop-runtime){--oc-safe-area-top:env(safe-area-inset-top,0);--oc-safe-area-right:env(safe-area-inset-right,0);--oc-safe-area-bottom:env(safe-area-inset-bottom,0);--oc-safe-area-bottom-visual:clamp(0px,calc(var(--oc-safe-area-bottom)*.05),4px);--oc-safe-area-left:env(safe-area-inset-left,0)}:root.device-mobile:not(.desktop-runtime) .header-safe-area{padding-top:var(--oc-safe-area-top)}}@media(display-mode:standalone){@supports (-webkit-touch-callout:none){:root{--oc-safe-area-top:env(safe-area-inset-top,0);--oc-safe-area-right:env(safe-area-inset-right,0);--oc-safe-area-bottom:env(safe-area-inset-bottom,0);--oc-safe-area-bottom-visual:clamp(0px,calc(var(--oc-safe-area-bottom)*.05),4px);--oc-safe-area-left:env(safe-area-inset-left,0)}.header-safe-area{padding-top:var(--oc-safe-area-top)}.main-content-safe-area{padding-top:0;padding-bottom:0;padding-left:var(--oc-safe-area-left);padding-right:var(--oc-safe-area-right)}.bottom-safe-area{padding-bottom:var(--oc-safe-area-bottom-visual)!important}.ios-keyboard-safe-area{padding-bottom:calc(var(--oc-keyboard-home-indicator,34px) + var(--oc-safe-area-bottom-visual,0px))!important}body{overscroll-behavior-y:none;width:100%;min-height:100vh;min-height:-webkit-fill-available;position:fixed;inset:0;overflow:hidden}.flex.flex-col.h-screen{min-height:100vh;min-height:-webkit-fill-available}.flex-1.overflow-hidden{-webkit-overflow-scrolling:touch;position:relative;overflow-y:auto}.header-safe-area,.mobile-sidebar-top{--header-height:4.5rem}.typography-markdown{font-size:1rem!important}.typography-code{font-size:.875rem!important}.typography-ui-header{font-size:.9375rem!important}.typography-ui-label,.typography-meta{font-size:.875rem!important}.typography-micro{font-size:.8125rem!important}[class*=tool],[class*=code]{font-size:.875rem!important}}@supports not (-webkit-touch-callout:none){:root{--oc-safe-area-top:env(safe-area-inset-top,0);--oc-safe-area-right:env(safe-area-inset-right,0);--oc-safe-area-bottom:env(safe-area-inset-bottom,0);--oc-safe-area-bottom-visual:clamp(0px,calc(var(--oc-safe-area-bottom)*.05),4px);--oc-safe-area-left:env(safe-area-inset-left,0)}.header-safe-area{padding-top:var(--oc-safe-area-top)}.main-content-safe-area{padding-top:0;padding-bottom:0;padding-left:var(--oc-safe-area-left);padding-right:var(--oc-safe-area-right)}.bottom-safe-area{padding-bottom:var(--oc-safe-area-bottom-visual)!important}}}@media(display-mode:standalone)and (max-width:768px){.pwa-dialog-content{--pwa-dialog-padding:clamp(.75rem,3vw,1.25rem);top:calc(50% + (var(--oc-safe-area-top,0px)*.22));max-height:calc(100vh - var(--oc-safe-area-top,0px) - var(--oc-safe-area-bottom-visual,0px) - 20px);padding:var(--pwa-dialog-padding);padding-top:calc(var(--pwa-dialog-padding) + (var(--oc-safe-area-top,0px)*.35));--tw-translate-y:calc(-50% + (var(--oc-safe-area-top,0px)*.6));row-gap:clamp(.75rem,2vw,1.25rem)}.pwa-dialog-content.pwa-compact{--pwa-dialog-padding:clamp(.5rem,2vw,.85rem);row-gap:clamp(.45rem,1.5vw,.8rem)}.pwa-dialog-content [data-slot=dialog-close]{top:calc(.25rem + (var(--oc-safe-area-top,0px)*.35));right:var(--pwa-dialog-padding)}.pwa-dialog-content.pwa-compact [data-slot=dialog-close]{top:calc(.2rem + (var(--oc-safe-area-top,0px)*.3))}.pwa-dialog-content .settings-page-body{row-gap:0;max-width:100%;padding:.75rem 1rem}.pwa-dialog-content .settings-page-body>:not([hidden])~:not([hidden]){margin-top:.85rem}.pwa-dialog-content .directory-dialog-body{padding:.5rem .75rem}.pwa-dialog-content .directory-dialog-body .directory-grid{gap:.6rem}.pwa-overlay-panel{margin-bottom:max(var(--oc-safe-area-bottom-visual,0px),12px);padding-bottom:calc(var(--oc-safe-area-bottom-visual,0px)*.4)}.pwa-overlay-panel .pwa-overlay-scroll{padding-bottom:calc(var(--oc-safe-area-bottom-visual,0px) + 12px)}}@media(display-mode:standalone){body:after{content:"";height:var(--oc-safe-area-bottom-visual,var(--oc-safe-area-bottom,env(safe-area-inset-bottom,0)));background:linear-gradient(to top,var(--background)0%,var(--background)30%,rgba(from var(--background)r g b/.8)60%,rgba(from var(--background)r g b/.3)85%,transparent 100%);-webkit-backdrop-filter:blur(10px);z-index:1000;pointer-events:none;position:fixed;bottom:0;left:0;right:0}@supports not (color:rgba(from white r g b / .5)){body:after{background:linear-gradient(to top,var(--background)0%,var(--background)30%,#151313cc 60%,#1513134d 85%,transparent 100%)}:root body:after{background:linear-gradient(to top,var(--background)0%,var(--background)30%,#f8f7f3cc 60%,#f8f7f34d 85%,transparent 100%)}}}textarea[data-chat-input=true]{-webkit-appearance:none;box-shadow:none;border:none;background:0 0!important}textarea[data-chat-input=true]:hover,textarea[data-chat-input=true]:focus,textarea[data-chat-input=true]:focus-visible{box-shadow:none;border:none;outline:none}.oc-cm-selected-line{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.oc-cm-selected-line{background:color-mix(in srgb,var(--accent)70%,transparent)}}.oc-plan-editor .cm-scroller,.oc-plan-editor .cm-content,.oc-plan-editor .cm-gutters{font-family:IBM Plex Sans,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important}.cm-editor .tok-comment,.cm-editor .tok-docComment,.cm-editor .tok-meta,.cm-editor .tok-documentMeta{color:var(--syntax-comment)}.cm-editor .tok-keyword,.cm-editor .tok-controlKeyword,.cm-editor .tok-definitionKeyword,.cm-editor .tok-modifier,.cm-editor .tok-moduleKeyword{color:var(--syntax-keyword)}.cm-editor .tok-operator,.cm-editor .tok-operatorKeyword,.cm-editor .tok-derefOperator,.cm-editor .tok-updateOperator,.cm-editor .tok-definitionOperator,.cm-editor .tok-typeOperator,.cm-editor .tok-controlOperator,.cm-editor .tok-logicOperator,.cm-editor .tok-bitwiseOperator,.cm-editor .tok-arithmeticOperator,.cm-editor .tok-compareOperator{color:var(--syntax-operator)}.cm-editor .tok-string,.cm-editor .tok-special.tok-string,.cm-editor .tok-escape,.cm-editor .tok-regexp,.cm-editor .tok-attributeValue,.cm-editor .tok-monospace{color:var(--syntax-string)}.cm-editor .tok-number,.cm-editor .tok-bool,.cm-editor .tok-atom,.cm-editor .tok-null,.cm-editor .tok-self{color:var(--syntax-number)}.cm-editor .tok-function.tok-variableName,.cm-editor .tok-function.tok-propertyName,.cm-editor .tok-standard.tok-variableName,.cm-editor .tok-special.tok-variableName{color:var(--syntax-function)}.cm-editor .tok-variableName,.cm-editor .tok-definition.tok-variableName,.cm-editor .tok-local.tok-variableName,.cm-editor .tok-constant.tok-variableName,.cm-editor .tok-propertyName,.cm-editor .tok-attributeName{color:var(--syntax-variable)}.cm-editor .tok-className,.cm-editor .tok-typeName,.cm-editor .tok-namespace{color:var(--syntax-type)}.cm-editor .tok-tagName,.cm-editor .tok-labelName,.cm-editor .tok-annotation,.cm-editor .tok-macroName{color:var(--syntax-keyword)}.cm-editor .tok-link{color:var(--syntax-function);text-decoration:underline}.cm-editor .tok-punctuation,.cm-editor .tok-separator,.cm-editor .tok-bracket,.cm-editor .tok-paren,.cm-editor .tok-brace,.cm-editor .tok-squareBracket,.cm-editor .tok-angleBracket{color:var(--syntax-comment)}@supports (color:color-mix(in lab,red,red)){.cm-editor .tok-punctuation,.cm-editor .tok-separator,.cm-editor .tok-bracket,.cm-editor .tok-paren,.cm-editor .tok-brace,.cm-editor .tok-squareBracket,.cm-editor .tok-angleBracket{color:color-mix(in srgb,var(--syntax-comment)85%,var(--syntax-foreground)15%)}}.cm-editor .cm-comment,.cm-editor .cm-meta{color:var(--syntax-comment)}.cm-editor .cm-keyword,.cm-editor .cm-tag{color:var(--syntax-keyword)}.cm-editor .cm-operator{color:var(--syntax-operator)}.cm-editor .cm-string,.cm-editor .cm-string-2,.cm-editor .cm-link{color:var(--syntax-string)}.cm-editor .cm-number,.cm-editor .cm-atom{color:var(--syntax-number)}.cm-editor .cm-builtin,.cm-editor .cm-def{color:var(--syntax-function)}.cm-editor .cm-variable,.cm-editor .cm-variable-2,.cm-editor .cm-property,.cm-editor .cm-attribute{color:var(--syntax-variable)}.cm-editor .cm-variable-3{color:var(--syntax-type)}.cm-editor .cm-punctuation{color:var(--syntax-comment)}@supports (color:color-mix(in lab,red,red)){.cm-editor .cm-punctuation{color:color-mix(in srgb,var(--syntax-comment)85%,var(--syntax-foreground)15%)}}:root.vscode-runtime textarea[data-chat-input=true]::placeholder{color:var(--vscode-input-placeholderForeground,var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){:root.vscode-runtime textarea[data-chat-input=true]::placeholder{color:color-mix(in srgb,var(--vscode-input-placeholderForeground,var(--muted-foreground))65%,transparent)}}[data-chat-input=true]+div[data-chat-input-footer=true]{box-shadow:none;-webkit-appearance:none;border:none;background:0 0!important}[data-keyboard-avoid-active=true]{transform:translateY(calc(-1*var(--oc-keyboard-avoid-offset,0px)))}[data-scroll-shadow=true]{--scroll-shadow-size:var(--scroll-shadow-size,48px)}[data-scroll-shadow=true][data-orientation=vertical]{-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-source-type:alpha;mask-mode:alpha}[data-scroll-shadow=true][data-orientation=vertical][data-top-bottom-scroll=true]{mask-image:linear-gradient(to bottom,transparent 0%,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 var(--scroll-shadow-size),#000 calc(100% - var(--scroll-shadow-size)),transparent 100%)}[data-scroll-shadow=true][data-orientation=vertical][data-top-scroll=true]{mask-image:linear-gradient(to bottom,transparent 0%,#000 var(--scroll-shadow-size),#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 var(--scroll-shadow-size),#000 100%)}[data-scroll-shadow=true][data-orientation=vertical][data-bottom-scroll=true]{mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--scroll-shadow-size)),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--scroll-shadow-size)),transparent 100%)}@keyframes spin-once{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes oc-migrate-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes gradient-shimmer{0%{stop-color:currentColor}50%{stop-color:color-mix(in srgb,currentColor 60%,white 40%)}to{stop-color:currentColor}}@keyframes shimmer-position{0%{x:-100%}to{x:100%}}@keyframes oc-file-mention-marquee{0%{transform:translate(0)}to{transform:translate(calc(-100% + var(--file-mention-marquee-width,360px)))}}.file-mention-marquee-container{--file-mention-marquee-width:360px;--file-mention-marquee-duration:4s}.file-mention-marquee{animation:oc-file-mention-marquee var(--file-mention-marquee-duration,4s)linear .2s 1 both;will-change:transform}button svg.remixicon,[role=button] svg.remixicon,button svg,[role=button] svg{shape-rendering:geometricPrecision;fill:none!important;background:0 0!important}button svg:not(.animate-spin),[role=button] svg:not(.animate-spin){transform:translateZ(0)}button svg rect,button svg circle,[role=button] svg rect,[role=button] svg circle{fill:none!important}button svg.remixicon path,button svg.remixicon circle[fill],[role=button] svg.remixicon path,[role=button] svg.remixicon circle[fill],button svg path,[role=button] svg path{fill:currentColor!important}.animate-spin{will-change:transform!important;background:0 0!important;animation:1s linear infinite webkit-spin!important}svg.animate-spin{transform-box:fill-box!important;transform-origin:50%!important;background:0 0!important;display:block!important;overflow:visible!important}@keyframes webkit-spin{0%{transform:translateZ(0)rotate(0)}to{transform:translateZ(0)rotate(360deg)}}.app-region-drag{-webkit-app-region:drag}.app-region-no-drag{-webkit-app-region:no-drag}.animate-spin-once{animation:.5s linear forwards spin-once}::-webkit-scrollbar{-webkit-appearance:none;background:0 0;width:10px!important;height:10px!important}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--oc-scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--oc-scrollbar-thumb-hover);background-clip:padding-box}.dark{color-scheme:dark;--oc-scrollbar-thumb:oklch(60% .02 80/.3);--oc-scrollbar-thumb-hover:oklch(60% .02 80/.5)}[data-scrollbar=chat]::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}[data-scrollbar=chat].chat-scroll,.chat-scroll{scrollbar-gutter:stable both-edges}html:not(.dark) .chat-scroll{color-scheme:dark}[data-scrollbar=chat]::-webkit-scrollbar{-webkit-appearance:none;background:0 0!important;width:10px!important;height:10px!important}[data-scrollbar=chat].chat-scroll::-webkit-scrollbar{width:10px!important;height:10px!important}.chat-scroll::-webkit-scrollbar{width:10px!important;height:10px!important}[data-scrollbar=chat]::-webkit-scrollbar-track{background:0 0!important}[data-scrollbar=chat].chat-scroll::-webkit-scrollbar-track{background:0 0!important}.chat-scroll::-webkit-scrollbar-track{background:0 0!important}[data-scrollbar=chat]::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:6px;background:var(--oc-scrollbar-thumb)!important}[data-scrollbar=chat].chat-scroll::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:6px;background:var(--oc-scrollbar-thumb)!important}.chat-scroll::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:6px;background:var(--oc-scrollbar-thumb)!important}[data-scrollbar=chat]::-webkit-scrollbar-thumb:hover{background-clip:padding-box;background:var(--oc-scrollbar-thumb-hover)!important}[data-scrollbar=chat].chat-scroll::-webkit-scrollbar-thumb:hover{background-clip:padding-box;background:var(--oc-scrollbar-thumb-hover)!important}.chat-scroll::-webkit-scrollbar-thumb:hover{background-clip:padding-box;background:var(--oc-scrollbar-thumb-hover)!important}[data-scrollbar=chat]::-webkit-scrollbar-corner{background:0 0!important}.overlay-scrollbar-target{scrollbar-width:none!important;-ms-overflow-style:none!important;scrollbar-gutter:auto!important}.overlay-scrollbar-target::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}*{scrollbar-width:thin;scrollbar-color:var(--oc-scrollbar-thumb)transparent}.scrollbar-hidden{scrollbar-width:none!important}.scrollbar-hidden::-webkit-scrollbar{width:0!important;height:0!important}.dark *{scrollbar-color:oklch(60% .02 80/.3) transparent}.overlay-scrollbar{pointer-events:none;z-index:10;transition:opacity .2s;position:absolute;inset:0}.overlay-scrollbar__thumb{pointer-events:auto;background:var(--oc-scrollbar-thumb);opacity:.8;will-change:transform,height;border-radius:9999px;width:6px;transition:background-color .15s,opacity .15s;position:absolute}.overlay-scrollbar__thumb:hover,.overlay-scrollbar__thumb:active{background:var(--oc-scrollbar-thumb-hover);opacity:1}.overlay-scrollbar__thumb--horizontal{height:6px;margin:0}.overlay-scrollbar__thumb--vertical{margin:0}.pierre-diff-wrapper{--diffs-font-family:var(--font-mono,"IBM Plex Mono",monospace);--diffs-font-size:var(--text-code,13px);--diffs-line-height:1.5;--diffs-tab-size:2;--diffs-header-font-family:var(--font-sans,"IBM Plex Sans",sans-serif);--diffs-min-number-column-width:4ch;--diffs-gap-inline:0;--diffs-gap-block:0}:root:not(.mobile-pointer) .pierre-diff-wrapper{--diffs-font-size:.8125rem}.pierre-diff-wrapper,.pierre-diff-wrapper diffs-container{backface-visibility:hidden;-webkit-overflow-scrolling:touch;transform:translateZ(0)}.pierre-diff-wrapper diffs-container{display:block}:root:not(.mobile-pointer):not(.vscode-runtime) .header-tab-label,:root:not(.mobile-pointer):not(.vscode-runtime) .header-open-label{display:inline}@media(max-width:940px){:root:not(.mobile-pointer):not(.vscode-runtime) .header-tab-label,:root:not(.mobile-pointer):not(.vscode-runtime) .header-open-label{display:none}:root:not(.mobile-pointer):not(.vscode-runtime) .header-tab-badge{margin-left:-.125rem}}.tool-input-surface pre,.tool-input-surface code,.tool-input-surface blockquote,.tool-input-text{background:0 0!important}:root.vscode-runtime .tool-input-surface,:root.vscode-runtime .tool-output-surface{font-size:var(--text-code)!important}:root.vscode-runtime .tool-input-surface code,:root.vscode-runtime .tool-input-surface pre,:root.vscode-runtime .tool-output-surface code,:root.vscode-runtime .tool-output-surface pre{font-size:inherit!important}@container model-controls (max-width:11rem){.model-controls__agent-label{display:none}}@container model-controls (max-width:9rem){.model-controls__model-label,:root.vscode-runtime .model-controls__agent-label{display:none}}@container model-controls (max-width:10rem){:root.vscode-runtime .model-controls__model-label{display:none}}@container commit-actions (max-width:28rem){.commit-actions__label--long{display:none}}@container commit-actions (max-width:22rem){.commit-actions__label{display:none}.commit-actions__btn{padding-inline:.5rem}}@container git-header (max-width:26rem){.git-header-label{display:none}}@container animated-tabs (max-width:23rem){.animated-tabs__label{display:none}.animated-tabs__button{gap:0;padding-inline:.5rem}}.streamdown-content{font-family:var(--font-sans);font-size:var(--text-markdown)}.streamdown-content.streamdown-tool{font-size:var(--text-code)!important}.streamdown-content.streamdown-tool code,.streamdown-content.streamdown-tool pre{font-size:inherit!important}.streamdown-content h1{margin-top:1em;margin-bottom:.5em;font-size:1.125em;font-weight:600}.streamdown-content h2{margin-top:.875em;margin-bottom:.375em;font-size:1.0625em;font-weight:600}.streamdown-content h3{margin-top:.75em;margin-bottom:.25em;font-size:1em;font-weight:600}.streamdown-content h4,.streamdown-content h5,.streamdown-content h6{margin-top:.625em;margin-bottom:.25em;font-size:1em;font-weight:600}.streamdown-content code,.streamdown-content pre{font-family:var(--font-mono);font-size:var(--text-code)}.streamdown-content code[data-streamdown=inline-code]{background-color:var(--markdown-inline-code-bg,var(--surface-muted))!important;color:var(--markdown-inline-code,var(--foreground))!important}.streamdown-content h1{color:var(--markdown-heading1,var(--primary))}.streamdown-content h2{color:var(--markdown-heading2,var(--primary))}.streamdown-content h3{color:var(--markdown-heading3,var(--primary))}.streamdown-content h4,.streamdown-content h5,.streamdown-content h6{color:var(--markdown-heading4,var(--foreground))}.streamdown-content a{color:var(--markdown-link,var(--primary))}.streamdown-content a:hover{color:var(--markdown-link-hover,var(--primary))}.streamdown-content blockquote{color:var(--markdown-blockquote,var(--muted-foreground));border-left-color:var(--markdown-blockquote-border,var(--border))}.streamdown-content hr{border-color:var(--markdown-hr,var(--border))}.streamdown-content strong{color:var(--markdown-bold,var(--foreground))}.streamdown-content em{color:var(--markdown-italic,var(--foreground))}.streamdown-content del{color:var(--markdown-strikethrough,var(--muted-foreground))}.streamdown-content [data-streamdown=code-block-body]{font-size:var(--text-code);background-color:var(--shiki-light-bg,transparent);color:var(--shiki-light,inherit)}.dark .streamdown-content [data-streamdown=code-block-body]{background-color:var(--shiki-dark-bg,var(--shiki-light-bg,transparent));color:var(--shiki-dark,var(--shiki-light,inherit))}.dark .streamdown-content [data-streamdown=code-block-body] span[style*=--shiki-dark]{color:var(--shiki-dark)!important}.streamdown-content ul{padding-left:1.5em;list-style-type:disc;list-style-position:outside}.streamdown-content ol{padding-left:1.5em;list-style-type:decimal;list-style-position:outside}.streamdown-content li{display:list-item}[data-streamdown=code-block-header]{padding:.375rem .75rem}.streamdown-content [data-streamdown=code-block]{content-visibility:visible!important;contain-intrinsic-size:none!important}.terminal-viewport-container textarea,.terminal-viewport-container input{caret-color:#0000!important}.terminal-viewport-container [contenteditable=true][aria-label="Terminal input"],[contenteditable=true][aria-label="Terminal input"]{caret-color:#0000!important;outline:none!important}.terminal-viewport-container textarea:not([data-terminal-hidden-input=true]){opacity:0!important;clip-path:inset(100%)!important;color:#0000!important;-webkit-text-fill-color:transparent!important;width:0!important;height:0!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important;border:0!important;outline:none!important;font-size:0!important;line-height:0!important}textarea[aria-label="Terminal input"],input[aria-label="Terminal input"]{caret-color:#0000!important;color:#0000!important;-webkit-text-fill-color:transparent!important;opacity:0!important;clip-path:inset(100%)!important;outline:none!important;width:0!important;height:0!important}input[data-terminal-hidden-input=true],textarea[data-terminal-hidden-input=true]{appearance:none;caret-color:#0000!important;color:#0000!important;-webkit-text-fill-color:transparent!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important;border:0!important;outline:none!important}input[data-terminal-hidden-input=true]::selection{color:#0000;background:0 0}textarea[data-terminal-hidden-input=true]::selection{color:#0000;background:0 0}input[data-terminal-hidden-input=true]::placeholder,textarea[data-terminal-hidden-input=true]::placeholder{color:#0000!important}@media(max-width:1024px){.terminal-viewport-container{font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}}.fonts-loading .terminal-viewport-container{font-family:monospace}.fonts-loaded .terminal-viewport-container{font-family:JetBrainsMono Nerd Font,FiraCode Nerd Font,Fira Code,JetBrains Mono,SFMono-Regular,Menlo,Consolas,Liberation Mono,Courier New,monospace}@keyframes grid-pulse{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.animate-grid-pulse{animation:1.2s ease-in-out infinite grid-pulse}@keyframes attention-diamond-pulse{0%,to{opacity:.52}50%{opacity:.92}}.animate-attention-diamond-pulse{animation:2.3s ease-in-out infinite attention-diamond-pulse}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}.marquee-text{white-space:nowrap;display:inline-block}.marquee-text--auto{will-change:transform;animation:6s linear infinite alternate marquee-scroll}.group:hover .marquee-text--active,.marquee-text--active:hover{animation:5s linear infinite alternate marquee-scroll}@media(prefers-reduced-motion:reduce){.marquee-text--auto,.group:hover .marquee-text--active,.marquee-text--active:hover,.animate-grid-pulse,.animate-attention-diamond-pulse{animation:none}}@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-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes collapsible-down{0%{height:0}to{height:var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto))))}}@keyframes collapsible-up{0%{height:var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto))))}to{height:0}}
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-.bun-KwPUu5oc.js","assets/vendor--DEobTDja.css","assets/main-Dyy8WvPJ.js","assets/main-C1GggQif.css"])))=>i.map(i=>d[i]);
2
+ import{_ as G}from"./vendor-.bun-KwPUu5oc.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))o(n);new MutationObserver(n=>{for(const s of n)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&o(l)}).observe(document,{childList:!0,subtree:!0});function r(n){const s={};return n.integrity&&(s.integrity=n.integrity),n.referrerPolicy&&(s.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?s.credentials="include":n.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function o(n){if(n.ep)return;n.ep=!0;const s=r(n);fetch(n.href,s)}})();const W=1,b=1,M="/api/terminal/input-ws",B=1200,q=1e3,K=3e4,z=250,H=2e4,Y=5e3,P="__ikanbanTerminalInputWsState",V=new TextEncoder,X=new TextDecoder,D=e=>{if(/^wss?:\/\//i.test(e))return e;if(/^https?:\/\//i.test(e)){const o=new URL(e);return o.protocol=o.protocol==="https:"?"wss:":"ws:",o.toString()}if(typeof window>"u")return"";const t=e.startsWith("/")?e:`/${e}`;return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}${t}`},x=e=>{const t=V.encode(JSON.stringify(e)),r=new Uint8Array(t.length+1);return r[0]=W,r.set(t,1),r},L=e=>e?((e.transports??[]).includes("ws")||e.preferred==="ws")&&typeof e.ws?.path=="string"&&e.ws.path.length>0:!1;class J{socket=null;socketUrl="";boundSessionId=null;openPromise=null;reconnectTimeout=null;reconnectAttempt=0;keepaliveInterval=null;closed=!1;configure(t){if(t){if(this.socketUrl===t){if(this.closed=!1,this.isConnectedOrConnecting())return;this.ensureConnected();return}this.socketUrl=t,this.closed=!1,this.resetConnection(),this.ensureConnected()}}async sendInput(t,r){if(!t||!r||this.closed||!this.socketUrl)return!1;const o=await this.getOpenSocket(B);if(!o||o.readyState!==b)return!1;try{return this.boundSessionId!==t&&(o.send(x({t:"b",s:t,v:1})),this.boundSessionId=t),o.send(r),!0}catch{return this.handleSocketFailure(),!1}}unbindSession(t){t&&this.boundSessionId===t&&(this.boundSessionId=null)}close(){this.closed=!0,this.clearReconnectTimeout(),this.resetConnection(),this.socketUrl=""}prime(){this.closed||!this.socketUrl||this.isConnectedOrConnecting()||this.ensureConnected()}isConnectedOrConnecting(t){return this.closed||t&&this.socketUrl!==t?!1:this.socket&&(this.socket.readyState===WebSocket.OPEN||this.socket.readyState===WebSocket.CONNECTING)?!0:this.openPromise!==null}sendControl(t){if(!this.socket||this.socket.readyState!==b)return!1;try{return this.socket.send(x(t)),!0}catch{return this.handleSocketFailure(),!1}}startKeepalive(){this.stopKeepalive(),this.keepaliveInterval=setInterval(()=>{this.closed||this.sendControl({t:"p",v:1})},H)}stopKeepalive(){this.keepaliveInterval&&(clearInterval(this.keepaliveInterval),this.keepaliveInterval=null)}scheduleReconnect(){if(this.closed||!this.socketUrl||this.reconnectTimeout)return;const t=Math.min(q*Math.pow(2,this.reconnectAttempt),K),r=Math.floor(Math.random()*z),o=t+r;this.reconnectTimeout=setTimeout(()=>{this.reconnectTimeout=null,this.reconnectAttempt+=1,this.ensureConnected()},o)}clearReconnectTimeout(){this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null)}async getOpenSocket(t){if(this.socket&&this.socket.readyState===b)return this.socket;if(this.ensureConnected(),this.socket&&this.socket.readyState===b)return this.socket;const r=await Promise.race([this.openPromise??Promise.resolve(null),new Promise(o=>{setTimeout(()=>o(null),t)})]);return r&&r.readyState===b?r:this.socket&&this.socket.readyState===b?this.socket:null}ensureConnected(){this.closed||!this.socketUrl||this.socket&&(this.socket.readyState===WebSocket.OPEN||this.socket.readyState===WebSocket.CONNECTING)||this.openPromise||(this.clearReconnectTimeout(),this.openPromise=new Promise(t=>{let r=!1,o=null;const n=s=>{r||(r=!0,o&&(clearTimeout(o),o=null),this.openPromise=null,t(s))};try{const s=new WebSocket(this.socketUrl);s.binaryType="arraybuffer",s.onopen=()=>{this.socket=s,this.reconnectAttempt=0,this.startKeepalive(),n(s)},s.onmessage=l=>{this.handleSocketMessage(l.data)},s.onclose=()=>{this.socket===s&&(this.socket=null,this.boundSessionId=null,this.stopKeepalive(),this.closed||this.scheduleReconnect()),n(null)},this.socket=s,o=setTimeout(()=>{s.readyState===WebSocket.CONNECTING&&(s.close(),n(null))},Y)}catch{n(null),this.closed||this.scheduleReconnect()}}))}async handleSocketMessage(t){const r=await this.asUint8Array(t);if(!(!r||r.length<2)&&r[0]===W)try{const o=JSON.parse(X.decode(r.subarray(1)));if(o.t==="po")return;o.t==="e"&&((o.c==="NOT_BOUND"||o.c==="SESSION_NOT_FOUND")&&(this.boundSessionId=null),o.f===!0&&this.handleSocketFailure())}catch{this.handleSocketFailure()}}async asUint8Array(t){if(t instanceof ArrayBuffer)return new Uint8Array(t);if(t instanceof Uint8Array)return t;if(typeof Blob<"u"&&t instanceof Blob){const r=await t.arrayBuffer();return new Uint8Array(r)}return null}handleSocketFailure(){this.boundSessionId=null,this.resetConnection(),this.scheduleReconnect()}resetConnection(){if(this.openPromise=null,this.stopKeepalive(),this.socket){const t=this.socket;this.socket=null,t.onopen=null,t.onmessage=null,t.onerror=null,t.onclose=null,(t.readyState===WebSocket.OPEN||t.readyState===WebSocket.CONNECTING)&&t.close()}this.boundSessionId=null}}const m=()=>{const e=globalThis;return e[P]||(e[P]={capability:null,manager:null}),e[P]},U=e=>{const t=m();if(t.capability=e??null,!L(t.capability)){t.manager?.close(),t.manager=null;return}const r=t.capability?.ws?.path;if(!r)return;const o=D(r);o&&(t.manager||(t.manager=new J),t.manager.configure(o))},Q=async(e,t)=>{const r=await fetch(`/api/terminal/${e}/input`,{method:"POST",headers:{"Content-Type":"text/plain"},body:t});if(!r.ok){const o=await r.json().catch(()=>({error:"Failed to send input"}));throw new Error(o.error||"Failed to send terminal input")}};async function Z(e){const t=await fetch("/api/terminal/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e.cwd,cols:e.cols||80,rows:e.rows||24})});if(!t.ok){const o=await t.json().catch(()=>({error:"Failed to create terminal"}));throw new Error(o.error||"Failed to create terminal session")}const r=await t.json();return U(r.capabilities?.input),r}function tt(e,t,r,o={}){const{maxRetries:n=3,initialRetryDelay:s=1e3,maxRetryDelay:l=8e3,connectionTimeout:d=1e4}=o;let c=null,p=0,w=null,u=null,g=!1,k=!1,T=!1;const j=()=>{w&&(clearTimeout(w),w=null),u&&(clearTimeout(u),u=null)},O=()=>{g=!0,j(),c&&(c.close(),c=null)},C=()=>{if(!(g||T)){if(c&&c.readyState!==EventSource.CLOSED){console.warn("Attempted to create duplicate EventSource, skipping");return}k=!1,c=new EventSource(`/api/terminal/${e}/stream`),u=setTimeout(()=>{!k&&c?.readyState!==EventSource.OPEN&&(console.error("Terminal connection timeout"),c?.close(),N(new Error("Connection timeout"),!1))},d),c.onopen=()=>{k||(k=!0,p=0,j(),t({type:"connected"}))},c.onmessage=S=>{try{const y=JSON.parse(S.data);y.type==="exit"&&(m().manager?.unbindSession(e),T=!0,O()),t(y)}catch(y){console.error("Failed to parse terminal event:",y),r?.(y,!1)}},c.onerror=S=>{console.error("Terminal stream error:",S,"readyState:",c?.readyState),j();const y=T||c?.readyState===EventSource.CLOSED;c?.close(),c=null,T||N(new Error("Terminal stream connection error"),y)}}},N=(S,y)=>{if(!(g||T))if(p<n&&!y){p++;const F=Math.min(s*Math.pow(2,p-1),l);console.log(`Reconnecting to terminal stream (attempt ${p}/${n}) in ${F}ms`),t({type:"reconnecting",attempt:p,maxAttempts:n}),w=setTimeout(()=>{!g&&!T&&C()},F)}else console.error(`Terminal connection failed after ${p} attempts`),r?.(S,!0),O()};return C(),O}async function et(e,t){const r=m();r.manager&&await r.manager.sendInput(e,t)||await Q(e,t)}async function rt(e,t,r){const o=await fetch(`/api/terminal/${e}/resize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cols:t,rows:r})});if(!o.ok){const n=await o.json().catch(()=>({error:"Failed to resize terminal"}));throw new Error(n.error||"Failed to resize terminal")}}async function ot(e){m().manager?.unbindSession(e);const t=await fetch(`/api/terminal/${e}`,{method:"DELETE"});if(!t.ok){const r=await t.json().catch(()=>({error:"Failed to close terminal"}));throw new Error(r.error||"Failed to close terminal")}}async function nt(e,t){m().manager?.unbindSession(e);const r=await fetch(`/api/terminal/${e}/restart`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:t.cwd,cols:t.cols??80,rows:t.rows??24})});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to restart terminal"}));throw new Error(n.error||"Failed to restart terminal")}const o=await r.json();return U(o.capabilities?.input),o}async function st(e){const t=await fetch("/api/terminal/force-kill",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const r=await t.json().catch(()=>({error:"Failed to force kill terminal"}));throw new Error(r.error||"Failed to force kill terminal")}e.sessionId&&m().manager?.unbindSession(e.sessionId)}function ae(){const e=m();if(e.capability&&!L(e.capability))return;const t=e.capability?.ws?.path??M,r=D(t);r&&(e.manager||(e.manager=new J),!e.manager.isConnectedOrConnecting(r)&&(e.manager.configure(r),e.manager.prime()))}const it=e=>{const t=e?.retry;return{maxRetries:t?.maxRetries??3,initialRetryDelay:t?.initialDelayMs??1e3,maxRetryDelay:t?.maxDelayMs??8e3,connectionTimeout:e?.connectionTimeoutMs??1e4}},at=()=>({async createSession(e){return Z(e)},connect(e,t,r){const o=tt(e,t.onEvent,t.onError,it(r));return{close:()=>o()}},async sendInput(e,t){await et(e,t)},async resize(e){await rt(e.sessionId,e.cols,e.rows)},async close(e){await ot(e)},async restartSession(e,t){return nt(e,{cwd:t.cwd??"",cols:t.cols,rows:t.rows})},async forceKill(e){await st(e)}}),ct=()=>{if(typeof window>"u")return"";const e=window.__IKANBAN_DESKTOP_SERVER__?.origin;return e||window.location.origin},i="/api/git";function a(e,t,r){const o=new URL(e,ct());if(t&&o.searchParams.set("directory",t),r)for(const[n,s]of Object.entries(r))s!==void 0&&o.searchParams.set(n,String(s));return o.toString()}async function lt(e){const t=await fetch(a(`${i}/check`,e));if(!t.ok)throw new Error(`Failed to check git repository: ${t.statusText}`);return(await t.json()).isGitRepository}async function ut(e){const t=await fetch(a(`${i}/status`,e));if(!t.ok)throw new Error(`Failed to get git status: ${t.statusText}`);return t.json()}async function ht(e,t){const{path:r,staged:o,contextLines:n}=t;if(!r)throw new Error("path is required to fetch git diff");const s=await fetch(a(`${i}/diff`,e,{path:r,staged:o?"true":void 0,context:n}));if(!s.ok)throw new Error(`Failed to get git diff: ${s.statusText}`);return s.json()}async function dt(e,t){const{path:r,staged:o}=t;if(!r)throw new Error("path is required to fetch git file diff");const n=await fetch(a(`${i}/file-diff`,e,{path:r,staged:o?"true":void 0}));if(!n.ok)throw new Error(`Failed to get git file diff: ${n.statusText}`);return n.json()}async function ft(e,t){if(!t)throw new Error("path is required to revert git changes");const r=await fetch(a(`${i}/revert`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to revert git changes")}}async function pt(e){if(!e)return!1;const t=await fetch(a(`${i}/worktree-type`,e));if(!t.ok)throw new Error(`Failed to detect worktree type: ${t.statusText}`);return!!(await t.json()).linked}async function wt(e){const t=await fetch(a(`${i}/branches`,e));if(!t.ok)throw new Error(`Failed to get branches: ${t.statusText}`);return t.json()}async function yt(e,t){if(!t?.branch)throw new Error("branch is required to delete a branch");const r=await fetch(a(`${i}/branches`,e),{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to delete branch")}return r.json()}async function mt(e,t){if(!t?.branch)throw new Error("branch is required to delete remote branch");const r=await fetch(a(`${i}/remote-branches`,e),{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to delete remote branch")}return r.json()}async function gt(e,t,r){if(!Array.isArray(t)||t.length===0)throw new Error("No files provided to generate commit message");const o={files:t};r?.zenModel&&(o.zenModel=r.zenModel);const n=await fetch(a(`${i}/commit-message`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!n.ok){const c=await n.json().catch(()=>({error:n.statusText}));throw new Error(c.error||"Failed to generate commit message")}const s=await n.json();if(!s?.message||typeof s.message!="object")throw new Error("Malformed commit generation response");const l=typeof s.message.subject=="string"&&s.message.subject.trim().length>0?s.message.subject.trim():"",d=Array.isArray(s.message.highlights)?s.message.highlights.filter(c=>typeof c=="string"&&c.trim().length>0).map(c=>c.trim()):[];return{message:{subject:l,highlights:d}}}async function Tt(e,t){const{base:r,head:o,context:n,zenModel:s}=t;if(!r||!o)throw new Error("base and head are required");const l={base:r,head:o};n?.trim()&&(l.context=n.trim()),s&&(l.zenModel=s);const d=await fetch(a(`${i}/pr-description`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!d.ok){const u=await d.json().catch(()=>({error:d.statusText}));throw new Error(u.error||"Failed to generate PR description")}const c=await d.json().catch(()=>null),p=typeof c?.title=="string"?c.title:"",w=typeof c?.body=="string"?c.body:"";if(!p&&!w)throw new Error("Malformed PR description response");return{title:p,body:w}}async function I(e){const t=await fetch(a(`${i}/worktrees`,e));if(!t.ok){const r=await t.json().catch(()=>({error:t.statusText}));throw new Error(r.error||"Failed to list worktrees")}return t.json()}async function v(e,t){const r=await fetch(a(`${i}/worktrees/validate`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to validate worktree")}return r.json()}async function A(e,t){const r=await fetch(a(`${i}/worktrees`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to create worktree")}return r.json()}async function $(e,t){const r=await fetch(a(`${i}/worktrees`,e),{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to delete worktree")}return r.json()}async function bt(e,t,r={}){const o=await fetch(a(`${i}/commit`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:t,addAll:r.addAll??!1,files:r.files})});if(!o.ok){const n=await o.json().catch(()=>({error:o.statusText}));throw new Error(n.error||"Failed to create commit")}return o.json()}async function St(e,t={}){const r=await fetch(a(`${i}/push`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to push")}return r.json()}async function kt(e,t={}){const r=await fetch(a(`${i}/pull`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to pull")}return r.json()}async function Et(e,t={}){const r=await fetch(a(`${i}/fetch`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to fetch")}return r.json()}async function jt(e,t){const r=await fetch(a(`${i}/checkout`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branch:t})});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to checkout branch")}return r.json()}async function Ot(e,t,r){const o=await fetch(a(`${i}/branches`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t,startPoint:r})});if(!o.ok){const n=await o.json().catch(()=>({error:o.statusText}));throw new Error(n.error||"Failed to create branch")}return o.json()}async function Pt(e,t,r){const o=await fetch(a(`${i}/branches/rename`,e),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({oldName:t,newName:r})});if(!o.ok){const n=await o.json().catch(()=>({error:o.statusText}));throw new Error(n.error||"Failed to rename branch")}return o.json()}async function Ct(e,t={}){const r=await fetch(a(`${i}/log`,e,{maxCount:t.maxCount,from:t.from,to:t.to,file:t.file}));if(!r.ok)throw new Error(`Failed to get git log: ${r.statusText}`);return r.json()}async function Nt(e,t){const r=await fetch(a(`${i}/commit-files`,e,{hash:t}));if(!r.ok)throw new Error(`Failed to get commit files: ${r.statusText}`);return r.json()}async function Ft(){const e=await fetch(a(`${i}/identities`,void 0));if(!e.ok)throw new Error(`Failed to get git identities: ${e.statusText}`);return e.json()}async function xt(e){const t=await fetch(a(`${i}/identities`,void 0),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const r=await t.json().catch(()=>({error:t.statusText}));throw new Error(r.error||"Failed to create git identity")}return t.json()}async function It(e,t){const r=await fetch(a(`${i}/identities/${e}`,void 0),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to update git identity")}return r.json()}async function vt(e){const t=await fetch(a(`${i}/identities/${e}`,void 0),{method:"DELETE"});if(!t.ok){const r=await t.json().catch(()=>({error:t.statusText}));throw new Error(r.error||"Failed to delete git identity")}}async function At(e){if(!e)return null;const t=await fetch(a(`${i}/current-identity`,e));if(!t.ok)throw new Error(`Failed to get current git identity: ${t.statusText}`);const r=await t.json();return r?{userName:r.userName??null,userEmail:r.userEmail??null,sshCommand:r.sshCommand??null}:null}async function $t(e){if(!e)return!1;const t=await fetch(a(`${i}/has-local-identity`,e));if(!t.ok)throw new Error(`Failed to check local identity: ${t.statusText}`);return(await t.json().catch(()=>null))?.hasLocalIdentity===!0}async function ce(){const e=await fetch(a(`${i}/global-identity`,void 0));if(!e.ok)throw new Error(`Failed to get global git identity: ${e.statusText}`);const t=await e.json();return!t||!t.userName&&!t.userEmail?null:{userName:t.userName??null,userEmail:t.userEmail??null,sshCommand:t.sshCommand??null}}async function Rt(e,t){const r=await fetch(a(`${i}/set-identity`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({profileId:t})});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to set git identity")}return r.json()}async function le(){const e=await fetch(a(`${i}/discover-credentials`,void 0));if(!e.ok)throw new Error(`Failed to discover git credentials: ${e.statusText}`);return e.json()}async function _t(e){const t=await fetch(a(`${i}/remotes`,e));if(!t.ok)throw new Error(`Failed to get remotes: ${t.statusText}`);return t.json()}async function Gt(e,t){const r=await fetch(a(`${i}/rebase`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to rebase")}return r.json()}async function Wt(e){const t=await fetch(a(`${i}/rebase/abort`,e),{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>({error:t.statusText}));throw new Error(r.error||"Failed to abort rebase")}return t.json()}async function Dt(e,t){const r=await fetch(a(`${i}/merge`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to merge")}return r.json()}async function Lt(e){const t=await fetch(a(`${i}/merge/abort`,e),{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>({error:t.statusText}));throw new Error(r.error||"Failed to abort merge")}return t.json()}async function Jt(e){const t=await fetch(a(`${i}/rebase/continue`,e),{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>({error:t.statusText}));throw new Error(r.error||"Failed to continue rebase")}return t.json()}async function Ut(e){const t=await fetch(a(`${i}/merge/continue`,e),{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>({error:t.statusText}));throw new Error(r.error||"Failed to continue merge")}return t.json()}async function Mt(e,t){const r=await fetch(a(`${i}/stash`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t||{})});if(!r.ok){const o=await r.json().catch(()=>({error:r.statusText}));throw new Error(o.error||"Failed to stash")}return r.json()}async function Bt(e){const t=await fetch(a(`${i}/stash/pop`,e),{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>({error:t.statusText}));throw new Error(r.error||"Failed to pop stash")}return t.json()}async function qt(e){const t=await fetch(a(`${i}/conflict-details`,e));if(!t.ok)throw new Error(`Failed to get conflict details: ${t.statusText}`);return t.json()}const Kt=()=>({checkIsGitRepository:lt,getGitStatus:ut,getGitDiff:ht,getGitFileDiff:dt,revertGitFile:ft,isLinkedWorktree:pt,getGitBranches:wt,deleteGitBranch:yt,deleteRemoteBranch:mt,generateCommitMessage:gt,generatePullRequestDescription:Tt,listGitWorktrees:I,validateGitWorktree:v,createGitWorktree:A,deleteGitWorktree:$,createGitCommit(e,t,r){return bt(e,t,r)},gitPush:St,gitPull:kt,gitFetch:Et,checkoutBranch:jt,createBranch:Ot,renameBranch:Pt,getGitLog(e,t){return Ct(e,t)},getCommitFiles:Nt,getCurrentGitIdentity:At,hasLocalIdentity:$t,setGitIdentity:Rt,getGitIdentities:Ft,createGitIdentity:xt,updateGitIdentity:It,deleteGitIdentity:vt,getRemotes:_t,rebase:Gt,abortRebase:Wt,continueRebase:Jt,merge:Dt,abortMerge:Lt,continueMerge:Ut,stash:Mt,stashPop:Bt,getConflictDetails:qt,worktree:{list:I,validate:v,create:A,remove:$}}),f=e=>e.replace(/\\/g,"/"),zt=(e,t)=>{const r=f(t?.directory||t?.path||e),o=Array.isArray(t?.entries)?t.entries:[];return{directory:r,entries:o.filter(n=>!!(n&&typeof n.name=="string"&&typeof n.path=="string")).map(n=>({name:n.name,path:f(n.path),isDirectory:!!n.isDirectory}))}},Ht=()=>({async listDirectory(e){const t=f(e),r=new URLSearchParams;t&&r.set("path",t);const o=await fetch(`/api/fs/list${r.toString()?`?${r.toString()}`:""}`);if(!o.ok){const s=await o.json().catch(()=>({error:o.statusText}));throw new Error(s.error||"Failed to list directory")}const n=await o.json();return zt(t,n)},async search(e){const t=new URLSearchParams,r=f(e.directory);r&&t.set("directory",r),t.set("q",e.query),typeof e.maxResults=="number"&&Number.isFinite(e.maxResults)&&t.set("limit",String(e.maxResults)),e.includeHidden&&t.set("includeHidden","true");const o=await fetch(`/api/fs/search?${t.toString()}`);if(!o.ok){const l=await o.json().catch(()=>({error:o.statusText}));throw new Error(l.error||"Failed to search files")}const n=await o.json();return(Array.isArray(n?.files)?n.files:[]).filter(l=>!!(l&&typeof l.path=="string")).map(l=>({path:f(l.path),preview:typeof l.relativePath=="string"&&l.relativePath.length>0?[f(l.relativePath)]:void 0}))},async createDirectory(e){const t=f(e),r=await fetch("/api/fs/mkdir",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!r.ok){const n=await r.json().catch(()=>({error:r.statusText}));throw new Error(n.error||"Failed to create directory")}const o=await r.json();return{success:!!o?.success,path:typeof o?.path=="string"?f(o.path):t}},async readFile(e){const t=f(e),r=await fetch(`/api/fs/read?path=${encodeURIComponent(t)}`);if(!r.ok){const n=await r.json().catch(()=>({error:r.statusText}));throw new Error(n.error||"Failed to read file")}return{content:await r.text(),path:t}},async writeFile(e,t){const r=f(e),o=await fetch("/api/fs/write",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:r,content:t})});if(!o.ok){const s=await o.json().catch(()=>({error:o.statusText}));throw new Error(s.error||"Failed to write file")}const n=await o.json().catch(()=>({}));return{success:!!n.success,path:typeof n.path=="string"?f(n.path):r}},async delete(e){const t=f(e),r=await fetch("/api/fs/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!r.ok){const n=await r.json().catch(()=>({error:r.statusText}));throw new Error(n.error||"Failed to delete file")}return{success:!!(await r.json().catch(()=>({}))).success}},async rename(e,t){const r=await fetch("/api/fs/rename",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({oldPath:e,newPath:t})});if(!r.ok){const n=await r.json().catch(()=>({error:r.statusText}));throw new Error(n.error||"Failed to rename file")}const o=await r.json().catch(()=>({}));return{success:!!o.success,path:typeof o.path=="string"?f(o.path):t}}}),R="/api/config/settings",Yt="/api/config/reload",_=e=>!e||typeof e!="object"?{}:e,Vt=()=>({async load(){const e=await fetch(R,{method:"GET",headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`Failed to load settings: ${e.statusText}`);return{settings:_(await e.json().catch(()=>({}))),source:"web"}},async save(e){const t=await fetch(R,{method:"PUT",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(e)});if(!t.ok){const o=await t.json().catch(()=>({error:t.statusText}));throw new Error(o.error||"Failed to save settings")}return _(await t.json().catch(()=>({})))},async restartOpenCode(){const e=await fetch(Yt,{method:"POST"});if(!e.ok){const t=await e.json().catch(()=>({error:e.statusText}));throw new Error(t.error||"Failed to restart OpenCode")}return{restarted:!0}}}),Xt=()=>({async requestDirectoryAccess(e){return{success:!0,path:e.path}},async startAccessingDirectory(e){return{success:!0}},async stopAccessingDirectory(e){return{success:!0}}}),Qt=async e=>{if(typeof Notification>"u")return console.info("Notifications not supported in this environment",e),!1;if(Notification.permission==="default"&&await Notification.requestPermission()!=="granted"||Notification.permission!=="granted")return console.warn("Notification permission not granted"),!1;try{return new Notification(e?.title??"IKanban",{body:e?.body,tag:e?.tag}),!0}catch(t){return console.warn("Failed to send notification",t),!1}},Zt=async e=>{if(typeof window>"u")return!1;const t=window.__TAURI__;if(!t?.core?.invoke)return!1;try{return await t.core.invoke("desktop_notify",{payload:{title:e?.title,body:e?.body,tag:e?.tag}}),!0}catch(r){return console.warn("Failed to send native notification (tauri)",r),!1}},te=()=>({async notifyAgentCompletion(e){return await Zt(e)||Qt(e)},canNotify:()=>typeof window<"u"&&window.__TAURI__?.core?.invoke?!0:typeof Notification<"u"?Notification.permission==="granted":!1}),ee=()=>({async getAvailableTools(){const e=await fetch("/api/experimental/tool/ids");if(!e.ok)throw new Error(`Tools API returned ${e.status} ${e.statusText}`);const t=await e.json();if(!Array.isArray(t))throw new Error("Tools API returned invalid data format");return t.filter(r=>typeof r=="string"&&r!=="invalid").sort()}}),E=async(e,t)=>{try{const r=await fetch(e,{...t,credentials:"include",headers:{Accept:"application/json",...t?.headers??{}}});return r.ok?await r.json():null}catch{return null}},re=()=>({async getVapidPublicKey(){return E("/api/push/vapid-public-key")},async subscribe(e){return E("/api/push/subscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})},async unsubscribe(e){return E("/api/push/subscribe",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})},async setVisibility(e){return E("/api/push/visibility",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),keepalive:!0})}}),h=async e=>await e.json().catch(()=>null),oe=()=>({async authStatus(){const e=await fetch("/api/github/auth/status",{method:"GET",headers:{Accept:"application/json"}}),t=await h(e);if(!e.ok||!t)throw new Error(t?.error||e.statusText||"Failed to load GitHub status");return t},async authStart(){const e=await fetch("/api/github/auth/start",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({})}),t=await h(e);if(!e.ok||!t||!("deviceCode"in t))throw new Error(t?.error||e.statusText||"Failed to start GitHub auth");return t},async authComplete(e){const t=await fetch("/api/github/auth/complete",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({deviceCode:e})}),r=await h(t);if(!t.ok||!r)throw new Error(r?.error||t.statusText||"Failed to complete GitHub auth");return r},async authDisconnect(){const e=await fetch("/api/github/auth",{method:"DELETE",headers:{Accept:"application/json"}}),t=await h(e);if(!e.ok)throw new Error(t?.error||e.statusText||"Failed to disconnect GitHub");return{removed:!!t?.removed}},async authActivate(e){const t=await fetch("/api/github/auth/activate",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({accountId:e})}),r=await h(t);if(!t.ok||!r)throw new Error(r?.error||t.statusText||"Failed to activate GitHub account");return r},async me(){const e=await fetch("/api/github/me",{method:"GET",headers:{Accept:"application/json"}}),t=await h(e);if(!e.ok||!t)throw new Error(t?.error||e.statusText||"Failed to fetch GitHub user");return t},async prStatus(e,t,r){const o=new URLSearchParams({directory:e,branch:t,...r?{remote:r}:{}}),n=await fetch(`/api/github/pr/status?${o.toString()}`,{method:"GET",headers:{Accept:"application/json"}}),s=await h(n);if(!n.ok||!s)throw new Error(s?.error||n.statusText||"Failed to load PR status");return s},async prCreate(e){const t=await fetch("/api/github/pr/create",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(e)}),r=await h(t);if(!t.ok||!r)throw new Error(r?.error||t.statusText||"Failed to create PR");return r},async prUpdate(e){const t=await fetch("/api/github/pr/update",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(e)}),r=await h(t);if(!t.ok||!r)throw new Error(r?.error||t.statusText||"Failed to update PR");return r},async prMerge(e){const t=await fetch("/api/github/pr/merge",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(e)}),r=await h(t);if(!t.ok||!r)throw new Error(r?.error||t.statusText||"Failed to merge PR");return r},async prReady(e){const t=await fetch("/api/github/pr/ready",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(e)}),r=await h(t);if(!t.ok||!r)throw new Error(r?.error||t.statusText||"Failed to mark PR ready");return r},async prsList(e,t){const r=t?.page??1,o=await fetch(`/api/github/pulls/list?directory=${encodeURIComponent(e)}&page=${encodeURIComponent(String(r))}`,{method:"GET",headers:{Accept:"application/json"}}),n=await h(o);if(!o.ok||!n)throw new Error(n?.error||o.statusText||"Failed to load pull requests");return n},async prContext(e,t,r){const o=new URL("/api/github/pulls/context",window.location.origin);o.searchParams.set("directory",e),o.searchParams.set("number",String(t)),r?.includeDiff&&o.searchParams.set("diff","1"),r?.includeCheckDetails&&o.searchParams.set("checkDetails","1");const n=await fetch(o.toString(),{method:"GET",headers:{Accept:"application/json"}}),s=await h(n);if(!n.ok||!s)throw new Error(s?.error||n.statusText||"Failed to load pull request context");return s},async issuesList(e,t){const r=t?.page??1,o=await fetch(`/api/github/issues/list?directory=${encodeURIComponent(e)}&page=${encodeURIComponent(String(r))}`,{method:"GET",headers:{Accept:"application/json"}}),n=await h(o);if(!o.ok||!n)throw new Error(n?.error||o.statusText||"Failed to load issues");return n},async issueGet(e,t){const r=await fetch(`/api/github/issues/get?directory=${encodeURIComponent(e)}&number=${encodeURIComponent(String(t))}`,{method:"GET",headers:{Accept:"application/json"}}),o=await h(r);if(!r.ok||!o)throw new Error(o?.error||r.statusText||"Failed to load issue");return o},async issueComments(e,t){const r=await fetch(`/api/github/issues/comments?directory=${encodeURIComponent(e)}&number=${encodeURIComponent(String(t))}`,{method:"GET",headers:{Accept:"application/json"}}),o=await h(r);if(!r.ok||!o)throw new Error(o?.error||r.statusText||"Failed to load issue comments");return o}}),ne=()=>({runtime:{platform:"web",isDesktop:!1,isVSCode:!1,label:"web"},terminal:at(),git:Kt(),files:Ht(),settings:Vt(),permissions:Xt(),notifications:te(),github:oe(),push:re(),tools:ee()});function se(e={}){const{immediate:t=!1,onNeedRefresh:r,onOfflineReady:o,onRegistered:n,onRegisteredSW:s,onRegisterError:l}=e;let d,c;const p=async(u=!0)=>{await c};async function w(){if("serviceWorker"in navigator){if(d=await G(async()=>{const{Workbox:u}=await import("./vendor-.bun-KwPUu5oc.js").then(g=>g.dY);return{Workbox:u}},__vite__mapDeps([0,1])).then(({Workbox:u})=>new u("/sw.js",{scope:"/",type:"classic"})).catch(u=>{l?.(u)}),!d)return;d.addEventListener("activated",u=>{(u.isUpdate||u.isExternal)&&window.location.reload()}),d.addEventListener("installed",u=>{u.isUpdate||o?.()}),d.register({immediate:t}).then(u=>{s?s("/sw.js",u):n?.(u)}).catch(u=>{l?.(u)})}}return c=w(),p}window.__IKANBAN_RUNTIME_APIS__=ne();se({onRegistered(e){e&&setInterval(()=>{e.update()},3600*1e3)},onRegisterError(e){console.warn("[PWA] service worker registration failed:",e)}});G(()=>import("./main-Dyy8WvPJ.js").then(e=>e.m),__vite__mapDeps([2,0,1,3]));export{A as a,mt as b,lt as c,$ as d,wt as e,vt as f,ut as g,xt as h,le as i,ce as j,Ft as k,I as l,_t as m,Tt as n,qt as o,yt as p,ot as q,Pt as r,ae as s,It as u,v};
@@ -0,0 +1 @@
1
+ :root{--fireworks-duration-ms: .9s}.fireworks-overlay{position:fixed;inset:0;pointer-events:none;z-index:70;overflow:hidden;mix-blend-mode:normal}.dark .fireworks-overlay{mix-blend-mode:screen}.fireworks-overlay[data-muted=true]{display:none}.firework-burst{position:absolute;top:var(--burst-y, 50%);left:var(--burst-x, 50%);width:1px;height:1px}.firework-particle{position:absolute;width:var(--particle-size, 6px);height:var(--particle-size, 6px);border-radius:999px;background:var(--firework-color, var(--status-success));box-shadow:0 0 12px #ffffff40;opacity:0;transform:translate(-50%,-50%) scale(.4);animation:firework-pop var(--firework-duration, var(--fireworks-duration-ms)) ease-out forwards;animation-delay:calc(var(--burst-delay, 0ms) + var(--particle-delay, 0ms))}.firework-particle:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:2px;background:currentColor;border-radius:inherit;transform:translate(-50%,-50%);opacity:.5}@keyframes firework-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}10%{opacity:1}70%{opacity:.95}to{opacity:0;transform:translate(calc(-50% + var(--translate-x, 0px)),calc(-50% + var(--translate-y, 0px))) scale(0)}}@media(prefers-reduced-motion:reduce){.fireworks-overlay{display:none}}