blade-code 0.10.94 → 0.10.95
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.
- package/dist/blade.js +2 -2
- package/dist/{chunk-nahy2t67.js → chunk-09ya3a21.js} +1 -1
- package/dist/{chunk-fts2cp88.js → chunk-2f0wn3ne.js} +1 -1
- package/dist/{chunk-v5c34zya.js → chunk-2ge1zqts.js} +1 -1
- package/dist/{chunk-5hh577nr.js → chunk-2zzc7g29.js} +1 -1
- package/dist/{chunk-wxm2zjs9.js → chunk-3aayczyy.js} +1 -1
- package/dist/{chunk-0z3c8p6d.js → chunk-4fmyjf1x.js} +1 -1
- package/dist/chunk-4hb71f98.js +1 -0
- package/dist/{chunk-pkcvxa1z.js → chunk-4p69xraf.js} +1 -1
- package/dist/{chunk-zgd524h0.js → chunk-4smdhn1h.js} +1 -1
- package/dist/{chunk-kfmpnq2r.js → chunk-871g570t.js} +255 -255
- package/dist/{chunk-088bnp26.js → chunk-8pvsw4gw.js} +1 -1
- package/dist/{chunk-0ytp28pf.js → chunk-bd4nqrtm.js} +1 -1
- package/dist/{chunk-b5bwg47r.js → chunk-bxtqcgvs.js} +1 -1
- package/dist/{chunk-vnnxvpnn.js → chunk-cbafxem4.js} +1 -1
- package/dist/{chunk-076txzms.js → chunk-cnnht4m3.js} +1 -1
- package/dist/{chunk-kp6cjt82.js → chunk-cvybf60x.js} +1 -1
- package/dist/{chunk-xdvjwtfc.js → chunk-e5ht9d18.js} +1 -1
- package/dist/{chunk-reb25993.js → chunk-eqbcxa12.js} +1 -1
- package/dist/{chunk-rvpveaf3.js → chunk-es4evt6m.js} +1 -1
- package/dist/{chunk-73hasjfg.js → chunk-esstp9h0.js} +2 -2
- package/dist/{chunk-216xzne9.js → chunk-f66cptes.js} +1 -1
- package/dist/chunk-gnzcz6e1.js +1 -0
- package/dist/{chunk-gzv143jr.js → chunk-h2a3edj4.js} +1 -1
- package/dist/{chunk-8488pkzv.js → chunk-hajer580.js} +1 -1
- package/dist/{chunk-4rw9kt3s.js → chunk-hfd00skc.js} +1 -1
- package/dist/{chunk-bbvw06fr.js → chunk-hqb6qxzj.js} +1 -1
- package/dist/{chunk-939sa81a.js → chunk-hrpqz2jv.js} +1 -1
- package/dist/{chunk-zd410m70.js → chunk-ktt7vmqz.js} +1 -1
- package/dist/{chunk-k40dje0b.js → chunk-qp165b79.js} +1 -1
- package/dist/{chunk-7cx577bv.js → chunk-rjw8pj7t.js} +1 -1
- package/dist/{chunk-0538yd6h.js → chunk-rrav5aea.js} +1 -1
- package/dist/chunk-s2erwc49.js +8 -0
- package/dist/{chunk-5qanqw0d.js → chunk-sckqp0t9.js} +1 -1
- package/dist/{chunk-cd2xwddv.js → chunk-vt99w0vh.js} +1 -1
- package/dist/{chunk-zkxszt12.js → chunk-vxwqsmqg.js} +1 -1
- package/dist/{chunk-k8c48qxn.js → chunk-wwzc3ryj.js} +1 -1
- package/dist/{chunk-11fmyrjt.js → chunk-xm8w4jaa.js} +1 -1
- package/dist/web/assets/{ChatView-DacNycYI.js → ChatView-CpKiglLV.js} +7 -7
- package/dist/web/assets/{CodeBlockHighlighter-CevKBV7g.js → CodeBlockHighlighter-BzmHeWKU.js} +1 -1
- package/dist/web/assets/FilePreview-uShTCL2_.js +59 -0
- package/dist/web/assets/{KanbanBoard-C9620zMQ.js → KanbanBoard-CnZoKZFy.js} +2 -2
- package/dist/web/assets/{MarkdownRenderer-DR0tbtqc.js → MarkdownRenderer-CxcqGo57.js} +3 -3
- package/dist/web/assets/{SettingsModal-C_TpGMs0.js → SettingsModal-Bu5uH8ic.js} +2 -2
- package/dist/web/assets/{TaskSwitcher-CGWELaxg.js → TaskSwitcher-BDwk7i6w.js} +6 -6
- package/dist/web/assets/{TerminalPanel-DPxm68h1.js → TerminalPanel-PiLhnW-8.js} +2 -2
- package/dist/web/assets/{arrow-left-n3ENbaSb.js → arrow-left-B7RwOx8T.js} +1 -1
- package/dist/web/assets/{calendar-clock-C2E8mlWS.js → calendar-clock-BeSXiMFw.js} +1 -1
- package/dist/web/assets/{chevrons-up-down-DgOF3xz6.js → chevrons-up-down-DuC8PppK.js} +1 -1
- package/dist/web/assets/{clock-3-D9h1svFg.js → clock-3-lYrt_Amt.js} +1 -1
- package/dist/web/assets/{external-link-kvylbcSF.js → external-link-BTHyQJWk.js} +1 -1
- package/dist/web/assets/{folder-C_KPQmg6.js → folder-CX6zAF9w.js} +1 -1
- package/dist/web/assets/{index-DI8ZWdWH.js → index-B5mUEr6D.js} +3 -3
- package/dist/web/assets/{index-D11FYWsc.js → index-FdbcPJSj.js} +56 -56
- package/dist/web/assets/index-zY4JU9fd.css +1 -0
- package/dist/web/assets/{pause-hCE9Bvm9.js → pause-qlDcCjBJ.js} +1 -1
- package/dist/web/assets/{play-BpCmIsMH.js → play-BGPTTFWa.js} +1 -1
- package/dist/web/assets/session-events-Ci1823tS.js +22 -0
- package/dist/web/assets/{teamService-7LNlaq8e.js → teamService-Bk8B4hZp.js} +1 -1
- package/dist/web/assets/{vendor-radix-DXRuAJHH.js → vendor-radix-Bc1_Q9tz.js} +1 -1
- package/dist/web/assets/{vendor-react-DG5dkZ_t.js → vendor-react-DofNRwfy.js} +1 -1
- package/dist/web/index.html +5 -5
- package/package.json +1 -1
- package/dist/chunk-fc7dbcad.js +0 -1
- package/dist/chunk-h9ww5k16.js +0 -1
- package/dist/chunk-k3crvmvt.js +0 -8
- package/dist/web/assets/FilePreview-DiS4nCrp.js +0 -54
- package/dist/web/assets/index-C8M-7zAh.css +0 -1
- package/dist/web/assets/session-events-qDVUI3Ca.js +0 -22
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DI8ZWdWH.js","assets/vendor-react-DG5dkZ_t.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{c as J,k as R,a4 as Ce,an as hr,t as We,L as ke,V as M,S as pr,z as _t,R as Ut,B as mr,O as Bt,u as Z,a0 as at,o as qt,p as Ot,F as Ht,ao as xr,b as wt,a as ve,s as Ee,ap as tt,m as vr,X as br,y as kr,_ as gr}from"./index-D11FYWsc.js";import{r as o,j as e}from"./vendor-react-DG5dkZ_t.js";import{A as wr,C as yr}from"./chevrons-up-down-DgOF3xz6.js";import{A as jr,E as yt}from"./external-link-kvylbcSF.js";import{A as Nr}from"./arrow-left-n3ENbaSb.js";import{A as Sr,F as Cr}from"./folder-C_KPQmg6.js";import"./vendor-radix-DXRuAJHH.js";import"./session-events-qDVUI3Ca.js";/**
|
|
3
|
-
* @license lucide-react v0.300.0 - ISC
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the ISC license.
|
|
6
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/const Er=J("AppWindow",[["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}],["path",{d:"M10 4v4",key:"pp8u80"}],["path",{d:"M2 8h20",key:"d11cs7"}],["path",{d:"M6 4v4",key:"1svtjw"}]]);/**
|
|
8
|
-
* @license lucide-react v0.300.0 - ISC
|
|
9
|
-
*
|
|
10
|
-
* This source code is licensed under the ISC license.
|
|
11
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
12
|
-
*/const Tr=J("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/**
|
|
13
|
-
* @license lucide-react v0.300.0 - ISC
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the ISC license.
|
|
16
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/const Lr=J("ChevronsDownUp",[["path",{d:"m7 20 5-5 5 5",key:"13a0gw"}],["path",{d:"m7 4 5 5 5-5",key:"1kwcof"}]]);/**
|
|
18
|
-
* @license lucide-react v0.300.0 - ISC
|
|
19
|
-
*
|
|
20
|
-
* This source code is licensed under the ISC license.
|
|
21
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
22
|
-
*/const $e=J("FileCode",[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["path",{d:"m10 13-2 2 2 2",key:"17smn8"}],["path",{d:"m14 17 2-2-2-2",key:"14mezr"}]]);/**
|
|
23
|
-
* @license lucide-react v0.300.0 - ISC
|
|
24
|
-
*
|
|
25
|
-
* This source code is licensed under the ISC license.
|
|
26
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
27
|
-
*/const Dr=J("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]]);/**
|
|
28
|
-
* @license lucide-react v0.300.0 - ISC
|
|
29
|
-
*
|
|
30
|
-
* This source code is licensed under the ISC license.
|
|
31
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
32
|
-
*/const jt=J("MonitorUp",[["path",{d:"m9 10 3-3 3 3",key:"11gsxs"}],["path",{d:"M12 13V7",key:"h0r20n"}],["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}]]);/**
|
|
33
|
-
* @license lucide-react v0.300.0 - ISC
|
|
34
|
-
*
|
|
35
|
-
* This source code is licensed under the ISC license.
|
|
36
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
37
|
-
*/const Pr=J("MousePointer2",[["path",{d:"m4 4 7.07 17 2.51-7.39L21 11.07z",key:"1vqm48"}]]);/**
|
|
38
|
-
* @license lucide-react v0.300.0 - ISC
|
|
39
|
-
*
|
|
40
|
-
* This source code is licensed under the ISC license.
|
|
41
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
42
|
-
*/const Ir=J("TerminalSquare",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/**
|
|
43
|
-
* @license lucide-react v0.300.0 - ISC
|
|
44
|
-
*
|
|
45
|
-
* This source code is licensed under the ISC license.
|
|
46
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
47
|
-
*/const Rr=J("Wifi",[["path",{d:"M5 13a10 10 0 0 1 14 0",key:"6v8j51"}],["path",{d:"M8.5 16.5a5 5 0 0 1 7 0",key:"sej527"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["line",{x1:"12",x2:"12.01",y1:"20",y2:"20",key:"of4bc4"}]]),Gt=o.createContext(null);function Vt(t){const n=o.useContext(Gt);if(!n)throw new Error(`${t} must be used within <Tabs>`);return n}function Fr({value:t,onValueChange:n,className:r,children:s}){const i=o.useMemo(()=>({value:t,setValue:n}),[t,n]);return e.jsx(Gt.Provider,{value:i,children:e.jsx("div",{className:r,children:s})})}function Ar({className:t,children:n}){return e.jsx("div",{role:"tablist",className:R("inline-flex items-center",t),children:n})}function Re({value:t,className:n,children:r}){const{value:s,setValue:i}=Vt("TabsTrigger"),c=s===t;return e.jsx("button",{type:"button",role:"tab","aria-selected":c,"data-state":c?"active":"inactive",onClick:()=>i(t),className:R("inline-flex items-center justify-center whitespace-nowrap rounded-sm transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--deck-accent))]",n),children:r})}function Fe({value:t,className:n,children:r,forceMount:s=!1}){const{value:i}=Vt("TabsContent"),c=i===t;return!c&&!s?null:e.jsx("div",{role:"tabpanel",hidden:!c,className:n,children:r})}const $r={"ayu-dark":{background:{primary:"#0f1419",secondary:"#14191f"},text:{primary:"#e6e1cf",secondary:"#bae67e",muted:"#5c6773"},border:{light:"#2d323b"},syntax:{comment:"#5c6773",string:"#bae67e",number:"#ffcc66",keyword:"#ff8f40",function:"#73d0ff",variable:"#e6e1cf",operator:"#f29e74",type:"#73d0ff",tag:"#ff8f40",attr:"#ffd580",default:"#e6e1cf"}},dracula:{background:{primary:"#282a36",secondary:"#44475a"},text:{primary:"#f8f8f2",secondary:"#f1fa8c",muted:"#6272a4"},border:{light:"#44475a"},syntax:{comment:"#6272a4",string:"#f1fa8c",number:"#bd93f9",keyword:"#ff79c6",function:"#50fa7b",variable:"#f8f8f2",operator:"#ff79c6",type:"#8be9fd",tag:"#ff79c6",attr:"#50fa7b",default:"#f8f8f2"}},monokai:{background:{primary:"#272822",secondary:"#3e3d32"},text:{primary:"#f8f8f2",secondary:"#e6db74",muted:"#75715e"},border:{light:"#3e3d32"},syntax:{comment:"#75715e",string:"#e6db74",number:"#ae81ff",keyword:"#f92672",function:"#a6e22e",variable:"#f8f8f2",operator:"#f92672",type:"#66d9ef",tag:"#f92672",attr:"#a6e22e",default:"#f8f8f2"}},nord:{background:{primary:"#2e3440",secondary:"#3b4252"},text:{primary:"#eceff4",secondary:"#d8dee9",muted:"#4c566a"},border:{light:"#434c5e"},syntax:{comment:"#616e88",string:"#a3be8c",number:"#b48ead",keyword:"#81a1c1",function:"#88c0d0",variable:"#d8dee9",operator:"#81a1c1",type:"#8fbcbb",tag:"#81a1c1",attr:"#8fbcbb",default:"#eceff4"}},"solarized-light":{background:{primary:"#fdf6e3",secondary:"#eee8d5"},text:{primary:"#586e75",secondary:"#657b83",muted:"#93a1a1"},border:{light:"#eee8d5"},syntax:{comment:"#93a1a1",string:"#2aa198",number:"#d33682",keyword:"#859900",function:"#268bd2",variable:"#657b83",operator:"#859900",type:"#b58900",tag:"#268bd2",attr:"#93a1a1",default:"#657b83"}},"solarized-dark":{background:{primary:"#002b36",secondary:"#073642"},text:{primary:"#839496",secondary:"#93a1a1",muted:"#586e75"},border:{light:"#073642"},syntax:{comment:"#586e75",string:"#2aa198",number:"#d33682",keyword:"#859900",function:"#268bd2",variable:"#839496",operator:"#859900",type:"#b58900",tag:"#268bd2",attr:"#93a1a1",default:"#839496"}},"tokyo-night":{background:{primary:"#1a1b26",secondary:"#292e42"},text:{primary:"#a9b1d6",secondary:"#c0caf5",muted:"#565f89"},border:{light:"#292e42"},syntax:{comment:"#565f89",string:"#9ece6a",number:"#ff9e64",keyword:"#bb9af7",function:"#7aa2f7",variable:"#c0caf5",operator:"#89ddff",type:"#7dcfff",tag:"#f7768e",attr:"#7aa2f7",default:"#a9b1d6"}},github:{background:{primary:"#ffffff",secondary:"#f6f8fa"},text:{primary:"#24292f",secondary:"#57606a",muted:"#6e7781"},border:{light:"#d0d7de"},syntax:{comment:"#6e7781",string:"#0a3069",number:"#0550ae",keyword:"#cf222e",function:"#8250df",variable:"#24292f",operator:"#cf222e",type:"#0550ae",tag:"#116329",attr:"#0550ae",default:"#24292f"}},gruvbox:{background:{primary:"#282828",secondary:"#3c3836"},text:{primary:"#ebdbb2",secondary:"#d5c4a1",muted:"#928374"},border:{light:"#3c3836"},syntax:{comment:"#928374",string:"#b8bb26",number:"#d3869b",keyword:"#fb4934",function:"#b8bb26",variable:"#ebdbb2",operator:"#fe8019",type:"#fabd2f",tag:"#fb4934",attr:"#fabd2f",default:"#ebdbb2"}},"one-dark":{background:{primary:"#282c34",secondary:"#21252b"},text:{primary:"#abb2bf",secondary:"#e5c07b",muted:"#5c6370"},border:{light:"#3e4451"},syntax:{comment:"#5c6370",string:"#98c379",number:"#d19a66",keyword:"#c678dd",function:"#61afef",variable:"#e06c75",operator:"#56b6c2",type:"#e5c07b",tag:"#e06c75",attr:"#d19a66",default:"#abb2bf"}},catppuccin:{background:{primary:"#1e1e2e",secondary:"#313244"},text:{primary:"#cdd6f4",secondary:"#f5e0dc",muted:"#6c7086"},border:{light:"#313244"},syntax:{comment:"#6c7086",string:"#a6e3a1",number:"#fab387",keyword:"#cba6f7",function:"#89b4fa",variable:"#f5e0dc",operator:"#89dceb",type:"#f9e2af",tag:"#f38ba8",attr:"#f9e2af",default:"#cdd6f4"}},"rose-pine":{background:{primary:"#191724",secondary:"#1f1d2e"},text:{primary:"#e0def4",secondary:"#908caa",muted:"#6e6a86"},border:{light:"#26233a"},syntax:{comment:"#6e6a86",string:"#f6c177",number:"#ebbcba",keyword:"#c4a7e7",function:"#9ccfd8",variable:"#e0def4",operator:"#31748f",type:"#eb6f92",tag:"#eb6f92",attr:"#c4a7e7",default:"#e0def4"}},kanagawa:{background:{primary:"#1f1f28",secondary:"#2a2a37"},text:{primary:"#dcd7ba",secondary:"#c8c093",muted:"#727169"},border:{light:"#2a2a37"},syntax:{comment:"#727169",string:"#98bb6c",number:"#d27e99",keyword:"#957fb8",function:"#7e9cd8",variable:"#dcd7ba",operator:"#c0a36e",type:"#7aa89f",tag:"#e46876",attr:"#ffa066",default:"#dcd7ba"}}};function Mr(t){const n=t.replace("#",""),r=parseInt(n.substring(0,2),16),s=parseInt(n.substring(2,4),16),i=parseInt(n.substring(4,6),16);return(.299*r+.587*s+.114*i)/255<.5}function Wr(t){return{base:Mr(t.background.primary)?"vs-dark":"vs",inherit:!0,rules:[{token:"",foreground:t.text.primary.replace("#",""),background:t.background.primary.replace("#","")},{token:"comment",foreground:t.syntax.comment.replace("#",""),fontStyle:"italic"},{token:"string",foreground:t.syntax.string.replace("#","")},{token:"number",foreground:t.syntax.number.replace("#","")},{token:"keyword",foreground:t.syntax.keyword.replace("#","")},{token:"type",foreground:t.syntax.type.replace("#","")},{token:"identifier",foreground:t.syntax.variable.replace("#","")},{token:"function",foreground:t.syntax.function.replace("#","")},{token:"variable",foreground:t.syntax.variable.replace("#","")},{token:"operator",foreground:t.syntax.operator.replace("#","")},{token:"delimiter",foreground:t.syntax.operator.replace("#","")},{token:"tag",foreground:t.syntax.tag.replace("#","")},{token:"attribute.name",foreground:t.syntax.attr.replace("#","")},{token:"attribute.value",foreground:t.syntax.string.replace("#","")}],colors:{"editor.background":t.background.primary,"editor.foreground":t.text.primary,"editor.lineHighlightBackground":t.background.secondary,"editor.selectionBackground":`${t.syntax.function}40`,"editorLineNumber.foreground":t.text.muted,"editorLineNumber.activeForeground":t.text.secondary,"editorCursor.foreground":t.text.primary,"editorIndentGuide.background":t.border.light,"editorWidget.background":t.background.secondary,"editorWidget.border":t.border.light,"scrollbarSlider.background":`${t.text.muted}40`,"scrollbarSlider.hoverBackground":`${t.text.muted}60`}}}const Nt=new Set;function St(t,n){const r=n.toLowerCase().replace(/\s+/g,"-"),s=$r[r];if(!s)return"vs-dark";if(!Nt.has(r)){const i=Wr(s);t.editor.defineTheme(r,i),Nt.add(r)}return r}function me(t,n,r={}){const s=hr.parse(t),i=new URLSearchParams({projectPath:s.projectPath});for(const[c,m]of Object.entries(r))m!==void 0&&i.set(c,String(m));return`/sessions/${encodeURIComponent(s.sessionId)}/browser/${n}?${i.toString()}`}const Y={navigate:async(t,n)=>Ce(me(t,"navigate"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),snapshot:async(t,n={})=>Ce(me(t,"snapshot",n)),interact:async(t,n)=>Ce(me(t,"interact"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),inspect:async(t,n)=>Ce(me(t,"inspect",n)),screenshot:async(t,n={})=>{var s;const r=await fetch(me(t,"inspect",{...n,target:"screenshot"}));if(!r.ok){const i=await r.json().catch(()=>{});throw new Error(((s=i==null?void 0:i.error)==null?void 0:s.message)||"Failed to capture browser image")}return r.blob()},reset:async t=>{await Ce(me(t,"reset"),{method:"POST"})}},zr={en:{frameTitle:"Project preview",empty:"No preview open",loading:"Loading preview…"},zh:{frameTitle:"项目预览",empty:"未打开项目预览",loading:"正在加载预览…"}};function _r({url:t,revision:n,loadState:r,onLoad:s,onError:i}){const{locale:c}=We(),m=zr[c];return e.jsx("section",{"data-preview-browser":!0,className:"relative h-full min-h-0 overflow-hidden bg-white",children:t?e.jsxs(e.Fragment,{children:[e.jsx("iframe",{"data-preview-browser-frame":!0,src:t,title:m.frameTitle,sandbox:"allow-downloads allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts",referrerPolicy:"no-referrer",onLoad:s,onError:i,className:"block h-full w-full border-0 bg-white"},`${t}:${n}`),r==="loading"&&e.jsxs("div",{className:"pointer-events-none absolute inset-x-0 top-0 flex h-8 items-center justify-center border-b border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas)/0.92)] backdrop-blur-sm",children:[e.jsx(ke,{className:"mr-2 h-3.5 w-3.5 animate-spin text-[hsl(var(--deck-accent))]"}),e.jsx("span",{className:"font-mono text-[10.5px] text-[hsl(var(--deck-ink-muted))]",children:m.loading})]})]}):e.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 bg-[hsl(var(--deck-canvas-veil))] text-center",children:[e.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-faint))]",children:e.jsx($e,{className:"h-5 w-5"})}),e.jsx("span",{className:"font-mono text-[11px] text-[hsl(var(--deck-ink-muted))]",children:m.empty})]})})}const Ur={en:{unavailable:"No active Session",empty:"No Test page",screenshotAlt:"Chromium page",selectedRef:"Selected ref",noRef:"No ref selected",valuePlaceholder:"Input value",click:"Click selected element",fill:"Fill selected control",scrollUp:"Scroll up",scrollDown:"Scroll down",snapshot:"Refresh snapshot",reset:"Reset Test browser",dom:"DOM",console:"Console",network:"Network",errors:"Errors",noEntries:"No entries"},zh:{unavailable:"没有活动 Session",empty:"未打开测试页面",screenshotAlt:"Chromium 页面",selectedRef:"已选 ref",noRef:"未选择 ref",valuePlaceholder:"输入内容",click:"点击已选元素",fill:"填入已选控件",scrollUp:"向上滚动",scrollDown:"向下滚动",snapshot:"刷新快照",reset:"重置测试浏览器",dom:"DOM",console:"控制台",network:"网络",errors:"错误",noEntries:"暂无记录"}};function Br(t){return t.split(`
|
|
48
|
-
`).map(n=>{var r;return{text:n,ref:(r=n.match(/\[ref=([a-z][a-z0-9]*)\]/))==null?void 0:r[1]}})}function qr(t){return[t.kind,t.level,t.method,t.status,t.url,t.text].filter(n=>n!==void 0&&n!=="").join(" · ")}function Or({sessionAvailable:t,observation:n,screenshotUrl:r,busy:s,error:i,diagnostics:c,diagnosticsLoading:m,onInteract:d,onInspect:g,onSnapshot:p,onReset:w}){const{locale:x}=We(),u=Ur[x],[N,f]=o.useState(null),[k,l]=o.useState(""),[E,P]=o.useState("dom"),W=o.useMemo(()=>Br((n==null?void 0:n.snapshot)??""),[n==null?void 0:n.snapshot]),$=E==="dom"?[]:c[E]??[];o.useEffect(()=>{f(null)},[n==null?void 0:n.snapshotId]);const A=j=>{P(j),j!=="dom"&&g(j)};return e.jsxs("section",{"data-browser-test":!0,"data-browser-snapshot-id":n==null?void 0:n.snapshotId,className:"flex h-full min-h-0 flex-col bg-[hsl(var(--deck-canvas))]",children:[e.jsxs("div",{className:"relative flex min-h-0 flex-1 items-center justify-center overflow-hidden bg-neutral-950",children:[r?e.jsx("img",{"data-browser-test-screenshot":!0,src:r,alt:u.screenshotAlt,className:"h-full w-full object-contain"}):e.jsxs("div",{className:"flex flex-col items-center gap-3 text-[hsl(var(--deck-ink-faint))]",children:[e.jsx(Er,{className:"h-7 w-7"}),e.jsx("span",{className:"font-mono text-[11px]",children:t?u.empty:u.unavailable})]}),s&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/35",children:e.jsx(ke,{className:"h-5 w-5 animate-spin text-white"})}),i&&e.jsx("div",{role:"alert",className:"absolute inset-x-0 bottom-0 border-t border-red-500/30 bg-red-950/90 px-3 py-2 font-mono text-[10.5px] text-red-200",children:i})]}),e.jsxs("div",{className:"flex h-10 shrink-0 items-center gap-1 border-y border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] px-2",children:[e.jsx("span",{title:N?`${u.selectedRef}: ${N}`:u.noRef,className:"w-20 shrink-0 truncate font-mono text-[10px] text-[hsl(var(--deck-ink-muted))]",children:N??"ref"}),e.jsx(M,{type:"button",variant:"ghost",size:"icon",disabled:!N||s,title:u.click,"aria-label":u.click,onClick:()=>{N&&d({kind:"click"},N)},className:"h-7 w-7 rounded-md",children:e.jsx(Pr,{className:"h-3.5 w-3.5"})}),e.jsxs("div",{className:"flex h-7 min-w-0 flex-1 items-center border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-2",children:[e.jsx("input",{value:k,onChange:j=>l(j.target.value),placeholder:u.valuePlaceholder,"aria-label":u.valuePlaceholder,className:"min-w-0 flex-1 bg-transparent font-mono text-[10.5px] outline-none"}),e.jsx(M,{type:"button",variant:"ghost",size:"icon",disabled:!N||!k||s,title:u.fill,"aria-label":u.fill,onClick:()=>{N&&d({kind:"fill",value:k},N)},className:"h-6 w-6 rounded-md",children:e.jsx(pr,{className:"h-3 w-3"})})]}),e.jsx(M,{type:"button",variant:"ghost",size:"icon",disabled:!n||s,title:u.scrollUp,"aria-label":u.scrollUp,onClick:()=>void d({kind:"scroll",direction:"up",amount:560}),className:"h-7 w-7 rounded-md",children:e.jsx(Tr,{className:"h-3.5 w-3.5"})}),e.jsx(M,{type:"button",variant:"ghost",size:"icon",disabled:!n||s,title:u.scrollDown,"aria-label":u.scrollDown,onClick:()=>void d({kind:"scroll",direction:"down",amount:560}),className:"h-7 w-7 rounded-md",children:e.jsx(wr,{className:"h-3.5 w-3.5"})}),e.jsx(M,{type:"button",variant:"ghost",size:"icon",disabled:!n||s,title:u.snapshot,"aria-label":u.snapshot,onClick:()=>void p(),className:"h-7 w-7 rounded-md",children:e.jsx(_t,{className:"h-3.5 w-3.5"})}),e.jsx(M,{type:"button",variant:"ghost",size:"icon",disabled:!t||s,title:u.reset,"aria-label":u.reset,onClick:()=>{f(null),w()},className:"h-7 w-7 rounded-md",children:e.jsx(Ut,{className:"h-3.5 w-3.5"})})]}),e.jsxs("div",{className:"flex h-[38%] min-h-32 shrink-0 flex-col overflow-hidden",children:[e.jsx("div",{role:"tablist",className:"grid h-8 shrink-0 grid-cols-4 border-b border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]",children:[["dom",u.dom,mr],["console",u.console,Ir],["network",u.network,Rr],["page-errors",u.errors,jr]].map(([j,D,B])=>e.jsxs("button",{type:"button",role:"tab","aria-selected":E===j,onClick:()=>A(j),className:R("flex min-w-0 items-center justify-center gap-1 border-r border-[hsl(var(--deck-border))] px-1 font-mono text-[10px] text-[hsl(var(--deck-ink-muted))] last:border-r-0",E===j&&"bg-[hsl(var(--deck-canvas-veil))] text-[hsl(var(--deck-ink))]"),children:[e.jsx(B,{className:"h-3 w-3 shrink-0"}),e.jsx("span",{className:"truncate",children:D})]},j))}),e.jsx("div",{className:"min-h-0 flex-1 overflow-auto bg-[hsl(var(--deck-canvas-veil))] p-2 font-mono text-[10px] leading-5 text-[hsl(var(--deck-ink-muted))]",children:E==="dom"?W.length>0?W.map((j,D)=>j.ref?e.jsx("button",{type:"button","data-browser-ref":j.ref,onClick:()=>f(j.ref??null),className:R("block w-full whitespace-pre-wrap px-1 text-left hover:bg-[hsl(var(--deck-accent)/0.08)]",N===j.ref&&"bg-[hsl(var(--deck-accent)/0.12)] text-[hsl(var(--deck-ink))]"),children:j.text},`${j.ref}:${D}`):e.jsx("div",{className:"whitespace-pre-wrap px-1",children:j.text},`${j.text}:${D}`)):e.jsx("div",{className:"flex h-full items-center justify-center",children:u.noEntries}):m===E?e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(ke,{className:"h-4 w-4 animate-spin"})}):$.length>0?$.map(j=>e.jsx("div",{className:"border-b border-[hsl(var(--deck-border))] px-1 py-1 last:border-b-0",children:qr(j)},j.sequence)):e.jsx("div",{className:"flex h-full items-center justify-center",children:u.noEntries})})]})]})}const Hr="http://localhost:3000",Gr=2048,Vr=/^(?:localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|10(?:\.\d{1,3}){3}|192\.168(?:\.\d{1,3}){2}|172\.(?:1[6-9]|2\d|3[01])(?:\.\d{1,3}){2})(?::\d+)?$/i,Kr=/^[a-z\d.-]+:\d+$/i;function Kt(){return typeof window>"u"?void 0:window.location.origin}function nt(t,n=Kt(),r=!1){const s=t.trim();if(!s)return{ok:!1,reason:"empty"};if(s.length>Gr)return{ok:!1,reason:"invalid"};let i=s;const c=i.split(/[/?#]/,1)[0]??"";Vr.test(c)||Kr.test(c)?i=`http://${i}`:i.startsWith("//")?i=`https:${i}`:/^[a-z][a-z\d+.-]*:/i.test(i)||(i=`https://${i}`);let m;try{m=new URL(i)}catch{return{ok:!1,reason:"invalid"}}return m.protocol!=="http:"&&m.protocol!=="https:"?{ok:!1,reason:"protocol"}:m.username||m.password?{ok:!1,reason:"credentials"}:r&&n&&m.origin===n?{ok:!1,reason:"same_origin"}:{ok:!0,url:m.href}}function Jr(t,n=Kt()){return nt(t,n,!0)}function Qr(t,n){if(t.entries[t.index]===n)return t;const r=[...t.entries.slice(0,t.index+1),n].slice(-50);return{entries:r,index:r.length-1}}const Xr={en:{modeAria:"Browser mode",preview:"Preview",test:"Test",external:"External",noSession:"No active Session",snapshotRefreshed:"The page changed. Snapshot refreshed; select the element again.",toolbarAria:"Browser navigation",addressAria:"Browser address",addressPlaceholder:"Enter an HTTP or HTTPS URL",back:"Go back",forward:"Go forward",reload:"Reload page",go:"Open address",openExternal:"Open in system browser",externalEmpty:"No external page selected",status:{idle:"Idle",loading:"Loading…",ready:"Ready",error:"Failed"},error:{empty:"Enter a URL.",invalid:"Enter a valid URL.",protocol:"Only HTTP and HTTPS URLs are supported.",credentials:"URLs containing credentials are not allowed.",same_origin:"The Blade Web origin cannot be embedded in itself."}},zh:{modeAria:"浏览器模式",preview:"预览",test:"测试",external:"外部",noSession:"没有活动 Session",snapshotRefreshed:"页面已变化,快照已刷新,请重新选择元素。",toolbarAria:"浏览器导航",addressAria:"浏览器地址",addressPlaceholder:"输入 HTTP 或 HTTPS 地址",back:"后退",forward:"前进",reload:"刷新页面",go:"打开地址",openExternal:"在系统浏览器中打开",externalEmpty:"未选择外部页面",status:{idle:"空闲",loading:"正在加载…",ready:"就绪",error:"失败"},error:{empty:"请输入地址。",invalid:"请输入有效地址。",protocol:"仅支持 HTTP 与 HTTPS 地址。",credentials:"不允许使用包含凭据的地址。",same_origin:"不能在面板中嵌套 Blade Web 自身地址。"}}};function Yr({sessionRef:t=null}){const{locale:n}=We(),r=Xr[n],[s,i]=o.useState("preview"),[c,m]=o.useState(Hr),[d,g]=o.useState({entries:[],index:-1}),p=o.useRef(d),[w,x]=o.useState(0),[u,N]=o.useState("idle"),[f,k]=o.useState(null),[l,E]=o.useState(null),[P,W]=o.useState(null),[$,A]=o.useState(!1),[j,D]=o.useState(null),[B,oe]=o.useState(null),[ze,ee]=o.useState({}),[_e,ge]=o.useState(null),T=o.useRef(0),te=o.useRef(null),q=d.entries[d.index]??null,_=s==="preview"?q:s==="test"?(l==null?void 0:l.url)??null:B,ie=o.useMemo(()=>{if(!_)return"";try{return new URL(_).host}catch{return""}},[_]),U=s==="preview"?u:s==="test"?$?"loading":j?"error":l?"ready":"idle":B?"ready":"idle",O=f!==null?r.error[f]:s==="test"?j:null,re=b=>{te.current&&URL.revokeObjectURL(te.current),te.current=b,W(b)};o.useEffect(()=>{const b=T.current+1;return T.current=b,E(null),D(null),ee({}),re(null),()=>{T.current===b&&(T.current+=1)}},[t==null?void 0:t.projectPath,t==null?void 0:t.sessionId]),o.useEffect(()=>()=>{te.current&&URL.revokeObjectURL(te.current)},[]);const ce=async(b,v,S)=>{const F=await Y.screenshot(b,{pageId:v.pageId,expectedOrigin:v.origin});T.current===S&&re(URL.createObjectURL(F))},H=async(b,v,S)=>{T.current===S&&(E(v),m(v.url),ee({}),await ce(b,v,S))},we=async b=>{if(!t){D(r.noSession);return}const v=T.current;A(!0),D(null);try{const S=await Y.navigate(t,b);await H(t,S,v)}catch(S){T.current===v&&D(S instanceof Error?S.message:String(S))}finally{T.current===v&&A(!1)}},le=b=>{const v=Qr(p.current,b);p.current=v,g(v),m(b),N("loading")},Ue=b=>{b.preventDefault();const v=s==="preview"?Jr(c):nt(c);if(!v.ok){k(v.reason);return}if(k(null),s==="preview"){v.url===q&&x(S=>S+1),le(v.url);return}if(s==="test"){we({action:"goto",url:v.url});return}oe(v.url),m(v.url),window.open(v.url,"_blank","noopener,noreferrer")},ne=b=>{const v=p.current.index+b,S=p.current.entries[v];if(!S)return;const F={...p.current,index:v};p.current=F,g(F),m(S),N("loading")},ye=b=>{if(s==="preview"){b==="back"?ne(-1):b==="forward"?ne(1):q&&(N("loading"),x(v=>v+1));return}s==="test"&&l&&we({action:b,pageId:l.pageId,expectedOrigin:l.origin})},Be=b=>{i(b),k(null),D(null);const v=b==="preview"?q:b==="test"?l==null?void 0:l.url:B;v&&m(v)},je=async(b,v)=>{if(!t||!l)return;const S=l,F=T.current;A(!0),D(null);try{const z=await Y.interact(t,{pageId:S.pageId,snapshotId:S.snapshotId,expectedOrigin:S.origin,...v?{ref:v}:{},action:b});if(z.outcome==="applied")await H(t,z.observation,F);else if(z.outcome==="applied_observation_failed"){const Q=await Y.snapshot(t,{pageId:z.pageId});await H(t,Q,F)}else D(z.errorCode)}catch(z){if(T.current===F){const Q=z instanceof Error?z.message:String(z);if(/snapshot is stale/i.test(Q))try{const V=await Y.snapshot(t,{pageId:S.pageId});await H(t,V,F),T.current===F&&D(r.snapshotRefreshed)}catch(V){T.current===F&&D(V instanceof Error?V.message:String(V))}else D(Q)}}finally{T.current===F&&A(!1)}},de=async()=>{if(!t||!l)return;const b=T.current;A(!0),D(null);try{const v=await Y.snapshot(t,{pageId:l.pageId});await H(t,v,b)}catch(v){T.current===b&&D(v instanceof Error?v.message:String(v))}finally{T.current===b&&A(!1)}},qe=async b=>{if(!t||!l)return;const v=T.current;ge(b);try{const S=await Y.inspect(t,{target:b,pageId:l.pageId,expectedOrigin:l.origin});T.current===v&&ee(F=>({...F,[b]:S.entries??[]}))}catch(S){T.current===v&&D(S instanceof Error?S.message:String(S))}finally{T.current===v&&ge(null)}},Ne=async()=>{if(!t)return;const b=T.current;A(!0),D(null);try{await Y.reset(t),T.current===b&&(E(null),ee({}),re(null))}catch(v){T.current===b&&D(v instanceof Error?v.message:String(v))}finally{T.current===b&&A(!1)}},Te=()=>{const v=nt(_??c);if(!v.ok){k(v.reason);return}oe(v.url),window.open(v.url,"_blank","noopener,noreferrer")},ue=s==="preview"?d.index>0:s==="test"&&!!l,G=s==="preview"?d.index>=0&&d.index<d.entries.length-1:s==="test"&&!!l;return e.jsxs("section",{"data-browser-panel":!0,"data-browser-mode":s,"data-browser-history-count":d.entries.length,"data-browser-history-index":d.index,className:"flex h-full min-h-0 flex-col bg-[hsl(var(--deck-canvas))]",children:[e.jsx("div",{role:"tablist","aria-label":r.modeAria,className:"grid h-9 shrink-0 grid-cols-3 border-b border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]",children:[["preview",r.preview,$e],["test",r.test,Dr],["external",r.external,jt]].map(([b,v,S])=>e.jsxs("button",{type:"button",role:"tab","aria-selected":s===b,onClick:()=>Be(b),className:R("flex min-w-0 items-center justify-center gap-1.5 border-r border-[hsl(var(--deck-border))] px-2 font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] last:border-r-0",s===b&&"bg-[hsl(var(--deck-canvas-veil))] text-[hsl(var(--deck-ink))]"),children:[e.jsx(S,{className:"h-3.5 w-3.5 shrink-0"}),e.jsx("span",{className:"truncate",children:v})]},b))}),e.jsxs("form",{"aria-label":r.toolbarAria,onSubmit:Ue,className:"flex h-12 shrink-0 items-center gap-1 border-b border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] px-2",children:[e.jsx(M,{type:"button",variant:"ghost",size:"icon",disabled:!ue||s==="test"&&$,"aria-label":r.back,title:r.back,onClick:()=>ye("back"),className:"h-8 w-8 rounded-md text-[hsl(var(--deck-ink-muted))]",children:e.jsx(Nr,{className:"h-4 w-4"})}),e.jsx(M,{type:"button",variant:"ghost",size:"icon",disabled:!G||s==="test"&&$,"aria-label":r.forward,title:r.forward,onClick:()=>ye("forward"),className:"h-8 w-8 rounded-md text-[hsl(var(--deck-ink-muted))]",children:e.jsx(Sr,{className:"h-4 w-4"})}),e.jsx(M,{type:"button",variant:"ghost",size:"icon",disabled:s==="external"||!_||s==="test"&&$,"aria-label":r.reload,title:r.reload,onClick:()=>ye("reload"),className:"h-8 w-8 rounded-md text-[hsl(var(--deck-ink-muted))]",children:e.jsx(_t,{className:R("h-4 w-4",U==="loading"&&"animate-spin")})}),e.jsxs("div",{className:R("flex h-8 min-w-0 flex-1 items-center gap-2 rounded-md border bg-[hsl(var(--deck-canvas))] px-2",O?"border-red-500/70":"border-[hsl(var(--deck-border))] focus-within:border-[hsl(var(--deck-accent)/0.65)]"),children:[e.jsx($e,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-ink-faint))]"}),e.jsx("input",{"data-browser-panel-address":!0,"data-preview-browser-address":s==="preview"||void 0,value:c,onChange:b=>{m(b.target.value),k(null)},onKeyDown:b=>{b.key==="Escape"&&_&&(b.preventDefault(),m(_),k(null))},"aria-label":r.addressAria,placeholder:r.addressPlaceholder,autoCapitalize:"none",autoComplete:"off",spellCheck:!1,className:"min-w-0 flex-1 bg-transparent font-mono text-[11px] text-[hsl(var(--deck-ink))] outline-none placeholder:text-[hsl(var(--deck-ink-faint))]"})]}),e.jsx(M,{type:"submit",variant:"ghost",size:"icon","aria-label":r.go,title:r.go,disabled:s==="test"&&$,className:"h-8 w-8 rounded-md text-[hsl(var(--deck-accent))]",children:U==="loading"?e.jsx(ke,{className:"h-4 w-4 animate-spin"}):e.jsx(Bt,{className:"h-4 w-4"})}),e.jsx(M,{type:"button",variant:"ghost",size:"icon",disabled:!_,"aria-label":r.openExternal,title:r.openExternal,onClick:Te,className:"h-8 w-8 rounded-md text-[hsl(var(--deck-ink-muted))]",children:e.jsx(yt,{className:"h-4 w-4"})})]}),O&&s!=="test"&&e.jsx("div",{role:"alert",className:"shrink-0 border-b border-red-500/25 bg-red-500/10 px-3 py-2 font-mono text-[10.5px] text-red-700 dark:text-red-300",children:O}),e.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:s==="preview"?e.jsx(_r,{url:q,revision:w,loadState:u,onLoad:()=>N("ready"),onError:()=>N("error")}):s==="test"?e.jsx(Or,{sessionAvailable:!!t,observation:l,screenshotUrl:P,busy:$,error:j,diagnostics:ze,diagnosticsLoading:_e,onInteract:je,onInspect:qe,onSnapshot:de,onReset:Ne}):e.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 bg-[hsl(var(--deck-canvas-veil))]",children:[e.jsx(jt,{className:"h-7 w-7 text-[hsl(var(--deck-ink-faint))]"}),e.jsx("span",{className:"font-mono text-[11px] text-[hsl(var(--deck-ink-muted))]",children:B?new URL(B).host:r.externalEmpty}),e.jsxs(M,{type:"button",variant:"outline",onClick:Te,disabled:!c.trim(),className:"h-8 rounded-md font-mono text-[11px]",children:[e.jsx(yt,{className:"mr-2 h-3.5 w-3.5"}),r.openExternal]})]})}),e.jsxs("div",{"data-browser-panel-status":U,"data-preview-browser-status":s==="preview"?U:void 0,"aria-live":"polite",className:"flex h-7 shrink-0 items-center justify-between border-t border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] px-3 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]",children:[e.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:R("h-1.5 w-1.5 shrink-0 rounded-full bg-[hsl(var(--deck-ink-faint))]",U==="loading"&&"bg-amber-500",U==="ready"&&"bg-emerald-500",U==="error"&&"bg-red-500")}),e.jsx("span",{children:r.status[U]})]}),e.jsx("span",{className:"ml-3 truncate",children:ie||r[s]})]})]})}function Me(t){return t.normalize("NFKC").toLocaleLowerCase().trim()}function Zr(t,n,r){const s=Me(n).split(/\s+/).filter(Boolean);return t.filter(i=>{if(r!=="all"&&i.status!==r)return!1;if(s.length===0)return!0;const c=Me([i.title,i.subtitle,i.content].filter(Boolean).join(" "));return s.every(m=>c.includes(m))})}function Jt(t){return t.replace(/\/+$/,"").split("/").filter(Boolean).at(-1)||t}function en(t,n){const r=Me(n).split(/\s+/).filter(Boolean);return r.length===0?t:t.filter(s=>{const i=Me([s.filePath,s.summary].filter(Boolean).join(" "));return r.every(c=>i.includes(c))})}function tn(t,n,r){return n===0?0:(t+r+n)%n}const Ct=20,Et=20,Tt=160,Lt=240;function Dt(t,n){const r=c=>c.replace(/\\/g,"/").replace(/^\.?\//,"").replace(/\/+/g,"/"),s=r(t),i=r(n);return s===i||s.endsWith(`/${i}`)||i.endsWith(`/${s}`)}function rn({diffs:t,expanded:n,targetPath:r,onToggle:s,onSetAllExpanded:i}){var f,k;const c=Z(),[m,d]=o.useState(""),g=`${m}\0${t.length}\0${((f=t[0])==null?void 0:f.filePath)??""}\0${((k=t.at(-1))==null?void 0:k.filePath)??""}`,[p,w]=o.useState({key:g,count:Ct}),x=p.key===g?p.count:Ct,u=o.useMemo(()=>en(t,m),[t,m]),N=o.useMemo(()=>{const l=u.slice(0,x);if(!r)return l;const E=u.find(P=>P.filePath&&Dt(P.filePath,r));return E&&!l.includes(E)?[...l,E]:l},[u,r,x]);return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"sticky top-0 z-10 space-y-2 bg-[hsl(var(--deck-canvas))] pb-1",children:[e.jsxs("div",{className:"flex h-8 items-center gap-2 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-2 focus-within:border-[hsl(var(--deck-accent)/0.6)]",children:[e.jsx(at,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-ink-faint))]"}),e.jsx("input",{type:"search","aria-label":c("preview.diff.searchAria"),placeholder:c("preview.diff.searchPlaceholder"),value:m,onChange:l=>d(l.target.value),className:"min-w-0 flex-1 bg-transparent font-mono text-[11px] text-[hsl(var(--deck-ink))] outline-none placeholder:text-[hsl(var(--deck-ink-faint))]"}),e.jsxs("span",{className:"font-mono text-[9px] tabular-nums text-[hsl(var(--deck-ink-faint))]",children:[u.length,"/",t.length]})]}),e.jsxs("div",{className:"flex items-center justify-between font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]",children:[e.jsx("span",{children:c("preview.diff.changedFiles",{count:t.length})}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsxs("button",{type:"button",onClick:()=>i(!0),className:"inline-flex items-center gap-1 rounded px-1.5 py-1 transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink-muted))]",children:[e.jsx(yr,{className:"h-3 w-3"}),c("preview.diff.expandAll")]}),e.jsxs("button",{type:"button",onClick:()=>i(!1),className:"inline-flex items-center gap-1 rounded px-1.5 py-1 transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink-muted))]",children:[e.jsx(Lr,{className:"h-3 w-3"}),c("preview.diff.collapseAll")]})]})]})]}),u.length===0?e.jsx("div",{className:"rounded-lg border border-dashed border-[hsl(var(--deck-border))] p-6 text-center font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:c("preview.diff.noMatches")}):N.map(l=>{const E=l.filePath||"unknown",P=t.indexOf(l),W=n[E]??P===0,$=!!(r&&Dt(E,r));return e.jsxs("div",{"data-preview-diff-path":l.filePath,className:R("overflow-hidden rounded-lg border border-[hsl(var(--deck-border))] transition-colors",$&&"border-[hsl(var(--deck-accent)/0.7)] bg-[hsl(var(--deck-accent-soft))] ring-1 ring-[hsl(var(--deck-accent)/0.2)]"),children:[e.jsxs("button",{type:"button","aria-expanded":W,onClick:()=>s(E),className:"flex w-full items-center gap-2 bg-[hsl(var(--deck-surface-2))] px-3 py-2 transition-colors hover:bg-[hsl(var(--deck-surface))] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent)/0.65)]",children:[W?e.jsx(qt,{className:"h-4 w-4 text-[hsl(var(--deck-ink-muted))]"}):e.jsx(Ot,{className:"h-4 w-4 text-[hsl(var(--deck-ink-muted))]"}),e.jsx(Ht,{className:"h-4 w-4 text-[hsl(var(--deck-ink-muted))]"}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-left font-mono text-[13px] text-[hsl(var(--deck-ink))]",children:Jt(E)}),l.summary&&e.jsx("span",{className:"shrink-0 font-mono text-[11px] text-[hsl(var(--deck-ink-muted))]",children:l.summary})]}),W&&e.jsxs("div",{className:"border-t border-[hsl(var(--deck-border))]",children:[e.jsx("div",{className:"truncate px-3 py-1 font-mono text-[11px] text-[hsl(var(--deck-ink-faint))]",children:l.filePath}),e.jsx(nn,{diff:l.diff})]})]},E)}),x<u.length&&e.jsx("div",{className:"flex justify-center pt-1",children:e.jsx("button",{type:"button",onClick:()=>w({key:g,count:Math.min(u.length,x+Et)}),className:"rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 py-1.5 font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]",children:c("preview.diff.showMoreFiles",{count:Math.min(Et,u.length-x)})})})]})}function nn({diff:t}){const n=Z(),r=o.useMemo(()=>t.patch.split(`
|
|
49
|
-
`),[t.patch]),[s,i]=o.useState({patch:t.patch,count:Tt}),c=s.patch===t.patch?s.count:Tt,m=r.slice(0,c);let d=0,g=0;return e.jsxs("div",{className:"overflow-hidden rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] px-3 py-2 font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:[e.jsx("span",{children:n("preview.diff.patch")}),t.matchLine&&e.jsx("span",{children:n("preview.diff.line",{line:t.matchLine})})]}),e.jsx("div",{className:"overflow-x-auto font-mono text-[12px]",children:m.map((p,w)=>{if(p.startsWith("@@")){const x=/@@ -(?<old>\d+),?(?<oldCount>\d*) \+(?<new>\d+),?(?<newCount>\d*) @@/.exec(p);return x!=null&&x.groups&&(d=Number.parseInt(x.groups.old,10),g=Number.parseInt(x.groups.new,10)),e.jsx(xe,{line:p},`${p}-${w}`)}if(p.startsWith("---")||p.startsWith("+++")||p.startsWith("Index:")||p.startsWith("==="))return e.jsx(xe,{line:p},`${p}-${w}`);if(p.startsWith("+")){const x=g++;return e.jsx(xe,{line:p,oldLine:null,newLine:x},`${p}-${w}`)}if(p.startsWith("-")){const x=d++;return e.jsx(xe,{line:p,oldLine:x,newLine:null},`${p}-${w}`)}return p.startsWith(" ")?e.jsx(xe,{line:p,oldLine:d++,newLine:g++},`${p}-${w}`):e.jsx(xe,{line:p},`${p}-${w}`)})}),c<r.length&&e.jsx("div",{className:"flex justify-center border-t border-[hsl(var(--deck-border))] p-2",children:e.jsx("button",{type:"button",onClick:()=>i({patch:t.patch,count:Math.min(r.length,c+Lt)}),className:"rounded-md border border-[hsl(var(--deck-border))] px-3 py-1 font-mono text-[10.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-ink))]",children:n("preview.diff.showMoreLines",{count:Math.min(Lt,r.length-c)})})})]})}function xe({line:t,oldLine:n,newLine:r}){const s=t.startsWith("---")||t.startsWith("+++")||t.startsWith("Index:")||t.startsWith("==="),i=t.startsWith("@@"),c=t[0],m=s||i?t:t.slice(1),d=s?"text-[hsl(var(--deck-ink-muted))]":c==="+"?"bg-[#22C55E]/10 text-[#166534] dark:bg-[#22C55E]/10 dark:text-[#86efac]":c==="-"?"bg-[#EF4444]/10 text-[#b91c1c] dark:bg-[#EF4444]/10 dark:text-[#fca5a5]":i?"bg-[#DBEAFE] text-[#1d4ed8] dark:bg-[#1e3a8a]/30 dark:text-[#93c5fd]":"text-[hsl(var(--deck-ink))]";return e.jsxs("div",{"data-preview-diff-line":!0,className:R("grid min-w-max grid-cols-[40px_40px_1fr] gap-2 px-3 py-0.5",d),children:[e.jsx("span",{className:"text-right text-[hsl(var(--deck-ink-faint))]",children:n?String(n).padStart(2," "):""}),e.jsx("span",{className:"text-right text-[hsl(var(--deck-ink-faint))]",children:r?String(r).padStart(2," "):""}),e.jsx("span",{className:"whitespace-pre",children:m})]})}function sn({nodes:t,expandedDirs:n,childrenCache:r,directoryStates:s,selectedPath:i,onToggleDir:c,onRetryDir:m,onSelectFile:d}){return e.jsx(e.Fragment,{children:t.map(g=>e.jsx(Qt,{node:g,depth:0,expandedDirs:n,childrenCache:r,directoryStates:s,selectedPath:i,onToggleDir:c,onRetryDir:m,onSelectFile:d},g.path))})}function Qt({node:t,depth:n,expandedDirs:r,childrenCache:s,directoryStates:i,selectedPath:c,onToggleDir:m,onRetryDir:d,onSelectFile:g}){const p=Z(),w=t.type==="dir",x=!!r[t.path],u=!w&&c===t.path,N=s[t.path]??[],f=i[t.path],k=n*14+24;return e.jsxs("div",{children:[e.jsxs("button",{type:"button","aria-expanded":w?x:void 0,"aria-busy":w&&(f==null?void 0:f.status)==="loading",onClick:()=>w?m(t.path):g(t.path),className:R("flex w-full items-center gap-2 rounded-md px-2 py-1 text-left font-mono text-[12px] transition-colors",u?"border border-[#16A34A]/30 bg-[#16A34A]/10 text-[#111827] dark:border-[#22C55E]/30 dark:bg-[#22C55E]/10 dark:text-[#E5E5E5]":"text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface))]",w&&"cursor-pointer"),style:{paddingLeft:n*14+8},children:[w?(f==null?void 0:f.status)==="loading"?e.jsx(ke,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-[hsl(var(--deck-accent))]"}):x?e.jsx(xr,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-ink))]"}):e.jsx(Cr,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-ink-muted))]"}):e.jsx(Ht,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-ink-faint))]"}),e.jsx("span",{className:"truncate text-[hsl(var(--deck-ink))]",children:t.name})]}),w&&x&&e.jsxs("div",{children:[(f==null?void 0:f.status)==="loading"&&e.jsx("div",{role:"status",style:{paddingLeft:k},className:"py-1 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]",children:p("preview.files.directoryLoading")}),(f==null?void 0:f.status)==="error"&&e.jsxs("div",{role:"alert",style:{marginLeft:k},className:"my-1 mr-1 rounded-md border border-red-200 bg-red-50/70 px-2 py-1.5 font-mono text-[10px] text-red-700 dark:border-red-900/60 dark:bg-red-950/30 dark:text-red-300",children:[e.jsx("div",{className:"truncate",title:f.message,children:f.message}),e.jsxs("button",{type:"button",onClick:()=>d(t.path),className:"mt-1 inline-flex items-center gap-1 font-medium underline-offset-2 hover:underline",children:[e.jsx(Ut,{className:"h-2.5 w-2.5"}),p("preview.action.retry")]})]}),(f==null?void 0:f.status)==="loaded"&&N.length===0&&e.jsx("div",{style:{paddingLeft:k},className:"py-1 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]",children:p("preview.files.directoryEmpty")}),N.map(l=>e.jsx(Qt,{node:l,depth:n+1,expandedDirs:r,childrenCache:s,directoryStates:i,selectedPath:c,onToggleDir:m,onRetryDir:d,onSelectFile:g},l.path))]})]})}const Pt=80,It=80;function an({logs:t}){var f,k;const n=Z(),[r,s]=o.useState(""),[i,c]=o.useState("all"),[m,d]=o.useState({}),g=`${i}\0${r}\0${t.length}\0${((f=t[0])==null?void 0:f.id)??""}\0${((k=t.at(-1))==null?void 0:k.id)??""}`,[p,w]=o.useState({key:g,count:Pt}),x=o.useMemo(()=>Zr(t,r,i),[i,t,r]),u=p.key===g?p.count:Pt,N=x.slice(0,u);return e.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[e.jsxs("div",{className:"space-y-2 border-b border-[hsl(var(--deck-border))] px-4 py-3",children:[e.jsxs("div",{className:"flex h-8 items-center gap-2 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-2 focus-within:border-[hsl(var(--deck-accent)/0.6)]",children:[e.jsx(at,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-ink-faint))]"}),e.jsx("input",{type:"search","aria-label":n("preview.logs.searchAria"),placeholder:n("preview.logs.searchPlaceholder"),value:r,onChange:l=>s(l.target.value),className:"min-w-0 flex-1 bg-transparent font-mono text-[11px] text-[hsl(var(--deck-ink))] outline-none placeholder:text-[hsl(var(--deck-ink-faint))]"}),e.jsxs("span",{className:"font-mono text-[9px] tabular-nums text-[hsl(var(--deck-ink-faint))]",children:[x.length,"/",t.length]})]}),e.jsx("div",{className:"flex items-center gap-1","aria-label":n("preview.logs.filterAria"),children:["all","running","error","success"].map(l=>e.jsx("button",{type:"button","aria-pressed":i===l,onClick:()=>c(l),className:R("rounded-md border px-2 py-1 font-mono text-[9.5px] transition-colors",i===l?"border-[hsl(var(--deck-accent)/0.45)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]":"border-[hsl(var(--deck-border))] text-[hsl(var(--deck-ink-faint))] hover:text-[hsl(var(--deck-ink-muted))]"),children:n(`preview.logs.filter.${l}`)},l))})]}),e.jsxs("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-4",children:[t.length===0?e.jsx(Rt,{title:n("preview.logs.emptyTitle"),subtitle:n("preview.logs.emptyHint")}):x.length===0?e.jsx(Rt,{title:n("preview.logs.noMatches"),subtitle:n("preview.logs.noMatchesHint")}):N.map(l=>{var A;const E=m[l.id],P=(l.content||"").split(`
|
|
50
|
-
`),W=P.length>10||(((A=l.content)==null?void 0:A.length)||0)>800,$=E||!W?P:P.slice(0,8);return e.jsxs("div",{"data-preview-log-id":l.id,className:"overflow-hidden rounded-lg border border-[hsl(var(--deck-border))]",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] px-3 py-2",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("div",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink))]",children:l.title}),l.subtitle&&e.jsx("div",{className:"font-mono text-[11px] text-[hsl(var(--deck-ink-muted))]",children:l.subtitle})]}),e.jsx(on,{status:l.status})]}),l.content&&e.jsxs("div",{className:"space-y-2 px-3 py-3",children:[e.jsxs("pre",{className:"overflow-x-auto whitespace-pre-wrap rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] p-3 font-mono text-[12px] text-[hsl(var(--deck-ink))]",children:[$.join(`
|
|
51
|
-
`),!E&&W&&`
|
|
52
|
-
…`]}),W&&e.jsxs("button",{type:"button",onClick:()=>d(j=>({...j,[l.id]:!j[l.id]})),className:"flex items-center gap-1 font-mono text-[12px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:text-[hsl(var(--deck-ink))]",children:[E?e.jsx(qt,{className:"h-3 w-3"}):e.jsx(Ot,{className:"h-3 w-3"}),n(E?"preview.logs.collapse":"preview.logs.expand")]})]})]},l.id)}),u<x.length&&e.jsx("div",{className:"flex justify-center",children:e.jsx("button",{type:"button",onClick:()=>w({key:g,count:Math.min(x.length,u+It)}),className:"rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 py-1.5 font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]",children:n("preview.logs.showMore",{count:Math.min(It,x.length-u)})})})]})]})}function Rt({title:t,subtitle:n}){return e.jsxs("div",{className:"rounded-lg border border-dashed border-[hsl(var(--deck-border))] p-6 text-center",children:[e.jsx("div",{className:"font-mono text-[13px] text-[hsl(var(--deck-ink))]",children:t}),e.jsx("div",{className:"mt-1 font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:n})]})}function on({status:t}){const n=Z(),r=n(t==="success"?"preview.logs.status.success":t==="error"?"preview.logs.status.error":"preview.logs.status.running"),s=t==="success"?"bg-[#22C55E] text-white":t==="error"?"bg-[#FEE2E2] text-[#b91c1c] dark:bg-[#EF4444]/20 dark:text-[#fca5a5]":"bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-muted))]";return e.jsx("span",{className:R("rounded-full px-2 py-0.5 font-mono text-[11px]",s),children:r})}const cn=640,Xt=360,st=960,yn=o.forwardRef(function({open:n,maximized:r,disabled:s,onToggleMaximized:i,onTogglePreview:c},m){const d=Z(),{locale:g}=We(),p=g==="zh"?{maximize:"全屏预览",restore:"还原分栏预览"}:{maximize:"Maximize preview",restore:"Restore split preview"},w=r?p.restore:p.maximize;return e.jsxs(e.Fragment,{children:[n&&e.jsx(M,{variant:"ghost",size:"icon","aria-pressed":!!r,"aria-label":w,title:w,onClick:i,className:R("hidden h-8 w-8 rounded-md text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] lg:inline-flex",r&&"bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink))]"),children:e.jsx(Bt,{className:R("h-4 w-4 transition-transform",r&&"rotate-180")})}),e.jsx(M,{ref:m,variant:"ghost",size:"icon",onClick:c,disabled:s,title:d("preview.title"),"aria-label":g==="zh"?"切换预览面板":"Toggle preview panel",className:R("h-8 w-8 rounded-md text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",n&&"bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))] hover:bg-[hsl(var(--deck-accent-soft))] hover:text-[hsl(var(--deck-accent))]"),children:e.jsx($e,{className:"h-4 w-4"})})]})});function Ft(t){const n=typeof window>"u"?st:Math.max(280,Math.floor(window.innerWidth*.72));return Math.min(st,n,Math.max(Xt,Math.round(t)))}function Yt(t,n,r){var s;if(t){const i=(s=r==null?void 0:r.taskDelivery)==null?void 0:s.status;return(r==null?void 0:r.taskIsolation)==="worktree"&&r.taskSourceProjectPath&&(i==="applied"||i==="discarded")?{sessionId:t.sessionId,projectPath:r.taskSourceProjectPath}:t}return n?{sessionId:`project:${n}`,projectPath:n}:null}function rt(){const t=ve.getState(),n=t.sessions.find(r=>Ee({sessionId:r.sessionId,projectPath:r.projectPath},t.currentSessionRef));return Yt(t.currentSessionRef,t.selectedProjectPath,n)}function At(t,n){const r=c=>c.replace(/\\/g,"/").replace(/^\.?\//,"").replace(/\/+/g,"/"),s=r(t),i=r(n);return s===i||s.endsWith(`/${i}`)||i.endsWith(`/${s}`)}const ln=o.lazy(async()=>({default:(await gr(()=>import("./index-DI8ZWdWH.js"),__vite__mapDeps([0,1]))).Editor}));function Ae(t,n){return t instanceof Error?t.message:n}function jn({returnFocusElement:t,maximized:n=!1}={}){var kt,gt;const r=Z(),{toggleFilePreview:s,previewWidth:i,setPreviewWidth:c,previewTab:m,setPreviewTab:d,previewTargetPath:g,previewRequestId:p}=wt(),w=ve(a=>a.messages),x=ve(a=>a.currentSessionRef),u=ve(a=>a.sessions),N=ve(a=>a.selectedProjectPath),f=o.useMemo(()=>u.find(a=>Ee({sessionId:a.sessionId,projectPath:a.projectPath},x)),[x,u]),k=o.useMemo(()=>Yt(x,N,f),[f,x,N]),[l,E]=o.useState(m),[P,W]=o.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(max-width: 1023px)").matches),[$,A]=o.useState(null),[j,D]=o.useState(!1),[B,oe]=o.useState([]),[ze,ee]=o.useState({}),[_e,ge]=o.useState({}),[T,te]=o.useState(0),[q,_]=o.useState(!1),[ie,U]=o.useState(null),[O,re]=o.useState(""),[ce,H]=o.useState([]),[we,le]=o.useState(!1),[Ue,ne]=o.useState(!1),[ye,Be]=o.useState(0),[je,de]=o.useState(0),[qe,Ne]=o.useState({}),[Te,ue]=o.useState({}),[G,b]=o.useState(null),[v,S]=o.useState(""),[F,z]=o.useState(!1),[Q,V]=o.useState(null),[ot,Oe]=o.useState(!1),it=o.useRef(k),fe=o.useRef(0),Le=o.useRef(0),he=o.useRef({}),He=o.useRef(0),De=o.useRef(0),pe=o.useRef(0),X=o.useRef({}),Pe=o.useRef({}),Ge=o.useRef({}),Ve=o.useRef(null),Ke=o.useRef(null),ct=o.useRef(null),lt=o.useRef(null),Je=o.useRef(i),dt=o.useRef(x),Qe=o.useRef(null);o.useLayoutEffect(()=>{Ee(it.current,k)||(fe.current+=1),it.current=k},[k]),o.useEffect(()=>{if(typeof window.matchMedia!="function")return;const a=window.matchMedia("(max-width: 1023px)"),h=()=>W(a.matches);return h(),a.addEventListener("change",h),()=>a.removeEventListener("change",h)},[]),o.useEffect(()=>(lt.current=t??(document.activeElement instanceof HTMLElement?document.activeElement:null),()=>{const a=lt.current;requestAnimationFrame(()=>{a!=null&&a.isConnected&&a.focus({preventScroll:!0})})}),[t]),o.useEffect(()=>{var a;P&&((a=ct.current)==null||a.focus({preventScroll:!0}))},[P]);const Zt=a=>{var I;if(!P)return;if(a.key==="Escape"){a.preventDefault(),s();return}if(a.key!=="Tab")return;const h=Array.from(((I=Ke.current)==null?void 0:I.querySelectorAll('button:not([disabled]), input:not([disabled]), [href], [tabindex]:not([tabindex="-1"])'))??[]).filter(L=>!L.closest("[hidden]"));if(h.length===0)return;const C=h[0],y=h[h.length-1];a.shiftKey&&document.activeElement===C?(a.preventDefault(),y==null||y.focus()):!a.shiftKey&&document.activeElement===y&&(a.preventDefault(),C==null||C.focus())},Se=(a,h)=>h===fe.current&&Ee(rt(),a),ut=async(a,h="")=>{const C=h?`/suggestions/files/tree?path=${encodeURIComponent(h)}`:"/suggestions/files/tree",y=await fetch(C,{headers:tt(a)});if(!y.ok)throw new Error(r("preview.files.treeFailed"));return(await y.json()).map(L=>({...L,children:L.type==="dir"?[]:void 0}))};o.useEffect(()=>{const a=++Le.current;return(async()=>{if(!k){oe([]),_(!1),U(null);return}const C={...k},y=fe.current,I=()=>a===Le.current&&Se(C,y);if(I()){oe([]),_(!0),U(null);try{const L=await ut(C);I()&&oe(L)}catch(L){I()&&U(Ae(L,r("preview.files.treeFailed")))}finally{I()&&_(!1)}}})(),()=>{Le.current===a&&(Le.current+=1)}},[T,k==null?void 0:k.projectPath,k==null?void 0:k.sessionId]),o.useEffect(()=>{Ve.current=null,X.current={},Pe.current={},Ge.current={},he.current={},He.current+=1,b(null),S(""),z(!1),V(null),Oe(!1),Ne({}),ee({}),ge({}),re(""),H([]),le(!1),ne(!1),de(0),ue({})},[k==null?void 0:k.projectPath,k==null?void 0:k.sessionId]);const er=o.useMemo(()=>un(w),[w]),[tr,ft]=o.useState(null),[rr,Xe]=o.useState(!1),[ht,pt]=o.useState(null),[nr,sr]=o.useState(0),Ye=(f==null?void 0:f.taskIsolation)==="worktree"&&((kt=f.taskDelivery)==null?void 0:kt.status)==="discarded",mt=(f==null?void 0:f.taskIsolation)==="worktree"&&!!f.taskDiffStat&&!Ye,xt=mt&&!!(f!=null&&f.taskDiffStat&&f.taskDiffStat.changedFiles>0),se=Ye?[]:mt?tr??[]:er,ar=o.useMemo(()=>dn(w),[w]);o.useEffect(()=>{const a=O.trim(),h=++De.current;if(de(0),ne(!1),!a||l!=="files"||!k){H([]),le(!1);return}const C={...k},y=fe.current;le(!0);const I=window.setTimeout(()=>{fetch(`/suggestions/files?q=${encodeURIComponent(a)}&limit=100&type=file`,{headers:tt(C)}).then(async L=>{if(!L.ok)throw new Error(r("preview.files.searchFailed"));return await L.json()}).then(L=>{h===De.current&&Se(C,y)&&(H(L.filter(K=>!K.endsWith("/"))),ne(!1))}).catch(()=>{h===De.current&&Se(C,y)&&(H([]),ne(!0))}).finally(()=>{h===De.current&&le(!1)})},160);return()=>window.clearTimeout(I)},[l,O,ye,k==null?void 0:k.projectPath,k==null?void 0:k.sessionId]),o.useEffect(()=>{E(wt.getState().previewTab)},[p]),o.useEffect(()=>{const a=dt.current;if(dt.current=x,x||!N){Qe.current=null;return}const h=!!a||Qe.current!==N;Qe.current=N,h&&l==="diff"&&(E("files"),d("files"))},[l,x==null?void 0:x.projectPath,x==null?void 0:x.sessionId,N,d]),o.useEffect(()=>{var C;if(!g||l!=="diff")return;const a=(C=se.find(y=>y.filePath&&At(y.filePath,g)))==null?void 0:C.filePath;if(!a)return;ue(y=>({...y,[a]:!0}));const h=requestAnimationFrame(()=>{var I,L;const y=Array.from(((I=Ke.current)==null?void 0:I.querySelectorAll("[data-preview-diff-path]"))??[]).find(K=>At(K.dataset.previewDiffPath??"",g));typeof(y==null?void 0:y.scrollIntoView)=="function"&&y.scrollIntoView({block:"nearest",behavior:"smooth"}),(L=y==null?void 0:y.querySelector("button"))==null||L.focus({preventScroll:!0})});return()=>cancelAnimationFrame(h)},[l,se,p,g]),o.useEffect(()=>{const a=++pe.current;if(ft(null),pt(null),Xe(!1),!x||!xt)return;const h={...x};return Xe(!0),vr.getTaskDiff(h).then(C=>{a!==pe.current||!Ee(ve.getState().currentSessionRef,h)||ft(C.files.map(y=>({filePath:y.path,diff:{patch:y.patch},summary:y.binary?"binary":`+${y.additions} -${y.deletions}${y.truncated?" (truncated)":""}`})))}).catch(C=>{a===pe.current&&pt(Ae(C,r("preview.diff.failedTitle")))}).finally(()=>{a===pe.current&&Xe(!1)}),()=>{pe.current===a&&(pe.current+=1)}},[f==null?void 0:f.taskCompletedAt,(gt=f==null?void 0:f.taskDelivery)==null?void 0:gt.status,f==null?void 0:f.taskDiffStat,f==null?void 0:f.taskIsolation,x,xt,nr]);const or=a=>{ue(h=>({...h,[a]:!h[a]}))},ir=a=>{ue(Object.fromEntries(se.map(h=>[h.filePath||"unknown",a])))},Ie=async a=>{const h=rt();if(!h)return;const C=fe.current,y=++He.current,I=()=>y===He.current&&Ve.current===a&&Se(h,C);Ve.current=a,b(a),S(""),z(!0),V(null),Oe(!1);try{const L=await fetch(`/suggestions/files/content?path=${encodeURIComponent(a)}`,{headers:tt(h)});if(!L.ok)throw new Error(r("preview.files.contentFailed"));const K=await L.json();I()&&(S(K.content||""),Oe(!!K.truncated))}catch(L){I()&&V(Ae(L,r("preview.files.contentFailed")))}finally{I()&&z(!1)}},cr=a=>{if(a.key==="ArrowDown"||a.key==="ArrowUp"){a.preventDefault(),de(h=>tn(h,ce.length,a.key==="ArrowDown"?1:-1));return}if(a.key==="Enter"){const h=ce[je];if(!h)return;a.preventDefault(),Ie(h);return}a.key==="Escape"&&(a.preventDefault(),re(""))},Ze=(a,h)=>{const C={...Ge.current,[a]:h};Ge.current=C,ge(C)},vt=async a=>{const h=(he.current[a]??0)+1;he.current[a]=h,Ze(a,{status:"loading"});const C=rt();if(!C)return;const y=fe.current,I=()=>he.current[a]===h&&X.current[a]===!0&&Se(C,y);try{const L=await ut(C,a);if(I()){const K={...Pe.current,[a]:L};Pe.current=K,ee(K),Ze(a,{status:"loaded"})}}catch(L){I()&&Ze(a,{status:"error",message:Ae(L,r("preview.files.treeFailed"))})}},lr=a=>{const h=!X.current[a],C={...X.current,[a]:h};if(X.current=C,Ne(C),!h){he.current[a]=(he.current[a]??0)+1;return}Pe.current[a]||vt(a)},dr=a=>{if(!X.current[a]){const h={...X.current,[a]:!0};X.current=h,Ne(h)}vt(a)},ur=a=>{a.preventDefault(),a.currentTarget.setPointerCapture(a.pointerId),Je.current=i,D(!0),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},fr=a=>{if(!j)return;const h=Ft(window.innerWidth-a.clientX);Je.current=h,A(h)},bt=a=>{j&&(a.currentTarget.hasPointerCapture(a.pointerId)&&a.currentTarget.releasePointerCapture(a.pointerId),D(!1),A(null),c(Je.current),document.body.style.cursor="",document.body.style.userSelect="")};o.useEffect(()=>()=>{document.body.style.cursor="",document.body.style.userSelect=""},[]);const et=Ft($??i);return e.jsxs("div",{ref:Ke,"data-testid":"file-preview",role:P?"dialog":"complementary","aria-modal":P||void 0,"aria-label":r("preview.title"),onKeyDown:Zt,style:n?{width:"100%",maxWidth:"none"}:{width:et,maxWidth:"72vw"},className:R("relative flex h-full flex-col bg-[hsl(var(--deck-canvas))] max-lg:fixed max-lg:inset-0 max-lg:z-[60] max-lg:!h-dvh max-lg:!w-full max-lg:!max-w-full max-lg:min-w-0 max-lg:border-l-0",n?"absolute inset-0 z-20 min-w-0 border-l-0 shadow-none":"border-l shadow-xl min-w-[360px] shrink-0 border-[hsl(var(--deck-border))]"),children:[!n&&e.jsx("div",{role:"separator","aria-label":r("preview.action.resize"),"aria-orientation":"vertical","aria-valuemin":Xt,"aria-valuemax":st,"aria-valuenow":et,"aria-hidden":P||void 0,tabIndex:P?-1:0,onPointerDown:ur,onPointerMove:fr,onPointerUp:bt,onPointerCancel:bt,onDoubleClick:()=>c(cn),onKeyDown:a=>{a.key!=="ArrowLeft"&&a.key!=="ArrowRight"||(a.preventDefault(),c(et+(a.key==="ArrowLeft"?24:-24)))},className:R("absolute inset-y-0 -left-1 z-20 w-2 cursor-col-resize touch-none outline-none max-lg:hidden","after:absolute after:inset-y-0 after:left-1/2 after:w-px after:-translate-x-1/2 after:bg-transparent after:transition-colors","hover:after:bg-[hsl(var(--deck-accent)/0.6)] focus-visible:after:bg-[hsl(var(--deck-accent))]",j&&"after:bg-[hsl(var(--deck-accent))]")}),e.jsxs(Fr,{value:l,onValueChange:a=>{const h=a;E(h),d(h)},className:"flex flex-col flex-1 min-h-0",children:[e.jsxs("div",{"data-preview-toolbar":!0,className:"flex shrink-0 items-center gap-2 border-b border-[hsl(var(--deck-border))] px-3 py-3",children:[e.jsxs(Ar,{className:"grid h-9 min-w-0 flex-1 grid-cols-4 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-1",children:[e.jsx(Re,{value:"diff",className:"px-2 font-mono text-[12px] text-[hsl(var(--deck-ink-muted))] data-[state=active]:bg-[hsl(var(--deck-canvas-veil))] data-[state=active]:text-[hsl(var(--deck-ink))]",children:r("preview.tab.diff")}),e.jsx(Re,{value:"files",className:"px-2 font-mono text-[12px] text-[hsl(var(--deck-ink-muted))] data-[state=active]:bg-[hsl(var(--deck-canvas-veil))] data-[state=active]:text-[hsl(var(--deck-ink))]",children:r("preview.tab.files")}),e.jsx(Re,{value:"logs",className:"px-2 font-mono text-[12px] text-[hsl(var(--deck-ink-muted))] data-[state=active]:bg-[hsl(var(--deck-canvas-veil))] data-[state=active]:text-[hsl(var(--deck-ink))]",children:r("preview.tab.logs")}),e.jsx(Re,{value:"browser",className:"px-2 font-mono text-[12px] text-[hsl(var(--deck-ink-muted))] data-[state=active]:bg-[hsl(var(--deck-canvas-veil))] data-[state=active]:text-[hsl(var(--deck-ink))]",children:r("preview.tab.browser")})]}),P&&e.jsx(M,{ref:ct,variant:"ghost",size:"icon",onClick:s,"aria-label":r("preview.action.close"),title:r("preview.action.close"),className:"h-9 w-9 shrink-0 rounded-md text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",children:e.jsx(br,{className:"w-4 h-4"})})]}),e.jsx(Fe,{value:"diff",className:"overflow-hidden flex-1 mt-0",children:e.jsx("div",{className:"overflow-y-auto px-4 py-4 space-y-3 h-full",children:Ye?e.jsx(ae,{title:r("preview.diff.discardedTitle"),subtitle:r("preview.diff.discardedHint"),role:"status"}):rr&&se.length===0?e.jsx(ae,{title:r("preview.diff.loadingTitle"),subtitle:r("preview.diff.loadingHint")}):ht&&se.length===0?e.jsx(ae,{title:r("preview.diff.failedTitle"),subtitle:ht,actionLabel:r("preview.action.retry"),onAction:()=>sr(a=>a+1),role:"alert"}):se.length===0?e.jsx(ae,{title:r("preview.diff.emptyTitle"),subtitle:r("preview.diff.emptyHint")}):e.jsx(rn,{diffs:se,expanded:Te,targetPath:g,onToggle:or,onSetAllExpanded:ir})})}),e.jsx(Fe,{value:"files",className:"overflow-hidden flex-1 mt-0",children:e.jsxs("div",{className:"px-4 py-4 h-full",children:[q&&e.jsx(ae,{title:r("preview.files.loadingTitle"),subtitle:r("preview.files.loadingHint")}),!q&&ie&&e.jsx(ae,{title:r("preview.files.failedTitle"),subtitle:ie,actionLabel:r("preview.action.retry"),onAction:()=>te(a=>a+1),role:"alert"}),!q&&!ie&&B.length===0&&e.jsx(ae,{title:r("preview.files.emptyTitle"),subtitle:r("preview.files.emptyHint")}),!q&&!ie&&B.length>0&&e.jsxs("div",{className:"grid h-full min-h-0 grid-cols-[minmax(170px,220px)_minmax(0,1fr)] gap-3 max-sm:grid-cols-1 max-sm:grid-rows-[180px_minmax(0,1fr)]",children:[e.jsxs("div",{className:"flex min-h-0 flex-col overflow-hidden rounded-lg border border-[hsl(var(--deck-border))]",children:[e.jsx("div",{className:"border-b border-[hsl(var(--deck-border))] p-2",children:e.jsxs("div",{className:"flex h-8 items-center gap-2 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-2 focus-within:border-[hsl(var(--deck-accent)/0.6)]",children:[e.jsx(at,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-ink-faint))]"}),e.jsx("input",{type:"search","aria-label":r("preview.files.searchAria"),placeholder:r("preview.files.searchPlaceholder"),value:O,onChange:a=>re(a.target.value),onKeyDown:cr,className:"min-w-0 flex-1 bg-transparent font-mono text-[11px] text-[hsl(var(--deck-ink))] outline-none placeholder:text-[hsl(var(--deck-ink-faint))]"}),we&&e.jsx(ke,{className:"h-3 w-3 shrink-0 animate-spin text-[hsl(var(--deck-accent))]"})]})}),e.jsx("div",{role:O?"listbox":void 0,"aria-label":O?r("preview.files.searchResultsAria"):void 0,className:"overflow-y-auto flex-1 p-2 min-h-0",children:O?Ue?e.jsxs("div",{role:"alert",className:"px-2 py-5 text-center font-mono text-[10.5px] text-red-700 dark:text-red-300",children:[e.jsx("div",{children:r("preview.files.searchFailed")}),e.jsx("button",{type:"button",onClick:()=>Be(a=>a+1),className:"mt-1 underline underline-offset-2",children:r("preview.action.retry")})]}):ce.length>0?ce.map((a,h)=>e.jsxs("button",{type:"button",role:"option","aria-selected":h===je,"data-preview-file-result":h,onMouseEnter:()=>de(h),onClick:()=>void Ie(a),className:R("mb-0.5 flex w-full min-w-0 flex-col rounded-md px-2 py-1.5 text-left font-mono transition-colors",h===je?"bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-ink))]":"text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface))]"),children:[e.jsx("span",{className:"truncate text-[11.5px]",children:Jt(a)}),e.jsx("span",{className:"truncate text-[9px] text-[hsl(var(--deck-ink-faint))]",children:a})]},a)):!we&&e.jsx("div",{className:"px-2 py-5 text-center font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:r("preview.files.noMatches")}):e.jsx(sn,{nodes:B,expandedDirs:qe,childrenCache:ze,directoryStates:_e,selectedPath:G,onToggleDir:lr,onRetryDir:dr,onSelectFile:Ie})})]}),e.jsxs("div",{className:"border border-[hsl(var(--deck-border))] rounded-lg overflow-hidden flex flex-col min-h-0",children:[e.jsxs("div",{className:"px-3 py-2 bg-[hsl(var(--deck-surface-2))] border-b border-[hsl(var(--deck-border))] text-[12px] text-[hsl(var(--deck-ink-muted))] font-mono flex items-center justify-between",children:[e.jsx("span",{className:"min-w-0 truncate",children:G||r("preview.files.selectTitle")}),G&&e.jsx("span",{className:"ml-2 shrink-0 text-[11px] text-[hsl(var(--deck-ink-faint))] font-mono",children:r(F?"preview.files.status.loading":ot?"preview.files.status.truncated":"preview.files.status.ready")})]}),ot&&!F&&e.jsx("div",{className:"px-3 py-2 bg-[#FEF3C7] dark:bg-[#111113] border-b border-[hsl(var(--deck-border))] text-[11px] text-[#b45309] dark:text-[#facc15] font-mono",children:r("preview.files.truncatedNotice")}),e.jsxs("div",{className:"flex-1 min-h-0",children:[!G&&e.jsx("div",{className:"h-full flex items-center justify-center text-[12px] text-[hsl(var(--deck-ink-muted))] font-mono",children:r("preview.files.pickHint")}),G&&Q&&e.jsxs("div",{role:"alert",className:"flex h-full flex-col items-center justify-center gap-2 px-4 text-center font-mono text-[12px] text-[#DC2626] dark:text-[#fca5a5]",children:[e.jsx("span",{children:Q}),e.jsx("button",{type:"button",onClick:()=>void Ie(G),className:"underline underline-offset-2",children:r("preview.action.retry")})]}),G&&!Q&&e.jsx("div",{className:"h-full",children:F?e.jsx(zt,{}):e.jsx(o.Suspense,{fallback:e.jsx(zt,{}),children:e.jsx(fn,{content:v,filename:G})})})]})]})]})]})}),e.jsx(Fe,{value:"logs",className:"overflow-hidden flex-1 mt-0",children:e.jsx(an,{logs:ar})}),e.jsx(Fe,{value:"browser",forceMount:!0,className:"overflow-hidden flex-1 min-h-0",children:e.jsx(Yr,{sessionRef:x})})]})]})}function ae({title:t,subtitle:n,actionLabel:r,onAction:s,role:i}){return e.jsxs("div",{role:i,className:"border border-dashed border-[hsl(var(--deck-border))] rounded-lg p-6 text-center",children:[e.jsx("div",{className:"text-[13px] text-[hsl(var(--deck-ink))] font-mono",children:t}),e.jsx("div",{className:"text-[12px] text-[hsl(var(--deck-ink-muted))] font-mono mt-1",children:n}),r&&s&&e.jsx("button",{type:"button",onClick:s,className:"mt-3 rounded-md border border-[hsl(var(--deck-border))] px-2.5 py-1 font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",children:r})]})}function dn(t){return t.flatMap(n=>{var i,c,m;const r=[];if((i=n.agentContent)!=null&&i.toolCalls)for(const d of n.agentContent.toolCalls){const g=Wt(d.arguments),p=d.output,w=p?(c=be(p))!=null&&c.diff?Mt(p):p:void 0;r.push({id:`${n.id}-${d.toolCallId}`,title:d.toolName||"Tool",subtitle:d.summary,status:d.status==="success"?"success":d.status==="error"?"error":"running",content:w||(g?`Arguments:
|
|
53
|
-
${g}`:void 0),timestamp:n.timestamp})}const s=n.metadata;if(s){if(s.kind==="tool_call"){const d=s.toolName||"Tool",g=Wt(s.arguments);r.push({id:n.id,title:`Tool Call · ${d}`,subtitle:s.toolKind?String(s.toolKind):void 0,status:s.status==="success"?"success":s.status==="error"?"error":"running",content:g?`Arguments:
|
|
54
|
-
${g}`:void 0,timestamp:n.timestamp})}if(s.kind==="tool_result"){const d=s.toolName||"Tool",g=s.success,p=s.summary,w=s.output,x=w?(m=be(w))!=null&&m.diff?Mt(w):w:void 0;r.push({id:n.id,title:`Tool Result · ${d}`,subtitle:p,status:g===void 0?"running":g?"success":"error",content:x,timestamp:n.timestamp})}}return r})}function un(t){var s;const n=[],r=new Set;for(let i=t.length-1;i>=0;i-=1){const c=t[i];if((s=c.agentContent)!=null&&s.toolCalls)for(let w=c.agentContent.toolCalls.length-1;w>=0;w-=1){const x=c.agentContent.toolCalls[w],u=x.metadata;if((u==null?void 0:u.kind)==="patch"&&Array.isArray(u.changes)){$t(n,r,u.changes,x.summary);continue}const N=x.output||"",f=be(N)||be((u==null?void 0:u.diff_snippet)||"");if(f!=null&&f.diff){const k=(u==null?void 0:u.file_path)||x.toolName||"unknown";if(!r.has(k)){r.add(k);const l=typeof(u==null?void 0:u.oldContent)=="string"?u.oldContent:void 0,E=typeof(u==null?void 0:u.newContent)=="string"?u.newContent:void 0;n.push({diff:f.diff,filePath:k,summary:x.summary,oldContent:l,newContent:E})}}}const m=c.metadata;if(!m||m.kind!=="tool_result")continue;const d=m.metadata;if((d==null?void 0:d.kind)==="patch"&&Array.isArray(d.changes)){$t(n,r,d.changes,m.summary);continue}const g=m.output||(typeof c.content=="string"?c.content:"")||"",p=be(g)||be((d==null?void 0:d.diff_snippet)||"");if(p!=null&&p.diff){const w=(d==null?void 0:d.file_path)||m.toolName||"unknown";if(!r.has(w)){r.add(w);const x=typeof(d==null?void 0:d.oldContent)=="string"?d.oldContent:void 0,u=typeof(d==null?void 0:d.newContent)=="string"?d.newContent:void 0;n.push({diff:p.diff,filePath:w,summary:m.summary,oldContent:x,newContent:u})}}}return n.reverse()}function $t(t,n,r,s){for(let i=r.length-1;i>=0;i--){const c=r[i];!c||typeof c!="object"||!("path"in c)||typeof c.path!="string"||!("diff"in c)||typeof c.diff!="string"||n.has(c.path)||(n.add(c.path),t.push({diff:{patch:c.diff,startLine:1,matchLine:1},filePath:c.path,summary:s,oldContent:"oldContent"in c&&typeof c.oldContent=="string"?c.oldContent:void 0,newContent:"newContent"in c&&typeof c.newContent=="string"?c.newContent:void 0}))}}function be(t){if(!t)return null;const n=/<<<DIFF>>>\s*([\s\S]*?)\s*<<<\/DIFF>>>/m,r=t.match(n);if(!r)return null;try{return{diff:JSON.parse(r[1])}}catch{return null}}function Mt(t){return t?t.replace(/<<<DIFF>>>[\s\S]*?<<<\/DIFF>>>/m,"").trim():""}function Wt(t){if(!t)return"";if(typeof t=="string")try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}return JSON.stringify(t,null,2)}function zt(){const t=Z();return e.jsx("div",{className:"h-full flex items-center justify-center text-[12px] text-[hsl(var(--deck-ink-muted))] font-mono",children:t("preview.files.editorLoading")})}function fn({content:t,filename:n}){const{codeTheme:r}=kr(),s=o.useRef(null),[i,c]=o.useState("vs-dark"),m=hn(n),d=g=>{s.current=g;const p=St(g,r);c(p)};return o.useEffect(()=>{if(s.current){const g=St(s.current,r);c(g)}},[r]),e.jsx(ln,{value:t,language:m,theme:i,height:"100%",beforeMount:d,options:{readOnly:!0,minimap:{enabled:!1},fontSize:12,lineNumbers:"on",wordWrap:"on",scrollBeyondLastLine:!1,automaticLayout:!0}},n)}function hn(t){var s;const n=((s=t.split(".").pop())==null?void 0:s.toLowerCase())||"";return{ts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",json:"json",md:"markdown",css:"css",scss:"scss",html:"html",yml:"yaml",yaml:"yaml",go:"go",rs:"rust",py:"python",java:"java",c:"c",cpp:"cpp",h:"cpp",hpp:"cpp",sh:"shell",zsh:"shell",toml:"toml",xml:"xml"}[n]||"plaintext"}export{jn as FilePreview,yn as PreviewControls};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 240 10% 3.9%;--sidebar-background: 240 4.8% 95.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--primary: 240 5.9% 10%;--primary-foreground: 0 0% 98%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--ring: 240 10% 3.9%;--radius: .5rem;--success: 142 76% 36%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 0 0% 0%;--info: 217 91% 60%;--info-foreground: 0 0% 100%;--panel: 240 4.8% 95.9%;--panel-foreground: 240 10% 3.9%;--panel-hover: 240 4.8% 90%;--panel-active: 240 4.8% 85%;--subtle: 240 3.8% 46.1%;--subtle-foreground: 240 5.9% 10%;--deck-canvas: 0 0% 99%;--deck-canvas-veil: 220 15% 96%;--deck-surface: 0 0% 100%;--deck-surface-2: 220 20% 98.5%;--deck-border: 220 13% 91%;--deck-border-strong: 220 13% 82%;--deck-hairline: 220 15% 94%;--deck-ink: 222 22% 11%;--deck-ink-muted: 220 9% 46%;--deck-ink-faint: 220 9% 62%;--deck-accent: 152 62% 36%;--deck-accent-soft: 152 55% 92%;--deck-accent-glow: 152 82% 55%}.dark{--background: 0 0% 4.7%;--foreground: 0 0% 98%;--card: 240 10% 3.9%;--card-foreground: 0 0% 98%;--popover: 240 10% 3.9%;--popover-foreground: 0 0% 98%;--primary: 0 0% 98%;--primary-foreground: 240 5.9% 10%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--accent: 240 3.7% 15.9%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 240 3.7% 15.9%;--input: 240 3.7% 15.9%;--ring: 240 4.9% 83.9%;--sidebar-background: 240 10% 3.9%;--success: 142 71% 45%;--success-foreground: 0 0% 0%;--warning: 38 92% 50%;--warning-foreground: 0 0% 0%;--info: 217 91% 60%;--info-foreground: 0 0% 100%;--panel: 240 6% 10%;--panel-foreground: 0 0% 90%;--panel-hover: 240 5% 17%;--panel-active: 220 13% 13%;--subtle: 240 5% 65%;--subtle-foreground: 0 0% 98%;--deck-canvas: 240 8% 5%;--deck-canvas-veil: 240 10% 7%;--deck-surface: 240 8% 8%;--deck-surface-2: 240 7% 10%;--deck-border: 240 5% 16%;--deck-border-strong: 240 5% 24%;--deck-hairline: 240 6% 13%;--deck-ink: 0 0% 96%;--deck-ink-muted: 240 5% 65%;--deck-ink-faint: 240 5% 42%;--deck-accent: 152 68% 48%;--deck-accent-soft: 152 30% 15%;--deck-accent-glow: 152 82% 60%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"cv02","cv03","cv04","cv11","ss01"}.\!container{width:100%!important;margin-right:auto!important;margin-left:auto!important;padding-right:2rem!important;padding-left:2rem!important}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.\!container{max-width:1400px!important}.container{max-width:1400px}}.\!field{height:2.25rem;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;--tw-border-opacity: 1;border-color:rgb(228 228 231 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.375rem .75rem;font-family:JetBrains Mono,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\!field::-moz-placeholder{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.\!field::placeholder{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.\!field:focus{--tw-border-opacity: 1;border-color:rgb(161 161 170 / var(--tw-border-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(161 161 170 / var(--tw-ring-opacity, 1))}.\!field:disabled{cursor:not-allowed;opacity:.5}.\!field:is(.dark *){--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.\!field:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.\!field:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.\!field:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(113 113 122 / var(--tw-border-opacity, 1));--tw-ring-opacity: 1;--tw-ring-color: rgb(113 113 122 / var(--tw-ring-opacity, 1))}.field{height:2.25rem;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;--tw-border-opacity: 1;border-color:rgb(228 228 231 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.375rem .75rem;font-family:JetBrains Mono,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.field::-moz-placeholder{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.field::placeholder{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.field:focus{--tw-border-opacity: 1;border-color:rgb(161 161 170 / var(--tw-border-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(161 161 170 / var(--tw-ring-opacity, 1))}.field:disabled{cursor:not-allowed;opacity:.5}.field:is(.dark *){--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.field:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.field:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.field:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(113 113 122 / var(--tw-border-opacity, 1));--tw-ring-opacity: 1;--tw-ring-color: rgb(113 113 122 / var(--tw-ring-opacity, 1))}select.\!field,select.field{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}select.\!field{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .5rem center!important;background-size:1rem!important;padding-right:2rem!important}select.field{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;padding-right:2rem}.deck-canvas{background-color:hsl(var(--deck-canvas));background-image:radial-gradient(1200px 600px at 12% -10%,hsl(var(--deck-accent) / .06),transparent 60%),radial-gradient(900px 500px at 100% 0%,hsl(var(--deck-accent) / .04),transparent 55%),radial-gradient(circle at 1px 1px,hsl(var(--deck-ink) / .05) 1px,transparent 0);background-size:auto,auto,22px 22px;background-position:0 0,0 0,0 0}.dark .deck-canvas{background-image:radial-gradient(1200px 600px at 12% -10%,hsl(var(--deck-accent) / .12),transparent 60%),radial-gradient(900px 500px at 100% 0%,hsl(var(--deck-accent) / .06),transparent 55%),radial-gradient(circle at 1px 1px,hsl(var(--deck-ink) / .06) 1px,transparent 0)}.deck-eyebrow{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}.deck-pulse-dot{position:relative;display:inline-block;width:6px;height:6px;border-radius:9999px;background-color:hsl(var(--deck-accent));box-shadow:0 0 0 2px hsl(var(--deck-accent) / .18)}.deck-pulse-dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:9999px;border:1px solid hsl(var(--deck-accent) / .55);animation:deck-pulse 1.8s ease-out infinite}@keyframes deck-pulse{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.9);opacity:0}}.deck-kbd{font-family:JetBrains Mono,monospace;font-size:10px;line-height:1;padding:3px 5px;border-radius:4px;border:1px solid hsl(var(--deck-border));background:hsl(var(--deck-surface));color:hsl(var(--deck-ink-muted));box-shadow:0 1px hsl(var(--deck-border))}[data-preview-maximized=true]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none}[data-preview-maximized=true]>[data-chat-view]{background:transparent}[data-preview-maximized=true] [data-chat-history]{display:none}[data-preview-maximized=true] [data-chat-composer-dock]{position:absolute;bottom:16px;left:50%;z-index:40;display:flex;width:min(760px,calc(100% - 32px));max-height:calc(100% - 32px);transform:translate(-50%);flex-direction:column;overflow:visible;pointer-events:auto;border:1px solid hsl(var(--deck-border));border-radius:8px;background:hsl(var(--deck-canvas) / .96);box-shadow:0 18px 60px -24px hsl(var(--deck-ink) / .38);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}[data-preview-maximized=true] [data-preview-status-disclosure]{display:block}[data-preview-maximized=true] [data-chat-input-shell]{padding:0 8px 8px;border-top:0;background:transparent}[data-preview-maximized=true] [data-chat-input-inner]{padding-right:0;padding-left:0}[data-preview-maximized=true] [data-chat-primary-status]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-left-1{left:-.25rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:.625rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-0\.5{right:.125rem}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-\[3px\]{right:3px}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-\[3px\]{top:3px}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.col-span-full{grid-column:1 / -1}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-\[2px\]{margin-left:2px;margin-right:2px}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-ml-2{margin-left:-.5rem}.-mr-1{margin-right:-.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[180px\]{height:180px}.h-\[220px\]{height:220px}.h-\[38\%\]{height:38%}.h-\[calc\(100\%-40px\)\]{height:calc(100% - 40px)}.h-\[min\(18rem\,45dvh\)\]{height:min(18rem,45dvh)}.h-\[min\(44vh\,420px\)\]{height:min(44vh,420px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-10{max-height:2.5rem}.max-h-20{max-height:5rem}.max-h-36{max-height:9rem}.max-h-52{max-height:13rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\[120px\]{max-height:120px}.max-h-\[160px\]{max-height:160px}.max-h-\[200px\]{max-height:200px}.max-h-\[232px\]{max-height:232px}.max-h-\[240px\]{max-height:240px}.max-h-\[310px\]{max-height:310px}.max-h-\[340px\]{max-height:340px}.max-h-\[440px\]{max-height:440px}.max-h-\[calc\(100dvh-24px\)\]{max-height:calc(100dvh - 24px)}.max-h-\[min\(240px\,30dvh\)\]{max-height:min(240px,30dvh)}.max-h-\[min\(36vh\,320px\)\]{max-height:min(36vh,320px)}.max-h-\[min\(40vh\,360px\)\]{max-height:min(40vh,360px)}.max-h-\[min\(460px\,60vh\)\]{max-height:min(460px,60vh)}.max-h-\[min\(70vh\,520px\)\]{max-height:min(70vh,520px)}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-12{min-height:3rem}.min-h-28{min-height:7rem}.min-h-32{min-height:8rem}.min-h-36{min-height:9rem}.min-h-4{min-height:1rem}.min-h-6{min-height:1.5rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.min-h-9{min-height:2.25rem}.min-h-\[100px\]{min-height:100px}.min-h-\[140px\]{min-height:140px}.min-h-\[148px\]{min-height:148px}.min-h-\[180px\]{min-height:180px}.min-h-\[260px\]{min-height:260px}.min-h-\[54px\]{min-height:54px}.min-h-\[56px\]{min-height:56px}.min-h-\[58px\]{min-height:58px}.min-h-\[68px\]{min-height:68px}.min-h-\[80px\]{min-height:80px}.min-h-\[84px\]{min-height:84px}.min-h-full{min-height:100%}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[220px\]{width:220px}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-\[2px\]{width:2px}.w-\[340px\]{width:340px}.w-\[3px\]{width:3px}.w-\[45\%\]{width:45%}.w-\[64px\]{width:64px}.w-\[calc\(100\%_-_2rem\)\]{width:calc(100% - 2rem)}.w-\[calc\(100vw-24px\)\]{width:calc(100vw - 24px)}.w-\[min\(440px\,calc\(100vw-24px\)\)\]{width:min(440px,calc(100vw - 24px))}.w-\[min\(680px\,calc\(100vw-32px\)\)\]{width:min(680px,calc(100vw - 32px))}.w-\[var\(--radix-popover-trigger-width\)\]{width:var(--radix-popover-trigger-width)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-4{min-width:1rem}.min-w-5{min-width:1.25rem}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[28px\]{min-width:28px}.min-w-\[360px\]{min-width:360px}.min-w-\[520px\]{min-width:520px}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-2xl{max-width:42rem}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-\[220px\]{max-width:220px}.max-w-\[280px\]{max-width:280px}.max-w-\[400px\]{max-width:400px}.max-w-\[46rem\]{max-width:46rem}.max-w-\[560px\]{max-width:560px}.max-w-\[620px\]{max-width:620px}.max-w-\[85\%\]{max-width:85%}.max-w-\[960px\]{max-width:960px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-2{--tw-translate-x: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-2\.5{--tw-translate-x: .625rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1fr_180px_120px\]{grid-template-columns:1fr 180px 120px}.grid-cols-\[40px_40px_1fr\]{grid-template-columns:40px 40px 1fr}.grid-cols-\[minmax\(170px\,220px\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(170px,220px) minmax(0,1fr)}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-\[1px\]{gap:1px}.gap-\[3px\]{gap:3px}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[\#E5E7EB\]>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.divide-\[hsl\(var\(--deck-hairline\)\)\]>:not([hidden])~:not([hidden]){border-color:hsl(var(--deck-hairline))}.self-end{align-self:flex-end}.\!overflow-auto{overflow:auto!important}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[1px\]{border-radius:1px}.rounded-\[4px\]{border-radius:4px}.rounded-\[5px\]{border-radius:5px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.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:.75rem}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-\[\#16A34A\]\/30{border-color:#16a34a4d}.border-\[\#22C55E\]{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-\[\#D1D5DB\]{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-\[\#DDD6FE\]{--tw-border-opacity: 1;border-color:rgb(221 214 254 / var(--tw-border-opacity, 1))}.border-\[\#E5E7EB\]{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-\[hsl\(var\(--deck-accent\)\/0\.28\)\]{border-color:hsl(var(--deck-accent)/.28)}.border-\[hsl\(var\(--deck-accent\)\/0\.42\)\]{border-color:hsl(var(--deck-accent)/.42)}.border-\[hsl\(var\(--deck-accent\)\/0\.45\)\]{border-color:hsl(var(--deck-accent)/.45)}.border-\[hsl\(var\(--deck-accent\)\/0\.5\)\]{border-color:hsl(var(--deck-accent)/.5)}.border-\[hsl\(var\(--deck-accent\)\/0\.55\)\]{border-color:hsl(var(--deck-accent)/.55)}.border-\[hsl\(var\(--deck-accent\)\/0\.7\)\]{border-color:hsl(var(--deck-accent)/.7)}.border-\[hsl\(var\(--deck-border\)\)\]{border-color:hsl(var(--deck-border))}.border-\[hsl\(var\(--deck-border\)\)\]\/60{border-color:hsl(var(--deck-border) / .6)}.border-\[hsl\(var\(--deck-border-strong\)\)\]{border-color:hsl(var(--deck-border-strong))}.border-\[hsl\(var\(--deck-hairline\)\)\]{border-color:hsl(var(--deck-hairline))}.border-\[hsl\(var\(--deck-hairline\)\/0\.55\)\]{border-color:hsl(var(--deck-hairline)/.55)}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-200\/50{border-color:#fde68a80}.border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.border-amber-300\/60{border-color:#fcd34d99}.border-amber-300\/70{border-color:#fcd34db3}.border-amber-300\/80{border-color:#fcd34dcc}.border-amber-400\/70{border-color:#fbbf24b3}.border-amber-400\/80{border-color:#fbbf24cc}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-600{--tw-border-opacity: 1;border-color:rgb(217 119 6 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-emerald-200\/40{border-color:#a7f3d066}.border-emerald-300\/50{border-color:#6ee7b780}.border-emerald-300\/70{border-color:#6ee7b7b3}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-emerald-500\/20{border-color:#10b98133}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-200\/60{border-color:#fecaca99}.border-red-300\/70{border-color:#fca5a5b3}.border-red-500\/20{border-color:#ef444433}.border-red-500\/25{border-color:#ef444440}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/70{border-color:#ef4444b3}.border-rose-200{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.border-sky-200\/50{border-color:#bae6fd80}.border-transparent{border-color:transparent}.border-zinc-200{--tw-border-opacity: 1;border-color:rgb(228 228 231 / var(--tw-border-opacity, 1))}.border-zinc-500\/20{border-color:#71717a33}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#111827\]{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-\[\#16A34A\]{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-\[\#16A34A\]\/10{background-color:#16a34a1a}.bg-\[\#16A34A\]\/20{background-color:#16a34a33}.bg-\[\#22C55E\]{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-\[\#22C55E\]\/10{background-color:#22c55e1a}.bg-\[\#22C55E\]\/20{background-color:#22c55e33}.bg-\[\#2563eb\]{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-\[\#3B82F6\]{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-\[\#3b82f6\]\/20{background-color:#3b82f633}.bg-\[\#6366F1\]{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-\[\#7C3AED\]{--tw-bg-opacity: 1;background-color:rgb(124 58 237 / var(--tw-bg-opacity, 1))}.bg-\[\#D1D5DB\]{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-\[\#DBEAFE\]{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-\[\#DCFCE7\]{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-\[\#E5E7EB\]{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-\[\#EDE9FE\]{--tw-bg-opacity: 1;background-color:rgb(237 233 254 / var(--tw-bg-opacity, 1))}.bg-\[\#EF4444\]{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-\[\#EF4444\]\/10{background-color:#ef44441a}.bg-\[\#F0FDF4\]{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-\[\#F3F4F6\]{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-\[\#F5F3FF\]{--tw-bg-opacity: 1;background-color:rgb(245 243 255 / var(--tw-bg-opacity, 1))}.bg-\[\#F9FAFB\]{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-\[\#FEE2E2\]{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-\[\#FEF3C7\]{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-\[hsl\(var\(--deck-accent\)\)\]{background-color:hsl(var(--deck-accent))}.bg-\[hsl\(var\(--deck-accent\)\/0\.12\)\]{background-color:hsl(var(--deck-accent)/.12)}.bg-\[hsl\(var\(--deck-accent-soft\)\)\]{background-color:hsl(var(--deck-accent-soft))}.bg-\[hsl\(var\(--deck-accent-soft\)\)\]\/55{background-color:hsl(var(--deck-accent-soft) / .55)}.bg-\[hsl\(var\(--deck-accent-soft\)\/0\.42\)\]{background-color:hsl(var(--deck-accent-soft)/.42)}.bg-\[hsl\(var\(--deck-border\)\)\]{background-color:hsl(var(--deck-border))}.bg-\[hsl\(var\(--deck-border-strong\)\)\]\/60{background-color:hsl(var(--deck-border-strong) / .6)}.bg-\[hsl\(var\(--deck-canvas\)\)\]{background-color:hsl(var(--deck-canvas))}.bg-\[hsl\(var\(--deck-canvas\)\)\]\/90{background-color:hsl(var(--deck-canvas) / .9)}.bg-\[hsl\(var\(--deck-canvas\)\/0\.92\)\]{background-color:hsl(var(--deck-canvas)/.92)}.bg-\[hsl\(var\(--deck-canvas-veil\)\)\]{background-color:hsl(var(--deck-canvas-veil))}.bg-\[hsl\(var\(--deck-canvas-veil\)\)\]\/60{background-color:hsl(var(--deck-canvas-veil) / .6)}.bg-\[hsl\(var\(--deck-canvas-veil\)\)\]\/70{background-color:hsl(var(--deck-canvas-veil) / .7)}.bg-\[hsl\(var\(--deck-hairline\)\)\]{background-color:hsl(var(--deck-hairline))}.bg-\[hsl\(var\(--deck-hairline\)\)\]\/70{background-color:hsl(var(--deck-hairline) / .7)}.bg-\[hsl\(var\(--deck-ink\)\)\]{background-color:hsl(var(--deck-ink))}.bg-\[hsl\(var\(--deck-ink-faint\)\)\]{background-color:hsl(var(--deck-ink-faint))}.bg-\[hsl\(var\(--deck-ink-faint\)\)\]\/40{background-color:hsl(var(--deck-ink-faint) / .4)}.bg-\[hsl\(var\(--deck-ink-faint\)\)\]\/60{background-color:hsl(var(--deck-ink-faint) / .6)}.bg-\[hsl\(var\(--deck-surface\)\)\]{background-color:hsl(var(--deck-surface))}.bg-\[hsl\(var\(--deck-surface\)\)\]\/45{background-color:hsl(var(--deck-surface) / .45)}.bg-\[hsl\(var\(--deck-surface\)\)\]\/50{background-color:hsl(var(--deck-surface) / .5)}.bg-\[hsl\(var\(--deck-surface\)\)\]\/55{background-color:hsl(var(--deck-surface) / .55)}.bg-\[hsl\(var\(--deck-surface\)\)\]\/60{background-color:hsl(var(--deck-surface) / .6)}.bg-\[hsl\(var\(--deck-surface\)\)\]\/80{background-color:hsl(var(--deck-surface) / .8)}.bg-\[hsl\(var\(--deck-surface\)\)\]\/95{background-color:hsl(var(--deck-surface) / .95)}.bg-\[hsl\(var\(--deck-surface-2\)\)\]{background-color:hsl(var(--deck-surface-2))}.bg-\[hsl\(var\(--deck-surface-2\)\)\]\/50{background-color:hsl(var(--deck-surface-2) / .5)}.bg-\[hsl\(var\(--deck-surface-2\)\)\]\/60{background-color:hsl(var(--deck-surface-2) / .6)}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-50\/60{background-color:#fffbeb99}.bg-amber-50\/70{background-color:#fffbebb3}.bg-amber-50\/80{background-color:#fffbebcc}.bg-amber-50\/95{background-color:#fffbebf2}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-black\/25{background-color:#00000040}.bg-black\/35{background-color:#00000059}.bg-black\/75{background-color:#000000bf}.bg-black\/80{background-color:#000c}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-50\/55{background-color:#ecfdf58c}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-neutral-950{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-50\/70{background-color:#fef2f2b3}.bg-red-50\/80{background-color:#fef2f2cc}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/5{background-color:#ef44440d}.bg-red-500\/80{background-color:#ef4444cc}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-950\/90{background-color:#450a0ae6}.bg-rose-50{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.bg-rose-500{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.bg-rose-600{--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sky-400{--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity, 1))}.bg-sky-50{--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity, 1))}.bg-sky-50\/60{background-color:#f0f9ff99}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity: 1;background-color:rgb(237 233 254 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/60{background-color:#fff9}.bg-white\/65{background-color:#ffffffa6}.bg-white\/80{background-color:#fffc}.bg-zinc-100{--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}.bg-zinc-400{--tw-bg-opacity: 1;background-color:rgb(161 161 170 / var(--tw-bg-opacity, 1))}.bg-zinc-50{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.bg-zinc-500\/10{background-color:#71717a1a}.bg-zinc-600{--tw-bg-opacity: 1;background-color:rgb(82 82 91 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.stroke-\[2\.5\]{stroke-width:2.5}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.p-\[2px\]{padding:2px}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-7{padding-right:1.75rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.82em\]{font-size:.82em}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[8\.5px\]{font-size:8.5px}.text-\[8px\]{font-size:8px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[clamp\(28px\,3vw\,34px\)\]{font-size:clamp(28px,3vw,34px)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\[1\.12\]{line-height:1.12}.leading-\[1\.45\]{line-height:1.45}.leading-\[1\.55\]{line-height:1.55}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.028em\]{letter-spacing:-.028em}.tracking-\[0\.02em\]{letter-spacing:.02em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#111827\]{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-\[\#15803D\]{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-\[\#166534\]{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-\[\#16A34A\]{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-\[\#1D4ED8\],.text-\[\#1d4ed8\]{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-\[\#22C55E\]{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-\[\#2563eb\]{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-\[\#374151\]{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-\[\#3b82f6\]{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-\[\#4B5563\]{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-\[\#5B21B6\]{--tw-text-opacity: 1;color:rgb(91 33 182 / var(--tw-text-opacity, 1))}.text-\[\#6B7280\]{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-\[\#6D28D9\]{--tw-text-opacity: 1;color:rgb(109 40 217 / var(--tw-text-opacity, 1))}.text-\[\#71717a\]{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.text-\[\#92400E\]{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-\[\#9CA3AF\]{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-\[\#DC2626\]{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-\[\#b45309\]{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-\[\#b91c1c\]{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-\[\#ef4444\]{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-\[\#f59e0b\]{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-\[\#f87171\]{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-\[hsl\(var\(--deck-accent\)\)\]{color:hsl(var(--deck-accent))}.text-\[hsl\(var\(--deck-canvas\)\)\]{color:hsl(var(--deck-canvas))}.text-\[hsl\(var\(--deck-ink\)\)\]{color:hsl(var(--deck-ink))}.text-\[hsl\(var\(--deck-ink\)\)\]\/85{color:hsl(var(--deck-ink) / .85)}.text-\[hsl\(var\(--deck-ink\)\)\]\/90{color:hsl(var(--deck-ink) / .9)}.text-\[hsl\(var\(--deck-ink-faint\)\)\]{color:hsl(var(--deck-ink-faint))}.text-\[hsl\(var\(--deck-ink-faint\)\)\]\/60{color:hsl(var(--deck-ink-faint) / .6)}.text-\[hsl\(var\(--deck-ink-faint\)\)\]\/70{color:hsl(var(--deck-ink-faint) / .7)}.text-\[hsl\(var\(--deck-ink-muted\)\)\]{color:hsl(var(--deck-ink-muted))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-rose-600{--tw-text-opacity: 1;color:rgb(225 29 72 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-sky-900{--tw-text-opacity: 1;color:rgb(12 74 110 / var(--tw-text-opacity, 1))}.text-violet-700{--tw-text-opacity: 1;color:rgb(109 40 217 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/80{color:#fffc}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.text-zinc-500{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.text-zinc-600{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.text-zinc-700{--tw-text-opacity: 1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}.text-zinc-900{--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-\[\#16A34A\]{accent-color:#16A34A}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_4px_hsl\(var\(--deck-accent\)\/0\.65\)\]{--tw-shadow: 0 0 4px hsl(var(--deck-accent)/.65);--tw-shadow-colored: 0 0 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_5px_hsl\(var\(--deck-accent-glow\)\/0\.75\)\]{--tw-shadow: 0 0 5px hsl(var(--deck-accent-glow)/.75);--tw-shadow-colored: 0 0 5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_5px_hsl\(var\(--deck-accent-glow\)\/0\.9\)\]{--tw-shadow: 0 0 5px hsl(var(--deck-accent-glow)/.9);--tw-shadow-colored: 0 0 5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_5px_rgba\(245\,158\,11\,0\.75\)\]{--tw-shadow: 0 0 5px rgba(245,158,11,.75);--tw-shadow-colored: 0 0 5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_5px_rgba\(59\,130\,246\,0\.7\)\]{--tw-shadow: 0 0 5px rgba(59,130,246,.7);--tw-shadow-colored: 0 0 5px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_6px_hsl\(var\(--deck-accent-glow\)\/0\.5\)\]{--tw-shadow: 0 0 6px hsl(var(--deck-accent-glow)/.5);--tw-shadow-colored: 0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_6px_hsl\(var\(--deck-accent-glow\)\/0\.8\)\]{--tw-shadow: 0 0 6px hsl(var(--deck-accent-glow)/.8);--tw-shadow-colored: 0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_6px_hsl\(var\(--deck-accent-glow\)\/0\.9\)\]{--tw-shadow: 0 0 6px hsl(var(--deck-accent-glow)/.9);--tw-shadow-colored: 0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_60px_-24px_hsl\(var\(--deck-accent\)\/0\.4\)\]{--tw-shadow: 0 18px 60px -24px hsl(var(--deck-accent)/.4);--tw-shadow-colored: 0 18px 60px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_1px_0_hsl\(var\(--deck-hairline\)\)\]{--tw-shadow: 0 1px 0 hsl(var(--deck-hairline));--tw-shadow-colored: 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_1px_2px_hsl\(var\(--deck-ink\)\/0\.04\)\]{--tw-shadow: 0 1px 2px hsl(var(--deck-ink)/.04);--tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_28px_80px_-32px_hsl\(var\(--deck-accent\)\/0\.28\)\,0_2px_0_hsl\(var\(--deck-hairline\)\)\]{--tw-shadow: 0 28px 80px -32px hsl(var(--deck-accent)/.28),0 2px 0 hsl(var(--deck-hairline));--tw-shadow-colored: 0 28px 80px -32px var(--tw-shadow-color), 0 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-\[hsl\(var\(--deck-accent\)\/0\.2\)\]{--tw-ring-color: hsl(var(--deck-accent)/.2)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur-xl{--tw-blur: blur(24px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[1px\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\,box-shadow\,transform\]{transition-property:border-color,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[opacity\,color\,background-color\]{transition-property:opacity,color,background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-none{transition-property:none}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@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))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.placeholder\:text-\[\#9CA3AF\]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.placeholder\:text-\[\#9CA3AF\]::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.placeholder\:text-\[hsl\(var\(--deck-ink-faint\)\)\]::-moz-placeholder{color:hsl(var(--deck-ink-faint))}.placeholder\:text-\[hsl\(var\(--deck-ink-faint\)\)\]::placeholder{color:hsl(var(--deck-ink-faint))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-y-1:before{content:var(--tw-content);top:.25rem;bottom:.25rem}.before\:left-0:before{content:var(--tw-content);left:0}.before\:w-0\.5:before{content:var(--tw-content);width:.125rem}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:bg-\[hsl\(var\(--deck-accent\)\)\]:before{content:var(--tw-content);background-color:hsl(var(--deck-accent))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-px:after{content:var(--tw-content);width:1px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:bg-\[hsl\(var\(--deck-accent\)\)\]:after{content:var(--tw-content);background-color:hsl(var(--deck-accent))}.after\:bg-transparent:after{content:var(--tw-content);background-color:transparent}.after\:transition-colors:after{content:var(--tw-content);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:border-r-0:last-child{border-right-width:0px}.focus-within\:border-\[hsl\(var\(--deck-accent\)\/0\.6\)\]:focus-within{border-color:hsl(var(--deck-accent)/.6)}.focus-within\:border-\[hsl\(var\(--deck-accent\)\/0\.65\)\]:focus-within{border-color:hsl(var(--deck-accent)/.65)}.focus-within\:border-\[hsl\(var\(--deck-border-strong\)\)\]:focus-within{border-color:hsl(var(--deck-border-strong))}.focus-within\:border-amber-500:focus-within{--tw-border-opacity: 1;border-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:ring-\[hsl\(var\(--deck-accent\)\)\]:focus-within{--tw-ring-color: hsl(var(--deck-accent))}.focus-within\:ring-\[hsl\(var\(--deck-accent\)\/0\.25\)\]:focus-within{--tw-ring-color: hsl(var(--deck-accent)/.25)}.focus-within\:ring-\[hsl\(var\(--deck-border-strong\)\)\]:focus-within{--tw-ring-color: hsl(var(--deck-border-strong))}.focus-within\:ring-amber-400\/25:focus-within{--tw-ring-color: rgb(251 191 36 / .25)}.hover\:-translate-y-\[1px\]:hover,.hover\:-translate-y-px:hover{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[hsl\(var\(--deck-accent\)\/0\.55\)\]:hover{border-color:hsl(var(--deck-accent)/.55)}.hover\:border-\[hsl\(var\(--deck-border\)\)\]:hover{border-color:hsl(var(--deck-border))}.hover\:border-\[hsl\(var\(--deck-border-strong\)\)\]:hover{border-color:hsl(var(--deck-border-strong))}.hover\:bg-\[\#0F172A\]:hover{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#15803D\]:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#16A34A\]:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#2563EB\]:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#374151\]:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#4F46E5\]:hover{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#D1D5DB\]:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#DC2626\]:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#E5E7EB\]:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#E5E7EB\]\/60:hover{background-color:#e5e7eb99}.hover\:bg-\[\#F3F4F6\]:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#F9FAFB\]:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-\[hsl\(var\(--deck-accent\)\)\]\/90:hover{background-color:hsl(var(--deck-accent) / .9)}.hover\:bg-\[hsl\(var\(--deck-accent\)\/0\.08\)\]:hover{background-color:hsl(var(--deck-accent)/.08)}.hover\:bg-\[hsl\(var\(--deck-accent-soft\)\)\]:hover{background-color:hsl(var(--deck-accent-soft))}.hover\:bg-\[hsl\(var\(--deck-canvas\)\)\]:hover{background-color:hsl(var(--deck-canvas))}.hover\:bg-\[hsl\(var\(--deck-hairline\)\)\]\/50:hover{background-color:hsl(var(--deck-hairline) / .5)}.hover\:bg-\[hsl\(var\(--deck-hairline\)\)\]\/60:hover{background-color:hsl(var(--deck-hairline) / .6)}.hover\:bg-\[hsl\(var\(--deck-ink\)\)\]\/85:hover{background-color:hsl(var(--deck-ink) / .85)}.hover\:bg-\[hsl\(var\(--deck-surface\)\)\]:hover{background-color:hsl(var(--deck-surface))}.hover\:bg-\[hsl\(var\(--deck-surface\)\)\]\/40:hover{background-color:hsl(var(--deck-surface) / .4)}.hover\:bg-\[hsl\(var\(--deck-surface\)\)\]\/60:hover{background-color:hsl(var(--deck-surface) / .6)}.hover\:bg-\[hsl\(var\(--deck-surface\)\)\]\/65:hover{background-color:hsl(var(--deck-surface) / .65)}.hover\:bg-\[hsl\(var\(--deck-surface-2\)\)\]:hover{background-color:hsl(var(--deck-surface-2))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.hover\:bg-amber-500\/10:hover{background-color:#f59e0b1a}.hover\:bg-amber-700:hover{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity, 1))}.hover\:bg-black:hover{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-emerald-100:hover{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-800:hover{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity, 1))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100\/60:hover{background-color:#fee2e299}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-rose-500:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.hover\:bg-rose-500\/10:hover{background-color:#f43f5e1a}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-100:hover{--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}.hover\:text-\[\#111827\]:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-\[\#374151\]:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-\[hsl\(var\(--deck-accent\)\)\]:hover{color:hsl(var(--deck-accent))}.hover\:text-\[hsl\(var\(--deck-ink\)\)\]:hover{color:hsl(var(--deck-ink))}.hover\:text-\[hsl\(var\(--deck-ink-muted\)\)\]:hover{color:hsl(var(--deck-ink-muted))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:text-rose-500:hover{--tw-text-opacity: 1;color:rgb(244 63 94 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-85:hover{opacity:.85}.hover\:shadow-\[0_10px_28px_-14px_hsl\(var\(--deck-accent\)\/0\.35\)\]:hover{--tw-shadow: 0 10px 28px -14px hsl(var(--deck-accent)/.35);--tw-shadow-colored: 0 10px 28px -14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_8px_24px_-16px_hsl\(var\(--deck-ink\)\/0\.35\)\]:hover{--tw-shadow: 0 8px 24px -16px hsl(var(--deck-ink)/.35);--tw-shadow-colored: 0 8px 24px -16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-95:hover{--tw-brightness: brightness(.95);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)}.hover\:after\:bg-\[hsl\(var\(--deck-accent\)\/0\.6\)\]:hover:after{content:var(--tw-content);background-color:hsl(var(--deck-accent)/.6)}.focus\:border-\[\#22C55E\]:focus{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.focus\:border-\[\#8B5CF6\]:focus{--tw-border-opacity: 1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}.focus\:border-\[\#D1D5DB\]:focus{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.focus\:border-\[\#E5E7EB\]:focus{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.focus\:border-\[hsl\(var\(--deck-accent\)\)\]:focus{border-color:hsl(var(--deck-accent))}.focus\:border-\[hsl\(var\(--deck-accent\)\/0\.55\)\]:focus{border-color:hsl(var(--deck-accent)/.55)}.focus\:border-\[hsl\(var\(--deck-accent\)\/0\.6\)\]:focus{border-color:hsl(var(--deck-accent)/.6)}.focus\:border-\[hsl\(var\(--deck-accent\)\/0\.65\)\]:focus{border-color:hsl(var(--deck-accent)/.65)}.focus\:border-amber-500:focus{--tw-border-opacity: 1;border-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.focus\:border-emerald-500:focus{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[hsl\(var\(--deck-accent\)\)\]:focus{--tw-ring-color: hsl(var(--deck-accent))}.focus\:ring-\[hsl\(var\(--deck-accent\)\/0\.25\)\]:focus{--tw-ring-color: hsl(var(--deck-accent)/.25)}.focus\:ring-\[hsl\(var\(--deck-accent\)\/0\.35\)\]:focus{--tw-ring-color: hsl(var(--deck-accent)/.35)}.focus\:ring-\[hsl\(var\(--deck-accent-glow\)\)\]:focus{--tw-ring-color: hsl(var(--deck-accent-glow))}.focus\:ring-amber-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1))}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:bg-\[hsl\(var\(--deck-surface\)\)\]:focus-visible{background-color:hsl(var(--deck-surface))}.focus-visible\:bg-red-500\/10:focus-visible{background-color:#ef44441a}.focus-visible\:text-\[hsl\(var\(--deck-ink\)\)\]:focus-visible{color:hsl(var(--deck-ink))}.focus-visible\:underline:focus-visible{text-decoration-line:underline}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\:ring-\[hsl\(var\(--deck-accent\)\)\]:focus-visible{--tw-ring-color: hsl(var(--deck-accent))}.focus-visible\:ring-\[hsl\(var\(--deck-accent\)\/0\.65\)\]:focus-visible{--tw-ring-color: hsl(var(--deck-accent)/.65)}.focus-visible\:ring-\[hsl\(var\(--deck-accent-glow\)\)\]\/50:focus-visible{--tw-ring-color: hsl(var(--deck-accent-glow) / .5)}.focus-visible\:ring-amber-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-red-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-white:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-\[hsl\(var\(--deck-canvas\)\)\]:focus-visible{--tw-ring-offset-color: hsl(var(--deck-canvas))}.focus-visible\:after\:bg-\[hsl\(var\(--deck-accent\)\)\]:focus-visible:after{content:var(--tw-content);background-color:hsl(var(--deck-accent))}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:bg-\[\#E5E7EB\]:disabled{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.disabled\:text-\[\#9CA3AF\]:disabled{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-55:disabled{opacity:.55}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-65:disabled{opacity:.65}.group[open] .group-open\:rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:border-\[hsl\(var\(--deck-accent\)\)\]{border-color:hsl(var(--deck-accent))}.group:hover .group-hover\:border-\[hsl\(var\(--deck-accent\)\/0\.5\)\]{border-color:hsl(var(--deck-accent)/.5)}.group:hover .group-hover\:bg-\[hsl\(var\(--deck-accent-soft\)\)\]{background-color:hsl(var(--deck-accent-soft))}.group:hover .group-hover\:text-\[hsl\(var\(--deck-accent\)\)\]{color:hsl(var(--deck-accent))}.group\/proj:hover .group-hover\/proj\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.data-\[state\=active\]\:bg-\[hsl\(var\(--deck-canvas-veil\)\)\][data-state=active]{background-color:hsl(var(--deck-canvas-veil))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:text-\[hsl\(var\(--deck-ink\)\)\][data-state=active]{color:hsl(var(--deck-ink))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:divide-\[\#27272a\]:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(39 39 42 / var(--tw-divide-opacity, 1))}.dark\:border-\[\#1f2937\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.dark\:border-\[\#22C55E\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.dark\:border-\[\#22C55E\]\/30:is(.dark *){border-color:#22c55e4d}.dark\:border-\[\#27272a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))}.dark\:border-\[\#3f3f46\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity, 1))}.dark\:border-\[\#4C1D95\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(76 29 149 / var(--tw-border-opacity, 1))}.dark\:border-\[\#52525b\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(82 82 91 / var(--tw-border-opacity, 1))}.dark\:border-amber-400\/15:is(.dark *){border-color:#fbbf2426}.dark\:border-amber-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(180 83 9 / var(--tw-border-opacity, 1))}.dark\:border-amber-800\/60:is(.dark *){border-color:#92400e99}.dark\:border-amber-800\/70:is(.dark *){border-color:#92400eb3}.dark\:border-amber-800\/80:is(.dark *){border-color:#92400ecc}.dark\:border-amber-900\/60:is(.dark *){border-color:#78350f99}.dark\:border-amber-900\/70:is(.dark *){border-color:#78350fb3}.dark\:border-blue-900\/60:is(.dark *){border-color:#1e3a8a99}.dark\:border-emerald-800\/55:is(.dark *){border-color:#065f468c}.dark\:border-emerald-800\/70:is(.dark *){border-color:#065f46b3}.dark\:border-emerald-900\/40:is(.dark *){border-color:#064e3b66}.dark\:border-green-900\/60:is(.dark *){border-color:#14532d99}.dark\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:border-red-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(127 29 29 / var(--tw-border-opacity, 1))}.dark\:border-red-900\/50:is(.dark *){border-color:#7f1d1d80}.dark\:border-red-900\/60:is(.dark *){border-color:#7f1d1d99}.dark\:border-red-900\/70:is(.dark *){border-color:#7f1d1db3}.dark\:border-rose-900\/60:is(.dark *){border-color:#88133799}.dark\:border-sky-400\/15:is(.dark *){border-color:#38bdf826}.dark\:border-zinc-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity, 1))}.dark\:border-zinc-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))}.dark\:bg-\[\#052E16\]\/50:is(.dark *){background-color:#052e1680}.dark\:bg-\[\#09090b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0C0C0C\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(12 12 12 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#0a0a0a\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111113\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 17 19 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#111827\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#18181b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1E1B4B\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 27 75 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1e1e1e\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 30 30 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1e3a8a\]\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-\[\#1f2937\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#22C55E\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#22C55E\]\/10:is(.dark *){background-color:#22c55e1a}.dark\:bg-\[\#22C55E\]\/20:is(.dark *){background-color:#22c55e33}.dark\:bg-\[\#27272a\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2E1065\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(46 16 101 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#3B82F6\]\/20:is(.dark *){background-color:#3b82f633}.dark\:bg-\[\#3b82f6\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#3f3f46\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#E5E5E5\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#EF4444\]\/10:is(.dark *){background-color:#ef44441a}.dark\:bg-\[\#EF4444\]\/20:is(.dark *){background-color:#ef444433}.dark\:bg-\[\#F59E0B\]\/20:is(.dark *){background-color:#f59e0b33}.dark\:bg-\[\#a1a1aa\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(161 161 170 / var(--tw-bg-opacity, 1))}.dark\:bg-\[hsl\(var\(--deck-surface\)\)\]:is(.dark *){background-color:hsl(var(--deck-surface))}.dark\:bg-amber-300:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity, 1))}.dark\:bg-amber-400\/\[0\.05\]:is(.dark *){background-color:#fbbf240d}.dark\:bg-amber-950\/20:is(.dark *){background-color:#451a0333}.dark\:bg-amber-950\/25:is(.dark *){background-color:#451a0340}.dark\:bg-amber-950\/30:is(.dark *){background-color:#451a034d}.dark\:bg-amber-950\/35:is(.dark *){background-color:#451a0359}.dark\:bg-amber-950\/40:is(.dark *){background-color:#451a0366}.dark\:bg-amber-950\/50:is(.dark *){background-color:#451a0380}.dark\:bg-amber-950\/60:is(.dark *){background-color:#451a0399}.dark\:bg-amber-950\/70:is(.dark *){background-color:#451a03b3}.dark\:bg-amber-950\/90:is(.dark *){background-color:#451a03e6}.dark\:bg-blue-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-950\/30:is(.dark *){background-color:#1725544d}.dark\:bg-emerald-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.dark\:bg-emerald-950\/20:is(.dark *){background-color:#022c2233}.dark\:bg-emerald-950\/40:is(.dark *){background-color:#022c2266}.dark\:bg-green-950\/20:is(.dark *){background-color:#052e1633}.dark\:bg-orange-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(251 146 60 / var(--tw-bg-opacity, 1))}.dark\:bg-red-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.dark\:bg-red-950\/30:is(.dark *){background-color:#450a0a4d}.dark\:bg-red-950\/35:is(.dark *){background-color:#450a0a59}.dark\:bg-red-950\/40:is(.dark *){background-color:#450a0a66}.dark\:bg-red-950\/45:is(.dark *){background-color:#450a0a73}.dark\:bg-red-950\/50:is(.dark *){background-color:#450a0a80}.dark\:bg-rose-950\/30:is(.dark *){background-color:#4c05194d}.dark\:bg-sky-400\/\[0\.05\]:is(.dark *){background-color:#38bdf80d}.dark\:bg-sky-950\/40:is(.dark *){background-color:#082f4966}.dark\:bg-violet-950\/50:is(.dark *){background-color:#2e106580}.dark\:bg-zinc-100:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}.dark\:bg-zinc-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(113 113 122 / var(--tw-bg-opacity, 1))}.dark\:bg-zinc-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.dark\:bg-zinc-800\/70:is(.dark *){background-color:#27272ab3}.dark\:bg-zinc-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.dark\:bg-zinc-900\/50:is(.dark *){background-color:#18181b80}.dark\:text-\[\#0C0C0C\]:is(.dark *){--tw-text-opacity: 1;color:rgb(12 12 12 / var(--tw-text-opacity, 1))}.dark\:text-\[\#111827\]:is(.dark *){--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.dark\:text-\[\#18181b\]:is(.dark *){--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.dark\:text-\[\#22C55E\]:is(.dark *){--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.dark\:text-\[\#3b82f6\]:is(.dark *){--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.dark\:text-\[\#60A5FA\]:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-\[\#60a5fa\]:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-\[\#71717a\]:is(.dark *){--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.dark\:text-\[\#86efac\]:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-\[\#93c5fd\]:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-\[\#94a3b8\]:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-\[\#C4B5FD\]:is(.dark *){--tw-text-opacity: 1;color:rgb(196 181 253 / var(--tw-text-opacity, 1))}.dark\:text-\[\#E5E5E5\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.dark\:text-\[\#FBBF24\]:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-\[\#a1a1aa\]:is(.dark *){--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d4d4d8\]:is(.dark *){--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.dark\:text-\[\#f4f4f5\]:is(.dark *){--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.dark\:text-\[\#facc15\]:is(.dark *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.dark\:text-\[\#fca5a5\]:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-amber-100:is(.dark *){--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity, 1))}.dark\:text-amber-200:is(.dark *){--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-cyan-400:is(.dark *){--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.dark\:text-emerald-200:is(.dark *){--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-rose-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.dark\:text-sky-100:is(.dark *){--tw-text-opacity: 1;color:rgb(224 242 254 / var(--tw-text-opacity, 1))}.dark\:text-sky-300:is(.dark *){--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.dark\:text-violet-300:is(.dark *){--tw-text-opacity: 1;color:rgb(196 181 253 / var(--tw-text-opacity, 1))}.dark\:text-zinc-100:is(.dark *){--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.dark\:text-zinc-200:is(.dark *){--tw-text-opacity: 1;color:rgb(228 228 231 / var(--tw-text-opacity, 1))}.dark\:text-zinc-300:is(.dark *){--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.dark\:text-zinc-400:is(.dark *){--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.dark\:text-zinc-50:is(.dark *){--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity, 1))}.dark\:text-zinc-500:is(.dark *){--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.dark\:text-zinc-600:is(.dark *){--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.dark\:text-zinc-900:is(.dark *){--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-\[\#71717a\]:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-\[\#71717a\]:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-zinc-600:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-zinc-600:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-\[\#18181b\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#1ea34b\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 163 75 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#1f1f23\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 31 35 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#27272a\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#27272a\]\/50:hover:is(.dark *){background-color:#27272a80}.dark\:hover\:bg-\[\#32323a\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(50 50 58 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#3f3f46\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-amber-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(120 53 15 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-amber-900\/40:hover:is(.dark *){background-color:#78350f66}.dark\:hover\:bg-amber-900\/50:hover:is(.dark *){background-color:#78350f80}.dark\:hover\:bg-emerald-900\/50:hover:is(.dark *){background-color:#064e3b80}.dark\:hover\:bg-red-900\/60:hover:is(.dark *){background-color:#7f1d1d99}.dark\:hover\:bg-red-950:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(69 10 10 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-950\/30:hover:is(.dark *){background-color:#450a0a4d}.dark\:hover\:bg-red-950\/40:hover:is(.dark *){background-color:#450a0a66}.dark\:hover\:bg-red-950\/60:hover:is(.dark *){background-color:#450a0a99}.dark\:hover\:bg-white:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-zinc-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-zinc-800\/50:hover:is(.dark *){background-color:#27272a80}.dark\:hover\:bg-zinc-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.dark\:hover\:text-\[\#E5E5E5\]:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.dark\:hover\:text-\[\#d4d4d8\]:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.dark\:hover\:text-red-100:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.dark\:hover\:text-red-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:text-zinc-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(228 228 231 / var(--tw-text-opacity, 1))}.dark\:hover\:text-zinc-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.dark\:hover\:shadow-\[0_10px_28px_-14px_hsl\(var\(--deck-accent\)\/0\.55\)\]:hover:is(.dark *){--tw-shadow: 0 10px 28px -14px hsl(var(--deck-accent)/.55);--tw-shadow-colored: 0 10px 28px -14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:focus\:border-\[\#27272a\]:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))}.dark\:focus\:border-\[\#3f3f46\]:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity, 1))}.dark\:disabled\:bg-zinc-800:disabled:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.dark\:disabled\:text-zinc-600:disabled:is(.dark *){--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}@media not all and (min-width: 1024px){.max-lg\:fixed{position:fixed}.max-lg\:inset-0{top:0;right:0;bottom:0;left:0}.max-lg\:z-\[60\]{z-index:60}.max-lg\:hidden{display:none}.max-lg\:\!h-dvh{height:100dvh!important}.max-lg\:\!w-full{width:100%!important}.max-lg\:min-w-0{min-width:0px}.max-lg\:\!max-w-full{max-width:100%!important}.max-lg\:border-l-0{border-left-width:0px}}@media not all and (min-width: 640px){.max-sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-sm\:grid-rows-\[180px_minmax\(0\,1fr\)\]{grid-template-rows:180px minmax(0,1fr)}}@media (min-width: 640px){.sm\:top-\[18\%\]{top:18%}.sm\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-auto{height:auto}.sm\:w-\[220px\]{width:220px}.sm\:max-w-\[320px\]{max-width:320px}.sm\:max-w-\[400px\]{max-width:400px}.sm\:max-w-\[480px\]{max-width:480px}.sm\:max-w-\[540px\]{max-width:540px}.sm\:max-w-xl{max-width:36rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-10{padding:2.5rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pl-4{padding-left:1rem}.sm\:text-left{text-align:left}}@media (min-width: 768px){.md\:inline-flex{display:inline-flex}.md\:min-h-\[360px\]{min-height:360px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 1024px){.lg\:block{display:block}.lg\:inline-flex{display:inline-flex}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\>div\>div\.flex\]\:flex-wrap>div>div.flex{flex-wrap:wrap}.\[\&\>div\>div\.flex\]\:gap-2>div>div.flex{gap:.5rem}.\[\&\>div\]\:\!block>div{display:block!important}.\[\&_h1\]\:text-\[14px\] h1{font-size:14px}.\[\&_h2\]\:text-\[13px\] h2{font-size:13px}.\[\&_h3\]\:text-\[12px\] h3{font-size:12px}.\[\&_select\]\:max-w-full select{max-width:100%}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:h-3\.5 svg{height:.875rem}.\[\&_svg\]\:w-3\.5 svg{width:.875rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA9UABAAAAAALMAAAA7zAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhWocghYGYD9TVEFUXgCDBBEICrBAp3ILgjgAATYCJAOEKAQgBYUAB4xODAcbIiYzo8LGAQCKfn4o/usELQ4rdj22ABHwitFYjZPqB3XSqAbV3C5dFkHYtTehxpeGbU+3+QexdERCkxARw9oNxAyetvXzdhdjl/7aiBiHgcqBjZywaGPSh4mNFccpF3DHlfyO8Jc/OiSe/kb7/iQYRAE23iScpHngiRRBFETNiZzQwc2HOllJ0fqXIjTY8RTYbDsklKc81hGPQcOJojhD/w80ll1aG/qiQErbzqOXjmvOVKd14tuv+Hxrlbarq/5xH7CiMPjaZXlrfNSp7uqaroZXvYAzc8A0kH2zs3MvHQBUORcJ2GG2cdFRgArh+Sgb7yOsjImpmgM0kq1FwhQCQzQ1Mt+j7at5GSAAIQAAKFLk6uMul4pIl4HIpEEUK0dUMiCMmhFWNoSDC+Exghgzi5i3hNhtN9qaINo+EbQj1tEIgJVLj5oebQ6I1/fyLMQYALYgALKS0yEOQCJG89uIiEPKyeRDVCmC0HgZ203jIg7kk6cHxfEKeBSDXtxd6n5yJzqpfSgXs9xMri1fPezlKMAVcCGEIhmwHiDRtJOyKfXkGsAVqI7ohIZs0rsDM/IU4fuQgkppCk2n+VRHy6mFttJ26t16mBjQPyIeYhvZnyXaiDSeaAYYXLiKPIm4uKh1zIq6gSRVU7WNPIV5v1PwBOy07RrrT6skwoEAtYyZeYgpBUABaDEmtPWRGP/UGABFgUUjchFXAghAgAYQpyPkCIBBoRwQgU/g3kQcyqTY9KSDItmjjmmkP+qJHG3C66hjXhtlhzwglI+1+4Be+T77hYQxxeNkCIDaKU+ANXhkMqePOVAQr7uwCjoBlCdtHQE8TNRd17//A/evkhSpkOMDA9VTmwAVAbLNlwMkoAG5qG2bWCYA/h3uEYgEhFqSmJJPpCIFbJHg1Aw5GaAujjqMzIHc8NrIHBEJJjGZP3cuFQZD9PvzLvZIaCIjBcTvEnIzTWiGjqdzlD+VAO2TUERK8smEi8lNNOguiAM9P6Gfo6bX8bD0v7V/cPwA/fDBi0BaGgUllWy5AATy6X9gAZqRVIsMLuVmqQ3QmrBbiFgTiWbxLDj1hBqINGLVYewQwySWWRyeQK1kXVJ0S2UjZ5WgXaIOSTodp42CUzqHXH226ZfJI4tXth45eqnslGdQgSGFhmmMyOdTbEyJcdv56U0pNa3MDJ1JVRZUmldtkcESglQkAOA8AMgAoBeYLQi+wDxAtwAAGlXJUdVLPLmo/TLRystE3SsqO29LUY0hsrtvBoXUw1Fy+XjIhqbj4rEZISsUysW1L68PlGRwyWImjWXjS9LFyUzjC7v7Z5hYsYKRhIH49EyxTJxutwOy2PRxp1R63SVViB+eNFYRywlEzJBIMDIl5Aa4PtbFOno416WTTkfVQwSPgIve66BCbLAuLmpCh59ln5uFECODSuUIJ2CJCCzDwbf+DV2/3yTtan5J1gEVuilcVASHULO9Bt+nWkIEHMMit5gOxaO4JpWjvdzOcySeFek9q4dy3jxi2BxHwsuuo2CzbQ+KJWxyqPUJljVCU3WT8JwlhZyLkKODRhZkQByHu8ERJIcGBexSmdwGPfMPbjnC0SwRUTyCAIwY4Mdr9zxJTKE5yp0mcEe9s3Umm/TZp2s4X/27cQUmhrd4Ow4ibPOTOxxT6w+S8ENc9AGE7meFOlNbuzjngJtzjFKcrMsxtf4G4UIPcNGXbvwNaeDea6+1L7kaYG+M13a455pruOh5Ww0HlhllPy/PsqS9Zr7ZV9cSLODAoItzBt2cI5i1brCxQRIcH6yr9wV5+XjhtlxuziH7LiqGTXVnkfCZntd1doJ5liyIno6X3GqH56fcnGNwE2IXvYhw5a/MJGsMns/TOawd+2HX5kOXxQZFsYkwmMetzGtqKDKSe+h9h7jX77z2Snb98vyL7rjmil1N3B/cCBfsC5rymA/ExpPlni/DL9i7eflmn66oxrSlMRRB/8Dbq/e/3aN95L3BG+dFd1d+uCVzKhQy5/+I77CmWJ/o2Hygaay8yleXU1c1NH2IpqHOYUtriyWHf3iZwxjZvNxm/Ti/O5+22uC3nVFxhu1wvQc08ZZ+nb5/9oBF38ehJXaKPt7K6/v34Ltqai21rbXDXI3BRDa+9XDSGp8gzZZarV2ag9v3RBzSNfFjU/M+uVduNDTsMNY0GCOHDU3O4dazeb3zFXjg0rlPuiV75+m+kzV3v5qc/PHdJ2j6pI+wDP+U7mFPW/uw23ltZemTVTo+3+KNa1yyuwdmfI41j1/yvbG3oaLR3G3Sd1xdrNOUfAou3jYw0z860D9jr+9sqU1IIHve9W56/fIEU2fztvaqHQ213trhKauqjXVmr/kFxP1m7bdCE88Plpb1m840l/VNQz72QvvMPlc5z9fvKPt1xBtXv9yVZ9nGmxscXiDfwGcI4LQ9duBaG7Nxjw2aWMuArp7In2qxObTwKfr40/iy/j34zhqeN59qHuZqDBaysQWiL/PZsk4cyV13mvbwWw7phfEDC/O+fm9/ram+sspcXxs5hm9pHjufSujGRbKXaTPmBAPPfMm45bau15+jR/bbBx80mR7sCth94rfB6Q6sngJcuO1v4a7Lu157ad9GKIlypuEea9GDnXs0IytDmZ2Rka2cVv4jrIHmaFZ3O9OWlWX7gLuRH1mMjsxE8VrEH/XNRrErsh61R6PD3e2d7dDsb3Z38k15W/kFkrwmHk+PhWNKx3nLMhHkSl5ZLMvHWPGPfwRB9AKr2QoSUb4qSlB18X715zkqwRI0G3lvUOptugtcID+tsKQForrC+pqxS4X1dcof21bf4OQcbZ2Le6y53kKao3rxNWE9f1a+S3t2tiIu5yej2d/W12RozBwrLh7LbDT0NkUDi+HBQPj0xIlAoKHFFxAMPB8Vce+KKo28Rq0SHV3LUk6MNLv35DMrCzVNmbxBeCGCKzMtu20y8f+SVD4h31Sosky03Upl9YJxzh+L0ZFANLR4LOpYj452tne145E/wok2e6JX/xBX/vH8WaFQojdWlrhzuOXjs1Zn3cCkT4qWSmZeqX/B4tciE4HBmUBZwGxtMDaqnCpdllPVaIzdNw9ZqfDU30ppYDgw2B+A5JP5L8bj4tgWoy/t6WRRcO2P8uFDakiP2fMWaviyaOYFr94gE0nEsXysWligOuHRC2TiH0XSJ/4WqQcjE4GxmUAocKlG+jECgZHFwGX8vabVzf8f4KQSi8Gp6laIdgV0q8OzbmjyaWdnW1MQXZoJDb7ZaEdzVzMoNQiAGESUwszDAIzTDIqSxGFoxoRZ/vTKM8CfyZ9V/ZAPfzZ/Ds4tMHm0dSxCkOPaNpKlK8/KwGQVCdzqbPDn1HKuiT8WHUnStEQYZB2TC6WJ6spymNIjBV7JK5lSs1C5qDoRSYBUSlgH31LlM7X5O4o8eBxrX3MDwtOG1iZdZ/NjXsu0gBJohRVmlQNfwVfQmsReAdZEAahljqkMaxLHg/gT+BONkwxcgT0CH/5k/pQrcCpMUYiGtPqbDGvVgALfitYyTHyI7iP25WqsSqAlstCbcmZ3k0PcRZlgbs0KCrwb7lImBTqQCCawVEpMWHur0DRm3+9sVAOK6UQiqESr8NaEtY8Vu86AIjK3KRZhXNwqD34Oc38umLZM7/33+38/uOj7///Z9yMAAHqAUtN3Bsa/l9rSiKVxlONqqbKozYWfYMRMRkicEE2FhIs4TuWQJL0RDNwCPy0hP1CbGAVY9Mb6W+DZ2p14CIQoIBjqGKpe6lOONhDJTUFBXMgZYOPct8C7Ffmf2jR2ksQ72U7f6SBu5gywoW8x2Qhy1APl1CZGAQ4ksGGD8loGsjY0UQKXmhdvpBboCNglmiU2XUCieL2dF1bDaTacoykaTjgFAhquyoFkiSk0LZyooeM7gQDVIlmNOwCPlICNKQpatkhBhUQJpdLCVwFqWj3FQ8sWeajTWbJiLeRJQlRmsyh1YLRZtAzVNr0dAoCqYN6wXLhzQGL8LY6mvwSAd1698ly88s2Xfwa7FbVA/wsgBhQAgABfG3dQHs2o/066DhB0wWo68NIlpR8Rtqkj9flbwtMc3oZyWoIn3n+L86o5vA1V8ng6L4C9+Ax3YgMBHN8Er4rV97ZRXgdo2vF244hH35wAzlOM0Y1BABGNnNCZ4UFNPID7U9KeSCgiP5EiDnMizejpExlFzj9RIM2BE2MU8pwgViH7TAQQSqpgnDuJJAk2kHIaYDNnhs+sFsvBuaf5DXMbXT9uwvLIbk49b4mBNm3JsEV+85YtKUHWb5rT5ywap9WpUZtWo6q5Fot8W89a0m4OaXOK2Ywat2KaD3NdRi1S/+eloldCT0fn1K5q61Mpa6eaNrKMB6WMQqn83IfXmTNv1eIRiaKj7aOsikMmoxej+EfqsmjOpFHDLnneylGLQxT66vnHnh/n12VXDN1Hw6/bcNpctWo3vrwApZvfrdEDiP8IzgPkeiYUoQlzDvYWB0cnZ6uLq5t7+aRk5I6TIFGS5IqkSJWWXjqFDEqZVLJky5FrG7W8quQrUEijSLESWtsz0tErVVa9chUqValmUMNoh1omZjxSM4s69Ro0atKspTe1smrLpl2HTl262dg5OLm4eezMw6tHrz79BgzyGarXsBGjxqJtJvhNmjJtxqw58xYsWrJsxS4Bu61aE7THXvvsFxJ2wEERhxx2xFHHrIs6fuE/r+1vm6/8jhhtDCwnASDGR1h4SGhYwEGU1Y/Xffk5G4u9XgIAYtxyGpZ5y9sDdNbyP142W5DgAhoE7i3q0c5x2vm9v24aZuNohdcxqSEAz8up00My03HSwmqPa8bMecG3Tjzb+f9EelEtg2vpzPeiIEEBwSA8IEDBwAE9F5Z6vQIQjAnLGTgWLO+uZTL/qwGEAYOAQpg3TefgwBCQgBDzqukKDBAOoU3KVtqIbBXK9XpEAAujuudkZN724kIGmrtVaS38ZZLrS9/4fsKMQhN3yXK5gvSBvJ2Y9/Nydbcvb0bm58+e3FhmGfGLJ9u7axl1F1LQTbaCeyrbu7wFCsorFgV4qnh+GUrWtaczqkSBB96AEeKRB94k2SyLuyw3qwrxeg3P5FNR1Av1Gsq2/ds6dPPkBAAA) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
|