tmex-cli 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +13 -19
  2. package/dist/cli-node.js +492 -87
  3. package/dist/runtime/server.js +431 -44
  4. package/package.json +1 -1
  5. package/resources/fe-dist/assets/{DevicePage-Cj9jwadE.js → DevicePage-kndrXVHE.js} +1 -1
  6. package/resources/fe-dist/assets/DevicesPage-CZLzOS04.js +1 -0
  7. package/resources/fe-dist/assets/{FilePage-CbHZVJbn.js → FilePage-CxVqdlbt.js} +1 -1
  8. package/resources/fe-dist/assets/{SettingsPage-CCV0NSQF.js → SettingsPage-C50JRe91.js} +1 -1
  9. package/resources/fe-dist/assets/{agent-tab-DPwxh08T.js → agent-tab-BVWxou-d.js} +1 -1
  10. package/resources/fe-dist/assets/{api-DlcFE5in.js → api-CrHrQflz.js} +1 -1
  11. package/resources/fe-dist/assets/{arc-Bzmm6y8F.js → arc-fsY_kDTa.js} +1 -1
  12. package/resources/fe-dist/assets/{architectureDiagram-3BPJPVTR-BdsN6XRe.js → architectureDiagram-3BPJPVTR-Vsg8Cd3e.js} +1 -1
  13. package/resources/fe-dist/assets/{blockDiagram-GPEHLZMM-CXdQhkqo.js → blockDiagram-GPEHLZMM-G7sC3DZO.js} +1 -1
  14. package/resources/fe-dist/assets/{c4Diagram-AAUBKEIU-CE_W2_pV.js → c4Diagram-AAUBKEIU-C1AfLOva.js} +1 -1
  15. package/resources/fe-dist/assets/{card-B_sl9KIo.js → card-CXa-2u8i.js} +1 -1
  16. package/resources/fe-dist/assets/channel-DS4kWkSb.js +1 -0
  17. package/resources/fe-dist/assets/{chunk-2J33WTMH-BAdEIJQO.js → chunk-2J33WTMH-C1p02eGI.js} +1 -1
  18. package/resources/fe-dist/assets/{chunk-4BX2VUAB-BZ0yj21c.js → chunk-4BX2VUAB-C8n2FURp.js} +1 -1
  19. package/resources/fe-dist/assets/{chunk-55IACEB6-BknLtkSo.js → chunk-55IACEB6-Da0nuNCD.js} +1 -1
  20. package/resources/fe-dist/assets/{chunk-727SXJPM-CxVON9n5.js → chunk-727SXJPM-C1TXyDEt.js} +1 -1
  21. package/resources/fe-dist/assets/{chunk-AQP2D5EJ-CLqOK2pR.js → chunk-AQP2D5EJ-CnRKlbXo.js} +1 -1
  22. package/resources/fe-dist/assets/{chunk-FMBD7UC4-Dt5Vot-R.js → chunk-FMBD7UC4-B8HGrJ3t.js} +1 -1
  23. package/resources/fe-dist/assets/{chunk-ND2GUHAM-t9HYlb8C.js → chunk-ND2GUHAM-CcN2Ou-o.js} +1 -1
  24. package/resources/fe-dist/assets/{chunk-QZHKN3VN-DZReNtLB.js → chunk-QZHKN3VN-DfWJ_tl5.js} +1 -1
  25. package/resources/fe-dist/assets/classDiagram-4FO5ZUOK-BfsrnUi9.js +1 -0
  26. package/resources/fe-dist/assets/classDiagram-v2-Q7XG4LA2-BfsrnUi9.js +1 -0
  27. package/resources/fe-dist/assets/{copy-Z9Fsj1r-.js → copy-BveLgJe5.js} +1 -1
  28. package/resources/fe-dist/assets/{cose-bilkent-S5V4N54A-BCTtGF2n.js → cose-bilkent-S5V4N54A-BkmsTzwU.js} +1 -1
  29. package/resources/fe-dist/assets/{dagre-BM42HDAG-BQ48EqSj.js → dagre-BM42HDAG-pGgtc4EE.js} +1 -1
  30. package/resources/fe-dist/assets/{diagram-2AECGRRQ-BXjt2moR.js → diagram-2AECGRRQ-DJxixZvm.js} +1 -1
  31. package/resources/fe-dist/assets/{diagram-5GNKFQAL-B2bvNTQO.js → diagram-5GNKFQAL-2ITViev7.js} +1 -1
  32. package/resources/fe-dist/assets/{diagram-KO2AKTUF-DLHWfbBH.js → diagram-KO2AKTUF-EMcadaeo.js} +1 -1
  33. package/resources/fe-dist/assets/{diagram-LMA3HP47-BCFT3Bur.js → diagram-LMA3HP47-w3sLU7zY.js} +1 -1
  34. package/resources/fe-dist/assets/{diagram-OG6HWLK6-bNZtxUJ2.js → diagram-OG6HWLK6-B4KGMQr7.js} +1 -1
  35. package/resources/fe-dist/assets/en_US-Chxeay8F.js +1 -0
  36. package/resources/fe-dist/assets/{erDiagram-TEJ5UH35-KoAzrx4j.js → erDiagram-TEJ5UH35-CB0P-Wz7.js} +1 -1
  37. package/resources/fe-dist/assets/{files-tab-DdBDTjfs.js → files-tab-lNenDPFy.js} +1 -1
  38. package/resources/fe-dist/assets/{flowDiagram-I6XJVG4X-C6wGExWt.js → flowDiagram-I6XJVG4X-CmBc7GAX.js} +1 -1
  39. package/resources/fe-dist/assets/{ganttDiagram-6RSMTGT7-BIWybjes.js → ganttDiagram-6RSMTGT7-CHNf7S_K.js} +1 -1
  40. package/resources/fe-dist/assets/{gitGraphDiagram-PVQCEYII-CD6tz24l.js → gitGraphDiagram-PVQCEYII-CabspIF1.js} +1 -1
  41. package/resources/fe-dist/assets/{index-CUCrFB_J.js → index-BQbq6q_-.js} +1 -1
  42. package/resources/fe-dist/assets/{index-CwH-l50P.js → index-DOaZjm8K.js} +79 -79
  43. package/resources/fe-dist/assets/index-DaOR3c0u.css +1 -0
  44. package/resources/fe-dist/assets/{infoDiagram-5YYISTIA-CrI-qlYw.js → infoDiagram-5YYISTIA-ny6wqvHH.js} +1 -1
  45. package/resources/fe-dist/assets/{ishikawaDiagram-YF4QCWOH-D9v5anxN.js → ishikawaDiagram-YF4QCWOH-EFCdGVsV.js} +1 -1
  46. package/resources/fe-dist/assets/ja_JP-BI-C8I9X.js +1 -0
  47. package/resources/fe-dist/assets/{journeyDiagram-JHISSGLW-BH38CiJ0.js → journeyDiagram-JHISSGLW-Cvi8jO9a.js} +1 -1
  48. package/resources/fe-dist/assets/{kanban-definition-UN3LZRKU-CKZ3_oXD.js → kanban-definition-UN3LZRKU-nKej8tSo.js} +1 -1
  49. package/resources/fe-dist/assets/{linear-C_oE01xA.js → linear-leOPyu29.js} +1 -1
  50. package/resources/fe-dist/assets/{markdown-preview-BtNbNwlP.js → markdown-preview-rqUSs5w8.js} +3 -3
  51. package/resources/fe-dist/assets/{mermaid.core-4dbvlhht.js → mermaid.core-QvhJBi8f.js} +5 -5
  52. package/resources/fe-dist/assets/{mindmap-definition-RKZ34NQL-C5o4mnnX.js → mindmap-definition-RKZ34NQL-xWje0B_-.js} +1 -1
  53. package/resources/fe-dist/assets/{pieDiagram-4H26LBE5-2ss3HotB.js → pieDiagram-4H26LBE5-DT1i53ec.js} +1 -1
  54. package/resources/fe-dist/assets/{quadrantDiagram-W4KKPZXB-Bolcfx55.js → quadrantDiagram-W4KKPZXB-C1zbS4Tx.js} +1 -1
  55. package/resources/fe-dist/assets/{requirementDiagram-4Y6WPE33-B-atSHRR.js → requirementDiagram-4Y6WPE33-By_eNRll.js} +1 -1
  56. package/resources/fe-dist/assets/{sankeyDiagram-5OEKKPKP-ByynRcAV.js → sankeyDiagram-5OEKKPKP-CG7jC05N.js} +1 -1
  57. package/resources/fe-dist/assets/{send-D0P5wgcD.js → send-CcFyyX2G.js} +1 -1
  58. package/resources/fe-dist/assets/{sequenceDiagram-3UESZ5HK-CNC9IxV4.js → sequenceDiagram-3UESZ5HK-C9yK_EKN.js} +1 -1
  59. package/resources/fe-dist/assets/{stateDiagram-AJRCARHV-CqzYDImp.js → stateDiagram-AJRCARHV-B-ROUwGP.js} +1 -1
  60. package/resources/fe-dist/assets/stateDiagram-v2-BHNVJYJU-iopOcale.js +1 -0
  61. package/resources/fe-dist/assets/{terminal-settings-panel-cjw9P_wY.js → terminal-settings-panel-CNwWqOMV.js} +1 -1
  62. package/resources/fe-dist/assets/{timeline-definition-PNZ67QCA-C38KIECs.js → timeline-definition-PNZ67QCA-yMM8VB4U.js} +1 -1
  63. package/resources/fe-dist/assets/{transfer-toast-5tb-zYhi.js → transfer-toast-mQs0hgyg.js} +1 -1
  64. package/resources/fe-dist/assets/{triangle-alert-CQzql6mY.js → triangle-alert-DMp7kMmJ.js} +1 -1
  65. package/resources/fe-dist/assets/{vennDiagram-CIIHVFJN-BJudKfzJ.js → vennDiagram-CIIHVFJN-CE08llZ3.js} +1 -1
  66. package/resources/fe-dist/assets/{wardley-L42UT6IY-B6p_luMy.js → wardley-L42UT6IY-BKLGCmLJ.js} +1 -1
  67. package/resources/fe-dist/assets/{wardleyDiagram-YWT4CUSO-DZJeOiWQ.js → wardleyDiagram-YWT4CUSO-BsjwfO3P.js} +1 -1
  68. package/resources/fe-dist/assets/{xychartDiagram-2RQKCTM6-DOMCute2.js → xychartDiagram-2RQKCTM6-Bhz6AI7w.js} +1 -1
  69. package/resources/fe-dist/assets/{zap-DWNtdoic.js → zap-DPwn8lbv.js} +1 -1
  70. package/resources/fe-dist/assets/zh_CN-DE-BaQ3P.js +1 -0
  71. package/resources/fe-dist/index.html +2 -2
  72. package/resources/gateway-drizzle/0011_stormy_sauron.sql +1 -0
  73. package/resources/gateway-drizzle/meta/_journal.json +7 -0
  74. package/resources/fe-dist/assets/DevicesPage-BbypaGC7.js +0 -1
  75. package/resources/fe-dist/assets/channel-CuapxAWT.js +0 -1
  76. package/resources/fe-dist/assets/classDiagram-4FO5ZUOK-C0k136Ud.js +0 -1
  77. package/resources/fe-dist/assets/classDiagram-v2-Q7XG4LA2-C0k136Ud.js +0 -1
  78. package/resources/fe-dist/assets/en_US-B07wSHDj.js +0 -1
  79. package/resources/fe-dist/assets/index-D-q7dOhH.css +0 -1
  80. package/resources/fe-dist/assets/ja_JP-DjF6Lrmx.js +0 -1
  81. package/resources/fe-dist/assets/stateDiagram-v2-BHNVJYJU-C3azxyWE.js +0 -1
  82. package/resources/fe-dist/assets/zh_CN-D10j4J8Y.js +0 -1
@@ -1 +0,0 @@
1
- import{u as D,r as x,a as W,b as ae,c as ie,d as re,e as K,t as ne,j as e,M as _,B as C,P as X,A as oe,f as ce,g as de,h as le,T as Y,i as me,k as he,l as ue,m as pe,n as xe,G as ve,o as v,D as fe,p as ye,E as ge,q as je,s as A,v as we,w as Ne,x as Q,y as Ce,S as De,L as be,z as Se,C as Ee,F as Me,H as Pe,I as Ke,J as Re,K as f,N as z,O as V,Q as U,R as J,U as j,V as Ie,W as ke}from"./index-CwH-l50P.js";import{C as M,a as P,b as Ae,c as $e,d as Te}from"./card-B_sl9KIo.js";import{Z as Fe}from"./zap-DWNtdoic.js";function R(s){const o=s.trim();return o||void 0}function qe(s){return s?{name:s.name,type:s.type,host:s.host??"",port:s.port??22,username:s.username??"",sshConfigRef:s.sshConfigRef??"",session:s.session??"tmex",authMode:s.type==="local"?"auto":s.authMode,password:"",privateKey:"",privateKeyPassphrase:""}:{name:"",type:"local",host:"",port:22,username:"root",sshConfigRef:"",session:"tmex",authMode:"auto",password:"",privateKey:"",privateKeyPassphrase:""}}function Le(s){if(s.type==="local")return{name:s.name.trim(),type:"local",session:R(s.session)??"tmex",authMode:"auto"};const o={name:s.name.trim(),type:"ssh",host:s.host.trim(),port:s.port,username:s.username.trim(),session:R(s.session)??"tmex",authMode:s.authMode};return s.authMode==="configRef"&&(o.sshConfigRef=s.sshConfigRef.trim()),s.authMode==="password"&&(o.password=s.password),s.authMode==="key"&&(o.privateKey=s.privateKey,o.privateKeyPassphrase=s.privateKeyPassphrase||void 0),o}function He(s){if(s.type==="local")return{name:s.name.trim(),session:R(s.session)??"tmex",authMode:"auto"};const o={name:s.name.trim(),host:s.host.trim(),port:s.port,username:s.username.trim(),sshConfigRef:s.authMode==="configRef"?s.sshConfigRef.trim():"",session:R(s.session)??"tmex",authMode:s.authMode};return s.authMode==="password"&&s.password&&(o.password=s.password),s.authMode==="key"&&s.privateKey&&(o.privateKey=s.privateKey,o.privateKeyPassphrase=s.privateKeyPassphrase||void 0),o}function ee(s){return Number.isInteger(s)&&s>=1&&s<=65535}function Oe(s){return s.type!=="ssh"?null:s.host.trim()?ee(s.port)?s.username.trim()?s.authMode==="configRef"&&!s.sshConfigRef.trim()?"validation.sshConfigRequired":null:"validation.usernameRequired":"validation.portRequired":"validation.hostRequired"}async function G(s,o){try{return(await s.json()).error??o}catch{return o}}function Ue(){const{t:s}=D(),[o,m]=x.useState(!1),[t,y]=x.useState(null),[r,d]=x.useState(null),l=W(),u=ae(n=>{var p;return((p=n.settings)==null?void 0:p.language)??"en_US"});x.useEffect(()=>{const n=()=>m(!0);return window.addEventListener("tmex:open-add-device",n),()=>window.removeEventListener("tmex:open-add-device",n)},[]);const{data:c,isLoading:I,isError:w}=ie({queryKey:["devices"],queryFn:async()=>{const n=await fetch("/api/devices");if(!n.ok)throw new Error(s("device.loadFailed"));return n.json()},throwOnError:!1}),b=re(n=>n.hydrateDeviceErrors);x.useEffect(()=>{c!=null&&c.devices&&b(c.devices.map(n=>({deviceId:n.id,lastError:n.lastError??null,lastErrorType:n.lastErrorType??null})))},[c,b]);const S=K({mutationFn:async n=>{if(!(await fetch(`/api/devices/${n}`,{method:"DELETE"})).ok)throw new Error(s("device.deleteFailed"))},onSuccess:()=>{l.invalidateQueries({queryKey:["devices"]}),v.success(s("common.success"))},onError:n=>{v.error(n instanceof Error?n.message:s("common.error"))}}),E=x.useMemo(()=>[...(c==null?void 0:c.devices)??[]].sort((p,N)=>p.sortOrder-N.sortOrder||p.name.localeCompare(N.name,ne(u),{numeric:!0,sensitivity:"base"})),[c==null?void 0:c.devices,u]);return e.jsxs("div",{className:"mx-auto flex w-full max-w-6xl flex-col gap-3 p-3 pb-[calc(1rem+env(safe-area-inset-bottom))] sm:gap-4 sm:p-5","data-testid":"devices-page",children:[I?e.jsx(M,{children:e.jsx(P,{className:"py-16 text-center text-sm text-muted-foreground",children:s("common.loading")})}):w?e.jsx(M,{children:e.jsx(P,{className:"py-16 text-center text-sm text-destructive",children:s("device.loadFailed")})}):E.length===0?e.jsx(M,{children:e.jsxs(P,{className:"space-y-4 py-14 text-center",children:[e.jsx("div",{className:"mx-auto flex h-12 w-12 items-center justify-center rounded-xl border border-border bg-muted",children:e.jsx(_,{className:"h-6 w-6 text-muted-foreground"})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("h2",{className:"text-lg font-medium",children:s("device.noDevices")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("device.addDevice")})]}),e.jsxs(C,{variant:"default","data-testid":"devices-add-empty",onClick:()=>m(!0),children:[e.jsx(X,{className:"h-4 w-4"}),s("device.addDevice")]})]})}):e.jsx("div",{className:"grid gap-3 lg:grid-cols-2",children:E.map(n=>e.jsx(Be,{device:n,onEdit:()=>y(n),onDelete:()=>d(n)},n.id))}),o&&e.jsx(Z,{mode:"create",onClose:()=>m(!1)}),t&&e.jsx(Z,{mode:"edit",device:t,onClose:()=>y(null)}),e.jsx(oe,{open:r!==null,onOpenChange:n=>!n&&d(null),children:e.jsxs(ce,{children:[e.jsxs(de,{children:[e.jsx(le,{className:"bg-destructive/10",children:e.jsx(Y,{className:"h-5 w-5 text-destructive"})}),e.jsx(me,{children:s("device.deleteConfirm")}),e.jsx(he,{children:s("device.deleteDescription",{name:(r==null?void 0:r.name)??""})})]}),e.jsxs(ue,{children:[e.jsx(pe,{children:s("common.cancel")}),e.jsx(xe,{variant:"destructive",disabled:!r||S.isPending,onClick:()=>{r&&(S.mutate(r.id),d(null))},children:s("common.delete")})]})]})})]})}function Be({device:s,onEdit:o,onDelete:m}){const{t}=D(),y=s.type==="local"?e.jsx(_,{className:"h-4 w-4"}):e.jsx(ve,{className:"h-4 w-4"}),r=s.type==="local"?t("device.typeLocal"):`${s.username??"-"}@${s.host??"-"}:${s.port??22}`,d=K({mutationFn:async()=>{const l=await fetch(`/api/devices/${s.id}/test-connection`,{method:"POST"});let u=null;try{u=await l.json()}catch{u=null}if(!l.ok){const c=u;throw new Error((c==null?void 0:c.error)??t("common.error"))}return u},onSuccess:l=>{v.success(l.message??t("common.success"))},onError:l=>{v.error(l instanceof Error?l.message:t("common.error"))}});return e.jsxs(M,{"data-testid":"device-card","data-device-id":s.id,"data-device-name":s.name,className:"overflow-hidden border-border/50",children:[e.jsxs(Ae,{className:"space-y-2 pb-2",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[e.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-border bg-muted text-muted-foreground",children:y}),e.jsxs("div",{className:"min-w-0 space-y-0.5",children:[e.jsx($e,{className:"line-clamp-1 text-sm",title:s.name,children:s.name}),e.jsx(Te,{className:"line-clamp-1 text-xs",children:r})]})]}),e.jsx("div",{className:"flex shrink-0 items-center gap-1",children:e.jsxs(fe,{children:[e.jsx(ye,{render:e.jsx(C,{variant:"ghost",size:"icon-sm","data-testid":`device-card-actions-${s.id}`,"aria-label":t("common.edit"),title:t("common.edit")}),children:e.jsx(ge,{className:"h-4 w-4"})}),e.jsxs(je,{align:"end",children:[e.jsxs(A,{"data-testid":`device-card-edit-${s.id}`,onClick:o,children:[e.jsx(we,{className:"h-4 w-4"}),t("common.edit")]}),s.type==="ssh"&&e.jsxs(A,{"data-testid":`device-card-test-${s.id}`,onClick:()=>d.mutate(),disabled:d.isPending,children:[e.jsx(Fe,{className:"h-4 w-4"}),t("common.test")]}),e.jsx(Ne,{}),e.jsxs(A,{"data-testid":`device-card-delete-${s.id}`,variant:"destructive",onClick:m,children:[e.jsx(Y,{className:"h-4 w-4"}),t("common.delete")]})]})]})})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[e.jsx(Q,{variant:"outline",className:"text-[11px] font-normal",children:s.type==="local"?t("device.typeLocal"):t("device.typeSSHBadge")}),s.session&&e.jsx(Q,{variant:"outline",className:"text-[11px] font-normal",children:s.session}),e.jsx(Ce,{deviceId:s.id})]})]}),e.jsxs(P,{className:"pt-0",children:[e.jsx(De,{className:"mb-2"}),e.jsx("div",{className:"flex items-center justify-end",children:e.jsx(be,{to:`/devices/${s.id}`,"data-testid":`device-card-connect-${s.id}`,className:Se({variant:"outline",size:"sm"}),children:t("device.connect")})})]})]})}function Z({mode:s,device:o,onClose:m}){const{t}=D(),y=W(),[r,d]=x.useState(qe(o)),[l,u]=x.useState(!1),[c,I]=x.useState(!1),w=s==="edit",b=r.type==="ssh",S=K({mutationFn:async a=>{const i=await fetch("/api/devices",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!i.ok)throw new Error(await G(i,t("device.createFailed")));return i.json()},onSuccess:()=>{y.invalidateQueries({queryKey:["devices"]}),v.success(t("common.success")),m()},onError:a=>{v.error(a instanceof Error?a.message:t("common.error"))}}),E=K({mutationFn:async a=>{if(!o)throw new Error(t("apiError.deviceNotFound"));const i=await fetch(`/api/devices/${o.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!i.ok)throw new Error(await G(i,t("device.updateFailed")));return i.json()},onSuccess:()=>{y.invalidateQueries({queryKey:["devices"]}),v.success(t("common.success")),m()},onError:a=>{v.error(a instanceof Error?a.message:t("common.error"))}}),n=async a=>{a.preventDefault(),I(!0);const i=Oe(r);if(i){v.error(t(i));return}u(!0);try{s==="create"?await S.mutateAsync(Le(r)):await E.mutateAsync(He(r))}catch{}finally{u(!1)}},p=`${s}-device-name`,N=`${s}-device-type`,$=`${s}-device-host`,T=`${s}-device-port`,F=`${s}-device-username`,q=`${s}-device-session`,L=`${s}-device-auth-mode`,H=`${s}-device-password`,O=`${s}-device-private-key`,B=`${s}-device-private-key-passphrase`,se={local:t("device.typeLocal"),ssh:t("device.typeSSH")},te={password:t("device.authPassword"),key:t("device.authKey"),agent:t("device.authAgent"),configRef:t("device.authConfigRef")},k=a=>e.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:a}),h=(a,i,g)=>e.jsxs("label",{className:"block text-xs font-medium text-foreground",htmlFor:a,children:[i,g&&e.jsx("span",{className:"ml-0.5 text-destructive",children:"*"})]});return e.jsx(Ee,{open:!0,onOpenChange:a=>!a&&m(),children:e.jsxs(Me,{"data-testid":"device-dialog",className:"w-full max-w-2xl",children:[e.jsxs(Pe,{children:[e.jsx(Ke,{children:t(w?"device.editDevice":"device.addDevice")}),e.jsx(Re,{children:t(w?"device.editDeviceDescription":"device.addDeviceDescription")})]}),e.jsxs("form",{onSubmit:n,className:"space-y-4",children:[e.jsxs("div",{className:"-mr-2 max-h-[min(70dvh,720px)] space-y-5 overflow-y-auto pr-2",children:[e.jsxs("section",{className:"space-y-2.5",children:[k(t("device.sectionBasic")),e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[e.jsxs("div",{className:"space-y-1.5 sm:col-span-2",children:[h(p,t("device.name"),!0),e.jsx(f,{id:p,"data-testid":"device-name-input",type:"text",value:r.name,onChange:a=>d(i=>({...i,name:a.target.value})),placeholder:t("device.namePlaceholder"),required:!0})]}),e.jsxs("div",{className:"space-y-1.5",children:[h(N,t("device.type")),e.jsxs(z,{value:r.type,onValueChange:a=>{if(!a)return;const i=a;d(g=>({...g,type:i,authMode:i==="local"?"auto":g.authMode==="auto"?"agent":g.authMode}))},disabled:w,children:[e.jsx(V,{id:N,"data-testid":"device-type-select",className:"w-full",children:e.jsx(U,{placeholder:t("device.type"),children:a=>se[a]??""})}),e.jsxs(J,{children:[e.jsx(j,{value:"local",children:t("device.typeLocal")}),e.jsx(j,{value:"ssh",children:t("device.typeSSH")})]})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[h(q,t("device.session")),e.jsx(f,{id:q,"data-testid":"device-session-input",type:"text",value:r.session,onChange:a=>d(i=>({...i,session:a.target.value})),placeholder:t("device.sessionPlaceholder")})]})]})]}),b&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"space-y-2.5",children:[k(t("device.sectionConnection")),e.jsxs("div",{className:"grid gap-3 sm:grid-cols-3",children:[e.jsxs("div",{className:"space-y-1.5 sm:col-span-2",children:[h($,t("device.host"),!0),e.jsx(f,{id:$,type:"text",value:r.host,onChange:a=>d(i=>({...i,host:a.target.value})),placeholder:t("device.hostPlaceholder"),"aria-invalid":c&&!r.host.trim()})]}),e.jsxs("div",{className:"space-y-1.5",children:[h(T,t("device.port"),!0),e.jsx(f,{id:T,type:"number",value:Number.isNaN(r.port)?"":r.port,onChange:a=>{const i=a.target.value;d(g=>({...g,port:i===""?Number.NaN:Number.parseInt(i,10)}))},min:1,max:65535,"aria-invalid":c&&!ee(r.port)})]}),e.jsxs("div",{className:"space-y-1.5 sm:col-span-2",children:[h(F,t("device.username"),!0),e.jsx(f,{id:F,type:"text",value:r.username,onChange:a=>d(i=>({...i,username:a.target.value})),placeholder:t("device.usernamePlaceholder"),"aria-invalid":c&&!r.username.trim()})]})]})]}),e.jsxs("section",{className:"space-y-2.5",children:[k(t("device.sectionAuth")),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"space-y-1.5",children:[h(L,t("device.authMode")),e.jsxs(z,{value:r.authMode,onValueChange:a=>{a&&d(i=>({...i,authMode:a}))},children:[e.jsx(V,{id:L,"data-testid":"device-auth-mode-select",className:"w-full",children:e.jsx(U,{placeholder:t("device.authMode"),children:a=>te[a]??""})}),e.jsxs(J,{children:[e.jsx(j,{value:"password",children:t("device.authPassword")}),e.jsx(j,{value:"key",children:t("device.authKey")}),e.jsx(j,{value:"agent",children:t("device.authAgent")}),e.jsx(j,{value:"configRef",children:t("device.authConfigRef")})]})]})]}),r.authMode==="password"&&e.jsxs("div",{className:"space-y-1.5",children:[h(H,t("device.password")),e.jsx(f,{id:H,type:"password",value:r.password,onChange:a=>d(i=>({...i,password:a.target.value}))})]}),r.authMode==="key"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-1.5",children:[h(O,t("device.privateKey")),e.jsx(Ie,{id:O,value:r.privateKey,onChange:a=>d(i=>({...i,privateKey:a.target.value})),className:"h-28 font-mono text-xs",placeholder:t("device.privateKeyPlaceholder")})]}),e.jsxs("div",{className:"space-y-1.5",children:[h(B,t("device.passphrase")),e.jsx(f,{id:B,type:"password",value:r.privateKeyPassphrase,onChange:a=>d(i=>({...i,privateKeyPassphrase:a.target.value}))})]})]}),r.authMode==="configRef"&&e.jsxs("div",{className:"space-y-1.5",children:[h(`${s}-device-ssh-config-ref`,t("device.authConfigRef"),!0),e.jsx(f,{id:`${s}-device-ssh-config-ref`,"data-testid":"device-ssh-config-ref-input",type:"text",value:r.sshConfigRef,onChange:a=>d(i=>({...i,sshConfigRef:a.target.value})),placeholder:t("device.sshConfigRefPlaceholder"),"aria-invalid":c&&!r.sshConfigRef.trim()}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:t("device.sshConfigRefHint")})]})]})]})]})]}),e.jsxs(ke,{children:[e.jsx(C,{type:"button",variant:"outline",onClick:m,children:t("common.cancel")}),e.jsx(C,{type:"submit",variant:"default","data-testid":"device-dialog-save",disabled:l,children:t(l?"common.saving":"common.save")})]})]})]})})}function Je(){const{t:s}=D();return e.jsx(e.Fragment,{children:s("sidebar.manageDevices")})}function Ge(){const{t:s}=D(),o=()=>{window.dispatchEvent(new CustomEvent("tmex:open-add-device"))};return e.jsx(C,{variant:"ghost",size:"icon-sm","data-testid":"devices-add",onClick:o,"aria-label":s("sidebar.addDevice"),title:s("sidebar.addDevice"),children:e.jsx(X,{className:"h-4 w-4"})})}export{Ge as PageActions,Je as PageTitle,Ue as default};
@@ -1 +0,0 @@
1
- import{ai as o,aj as n}from"./mermaid.core-4dbvlhht.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-CxVON9n5.js";import{_ as i}from"./mermaid.core-4dbvlhht.js";import"./chunk-FMBD7UC4-Dt5Vot-R.js";import"./chunk-ND2GUHAM-t9HYlb8C.js";import"./chunk-55IACEB6-BknLtkSo.js";import"./chunk-2J33WTMH-BAdEIJQO.js";import"./index-CwH-l50P.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-CxVON9n5.js";import{_ as i}from"./mermaid.core-4dbvlhht.js";import"./chunk-FMBD7UC4-Dt5Vot-R.js";import"./chunk-ND2GUHAM-t9HYlb8C.js";import"./chunk-55IACEB6-BknLtkSo.js";import"./chunk-2J33WTMH-BAdEIJQO.js";import"./index-CwH-l50P.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- const e=JSON.parse('{"common":{"loading":"Loading...","save":"Save","saving":"Saving...","cancel":"Cancel","add":"Add","delete":"Delete","edit":"Edit","confirm":"Confirm","close":"Close","expand":"Expand","collapse":"Collapse","refresh":"Refresh","test":"Test","send":"Send","success":"Success","error":"Error","warning":"Warning","info":"Info","yes":"Yes","no":"No","enabled":"Enabled","disabled":"Disabled","pending":"Pending","authorized":"Authorized","unknown":"Unknown","empty":"Empty","none":"None","default":"Default","optional":"Optional","required":"Required","pwaInstallTitle":"Install as app","pwaInstallHintIOSSafari":"iOS Safari does not show an automatic install prompt. Tap Share, then \\"Add to Home Screen\\".","pwaInstallHintIOSChrome":"iOS Chrome does not show an automatic install prompt. Tap Share, then \\"Add to Home Screen\\"."},"nav":{"manageDevices":"Manage Devices","settings":"Settings","sidebarExpand":"Expand Sidebar","sidebarCollapse":"Collapse Sidebar","openSidebar":"Open Sidebar","closeSidebar":"Close Sidebar","jumpToLatest":"Jump to Latest","switchToEditor":"Switch to Editor Input","switchToDirect":"Switch to Direct Input","refreshPage":"Refresh Page","refreshPageConfirm":"Are you sure you want to refresh the page? Unsaved content will be lost."},"device":{"title":"Device Management","devices":"Devices","addDevice":"Add Device","addDeviceDescription":"Fill in device details and choose a connection method","addFirstDevice":"Add First Device","editDevice":"Edit Device","editDeviceDescription":"Update device configuration","sectionBasic":"Basic Info","sectionConnection":"Connection","sectionAuth":"Authentication","noDevices":"No Devices","noDevicesDescription":"Add a local or SSH device to get started","name":"Device Name","namePlaceholder":"e.g., My Server","type":"Type","typeLocal":"Local Device","typeSSH":"SSH Remote Device","typeSSHBadge":"SSH","host":"Host","hostPlaceholder":"example.com","port":"Port","username":"Username","usernamePlaceholder":"root","session":"Tmux Session Name","sessionPlaceholder":"tmex","sessionHint":"Leave empty to use default \\"tmex\\"","authMode":"Authentication Mode","authPassword":"Password","authKey":"Private Key","authAgent":"SSH Agent","authConfigRef":"SSH Config","sshConfigRefPlaceholder":"Host alias, e.g. my-server","sshConfigRefHint":"A Host alias from your ssh config, resolved via `ssh -G`. Not the path to the config file.","password":"Password","privateKey":"Private Key","privateKeyPlaceholder":"-----BEGIN OPENSSH PRIVATE KEY-----","privateKeyPassphrase":"Private Key Passphrase (Optional)","passphrase":"Passphrase","connect":"Connect","connected":"Connected","disconnect":"Disconnect","disconnected":"Disconnected","connecting":"Connecting...","dragHandle":"Drag to reorder device","reorderFailed":"Failed to reorder devices","deleteConfirm":"Delete this device?","deleteDescription":"Device \\"{{name}}\\" will be permanently removed. This action cannot be undone.","deleteSuccess":"Device deleted","createSuccess":"Device created","updateSuccess":"Device updated","deleteFailed":"Failed to delete device","createFailed":"Failed to create device","updateFailed":"Failed to update device","loadFailed":"Failed to load devices","localDevice":"Local Device","subtitle":"{{username}}@{{host}}:{{port}}","modify":"Modify Device","delete":"Delete"},"terminal":{"keyboardBehavior":{"title":"Keyboard Behavior","description":"How the page makes room for the on-screen keyboard","modeLift":"Shift page","modeLiftDesc":"Move the whole page up; terminal size stays the same","modeResize":"Resize terminal","modeResizeDesc":"Shrink the terminal to fit above the keyboard (changes the remote window size)","modeFollow":"Follow cursor","modeFollowDesc":"Shift just enough to keep the cursor right above the keyboard; terminal size stays the same"},"initializing":"Initializing terminal...","connecting":"Connecting to device...","initFailed":"Terminal initialization failed","inputPlaceholder":"Type command here...","clear":"Clear","deviceError":"Device Error","deviceErrorWithType":"[{{type}}] Device Error","noDeviceSelected":"No device selected","windowClosed":"Current window has been closed, please select a window from the sidebar.","paneClosed":"Current pane has been closed, please select a pane from the sidebar.","bellNotification":"Terminal Bell Notification","bellDescription":"Window {{window}} · Pane {{pane}}","bellFallback":"Received tmux bell","paneTitle":"Pane {{index}}","activePane":"Current Pane","activeWindow":"Current Window","editorPlaceholder":"Enter commands here...","editorClear":"Clear","editorSendWithEnter":"Send with Enter","editorSendLineByLine":"Send Line by Line","editorSend":"Send","sendShortcut":"Send {{key}}","inputModeDirect":"Direct Input","inputModeEditor":"Editor","newWindow":"New Window","closeWindow":"Close Window","closePane":"Close Pane","copy":"Copy","paste":"Paste","copied":"Copied to clipboard","copyFailed":"Copy failed","pasteFailed":"Could not read clipboard, check browser permissions","clearSelection":"Dismiss selection"},"settings":{"title":"System Settings","siteSettings":"Site Settings","siteName":"Site Name","siteNamePlaceholder":"tmex","siteUrl":"Site URL","siteUrlPlaceholder":"http://localhost:3000","bellThrottle":"Bell Throttle (seconds)","notificationThrottle":"Notification Throttle (seconds)","enableBrowserBellToast":"Enable Browser Bell Toast","enableBrowserNotificationToast":"Enable Browser Notification Toast","enableTelegramBellPush":"Enable Telegram Bell Push","enableTelegramNotificationPush":"Enable Telegram Notification Push","enableWeixinBellPush":"Enable WeChat Bell Push","enableWeixinNotificationPush":"Enable WeChat Notification Push","sshReconnectRetries":"SSH Reconnect Retries","sshReconnectDelay":"SSH Reconnect Delay (seconds)","language":"Language","languagePlaceholder":"Select language","language_en_US":"English","language_zh_CN":"简体中文","language_ja_JP":"日本語","theme":"Dark Mode","themeLight":"Light","themeDark":"Dark","siteTab":"Site","notificationsTab":"Notifications","tabGroup":{"general":"General","devicesAndFiles":"Devices & Files","notifications":"Notifications","ai":"AI","terminal":"Terminal"},"terminal":{"title":"Terminal Settings","description":"Adjust the terminal font size, line height, family, and mobile keyboard avoidance. The font family applies to all monospaced text across the app.","fontSize":"Font Size","lineHeight":"Line Height","fontFamily":"Font","preview":"Preview","savedInBrowser":"These settings are saved in this browser only.","shortcuts":{"title":"Custom Shortcuts","savedOnServer":"Saved on the server and shared across all your browsers — changes take effect after you click Save.","preview":"Preview","useIcons":"Show keys as icons","useIconsDesc":"Replace key names like Ctrl/Shift/Enter with Apple-style symbols (⌃⇧⏎).","dragHandle":"Drag to reorder","delete":"Delete","labelPlaceholder":"Label","payloadPlaceholder":"Sequence, e.g. \\\\x1b[A","addShortcut":"Add shortcut","capturePrompt":"Press any key combination…","captureHint":"Click here, then press a key to capture","advanced":"Advanced: enter sequence manually","add":"Add","reset":"Reset to default","save":"Save","saved":"Shortcuts saved","saveFailed":"Failed to save shortcuts","loading":"Loading…","action":{"paste":"Paste","toggleKeyboard":"Toggle text input / keyboard","newAgentSession":"New Agent session","scrollToBottom":"Scroll terminal to bottom"},"loadFailed":"Failed to load shortcuts","retry":"Retry"}},"deviceManagement":{"title":"Device Management","description":"Add, edit, and connect to your local and SSH devices.","openButton":"Open Device Management"},"refreshToApply":"Refresh to apply language change","saveSettings":"Save Settings","settingsSaved":"Settings saved","saveFailed":"Failed to save settings","loadFailed":"Failed to load settings","restartGateway":"Restart Gateway","restartScheduled":"Gateway restart scheduled","restartConfirm":"Are you sure you want to restart Gateway? This will interrupt all active connections.","restartFailed":"Failed to restart gateway","sshReconnectMaxRetries":"SSH Reconnect Retries","llm":{"title":"LLM Providers","name":"Name","namePlaceholder":"e.g. OpenAI","baseUrl":"Base URL","baseUrlPlaceholder":"https://api.openai.com","baseUrlHint":"Adds /v1 automatically; end with / to keep the path as-is","protocol":"Protocol","apiKey":"API Key","apiKeyPlaceholder":"Enter API key","apiKeySetPlaceholder":"Already set, leave blank to keep","addProvider":"Add Provider","editProvider":"Edit Provider","formHint":"Configure the provider connection","models":"Models","modelsTitle":"Models for {{name}}","modelsHint":"Manage the available models for this provider: toggle and add manually","modelManual":"Manual","addModelPlaceholder":"Add a model ID","empty":"No providers yet","refreshModels":"Refresh Models","modelsCount":"{{total}} models","modelsNotFetched":"Models not fetched yet","modelsFetchFailed":"Failed to fetch models: {{error}}","deleteProvider":"Delete Provider","deleteConfirm":"Delete provider \\"{{name}}\\"?","defaults":"Global Defaults","defaultProvider":"Default Provider","defaultProviderNone":"Not set","defaultModel":"Default Model","defaultModelPlaceholder":"Type or pick a model ID","saveDefaults":"Save Defaults","loadFailed":"Failed to load LLM providers","createFailed":"Failed to create provider","updateFailed":"Failed to update provider","deleteFailed":"Failed to delete provider","refreshModelsFailed":"Failed to refresh models","settingsLoadFailed":"Failed to load LLM settings","settingsSaveFailed":"Failed to save LLM settings"},"search":{"title":"Search","provider":"Search Provider","responsesApiHint":"If your LLM provider uses the OpenAI Responses API protocol, it can use that API\'s built-in hosted search tool; the third-party search below is an optional supplement.","providerNone":"Disabled","tavilyApiKey":"Tavily API Key","braveApiKey":"Brave API Key","keyPlaceholder":"Enter API key","keySetPlaceholder":"Already set, leave blank to keep","clearKey":"Clear","clearKeyConfirm":"Clear this API key? You will need to enter it again.","loadFailed":"Failed to load search settings","saveFailed":"Failed to save search settings"},"files":{"title":"Files","description":"Per-device directories browsable in the Files tab. Local devices read directly; SSH devices use rsync.","addRoot":"Add directory","roots":"Directories","empty":"No directories configured","missing":"Device missing","modalAddTitle":"Add directory","modalEditTitle":"Edit directory","device":"Device","devicePlaceholder":"Select a device","noDevices":"No devices yet — add one first","path":"Path","pathPlaceholder":"/absolute/path/to/directory","pathHint":"Absolute path on the selected device.","enabled":"Enabled","addFailed":"Failed to add directory","updateFailed":"Failed to update directory","deleteFailed":"Failed to remove directory","toggleFailed":"Failed to update directory","deleteTitle":"Remove directory?","deleteDesc":"Remove \\"{{path}}\\" from the whitelist? Files under it will no longer be accessible."},"version":{"title":"Version & Updates","currentVersion":"Current version","installMethod":"Install method","installMethodCli":"Installed via CLI","installMethodNonCli":"Not installed via CLI","deployment":"Deployment","deploymentLaunchd":"launchd (macOS)","deploymentSystemd":"systemd (Linux)","deploymentNone":"None","checkUpdate":"Check for updates","checking":"Checking…","upToDate":"You are on the latest version.","updateAvailable":"Update available: {{version}}","changelog":"Changelog","changelogUnavailable":"No changelog available for this version.","publishedAt":"Published {{date}}","upgrade":"Upgrade now","upgradeDisabledDev":"In-app update is disabled outside the production environment.","upgradeDisabledNonCli":"In-app update is only available for CLI installations.","upgradeWarningTitle":"Confirm upgrade","upgradeWarningBody":"Upgrading restarts the service and will interrupt your current session. It may also affect the survival of tmux processes managed by the service. Continue?","upgradeStarted":"Upgrade started","stateDownloading":"Downloading the new version…","stateExecuting":"Applying the upgrade, the service is restarting…","interruptNotice":"The connection will drop while the service restarts; it will recover shortly.","checkFailed":"Failed to check for updates","terminalHint":"Or upgrade from a terminal: npx tmex-cli@<version> upgrade"}},"telegram":{"title":"Telegram Bot Management","botName":"Bot Name","botNamePlaceholder":"e.g., ops-bot","botToken":"Bot Token","botTokenPlaceholder":"123456:AA...","addBot":"Add Bot","editBot":"Edit Bot","enableBot":"Enable Bot","allowAuthRequests":"Allow Authorization Requests","pendingChats":"Pending Authorization","chats":"Authorized Chats","authorizedChats":"Authorized","noPendingChats":"No pending chats","noAuthorizedChats":"No authorized chats","approve":"Approve","authorize":"Authorize","reject":"Reject","revokeAuth":"Revoke Authorization","testMessage":"Test Message","sendTestMessage":"Send Test Message","deleteBot":"Delete Bot","tokenOptional":"Token (leave empty to keep unchanged)","tokenPlaceholder":"Enter new token","botCreated":"Bot created","botUpdated":"Bot updated","botDeleted":"Bot deleted","authApproved":"Authorization approved","chatRemoved":"Chat removed","testMessageSent":"Test message sent","createFailed":"Failed to create bot","updateFailed":"Failed to update bot","deleteFailed":"Failed to delete bot","approveFailed":"Failed to approve authorization","removeFailed":"Failed to remove chat","testMessageFailed":"Failed to send test message","loadBotsFailed":"Failed to load bot list","loadChatsFailed":"Failed to load chat list","noBots":"No bots yet, add one first.","expand":"Expand","collapse":"Collapse","authCount":"{{authorized}} authorized / {{pending}} pending (max 8)","chatId":"Chat ID","applyTime":"Application Time","gatewayOnline":"🟢 Gateway online @ {{siteName}}","deviceConnectionError":"🔴 {{siteName}}: Connection error on device \\"{{deviceName}}\\" ({{host}}) [{{category}}]\\n{{error}}","agentCredentialWarning":"⚠️ {{siteName}}: A message in agent session \\"{{sessionTitle}}\\" appears to contain credentials ({{types}}). It will be sent to the LLM and stored — risk of leakage.","authSuccess":"✅ Authorized. You will now receive notifications.","authPending":"⏳ Authorization request received. Please approve in tmex settings.","authFailed":"❌ Authorization request failed. Please contact administrator.","testMessageTemplate":"🧪 Test Message\\nSite: {{siteName}}\\nTime: {{time}}","approveMessageTemplate":"✅ Authorized via tmex.\\nBot: {{botName}}\\nTime: {{time}}","botNotFound":"Bot not found or unavailable","botNotRunning":"Bot is not running or unavailable"},"weixin":{"title":"WeChat (ClawBot) Management","subtitle":"Push tmex alerts to your personal WeChat via the iLink bot protocol.","replyOnlyNotice":"iLink can only reply inside an active conversation window — message the bot first to activate; alerts then reuse that session. If it goes quiet too long the session expires; message the bot again to re-activate.","accountName":"Account Name","accountNamePlaceholder":"e.g., my-wechat","addAccount":"Add Account","editAccount":"Edit Account","enableAccount":"Enable Account","allowAuthRequests":"Allow Authorization Requests","scanToLogin":"Scan to Log In","relogin":"Re-login (Re-scan)","loggedIn":"Logged in","notLoggedIn":"Not logged in","scanQrcodeHint":"Open WeChat, scan the QR code, and confirm on your phone.","loginPending":"Waiting for scan…","loginConfirmed":"Login confirmed.","loginExpired":"QR code expired. Please retry.","loginError":"Login failed: {{message}}","loginFailed":"Login failed","refreshQrcode":"Refresh QR Code","closeLogin":"Close","pendingUsers":"Pending Authorization","authorizedUsers":"Authorized Users","noPendingUsers":"No pending users","noAuthorizedUsers":"No authorized users","needsReactivation":"Session expired","reactivationHint":"Ask this user to send the bot any message to re-activate alerts.","approve":"Approve","revokeAuth":"Revoke","removeUser":"Remove","testMessage":"Test Message","sendTestMessage":"Send Test Message","deleteAccount":"Delete Account","accountCreated":"Account created","accountUpdated":"Account updated","accountDeleted":"Account deleted","authApproved":"Authorization approved","userRemoved":"User removed","testMessageSent":"Test message sent","createFailed":"Failed to create account","updateFailed":"Failed to update account","deleteFailed":"Failed to delete account","approveFailed":"Failed to approve","removeFailed":"Failed to remove user","testMessageFailed":"Failed to send test message","loadAccountsFailed":"Failed to load accounts","loadUsersFailed":"Failed to load users","noAccounts":"No accounts yet, add one first.","userCount":"{{authorized}} authorized / {{pending}} pending (max 16)","userId":"WeChat User ID","applyTime":"First Contact","expand":"Expand","collapse":"Collapse","accountNameRequired":"Account name is required","accountNotFound":"Account not found or unavailable","accountNotRunning":"Account is not logged in or not running","userNotFound":"User not found","authSuccess":"✅ Authorized. You will now receive notifications.","authPending":"⏳ Authorization request received. Please approve in tmex settings.","testMessageTemplate":"🧪 Test Message\\nSite: {{siteName}}\\nTime: {{time}}","approveMessageTemplate":"✅ Authorized via tmex.\\nAccount: {{accountName}}\\nTime: {{time}}","keepalivePrompt":"【tmex】To keep notifications flowing, just reply with anything to keep the session alive 🙏","scanConfirmedSendHint":"Scan confirmed! Now send any message to this bot in WeChat to finish binding.","bindingInProgress":"Message received, finishing binding…","bindSuccess":"WeChat bound. You will now receive notifications.","bound":"Bound","unbound":"Not bound","bindAction":"Bind (scan)","gatewayOnline":"🟢 tmex online @ {{siteName}}"},"webhook":{"title":"Webhooks","url":"Webhook URL","secret":"Secret","secretPlaceholder":"Used to sign payloads (HMAC-SHA256)","enabled":"Enabled","eventMask":"Events","add":"Add Webhook","empty":"No webhooks yet.","createFailed":"Failed to create webhook","deleteFailed":"Failed to delete webhook","loadFailed":"Failed to load webhooks"},"sshError":{"sshConfigRefNotSupported":"SSH Config reference is not supported in this version. Please use host + username with Agent/Key/Password authentication.","configRefNotSupported":"SSH Config reference is not supported in this version. Please use host + username with Agent/Key/Password authentication.","agentUnavailable":"SSH Agent unavailable: SSH_AUTH_SOCK not detected. Please check agent environment.","agentNoIdentity":"SSH Agent has no available keys. Please run ssh-add first.","agentNoIdentities":"SSH Agent has no available keys. Please run ssh-add first.","authFailed":"Authentication failed: incorrect username, password, or key. Please check device configuration.","authFailedGeneric":"Authentication failed: incorrect username, password, or key. Please check device configuration.","networkUnreachable":"Network unreachable: Please check routing, firewall, or VPN configuration.","connectionRefused":"Connection refused: Unable to connect to target host. Please check host address and port.","timeout":"Connection timeout: Unable to connect to device. Please check network or firewall settings.","connectionTimeout":"Connection timeout: Unable to connect to device. Please check network or firewall settings.","hostNotFound":"Host not found: Unable to resolve hostname. Please check DNS or hostname configuration.","handshakeFailed":"Handshake failed: Unable to establish secure connection. Possibly incompatible key exchange algorithm.","tmuxUnavailable":"Remote tmux unavailable or failed to start. Please ensure tmux is installed and available in the remote shell PATH.","connectionClosed":"Connection closed, attempting to reconnect","unknown":"Connection failed: {{message}}","reconnecting":"Connection interrupted, reconnecting in {{delay}} seconds ({{attempt}}/{{maxRetries}})","reconnectFailed":"Auto-reconnect failed, please retry manually","reconnected":"Device reconnected automatically"},"deviceStatus":{"reconnecting":"Reconnecting {{delay}}s","offline":"Offline","errorBadge":{"authFailed":"Auth failed","agentUnavailable":"Agent unavailable","agentNoIdentity":"Agent has no keys","configRefNotSupported":"SSH Config unsupported","networkUnreachable":"Network unreachable","connectionRefused":"Refused","timeout":"Timeout","hostNotFound":"Host not found","handshakeFailed":"Handshake failed","tmuxUnavailable":"Tmux unavailable","connectionClosed":"Disconnected","unknown":"Connection error"}},"websocket":{"error":"WebSocket connection error","checkGateway":"Please check Gateway status","upgradeFailed":"Upgrade failed","invalidMessage":"Invalid message format"},"wsError":{"checkGateway":"Please check Gateway status"},"apiError":{"siteNameRequired":"Site name cannot be empty","siteUrlInvalid":"Site URL must start with http:// or https://","bellThrottleInvalid":"Bell throttle seconds must be between 0-300","sshRetriesInvalid":"SSH reconnect retries must be between 0-20","sshDelayInvalid":"SSH reconnect delay must be between 1-300 seconds","languageInvalid":"Language must be one of the supported locales","botNameRequired":"Bot name cannot be empty","botTokenRequired":"Bot token cannot be empty","missingFields":"Missing required fields","sshRequiresHost":"SSH device requires host or sshConfigRef","invalidRequest":"Invalid request","deviceNotFound":"Device not found","botNotFound":"Bot not found","chatNotFound":"Chat not found","urlAndSecretRequired":"URL and secret are required","notFound":"Not found","llmProviderNameRequired":"Provider name cannot be empty","llmProviderProtocolInvalid":"Protocol must be openai-chat or openai-responses","llmProviderBaseUrlInvalid":"Base URL must start with http:// or https://","llmProviderApiKeyRequired":"API key cannot be empty","llmProviderNotFound":"LLM provider not found","llmProviderDisabled":"LLM provider {{name}} is disabled","llmNoDefaultProvider":"No LLM provider specified and no default provider configured","llmNoDefaultModel":"No model specified and no default model configured","llmDefaultProviderNotFound":"Default provider does not exist","llmSearchProviderInvalid":"Search provider must be none, tavily or brave","llmFetchModelsFailed":"Failed to fetch model list: {{detail}}","agentSessionNotFound":"Agent session not found","agentSessionBusy":"Agent session is currently running, stop it or wait for completion","agentSessionAwaitingConfirmation":"Agent session has pending confirmations, resolve them first","agentDeviceRequired":"Device is required","agentPaneRequired":"Terminal pane is required","agentWriteModeInvalid":"Write mode must be confirm or auto","agentMaxStepsInvalid":"Max steps per turn must be between 1 and 100","agentProviderWebSearchRequiresResponses":"Provider built-in web search requires the openai-responses protocol","agentHostedToolUnknown":"Unknown hosted tool: {{name}}","agentHostedToolRequiresResponses":"Provider hosted tools require the openai-responses protocol","agentSessionOrphaned":"This agent session is orphaned (its terminal is gone) and is read-only","agentQueuedMessageNotFound":"Queued message not found","agentConfirmationNotFound":"Confirmation not found","agentConfirmationAlreadyDecided":"Confirmation has already been decided","agentMessageTextRequired":"Message text is required","watchRuleNotFound":"Watch rule not found","watchNameRequired":"Rule name is required","watchTriggerTypeInvalid":"Trigger type must be match, unchanged or llm","watchPatternRequired":"match/unchanged rules require a regular expression","watchPatternInvalid":"Invalid regular expression: {{detail}}","watchUnchangedMinutesInvalid":"unchanged rules require unchangedMinutes greater than 0","watchExtractGroupInvalid":"Capture group index must be an integer >= 0","watchConditionPromptRequired":"llm rules require a condition prompt","watchIntervalInvalid":"Sampling interval must be at least {{min}} seconds","watchNoMatchBehaviorInvalid":"No-match behavior must be reset or ignore","watchFireModeInvalid":"Fire mode must be once or repeat","watchCooldownInvalid":"Cooldown seconds must be an integer >= 0","watchAssistDescriptionRequired":"Please describe what to match","watchAssistModelUnavailable":"Model call failed: {{detail}}","fileRootInvalid":"Path must be an absolute, existing directory","fileOutsideRoots":"Path is outside the allowed directories","fileNotADirectory":"Not a directory","fileTooLarge":"File is too large","fileBinary":"Binary files are not supported","fileRootDeviceInvalid":"Invalid or unknown device","fileRootDuplicate":"This directory is already added for the device","upgradeNotAllowed":"In-app update is not available for this installation.","upgradeInProgress":"An upgrade is already in progress.","upgradeVersionRequired":"Target version is required.","updateCheckFailed":"Failed to query the npm registry.","terminalShortcutsTooMany":"Too many shortcuts","terminalShortcutInvalid":"Invalid shortcut configuration"},"notification":{"clickToJump":"Click to jump to corresponding pane","eventType":{"terminal_bell":"🔔 Terminal Bell","terminal_notification":"🔔 Terminal Notification","tmux_window_close":"🪟 Window Closed","tmux_pane_close":"📱 Pane Closed","device_tmux_missing":"⚠️ Tmux Missing","device_disconnect":"🔌 Device Disconnected","session_created":"🆕 Session Created","session_closed":"🚪 Session Closed","agent_confirmation_pending":"🤖 Agent Confirmation Pending","agent_turn_finished":"🤖 Agent Turn Finished","agent_error":"🤖 Agent Error","watch_triggered":"👁️ Watch Rule Triggered","watch_model_unavailable":"👁️ Watch Model Unavailable","watch_rule_error":"👁️ Watch Rule Error"},"site":"Site","device":"Device","window":"Window","pane":"Pane","time":"Time","directLink":"Direct Link","message":"Message","paneTitle":"Title","process":"Process","telegramBell":{"title":"🔔 Bell from {{siteName}}: {{terminalTopbarLabel}}","viewLink":"Click to view","terminalTopbarLabel":"Window {{window}} · Pane {{pane}} @ {{device}}"},"telegramNotification":{},"agent":{"confirmationPending":"Agent \\"{{title}}\\" requests to run tool {{toolName}}, awaiting confirmation","turnFinished":"Agent \\"{{title}}\\" turn finished","error":"Agent \\"{{title}}\\" error: {{message}}"},"watch":{"matchTriggered":"Watch \\"{{name}}\\" matched: {{text}}","unchangedTriggered":"Watch \\"{{name}}\\" value \\"{{value}}\\" has been unchanged for {{minutes}} minutes","llmTriggered":"Watch \\"{{name}}\\" condition met: {{reason}}","summaryTriggered":"Watch \\"{{name}}\\": {{summary}}","unconfirmedSuffix":" (model unavailable, not LLM-confirmed)","modelUnavailable":"Watch \\"{{name}}\\" model call failed: {{message}}","ruleError":"Watch \\"{{name}}\\" failed {{count}} times in a row and has been disabled: {{message}}","paneGone":"Watch \\"{{name}}\\" pane ({{paneId}}) was destroyed; the rule has been removed"}},"sidebar":{"noWindows":"No windows","noDevices":"No devices","addDeviceLink":"Add Device","openSettingsLink":"Open Settings","openSettings":"Open Settings","manageDevices":"Manage Devices","settings":"Settings","currentWindow":"Current Window","currentPane":"Current Pane","newWindow":"Create Window","closeWindow":"Close Window","closePane":"Close Pane","addDevice":"Add Device","tab":{"panes":"Panes","agent":"Agent","files":"Files"},"orphanedSessions":"Orphaned sessions"},"agent":{"error":{"streamStalled":"The model stopped responding (upstream stream stalled). Please retry."},"model":{"select":"Select model","placeholder":"Model","noProviders":"No models — configure a provider in Settings"},"queue":{"title":"Queued ({{count}})","steer":"Steer now","steerHint":"Interrupt the current step and inject the queue now","withdraw":"Withdraw"},"orphan":{"readonly":"This session is orphaned (its terminal is gone) — read-only","title":"Orphaned","process":"Process","startedAt":"Started"},"files":{"comingSoon":"Coming Soon"},"panel":{"title":"Agent","empty":"Select or create a session","inputPlaceholder":"Type a message…","send":"Send","stop":"Stop","retry":"Retry","scrollToBottom":"Scroll to bottom"},"welcome":{"title":"New Agent chat","subtitle":"Describe your task to start working in the selected terminal"},"session":{"none":"No session selected","new":"New agent session","switch":"Switch session","selectPaneHint":"Select a pane in the Panes tab to start a session","noSessions":"No sessions yet","showAll":"Show all sessions","rename":"Rename session","renameTitle":"Rename session","renamePlaceholder":"Session title","save":"Save","cancel":"Cancel","delete":"Delete session","deleteTitle":"Delete this session?","deleteDesc":"\\"{{title}}\\" and all its messages will be permanently deleted.","deleteConfirm":"Delete","createDisabledNoPane":"Open a terminal pane to create a session","privacyNotice":"Sessions send terminal screen content to the configured LLM service."},"binding":{"invalid":"Pane unavailable","mismatchTitle":"This session is bound to a different pane","goTo":"Go to pane","rebind":"Rebind here"},"writeMode":{"confirm":"Confirm writes","auto":"Auto execute"},"confirm":{"title":"Approval required","approve":"Allow","deny":"Deny"},"tool":{"input":"Input","result":"Result","screen":"Screen capture","send_input":"Send input","read_screen":"Read screen","web_search":"Web search","fetch_url":"Fetch URL","denied":"Denied"},"reasoning":{"title":"Reasoning"},"toast":{"errorTitle":"Agent \\"{{title}}\\" error","credentialWarningTitle":"Message may contain credentials","credentialWarningDescription":"Detected {{types}}. The content is not modified, but it will be sent to the LLM and stored — risk of leakage."}},"window":{"noWindows":"No windows","new":"New Window","close":"Close window","closePane":"Close pane","closeConfirmTitle":"Close this window?","closePaneConfirmTitle":"Close this pane?","closeConfirmDesc":"Processes running in \\"{{name}}\\" will be terminated. This action cannot be undone.","menu":"Window actions","dragHandle":"Drag to reorder window","dragHandlePane":"Drag to reorder pane","rename":"Rename window","renamePlaceholder":"Enter a name","renameDesc":"The custom name overrides the title set by the terminal and is kept until the gateway restarts.","renameReset":"Use automatic name"},"watch":{"title":"Watch rules","dialogDesc":"Monitor this pane\'s screen and get notified when conditions are met","openMonitor":"Watch this pane","rules":{"empty":"No watch rules for this pane yet","addRule":"New rule","edit":"Edit","delete":"Delete","viewState":"Status","lastTriggered":"Last triggered: {{time}}","neverTriggered":"Never triggered","deleteTitle":"Delete this rule?","deleteDesc":"\\"{{name}}\\" will be permanently deleted.","deleteConfirm":"Delete"},"type":{"match":"Match","unchanged":"Stuck","llm":"LLM"},"typeDesc":{"match":"Trigger when a regex matches the screen","unchanged":"Trigger when an extracted value stays unchanged for N minutes (e.g. stalled download)","llm":"An LLM periodically checks the screen against a natural-language condition"},"form":{"createTitle":"New watch rule","editTitle":"Edit watch rule","name":"Rule name","namePlaceholder":"e.g. Download stalled","triggerType":"Trigger type","pattern":"Regular expression","patternPlaceholder":"e.g. (\\\\d+)%","flags":"Flags","flagsPlaceholder":"e.g. i","extractGroup":"Capture group index","extractGroupHint":"0 = whole match; the group value is tracked over time","unchangedMinutes":"Unchanged for (minutes)","noMatchBehavior":"When nothing matches","noMatchReset":"Reset timer (progress line gone = task done)","noMatchIgnore":"Ignore (keep last value)","conditionPrompt":"Condition (natural language)","conditionPromptPlaceholder":"e.g. The build has failed with a compile error","model":"Model","followGlobalDefault":"Follow global default","modelPlaceholder":"Model ID","modelRequiredHint":"This rule calls an LLM. Make sure the selected (or global default) model is available.","confirmWithLlm":"LLM double-check before notifying","confirmWithLlmDesc":"Reduce false positives; fails open if the model is unavailable","summarizeWithLlm":"LLM notification summary","summarizeWithLlmDesc":"Summarize the screen into the notification text","intervalSeconds":"Sampling interval (seconds)","intervalHint":"Minimum {{min}}s","fireMode":"Fire mode","fireOnce":"Once (auto-disable after firing)","fireRepeat":"Repeat","cooldownSeconds":"Cooldown (seconds)","enabled":"Enabled","assistLabel":"Generate regex from a description","assistPlaceholder":"e.g. match the download progress percentage","assistButton":"Generate","assistExplanation":"Explanation","assistPreview":"Matches on current screen","assistPreviewEmpty":"No matches on the current screen sample","create":"Create","save":"Save","providerUnavailable":"Original provider unavailable","providerDisabled":"disabled"},"validation":{"nameRequired":"Rule name is required","patternRequired":"Regular expression is required","patternInvalid":"Invalid regular expression: {{detail}}","unchangedMinutesInvalid":"Unchanged minutes must be greater than 0","conditionPromptRequired":"Condition prompt is required","intervalMin":"Sampling interval must be at least {{min}} seconds"},"state":{"title":"Rule status","back":"Back","lastSampledAt":"Last sampled","lastValue":"Last value","lastValueChangedAt":"Value last changed","lastTriggeredAt":"Last triggered","consecutiveErrors":"Consecutive errors","lastError":"Last error","samples":"Recent samples","samplesEmpty":"No samples yet","hit":"hit","none":"—"},"toast":{"created":"Watch rule created","updated":"Watch rule updated","deleted":"Watch rule deleted","triggeredTitle":"Watch triggered","openTerminal":"Open terminal","modelUnavailableTitle":"Watch model unavailable","modelUnavailableHint":"The rule keeps running with degraded behavior.","ruleErrorTitle":"Watch rule auto-disabled"},"notifPermission":{"title":"Enable browser notifications?","desc":"Get notified when watch rules trigger, even when this tab is in the background.","enable":"Enable","dismiss":"Not now"}},"validation":{"deviceNameRequired":"Device name is required","hostRequired":"Host is required for SSH devices","portRequired":"A valid port is required for SSH devices","usernameRequired":"Username is required for SSH devices","sshConfigRequired":"SSH config path is required for SSH devices"},"files":{"title":"Files","refresh":"Refresh file list","noRoots":"No accessible directories. Add one in Settings → Files.","emptyDir":"Empty","truncated":"Too many items — list truncated","download":"Download","error":{"invalid":"Invalid request","outside_roots":"Path is outside the allowed directory","not_found":"No longer exists","not_a_directory":"Not a directory","is_directory":"This is a directory","too_large":"File is too large to preview","binary":"Binary file cannot be previewed","permission_denied":"Permission denied","device_not_found":"Device not found","root_not_found":"Directory entry not found","root_disabled":"This directory is disabled","connection_failed":"Failed to connect to the device","auth_unsupported":"Device auth method unsupported for files (use key or ssh-agent)","rsync_missing_local":"rsync is not installed on the server","rsync_missing_remote":"rsync is not installed on the remote device","timeout":"Timed out","unknown":"Failed to load"},"retry":"Retry (collapse then expand)","menu":{"copyAbsolute":"Copy absolute path","copyRelative":"Copy relative path","sendToAgent":"Send to Agent","expand":"Expand","collapse":"Collapse","upload":"Upload files here","open":"Open"},"copied":"Copied to clipboard","copyFailed":"Copy failed","sendToAgent":{"prompt":"Please work with this path: `{{path}}`"},"upload":{"uploading":"Uploading {{name}}…","success":"Uploaded {{name}}","fail":"Failed to upload {{name}}"},"transfer":{"legUserToTmex":"Browser → tmex","legTmexToServer":"tmex → Server","legServerToTmex":"Server → tmex","legTmexToUser":"tmex → Browser","cancel":"Cancel","canceled":"Canceled {{name}}","downloaded":"Downloaded {{name}}","downloadFailed":"Failed to download {{name}}","dragDownloadStarted":"Started downloading {{name}} (handled by browser)","tooLarge":"{{name}} exceeds the size limit ({{max}})"},"agentLaunch":{"connectFailed":"Failed to connect to the device","windowFailed":"Failed to create a window"},"install":{"button":"Install rsync","scopeLocal":"server","scopeRemote":"remote","prompt":"rsync is not installed on {{device}} ({{scope}}). Please install rsync using the appropriate command for this system (e.g. `brew install rsync`, `sudo apt-get install -y rsync`, or `sudo yum install -y rsync`), then reply once it is done."}},"file":{"invalidRef":"Invalid file reference","notFound":"File no longer exists","accessDenied":"Access denied","loadFailed":"Failed to load file","isDirectory":"This is a directory","notPreviewable":"Preview is not available for this file type","tooLarge":"File is too large to preview","binary":"Binary file cannot be previewed","download":"Download","openRaw":"Open raw"}}'),t={translation:e};export{t as default,e as translation};
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-mono:GeistMonoTmex,NotoSansSymbols2Tmex,monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-cyan-700:oklch(52% .105 223.128);--color-cyan-800:oklch(45% .085 224.283);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-fuchsia-700:oklch(51.8% .253 323.949);--color-fuchsia-800:oklch(45.2% .211 324.591);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-gray-400:oklch(70.7% .022 261.325);--color-neutral-100:oklch(97% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:calc(var(--radius) - 2px);--radius-2xl:1rem;--radius-4xl:2rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-xs:4px;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--text-family);--default-mono-font-family:GeistMonoTmex,NotoSansSymbols2Tmex,monospace;--color-accent:var(--accent);--color-border:var(--border);--display-weight:var(--display-weight)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}.font-display{font-weight:var(--display-weight)}[data-slot=button],[data-slot=dialog-trigger],[data-slot=dropdown-menu-item],[data-slot=command-item],[data-slot=toggle-group-item],[data-slot=dropdown-menu-trigger],[data-slot=popover-trigger],[data-slot=tooltip-trigger],[data-slot=sheet-trigger],[data-slot=collapsible-trigger]{cursor:pointer!important}[data-slot=dialog-overlay],[data-slot=sheet-overlay],[data-slot=drawer-overlay]{background-color:#0003!important}@supports (color:color-mix(in lab,red,red)){[data-slot=dialog-overlay],[data-slot=sheet-overlay],[data-slot=drawer-overlay]{background-color:color-mix(in oklab,var(--color-black)20%,transparent)!important}}[data-slot=dialog-overlay],[data-slot=sheet-overlay],[data-slot=drawer-overlay]{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-3\.5{top:calc(var(--spacing)*3.5)}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-0\.5{right:calc(var(--spacing)*.5)}.right-1{right:calc(var(--spacing)*1)}.right-1\.5{right:calc(var(--spacing)*1.5)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-7{right:calc(var(--spacing)*7)}.right-11{right:calc(var(--spacing)*11)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-3{bottom:calc(var(--spacing)*3)}.-left-1{left:calc(var(--spacing)*-1)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-1{grid-row:1}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-4{margin-inline:calc(var(--spacing)*-4)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing)*.5)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-4{margin-block:calc(var(--spacing)*4)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing)*-2)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-\[-8px\]{margin-right:-8px}.mr-auto{margin-right:auto}.-mb-4{margin-bottom:calc(var(--spacing)*-4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-2\.5{margin-bottom:calc(var(--spacing)*2.5)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-\[-8px\]{margin-left:-8px}.ml-\[36px\]{margin-left:36px}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-28{height:calc(var(--spacing)*28)}.h-56{height:calc(var(--spacing)*56)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--tmex-safe-area-bottom\)\]{height:var(--tmex-safe-area-bottom)}.h-\[var\(--tmex-safe-area-top\)\]{height:var(--tmex-safe-area-top)}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--available-height\){max-height:var(--available-height)}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-56{max-height:calc(var(--spacing)*56)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\[28vh\]{max-height:28vh}.max-h-\[85dvh\]{max-height:85dvh}.max-h-\[88dvh\]{max-height:88dvh}.max-h-\[min\(70dvh\,720px\)\]{max-height:min(70dvh,720px)}.max-h-\[var\(--tmex-viewport-height\)\]{max-height:var(--tmex-viewport-height)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-7{min-height:calc(var(--spacing)*7)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-11{min-height:calc(var(--spacing)*11)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\[4\.5rem\]{min-height:4.5rem}.min-h-\[88px\]{min-height:88px}.min-h-svh{min-height:100svh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-56{width:calc(var(--spacing)*56)}.w-72{width:calc(var(--spacing)*72)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-24{max-width:calc(var(--spacing)*24)}.max-w-\[85\%\]{max-width:85%}.max-w-\[120px\]{max-width:120px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-\[min\(22rem\,calc\(100vw-1\.5rem\)\)\]{max-width:min(22rem,100vw - 1.5rem)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-9{min-width:calc(var(--spacing)*9)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-36{min-width:calc(var(--spacing)*36)}.min-w-44{min-width:calc(var(--spacing)*44)}.min-w-\[96px\]{min-width:96px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%-2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_5rem\]{grid-template-columns:1fr 5rem}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.grid-rows-\[auto_minmax\(0\,1fr\)\]{grid-template-rows:auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.\!justify-start{justify-content:flex-start!important}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-1\.5{row-gap:calc(var(--spacing)*1.5)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-auto{overscroll-behavior:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-xl{border-top-left-radius:calc(var(--radius) + 4px);border-top-right-radius:calc(var(--radius) + 4px)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) + 4px);border-bottom-left-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-400\/40{border-color:#fcbb0066}@supports (color:color-mix(in lab,red,red)){.border-amber-400\/40{border-color:color-mix(in oklab,var(--color-amber-400)40%,transparent)}}.border-black{border-color:var(--color-black)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--border)60%,transparent)}}.border-current\/10{border-color:currentColor}@supports (color:color-mix(in lab,red,red)){.border-current\/10{border-color:color-mix(in oklab,currentcolor 10%,transparent)}}.border-destructive\/50{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/50{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground\/40{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/40{border-color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.border-primary,.border-primary\/30{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,var(--primary)30%,transparent)}}.border-primary\/45{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/45{border-color:color-mix(in oklab,var(--primary)45%,transparent)}}.border-primary\/50{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.border-primary\/65{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/65{border-color:color-mix(in oklab,var(--primary)65%,transparent)}}.border-red-400\/40{border-color:#ff656866}@supports (color:color-mix(in lab,red,red)){.border-red-400\/40{border-color:color-mix(in oklab,var(--color-red-400)40%,transparent)}}.border-sidebar-border,.border-sidebar-border\/60{border-color:var(--sidebar-border)}@supports (color:color-mix(in lab,red,red)){.border-sidebar-border\/60{border-color:color-mix(in oklab,var(--sidebar-border)60%,transparent)}}.border-sidebar-border\/70{border-color:var(--sidebar-border)}@supports (color:color-mix(in lab,red,red)){.border-sidebar-border\/70{border-color:color-mix(in oklab,var(--sidebar-border)70%,transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-accent{background-color:var(--accent)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-background,.bg-background\/40{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/40{background-color:color-mix(in oklab,var(--background)40%,transparent)}}.bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}.bg-background\/85{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/85{background-color:color-mix(in oklab,var(--background)85%,transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.bg-border{background-color:var(--border)}.bg-card,.bg-card\/85{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/85{background-color:color-mix(in oklab,var(--card)85%,transparent)}}.bg-card\/90{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/90{background-color:color-mix(in oklab,var(--card)90%,transparent)}}.bg-chat-surface{background-color:var(--chat-surface)}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-destructive\/15{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/15{background-color:color-mix(in oklab,var(--destructive)15%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500)15%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground,.bg-muted-foreground\/40{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.bg-muted-foreground\/70{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/70{background-color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--muted)40%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-muted\/60{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/60{background-color:color-mix(in oklab,var(--muted)60%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground\/80{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-primary-foreground\/80{background-color:color-mix(in oklab,var(--primary-foreground)80%,transparent)}}.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/15{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,var(--primary)15%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent,.bg-sidebar-accent\/30{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab,red,red)){.bg-sidebar-accent\/30{background-color:color-mix(in oklab,var(--sidebar-accent)30%,transparent)}}.bg-sidebar-accent\/55{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab,red,red)){.bg-sidebar-accent\/55{background-color:color-mix(in oklab,var(--sidebar-accent)55%,transparent)}}.bg-sidebar-accent\/60{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab,red,red)){.bg-sidebar-accent\/60{background-color:color-mix(in oklab,var(--sidebar-accent)60%,transparent)}}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-sidebar\/60{background-color:var(--sidebar)}@supports (color:color-mix(in lab,red,red)){.bg-sidebar\/60{background-color:color-mix(in oklab,var(--sidebar)60%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:var(--foreground)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-14{padding-block:calc(var(--spacing)*14)}.py-16{padding-block:calc(var(--spacing)*16)}.\!pt-0{padding-top:calc(var(--spacing)*0)!important}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-7{padding-right:calc(var(--spacing)*7)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-12{padding-right:calc(var(--spacing)*12)}.pr-13{padding-right:calc(var(--spacing)*13)}.pr-24{padding-right:calc(var(--spacing)*24)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-2\.5{padding-bottom:calc(var(--spacing)*2.5)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-\[calc\(1rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.pb-\[calc\(2rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.pb-\[var\(--tmex-safe-area-bottom\)\]{padding-bottom:var(--tmex-safe-area-bottom)}.pl-1\.5{padding-left:calc(var(--spacing)*1.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-2\.5{padding-left:calc(var(--spacing)*2.5)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-\[18px\]{padding-left:18px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:GeistMonoTmex,NotoSansSymbols2Tmex,monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.85em\]{font-size:.85em}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.\[overflow-wrap\:break-word\],.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-foreground{color:var(--accent-foreground)}.text-amber-500\/80{color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-500\/80{color:color-mix(in oklab,var(--color-amber-500)80%,transparent)}}.text-amber-700{color:var(--color-amber-700)}.text-background{color:var(--background)}.text-blue-500\/80{color:#3080ffcc}@supports (color:color-mix(in lab,red,red)){.text-blue-500\/80{color:color-mix(in oklab,var(--color-blue-500)80%,transparent)}}.text-card-foreground{color:var(--card-foreground)}.text-destructive,.text-destructive\/80{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/80{color:color-mix(in oklab,var(--destructive)80%,transparent)}}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-500\/80{color:#00bb7fcc}@supports (color:color-mix(in lab,red,red)){.text-emerald-500\/80{color:color-mix(in oklab,var(--color-emerald-500)80%,transparent)}}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--foreground)60%,transparent)}}.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,var(--foreground)70%,transparent)}}.text-muted-foreground,.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-pink-500\/70{color:#f6339ab3}@supports (color:color-mix(in lab,red,red)){.text-pink-500\/70{color:color-mix(in oklab,var(--color-pink-500)70%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground,.text-primary-foreground\/80{color:var(--primary-foreground)}@supports (color:color-mix(in lab,red,red)){.text-primary-foreground\/80{color:color-mix(in oklab,var(--primary-foreground)80%,transparent)}}.text-purple-500\/70{color:#ac4bffb3}@supports (color:color-mix(in lab,red,red)){.text-purple-500\/70{color:color-mix(in oklab,var(--color-purple-500)70%,transparent)}}.text-red-500\/70{color:#fb2c36b3}@supports (color:color-mix(in lab,red,red)){.text-red-500\/70{color:color-mix(in oklab,var(--color-red-500)70%,transparent)}}.text-red-700{color:var(--color-red-700)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-accent-foreground{color:var(--sidebar-accent-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.ring-primary\/40{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/40{--tw-ring-color:color-mix(in oklab,var(--primary)40%,transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[-webkit-overflow-scrolling\:touch\]{-webkit-overflow-scrolling:touch}.\[-webkit-touch-callout\:none\]{-webkit-touch-callout:none}.\[-webkit-user-select\:none\]{-webkit-user-select:none}.\[animation-delay\:150ms\]{animation-delay:.15s}.\[animation-delay\:300ms\]{animation-delay:.3s}.\[scrollbar-width\:none\]{scrollbar-width:none}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.ring-inset{--tw-ring-inset:inset}.running{animation-play-state:running}.group-focus-within\:opacity-100:is(:where(.group):focus-within *),.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs)[data-horizontal] *){height:calc(var(--spacing)*8)}.group-data-horizontal\/tabs\:h-11:is(:where(.group\/tabs)[data-horizontal] *){height:calc(var(--spacing)*11)}.group-data-horizontal\/tabs\:h-12:is(:where(.group\/tabs)[data-horizontal] *){height:calc(var(--spacing)*12)}.group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs)[data-vertical] *){height:fit-content}.group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs)[data-vertical] *){width:100%}.group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs)[data-vertical] *){flex-direction:column}.group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs)[data-vertical] *){justify-content:flex-start}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[panel-open\]\:rotate-90:is(:where(.group)[data-panel-open] *){rotate:90deg}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/card\:p-3:is(:where(.group\/card)[data-size=sm] *){padding:calc(var(--spacing)*3)}.group-data-\[size\=sm\]\/card\:px-3:is(:where(.group\/card)[data-size=sm] *){padding-inline:calc(var(--spacing)*3)}.group-data-\[size\=sm\]\/card\:text-sm:is(:where(.group\/card)[data-size=sm] *){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=floating\]\:ring-1:is(:where(.group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=floating\]\:ring-sidebar-border:is(:where(.group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-data-active\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing)*6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(var(--spacing)*-3)}.after\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:start-1\/2:after{content:var(--tw-content);inset-inline-start:50%}.after\:top-1:after{content:var(--tw-content);top:calc(var(--spacing)*1)}.after\:right-1:after{content:var(--tw-content);right:calc(var(--spacing)*1)}.after\:right-\[3px\]:after{content:var(--tw-content);right:3px}.after\:left-\[3px\]:after{content:var(--tw-content);left:3px}.after\:h-1\.5:after{content:var(--tw-content);height:calc(var(--spacing)*1.5)}.after\:w-1\.5:after{content:var(--tw-content);width:calc(var(--spacing)*1.5)}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:bg-emerald-500:after{content:var(--tw-content);background-color:var(--color-emerald-500)}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:bg-transparent:after{content:var(--tw-content);background-color:#0000}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing)*.5)}.group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-vertical] *):after{content:var(--tw-content);right:calc(var(--spacing)*-1)}.group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-vertical] *):after{content:var(--tw-content);width:calc(var(--spacing)*.5)}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-ring\/30:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-ring\/30:focus-within{--tw-ring-color:color-mix(in oklab,var(--ring)30%,transparent)}}@media(hover:hover){.hover\:border-border:hover,.hover\:border-border\/40:hover{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.hover\:border-border\/40:hover{border-color:color-mix(in oklab,var(--border)40%,transparent)}}.hover\:border-sidebar-border:hover{border-color:var(--sidebar-border)}.hover\:bg-accent:hover,.hover\:bg-accent\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/30:hover{background-color:color-mix(in oklab,var(--accent)30%,transparent)}}.hover\:bg-accent\/40:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/40:hover{background-color:color-mix(in oklab,var(--accent)40%,transparent)}}.hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.hover\:bg-background:hover{background-color:var(--background)}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover,.hover\:bg-sidebar-accent\/35:hover{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sidebar-accent\/35:hover{background-color:color-mix(in oklab,var(--sidebar-accent)35%,transparent)}}.hover\:bg-sidebar-accent\/45:hover{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sidebar-accent\/45:hover{background-color:color-mix(in oklab,var(--sidebar-accent)45%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:border-ring:focus{border-color:var(--ring)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:opacity-100:focus{opacity:1}:is(.focus\:\*\*\:text-accent-foreground:focus *),:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:border-transparent:focus-visible{border-color:#0000}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)30%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.active\:after\:bg-sidebar-border:active:after{content:var(--tw-content);background-color:var(--sidebar-border)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing)*1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing)*2)}.has-data-\[icon\=inline-end\]\:pr-3:has([data-icon=inline-end]){padding-right:calc(var(--spacing)*3)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing)*1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing)*2)}.has-data-\[icon\=inline-start\]\:pl-3:has([data-icon=inline-start]){padding-left:calc(var(--spacing)*3)}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing)*4)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=card-footer\]\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing)*0)}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:calc(var(--spacing)*0)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-expanded\:opacity-100[aria-expanded=true]{opacity:1}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-2[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-active\:border-transparent[data-active]{border-color:#0000}.data-active\:bg-background[data-active]{background-color:var(--background)}.data-active\:bg-sidebar-accent[data-active]{background-color:var(--sidebar-accent)}.data-active\:font-medium[data-active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-active\:text-foreground[data-active]{color:var(--foreground)}.data-active\:text-sidebar-accent-foreground[data-active]{color:var(--sidebar-accent-foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=default] *)[data-active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-active]:after{content:var(--tw-content);opacity:1}.data-checked\:bg-primary[data-checked]{background-color:var(--primary)}.group-data-\[size\=default\]\/switch\:data-checked\:translate-x-\[calc\(100\%-2px\)\]:is(:where(.group\/switch)[data-size=default] *)[data-checked],.group-data-\[size\=sm\]\/switch\:data-checked\:translate-x-\[calc\(100\%-2px\)\]:is(:where(.group\/switch)[data-size=sm] *)[data-checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-closed\:overflow-hidden[data-closed]{overflow:hidden}.data-closed\:animate-out[data-closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-closed\:slide-out-to-bottom-16[data-closed]{--tw-exit-translate-y:4rem}.data-closed\:slide-out-to-top-16[data-closed]{--tw-exit-translate-y:-4rem}.data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-ending-style\:opacity-0[data-ending-style]{opacity:0}.data-horizontal\:h-2\.5[data-horizontal]{height:calc(var(--spacing)*2.5)}.data-horizontal\:h-px[data-horizontal]{height:1px}.data-horizontal\:w-full[data-horizontal]{width:100%}.data-horizontal\:flex-col[data-horizontal]{flex-direction:column}.data-horizontal\:border-t[data-horizontal]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-horizontal\:border-t-transparent[data-horizontal]{border-top-color:#0000}.data-inset\:pl-7[data-inset]{padding-left:calc(var(--spacing)*7)}.data-open\:bg-accent[data-open]{background-color:var(--accent)}.data-open\:text-accent-foreground[data-open]{color:var(--accent-foreground)}.data-open\:animate-in[data-open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-open\:slide-in-from-bottom-16[data-open]{--tw-enter-translate-y:4rem}.data-open\:slide-in-from-top-16[data-open]{--tw-enter-translate-y:-4rem}.data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}@media(hover:hover){.data-open\:hover\:bg-sidebar-accent[data-open]:hover{background-color:var(--sidebar-accent)}.data-open\:hover\:text-sidebar-accent-foreground[data-open]:hover{color:var(--sidebar-accent-foreground)}}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-popup-open\:bg-accent[data-popup-open]{background-color:var(--accent)}.data-popup-open\:text-accent-foreground[data-popup-open]{color:var(--accent-foreground)}.data-popup-open\:opacity-100[data-popup-open]{opacity:1}.data-starting-style\:opacity-0[data-starting-style]{opacity:0}.data-unchecked\:bg-input[data-unchecked]{background-color:var(--input)}.group-data-\[size\=default\]\/switch\:data-unchecked\:translate-x-0:is(:where(.group\/switch)[data-size=default] *)[data-unchecked],.group-data-\[size\=sm\]\/switch\:data-unchecked\:translate-x-0:is(:where(.group\/switch)[data-size=sm] *)[data-unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-vertical\:h-full[data-vertical]{height:100%}.data-vertical\:w-2\.5[data-vertical]{width:calc(var(--spacing)*2.5)}.data-vertical\:w-px[data-vertical]{width:1px}.data-vertical\:self-stretch[data-vertical]{align-self:stretch}.data-vertical\:border-l[data-vertical]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-vertical\:border-l-transparent[data-vertical]{border-left-color:#0000}.data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true]{animation:none}.data-\[orientation\=vertical\]\:h-4[data-orientation=vertical]{height:calc(var(--spacing)*4)}.data-\[popup-open\]\:bg-sidebar-accent[data-popup-open]{background-color:var(--sidebar-accent)}.data-\[popup-open\]\:text-foreground[data-popup-open]{color:var(--foreground)}.data-\[pressed\]\:bg-sidebar-accent[data-pressed]{background-color:var(--sidebar-accent)}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:calc(var(--spacing)*0)}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:calc(var(--spacing)*1)}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:calc(var(--spacing)*0)}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom][data-closed]{--tw-exit-translate-y:2.5rem}.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom][data-open]{--tw-enter-translate-y:2.5rem}.data-\[side\=inline-end\]\:top-1\/2\![data-side=inline-end]{top:50%!important}.data-\[side\=inline-end\]\:-left-1[data-side=inline-end]{left:calc(var(--spacing)*-1)}.data-\[side\=inline-end\]\:-translate-y-1\/2[data-side=inline-end]{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:-.5rem}.data-\[side\=inline-start\]\:top-1\/2\![data-side=inline-start]{top:50%!important}.data-\[side\=inline-start\]\:-right-1[data-side=inline-start]{right:calc(var(--spacing)*-1)}.data-\[side\=inline-start\]\:-translate-y-1\/2[data-side=inline-start]{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start]{--tw-enter-translate-x:.5rem}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:calc(var(--spacing)*0)}.data-\[side\=left\]\:top-1\/2\![data-side=left]{top:50%!important}.data-\[side\=left\]\:-right-1[data-side=left]{right:calc(var(--spacing)*-1)}.data-\[side\=left\]\:left-0[data-side=left]{left:calc(var(--spacing)*0)}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:-translate-y-1\/2[data-side=left]{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=left\]\:group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side=left]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left][data-closed]{--tw-exit-translate-x:-2.5rem}.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left][data-open]{--tw-enter-translate-x:-2.5rem}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:calc(var(--spacing)*0)}.data-\[side\=right\]\:top-1\/2\![data-side=right]{top:50%!important}.data-\[side\=right\]\:right-0[data-side=right]{right:calc(var(--spacing)*0)}.data-\[side\=right\]\:-left-1[data-side=right]{left:calc(var(--spacing)*-1)}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:-translate-y-1\/2[data-side=right]{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=right\]\:group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side=right]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right][data-closed]{--tw-exit-translate-x:2.5rem}.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right][data-open]{--tw-enter-translate-x:2.5rem}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:calc(var(--spacing)*0)}.data-\[side\=top\]\:top-0[data-side=top]{top:calc(var(--spacing)*0)}.data-\[side\=top\]\:-bottom-2\.5[data-side=top]{bottom:calc(var(--spacing)*-2.5)}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top][data-closed]{--tw-exit-translate-y:-2.5rem}.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top][data-open]{--tw-enter-translate-y:-2.5rem}.data-\[size\=default\]\:h-8[data-size=default]{height:calc(var(--spacing)*8)}.data-\[size\=default\]\:h-\[18\.4px\][data-size=default]{height:18.4px}.data-\[size\=default\]\:w-\[32px\][data-size=default]{width:32px}.data-\[size\=default\]\:max-w-xs[data-size=default]{max-width:var(--container-xs)}.data-\[size\=md\]\:text-sm[data-size=md]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[size\=sm\]\:h-7[data-size=sm]{height:calc(var(--spacing)*7)}.data-\[size\=sm\]\:h-\[14px\][data-size=sm]{height:14px}.data-\[size\=sm\]\:w-\[24px\][data-size=sm]{width:24px}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}.data-\[size\=sm\]\:gap-3[data-size=sm]{gap:calc(var(--spacing)*3)}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md),10px)}.data-\[size\=sm\]\:py-3[data-size=sm]{padding-block:calc(var(--spacing)*3)}.data-\[size\=sm\]\:text-xs[data-size=sm]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.data-\[size\=sm\]\:has-data-\[slot\=card-footer\]\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing)*0)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-1\.5>*)[data-slot=select-value]{gap:calc(var(--spacing)*1.5)}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.data-\[state\=open\]\:rotate-90[data-state=open]{rotate:90deg}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-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,)}}@media(min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mx-auto{margin-inline:auto}.sm\:flex{display:flex}.sm\:w-auto{width:auto}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-sm{max-width:var(--container-sm)}.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\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:gap-6{gap:calc(var(--spacing)*6)}.sm\:rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.sm\:border{border-style:var(--tw-border-style);border-width:1px}.sm\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.sm\:p-5{padding:calc(var(--spacing)*5)}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left],.data-\[side\=right\]\:sm\:max-w-sm[data-side=right],.data-\[size\=default\]\:sm\:max-w-sm[data-size=default]{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-6{grid-column:span 6/span 6}.md\:block{display:block}.md\:flex{display:flex}.md\:h-16{height:calc(var(--spacing)*16)}.md\:h-\[calc\(100dvh-1rem\)\]{height:calc(100dvh - 1rem)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:items-end{align-items:flex-end}.md\:p-4{padding:calc(var(--spacing)*4)}.md\:px-6{padding-inline:calc(var(--spacing)*6)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-pretty{text-wrap:pretty}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.ltr\:-translate-x-1\/2:where(:dir(ltr),[dir=ltr],[dir=ltr] *),.rtl\:-translate-x-1\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.dark\:border-destructive:is(.dark *){border-color:var(--destructive)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:text-amber-300:is(.dark *){color:var(--color-amber-300)}.dark\:text-amber-400\/80:is(.dark *){color:#fcbb00cc}@supports (color:color-mix(in lab,red,red)){.dark\:text-amber-400\/80:is(.dark *){color:color-mix(in oklab,var(--color-amber-400)80%,transparent)}}.dark\:text-blue-400\/80:is(.dark *){color:#54a2ffcc}@supports (color:color-mix(in lab,red,red)){.dark\:text-blue-400\/80:is(.dark *){color:color-mix(in oklab,var(--color-blue-400)80%,transparent)}}.dark\:text-emerald-400:is(.dark *){color:var(--color-emerald-400)}.dark\:text-emerald-400\/80:is(.dark *){color:#00d294cc}@supports (color:color-mix(in lab,red,red)){.dark\:text-emerald-400\/80:is(.dark *){color:color-mix(in oklab,var(--color-emerald-400)80%,transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-pink-400\/70:is(.dark *){color:#fb64b6b3}@supports (color:color-mix(in lab,red,red)){.dark\:text-pink-400\/70:is(.dark *){color:color-mix(in oklab,var(--color-pink-400)70%,transparent)}}.dark\:text-purple-400\/70:is(.dark *){color:#c07effb3}@supports (color:color-mix(in lab,red,red)){.dark\:text-purple-400\/70:is(.dark *){color:color-mix(in oklab,var(--color-purple-400)70%,transparent)}}.dark\:text-red-300:is(.dark *){color:var(--color-red-300)}.dark\:text-red-400\/70:is(.dark *){color:#ff6568b3}@supports (color:color-mix(in lab,red,red)){.dark\:text-red-400\/70:is(.dark *){color:color-mix(in oklab,var(--color-red-400)70%,transparent)}}@media(hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.dark\:hover\:bg-transparent:is(.dark *):hover{background-color:#0000}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:color-mix(in oklab,var(--input)80%,transparent)}}.dark\:disabled\:bg-transparent:is(.dark *):disabled{background-color:#0000}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-active\:border-input:is(.dark *)[data-active]{border-color:var(--input)}.dark\:data-active\:border-transparent:is(.dark *)[data-active]{border-color:#0000}.dark\:data-active\:bg-input\/30:is(.dark *)[data-active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-active\:bg-input\/30:is(.dark *)[data-active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:data-active\:bg-input\/60:is(.dark *)[data-active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-active\:bg-input\/60:is(.dark *)[data-active]{background-color:color-mix(in oklab,var(--input)60%,transparent)}}.dark\:data-active\:text-foreground:is(.dark *)[data-active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-active]{background-color:#0000}.dark\:data-checked\:bg-primary-foreground:is(.dark *)[data-checked]{background-color:var(--primary-foreground)}.dark\:data-unchecked\:bg-foreground:is(.dark *)[data-unchecked]{background-color:var(--foreground)}.dark\:data-unchecked\:bg-input\/80:is(.dark *)[data-unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-unchecked\:bg-input\/80:is(.dark *)[data-unchecked]{background-color:color-mix(in oklab,var(--input)80%,transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-\[15px\] svg:not([class*=size-]){width:15px;height:15px}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\.border-b\]\:pb-4.border-b{padding-bottom:calc(var(--spacing)*4)}.group-data-\[size\=sm\]\/card\:\[\.border-b\]\:pb-3:is(:where(.group\/card)[data-size=sm] *).border-b{padding-bottom:calc(var(--spacing)*3)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media(hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[img\:first-child\]\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) + 4px);border-top-right-radius:calc(var(--radius) + 4px)}:is(.\*\:\[img\:last-child\]\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) + 4px);border-bottom-left-radius:calc(var(--radius) + 4px)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6>*):is(svg:not([class*=size-])){width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing)*3)!important;height:calc(var(--spacing)*3)!important}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}@media(any-pointer:coarse){.\[\@media\(any-pointer\:coarse\)\]\:right-0\.5{right:calc(var(--spacing)*.5)}.\[\@media\(any-pointer\:coarse\)\]\:right-10\.5{right:calc(var(--spacing)*10.5)}.\[\@media\(any-pointer\:coarse\)\]\:hidden{display:none}.\[\@media\(any-pointer\:coarse\)\]\:size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.\[\@media\(any-pointer\:coarse\)\]\:h-4\.5{height:calc(var(--spacing)*4.5)}.\[\@media\(any-pointer\:coarse\)\]\:h-5{height:calc(var(--spacing)*5)}.\[\@media\(any-pointer\:coarse\)\]\:h-8{height:calc(var(--spacing)*8)}.\[\@media\(any-pointer\:coarse\)\]\:h-9{height:calc(var(--spacing)*9)}.\[\@media\(any-pointer\:coarse\)\]\:h-10{height:calc(var(--spacing)*10)}.\[\@media\(any-pointer\:coarse\)\]\:min-h-11{min-height:calc(var(--spacing)*11)}.\[\@media\(any-pointer\:coarse\)\]\:w-4{width:calc(var(--spacing)*4)}.\[\@media\(any-pointer\:coarse\)\]\:w-4\.5{width:calc(var(--spacing)*4.5)}.\[\@media\(any-pointer\:coarse\)\]\:w-5{width:calc(var(--spacing)*5)}.\[\@media\(any-pointer\:coarse\)\]\:w-8{width:calc(var(--spacing)*8)}.\[\@media\(any-pointer\:coarse\)\]\:w-9{width:calc(var(--spacing)*9)}.\[\@media\(any-pointer\:coarse\)\]\:w-10{width:calc(var(--spacing)*10)}.\[\@media\(any-pointer\:coarse\)\]\:min-w-10{min-width:calc(var(--spacing)*10)}.\[\@media\(any-pointer\:coarse\)\]\:min-w-48{min-width:calc(var(--spacing)*48)}:where(.\[\@media\(any-pointer\:coarse\)\]\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.\[\@media\(any-pointer\:coarse\)\]\:space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.\[\@media\(any-pointer\:coarse\)\]\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.\[\@media\(any-pointer\:coarse\)\]\:rounded-lg{border-radius:var(--radius)}.\[\@media\(any-pointer\:coarse\)\]\:px-2{padding-inline:calc(var(--spacing)*2)}.\[\@media\(any-pointer\:coarse\)\]\:px-3{padding-inline:calc(var(--spacing)*3)}.\[\@media\(any-pointer\:coarse\)\]\:py-1\.5{padding-block:calc(var(--spacing)*1.5)}.\[\@media\(any-pointer\:coarse\)\]\:py-2{padding-block:calc(var(--spacing)*2)}.\[\@media\(any-pointer\:coarse\)\]\:py-2\.5{padding-block:calc(var(--spacing)*2.5)}.\[\@media\(any-pointer\:coarse\)\]\:pr-12{padding-right:calc(var(--spacing)*12)}.\[\@media\(any-pointer\:coarse\)\]\:pr-21{padding-right:calc(var(--spacing)*21)}.\[\@media\(any-pointer\:coarse\)\]\:opacity-100{opacity:1}}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}}body{overscroll-behavior:none;background-color:var(--sidebar);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text-family:var(--font-outfit),sans-serif}[data-theme-preset=underground]{--base-50:oklch(98.4% .0022 247.84);--base-100:oklch(96.87% .0051 247.88);--base-200:oklch(92.9% .0095 255.53);--base-300:oklch(86.9% .016 252.91);--base-400:oklch(70.4% .0291 256.81);--base-500:oklch(55.4% .0335 257.44);--base-600:oklch(44.6% .0313 257.3);--base-700:oklch(37.2% .0321 257.31);--base-800:oklch(27.9% .0299 260.05);--base-900:oklch(20.8% .0306 265.77);--base-950:oklch(12.9% .0306 264.71);--base-1000:oklch(7.8% .0306 264.02);--primary-50:oklch(97.97% .0095 159.88);--primary-100:oklch(95.64% .0234 159.23);--primary-200:oklch(91.64% .0434 159.21);--primary-300:oklch(86.03% .0731 158.6);--primary-400:oklch(78.1% .0975 156.24);--primary-500:oklch(71.22% .0991 154.66);--primary-600:oklch(61.47% .0867 154.73);--primary-700:oklch(53.15% .0694 156.19);--primary-800:oklch(44.16% .0544 157.47);--primary-900:oklch(38.7% .0436 159);--primary-950:oklch(26.43% .0295 160.27);--primary-1000:oklch(18.45% .0202 160.95);--secondary-50:oklch(97.55% .0049 330.01);--secondary-100:oklch(95.12% .0104 328.92);--secondary-200:oklch(90.2% .0219 329.77);--secondary-300:oklch(82.92% .0422 332);--secondary-400:oklch(73.08% .07 333.6);--secondary-500:oklch(66.24% .0855 334.26);--secondary-600:oklch(57.48% .0862 336.52);--secondary-700:oklch(52.11% .0755 338.14);--secondary-800:oklch(45.52% .0631 338.88);--secondary-900:oklch(40.42% .0512 339.72);--secondary-950:oklch(28.93% .0391 340.38);--secondary-1000:oklch(21.46% .0313 340.82);--background:var(--base-50);--foreground:var(--base-800);--card:var(--color-white);--card-foreground:var(--base-800);--popover:var(--color-white);--popover-foreground:var(--base-800);--primary:var(--primary-700);--primary-foreground:var(--color-white);--secondary:var(--secondary-600);--secondary-foreground:var(--color-white);--muted:var(--base-100);--muted-foreground:var(--base-600);--accent:var(--base-200);--accent-foreground:var(--base-800);--destructive:oklch(57.7% .245 27.325);--border:var(--base-200);--input:var(--base-300);--ring:var(--primary-700);--chart-1:var(--primary-700);--chart-2:var(--secondary-600);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--radius:.5rem;--sidebar:var(--color-white);--sidebar-foreground:var(--base-800);--sidebar-primary:var(--primary-700);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--color-white);--sidebar-border:var(--base-200);--sidebar-ring:var(--primary-700);--display-family:var(--font-hedvig-letters-serif),sans-serif;--display-weight:800;--text-family:var(--font-kumbh-sans),sans-serif}[data-theme-preset=underground]:is(.dark *){--background:var(--base-950);--foreground:var(--base-200);--card:var(--base-900);--card-foreground:var(--base-200);--popover:var(--base-900);--popover-foreground:var(--base-200);--primary:var(--primary-700);--primary-foreground:var(--color-white);--secondary:var(--secondary-600);--secondary-foreground:var(--color-white);--muted:var(--base-800);--muted-foreground:var(--base-300);--accent:var(--base-800);--accent-foreground:var(--base-200);--destructive:oklch(70.4% .191 22.216);--border:var(--base-800);--input:var(--base-700);--ring:var(--primary-700);--chart-1:var(--primary-700);--chart-2:var(--secondary-600);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--sidebar:var(--base-900);--sidebar-foreground:var(--base-200);--sidebar-primary:var(--primary-700);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--base-200);--sidebar-border:var(--base-800);--sidebar-ring:var(--primary-700)}[data-theme-preset=rose-garden]{--base-50:oklch(98.51% .001 33.69);--base-100:oklch(95.67% .0021 34.31);--base-200:oklch(92.27% .0029 34.49);--base-300:oklch(86.96% .0034 34.89);--base-400:oklch(70.88% .0038 34.83);--base-500:oklch(55.43% .0041 35.95);--base-600:oklch(44.23% .004 36.92);--base-700:oklch(37.31% .0037 36.25);--base-800:oklch(26.86% .0032 34.85);--base-900:oklch(21.2% .0029 34.69);--base-950:oklch(14.63% .0027 33.58);--base-1000:oklch(10.36% .0021 33.95);--primary-50:oklch(96.98% .0142 5.62);--primary-100:oklch(94.29% .0283 5.52);--primary-200:oklch(89.38% .0563 3.77);--primary-300:oklch(81.31% .1129 5.67);--primary-400:oklch(71.35% .1879 7.69);--primary-500:oklch(64.76% .2348 10.36);--primary-600:oklch(58.27% .2418 12.23);--primary-700:oklch(51.66% .2131 12.28);--primary-800:oklch(45.59% .1801 10);--primary-900:oklch(40.96% .1512 7.52);--primary-950:oklch(27.41% .1016 9.26);--primary-1000:oklch(18.61% .0693 10.39);--background:var(--color-white);--foreground:var(--base-800);--card:var(--color-white);--card-foreground:var(--base-800);--popover:var(--color-white);--popover-foreground:var(--base-800);--primary:var(--primary-600);--primary-foreground:var(--color-white);--secondary:var(--primary-300);--secondary-foreground:var(--base-800);--muted:var(--base-200);--muted-foreground:var(--base-600);--accent:var(--base-100);--accent-foreground:var(--base-800);--destructive:oklch(57.7% .245 27.325);--border:var(--base-200);--input:var(--base-300);--ring:var(--primary-600);--chart-1:var(--primary-600);--chart-2:var(--primary-200);--chart-3:var(--primary-400);--chart-4:var(--primary-300);--chart-5:var(--primary-100);--radius:1rem;--sidebar:var(--base-100);--sidebar-foreground:var(--base-800);--sidebar-primary:var(--primary-600);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary-600);--sidebar-accent-foreground:var(--color-white);--sidebar-border:var(--base-200);--sidebar-ring:var(--primary-600);--text-family:var(--font-poppins),sans-serif;--display-weight:600}[data-theme-preset=rose-garden]:is(.dark *){--background:var(--base-950);--foreground:var(--base-200);--card:var(--base-950);--card-foreground:var(--base-200);--popover:var(--base-950);--popover-foreground:var(--base-200);--primary:var(--primary-600);--primary-foreground:var(--color-white);--secondary:var(--primary-300);--secondary-foreground:var(--base-200);--muted:var(--base-900);--muted-foreground:var(--base-400);--accent:var(--base-900);--accent-foreground:var(--base-200);--destructive:oklch(70.4% .191 22.216);--border:var(--base-800);--input:var(--base-700);--ring:var(--primary-600);--chart-1:var(--primary-600);--chart-2:var(--primary-200);--chart-3:var(--primary-400);--chart-4:var(--primary-300);--chart-5:var(--primary-100);--sidebar:var(--base-800);--sidebar-foreground:var(--base-200);--sidebar-primary:var(--primary-600);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary-600);--sidebar-accent-foreground:var(--base-200);--sidebar-border:var(--base-800);--sidebar-ring:var(--primary-600)}[data-theme-preset=lake-view]{--base-50:oklch(98.49% .0024 160.68);--base-100:oklch(96.92% .005 161.7);--base-200:oklch(92.63% .0099 162.17);--base-300:oklch(85.04% .0147 163.22);--base-400:oklch(70.64% .0222 164.73);--base-500:oklch(55.37% .0287 165.9);--base-600:oklch(44.53% .0279 166.55);--base-700:oklch(37.31% .0248 166.06);--base-800:oklch(27.42% .0208 165.96);--base-900:oklch(21.19% .0173 166.78);--base-950:oklch(13.74% .0152 166.46);--base-1000:oklch(8.91% .0136 166.9);--primary-50:oklch(97.9% .021 166.11);--primary-100:oklch(95% .052 163.05);--primary-200:oklch(90.5% .093 164.15);--primary-300:oklch(84.5% .143 164.98);--primary-400:oklch(76.5% .177 163.22);--primary-500:oklch(69.6% .17 162.48);--primary-600:oklch(59.6% .145 163.22);--primary-700:oklch(50.8% .118 165.61);--primary-800:oklch(43.2% .095 166.91);--primary-900:oklch(37.8% .077 168.94);--primary-950:oklch(26.2% .051 171.55);--primary-1000:oklch(18.7% .034 172.89);--secondary-50:oklch(98.08% .0145 191.25);--secondary-100:oklch(95.16% .0437 191.52);--secondary-200:oklch(91.08% .0804 191.57);--secondary-300:oklch(85.76% .1202 192.38);--secondary-400:oklch(78.09% .1376 194.73);--secondary-500:oklch(70.79% .1273 196.21);--secondary-600:oklch(60.35% .1094 198.95);--secondary-700:oklch(55.1% .0899 200.52);--secondary-800:oklch(44.22% .0729 202.06);--secondary-900:oklch(39.06% .0594 203.06);--secondary-950:oklch(28.71% .0452 205.42);--secondary-1000:oklch(21.98% .036 206.01);--background:var(--base-50);--foreground:var(--base-800);--card:var(--color-white);--card-foreground:var(--base-800);--popover:var(--color-white);--popover-foreground:var(--base-800);--primary:var(--primary-400);--primary-foreground:var(--color-black);--secondary:var(--secondary-700);--secondary-foreground:var(--color-white);--muted:var(--base-100);--muted-foreground:var(--base-600);--accent:var(--base-100);--accent-foreground:var(--base-800);--destructive:oklch(57.7% .245 27.325);--border:var(--base-200);--input:var(--base-300);--ring:var(--primary-400);--chart-1:var(--primary-400);--chart-2:var(--secondary-700);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--radius:.75rem;--sidebar:var(--color-white);--sidebar-foreground:var(--base-800);--sidebar-primary:var(--primary-400);--sidebar-primary-foreground:var(--color-black);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--base-800);--sidebar-border:var(--base-200);--sidebar-ring:var(--primary-400);--display-weight:800;--text-family:var(--font-pt-sans),sans-serif}[data-theme-preset=lake-view]:is(.dark *){--background:var(--base-950);--foreground:var(--base-200);--card:var(--base-900);--card-foreground:var(--base-200);--popover:var(--base-900);--popover-foreground:var(--base-200);--primary:var(--primary-400);--primary-foreground:var(--color-black);--secondary:var(--secondary-700);--secondary-foreground:var(--color-white);--muted:var(--base-800);--muted-foreground:var(--base-300);--accent:var(--base-800);--accent-foreground:var(--base-200);--destructive:oklch(70.4% .191 22.216);--border:var(--base-800);--input:var(--base-700);--ring:var(--primary-400);--chart-1:var(--primary-400);--chart-2:var(--secondary-700);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--sidebar:var(--base-900);--sidebar-foreground:var(--base-200);--sidebar-primary:var(--primary-400);--sidebar-primary-foreground:var(--color-black);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--color-black);--sidebar-border:var(--base-800);--sidebar-ring:var(--primary-400)}[data-theme-preset=sunset-glow]{--base-50:oklch(98.53% .0041 157.18);--base-100:oklch(96.9% .0045 158.2);--base-200:oklch(92.61% .0057 158.66);--base-300:oklch(86.9% .0066 159.7);--base-400:oklch(70.64% .0074 161.16);--base-500:oklch(55.35% .008 162.35);--base-600:oklch(44.5% .0078 163.03);--base-700:oklch(37.3% .0072 162.52);--base-800:oklch(27.38% .0062 162.35);--base-900:oklch(21.18% .0057 163.13);--base-950:oklch(13.76% .0053 162.77);--base-1000:oklch(8.94% .0049 163.21);--primary-50:oklch(97.19% .0102 16.36);--primary-100:oklch(93.81% .0241 16.66);--primary-200:oklch(88.72% .0467 16.63);--primary-300:oklch(80.9% .0875 17.95);--primary-400:oklch(70.59% .1462 20.42);--primary-500:oklch(63.87% .1822 23.51);--primary-600:oklch(55.91% .1882 25.33);--primary-700:oklch(50.69% .1639 25.35);--primary-800:oklch(44.65% .1368 24.19);--primary-900:oklch(39.92% .1104 22.56);--primary-950:oklch(26.09% .0723 23.19);--primary-1000:oklch(17.09% .0473 23.59);--secondary-50:oklch(97.81% .0149 45.53);--secondary-100:oklch(94.91% .0351 44.57);--secondary-200:oklch(89.64% .0724 43.73);--secondary-300:oklch(79.38% .1248 42.42);--secondary-400:oklch(73.63% .1869 41.57);--secondary-500:oklch(68.49% .222 40.89);--secondary-600:oklch(62.57% .2229 39.75);--secondary-700:oklch(53.91% .1994 37.91);--secondary-800:oklch(46.28% .1643 36.26);--secondary-900:oklch(40.51% .1294 35.11);--secondary-950:oklch(26.41% .0836 34.57);--secondary-1000:oklch(17.26% .0534 33.77);--background:var(--color-white);--foreground:var(--base-800);--card:var(--color-white);--card-foreground:var(--base-800);--popover:var(--color-white);--popover-foreground:var(--base-800);--primary:var(--primary-600);--primary-foreground:var(--color-white);--secondary:var(--secondary-300);--secondary-foreground:var(--color-black);--muted:var(--base-50);--muted-foreground:var(--base-600);--accent:var(--primary-100);--accent-foreground:var(--base-800);--destructive:oklch(57.7% .245 27.325);--border:var(--base-200);--input:var(--base-300);--ring:var(--primary-600);--chart-1:var(--primary-600);--chart-2:var(--secondary-300);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--radius:1rem;--sidebar:var(--base-100);--sidebar-foreground:var(--base-800);--sidebar-primary:var(--primary-600);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--color-white);--sidebar-border:var(--base-200);--sidebar-ring:var(--primary-600)}[data-theme-preset=sunset-glow]:is(.dark *){--background:var(--base-950);--foreground:var(--base-200);--card:var(--base-950);--card-foreground:var(--base-200);--popover:var(--base-950);--popover-foreground:var(--base-200);--primary:var(--primary-600);--primary-foreground:var(--color-white);--secondary:var(--secondary-300);--secondary-foreground:var(--color-black);--muted:var(--base-900);--muted-foreground:var(--base-400);--accent:var(--base-900);--accent-foreground:var(--base-200);--destructive:oklch(70.4% .191 22.216);--border:var(--base-800);--input:var(--base-700);--ring:var(--primary-600);--chart-1:var(--primary-600);--chart-2:var(--secondary-300);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--sidebar:var(--base-900);--sidebar-foreground:var(--base-200);--sidebar-primary:var(--primary-600);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--color-white);--sidebar-border:var(--base-800);--sidebar-ring:var(--primary-600)}[data-theme-preset=forest-whisper]{--base-50:oklch(98.43% .0035 287.12);--base-100:oklch(96.65% .007 286.66);--base-200:oklch(91.97% .014 286.6);--base-300:oklch(87.08% .021 286.57);--base-400:oklch(72.44% .0315 286.35);--base-500:oklch(55.19% .042 286.22);--base-600:oklch(44.18% .0385 286.07);--base-700:oklch(36.98% .0315 286.09);--base-800:oklch(27.38% .021 286.32);--base-900:oklch(20.98% .014 286.17);--base-950:oklch(14.08% .0105 286.11);--base-1000:oklch(9.59% .007 286.07);--primary-50:oklch(98.15% .0164 177.79);--primary-100:oklch(95.11% .0547 177.24);--primary-200:oklch(90.8% .1019 177.16);--primary-300:oklch(85.22% .1484 177.84);--primary-400:oklch(77.41% .1676 178.16);--primary-500:oklch(70.21% .1559 178.48);--primary-600:oklch(59.91% .1318 180.39);--primary-700:oklch(52.76% .1072 182.22);--primary-800:oklch(43.59% .0869 183.94);--primary-900:oklch(38.42% .0703 184.51);--primary-950:oklch(27.38% .0502 187.51);--primary-1000:oklch(20.2% .0372 188.32);--secondary-50:oklch(97.7% .0034 244.64);--secondary-100:oklch(94.5% .0074 245.19);--secondary-200:oklch(89.44% .015 243.47);--secondary-300:oklch(82.08% .0278 242.12);--secondary-400:oklch(72.94% .0416 244.67);--secondary-500:oklch(65.78% .0485 247.35);--secondary-600:oklch(52.36% .0505 250.18);--secondary-700:oklch(49.5% .0469 251.28);--secondary-800:oklch(43.5% .0384 252.42);--secondary-900:oklch(38.63% .0295 252.97);--secondary-950:oklch(28.87% .0198 254.2);--secondary-1000:oklch(22.51% .0134 255.72);--background:var(--base-50);--foreground:var(--base-800);--card:var(--color-white);--card-foreground:var(--base-800);--popover:var(--color-white);--popover-foreground:var(--base-800);--primary:var(--primary-700);--primary-foreground:var(--color-white);--secondary:var(--secondary-600);--secondary-foreground:var(--color-white);--muted:var(--base-100);--muted-foreground:var(--base-600);--accent:var(--base-100);--accent-foreground:var(--base-800);--destructive:oklch(57.7% .245 27.325);--border:var(--base-200);--input:var(--base-300);--ring:var(--primary-700);--chart-1:var(--primary-700);--chart-2:var(--secondary-600);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--radius:.5rem;--sidebar:var(--color-white);--sidebar-foreground:var(--base-800);--sidebar-primary:var(--primary-700);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--color-white);--sidebar-border:var(--base-200);--sidebar-ring:var(--primary-700)}[data-theme-preset=forest-whisper]:is(.dark *){--background:var(--base-950);--foreground:var(--base-200);--card:var(--base-900);--card-foreground:var(--base-200);--popover:var(--base-900);--popover-foreground:var(--base-200);--primary:var(--primary-700);--primary-foreground:var(--color-white);--secondary:var(--secondary-600);--secondary-foreground:var(--color-white);--muted:var(--base-800);--muted-foreground:var(--base-300);--accent:var(--base-800);--accent-foreground:var(--base-200);--destructive:oklch(70.4% .191 22.216);--border:var(--base-800);--input:var(--base-700);--ring:var(--primary-700);--chart-1:var(--primary-700);--chart-2:var(--secondary-600);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--sidebar:var(--base-900);--sidebar-foreground:var(--base-200);--sidebar-primary:var(--primary-700);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--color-white);--sidebar-border:var(--base-800);--sidebar-ring:var(--primary-700)}[data-theme-preset=ocean-breeze]{--base-50:oklch(99% .0053 106.5);--base-100:oklch(96.95% .0058 107.51);--base-200:oklch(92.45% .0074 107.89);--base-300:oklch(86.89% .0085 108.73);--base-400:oklch(70.76% .0095 109.42);--base-500:oklch(55.32% .0103 110.92);--base-600:oklch(44.44% .0101 112.04);--base-700:oklch(37.34% .0093 111.24);--base-800:oklch(27.08% .008 110.04);--base-900:oklch(21.38% .0074 110.31);--base-950:oklch(14.21% .0069 109.25);--base-1000:oklch(9.56% .0064 109.76);--primary-50:oklch(97% .0123 254.6);--primary-100:oklch(93.2% .0281 255.58);--primary-200:oklch(88.2% .0518 254.13);--primary-300:oklch(80.9% .0922 251.81);--primary-400:oklch(70.7% .1449 254.62);--primary-500:oklch(62.3% .188 259.81);--primary-600:oklch(54.61% .2152 262.88);--primary-700:oklch(48.8% .2134 264.37);--primary-800:oklch(42.4% .1748 265.64);--primary-900:oklch(37.9% .1282 265.52);--primary-950:oklch(28.2% .0799 267.93);--primary-1000:oklch(21.9% .0483 269.5);--secondary-50:oklch(96.2% .0158 272.32);--secondary-100:oklch(93% .0298 272.79);--secondary-200:oklch(87% .0569 274.04);--secondary-300:oklch(78.5% .1007 274.72);--secondary-400:oklch(67.3% .1594 276.94);--secondary-500:oklch(58.54% .2041 277.12);--secondary-600:oklch(51.1% .2295 276.97);--secondary-700:oklch(45.7% .2102 277.03);--secondary-800:oklch(39.8% .1708 277.37);--secondary-900:oklch(35.9% .1261 278.7);--secondary-950:oklch(25.7% .0788 281.29);--secondary-1000:oklch(19.1% .0482 282.97);--background:var(--color-white);--foreground:var(--base-800);--card:var(--color-white);--card-foreground:var(--base-800);--popover:var(--color-white);--popover-foreground:var(--base-800);--primary:var(--primary-600);--primary-foreground:var(--color-white);--secondary:var(--secondary-500);--secondary-foreground:var(--color-white);--muted:var(--base-50);--muted-foreground:var(--base-600);--accent:var(--base-100);--accent-foreground:var(--base-800);--destructive:oklch(57.7% .245 27.325);--border:var(--base-200);--input:var(--base-300);--ring:var(--primary-600);--chart-1:var(--primary-600);--chart-2:var(--secondary-500);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--radius:.3rem;--sidebar:var(--base-100);--sidebar-foreground:var(--base-800);--sidebar-primary:var(--primary-600);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--color-white);--sidebar-border:var(--base-200);--sidebar-ring:var(--primary-600);--text-family:var(--font-plus-jakarta-sans),sans-serif;--display-weight:800}[data-theme-preset=ocean-breeze]:is(.dark *){--background:var(--base-950);--foreground:var(--base-200);--card:var(--base-950);--card-foreground:var(--base-200);--popover:var(--base-950);--popover-foreground:var(--base-200);--primary:var(--primary-600);--primary-foreground:var(--color-white);--secondary:var(--secondary-500);--secondary-foreground:var(--color-black);--muted:var(--base-900);--muted-foreground:var(--base-400);--accent:var(--base-900);--accent-foreground:var(--base-200);--destructive:oklch(70.4% .191 22.216);--border:var(--base-800);--input:var(--base-700);--ring:var(--primary-600);--chart-1:var(--primary-600);--chart-2:var(--secondary-500);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--sidebar:var(--base-900);--sidebar-foreground:var(--base-200);--sidebar-primary:var(--primary-600);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--color-white);--sidebar-border:var(--base-800);--sidebar-ring:var(--primary-600)}[data-theme-preset=lavender-dream]{--base-50:oklch(98.68% .0029 259.84);--base-100:oklch(96.92% .0058 262.54);--base-200:oklch(92.53% .0117 262.53);--base-300:oklch(86.92% .0175 260.34);--base-400:oklch(70.7% .0262 261.33);--base-500:oklch(55.1% .035 262.36);--base-600:oklch(44.6% .0335 258.8);--base-700:oklch(37.3% .0306 259.73);--base-800:oklch(27.8% .0277 258.85);--base-900:oklch(21% .024 262.66);--base-950:oklch(13% .0219 261.69);--base-1000:oklch(7.8% .0204 259.76);--primary-50:oklch(97.66% .0092 310.91);--primary-100:oklch(94.7% .0212 309.77);--primary-200:oklch(90.2% .0412 309.57);--primary-300:oklch(82.81% .078 309.73);--primary-400:oklch(71.97% .1318 309.2);--primary-500:oklch(63.59% .1699 307.95);--primary-600:oklch(57.09% .1808 306.89);--primary-700:oklch(50.09% .164 306.81);--primary-800:oklch(44.1% .1353 308.36);--primary-900:oklch(38.53% .1093 309.57);--primary-950:oklch(29.13% .0914 307.81);--primary-1000:oklch(22.29% .0786 306.49);--secondary-50:oklch(98.31% .0066 196.52);--secondary-100:oklch(95.43% .0181 196.87);--secondary-200:oklch(91.4% .033 197.14);--secondary-300:oklch(86.11% .0504 198.03);--secondary-400:oklch(81.1% .0589 201.14);--secondary-500:oklch(71.07% .0545 203.05);--secondary-600:oklch(60.54% .0473 206.07);--secondary-700:oklch(51.64% .0391 207.58);--secondary-800:oklch(44.48% .0317 208.98);--secondary-900:oklch(39.31% .0259 210.38);--secondary-950:oklch(29.23% .0201 212.36);--secondary-1000:oklch(22.7% .0163 212.92);--background:var(--base-50);--foreground:var(--base-800);--card:var(--color-white);--card-foreground:var(--base-800);--popover:var(--color-white);--popover-foreground:var(--base-800);--primary:var(--primary-600);--primary-foreground:var(--color-white);--secondary:var(--secondary-400);--secondary-foreground:var(--color-black);--muted:var(--base-100);--muted-foreground:var(--base-600);--accent:var(--base-200);--accent-foreground:var(--base-800);--destructive:oklch(57.7% .245 27.325);--border:var(--base-200);--input:var(--base-300);--ring:var(--primary-600);--chart-1:var(--primary-600);--chart-2:var(--secondary-400);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--radius:1rem;--sidebar:var(--color-white);--sidebar-foreground:var(--base-800);--sidebar-primary:var(--primary-600);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--color-white);--sidebar-border:var(--base-200);--sidebar-ring:var(--primary-600);--display-family:var(--font-hedvig-letters-serif),sans-serif}[data-theme-preset=lavender-dream]:is(.dark *){--background:var(--base-950);--foreground:var(--base-200);--card:var(--base-900);--card-foreground:var(--base-200);--popover:var(--base-900);--popover-foreground:var(--base-200);--primary:var(--primary-600);--primary-foreground:var(--color-white);--secondary:var(--secondary-400);--secondary-foreground:var(--color-black);--muted:var(--base-800);--muted-foreground:var(--base-300);--accent:var(--base-800);--accent-foreground:var(--base-200);--destructive:oklch(70.4% .191 22.216);--border:var(--base-800);--input:var(--base-700);--ring:var(--primary-600);--chart-1:var(--primary-600);--chart-2:var(--secondary-400);--chart-3:var(--primary-300);--chart-4:var(--secondary-300);--chart-5:var(--primary-100);--sidebar:var(--base-900);--sidebar-foreground:var(--base-200);--sidebar-primary:var(--primary-600);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--primary);--sidebar-accent-foreground:var(--color-white);--sidebar-border:var(--base-800);--sidebar-ring:var(--primary-600)}[data-theme-chart-preset=cyan]{--chart-1:var(--color-cyan-800);--chart-2:var(--color-cyan-700);--chart-3:var(--color-cyan-600);--chart-4:var(--color-cyan-500);--chart-5:var(--color-cyan-400)}[data-theme-chart-preset=amber]{--chart-1:var(--color-amber-800);--chart-2:var(--color-amber-700);--chart-3:var(--color-amber-600);--chart-4:var(--color-amber-500);--chart-5:var(--color-amber-400)}[data-theme-chart-preset=green]{--chart-1:var(--color-green-800);--chart-2:var(--color-green-700);--chart-3:var(--color-green-600);--chart-4:var(--color-green-500);--chart-5:var(--color-green-400)}[data-theme-chart-preset=indigo]{--chart-1:var(--color-indigo-800);--chart-2:var(--color-indigo-700);--chart-3:var(--color-indigo-600);--chart-4:var(--color-indigo-500);--chart-5:var(--color-indigo-400)}[data-theme-chart-preset=fuchsia]{--chart-1:var(--color-fuchsia-800);--chart-2:var(--color-fuchsia-700);--chart-3:var(--color-fuchsia-600);--chart-4:var(--color-fuchsia-500);--chart-5:var(--color-fuchsia-400)}[data-theme-radius=sm]{--radius:.3rem}[data-theme-radius=md]{--radius:.5rem}[data-theme-radius=lg]{--radius:1rem}[data-theme-radius=xl]{--radius:1.5rem}[data-theme-radius=none]{--radius:0rem}[data-theme-scale=sm]{--text-lg:1.05rem;--text-base:.85rem;--text-sm:.75rem;--spacing:.222222rem}[data-theme-scale=lg]{--text-lg:1.55rem;--text-base:1.35rem;--text-sm:1rem;--spacing:.262222rem}[data-theme-font=inter]{--font-sans:var(--font-inter)}[data-theme-font=roboto]{--font-sans:var(--font-roboto)}[data-theme-font=poppins]{--font-sans:var(--font-poppins)}[data-theme-font=montserrat]{--font-sans:var(--font-montserrat)}[data-theme-font=pt-sans]{--font-sans:var(--font-pt-sans)}[data-theme-font=overpass-mono]{--font-sans:var(--font-overpass-mono);letter-spacing:-.05em}@font-face{font-family:GeistMonoTmex;src:url(/fonts/GeistMonoNerdFontMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:GeistMonoTmex;src:url(/fonts/GeistMonoNerdFontMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:NotoSansSymbols2Tmex;src:url(/fonts/NotoSansSymbols2-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--tmex-safe-area-top:env(safe-area-inset-top,0px);--tmex-safe-area-bottom:env(safe-area-inset-bottom,0px);--base-50:oklch(98.5% .0013 286.84);--base-100:oklch(96.7% .0027 286.38);--base-200:oklch(92% .0053 286.32);--base-300:oklch(87.1% .008 286.29);--base-400:oklch(70.5% .012 286.07);--base-500:oklch(55.2% .016 285.94);--base-600:oklch(44.2% .0147 285.79);--base-700:oklch(37% .012 285.81);--base-800:oklch(27.4% .008 286.03);--base-900:oklch(21% .0053 285.89);--base-950:oklch(14.1% .004 285.83);--base-1000:oklch(9.6% .0027 285.79);--background:var(--color-white);--foreground:var(--base-800);--card:var(--color-white);--card-foreground:var(--base-800);--popover:var(--color-white);--popover-foreground:var(--base-800);--primary:var(--base-950);--primary-foreground:var(--color-white);--secondary:var(--base-300);--secondary-foreground:var(--base-800);--muted:var(--color-neutral-100);--muted-foreground:var(--color-neutral-500);--accent:var(--base-200);--accent-foreground:var(--base-800);--destructive:oklch(57.7% .245 27.325);--border:var(--base-200);--input:var(--base-300);--ring:var(--base-800);--chart-1:var(--base-950);--chart-2:var(--base-600);--chart-3:var(--base-800);--chart-4:var(--base-400);--chart-5:var(--base-300);--radius:.5rem;--sidebar:var(--base-100);--sidebar-foreground:var(--base-500);--sidebar-primary:var(--base-950);--sidebar-primary-foreground:var(--color-white);--sidebar-accent:var(--base-200);--sidebar-accent-foreground:var(--base-950);--sidebar-border:var(--base-200);--sidebar-ring:var(--base-800);--chat-surface:#fcfcfc;--terminal-shortcut-fg:#616161;--terminal-shortcut-bg:#e1e1e1;--display-weight:700;--fc-button-bg-color:var(--primary);--fc-button-hover-bg-color:var(--primary);--fc-button-active-bg-color:var(--primary);--fc-button-hover-border-color:transparent;--fc-button-active-border-color:transparent;--fc-button-border-color:transparent;--fc-event-border-color:transparent;--fc-event-text-color:oklch(100% 0 0);--fc-border-color:var(--border);--fc-page-bg-color:var(--muted);--fc-today-bg-color:var(--muted)}.dark{--background:var(--base-950);--foreground:var(--base-200);--card:var(--base-950);--card-foreground:var(--base-200);--popover:var(--base-950);--popover-foreground:var(--base-200);--primary:var(--base-50);--primary-foreground:var(--base-900);--secondary:var(--base-500);--secondary-foreground:var(--base-200);--muted:var(--base-900);--muted-foreground:var(--base-400);--accent:var(--base-900);--accent-foreground:var(--base-200);--destructive:oklch(70.4% .191 22.216);--border:var(--base-800);--input:var(--base-700);--ring:var(--base-200);--chart-1:var(--base-50);--chart-2:var(--base-400);--chart-3:var(--base-200);--chart-4:var(--base-600);--chart-5:var(--base-700);--sidebar:var(--base-900);--sidebar-foreground:var(--base-200);--sidebar-primary:var(--base-50);--sidebar-primary-foreground:var(--base-900);--sidebar-accent:var(--base-800);--sidebar-accent-foreground:var(--base-200);--sidebar-border:var(--base-800);--sidebar-ring:var(--base-200);--chat-surface:#121212;--terminal-shortcut-fg:#d0d0d0;--terminal-shortcut-bg:#262626}*{scrollbar-width:thin;scrollbar-color:var(--border)transparent}.terminal-shortcut-btn{color:var(--terminal-shortcut-fg);background-color:var(--terminal-shortcut-fg)}@supports (color:color-mix(in lab,red,red)){.terminal-shortcut-btn{background-color:color-mix(in srgb,var(--terminal-shortcut-fg)8%,transparent)}}.terminal-shortcut-btn{border:1px solid var(--terminal-shortcut-fg)}@supports (color:color-mix(in lab,red,red)){.terminal-shortcut-btn{border:1px solid color-mix(in srgb,var(--terminal-shortcut-fg)18%,transparent)}}.terminal-shortcut-btn:hover{color:var(--terminal-shortcut-fg);background-color:var(--terminal-shortcut-fg)}@supports (color:color-mix(in lab,red,red)){.terminal-shortcut-btn:hover{background-color:color-mix(in srgb,var(--terminal-shortcut-fg)16%,transparent)}}.terminal-shortcut-btn:active{background-color:var(--terminal-shortcut-fg)}@supports (color:color-mix(in lab,red,red)){.terminal-shortcut-btn:active{background-color:color-mix(in srgb,var(--terminal-shortcut-fg)26%,transparent)}}.kb-floating-shortcuts{z-index:20;transform:translateY(calc(-1*var(--tmex-kb-shortcut-lift,0px)));will-change:transform;position:relative}html{overscroll-behavior:none;overflow:hidden}*{text-autospace:no-autospace}body{overscroll-behavior:none;scrollbar-width:none;-ms-overflow-style:none;height:100dvh;overflow:hidden}body::-webkit-scrollbar{display:none}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}