@runweave/server-linux-x64 0.1.23 → 0.1.24

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 (103) hide show
  1. package/manifest.json +190 -200
  2. package/native.tar.gz +0 -0
  3. package/package.json +1 -1
  4. package/payload/app-server/build-info.json +4 -4
  5. package/payload/app-server/index.cjs +46 -25
  6. package/payload/app-server/index.cjs.map +1 -1
  7. package/payload/backend/activity-sqlite-worker.cjs +33 -21
  8. package/payload/backend/build-info.json +4 -4
  9. package/payload/backend/dev-resources/control.cjs +158 -59
  10. package/payload/backend/index.cjs +2052 -1737
  11. package/payload/backend/scheduled-tasks-sqlite-worker.cjs +12 -0
  12. package/payload/frontend/dist/assets/{_baseUniq-V9OGBCCp.js → _baseUniq-Ba3pSqKA.js} +1 -1
  13. package/payload/frontend/dist/assets/{access-Bw9yaM2u.js → access-C1Ww0gdD.js} +1 -1
  14. package/payload/frontend/dist/assets/{advanced-BspSUvyf.js → advanced-BZJuI68m.js} +1 -1
  15. package/payload/frontend/dist/assets/{appearance-BHYR2QUj.js → appearance-Btma-0NG.js} +1 -1
  16. package/payload/frontend/dist/assets/{arc-C4bVuMy6.js → arc-B44-ZMF9.js} +1 -1
  17. package/payload/frontend/dist/assets/{architectureDiagram-Q4EWVU46-B_EOBe6n.js → architectureDiagram-Q4EWVU46-CJ7zCB_3.js} +1 -1
  18. package/payload/frontend/dist/assets/{blockDiagram-DXYQGD6D-aAkbmNO9.js → blockDiagram-DXYQGD6D-l7dgY79m.js} +1 -1
  19. package/payload/frontend/dist/assets/{c4Diagram-AHTNJAMY-DKeUolGU.js → c4Diagram-AHTNJAMY-aNNQInyV.js} +1 -1
  20. package/payload/frontend/dist/assets/channel-DVHsGC9c.js +1 -0
  21. package/payload/frontend/dist/assets/{chunk-4BX2VUAB-cB5sH0Mw.js → chunk-4BX2VUAB-2W54u8LL.js} +1 -1
  22. package/payload/frontend/dist/assets/{chunk-4TB4RGXK-CxVRfINM.js → chunk-4TB4RGXK-CJuTStu-.js} +1 -1
  23. package/payload/frontend/dist/assets/{chunk-55IACEB6-BFRLEEBY.js → chunk-55IACEB6-DcOWjj1X.js} +1 -1
  24. package/payload/frontend/dist/assets/{chunk-EDXVE4YY-DA5BuoT3.js → chunk-EDXVE4YY-Depu37hh.js} +1 -1
  25. package/payload/frontend/dist/assets/{chunk-FMBD7UC4-DIvA96Y1.js → chunk-FMBD7UC4-CTzWCktW.js} +1 -1
  26. package/payload/frontend/dist/assets/{chunk-OYMX7WX6-8Zl-vtJp.js → chunk-OYMX7WX6-DryiNt82.js} +1 -1
  27. package/payload/frontend/dist/assets/{chunk-QZHKN3VN-DnW4X6Wx.js → chunk-QZHKN3VN-DVwx49kx.js} +1 -1
  28. package/payload/frontend/dist/assets/{chunk-YZCP3GAM-CH4YkXv-.js → chunk-YZCP3GAM-X1PkQV8g.js} +1 -1
  29. package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-CmciHFmk.js +1 -0
  30. package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-CmciHFmk.js +1 -0
  31. package/payload/frontend/dist/assets/clone-DxGSjF8z.js +1 -0
  32. package/payload/frontend/dist/assets/{connection-CINMNAPm.js → connection-zVFEL2VH.js} +1 -1
  33. package/payload/frontend/dist/assets/{connections-DsHGQRR2.js → connections-BYoc3Px5.js} +1 -1
  34. package/payload/frontend/dist/assets/{cose-bilkent-S5V4N54A-Dm1QOjDr.js → cose-bilkent-S5V4N54A-D5JSjBwS.js} +1 -1
  35. package/payload/frontend/dist/assets/{dagre-KV5264BT-BEbPPDoW.js → dagre-KV5264BT-C7wEsUEu.js} +1 -1
  36. package/payload/frontend/dist/assets/{desktop-1jdcRQ7b.js → desktop-DlSOatR2.js} +1 -1
  37. package/payload/frontend/dist/assets/{diagram-5BDNPKRD-C-DmBIhV.js → diagram-5BDNPKRD-BJVOoWUV.js} +1 -1
  38. package/payload/frontend/dist/assets/{diagram-G4DWMVQ6-Ddv6Kw2_.js → diagram-G4DWMVQ6-B-dyOrNQ.js} +1 -1
  39. package/payload/frontend/dist/assets/{diagram-MMDJMWI5-Xae79J8R.js → diagram-MMDJMWI5-DoTfUnHA.js} +1 -1
  40. package/payload/frontend/dist/assets/{diagram-TYMM5635-CavrGRG2.js → diagram-TYMM5635-yVeltO6V.js} +1 -1
  41. package/payload/frontend/dist/assets/{erDiagram-SMLLAGMA-BRRD8F-e.js → erDiagram-SMLLAGMA-BHIOahrf.js} +1 -1
  42. package/payload/frontend/dist/assets/{flowDiagram-DWJPFMVM-C-ewssi0.js → flowDiagram-DWJPFMVM-Bnkh3X2r.js} +1 -1
  43. package/payload/frontend/dist/assets/{ganttDiagram-T4ZO3ILL-BcZnXV6L.js → ganttDiagram-T4ZO3ILL-BRFZUfp9.js} +1 -1
  44. package/payload/frontend/dist/assets/{gitGraphDiagram-UUTBAWPF-ZcfWVMGG.js → gitGraphDiagram-UUTBAWPF-wXS21tDN.js} +1 -1
  45. package/payload/frontend/dist/assets/{graph-DRJG1bKF.js → graph-Cwj2x7na.js} +1 -1
  46. package/payload/frontend/dist/assets/{image-GQYH_1h4.js → image-CXpMpz27.js} +1 -1
  47. package/payload/frontend/dist/assets/index-B2PyTNyh.js +1258 -0
  48. package/payload/frontend/dist/assets/{infoDiagram-42DDH7IO-BWsoBaYn.js → infoDiagram-42DDH7IO-BzTeaphH.js} +1 -1
  49. package/payload/frontend/dist/assets/{ishikawaDiagram-UXIWVN3A-C3ayGr4G.js → ishikawaDiagram-UXIWVN3A-C_i1EUdW.js} +1 -1
  50. package/payload/frontend/dist/assets/{journeyDiagram-VCZTEJTY-DB1DxZ1v.js → journeyDiagram-VCZTEJTY-B1fcPcA4.js} +1 -1
  51. package/payload/frontend/dist/assets/{kanban-definition-6JOO6SKY-CtZWN0CK.js → kanban-definition-6JOO6SKY-BC5fXbSI.js} +1 -1
  52. package/payload/frontend/dist/assets/{layout-KX5XwX_6.js → layout-dRQexo61.js} +1 -1
  53. package/payload/frontend/dist/assets/{linear-DMZrhooi.js → linear-DpsIhjfr.js} +1 -1
  54. package/payload/frontend/dist/assets/{main-LH8ULGFT.js → main-BFEoEwax.js} +142 -142
  55. package/payload/frontend/dist/assets/main-BO-hQK7n.css +33 -0
  56. package/payload/frontend/dist/assets/{min-CWc1cxEQ.js → min-Rr06WGlZ.js} +1 -1
  57. package/payload/frontend/dist/assets/{mindmap-definition-QFDTVHPH-tj_8hDDH.js → mindmap-definition-QFDTVHPH-CAecNSWV.js} +1 -1
  58. package/payload/frontend/dist/assets/{monitoring-BaUd-PhH.js → monitoring-D9LcExp-.js} +1 -1
  59. package/payload/frontend/dist/assets/{notifications-CTv1WVBh.js → notifications-BgW6p0Rk.js} +1 -1
  60. package/payload/frontend/dist/assets/{pieDiagram-DEJITSTG-Cwc4Gfp4.js → pieDiagram-DEJITSTG-CJgyNjut.js} +1 -1
  61. package/payload/frontend/dist/assets/{quadrantDiagram-34T5L4WZ-Clq2RqDJ.js → quadrantDiagram-34T5L4WZ-C_60Mu33.js} +1 -1
  62. package/payload/frontend/dist/assets/{record-content-DQ0F1zbW.js → record-content-BEOv45kJ.js} +1 -1
  63. package/payload/frontend/dist/assets/{requirementDiagram-MS252O5E-gaTHj3JP.js → requirementDiagram-MS252O5E-C3HwQcbl.js} +1 -1
  64. package/payload/frontend/dist/assets/{sankeyDiagram-XADWPNL6-CyBolt3D.js → sankeyDiagram-XADWPNL6-RJ6EzD70.js} +1 -1
  65. package/payload/frontend/dist/assets/{sequenceDiagram-FGHM5R23-CO4UgRHw.js → sequenceDiagram-FGHM5R23-QiYuqsIk.js} +1 -1
  66. package/payload/frontend/dist/assets/{stateDiagram-FHFEXIEX-ygBwN1Az.js → stateDiagram-FHFEXIEX-DscVhCkw.js} +1 -1
  67. package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-CBosnJqY.js +1 -0
  68. package/payload/frontend/dist/assets/{status-BOcUUbE9.js → status-TMGwGaid.js} +1 -1
  69. package/payload/frontend/dist/assets/suiji-BFib0tK9.js +1 -0
  70. package/payload/frontend/dist/assets/{svg-BfkbqvDT.js → svg-BR3UkgEE.js} +1 -1
  71. package/payload/frontend/dist/assets/{tabs-88TVAJwX.js → tabs-FQPVRwwQ.js} +1 -1
  72. package/payload/frontend/dist/assets/{timeline-definition-GMOUNBTQ-8Iy3eg4l.js → timeline-definition-GMOUNBTQ-CrYFg2HY.js} +1 -1
  73. package/payload/frontend/dist/assets/{vennDiagram-DHZGUBPP-DLcttV2t.js → vennDiagram-DHZGUBPP-Do4I-ilO.js} +1 -1
  74. package/payload/frontend/dist/assets/{wardley-RL74JXVD-DUvr0OYP.js → wardley-RL74JXVD-CA9NRCtl.js} +1 -1
  75. package/payload/frontend/dist/assets/{wardleyDiagram-NUSXRM2D-Dm-sdRY6.js → wardleyDiagram-NUSXRM2D-gpCyIXuK.js} +1 -1
  76. package/payload/frontend/dist/assets/{xychartDiagram-5P7HB3ND-DR_MOYh1.js → xychartDiagram-5P7HB3ND-BN662VL0.js} +1 -1
  77. package/payload/frontend/dist/build-info.json +4 -4
  78. package/payload/frontend/dist/companion.html +1 -1
  79. package/payload/frontend/dist/index.html +3 -3
  80. package/payload/plugins/toolkit/.codex-plugin/plugin.json +1 -1
  81. package/payload/plugins/toolkit/skills/architecture-flow-prototyping/SKILL.md +2 -2
  82. package/payload/plugins/toolkit/skills/visual-plan-review/SKILL.md +45 -0
  83. package/payload/plugins/toolkit/skills/visual-plan-review/agents/openai.yaml +3 -0
  84. package/payload/plugins/toolkit/skills/visual-plan-review/references/review-checklist.md +13 -0
  85. package/payload/plugins/toolkit/skills/visual-plan-review/references/visual-plan-template.html +8 -0
  86. package/payload/plugins/toolkit-release.json +1 -1
  87. package/payload/pty-host/index.cjs +147 -33
  88. package/payload/server/index.cjs +40 -20
  89. package/payload/frontend/dist/assets/channel-CBjt7igT.js +0 -1
  90. package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-HmoWChAG.js +0 -1
  91. package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-HmoWChAG.js +0 -1
  92. package/payload/frontend/dist/assets/clone-CiD5LYOe.js +0 -1
  93. package/payload/frontend/dist/assets/index-UR7g5PLZ.js +0 -448
  94. package/payload/frontend/dist/assets/main-D4_uoZQa.css +0 -33
  95. package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-DTtHtWkN.js +0 -1
  96. package/payload/frontend/dist/assets/suiji-DPDKlWVi.js +0 -1
  97. package/payload/plugins/toolkit/skills/prototype-first-development/SKILL.md +0 -134
  98. package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/README.md +0 -88
  99. package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/app.js +0 -145
  100. package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/index.html +0 -229
  101. package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/mock-state.json +0 -60
  102. package/payload/plugins/toolkit/skills/prototype-first-development/references/implementation-plan-handoff-template.md +0 -61
  103. package/payload/plugins/toolkit/skills/prototype-first-development/references/prototype-workflow-checklist.md +0 -64
@@ -1,33 +0,0 @@
1
- .settings-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;background:hsl(var(--background));color:hsl(var(--foreground))}.settings-sidebar{width:208px;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;padding:8px;border-right:1px solid hsl(var(--border));background:hsl(var(--muted) / .35)}.settings-back{position:sticky;top:0;z-index:1;flex-shrink:0;background:hsl(var(--background));display:flex;align-items:center;gap:8px;padding:5px 8px;color:hsl(var(--muted-foreground));font-size:12px}.settings-nav{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border-radius:6px;text-align:left;font-size:13px;line-height:18px}.settings-nav:hover,.settings-nav.active{background:hsl(var(--muted))}.settings-nav.active{font-weight:600}.settings-content{flex:1;min-width:0;overflow:auto;padding:20px 24px;font-size:13px}.settings-wrap{width:100%}.management-wrap{display:flex;flex-direction:column;height:100%;min-height:0}.management-wrap>header{flex-shrink:0}.management-content{flex:1;min-height:0;min-width:0;overflow:auto}.settings-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.settings-tabs button{border-radius:8px;padding:5px 10px;font-size:13px;color:hsl(var(--muted-foreground))}.settings-tabs button[aria-current]{color:hsl(var(--foreground));background:hsl(var(--muted))}.settings-screen section{min-width:0}@media(max-width:1000px){.settings-sidebar{width:196px}.settings-content{padding:16px}}@media(max-width:760px){.settings-sidebar{width:176px;padding:8px}.settings-nav{font-size:12px;gap:6px;padding:5px 8px}.settings-content{padding:12px}}.settings-content>.settings-wrap>header h1{font-size:20px;line-height:1.2}.settings-models [class*=bg-slate-]{background:hsl(var(--muted) / .4)}.settings-models [class*=border-slate-]{border-color:hsl(var(--border))}.settings-models [class*=text-slate-]{color:hsl(var(--muted-foreground))}.settings-models .text-slate-100,.settings-models .text-slate-200,.settings-models .text-white{color:hsl(var(--foreground))}.settings-screen main main{min-height:0}/**
2
- * Copyright (c) 2014 The xterm.js authors. All rights reserved.
3
- * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
4
- * https://github.com/chjj/term.js
5
- * @license MIT
6
- *
7
- * Permission is hereby granted, free of charge, to any person obtaining a copy
8
- * of this software and associated documentation files (the "Software"), to deal
9
- * in the Software without restriction, including without limitation the rights
10
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
- * copies of the Software, and to permit persons to whom the Software is
12
- * furnished to do so, subject to the following conditions:
13
- *
14
- * The above copyright notice and this permission notice shall be included in
15
- * all copies or substantial portions of the Software.
16
- *
17
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
- * THE SOFTWARE.
24
- *
25
- * Originally forked from (with the author's permission):
26
- * Fabrice Bellard's javascript vt100 for jslinux:
27
- * http://bellard.org/jslinux/
28
- * Copyright (c) 2011 Fabrice Bellard
29
- * The original design remains. The terminal itself
30
- * has been extended to include xterm CSI codes, among
31
- * other features.
32
- */.xterm{cursor:text;position:relative;-moz-user-select:none;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::-moz-selection{color:transparent}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:-moz-fit-content;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.terminal-renderer{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.terminal-renderer .xterm{height:100%}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
33
- */*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:hsl(var(--border))}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-x-4{left:1rem;right:1rem}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-1{bottom:-.25rem}.-left-\[9999em\]{left:-9999em}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-20{bottom:5rem}.bottom-3\.5{bottom:.875rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:.125rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-\[50\%\]{left:50%}.left-auto{left:auto}.right-0{right:0}.right-0\.5{right:.125rem}.right-1{right:.25rem}.right-2{right:.5rem}.right-20{right:5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-20{top:5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-8{top:2rem}.top-\[22px\]{top:22px}.top-\[50\%\]{top:50%}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.m-0{margin:0}.m-2{margin:.5rem}.m-4{margin:1rem}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.\!mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-5{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-1\.5{width:.375rem;height:.375rem}.size-12{width:3rem;height:3rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[19px\]{height:19px}.h-\[26px\]{height:26px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-24{max-height:6rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[--radix-context-menu-content-available-height\]{max-height:var(--radix-context-menu-content-available-height)}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[65dvh\]{max-height:65dvh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[84vh\]{max-height:84vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[86vh\]{max-height:86vh}.max-h-\[90dvh\]{max-height:90dvh}.max-h-\[calc\(100dvh-190px\)\]{max-height:calc(100dvh - 190px)}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-\[min\(720px\,75vh\)\]{max-height:min(720px,75vh)}.max-h-full{max-height:100%}.max-h-none{max-height:none}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-12{min-height:3rem}.min-h-20{min-height:5rem}.min-h-28{min-height:7rem}.min-h-32{min-height:8rem}.min-h-48{min-height:12rem}.min-h-56{min-height:14rem}.min-h-64{min-height:16rem}.min-h-7{min-height:1.75rem}.min-h-72{min-height:18rem}.min-h-80{min-height:20rem}.min-h-\[14rem\]{min-height:14rem}.min-h-\[160px\]{min-height:160px}.min-h-\[320px\]{min-height:320px}.min-h-\[34px\]{min-height:34px}.min-h-\[420px\]{min-height:420px}.min-h-\[42px\]{min-height:42px}.min-h-\[54px\]{min-height:54px}.min-h-\[72px\]{min-height:72px}.min-h-full{min-height:100%}.min-h-px{min-height:1px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[18rem\]{width:18rem}.w-\[218px\]{width:218px}.w-\[220px\]{width:220px}.w-\[320px\]{width:320px}.w-\[440px\]{width:440px}.w-\[480px\]{width:480px}.w-\[76px\]{width:76px}.w-\[calc\(100vw-2rem\)\]{width:calc(100vw - 2rem)}.w-\[min\(24rem\,calc\(100vw-2rem\)\)\]{width:min(24rem,calc(100vw - 2rem))}.w-\[min\(48rem\,calc\(100vw-2rem\)\)\]{width:min(48rem,calc(100vw - 2rem))}.w-\[min\(64rem\,100vw\)\]{width:min(64rem,100vw)}.w-\[min\(780px\,calc\(100vw-48px\)\)\]{width:min(780px,calc(100vw - 48px))}.w-\[min\(92vw\,42rem\)\]{width:min(92vw,42rem)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-16{min-width:4rem}.min-w-3{min-width:.75rem}.min-w-3\.5{min-width:.875rem}.min-w-4{min-width:1rem}.min-w-40{min-width:10rem}.min-w-7{min-width:1.75rem}.min-w-72{min-width:18rem}.min-w-\[14rem\]{min-width:14rem}.min-w-\[19px\]{min-width:19px}.min-w-\[320px\]{min-width:320px}.min-w-\[720px\]{min-width:720px}.min-w-\[760px\]{min-width:760px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-12{max-width:3rem}.max-w-2xl{max-width:42rem}.max-w-36{max-width:9rem}.max-w-3xl{max-width:48rem}.max-w-40{max-width:10rem}.max-w-44{max-width:11rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-56{max-width:14rem}.max-w-64{max-width:16rem}.max-w-80{max-width:20rem}.max-w-\[14rem\]{max-width:14rem}.max-w-\[160px\]{max-width:160px}.max-w-\[18rem\]{max-width:18rem}.max-w-\[220px\]{max-width:220px}.max-w-\[80\%\]{max-width:80%}.max-w-\[calc\(100vw-16px\)\]{max-width:calc(100vw - 16px)}.max-w-\[calc\(100vw-24px\)\]{max-width:calc(100vw - 24px)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.basis-72{flex-basis:18rem}.table-fixed{table-layout:fixed}.origin-\[--radix-context-menu-content-transform-origin\]{transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/2{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.scroll-m-6{scroll-margin:1.5rem}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-\[minmax\(320px\,1fr\)\]{grid-auto-rows:minmax(320px,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1\.3fr_0\.6fr_1\.6fr_0\.8fr_1fr_24px\]{grid-template-columns:1.3fr .6fr 1.6fr .8fr 1fr 24px}.grid-cols-\[18px_90px_minmax\(0\,1fr\)\]{grid-template-columns:18px 90px minmax(0,1fr)}.grid-cols-\[220px_minmax\(0\,1fr\)\]{grid-template-columns:220px minmax(0,1fr)}.grid-cols-\[240px_minmax\(0\,1fr\)\]{grid-template-columns:240px minmax(0,1fr)}.grid-cols-\[300px_minmax\(0\,1fr\)\]{grid-template-columns:300px minmax(0,1fr)}.grid-cols-\[32px_minmax\(0\,1fr\)\]{grid-template-columns:32px minmax(0,1fr)}.grid-cols-\[4rem_minmax\(0\,1fr\)\]{grid-template-columns:4rem minmax(0,1fr)}.grid-cols-\[5\.75rem_minmax\(0\,1fr\)\]{grid-template-columns:5.75rem minmax(0,1fr)}.grid-cols-\[56px_minmax\(0\,1fr\)\]{grid-template-columns:56px minmax(0,1fr)}.grid-cols-\[80px_1fr\]{grid-template-columns:80px 1fr}.grid-cols-\[8rem_minmax\(0\,1fr\)\]{grid-template-columns:8rem minmax(0,1fr)}.grid-cols-\[9rem_minmax\(0\,1fr\)\]{grid-template-columns:9rem minmax(0,1fr)}.grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_repeat\(3\,auto\)\]{grid-template-columns:minmax(0,1fr) repeat(3,auto)}.grid-cols-\[minmax\(190px\,0\.38fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(190px,.38fr) minmax(0,1fr)}.grid-cols-\[minmax\(260px\,320px\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.grid-rows-none{grid-template-rows:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border\/50>:not([hidden])~:not([hidden]){border-color:hsl(var(--border) / .5)}.divide-border\/60>:not([hidden])~:not([hidden]){border-color:hsl(var(--border) / .6)}.divide-slate-800>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(30 41 59 / var(--tw-divide-opacity, 1))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1\.25rem\]{border-radius:1.25rem}.rounded-\[1\.75rem\]{border-radius:1.75rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-400\/25{border-color:#fbbf2440}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/25{border-color:#f59e0b40}.border-amber-500\/30{border-color:#f59e0b4d}.border-amber-500\/35{border-color:#f59e0b59}.border-amber-500\/40{border-color:#f59e0b66}.border-amber-500\/50{border-color:#f59e0b80}.border-amber-700{--tw-border-opacity: 1;border-color:rgb(180 83 9 / var(--tw-border-opacity, 1))}.border-amber-800\/60{border-color:#92400e99}.border-amber-800\/70{border-color:#92400eb3}.border-amber-800\/80{border-color:#92400ecc}.border-amber-900{--tw-border-opacity: 1;border-color:rgb(120 53 15 / var(--tw-border-opacity, 1))}.border-amber-900\/50{border-color:#78350f80}.border-amber-900\/60{border-color:#78350f99}.border-amber-900\/80{border-color:#78350fcc}.border-background{border-color:hsl(var(--background))}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-border\/70{border-color:hsl(var(--border) / .7)}.border-cyan-200{--tw-border-opacity: 1;border-color:rgb(165 243 252 / var(--tw-border-opacity, 1))}.border-cyan-400\/40{border-color:#22d3ee66}.border-destructive\/40{border-color:hsl(var(--destructive) / .4)}.border-emerald-500\/30{border-color:#10b9814d}.border-emerald-500\/40{border-color:#10b98166}.border-emerald-600\/40{border-color:#05966966}.border-input{border-color:hsl(var(--input))}.border-orange-500\/30{border-color:#f973164d}.border-primary{border-color:hsl(var(--primary))}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/40{border-color:#ef444466}.border-red-500\/50{border-color:#ef444480}.border-rose-500\/30{border-color:#f43f5e4d}.border-rose-700{--tw-border-opacity: 1;border-color:rgb(190 18 60 / var(--tw-border-opacity, 1))}.border-rose-900{--tw-border-opacity: 1;border-color:rgb(136 19 55 / var(--tw-border-opacity, 1))}.border-rose-900\/60{border-color:#88133799}.border-rose-900\/70{border-color:#881337b3}.border-sky-300{--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity, 1))}.border-sky-400{--tw-border-opacity: 1;border-color:rgb(56 189 248 / var(--tw-border-opacity, 1))}.border-sky-500\/60{border-color:#0ea5e999}.border-sky-500\/70{border-color:#0ea5e9b3}.border-sky-700\/70{border-color:#0369a1b3}.border-sky-800\/60{border-color:#07598599}.border-sky-900{--tw-border-opacity: 1;border-color:rgb(12 74 110 / var(--tw-border-opacity, 1))}.border-sky-900\/70{border-color:#0c4a6eb3}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.border-slate-700\/70{border-color:#334155b3}.border-slate-700\/90{border-color:#334155e6}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-slate-800\/80{border-color:#1e293bcc}.border-transparent{border-color:transparent}.bg-\[\#07111f\]\/95{background-color:#07111ff2}.bg-\[\#0b1220\]{--tw-bg-opacity: 1;background-color:rgb(11 18 32 / var(--tw-bg-opacity, 1))}.bg-\[\#30d158\]{--tw-bg-opacity: 1;background-color:rgb(48 209 88 / var(--tw-bg-opacity, 1))}.bg-\[hsl\(var\(--primary\)\)\]{background-color:hsl(var(--primary))}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-400\/20{background-color:#fbbf2433}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-amber-500\/5{background-color:#f59e0b0d}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-amber-950\/20{background-color:#451a0333}.bg-amber-950\/30{background-color:#451a034d}.bg-background{background-color:hsl(var(--background))}.bg-background\/45{background-color:hsl(var(--background) / .45)}.bg-background\/55{background-color:hsl(var(--background) / .55)}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-background\/70{background-color:hsl(var(--background) / .7)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/30{background-color:#0000004d}.bg-black\/35{background-color:#00000059}.bg-black\/45{background-color:#00000073}.bg-black\/60{background-color:#0009}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-border\/60{background-color:hsl(var(--border) / .6)}.bg-card{background-color:hsl(var(--card))}.bg-card\/50{background-color:hsl(var(--card) / .5)}.bg-card\/55{background-color:hsl(var(--card) / .55)}.bg-card\/60{background-color:hsl(var(--card) / .6)}.bg-card\/70{background-color:hsl(var(--card) / .7)}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-card\/85{background-color:hsl(var(--card) / .85)}.bg-card\/90{background-color:hsl(var(--card) / .9)}.bg-cyan-400{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity, 1))}.bg-cyan-500\/15{background-color:#06b6d426}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-300{--tw-bg-opacity: 1;background-color:rgb(110 231 183 / var(--tw-bg-opacity, 1))}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-50\/40{background-color:#ecfdf566}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-emerald-950\/20{background-color:#022c2233}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/15{background-color:hsl(var(--muted) / .15)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/35{background-color:hsl(var(--muted) / .35)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/45{background-color:hsl(var(--muted) / .45)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/55{background-color:hsl(var(--muted) / .55)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-muted\/70{background-color:hsl(var(--muted) / .7)}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-500\/5{background-color:#f973160d}.bg-orange-700{--tw-bg-opacity: 1;background-color:rgb(194 65 12 / var(--tw-bg-opacity, 1))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 231 243 / var(--tw-bg-opacity, 1))}.bg-popover{background-color:hsl(var(--popover))}.bg-popover\/95{background-color:hsl(var(--popover) / .95)}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-primary\/\[0\.04\]{background-color:hsl(var(--primary) / .04)}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-900{--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.bg-rose-400{--tw-bg-opacity: 1;background-color:rgb(251 113 133 / var(--tw-bg-opacity, 1))}.bg-rose-500{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.bg-rose-500\/10{background-color:#f43f5e1a}.bg-rose-500\/15{background-color:#f43f5e26}.bg-rose-600{--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity, 1))}.bg-rose-950{--tw-bg-opacity: 1;background-color:rgb(76 5 25 / var(--tw-bg-opacity, 1))}.bg-rose-950\/30{background-color:#4c05194d}.bg-rose-950\/40{background-color:#4c051966}.bg-rose-950\/90{background-color:#4c0519e6}.bg-rose-950\/95{background-color:#4c0519f2}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sky-400{--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity, 1))}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-sky-500\/15{background-color:#0ea5e926}.bg-sky-500\/20{background-color:#0ea5e933}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1))}.bg-sky-700{--tw-bg-opacity: 1;background-color:rgb(3 105 161 / var(--tw-bg-opacity, 1))}.bg-sky-950{--tw-bg-opacity: 1;background-color:rgb(8 47 73 / var(--tw-bg-opacity, 1))}.bg-sky-950\/20{background-color:#082f4933}.bg-sky-950\/30{background-color:#082f494d}.bg-sky-950\/35{background-color:#082f4959}.bg-sky-950\/70{background-color:#082f49b3}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-400{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.bg-slate-500\/15{background-color:#64748b26}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-slate-700\/25{background-color:#33415540}.bg-slate-700\/60{background-color:#33415599}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-800\/60{background-color:#1e293b99}.bg-slate-800\/80{background-color:#1e293bcc}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/35{background-color:#0f172a59}.bg-slate-900\/40{background-color:#0f172a66}.bg-slate-900\/50{background-color:#0f172a80}.bg-slate-900\/60{background-color:#0f172a99}.bg-slate-900\/70{background-color:#0f172ab3}.bg-slate-900\/80{background-color:#0f172acc}.bg-slate-900\/90{background-color:#0f172ae6}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-slate-950\/30{background-color:#0206174d}.bg-slate-950\/40{background-color:#02061766}.bg-slate-950\/50{background-color:#02061780}.bg-slate-950\/60{background-color:#02061799}.bg-slate-950\/80{background-color:#020617cc}.bg-slate-950\/90{background-color:#020617e6}.bg-slate-950\/95{background-color:#020617f2}.bg-stone-100{--tw-bg-opacity: 1;background-color:rgb(245 245 244 / var(--tw-bg-opacity, 1))}.bg-teal-100{--tw-bg-opacity: 1;background-color:rgb(204 251 241 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-\[radial-gradient\(circle_at_top\,rgba\(70\,130\,145\,0\.18\)\,transparent_30\%\)\,radial-gradient\(circle_at_bottom_left\,rgba\(195\,172\,135\,0\.16\)\,transparent_35\%\)\]{background-image:radial-gradient(circle at top,rgba(70,130,145,.18),transparent 30%),radial-gradient(circle at bottom left,rgba(195,172,135,.16),transparent 35%)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-stone-100{--tw-gradient-from: #f5f5f4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 245 244 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-neutral-900{--tw-gradient-to: #171717 var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-sky-400{fill:#38bdf8}.fill-sky-400\/30{fill:#38bdf84d}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[5px\]{padding-top:5px;padding-bottom:5px}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-0{padding-left:0}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-14{padding-right:3.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-9{padding-top:2.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.62rem\]{font-size:.62rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-\[18px\]{line-height:18px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-\[0\.28em\]{letter-spacing:.28em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.38em\]{letter-spacing:.38em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#07140a\]{--tw-text-opacity: 1;color:rgb(7 20 10 / var(--tw-text-opacity, 1))}.text-\[hsl\(var\(--primary\)\)\]{color:hsl(var(--primary))}.text-amber-100{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity, 1))}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-400\/80{color:#fbbf24cc}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-cyan-50{--tw-text-opacity: 1;color:rgb(236 254 255 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.text-emerald-200\/70{color:#a7f3d0b3}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-900{--tw-text-opacity: 1;color:rgb(6 78 59 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-indigo-300{--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-muted-foreground\/75{color:hsl(var(--muted-foreground) / .75)}.text-muted-foreground\/80{color:hsl(var(--muted-foreground) / .8)}.text-orange-300{--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-orange-900{--tw-text-opacity: 1;color:rgb(124 45 18 / var(--tw-text-opacity, 1))}.text-pink-900{--tw-text-opacity: 1;color:rgb(131 24 67 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-900{--tw-text-opacity: 1;color:rgb(88 28 135 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-rose-100{--tw-text-opacity: 1;color:rgb(255 228 230 / var(--tw-text-opacity, 1))}.text-rose-200{--tw-text-opacity: 1;color:rgb(254 205 211 / var(--tw-text-opacity, 1))}.text-rose-300{--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.text-rose-400{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.text-rose-600{--tw-text-opacity: 1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sky-100{--tw-text-opacity: 1;color:rgb(224 242 254 / var(--tw-text-opacity, 1))}.text-sky-200{--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity, 1))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.text-teal-900{--tw-text-opacity: 1;color:rgb(19 78 74 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.decoration-dotted{text-decoration-style:dotted}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[-18px_18px_55px_rgba\(0\,0\,0\,0\.42\)\]{--tw-shadow: -18px 18px 55px rgba(0,0,0,.42);--tw-shadow-colored: -18px 18px 55px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(34\,211\,238\,0\.75\)\]{--tw-shadow: 0 0 10px rgba(34,211,238,.75);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(251\,191\,36\,0\.55\)\]{--tw-shadow: 0 0 8px rgba(251,191,36,.55);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_28px_-24px_rgba\(15\,23\,42\,0\.95\)\]{--tw-shadow: 0 12px 28px -24px rgba(15,23,42,.95);--tw-shadow-colored: 0 12px 28px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_40px_-22px_hsl\(var\(--primary\)\/0\.8\)\]{--tw-shadow: 0 16px 40px -22px hsl(var(--primary)/.8);--tw-shadow-colored: 0 16px 40px -22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_44px_-30px_rgba\(15\,23\,42\,0\.9\)\]{--tw-shadow: 0 18px 44px -30px rgba(15,23,42,.9);--tw-shadow-colored: 0 18px 44px -30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_70px_-54px_rgba\(17\,24\,39\,0\.75\)\]{--tw-shadow: 0 18px 70px -54px rgba(17,24,39,.75);--tw-shadow-colored: 0 18px 70px -54px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_80px_-64px_rgba\(17\,24\,39\,0\.8\)\]{--tw-shadow: 0 20px 80px -64px rgba(17,24,39,.8);--tw-shadow-colored: 0 20px 80px -64px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_80px_-36px_rgba\(17\,24\,39\,0\.8\)\]{--tw-shadow: 0 24px 80px -36px rgba(17,24,39,.8);--tw-shadow-colored: 0 24px 80px -36px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_80px_rgba\(0\,0\,0\,0\.55\)\]{--tw-shadow: 0 24px 80px rgba(0,0,0,.55);--tw-shadow-colored: 0 24px 80px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_90px_-58px_rgba\(17\,24\,39\,0\.75\)\]{--tw-shadow: 0 24px 90px -58px rgba(17,24,39,.75);--tw-shadow-colored: 0 24px 90px -58px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_28px_90px_-40px_rgba\(15\,23\,42\,0\.82\)\]{--tw-shadow: 0 28px 90px -40px rgba(15,23,42,.82);--tw-shadow-colored: 0 28px 90px -40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_34px_120px_-72px_rgba\(15\,23\,42\,0\.92\)\]{--tw-shadow: 0 34px 120px -72px rgba(15,23,42,.92);--tw-shadow-colored: 0 34px 120px -72px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_34px_120px_-72px_rgba\(17\,24\,39\,0\.82\)\]{--tw-shadow: 0 34px 120px -72px rgba(17,24,39,.82);--tw-shadow-colored: 0 34px 120px -72px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(148\,163\,184\,0\.18\)\]{--tw-shadow: inset 0 1px 0 rgba(148,163,184,.18);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.03\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.03);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-slate-950\/30{--tw-shadow-color: rgb(2 6 23 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-950\/40{--tw-shadow-color: rgb(2 6 23 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-950\/45{--tw-shadow-color: rgb(2 6 23 / .45);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-primary{--tw-ring-color: hsl(var(--primary))}.ring-sky-400\/70{--tw-ring-color: rgb(56 189 248 / .7)}.ring-sky-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(7 89 133 / var(--tw-ring-opacity, 1))}.ring-slate-950{--tw-ring-opacity: 1;--tw-ring-color: rgb(2 6 23 / var(--tw-ring-opacity, 1))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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-\[1px\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-150{transition-delay:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[contain-intrinsic-size\:auto_180px\]{contain-intrinsic-size:auto 180px}.\[content-visibility\:auto\]{content-visibility:auto}.\[overflow-anchor\:none\]{overflow-anchor:none}.\[scrollbar-width\:none\]{scrollbar-width:none}.\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}:root{--background: 40 24% 96%;--foreground: 210 22% 13%;--card: 0 0% 100%;--card-foreground: 210 22% 13%;--popover: 0 0% 100%;--popover-foreground: 210 22% 13%;--primary: 191 52% 32%;--primary-foreground: 0 0% 100%;--secondary: 42 16% 90%;--secondary-foreground: 210 22% 13%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--muted: 42 16% 90%;--muted-foreground: 212 13% 36%;--accent: 42 16% 90%;--accent-foreground: 210 22% 13%;--border: 38 16% 80%;--input: 38 16% 80%;--ring: 191 52% 32%}.dark{--background: 210 17% 10%;--foreground: 42 32% 95%;--card: 215 18% 14%;--card-foreground: 42 32% 95%;--popover: 215 18% 14%;--popover-foreground: 42 32% 95%;--primary: 190 46% 56%;--primary-foreground: 210 17% 10%;--secondary: 214 14% 18%;--secondary-foreground: 42 32% 95%;--destructive: 0 63% 31%;--destructive-foreground: 42 32% 95%;--muted: 214 14% 18%;--muted-foreground: 42 12% 74%;--accent: 214 14% 18%;--accent-foreground: 42 32% 95%;--border: 214 14% 22%;--input: 214 14% 22%;--ring: 190 46% 56%}*{box-sizing:border-box}html{width:100%;min-height:100%;overflow-x:hidden}body{margin:0;width:100%;max-width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;color:hsl(var(--foreground));background:radial-gradient(circle at top,rgba(80,132,142,.18),transparent 28%),radial-gradient(circle at bottom left,rgba(210,178,130,.16),transparent 30%),hsl(var(--background));font-family:ui-sans-serif,system-ui,sans-serif;text-rendering:optimizeLegibility}#root{width:100%;max-width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden}button,input,textarea,iframe,canvas{font:inherit}::-moz-selection{background:#3a7a8433}::selection{background:#3a7a8433}@keyframes fade-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-fade{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes panel-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.animate-fade-rise{animation:fade-rise .56s cubic-bezier(.22,1,.36,1) both}.animate-scale-fade{animation:scale-fade .18s cubic-bezier(.22,1,.36,1) both}.animate-panel-in{animation:panel-in .26s cubic-bezier(.22,1,.36,1) both}@property --shimmer-track-height{syntax: "<length>"; inherits: true; initial-value: 200px;}@property --shimmer-angle{syntax: "<angle>"; inherits: true; initial-value: 15deg;}@keyframes tw-shimmer{0%{background-position:100% 0}}.shimmer{--_gradient-width: calc( var(--_spread) + var(--shimmer-track-height) * tan(var(--shimmer-angle)) );--_active-distance: calc( var(--shimmer-track-width, 200px) + var(--_gradient-width) );--_duration: var( --shimmer-duration, calc(var(--_active-distance) / var(--_speed) / 1px * 1000) );--_repeat-delay: var(--shimmer-repeat-delay, calc(20000 / var(--_speed)));--_repeat-delay-px: calc( var(--_repeat-delay) * var(--_active-distance) / var(--_duration) );--_xy-offset-px: calc( (var(--shimmer-x, 0) + var(--shimmer-y, 0) * tan(var(--shimmer-angle))) * 1px );--_bg-width: calc( 100% + var(--shimmer-track-width, 100%) + var(--_gradient-width) + var(--_repeat-delay-px) );--_position: calc( var( --shimmer-track-width, (100% - var(--_gradient-width) - var(--_repeat-delay-px)) / 2 ) + var(--_gradient-width) / 2 + var(--_repeat-delay-px) - var(--_xy-offset-px) );--_mix-96: color-mix(in oklch, var(--_fg), var(--_bg) 96%);--_mix-83: color-mix(in oklch, var(--_fg), var(--_bg) 83%);--_mix-67: color-mix(in oklch, var(--_fg), var(--_bg) 67%);--_mix-50: color-mix(in oklch, var(--_fg), var(--_bg) 50%);--_mix-33: color-mix(in oklch, var(--_fg), var(--_bg) 33%);--_mix-17: color-mix(in oklch, var(--_fg), var(--_bg) 17%);--_mix-4: color-mix(in oklch, var(--_fg), var(--_bg) 4%);background:linear-gradient(calc(90deg + var(--shimmer-angle)),var(--_bg) calc(var(--_position) - var(--_spread) * .5),var(--_mix-96) calc(var(--_position) - var(--_spread) * .44),var(--_mix-83) calc(var(--_position) - var(--_spread) * .37),var(--_mix-67) calc(var(--_position) - var(--_spread) * .31),var(--_mix-50) calc(var(--_position) - var(--_spread) * .25),var(--_mix-33) calc(var(--_position) - var(--_spread) * .19),var(--_mix-17) calc(var(--_position) - var(--_spread) * .12),var(--_mix-4) calc(var(--_position) - var(--_spread) * .06),var(--_fg) var(--_position),var(--_mix-4) calc(var(--_position) + var(--_spread) * .06),var(--_mix-17) calc(var(--_position) + var(--_spread) * .12),var(--_mix-33) calc(var(--_position) + var(--_spread) * .19),var(--_mix-50) calc(var(--_position) + var(--_spread) * .25),var(--_mix-67) calc(var(--_position) + var(--_spread) * .31),var(--_mix-83) calc(var(--_position) + var(--_spread) * .37),var(--_mix-96) calc(var(--_position) + var(--_spread) * .44),var(--_bg) calc(var(--_position) + var(--_spread) * .5)) 0 0 / var(--_bg-width) 100% no-repeat;animation:tw-shimmer 1s linear 0s infinite backwards;animation-duration:calc((var(--_duration) + var(--_repeat-delay)) * 1ms)}.shimmer:not(.shimmer-bg){--_speed: var(--shimmer-speed, 200);--_spread: var(--shimmer-spread, calc(4ch + 80px) );--_bg: currentColor;--_fg: var(--shimmer-color, rgb(255 255 255 / .28));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.dark .shimmer:not(.shimmer-bg){--_fg: var(--shimmer-color, rgb(255 255 255 / .68))}.shimmer-bg{--_speed: var(--shimmer-speed, 1000);--_spread: var(--shimmer-spread, 480px);--_bg: transparent;--_fg: var(--shimmer-color, rgb(0 0 0 / .06))}.dark .shimmer-bg{--_fg: var(--shimmer-color, rgb(0 0 0 / .3))}.shimmer-invert:not(.shimmer-bg){--shimmer-color: rgb(255 255 255 / .72)}.dark .shimmer-invert:not(.shimmer-bg){--shimmer-color: rgb(255 255 255 / .22)}@supports (color: oklch(from currentColor l c h)){.shimmer:not(.shimmer-bg){--_fg: var( --shimmer-color, oklch(from currentColor l c h / calc(alpha/5) ) )}.dark .shimmer:not(.shimmer-bg){--_fg: var( --shimmer-color, oklch(from currentColor max(.8, calc(l + .4) ) c h / calc(alpha + .4) ) )}.shimmer-bg{--_fg: var(--shimmer-color, oklch(from currentColor 0 c h / .06))}.dark .shimmer-bg{--_fg: var(--shimmer-color, oklch(from currentColor 0 c h / .3))}.shimmer-invert:not(.shimmer-bg){--shimmer-color: oklch( from currentColor min( calc(l - .4) , .2) c h / calc(alpha + .4) )}.dark .shimmer-invert:not(.shimmer-bg){--shimmer-color: oklch(from currentColor l c h / calc(alpha/5) )}}.shimmer-container{container-type:inline-size}.shimmer-container .shimmer{--shimmer-track-width: 100cqw;--shimmer-track-height: max(100cqh, 50cqw, 200px)}@-moz-document url-prefix(){.shimmer{--_duration: var(--shimmer-duration, calc(375000 / var(--_speed)))}}@media(prefers-reduced-motion:reduce){.animate-fade-rise,.animate-scale-fade,.animate-panel-in,.shimmer{animation:none}.shimmer:not(.shimmer-bg){background:none;-webkit-text-fill-color:currentColor}}.suiji-theme{--background: 42 32% 96%;--foreground: 145 12% 20%;--card: 45 30% 99%;--card-foreground: 145 12% 20%;--popover: 45 30% 99%;--popover-foreground: 145 12% 20%;--primary: 151 22% 34%;--primary-foreground: 0 0% 100%;--secondary: 143 17% 90%;--secondary-foreground: 145 12% 20%;--muted: 40 18% 92%;--muted-foreground: 140 6% 43%;--accent: 143 20% 93%;--accent-foreground: 145 12% 20%;--destructive: 0 65% 42%;--destructive-foreground: 0 0% 100%;--border: 45 14% 84%;--input: 45 14% 84%;--ring: 151 22% 34%;color:hsl(var(--foreground));color-scheme:light}.dark .suiji-theme{--background: 150 12% 9%;--foreground: 140 15% 92%;--card: 150 10% 13%;--card-foreground: 140 15% 92%;--popover: 150 10% 13%;--popover-foreground: 140 15% 92%;--primary: 151 32% 64%;--primary-foreground: 150 20% 10%;--secondary: 150 14% 20%;--secondary-foreground: 140 15% 92%;--muted: 150 8% 18%;--muted-foreground: 140 8% 67%;--accent: 150 16% 23%;--accent-foreground: 140 15% 92%;--destructive: 0 75% 72%;--destructive-foreground: 0 35% 12%;--border: 150 8% 28%;--input: 150 8% 28%;--ring: 151 32% 64%;color-scheme:dark}:where(.suiji-theme,.suiji-theme *){border-color:hsl(var(--border))}@keyframes suiji-drawer-enter{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:no-preference){.suiji-drawer[open]{animation:suiji-drawer-enter .18s ease-out}}[data-native-overlay-pending]{opacity:0!important;pointer-events:none!important}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-slate-500::-moz-placeholder{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.placeholder\:text-slate-500::placeholder{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.backdrop\:bg-black\/30::backdrop{background-color:#0000004d}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-x-0:before{content:var(--tw-content);left:0;right:0}.before\:inset-y-0:before{content:var(--tw-content);top:0;bottom:0}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:left-1\/2:before{content:var(--tw-content);left:50%}.before\:top-1\/2:before{content:var(--tw-content);top:50%}.before\:h-0\.5:before{content:var(--tw-content);height:.125rem}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:w-0\.5:before{content:var(--tw-content);width:.125rem}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:-translate-x-1\/2:before{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:-translate-y-1\/2:before{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:bg-sky-400:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity, 1))}.before\:bg-sky-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.before\:bg-transparent:before{content:var(--tw-content);background-color:transparent}.before\:transition-colors:before{content:var(--tw-content);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.first\:border-0:first-child{border-width:0px}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:border-cyan-400\/45:focus-within{border-color:#22d3ee73}.focus-within\:border-slate-400:focus-within{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity, 1))}.focus-within\:shadow-\[0_18px_50px_rgba\(2\,6\,23\,0\.52\)\,0_0_0_1px_rgba\(34\,211\,238\,0\.12\)\]:focus-within{--tw-shadow: 0 18px 50px rgba(2,6,23,.52),0 0 0 1px rgba(34,211,238,.12);--tw-shadow-colored: 0 18px 50px var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-border:hover{border-color:hsl(var(--border))}.hover\:border-cyan-300\/60:hover{border-color:#67e8f999}.hover\:border-cyan-400\/40:hover{border-color:#22d3ee66}.hover\:border-cyan-400\/45:hover{border-color:#22d3ee73}.hover\:border-slate-500:hover{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.hover\:border-slate-600:hover{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.hover\:border-slate-700:hover{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-500:hover{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.hover\:bg-amber-950\/30:hover{background-color:#451a034d}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-cyan-400\/10:hover{background-color:#22d3ee1a}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-emerald-500\/20:hover{background-color:#10b98133}.hover\:bg-emerald-950\/30:hover{background-color:#022c224d}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/35:hover{background-color:hsl(var(--muted) / .35)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/60:hover{background-color:hsl(var(--muted) / .6)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted) / .7)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-500\/15:hover{background-color:#ef444426}.hover\:bg-rose-500:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.hover\:bg-rose-500\/90:hover{background-color:#f43f5ee6}.hover\:bg-rose-950\/50:hover{background-color:#4c051980}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sky-500:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-500\/10:hover{background-color:#0ea5e91a}.hover\:bg-sky-500\/20:hover{background-color:#0ea5e933}.hover\:bg-sky-600:hover{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-700:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-700\/70:hover{background-color:#334155b3}.hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-800\/40:hover{background-color:#1e293b66}.hover\:bg-slate-800\/50:hover{background-color:#1e293b80}.hover\:bg-slate-800\/80:hover{background-color:#1e293bcc}.hover\:bg-slate-900:hover{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-900\/45:hover{background-color:#0f172a73}.hover\:bg-slate-900\/70:hover{background-color:#0f172ab3}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-100:hover{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity, 1))}.hover\:text-cyan-100:hover{--tw-text-opacity: 1;color:rgb(207 250 254 / var(--tw-text-opacity, 1))}.hover\:text-cyan-50:hover{--tw-text-opacity: 1;color:rgb(236 254 255 / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-indigo-200:hover{--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity, 1))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-rose-100:hover{--tw-text-opacity: 1;color:rgb(255 228 230 / var(--tw-text-opacity, 1))}.hover\:text-rose-200:hover{--tw-text-opacity: 1;color:rgb(254 205 211 / var(--tw-text-opacity, 1))}.hover\:text-rose-300:hover{--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.hover\:text-rose-400:hover{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.hover\:text-sky-100:hover{--tw-text-opacity: 1;color:rgb(224 242 254 / var(--tw-text-opacity, 1))}.hover\:text-sky-200:hover{--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity, 1))}.hover\:text-sky-300:hover{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.hover\:text-slate-100:hover{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.hover\:text-slate-200:hover{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.hover\:text-slate-300:hover{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_22px_50px_-24px_hsl\(var\(--primary\)\/0\.82\)\]:hover{--tw-shadow: 0 22px 50px -24px hsl(var(--primary)/.82);--tw-shadow-colored: 0 22px 50px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_22px_50px_-24px_rgba\(244\,63\,94\,0\.82\)\]:hover{--tw-shadow: 0 22px 50px -24px rgba(244,63,94,.82);--tw-shadow-colored: 0 22px 50px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:before\:bg-sky-400\/60:hover:before{content:var(--tw-content);background-color:#38bdf899}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.focus\:border-sky-400:focus{--tw-border-opacity: 1;border-color:rgb(56 189 248 / var(--tw-border-opacity, 1))}.focus\:border-sky-500:focus{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity, 1))}.focus\:border-sky-600:focus{--tw-border-opacity: 1;border-color:rgb(2 132 199 / var(--tw-border-opacity, 1))}.focus\:border-slate-400:focus{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity, 1))}.focus\:border-slate-500:focus{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-muted:focus{background-color:hsl(var(--muted))}.focus\:bg-transparent:focus{background-color:transparent}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-amber-300:focus{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.focus\:text-muted-foreground:focus{color:hsl(var(--muted-foreground))}.focus\:text-rose-400:focus{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-slate-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:bg-slate-700:focus-visible{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.focus-visible\:bg-slate-900:focus-visible{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.focus-visible\:text-slate-100:focus-visible{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.focus-visible\:text-slate-200:focus-visible{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.focus-visible\:text-slate-300:focus-visible{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-cyan-300:focus-visible{outline-color:#67e8f9}.focus-visible\:outline-emerald-400:focus-visible{outline-color:#34d399}.focus-visible\:outline-ring:focus-visible{outline-color:hsl(var(--ring))}.focus-visible\:outline-sky-400:focus-visible{outline-color:#38bdf8}.focus-visible\:outline-slate-300:focus-visible{outline-color:#cbd5e1}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\:ring-primary\/30:focus-visible{--tw-ring-color: hsl(var(--primary) / .3)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-sky-400:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(56 189 248 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-slate-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.focus-visible\:before\:bg-sky-400\/60:focus-visible:before{content:var(--tw-content);background-color:#38bdf899}.active\:scale-\[0\.985\]:active{--tw-scale-x: .985;--tw-scale-y: .985;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-cyan-400\/15:active{background-color:#22d3ee26}.active\:bg-cyan-400\/35:active{background-color:#22d3ee59}.active\:bg-slate-700:active{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.active\:bg-slate-800:active{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-slate-700:disabled{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.disabled\:border-slate-800:disabled{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.disabled\:bg-slate-800\/70:disabled{background-color:#1e293bb3}.disabled\:bg-slate-900\/50:disabled{background-color:#0f172a80}.disabled\:text-muted-foreground:disabled{color:hsl(var(--muted-foreground))}.disabled\:text-slate-500:disabled{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.disabled\:text-slate-600:disabled{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-100{opacity:1}.group:focus-visible .group-focus-visible\:opacity-100{opacity:1}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-pressed\:bg-accent[aria-pressed=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-slate-800\/80[aria-selected=true]{background-color:#1e293bcc}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-muted[data-state=open]{background-color:hsl(var(--muted))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[resizing\=true\]\:before\:w-0\.5[data-resizing=true]:before{content:var(--tw-content);width:.125rem}.data-\[resizing\=true\]\:before\:bg-sky-400[data-resizing=true]:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity, 1))}@media(prefers-reduced-motion:no-preference){@keyframes pulse{50%{opacity:.5}}.motion-safe\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}}.dark\:bg-blue-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 37 84 / var(--tw-bg-opacity, 1))}.dark\:bg-emerald-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(2 44 34 / var(--tw-bg-opacity, 1))}.dark\:bg-emerald-950\/20:is(.dark *){background-color:#022c2233}.dark\:bg-orange-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(67 20 7 / var(--tw-bg-opacity, 1))}.dark\:bg-pink-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(80 7 36 / var(--tw-bg-opacity, 1))}.dark\:bg-purple-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(59 7 100 / var(--tw-bg-opacity, 1))}.dark\:bg-teal-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(4 47 46 / var(--tw-bg-opacity, 1))}.dark\:text-amber-200:is(.dark *){--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-emerald-200:is(.dark *){--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-orange-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 215 170 / var(--tw-text-opacity, 1))}.dark\:text-pink-200:is(.dark *){--tw-text-opacity: 1;color:rgb(251 207 232 / var(--tw-text-opacity, 1))}.dark\:text-purple-200:is(.dark *){--tw-text-opacity: 1;color:rgb(233 213 255 / var(--tw-text-opacity, 1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-rose-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.dark\:text-teal-200:is(.dark *){--tw-text-opacity: 1;color:rgb(153 246 228 / var(--tw-text-opacity, 1))}@media(max-width:1379px){.max-\[1379px\]\:fixed{position:fixed}.max-\[1379px\]\:inset-y-0{top:0;bottom:0}.max-\[1379px\]\:right-0{right:0}.max-\[1379px\]\:z-50{z-index:50}.max-\[1379px\]\:w-\[min\(92vw\,420px\)\]{width:min(92vw,420px)}.max-\[1379px\]\:shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media not all and (min-width:1024px){.max-lg\:min-w-0{min-width:0px}.max-lg\:flex-1{flex:1 1 0%}}@media not all and (min-width:768px){.max-md\:mt-0{margin-top:0}.max-md\:block{display:block}.max-md\:flex{display:flex}.max-md\:contents{display:contents}.max-md\:hidden{display:none}.max-md\:w-28{width:7rem}.max-md\:max-w-40{max-width:10rem}.max-md\:shrink-0{flex-shrink:0}.max-md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.max-md\:grid-rows-\[auto_minmax\(0\,1fr\)\]{grid-template-rows:auto minmax(0,1fr)}.max-md\:gap-2{gap:.5rem}.max-md\:overflow-hidden{overflow:hidden}.max-md\:overflow-x-auto{overflow-x:auto}.max-md\:border-b{border-bottom-width:1px}.max-md\:border-r-0{border-right-width:0px}.max-md\:px-3{padding-left:.75rem;padding-right:.75rem}.max-md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.max-md\:\[scrollbar-width\:none\]{scrollbar-width:none}}@media not all and (min-width:640px){.max-sm\:hidden{display:none}.max-sm\:w-full{width:100%}.max-sm\:max-w-36{max-width:9rem}.max-sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.max-sm\:flex-col{flex-direction:column}}@media(min-width:640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:hidden{display:none}.sm\:w-\[560px\]{width:560px}.sm\:max-w-2xl,.sm\:max-w-\[42rem\]{max-width:42rem}.sm\:max-w-\[460px\]{max-width:460px}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:.5rem}.sm\:p-7{padding:1.75rem}.sm\:p-9{padding:2.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:h-8{height:2rem}.md\:w-8{width:2rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:bg-primary\/10{background-color:hsl(var(--primary) / .1)}.md\:p-9{padding:2.25rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,0\.9fr\)_minmax\(0\,1\.1fr\)\]{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media(min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(280px\,0\.6fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr)}.xl\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(280px\,0\.7fr\)\]{grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr)}.xl\:grid-cols-\[minmax\(280px\,0\.7fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}}@media(min-width:1380px){.min-\[1380px\]\:block{display:block}.min-\[1380px\]\:hidden{display:none}.min-\[1380px\]\:grid-cols-\[300px_minmax\(0\,1fr\)_380px\]{grid-template-columns:300px minmax(0,1fr) 380px}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}@media not all and (min-width:768px){.max-md\:\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}.\[\&\>div\]\:shrink-0>div{flex-shrink:0}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&_\.rw-image-preview__button\]\:min-h-0 .rw-image-preview button{min-height:0px}.\[\&_\.rw-image-preview__open\]\:hidden .rw-image-preview open{display:none}.\[\&_\.side-chat-code-block\>button\]\:block .side-chat-code-block>button{display:block}.\[\&_\.side-chat-code-block\>button\]\:w-full .side-chat-code-block>button{width:100%}.\[\&_\.side-chat-code-block\>button\]\:bg-muted .side-chat-code-block>button{background-color:hsl(var(--muted))}.\[\&_\.side-chat-code-block\>button\]\:px-3 .side-chat-code-block>button{padding-left:.75rem;padding-right:.75rem}.\[\&_\.side-chat-code-block\>button\]\:py-1 .side-chat-code-block>button{padding-top:.25rem;padding-bottom:.25rem}.\[\&_\.side-chat-code-block\>button\]\:text-right .side-chat-code-block>button{text-align:right}.\[\&_\.side-chat-code-block\>button\]\:text-xs .side-chat-code-block>button{font-size:.75rem;line-height:1rem}.\[\&_\.side-chat-code-block\]\:my-3 .side-chat-code-block{margin-top:.75rem;margin-bottom:.75rem}.\[\&_\.side-chat-code-block\]\:min-w-0 .side-chat-code-block{min-width:0px}.\[\&_\.side-chat-code-block\]\:overflow-hidden .side-chat-code-block{overflow:hidden}.\[\&_\.side-chat-code-block\]\:rounded-md .side-chat-code-block{border-radius:.375rem}.\[\&_\.side-chat-code-block\]\:border .side-chat-code-block{border-width:1px}.\[\&_\.side-chat-code-block\]\:border-border .side-chat-code-block{border-color:hsl(var(--border))}.\[\&_a\]\:break-all a{word-break:break-all}.\[\&_a\]\:text-cyan-300 a{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.\[\&_a\]\:text-primary a{color:hsl(var(--primary))}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_blockquote\]\:my-3 blockquote{margin-top:.75rem;margin-bottom:.75rem}.\[\&_blockquote\]\:border-l blockquote{border-left-width:1px}.\[\&_blockquote\]\:border-l-2 blockquote{border-left-width:2px}.\[\&_blockquote\]\:border-border blockquote{border-color:hsl(var(--border))}.\[\&_blockquote\]\:border-slate-700 blockquote{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.\[\&_blockquote\]\:pl-3 blockquote{padding-left:.75rem}.\[\&_blockquote\]\:text-muted-foreground blockquote{color:hsl(var(--muted-foreground))}.\[\&_code\]\:rounded code{border-radius:.25rem}.\[\&_code\]\:bg-muted code{background-color:hsl(var(--muted))}.\[\&_code\]\:bg-slate-900 code{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.\[\&_code\]\:px-1 code{padding-left:.25rem;padding-right:.25rem}.\[\&_h1\]\:mb-3 h1{margin-bottom:.75rem}.\[\&_h1\]\:text-2xl h1{font-size:1.5rem;line-height:2rem}.\[\&_h1\]\:text-xl h1{font-size:1.25rem;line-height:1.75rem}.\[\&_h1\]\:font-semibold h1{font-weight:600}.\[\&_h2\]\:my-3 h2{margin-top:.75rem;margin-bottom:.75rem}.\[\&_h2\]\:mb-2 h2{margin-bottom:.5rem}.\[\&_h2\]\:mt-6 h2{margin-top:1.5rem}.\[\&_h2\]\:text-lg h2{font-size:1.125rem;line-height:1.75rem}.\[\&_h2\]\:text-xl h2{font-size:1.25rem;line-height:1.75rem}.\[\&_h2\]\:font-semibold h2{font-weight:600}.\[\&_h3\]\:my-2 h3{margin-top:.5rem;margin-bottom:.5rem}.\[\&_h3\]\:mb-2 h3{margin-bottom:.5rem}.\[\&_h3\]\:mt-5 h3{margin-top:1.25rem}.\[\&_h3\]\:text-lg h3{font-size:1.125rem;line-height:1.75rem}.\[\&_h3\]\:font-semibold h3{font-weight:600}.\[\&_hr\]\:my-4 hr{margin-top:1rem;margin-bottom:1rem}.\[\&_hr\]\:border-border hr{border-color:hsl(var(--border))}.\[\&_hr\]\:border-slate-800 hr{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.\[\&_img\]\:my-4 img{margin-top:1rem;margin-bottom:1rem}.\[\&_img\]\:max-w-full img{max-width:100%}.\[\&_img\]\:cursor-zoom-in img{cursor:zoom-in}.\[\&_img\]\:rounded-lg img{border-radius:.5rem}.\[\&_img\]\:border img{border-width:1px}.\[\&_img\]\:border-slate-800 img{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.\[\&_li\]\:my-1 li{margin-top:.25rem;margin-bottom:.25rem}.\[\&_li\]\:ml-4 li{margin-left:1rem}.\[\&_ol\]\:my-2 ol{margin-top:.5rem;margin-bottom:.5rem}.\[\&_ol\]\:ml-5 ol{margin-left:1.25rem}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}.\[\&_ol\]\:pl-5 ol{padding-left:1.25rem}.\[\&_p\+p\]\:mt-2 p+p{margin-top:.5rem}.\[\&_p\+p\]\:mt-3 p+p{margin-top:.75rem}.\[\&_p\]\:my-3 p{margin-top:.75rem;margin-bottom:.75rem}.\[\&_pre\]\:my-4 pre{margin-top:1rem;margin-bottom:1rem}.\[\&_pre\]\:overflow-auto pre{overflow:auto}.\[\&_pre\]\:overflow-x-auto pre{overflow-x:auto}.\[\&_pre\]\:rounded-lg pre{border-radius:.5rem}.\[\&_pre\]\:bg-slate-900 pre{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.\[\&_pre\]\:p-3 pre{padding:.75rem}.\[\&_pre_code\]\:bg-transparent pre code{background-color:transparent}.\[\&_pre_code\]\:p-0 pre code{padding:0}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_table\]\:my-3 table{margin-top:.75rem;margin-bottom:.75rem}.\[\&_table\]\:my-4 table{margin-top:1rem;margin-bottom:1rem}.\[\&_table\]\:block table{display:block}.\[\&_table\]\:w-full table{width:100%}.\[\&_table\]\:max-w-full table{max-width:100%}.\[\&_table\]\:border-collapse table{border-collapse:collapse}.\[\&_table\]\:overflow-x-auto table{overflow-x:auto}.\[\&_td\]\:border td{border-width:1px}.\[\&_td\]\:border-border td{border-color:hsl(var(--border))}.\[\&_td\]\:border-slate-800 td{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.\[\&_td\]\:px-2 td{padding-left:.5rem;padding-right:.5rem}.\[\&_td\]\:px-3 td{padding-left:.75rem;padding-right:.75rem}.\[\&_td\]\:py-1 td{padding-top:.25rem;padding-bottom:.25rem}.\[\&_th\]\:border th{border-width:1px}.\[\&_th\]\:border-border th{border-color:hsl(var(--border))}.\[\&_th\]\:border-slate-800 th{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.\[\&_th\]\:px-2 th{padding-left:.5rem;padding-right:.5rem}.\[\&_th\]\:px-3 th{padding-left:.75rem;padding-right:.75rem}.\[\&_th\]\:py-1 th{padding-top:.25rem;padding-bottom:.25rem}.\[\&_ul\]\:my-2 ul{margin-top:.5rem;margin-bottom:.5rem}.\[\&_ul\]\:ml-5 ul{margin-left:1.25rem}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-5 ul{padding-left:1.25rem}
@@ -1 +0,0 @@
1
- import{s as r,b as e,a,S as s}from"./chunk-OYMX7WX6-8Zl-vtJp.js";import{_ as i}from"./index-UR7g5PLZ.js";import"./chunk-55IACEB6-BFRLEEBY.js";import"./chunk-EDXVE4YY-DA5BuoT3.js";import"./index-D9-cSGu-.js";import"./main-LH8ULGFT.js";import"./record-content-DQ0F1zbW.js";var n={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- import{j as t}from"./index-D9-cSGu-.js";import o from"./connection-CINMNAPm.js";import"./main-LH8ULGFT.js";import"./record-content-DQ0F1zbW.js";function n(){return t.jsx(o,{accountOnly:!0})}export{n as default};
@@ -1,134 +0,0 @@
1
- ---
2
- name: prototype-first-development
3
- description: 创建和调整可运行的产品 UI 原型。仅当用户明确提到“HTML”或“原型”,或显式调用本技能时使用。
4
- ---
5
-
6
- # 原型先行开发
7
-
8
- 使用这个技能,在产品实现前先把交互意图落成具体可看的东西。产物是一个小型可运行原型,不是生产代码,也不能证明后端、协议或运行时能力已经存在。
9
-
10
- 这个技能不是“生成一个 HTML 模板”就结束,而是一套从需求到原型、从原型到计划、从计划到实现的开发方式。除非用户明确要求跳过,否则不要压缩或改写这条路径。
11
-
12
- ## 核心规则
13
-
14
- 当用户还在收敛行为、布局、状态或工作流时,先创建本地、可读、无需构建的原型。原型稳定后,再更新实施计划;只有用户明确推进实现时,才修改产品代码。
15
-
16
- 原型的用户可见界面必须按最终产品方案绘制:除技术实现方式和数据来源外,UI、文案、交互入口、状态反馈都应与计划落地后的产品一致。不要在产品画面里加入解释性文案、操作指引、快捷键说明、需求备注、标注、教学卡片或为了让人理解原型而临时增加的按钮。
17
-
18
- 如果确实需要用于演示的状态切换、mock 触发器或备注说明,必须放在 README,或放在默认隐藏、视觉上与产品画面隔离的 prototype helper 区域,并明确标记为不进入实施计划。任何 agent 都不能从这类辅助内容反推最终产品 UI。
19
-
20
- ## 默认产物
21
-
22
- 优先使用这个结构:
23
-
24
- ```text
25
- docs/prototypes/<feature-slug>/
26
- README.md
27
- index.html
28
- app.js
29
- mock-state.json
30
- prototype-preview.png # 可选,浏览器验证后保存
31
- ```
32
-
33
- 从零开始时,使用技能自带模板 `references/html-prototype-template/`。把它复制到目标仓库并替换占位内容,不要重新发明目录结构。
34
-
35
- 需要过程检查时,读取 `references/prototype-workflow-checklist.md`。需要从原型整理实施计划时,读取 `references/implementation-plan-handoff-template.md`,并优先结合 `$toolkit:write-plan` 落盘计划。
36
-
37
- ## 工作流
38
-
39
- 1. 原型简报:
40
- - 用户目标
41
- - 用户动作
42
- - 主要流程
43
- - 关键状态
44
- - 明确的非目标
45
- - 原型要影响的真实产品界面或模块
46
-
47
- 2. 可运行原型:
48
- - 默认保持静态、无需构建,除非仓库已经有更强的约定
49
- - 首屏只呈现最终产品会出现的界面,不放需求解释、操作教程或设计备注
50
- - 仅使用最终产品需要的用户操作入口;不要为了演示方便额外加“下一步”“切状态”“模拟事件”等可见控件
51
- - 把布局和挂载点放在 `index.html`
52
- - 把状态流转和事件处理放在 `app.js`
53
- - 把领域对象、模拟事件和样例记录放在 `mock-state.json`
54
- - 除非用户明确要求代码与原型对齐,否则不要导入产品源码
55
-
56
- 3. 调整循环:
57
- - 优先保证可读性,不追求炫技
58
- - 组件和函数命名贴近业务领域
59
- - 状态流转保持容易修改
60
- - 只添加最终产品会保留的交互控件
61
- - 如需切换 mock 状态,优先用 URL 参数、README 步骤或默认隐藏的 helper 面板,不把它画进产品画面
62
- - 用户点、改、截图、反馈时,只调整原型,不碰产品代码
63
-
64
- 4. 原型冻结:
65
- - 在 README 中更新启动命令、验证点、边界和非目标
66
- - 浏览器验证重要时,保存 `prototype-preview.png`
67
- - 在 Runweave 仓库中,浏览器页面复现、修复或验收必须使用 `$toolkit:playwright-cli` 完成打开页面、交互、截图或 DOM 检查
68
- - 冻结前确保 README 记录了最后采用的交互方案和被放弃的方向
69
-
70
- 5. 实施计划:
71
- - 在计划中引用原型目录
72
- - 区分“原型表达的意图”和“当前代码真实现状”
73
- - 声称可行前,先检查产品代码
74
- - 把协议、后端、运行时缺口与 UI 工作分开列出
75
- - 计划必须写清产品行为、协议变化、代码落点、验收方式
76
-
77
- 6. 产品实现:
78
- - 实现时再回到真实代码,不从原型直接推断已有能力
79
- - 产品代码修改必须以当前代码现状为准
80
- - 保留原型作为交互基准,但不要照搬原型代码
81
- - 验证时同时覆盖产品行为和原型中冻结的关键交互
82
-
83
- ## 质量目标
84
-
85
- 让生成内容像人类写的、后续能维护:
86
-
87
- - 可读:文件名清楚,函数小,状态名朴素,事件处理直观。
88
- - 易调:模拟数据放 JSON,样式按 UI 区域组织,不生成晦涩代码。
89
- - 高效:无构建步骤;除非能明显提升该原型的开发速度,否则不引入框架。
90
- - 真实:用户可见界面不夹带说明、备注或脚手架控件,截图应能直接作为最终产品体验的参考。
91
- - 诚实:README 写清楚哪些是模拟的,真实实现还缺什么。
92
-
93
- ## 功能分类账
94
-
95
- 原型中可能出现两类元素,必须显式分开记录:
96
-
97
- - 产品核心功能:最终需要落地到产品里的能力、状态、入口、反馈或业务规则。
98
- - 原型辅助功能:为了演示、切换状态、模拟数据、触发事件、方便用户理解或截图而临时加入的控件和面板。
99
-
100
- 具体分类表和检查项写在原型 README 与 `references/prototype-workflow-checklist.md` 中,`SKILL.md` 只保留原则。
101
-
102
- 原型辅助功能的默认处理:
103
-
104
- - 默认不要出现在用户可见产品画面里;能用 README 或 URL 参数完成的,不要做成 UI。
105
- - 必须与产品画面视觉隔离,并用 `data-prototype-helper="true"` 或等价标识标记。
106
- - 不进入实施计划的产品范围。
107
- - 不作为最终 UI、API、协议或数据模型的依据。
108
- - 如果用户希望保留到产品中,必须在原型冻结时把它改列为产品核心功能或单独写入后续需求。
109
-
110
- ## 约束
111
-
112
- - 不要把原型当成产品合约已经存在的证据。
113
- - 不要把原型代码直接照搬进生产代码。
114
- - 不要模拟每个边界情况;只模拟用户需要看见或验证的关键决策。
115
- - 除非仓库明确要求,否则不要为原型文件新增单元测试。
116
- - 遵守仓库关于浏览器验证、测试层级和文档路径的要求。
117
- - 不要在用户还处于原型调整阶段时提前写实施计划或改产品代码。
118
- - 产品 UI 原型默认使用可运行 HTML;技术架构、事件流或故障因果可视化改用 `$toolkit:architecture-flow-prototyping`。
119
- - 不要把原型辅助功能当作默认产品需求。
120
- - 不要在产品画面里写“快捷键”“操作说明”“这里展示”“用于验证”“模拟状态”等说明性内容,除非这些文案本来就是最终产品 UI 的一部分。
121
-
122
- ## 启动方式
123
-
124
- 对于 `docs/prototypes/<feature-slug>` 下的原型:
125
-
126
- ```bash
127
- python3 -m http.server 6188 --directory docs/prototypes/<feature-slug>
128
- ```
129
-
130
- 打开:
131
-
132
- ```text
133
- http://127.0.0.1:6188/
134
- ```
@@ -1,88 +0,0 @@
1
- # 原型标题
2
-
3
- 面向 `<feature>` 的可运行 HTML 交互原型。
4
-
5
- ## 启动
6
-
7
- ```bash
8
- python3 -m http.server 6188 --directory docs/prototypes/<feature-slug>
9
- ```
10
-
11
- 打开:
12
-
13
- ```text
14
- http://127.0.0.1:6188/
15
- ```
16
-
17
- ## 文件
18
-
19
- - `index.html`:静态页面壳层、样式和挂载点。
20
- - `app.js`:原型状态流转和事件处理。
21
- - `mock-state.json`:模拟领域对象、UI 状态和事件流。
22
- - `prototype-preview.png`:可选的验证截图。
23
-
24
- ## 原型简报
25
-
26
- - 目标:
27
- - 用户动作:
28
- - 主要用户:
29
- - 影响的产品界面或模块:
30
- - 关键流程:
31
- - 重要状态:
32
- - 非目标:
33
-
34
- ## 验证点
35
-
36
- - 用户可以从首屏完成主要流程。
37
- - 不阅读实现代码,也能看出状态变化。
38
- - 首屏只包含最终产品会出现的 UI、文案和操作入口。
39
- - 原型不把快捷键说明、操作教程、需求备注或 mock 控制器画进产品界面。
40
- - 如存在 prototype helper,它默认隐藏,且与最终产品 UI 的边界清晰。
41
-
42
- ## 功能分类
43
-
44
- ### 产品核心功能
45
-
46
- | 元素 / 行为 | 最终产品是否需要 | 产品价值 | 备注 |
47
- | ----------- | ---------------- | -------- | ---- |
48
- | | 是 | | |
49
-
50
- ### 原型辅助功能
51
-
52
- | 元素 / 行为 | 辅助验证什么 | 为什么不进入产品 | 备注 |
53
- | ----------- | ------------ | ---------------- | ---- |
54
- | | | | |
55
-
56
- ## 调整记录
57
-
58
- | 轮次 | 调整内容 | 原因 | 结果 |
59
- | ---- | -------- | ---- | ---- |
60
- | 1 | | | |
61
-
62
- ## 冻结记录
63
-
64
- - 最终采用的交互:
65
- - 放弃的方向:
66
- - 产品核心功能清单是否已确认:
67
- - 原型辅助功能清单是否已确认:
68
- - 最终截图:
69
- - 冻结时间:
70
-
71
- ## 边界
72
-
73
- - 这个原型不连接真实后端 API。
74
- - 这个原型不导入生产源码。
75
- - 这个原型不能证明产品协议、存储或运行时支持已经存在。
76
- - 原型专用控件只允许出现在 README、URL 参数或默认隐藏的 helper 面板中,不是最终产品 UI。
77
- - 原型辅助功能默认不进入实施计划,除非在冻结记录中明确转为产品需求。
78
-
79
- ## 实施计划衔接
80
-
81
- - 原型表达的产品行为:
82
- - 需要进入产品实现的核心功能:
83
- - 不进入产品实现的原型辅助功能:
84
- - 需要检查的现有代码:
85
- - 可能涉及的协议或数据结构:
86
- - 可能涉及的前端落点:
87
- - 可能涉及的后端或运行时落点:
88
- - 验收方式:
@@ -1,145 +0,0 @@
1
- /* global URLSearchParams, document, fetch, window */
2
-
3
- const app = document.querySelector("#app");
4
-
5
- function render(state) {
6
- const activeView = state.views.find((view) => view.id === state.activeViewId);
7
- const showPrototypeControls = new URLSearchParams(window.location.search).has(
8
- "prototypeControls",
9
- );
10
-
11
- app.innerHTML = `
12
- <header class="topbar">
13
- <div class="title">
14
- <strong>${state.title}</strong>
15
- <span>${state.subtitle}</span>
16
- </div>
17
- <div class="toolbar">
18
- ${state.actions
19
- .map(
20
- (action) => `
21
- <button class="button ${action.primary ? "primary" : ""}" data-action-id="${action.id}">
22
- ${action.label}
23
- </button>
24
- `,
25
- )
26
- .join("")}
27
- </div>
28
- </header>
29
- <section class="product-shell">
30
- <aside class="sidebar">
31
- <nav class="nav-list" aria-label="${state.navigationLabel}">
32
- ${state.views
33
- .map(
34
- (view) => `
35
- <button
36
- class="nav-item ${view.id === state.activeViewId ? "active" : ""}"
37
- data-view-id="${view.id}"
38
- >
39
- ${view.label}
40
- </button>
41
- `,
42
- )
43
- .join("")}
44
- </nav>
45
- </aside>
46
- <div class="main-panel">
47
- <section class="stage">
48
- <div class="stage-header">
49
- <strong>${activeView.title}</strong>
50
- <span>${activeView.status}</span>
51
- </div>
52
- <div class="stage-body">
53
- ${activeView.items
54
- .map(
55
- (item) => `
56
- <article class="item">
57
- <h2>${item.title}</h2>
58
- <p>${item.description}</p>
59
- </article>
60
- `,
61
- )
62
- .join("")}
63
- </div>
64
- </section>
65
- </div>
66
- </section>
67
- <aside
68
- class="prototype-controls ${showPrototypeControls ? "visible" : ""}"
69
- data-prototype-helper="true"
70
- aria-hidden="${showPrototypeControls ? "false" : "true"}"
71
- >
72
- <div class="prototype-controls-inner">
73
- <span>Prototype helper, not product UI</span>
74
- <div>
75
- ${state.views
76
- .map(
77
- (view) => `
78
- <button class="button" data-view-id="${view.id}">
79
- ${view.label}
80
- </button>
81
- `,
82
- )
83
- .join("")}
84
- </div>
85
- </div>
86
- </aside>
87
- `;
88
- }
89
-
90
- function bindInteractions(initialState) {
91
- let state = initialState;
92
- render(state);
93
-
94
- app.addEventListener("click", (event) => {
95
- const target = event.target.closest("button");
96
- if (!target) return;
97
-
98
- if (target.dataset.actionId) {
99
- state = {
100
- ...state,
101
- lastActionId: target.dataset.actionId,
102
- };
103
- render(state);
104
- return;
105
- }
106
-
107
- if (target.dataset.viewId) {
108
- state = {
109
- ...state,
110
- activeViewId: target.dataset.viewId,
111
- };
112
- render(state);
113
- }
114
- });
115
- }
116
-
117
- function renderLoadError(error) {
118
- app.innerHTML = "";
119
-
120
- const panel = document.createElement("pre");
121
- panel.style.margin = "0";
122
- panel.style.padding = "18px";
123
- panel.style.color = "var(--danger)";
124
- panel.style.whiteSpace = "pre-wrap";
125
- panel.textContent = [
126
- "无法加载 mock-state.json。",
127
- "",
128
- String(error),
129
- "",
130
- "请用以下命令启动原型,而不是直接打开本地文件:",
131
- "python3 -m http.server 6188 --directory docs/prototypes/<feature-slug>",
132
- ].join("\n");
133
-
134
- app.append(panel);
135
- }
136
-
137
- fetch("./mock-state.json")
138
- .then((response) => {
139
- if (!response.ok) {
140
- throw new Error(`HTTP ${response.status} ${response.statusText}`);
141
- }
142
- return response.json();
143
- })
144
- .then(bindInteractions)
145
- .catch(renderLoadError);