uilint-react 0.2.163 → 0.2.165

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/devtools.js CHANGED
@@ -253,7 +253,7 @@ You might need to use a local HTTP server (instead of file://): https://react.de
253
253
  `);return{content:l.content,lines:u,totalLines:u.length,relativePath:l.filePath}}let Nr=null;function aR(a){const o=Y7({manifestUrl:a});Nr={mode:"static",manifestUrl:a,fetcher:o,manifest:null},Ye("[ESLint Plugin] Configured for static mode:",a)}function Cb(){return Nr!==null}function iR(){Nr=null}function $7(a){if(!Nr)return yn("[ESLint Plugin] Static mode not configured"),()=>{};const{fetcher:o}=Nr;Ye("[ESLint Plugin] Initializing in static mode..."),a.setState({scanStatus:"scanning"}),o.fetch().then(({manifest:u})=>{Nr.manifest=u,I7(a,u)}).catch(u=>{yn("[ESLint Plugin] Failed to fetch manifest:",u),a.setState({scanStatus:"error"})});const l=a.domObserver.onElementsAdded(u=>{Nr?.manifest&&Ye("[ESLint Plugin] Static mode: DOM elements detected:",u.length)});return()=>{l(),Ye("[ESLint Plugin] Static mode disposed")}}function Q7(){if(!Nr?.manifest)return null;const{manifest:a}=Nr;return{generatedAt:a.generatedAt,commitSha:a.commitSha,branch:a.branch,summary:a.summary}}const WS=new Map;function Z7({filePath:a,enabled:o=!0}){const[l,u]=N.useState(null),[d,p]=N.useState(!1),[g,v]=N.useState(null),b=we(C=>C.wsConnected),S=N.useRef(null),T=N.useCallback(()=>{if(!o||!a)return;const C=eR(a);if(C){u(C),p(!1),v(null);return}if(!b&&Cb()){const V=JS(a);if(V){const B=Tb(a,V.content,V.totalLines,V.relativePath);u(B),p(!1),v(null)}else u(null),p(!1),v("Source not available in manifest");return}if(!b)return;const k=WS.get(a);if(k){p(!0),k.then(V=>{V&&(u(V),v(null)),p(!1)});return}p(!0),v(null);const M=`source-full-${a}-${Date.now()}`;S.current=M;const j=new Promise(V=>{const B=Vo.on("source:result",te=>{if(te.filePath===a){const K=Tb(te.filePath,te.content,te.totalLines,te.relativePath);B(),F(),V(K)}}),F=Vo.on("source:error",te=>{te.filePath===a&&(v(te.error),B(),F(),V(null))});Vo.send({type:"source:fetch",filePath:a,requestId:M}),setTimeout(()=>{B(),F(),V(null)},1e4)});WS.set(a,j),j.then(V=>{V&&u(V),p(!1)}).finally(()=>{WS.delete(a)})},[a,o,b]);return N.useEffect(()=>{T()},[T]),N.useEffect(()=>a?Vo.on("file:changed",k=>{(k.filePath===a||k.filePath.endsWith(a)||a.endsWith(k.filePath))&&(tR(a),u(null),o&&T())}):void 0,[a,o,T]),{source:l,lines:l?.lines??[],totalLines:l?.totalLines??0,isLoading:d,error:g,refetch:T}}function F7(a){switch(a){case"error":return{border:"border-error/20",bg:"bg-error/[0.06]",dot:"bg-error/70"};case"warning":return{border:"border-warning/20",bg:"bg-warning/[0.06]",dot:"bg-warning/70"};case"info":return{border:"border-info/20",bg:"bg-info/[0.06]",dot:"bg-info/70"}}}function P7({issue:a,isSelected:o,onSelect:l,gutterWidth:u=40,className:d}){const p=N.useRef(null),g=F7(a.severity);return N.useLayoutEffect(()=>{o&&p.current?.scrollIntoView&&p.current.scrollIntoView({block:"nearest",behavior:"smooth"})},[o]),E.jsxs(Ze.div,{ref:p,onClick:l,layout:!0,layoutId:`issue-${a.id}`,initial:!1,animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.98},transition:{duration:.15,ease:[.32,.72,0,1],layout:{duration:.2}},className:xe("flex items-start gap-2 cursor-pointer","mx-2 my-1","py-2 px-3","rounded-lg","border",g.border,g.bg,o&&"ring-1 ring-foreground/20","hover:brightness-[0.97]","transition-all duration-100",d),style:{marginLeft:u+8},children:[E.jsx("div",{className:xe("flex-shrink-0 mt-1","w-1.5 h-1.5 rounded-full",g.dot)}),E.jsx("p",{className:xe("flex-1 min-w-0","text-[11px] leading-relaxed","text-foreground/80","font-sans",o?"line-clamp-none":"line-clamp-2"),children:a.message})]})}function K7(a){switch(a){case"error":return"bg-error/60";case"warning":return"bg-warning/60";case"info":return"bg-info/60"}}function J7({issue:a,firstLine:o,isSelected:l,onSelect:u,gutterWidth:d=40,className:p}){const g=N.useRef(null);return N.useLayoutEffect(()=>{l&&g.current?.scrollIntoView&&g.current.scrollIntoView({block:"nearest",behavior:"smooth"})},[l]),E.jsxs(Ze.button,{ref:g,type:"button",onClick:u,layout:!0,layoutId:`issue-ref-${a.id}`,initial:!1,animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.12,ease:[.32,.72,0,1],layout:{duration:.15}},className:xe("flex items-center gap-1.5 cursor-pointer","mx-2 my-0.5","py-1 px-2","rounded","text-[10px] text-muted-foreground/50","hover:text-muted-foreground/70 hover:bg-foreground/[0.02]",l&&"text-muted-foreground/70 bg-foreground/[0.03]","transition-colors duration-100",p),style:{marginLeft:d+8},children:[E.jsx("div",{className:xe("w-1 h-1 rounded-full flex-shrink-0",K7(a.severity))}),E.jsxs("span",{className:"font-mono",children:["↳ line ",o]})]})}function W7(a){switch(a){case"error":return"bg-error/80";case"warning":return"bg-warning/80";case"info":return"bg-info/80"}}function e9(a){switch(a){case"error":return"hover:bg-error/10";case"warning":return"hover:bg-warning/10";case"info":return"hover:bg-info/10"}}function t9(a){switch(a){case"error":return"border-error/30";case"warning":return"border-warning/30";case"info":return"border-info/30"}}function n9({issue:a,onSelect:o,gutterWidth:l=40,className:u}){const d=N.useRef(null),[p,g]=N.useState(!1);return N.useLayoutEffect(()=>{const v=d.current;if(!v)return;const b=()=>{v.scrollIntoView({block:"nearest",behavior:"smooth"})};return v.addEventListener("focus",b),()=>v.removeEventListener("focus",b)},[]),E.jsxs(Ze.button,{ref:d,type:"button",onClick:o,onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1),layout:!0,layoutId:`issue-collapsed-${a.id}`,initial:!1,animate:{opacity:1,scale:1,x:0},exit:{opacity:0,scale:.8},transition:{duration:.15,ease:[.32,.72,0,1],layout:{duration:.2}},className:xe("relative flex items-center gap-1.5","mx-2 my-0.5","py-1 px-2","rounded-full","border","bg-foreground/[0.02]",t9(a.severity),e9(a.severity),"cursor-pointer","transition-colors duration-100","focus:outline-none focus:ring-1 focus:ring-foreground/20",u),style:{marginLeft:l+8},"aria-label":`Issue on line ${a.line}: ${a.message}`,children:[E.jsx("div",{className:xe("w-1.5 h-1.5 rounded-full flex-shrink-0",W7(a.severity))}),E.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground/60 tabular-nums",children:["L",a.line]}),E.jsx(ti,{children:p&&E.jsxs(Ze.div,{initial:{opacity:0,y:4,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:4,scale:.95},transition:{duration:.15},className:xe("absolute left-0 top-full mt-1 z-50","max-w-xs","py-1.5 px-2.5","rounded-lg","bg-popover","border border-foreground/10","shadow-lg shadow-black/10","pointer-events-none"),children:[E.jsx("p",{className:"text-[11px] text-foreground/80 leading-relaxed line-clamp-3",children:a.message}),E.jsx("p",{className:"text-[9px] text-muted-foreground/50 mt-1 font-mono",children:a.ruleId})]})})]})}function a9(a,o,l=2){if(a.length===0)return o>0?{regions:[],gaps:[{id:0,startLine:1,endLine:o,lineCount:o,position:"start"}]}:{regions:[],gaps:[]};const u=[...a].sort((b,S)=>b.line-S.line),d=[];for(const b of u){const S=Math.max(1,b.line-l),T=Math.min(o,b.line+l),C=d[d.length-1];C&&S<=C.end+1?(C.end=Math.max(C.end,T),C.issues.push(b)):d.push({start:S,end:T,issues:[b]})}const p=d.map(b=>({startLine:b.start,endLine:b.end,issues:b.issues})),g=[];let v=0;p.length>0&&p[0].startLine>1&&g.push({id:v++,startLine:1,endLine:p[0].startLine-1,lineCount:p[0].startLine-1,position:"start"});for(let b=0;b<p.length-1;b++){const S=p[b].endLine,T=p[b+1].startLine;T>S+1&&g.push({id:v++,startLine:S+1,endLine:T-1,lineCount:T-S-1,position:"middle"})}if(p.length>0){const b=p[p.length-1];b.endLine<o&&g.push({id:v++,startLine:b.endLine+1,endLine:o,lineCount:o-b.endLine,position:"end"})}return{regions:p,gaps:g}}function i9(a,o){const l=a.gaps.findIndex(g=>g.id===o);if(l===-1)return a;const u=a.gaps[l],d=[...a.regions],p=a.gaps.filter(g=>g.id!==o);if(u.position==="start")d.length>0?d[0]={...d[0],startLine:u.startLine}:d.push({startLine:u.startLine,endLine:u.endLine,issues:[]});else if(u.position==="end")if(d.length>0){const g=d.length-1;d[g]={...d[g],endLine:u.endLine}}else d.push({startLine:u.startLine,endLine:u.endLine,issues:[]});else{const g=d.findIndex(b=>b.endLine===u.startLine-1),v=d.findIndex(b=>b.startLine===u.endLine+1);if(g!==-1&&v!==-1){const b={startLine:d[g].startLine,endLine:d[v].endLine,issues:[...d[g].issues,...d[v].issues]};v>g?(d.splice(v,1),d.splice(g,1,b)):(d.splice(g,1),d.splice(v,1,b))}}return{regions:d,gaps:p}}function o9(a,o){return a.filter(l=>l.line===o)}function r9(a){if(a.length===0)return null;const o={error:0,warning:1,info:2};return[...a].sort((u,d)=>o[u.severity]-o[d.severity])[0].severity}function l9(a,o){if(!o)return"";switch(a){case"error":return"bg-error/[0.04]";case"warning":return"bg-warning/[0.04]";case"info":return"bg-info/[0.04]";default:return""}}function s9(a,o){if(!o)return"border-l border-l-transparent";switch(a){case"error":return"border-l border-l-error/50";case"warning":return"border-l border-l-warning/50";case"info":return"border-l border-l-info/50";default:return"border-l border-l-transparent"}}function u9({lines:a,startLine:o,issues:l,selectedIssueId:u,onIssueSelect:d,gutterWidth:p=40,firstOccurrenceMap:g,className:v}){return E.jsx("div",{className:xe("font-mono text-xs leading-relaxed","overflow-x-auto",v),children:a.map((b,S)=>{const T=o+S,C=o9(l,T),k=C.length>0,M=r9(C);return E.jsxs("div",{className:"group",children:[E.jsxs("div",{className:xe("flex",l9(M,k),s9(M,k)),children:[E.jsx("span",{className:xe("flex-shrink-0 select-none text-right pr-3 py-0.5","text-muted-foreground/40","bg-foreground/[0.02]","border-r border-foreground/[0.06]",k&&"text-muted-foreground/60"),style:{width:p},children:T}),E.jsx("code",{className:xe("flex-1 pl-3 pr-4 py-0.5","text-foreground/80","whitespace-pre",k&&"text-foreground/90"),children:b||" "})]}),E.jsx(ti,{mode:"sync",children:C.map(j=>{const V=u===j.id;if(u!==null&&!V)return E.jsx(n9,{issue:j,onSelect:()=>d(j.id),gutterWidth:p},j.id);const F=g?.get(j.message);return!F||F===T?E.jsx(P7,{issue:j,isSelected:V,onSelect:()=>d(j.id),gutterWidth:p},j.id):E.jsx(J7,{issue:j,firstLine:F,isSelected:V,onSelect:()=>d(j.id),gutterWidth:p},j.id)})})]},T)})})}function c9({startLine:a,endLine:o,lineCount:l,onExpand:u,gutterWidth:d=40,className:p}){return E.jsxs(Ze.button,{type:"button",onClick:u,initial:!1,animate:{opacity:1},exit:{opacity:0},whileHover:{backgroundColor:"rgba(var(--foreground-rgb), 0.04)"},className:xe("w-full flex items-center","text-xs text-muted-foreground/60 hover:text-muted-foreground/80","bg-foreground/[0.01]","border-y border-dashed border-foreground/[0.06]","cursor-pointer","transition-colors duration-100","group",p),children:[E.jsx("span",{className:"flex-shrink-0 py-1.5 bg-foreground/[0.02] border-r border-foreground/[0.06]",style:{width:d}}),E.jsxs("span",{className:"flex items-center gap-2 px-3 py-1.5",children:[E.jsx(Dh,{size:12,className:"text-muted-foreground/40 group-hover:text-muted-foreground/60 transition-colors"}),E.jsxs("span",{children:["Show ",l," hidden ",l===1?"line":"lines"]}),E.jsxs("span",{className:"text-muted-foreground/40",children:["(",a,"–",o,")"]})]})]})}const d9=2,f9=32,h9=8,p9=16;function e2({filePath:a,issues:o,contextLines:l=d9,selectedIssueId:u,onIssueSelect:d,enabled:p=!0,className:g}){const{lines:v,totalLines:b,isLoading:S,error:T}=Z7({filePath:a,enabled:p}),[C,k]=N.useState(new Set),M=N.useMemo(()=>b===0?{regions:[],gaps:[]}:a9(o,b,l),[o,b,l]),j=N.useMemo(()=>{let re=M;for(const Q of C)re=i9(re,Q);return re},[M,C,b]),V=N.useCallback(re=>{k(Q=>new Set([...Q,re]))},[]),B=N.useMemo(()=>{const re=Math.max(3,String(b).length);return Math.max(f9,re*h9+p9)},[b]),F=N.useMemo(()=>{const re=new Map,Q=[...o].sort((ke,Ae)=>ke.line-Ae.line);for(const ke of Q)re.has(ke.message)||re.set(ke.message,ke.line);return re},[o]),te=N.useCallback((re,Q)=>v.slice(re-1,Q),[v]);if(S)return E.jsx("div",{className:xe("py-6 text-center",g),children:E.jsx("div",{className:"text-xs text-muted-foreground/60",children:"Loading source..."})});if(T)return E.jsx("div",{className:xe("py-6 text-center",g),children:E.jsxs("div",{className:"text-xs text-muted-foreground/60",children:["Could not load source: ",T]})});if(b===0)return E.jsx("div",{className:xe("py-6 text-center",g),children:E.jsx("div",{className:"text-xs text-muted-foreground/60",children:"Source not available"})});const K=[];let he=0,ye=0;const fe=[...j.gaps].sort((re,Q)=>re.startLine-Q.startLine);for(;he<fe.length||ye<j.regions.length;){const re=fe[he],Q=j.regions[ye];if(re&&(!Q||re.startLine<Q.startLine)&&re)K.push(E.jsx(c9,{startLine:re.startLine,endLine:re.endLine,lineCount:re.lineCount,onExpand:()=>V(re.id),gutterWidth:B},`gap-${re.id}`)),he++;else if(Q){const Ae=te(Q.startLine,Q.endLine);K.push(E.jsx(u9,{lines:Ae,startLine:Q.startLine,issues:Q.issues,selectedIssueId:u,onIssueSelect:d,gutterWidth:B,firstOccurrenceMap:F},`region-${Q.startLine}-${Q.endLine}`)),ye++}}return E.jsx("div",{className:xe("border-t border-foreground/[0.06]","bg-background/50",g),children:E.jsx(ti,{mode:"sync",children:K})})}const m9={common:{bg:"bg-transparent",border:"border-l-transparent",gutter:"text-text-disabled",code:"text-text-secondary"},removed:{bg:"bg-warning-bg",border:"border-l-warning",gutter:"text-text-primary",code:"text-text-primary"},added:{bg:"bg-warning-bg",border:"border-l-warning",gutter:"text-text-primary",code:"text-text-primary"},modified:{bg:"bg-info-bg",border:"border-l-info",gutter:"text-text-primary",code:"text-text-primary"}};function oR({lines:a,label:o,maxHeight:l=250,className:u}){const d=a.length>0?Math.max(...a.map(g=>g.lineNumber)):0,p=Math.max(3,String(d).length)*8+16;return E.jsxs("div",{className:xe("bg-background rounded-lg overflow-hidden border border-border",u),children:[E.jsx("div",{className:"flex items-center gap-2 py-1.5 px-3 bg-surface-elevated border-b border-border",children:E.jsx("span",{className:"text-xs font-medium text-text-primary",children:o})}),E.jsx("div",{className:"overflow-auto text-xs font-mono leading-relaxed",style:{maxHeight:l},children:a.map((g,v)=>{const b=m9[g.type];return E.jsxs("div",{className:xe("flex border-l-[3px]",b.bg,b.border),children:[E.jsx("span",{className:xe("py-0 px-2 text-right bg-surface-elevated select-none shrink-0 border-r border-border",b.gutter),style:{width:p,minWidth:p},children:g.lineNumber}),E.jsx("code",{className:xe("py-0 px-3 whitespace-pre flex-1",b.code),children:g.content||" "})]},v)})})]})}function g9(a,o){const l=a.length,u=o.length,d=Array.from({length:l+1},()=>new Array(u+1).fill(0));for(let p=1;p<=l;p++)for(let g=1;g<=u;g++)a[p-1].trim()===o[g-1].trim()?d[p][g]=d[p-1][g-1]+1:d[p][g]=Math.max(d[p-1][g],d[p][g-1]);return d}function v9(a,o,l,u,d){const p=[],g=[];let v=o.length,b=l.length;const S=[];for(;v>0&&b>0;)o[v-1].trim()===l[b-1].trim()?(S.push({type:"common",ai:v-1,bj:b-1}),v--,b--):a[v-1][b]>=a[v][b-1]?(S.push({type:"remove",ai:v-1,bj:-1}),v--):(S.push({type:"add",ai:-1,bj:b-1}),b--);for(;v>0;)S.push({type:"remove",ai:v-1,bj:-1}),v--;for(;b>0;)S.push({type:"add",ai:-1,bj:b-1}),b--;S.reverse();for(const T of S)T.type==="common"?(p.push({type:"common",content:o[T.ai],lineNumber:u+T.ai}),g.push({type:"common",content:l[T.bj],lineNumber:d+T.bj})):T.type==="remove"?p.push({type:"removed",content:o[T.ai],lineNumber:u+T.ai}):g.push({type:"added",content:l[T.bj],lineNumber:d+T.bj});return{sourceLines:p,targetLines:g}}function y9(a,o,l=1,u=1){const d=a===""?[]:a.split(`
254
254
  `),p=o===""?[]:o.split(`
255
255
  `),g=g9(d,p);return v9(g,d,p,l,u)}function rR(a){if(typeof a!="string")return null;try{const o=JSON.parse(a);return{filePath:o.filePath??"",startLine:o.startLine??1,endLine:o.endLine??1}}catch{return null}}function lR(a){const o=a.split("/");return o[o.length-1]||a}function b9(a){return a>=90?"error":a>=80?"warning":"info"}function x9({issue:a,onIgnore:o,isIgnored:l=!1,className:u}){const[d,p]=N.useState("stacked"),g=a.metadata??{},v=g.sourceCode||"",b=g.targetCode||"",S=g.sourceName||"(anonymous)",T=g.targetName||"(anonymous)",C=parseInt(g.similarity||"0",10),k=g.kind||"code",M=rR(g.sourceLocation),j=rR(g.targetLocation),V=N.useMemo(()=>y9(v,b,M?.startLine??1,j?.startLine??1),[v,b,M?.startLine,j?.startLine]);if(!v&&!b)return E.jsx("div",{className:"p-6 text-center text-muted-foreground text-xs",children:"No code comparison data available for this issue."});const B=d==="side-by-side";return E.jsxs(Ze.div,{initial:{opacity:0},animate:{opacity:l?.4:1},transition:{duration:.15},className:xe("flex flex-col gap-3",u),children:[E.jsxs("div",{className:"flex items-center gap-2 px-1",children:[E.jsxs(yl,{variant:b9(C),size:"sm",disableAnimation:!0,children:[C,"% similar"]}),E.jsx("span",{className:"text-[11px] text-muted-foreground",children:k}),E.jsx("div",{className:"flex-1"}),E.jsxs("div",{className:"flex items-center gap-1",children:[E.jsx("button",{type:"button",onClick:()=>p("stacked"),className:xe("p-1 rounded transition-colors",B?"text-muted-foreground hover:text-foreground":"bg-foreground/[0.08] text-foreground"),title:"Stacked view",children:E.jsx(Yj,{size:14})}),E.jsx("button",{type:"button",onClick:()=>p("side-by-side"),className:xe("p-1 rounded transition-colors",B?"bg-foreground/[0.08] text-foreground":"text-muted-foreground hover:text-foreground"),title:"Side by side view",children:E.jsx(kj,{size:14})})]})]}),E.jsxs("div",{className:xe(B?"grid grid-cols-2 gap-3":"flex flex-col gap-3"),children:[E.jsxs("div",{className:"flex flex-col gap-1.5",children:[E.jsxs("div",{className:"flex items-center gap-1.5 px-1",children:[E.jsx("span",{className:"text-xs font-medium text-text-primary truncate",children:S}),M&&E.jsxs("span",{className:"text-[11px] text-muted-foreground font-mono truncate",children:[lR(M.filePath),":",M.startLine]})]}),E.jsx(oR,{lines:V.sourceLines,label:"This Code",maxHeight:B?300:220})]}),E.jsxs("div",{className:"flex flex-col gap-1.5",children:[E.jsxs("div",{className:"flex items-center gap-1.5 px-1",children:[E.jsx("span",{className:"text-xs font-medium text-text-primary truncate",children:T}),j&&E.jsxs("span",{className:"text-[11px] text-muted-foreground font-mono truncate",children:[lR(j.filePath),":",j.startLine]})]}),E.jsx(oR,{lines:V.targetLines,label:"Similar Code",maxHeight:B?300:220})]})]}),E.jsxs("div",{className:"flex items-center gap-2 px-1",children:[M&&E.jsx(sR,{icon:E.jsx(db,{size:12}),label:`Open ${S}`,href:M.filePath}),j&&E.jsx(sR,{icon:E.jsx(db,{size:12}),label:`Open ${T}`,href:j.filePath}),E.jsx("div",{className:"flex-1"}),o&&E.jsxs("button",{type:"button",onClick:()=>o(a.id),className:xe("inline-flex items-center gap-1.5 px-2 py-1 rounded","text-[11px] transition-colors",l?"text-foreground/80 bg-foreground/[0.06]":"text-muted-foreground hover:text-foreground hover:bg-foreground/[0.04]"),children:[l?E.jsx($C,{size:12}):E.jsx(XC,{size:12}),l?"Restore":"Ignore"]})]})]})}function sR({icon:a,label:o,href:l}){return E.jsxs("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground/60 truncate",title:l,children:[a,E.jsx("span",{className:"truncate",children:o})]})}function t2(a){return parseInt(a.metadata?.similarity||"0",10)}function w9(a){return a.metadata?.targetName||"(anonymous)"}function S9(a){return a.metadata?.sourceName||"(anonymous)"}function E9(a){try{const o=JSON.parse(a.metadata?.targetLocation||"{}"),l=o.filePath;if(!l)return null;const u=l.split("/");return`${u[u.length-1]}:${o.startLine}`}catch{return null}}function T9(a){return a>=90?"text-error":a>=80?"text-warning":"text-info"}function A9({issue:a,isExpanded:o,isIgnored:l,onClick:u,onIgnore:d,index:p}){const g=t2(a),v=S9(a),b=w9(a),S=E9(a);return E.jsxs(Ze.div,{initial:{opacity:0},animate:{opacity:l?.4:1},transition:{duration:.1,delay:Math.min(p*.03,.2)},className:xe("border border-foreground/[0.06] rounded-lg overflow-hidden","transition-colors duration-100",o?"bg-foreground/[0.02] border-foreground/[0.1]":"hover:bg-foreground/[0.02]"),children:[E.jsxs("button",{type:"button",onClick:u,className:xe("w-full text-left flex items-center gap-2 px-3 py-2.5","transition-colors duration-100","group"),children:[E.jsx(_h,{size:14,className:xe("text-muted-foreground/40 transition-transform duration-150 shrink-0",o&&"rotate-90")}),E.jsxs("span",{className:xe("text-xs font-semibold tabular-nums shrink-0",T9(g)),children:[g,"%"]}),E.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 flex-1",children:[E.jsx("span",{className:"text-xs text-foreground/80 truncate",children:v}),E.jsx(Oj,{size:10,className:"text-muted-foreground/40 shrink-0"}),E.jsx("span",{className:"text-xs text-foreground/80 truncate",children:b})]}),S&&E.jsx("span",{className:"text-[10px] text-muted-foreground/50 font-mono shrink-0 hidden sm:inline",children:S}),l&&E.jsx(XC,{size:12,className:"text-muted-foreground/40 shrink-0"})]}),E.jsx(ti,{children:o&&E.jsx(Ze.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.2},className:"overflow-hidden",children:E.jsx("div",{className:"px-3 pb-3 pt-1 border-t border-foreground/[0.04]",children:E.jsx(x9,{issue:a,onIgnore:d,isIgnored:l})})})})]})}function uR({issues:a,selectedIssueId:o,onIssueClick:l,ignoredIssueIds:u,onIgnore:d,showIgnored:p=!1,className:g}){const[v,b]=N.useState(o),S=N.useMemo(()=>[...a].sort((M,j)=>t2(j)-t2(M)),[a]),T=N.useMemo(()=>!u||u.size===0||p?S:S.filter(M=>!u.has(M.id)),[S,u,p]),C=N.useMemo(()=>u?S.filter(M=>u.has(M.id)).length:0,[S,u]),k=N.useCallback(M=>{const j=v!==M.id;b(j?M.id:null),l(M)},[v,l]);return E.jsxs(Ze.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.1},className:xe("flex flex-col gap-2 p-3",g),children:[E.jsxs("div",{className:"flex items-center gap-2 px-1",children:[E.jsxs("span",{className:"text-xs text-muted-foreground",children:[T.length," duplicate",T.length!==1?"s":""," found"]}),C>0&&E.jsxs(yl,{variant:"outline",size:"sm",disableAnimation:!0,children:[C," ignored"]})]}),T.map((M,j)=>E.jsx(A9,{issue:M,isExpanded:v===M.id,isIgnored:u?.has(M.id)??!1,onClick:()=>k(M),onIgnore:d,index:j},M.id)),T.length===0&&E.jsx("div",{className:"py-8 text-center text-xs text-muted-foreground/60",children:C>0?"All duplicates in this file are ignored.":"No duplicates found."})]})}function n2(a,o=[]){let l=[];function u(p,g){const v=N.createContext(g),b=l.length;l=[...l,g];const S=C=>{const{scope:k,children:M,...j}=C,V=k?.[a]?.[b]||v,B=N.useMemo(()=>j,Object.values(j));return E.jsx(V.Provider,{value:B,children:M})};S.displayName=p+"Provider";function T(C,k){const M=k?.[a]?.[b]||v,j=N.useContext(M);if(j)return j;if(g!==void 0)return g;throw new Error(`\`${C}\` must be used within \`${p}\``)}return[S,T]}const d=()=>{const p=l.map(g=>N.createContext(g));return function(v){const b=v?.[a]||p;return N.useMemo(()=>({[`__scope${a}`]:{...v,[a]:b}}),[v,b])}};return d.scopeName=a,[u,C9(d,...o)]}function C9(...a){const o=a[0];if(a.length===1)return o;const l=()=>{const u=a.map(d=>({useScope:d(),scopeName:d.scopeName}));return function(p){const g=u.reduce((v,{useScope:b,scopeName:S})=>{const C=b(p)[`__scope${S}`];return{...v,...C}},{});return N.useMemo(()=>({[`__scope${o.scopeName}`]:g}),[g])}};return l.scopeName=o.scopeName,l}function a2(a){const o=k9(a),l=N.forwardRef((u,d)=>{const{children:p,...g}=u,v=N.Children.toArray(p),b=v.find(M9);if(b){const S=b.props.children,T=v.map(C=>C===b?N.Children.count(S)>1?N.Children.only(null):N.isValidElement(S)?S.props.children:null:C);return E.jsx(o,{...g,ref:d,children:N.isValidElement(S)?N.cloneElement(S,void 0,T):null})}return E.jsx(o,{...g,ref:d,children:p})});return l.displayName=`${a}.Slot`,l}function k9(a){const o=N.forwardRef((l,u)=>{const{children:d,...p}=l;if(N.isValidElement(d)){const g=_9(d),v=D9(p,d.props);return d.type!==N.Fragment&&(v.ref=u?IS(u,g):g),N.cloneElement(d,v)}return N.Children.count(d)>1?N.Children.only(null):null});return o.displayName=`${a}.SlotClone`,o}var R9=Symbol("radix.slottable");function M9(a){return N.isValidElement(a)&&typeof a.type=="function"&&"__radixId"in a.type&&a.type.__radixId===R9}function D9(a,o){const l={...o};for(const u in o){const d=a[u],p=o[u];/^on[A-Z]/.test(u)?d&&p?l[u]=(...v)=>{const b=p(...v);return d(...v),b}:d&&(l[u]=d):u==="style"?l[u]={...d,...p}:u==="className"&&(l[u]=[d,p].filter(Boolean).join(" "))}return{...a,...l}}function _9(a){let o=Object.getOwnPropertyDescriptor(a.props,"ref")?.get,l=o&&"isReactWarning"in o&&o.isReactWarning;return l?a.ref:(o=Object.getOwnPropertyDescriptor(a,"ref")?.get,l=o&&"isReactWarning"in o&&o.isReactWarning,l?a.props.ref:a.props.ref||a.ref)}function z9(a){const o=a+"CollectionProvider",[l,u]=n2(o),[d,p]=l(o,{collectionRef:{current:null},itemMap:new Map}),g=V=>{const{scope:B,children:F}=V,te=ft.useRef(null),K=ft.useRef(new Map).current;return E.jsx(d,{scope:B,itemMap:K,collectionRef:te,children:F})};g.displayName=o;const v=a+"CollectionSlot",b=a2(v),S=ft.forwardRef((V,B)=>{const{scope:F,children:te}=V,K=p(v,F),he=_g(B,K.collectionRef);return E.jsx(b,{ref:he,children:te})});S.displayName=v;const T=a+"CollectionItemSlot",C="data-radix-collection-item",k=a2(T),M=ft.forwardRef((V,B)=>{const{scope:F,children:te,...K}=V,he=ft.useRef(null),ye=_g(B,he),fe=p(T,F);return ft.useEffect(()=>(fe.itemMap.set(he,{ref:he,...K}),()=>{fe.itemMap.delete(he)})),E.jsx(k,{[C]:"",ref:ye,children:te})});M.displayName=T;function j(V){const B=p(a+"CollectionConsumer",V);return ft.useCallback(()=>{const te=B.collectionRef.current;if(!te)return[];const K=Array.from(te.querySelectorAll(`[${C}]`));return Array.from(B.itemMap.values()).sort((fe,re)=>K.indexOf(fe.ref.current)-K.indexOf(re.ref.current))},[B.collectionRef,B.itemMap])}return[{Provider:g,Slot:S,ItemSlot:M},j,u]}function cR(a,o,{checkForDefaultPrevented:l=!0}={}){return function(d){if(a?.(d),l===!1||!d.defaultPrevented)return o?.(d)}}var jg=globalThis?.document?N.useLayoutEffect:()=>{},O9=ow[" useInsertionEffect ".trim().toString()]||jg;function i2({prop:a,defaultProp:o,onChange:l=()=>{},caller:u}){const[d,p,g]=j9({defaultProp:o,onChange:l}),v=a!==void 0,b=v?a:d;{const T=N.useRef(a!==void 0);N.useEffect(()=>{const C=T.current;C!==v&&console.warn(`${u} is changing from ${C?"controlled":"uncontrolled"} to ${v?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),T.current=v},[v,u])}const S=N.useCallback(T=>{if(v){const C=N9(T)?T(a):T;C!==a&&g.current?.(C)}else p(T)},[v,a,p,g]);return[b,S]}function j9({defaultProp:a,onChange:o}){const[l,u]=N.useState(a),d=N.useRef(l),p=N.useRef(o);return O9(()=>{p.current=o},[o]),N.useEffect(()=>{d.current!==l&&(p.current?.(l),d.current=l)},[l,d]),[l,u,p]}function N9(a){return typeof a=="function"}var L9=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ng=L9.reduce((a,o)=>{const l=a2(`Primitive.${o}`),u=N.forwardRef((d,p)=>{const{asChild:g,...v}=d,b=g?l:o;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),E.jsx(b,{...v,ref:p})});return u.displayName=`Primitive.${o}`,{...a,[o]:u}},{});function U9(a,o){return N.useReducer((l,u)=>o[l][u]??l,a)}var dR=a=>{const{present:o,children:l}=a,u=B9(o),d=typeof l=="function"?l({present:u.isPresent}):N.Children.only(l),p=_g(u.ref,V9(d));return typeof l=="function"||u.isPresent?N.cloneElement(d,{ref:p}):null};dR.displayName="Presence";function B9(a){const[o,l]=N.useState(),u=N.useRef(null),d=N.useRef(a),p=N.useRef("none"),g=a?"mounted":"unmounted",[v,b]=U9(g,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return N.useEffect(()=>{const S=kb(u.current);p.current=v==="mounted"?S:"none"},[v]),jg(()=>{const S=u.current,T=d.current;if(T!==a){const k=p.current,M=kb(S);a?b("MOUNT"):M==="none"||S?.display==="none"?b("UNMOUNT"):b(T&&k!==M?"ANIMATION_OUT":"UNMOUNT"),d.current=a}},[a,b]),jg(()=>{if(o){let S;const T=o.ownerDocument.defaultView??window,C=M=>{const V=kb(u.current).includes(CSS.escape(M.animationName));if(M.target===o&&V&&(b("ANIMATION_END"),!d.current)){const B=o.style.animationFillMode;o.style.animationFillMode="forwards",S=T.setTimeout(()=>{o.style.animationFillMode==="forwards"&&(o.style.animationFillMode=B)})}},k=M=>{M.target===o&&(p.current=kb(u.current))};return o.addEventListener("animationstart",k),o.addEventListener("animationcancel",C),o.addEventListener("animationend",C),()=>{T.clearTimeout(S),o.removeEventListener("animationstart",k),o.removeEventListener("animationcancel",C),o.removeEventListener("animationend",C)}}else b("ANIMATION_END")},[o,b]),{isPresent:["mounted","unmountSuspended"].includes(v),ref:N.useCallback(S=>{u.current=S?getComputedStyle(S):null,l(S)},[])}}function kb(a){return a?.animationName||"none"}function V9(a){let o=Object.getOwnPropertyDescriptor(a.props,"ref")?.get,l=o&&"isReactWarning"in o&&o.isReactWarning;return l?a.ref:(o=Object.getOwnPropertyDescriptor(a,"ref")?.get,l=o&&"isReactWarning"in o&&o.isReactWarning,l?a.props.ref:a.props.ref||a.ref)}var H9=ow[" useId ".trim().toString()]||(()=>{}),q9=0;function fR(a){const[o,l]=N.useState(H9());return jg(()=>{l(u=>u??String(q9++))},[a]),o?`radix-${o}`:""}var Rb="Collapsible",[Y9,hR]=n2(Rb),[G9,o2]=Y9(Rb),pR=N.forwardRef((a,o)=>{const{__scopeCollapsible:l,open:u,defaultOpen:d,disabled:p,onOpenChange:g,...v}=a,[b,S]=i2({prop:u,defaultProp:d??!1,onChange:g,caller:Rb});return E.jsx(G9,{scope:l,disabled:p,contentId:fR(),open:b,onOpenToggle:N.useCallback(()=>S(T=>!T),[S]),children:E.jsx(Ng.div,{"data-state":l2(b),"data-disabled":p?"":void 0,...v,ref:o})})});pR.displayName=Rb;var mR="CollapsibleTrigger",gR=N.forwardRef((a,o)=>{const{__scopeCollapsible:l,...u}=a,d=o2(mR,l);return E.jsx(Ng.button,{type:"button","aria-controls":d.contentId,"aria-expanded":d.open||!1,"data-state":l2(d.open),"data-disabled":d.disabled?"":void 0,disabled:d.disabled,...u,ref:o,onClick:cR(a.onClick,d.onOpenToggle)})});gR.displayName=mR;var r2="CollapsibleContent",vR=N.forwardRef((a,o)=>{const{forceMount:l,...u}=a,d=o2(r2,a.__scopeCollapsible);return E.jsx(dR,{present:l||d.open,children:({present:p})=>E.jsx(X9,{...u,ref:o,present:p})})});vR.displayName=r2;var X9=N.forwardRef((a,o)=>{const{__scopeCollapsible:l,present:u,children:d,...p}=a,g=o2(r2,l),[v,b]=N.useState(u),S=N.useRef(null),T=_g(o,S),C=N.useRef(0),k=C.current,M=N.useRef(0),j=M.current,V=g.open||v,B=N.useRef(V),F=N.useRef(void 0);return N.useEffect(()=>{const te=requestAnimationFrame(()=>B.current=!1);return()=>cancelAnimationFrame(te)},[]),jg(()=>{const te=S.current;if(te){F.current=F.current||{transitionDuration:te.style.transitionDuration,animationName:te.style.animationName},te.style.transitionDuration="0s",te.style.animationName="none";const K=te.getBoundingClientRect();C.current=K.height,M.current=K.width,B.current||(te.style.transitionDuration=F.current.transitionDuration,te.style.animationName=F.current.animationName),b(u)}},[g.open,u]),E.jsx(Ng.div,{"data-state":l2(g.open),"data-disabled":g.disabled?"":void 0,id:g.contentId,hidden:!V,...p,ref:T,style:{"--radix-collapsible-content-height":k?`${k}px`:void 0,"--radix-collapsible-content-width":j?`${j}px`:void 0,...a.style},children:V&&d})});function l2(a){return a?"open":"closed"}var I9=pR,$9=gR,Q9=vR,Z9=N.createContext(void 0);function F9(a){const o=N.useContext(Z9);return a||o||"ltr"}var Lr="Accordion",P9=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[s2,K9,J9]=z9(Lr),[Mb]=n2(Lr,[J9,hR]),u2=hR(),yR=ft.forwardRef((a,o)=>{const{type:l,...u}=a,d=u,p=u;return E.jsx(s2.Provider,{scope:a.__scopeAccordion,children:l==="multiple"?E.jsx(nL,{...p,ref:o}):E.jsx(tL,{...d,ref:o})})});yR.displayName=Lr;var[bR,W9]=Mb(Lr),[xR,eL]=Mb(Lr,{collapsible:!1}),tL=ft.forwardRef((a,o)=>{const{value:l,defaultValue:u,onValueChange:d=()=>{},collapsible:p=!1,...g}=a,[v,b]=i2({prop:l,defaultProp:u??"",onChange:d,caller:Lr});return E.jsx(bR,{scope:a.__scopeAccordion,value:ft.useMemo(()=>v?[v]:[],[v]),onItemOpen:b,onItemClose:ft.useCallback(()=>p&&b(""),[p,b]),children:E.jsx(xR,{scope:a.__scopeAccordion,collapsible:p,children:E.jsx(wR,{...g,ref:o})})})}),nL=ft.forwardRef((a,o)=>{const{value:l,defaultValue:u,onValueChange:d=()=>{},...p}=a,[g,v]=i2({prop:l,defaultProp:u??[],onChange:d,caller:Lr}),b=ft.useCallback(T=>v((C=[])=>[...C,T]),[v]),S=ft.useCallback(T=>v((C=[])=>C.filter(k=>k!==T)),[v]);return E.jsx(bR,{scope:a.__scopeAccordion,value:g,onItemOpen:b,onItemClose:S,children:E.jsx(xR,{scope:a.__scopeAccordion,collapsible:!0,children:E.jsx(wR,{...p,ref:o})})})}),[aL,Db]=Mb(Lr),wR=ft.forwardRef((a,o)=>{const{__scopeAccordion:l,disabled:u,dir:d,orientation:p="vertical",...g}=a,v=ft.useRef(null),b=_g(v,o),S=K9(l),C=F9(d)==="ltr",k=cR(a.onKeyDown,M=>{if(!P9.includes(M.key))return;const j=M.target,V=S().filter(Q=>!Q.ref.current?.disabled),B=V.findIndex(Q=>Q.ref.current===j),F=V.length;if(B===-1)return;M.preventDefault();let te=B;const K=0,he=F-1,ye=()=>{te=B+1,te>he&&(te=K)},fe=()=>{te=B-1,te<K&&(te=he)};switch(M.key){case"Home":te=K;break;case"End":te=he;break;case"ArrowRight":p==="horizontal"&&(C?ye():fe());break;case"ArrowDown":p==="vertical"&&ye();break;case"ArrowLeft":p==="horizontal"&&(C?fe():ye());break;case"ArrowUp":p==="vertical"&&fe();break}const re=te%F;V[re].ref.current?.focus()});return E.jsx(aL,{scope:l,disabled:u,direction:d,orientation:p,children:E.jsx(s2.Slot,{scope:l,children:E.jsx(Ng.div,{...g,"data-orientation":p,ref:b,onKeyDown:u?void 0:k})})})}),_b="AccordionItem",[iL,c2]=Mb(_b),SR=ft.forwardRef((a,o)=>{const{__scopeAccordion:l,value:u,...d}=a,p=Db(_b,l),g=W9(_b,l),v=u2(l),b=fR(),S=u&&g.value.includes(u)||!1,T=p.disabled||a.disabled;return E.jsx(iL,{scope:l,open:S,disabled:T,triggerId:b,children:E.jsx(I9,{"data-orientation":p.orientation,"data-state":RR(S),...v,...d,ref:o,disabled:T,open:S,onOpenChange:C=>{C?g.onItemOpen(u):g.onItemClose(u)}})})});SR.displayName=_b;var ER="AccordionHeader",TR=ft.forwardRef((a,o)=>{const{__scopeAccordion:l,...u}=a,d=Db(Lr,l),p=c2(ER,l);return E.jsx(Ng.h3,{"data-orientation":d.orientation,"data-state":RR(p.open),"data-disabled":p.disabled?"":void 0,...u,ref:o})});TR.displayName=ER;var d2="AccordionTrigger",AR=ft.forwardRef((a,o)=>{const{__scopeAccordion:l,...u}=a,d=Db(Lr,l),p=c2(d2,l),g=eL(d2,l),v=u2(l);return E.jsx(s2.ItemSlot,{scope:l,children:E.jsx($9,{"aria-disabled":p.open&&!g.collapsible||void 0,"data-orientation":d.orientation,id:p.triggerId,...v,...u,ref:o})})});AR.displayName=d2;var CR="AccordionContent",kR=ft.forwardRef((a,o)=>{const{__scopeAccordion:l,...u}=a,d=Db(Lr,l),p=c2(CR,l),g=u2(l);return E.jsx(Q9,{role:"region","aria-labelledby":p.triggerId,"data-orientation":d.orientation,...g,...u,ref:o,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...a.style}})});kR.displayName=CR;function RR(a){return a?"open":"closed"}var oL=yR,rL=SR,lL=TR,sL=AR,uL=kR;const cL=oL,MR=ft.forwardRef(({className:a,...o},l)=>E.jsx(rL,{ref:l,className:xe(a),...o}));MR.displayName="AccordionItem";const DR=ft.forwardRef(({className:a,children:o,...l},u)=>E.jsx(lL,{className:"flex",children:E.jsx(sL,{ref:u,className:xe("flex-1 text-left transition-colors duration-75","outline-none focus-visible:ring-1 focus-visible:ring-foreground/25 focus-visible:ring-offset-2 focus-visible:ring-offset-background rounded-sm",a),...l,children:o})}));DR.displayName="AccordionTrigger";const _R=ft.forwardRef(({className:a,children:o,...l},u)=>E.jsx(uL,{ref:u,className:xe("overflow-hidden","data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",a),...l,children:o}));_R.displayName="AccordionContent";function dL(a){return{"no-unused-vars":"Disallow variables that are declared but never used in the code.","@typescript-eslint/no-unused-vars":"Disallow variables that are declared but never used in the code.","no-console":"Disallow the use of console methods.","react-hooks/exhaustive-deps":"Checks effect dependencies and warns when dependencies are missing.","react-hooks/rules-of-hooks":"Enforces the Rules of Hooks.","no-explicit-any":"Disallow the any type to encourage more precise typing.","@typescript-eslint/no-explicit-any":"Disallow the any type to encourage more precise typing."}[a]}function fL(a){return a.startsWith("@typescript-eslint/")?`https://typescript-eslint.io/rules/${a.replace("@typescript-eslint/","")}`:a.startsWith("react-hooks/")?"https://reactjs.org/docs/hooks-rules.html":a.startsWith("react/")?`https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/${a.replace("react/","")}.md`:`https://eslint.org/docs/latest/rules/${a}`}function hL({severity:a}){return E.jsx("span",{className:xe("w-2 h-2 rounded-full shrink-0",a==="error"&&"bg-error",a==="warning"&&"bg-warning",a==="info"&&"bg-info")})}function pL({severity:a,size:o=12}){switch(a){case"error":return E.jsx(Ou,{size:o,className:"text-error shrink-0"});case"warning":return E.jsx(gl,{size:o,className:"text-warning shrink-0"});case"info":return E.jsx(jr,{size:o,className:"text-info shrink-0"})}}function mL({card:a,isExpanded:o,expandedFilePath:l,selectedIssueId:u,showFullSource:d,ruleMeta:p,index:g}){const v=N.useRef(null),b=we(me=>me.expandFileInRule),S=we(me=>me.collapseFileInRule),T=we(me=>me.selectIssue),C=we(me=>me.showFullSourceView),k=we(me=>me.setHeatmapPreview),M=we(me=>me.clearHeatmapPreview),j=we(me=>me.expandRule),V=we(me=>{const _e=me.plugins?.eslint;return _e?.ruleConfigs?_e.ruleConfigs.get(a.ruleId):null}),B=we(me=>{const _e=me.plugins?.eslint;return _e?.ruleConfigUpdating?_e.ruleConfigUpdating.get(a.ruleId)??!1:!1}),F=we(me=>me.ignoredIssueIds),te=we(me=>me.showIgnoredIssues),K=we(me=>me.addIgnoredIssue),he=we(me=>me.removeIgnoredIssue),ye=N.useMemo(()=>Yn.getRuleContribution(a.ruleId)?.contentRenderer??null,[a.ruleId]),fe=N.useMemo(()=>V?.severity?V.severity:"warn",[V?.severity]),re=N.useMemo(()=>p?.defaultOptions?Array.isArray(p.defaultOptions)?p.defaultOptions[0]??{}:p.defaultOptions??{}:{},[p?.defaultOptions]),Q=N.useMemo(()=>l?a.files.find(me=>me.filePath===l)??null:null,[a.files,l]),ke=N.useMemo(()=>Q?Q.issues:[],[Q]),Ae=N.useCallback(me=>{const _e=me==="warn"?"warning":me;Yn.setRuleSeverity(a.ruleId,_e)},[a.ruleId]),Ke=N.useCallback((me,_e)=>{const Tt={...V?.options??{},[me]:_e};Yn.setRuleConfig(a.ruleId,Tt)},[a.ruleId,V?.options]),Re=N.useCallback(()=>{if(!p?.defaultOptions)return;const me=Array.isArray(p.defaultOptions)?p.defaultOptions[0]??{}:p.defaultOptions??{};Yn.setRuleConfig(a.ruleId,me)},[a.ruleId,p?.defaultOptions]),Qe=N.useCallback(me=>{T(u===me?null:me)},[u,T]),We=N.useCallback(me=>{F.has(me)?he(me):K(me)},[F,K,he]),ie=N.useCallback(()=>{o||k(a.ruleId,null)},[o,k,a.ruleId]),L=N.useCallback(()=>{o||M()},[o,M]),P=N.useCallback(me=>{k(a.ruleId,me)},[k,a.ruleId]),J=N.useCallback(()=>{M()},[M]),Me=N.useCallback(me=>{o||j(a.ruleId),b(me)},[o,j,a.ruleId,b]);N.useEffect(()=>{if(o&&v.current){const me=setTimeout(()=>{v.current?.scrollIntoView({behavior:"smooth",block:"start"})},50);return()=>clearTimeout(me)}},[o]);const Ne=p?.description??dL(a.ruleId),U=p?.docs??fL(a.ruleId),ne=l!==null,be=Ae!==void 0,[ge,Ue]=N.useState(!1);return E.jsxs(MR,{value:a.ruleId,ref:v,className:xe("rounded-lg transition-all duration-150",o&&"bg-foreground/2.5 ring-1 ring-foreground/6 shadow-sm my-1"),children:[E.jsx(DR,{className:xe("w-full","flex items-start gap-2.5 px-3 py-2.5","transition-colors duration-75","hover:bg-foreground/4","rounded-md"),onMouseEnter:ie,onMouseLeave:L,children:E.jsxs(Ze.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.15,delay:Math.min(g*.04,.3)},className:"flex-1 min-w-0",children:[E.jsxs("div",{className:"flex items-center gap-2 mb-0.5",children:[E.jsx(hL,{severity:a.highestSeverity}),E.jsx("span",{className:"font-medium tracking-tight text-foreground text-sm truncate flex-1 min-w-0",children:a.ruleName}),o&&E.jsxs("div",{className:"flex items-center gap-0.5 shrink-0",onMouseDown:me=>me.stopPropagation(),onClick:me=>me.stopPropagation(),children:[be&&E.jsx(Xk,{open:ge,onClose:()=>Ue(!1),placement:"bottom",align:"end",width:320,trigger:E.jsxs("span",{role:"button",tabIndex:0,onClick:me=>{me.stopPropagation(),Ue(!ge)},onKeyDown:me=>{(me.key==="Enter"||me.key===" ")&&(me.preventDefault(),me.stopPropagation(),Ue(!ge))},className:xe("inline-flex items-center gap-1","px-1.5 py-0.5 rounded","text-[11px] text-muted-foreground/60 hover:text-foreground/80","hover:bg-foreground/4","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-foreground/25","transition-colors duration-100 cursor-pointer",ge&&"bg-foreground/4 text-foreground/80"),children:[E.jsx(zS,{size:11}),"Configure"]}),children:E.jsx("div",{className:"p-1",children:E.jsx(Pk,{ruleId:a.ruleId,currentSeverity:fe,onSeverityChange:Ae,optionSchema:p?.optionSchema,currentOptions:V?.options,defaultOptions:re,onOptionChange:Ke,onResetOptions:Re,isUpdating:B})})}),U&&E.jsxs("a",{href:U,target:"_blank",rel:"noopener noreferrer",onClick:me=>me.stopPropagation(),className:xe("inline-flex items-center gap-1","px-1.5 py-0.5 rounded","text-[11px] text-muted-foreground/50 hover:text-foreground/70","hover:bg-foreground/4","transition-colors duration-100"),children:[E.jsx(db,{size:10}),"Docs"]})]}),E.jsx("span",{className:"text-[11px] text-muted-foreground/70 tabular-nums shrink-0",children:a.totalCount}),E.jsx(Ze.div,{animate:{rotate:o?180:0},transition:{duration:.2},className:"shrink-0",children:E.jsx(Dh,{size:12,className:"text-muted-foreground/60"})})]}),Ne&&E.jsx("p",{className:xe("text-[11px] text-muted-foreground/70 leading-relaxed ml-4 mb-1",!o&&"line-clamp-1"),children:Ne}),!o&&E.jsxs("div",{className:"flex flex-wrap gap-1 ml-4 mt-1",children:[a.files.slice(0,3).map(me=>E.jsx(C7,{fileName:me.fileName,filePath:me.filePath,ruleId:a.ruleId,issueCount:me.issueCount,onClick:()=>Me(me.filePath)},me.filePath)),a.files.length>3&&E.jsxs("span",{className:"inline-flex items-center px-1.5 py-0.5 text-[11px] text-muted-foreground/40",children:["+",a.files.length-3," more"]})]})]})}),E.jsx(_R,{children:E.jsxs("div",{className:"border-t border-foreground/5 mx-1",children:[ne&&Q&&E.jsxs("button",{onClick:()=>S(),"aria-label":"Back to file list",className:xe("w-full text-left","flex items-center gap-2 px-3 py-1.5","text-[11px]","transition-colors duration-75","hover:bg-foreground/4","border-b border-foreground/4"),children:[E.jsx(qC,{size:11,className:"text-muted-foreground/70 shrink-0"}),E.jsx("span",{className:"text-foreground/80 font-medium",children:"Back to file list"}),E.jsxs("span",{className:"text-muted-foreground/60",children:["(",a.files.length," file",a.files.length!==1?"s":"",")"]}),E.jsx("span",{className:"text-muted-foreground/40",children:"-"}),E.jsx("span",{className:"text-foreground/70 truncate",children:Q.fileName})]}),ne?ye==="duplicate-comparison"?E.jsx("div",{className:"flex-1 overflow-auto",children:E.jsx(uR,{issues:ke,selectedIssueId:u,onIssueClick:me=>T(me.id),ignoredIssueIds:F,onIgnore:We,showIgnored:te})}):d?E.jsx("div",{className:"flex-1 overflow-auto p-3",children:E.jsx(e2,{filePath:l,issues:ke,contextLines:2,selectedIssueId:u,onIssueSelect:Qe,enabled:!0})}):E.jsx("div",{className:"flex-1 overflow-auto",children:E.jsx(M7,{issues:ke,selectedIssueId:u,onIssueClick:me=>{T(me.id),C()},onShowFullSource:C})}):E.jsxs("div",{className:"py-0.5",children:[E.jsx("div",{className:"px-3 py-1 text-[11px] uppercase tracking-wide text-muted-foreground/60",children:"Files with issues"}),a.files.map(me=>E.jsxs("button",{onClick:()=>b(me.filePath),onMouseEnter:()=>P(me.filePath),onMouseLeave:J,className:xe("w-full text-left","flex items-center gap-2 px-3 py-2","transition-colors duration-75","hover:bg-foreground/4","group"),children:[E.jsx(pL,{severity:me.issues[0]?.severity??"info"}),E.jsx("span",{className:"flex-1 min-w-0 text-xs text-foreground/85 truncate",children:me.fileName}),E.jsx("span",{className:"text-[11px] text-muted-foreground/40 tabular-nums shrink-0",children:me.issueCount})]},me.filePath))]})]})})]})}function gL(){return E.jsxs("div",{className:"flex flex-col items-center justify-center py-12 px-4 text-center",children:[E.jsx("div",{className:"text-4xl mb-4 opacity-30",children:"✨"}),E.jsx("h3",{className:"text-lg font-medium text-foreground/80 mb-2",children:"No issues found"}),E.jsx("p",{className:"text-sm text-muted-foreground/60 max-w-xs",children:"Great job! Your code looks clean."})]})}function vL({className:a}){const o=N.useRef(null),l=we(cw),u=we(j=>j.inspector.expandedRuleId),d=we(j=>j.inspector.expandedFilePath),p=we(j=>j.inspector.selectedIssueId),g=we(j=>j.inspector.showFullSource),v=we(j=>j.inspector.healthPulseSeverityFilter),b=we(j=>j.plugins?.eslint?.availableRules),S=we(j=>j.expandRule),T=we(j=>j.expandFileInRule),C=N.useMemo(()=>{const j=new Map;for(const V of b??[])j.set(V.id,V);return j},[b]),k=v?l.filter(j=>j.severityCounts[v]>0):l,M=N.useCallback(j=>{S(j)},[S]);return N.useEffect(()=>{if(p){for(const j of l)for(const V of j.files)if(V.issues.some(F=>F.id===p)){u!==j.ruleId&&S(j.ruleId),d!==V.filePath&&T(V.filePath);return}}},[p,l,u,d,S,T]),l.length===0?E.jsx(gL,{}):E.jsxs("div",{ref:o,className:xe("flex-1 p-2 overflow-auto",a),children:[E.jsx("div",{className:"px-1 pb-2 text-[11px] uppercase tracking-wide text-muted-foreground/60",children:"Rules"}),E.jsx(cL,{type:"single",collapsible:!0,value:u??"",onValueChange:M,children:k.map((j,V)=>E.jsx(mL,{card:j,isExpanded:u===j.ruleId,expandedFilePath:u===j.ruleId?d:null,selectedIssueId:p,showFullSource:g,ruleMeta:C.get(j.ruleId),index:V,onExpand:M},j.ruleId))})]})}function yL({filePath:a,line:o,contextAbove:l=5,contextBelow:u=5,enabled:d=!0}){const[p,g]=N.useState(null),[v,b]=N.useState(!1),[S,T]=N.useState(null),C=we(j=>j.wsConnected),k=N.useRef(null),M=N.useCallback(()=>{if(!d||!a)return;const j=eR(a);if(j){g(Ab(j,o,l,u)),b(!1),T(null);return}if(!C&&Cb()){const te=JS(a);if(te){const K=Tb(a,te.content,te.totalLines,te.relativePath);g(Ab(K,o,l,u)),b(!1),T(null)}else g(null),b(!1),T("Source not available in manifest");return}if(!C)return;const V=V7(a);if(V){b(!0),V.then(te=>{te&&(g(Ab(te,o,l,u)),T(null)),b(!1)});return}b(!0),T(null);const B=`source-${a}-${Date.now()}`;k.current=B;const F=new Promise(te=>{const K=Vo.on("source:result",ye=>{if(ye.filePath===a){const fe=Tb(ye.filePath,ye.content,ye.totalLines,ye.relativePath);K(),he(),te(fe)}}),he=Vo.on("source:error",ye=>{ye.filePath===a&&(T(ye.error),K(),he(),te(null))});Vo.send({type:"source:fetch",filePath:a,requestId:B}),setTimeout(()=>{K(),he(),te(null)},1e4)});H7(a,F),F.then(te=>{te&&g(Ab(te,o,l,u)),b(!1)})},[a,o,l,u,d,C]);return N.useEffect(()=>{M()},[M]),N.useEffect(()=>a?Vo.on("file:changed",V=>{(V.filePath===a||V.filePath.endsWith(a)||a.endsWith(V.filePath))&&(tR(a),d&&M())}):void 0,[a,d,M]),{context:p,isLoading:v,error:S,refetch:M}}function bL(a){const o=a.match(/^[\t ]+/);return o?o[0]:""}function xL(a){if(!a.length)return{lines:a,removed:0};const o=a.filter(u=>u.trim().length>0);if(!o.length)return{lines:a,removed:0};let l=1/0;for(const u of o)if(l=Math.min(l,bL(u).length),l===0)break;return!Number.isFinite(l)||l<=0?{lines:a,removed:0}:{removed:l,lines:a.map(u=>u.length>=l?u.slice(l):"")}}function wL({filePath:a,line:o,column:l,contextLines:u=5,defaultExpanded:d=!0}){const[p,g]=N.useState(d),{context:v,isLoading:b,error:S}=yL({filePath:a,line:o,contextAbove:u,contextBelow:u,enabled:p}),T=v?xL(v.lines):null,C=v?v.startLine+v.lines.length-1:0,k=Math.max(3,String(C).length)*8+16;return E.jsxs("div",{className:"bg-background rounded-lg overflow-hidden border border-border",children:[E.jsxs("button",{onClick:()=>g(!p),className:xe("w-full flex items-center gap-2 py-2 px-3 bg-surface-elevated border-none cursor-pointer text-text-primary text-xs font-inherit",p&&"border-b border-border"),children:[p?E.jsx(Dh,{size:14}):E.jsx(_h,{size:14}),E.jsx("span",{className:"font-medium",children:"Source"}),E.jsxs("span",{className:"text-text-muted ml-auto font-mono",children:["L",o,l?`:${l}`:""]})]}),p&&E.jsxs("div",{className:"p-0",children:[b&&E.jsx("div",{className:"p-6 text-text-muted text-center text-xs",children:"Loading..."}),S&&E.jsx("div",{className:"p-6 text-error text-center text-xs",children:S}),T&&v&&E.jsx("div",{className:"overflow-x-auto text-xs font-mono leading-relaxed",children:T.lines.map((M,j)=>{const V=v.startLine+j,B=V===o;return E.jsxs("div",{className:xe("flex border-l-[3px]",B?"bg-warning-bg border-l-warning":"bg-transparent border-l-transparent"),children:[E.jsx("span",{className:xe("py-0 px-2 text-right bg-surface-elevated select-none shrink-0 border-r border-border",B?"text-text-primary":"text-text-disabled"),style:{width:k,minWidth:k},children:V}),E.jsx("code",{className:xe("py-0 px-3 whitespace-pre flex-1",B?"text-text-primary":"text-text-secondary"),children:M||" "})]},V)})})]})]})}function SL(a){const o=a.split("/");return o[o.length-1]||a}function EL({issue:a}){const o=a.severity==="error"?DS:a.severity==="warning"?gl:jr;return E.jsxs("div",{className:"p-4 flex flex-col gap-4",children:[E.jsxs("div",{className:"flex items-start gap-2.5",children:[E.jsxs(yl,{variant:a.severity==="error"?"error":a.severity==="warning"?"warning":"info",size:"sm",disableAnimation:!0,className:"shrink-0 mt-0.5",children:[E.jsx(o,{size:12,color:"currentColor",className:"mr-1"}),a.severity]}),E.jsxs("div",{className:"flex-1 min-w-0",children:[E.jsx("div",{className:"text-sm font-medium text-text-primary leading-snug",children:a.message}),E.jsx(yl,{variant:"outline",size:"sm",disableAnimation:!0,className:"mt-1.5 font-mono",children:a.ruleId})]})]}),E.jsx(wL,{filePath:a.filePath,line:a.line,column:a.column,contextLines:5}),E.jsxs("div",{className:"flex flex-wrap gap-y-1 gap-x-3 text-[11px] text-text-muted font-mono",children:[E.jsxs("span",{title:a.filePath,children:[SL(a.filePath),":",a.line,a.column?`:${a.column}`:""]}),E.jsx("span",{className:"opacity-50",children:"|"}),E.jsx("span",{children:a.pluginId})]})]})}function TL(){const a=we(n_),o=we(a_),l=we(Iy),u=we(i_),d=we(o_),p=N.useCallback(g=>l.get(g)||[],[l]);return{allIssues:a,byFile:o,byDataLoc:l,getIssuesForDataLoc:p,totalCount:u,countBySeverity:d}}function AL({dataLoc:a,onSelectIssue:o}){const{getIssuesForDataLoc:l}=TL(),u=l(a);return u.length===0?E.jsx("div",{className:"p-4 text-center text-text-muted",children:"No issues for this element"}):E.jsxs("div",{className:"p-4",children:[E.jsxs("div",{className:"text-sm font-semibold text-text-primary mb-3",children:[u.length," issue",u.length!==1?"s":""," at this location"]}),E.jsx(QS,{variant:"elevated",className:"overflow-hidden",children:u.map((d,p)=>{const g=d.severity==="error"?DS:d.severity==="warning"?gl:jr;return E.jsxs("div",{onClick:()=>o(d),className:xe("flex items-start gap-2.5 p-3 cursor-pointer",p<u.length-1&&"border-b border-border"),children:[E.jsx(yl,{variant:d.severity==="error"?"error":d.severity==="warning"?"warning":"info",size:"sm",disableAnimation:!0,className:"shrink-0",children:E.jsx(g,{size:12,color:"currentColor"})}),E.jsxs("div",{className:"flex-1",children:[E.jsx("div",{className:"text-[13px] text-text-primary",children:d.message}),E.jsx("div",{className:"text-[11px] text-text-muted mt-0.5",children:d.ruleId})]})]},d.id)})}),E.jsx("div",{className:"mt-3 text-[11px] text-text-disabled break-all",children:a})]})}function zR({direction:a,onResize:o,onResizeStart:l,onResizeEnd:u}){const d=N.useRef(!1),p=N.useRef({x:0,y:0}),g=N.useCallback(S=>{S.preventDefault(),S.stopPropagation(),d.current=!0,p.current={x:S.clientX,y:S.clientY},l?.()},[l]);N.useEffect(()=>{const S=C=>{if(!d.current)return;const k=C.clientX-p.current.x,M=C.clientY-p.current.y;p.current={x:C.clientX,y:C.clientY},o(k,M)},T=()=>{d.current&&(d.current=!1,u?.())};return document.addEventListener("mousemove",S),document.addEventListener("mouseup",T),()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",T)}},[o,u]);const v={position:"absolute",zIndex:10},b={horizontal:{...v,top:0,left:0,width:4,height:"100%",cursor:"col-resize"},vertical:{...v,bottom:0,left:0,width:"100%",height:4,cursor:"row-resize"},corner:{...v,bottom:0,right:0,width:12,height:12,cursor:"nwse-resize"}};return E.jsx("div",{onMouseDown:g,style:{...b[a],background:"transparent"},onMouseEnter:S=>{S.target.style.background="rgba(59, 130, 246, 0.2)"},onMouseLeave:S=>{d.current||(S.target.style.background="transparent")}})}const OR=320,jR=800,zb=450,NR=500;function CL(){const a=we(ie=>ie.inspector.open),o=we(ie=>ie.inspector.panelId),l=we(ie=>ie.inspector.data),u=we(ie=>ie.inspector.selectedElementDataLoc),d=we(ie=>ie.inspector.docked),p=we(ie=>ie.inspector.width),g=we(ie=>ie.inspector.floatingPosition),v=we(ie=>ie.inspector.floatingSize),b=we(ie=>ie.closeInspector),S=we(ie=>ie.openInspector),T=we(ie=>ie.toggleInspectorDocked),C=we(ie=>ie.setInspectorWidth),k=we(ie=>ie.setInspectorFloatingPosition),M=we(ie=>ie.setInspectorFloatingSize),[j,V]=N.useState(!1),B=we(ie=>ie.mobile.isMobile),F=we(ie=>ie.activeDrag),te=we(ie=>ie.startDrag),K=F?.type==="inspector-floating",he=N.useMemo(()=>Yn.getAllInspectorPanels(),[]),ye=N.useCallback(ie=>{S("issue",{issue:ie})},[S]),{content:fe,title:re}=N.useMemo(()=>{let ie=null,L="Issues";const P=he.find(J=>J.id===o);if(P){const J=yh(),Me=P.component,Ne=l??void 0;L=typeof P.title=="function"?P.title({data:Ne,services:J}):P.title,ie=J?E.jsx(Me,{data:Ne,services:J}):E.jsx("div",{className:"p-4 text-text-muted text-center",children:"Loading..."})}else if(o==="issue"&&l?.issue){const J=l.issue,Me=J.ruleId?Yn.getRuleContribution(J.ruleId)||Yn.getRuleContribution(J.ruleId.replace("uilint/","")):void 0;if(Me?.inspectorPanel){const Ne=yh(),U=Me.inspectorPanel;L="Issue Details",ie=Ne?E.jsx(U,{data:l,services:Ne}):E.jsx("div",{className:"p-4 text-text-muted text-center",children:"Loading..."})}else L="Issue Details",ie=E.jsx(EL,{issue:J})}else o==="element"&&l?.dataLoc?(L="Element Issues",ie=E.jsx(AL,{dataLoc:l.dataLoc,onSelectIssue:ye})):(L="Issues",ie=E.jsxs("div",{className:"flex flex-col h-full",children:[E.jsx(p7,{}),u&&E.jsx(g7,{}),E.jsx(vL,{})]}));return{content:ie,title:L}},[o,l,he,ye]);N.useEffect(()=>{V(!0)},[]),N.useLayoutEffect(()=>{if(!j)return;const ie=document.documentElement;return a&&d?(ie.style.marginRight=`${p}px`,ie.style.transition="margin-right 0.2s ease-out"):(ie.style.marginRight="",ie.style.transition="margin-right 0.2s ease-out"),()=>{ie.style.marginRight="",ie.style.transition=""}},[j,a,d,p]),N.useLayoutEffect(()=>{if(!K||!F||!F.elementStartPos)return;const{currentPos:ie,startPos:L,elementStartPos:P}=F,J=ie.x-L.x,Me=ie.y-L.y;k({x:P.x+J,y:P.y+Me})},[K,F,k]);const Q=N.useCallback(ie=>{const L=Math.min(jR,Math.max(OR,p-ie));C(L)},[p,C]),ke=N.useCallback((ie,L)=>{const P=v??{width:zb,height:NR},J=Math.min(jR,Math.max(OR,P.width+ie)),Me=Math.max(300,P.height+L);M({width:J,height:Me})},[v,M]),Ae=N.useCallback(ie=>{if(!g||B)return;ie.preventDefault();const L={x:ie.clientX,y:ie.clientY};te("inspector-floating",L,{x:0,y:0},g)},[g,B,te]),Ke=N.useCallback(ie=>{if(!g||B)return;const L=ie.touches[0],P={x:L.clientX,y:L.clientY};te("inspector-floating",P,{x:0,y:0},g)},[g,B,te]);N.useEffect(()=>{!d&&!g&&j&&k({x:window.innerWidth-zb-20,y:80})},[d,g,k,j]);const Re=document.getElementById("uilint-portal")||document.body,Qe=({isDraggable:ie=!1})=>E.jsxs("div",{className:xe("flex items-center justify-between border-b border-border bg-surface-elevated select-none",B?"px-4 py-4":"px-4 py-3",ie&&!B?"cursor-move":"cursor-default"),style:{paddingTop:B?"calc(16px + env(safe-area-inset-top, 0px))":void 0},onMouseDown:ie&&!B?Ae:void 0,onTouchStart:ie&&!B?Ke:void 0,children:[E.jsx("span",{className:"font-semibold text-text-primary",children:re}),E.jsxs("div",{className:xe("flex items-center",B?"gap-2":"gap-1"),onMouseDown:L=>L.stopPropagation(),onTouchStart:L=>L.stopPropagation(),children:[!B&&E.jsx(wb,{variant:"ghost",size:"sm",onClick:T,title:d?"Undock to floating window":"Dock to side",children:d?E.jsx(Lj,{size:16}):E.jsx(Bj,{size:16})}),E.jsx(wb,{variant:"ghost",size:B?"default":"sm",onClick:b,title:"Close",className:B?"min-w-[44px] min-h-[44px]":void 0,children:E.jsx(hb,{size:B?20:16})})]})]}),We=zg("heavy","none",!1);return yd.createPortal(E.jsxs(ti,{children:[a&&d&&E.jsxs(Ze.div,{initial:{x:p,opacity:0},animate:{x:0,opacity:1},exit:{x:p,opacity:0},transition:{duration:.15,ease:[.25,.1,.25,1]},className:"fixed inset-y-0 right-0 flex flex-col border-l border-glass-border shadow-default z-[99997] pointer-events-auto",style:{width:p,...We},children:[E.jsx(zR,{direction:"horizontal",onResize:ie=>Q(ie)}),E.jsx(Qe,{}),E.jsx("div",{className:"flex-1 overflow-y-auto",children:fe})]},"docked"),a&&!d&&E.jsxs(Ze.div,{initial:{opacity:0,scale:B?1:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:B?1:.95},transition:{duration:.15},style:B?{position:"fixed",inset:0,width:"100%",height:"100%",...We,border:"none",borderRadius:0,boxShadow:"none",zIndex:99997,display:"flex",flexDirection:"column",overflow:"hidden",pointerEvents:"auto"}:{position:"fixed",left:g?.x??window.innerWidth-zb-20,top:g?.y??80,width:v?.width??zb,height:v?.height??NR,...We,border:"1px solid var(--uilint-glass-border)",borderRadius:12,boxShadow:"var(--uilint-shadow)",zIndex:99997,display:"flex",flexDirection:"column",overflow:"hidden",pointerEvents:"auto"},children:[E.jsx(Qe,{isDraggable:!0}),E.jsx("div",{className:"flex-1 overflow-y-auto min-h-0",style:{paddingBottom:B?"env(safe-area-inset-bottom, 0px)":void 0},children:fe}),!B&&E.jsx(zR,{direction:"corner",onResize:ke})]},"floating")]}),Re)}function kL({group:a,isMobile:o,disabled:l}){const[u,d]=N.useState(!1),p=o?44:36,g=N.useCallback(()=>{d(S=>!S)},[]),v=N.useCallback(S=>{const T=yh();T&&S.onClick&&S.onClick(T),d(!1)},[]),b=typeof document<"u"?document.getElementById("uilint-portal")||document.body:null;if(a.actions.length===1){const S=a.actions[0];return E.jsx(Ze.button,{whileHover:l?void 0:{scale:1.05},whileTap:l?void 0:{scale:.95},onClick:l?void 0:()=>v(S),disabled:l,"aria-label":S.tooltip,title:l?`${S.tooltip} (unavailable)`:S.tooltip,style:{width:p,height:p,borderRadius:p/2,border:"none",cursor:l?"default":"pointer",display:"flex",alignItems:"center",justifyContent:"center",opacity:l?.4:1,color:"var(--uilint-text-secondary)",...zg("medium","md",!1),borderTop:"1px solid var(--uilint-glass-border-light, rgba(255, 255, 255, 0.8))",borderBottom:"1px solid var(--uilint-glass-border, rgba(255, 255, 255, 0.5))",borderLeft:"1px solid var(--uilint-glass-border-light, rgba(255, 255, 255, 0.8))",borderRight:"1px solid var(--uilint-glass-border, rgba(255, 255, 255, 0.5))"},children:S.icon})}return E.jsxs("div",{style:{position:"relative"},children:[E.jsxs(Ze.button,{whileHover:l?void 0:{scale:1.05},whileTap:l?void 0:{scale:.95},onClick:l?void 0:g,disabled:l,"aria-label":a.tooltip,title:l?`${a.tooltip} (unavailable)`:a.tooltip,"aria-expanded":u,style:{height:p,padding:"0 10px",borderRadius:p/2,border:"none",cursor:l?"default":"pointer",display:"flex",alignItems:"center",justifyContent:"center",gap:4,opacity:l?.4:1,color:"var(--uilint-text-secondary)",...zg("medium","md",!1),borderTop:"1px solid var(--uilint-glass-border-light, rgba(255, 255, 255, 0.8))",borderBottom:"1px solid var(--uilint-glass-border, rgba(255, 255, 255, 0.5))",borderLeft:"1px solid var(--uilint-glass-border-light, rgba(255, 255, 255, 0.8))",borderRight:"1px solid var(--uilint-glass-border, rgba(255, 255, 255, 0.5))"},children:[a.icon,E.jsx(Dh,{size:12,style:{opacity:.5,transform:u?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s ease"}})]}),b&&yd.createPortal(E.jsx(ti,{children:u&&E.jsxs(E.Fragment,{children:[E.jsx("div",{style:{position:"fixed",inset:0,zIndex:99991,pointerEvents:"auto"},onClick:()=>d(!1)}),E.jsx(RL,{actions:a.actions,onAction:v,buttonSize:p})]})}),b)]})}function RL({actions:a,onAction:o,buttonSize:l}){return E.jsx(Ze.div,{initial:{opacity:0,scale:.95,y:-4},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:-4},transition:{duration:.15,ease:[.32,.72,0,1]},style:{position:"fixed",top:16+l+8,right:16,zIndex:99992,minWidth:180,borderRadius:12,overflow:"hidden",pointerEvents:"auto",...zg("heavy","lg",!0),border:"1px solid var(--uilint-glass-border, rgba(255, 255, 255, 0.5))",boxShadow:"0 8px 32px rgba(0, 0, 0, 0.12)"},children:E.jsx("div",{style:{padding:4},children:a.map(u=>E.jsxs(Ze.button,{whileHover:{backgroundColor:"var(--uilint-hover, rgba(0, 0, 0, 0.05))"},onClick:()=>o(u),title:u.tooltip,style:{width:"100%",display:"flex",alignItems:"center",gap:10,padding:"8px 12px",border:"none",borderRadius:8,background:"transparent",cursor:"pointer",color:"var(--uilint-text-secondary)",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:13,fontWeight:500,textAlign:"left"},children:[E.jsx("span",{style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:20,opacity:.7},children:u.icon}),E.jsx("span",{children:u.tooltip}),u.shortcut&&E.jsx("span",{style:{marginLeft:"auto",fontSize:11,opacity:.4,fontWeight:400},children:u.shortcut})]},u.id))})})}function ML(){const a=we(v=>v.mobile.isMobile),o=we(v=>v.inspector.open),l=we(v=>v.commandPalette.open);we(v=>v.plugins);const u=Yn.getAllToolbarActionGroups(),d=we(v=>v),p=u.filter(v=>v.isVisible?v.isVisible(d):!0);if(process.env.NODE_ENV==="development"&&u.length>0&&console.debug(`[PluginToolbar] ${u.length} group(s) registered, ${p.length} visible`),o||l||u.length===0)return null;const g=new Set(p.map(v=>v.id));return E.jsx(E.Fragment,{children:u.map(v=>E.jsx(kL,{group:v,isMobile:a,disabled:!g.has(v.id)},v.id))})}function DL(a){return a.map(o=>{const l=`${o.pluginId}: ${o.operationName}`;return o.current!=null&&o.total!=null?`${l} (${o.current}/${o.total})`:o.message?`${l} — ${o.message}`:l}).join(`
256
- `)}function _L(){const a=we(p=>p.activePluginOperations),o=we(p=>p.mobile.isMobile),l=Object.values(a).filter(p=>p.status==="active");if(l.length===0)return null;const u=o?44:36,d=DL(l);return E.jsxs("div",{className:"relative flex items-center justify-center rounded-full border border-border bg-glass-medium",style:{width:u,height:u},title:d,"aria-label":`${l.length} operation${l.length>1?"s":""} in progress`,children:[E.jsx("div",{className:"animate-spin rounded-full border-2 border-muted-foreground/30 border-t-muted-foreground",style:{width:u*.5,height:u*.5}}),l.length>1&&E.jsx("span",{className:"absolute -top-1 -right-1 flex h-4 w-4 items-center justify-center rounded-full bg-accent text-[10px] font-semibold text-accent-foreground",children:l.length})]})}function zL(){return typeof navigator>"u"?!1:navigator.platform.toUpperCase().indexOf("MAC")>=0}function OL(){const a=we(v=>v.inspector.open),o=we(v=>v.commandPalette.open),l=we(v=>v.openCommandPalette),u=we(v=>v.mobile.isMobile),d=we(v=>v.mobile.isTouchDevice),p=document.getElementById("uilint-portal")||document.body;if(a||o)return null;const g=zL()?"⌘":"Ctrl+";return yd.createPortal(E.jsx(ti,{children:E.jsxs(Ze.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15,ease:[.32,.72,0,1]},style:{position:"fixed",top:16,left:"50%",transform:"translateX(-50%)",display:"flex",alignItems:"center",gap:8,pointerEvents:"auto"},children:[E.jsx(ML,{}),E.jsx(_L,{}),!d&&E.jsxs(Ze.kbd,{initial:{opacity:0,x:10},animate:{opacity:.5,x:0},transition:{duration:.2,delay:.1},style:{padding:"2px 6px",borderRadius:4,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:11,fontWeight:500,color:"var(--uilint-text-muted)",background:"rgba(0, 0, 0, 0.06)",border:"1px solid rgba(0, 0, 0, 0.1)",lineHeight:1},children:[g,"K issues"]}),d&&E.jsx(Ze.button,{initial:{opacity:0,x:10},animate:{opacity:1,x:0},whileHover:{scale:1.05},whileTap:{scale:.95},transition:{duration:.15,ease:[.32,.72,0,1]},onClick:l,"aria-label":"Open search",title:"Search issues",style:{width:36,height:36,borderRadius:18,border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--uilint-text-secondary)",background:"rgba(0, 0, 0, 0.06)"},children:E.jsx(_S,{size:u?20:18})})]})}),p)}const LR=10,jL={isSelecting:!1,startPoint:null,currentPoint:null,mounted:!1};function NL(a,o){switch(o.type){case"MOUNT":return{...a,mounted:!0};case"START_SELECTION":return{...a,isSelecting:!0,startPoint:o.point,currentPoint:o.point};case"UPDATE_SELECTION":return{...a,currentPoint:o.point};case"COMPLETE_SELECTION":return{...a,isSelecting:!1,startPoint:null,currentPoint:null};default:return a}}const Ur={overlayBg:"rgba(0, 0, 0, 0.5)",selectionBorder:"var(--uilint-accent, #fbbf24)",selectionBg:"transparent",textBg:"var(--uilint-backdrop, rgba(0, 0, 0, 0.8))",textColor:"var(--uilint-text-primary, #ffffff)",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontMono:'"SF Mono", Monaco, "Cascadia Code", monospace'};function LL({active:a,onRegionSelected:o,onCancel:l}){const[u,d]=N.useReducer(NL,jL),{isSelecting:p,startPoint:g,currentPoint:v,mounted:b}=u;N.useEffect(()=>{d({type:"MOUNT"})},[]);const S=N.useCallback(()=>{if(!g||!v)return null;const B=Math.min(g.x,v.x),F=Math.min(g.y,v.y),te=Math.abs(v.x-g.x),K=Math.abs(v.y-g.y);return{x:B,y:F,width:te,height:K}},[g,v]),T=N.useCallback(B=>{B.button===0&&d({type:"START_SELECTION",point:{x:B.clientX,y:B.clientY}})},[]),C=N.useCallback(B=>{!p||!g||d({type:"UPDATE_SELECTION",point:{x:B.clientX,y:B.clientY}})},[p,g]),k=N.useCallback(()=>{if(!p||!g)return;const B=S();B&&B.width>LR&&B.height>LR?o(B):l(),d({type:"COMPLETE_SELECTION"})},[p,g,S,o,l]);if(N.useEffect(()=>{if(!a)return;const B=F=>{F.key==="Escape"&&(F.preventDefault(),F.stopPropagation(),l())};return document.addEventListener("keydown",B,!0),()=>{document.removeEventListener("keydown",B,!0)}},[a,l]),N.useLayoutEffect(()=>{if(!a)return;const B=F=>{F.preventDefault()};return document.body.style.overflow="hidden",document.addEventListener("wheel",B,{passive:!1}),document.addEventListener("touchmove",B,{passive:!1}),()=>{document.body.style.overflow="",document.removeEventListener("wheel",B),document.removeEventListener("touchmove",B)}},[a]),!a||!b)return null;const M=S(),j=typeof document<"u"?document.getElementById("uilint-portal")||document.body:null;if(!j)return null;const V=E.jsxs("div",{"data-testid":"region-selector-overlay","data-ui-lint":!0,onMouseDown:T,onMouseMove:C,onMouseUp:k,style:{position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:999999,cursor:"crosshair",backgroundColor:Ur.overlayBg,fontFamily:Ur.fontFamily},children:[E.jsxs("div",{style:{position:"absolute",top:"20px",left:"50%",transform:"translateX(-50%)",padding:"12px 20px",borderRadius:"12px",backgroundColor:Ur.textBg,color:Ur.textColor,fontSize:"14px",fontWeight:500,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.4)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",pointerEvents:"none",userSelect:"none"},children:["Click and drag to select a region"," ",E.jsx("kbd",{style:{padding:"2px 6px",borderRadius:"4px",backgroundColor:"rgba(255, 255, 255, 0.1)",border:"1px solid rgba(255, 255, 255, 0.2)",fontSize:"11px",fontFamily:Ur.fontMono,marginLeft:"4px"},children:"Esc"})," ","to cancel"]}),M&&M.width>0&&M.height>0&&E.jsxs(E.Fragment,{children:[E.jsx("div",{"data-testid":"selection-rectangle",style:{position:"absolute",left:`${M.x}px`,top:`${M.y}px`,width:`${M.width}px`,height:`${M.height}px`,border:`2px solid ${Ur.selectionBorder}`,backgroundColor:Ur.selectionBg,pointerEvents:"none",boxShadow:`0 0 0 9999px ${Ur.overlayBg}`}}),E.jsxs("div",{"data-testid":"dimensions-label",style:{position:"absolute",left:`${M.x}px`,top:`${M.y-32}px`,padding:"6px 10px",borderRadius:"6px",backgroundColor:Ur.textBg,color:Ur.textColor,fontSize:"12px",fontFamily:Ur.fontMono,fontWeight:500,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.3)",pointerEvents:"none",userSelect:"none",whiteSpace:"nowrap"},children:[Math.round(M.width)," x ",Math.round(M.height)]})]})]});return yd.createPortal(V,j)}let f2=!1;function UL(){if(typeof document>"u")return;let a=document.getElementById("uilint-portal");return a||(a=document.createElement("div"),a.id="uilint-portal",a.style.cssText="position: fixed; top: 0; left: 0; z-index: 99990; pointer-events: none;",document.body.appendChild(a),f2=!0),a}function BL(){if(!f2)return;const a=document.getElementById("uilint-portal");a&&(a.remove(),f2=!1)}function VL({enabled:a=!0}){const o=we(v=>v.overlayInteraction),l=we(v=>v.completeOverlayInteraction),u=we(v=>v.cancelOverlayInteraction),d=o?.type==="region-select",p=N.useCallback(v=>{l(v)},[l]),g=N.useCallback(()=>{u()},[u]);return N.useEffect(()=>(a&&UL(),()=>{BL()}),[a]),a?E.jsxs(E.Fragment,{children:[E.jsx(OL,{}),E.jsx(__,{}),E.jsx(d7,{}),E.jsx(CL,{}),E.jsx(LL,{active:d,onRegionSelected:p,onCancel:g})]}):null}const Ob="data-loc",HL=100;function qL(a,o){return`loc:${a}#${o}`}function YL(a){if(!a)return null;let o=a;if(o.startsWith("loc:")){o=o.slice(4);const l=o.lastIndexOf("#");l!==-1&&(o=o.slice(0,l))}return o||null}function GL(a,o){return o&&a.includes("node_modules")}class XL{observer=null;reconcileTimeout=null;knownElements=new Map;addedHandlers=new Set;removedHandlers=new Set;isRunning=!1;hideNodeModules=!0;options;constructor(o={}){this.options=o}setHideNodeModules(o){this.hideNodeModules=o,this.isRunning&&this.reconcile()}start(){if(typeof window>"u"&&!this.options.root||this.isRunning)return;this.isRunning=!0;const o=this.options.MutationObserverImpl??(typeof window<"u"?window.MutationObserver:void 0),l=this.options.root??(typeof document<"u"?document.body:void 0);o&&l&&(this.observer=new o(this.handleMutations.bind(this)),this.observer.observe(l,{childList:!0,subtree:!0})),this.reconcile()}stop(){this.isRunning=!1,this.observer&&(this.observer.disconnect(),this.observer=null),this.reconcileTimeout&&(clearTimeout(this.reconcileTimeout),this.reconcileTimeout=null),this.knownElements.clear()}onElementsAdded(o){return this.addedHandlers.add(o),()=>{this.addedHandlers.delete(o)}}onElementsRemoved(o){return this.removedHandlers.add(o),()=>{this.removedHandlers.delete(o)}}getElements(){return this.scanElements()}handleMutations(o){let l=!1;for(const u of o){for(const d of u.addedNodes)if(this.hasDataLocElements(d)){l=!0;break}if(l)break;for(const d of u.removedNodes)if(this.hasDataLocElements(d)){l=!0;break}if(l)break}l&&this.debouncedReconcile()}hasDataLocElements(o){return o instanceof Element?!!(o.hasAttribute(Ob)||o.querySelector(`[${Ob}]`)):!1}debouncedReconcile(){this.reconcileTimeout&&clearTimeout(this.reconcileTimeout),this.reconcileTimeout=setTimeout(()=>{this.reconcile(),this.reconcileTimeout=null},HL)}reconcile(){if(typeof window>"u")return;const o=this.scanElements(),l=new Map(o.map(v=>[v.id,v])),u=new Set(l.keys()),d=new Set(this.knownElements.keys()),p=[];for(const v of o)d.has(v.id)||p.push(v);const g=[];for(const v of d)u.has(v)||g.push(v);this.knownElements.clear();for(const v of o)this.knownElements.set(v.id,v.element);if(p.length>0)for(const v of this.addedHandlers)try{v(p)}catch(b){yn("[DOMObserverService] Error in added handler:",b)}if(g.length>0)for(const v of this.removedHandlers)try{v(g)}catch(b){yn("[DOMObserverService] Error in removed handler:",b)}}scanElements(){const o=this.options.querySelectorAll??(typeof document<"u"?document.querySelectorAll.bind(document):void 0);if(!o)return[];const l=[],u=new Map,d=o(`[${Ob}]`);for(const p of d){if(this.isInsideUILintUI(p))continue;const g=p.getAttribute(Ob),v=YL(g??"");if(!v||GL(v,this.hideNodeModules))continue;const b=(u.get(v)??0)+1;u.set(v,b);const S=qL(v,b);l.push({id:S,dataLoc:v,element:p,tagName:p.tagName.toLowerCase(),rect:p.getBoundingClientRect()})}return l}isInsideUILintUI(o){return o.closest("[data-ui-lint]")!==null}}const Lg=new XL,IL={target:Qj,link:jj,"external-link":db,"chevron-right":_h,"chevron-down":Dh,"chevron-up":xj,x:hb,check:YC,"alert-triangle":gl,"alert-circle":Ou,info:jr,"help-circle":Sj,eye:IC,camera:bj,crop:Rj,scan:Gj,search:_S,filter:$C,brain:yj,sparkles:Ij,code:Cj,file:Mj,"file-code":fb,folder:Dj,"git-branch":_j,copy:GC,clipboard:Ej,book:gj,"book-open":mj,bookmark:vj,play:Hj,pause:Vj,refresh:QC,trash:Fj,edit:$j,settings:zS,plus:qj,minus:Uj,loader:Nj,"check-circle":wj,"x-circle":DS,clock:Tj};function Uu(a){return IL[a]??jr}const UR=new Map;function $L(a,o){UR.set(a,o)}async function QL(a,o){const l=UR.get(a);return l?l(o):{success:!1,error:`Unknown browser action: ${a}`}}function Lh(a,o,l){return{getState:()=>a.getState().plugins?.[o],setState:u=>{a.setState(u)},dispatch:(u,d)=>{if(l&&l[u]){const p=Lh(a,o,l);return l[u](p,d)}},websocket:a.websocket,getCurrentRoute:()=>window.location.pathname,requestBrowserAction:async(u,d)=>QL(u,d),registerBrowserAction:(u,d)=>{$L(u,d)},openInEditor:u=>{const[d,p]=u.split(":"),g=`vscode://file/${d}:${p}`;window.open(g,"_self")},setHeatmapFilter:(u,d)=>{a.getState().setHeatmapFilter?.(u,d)},clearHeatmapFilter:()=>{a.getState().clearHeatmapFilter?.()},openInspector:(u,d)=>{a.openInspector(u,{...d})},closeInspector:()=>{a.closeInspector()},requestOverlayInteraction:(u,d)=>new Promise((p,g)=>{const v=a.getState();if(!v.startOverlayInteraction){g(new Error("Overlay interactions not supported by host"));return}v.startOverlayInteraction({type:u,pluginId:o,onComplete:p,onCancel:()=>g(new Error("Overlay interaction cancelled"))})})}}function jb(a,o){if(!a)return!0;if(Vy(a)){const l=a.binding.split(".");let u=o;for(const d of l)if(u&&typeof u=="object")u=u[d];else return!1;return!!u}if(pT(a)){const l=a.expression,u=l.match(/^(\w+(?:\.\w+)*)\s*===?\s*(.+)$/);if(u){const[,p,g]=u;let v=o;for(const S of p.split("."))if(v&&typeof v=="object")v=v[S];else{v=void 0;break}const b=g.trim();return b==="true"?v===!0:b==="false"?v===!1:b==="null"?v===null:b==="0"?v===0:b.startsWith('"')&&b.endsWith('"')?v===b.slice(1,-1):String(v)===b}const d=l.match(/^(\w+(?:\.\w+)*)\.length\s*===?\s*(\d+)$/);if(d){const[,p,g]=d;let v=o;for(const b of p.split("."))if(v&&typeof v=="object")v=v[b];else{v=void 0;break}return Array.isArray(v)||typeof v=="string"||v instanceof Map?(v instanceof Map?v.size:v.length)===parseInt(g,10):!1}return!1}return!0}function ZL(a,o,l){return{id:a.id,title:a.title,keywords:a.keywords,category:a.category,subtitle:a.subtitle,icon:a.icon?ft.createElement(Uu(a.icon),{size:16}):void 0,shortcut:a.shortcut,hideFromAllCategory:a.hideFromAllCategory,isAvailable:a.isAvailable?u=>{const d=u?.plugins?.[o];return jb(a.isAvailable,d)}:void 0,execute:u=>{const d=Lh(u,o,l);return h2(a.action,d,l)}}}function FL(a,o,l){return{id:a.id,icon:ft.createElement(Uu(a.icon),{size:16}),tooltip:a.tooltip,isVisible:a.isVisible?u=>{const d=u?.plugins?.[o];return jb(a.isVisible,d)}:void 0,isEnabled:a.isEnabled?u=>{const d=u?.plugins?.[o];return jb(a.isEnabled,d)}:void 0,onClick:u=>{const d=Lh(u,o,l);return h2(a.action,d,l)}}}function PL(a,o,l){return{id:a.id,icon:ft.createElement(Uu(a.icon),{size:16}),tooltip:a.tooltip,priority:a.priority,isVisible:a.isVisible?u=>{const d=u?.plugins?.[o];return jb(a.isVisible,d)}:void 0,actions:a.actions.map(u=>FL(u,o,l))}}function h2(a,o,l){if(!l||!l[a.type]){console.warn(`No handler found for action: ${a.type}`);return}const u=a.payload?{...a.payload}:{};if(a.payloadBindings){const d=o.getState();for(const[p,g]of Object.entries(a.payloadBindings)){const v=g.split(".");let b=d;for(const S of v)if(b&&typeof b=="object")b=b[S];else{b=void 0;break}u[p]=b}}return l[a.type](o,u)}function KL(a){const o=a.id,l=a.actions;return{id:a.id,name:a.name,version:a.version,description:a.description,icon:a.icon?ft.createElement(Uu(a.icon),{size:16}):void 0,dependencies:a.dependencies,createSlice:d=>{const p=a.state.initialState,g={...p};for(const v of Object.keys(p)){const b=`set${v.charAt(0).toUpperCase()}${v.slice(1)}`;g[b]=S=>{d.setState({[v]:S})}}return g},commands:a.commands?.map(d=>ZL(d,o,l)),toolbarActionGroups:a.toolbarGroups?.map(d=>PL(d,o,l)),inspectorPanels:a.panels?.map(d=>({id:d.id,title:typeof d.title=="string"?d.title:d.title.binding,priority:d.priority,component:ft.lazy(()=>Promise.resolve().then(()=>iB).then(p=>({default:g=>{const b=g.services.getState().plugins?.[o]??{},S=(C,k)=>{const M=Lh(g.services,o,l);h2({type:C,payload:k},M,l)},T=p.SchemaPanel;return ft.createElement(T,{panel:d,data:g.data||{},state:b,onAction:S})}})))})),ruleContributions:a.rules?.filter(d=>d.contentRenderer||d.heatmapColor).map(d=>({ruleId:d.id,contentRenderer:d.contentRenderer,heatmapColor:d.heatmapColor})),handlesRules:a.handlesRuleCategories?d=>!!(d.category&&a.handlesRuleCategories?.includes(d.category)):void 0,getIssues:a.getIssues?d=>{const p=a.getIssues(d);return{pluginId:p.pluginId,issues:p.issues}}:void 0,initialize:d=>{const p=Lh(d,o,l),g=[];if(a.messageHandlers){for(const[b,S]of Object.entries(a.messageHandlers)){const T=d.websocket.on(b,C=>{S(p,C)});g.push(T)}const v=d.websocket.onConnectionChange(b=>{b&&a.onLoad&&a.onLoad(p)});g.push(v)}if(a.onLoad&&a.onLoad(p),g.length>0)return()=>{g.forEach(v=>v())}},dispose:a.onUnload?d=>{const p=Lh(d,o,l);return a.onUnload(p)}:void 0}}const JL=[{id:"eslint",name:"ESLint Analysis",load:()=>Promise.resolve().then(()=>kU),enabled:!0}],WL=[];async function eU(a){try{return(await a.load()).default}catch(o){return yn(`Failed to load plugin "${a.id}":`,o),null}}async function tU(){const a=WL.map(async u=>{try{await u()}catch(d){Ft("Failed to import external plugin:",d)}});await Promise.all(a);const o=zD.getAll();Ye(`[Loader] Found ${o.length} plugins in core registry`);const l=[];for(const u of o)try{const d=KL(u);l.push(d),Ye(`[Loader] Adapted plugin: ${u.id}`)}catch(d){yn(`[Loader] Failed to adapt plugin "${u.id}":`,d)}return l}async function nU(a=JL,o){const l=[],u=await tU();l.push(...u);const d=a.filter(b=>b.enabled);d.length+u.length;const p=d.map(async(b,S)=>await eU(b)),v=(await Promise.all(p)).filter(b=>b?b.id?!0:(Ft("Plugin missing id, skipping:",b),!1):!1);return l.push(...v),dw(l)}const p2=[{id:"eslint:toggle-scan",title:"Toggle ESLint Scan",keywords:["eslint","scan","toggle","enable","disable","start","stop"],category:"eslint",subtitle:"Enable or disable real-time ESLint analysis",icon:void 0,hideFromAllCategory:!0,execute:a=>{const l=a.getState().plugins.eslint;if(!l){Ft("[ESLint Command] ESLint plugin slice not found");return}l.scanStatus==="scanning"?l.stopScanning():l.startScanning(),a.closeCommandPalette()},isAvailable:a=>a.wsConnected===!0},{id:"eslint:start-scan",title:"Start ESLint Scan",keywords:["eslint","scan","start","analyze","lint","check"],category:"eslint",subtitle:"Scan all elements on the current page",hideFromAllCategory:!0,execute:a=>{const l=a.getState().plugins.eslint;if(!l){Ft("[ESLint Command] ESLint plugin slice not found");return}l.scanStatus!=="scanning"&&l.startScanning(),a.closeCommandPalette()},isAvailable:a=>{const o=a;return o.wsConnected===!0&&o.plugins?.eslint?.scanStatus!=="scanning"}},{id:"eslint:stop-scan",title:"Stop ESLint Scan",keywords:["eslint","scan","stop","disable","off"],category:"eslint",subtitle:"Stop scanning and clear results",hideFromAllCategory:!0,execute:a=>{const l=a.getState().plugins.eslint;if(!l){Ft("[ESLint Command] ESLint plugin slice not found");return}l.stopScanning(),a.closeCommandPalette()},isAvailable:a=>a.plugins?.eslint?.scanStatus==="scanning"},{id:"eslint:open-fixes",title:"Fix All Issues",keywords:["eslint","fix","fixes","autofix","repair","issues"],category:"eslint",subtitle:"Open the fixes inspector panel",hideFromAllCategory:!0,execute:a=>{a.openInspector("fixes",{}),a.closeCommandPalette()},isAvailable:a=>{const l=a.plugins?.eslint;return l?.scanStatus!=="scanning"||!l?.issues?!1:l.issues.size>0}},{id:"eslint:clear-rescan",title:"Clear & Rescan",keywords:["eslint","cache","clear","refresh","reset","rescan"],category:"eslint",subtitle:"Clear cached results and re-scan all files",hideFromAllCategory:!0,execute:a=>{const l=a.getState().plugins.eslint;if(!l){Ft("[ESLint Command] ESLint plugin slice not found");return}l.clearIssues(),l.startScanning(),a.closeCommandPalette()},isAvailable:a=>a.wsConnected===!0}];function aU(a){return a==="scanning"}const BR={issues:new Map,scannedDataLocs:new Set,requestedFiles:new Set,scanStatus:"scanning",lintingFiles:new Map,availableRules:[],disabledRules:new Set,workspaceRoot:null,ruleConfigs:new Map,ruleConfigUpdating:new Map,workspaceCapabilities:null};function VR(a){return{...BR}}function HR(a,o,l){return{startScanning:()=>{l({scanStatus:"scanning"})},stopScanning:()=>{l({scanStatus:"idle",issues:new Map,scannedDataLocs:new Set,requestedFiles:new Set})},setIssues:(u,d)=>{const p=o(),g=new Map(p.issues);d.length>0?g.set(u,d):g.delete(u),l({issues:g})},clearIssues:()=>{l({issues:new Map,scannedDataLocs:new Set,requestedFiles:new Set})},toggleRule:u=>{const d=o(),p=new Set(d.disabledRules);p.has(u)?p.delete(u):p.add(u),l({disabledRules:p})},setAvailableRules:u=>{l({availableRules:u})},setWorkspaceRoot:u=>{l({workspaceRoot:u})},markScanned:u=>{const d=o(),p=new Set(d.scannedDataLocs);p.add(u),l({scannedDataLocs:p})},markFileRequested:u=>{const d=o(),p=new Set(d.requestedFiles);p.add(u),l({requestedFiles:p})},setScanStatus:u=>{l({scanStatus:u})}}}function iU(a,o){return o.size===0?a:a.filter(l=>!o.has(l.ruleId))}function oU(a){if(!a)return null;const o=a.lastIndexOf(":");if(o===-1)return null;const l=a.lastIndexOf(":",o-1);if(l===-1)return null;const u=a.substring(0,l);return u||null}function qR(a){const o=new Set;for(const l of a){const u=oU(l);u&&o.add(u)}return o}function rU({value:a,onChange:o,disabled:l}){const u=[{value:"error",label:"E",color:"var(--uilint-error, oklch(0.72 0.17 25))"},{value:"warning",label:"W",color:"var(--uilint-warning, oklch(0.82 0.165 80))"},{value:"off",label:"Off",color:"#6b7280"}];return E.jsx("div",{style:{display:"flex",gap:4},children:u.map(d=>E.jsx("button",{onClick:()=>o(d.value),disabled:l,style:{padding:"4px 8px",fontSize:12,fontWeight:500,border:"none",borderRadius:4,cursor:l?"not-allowed":"pointer",background:a===d.value?d.color:"var(--uilint-surface-elevated)",color:a===d.value?"white":"var(--uilint-text-disabled)",opacity:l?.5:1},children:d.label},d.value))})}function lU({data:a}){const o=a?.ruleId,l=we(b=>{const S=b.plugins?.eslint;return!S?.availableRules||!o?null:S.availableRules.find(T=>T.id===o)}),u=we(b=>{const S=b.plugins?.eslint;return S?.ruleConfigs?S.ruleConfigs.get(o||""):null}),d=we(b=>{const S=b.plugins?.eslint;return S?.ruleConfigUpdating?S.ruleConfigUpdating.get(o||"")??!1:!1}),p=we(b=>{const S=b.plugins?.eslint;if(!S?.issues)return 0;let T=0;return S.issues.forEach(C=>{T+=C.filter(k=>k.ruleId===o).length}),T}),g=N.useCallback(b=>{o&&Yn.setRuleSeverity(o,b)},[o]);if(!o)return E.jsx("div",{style:{padding:16,color:"var(--uilint-text-muted)",textAlign:"center"},children:"No rule selected"});if(!l)return E.jsxs("div",{style:{padding:16,color:"var(--uilint-text-muted)",textAlign:"center"},children:["Rule not found: ",o]});const v=u?.severity?u.severity==="warn"?"warning":u.severity:l.currentSeverity==="warn"?"warning":l.currentSeverity??"off";return E.jsxs("div",{style:{padding:16},children:[E.jsxs("div",{style:{marginBottom:16},children:[E.jsx("div",{style:{fontSize:16,fontWeight:600,color:"var(--uilint-text-primary)",marginBottom:4},children:l.name}),E.jsx("div",{style:{fontSize:12,color:"var(--uilint-text-muted)",fontFamily:"monospace"},children:l.id})]}),E.jsx("div",{style:{fontSize:14,color:"var(--uilint-text-secondary)",marginBottom:16,lineHeight:1.5},children:l.description}),E.jsxs("div",{style:{display:"flex",gap:8,marginBottom:16},children:[E.jsx("span",{style:{fontSize:11,fontWeight:500,textTransform:"uppercase",background:l.category!=="static"?"rgba(59, 130, 246, 0.1)":"var(--uilint-surface-elevated)",color:l.category!=="static"?"var(--uilint-accent)":"var(--uilint-text-muted)",padding:"2px 6px",borderRadius:4},children:l.category}),p>0&&E.jsxs("span",{style:{fontSize:11,fontWeight:500,background:"rgba(239, 68, 68, 0.1)",color:"#dc2626",padding:"2px 6px",borderRadius:4},children:[p," issue",p!==1?"s":""]})]}),E.jsxs("div",{style:{marginBottom:16},children:[E.jsx("div",{style:{fontSize:12,fontWeight:500,color:"var(--uilint-text-muted)",marginBottom:8},children:"Severity"}),E.jsx(rU,{value:v,onChange:g,disabled:d}),d&&E.jsx("div",{style:{fontSize:11,color:"var(--uilint-text-muted)",marginTop:4},children:"Updating..."})]}),l.docs&&E.jsx("div",{style:{marginTop:16},children:E.jsx("a",{href:l.docs,target:"_blank",rel:"noopener noreferrer",style:{fontSize:12,color:"var(--uilint-accent)",textDecoration:"none"},children:"View documentation"})})]})}function Cd(a){const o={error:0,warning:0,info:0};for(const l of a)l.severity==="error"?o.error++:l.severity==="warning"?o.warning++:l.severity==="info"&&o.info++;return o}function sU(a,o=[]){const l=new Map;for(const p of a){const g=p.ruleId,v=l.get(g)||[];l.set(g,[...v,p])}const u=new Map;for(const p of o)u.set(p.id,p);const d=[];for(const[p,g]of l){const v=u.get(p),b=Cd(g),S=p.includes("/")?p.split("/").pop():p;d.push({id:`rule:${p}`,label:v?.name||S,subtitle:v?.description||p,count:g.length,severityCounts:b,metadata:{isRule:!0,ruleId:p,tileType:"rule",category:v?.category,currentSeverity:v?.currentSeverity,defaultSeverity:v?.defaultSeverity,currentOptions:v?.currentOptions,optionSchema:v?.optionSchema}})}return d.sort((p,g)=>{const v=p.severityCounts?.error??0,b=g.severityCounts?.error??0;return v!==b?b-v:g.count-p.count}),d}function YR(a,o){const l=a.filter(p=>p.ruleId===o),u=new Map;for(const p of l){const g=p.filePath,v=u.get(g)||[];u.set(g,[...v,p])}const d=[];for(const[p,g]of u){const v=Cd(g),S=p.split("/").pop()||p;d.push({id:`file:${p}:${o}`,label:S,subtitle:p,count:g.length,severityCounts:v,metadata:{isFile:!0,filePath:p,ruleId:o,tileType:"file"}})}return d.sort((p,g)=>{const v=p.severityCounts?.error??0,b=g.severityCounts?.error??0;return v!==b?b-v:g.count-p.count}),d}function uU(a){const o=new Map;for(const u of a){const d=u.filePath,p=o.get(d)||[];o.set(d,[...p,u])}const l=[];for(const[u,d]of o){const p=Cd(d),v=u.split("/").pop()||u,b=new Set(d.map(S=>S.ruleId));l.push({id:`file:${u}`,label:v,subtitle:u,count:d.length,severityCounts:p,metadata:{isFile:!0,filePath:u,tileType:"file",ruleCount:b.size,issues:d}})}return l.sort((u,d)=>{const p=u.severityCounts?.error??0,g=d.severityCounts?.error??0;return p!==g?g-p:d.count-u.count}),l}function cU(a,o=[]){if(a.length===0)return[];const l=dU(a,o),u=uU(a),d=[...l,...u];return d.sort((p,g)=>{const v=p.severityCounts?.error??0,b=g.severityCounts?.error??0;return v!==b?b-v:g.count-p.count}),d}function dU(a,o=[]){const l=new Map;for(const p of a){const g=p.ruleId,v=l.get(g)||[];l.set(g,[...v,p])}const u=new Map;for(const p of o)u.set(p.id,p);const d=[];for(const[p,g]of l){const v=u.get(p),b=Cd(g),S=p.includes("/")?p.split("/").pop():p,T=new Set(g.map(C=>C.filePath));d.push({id:`rule:${p}`,label:v?.name||S,subtitle:v?.description||p,count:g.length,severityCounts:b,fileCount:T.size,metadata:{isRule:!0,ruleId:p,tileType:"rule",issues:g,category:v?.category,currentSeverity:v?.currentSeverity,defaultSeverity:v?.defaultSeverity,currentOptions:v?.currentOptions,optionSchema:v?.optionSchema}})}return d}function Ug(a){const l=a.getState()?.plugins?.eslint;if(!l?.issues)return[];const u=l.disabledRules??new Set,d=[];for(const p of l.issues.values())for(const g of p)u.has(g.ruleId)||d.push(g);return d}function m2(a){return a.getState()?.plugins?.eslint?.availableRules??[]}function GR(a,o){const l=Ug(a);if(l.length===0)return[];const u=m2(a);return cU(l,u)}function XR(a){const o=a.metadata??{};if(o.isRule)return{type:"rule",id:o.ruleId,label:a.label,providerId:"eslint"};if(o.isFile){const l=o.filePath,u=l.split("/").pop()||l;return{type:"file",id:l,label:u,providerId:"eslint"}}return{type:"scope",id:a.id,label:a.label,providerId:"eslint"}}function IR(a){const o=a.some(u=>u.type==="rule"),l=a.some(u=>u.type==="file");return o&&l}function $R(a){const o=a.metadata??{};return o.isRule?{panelId:"eslint-rule",data:{ruleId:o.ruleId}}:o.isFile?{panelId:"eslint-rule",data:{ruleId:o.ruleId,filePath:o.filePath}}:o.isIssue?{panelId:"eslint-rule",data:{ruleId:o.ruleId,filePath:o.filePath,issueId:o.issueId,line:o.line}}:{panelId:"eslint-rule",data:{}}}function fU(a,o,l){let u=a.filter(d=>d.filePath===o);return l&&(u=u.filter(d=>d.ruleId===l)),u.sort((d,p)=>d.line-p.line),u.map(d=>({id:`issue:${d.id}`,label:d.message,subtitle:`Line ${d.line}${d.column?`:${d.column}`:""}`,count:1,severityCounts:{error:d.severity==="error"?1:0,warning:d.severity==="warning"?1:0,info:d.severity==="info"?1:0},metadata:{isIssue:!0,issueId:d.id,ruleId:d.ruleId,filePath:d.filePath,line:d.line,column:d.column,severity:d.severity,issue:d}}))}function hU(a,o){const l=a.metadata??{},u=Ug(o);if(u.length!==0){if(l.isRule){const d=l.ruleId;return YR(u,d)}if(l.isFile){const d=l.filePath,p=l.ruleId;return fU(u,d,p)}l.isIssue}}function pU(a){const o=a.metadata??{};return!!(o.isRule||o.isFile)}function QR(){return E.jsx(_h,{size:12,className:"text-muted-foreground/30 flex-shrink-0 mx-1"})}function g2({children:a,onClick:o,isActive:l=!1,icon:u}){const d=!!o&&!l;return E.jsxs(Ze.button,{onClick:d?o:void 0,disabled:!d,className:xe("flex items-center gap-1 px-1.5 py-0.5 rounded text-xs","transition-colors duration-100",d&&"hover:bg-foreground/[0.05] cursor-pointer",l?"text-foreground/80 font-medium":"text-muted-foreground/60",!d&&!l&&"cursor-default"),whileHover:d?{scale:1.02}:void 0,whileTap:d?{scale:.98}:void 0,children:[u,E.jsx("span",{className:"truncate max-w-[120px]",children:a})]})}function mU({expandedRuleName:a,expandedFileName:o,onCollapseToRoot:l,onCollapseFile:u,variant:d="standalone",className:p}){return a?E.jsxs(Ze.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},className:xe("flex items-center px-4 py-2",d!=="embedded"&&"border-b border-foreground/[0.04] bg-foreground/[0.01]",p),children:[E.jsx(g2,{onClick:l,icon:E.jsx(zj,{size:11,className:"opacity-50"}),children:"All Rules"}),E.jsx(QR,{}),E.jsx(g2,{onClick:o?u:void 0,isActive:!o,children:a}),o&&E.jsxs(E.Fragment,{children:[E.jsx(QR,{}),E.jsx(g2,{isActive:!0,children:o})]})]}):null}function gU({severity:a}){switch(a){case"error":return E.jsx(Ou,{size:13,className:"text-error flex-shrink-0"});case"warning":return E.jsx(gl,{size:13,className:"text-warning flex-shrink-0"});case"info":return E.jsx(jr,{size:13,className:"text-info flex-shrink-0"})}}function vU({severity:a}){const o=a==="error"?"text-error bg-error/10":a==="warning"?"text-warning bg-warning/10":"text-info bg-info/10";return E.jsx("span",{className:xe("inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium",o),children:a})}function yU(a,o,l){const u=[],d=a?.category;d&&d!=="static"&&u.push({label:d,accent:!0});const p=a?.defaultSeverity;p&&o!==p&&u.push({label:o});const g=a?.optionSchema,v=a?.defaultOptions,b=Array.isArray(v)?v[0]??{}:{};if(l&&g?.fields)for(const S of g.fields){const T=l[S.key];if(T!==void 0&&T!==b[S.key]){const C=typeof T=="boolean"?`${S.label}: ${T?"on":"off"}`:`${S.label}: ${String(T)}`;if(u.push({label:C}),u.length>=3)break}}return u}function bU({ruleId:a,currentSeverity:o,ruleMeta:l,currentOptions:u,defaultOptions:d,onSeverityChange:p,onOptionChange:g,onResetOptions:v,isUpdating:b}){const[S,T]=N.useState(!1),C=N.useMemo(()=>yU(l,o,u),[l,o,u]),k=[{value:"off",label:"Off",dot:"bg-muted-foreground/30"},{value:"warn",label:"Warn",dot:"bg-warning/70"},{value:"error",label:"Error",dot:"bg-error/70"}];return E.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-foreground/[0.06]",children:[E.jsx("div",{className:"flex items-center gap-0.5 p-0.5 bg-foreground/[0.02] rounded-md border border-foreground/[0.04]",children:k.map(M=>E.jsxs("button",{type:"button",onClick:()=>p(M.value),className:xe("flex items-center gap-1 px-1.5 py-0.5 rounded","text-[10px] transition-colors duration-100",o===M.value?"bg-foreground/[0.08] text-foreground font-medium":"text-foreground/50 hover:bg-foreground/[0.04] hover:text-foreground/70"),children:[E.jsx("span",{className:xe("w-1.5 h-1.5 rounded-full flex-shrink-0",M.dot)}),M.label]},M.value))}),C.map(M=>E.jsx("span",{className:xe("rounded-full px-2 py-0.5 text-[10px] leading-tight","border border-foreground/[0.06]",M.accent?"text-purple-500/70 bg-purple-500/[0.06]":"text-muted-foreground/60 bg-foreground/[0.02]"),children:M.label},M.label)),E.jsx("div",{className:"flex-1"}),E.jsx("div",{onKeyDown:M=>{M.key==="Escape"&&S&&M.stopPropagation()},children:E.jsx(Xk,{open:S,onClose:()=>T(!1),placement:"bottom",align:"end",width:320,trigger:E.jsxs("button",{type:"button",onClick:()=>T(!S),className:xe("inline-flex items-center gap-1.5","px-2 py-1 rounded","text-[11px] text-muted-foreground/60 hover:text-foreground/80","hover:bg-foreground/[0.04]","transition-colors duration-100",S&&"bg-foreground/[0.04] text-foreground/80"),children:[E.jsx(zS,{size:12}),"Configure"]}),children:E.jsx("div",{className:"p-1",children:E.jsx(Pk,{ruleId:a,currentSeverity:o,onSeverityChange:p,optionSchema:l?.optionSchema,currentOptions:u,defaultOptions:d,onOptionChange:g,onResetOptions:v,isUpdating:b})})})})]})}function xU({filePath:a,issues:o,defaultExpanded:l,onIssueClick:u}){const[d,p]=N.useState(l),g=a.split("/").pop()||a,v=N.useMemo(()=>[...o].sort((b,S)=>b.line-S.line),[o]);return E.jsxs("div",{className:"border-b border-foreground/[0.04] last:border-b-0",children:[E.jsxs("button",{onClick:()=>p(!d),className:xe("w-full flex items-center gap-2 px-3 py-2","text-left hover:bg-foreground/[0.03] transition-colors duration-100"),children:[d?E.jsx(Dh,{size:12,className:"text-muted-foreground/50 flex-shrink-0"}):E.jsx(_h,{size:12,className:"text-muted-foreground/50 flex-shrink-0"}),E.jsx(fb,{size:13,className:"text-muted-foreground/60 flex-shrink-0"}),E.jsx("span",{className:"text-xs font-medium text-foreground/80 truncate flex-1",children:g}),E.jsx("span",{className:"text-[10px] text-muted-foreground/50 tabular-nums flex-shrink-0",children:o.length})]}),d&&E.jsx(Ze.div,{initial:!1,animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.1},children:v.map(b=>E.jsxs("button",{type:"button",onClick:()=>u(a,b.id),className:xe("w-full flex items-center gap-2 pl-8 pr-3 py-1.5","border-t border-foreground/[0.02]","text-left hover:bg-foreground/[0.03] transition-colors duration-100","cursor-pointer"),children:[E.jsx(gU,{severity:b.severity}),E.jsx("span",{className:"text-[11px] font-mono text-muted-foreground/50 tabular-nums w-7 flex-shrink-0",children:b.line}),E.jsx("span",{className:"text-[11px] text-foreground/60 truncate",children:b.message})]},b.id))})]})}function wU({ruleId:a,services:o}){const l=Ug(o),u=m2(o),[d,p]=N.useState(null),[g,v]=N.useState(null),[b,S]=N.useState(null);N.useEffect(()=>{p(null),v(null),S(null)},[a]);const T=N.useMemo(()=>u.find(ie=>ie.id===a),[u,a]),C=N.useMemo(()=>l.filter(ie=>ie.ruleId===a),[l,a]),k=N.useMemo(()=>Yn.getRuleContribution(a)?.contentRenderer??null,[a]),M=N.useMemo(()=>{const ie=new Map;for(const L of C){const P=ie.get(L.filePath)||[];ie.set(L.filePath,[...P,L])}return Array.from(ie.entries()).sort(([,L],[,P])=>P.length-L.length)},[C]),j=N.useMemo(()=>d?C.filter(ie=>ie.filePath===d):[],[C,d]),V=we(ie=>ie.plugins?.eslint?.ruleConfigs?.get(a)),B=we(ie=>ie.plugins?.eslint?.ruleConfigUpdating?.get(a)??!1),F=N.useMemo(()=>V?.severity??T?.defaultSeverity??"warn",[V?.severity,T?.defaultSeverity]),te=N.useMemo(()=>T?.defaultOptions?Array.isArray(T.defaultOptions)?T.defaultOptions[0]??{}:T.defaultOptions??{}:{},[T?.defaultOptions]),K=we(ie=>ie.ignoredIssueIds),he=we(ie=>ie.showIgnoredIssues),ye=we(ie=>ie.addIgnoredIssue),fe=we(ie=>ie.removeIgnoredIssue),re=N.useCallback(ie=>{K.has(ie)?fe(ie):ye(ie)},[K,ye,fe]),Q=N.useCallback(ie=>{const L=ie==="warn"?"warning":ie;Yn.setRuleSeverity(a,L)},[a]),ke=N.useCallback((ie,L)=>{const J={...V?.options??{},[ie]:L};Yn.setRuleConfig(a,J)},[a,V?.options]),Ae=N.useCallback(()=>{if(!T?.defaultOptions)return;const ie=Array.isArray(T.defaultOptions)?T.defaultOptions[0]??{}:T.defaultOptions??{};Yn.setRuleConfig(a,ie)},[a,T?.defaultOptions]),Ke=N.useCallback((ie,L)=>{p(ie),v(L)},[]),Re=N.useCallback(()=>{p(null),v(null)},[]),Qe=a.includes("/")?a.split("/").pop():a,We=C.some(ie=>ie.severity==="error")?"error":C.some(ie=>ie.severity==="warning")?"warning":"info";if(d){const ie=d.split("/").pop()||d;return E.jsxs("div",{className:"flex flex-col h-full",children:[E.jsx(mU,{expandedRuleName:T?.name||Qe,expandedFileName:ie,onCollapseToRoot:Re,onCollapseFile:Re,variant:"embedded"}),E.jsx("div",{className:"flex-1 overflow-y-auto",children:j.length>0?E.jsx(e2,{filePath:d,issues:j,contextLines:2,selectedIssueId:g,onIssueSelect:v}):E.jsx("div",{className:"flex items-center justify-center py-12 text-xs text-muted-foreground/50",children:"No issues in this file"})})]})}return E.jsxs("div",{className:"flex flex-col h-full",children:[E.jsxs("div",{className:"px-4 pt-4 pb-3 border-b border-foreground/[0.06]",children:[E.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[E.jsx("h3",{className:"text-sm font-semibold text-foreground/90 truncate",children:T?.name||Qe}),C.length>0&&E.jsx(vU,{severity:We})]}),T?.description&&E.jsx("p",{className:"text-xs text-muted-foreground/70 leading-relaxed line-clamp-2",children:T.description}),E.jsxs("div",{className:"flex items-center gap-3 mt-2 text-[10px] text-muted-foreground/50",children:[E.jsxs("span",{className:"tabular-nums",children:[C.length," issue",C.length!==1?"s":""]}),E.jsxs("span",{className:"tabular-nums",children:[M.length," file",M.length!==1?"s":""]})]})]}),E.jsx(bU,{ruleId:a,currentSeverity:F,ruleMeta:T,currentOptions:V?.options,defaultOptions:te,onSeverityChange:Q,onOptionChange:ke,onResetOptions:Ae,isUpdating:B}),E.jsx("div",{className:"flex-1 overflow-y-auto",children:k==="duplicate-comparison"?C.length>0?E.jsx(uR,{issues:C,selectedIssueId:b,onIssueClick:ie=>S(ie.id),ignoredIssueIds:K,onIgnore:re,showIgnored:he}):E.jsx("div",{className:"flex items-center justify-center py-12 text-xs text-muted-foreground/50",children:"No duplicates found for this rule"}):M.length>0?M.map(([ie,L],P)=>E.jsx(xU,{filePath:ie,issues:L,defaultExpanded:P<3,onIssueClick:Ke},ie)):E.jsx("div",{className:"flex items-center justify-center py-12 text-xs text-muted-foreground/50",children:"No issues found for this rule"})})]})}function SU({filePath:a,services:o}){const[l,u]=N.useState(null),d=Ug(o),p=N.useMemo(()=>d.filter(C=>C.filePath===a),[d,a]),g=N.useCallback(C=>{u(C)},[]),v=a.split("/").pop()||a,b=p.filter(C=>C.severity==="error").length,S=p.filter(C=>C.severity==="warning").length,T=p.filter(C=>C.severity==="info").length;return E.jsxs("div",{className:"flex flex-col h-full",children:[E.jsxs("div",{className:"px-4 pt-4 pb-3 border-b border-foreground/[0.06]",children:[E.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[E.jsx(fb,{size:14,className:"text-muted-foreground/60 flex-shrink-0"}),E.jsx("h3",{className:"text-sm font-semibold text-foreground/90 truncate",children:v})]}),E.jsx("p",{className:"text-[11px] text-muted-foreground/50 truncate mb-2",children:a}),E.jsxs("div",{className:"flex items-center gap-3 text-[10px]",children:[b>0&&E.jsxs("span",{className:"flex items-center gap-1 text-error/80",children:[E.jsx(Ou,{size:10}),E.jsx("span",{className:"tabular-nums",children:b})]}),S>0&&E.jsxs("span",{className:"flex items-center gap-1 text-warning/80",children:[E.jsx(gl,{size:10}),E.jsx("span",{className:"tabular-nums",children:S})]}),T>0&&E.jsxs("span",{className:"flex items-center gap-1 text-info/80",children:[E.jsx(jr,{size:10}),E.jsx("span",{className:"tabular-nums",children:T})]})]})]}),E.jsx("div",{className:"flex-1 overflow-y-auto",children:p.length>0?E.jsx(e2,{filePath:a,issues:p,contextLines:2,selectedIssueId:l,onIssueSelect:g}):E.jsx("div",{className:"flex items-center justify-center py-12 text-xs text-muted-foreground/50",children:"No issues in this file"})})]})}function EU(a){const o=Ug(a),l=m2(a),u=[],d=new Map;for(const v of o){const b=d.get(v.ruleId)||[];d.set(v.ruleId,[...b,v])}const p=new Map(l.map(v=>[v.id,v]));for(const[v,b]of d){const S=p.get(v),T=v.includes("/")?v.split("/").pop():v,C=new Set(b.map(k=>k.filePath));u.push({id:`rule:${v}`,section:"rules",label:S?.name||T,subtitle:S?.description||v,severityCounts:Cd(b),count:b.length,fileCount:C.size,searchFields:{label:S?.name||T,subtitle:S?.description,keywords:[v,T,S?.category||""].filter(Boolean),extra:b.slice(0,20).map(k=>k.message)},metadata:{ruleId:v,tileType:"rule"}})}for(const v of l){if(d.has(v.id))continue;const b=v.id.includes("/")?v.id.split("/").pop():v.id;u.push({id:`rule:${v.id}`,section:"rules",label:v.name||b,subtitle:v.description||v.id,severityCounts:{error:0,warning:0,info:0},count:0,fileCount:0,searchFields:{label:v.name||b,subtitle:v.description,keywords:[v.id,b,v.category||""].filter(Boolean)},metadata:{ruleId:v.id,tileType:"rule"}})}const g=new Map;for(const v of o){const b=g.get(v.filePath)||[];g.set(v.filePath,[...b,v])}for(const[v,b]of g){const S=v.split("/").pop()||v,T=new Set(b.map(C=>C.ruleId));u.push({id:`file:${v}`,section:"files",label:S,subtitle:v,severityCounts:Cd(b),count:b.length,fileCount:T.size,searchFields:{label:S,subtitle:v,keywords:Array.from(T),extra:b.slice(0,20).map(C=>C.message)},metadata:{filePath:v,tileType:"file"}})}return u.sort((v,b)=>{const S=v.severityCounts?.error??0,T=b.severityCounts?.error??0;return S!==T?T-S:(b.count??0)-(v.count??0)}),u}function TU(a,o){const l=a.metadata?.tileType;if(l==="rule"){const u=a.metadata?.ruleId;return{element:N.createElement(wU,{ruleId:u,services:o})}}if(l==="file"){const u=a.metadata?.filePath;return{element:N.createElement(SU,{filePath:u,services:o})}}return null}const AU={eslint:{onPageLoad:!1,onFileChange:!0},vision:{onRouteChange:!1,onInitialLoad:!1}},ZR=["lint:result","lint:progress","file:changed","workspace:info","workspace:capabilities","rules:metadata","rule:config:result","rule:config:changed"],v2={id:"eslint",name:"ESLint Analysis",version:"1.0.0",description:"Real-time ESLint analysis with heatmap visualization",ruleCategories:["static"],meta:{id:"eslint",name:"ESLint Analysis",version:"1.0.0",description:"Real-time ESLint analysis with heatmap visualization"},createSlice:a=>{const o=VR();let l=o;const p=HR(a,()=>l,g=>{l={...l,...g},a.setState(g)});return{...o,...p}},commands:p2,inspectorPanels:[{id:"eslint-rule",title:({data:a})=>a?.ruleId?`Rule: ${a.ruleId}`:"Rule Details",component:lU,priority:10}],tileProvider:{getTileItems:GR,createFilter:XR,isTerminal:IR,getInspectorData:$R,getChildItems:hU,canExpand:pU},getSearchItems:EU,getPreviewPanel:TU,handlesRules:a=>a.id.startsWith("uilint/")||a.category==="static"?!0:(a.id==="uilint/semantic-vision",!1),getIssues:a=>{const o=a,l=new Map;return o.issues.forEach((u,d)=>{const p=u.map(g=>({id:g.id,message:g.message,severity:g.severity,dataLoc:g.dataLoc,line:g.line,column:g.column,ruleId:g.ruleId}));p.length>0&&l.set(d,p)}),{pluginId:"eslint",issues:l}},getPaletteItems:a=>{const o=[],l=a.getState(),u=l?.plugins?.eslint;if(u?.issues)for(const[,d]of u.issues)for(const p of d){const g=p.filePath.split("/").pop()||p.filePath,v=p.ruleId.includes("/")?p.ruleId.split("/").pop():p.ruleId;o.push({id:`eslint:issue:${p.id}`,title:p.message,subtitle:`${g}:${p.line}`,keywords:["Lint",p.ruleId,v,g,p.severity].filter((b,S,T)=>T.indexOf(b)===S),execute:b=>{b.openInspector("issue",{issue:p}),b.closeCommandPalette()},metadata:{issue:p,providerId:"eslint"}})}for(const d of p2)d.isAvailable&&!d.isAvailable(l)||o.push({id:d.id,title:d.title,subtitle:d.subtitle,keywords:["Command","ESLint",...d.keywords],execute:d.execute,metadata:{isCommand:!0}});return o},getRules:a=>{const o=a.getState();if(!o?.availableRules)return[];const l=o.ruleConfigs??new Map;return o.availableRules.map(u=>{const p=l.get(u.id)?.severity??u.currentSeverity??u.defaultSeverity,g=p==="warn"?"warning":p;return{id:u.id,name:u.name,description:u.description,category:u.category,severity:g,fixable:!1,pluginId:"eslint",docs:u.docs}})},setRuleSeverity:(a,o,l)=>{const u=o==="warning"?"warn":o,d=l.getState(),p=new Map(d.ruleConfigUpdating??new Map);p.set(a,!0),l.setState({ruleConfigUpdating:p}),l.websocket.send({type:"rule:config:set",ruleId:a,severity:u,requestId:`rule-severity-${Date.now()}`}),Ye("[ESLint Plugin] Setting rule severity:",a,"->",u)},getRuleConfig:(a,o)=>(o.getState()?.ruleConfigs??new Map).get(a)?.options??{},setRuleConfig:(a,o,l)=>{const u=l.getState(),d=new Map(u.ruleConfigUpdating??new Map);d.set(a,!0),l.setState({ruleConfigUpdating:d}),l.websocket.send({type:"rule:config:set",ruleId:a,options:o,requestId:`rule-config-${Date.now()}`}),Ye("[ESLint Plugin] Setting rule config:",a,o)},initialize:a=>{if(Ye("[ESLint Plugin] Initializing..."),Cb())return Ye("[ESLint Plugin] Running in STATIC mode (manifest-based)"),$7(a);Ye("[ESLint Plugin] Running in WEBSOCKET mode");const o=[];for(const p of ZR){const g=a.websocket.on(p,v=>{FR(a,v)});o.push(g)}Ye("[ESLint Plugin] Subscribed to",ZR.length,"message types");const l=a.domObserver.onElementsAdded(p=>{CU(a,p)});o.push(l),Ye("[ESLint Plugin] Subscribed to DOM observer");let u=!1;const d=a.websocket.onConnectionChange(p=>{p&&(u&&(Ye("[ESLint Plugin] WebSocket reconnected, re-requesting linting"),a.setState({issues:new Map,requestedFiles:new Set,scannedDataLocs:new Set}),y2(a)),u=!0)});return o.push(d),Ye("[ESLint Plugin] Subscribed to connection changes"),()=>{Ye("[ESLint Plugin] Disposing..."),o.forEach(p=>p())}},dispose:a=>{Ye("[ESLint Plugin] Disposed")}};function y2(a){const o=a.domObserver.getElements();if(o.length===0)return;const l=o.map(p=>p.dataLoc),u=qR(l);if(u.size===0)return;const d=new Set;for(const p of u){const g=`lint-${Date.now()}-${p.replace(/[^a-zA-Z0-9]/g,"-")}`;a.websocket.send({type:"lint:file",filePath:p,requestId:g}),d.add(p)}a.setState({requestedFiles:d}),Ye("[ESLint Plugin] Re-requested linting for",u.size,"files after config change")}function CU(a,o){const l=a.getState();if(Ye("[ESLint Plugin] handleElementsAdded called with",o.length,"elements"),Ye("[ESLint Plugin] State check - scanStatus:",l?.scanStatus,"wsConnected:",a.websocket.isConnected),l.scanStatus!=="scanning"){Ye("[ESLint Plugin] Scanning not active (status:",l.scanStatus,"), skipping lint requests");return}if(!a.websocket.isConnected){Ye("[ESLint Plugin] WebSocket not connected, skipping lint requests");return}const u=o.map(v=>v.dataLoc),d=qR(u);if(d.size===0){Ye("[ESLint Plugin] No file paths extracted from",o.length,"elements");return}Ye("[ESLint Plugin] Detected",o.length,"elements from",d.size,"unique files:",Array.from(d).slice(0,3));const p=l.requestedFiles??new Set,g=[];for(const v of d)if(!p.has(v)){g.push(v);const b=`lint-${Date.now()}-${v.replace(/[^a-zA-Z0-9]/g,"-")}`;a.websocket.send({type:"lint:file",filePath:v,requestId:b}),Ye("[ESLint Plugin] Sent lint:file request for",v)}if(g.length>0){const v=new Set(p);for(const b of g)v.add(b);a.setState({requestedFiles:v}),Ye("[ESLint Plugin] Updated requestedFiles with",g.length,"new files")}else Ye("[ESLint Plugin] All files already requested, skipping")}function FR(a,o){switch(o.type){case"lint:result":{const{filePath:l,issues:u}=o;Ye("[ESLint Plugin] Received lint result:",l,u.length,"issues");const d=u.map(b=>M_({...b,dataLoc:b.dataLoc||`${l}:${b.line}:${b.column||0}`})).filter(b=>b!==null),p=new Map;for(const b of d){const S=p.get(b.dataLoc)||[];p.set(b.dataLoc,[...S,b])}const g=a.getState(),v=new Map(g.issues);for(const[b,S]of p)v.set(b,S);a.setState({issues:v});break}case"lint:progress":{const{filePath:l,phase:u}=o;Ye("[ESLint Plugin] Lint progress:",l,u);const d=a.getState(),p=new Map(d.lintingFiles);if(u.startsWith("Done"))p.delete(l);else{const g=p.get(l);p.set(l,{phase:u,startedAt:g?.startedAt??Date.now()})}a.setState({lintingFiles:p});break}case"file:changed":{const{filePath:l}=o;Ye("[ESLint Plugin] File changed:",l);const u=a.getState(),d=new Map(u.issues);for(const[g]of d)g.startsWith(l+":")&&d.delete(g);const p=new Set(u.requestedFiles??new Set);p.delete(l),a.setState({issues:d,requestedFiles:p});break}case"workspace:info":{const{appRoot:l,workspaceRoot:u,serverCwd:d}=o;Ye("[ESLint Plugin] Workspace info:",{appRoot:l,workspaceRoot:u,serverCwd:d}),a.setState({appRoot:l,workspaceRoot:u,serverCwd:d});break}case"workspace:capabilities":{const{postToolUseHook:l}=o;Ye("[ESLint Plugin] Workspace capabilities:",{postToolUseHook:l}),a.setState({workspaceCapabilities:{postToolUseHook:l}});break}case"rules:metadata":{const{rules:l}=o;Ye("[ESLint Plugin] Received rules metadata:",l.length,"rules");const u=new Map;for(const d of l)u.set(d.id,{severity:d.currentSeverity??d.defaultSeverity,options:d.currentOptions??(d.defaultOptions&&d.defaultOptions.length>0?d.defaultOptions[0]:void 0)});a.setState({availableRules:l,ruleConfigs:u});break}case"rule:config:result":{const{ruleId:l,severity:u,options:d,success:p,error:g}=o,v=a.getState(),b=new Map(v.ruleConfigUpdating);if(b.delete(l),a.setState({ruleConfigUpdating:b}),p){const S=a.getState(),T=new Map(S.ruleConfigs);T.set(l,{severity:u,options:d}),a.setState({ruleConfigs:T,issues:new Map,scannedDataLocs:new Set,requestedFiles:new Set}),y2(a),Ye("[ESLint Plugin] Rule config updated:",l,"->",u,"- refreshing lint results")}else yn("[ESLint Plugin] Failed to update rule config:",g);break}case"rule:config:changed":{const{ruleId:l,severity:u,options:d}=o,p=a.getState(),g=new Map(p.ruleConfigs);g.set(l,{severity:u,options:d}),a.setState({ruleConfigs:g,issues:new Map,scannedDataLocs:new Set,requestedFiles:new Set}),y2(a),Ye("[ESLint Plugin] Rule config changed (broadcast):",l,"->",u,"- refreshing lint results");break}}}const kU=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_AUTO_SCAN_SETTINGS:AU,_handleWebSocketMessageForTesting:FR,aggregateByFile:YR,aggregateByRule:sU,clearStaticMode:iR,configureStaticMode:aR,countSeverities:Cd,createESLintActions:HR,createESLintSlice:VR,createEslintTileFilter:XR,default:v2,eslintCommands:p2,eslintPlugin:v2,filterByDisabledRules:iU,getEslintInspectorData:$R,getEslintTileItems:GR,getFileSource:JS,getManifestMetadata:Q7,initialESLintState:BR,isEslintTileTerminal:IR,isScanning:aU,isStaticMode:Cb},Symbol.toStringTag,{value:"Module"}));function RU(a){const o=new Map;for(const l of a){const u=l.filePath||"unknown",d=o.get(u)||[];d.push(l),o.set(u,d)}for(const[l,u]of o)o.set(l,u.sort((d,p)=>d.line-p.line));return o}function MU(a,o,l){const u=Array.from(a.values()).reduce((g,v)=>g+v.length,0),d=a.size;if(u===0)return"No lint issues found on the current page.";const p=[];if(p.push("# Fix Lint Issues"),p.push(""),p.push(`There are **${u} lint issue${u===1?"":"s"}** across **${d} file${d===1?"":"s"}** that need to be fixed.`),p.push(""),p.push("## Instructions"),p.push(""),p.push("1. Fix ALL of the lint issues in the files listed below"),p.push("2. Do NOT ignore or suppress any issues with eslint-disable comments"),p.push("3. Do NOT skip any issues - each one must be properly addressed"),p.push("4. Run the linter after fixing to verify all issues are resolved"),p.push("5. If an issue cannot be fixed without breaking functionality, explain why and propose an alternative solution"),p.push(""),l){p.push("## Affected Files"),p.push(""),p.push("The following files have lint issues. When you edit each file, you will receive the specific lint errors automatically."),p.push("");for(const[g,v]of a){const b=o&&g.startsWith(o)?g.slice(o.length+1):g;p.push(`- \`${b}\` (${v.length} issue${v.length===1?"":"s"})`)}p.push(""),p.push("---"),p.push(""),p.push("Open each file above and fix all reported lint issues. The linter will provide specific error details when you edit each file.")}else{p.push("## Affected Files"),p.push("");for(const[g,v]of a){const b=o&&g.startsWith(o)?g.slice(o.length+1):g;p.push(`### ${b}`),p.push("");for(const S of v){const T=S.column?`Line ${S.line}, Column ${S.column}`:`Line ${S.line}`,C=S.severity==="error"?"ERROR":"WARNING",k=S.ruleId?` (${S.ruleId})`:"";p.push(`- **[${C}]** ${T}${k}`),p.push(` ${S.message}`)}p.push("")}p.push("---"),p.push(""),p.push(`Please fix all ${u} issues listed above. Do not use eslint-disable comments or any other method to suppress warnings. Each issue must be properly resolved.`)}return p.join(`
257
- `)}function DU({text:a,onCopy:o}){const[l,u]=N.useState(!1),d=N.useCallback(async()=>{try{await navigator.clipboard.writeText(a),u(!0),o(),setTimeout(()=>u(!1),2e3)}catch(p){yn("Failed to copy:",p)}},[a,o]);return E.jsx("button",{onClick:d,className:"flex items-center gap-1.5 px-4 py-2 text-white border-none rounded-md cursor-pointer font-medium text-sm transition-colors",style:{background:l?"var(--uilint-success)":"var(--uilint-primary)"},children:l?E.jsxs(E.Fragment,{children:[E.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:E.jsx("polyline",{points:"20 6 9 17 4 12"})}),"Copied!"]}):E.jsxs(E.Fragment,{children:[E.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[E.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),E.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy to Clipboard"]})})}function _U({data:a}){const o=a?.issues||[],l=a?.workspaceRoot||null,u=a?.hookAvailable||!1,d=N.useMemo(()=>RU(o),[o]),p=N.useMemo(()=>MU(d,l,u),[d,l,u]),g=o.length,v=d.size;return E.jsxs("div",{className:"flex flex-col h-full",children:[E.jsx("div",{className:"p-4 border-b",style:{borderColor:"var(--uilint-border)",background:"var(--uilint-surface)"},children:E.jsxs("div",{className:"flex items-center justify-between",children:[E.jsxs("div",{children:[E.jsx("div",{className:"text-sm mb-1",style:{color:"var(--uilint-text-muted)"},children:g===0?"No issues found":`${g} issue${g===1?"":"s"} in ${v} file${v===1?"":"s"}`}),E.jsx("div",{className:"text-xs",style:{color:"var(--uilint-text-muted)"},children:u?"Condensed format - hook will provide issue details":"Copy this prompt to Cursor or Claude Code"})]}),g>0&&E.jsx(DU,{text:p,onCopy:()=>{}})]})}),E.jsx("div",{className:"flex-1 overflow-auto p-4",children:E.jsx("pre",{className:"m-0 p-4 rounded-lg text-sm leading-relaxed whitespace-pre-wrap break-words font-mono",style:{background:"var(--uilint-code-bg, #1e1e1e)",color:"var(--uilint-code-text, #d4d4d4)"},children:p})}),E.jsxs("div",{className:"px-4 py-3 border-t text-xs",style:{borderColor:"var(--uilint-border)",background:"var(--uilint-surface-elevated)",color:"var(--uilint-text-muted)"},children:[E.jsx("strong",{children:"Tip:"})," Paste this prompt into Cursor, Claude Code, or any AI assistant to get help fixing these lint issues."]})]})}const b2=ft.createElement("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ft.createElement("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"}),ft.createElement("rect",{x:"8",y:"2",width:"8",height:"4",rx:"1",ry:"1"}),ft.createElement("line",{x1:"8",y1:"12",x2:"16",y2:"12"}),ft.createElement("line",{x1:"8",y1:"16",x2:"14",y2:"16"}));function zU(a){const l=a.getState().plugins?.eslint;if(!l?.issues)return{issues:[],workspaceRoot:null,hookAvailable:!1};const u=[];for(const p of l.issues.values())u.push(...p);const d=l.workspaceCapabilities?.postToolUseHook?.enabled??!1;return{issues:u,workspaceRoot:l.workspaceRoot,hookAvailable:d}}const OU={id:"fix-prompt",name:"Fix Prompt Generator",version:"1.0.0",description:"Generate copyable prompts for AI assistants to fix lint issues",meta:{id:"fix-prompt",name:"Fix Prompt Generator",version:"1.0.0",description:"Generate copyable prompts for AI assistants to fix lint issues",icon:b2},toolbarActions:[{id:"fix-prompt:generate",icon:b2,tooltip:"Generate Fix Prompt",priority:50,isVisible:a=>{const l=a.plugins?.eslint?.issues;if(!l)return!1;let u=0;for(const d of l.values())if(u+=d.length,u>0)return!0;return!1},onClick:a=>{const{issues:o,workspaceRoot:l,hookAvailable:u}=zU(a),d=a.getState();a.setState({inspector:{...d.inspector,open:!0,panelId:"fix-prompt",data:{issues:o,workspaceRoot:l,hookAvailable:u}}})}}],inspectorPanels:[{id:"fix-prompt",title:"Fix Prompt",icon:b2,component:_U,priority:10}],createSlice:void 0,initialize:void 0};let PR=!1;function KR(a){if(typeof document>"u"||PR)return;const o=document.createElement("style");o.setAttribute("data-uilint-devtools-styles","true"),o.textContent=a,document.head.appendChild(o),PR=!0}const JR=`@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.dev-tool-root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.top-0{top:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.top-2\\.5{top:calc(var(--spacing)*2.5)}.top-3{top:calc(var(--spacing)*3)}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.left-0{left:calc(var(--spacing)*0)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-90{z-index:90}.z-\\[99997\\]{z-index:99997}.z-\\[99998\\]{z-index:99998}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-0{margin-inline:calc(var(--spacing)*0)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-0\\.5{margin-block:calc(var(--spacing)*.5)}.my-1{margin-block:calc(var(--spacing)*1)}.-mt-0\\.5{margin-top:calc(var(--spacing)*-.5)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-2\\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-auto{margin-top:auto}.-mr-0\\.5{margin-right:calc(var(--spacing)*-.5)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-none{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-full{width:100%;height:100%}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-\\[18px\\]{height:18px}.h-\\[200px\\]{height:200px}.h-\\[var\\(--uilint-icon-button-size\\)\\]{height:var(--uilint-icon-button-size)}.h-\\[var\\(--uilint-icon-button-size-lg\\)\\]{height:var(--uilint-icon-button-size-lg)}.h-\\[var\\(--uilint-icon-button-size-sm\\)\\]{height:var(--uilint-icon-button-size-sm)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\\[2\\.25rem\\]{max-height:2.25rem}.max-h-\\[100px\\]{max-height:100px}.max-h-\\[520px\\]{max-height:520px}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-5{min-height:calc(var(--spacing)*5)}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-\\[44px\\]{min-height:44px}.min-h-\\[220px\\]{min-height:220px}.min-h-\\[260px\\]{min-height:260px}.w-1{width:calc(var(--spacing)*1)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-\\[30\\%\\]{width:30%}.w-\\[340px\\]{width:340px}.w-\\[364px\\]{width:364px}.w-\\[860px\\]{width:860px}.w-\\[var\\(--uilint-icon-button-size\\)\\]{width:var(--uilint-icon-button-size)}.w-\\[var\\(--uilint-icon-button-size-lg\\)\\]{width:var(--uilint-icon-button-size-lg)}.w-\\[var\\(--uilint-icon-button-size-sm\\)\\]{width:var(--uilint-icon-button-size-sm)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\\[120px\\]{max-width:120px}.max-w-\\[140px\\]{max-width:140px}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[580px\\]{max-width:580px}.max-w-\\[calc\\(100\\%-1rem\\)\\]{max-width:calc(100% - 1rem)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-6{min-width:calc(var(--spacing)*6)}.min-w-\\[18px\\]{min-width:18px}.min-w-\\[44px\\]{min-width:44px}.min-w-\\[80px\\]{min-width:80px}.min-w-\\[120px\\]{min-width:120px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-center{transform-origin:50%}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.columns-2{columns:2}.break-inside-avoid{break-inside:avoid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\\[border-radius\\:var\\(--uilint-card-radius\\)\\]{border-radius:var(--uilint-card-radius)}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\\[0\\.8rem\\]{border-radius:.8rem}.rounded-\\[10px\\]{border-radius:10px}.rounded-\\[20px\\]{border-radius:20px}.rounded-\\[calc\\(var\\(--uilint-icon-button-radius\\)\\+2px\\)\\]{border-radius:calc(var(--uilint-icon-button-radius) + 2px)}.rounded-\\[calc\\(var\\(--uilint-icon-button-radius\\)-2px\\)\\]{border-radius:calc(var(--uilint-icon-button-radius) - 2px)}.rounded-\\[calc\\(var\\(--uilint-input-radius\\)\\+2px\\)\\]{border-radius:calc(var(--uilint-input-radius) + 2px)}.rounded-\\[calc\\(var\\(--uilint-input-radius\\)-2px\\)\\]{border-radius:calc(var(--uilint-input-radius) - 2px)}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-\\[var\\(--uilint-button-radius\\)\\]{border-radius:var(--uilint-button-radius)}.rounded-\\[var\\(--uilint-icon-button-radius\\)\\]{border-radius:var(--uilint-icon-button-radius)}.rounded-\\[var\\(--uilint-input-radius\\)\\]{border-radius:var(--uilint-input-radius)}.rounded-\\[var\\(--uilint-radius\\,12px\\)\\]{border-radius:var(--uilint-radius,12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--uilint-radius-lg)}.rounded-md{border-radius:var(--uilint-radius)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--uilint-radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-\\[3px\\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\\[var\\(--uilint-error\\)\\]{border-color:var(--uilint-error)}.border-\\[var\\(--uilint-glass-border\\)\\]{border-color:var(--uilint-glass-border)}.border-\\[var\\(--uilint-input-border\\)\\]{border-color:var(--uilint-input-border)}.border-\\[var\\(--uilint-kbd-border\\,rgba\\(0\\,0\\,0\\,0\\.1\\)\\)\\]{border-color:var(--uilint-kbd-border,#0000001a)}.border-\\[var\\(--uilint-kbd-border-subtle\\,transparent\\)\\]{border-color:var(--uilint-kbd-border-subtle,transparent)}.border-accent,.border-accent\\/30{border-color:var(--uilint-accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\\/30{border-color:color-mix(in oklab,var(--uilint-accent)30%,transparent)}}.border-border{border-color:var(--uilint-border)}.border-current\\/20{border-color:currentColor}@supports (color:color-mix(in lab,red,red)){.border-current\\/20{border-color:color-mix(in oklab,currentcolor 20%,transparent)}}.border-error,.border-error\\/20{border-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.border-error\\/20{border-color:color-mix(in oklab,var(--uilint-error)20%,transparent)}}.border-error\\/30{border-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.border-error\\/30{border-color:color-mix(in oklab,var(--uilint-error)30%,transparent)}}.border-error\\/50{border-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.border-error\\/50{border-color:color-mix(in oklab,var(--uilint-error)50%,transparent)}}.border-foreground\\/3{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/3{border-color:color-mix(in oklab,var(--uilint-foreground)3%,transparent)}}.border-foreground\\/4{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/4{border-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.border-foreground\\/5{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/5{border-color:color-mix(in oklab,var(--uilint-foreground)5%,transparent)}}.border-foreground\\/6{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/6{border-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.border-foreground\\/10{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/10{border-color:color-mix(in oklab,var(--uilint-foreground)10%,transparent)}}.border-foreground\\/12{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/12{border-color:color-mix(in oklab,var(--uilint-foreground)12%,transparent)}}.border-foreground\\/15{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/15{border-color:color-mix(in oklab,var(--uilint-foreground)15%,transparent)}}.border-foreground\\/\\[0\\.1\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.1\\]{border-color:color-mix(in oklab,var(--uilint-foreground)10%,transparent)}}.border-foreground\\/\\[0\\.02\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.02\\]{border-color:color-mix(in oklab,var(--uilint-foreground)2%,transparent)}}.border-foreground\\/\\[0\\.03\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.03\\]{border-color:color-mix(in oklab,var(--uilint-foreground)3%,transparent)}}.border-foreground\\/\\[0\\.04\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.04\\]{border-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.border-foreground\\/\\[0\\.06\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.06\\]{border-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.border-foreground\\/\\[0\\.08\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.08\\]{border-color:color-mix(in oklab,var(--uilint-foreground)8%,transparent)}}.border-foreground\\/\\[0\\.12\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.12\\]{border-color:color-mix(in oklab,var(--uilint-foreground)12%,transparent)}}.border-glass-border{border-color:var(--uilint-glass-border)}.border-info,.border-info\\/20{border-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.border-info\\/20{border-color:color-mix(in oklab,var(--uilint-info)20%,transparent)}}.border-info\\/30{border-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.border-info\\/30{border-color:color-mix(in oklab,var(--uilint-info)30%,transparent)}}.border-muted-foreground\\/30{border-color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\\/30{border-color:color-mix(in oklab,var(--uilint-text-muted)30%,transparent)}}.border-purple-500\\/10{border-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.border-purple-500\\/10{border-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.border-transparent{border-color:#0000}.border-warning,.border-warning\\/20{border-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\\/20{border-color:color-mix(in oklab,var(--uilint-warning)20%,transparent)}}.border-warning\\/30{border-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\\/30{border-color:color-mix(in oklab,var(--uilint-warning)30%,transparent)}}.border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-zinc-200{border-color:var(--color-zinc-200)}.border-zinc-950\\/10{border-color:#09090b1a}@supports (color:color-mix(in lab,red,red)){.border-zinc-950\\/10{border-color:color-mix(in oklab,var(--color-zinc-950)10%,transparent)}}.border-t-muted-foreground{border-top-color:var(--uilint-text-muted)}.border-t-transparent{border-top-color:#0000}.border-l-error\\/50{border-left-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.border-l-error\\/50{border-left-color:color-mix(in oklab,var(--uilint-error)50%,transparent)}}.border-l-foreground\\/20{border-left-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-l-foreground\\/20{border-left-color:color-mix(in oklab,var(--uilint-foreground)20%,transparent)}}.border-l-info,.border-l-info\\/50{border-left-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.border-l-info\\/50{border-left-color:color-mix(in oklab,var(--uilint-info)50%,transparent)}}.border-l-transparent{border-left-color:#0000}.border-l-warning,.border-l-warning\\/50{border-left-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.border-l-warning\\/50{border-left-color:color-mix(in oklab,var(--uilint-warning)50%,transparent)}}.bg-\\[rgba\\(128\\,128\\,128\\,0\\.15\\)\\]{background-color:#80808026}.bg-\\[var\\(--uilint-button-default-bg\\)\\]{background-color:var(--uilint-button-default-bg)}.bg-\\[var\\(--uilint-button-destructive-bg\\)\\]{background-color:var(--uilint-button-destructive-bg)}.bg-\\[var\\(--uilint-button-ghost-bg\\)\\]{background-color:var(--uilint-button-ghost-bg)}.bg-\\[var\\(--uilint-button-glass-bg\\)\\]{background-color:var(--uilint-button-glass-bg)}.bg-\\[var\\(--uilint-button-outline-bg\\)\\]{background-color:var(--uilint-button-outline-bg)}.bg-\\[var\\(--uilint-button-secondary-bg\\)\\]{background-color:var(--uilint-button-secondary-bg)}.bg-\\[var\\(--uilint-glass\\)\\]{background-color:var(--uilint-glass)}.bg-\\[var\\(--uilint-glass-medium\\)\\]{background-color:var(--uilint-glass-medium)}.bg-\\[var\\(--uilint-hover\\)\\]{background-color:var(--uilint-hover)}.bg-\\[var\\(--uilint-input-bg\\)\\]{background-color:var(--uilint-input-bg)}.bg-\\[var\\(--uilint-kbd-background\\,linear-gradient\\(180deg\\,\\#ffffff_0\\%\\,\\#f3f4f6_100\\%\\)\\)\\]{background-color:var(--uilint-kbd-background,linear-gradient(180deg,#fff 0%,#f3f4f6 100%))}.bg-\\[var\\(--uilint-kbd-background-subtle\\,rgba\\(0\\,0\\,0\\,0\\.04\\)\\)\\]{background-color:var(--uilint-kbd-background-subtle,#0000000a)}.bg-accent,.bg-accent\\/10{background-color:var(--uilint-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\\/10{background-color:color-mix(in oklab,var(--uilint-accent)10%,transparent)}}.bg-accent\\/15{background-color:var(--uilint-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\\/15{background-color:color-mix(in oklab,var(--uilint-accent)15%,transparent)}}.bg-amber-500\\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-background,.bg-background\\/40{background-color:var(--uilint-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/40{background-color:color-mix(in oklab,var(--uilint-background)40%,transparent)}}.bg-background\\/50{background-color:var(--uilint-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/50{background-color:color-mix(in oklab,var(--uilint-background)50%,transparent)}}.bg-background\\/60{background-color:var(--uilint-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/60{background-color:color-mix(in oklab,var(--uilint-background)60%,transparent)}}.bg-background\\/65{background-color:var(--uilint-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/65{background-color:color-mix(in oklab,var(--uilint-background)65%,transparent)}}.bg-background\\/95{background-color:var(--uilint-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/95{background-color:color-mix(in oklab,var(--uilint-background)95%,transparent)}}.bg-blue-300\\/20{background-color:#90c5ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-300\\/20{background-color:color-mix(in oklab,var(--color-blue-300)20%,transparent)}}.bg-emerald-500\\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\\/20{background-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.bg-error{background-color:var(--uilint-error)}.bg-error-bg{background-color:var(--uilint-error-bg)}.bg-error\\/5{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/5{background-color:color-mix(in oklab,var(--uilint-error)5%,transparent)}}.bg-error\\/10{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/10{background-color:color-mix(in oklab,var(--uilint-error)10%,transparent)}}.bg-error\\/15{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/15{background-color:color-mix(in oklab,var(--uilint-error)15%,transparent)}}.bg-error\\/60{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/60{background-color:color-mix(in oklab,var(--uilint-error)60%,transparent)}}.bg-error\\/70{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/70{background-color:color-mix(in oklab,var(--uilint-error)70%,transparent)}}.bg-error\\/80{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/80{background-color:color-mix(in oklab,var(--uilint-error)80%,transparent)}}.bg-error\\/\\[0\\.04\\]{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--uilint-error)4%,transparent)}}.bg-error\\/\\[0\\.06\\]{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--uilint-error)6%,transparent)}}.bg-foreground,.bg-foreground\\/2\\.5{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/2\\.5{background-color:color-mix(in oklab,var(--uilint-foreground)2.5%,transparent)}}.bg-foreground\\/4{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/4{background-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.bg-foreground\\/\\[0\\.01\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.01\\]{background-color:color-mix(in oklab,var(--uilint-foreground)1%,transparent)}}.bg-foreground\\/\\[0\\.02\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.02\\]{background-color:color-mix(in oklab,var(--uilint-foreground)2%,transparent)}}.bg-foreground\\/\\[0\\.03\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.03\\]{background-color:color-mix(in oklab,var(--uilint-foreground)3%,transparent)}}.bg-foreground\\/\\[0\\.04\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.bg-foreground\\/\\[0\\.05\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.05\\]{background-color:color-mix(in oklab,var(--uilint-foreground)5%,transparent)}}.bg-foreground\\/\\[0\\.06\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.bg-foreground\\/\\[0\\.08\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.08\\]{background-color:color-mix(in oklab,var(--uilint-foreground)8%,transparent)}}.bg-glass-medium{background-color:var(--uilint-glass-medium)}.bg-info{background-color:var(--uilint-info)}.bg-info-bg{background-color:var(--uilint-info-bg)}.bg-info\\/5{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/5{background-color:color-mix(in oklab,var(--uilint-info)5%,transparent)}}.bg-info\\/10{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/10{background-color:color-mix(in oklab,var(--uilint-info)10%,transparent)}}.bg-info\\/15{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/15{background-color:color-mix(in oklab,var(--uilint-info)15%,transparent)}}.bg-info\\/60{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/60{background-color:color-mix(in oklab,var(--uilint-info)60%,transparent)}}.bg-info\\/70{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/70{background-color:color-mix(in oklab,var(--uilint-info)70%,transparent)}}.bg-info\\/80{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/80{background-color:color-mix(in oklab,var(--uilint-info)80%,transparent)}}.bg-info\\/\\[0\\.04\\]{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--uilint-info)4%,transparent)}}.bg-info\\/\\[0\\.06\\]{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--uilint-info)6%,transparent)}}.bg-muted-foreground\\/20{background-color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\\/20{background-color:color-mix(in oklab,var(--uilint-text-muted)20%,transparent)}}.bg-muted-foreground\\/30{background-color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\\/30{background-color:color-mix(in oklab,var(--uilint-text-muted)30%,transparent)}}.bg-muted-foreground\\/50{background-color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\\/50{background-color:color-mix(in oklab,var(--uilint-text-muted)50%,transparent)}}.bg-purple-500\\/\\[0\\.06\\]{background-color:#ac4bff0f}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--color-purple-500)6%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-success{background-color:var(--uilint-success)}.bg-success-bg{background-color:var(--uilint-success-bg)}.bg-success\\/20{background-color:var(--uilint-success)}@supports (color:color-mix(in lab,red,red)){.bg-success\\/20{background-color:color-mix(in oklab,var(--uilint-success)20%,transparent)}}.bg-success\\/70{background-color:var(--uilint-success)}@supports (color:color-mix(in lab,red,red)){.bg-success\\/70{background-color:color-mix(in oklab,var(--uilint-success)70%,transparent)}}.bg-surface{background-color:var(--uilint-surface)}.bg-surface-elevated{background-color:var(--uilint-surface-elevated)}.bg-surface\\/95{background-color:var(--uilint-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\\/95{background-color:color-mix(in oklab,var(--uilint-surface)95%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--uilint-warning)}.bg-warning-bg{background-color:var(--uilint-warning-bg)}.bg-warning\\/5{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/5{background-color:color-mix(in oklab,var(--uilint-warning)5%,transparent)}}.bg-warning\\/10{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/10{background-color:color-mix(in oklab,var(--uilint-warning)10%,transparent)}}.bg-warning\\/15{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/15{background-color:color-mix(in oklab,var(--uilint-warning)15%,transparent)}}.bg-warning\\/60{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/60{background-color:color-mix(in oklab,var(--uilint-warning)60%,transparent)}}.bg-warning\\/70{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/70{background-color:color-mix(in oklab,var(--uilint-warning)70%,transparent)}}.bg-warning\\/80{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/80{background-color:color-mix(in oklab,var(--uilint-warning)80%,transparent)}}.bg-warning\\/\\[0\\.04\\]{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--uilint-warning)4%,transparent)}}.bg-warning\\/\\[0\\.06\\]{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--uilint-warning)6%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-zinc-100\\/50{background-color:#f4f4f580}@supports (color:color-mix(in lab,red,red)){.bg-zinc-100\\/50{background-color:color-mix(in oklab,var(--color-zinc-100)50%,transparent)}}.bg-zinc-200{background-color:var(--color-zinc-200)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.from-foreground\\/2{--tw-gradient-from:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.from-foreground\\/2{--tw-gradient-from:color-mix(in oklab,var(--uilint-foreground)2%,transparent)}}.from-foreground\\/2{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-7{padding:calc(var(--spacing)*7)}.p-8{padding:calc(var(--spacing)*8)}.p-\\[1px\\],.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-14{padding-block:calc(var(--spacing)*14)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-0\\.5{padding-top:calc(var(--spacing)*.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-14{padding-top:calc(var(--spacing)*14)}.pt-\\[100px\\]{padding-top:100px}.pt-\\[env\\(safe-area-inset-top\\,0px\\)\\]{padding-top:env(safe-area-inset-top,0px)}.pr-1\\.25{padding-right:calc(var(--spacing)*1.25)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-0\\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-\\[env\\(safe-area-inset-bottom\\,0px\\)\\]{padding-bottom:env(safe-area-inset-bottom,0px)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-\\[-apple-system\\,BlinkMacSystemFont\\,\\'SF_Pro_Text\\'\\,\\'Segoe_UI\\'\\,sans-serif\\]{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.text-\\[17px\\]{font-size:17px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.\\[color\\:var\\(--uilint-text-primary\\)\\]{color:var(--uilint-text-primary)}.\\[color\\:var\\(--uilint-text-secondary\\)\\]{color:var(--uilint-text-secondary)}.text-\\[var\\(--uilint-button-default-text\\)\\]{color:var(--uilint-button-default-text)}.text-\\[var\\(--uilint-button-destructive-text\\)\\]{color:var(--uilint-button-destructive-text)}.text-\\[var\\(--uilint-button-ghost-text\\)\\]{color:var(--uilint-button-ghost-text)}.text-\\[var\\(--uilint-button-glass-text\\)\\]{color:var(--uilint-button-glass-text)}.text-\\[var\\(--uilint-button-outline-text\\)\\]{color:var(--uilint-button-outline-text)}.text-\\[var\\(--uilint-button-secondary-text\\)\\]{color:var(--uilint-button-secondary-text)}.text-\\[var\\(--uilint-kbd-text\\,\\#6b7280\\)\\]{color:var(--uilint-kbd-text,#6b7280)}.text-\\[var\\(--uilint-kbd-text-subtle\\,\\#9ca3af\\)\\]{color:var(--uilint-kbd-text-subtle,#9ca3af)}.text-\\[var\\(--uilint-text-muted\\)\\]{color:var(--uilint-text-muted)}.text-\\[var\\(--uilint-text-primary\\)\\]{color:var(--uilint-text-primary)}.text-\\[var\\(--uilint-text-secondary\\)\\]{color:var(--uilint-text-secondary)}.text-accent{color:var(--uilint-accent)}.text-accent-foreground{color:var(--uilint-accent-foreground)}.text-amber-700{color:var(--color-amber-700)}.text-blue-700{color:var(--color-blue-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-error,.text-error\\/60{color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.text-error\\/60{color:color-mix(in oklab,var(--uilint-error)60%,transparent)}}.text-error\\/80{color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.text-error\\/80{color:color-mix(in oklab,var(--uilint-error)80%,transparent)}}.text-foreground,.text-foreground\\/50{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/50{color:color-mix(in oklab,var(--uilint-foreground)50%,transparent)}}.text-foreground\\/60{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/60{color:color-mix(in oklab,var(--uilint-foreground)60%,transparent)}}.text-foreground\\/70{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/70{color:color-mix(in oklab,var(--uilint-foreground)70%,transparent)}}.text-foreground\\/80{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/80{color:color-mix(in oklab,var(--uilint-foreground)80%,transparent)}}.text-foreground\\/85{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/85{color:color-mix(in oklab,var(--uilint-foreground)85%,transparent)}}.text-foreground\\/90{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/90{color:color-mix(in oklab,var(--uilint-foreground)90%,transparent)}}.text-info,.text-info\\/60{color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.text-info\\/60{color:color-mix(in oklab,var(--uilint-info)60%,transparent)}}.text-info\\/80{color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.text-info\\/80{color:color-mix(in oklab,var(--uilint-info)80%,transparent)}}.text-muted-foreground,.text-muted-foreground\\/30{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/30{color:color-mix(in oklab,var(--uilint-text-muted)30%,transparent)}}.text-muted-foreground\\/40{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/40{color:color-mix(in oklab,var(--uilint-text-muted)40%,transparent)}}.text-muted-foreground\\/45{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/45{color:color-mix(in oklab,var(--uilint-text-muted)45%,transparent)}}.text-muted-foreground\\/50{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/50{color:color-mix(in oklab,var(--uilint-text-muted)50%,transparent)}}.text-muted-foreground\\/55{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/55{color:color-mix(in oklab,var(--uilint-text-muted)55%,transparent)}}.text-muted-foreground\\/60{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/60{color:color-mix(in oklab,var(--uilint-text-muted)60%,transparent)}}.text-muted-foreground\\/65{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/65{color:color-mix(in oklab,var(--uilint-text-muted)65%,transparent)}}.text-muted-foreground\\/70{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/70{color:color-mix(in oklab,var(--uilint-text-muted)70%,transparent)}}.text-purple-500\\/70{color:#ac4bffb3}@supports (color:color-mix(in lab,red,red)){.text-purple-500\\/70{color:color-mix(in oklab,var(--color-purple-500)70%,transparent)}}.text-red-700{color:var(--color-red-700)}.text-success{color:var(--uilint-success)}.text-text-disabled{color:var(--uilint-text-disabled)}.text-text-muted{color:var(--uilint-text-muted)}.text-text-primary{color:var(--uilint-text-primary)}.text-text-secondary{color:var(--uilint-text-secondary)}.text-warning,.text-warning\\/60{color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.text-warning\\/60{color:color-mix(in oklab,var(--uilint-warning)60%,transparent)}}.text-warning\\/80{color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.text-warning\\/80{color:color-mix(in oklab,var(--uilint-warning)80%,transparent)}}.text-white{color:var(--color-white)}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-900{color:var(--color-zinc-900)}.text-zinc-950{color:var(--color-zinc-950)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_0_1px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\,0px_2px_2px_rgba\\(0\\,0\\,0\\,0\\.04\\)\\,0px_8px_16px_-4px_rgba\\(0\\,0\\,0\\,0\\.04\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#00000014),0px 2px 2px var(--tw-shadow-color,#0000000a),0px 8px 16px -4px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0px_1px_1px_0px_hsla\\(0\\,0\\%\\,0\\%\\,0\\.02\\)_inset\\,0px_1px_1px_0px_hsla\\(0\\,0\\%\\,0\\%\\,0\\.02\\)_inset\\,0px_0px_0px_1px_rgba\\(255\\,255\\,255\\,0\\.25\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#00000005)inset,0px 1px 1px 0px var(--tw-shadow-color,#00000005)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff40);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0px_1px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.05\\)\\,0px_1px_1px_0px_rgba\\(255\\,252\\,240\\,0\\.5\\)_inset\\,0px_0px_0px_1px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.1\\)_inset\\,0px_0px_1px_0px_rgba\\(28\\,27\\,26\\,0\\.5\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#0000000d),0px 1px 1px 0px var(--tw-shadow-color,#fffcf080)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff1a)inset,0px 0px 1px 0px var(--tw-shadow-color,#1c1b1a80);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_0_1px_1px_hsl\\(var\\(--border\\)\\/0\\.3\\)\\]{--tw-shadow:inset 0 0 1px 1px var(--tw-shadow-color,hsl(var(--border)/.3));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[var\\(--uilint-button-shadow\\)\\]{--tw-shadow:var(--uilint-button-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[var\\(--uilint-kbd-shadow\\,0_1px_0_rgba\\(0\\,0\\,0\\,0\\.08\\)\\)\\]{--tw-shadow:var(--uilint-kbd-shadow,0 1px 0 #00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--uilint-shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:var(--uilint-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--uilint-card-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\\[box-shadow\\:var\\(--uilint-card-elevated-shadow\\)\\]{box-shadow:var(--uilint-card-elevated-shadow)}.\\[box-shadow\\:var\\(--uilint-card-shadow\\)\\]{box-shadow:var(--uilint-card-shadow)}.shadow-black\\/10{--tw-shadow-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.shadow-black\\/10{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)10%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-foreground\\/6{--tw-ring-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.ring-foreground\\/6{--tw-ring-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.ring-foreground\\/20{--tw-ring-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.ring-foreground\\/20{--tw-ring-color:color-mix(in oklab,var(--uilint-foreground)20%,transparent)}}.ring-zinc-200\\/50{--tw-ring-color:#e4e4e780}@supports (color:color-mix(in lab,red,red)){.ring-zinc-200\\/50{--tw-ring-color:color-mix(in oklab,var(--color-zinc-200)50%,transparent)}}.ring-offset-white{--tw-ring-offset-color:var(--color-white)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-lg{--tw-blur:blur(var(--blur-lg));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,)}.blur-md{--tw-blur:blur(var(--blur-md));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,)}.blur-sm{--tw-blur:blur(var(--blur-sm));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-\\[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-\\[var\\(--uilint-glass-blur-medium\\)\\]{--tw-backdrop-blur:blur(var(--uilint-glass-blur-medium));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-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-filter{-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-filter\\:blur\\(var\\(--uilint-glass-blur-medium\\)\\)\\]{-webkit-backdrop-filter:blur(var(--uilint-glass-blur-medium));backdrop-filter:blur(var(--uilint-glass-blur-medium))}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[colors\\]{transition-property:colors;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[scale\\]{transition-property:scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[-ms-overflow-style\\:none\\]{-ms-overflow-style:none}.\\[-webkit-overflow-scrolling\\:touch\\]{-webkit-overflow-scrolling:touch}.\\[background\\:var\\(--uilint-card-bg\\)\\]{background:var(--uilint-card-bg)}.\\[background\\:var\\(--uilint-card-elevated-bg\\)\\]{background:var(--uilint-card-elevated-bg)}.\\[background\\:var\\(--uilint-card-glass-bg\\)\\]{background:var(--uilint-card-glass-bg)}.\\[border-top\\:1px_solid_var\\(--uilint-card-border\\)\\]{border-top:1px solid var(--uilint-card-border)}.\\[border\\:1px_solid_var\\(--uilint-card-border\\)\\]{border:1px solid var(--uilint-card-border)}.\\[border\\:1px_solid_var\\(--uilint-card-glass-border\\)\\]{border:1px solid var(--uilint-card-glass-border)}.\\[scrollbar-width\\:thin\\]{scrollbar-width:thin}@media(hover:hover){.group-hover\\:text-muted-foreground\\/60:is(:where(.group):hover *){color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.group-hover\\:text-muted-foreground\\/60:is(:where(.group):hover *){color:color-mix(in oklab,var(--uilint-text-muted)60%,transparent)}}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\\:bg-transparent::file-selector-button{background-color:#0000}.file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\\:text-\\[var\\(--uilint-input-placeholder\\)\\]::placeholder{color:var(--uilint-input-placeholder)}.placeholder\\:text-muted-foreground\\/40::placeholder{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-muted-foreground\\/40::placeholder{color:color-mix(in oklab,var(--uilint-text-muted)40%,transparent)}}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:inset-x-0:before{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.before\\:inset-y-0:before{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.before\\:top-0:before{content:var(--tw-content);top:calc(var(--spacing)*0)}.before\\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\\:h-\\(--top-fade-height\\):before{content:var(--tw-content);height:var(--top-fade-height)}.before\\:h-px:before{content:var(--tw-content);height:1px}.before\\:w-\\(--left-fade-width\\):before{content:var(--tw-content);width:var(--left-fade-width)}.before\\:bg-gradient-to-b:before{content:var(--tw-content);--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\\:bg-gradient-to-r:before{content:var(--tw-content);--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\\:from-background:before{content:var(--tw-content);--tw-gradient-from:var(--uilint-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\\:to-transparent:before{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\\:opacity-0:before{content:var(--tw-content);opacity:0}.before\\:opacity-100:before{content:var(--tw-content);opacity:1}.before\\:transition-\\[height\\,opacity\\]:before{content:var(--tw-content);transition-property:height,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\\:transition-\\[width\\,opacity\\]:before{content:var(--tw-content);transition-property:width,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\\:duration-300:before{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}.before\\:\\[background\\:var\\(--uilint-glass-highlight\\)\\]:before{content:var(--tw-content);background:var(--uilint-glass-highlight)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:inset-x-0:after{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\\:right-0:after{content:var(--tw-content);right:calc(var(--spacing)*0)}.after\\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing)*0)}.after\\:h-\\(--bottom-fade-height\\):after{content:var(--tw-content);height:var(--bottom-fade-height)}.after\\:w-\\(--right-fade-width\\):after{content:var(--tw-content);width:var(--right-fade-width)}.after\\:bg-gradient-to-l:after{content:var(--tw-content);--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.after\\:bg-gradient-to-t:after{content:var(--tw-content);--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.after\\:from-background:after{content:var(--tw-content);--tw-gradient-from:var(--uilint-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.after\\:to-transparent:after{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.after\\:opacity-0:after{content:var(--tw-content);opacity:0}.after\\:opacity-100:after{content:var(--tw-content);opacity:1}.after\\:transition-\\[height\\,opacity\\]:after{content:var(--tw-content);transition-property:height,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\\:transition-\\[width\\,opacity\\]:after{content:var(--tw-content);transition-property:width,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\\:duration-300:after{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\\:border-foreground\\/\\[0\\.08\\]:hover{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:border-foreground\\/\\[0\\.08\\]:hover{border-color:color-mix(in oklab,var(--uilint-foreground)8%,transparent)}}.hover\\:bg-\\[var\\(--uilint-active\\)\\]:hover{background-color:var(--uilint-active)}.hover\\:bg-\\[var\\(--uilint-button-destructive-bg\\)\\]\\/90:hover{background-color:var(--uilint-button-destructive-bg)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-destructive-bg\\)\\]\\/90:hover{background-color:color-mix(in oklab,var(--uilint-button-destructive-bg)90%,transparent)}}.hover\\:bg-\\[var\\(--uilint-button-ghost-text\\)\\]\\/10:hover{background-color:var(--uilint-button-ghost-text)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-ghost-text\\)\\]\\/10:hover{background-color:color-mix(in oklab,var(--uilint-button-ghost-text)10%,transparent)}}.hover\\:bg-\\[var\\(--uilint-button-outline-text\\)\\]\\/10:hover{background-color:var(--uilint-button-outline-text)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-outline-text\\)\\]\\/10:hover{background-color:color-mix(in oklab,var(--uilint-button-outline-text)10%,transparent)}}.hover\\:bg-\\[var\\(--uilint-button-secondary-bg\\)\\]\\/80:hover{background-color:var(--uilint-button-secondary-bg)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-secondary-bg\\)\\]\\/80:hover{background-color:color-mix(in oklab,var(--uilint-button-secondary-bg)80%,transparent)}}.hover\\:bg-\\[var\\(--uilint-glass-medium\\)\\]:hover{background-color:var(--uilint-glass-medium)}.hover\\:bg-\\[var\\(--uilint-hover\\)\\]:hover{background-color:var(--uilint-hover)}.hover\\:bg-error\\/10:hover{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-error\\/10:hover{background-color:color-mix(in oklab,var(--uilint-error)10%,transparent)}}.hover\\:bg-foreground\\/4:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/4:hover{background-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.hover\\:bg-foreground\\/6:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/6:hover{background-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.02\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.02\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)2%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.03\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.03\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)3%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.04\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.04\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.05\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.05\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)5%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.06\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.06\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.08\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.08\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)8%,transparent)}}.hover\\:bg-info\\/10:hover{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-info\\/10:hover{background-color:color-mix(in oklab,var(--uilint-info)10%,transparent)}}.hover\\:bg-red-500\\/80:hover{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/80:hover{background-color:color-mix(in oklab,var(--color-red-500)80%,transparent)}}.hover\\:bg-red-500\\/90:hover{background-color:#fb2c36e6}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/90:hover{background-color:color-mix(in oklab,var(--color-red-500)90%,transparent)}}.hover\\:bg-warning\\/10:hover{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-warning\\/10:hover{background-color:color-mix(in oklab,var(--uilint-warning)10%,transparent)}}.hover\\:bg-white\\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\\:bg-zinc-100:hover{background-color:var(--color-zinc-100)}.hover\\:bg-zinc-100\\/60:hover{background-color:#f4f4f599}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-100\\/60:hover{background-color:color-mix(in oklab,var(--color-zinc-100)60%,transparent)}}.hover\\:bg-zinc-100\\/80:hover{background-color:#f4f4f5cc}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-100\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-100)80%,transparent)}}.hover\\:bg-zinc-900\\/80:hover{background-color:#18181bcc}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-900\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-900)80%,transparent)}}.hover\\:bg-zinc-900\\/90:hover{background-color:#18181be6}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-900\\/90:hover{background-color:color-mix(in oklab,var(--color-zinc-900)90%,transparent)}}.hover\\:text-\\[var\\(--uilint-text-primary\\)\\]:hover{color:var(--uilint-text-primary)}.hover\\:text-\\[var\\(--uilint-text-secondary\\)\\]:hover{color:var(--uilint-text-secondary)}.hover\\:text-foreground:hover,.hover\\:text-foreground\\/70:hover{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-foreground\\/70:hover{color:color-mix(in oklab,var(--uilint-foreground)70%,transparent)}}.hover\\:text-foreground\\/80:hover{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-foreground\\/80:hover{color:color-mix(in oklab,var(--uilint-foreground)80%,transparent)}}.hover\\:text-muted-foreground:hover,.hover\\:text-muted-foreground\\/70:hover{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-muted-foreground\\/70:hover{color:color-mix(in oklab,var(--uilint-text-muted)70%,transparent)}}.hover\\:text-muted-foreground\\/80:hover{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-muted-foreground\\/80:hover{color:color-mix(in oklab,var(--uilint-text-muted)80%,transparent)}}.hover\\:text-zinc-800:hover{color:var(--color-zinc-800)}.hover\\:text-zinc-900:hover{color:var(--color-zinc-900)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-\\[var\\(--uilint-button-shadow-hover\\)\\]:hover{--tw-shadow:var(--uilint-button-shadow-hover);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:brightness-\\[0\\.97\\]:hover{--tw-brightness:brightness(.97);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,)}}.focus\\:border-\\[var\\(--uilint-error\\)\\]:focus{border-color:var(--uilint-error)}.focus\\:border-\\[var\\(--uilint-input-border-focus\\)\\]:focus{border-color:var(--uilint-input-border-focus)}.focus\\:border-error:focus{border-color:var(--uilint-error)}.focus\\:border-foreground\\/\\[0\\.12\\]:focus{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.focus\\:border-foreground\\/\\[0\\.12\\]:focus{border-color:color-mix(in oklab,var(--uilint-foreground)12%,transparent)}}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-foreground\\/20:focus{--tw-ring-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-foreground\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--uilint-foreground)20%,transparent)}}.focus\\:ring-zinc-950:focus{--tw-ring-color:var(--color-zinc-950)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-\\[var\\(--uilint-button-default-bg\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-default-bg)}.focus-visible\\:ring-\\[var\\(--uilint-button-destructive-bg\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-destructive-bg)}.focus-visible\\:ring-\\[var\\(--uilint-button-ghost-text\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-ghost-text)}.focus-visible\\:ring-\\[var\\(--uilint-button-outline-text\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-outline-text)}.focus-visible\\:ring-\\[var\\(--uilint-button-secondary-bg\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-secondary-bg)}.focus-visible\\:ring-foreground\\/25:focus-visible{--tw-ring-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-foreground\\/25:focus-visible{--tw-ring-color:color-mix(in oklab,var(--uilint-foreground)25%,transparent)}}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color:var(--uilint-border-focus)}.focus-visible\\:ring-white\\/50:focus-visible{--tw-ring-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-white\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.focus-visible\\:ring-zinc-950:focus-visible{--tw-ring-color:var(--color-zinc-950)}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--uilint-background)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:scale-x-98:active{--tw-scale-x:98%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-y-95:active{--tw-scale-y:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.active\\:bg-zinc-100\\/70:active{background-color:#f4f4f5b3}@supports (color:color-mix(in lab,red,red)){.active\\:bg-zinc-100\\/70:active{background-color:color-mix(in oklab,var(--color-zinc-100)70%,transparent)}}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}.data-\\[state\\=open\\]\\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}@media(min-width:40rem){.sm\\:inline{display:inline}.sm\\:h-5{height:calc(var(--spacing)*5)}.sm\\:min-h-0{min-height:calc(var(--spacing)*0)}.sm\\:w-5{width:calc(var(--spacing)*5)}.sm\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.sm\\:max-w-lg{max-width:var(--container-lg)}.sm\\:columns-3{columns:3}.sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:rounded-lg{border-radius:var(--uilint-radius-lg)}.sm\\:rounded-xl{border-radius:var(--radius-xl)}.sm\\:p-1\\.5{padding:calc(var(--spacing)*1.5)}.sm\\:p-3{padding:calc(var(--spacing)*3)}.sm\\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\\:px-2{padding-inline:calc(var(--spacing)*2)}.sm\\:px-4{padding-inline:calc(var(--spacing)*4)}.sm\\:py-4{padding-block:calc(var(--spacing)*4)}.sm\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\\:shadow-\\[inset_0_0_2px_1px_hsl\\(var\\(--border\\)\\/0\\.3\\)\\]{--tw-shadow:inset 0 0 2px 1px var(--tw-shadow-color,hsl(var(--border)/.3));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(min-width:48rem){.md\\:max-w-\\[calc\\(100\\%-4rem\\)\\]{max-width:calc(100% - 4rem)}.md\\:rounded-3xl{border-radius:var(--radius-3xl)}.md\\:rounded-\\[2rem\\]{border-radius:2rem}.md\\:p-2{padding:calc(var(--spacing)*2)}.md\\:p-4{padding:calc(var(--spacing)*4)}}@media(prefers-color-scheme:dark){.dark\\:border-purple-400\\/10{border-color:#c07eff1a}@supports (color:color-mix(in lab,red,red)){.dark\\:border-purple-400\\/10{border-color:color-mix(in oklab,var(--color-purple-400)10%,transparent)}}.dark\\:border-zinc-50\\/10{border-color:#fafafa1a}@supports (color:color-mix(in lab,red,red)){.dark\\:border-zinc-50\\/10{border-color:color-mix(in oklab,var(--color-zinc-50)10%,transparent)}}.dark\\:border-zinc-800{border-color:var(--color-zinc-800)}.dark\\:bg-amber-500\\/25{background-color:#f99c0040}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-amber-500\\/25{background-color:color-mix(in oklab,var(--color-amber-500)25%,transparent)}}.dark\\:bg-blue-500\\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-blue-500\\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.dark\\:bg-emerald-500\\/25{background-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-emerald-500\\/25{background-color:color-mix(in oklab,var(--color-emerald-500)25%,transparent)}}.dark\\:bg-purple-400\\/\\[0\\.06\\]{background-color:#c07eff0f}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-purple-400\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--color-purple-400)6%,transparent)}}.dark\\:bg-red-500\\/25{background-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-500\\/25{background-color:color-mix(in oklab,var(--color-red-500)25%,transparent)}}.dark\\:bg-red-900{background-color:var(--color-red-900)}.dark\\:bg-zinc-50{background-color:var(--color-zinc-50)}.dark\\:bg-zinc-100{background-color:var(--color-zinc-100)}.dark\\:bg-zinc-700{background-color:var(--color-zinc-700)}.dark\\:bg-zinc-800{background-color:var(--color-zinc-800)}.dark\\:bg-zinc-800\\/50{background-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-zinc-800\\/50{background-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.dark\\:bg-zinc-950{background-color:var(--color-zinc-950)}.dark\\:text-amber-300{color:var(--color-amber-300)}.dark\\:text-blue-400{color:var(--color-blue-400)}.dark\\:text-emerald-300{color:var(--color-emerald-300)}.dark\\:text-purple-400\\/70{color:#c07effb3}@supports (color:color-mix(in lab,red,red)){.dark\\:text-purple-400\\/70{color:color-mix(in oklab,var(--color-purple-400)70%,transparent)}}.dark\\:text-red-300{color:var(--color-red-300)}.dark\\:text-zinc-50{color:var(--color-zinc-50)}.dark\\:text-zinc-100{color:var(--color-zinc-100)}.dark\\:text-zinc-400{color:var(--color-zinc-400)}.dark\\:text-zinc-900{color:var(--color-zinc-900)}.dark\\:shadow-\\[0_0_0_1px_rgba\\(255\\,252\\,240\\,0\\.08\\)\\,0px_2px_2px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\,0px_8px_16px_-4px_rgba\\(0\\,0\\,0\\,0\\.3\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#fffcf014),0px 2px 2px var(--tw-shadow-color,#0003),0px 8px 16px -4px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:shadow-\\[0px_1px_1px_0px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.02\\)_inset\\,0px_1px_1px_0px_rgba\\(255\\,255\\,255\\,0\\.05\\)_inset\\,0px_0px_0px_1px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.05\\)_inset\\,0px_0px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#ffffff05)inset,0px 1px 1px 0px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 1px 0px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:shadow-\\[0px_1px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\,0px_1px_1px_0px_rgba\\(255\\,255\\,255\\,0\\.05\\)_inset\\,0px_0px_0px_1px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.05\\)_inset\\,0px_0px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.8\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#0003),0px 1px 1px 0px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 1px 0px var(--tw-shadow-color,#000c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:shadow-\\[inset_0_0_1px_1px_hsl\\(var\\(--border\\)\\/0\\.5\\)\\]{--tw-shadow:inset 0 0 1px 1px var(--tw-shadow-color,hsl(var(--border)/.5));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:ring-zinc-800\\/50{--tw-ring-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-zinc-800\\/50{--tw-ring-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.dark\\:ring-offset-zinc-950{--tw-ring-offset-color:var(--color-zinc-950)}@media(hover:hover){.dark\\:dark\\:hover\\:bg-zinc-800\\/50:hover{background-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.dark\\:dark\\:hover\\:bg-zinc-800\\/50:hover{background-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}}@media(hover:hover){.dark\\:hover\\:bg-red-900\\/80:hover{background-color:#82181acc}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-900\\/80:hover{background-color:color-mix(in oklab,var(--color-red-900)80%,transparent)}}.dark\\:hover\\:bg-red-900\\/90:hover{background-color:#82181ae6}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-900\\/90:hover{background-color:color-mix(in oklab,var(--color-red-900)90%,transparent)}}.dark\\:hover\\:bg-zinc-50\\/80:hover{background-color:#fafafacc}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-50\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-50)80%,transparent)}}.dark\\:hover\\:bg-zinc-50\\/90:hover{background-color:#fafafae6}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-50\\/90:hover{background-color:color-mix(in oklab,var(--color-zinc-50)90%,transparent)}}.dark\\:hover\\:bg-zinc-100\\/50:hover{background-color:#f4f4f580}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-100\\/50:hover{background-color:color-mix(in oklab,var(--color-zinc-100)50%,transparent)}}.dark\\:hover\\:bg-zinc-700:hover{background-color:var(--color-zinc-700)}.dark\\:hover\\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.dark\\:hover\\:bg-zinc-800\\/60:hover{background-color:#27272a99}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-800\\/60:hover{background-color:color-mix(in oklab,var(--color-zinc-800)60%,transparent)}}.dark\\:hover\\:bg-zinc-800\\/80:hover{background-color:#27272acc}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-800\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-800)80%,transparent)}}.dark\\:hover\\:text-zinc-50:hover{color:var(--color-zinc-50)}}.dark\\:focus\\:ring-zinc-300:focus,.dark\\:focus-visible\\:ring-zinc-300:focus-visible{--tw-ring-color:var(--color-zinc-300)}.dark\\:active\\:bg-zinc-800\\/70:active{background-color:#27272ab3}@supports (color:color-mix(in lab,red,red)){.dark\\:active\\:bg-zinc-800\\/70:active{background-color:color-mix(in oklab,var(--color-zinc-800)70%,transparent)}}@media(min-width:40rem){.dark\\:sm\\:shadow-\\[inset_0_0_2px_1px_hsl\\(var\\(--border\\)\\/0\\.5\\)\\]{--tw-shadow:inset 0 0 2px 1px var(--tw-shadow-color,hsl(var(--border)/.5));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&_svg\\]\\:h-4 svg{height:calc(var(--spacing)*4)}.\\[\\&_svg\\]\\:h-5 svg{height:calc(var(--spacing)*5)}.\\[\\&_svg\\]\\:h-\\[18px\\] svg{height:18px}.\\[\\&_svg\\]\\:w-4 svg{width:calc(var(--spacing)*4)}.\\[\\&_svg\\]\\:w-5 svg{width:calc(var(--spacing)*5)}.\\[\\&_svg\\]\\:w-\\[18px\\] svg{width:18px}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\\[\\&\\:\\:-webkit-scrollbar\\]\\:h-1::-webkit-scrollbar{height:calc(var(--spacing)*1)}.\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:rounded-full::-webkit-scrollbar-thumb{border-radius:3.40282e38px}.\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:bg-foreground\\/10::-webkit-scrollbar-thumb{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:bg-foreground\\/10::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--uilint-foreground)10%,transparent)}}.\\[\\&\\:\\:-webkit-scrollbar-track\\]\\:bg-transparent::-webkit-scrollbar-track{background-color:#0000}.\\[\\&\\>div\\]\\:\\!block>div{display:block!important}[data-slot=tooltip-content] .\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}[data-slot=tooltip-content] .\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:text-white{color:var(--color-white)}@media(prefers-color-scheme:dark){[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/20{background-color:#09090b33}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/20{background-color:color-mix(in oklab,var(--color-zinc-950)20%,transparent)}}[data-slot=tooltip-content] .dark\\:dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/10{background-color:#09090b1a}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .dark\\:dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/10{background-color:color-mix(in oklab,var(--color-zinc-950)10%,transparent)}}[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:text-zinc-950{color:var(--color-zinc-950)}}}:root{--uilint-tile-rule:oklch(65% .15 259);--uilint-tile-file:oklch(68% .14 142);--uilint-background:oklch(98.5% .002 265);--uilint-background-elevated:oklch(96.7% .003 265);--uilint-foreground:oklch(14.1% .005 265);--uilint-surface:oklch(98.5% .002 265);--uilint-surface-elevated:oklch(96.7% .003 265);--uilint-text-primary:oklch(14.1% .005 265);--uilint-text-secondary:oklch(37% .013 265);--uilint-text-muted:oklch(55.2% .016 265);--uilint-text-disabled:oklch(70.5% .015 265);--uilint-hover:oklch(55.2% .016 265/.12);--uilint-active:oklch(44.2% .017 265/.16);--uilint-border:oklch(92% .004 265);--uilint-border-focus:oklch(55.2% .016 265);--uilint-accent:oklch(44.2% .017 265);--uilint-accent-foreground:oklch(98.5% .002 265);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.15);--uilint-warning:#f59e0b;--uilint-warning-bg:#f59e0b26;--uilint-error:#fca5a5;--uilint-error-bg:#fca5a526;--uilint-info:oklch(62.3% .214 259);--uilint-info-bg:oklch(62.3% .214 259/.15);--uilint-shadow:0 4px 20px oklch(14.1% .005 265/.12);--uilint-shadow-lg:0 8px 32px oklch(14.1% .005 265/.18);--uilint-backdrop:oklch(98.5% .002 265/.92);--uilint-glass:oklch(99% .002 265/.7);--uilint-glass-border:oklch(100% .002 265/.25);--uilint-glass-highlight:oklch(100% 0 0/.4);--uilint-glass-blur-light:8px;--uilint-glass-blur-medium:16px;--uilint-glass-blur-heavy:24px;--uilint-glass-light:oklch(99% .002 265/.5);--uilint-glass-medium:oklch(99% .002 265/.7);--uilint-glass-heavy:oklch(99% .002 265/.85);--uilint-kbd-background:linear-gradient(180deg,oklch(100% 0 0) 0%,oklch(96.7% .003 265) 100%);--uilint-kbd-border:oklch(0% 0 0/.1);--uilint-kbd-shadow:0 1px 0 oklch(0% 0 0/.08);--uilint-kbd-text:oklch(44.2% .017 265);--uilint-badge-radius:6px;--uilint-button-radius:8px;--uilint-button-shadow:0 1px 2px oklch(0% 0 0/.05);--uilint-button-shadow-hover:0 2px 4px oklch(0% 0 0/.1);--uilint-button-default-bg:var(--uilint-accent);--uilint-button-default-text:var(--uilint-accent-foreground);--uilint-button-default-border:transparent;--uilint-button-secondary-bg:oklch(96.7% .003 265);--uilint-button-secondary-text:var(--uilint-text-primary);--uilint-button-secondary-border:var(--uilint-border);--uilint-button-ghost-bg:transparent;--uilint-button-ghost-text:var(--uilint-text-secondary);--uilint-button-ghost-border:transparent;--uilint-button-destructive-bg:var(--uilint-error);--uilint-button-destructive-text:oklch(100% 0 0);--uilint-button-destructive-border:transparent;--uilint-button-outline-bg:transparent;--uilint-button-outline-text:var(--uilint-text-primary);--uilint-button-outline-border:var(--uilint-border);--uilint-button-glass-bg:var(--uilint-glass-medium);--uilint-button-glass-text:var(--uilint-text-primary);--uilint-button-glass-border:var(--uilint-glass-border);--uilint-input-bg:oklch(100% 0 0/.6);--uilint-input-border:var(--uilint-border);--uilint-input-border-focus:var(--uilint-border-focus);--uilint-input-placeholder:var(--uilint-text-muted);--uilint-input-radius:8px;--uilint-input-ring:oklch(55.2% .016 265/.25);--uilint-card-bg:var(--uilint-surface);--uilint-card-border:var(--uilint-border);--uilint-card-radius:12px;--uilint-card-shadow:0 1px 3px oklch(0% 0 0/.04);--uilint-card-shadow-hover:0 4px 12px oklch(0% 0 0/.08);--uilint-card-elevated-bg:var(--uilint-surface-elevated);--uilint-card-elevated-shadow:0 4px 16px oklch(0% 0 0/.1);--uilint-card-glass-bg:var(--uilint-glass-medium);--uilint-card-glass-border:var(--uilint-glass-border);--uilint-icon-button-size:32px;--uilint-icon-button-size-sm:28px;--uilint-icon-button-size-lg:40px;--uilint-icon-button-radius:8px;--uilint-scrollbar-track:oklch(92% .004 265);--uilint-scrollbar-thumb:oklch(70.5% .015 265);--uilint-scrollbar-thumb-hover:oklch(55.2% .016 265);--uilint-radius:12px;--uilint-radius-sm:8px;--uilint-radius-lg:16px;--uilint-transition-fast:.1s ease;--uilint-transition-normal:.15s ease;--uilint-transition-slow:.25s ease;color-scheme:light}.dev-tool-root{color-scheme:light}.dark,.dark .dev-tool-root,.dev-tool-root.dark,.dev-tool-root[data-theme=dark]{--uilint-background:oklch(14.1% .005 265);--uilint-background-elevated:oklch(21% .006 265);--uilint-foreground:oklch(98.5% .002 265);--uilint-surface:oklch(14.1% .005 265);--uilint-surface-elevated:oklch(21% .006 265);--uilint-text-primary:oklch(98.5% .002 265);--uilint-text-secondary:oklch(87% .006 265);--uilint-text-muted:oklch(70.5% .015 265);--uilint-text-disabled:oklch(44.2% .017 265);--uilint-hover:oklch(70.5% .015 265/.12);--uilint-active:oklch(70.5% .015 265/.18);--uilint-border:oklch(98.5% .002 265/.12);--uilint-border-focus:oklch(70.5% .015 265);--uilint-accent:oklch(70.5% .015 265);--uilint-accent-foreground:oklch(14.1% .005 265);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.2);--uilint-warning:#fbbf24;--uilint-warning-bg:#fbbf2433;--uilint-error:#fecaca;--uilint-error-bg:#fecaca33;--uilint-info:oklch(62.3% .214 259);--uilint-info-bg:oklch(62.3% .214 259/.2);--uilint-shadow:0 4px 20px oklch(0% 0 0/.4);--uilint-shadow-lg:0 8px 32px oklch(0% 0 0/.5);--uilint-backdrop:oklch(14.1% .005 265/.92);--uilint-glass:oklch(21% .006 265/.7);--uilint-glass-border:oklch(100% .002 265/.12);--uilint-glass-highlight:oklch(100% 0 0/.1);--uilint-glass-light:oklch(23% .006 265/.5);--uilint-glass-medium:oklch(21% .006 265/.7);--uilint-glass-heavy:oklch(18% .005 265/.85);--uilint-kbd-background:linear-gradient(180deg,oklch(27.4% .006 265) 0%,oklch(21% .006 265) 100%);--uilint-kbd-border:oklch(100% 0 0/.1);--uilint-kbd-shadow:0 1px 0 oklch(0% 0 0/.2);--uilint-kbd-text:oklch(70.5% .015 265);--uilint-button-default-bg:var(--uilint-accent);--uilint-button-default-text:var(--uilint-accent-foreground);--uilint-button-default-border:transparent;--uilint-button-secondary-bg:oklch(27.4% .006 265);--uilint-button-secondary-text:var(--uilint-text-primary);--uilint-button-secondary-border:var(--uilint-border);--uilint-button-ghost-bg:transparent;--uilint-button-ghost-text:var(--uilint-text-secondary);--uilint-button-ghost-border:transparent;--uilint-button-destructive-bg:var(--uilint-error);--uilint-button-destructive-text:oklch(100% 0 0);--uilint-button-destructive-border:transparent;--uilint-button-outline-bg:transparent;--uilint-button-outline-text:var(--uilint-text-primary);--uilint-button-outline-border:var(--uilint-border);--uilint-button-glass-bg:var(--uilint-glass-medium);--uilint-button-glass-text:var(--uilint-text-primary);--uilint-button-glass-border:var(--uilint-glass-border);--uilint-input-bg:oklch(23% .006 265/.6);--uilint-input-border:var(--uilint-border);--uilint-input-border-focus:var(--uilint-border-focus);--uilint-input-placeholder:var(--uilint-text-muted);--uilint-input-ring:oklch(70.5% .015 265/.25);--uilint-card-bg:var(--uilint-surface);--uilint-card-border:var(--uilint-border);--uilint-card-shadow:0 1px 3px oklch(0% 0 0/.2);--uilint-card-shadow-hover:0 4px 12px oklch(0% 0 0/.3);--uilint-card-elevated-bg:var(--uilint-surface-elevated);--uilint-card-elevated-shadow:0 4px 16px oklch(0% 0 0/.4);--uilint-card-glass-bg:var(--uilint-glass-medium);--uilint-card-glass-border:var(--uilint-glass-border);--uilint-scrollbar-track:oklch(21% .006 265);--uilint-scrollbar-thumb:oklch(37% .013 265);--uilint-scrollbar-thumb-hover:oklch(44.2% .017 265);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not(.light) .dev-tool-root:not(.light):not([data-theme=light]),.dev-tool-root:not(.light):not([data-theme=light]){--uilint-background:oklch(14.1% .005 265);--uilint-background-elevated:oklch(21% .006 265);--uilint-foreground:oklch(98.5% .002 265);--uilint-surface:oklch(14.1% .005 265);--uilint-surface-elevated:oklch(21% .006 265);--uilint-text-primary:oklch(98.5% .002 265);--uilint-text-secondary:oklch(87% .006 265);--uilint-text-muted:oklch(70.5% .015 265);--uilint-text-disabled:oklch(44.2% .017 265);--uilint-hover:oklch(70.5% .015 265/.12);--uilint-active:oklch(70.5% .015 265/.18);--uilint-border:oklch(98.5% .002 265/.12);--uilint-border-focus:oklch(70.5% .015 265);--uilint-accent:oklch(70.5% .015 265);--uilint-accent-foreground:oklch(14.1% .005 265);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.2);--uilint-warning:#fbbf24;--uilint-warning-bg:#fbbf2433;--uilint-error:#fecaca;--uilint-error-bg:#fecaca33;--uilint-shadow:0 4px 20px oklch(0% 0 0/.4);--uilint-backdrop:oklch(14.1% .005 265/.92);--uilint-glass:oklch(21% .006 265/.7);--uilint-glass-border:oklch(100% .002 265/.12);--uilint-scrollbar-track:oklch(21% .006 265);--uilint-scrollbar-thumb:oklch(37% .013 265);--uilint-scrollbar-thumb-hover:oklch(44.2% .017 265);color-scheme:dark}}.light,.light .dev-tool-root,.dev-tool-root.light,.dev-tool-root[data-theme=light]{--uilint-background:oklch(98.5% .002 265);--uilint-background-elevated:oklch(96.7% .003 265);--uilint-foreground:oklch(14.1% .005 265);--uilint-surface:oklch(98.5% .002 265);--uilint-surface-elevated:oklch(96.7% .003 265);--uilint-text-primary:oklch(14.1% .005 265);--uilint-text-secondary:oklch(37% .013 265);--uilint-text-muted:oklch(55.2% .016 265);--uilint-text-disabled:oklch(70.5% .015 265);--uilint-hover:oklch(55.2% .016 265/.12);--uilint-active:oklch(44.2% .017 265/.16);--uilint-border:oklch(92% .004 265);--uilint-border-focus:oklch(55.2% .016 265);--uilint-accent:oklch(44.2% .017 265);--uilint-accent-foreground:oklch(98.5% .002 265);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.15);--uilint-warning:#f59e0b;--uilint-warning-bg:#f59e0b26;--uilint-error:#fca5a5;--uilint-error-bg:#fca5a526;--uilint-shadow:0 4px 20px oklch(14.1% .005 265/.12);--uilint-backdrop:oklch(98.5% .002 265/.92);--uilint-glass:oklch(99% .002 265/.7);--uilint-glass-border:oklch(100% .002 265/.25);--uilint-scrollbar-track:oklch(92% .004 265);--uilint-scrollbar-thumb:oklch(70.5% .015 265);--uilint-scrollbar-thumb-hover:oklch(55.2% .016 265);color-scheme:light}@keyframes uilint-fade-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes uilint-fade-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes uilint-pulse{0%,to{box-shadow:0 0 6px 2px var(--uilint-pulse-color,#ffa50066)}50%{box-shadow:0 0 16px 6px var(--uilint-pulse-color,#ffa50099)}}@keyframes uilint-spotlight{0%{box-shadow:0 0 4px 1px var(--uilint-pulse-color,#ffa5004d)}50%{box-shadow:0 0 10px 3px var(--uilint-pulse-color,#ffa50073)}to{box-shadow:0 0 4px 1px var(--uilint-pulse-color,#ffa5004d)}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes uilint-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes uilint-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes uilint-popover-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-ui-lint] *{scrollbar-width:thin;scrollbar-color:var(--uilint-scrollbar-thumb)var(--uilint-scrollbar-track)}[data-ui-lint] ::-webkit-scrollbar{width:8px;height:8px}[data-ui-lint] ::-webkit-scrollbar-track{background:var(--uilint-scrollbar-track);border-radius:4px}[data-ui-lint] ::-webkit-scrollbar-thumb{background:var(--uilint-scrollbar-thumb);border-radius:4px}[data-ui-lint] ::-webkit-scrollbar-thumb:hover{background:var(--uilint-scrollbar-thumb-hover)}@media(max-width:767px){.dev-tool-root{--uilint-radius:16px}}.safe-area-padding-top{padding-top:env(safe-area-inset-top,0px)}.safe-area-padding-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.safe-area-padding-left{padding-left:env(safe-area-inset-left,0px)}.safe-area-padding-right{padding-right:env(safe-area-inset-right,0px)}@keyframes uilint-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes uilint-sheet-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media(pointer:coarse){.dev-tool-root button:focus-visible,.dev-tool-root [role=button]:focus-visible{outline-offset:2px}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}`;let x2=!1;const WR="uilint-devtool-root";function eM(){return typeof window<"u"}function jU({enabled:a=!0,mode:o="websocket",manifestUrl:l}){const[u,d]=N.useState(!1),[p,g]=N.useState(x2),v=N.useRef(null),b=N.useRef(!1);return o==="static"&&!l&&Ft("[DevTool] Static mode requires manifestUrl prop"),N.useEffect(()=>{d(!0)},[]),N.useEffect(()=>{if(!eM()||!a)return;KR(JR);const S=document.querySelector(`.${WR}`);if(S){v.current=S,b.current=!1;return}const T=document.createElement("div");return T.className=WR,T.setAttribute("data-ui-lint-root","true"),document.body.appendChild(T),v.current=T,b.current=!0,()=>{b.current&&v.current?.remove(),v.current=null,b.current=!1}},[a]),N.useEffect(()=>{if(!eM()||!a||!u)return;let S=null;const T=o==="static"&&l;async function C(){if(T?(Ye("[DevTool] Configuring static mode with manifest:",l),aR(l)):iR(),!x2){Yn.register(v2),Yn.register(OU);const M=await nU([]);for(const j of M)Yn.register(j);Ye(`[DevTool] Loaded ${M.length} external plugin(s):`,M.map(j=>j.id).join(", ")),await T_({websocket:Vo,domObserver:Lg}),x2=!0,Ye("[DevTool] Plugins initialized in",T?"static":"websocket","mode")}const k=A_();if(k&&k.getState().setConnectionStatus({mode:T?"static":"websocket",maxReconnectAttempts:Lu}),g(!0),T)Ye("[DevTool] Static mode: starting DOM observer"),Lg.start();else{const M=await U7(),j=M?`ws://localhost:${M.port}`:void 0;M&&Ye(`[DevTool] Discovered server on port ${M.port}`),Vo.connect(j),S=Vo.onConnectionChange(V=>{V?(Ye("[DevTool] WebSocket connected, starting DOM observer"),Lg.start()):(Ye("[DevTool] WebSocket disconnected, stopping DOM observer"),Lg.stop())})}}return C(),()=>{S?.(),T||Vo.disconnect(),Lg.stop()}},[a,u,o,l]),!a||!u||!p?null:E.jsx(VL,{enabled:a})}function tM(a,o){a.setAttribute("data-position",o)}function NU(){if(typeof document>"u")return"light";const a=document.documentElement,o=document.body;if(a.classList.contains("dark")||o.classList.contains("dark"))return"dark";if(a.classList.contains("light")||o.classList.contains("light"))return"light";const l=a.getAttribute("data-theme"),u=o.getAttribute("data-theme");if(l==="dark"||u==="dark")return"dark";if(l==="light"||u==="light")return"light";const d=a.getAttribute("data-mode"),p=o.getAttribute("data-mode");return d==="dark"||p==="dark"?"dark":d==="light"||p==="light"?"light":window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"}function nM(a,o){a.classList.remove("light","dark"),a.removeAttribute("data-theme"),o!=="system"&&(a.classList.add(o),a.setAttribute("data-theme",o))}function LU(){if(typeof window>"u"||customElements.get("uilint-devtools"))return;class a extends HTMLElement{static get observedAttributes(){return["enabled","position","theme","mode","manifest-url"]}rootEl=null;reactRoot=null;themeObserver=null;mediaQueryListener=null;connectedCallback(){KR(JR);const l=document.createElement("div");l.className="dev-tool-root",l.setAttribute("data-ui-lint-root","true"),document.body.appendChild(l),this.rootEl=l,tM(l,this.getPosition()),this.syncTheme(),this.setupThemeObserver(),this.reactRoot=kD.createRoot(l),this.render()}disconnectedCallback(){this.reactRoot?.unmount(),this.reactRoot=null,this.rootEl?.remove(),this.rootEl=null,this.themeObserver?.disconnect(),this.themeObserver=null,this.mediaQueryListener&&(window.matchMedia("(prefers-color-scheme: dark)").removeEventListener("change",this.mediaQueryListener),this.mediaQueryListener=null)}attributeChangedCallback(){this.rootEl&&(tM(this.rootEl,this.getPosition()),this.syncTheme(),this.render())}getEnabled(){const l=this.getAttribute("enabled");return l==null?!0:l!=="false"}getPosition(){const l=this.getAttribute("position");switch(l){case"bottom-right":case"top-left":case"top-right":case"bottom-left":case"top-center":case"bottom-center":return l;default:return"top-center"}}getTheme(){const l=this.getAttribute("theme");switch(l){case"light":case"dark":return l;default:return"system"}}getMode(){return this.getAttribute("mode")==="static"?"static":"websocket"}getManifestUrl(){return this.getAttribute("manifest-url")??void 0}syncTheme(){if(!this.rootEl)return;const l=this.getTheme();if(l==="system"){const u=NU();nM(this.rootEl,u)}else nM(this.rootEl,l)}setupThemeObserver(){this.themeObserver=new MutationObserver(()=>{this.getTheme()==="system"&&this.syncTheme()});const l={attributes:!0,attributeFilter:["class","data-theme","data-mode"]};this.themeObserver.observe(document.documentElement,l),this.themeObserver.observe(document.body,l);const u=window.matchMedia("(prefers-color-scheme: dark)");this.mediaQueryListener=()=>{this.getTheme()==="system"&&this.syncTheme()},u.addEventListener("change",this.mediaQueryListener)}render(){this.reactRoot&&this.reactRoot.render(E.jsx(jU,{enabled:this.getEnabled(),mode:this.getMode(),manifestUrl:this.getManifestUrl()}))}}customElements.define("uilint-devtools",a)}LU();function w2(a,o){const l=o.split(".");let u=a;for(const d of l){if(u==null)return;if(typeof u=="object")u=u[d];else return}return u}function ja(a,o){const l=a.binding;let u=w2(o.data,l);return u===void 0&&(u=w2(o.state,l)),u===void 0&&(u=w2(o.computed,l)),u}function UU(a,o){const l=a.expression,u={...o.data,...o.state,...o.computed};try{const d=Object.keys(u),p=Object.values(u);return new Function(...d,`return (${l});`)(...p)}catch(d){console.warn(`[SchemaRenderer] Failed to evaluate expression: ${l}`,d);return}}function ps(a,o){return Vy(a)?ja(a,o):a}function BU(a,o){return ja(a.condition,o)?a.true:a.false}function aM(a,o){return mT(a)?BU(a,o):Vy(a)?ja(a,o):a}function S2(a,o){return pT(a)?!!UU(a,o):!!ja(a,o)}function E2(a,o,l){const u={...a};if(o)for(const[d,p]of Object.entries(o))u[d]=ja({binding:p},l);return u}function VU({section:a,ctx:o}){const l=ps(a.text,o),u=ps(a.subtitle,o),d=a.icon?Uu(a.icon):null;return E.jsxs("div",{className:xe("flex items-start gap-2 mb-3",a.sticky&&"sticky top-0 bg-surface py-2 z-10"),children:[d&&E.jsx("span",{className:"text-muted-foreground shrink-0 mt-0.5",children:E.jsx(d,{size:16})}),E.jsxs("div",{children:[E.jsx("h3",{className:"m-0 text-sm font-semibold text-text-primary",children:String(l??"")}),u&&E.jsx("p",{className:"mt-1 mb-0 text-xs text-muted-foreground",children:String(u)})]})]})}function HU({code:a,startLine:o=1,highlightLines:l,maxHeight:u}){const d=a.split(`
256
+ `)}function _L(){const a=we(p=>p.activePluginOperations),o=we(p=>p.mobile.isMobile),l=Object.values(a).filter(p=>p.status==="active");if(l.length===0)return null;const u=o?44:36,d=DL(l);return E.jsxs("div",{className:"relative flex items-center justify-center rounded-full border border-border bg-glass-medium",style:{width:u,height:u},title:d,"aria-label":`${l.length} operation${l.length>1?"s":""} in progress`,children:[E.jsx("div",{className:"animate-spin rounded-full border-2 border-muted-foreground/30 border-t-muted-foreground",style:{width:u*.5,height:u*.5}}),l.length>1&&E.jsx("span",{className:"absolute -top-1 -right-1 flex h-4 w-4 items-center justify-center rounded-full bg-accent text-[10px] font-semibold text-accent-foreground",children:l.length})]})}function zL(){return typeof navigator>"u"?!1:navigator.platform.toUpperCase().indexOf("MAC")>=0}function OL(){const a=we(v=>v.inspector.open),o=we(v=>v.commandPalette.open),l=we(v=>v.openCommandPalette),u=we(v=>v.mobile.isMobile),d=we(v=>v.mobile.isTouchDevice),p=document.getElementById("uilint-portal")||document.body;if(a||o)return null;const g=zL()?"⌘":"Ctrl+";return yd.createPortal(E.jsx(ti,{children:E.jsxs(Ze.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15,ease:[.32,.72,0,1]},style:{position:"fixed",top:16,left:"50%",transform:"translateX(-50%)",display:"flex",alignItems:"center",gap:8,pointerEvents:"auto"},children:[E.jsx(ML,{}),E.jsx(_L,{}),!d&&E.jsxs(Ze.kbd,{initial:{opacity:0,x:10},animate:{opacity:.5,x:0},transition:{duration:.2,delay:.1},style:{padding:"2px 6px",borderRadius:4,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:11,fontWeight:500,color:"var(--uilint-text-muted)",background:"rgba(0, 0, 0, 0.06)",border:"1px solid rgba(0, 0, 0, 0.1)",lineHeight:1},children:[g,"K issues"]}),d&&E.jsx(Ze.button,{initial:{opacity:0,x:10},animate:{opacity:1,x:0},whileHover:{scale:1.05},whileTap:{scale:.95},transition:{duration:.15,ease:[.32,.72,0,1]},onClick:l,"aria-label":"Open search",title:"Search issues",style:{width:36,height:36,borderRadius:18,border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--uilint-text-secondary)",background:"rgba(0, 0, 0, 0.06)"},children:E.jsx(_S,{size:u?20:18})})]})}),p)}const LR=10,jL={isSelecting:!1,startPoint:null,currentPoint:null,mounted:!1};function NL(a,o){switch(o.type){case"MOUNT":return{...a,mounted:!0};case"START_SELECTION":return{...a,isSelecting:!0,startPoint:o.point,currentPoint:o.point};case"UPDATE_SELECTION":return{...a,currentPoint:o.point};case"COMPLETE_SELECTION":return{...a,isSelecting:!1,startPoint:null,currentPoint:null};default:return a}}const Ur={overlayBg:"rgba(0, 0, 0, 0.5)",selectionBorder:"var(--uilint-accent, #fbbf24)",selectionBg:"transparent",textBg:"var(--uilint-backdrop, rgba(0, 0, 0, 0.8))",textColor:"var(--uilint-text-primary, #ffffff)",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontMono:'"SF Mono", Monaco, "Cascadia Code", monospace'};function LL({active:a,onRegionSelected:o,onCancel:l}){const[u,d]=N.useReducer(NL,jL),{isSelecting:p,startPoint:g,currentPoint:v,mounted:b}=u;N.useEffect(()=>{d({type:"MOUNT"})},[]);const S=N.useCallback(()=>{if(!g||!v)return null;const B=Math.min(g.x,v.x),F=Math.min(g.y,v.y),te=Math.abs(v.x-g.x),K=Math.abs(v.y-g.y);return{x:B,y:F,width:te,height:K}},[g,v]),T=N.useCallback(B=>{B.button===0&&d({type:"START_SELECTION",point:{x:B.clientX,y:B.clientY}})},[]),C=N.useCallback(B=>{!p||!g||d({type:"UPDATE_SELECTION",point:{x:B.clientX,y:B.clientY}})},[p,g]),k=N.useCallback(()=>{if(!p||!g)return;const B=S();B&&B.width>LR&&B.height>LR?o(B):l(),d({type:"COMPLETE_SELECTION"})},[p,g,S,o,l]);if(N.useEffect(()=>{if(!a)return;const B=F=>{F.key==="Escape"&&(F.preventDefault(),F.stopPropagation(),l())};return document.addEventListener("keydown",B,!0),()=>{document.removeEventListener("keydown",B,!0)}},[a,l]),N.useLayoutEffect(()=>{if(!a)return;const B=F=>{F.preventDefault()};return document.body.style.overflow="hidden",document.addEventListener("wheel",B,{passive:!1}),document.addEventListener("touchmove",B,{passive:!1}),()=>{document.body.style.overflow="",document.removeEventListener("wheel",B),document.removeEventListener("touchmove",B)}},[a]),!a||!b)return null;const M=S(),j=typeof document<"u"?document.getElementById("uilint-portal")||document.body:null;if(!j)return null;const V=E.jsxs("div",{"data-testid":"region-selector-overlay","data-ui-lint":!0,onMouseDown:T,onMouseMove:C,onMouseUp:k,style:{position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:999999,cursor:"crosshair",backgroundColor:Ur.overlayBg,fontFamily:Ur.fontFamily},children:[E.jsxs("div",{style:{position:"absolute",top:"20px",left:"50%",transform:"translateX(-50%)",padding:"12px 20px",borderRadius:"12px",backgroundColor:Ur.textBg,color:Ur.textColor,fontSize:"14px",fontWeight:500,boxShadow:"0 4px 20px rgba(0, 0, 0, 0.4)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",pointerEvents:"none",userSelect:"none"},children:["Click and drag to select a region"," ",E.jsx("kbd",{style:{padding:"2px 6px",borderRadius:"4px",backgroundColor:"rgba(255, 255, 255, 0.1)",border:"1px solid rgba(255, 255, 255, 0.2)",fontSize:"11px",fontFamily:Ur.fontMono,marginLeft:"4px"},children:"Esc"})," ","to cancel"]}),M&&M.width>0&&M.height>0&&E.jsxs(E.Fragment,{children:[E.jsx("div",{"data-testid":"selection-rectangle",style:{position:"absolute",left:`${M.x}px`,top:`${M.y}px`,width:`${M.width}px`,height:`${M.height}px`,border:`2px solid ${Ur.selectionBorder}`,backgroundColor:Ur.selectionBg,pointerEvents:"none",boxShadow:`0 0 0 9999px ${Ur.overlayBg}`}}),E.jsxs("div",{"data-testid":"dimensions-label",style:{position:"absolute",left:`${M.x}px`,top:`${M.y-32}px`,padding:"6px 10px",borderRadius:"6px",backgroundColor:Ur.textBg,color:Ur.textColor,fontSize:"12px",fontFamily:Ur.fontMono,fontWeight:500,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.3)",pointerEvents:"none",userSelect:"none",whiteSpace:"nowrap"},children:[Math.round(M.width)," x ",Math.round(M.height)]})]})]});return yd.createPortal(V,j)}let f2=!1;function UL(){if(typeof document>"u")return;let a=document.getElementById("uilint-portal");return a||(a=document.createElement("div"),a.id="uilint-portal",a.style.cssText="position: fixed; top: 0; left: 0; z-index: 99990; pointer-events: none;",document.body.appendChild(a),f2=!0),a}function BL(){if(!f2)return;const a=document.getElementById("uilint-portal");a&&(a.remove(),f2=!1)}function VL({enabled:a=!0}){const o=we(v=>v.overlayInteraction),l=we(v=>v.completeOverlayInteraction),u=we(v=>v.cancelOverlayInteraction),d=o?.type==="region-select",p=N.useCallback(v=>{l(v)},[l]),g=N.useCallback(()=>{u()},[u]);return N.useEffect(()=>(a&&UL(),()=>{BL()}),[a]),a?E.jsxs(E.Fragment,{children:[E.jsx(OL,{}),E.jsx(__,{}),E.jsx(d7,{}),E.jsx(CL,{}),E.jsx(LL,{active:d,onRegionSelected:p,onCancel:g})]}):null}const Ob="data-loc",HL=100;function qL(a,o){return`loc:${a}#${o}`}function YL(a){if(!a)return null;let o=a;if(o.startsWith("loc:")){o=o.slice(4);const l=o.lastIndexOf("#");l!==-1&&(o=o.slice(0,l))}return o||null}function GL(a,o){return o&&a.includes("node_modules")}class XL{observer=null;reconcileTimeout=null;knownElements=new Map;addedHandlers=new Set;removedHandlers=new Set;isRunning=!1;hideNodeModules=!0;options;constructor(o={}){this.options=o}setHideNodeModules(o){this.hideNodeModules=o,this.isRunning&&this.reconcile()}start(){if(typeof window>"u"&&!this.options.root||this.isRunning)return;this.isRunning=!0;const o=this.options.MutationObserverImpl??(typeof window<"u"?window.MutationObserver:void 0),l=this.options.root??(typeof document<"u"?document.body:void 0);o&&l&&(this.observer=new o(this.handleMutations.bind(this)),this.observer.observe(l,{childList:!0,subtree:!0})),this.reconcile()}stop(){this.isRunning=!1,this.observer&&(this.observer.disconnect(),this.observer=null),this.reconcileTimeout&&(clearTimeout(this.reconcileTimeout),this.reconcileTimeout=null),this.knownElements.clear()}onElementsAdded(o){return this.addedHandlers.add(o),()=>{this.addedHandlers.delete(o)}}onElementsRemoved(o){return this.removedHandlers.add(o),()=>{this.removedHandlers.delete(o)}}getElements(){return this.scanElements()}handleMutations(o){let l=!1;for(const u of o){for(const d of u.addedNodes)if(this.hasDataLocElements(d)){l=!0;break}if(l)break;for(const d of u.removedNodes)if(this.hasDataLocElements(d)){l=!0;break}if(l)break}l&&this.debouncedReconcile()}hasDataLocElements(o){return o instanceof Element?!!(o.hasAttribute(Ob)||o.querySelector(`[${Ob}]`)):!1}debouncedReconcile(){this.reconcileTimeout&&clearTimeout(this.reconcileTimeout),this.reconcileTimeout=setTimeout(()=>{this.reconcile(),this.reconcileTimeout=null},HL)}reconcile(){if(typeof window>"u")return;const o=this.scanElements(),l=new Map(o.map(v=>[v.id,v])),u=new Set(l.keys()),d=new Set(this.knownElements.keys()),p=[];for(const v of o)d.has(v.id)||p.push(v);const g=[];for(const v of d)u.has(v)||g.push(v);this.knownElements.clear();for(const v of o)this.knownElements.set(v.id,v.element);if(p.length>0)for(const v of this.addedHandlers)try{v(p)}catch(b){yn("[DOMObserverService] Error in added handler:",b)}if(g.length>0)for(const v of this.removedHandlers)try{v(g)}catch(b){yn("[DOMObserverService] Error in removed handler:",b)}}scanElements(){const o=this.options.querySelectorAll??(typeof document<"u"?document.querySelectorAll.bind(document):void 0);if(!o)return[];const l=[],u=new Map,d=o(`[${Ob}]`);for(const p of d){if(this.isInsideUILintUI(p))continue;const g=p.getAttribute(Ob),v=YL(g??"");if(!v||GL(v,this.hideNodeModules))continue;const b=(u.get(v)??0)+1;u.set(v,b);const S=qL(v,b);l.push({id:S,dataLoc:v,element:p,tagName:p.tagName.toLowerCase(),rect:p.getBoundingClientRect()})}return l}isInsideUILintUI(o){return o.closest("[data-ui-lint]")!==null}}const Lg=new XL,IL={target:Qj,link:jj,"external-link":db,"chevron-right":_h,"chevron-down":Dh,"chevron-up":xj,x:hb,check:YC,"alert-triangle":gl,"alert-circle":Ou,info:jr,"help-circle":Sj,eye:IC,camera:bj,crop:Rj,scan:Gj,search:_S,filter:$C,brain:yj,sparkles:Ij,code:Cj,file:Mj,"file-code":fb,folder:Dj,"git-branch":_j,copy:GC,clipboard:Ej,book:gj,"book-open":mj,bookmark:vj,play:Hj,pause:Vj,refresh:QC,trash:Fj,edit:$j,settings:zS,plus:qj,minus:Uj,loader:Nj,"check-circle":wj,"x-circle":DS,clock:Tj};function Uu(a){return IL[a]??jr}const UR=new Map;function $L(a,o){UR.set(a,o)}async function QL(a,o){const l=UR.get(a);return l?l(o):{success:!1,error:`Unknown browser action: ${a}`}}function Lh(a,o,l){return{getState:()=>a.getState().plugins?.[o],setState:u=>{a.setState(u)},dispatch:(u,d)=>{if(l&&l[u]){const p=Lh(a,o,l);return l[u](p,d)}},websocket:a.websocket,getCurrentRoute:()=>window.location.pathname,requestBrowserAction:async(u,d)=>QL(u,d),registerBrowserAction:(u,d)=>{$L(u,d)},openInEditor:u=>{const[d,p]=u.split(":"),g=`vscode://file/${d}:${p}`;window.open(g,"_self")},setHeatmapFilter:(u,d)=>{a.getState().setHeatmapFilter?.(u,d)},clearHeatmapFilter:()=>{a.getState().clearHeatmapFilter?.()},openInspector:(u,d)=>{a.openInspector(u,{...d})},closeInspector:()=>{a.closeInspector()},requestOverlayInteraction:(u,d)=>new Promise((p,g)=>{const v=a.getState();if(!v.startOverlayInteraction){g(new Error("Overlay interactions not supported by host"));return}v.startOverlayInteraction({type:u,pluginId:o,onComplete:p,onCancel:()=>g(new Error("Overlay interaction cancelled"))})})}}function jb(a,o){if(!a)return!0;if(Vy(a)){const l=a.binding.split(".");let u=o;for(const d of l)if(u&&typeof u=="object")u=u[d];else return!1;return!!u}if(pT(a)){const l=a.expression,u=l.match(/^(\w+(?:\.\w+)*)\s*===?\s*(.+)$/);if(u){const[,p,g]=u;let v=o;for(const S of p.split("."))if(v&&typeof v=="object")v=v[S];else{v=void 0;break}const b=g.trim();return b==="true"?v===!0:b==="false"?v===!1:b==="null"?v===null:b==="0"?v===0:b.startsWith('"')&&b.endsWith('"')?v===b.slice(1,-1):String(v)===b}const d=l.match(/^(\w+(?:\.\w+)*)\.length\s*===?\s*(\d+)$/);if(d){const[,p,g]=d;let v=o;for(const b of p.split("."))if(v&&typeof v=="object")v=v[b];else{v=void 0;break}return Array.isArray(v)||typeof v=="string"||v instanceof Map?(v instanceof Map?v.size:v.length)===parseInt(g,10):!1}return!1}return!0}function ZL(a,o,l){return{id:a.id,title:a.title,keywords:a.keywords,category:a.category,subtitle:a.subtitle,icon:a.icon?ft.createElement(Uu(a.icon),{size:16}):void 0,shortcut:a.shortcut,hideFromAllCategory:a.hideFromAllCategory,isAvailable:a.isAvailable?u=>{const d=u?.plugins?.[o];return jb(a.isAvailable,d)}:void 0,execute:u=>{const d=Lh(u,o,l);return h2(a.action,d,l)}}}function FL(a,o,l){return{id:a.id,icon:ft.createElement(Uu(a.icon),{size:16}),tooltip:a.tooltip,isVisible:a.isVisible?u=>{const d=u?.plugins?.[o];return jb(a.isVisible,d)}:void 0,isEnabled:a.isEnabled?u=>{const d=u?.plugins?.[o];return jb(a.isEnabled,d)}:void 0,onClick:u=>{const d=Lh(u,o,l);return h2(a.action,d,l)}}}function PL(a,o,l){return{id:a.id,icon:ft.createElement(Uu(a.icon),{size:16}),tooltip:a.tooltip,priority:a.priority,isVisible:a.isVisible?u=>{const d=u?.plugins?.[o];return jb(a.isVisible,d)}:void 0,actions:a.actions.map(u=>FL(u,o,l))}}function h2(a,o,l){if(!l||!l[a.type]){console.warn(`No handler found for action: ${a.type}`);return}const u=a.payload?{...a.payload}:{};if(a.payloadBindings){const d=o.getState();for(const[p,g]of Object.entries(a.payloadBindings)){const v=g.split(".");let b=d;for(const S of v)if(b&&typeof b=="object")b=b[S];else{b=void 0;break}u[p]=b}}return l[a.type](o,u)}function KL(a){const o=a.id,l=a.actions;return{id:a.id,name:a.name,version:a.version,description:a.description,icon:a.icon?ft.createElement(Uu(a.icon),{size:16}):void 0,dependencies:a.dependencies,createSlice:d=>{const p=a.state.initialState,g={...p};for(const v of Object.keys(p)){const b=`set${v.charAt(0).toUpperCase()}${v.slice(1)}`;g[b]=S=>{d.setState({[v]:S})}}return g},commands:a.commands?.map(d=>ZL(d,o,l)),toolbarActionGroups:a.toolbarGroups?.map(d=>PL(d,o,l)),inspectorPanels:a.panels?.map(d=>({id:d.id,title:typeof d.title=="string"?d.title:d.title.binding,priority:d.priority,component:ft.lazy(()=>Promise.resolve().then(()=>iB).then(p=>({default:g=>{const b=g.services.getState().plugins?.[o]??{},S=(C,k)=>{const M=Lh(g.services,o,l);h2({type:C,payload:k},M,l)},T=p.SchemaPanel;return ft.createElement(T,{panel:d,data:g.data||{},state:b,onAction:S})}})))})),ruleContributions:a.rules?.filter(d=>d.contentRenderer||d.heatmapColor).map(d=>({ruleId:d.id,contentRenderer:d.contentRenderer,heatmapColor:d.heatmapColor})),handlesRules:a.handlesRuleCategories?d=>!!(d.category&&a.handlesRuleCategories?.includes(d.category)):void 0,getIssues:a.getIssues?d=>{const p=a.getIssues(d);return{pluginId:p.pluginId,issues:p.issues}}:void 0,initialize:d=>{const p=Lh(d,o,l),g=[];if(a.messageHandlers){for(const[b,S]of Object.entries(a.messageHandlers)){const T=d.websocket.on(b,C=>{S(p,C)});g.push(T)}const v=d.websocket.onConnectionChange(b=>{b&&a.onLoad&&a.onLoad(p)});g.push(v)}if(a.onLoad&&a.onLoad(p),g.length>0)return()=>{g.forEach(v=>v())}},dispose:a.onUnload?d=>{const p=Lh(d,o,l);return a.onUnload(p)}:void 0}}const JL=[{id:"eslint",name:"ESLint Analysis",load:()=>Promise.resolve().then(()=>kU),enabled:!0}],WL=[];async function eU(a){try{return(await a.load()).default}catch(o){return yn(`Failed to load plugin "${a.id}":`,o),null}}async function tU(){const a=WL.map(async u=>{try{await u()}catch(d){Ft("Failed to import external plugin:",d)}});await Promise.all(a);const o=zD.getAll();Ye(`[Loader] Found ${o.length} plugins in core registry`);const l=[];for(const u of o)try{const d=KL(u);l.push(d),Ye(`[Loader] Adapted plugin: ${u.id}`)}catch(d){yn(`[Loader] Failed to adapt plugin "${u.id}":`,d)}return l}async function nU(a=JL,o){const l=[],u=await tU();l.push(...u);const d=a.filter(b=>b.enabled);d.length+u.length;const p=d.map(async(b,S)=>await eU(b)),v=(await Promise.all(p)).filter(b=>b?b.id?!0:(Ft("Plugin missing id, skipping:",b),!1):!1);return l.push(...v),dw(l)}const p2=[{id:"eslint:toggle-scan",title:"Toggle ESLint Scan",keywords:["eslint","scan","toggle","enable","disable","start","stop"],category:"eslint",subtitle:"Enable or disable real-time ESLint analysis",icon:void 0,hideFromAllCategory:!0,execute:a=>{const l=a.getState().plugins.eslint;if(!l){Ft("[ESLint Command] ESLint plugin slice not found");return}l.scanStatus==="scanning"?l.stopScanning():l.startScanning(),a.closeCommandPalette()},isAvailable:a=>a.wsConnected===!0},{id:"eslint:start-scan",title:"Start ESLint Scan",keywords:["eslint","scan","start","analyze","lint","check"],category:"eslint",subtitle:"Scan all elements on the current page",hideFromAllCategory:!0,execute:a=>{const l=a.getState().plugins.eslint;if(!l){Ft("[ESLint Command] ESLint plugin slice not found");return}l.scanStatus!=="scanning"&&l.startScanning(),a.closeCommandPalette()},isAvailable:a=>{const o=a;return o.wsConnected===!0&&o.plugins?.eslint?.scanStatus!=="scanning"}},{id:"eslint:stop-scan",title:"Stop ESLint Scan",keywords:["eslint","scan","stop","disable","off"],category:"eslint",subtitle:"Stop scanning and clear results",hideFromAllCategory:!0,execute:a=>{const l=a.getState().plugins.eslint;if(!l){Ft("[ESLint Command] ESLint plugin slice not found");return}l.stopScanning(),a.closeCommandPalette()},isAvailable:a=>a.plugins?.eslint?.scanStatus==="scanning"},{id:"eslint:open-fixes",title:"Fix All Issues",keywords:["eslint","fix","fixes","autofix","repair","issues"],category:"eslint",subtitle:"Open the fixes inspector panel",hideFromAllCategory:!0,execute:a=>{a.openInspector("fixes",{}),a.closeCommandPalette()},isAvailable:a=>{const l=a.plugins?.eslint;return l?.scanStatus!=="scanning"||!l?.issues?!1:l.issues.size>0}},{id:"eslint:clear-rescan",title:"Clear & Rescan",keywords:["eslint","cache","clear","refresh","reset","rescan"],category:"eslint",subtitle:"Clear cached results and re-scan all files",hideFromAllCategory:!0,execute:a=>{const l=a.getState().plugins.eslint;if(!l){Ft("[ESLint Command] ESLint plugin slice not found");return}l.clearIssues(),l.startScanning(),a.closeCommandPalette()},isAvailable:a=>a.wsConnected===!0}];function aU(a){return a==="scanning"}const BR={issues:new Map,scannedDataLocs:new Set,requestedFiles:new Set,scanStatus:"scanning",lintingFiles:new Map,availableRules:[],disabledRules:new Set,workspaceRoot:null,ruleConfigs:new Map,ruleConfigUpdating:new Map,workspaceCapabilities:null};function VR(a){return{...BR}}function HR(a,o,l){return{startScanning:()=>{l({scanStatus:"scanning"})},stopScanning:()=>{l({scanStatus:"idle",issues:new Map,scannedDataLocs:new Set,requestedFiles:new Set})},setIssues:(u,d)=>{const p=o(),g=new Map(p.issues);d.length>0?g.set(u,d):g.delete(u),l({issues:g})},clearIssues:()=>{l({issues:new Map,scannedDataLocs:new Set,requestedFiles:new Set})},toggleRule:u=>{const d=o(),p=new Set(d.disabledRules);p.has(u)?p.delete(u):p.add(u),l({disabledRules:p})},setAvailableRules:u=>{l({availableRules:u})},setWorkspaceRoot:u=>{l({workspaceRoot:u})},markScanned:u=>{const d=o(),p=new Set(d.scannedDataLocs);p.add(u),l({scannedDataLocs:p})},markFileRequested:u=>{const d=o(),p=new Set(d.requestedFiles);p.add(u),l({requestedFiles:p})},setScanStatus:u=>{l({scanStatus:u})}}}function iU(a,o){return o.size===0?a:a.filter(l=>!o.has(l.ruleId))}function oU(a){if(!a)return null;const o=a.lastIndexOf(":");if(o===-1)return null;const l=a.lastIndexOf(":",o-1);if(l===-1)return null;const u=a.substring(0,l);return u||null}function qR(a){const o=new Set;for(const l of a){const u=oU(l);u&&o.add(u)}return o}function rU({value:a,onChange:o,disabled:l}){const u=[{value:"error",label:"E",color:"var(--uilint-error, oklch(0.72 0.17 25))"},{value:"warning",label:"W",color:"var(--uilint-warning, oklch(0.82 0.165 80))"},{value:"off",label:"Off",color:"#6b7280"}];return E.jsx("div",{style:{display:"flex",gap:4},children:u.map(d=>E.jsx("button",{onClick:()=>o(d.value),disabled:l,style:{padding:"4px 8px",fontSize:12,fontWeight:500,border:"none",borderRadius:4,cursor:l?"not-allowed":"pointer",background:a===d.value?d.color:"var(--uilint-surface-elevated)",color:a===d.value?"white":"var(--uilint-text-disabled)",opacity:l?.5:1},children:d.label},d.value))})}function lU({data:a}){const o=a?.ruleId,l=we(b=>{const S=b.plugins?.eslint;return!S?.availableRules||!o?null:S.availableRules.find(T=>T.id===o)}),u=we(b=>{const S=b.plugins?.eslint;return S?.ruleConfigs?S.ruleConfigs.get(o||""):null}),d=we(b=>{const S=b.plugins?.eslint;return S?.ruleConfigUpdating?S.ruleConfigUpdating.get(o||"")??!1:!1}),p=we(b=>{const S=b.plugins?.eslint;if(!S?.issues)return 0;let T=0;return S.issues.forEach(C=>{T+=C.filter(k=>k.ruleId===o).length}),T}),g=N.useCallback(b=>{o&&Yn.setRuleSeverity(o,b)},[o]);if(!o)return E.jsx("div",{style:{padding:16,color:"var(--uilint-text-muted)",textAlign:"center"},children:"No rule selected"});if(!l)return E.jsxs("div",{style:{padding:16,color:"var(--uilint-text-muted)",textAlign:"center"},children:["Rule not found: ",o]});const v=u?.severity?u.severity==="warn"?"warning":u.severity:l.currentSeverity==="warn"?"warning":l.currentSeverity??"off";return E.jsxs("div",{style:{padding:16},children:[E.jsxs("div",{style:{marginBottom:16},children:[E.jsx("div",{style:{fontSize:16,fontWeight:600,color:"var(--uilint-text-primary)",marginBottom:4},children:l.name}),E.jsx("div",{style:{fontSize:12,color:"var(--uilint-text-muted)",fontFamily:"monospace"},children:l.id})]}),E.jsx("div",{style:{fontSize:14,color:"var(--uilint-text-secondary)",marginBottom:16,lineHeight:1.5},children:l.description}),E.jsxs("div",{style:{display:"flex",gap:8,marginBottom:16},children:[E.jsx("span",{style:{fontSize:11,fontWeight:500,textTransform:"uppercase",background:l.category!=="static"?"rgba(59, 130, 246, 0.1)":"var(--uilint-surface-elevated)",color:l.category!=="static"?"var(--uilint-accent)":"var(--uilint-text-muted)",padding:"2px 6px",borderRadius:4},children:l.category}),p>0&&E.jsxs("span",{style:{fontSize:11,fontWeight:500,background:"rgba(239, 68, 68, 0.1)",color:"#dc2626",padding:"2px 6px",borderRadius:4},children:[p," issue",p!==1?"s":""]})]}),E.jsxs("div",{style:{marginBottom:16},children:[E.jsx("div",{style:{fontSize:12,fontWeight:500,color:"var(--uilint-text-muted)",marginBottom:8},children:"Severity"}),E.jsx(rU,{value:v,onChange:g,disabled:d}),d&&E.jsx("div",{style:{fontSize:11,color:"var(--uilint-text-muted)",marginTop:4},children:"Updating..."})]}),l.docs&&E.jsx("div",{style:{marginTop:16},children:E.jsx("a",{href:l.docs,target:"_blank",rel:"noopener noreferrer",style:{fontSize:12,color:"var(--uilint-accent)",textDecoration:"none"},children:"View documentation"})})]})}function Cd(a){const o={error:0,warning:0,info:0};for(const l of a)l.severity==="error"?o.error++:l.severity==="warning"?o.warning++:l.severity==="info"&&o.info++;return o}function sU(a,o=[]){const l=new Map;for(const p of a){const g=p.ruleId,v=l.get(g)||[];l.set(g,[...v,p])}const u=new Map;for(const p of o)u.set(p.id,p);const d=[];for(const[p,g]of l){const v=u.get(p),b=Cd(g),S=p.includes("/")?p.split("/").pop():p;d.push({id:`rule:${p}`,label:v?.name||S,subtitle:v?.description||p,count:g.length,severityCounts:b,metadata:{isRule:!0,ruleId:p,tileType:"rule",category:v?.category,currentSeverity:v?.currentSeverity,defaultSeverity:v?.defaultSeverity,currentOptions:v?.currentOptions,optionSchema:v?.optionSchema}})}return d.sort((p,g)=>{const v=p.severityCounts?.error??0,b=g.severityCounts?.error??0;return v!==b?b-v:g.count-p.count}),d}function YR(a,o){const l=a.filter(p=>p.ruleId===o),u=new Map;for(const p of l){const g=p.filePath,v=u.get(g)||[];u.set(g,[...v,p])}const d=[];for(const[p,g]of u){const v=Cd(g),S=p.split("/").pop()||p;d.push({id:`file:${p}:${o}`,label:S,subtitle:p,count:g.length,severityCounts:v,metadata:{isFile:!0,filePath:p,ruleId:o,tileType:"file"}})}return d.sort((p,g)=>{const v=p.severityCounts?.error??0,b=g.severityCounts?.error??0;return v!==b?b-v:g.count-p.count}),d}function uU(a){const o=new Map;for(const u of a){const d=u.filePath,p=o.get(d)||[];o.set(d,[...p,u])}const l=[];for(const[u,d]of o){const p=Cd(d),v=u.split("/").pop()||u,b=new Set(d.map(S=>S.ruleId));l.push({id:`file:${u}`,label:v,subtitle:u,count:d.length,severityCounts:p,metadata:{isFile:!0,filePath:u,tileType:"file",ruleCount:b.size,issues:d}})}return l.sort((u,d)=>{const p=u.severityCounts?.error??0,g=d.severityCounts?.error??0;return p!==g?g-p:d.count-u.count}),l}function cU(a,o=[]){if(a.length===0)return[];const l=dU(a,o),u=uU(a),d=[...l,...u];return d.sort((p,g)=>{const v=p.severityCounts?.error??0,b=g.severityCounts?.error??0;return v!==b?b-v:g.count-p.count}),d}function dU(a,o=[]){const l=new Map;for(const p of a){const g=p.ruleId,v=l.get(g)||[];l.set(g,[...v,p])}const u=new Map;for(const p of o)u.set(p.id,p);const d=[];for(const[p,g]of l){const v=u.get(p),b=Cd(g),S=p.includes("/")?p.split("/").pop():p,T=new Set(g.map(C=>C.filePath));d.push({id:`rule:${p}`,label:v?.name||S,subtitle:v?.description||p,count:g.length,severityCounts:b,fileCount:T.size,metadata:{isRule:!0,ruleId:p,tileType:"rule",issues:g,category:v?.category,currentSeverity:v?.currentSeverity,defaultSeverity:v?.defaultSeverity,currentOptions:v?.currentOptions,optionSchema:v?.optionSchema}})}return d}function Ug(a){const l=a.getState()?.plugins?.eslint;if(!l?.issues)return[];const u=l.disabledRules??new Set,d=[];for(const p of l.issues.values())for(const g of p)u.has(g.ruleId)||d.push(g);return d}function m2(a){return a.getState()?.plugins?.eslint?.availableRules??[]}function GR(a,o){const l=Ug(a);if(l.length===0)return[];const u=m2(a);return cU(l,u)}function XR(a){const o=a.metadata??{};if(o.isRule)return{type:"rule",id:o.ruleId,label:a.label,providerId:"eslint"};if(o.isFile){const l=o.filePath,u=l.split("/").pop()||l;return{type:"file",id:l,label:u,providerId:"eslint"}}return{type:"scope",id:a.id,label:a.label,providerId:"eslint"}}function IR(a){const o=a.some(u=>u.type==="rule"),l=a.some(u=>u.type==="file");return o&&l}function $R(a){const o=a.metadata??{};return o.isRule?{panelId:"eslint-rule",data:{ruleId:o.ruleId}}:o.isFile?{panelId:"eslint-rule",data:{ruleId:o.ruleId,filePath:o.filePath}}:o.isIssue?{panelId:"eslint-rule",data:{ruleId:o.ruleId,filePath:o.filePath,issueId:o.issueId,line:o.line}}:{panelId:"eslint-rule",data:{}}}function fU(a,o,l){let u=a.filter(d=>d.filePath===o);return l&&(u=u.filter(d=>d.ruleId===l)),u.sort((d,p)=>d.line-p.line),u.map(d=>({id:`issue:${d.id}`,label:d.message,subtitle:`Line ${d.line}${d.column?`:${d.column}`:""}`,count:1,severityCounts:{error:d.severity==="error"?1:0,warning:d.severity==="warning"?1:0,info:d.severity==="info"?1:0},metadata:{isIssue:!0,issueId:d.id,ruleId:d.ruleId,filePath:d.filePath,line:d.line,column:d.column,severity:d.severity,issue:d}}))}function hU(a,o){const l=a.metadata??{},u=Ug(o);if(u.length!==0){if(l.isRule){const d=l.ruleId;return YR(u,d)}if(l.isFile){const d=l.filePath,p=l.ruleId;return fU(u,d,p)}l.isIssue}}function pU(a){const o=a.metadata??{};return!!(o.isRule||o.isFile)}function QR(){return E.jsx(_h,{size:12,className:"text-muted-foreground/30 flex-shrink-0 mx-1"})}function g2({children:a,onClick:o,isActive:l=!1,icon:u}){const d=!!o&&!l;return E.jsxs(Ze.button,{onClick:d?o:void 0,disabled:!d,className:xe("flex items-center gap-1 px-1.5 py-0.5 rounded text-xs","transition-colors duration-100",d&&"hover:bg-foreground/[0.05] cursor-pointer",l?"text-foreground/80 font-medium":"text-muted-foreground/60",!d&&!l&&"cursor-default"),whileHover:d?{scale:1.02}:void 0,whileTap:d?{scale:.98}:void 0,children:[u,E.jsx("span",{className:"truncate max-w-[120px]",children:a})]})}function mU({expandedRuleName:a,expandedFileName:o,onCollapseToRoot:l,onCollapseFile:u,variant:d="standalone",className:p}){return a?E.jsxs(Ze.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},className:xe("flex items-center px-4 py-2",d!=="embedded"&&"border-b border-foreground/[0.04] bg-foreground/[0.01]",p),children:[E.jsx(g2,{onClick:l,icon:E.jsx(zj,{size:11,className:"opacity-50"}),children:"All Rules"}),E.jsx(QR,{}),E.jsx(g2,{onClick:o?u:void 0,isActive:!o,children:a}),o&&E.jsxs(E.Fragment,{children:[E.jsx(QR,{}),E.jsx(g2,{isActive:!0,children:o})]})]}):null}function gU({severity:a}){switch(a){case"error":return E.jsx(Ou,{size:13,className:"text-error flex-shrink-0"});case"warning":return E.jsx(gl,{size:13,className:"text-warning flex-shrink-0"});case"info":return E.jsx(jr,{size:13,className:"text-info flex-shrink-0"})}}function vU({severity:a}){const o=a==="error"?"text-error bg-error/10":a==="warning"?"text-warning bg-warning/10":"text-info bg-info/10";return E.jsx("span",{className:xe("inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium",o),children:a})}function yU(a,o,l){const u=[],d=a?.category;d&&d!=="static"&&u.push({label:d,accent:!0});const p=a?.defaultSeverity;p&&o!==p&&u.push({label:o});const g=a?.optionSchema,v=a?.defaultOptions,b=Array.isArray(v)?v[0]??{}:{};if(l&&g?.fields)for(const S of g.fields){const T=l[S.key];if(T!==void 0&&T!==b[S.key]){const C=typeof T=="boolean"?`${S.label}: ${T?"on":"off"}`:`${S.label}: ${String(T)}`;if(u.push({label:C}),u.length>=3)break}}return u}function bU({ruleId:a,currentSeverity:o,ruleMeta:l,currentOptions:u,defaultOptions:d,onSeverityChange:p,onOptionChange:g,onResetOptions:v,isUpdating:b}){const[S,T]=N.useState(!1),C=N.useMemo(()=>yU(l,o,u),[l,o,u]),k=[{value:"off",label:"Off",dot:"bg-muted-foreground/30"},{value:"warn",label:"Warn",dot:"bg-warning/70"},{value:"error",label:"Error",dot:"bg-error/70"}];return E.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-foreground/[0.06]",children:[E.jsx("div",{className:"flex items-center gap-0.5 p-0.5 bg-foreground/[0.02] rounded-md border border-foreground/[0.04]",children:k.map(M=>E.jsxs("button",{type:"button",onClick:()=>p(M.value),className:xe("flex items-center gap-1 px-1.5 py-0.5 rounded","text-[10px] transition-colors duration-100",o===M.value?"bg-foreground/[0.08] text-foreground font-medium":"text-foreground/50 hover:bg-foreground/[0.04] hover:text-foreground/70"),children:[E.jsx("span",{className:xe("w-1.5 h-1.5 rounded-full flex-shrink-0",M.dot)}),M.label]},M.value))}),C.map(M=>E.jsx("span",{className:xe("rounded-full px-2 py-0.5 text-[10px] leading-tight","border border-foreground/[0.06]",M.accent?"text-info bg-info-bg":"text-muted-foreground/60 bg-foreground/[0.02]"),children:M.label},M.label)),E.jsx("div",{className:"flex-1"}),E.jsx("div",{onKeyDown:M=>{M.key==="Escape"&&S&&M.stopPropagation()},children:E.jsx(Xk,{open:S,onClose:()=>T(!1),placement:"bottom",align:"end",width:320,trigger:E.jsxs("button",{type:"button",onClick:()=>T(!S),className:xe("inline-flex items-center gap-1.5","px-2 py-1 rounded","text-[11px] text-muted-foreground/60 hover:text-foreground/80","hover:bg-foreground/[0.04]","transition-colors duration-100",S&&"bg-foreground/[0.04] text-foreground/80"),children:[E.jsx(zS,{size:12}),"Configure"]}),children:E.jsx("div",{className:"p-1",children:E.jsx(Pk,{ruleId:a,currentSeverity:o,onSeverityChange:p,optionSchema:l?.optionSchema,currentOptions:u,defaultOptions:d,onOptionChange:g,onResetOptions:v,isUpdating:b})})})})]})}function xU({filePath:a,issues:o,defaultExpanded:l,onIssueClick:u}){const[d,p]=N.useState(l),g=a.split("/").pop()||a,v=N.useMemo(()=>[...o].sort((b,S)=>b.line-S.line),[o]);return E.jsxs("div",{className:"border-b border-foreground/[0.04] last:border-b-0",children:[E.jsxs("button",{onClick:()=>p(!d),className:xe("w-full flex items-center gap-2 px-3 py-2","text-left hover:bg-foreground/[0.03] transition-colors duration-100"),children:[d?E.jsx(Dh,{size:12,className:"text-muted-foreground/50 flex-shrink-0"}):E.jsx(_h,{size:12,className:"text-muted-foreground/50 flex-shrink-0"}),E.jsx(fb,{size:13,className:"text-muted-foreground/60 flex-shrink-0"}),E.jsx("span",{className:"text-xs font-medium text-foreground/80 truncate flex-1",children:g}),E.jsx("span",{className:"text-[10px] text-muted-foreground/50 tabular-nums flex-shrink-0",children:o.length})]}),d&&E.jsx(Ze.div,{initial:!1,animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.1},children:v.map(b=>E.jsxs("button",{type:"button",onClick:()=>u(a,b.id),className:xe("w-full flex items-center gap-2 pl-8 pr-3 py-1.5","border-t border-foreground/[0.02]","text-left hover:bg-foreground/[0.03] transition-colors duration-100","cursor-pointer"),children:[E.jsx(gU,{severity:b.severity}),E.jsx("span",{className:"text-[11px] font-mono text-muted-foreground/50 tabular-nums w-7 flex-shrink-0",children:b.line}),E.jsx("span",{className:"text-[11px] text-foreground/60 truncate",children:b.message})]},b.id))})]})}function wU({ruleId:a,services:o}){const l=Ug(o),u=m2(o),[d,p]=N.useState(null),[g,v]=N.useState(null),[b,S]=N.useState(null);N.useEffect(()=>{p(null),v(null),S(null)},[a]);const T=N.useMemo(()=>u.find(ie=>ie.id===a),[u,a]),C=N.useMemo(()=>l.filter(ie=>ie.ruleId===a),[l,a]),k=N.useMemo(()=>Yn.getRuleContribution(a)?.contentRenderer??null,[a]),M=N.useMemo(()=>{const ie=new Map;for(const L of C){const P=ie.get(L.filePath)||[];ie.set(L.filePath,[...P,L])}return Array.from(ie.entries()).sort(([,L],[,P])=>P.length-L.length)},[C]),j=N.useMemo(()=>d?C.filter(ie=>ie.filePath===d):[],[C,d]),V=we(ie=>ie.plugins?.eslint?.ruleConfigs?.get(a)),B=we(ie=>ie.plugins?.eslint?.ruleConfigUpdating?.get(a)??!1),F=N.useMemo(()=>V?.severity??T?.defaultSeverity??"warn",[V?.severity,T?.defaultSeverity]),te=N.useMemo(()=>T?.defaultOptions?Array.isArray(T.defaultOptions)?T.defaultOptions[0]??{}:T.defaultOptions??{}:{},[T?.defaultOptions]),K=we(ie=>ie.ignoredIssueIds),he=we(ie=>ie.showIgnoredIssues),ye=we(ie=>ie.addIgnoredIssue),fe=we(ie=>ie.removeIgnoredIssue),re=N.useCallback(ie=>{K.has(ie)?fe(ie):ye(ie)},[K,ye,fe]),Q=N.useCallback(ie=>{const L=ie==="warn"?"warning":ie;Yn.setRuleSeverity(a,L)},[a]),ke=N.useCallback((ie,L)=>{const J={...V?.options??{},[ie]:L};Yn.setRuleConfig(a,J)},[a,V?.options]),Ae=N.useCallback(()=>{if(!T?.defaultOptions)return;const ie=Array.isArray(T.defaultOptions)?T.defaultOptions[0]??{}:T.defaultOptions??{};Yn.setRuleConfig(a,ie)},[a,T?.defaultOptions]),Ke=N.useCallback((ie,L)=>{p(ie),v(L)},[]),Re=N.useCallback(()=>{p(null),v(null)},[]),Qe=a.includes("/")?a.split("/").pop():a,We=C.some(ie=>ie.severity==="error")?"error":C.some(ie=>ie.severity==="warning")?"warning":"info";if(d){const ie=d.split("/").pop()||d;return E.jsxs("div",{className:"flex flex-col h-full",children:[E.jsx(mU,{expandedRuleName:T?.name||Qe,expandedFileName:ie,onCollapseToRoot:Re,onCollapseFile:Re,variant:"embedded"}),E.jsx("div",{className:"flex-1 overflow-y-auto",children:j.length>0?E.jsx(e2,{filePath:d,issues:j,contextLines:2,selectedIssueId:g,onIssueSelect:v}):E.jsx("div",{className:"flex items-center justify-center py-12 text-xs text-muted-foreground/50",children:"No issues in this file"})})]})}return E.jsxs("div",{className:"flex flex-col h-full",children:[E.jsxs("div",{className:"px-4 pt-4 pb-3 border-b border-foreground/[0.06]",children:[E.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[E.jsx("h3",{className:"text-sm font-semibold text-foreground/90 truncate",children:T?.name||Qe}),C.length>0&&E.jsx(vU,{severity:We})]}),T?.description&&E.jsx("p",{className:"text-xs text-muted-foreground/70 leading-relaxed line-clamp-2",children:T.description}),E.jsxs("div",{className:"flex items-center gap-3 mt-2 text-[10px] text-muted-foreground/50",children:[E.jsxs("span",{className:"tabular-nums",children:[C.length," issue",C.length!==1?"s":""]}),E.jsxs("span",{className:"tabular-nums",children:[M.length," file",M.length!==1?"s":""]})]})]}),E.jsx(bU,{ruleId:a,currentSeverity:F,ruleMeta:T,currentOptions:V?.options,defaultOptions:te,onSeverityChange:Q,onOptionChange:ke,onResetOptions:Ae,isUpdating:B}),E.jsx("div",{className:"flex-1 overflow-y-auto",children:k==="duplicate-comparison"?C.length>0?E.jsx(uR,{issues:C,selectedIssueId:b,onIssueClick:ie=>S(ie.id),ignoredIssueIds:K,onIgnore:re,showIgnored:he}):E.jsx("div",{className:"flex items-center justify-center py-12 text-xs text-muted-foreground/50",children:"No duplicates found for this rule"}):M.length>0?M.map(([ie,L],P)=>E.jsx(xU,{filePath:ie,issues:L,defaultExpanded:P<3,onIssueClick:Ke},ie)):E.jsx("div",{className:"flex items-center justify-center py-12 text-xs text-muted-foreground/50",children:"No issues found for this rule"})})]})}function SU({filePath:a,services:o}){const[l,u]=N.useState(null),d=Ug(o),p=N.useMemo(()=>d.filter(C=>C.filePath===a),[d,a]),g=N.useCallback(C=>{u(C)},[]),v=a.split("/").pop()||a,b=p.filter(C=>C.severity==="error").length,S=p.filter(C=>C.severity==="warning").length,T=p.filter(C=>C.severity==="info").length;return E.jsxs("div",{className:"flex flex-col h-full",children:[E.jsxs("div",{className:"px-4 pt-4 pb-3 border-b border-foreground/[0.06]",children:[E.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[E.jsx(fb,{size:14,className:"text-muted-foreground/60 flex-shrink-0"}),E.jsx("h3",{className:"text-sm font-semibold text-foreground/90 truncate",children:v})]}),E.jsx("p",{className:"text-[11px] text-muted-foreground/50 truncate mb-2",children:a}),E.jsxs("div",{className:"flex items-center gap-3 text-[10px]",children:[b>0&&E.jsxs("span",{className:"flex items-center gap-1 text-error/80",children:[E.jsx(Ou,{size:10}),E.jsx("span",{className:"tabular-nums",children:b})]}),S>0&&E.jsxs("span",{className:"flex items-center gap-1 text-warning/80",children:[E.jsx(gl,{size:10}),E.jsx("span",{className:"tabular-nums",children:S})]}),T>0&&E.jsxs("span",{className:"flex items-center gap-1 text-info/80",children:[E.jsx(jr,{size:10}),E.jsx("span",{className:"tabular-nums",children:T})]})]})]}),E.jsx("div",{className:"flex-1 overflow-y-auto",children:p.length>0?E.jsx(e2,{filePath:a,issues:p,contextLines:2,selectedIssueId:l,onIssueSelect:g}):E.jsx("div",{className:"flex items-center justify-center py-12 text-xs text-muted-foreground/50",children:"No issues in this file"})})]})}function EU(a){const o=Ug(a),l=m2(a),u=[],d=new Map;for(const v of o){const b=d.get(v.ruleId)||[];d.set(v.ruleId,[...b,v])}const p=new Map(l.map(v=>[v.id,v]));for(const[v,b]of d){const S=p.get(v),T=v.includes("/")?v.split("/").pop():v,C=new Set(b.map(k=>k.filePath));u.push({id:`rule:${v}`,section:"rules",label:S?.name||T,subtitle:S?.description||v,severityCounts:Cd(b),count:b.length,fileCount:C.size,searchFields:{label:S?.name||T,subtitle:S?.description,keywords:[v,T,S?.category||""].filter(Boolean),extra:b.slice(0,20).map(k=>k.message)},metadata:{ruleId:v,tileType:"rule"}})}for(const v of l){if(d.has(v.id))continue;const b=v.id.includes("/")?v.id.split("/").pop():v.id;u.push({id:`rule:${v.id}`,section:"rules",label:v.name||b,subtitle:v.description||v.id,severityCounts:{error:0,warning:0,info:0},count:0,fileCount:0,searchFields:{label:v.name||b,subtitle:v.description,keywords:[v.id,b,v.category||""].filter(Boolean)},metadata:{ruleId:v.id,tileType:"rule"}})}const g=new Map;for(const v of o){const b=g.get(v.filePath)||[];g.set(v.filePath,[...b,v])}for(const[v,b]of g){const S=v.split("/").pop()||v,T=new Set(b.map(C=>C.ruleId));u.push({id:`file:${v}`,section:"files",label:S,subtitle:v,severityCounts:Cd(b),count:b.length,fileCount:T.size,searchFields:{label:S,subtitle:v,keywords:Array.from(T),extra:b.slice(0,20).map(C=>C.message)},metadata:{filePath:v,tileType:"file"}})}return u.sort((v,b)=>{const S=v.severityCounts?.error??0,T=b.severityCounts?.error??0;return S!==T?T-S:(b.count??0)-(v.count??0)}),u}function TU(a,o){const l=a.metadata?.tileType;if(l==="rule"){const u=a.metadata?.ruleId;return{element:N.createElement(wU,{ruleId:u,services:o})}}if(l==="file"){const u=a.metadata?.filePath;return{element:N.createElement(SU,{filePath:u,services:o})}}return null}const AU={eslint:{onPageLoad:!1,onFileChange:!0},vision:{onRouteChange:!1,onInitialLoad:!1}},ZR=["lint:result","lint:progress","file:changed","workspace:info","workspace:capabilities","rules:metadata","rule:config:result","rule:config:changed"],v2={id:"eslint",name:"ESLint Analysis",version:"1.0.0",description:"Real-time ESLint analysis with heatmap visualization",ruleCategories:["static"],meta:{id:"eslint",name:"ESLint Analysis",version:"1.0.0",description:"Real-time ESLint analysis with heatmap visualization"},createSlice:a=>{const o=VR();let l=o;const p=HR(a,()=>l,g=>{l={...l,...g},a.setState(g)});return{...o,...p}},commands:p2,inspectorPanels:[{id:"eslint-rule",title:({data:a})=>a?.ruleId?`Rule: ${a.ruleId}`:"Rule Details",component:lU,priority:10}],tileProvider:{getTileItems:GR,createFilter:XR,isTerminal:IR,getInspectorData:$R,getChildItems:hU,canExpand:pU},getSearchItems:EU,getPreviewPanel:TU,handlesRules:a=>a.id.startsWith("uilint/")||a.category==="static"?!0:(a.id==="uilint/semantic-vision",!1),getIssues:a=>{const o=a,l=new Map;return o.issues.forEach((u,d)=>{const p=u.map(g=>({id:g.id,message:g.message,severity:g.severity,dataLoc:g.dataLoc,line:g.line,column:g.column,ruleId:g.ruleId}));p.length>0&&l.set(d,p)}),{pluginId:"eslint",issues:l}},getPaletteItems:a=>{const o=[],l=a.getState(),u=l?.plugins?.eslint;if(u?.issues)for(const[,d]of u.issues)for(const p of d){const g=p.filePath.split("/").pop()||p.filePath,v=p.ruleId.includes("/")?p.ruleId.split("/").pop():p.ruleId;o.push({id:`eslint:issue:${p.id}`,title:p.message,subtitle:`${g}:${p.line}`,keywords:["Lint",p.ruleId,v,g,p.severity].filter((b,S,T)=>T.indexOf(b)===S),execute:b=>{b.openInspector("issue",{issue:p}),b.closeCommandPalette()},metadata:{issue:p,providerId:"eslint"}})}for(const d of p2)d.isAvailable&&!d.isAvailable(l)||o.push({id:d.id,title:d.title,subtitle:d.subtitle,keywords:["Command","ESLint",...d.keywords],execute:d.execute,metadata:{isCommand:!0}});return o},getRules:a=>{const o=a.getState();if(!o?.availableRules)return[];const l=o.ruleConfigs??new Map;return o.availableRules.map(u=>{const p=l.get(u.id)?.severity??u.currentSeverity??u.defaultSeverity,g=p==="warn"?"warning":p;return{id:u.id,name:u.name,description:u.description,category:u.category,severity:g,fixable:!1,pluginId:"eslint",docs:u.docs}})},setRuleSeverity:(a,o,l)=>{const u=o==="warning"?"warn":o,d=l.getState(),p=new Map(d.ruleConfigUpdating??new Map);p.set(a,!0),l.setState({ruleConfigUpdating:p}),l.websocket.send({type:"rule:config:set",ruleId:a,severity:u,requestId:`rule-severity-${Date.now()}`}),Ye("[ESLint Plugin] Setting rule severity:",a,"->",u)},getRuleConfig:(a,o)=>(o.getState()?.ruleConfigs??new Map).get(a)?.options??{},setRuleConfig:(a,o,l)=>{const u=l.getState(),d=new Map(u.ruleConfigUpdating??new Map);d.set(a,!0),l.setState({ruleConfigUpdating:d}),l.websocket.send({type:"rule:config:set",ruleId:a,options:o,requestId:`rule-config-${Date.now()}`}),Ye("[ESLint Plugin] Setting rule config:",a,o)},initialize:a=>{if(Ye("[ESLint Plugin] Initializing..."),Cb())return Ye("[ESLint Plugin] Running in STATIC mode (manifest-based)"),$7(a);Ye("[ESLint Plugin] Running in WEBSOCKET mode");const o=[];for(const p of ZR){const g=a.websocket.on(p,v=>{FR(a,v)});o.push(g)}Ye("[ESLint Plugin] Subscribed to",ZR.length,"message types");const l=a.domObserver.onElementsAdded(p=>{CU(a,p)});o.push(l),Ye("[ESLint Plugin] Subscribed to DOM observer");let u=!1;const d=a.websocket.onConnectionChange(p=>{p&&(u&&(Ye("[ESLint Plugin] WebSocket reconnected, re-requesting linting"),a.setState({issues:new Map,requestedFiles:new Set,scannedDataLocs:new Set}),y2(a)),u=!0)});return o.push(d),Ye("[ESLint Plugin] Subscribed to connection changes"),()=>{Ye("[ESLint Plugin] Disposing..."),o.forEach(p=>p())}},dispose:a=>{Ye("[ESLint Plugin] Disposed")}};function y2(a){const o=a.domObserver.getElements();if(o.length===0)return;const l=o.map(p=>p.dataLoc),u=qR(l);if(u.size===0)return;const d=new Set;for(const p of u){const g=`lint-${Date.now()}-${p.replace(/[^a-zA-Z0-9]/g,"-")}`;a.websocket.send({type:"lint:file",filePath:p,requestId:g}),d.add(p)}a.setState({requestedFiles:d}),Ye("[ESLint Plugin] Re-requested linting for",u.size,"files after config change")}function CU(a,o){const l=a.getState();if(Ye("[ESLint Plugin] handleElementsAdded called with",o.length,"elements"),Ye("[ESLint Plugin] State check - scanStatus:",l?.scanStatus,"wsConnected:",a.websocket.isConnected),l.scanStatus!=="scanning"){Ye("[ESLint Plugin] Scanning not active (status:",l.scanStatus,"), skipping lint requests");return}if(!a.websocket.isConnected){Ye("[ESLint Plugin] WebSocket not connected, skipping lint requests");return}const u=o.map(v=>v.dataLoc),d=qR(u);if(d.size===0){Ye("[ESLint Plugin] No file paths extracted from",o.length,"elements");return}Ye("[ESLint Plugin] Detected",o.length,"elements from",d.size,"unique files:",Array.from(d).slice(0,3));const p=l.requestedFiles??new Set,g=[];for(const v of d)if(!p.has(v)){g.push(v);const b=`lint-${Date.now()}-${v.replace(/[^a-zA-Z0-9]/g,"-")}`;a.websocket.send({type:"lint:file",filePath:v,requestId:b}),Ye("[ESLint Plugin] Sent lint:file request for",v)}if(g.length>0){const v=new Set(p);for(const b of g)v.add(b);a.setState({requestedFiles:v}),Ye("[ESLint Plugin] Updated requestedFiles with",g.length,"new files")}else Ye("[ESLint Plugin] All files already requested, skipping")}function FR(a,o){switch(o.type){case"lint:result":{const{filePath:l,issues:u}=o;Ye("[ESLint Plugin] Received lint result:",l,u.length,"issues");const d=u.map(b=>M_({...b,dataLoc:b.dataLoc||`${l}:${b.line}:${b.column||0}`})).filter(b=>b!==null),p=new Map;for(const b of d){const S=p.get(b.dataLoc)||[];p.set(b.dataLoc,[...S,b])}const g=a.getState(),v=new Map(g.issues);for(const[b,S]of p)v.set(b,S);a.setState({issues:v});break}case"lint:progress":{const{filePath:l,phase:u}=o;Ye("[ESLint Plugin] Lint progress:",l,u);const d=a.getState(),p=new Map(d.lintingFiles);if(u.startsWith("Done"))p.delete(l);else{const g=p.get(l);p.set(l,{phase:u,startedAt:g?.startedAt??Date.now()})}a.setState({lintingFiles:p});break}case"file:changed":{const{filePath:l}=o;Ye("[ESLint Plugin] File changed:",l);const u=a.getState(),d=new Map(u.issues);for(const[g]of d)g.startsWith(l+":")&&d.delete(g);const p=new Set(u.requestedFiles??new Set);p.delete(l),a.setState({issues:d,requestedFiles:p});break}case"workspace:info":{const{appRoot:l,workspaceRoot:u,serverCwd:d}=o;Ye("[ESLint Plugin] Workspace info:",{appRoot:l,workspaceRoot:u,serverCwd:d}),a.setState({appRoot:l,workspaceRoot:u,serverCwd:d});break}case"workspace:capabilities":{const{postToolUseHook:l}=o;Ye("[ESLint Plugin] Workspace capabilities:",{postToolUseHook:l}),a.setState({workspaceCapabilities:{postToolUseHook:l}});break}case"rules:metadata":{const{rules:l}=o;Ye("[ESLint Plugin] Received rules metadata:",l.length,"rules");const u=new Map;for(const d of l)u.set(d.id,{severity:d.currentSeverity??d.defaultSeverity,options:d.currentOptions??(d.defaultOptions&&d.defaultOptions.length>0?d.defaultOptions[0]:void 0)});a.setState({availableRules:l,ruleConfigs:u});break}case"rule:config:result":{const{ruleId:l,severity:u,options:d,success:p,error:g}=o,v=a.getState(),b=new Map(v.ruleConfigUpdating);if(b.delete(l),a.setState({ruleConfigUpdating:b}),p){const S=a.getState(),T=new Map(S.ruleConfigs);T.set(l,{severity:u,options:d}),a.setState({ruleConfigs:T,issues:new Map,scannedDataLocs:new Set,requestedFiles:new Set}),y2(a),Ye("[ESLint Plugin] Rule config updated:",l,"->",u,"- refreshing lint results")}else yn("[ESLint Plugin] Failed to update rule config:",g);break}case"rule:config:changed":{const{ruleId:l,severity:u,options:d}=o,p=a.getState(),g=new Map(p.ruleConfigs);g.set(l,{severity:u,options:d}),a.setState({ruleConfigs:g,issues:new Map,scannedDataLocs:new Set,requestedFiles:new Set}),y2(a),Ye("[ESLint Plugin] Rule config changed (broadcast):",l,"->",u,"- refreshing lint results");break}}}const kU=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_AUTO_SCAN_SETTINGS:AU,_handleWebSocketMessageForTesting:FR,aggregateByFile:YR,aggregateByRule:sU,clearStaticMode:iR,configureStaticMode:aR,countSeverities:Cd,createESLintActions:HR,createESLintSlice:VR,createEslintTileFilter:XR,default:v2,eslintCommands:p2,eslintPlugin:v2,filterByDisabledRules:iU,getEslintInspectorData:$R,getEslintTileItems:GR,getFileSource:JS,getManifestMetadata:Q7,initialESLintState:BR,isEslintTileTerminal:IR,isScanning:aU,isStaticMode:Cb},Symbol.toStringTag,{value:"Module"}));function RU(a){const o=new Map;for(const l of a){const u=l.filePath||"unknown",d=o.get(u)||[];d.push(l),o.set(u,d)}for(const[l,u]of o)o.set(l,u.sort((d,p)=>d.line-p.line));return o}function MU(a,o,l){const u=Array.from(a.values()).reduce((g,v)=>g+v.length,0),d=a.size;if(u===0)return"No lint issues found on the current page.";const p=[];if(p.push("# Fix Lint Issues"),p.push(""),p.push(`There are **${u} lint issue${u===1?"":"s"}** across **${d} file${d===1?"":"s"}** that need to be fixed.`),p.push(""),p.push("## Instructions"),p.push(""),p.push("1. Fix ALL of the lint issues in the files listed below"),p.push("2. Do NOT ignore or suppress any issues with eslint-disable comments"),p.push("3. Do NOT skip any issues - each one must be properly addressed"),p.push("4. Run the linter after fixing to verify all issues are resolved"),p.push("5. If an issue cannot be fixed without breaking functionality, explain why and propose an alternative solution"),p.push(""),l){p.push("## Affected Files"),p.push(""),p.push("The following files have lint issues. When you edit each file, you will receive the specific lint errors automatically."),p.push("");for(const[g,v]of a){const b=o&&g.startsWith(o)?g.slice(o.length+1):g;p.push(`- \`${b}\` (${v.length} issue${v.length===1?"":"s"})`)}p.push(""),p.push("---"),p.push(""),p.push("Open each file above and fix all reported lint issues. The linter will provide specific error details when you edit each file.")}else{p.push("## Affected Files"),p.push("");for(const[g,v]of a){const b=o&&g.startsWith(o)?g.slice(o.length+1):g;p.push(`### ${b}`),p.push("");for(const S of v){const T=S.column?`Line ${S.line}, Column ${S.column}`:`Line ${S.line}`,C=S.severity==="error"?"ERROR":"WARNING",k=S.ruleId?` (${S.ruleId})`:"";p.push(`- **[${C}]** ${T}${k}`),p.push(` ${S.message}`)}p.push("")}p.push("---"),p.push(""),p.push(`Please fix all ${u} issues listed above. Do not use eslint-disable comments or any other method to suppress warnings. Each issue must be properly resolved.`)}return p.join(`
257
+ `)}function DU({text:a,onCopy:o}){const[l,u]=N.useState(!1),d=N.useCallback(async()=>{try{await navigator.clipboard.writeText(a),u(!0),o(),setTimeout(()=>u(!1),2e3)}catch(p){yn("Failed to copy:",p)}},[a,o]);return E.jsx("button",{onClick:d,className:"flex items-center gap-1.5 px-4 py-2 text-white border-none rounded-md cursor-pointer font-medium text-sm transition-colors",style:{background:l?"var(--uilint-success)":"var(--uilint-primary)"},children:l?E.jsxs(E.Fragment,{children:[E.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:E.jsx("polyline",{points:"20 6 9 17 4 12"})}),"Copied!"]}):E.jsxs(E.Fragment,{children:[E.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[E.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),E.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy to Clipboard"]})})}function _U({data:a}){const o=a?.issues||[],l=a?.workspaceRoot||null,u=a?.hookAvailable||!1,d=N.useMemo(()=>RU(o),[o]),p=N.useMemo(()=>MU(d,l,u),[d,l,u]),g=o.length,v=d.size;return E.jsxs("div",{className:"flex flex-col h-full",children:[E.jsx("div",{className:"p-4 border-b",style:{borderColor:"var(--uilint-border)",background:"var(--uilint-surface)"},children:E.jsxs("div",{className:"flex items-center justify-between",children:[E.jsxs("div",{children:[E.jsx("div",{className:"text-sm mb-1",style:{color:"var(--uilint-text-muted)"},children:g===0?"No issues found":`${g} issue${g===1?"":"s"} in ${v} file${v===1?"":"s"}`}),E.jsx("div",{className:"text-xs",style:{color:"var(--uilint-text-muted)"},children:u?"Condensed format - hook will provide issue details":"Copy this prompt to Cursor or Claude Code"})]}),g>0&&E.jsx(DU,{text:p,onCopy:()=>{}})]})}),E.jsx("div",{className:"flex-1 overflow-auto p-4",children:E.jsx("pre",{className:"m-0 p-4 rounded-lg text-sm leading-relaxed whitespace-pre-wrap break-words font-mono",style:{background:"var(--uilint-code-bg, #1e1e1e)",color:"var(--uilint-code-text, #d4d4d4)"},children:p})}),E.jsxs("div",{className:"px-4 py-3 border-t text-xs",style:{borderColor:"var(--uilint-border)",background:"var(--uilint-surface-elevated)",color:"var(--uilint-text-muted)"},children:[E.jsx("strong",{children:"Tip:"})," Paste this prompt into Cursor, Claude Code, or any AI assistant to get help fixing these lint issues."]})]})}const b2=ft.createElement("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ft.createElement("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"}),ft.createElement("rect",{x:"8",y:"2",width:"8",height:"4",rx:"1",ry:"1"}),ft.createElement("line",{x1:"8",y1:"12",x2:"16",y2:"12"}),ft.createElement("line",{x1:"8",y1:"16",x2:"14",y2:"16"}));function zU(a){const l=a.getState().plugins?.eslint;if(!l?.issues)return{issues:[],workspaceRoot:null,hookAvailable:!1};const u=[];for(const p of l.issues.values())u.push(...p);const d=l.workspaceCapabilities?.postToolUseHook?.enabled??!1;return{issues:u,workspaceRoot:l.workspaceRoot,hookAvailable:d}}const OU={id:"fix-prompt",name:"Fix Prompt Generator",version:"1.0.0",description:"Generate copyable prompts for AI assistants to fix lint issues",meta:{id:"fix-prompt",name:"Fix Prompt Generator",version:"1.0.0",description:"Generate copyable prompts for AI assistants to fix lint issues",icon:b2},toolbarActions:[{id:"fix-prompt:generate",icon:b2,tooltip:"Generate Fix Prompt",priority:50,isVisible:a=>{const l=a.plugins?.eslint?.issues;if(!l)return!1;let u=0;for(const d of l.values())if(u+=d.length,u>0)return!0;return!1},onClick:a=>{const{issues:o,workspaceRoot:l,hookAvailable:u}=zU(a),d=a.getState();a.setState({inspector:{...d.inspector,open:!0,panelId:"fix-prompt",data:{issues:o,workspaceRoot:l,hookAvailable:u}}})}}],inspectorPanels:[{id:"fix-prompt",title:"Fix Prompt",icon:b2,component:_U,priority:10}],createSlice:void 0,initialize:void 0};let PR=!1;function KR(a){if(typeof document>"u"||PR)return;const o=document.createElement("style");o.setAttribute("data-uilint-devtools-styles","true"),o.textContent=a,document.head.appendChild(o),PR=!0}const JR=`@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.dev-tool-root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.top-0{top:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.top-2\\.5{top:calc(var(--spacing)*2.5)}.top-3{top:calc(var(--spacing)*3)}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.left-0{left:calc(var(--spacing)*0)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-90{z-index:90}.z-\\[99997\\]{z-index:99997}.z-\\[99998\\]{z-index:99998}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-0{margin-inline:calc(var(--spacing)*0)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-0\\.5{margin-block:calc(var(--spacing)*.5)}.my-1{margin-block:calc(var(--spacing)*1)}.-mt-0\\.5{margin-top:calc(var(--spacing)*-.5)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-2\\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-auto{margin-top:auto}.-mr-0\\.5{margin-right:calc(var(--spacing)*-.5)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-none{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-full{width:100%;height:100%}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-\\[18px\\]{height:18px}.h-\\[200px\\]{height:200px}.h-\\[var\\(--uilint-icon-button-size\\)\\]{height:var(--uilint-icon-button-size)}.h-\\[var\\(--uilint-icon-button-size-lg\\)\\]{height:var(--uilint-icon-button-size-lg)}.h-\\[var\\(--uilint-icon-button-size-sm\\)\\]{height:var(--uilint-icon-button-size-sm)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\\[2\\.25rem\\]{max-height:2.25rem}.max-h-\\[100px\\]{max-height:100px}.max-h-\\[520px\\]{max-height:520px}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-5{min-height:calc(var(--spacing)*5)}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-\\[44px\\]{min-height:44px}.min-h-\\[220px\\]{min-height:220px}.min-h-\\[260px\\]{min-height:260px}.w-1{width:calc(var(--spacing)*1)}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-\\[30\\%\\]{width:30%}.w-\\[340px\\]{width:340px}.w-\\[364px\\]{width:364px}.w-\\[860px\\]{width:860px}.w-\\[var\\(--uilint-icon-button-size\\)\\]{width:var(--uilint-icon-button-size)}.w-\\[var\\(--uilint-icon-button-size-lg\\)\\]{width:var(--uilint-icon-button-size-lg)}.w-\\[var\\(--uilint-icon-button-size-sm\\)\\]{width:var(--uilint-icon-button-size-sm)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\\[120px\\]{max-width:120px}.max-w-\\[140px\\]{max-width:140px}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[580px\\]{max-width:580px}.max-w-\\[calc\\(100\\%-1rem\\)\\]{max-width:calc(100% - 1rem)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-6{min-width:calc(var(--spacing)*6)}.min-w-\\[18px\\]{min-width:18px}.min-w-\\[44px\\]{min-width:44px}.min-w-\\[80px\\]{min-width:80px}.min-w-\\[120px\\]{min-width:120px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-center{transform-origin:50%}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.columns-2{columns:2}.break-inside-avoid{break-inside:avoid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\\[border-radius\\:var\\(--uilint-card-radius\\)\\]{border-radius:var(--uilint-card-radius)}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\\[0\\.8rem\\]{border-radius:.8rem}.rounded-\\[10px\\]{border-radius:10px}.rounded-\\[20px\\]{border-radius:20px}.rounded-\\[calc\\(var\\(--uilint-icon-button-radius\\)\\+2px\\)\\]{border-radius:calc(var(--uilint-icon-button-radius) + 2px)}.rounded-\\[calc\\(var\\(--uilint-icon-button-radius\\)-2px\\)\\]{border-radius:calc(var(--uilint-icon-button-radius) - 2px)}.rounded-\\[calc\\(var\\(--uilint-input-radius\\)\\+2px\\)\\]{border-radius:calc(var(--uilint-input-radius) + 2px)}.rounded-\\[calc\\(var\\(--uilint-input-radius\\)-2px\\)\\]{border-radius:calc(var(--uilint-input-radius) - 2px)}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-\\[var\\(--uilint-button-radius\\)\\]{border-radius:var(--uilint-button-radius)}.rounded-\\[var\\(--uilint-icon-button-radius\\)\\]{border-radius:var(--uilint-icon-button-radius)}.rounded-\\[var\\(--uilint-input-radius\\)\\]{border-radius:var(--uilint-input-radius)}.rounded-\\[var\\(--uilint-radius\\,12px\\)\\]{border-radius:var(--uilint-radius,12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--uilint-radius-lg)}.rounded-md{border-radius:var(--uilint-radius)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--uilint-radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-\\[3px\\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\\[var\\(--uilint-error\\)\\]{border-color:var(--uilint-error)}.border-\\[var\\(--uilint-glass-border\\)\\]{border-color:var(--uilint-glass-border)}.border-\\[var\\(--uilint-input-border\\)\\]{border-color:var(--uilint-input-border)}.border-\\[var\\(--uilint-kbd-border\\,rgba\\(0\\,0\\,0\\,0\\.1\\)\\)\\]{border-color:var(--uilint-kbd-border,#0000001a)}.border-\\[var\\(--uilint-kbd-border-subtle\\,transparent\\)\\]{border-color:var(--uilint-kbd-border-subtle,transparent)}.border-accent,.border-accent\\/30{border-color:var(--uilint-accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\\/30{border-color:color-mix(in oklab,var(--uilint-accent)30%,transparent)}}.border-border{border-color:var(--uilint-border)}.border-current\\/20{border-color:currentColor}@supports (color:color-mix(in lab,red,red)){.border-current\\/20{border-color:color-mix(in oklab,currentcolor 20%,transparent)}}.border-error,.border-error\\/20{border-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.border-error\\/20{border-color:color-mix(in oklab,var(--uilint-error)20%,transparent)}}.border-error\\/30{border-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.border-error\\/30{border-color:color-mix(in oklab,var(--uilint-error)30%,transparent)}}.border-error\\/50{border-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.border-error\\/50{border-color:color-mix(in oklab,var(--uilint-error)50%,transparent)}}.border-foreground\\/3{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/3{border-color:color-mix(in oklab,var(--uilint-foreground)3%,transparent)}}.border-foreground\\/4{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/4{border-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.border-foreground\\/5{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/5{border-color:color-mix(in oklab,var(--uilint-foreground)5%,transparent)}}.border-foreground\\/6{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/6{border-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.border-foreground\\/10{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/10{border-color:color-mix(in oklab,var(--uilint-foreground)10%,transparent)}}.border-foreground\\/12{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/12{border-color:color-mix(in oklab,var(--uilint-foreground)12%,transparent)}}.border-foreground\\/15{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/15{border-color:color-mix(in oklab,var(--uilint-foreground)15%,transparent)}}.border-foreground\\/\\[0\\.1\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.1\\]{border-color:color-mix(in oklab,var(--uilint-foreground)10%,transparent)}}.border-foreground\\/\\[0\\.02\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.02\\]{border-color:color-mix(in oklab,var(--uilint-foreground)2%,transparent)}}.border-foreground\\/\\[0\\.03\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.03\\]{border-color:color-mix(in oklab,var(--uilint-foreground)3%,transparent)}}.border-foreground\\/\\[0\\.04\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.04\\]{border-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.border-foreground\\/\\[0\\.06\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.06\\]{border-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.border-foreground\\/\\[0\\.08\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.08\\]{border-color:color-mix(in oklab,var(--uilint-foreground)8%,transparent)}}.border-foreground\\/\\[0\\.12\\]{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\\/\\[0\\.12\\]{border-color:color-mix(in oklab,var(--uilint-foreground)12%,transparent)}}.border-glass-border{border-color:var(--uilint-glass-border)}.border-info{border-color:var(--uilint-info)}.border-info-bg{border-color:var(--uilint-info-bg)}.border-info\\/20{border-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.border-info\\/20{border-color:color-mix(in oklab,var(--uilint-info)20%,transparent)}}.border-info\\/30{border-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.border-info\\/30{border-color:color-mix(in oklab,var(--uilint-info)30%,transparent)}}.border-muted-foreground\\/30{border-color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\\/30{border-color:color-mix(in oklab,var(--uilint-text-muted)30%,transparent)}}.border-transparent{border-color:#0000}.border-warning,.border-warning\\/20{border-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\\/20{border-color:color-mix(in oklab,var(--uilint-warning)20%,transparent)}}.border-warning\\/30{border-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\\/30{border-color:color-mix(in oklab,var(--uilint-warning)30%,transparent)}}.border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-zinc-200{border-color:var(--color-zinc-200)}.border-zinc-950\\/10{border-color:#09090b1a}@supports (color:color-mix(in lab,red,red)){.border-zinc-950\\/10{border-color:color-mix(in oklab,var(--color-zinc-950)10%,transparent)}}.border-t-muted-foreground{border-top-color:var(--uilint-text-muted)}.border-t-transparent{border-top-color:#0000}.border-l-error\\/50{border-left-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.border-l-error\\/50{border-left-color:color-mix(in oklab,var(--uilint-error)50%,transparent)}}.border-l-foreground\\/20{border-left-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.border-l-foreground\\/20{border-left-color:color-mix(in oklab,var(--uilint-foreground)20%,transparent)}}.border-l-info,.border-l-info\\/50{border-left-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.border-l-info\\/50{border-left-color:color-mix(in oklab,var(--uilint-info)50%,transparent)}}.border-l-transparent{border-left-color:#0000}.border-l-warning,.border-l-warning\\/50{border-left-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.border-l-warning\\/50{border-left-color:color-mix(in oklab,var(--uilint-warning)50%,transparent)}}.bg-\\[rgba\\(128\\,128\\,128\\,0\\.15\\)\\]{background-color:#80808026}.bg-\\[var\\(--uilint-button-default-bg\\)\\]{background-color:var(--uilint-button-default-bg)}.bg-\\[var\\(--uilint-button-destructive-bg\\)\\]{background-color:var(--uilint-button-destructive-bg)}.bg-\\[var\\(--uilint-button-ghost-bg\\)\\]{background-color:var(--uilint-button-ghost-bg)}.bg-\\[var\\(--uilint-button-glass-bg\\)\\]{background-color:var(--uilint-button-glass-bg)}.bg-\\[var\\(--uilint-button-outline-bg\\)\\]{background-color:var(--uilint-button-outline-bg)}.bg-\\[var\\(--uilint-button-secondary-bg\\)\\]{background-color:var(--uilint-button-secondary-bg)}.bg-\\[var\\(--uilint-glass\\)\\]{background-color:var(--uilint-glass)}.bg-\\[var\\(--uilint-glass-medium\\)\\]{background-color:var(--uilint-glass-medium)}.bg-\\[var\\(--uilint-hover\\)\\]{background-color:var(--uilint-hover)}.bg-\\[var\\(--uilint-input-bg\\)\\]{background-color:var(--uilint-input-bg)}.bg-\\[var\\(--uilint-kbd-background\\,linear-gradient\\(180deg\\,\\#ffffff_0\\%\\,\\#f3f4f6_100\\%\\)\\)\\]{background-color:var(--uilint-kbd-background,linear-gradient(180deg,#fff 0%,#f3f4f6 100%))}.bg-\\[var\\(--uilint-kbd-background-subtle\\,rgba\\(0\\,0\\,0\\,0\\.04\\)\\)\\]{background-color:var(--uilint-kbd-background-subtle,#0000000a)}.bg-accent,.bg-accent\\/10{background-color:var(--uilint-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\\/10{background-color:color-mix(in oklab,var(--uilint-accent)10%,transparent)}}.bg-accent\\/15{background-color:var(--uilint-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\\/15{background-color:color-mix(in oklab,var(--uilint-accent)15%,transparent)}}.bg-amber-500\\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-background,.bg-background\\/40{background-color:var(--uilint-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/40{background-color:color-mix(in oklab,var(--uilint-background)40%,transparent)}}.bg-background\\/50{background-color:var(--uilint-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/50{background-color:color-mix(in oklab,var(--uilint-background)50%,transparent)}}.bg-background\\/60{background-color:var(--uilint-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/60{background-color:color-mix(in oklab,var(--uilint-background)60%,transparent)}}.bg-background\\/65{background-color:var(--uilint-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/65{background-color:color-mix(in oklab,var(--uilint-background)65%,transparent)}}.bg-background\\/95{background-color:var(--uilint-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/95{background-color:color-mix(in oklab,var(--uilint-background)95%,transparent)}}.bg-blue-300\\/20{background-color:#90c5ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-300\\/20{background-color:color-mix(in oklab,var(--color-blue-300)20%,transparent)}}.bg-emerald-500\\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\\/20{background-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.bg-error{background-color:var(--uilint-error)}.bg-error-bg{background-color:var(--uilint-error-bg)}.bg-error\\/5{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/5{background-color:color-mix(in oklab,var(--uilint-error)5%,transparent)}}.bg-error\\/10{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/10{background-color:color-mix(in oklab,var(--uilint-error)10%,transparent)}}.bg-error\\/15{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/15{background-color:color-mix(in oklab,var(--uilint-error)15%,transparent)}}.bg-error\\/60{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/60{background-color:color-mix(in oklab,var(--uilint-error)60%,transparent)}}.bg-error\\/70{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/70{background-color:color-mix(in oklab,var(--uilint-error)70%,transparent)}}.bg-error\\/80{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/80{background-color:color-mix(in oklab,var(--uilint-error)80%,transparent)}}.bg-error\\/\\[0\\.04\\]{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--uilint-error)4%,transparent)}}.bg-error\\/\\[0\\.06\\]{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.bg-error\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--uilint-error)6%,transparent)}}.bg-foreground,.bg-foreground\\/2\\.5{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/2\\.5{background-color:color-mix(in oklab,var(--uilint-foreground)2.5%,transparent)}}.bg-foreground\\/4{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/4{background-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.bg-foreground\\/\\[0\\.01\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.01\\]{background-color:color-mix(in oklab,var(--uilint-foreground)1%,transparent)}}.bg-foreground\\/\\[0\\.02\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.02\\]{background-color:color-mix(in oklab,var(--uilint-foreground)2%,transparent)}}.bg-foreground\\/\\[0\\.03\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.03\\]{background-color:color-mix(in oklab,var(--uilint-foreground)3%,transparent)}}.bg-foreground\\/\\[0\\.04\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.bg-foreground\\/\\[0\\.05\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.05\\]{background-color:color-mix(in oklab,var(--uilint-foreground)5%,transparent)}}.bg-foreground\\/\\[0\\.06\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.bg-foreground\\/\\[0\\.08\\]{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/\\[0\\.08\\]{background-color:color-mix(in oklab,var(--uilint-foreground)8%,transparent)}}.bg-glass-medium{background-color:var(--uilint-glass-medium)}.bg-info{background-color:var(--uilint-info)}.bg-info-bg{background-color:var(--uilint-info-bg)}.bg-info\\/5{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/5{background-color:color-mix(in oklab,var(--uilint-info)5%,transparent)}}.bg-info\\/10{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/10{background-color:color-mix(in oklab,var(--uilint-info)10%,transparent)}}.bg-info\\/15{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/15{background-color:color-mix(in oklab,var(--uilint-info)15%,transparent)}}.bg-info\\/60{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/60{background-color:color-mix(in oklab,var(--uilint-info)60%,transparent)}}.bg-info\\/70{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/70{background-color:color-mix(in oklab,var(--uilint-info)70%,transparent)}}.bg-info\\/80{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/80{background-color:color-mix(in oklab,var(--uilint-info)80%,transparent)}}.bg-info\\/\\[0\\.04\\]{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--uilint-info)4%,transparent)}}.bg-info\\/\\[0\\.06\\]{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.bg-info\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--uilint-info)6%,transparent)}}.bg-muted-foreground\\/20{background-color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\\/20{background-color:color-mix(in oklab,var(--uilint-text-muted)20%,transparent)}}.bg-muted-foreground\\/30{background-color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\\/30{background-color:color-mix(in oklab,var(--uilint-text-muted)30%,transparent)}}.bg-muted-foreground\\/50{background-color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\\/50{background-color:color-mix(in oklab,var(--uilint-text-muted)50%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-success{background-color:var(--uilint-success)}.bg-success-bg{background-color:var(--uilint-success-bg)}.bg-success\\/20{background-color:var(--uilint-success)}@supports (color:color-mix(in lab,red,red)){.bg-success\\/20{background-color:color-mix(in oklab,var(--uilint-success)20%,transparent)}}.bg-success\\/70{background-color:var(--uilint-success)}@supports (color:color-mix(in lab,red,red)){.bg-success\\/70{background-color:color-mix(in oklab,var(--uilint-success)70%,transparent)}}.bg-surface{background-color:var(--uilint-surface)}.bg-surface-elevated{background-color:var(--uilint-surface-elevated)}.bg-surface\\/95{background-color:var(--uilint-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\\/95{background-color:color-mix(in oklab,var(--uilint-surface)95%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--uilint-warning)}.bg-warning-bg{background-color:var(--uilint-warning-bg)}.bg-warning\\/5{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/5{background-color:color-mix(in oklab,var(--uilint-warning)5%,transparent)}}.bg-warning\\/10{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/10{background-color:color-mix(in oklab,var(--uilint-warning)10%,transparent)}}.bg-warning\\/15{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/15{background-color:color-mix(in oklab,var(--uilint-warning)15%,transparent)}}.bg-warning\\/60{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/60{background-color:color-mix(in oklab,var(--uilint-warning)60%,transparent)}}.bg-warning\\/70{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/70{background-color:color-mix(in oklab,var(--uilint-warning)70%,transparent)}}.bg-warning\\/80{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/80{background-color:color-mix(in oklab,var(--uilint-warning)80%,transparent)}}.bg-warning\\/\\[0\\.04\\]{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/\\[0\\.04\\]{background-color:color-mix(in oklab,var(--uilint-warning)4%,transparent)}}.bg-warning\\/\\[0\\.06\\]{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\\/\\[0\\.06\\]{background-color:color-mix(in oklab,var(--uilint-warning)6%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-zinc-100\\/50{background-color:#f4f4f580}@supports (color:color-mix(in lab,red,red)){.bg-zinc-100\\/50{background-color:color-mix(in oklab,var(--color-zinc-100)50%,transparent)}}.bg-zinc-200{background-color:var(--color-zinc-200)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.from-foreground\\/2{--tw-gradient-from:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.from-foreground\\/2{--tw-gradient-from:color-mix(in oklab,var(--uilint-foreground)2%,transparent)}}.from-foreground\\/2{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-7{padding:calc(var(--spacing)*7)}.p-8{padding:calc(var(--spacing)*8)}.p-\\[1px\\],.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-14{padding-block:calc(var(--spacing)*14)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-0\\.5{padding-top:calc(var(--spacing)*.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-14{padding-top:calc(var(--spacing)*14)}.pt-\\[100px\\]{padding-top:100px}.pt-\\[env\\(safe-area-inset-top\\,0px\\)\\]{padding-top:env(safe-area-inset-top,0px)}.pr-1\\.25{padding-right:calc(var(--spacing)*1.25)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-0\\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-\\[env\\(safe-area-inset-bottom\\,0px\\)\\]{padding-bottom:env(safe-area-inset-bottom,0px)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-\\[-apple-system\\,BlinkMacSystemFont\\,\\'SF_Pro_Text\\'\\,\\'Segoe_UI\\'\\,sans-serif\\]{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.text-\\[17px\\]{font-size:17px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.\\[color\\:var\\(--uilint-text-primary\\)\\]{color:var(--uilint-text-primary)}.\\[color\\:var\\(--uilint-text-secondary\\)\\]{color:var(--uilint-text-secondary)}.text-\\[var\\(--uilint-button-default-text\\)\\]{color:var(--uilint-button-default-text)}.text-\\[var\\(--uilint-button-destructive-text\\)\\]{color:var(--uilint-button-destructive-text)}.text-\\[var\\(--uilint-button-ghost-text\\)\\]{color:var(--uilint-button-ghost-text)}.text-\\[var\\(--uilint-button-glass-text\\)\\]{color:var(--uilint-button-glass-text)}.text-\\[var\\(--uilint-button-outline-text\\)\\]{color:var(--uilint-button-outline-text)}.text-\\[var\\(--uilint-button-secondary-text\\)\\]{color:var(--uilint-button-secondary-text)}.text-\\[var\\(--uilint-kbd-text\\,\\#6b7280\\)\\]{color:var(--uilint-kbd-text,#6b7280)}.text-\\[var\\(--uilint-kbd-text-subtle\\,\\#9ca3af\\)\\]{color:var(--uilint-kbd-text-subtle,#9ca3af)}.text-\\[var\\(--uilint-text-muted\\)\\]{color:var(--uilint-text-muted)}.text-\\[var\\(--uilint-text-primary\\)\\]{color:var(--uilint-text-primary)}.text-\\[var\\(--uilint-text-secondary\\)\\]{color:var(--uilint-text-secondary)}.text-accent{color:var(--uilint-accent)}.text-accent-foreground{color:var(--uilint-accent-foreground)}.text-amber-700{color:var(--color-amber-700)}.text-blue-700{color:var(--color-blue-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-error,.text-error\\/60{color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.text-error\\/60{color:color-mix(in oklab,var(--uilint-error)60%,transparent)}}.text-error\\/80{color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.text-error\\/80{color:color-mix(in oklab,var(--uilint-error)80%,transparent)}}.text-foreground,.text-foreground\\/50{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/50{color:color-mix(in oklab,var(--uilint-foreground)50%,transparent)}}.text-foreground\\/60{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/60{color:color-mix(in oklab,var(--uilint-foreground)60%,transparent)}}.text-foreground\\/70{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/70{color:color-mix(in oklab,var(--uilint-foreground)70%,transparent)}}.text-foreground\\/80{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/80{color:color-mix(in oklab,var(--uilint-foreground)80%,transparent)}}.text-foreground\\/85{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/85{color:color-mix(in oklab,var(--uilint-foreground)85%,transparent)}}.text-foreground\\/90{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/90{color:color-mix(in oklab,var(--uilint-foreground)90%,transparent)}}.text-info,.text-info\\/60{color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.text-info\\/60{color:color-mix(in oklab,var(--uilint-info)60%,transparent)}}.text-info\\/80{color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.text-info\\/80{color:color-mix(in oklab,var(--uilint-info)80%,transparent)}}.text-muted-foreground,.text-muted-foreground\\/30{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/30{color:color-mix(in oklab,var(--uilint-text-muted)30%,transparent)}}.text-muted-foreground\\/40{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/40{color:color-mix(in oklab,var(--uilint-text-muted)40%,transparent)}}.text-muted-foreground\\/45{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/45{color:color-mix(in oklab,var(--uilint-text-muted)45%,transparent)}}.text-muted-foreground\\/50{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/50{color:color-mix(in oklab,var(--uilint-text-muted)50%,transparent)}}.text-muted-foreground\\/55{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/55{color:color-mix(in oklab,var(--uilint-text-muted)55%,transparent)}}.text-muted-foreground\\/60{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/60{color:color-mix(in oklab,var(--uilint-text-muted)60%,transparent)}}.text-muted-foreground\\/65{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/65{color:color-mix(in oklab,var(--uilint-text-muted)65%,transparent)}}.text-muted-foreground\\/70{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/70{color:color-mix(in oklab,var(--uilint-text-muted)70%,transparent)}}.text-red-700{color:var(--color-red-700)}.text-success{color:var(--uilint-success)}.text-text-disabled{color:var(--uilint-text-disabled)}.text-text-muted{color:var(--uilint-text-muted)}.text-text-primary{color:var(--uilint-text-primary)}.text-text-secondary{color:var(--uilint-text-secondary)}.text-warning,.text-warning\\/60{color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.text-warning\\/60{color:color-mix(in oklab,var(--uilint-warning)60%,transparent)}}.text-warning\\/80{color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.text-warning\\/80{color:color-mix(in oklab,var(--uilint-warning)80%,transparent)}}.text-white{color:var(--color-white)}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-900{color:var(--color-zinc-900)}.text-zinc-950{color:var(--color-zinc-950)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_0_1px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\,0px_2px_2px_rgba\\(0\\,0\\,0\\,0\\.04\\)\\,0px_8px_16px_-4px_rgba\\(0\\,0\\,0\\,0\\.04\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#00000014),0px 2px 2px var(--tw-shadow-color,#0000000a),0px 8px 16px -4px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0px_1px_1px_0px_hsla\\(0\\,0\\%\\,0\\%\\,0\\.02\\)_inset\\,0px_1px_1px_0px_hsla\\(0\\,0\\%\\,0\\%\\,0\\.02\\)_inset\\,0px_0px_0px_1px_rgba\\(255\\,255\\,255\\,0\\.25\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#00000005)inset,0px 1px 1px 0px var(--tw-shadow-color,#00000005)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff40);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0px_1px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.05\\)\\,0px_1px_1px_0px_rgba\\(255\\,252\\,240\\,0\\.5\\)_inset\\,0px_0px_0px_1px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.1\\)_inset\\,0px_0px_1px_0px_rgba\\(28\\,27\\,26\\,0\\.5\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#0000000d),0px 1px 1px 0px var(--tw-shadow-color,#fffcf080)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff1a)inset,0px 0px 1px 0px var(--tw-shadow-color,#1c1b1a80);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_0_1px_1px_hsl\\(var\\(--border\\)\\/0\\.3\\)\\]{--tw-shadow:inset 0 0 1px 1px var(--tw-shadow-color,hsl(var(--border)/.3));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[var\\(--uilint-button-shadow\\)\\]{--tw-shadow:var(--uilint-button-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[var\\(--uilint-kbd-shadow\\,0_1px_0_rgba\\(0\\,0\\,0\\,0\\.08\\)\\)\\]{--tw-shadow:var(--uilint-kbd-shadow,0 1px 0 #00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--uilint-shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:var(--uilint-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--uilint-card-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\\[box-shadow\\:var\\(--uilint-card-elevated-shadow\\)\\]{box-shadow:var(--uilint-card-elevated-shadow)}.\\[box-shadow\\:var\\(--uilint-card-shadow\\)\\]{box-shadow:var(--uilint-card-shadow)}.shadow-black\\/10{--tw-shadow-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.shadow-black\\/10{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)10%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-foreground\\/6{--tw-ring-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.ring-foreground\\/6{--tw-ring-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.ring-foreground\\/20{--tw-ring-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.ring-foreground\\/20{--tw-ring-color:color-mix(in oklab,var(--uilint-foreground)20%,transparent)}}.ring-zinc-200\\/50{--tw-ring-color:#e4e4e780}@supports (color:color-mix(in lab,red,red)){.ring-zinc-200\\/50{--tw-ring-color:color-mix(in oklab,var(--color-zinc-200)50%,transparent)}}.ring-offset-white{--tw-ring-offset-color:var(--color-white)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-lg{--tw-blur:blur(var(--blur-lg));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,)}.blur-md{--tw-blur:blur(var(--blur-md));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,)}.blur-sm{--tw-blur:blur(var(--blur-sm));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-\\[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-\\[var\\(--uilint-glass-blur-medium\\)\\]{--tw-backdrop-blur:blur(var(--uilint-glass-blur-medium));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-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-filter{-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-filter\\:blur\\(var\\(--uilint-glass-blur-medium\\)\\)\\]{-webkit-backdrop-filter:blur(var(--uilint-glass-blur-medium));backdrop-filter:blur(var(--uilint-glass-blur-medium))}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[colors\\]{transition-property:colors;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[scale\\]{transition-property:scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[-ms-overflow-style\\:none\\]{-ms-overflow-style:none}.\\[-webkit-overflow-scrolling\\:touch\\]{-webkit-overflow-scrolling:touch}.\\[background\\:var\\(--uilint-card-bg\\)\\]{background:var(--uilint-card-bg)}.\\[background\\:var\\(--uilint-card-elevated-bg\\)\\]{background:var(--uilint-card-elevated-bg)}.\\[background\\:var\\(--uilint-card-glass-bg\\)\\]{background:var(--uilint-card-glass-bg)}.\\[border-top\\:1px_solid_var\\(--uilint-card-border\\)\\]{border-top:1px solid var(--uilint-card-border)}.\\[border\\:1px_solid_var\\(--uilint-card-border\\)\\]{border:1px solid var(--uilint-card-border)}.\\[border\\:1px_solid_var\\(--uilint-card-glass-border\\)\\]{border:1px solid var(--uilint-card-glass-border)}.\\[scrollbar-width\\:thin\\]{scrollbar-width:thin}@media(hover:hover){.group-hover\\:text-muted-foreground\\/60:is(:where(.group):hover *){color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.group-hover\\:text-muted-foreground\\/60:is(:where(.group):hover *){color:color-mix(in oklab,var(--uilint-text-muted)60%,transparent)}}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\\:bg-transparent::file-selector-button{background-color:#0000}.file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\\:text-\\[var\\(--uilint-input-placeholder\\)\\]::placeholder{color:var(--uilint-input-placeholder)}.placeholder\\:text-muted-foreground\\/40::placeholder{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-muted-foreground\\/40::placeholder{color:color-mix(in oklab,var(--uilint-text-muted)40%,transparent)}}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:inset-x-0:before{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.before\\:inset-y-0:before{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.before\\:top-0:before{content:var(--tw-content);top:calc(var(--spacing)*0)}.before\\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\\:h-\\(--top-fade-height\\):before{content:var(--tw-content);height:var(--top-fade-height)}.before\\:h-px:before{content:var(--tw-content);height:1px}.before\\:w-\\(--left-fade-width\\):before{content:var(--tw-content);width:var(--left-fade-width)}.before\\:bg-gradient-to-b:before{content:var(--tw-content);--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\\:bg-gradient-to-r:before{content:var(--tw-content);--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\\:from-background:before{content:var(--tw-content);--tw-gradient-from:var(--uilint-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\\:to-transparent:before{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\\:opacity-0:before{content:var(--tw-content);opacity:0}.before\\:opacity-100:before{content:var(--tw-content);opacity:1}.before\\:transition-\\[height\\,opacity\\]:before{content:var(--tw-content);transition-property:height,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\\:transition-\\[width\\,opacity\\]:before{content:var(--tw-content);transition-property:width,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\\:duration-300:before{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}.before\\:\\[background\\:var\\(--uilint-glass-highlight\\)\\]:before{content:var(--tw-content);background:var(--uilint-glass-highlight)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:inset-x-0:after{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\\:right-0:after{content:var(--tw-content);right:calc(var(--spacing)*0)}.after\\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing)*0)}.after\\:h-\\(--bottom-fade-height\\):after{content:var(--tw-content);height:var(--bottom-fade-height)}.after\\:w-\\(--right-fade-width\\):after{content:var(--tw-content);width:var(--right-fade-width)}.after\\:bg-gradient-to-l:after{content:var(--tw-content);--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.after\\:bg-gradient-to-t:after{content:var(--tw-content);--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.after\\:from-background:after{content:var(--tw-content);--tw-gradient-from:var(--uilint-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.after\\:to-transparent:after{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.after\\:opacity-0:after{content:var(--tw-content);opacity:0}.after\\:opacity-100:after{content:var(--tw-content);opacity:1}.after\\:transition-\\[height\\,opacity\\]:after{content:var(--tw-content);transition-property:height,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\\:transition-\\[width\\,opacity\\]:after{content:var(--tw-content);transition-property:width,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\\:duration-300:after{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\\:border-foreground\\/\\[0\\.08\\]:hover{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:border-foreground\\/\\[0\\.08\\]:hover{border-color:color-mix(in oklab,var(--uilint-foreground)8%,transparent)}}.hover\\:bg-\\[var\\(--uilint-active\\)\\]:hover{background-color:var(--uilint-active)}.hover\\:bg-\\[var\\(--uilint-button-destructive-bg\\)\\]\\/90:hover{background-color:var(--uilint-button-destructive-bg)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-destructive-bg\\)\\]\\/90:hover{background-color:color-mix(in oklab,var(--uilint-button-destructive-bg)90%,transparent)}}.hover\\:bg-\\[var\\(--uilint-button-ghost-text\\)\\]\\/10:hover{background-color:var(--uilint-button-ghost-text)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-ghost-text\\)\\]\\/10:hover{background-color:color-mix(in oklab,var(--uilint-button-ghost-text)10%,transparent)}}.hover\\:bg-\\[var\\(--uilint-button-outline-text\\)\\]\\/10:hover{background-color:var(--uilint-button-outline-text)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-outline-text\\)\\]\\/10:hover{background-color:color-mix(in oklab,var(--uilint-button-outline-text)10%,transparent)}}.hover\\:bg-\\[var\\(--uilint-button-secondary-bg\\)\\]\\/80:hover{background-color:var(--uilint-button-secondary-bg)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-secondary-bg\\)\\]\\/80:hover{background-color:color-mix(in oklab,var(--uilint-button-secondary-bg)80%,transparent)}}.hover\\:bg-\\[var\\(--uilint-glass-medium\\)\\]:hover{background-color:var(--uilint-glass-medium)}.hover\\:bg-\\[var\\(--uilint-hover\\)\\]:hover{background-color:var(--uilint-hover)}.hover\\:bg-error\\/10:hover{background-color:var(--uilint-error)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-error\\/10:hover{background-color:color-mix(in oklab,var(--uilint-error)10%,transparent)}}.hover\\:bg-foreground\\/4:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/4:hover{background-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.hover\\:bg-foreground\\/6:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/6:hover{background-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.02\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.02\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)2%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.03\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.03\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)3%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.04\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.04\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)4%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.05\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.05\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)5%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.06\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.06\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)6%,transparent)}}.hover\\:bg-foreground\\/\\[0\\.08\\]:hover{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-foreground\\/\\[0\\.08\\]:hover{background-color:color-mix(in oklab,var(--uilint-foreground)8%,transparent)}}.hover\\:bg-info\\/10:hover{background-color:var(--uilint-info)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-info\\/10:hover{background-color:color-mix(in oklab,var(--uilint-info)10%,transparent)}}.hover\\:bg-red-500\\/80:hover{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/80:hover{background-color:color-mix(in oklab,var(--color-red-500)80%,transparent)}}.hover\\:bg-red-500\\/90:hover{background-color:#fb2c36e6}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/90:hover{background-color:color-mix(in oklab,var(--color-red-500)90%,transparent)}}.hover\\:bg-warning\\/10:hover{background-color:var(--uilint-warning)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-warning\\/10:hover{background-color:color-mix(in oklab,var(--uilint-warning)10%,transparent)}}.hover\\:bg-white\\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\\:bg-zinc-100:hover{background-color:var(--color-zinc-100)}.hover\\:bg-zinc-100\\/60:hover{background-color:#f4f4f599}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-100\\/60:hover{background-color:color-mix(in oklab,var(--color-zinc-100)60%,transparent)}}.hover\\:bg-zinc-100\\/80:hover{background-color:#f4f4f5cc}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-100\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-100)80%,transparent)}}.hover\\:bg-zinc-900\\/80:hover{background-color:#18181bcc}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-900\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-900)80%,transparent)}}.hover\\:bg-zinc-900\\/90:hover{background-color:#18181be6}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-900\\/90:hover{background-color:color-mix(in oklab,var(--color-zinc-900)90%,transparent)}}.hover\\:text-\\[var\\(--uilint-text-primary\\)\\]:hover{color:var(--uilint-text-primary)}.hover\\:text-\\[var\\(--uilint-text-secondary\\)\\]:hover{color:var(--uilint-text-secondary)}.hover\\:text-foreground:hover,.hover\\:text-foreground\\/70:hover{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-foreground\\/70:hover{color:color-mix(in oklab,var(--uilint-foreground)70%,transparent)}}.hover\\:text-foreground\\/80:hover{color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-foreground\\/80:hover{color:color-mix(in oklab,var(--uilint-foreground)80%,transparent)}}.hover\\:text-muted-foreground:hover,.hover\\:text-muted-foreground\\/70:hover{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-muted-foreground\\/70:hover{color:color-mix(in oklab,var(--uilint-text-muted)70%,transparent)}}.hover\\:text-muted-foreground\\/80:hover{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-muted-foreground\\/80:hover{color:color-mix(in oklab,var(--uilint-text-muted)80%,transparent)}}.hover\\:text-zinc-800:hover{color:var(--color-zinc-800)}.hover\\:text-zinc-900:hover{color:var(--color-zinc-900)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-\\[var\\(--uilint-button-shadow-hover\\)\\]:hover{--tw-shadow:var(--uilint-button-shadow-hover);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:brightness-\\[0\\.97\\]:hover{--tw-brightness:brightness(.97);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,)}}.focus\\:border-\\[var\\(--uilint-error\\)\\]:focus{border-color:var(--uilint-error)}.focus\\:border-\\[var\\(--uilint-input-border-focus\\)\\]:focus{border-color:var(--uilint-input-border-focus)}.focus\\:border-error:focus{border-color:var(--uilint-error)}.focus\\:border-foreground\\/\\[0\\.12\\]:focus{border-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.focus\\:border-foreground\\/\\[0\\.12\\]:focus{border-color:color-mix(in oklab,var(--uilint-foreground)12%,transparent)}}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-foreground\\/20:focus{--tw-ring-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-foreground\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--uilint-foreground)20%,transparent)}}.focus\\:ring-zinc-950:focus{--tw-ring-color:var(--color-zinc-950)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-\\[var\\(--uilint-button-default-bg\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-default-bg)}.focus-visible\\:ring-\\[var\\(--uilint-button-destructive-bg\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-destructive-bg)}.focus-visible\\:ring-\\[var\\(--uilint-button-ghost-text\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-ghost-text)}.focus-visible\\:ring-\\[var\\(--uilint-button-outline-text\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-outline-text)}.focus-visible\\:ring-\\[var\\(--uilint-button-secondary-bg\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-secondary-bg)}.focus-visible\\:ring-foreground\\/25:focus-visible{--tw-ring-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-foreground\\/25:focus-visible{--tw-ring-color:color-mix(in oklab,var(--uilint-foreground)25%,transparent)}}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color:var(--uilint-border-focus)}.focus-visible\\:ring-white\\/50:focus-visible{--tw-ring-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-white\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.focus-visible\\:ring-zinc-950:focus-visible{--tw-ring-color:var(--color-zinc-950)}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--uilint-background)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:scale-x-98:active{--tw-scale-x:98%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-y-95:active{--tw-scale-y:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.active\\:bg-zinc-100\\/70:active{background-color:#f4f4f5b3}@supports (color:color-mix(in lab,red,red)){.active\\:bg-zinc-100\\/70:active{background-color:color-mix(in oklab,var(--color-zinc-100)70%,transparent)}}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}.data-\\[state\\=open\\]\\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}@media(min-width:40rem){.sm\\:inline{display:inline}.sm\\:h-5{height:calc(var(--spacing)*5)}.sm\\:min-h-0{min-height:calc(var(--spacing)*0)}.sm\\:w-5{width:calc(var(--spacing)*5)}.sm\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.sm\\:max-w-lg{max-width:var(--container-lg)}.sm\\:columns-3{columns:3}.sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:rounded-lg{border-radius:var(--uilint-radius-lg)}.sm\\:rounded-xl{border-radius:var(--radius-xl)}.sm\\:p-1\\.5{padding:calc(var(--spacing)*1.5)}.sm\\:p-3{padding:calc(var(--spacing)*3)}.sm\\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\\:px-2{padding-inline:calc(var(--spacing)*2)}.sm\\:px-4{padding-inline:calc(var(--spacing)*4)}.sm\\:py-4{padding-block:calc(var(--spacing)*4)}.sm\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\\:shadow-\\[inset_0_0_2px_1px_hsl\\(var\\(--border\\)\\/0\\.3\\)\\]{--tw-shadow:inset 0 0 2px 1px var(--tw-shadow-color,hsl(var(--border)/.3));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(min-width:48rem){.md\\:max-w-\\[calc\\(100\\%-4rem\\)\\]{max-width:calc(100% - 4rem)}.md\\:rounded-3xl{border-radius:var(--radius-3xl)}.md\\:rounded-\\[2rem\\]{border-radius:2rem}.md\\:p-2{padding:calc(var(--spacing)*2)}.md\\:p-4{padding:calc(var(--spacing)*4)}}@media(prefers-color-scheme:dark){.dark\\:border-zinc-50\\/10{border-color:#fafafa1a}@supports (color:color-mix(in lab,red,red)){.dark\\:border-zinc-50\\/10{border-color:color-mix(in oklab,var(--color-zinc-50)10%,transparent)}}.dark\\:border-zinc-800{border-color:var(--color-zinc-800)}.dark\\:bg-amber-500\\/25{background-color:#f99c0040}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-amber-500\\/25{background-color:color-mix(in oklab,var(--color-amber-500)25%,transparent)}}.dark\\:bg-blue-500\\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-blue-500\\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.dark\\:bg-emerald-500\\/25{background-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-emerald-500\\/25{background-color:color-mix(in oklab,var(--color-emerald-500)25%,transparent)}}.dark\\:bg-red-500\\/25{background-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-500\\/25{background-color:color-mix(in oklab,var(--color-red-500)25%,transparent)}}.dark\\:bg-red-900{background-color:var(--color-red-900)}.dark\\:bg-zinc-50{background-color:var(--color-zinc-50)}.dark\\:bg-zinc-100{background-color:var(--color-zinc-100)}.dark\\:bg-zinc-700{background-color:var(--color-zinc-700)}.dark\\:bg-zinc-800{background-color:var(--color-zinc-800)}.dark\\:bg-zinc-800\\/50{background-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-zinc-800\\/50{background-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.dark\\:bg-zinc-950{background-color:var(--color-zinc-950)}.dark\\:text-amber-300{color:var(--color-amber-300)}.dark\\:text-blue-400{color:var(--color-blue-400)}.dark\\:text-emerald-300{color:var(--color-emerald-300)}.dark\\:text-red-300{color:var(--color-red-300)}.dark\\:text-zinc-50{color:var(--color-zinc-50)}.dark\\:text-zinc-100{color:var(--color-zinc-100)}.dark\\:text-zinc-400{color:var(--color-zinc-400)}.dark\\:text-zinc-900{color:var(--color-zinc-900)}.dark\\:shadow-\\[0_0_0_1px_rgba\\(255\\,252\\,240\\,0\\.08\\)\\,0px_2px_2px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\,0px_8px_16px_-4px_rgba\\(0\\,0\\,0\\,0\\.3\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#fffcf014),0px 2px 2px var(--tw-shadow-color,#0003),0px 8px 16px -4px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:shadow-\\[0px_1px_1px_0px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.02\\)_inset\\,0px_1px_1px_0px_rgba\\(255\\,255\\,255\\,0\\.05\\)_inset\\,0px_0px_0px_1px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.05\\)_inset\\,0px_0px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#ffffff05)inset,0px 1px 1px 0px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 1px 0px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:shadow-\\[0px_1px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\,0px_1px_1px_0px_rgba\\(255\\,255\\,255\\,0\\.05\\)_inset\\,0px_0px_0px_1px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.05\\)_inset\\,0px_0px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.8\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#0003),0px 1px 1px 0px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 1px 0px var(--tw-shadow-color,#000c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:shadow-\\[inset_0_0_1px_1px_hsl\\(var\\(--border\\)\\/0\\.5\\)\\]{--tw-shadow:inset 0 0 1px 1px var(--tw-shadow-color,hsl(var(--border)/.5));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:ring-zinc-800\\/50{--tw-ring-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-zinc-800\\/50{--tw-ring-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.dark\\:ring-offset-zinc-950{--tw-ring-offset-color:var(--color-zinc-950)}@media(hover:hover){.dark\\:dark\\:hover\\:bg-zinc-800\\/50:hover{background-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.dark\\:dark\\:hover\\:bg-zinc-800\\/50:hover{background-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}}@media(hover:hover){.dark\\:hover\\:bg-red-900\\/80:hover{background-color:#82181acc}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-900\\/80:hover{background-color:color-mix(in oklab,var(--color-red-900)80%,transparent)}}.dark\\:hover\\:bg-red-900\\/90:hover{background-color:#82181ae6}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-900\\/90:hover{background-color:color-mix(in oklab,var(--color-red-900)90%,transparent)}}.dark\\:hover\\:bg-zinc-50\\/80:hover{background-color:#fafafacc}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-50\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-50)80%,transparent)}}.dark\\:hover\\:bg-zinc-50\\/90:hover{background-color:#fafafae6}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-50\\/90:hover{background-color:color-mix(in oklab,var(--color-zinc-50)90%,transparent)}}.dark\\:hover\\:bg-zinc-100\\/50:hover{background-color:#f4f4f580}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-100\\/50:hover{background-color:color-mix(in oklab,var(--color-zinc-100)50%,transparent)}}.dark\\:hover\\:bg-zinc-700:hover{background-color:var(--color-zinc-700)}.dark\\:hover\\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.dark\\:hover\\:bg-zinc-800\\/60:hover{background-color:#27272a99}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-800\\/60:hover{background-color:color-mix(in oklab,var(--color-zinc-800)60%,transparent)}}.dark\\:hover\\:bg-zinc-800\\/80:hover{background-color:#27272acc}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-800\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-800)80%,transparent)}}.dark\\:hover\\:text-zinc-50:hover{color:var(--color-zinc-50)}}.dark\\:focus\\:ring-zinc-300:focus,.dark\\:focus-visible\\:ring-zinc-300:focus-visible{--tw-ring-color:var(--color-zinc-300)}.dark\\:active\\:bg-zinc-800\\/70:active{background-color:#27272ab3}@supports (color:color-mix(in lab,red,red)){.dark\\:active\\:bg-zinc-800\\/70:active{background-color:color-mix(in oklab,var(--color-zinc-800)70%,transparent)}}@media(min-width:40rem){.dark\\:sm\\:shadow-\\[inset_0_0_2px_1px_hsl\\(var\\(--border\\)\\/0\\.5\\)\\]{--tw-shadow:inset 0 0 2px 1px var(--tw-shadow-color,hsl(var(--border)/.5));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&_svg\\]\\:h-4 svg{height:calc(var(--spacing)*4)}.\\[\\&_svg\\]\\:h-5 svg{height:calc(var(--spacing)*5)}.\\[\\&_svg\\]\\:h-\\[18px\\] svg{height:18px}.\\[\\&_svg\\]\\:w-4 svg{width:calc(var(--spacing)*4)}.\\[\\&_svg\\]\\:w-5 svg{width:calc(var(--spacing)*5)}.\\[\\&_svg\\]\\:w-\\[18px\\] svg{width:18px}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\\[\\&\\:\\:-webkit-scrollbar\\]\\:h-1::-webkit-scrollbar{height:calc(var(--spacing)*1)}.\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:rounded-full::-webkit-scrollbar-thumb{border-radius:3.40282e38px}.\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:bg-foreground\\/10::-webkit-scrollbar-thumb{background-color:var(--uilint-foreground)}@supports (color:color-mix(in lab,red,red)){.\\[\\&\\:\\:-webkit-scrollbar-thumb\\]\\:bg-foreground\\/10::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--uilint-foreground)10%,transparent)}}.\\[\\&\\:\\:-webkit-scrollbar-track\\]\\:bg-transparent::-webkit-scrollbar-track{background-color:#0000}.\\[\\&\\>div\\]\\:\\!block>div{display:block!important}[data-slot=tooltip-content] .\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}[data-slot=tooltip-content] .\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:text-white{color:var(--color-white)}@media(prefers-color-scheme:dark){[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/20{background-color:#09090b33}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/20{background-color:color-mix(in oklab,var(--color-zinc-950)20%,transparent)}}[data-slot=tooltip-content] .dark\\:dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/10{background-color:#09090b1a}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .dark\\:dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/10{background-color:color-mix(in oklab,var(--color-zinc-950)10%,transparent)}}[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:text-zinc-950{color:var(--color-zinc-950)}}}:root{--uilint-tile-rule:oklch(65% .15 259);--uilint-tile-file:oklch(68% .14 142);--uilint-background:oklch(98.5% .002 265);--uilint-background-elevated:oklch(96.7% .003 265);--uilint-foreground:oklch(14.1% .005 265);--uilint-surface:oklch(98.5% .002 265);--uilint-surface-elevated:oklch(96.7% .003 265);--uilint-text-primary:oklch(14.1% .005 265);--uilint-text-secondary:oklch(37% .013 265);--uilint-text-muted:oklch(55.2% .016 265);--uilint-text-disabled:oklch(70.5% .015 265);--uilint-hover:oklch(55.2% .016 265/.12);--uilint-active:oklch(44.2% .017 265/.16);--uilint-border:oklch(92% .004 265);--uilint-border-focus:oklch(55.2% .016 265);--uilint-accent:oklch(44.2% .017 265);--uilint-accent-foreground:oklch(98.5% .002 265);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.15);--uilint-warning:#f59e0b;--uilint-warning-bg:#f59e0b26;--uilint-error:#fca5a5;--uilint-error-bg:#fca5a526;--uilint-info:oklch(62.3% .214 259);--uilint-info-bg:oklch(62.3% .214 259/.15);--uilint-shadow:0 4px 20px oklch(14.1% .005 265/.12);--uilint-shadow-lg:0 8px 32px oklch(14.1% .005 265/.18);--uilint-backdrop:oklch(98.5% .002 265/.92);--uilint-glass:oklch(99% .002 265/.7);--uilint-glass-border:oklch(100% .002 265/.25);--uilint-glass-highlight:oklch(100% 0 0/.4);--uilint-glass-blur-light:8px;--uilint-glass-blur-medium:16px;--uilint-glass-blur-heavy:24px;--uilint-glass-light:oklch(99% .002 265/.5);--uilint-glass-medium:oklch(99% .002 265/.7);--uilint-glass-heavy:oklch(99% .002 265/.85);--uilint-kbd-background:linear-gradient(180deg,oklch(100% 0 0) 0%,oklch(96.7% .003 265) 100%);--uilint-kbd-border:oklch(0% 0 0/.1);--uilint-kbd-shadow:0 1px 0 oklch(0% 0 0/.08);--uilint-kbd-text:oklch(44.2% .017 265);--uilint-badge-radius:6px;--uilint-button-radius:8px;--uilint-button-shadow:0 1px 2px oklch(0% 0 0/.05);--uilint-button-shadow-hover:0 2px 4px oklch(0% 0 0/.1);--uilint-button-default-bg:var(--uilint-accent);--uilint-button-default-text:var(--uilint-accent-foreground);--uilint-button-default-border:transparent;--uilint-button-secondary-bg:oklch(96.7% .003 265);--uilint-button-secondary-text:var(--uilint-text-primary);--uilint-button-secondary-border:var(--uilint-border);--uilint-button-ghost-bg:transparent;--uilint-button-ghost-text:var(--uilint-text-secondary);--uilint-button-ghost-border:transparent;--uilint-button-destructive-bg:var(--uilint-error);--uilint-button-destructive-text:oklch(100% 0 0);--uilint-button-destructive-border:transparent;--uilint-button-outline-bg:transparent;--uilint-button-outline-text:var(--uilint-text-primary);--uilint-button-outline-border:var(--uilint-border);--uilint-button-glass-bg:var(--uilint-glass-medium);--uilint-button-glass-text:var(--uilint-text-primary);--uilint-button-glass-border:var(--uilint-glass-border);--uilint-input-bg:oklch(100% 0 0/.6);--uilint-input-border:var(--uilint-border);--uilint-input-border-focus:var(--uilint-border-focus);--uilint-input-placeholder:var(--uilint-text-muted);--uilint-input-radius:8px;--uilint-input-ring:oklch(55.2% .016 265/.25);--uilint-card-bg:var(--uilint-surface);--uilint-card-border:var(--uilint-border);--uilint-card-radius:12px;--uilint-card-shadow:0 1px 3px oklch(0% 0 0/.04);--uilint-card-shadow-hover:0 4px 12px oklch(0% 0 0/.08);--uilint-card-elevated-bg:var(--uilint-surface-elevated);--uilint-card-elevated-shadow:0 4px 16px oklch(0% 0 0/.1);--uilint-card-glass-bg:var(--uilint-glass-medium);--uilint-card-glass-border:var(--uilint-glass-border);--uilint-icon-button-size:32px;--uilint-icon-button-size-sm:28px;--uilint-icon-button-size-lg:40px;--uilint-icon-button-radius:8px;--uilint-scrollbar-track:oklch(92% .004 265);--uilint-scrollbar-thumb:oklch(70.5% .015 265);--uilint-scrollbar-thumb-hover:oklch(55.2% .016 265);--uilint-radius:12px;--uilint-radius-sm:8px;--uilint-radius-lg:16px;--uilint-transition-fast:.1s ease;--uilint-transition-normal:.15s ease;--uilint-transition-slow:.25s ease;color-scheme:light}.dev-tool-root{color-scheme:light}.dark,.dark .dev-tool-root,.dev-tool-root.dark,.dev-tool-root[data-theme=dark]{--uilint-background:oklch(14.1% .005 265);--uilint-background-elevated:oklch(21% .006 265);--uilint-foreground:oklch(98.5% .002 265);--uilint-surface:oklch(14.1% .005 265);--uilint-surface-elevated:oklch(21% .006 265);--uilint-text-primary:oklch(98.5% .002 265);--uilint-text-secondary:oklch(87% .006 265);--uilint-text-muted:oklch(70.5% .015 265);--uilint-text-disabled:oklch(44.2% .017 265);--uilint-hover:oklch(70.5% .015 265/.12);--uilint-active:oklch(70.5% .015 265/.18);--uilint-border:oklch(98.5% .002 265/.12);--uilint-border-focus:oklch(70.5% .015 265);--uilint-accent:oklch(70.5% .015 265);--uilint-accent-foreground:oklch(14.1% .005 265);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.2);--uilint-warning:#fbbf24;--uilint-warning-bg:#fbbf2433;--uilint-error:#fecaca;--uilint-error-bg:#fecaca33;--uilint-info:oklch(62.3% .214 259);--uilint-info-bg:oklch(62.3% .214 259/.2);--uilint-shadow:0 4px 20px oklch(0% 0 0/.4);--uilint-shadow-lg:0 8px 32px oklch(0% 0 0/.5);--uilint-backdrop:oklch(14.1% .005 265/.92);--uilint-glass:oklch(21% .006 265/.7);--uilint-glass-border:oklch(100% .002 265/.12);--uilint-glass-highlight:oklch(100% 0 0/.1);--uilint-glass-light:oklch(23% .006 265/.5);--uilint-glass-medium:oklch(21% .006 265/.7);--uilint-glass-heavy:oklch(18% .005 265/.85);--uilint-kbd-background:linear-gradient(180deg,oklch(27.4% .006 265) 0%,oklch(21% .006 265) 100%);--uilint-kbd-border:oklch(100% 0 0/.1);--uilint-kbd-shadow:0 1px 0 oklch(0% 0 0/.2);--uilint-kbd-text:oklch(70.5% .015 265);--uilint-button-default-bg:var(--uilint-accent);--uilint-button-default-text:var(--uilint-accent-foreground);--uilint-button-default-border:transparent;--uilint-button-secondary-bg:oklch(27.4% .006 265);--uilint-button-secondary-text:var(--uilint-text-primary);--uilint-button-secondary-border:var(--uilint-border);--uilint-button-ghost-bg:transparent;--uilint-button-ghost-text:var(--uilint-text-secondary);--uilint-button-ghost-border:transparent;--uilint-button-destructive-bg:var(--uilint-error);--uilint-button-destructive-text:oklch(100% 0 0);--uilint-button-destructive-border:transparent;--uilint-button-outline-bg:transparent;--uilint-button-outline-text:var(--uilint-text-primary);--uilint-button-outline-border:var(--uilint-border);--uilint-button-glass-bg:var(--uilint-glass-medium);--uilint-button-glass-text:var(--uilint-text-primary);--uilint-button-glass-border:var(--uilint-glass-border);--uilint-input-bg:oklch(23% .006 265/.6);--uilint-input-border:var(--uilint-border);--uilint-input-border-focus:var(--uilint-border-focus);--uilint-input-placeholder:var(--uilint-text-muted);--uilint-input-ring:oklch(70.5% .015 265/.25);--uilint-card-bg:var(--uilint-surface);--uilint-card-border:var(--uilint-border);--uilint-card-shadow:0 1px 3px oklch(0% 0 0/.2);--uilint-card-shadow-hover:0 4px 12px oklch(0% 0 0/.3);--uilint-card-elevated-bg:var(--uilint-surface-elevated);--uilint-card-elevated-shadow:0 4px 16px oklch(0% 0 0/.4);--uilint-card-glass-bg:var(--uilint-glass-medium);--uilint-card-glass-border:var(--uilint-glass-border);--uilint-scrollbar-track:oklch(21% .006 265);--uilint-scrollbar-thumb:oklch(37% .013 265);--uilint-scrollbar-thumb-hover:oklch(44.2% .017 265);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not(.light) .dev-tool-root:not(.light):not([data-theme=light]),.dev-tool-root:not(.light):not([data-theme=light]){--uilint-background:oklch(14.1% .005 265);--uilint-background-elevated:oklch(21% .006 265);--uilint-foreground:oklch(98.5% .002 265);--uilint-surface:oklch(14.1% .005 265);--uilint-surface-elevated:oklch(21% .006 265);--uilint-text-primary:oklch(98.5% .002 265);--uilint-text-secondary:oklch(87% .006 265);--uilint-text-muted:oklch(70.5% .015 265);--uilint-text-disabled:oklch(44.2% .017 265);--uilint-hover:oklch(70.5% .015 265/.12);--uilint-active:oklch(70.5% .015 265/.18);--uilint-border:oklch(98.5% .002 265/.12);--uilint-border-focus:oklch(70.5% .015 265);--uilint-accent:oklch(70.5% .015 265);--uilint-accent-foreground:oklch(14.1% .005 265);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.2);--uilint-warning:#fbbf24;--uilint-warning-bg:#fbbf2433;--uilint-error:#fecaca;--uilint-error-bg:#fecaca33;--uilint-shadow:0 4px 20px oklch(0% 0 0/.4);--uilint-backdrop:oklch(14.1% .005 265/.92);--uilint-glass:oklch(21% .006 265/.7);--uilint-glass-border:oklch(100% .002 265/.12);--uilint-scrollbar-track:oklch(21% .006 265);--uilint-scrollbar-thumb:oklch(37% .013 265);--uilint-scrollbar-thumb-hover:oklch(44.2% .017 265);color-scheme:dark}}.light,.light .dev-tool-root,.dev-tool-root.light,.dev-tool-root[data-theme=light]{--uilint-background:oklch(98.5% .002 265);--uilint-background-elevated:oklch(96.7% .003 265);--uilint-foreground:oklch(14.1% .005 265);--uilint-surface:oklch(98.5% .002 265);--uilint-surface-elevated:oklch(96.7% .003 265);--uilint-text-primary:oklch(14.1% .005 265);--uilint-text-secondary:oklch(37% .013 265);--uilint-text-muted:oklch(55.2% .016 265);--uilint-text-disabled:oklch(70.5% .015 265);--uilint-hover:oklch(55.2% .016 265/.12);--uilint-active:oklch(44.2% .017 265/.16);--uilint-border:oklch(92% .004 265);--uilint-border-focus:oklch(55.2% .016 265);--uilint-accent:oklch(44.2% .017 265);--uilint-accent-foreground:oklch(98.5% .002 265);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.15);--uilint-warning:#f59e0b;--uilint-warning-bg:#f59e0b26;--uilint-error:#fca5a5;--uilint-error-bg:#fca5a526;--uilint-shadow:0 4px 20px oklch(14.1% .005 265/.12);--uilint-backdrop:oklch(98.5% .002 265/.92);--uilint-glass:oklch(99% .002 265/.7);--uilint-glass-border:oklch(100% .002 265/.25);--uilint-scrollbar-track:oklch(92% .004 265);--uilint-scrollbar-thumb:oklch(70.5% .015 265);--uilint-scrollbar-thumb-hover:oklch(55.2% .016 265);color-scheme:light}@keyframes uilint-fade-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes uilint-fade-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes uilint-pulse{0%,to{box-shadow:0 0 6px 2px var(--uilint-pulse-color,#ffa50066)}50%{box-shadow:0 0 16px 6px var(--uilint-pulse-color,#ffa50099)}}@keyframes uilint-spotlight{0%{box-shadow:0 0 4px 1px var(--uilint-pulse-color,#ffa5004d)}50%{box-shadow:0 0 10px 3px var(--uilint-pulse-color,#ffa50073)}to{box-shadow:0 0 4px 1px var(--uilint-pulse-color,#ffa5004d)}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes uilint-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes uilint-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes uilint-popover-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-ui-lint] *{scrollbar-width:thin;scrollbar-color:var(--uilint-scrollbar-thumb)var(--uilint-scrollbar-track)}[data-ui-lint] ::-webkit-scrollbar{width:8px;height:8px}[data-ui-lint] ::-webkit-scrollbar-track{background:var(--uilint-scrollbar-track);border-radius:4px}[data-ui-lint] ::-webkit-scrollbar-thumb{background:var(--uilint-scrollbar-thumb);border-radius:4px}[data-ui-lint] ::-webkit-scrollbar-thumb:hover{background:var(--uilint-scrollbar-thumb-hover)}@media(max-width:767px){.dev-tool-root{--uilint-radius:16px}}.safe-area-padding-top{padding-top:env(safe-area-inset-top,0px)}.safe-area-padding-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.safe-area-padding-left{padding-left:env(safe-area-inset-left,0px)}.safe-area-padding-right{padding-right:env(safe-area-inset-right,0px)}@keyframes uilint-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes uilint-sheet-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media(pointer:coarse){.dev-tool-root button:focus-visible,.dev-tool-root [role=button]:focus-visible{outline-offset:2px}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}`;let x2=!1;const WR="uilint-devtool-root";function eM(){return typeof window<"u"}function jU({enabled:a=!0,mode:o="websocket",manifestUrl:l}){const[u,d]=N.useState(!1),[p,g]=N.useState(x2),v=N.useRef(null),b=N.useRef(!1);return o==="static"&&!l&&Ft("[DevTool] Static mode requires manifestUrl prop"),N.useEffect(()=>{d(!0)},[]),N.useEffect(()=>{if(!eM()||!a)return;KR(JR);const S=document.querySelector(`.${WR}`);if(S){v.current=S,b.current=!1;return}const T=document.createElement("div");return T.className=WR,T.setAttribute("data-ui-lint-root","true"),document.body.appendChild(T),v.current=T,b.current=!0,()=>{b.current&&v.current?.remove(),v.current=null,b.current=!1}},[a]),N.useEffect(()=>{if(!eM()||!a||!u)return;let S=null;const T=o==="static"&&l;async function C(){if(T?(Ye("[DevTool] Configuring static mode with manifest:",l),aR(l)):iR(),!x2){Yn.register(v2),Yn.register(OU);const M=await nU([]);for(const j of M)Yn.register(j);Ye(`[DevTool] Loaded ${M.length} external plugin(s):`,M.map(j=>j.id).join(", ")),await T_({websocket:Vo,domObserver:Lg}),x2=!0,Ye("[DevTool] Plugins initialized in",T?"static":"websocket","mode")}const k=A_();if(k&&k.getState().setConnectionStatus({mode:T?"static":"websocket",maxReconnectAttempts:Lu}),g(!0),T)Ye("[DevTool] Static mode: starting DOM observer"),Lg.start();else{const M=await U7(),j=M?`ws://localhost:${M.port}`:void 0;M&&Ye(`[DevTool] Discovered server on port ${M.port}`),Vo.connect(j),S=Vo.onConnectionChange(V=>{V?(Ye("[DevTool] WebSocket connected, starting DOM observer"),Lg.start()):(Ye("[DevTool] WebSocket disconnected, stopping DOM observer"),Lg.stop())})}}return C(),()=>{S?.(),T||Vo.disconnect(),Lg.stop()}},[a,u,o,l]),!a||!u||!p?null:E.jsx(VL,{enabled:a})}function tM(a,o){a.setAttribute("data-position",o)}function NU(){if(typeof document>"u")return"light";const a=document.documentElement,o=document.body;if(a.classList.contains("dark")||o.classList.contains("dark"))return"dark";if(a.classList.contains("light")||o.classList.contains("light"))return"light";const l=a.getAttribute("data-theme"),u=o.getAttribute("data-theme");if(l==="dark"||u==="dark")return"dark";if(l==="light"||u==="light")return"light";const d=a.getAttribute("data-mode"),p=o.getAttribute("data-mode");return d==="dark"||p==="dark"?"dark":d==="light"||p==="light"?"light":window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"}function nM(a,o){a.classList.remove("light","dark"),a.removeAttribute("data-theme"),o!=="system"&&(a.classList.add(o),a.setAttribute("data-theme",o))}function LU(){if(typeof window>"u"||customElements.get("uilint-devtools"))return;class a extends HTMLElement{static get observedAttributes(){return["enabled","position","theme","mode","manifest-url"]}rootEl=null;reactRoot=null;themeObserver=null;mediaQueryListener=null;connectedCallback(){KR(JR);const l=document.createElement("div");l.className="dev-tool-root",l.setAttribute("data-ui-lint-root","true"),document.body.appendChild(l),this.rootEl=l,tM(l,this.getPosition()),this.syncTheme(),this.setupThemeObserver(),this.reactRoot=kD.createRoot(l),this.render()}disconnectedCallback(){this.reactRoot?.unmount(),this.reactRoot=null,this.rootEl?.remove(),this.rootEl=null,this.themeObserver?.disconnect(),this.themeObserver=null,this.mediaQueryListener&&(window.matchMedia("(prefers-color-scheme: dark)").removeEventListener("change",this.mediaQueryListener),this.mediaQueryListener=null)}attributeChangedCallback(){this.rootEl&&(tM(this.rootEl,this.getPosition()),this.syncTheme(),this.render())}getEnabled(){const l=this.getAttribute("enabled");return l==null?!0:l!=="false"}getPosition(){const l=this.getAttribute("position");switch(l){case"bottom-right":case"top-left":case"top-right":case"bottom-left":case"top-center":case"bottom-center":return l;default:return"top-center"}}getTheme(){const l=this.getAttribute("theme");switch(l){case"light":case"dark":return l;default:return"system"}}getMode(){return this.getAttribute("mode")==="static"?"static":"websocket"}getManifestUrl(){return this.getAttribute("manifest-url")??void 0}syncTheme(){if(!this.rootEl)return;const l=this.getTheme();if(l==="system"){const u=NU();nM(this.rootEl,u)}else nM(this.rootEl,l)}setupThemeObserver(){this.themeObserver=new MutationObserver(()=>{this.getTheme()==="system"&&this.syncTheme()});const l={attributes:!0,attributeFilter:["class","data-theme","data-mode"]};this.themeObserver.observe(document.documentElement,l),this.themeObserver.observe(document.body,l);const u=window.matchMedia("(prefers-color-scheme: dark)");this.mediaQueryListener=()=>{this.getTheme()==="system"&&this.syncTheme()},u.addEventListener("change",this.mediaQueryListener)}render(){this.reactRoot&&this.reactRoot.render(E.jsx(jU,{enabled:this.getEnabled(),mode:this.getMode(),manifestUrl:this.getManifestUrl()}))}}customElements.define("uilint-devtools",a)}LU();function w2(a,o){const l=o.split(".");let u=a;for(const d of l){if(u==null)return;if(typeof u=="object")u=u[d];else return}return u}function ja(a,o){const l=a.binding;let u=w2(o.data,l);return u===void 0&&(u=w2(o.state,l)),u===void 0&&(u=w2(o.computed,l)),u}function UU(a,o){const l=a.expression,u={...o.data,...o.state,...o.computed};try{const d=Object.keys(u),p=Object.values(u);return new Function(...d,`return (${l});`)(...p)}catch(d){console.warn(`[SchemaRenderer] Failed to evaluate expression: ${l}`,d);return}}function ps(a,o){return Vy(a)?ja(a,o):a}function BU(a,o){return ja(a.condition,o)?a.true:a.false}function aM(a,o){return mT(a)?BU(a,o):Vy(a)?ja(a,o):a}function S2(a,o){return pT(a)?!!UU(a,o):!!ja(a,o)}function E2(a,o,l){const u={...a};if(o)for(const[d,p]of Object.entries(o))u[d]=ja({binding:p},l);return u}function VU({section:a,ctx:o}){const l=ps(a.text,o),u=ps(a.subtitle,o),d=a.icon?Uu(a.icon):null;return E.jsxs("div",{className:xe("flex items-start gap-2 mb-3",a.sticky&&"sticky top-0 bg-surface py-2 z-10"),children:[d&&E.jsx("span",{className:"text-muted-foreground shrink-0 mt-0.5",children:E.jsx(d,{size:16})}),E.jsxs("div",{children:[E.jsx("h3",{className:"m-0 text-sm font-semibold text-text-primary",children:String(l??"")}),u&&E.jsx("p",{className:"mt-1 mb-0 text-xs text-muted-foreground",children:String(u)})]})]})}function HU({code:a,startLine:o=1,highlightLines:l,maxHeight:u}){const d=a.split(`
258
258
  `),p=new Set(l||[]);return E.jsx("div",{className:"font-mono text-xs bg-surface rounded border border-border overflow-auto",style:{maxHeight:u||200},children:d.map((g,v)=>{const b=o+v,S=p.has(b);return E.jsxs("div",{className:`flex ${S?"bg-accent/15":"bg-transparent"}`,children:[E.jsx("span",{className:"w-12 pr-2 text-right text-muted-foreground select-none shrink-0 border-r border-border",children:b}),E.jsx("pre",{className:"m-0 px-2 whitespace-pre-wrap break-all flex-1",children:g||" "})]},v)})})}function T2({section:a,ctx:o,onAction:l,onFetch:u}){const[d,p]=ft.useState(null),[g,v]=ft.useState(!1),b=a.code;ft.useEffect(()=>{if(Vy(b)){const M=ja(b,o);p(typeof M=="string"?M:null)}else if("fetch"in b&&u){v(!0);const M=b.fetch,j={};M.params.filePath&&(j.filePath=ja(M.params.filePath,o)),M.params.line&&(j.line=ja(M.params.line,o)),M.params.contextAbove!==void 0&&(j.contextAbove=M.params.contextAbove),M.params.contextBelow!==void 0&&(j.contextBelow=M.params.contextBelow),u(M.type,j).then(V=>{p(typeof V=="string"?V:JSON.stringify(V,null,2))}).catch(V=>{console.error("[CodeViewerSection] Fetch failed:",V),p(`// Error loading code: ${V.message}`)}).finally(()=>{v(!1)})}},[b,o,u]);const S=ps(a.startLine,o),T=a.highlightLines?ja(a.highlightLines,o):void 0,C=a.icon?Uu(a.icon):null,k=a.onNavigate?()=>{const M=E2(a.onNavigate.payload,a.onNavigate.payloadBindings,o);l(a.onNavigate.type,M)}:void 0;return E.jsxs("div",{className:"mb-3",children:[a.label&&E.jsxs("div",{className:"flex items-center justify-between mb-2",children:[E.jsxs("div",{className:"flex items-center gap-1.5",children:[C&&E.jsx("span",{className:"text-muted-foreground",children:E.jsx(C,{size:14})}),E.jsx("span",{className:"text-xs font-medium text-text-secondary",children:a.label})]}),k&&E.jsx("button",{onClick:k,className:"bg-transparent border-none p-1 cursor-pointer text-accent text-xs",children:"Open in editor"})]}),g?E.jsx("div",{className:"p-4 text-center text-muted-foreground text-xs bg-surface rounded border border-border",children:"Loading code..."}):d?E.jsx(HU,{code:d,startLine:typeof S=="number"?S:1,highlightLines:T,maxHeight:a.maxHeight}):E.jsx("div",{className:"p-4 text-center text-muted-foreground text-xs bg-surface rounded border border-border",children:"No code available"})]})}function qU({section:a,ctx:o,onAction:l,onFetch:u}){const p=a.mode==="stacked"?{display:"flex",flexDirection:"column",gap:"1rem",marginBottom:"0.75rem"}:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"1rem",marginBottom:"0.75rem"},g={type:"code-viewer",label:a.source.label,icon:a.source.icon,code:a.source.code,location:a.source.location,diffHighlighting:a.computeDiff,maxHeight:a.maxHeight},v={type:"code-viewer",label:a.target.label,icon:a.target.icon,code:a.target.code,location:a.target.location,diffHighlighting:a.computeDiff,maxHeight:a.maxHeight};return E.jsxs("div",{style:p,children:[E.jsx(T2,{section:g,ctx:o,onAction:l,onFetch:u}),E.jsx(T2,{section:v,ctx:o,onAction:l,onFetch:u})]})}function YU(a){return a>=85?"error":a>=70?"warning":"info"}function GU(a){return a>=90?"Very High":a>=75?"High":a>=60?"Moderate":"Low"}function XU({section:a,ctx:o}){const l=ja(a.value,o),u=xe("mb-3",a.centered&&"flex justify-center");switch(a.variant){case"similarity":{const p=Math.round((typeof l=="number"?l:0)*100),g=YU(p),v=GU(p);return E.jsx("div",{className:u,children:E.jsxs(yl,{variant:g,children:[p,"% Match - ",v]})})}case"severity":{const d=String(l||"info"),g={error:"error",warning:"warning",info:"info",success:"success"}[d]||"info";return E.jsx("div",{className:u,children:E.jsxs(yl,{variant:g,children:[a.label?`${a.label}: `:"",d]})})}case"status":{const d=String(l||"unknown"),g={ready:"success",indexing:"info",error:"error",idle:"info",loading:"info"}[d]||"info";return E.jsx("div",{className:u,children:E.jsxs(yl,{variant:g,children:[a.label?`${a.label}: `:"",d]})})}case"category":{const d=String(l||"");return E.jsx("div",{className:u,children:E.jsx(T8,{children:d})})}case"count":{const d=typeof l=="number"?l:0;return E.jsxs("div",{className:u,children:[a.label&&E.jsxs("span",{className:"mr-2 text-xs text-muted-foreground",children:[a.label,":"]}),E.jsx(A8,{count:d})]})}default:return null}}function IU(a){const o={marginBottom:"0.5rem",lineHeight:1.5};switch(a){case"caption":return{...o,fontSize:"0.75rem",color:"var(--uilint-text-muted)"};case"muted":return{...o,fontSize:"0.875rem",color:"var(--uilint-text-muted)"};case"error":return{...o,fontSize:"0.875rem",color:"var(--uilint-error)"};case"success":return{...o,fontSize:"0.875rem",color:"var(--uilint-success)"};default:return{...o,fontSize:"0.875rem",color:"var(--uilint-text-primary)"}}}function $U({section:a,ctx:o}){const l=ps(a.content,o);if(l==null)return null;const u=IU(a.variant);return E.jsx("p",{style:u,children:String(l)})}function QU(a){switch(a){case"primary":return"default";case"secondary":return"outline";case"ghost":return"ghost";case"danger":return"destructive";default:return"default"}}function ZU({button:a,ctx:o,onAction:l}){if(a.visible&&!!!ja(a.visible,o))return null;const u=a.disabled?!!ja(a.disabled,o):!1;let d;mT(a.label),d=String(aM(a.label,o)??"");const p=a.icon?Uu(a.icon):null,g=()=>{const v=E2(a.action.payload,a.action.payloadBindings,o);l(a.action.type,v)};return E.jsxs(Uk,{variant:QU(a.variant),size:"sm",disabled:u,onClick:g,children:[p&&E.jsx(p,{size:14,style:{marginRight:"0.25rem"}}),d]})}function FU({section:a,ctx:o,onAction:l}){const u=a.direction!=="column";return E.jsx("div",{style:{display:"flex",flexDirection:u?"row":"column",gap:"0.5rem",marginBottom:"0.75rem",...u&&{flexWrap:"wrap"}},children:a.actions.map(d=>E.jsx(ZU,{button:d,ctx:o,onAction:l},d.id))})}function PU(a){switch(a){case"small":return"0.5rem 0";case"large":return"1.5rem 0";default:return"1rem 0"}}function KU({section:a}){const o=PU(a.spacing);return E.jsx("hr",{style:{margin:o,border:"none",borderTop:"1px solid var(--uilint-border)"}})}function JU({section:a,ctx:o,renderSection:l}){const d=S2(a.condition,o)?a.then:a.else;return!d||d.length===0?null:E.jsx(E.Fragment,{children:d.map((p,g)=>E.jsx(ft.Fragment,{children:l(p,g)},g))})}function WU({section:a,ctx:o,renderSection:l}){const u=ja(a.items,o);return!Array.isArray(u)||u.length===0?a.emptyMessage?E.jsx("div",{className:"p-4 text-center text-muted-foreground text-sm",children:a.emptyMessage}):null:E.jsx("div",{className:"mb-3",children:u.map((d,p)=>{const g={...o,data:{...o.data,item:d,itemIndex:p}};return E.jsx("div",{className:"mb-2",children:a.itemLayout.map((v,b)=>l(v,b,g))},p)})})}function eB({section:a,ctx:o}){const l=ja(a.src,o),u=a.highlightRegion?ja(a.highlightRegion,o):void 0;return!l||typeof l!="string"?null:E.jsxs("div",{className:"relative mb-3 overflow-hidden",style:{maxHeight:a.maxHeight},children:[E.jsx("img",{src:l,alt:a.alt||"Image",className:"w-full h-auto object-contain rounded border border-border",style:{maxHeight:a.maxHeight}}),u&&E.jsx("div",{className:"absolute border-2 border-accent rounded bg-accent/10 pointer-events-none",style:{left:`${u.x}px`,top:`${u.y}px`,width:`${u.width}px`,height:`${u.height}px`}})]})}function tB({section:a,ctx:o,onAction:l}){const u=ps(a.title,o),d=ps(a.subtitle,o),p=a.thumbnail?ja(a.thumbnail,o):void 0,g=a.badge?ja(a.badge.value,o):void 0,v=a.onClick?()=>{const b=E2(a.onClick.payload,a.onClick.payloadBindings,o);l(a.onClick.type,b)}:void 0;return E.jsx(QS,{className:xe("mb-2",v&&"cursor-pointer"),onClick:v,role:v?"button":void 0,tabIndex:v?0:void 0,children:E.jsxs("div",{className:"flex items-start gap-3",children:[typeof p=="string"&&p&&E.jsx("img",{src:p,alt:"",className:"w-12 h-12 rounded object-cover shrink-0"}),E.jsx("div",{className:"flex-1 min-w-0",children:E.jsxs(Vk,{className:"px-3 pt-3 pb-0",children:[E.jsxs("div",{className:"flex justify-between items-start",children:[E.jsx(Hk,{className:"text-sm mb-0",children:String(u??"")}),a.badge&&g!==void 0&&E.jsxs(yl,{variant:a.badge.variant==="severity"?"warning":"info",children:[a.badge.label?`${a.badge.label}: `:"",String(g)]})]}),d&&E.jsx(qk,{className:"text-xs mt-1",children:String(d)})]})})]})})}function nB({section:a,ctx:o}){const l=ps(a.value,o),u=ps(a.label,o),d=typeof l=="number"?Math.min(100,Math.max(0,l)):0;return E.jsxs("div",{className:"mb-3",children:[u&&E.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:String(u)}),E.jsx("div",{className:"h-1.5 bg-surface rounded-sm overflow-hidden",children:a.indeterminate?E.jsx("div",{className:"h-full w-[30%] bg-accent rounded-sm",style:{animation:"progress-indeterminate 1.5s infinite linear"}}):E.jsx("div",{className:"h-full bg-accent rounded-sm transition-[width] duration-300 ease-in-out",style:{width:`${d}%`}})}),!a.indeterminate&&typeof l=="number"&&E.jsxs("div",{className:"text-xs text-muted-foreground mt-1 text-right",children:[d,"%"]})]})}function aB({panel:a,data:o,state:l,computed:u={},onAction:d,onFetch:p}){const g={data:o,state:l,computed:u};if(a.loading&&S2(a.loading.when,g))return E.jsxs("div",{className:"p-8 text-center text-muted-foreground",children:[E.jsx("div",{className:"mb-2 animate-spin",children:E.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",children:E.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2",strokeDasharray:"31.4",strokeLinecap:"round"})})}),E.jsx("div",{className:"text-sm",children:a.loading.message||"Loading..."}),a.loading.submessage&&E.jsx("div",{className:"text-xs mt-1",children:a.loading.submessage})]});if(a.empty&&S2(a.empty.when,g)){const T=a.empty.icon?Uu(a.empty.icon):null;return E.jsxs("div",{className:"p-8 text-center text-muted-foreground",children:[T&&E.jsx("div",{className:"mb-2",children:E.jsx(T,{size:32,strokeWidth:1.5})}),E.jsx("div",{className:"text-sm",children:a.empty.message}),a.empty.submessage&&E.jsx("div",{className:"text-xs mt-1",children:a.empty.submessage})]})}const v=(S,T,C)=>{const k=C||g,M=`section-${T}`;switch(S.type){case"header":return E.jsx(VU,{section:S,ctx:k},M);case"code-viewer":return E.jsx(T2,{section:S,ctx:k,onAction:d,onFetch:p},M);case"code-comparison":return E.jsx(qU,{section:S,ctx:k,onAction:d,onFetch:p},M);case"badge":return E.jsx(XU,{section:S,ctx:k},M);case"text":return E.jsx($U,{section:S,ctx:k},M);case"actions":return E.jsx(FU,{section:S,ctx:k,onAction:d},M);case"divider":return E.jsx(KU,{section:S},M);case"conditional":return E.jsx(JU,{section:S,ctx:k,renderSection:v},M);case"list":return E.jsx(WU,{section:S,ctx:k,renderSection:v},M);case"image":return E.jsx(eB,{section:S,ctx:k},M);case"card":return E.jsx(tB,{section:S,ctx:k,onAction:d},M);case"progress":return E.jsx(nB,{section:S,ctx:k},M);default:return console.warn(`[SchemaPanel] Unknown section type: ${S.type}`),null}},b=ps(a.title,g);return E.jsxs("div",{className:"p-4",children:[b&&E.jsx("h2",{className:"m-0 mb-4 text-base font-semibold text-text-primary",children:String(b)}),a.layout.map((S,T)=>v(S,T))]})}const iB=Object.freeze(Object.defineProperty({__proto__:null,SchemaPanel:aB},Symbol.toStringTag,{value:"Module"}))})();
259
259
  //# sourceMappingURL=devtools.js.map