@plannotator/opencode 0.16.4 → 0.16.5
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/package.json +2 -2
- package/plannotator.html +3 -3
- package/review-editor.html +4 -4
package/review-editor.html
CHANGED
|
@@ -72,7 +72,7 @@ Error generating stack: `+A.message+`
|
|
|
72
72
|
created: ${new Date().toISOString().slice(0,19)}Z
|
|
73
73
|
source: plannotator
|
|
74
74
|
tags: [plan, ...]
|
|
75
|
-
---`})]}),p.jsx("div",{className:"border-t border-border/30"}),p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-xs font-medium",children:"Auto-save on Plan Arrival"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Automatically save to Obsidian when a plan loads, before you approve or deny"})]}),p.jsx("button",{role:"switch","aria-checked":v.autoSave,onClick:()=>zt({autoSave:!v.autoSave}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${v.autoSave?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${v.autoSave?"translate-x-6":"translate-x-1"}`})})]}),p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-xs font-medium",children:"Vault Browser"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Browse and annotate vault files from the sidebar"})]}),p.jsx("button",{role:"switch","aria-checked":v.vaultBrowserEnabled,onClick:()=>zt({vaultBrowserEnabled:!v.vaultBrowserEnabled}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${v.vaultBrowserEnabled?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${v.vaultBrowserEnabled?"translate-x-6":"translate-x-1"}`})})]})]})]})]}),h==="bear"&&p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-medium",children:"Bear Notes"}),p.jsx("div",{className:"text-xs text-muted-foreground",children:"Auto-save approved plans to Bear"})]}),p.jsx("button",{role:"switch","aria-checked":S.enabled,onClick:()=>We({enabled:!S.enabled}),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${S.enabled?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${S.enabled?"translate-x-6":"translate-x-1"}`})})]}),S.enabled&&p.jsxs("div",{className:"mt-3 space-y-3",children:[p.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[p.jsx("label",{className:"text-xs text-muted-foreground",children:"Custom Tags"}),p.jsx("input",{type:"text",value:S.customTags,onChange:J=>We({customTags:J.target.value}),onBlur:J=>We({customTags:ZT(J.target.value)}),placeholder:"plan, work",className:"w-full px-3 py-2 bg-muted rounded-lg text-xs font-mono placeholder:text-muted-foreground/50 focus:outline-none focus:ring-1 focus:ring-primary/50"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Comma-separated, kebab-case. Leave empty for auto-generated tags."})]}),p.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[p.jsx("label",{className:"text-xs text-muted-foreground",children:"Tag Position"}),p.jsxs("select",{value:S.tagPosition,onChange:J=>We({tagPosition:J.target.value}),className:"w-full px-3 py-2 bg-muted rounded-lg text-xs focus:outline-none focus:ring-1 focus:ring-primary/50",children:[p.jsx("option",{value:"append",children:"Append (end of note)"}),p.jsx("option",{value:"prepend",children:"Prepend (after title)"})]})]}),p.jsx("div",{className:"border-t border-border/30"}),p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-xs font-medium",children:"Auto-save on Plan Arrival"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Automatically save to Bear when a plan loads, before you approve or deny"})]}),p.jsx("button",{role:"switch","aria-checked":S.autoSave,onClick:()=>We({autoSave:!S.autoSave}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${S.autoSave?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${S.autoSave?"translate-x-6":"translate-x-1"}`})})]})]})]}),h==="octarine"&&p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-medium",children:"Octarine"}),p.jsx("div",{className:"text-xs text-muted-foreground",children:"Auto-save approved plans to Octarine"})]}),p.jsx("button",{role:"switch","aria-checked":D.enabled,onClick:()=>Sn({enabled:!D.enabled}),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${D.enabled?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${D.enabled?"translate-x-6":"translate-x-1"}`})})]}),D.enabled&&p.jsxs("div",{className:"mt-3 space-y-3",children:[p.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[p.jsx("label",{className:"text-xs text-muted-foreground",children:"Workspace Name"}),p.jsx("input",{type:"text",value:D.workspace,onChange:J=>Sn({workspace:J.target.value}),placeholder:"My Workspace",className:"w-full px-3 py-2 bg-muted rounded-lg text-xs font-mono placeholder:text-muted-foreground/50 focus:outline-none focus:ring-1 focus:ring-primary/50"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"The Octarine workspace name to save plans into."})]}),p.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[p.jsx("label",{className:"text-xs text-muted-foreground",children:"Folder"}),p.jsx("input",{type:"text",value:D.folder,onChange:J=>Sn({folder:J.target.value}),placeholder:"plannotator",className:"w-full px-3 py-2 bg-muted rounded-lg text-xs font-mono placeholder:text-muted-foreground/50 focus:outline-none focus:ring-1 focus:ring-primary/50"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Subfolder within the workspace for saved plans."})]}),p.jsxs("div",{className:"text-[10px] text-muted-foreground/70",children:["Plans saved to: ",D.workspace||"..."," / ",D.folder||"plannotator","/"]}),p.jsx("div",{className:"border-t border-border/30"}),p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-xs font-medium",children:"Auto-save on Plan Arrival"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Automatically save to Octarine when a plan loads, before you approve or deny"})]}),p.jsx("button",{role:"switch","aria-checked":D.autoSave,onClick:()=>Sn({autoSave:!D.autoSave}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${D.autoSave?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${D.autoSave?"translate-x-6":"translate-x-1"}`})})]})]})]})]})]})]})}),document.body)]})},q2=({onClick:n,disabled:e=!1,isLoading:t=!1,label:a="Send Feedback",loadingLabel:o="Sending...",title:s="Send Feedback",muted:l=!1})=>p.jsxs("button",{onClick:n,disabled:e,className:`p-1.5 md:px-2.5 md:py-1 rounded-md text-xs font-medium transition-all ${l?"opacity-50 cursor-not-allowed bg-accent/10 text-accent/50":e?"opacity-50 cursor-not-allowed bg-muted text-muted-foreground":"bg-accent/15 text-accent hover:bg-accent/25 border border-accent/30"}`,title:s,children:[p.jsx("svg",{className:"w-4 h-4 md:hidden",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})}),p.jsx("span",{className:"hidden md:inline",children:t?o:a})]}),U2=({onClick:n,disabled:e=!1,isLoading:t=!1,label:a="Approve",loadingLabel:o="Approving...",mobileLabel:s="OK",mobileLoadingLabel:l="...",title:d,dimmed:u=!1,muted:m=!1})=>p.jsxs("button",{onClick:n,disabled:e,className:`px-2 py-1 md:px-2.5 rounded-md text-xs font-medium transition-all ${m?"opacity-40 cursor-not-allowed bg-muted text-muted-foreground":e?"opacity-50 cursor-not-allowed bg-muted text-muted-foreground":u?"bg-success/50 text-success-foreground/70 hover:bg-success hover:text-success-foreground":"bg-success text-success-foreground hover:opacity-90"}`,title:d,children:[p.jsx("span",{className:"md:hidden",children:t?l:s}),p.jsx("span",{className:"hidden md:inline",children:t?o:a})]}),H2="https://api.github.com/repos/backnotprop/plannotator/releases/latest",ZC={"0.5.0":{title:"Code Review is here!",description:"Review git diffs with inline annotations. Run /plannotator-review to try it."}};function Y2(n,e){const t=s=>s.replace(/^v/,""),a=t(n).split(".").map(Number),o=t(e).split(".").map(Number);for(let s=0;s<Math.max(a.length,o.length);s++){const l=a[s]||0,d=o[s]||0;if(d>l)return!0;if(d<l)return!1}return!1}function $2(){const[n,e]=x.useState(null);return x.useEffect(()=>{(async()=>{try{const a="0.16.4",s=new URLSearchParams(window.location.search).get("preview-update");if(s){const h=s.replace(/^v/,"");e({currentVersion:a,latestVersion:s,updateAvailable:!0,releaseUrl:`https://github.com/backnotprop/plannotator/releases/tag/v${h}`,featureHighlight:ZC[h]});return}const l=await fetch(H2);if(!l.ok)return;const d=await l.json(),u=d.tag_name,m=Y2(a,u),g=u.replace(/^v/,""),b=ZC[g];e({currentVersion:a,latestVersion:u,updateAvailable:m,releaseUrl:d.html_url,featureHighlight:b})}catch(a){console.debug("Update check failed:",a)}})()},[]),n}const K2="pi install npm:@plannotator/pi-extension";function W2(n){return u2&&!n?'powershell -c "irm https://plannotator.ai/install.ps1 | iex"':"curl -fsSL https://plannotator.ai/install.sh | bash"}const Z2=({origin:n,isWSL:e=!1})=>{const t=$2(),[a,o]=x.useState(!1),[s,l]=x.useState(!1),m=new URLSearchParams(window.location.search).get("preview-origin")||n,g=m==="pi",b=m==="opencode",h=g?K2:W2(e);if(!t?.updateAvailable||s)return null;const w=async()=>{try{await navigator.clipboard.writeText(h),o(!0),setTimeout(()=>o(!1),2e3)}catch(k){console.error("Failed to copy:",k)}};return t.featureHighlight?p.jsx("div",{className:"fixed bottom-4 right-4 z-50 max-w-md animate-in slide-in-from-bottom-2 fade-in duration-300",children:p.jsxs("div",{className:"bg-card border border-primary/30 rounded-xl shadow-2xl overflow-hidden",children:[p.jsx("div",{className:"bg-gradient-to-r from-primary/20 to-primary/5 px-5 py-4 border-b border-border/50",children:p.jsxs("div",{className:"flex items-start justify-between gap-3",children:[p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-primary/20 flex items-center justify-center",children:p.jsx("svg",{className:"w-5 h-5 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"})})}),p.jsxs("div",{children:[p.jsx("h4",{className:"text-base font-semibold text-foreground",children:t.featureHighlight.title}),p.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:["New in ",t.latestVersion]})]})]}),p.jsx("button",{onClick:()=>l(!0),className:"text-muted-foreground hover:text-foreground transition-colors p-1",children:p.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]})}),p.jsxs("div",{className:"px-5 py-4",children:[p.jsx("p",{className:"text-sm text-foreground/80 leading-relaxed",children:t.featureHighlight.description}),p.jsxs("p",{className:"text-xs text-muted-foreground mt-3",children:["You have ",t.currentVersion]}),b&&p.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Run the install script, then restart OpenCode."}),g&&p.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Run the install command, then restart Pi."}),p.jsxs("div",{className:"mt-4 flex items-center gap-2",children:[p.jsx("button",{onClick:w,className:"flex-1 px-4 py-2 text-sm font-medium bg-primary text-primary-foreground rounded-lg hover:opacity-90 transition-opacity",children:a?"Copied!":"Copy install command"}),p.jsx("a",{href:t.releaseUrl,target:"_blank",rel:"noopener noreferrer",className:"px-4 py-2 text-sm font-medium text-muted-foreground hover:text-foreground border border-border rounded-lg hover:bg-muted transition-colors",children:"Release notes"})]})]})]})}):p.jsx("div",{className:"fixed bottom-4 right-4 z-50 max-w-sm animate-in slide-in-from-bottom-2 fade-in duration-300",children:p.jsx("div",{className:"bg-card border border-border rounded-lg shadow-xl p-4",children:p.jsxs("div",{className:"flex items-start gap-3",children:[p.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-primary/20 flex items-center justify-center",children:p.jsx("svg",{className:"w-4 h-4 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"})})}),p.jsxs("div",{className:"flex-1 min-w-0",children:[p.jsxs("div",{className:"flex items-center justify-between gap-2",children:[p.jsx("h4",{className:"text-sm font-medium text-foreground",children:"Update available"}),p.jsx("button",{onClick:()=>l(!0),className:"text-muted-foreground hover:text-foreground transition-colors",children:p.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),p.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:[t.latestVersion," is available (you have ",t.currentVersion,")"]}),p.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[p.jsx("button",{onClick:w,className:"flex-1 px-3 py-1.5 text-xs font-medium bg-primary text-primary-foreground rounded-md hover:opacity-90 transition-opacity",children:a?"Copied!":"Copy install command"}),p.jsx("a",{href:t.releaseUrl,target:"_blank",rel:"noopener noreferrer",className:"px-3 py-1.5 text-xs font-medium text-muted-foreground hover:text-foreground border border-border rounded-md hover:bg-muted transition-colors",children:"Notes"})]})]})]})})})};function VC(n){window.close(),setTimeout(()=>{window.closed||n()},300)}function V2(n){const[e,t]=x.useState({phase:"idle"});x.useEffect(()=>{if(!n)return;const o=JS();o==="0"?(VC(()=>t({phase:"closeFailed"})),t({phase:"closed"})):t(o!=="off"?{phase:"counting",remaining:Number(o)}:{phase:"prompt"})},[n]),x.useEffect(()=>{if(e.phase!=="counting")return;if(e.remaining<=0){VC(()=>t({phase:"closeFailed"}));return}const o=setTimeout(()=>t(s=>s.phase==="counting"?{phase:"counting",remaining:s.remaining-1}:s),1e3);return()=>clearTimeout(o)},[e]);const a=x.useCallback(()=>{XS("3"),t({phase:"counting",remaining:3})},[]);return{state:e,enableAndStart:a}}const J2=()=>p.jsx("svg",{className:"w-8 h-8",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})}),X2=()=>p.jsx("svg",{className:"w-8 h-8",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})});function eF({submitted:n,title:e,subtitle:t,agentLabel:a}){const{state:o,enableAndStart:s}=V2(!!n);if(!n)return null;const l=n==="approved";return p.jsx("div",{className:"fixed inset-0 z-[100] bg-background flex items-center justify-center",children:p.jsxs("div",{className:"text-center space-y-6 max-w-md px-8",children:[p.jsx("div",{className:`mx-auto w-16 h-16 rounded-full flex items-center justify-center ${l?"bg-success/20 text-success":"bg-accent/20 text-accent"}`,children:l?p.jsx(J2,{}):p.jsx(X2,{})}),p.jsxs("div",{className:"space-y-2",children:[p.jsx("h2",{className:"text-xl font-semibold text-foreground",children:e}),p.jsx("p",{className:"text-muted-foreground",children:t})]}),p.jsx("div",{className:"pt-4 border-t border-border space-y-2",children:o.phase==="counting"?p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"text-sm text-muted-foreground",children:["This tab will close in ",p.jsx("span",{className:"text-foreground font-medium",children:o.remaining})," second",o.remaining!==1?"s":"","..."]}),p.jsx("p",{className:"text-xs text-muted-foreground/60",children:"You can change this in Settings."})]}):o.phase==="closeFailed"?p.jsxs(p.Fragment,{children:[p.jsx("p",{className:"text-sm text-muted-foreground",children:"Could not close this tab automatically. Please close it manually."}),p.jsxs("p",{className:"text-xs text-muted-foreground/60",children:["Auto-close works when the tab is opened by ",a,"."]})]}):p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"text-sm text-muted-foreground",children:["You can close this tab and return to ",p.jsx("span",{className:"text-foreground font-medium",children:a}),"."]}),o.phase==="prompt"?p.jsxs(p.Fragment,{children:[p.jsxs("label",{className:"flex items-center justify-center gap-2 cursor-pointer group",children:[p.jsx("input",{type:"checkbox",checked:!1,onChange:s,className:"accent-primary"}),p.jsx("span",{className:"text-xs text-muted-foreground group-hover:text-foreground transition-colors",children:"Auto-close this tab after 3 seconds"})]}),p.jsx("p",{className:"text-xs text-muted-foreground/60",children:"You can change the delay in Settings."})]}):p.jsx("p",{className:"text-xs text-muted-foreground/60",children:"Your response has been sent."})]})})]})})}const tF=({className:n})=>p.jsx("svg",{className:n,viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:p.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92 10.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z"})}),nF=({className:n})=>p.jsxs("svg",{className:n,viewBox:"90 90 200 195",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[p.jsx("path",{d:"M282.83 170.73l-.27-.69-26.14-68.22a6.81 6.81 0 00-2.69-3.24 7 7 0 00-8 .43 7 7 0 00-2.32 3.52l-17.65 54h-71.47l-17.65-54a6.86 6.86 0 00-2.32-3.53 7 7 0 00-8-.43 6.87 6.87 0 00-2.69 3.24L97.44 170l-.26.69a48.54 48.54 0 0016.1 56.1l.09.07.24.17 39.82 29.82 19.7 14.91 12 9.06a8.07 8.07 0 009.76 0l12-9.06 19.7-14.91 40.06-30 .1-.08a48.56 48.56 0 0016.08-56.04z"}),p.jsx("path",{d:"M282.83 170.73l-.27-.69a88.3 88.3 0 00-35.15 15.8L190 229.25c19.55 14.79 36.57 27.64 36.57 27.64l40.06-30 .1-.08a48.56 48.56 0 0016.1-56.08z",opacity:"0.7"}),p.jsx("path",{d:"M153.43 256.89l19.7 14.91 12 9.06a8.07 8.07 0 009.76 0l12-9.06 19.7-14.91s-17.04-12.89-36.59-27.64c-19.55 14.75-36.57 27.64-36.57 27.64z",opacity:"0.85"}),p.jsx("path",{d:"M132.58 185.84A88.19 88.19 0 0097.44 170l-.26.69a48.54 48.54 0 0016.1 56.1l.09.07.24.17 39.82 29.82s17-12.85 36.57-27.64z",opacity:"0.7"})]}),JC=({className:n})=>p.jsx("svg",{className:n,viewBox:"0 0 768 1024",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:p.jsx("path",{d:"M320 256h-64v64h64v-64z m0-128h-64v64h64v-64z m384-128c-32 0-608 0-640 0s-64 32-64 64 0 736 0 768 32 64 64 64 128 0 128 0v128l96-96 96 96v-128s288 0 320 0 64-32 64-64 0-736 0-768-32-64-64-64z m0 800c0 16-15 32-32 32s-288 0-288 0v-64h-192v64s-79 0-96 0-32-17-32-32 0-96 0-96h640s0 80 0 96z m0-160h-512v-576h513l-1 576z m-384-128h-64v64h64v-64z m0-128h-64v64h64v-64z"})}),aF=({className:n})=>p.jsx("svg",{className:n,viewBox:"0 0 768 1024",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:p.jsx("path",{d:"M704 722s0-306 0-402-96-192-192-192c-64 0-64 0-64 0v-128l-192 192 192 192v-128s32 0 64 0 64 32 64 64 0 402 0 402c-38 22-64 63-64 110 0 71 57 128 128 128s128-57 128-128c0-47-26-88-64-110z m-64 174c-35 0-64-29-64-64s29-64 64-64 64 29 64 64-29 64-64 64z m-512-832c-71 0-128 57-128 128 0 47 26 88 64 110v419c-38 22-64 63-64 110 0 71 57 128 128 128s128-57 128-128c0-47-26-88-64-110v-419c38-22 64-63 64-110 0-71-57-128-128-128z m0 832c-35 0-64-29-64-64s29-64 64-64 64 29 64 64-29 64-64 64z m0-640c-35 0-64-29-64-64s29-64 64-64 64 29 64 64-29 64-64 64z"})});function iF(n){return n.platform==="github"?"GitHub":"GitLab"}function OD(n){return n.platform==="github"?"PR":"MR"}function PD(n){return n.platform==="github"?`#${n.number}`:`!${n.iid}`}function jD(n){return n.platform==="github"?`${n.owner}/${n.repo}`:n.projectPath}const GD="plannotator-ai-setup-done";function rF(){return _e.getItem(GD)!=="true"}function oF(){_e.setItem(GD,"true")}const sF=({isOpen:n,providers:e,onComplete:t})=>{const[a,o]=x.useState(null),[s,l]=x.useState(()=>Sr().preferredModels);if(!n||e.length===0)return null;const d=a??e[0]?.id??null,u=b=>{o(b)},m=(b,h)=>{FD(b,h),l(w=>({...w,[b]:h}))},g=()=>{if(!d)return;const b=Sr();up({...b,providerId:d}),oF(),t(d)};return so.createPortal(p.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-background/90 backdrop-blur-sm p-4",children:p.jsxs("div",{className:"bg-card border border-border rounded-xl w-full max-w-lg shadow-2xl",children:[p.jsxs("div",{className:"p-5 border-b border-border",children:[p.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[p.jsx("div",{className:"p-1.5 rounded-lg bg-primary/15",children:p.jsx("svg",{className:"w-5 h-5 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.455 2.456L21.75 6l-1.036.259a3.375 3.375 0 00-2.455 2.456z"})})}),p.jsx("h3",{className:"font-semibold text-base",children:"AI-Assisted Code Review"})]}),p.jsx("p",{className:"text-sm text-muted-foreground",children:"Ask questions about code changes inline or in a side chat. Select lines in a diff, click the sparkle, and get streaming answers with full diff context."})]}),p.jsxs("div",{className:"p-4",children:[p.jsx("div",{className:"text-xs text-muted-foreground mb-2",children:"Choose your default provider"}),p.jsx("div",{className:"grid grid-cols-2 gap-2",children:e.map(b=>{const h=Pu(b.name),w=h.icon,_=d===b.id;return p.jsxs("button",{type:"button",onClick:()=>u(b.id),className:`flex items-center gap-2.5 p-3 rounded-lg border transition-colors text-left ${_?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/30 hover:bg-muted/50"}`,children:[p.jsx("div",{className:"w-7 h-7 rounded-md bg-muted flex items-center justify-center text-muted-foreground flex-shrink-0",children:p.jsx(w,{className:"w-4.5 h-4.5"})}),p.jsx("span",{className:"text-sm font-medium",children:h.label}),_&&p.jsx("svg",{className:"w-3.5 h-3.5 text-primary ml-auto flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})]},b.id)})}),d&&(()=>{const h=e.find(k=>k.id===d)?.models??[];if(h.length<=1)return null;const w=h.find(k=>k.default)??h[0],_=s[d]??w?.id??"";return p.jsx("div",{className:"mt-3",children:p.jsxs("label",{className:"flex items-center gap-2",children:[p.jsx("span",{className:"text-xs text-muted-foreground",children:"Model"}),p.jsx("select",{value:_,onChange:k=>m(d,k.target.value),className:"flex-1 text-xs bg-muted rounded px-2 py-1.5 focus:outline-none focus:ring-1 focus:ring-primary/50 cursor-pointer",children:h.map(k=>p.jsx("option",{value:k.id,children:k.label},k.id))})]})})})()]}),p.jsxs("div",{className:"p-4 border-t border-border flex justify-between items-center gap-3",children:[p.jsxs("p",{className:"text-[10px] text-muted-foreground/70 flex-1",children:["Providers are detected from installed CLI tools. You must be authenticated with each CLI independently."," ",p.jsx("a",{href:"https://plannotator.ai/docs/guides/ai-features/",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"Learn more"})]}),p.jsx("button",{onClick:g,className:"px-4 py-2 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:opacity-90 transition-opacity flex-shrink-0",children:"Done"})]})]})}),document.body)};function XC({storageKey:n,defaultWidth:e=288,minWidth:t=200,maxWidth:a=600,side:o="right"}){const[s,l]=x.useState(()=>{const v=_e.getItem(n);if(v){const E=Number(v);if(!Number.isNaN(E)&&E>=t&&E<=a)return E}return e}),[d,u]=x.useState(!1),m=x.useRef(0),g=x.useRef(0),b=x.useRef(s),h=x.useCallback(v=>{b.current=v,l(v)},[]),w=x.useCallback(v=>{v.preventDefault(),m.current=v.clientX,g.current=b.current,u(!0)},[]),_=x.useCallback(v=>{v.preventDefault(),m.current=v.touches[0].clientX,g.current=b.current,u(!0)},[]);x.useEffect(()=>{if(!d)return;const v=I=>"touches"in I?I.touches[0]?.clientX??I.changedTouches[0]?.clientX??0:I.clientX,E=I=>{const N=v(I),R=o==="right"?m.current-N:N-m.current;h(Math.min(a,Math.max(t,g.current+R)))},B=()=>{u(!1),_e.setItem(n,String(b.current))};return document.addEventListener("mousemove",E),document.addEventListener("mouseup",B),document.addEventListener("touchmove",E,{passive:!1}),document.addEventListener("touchend",B),document.addEventListener("touchcancel",B),()=>{document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",B),document.removeEventListener("touchmove",E),document.removeEventListener("touchend",B),document.removeEventListener("touchcancel",B)}},[d,t,a,n,o,h]);const k=x.useCallback(()=>{h(e),_e.setItem(n,String(e))},[e,n,h]);return{width:s,isDragging:d,handleProps:{isDragging:d,onMouseDown:w,onTouchStart:_,onDoubleClick:k}}}const cF=500;function lF(n){const e=Math.floor((Date.now()-n)/1e3);if(e<60)return"just now";const t=Math.floor(e/60);if(t<60)return`${t} minute${t!==1?"s":""} ago`;const a=Math.floor(t/60);if(a<24)return`${a} hour${a!==1?"s":""} ago`;const o=Math.floor(a/24);return`${o} day${o!==1?"s":""} ago`}function dF({annotations:n,viewedFiles:e,isApiMode:t,submitted:a}){const[o,s]=x.useState(null),l=x.useRef(null),d=x.useRef(null),u=x.useRef(!1);x.useEffect(()=>{t&&fetch("/api/draft").then(b=>b.ok?b.json():null).then(b=>{const h=Array.isArray(b?.codeAnnotations)?b.codeAnnotations.length:0,w=Array.isArray(b?.viewedFiles)?b.viewedFiles.length:0;(h>0||w>0)&&(l.current=b,s({count:h,viewedCount:w,timeAgo:lF(b?.ts||0)})),u.current=!0}).catch(()=>{u.current=!0})},[t]),x.useEffect(()=>{if(!(!t||a)&&u.current&&!(n.length===0&&e.size===0))return d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{const b={codeAnnotations:n,viewedFiles:[...e],ts:Date.now()};fetch("/api/draft",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}).catch(()=>{})},cF),()=>{d.current&&clearTimeout(d.current)}},[n,e,t,a]);const m=x.useCallback(()=>{const b=l.current;return s(null),l.current=null,{annotations:b?.codeAnnotations??[],viewedFiles:b?.viewedFiles??[]}},[]),g=x.useCallback(()=>{s(null),l.current=null,fetch("/api/draft",{method:"DELETE"}).catch(()=>{})},[]);return{draftBanner:o,restoreDraft:m,dismissDraft:g}}const uF=new Set(["uncommitted","unstaged"]);function pF({activeDiffBase:n,onFileViewed:e}){const[t,a]=x.useState(new Set),[o,s]=x.useState(null),[l,d]=x.useState(null),u=x.useRef(),m=uF.has(n),g=x.useRef(t);g.current=t;const b=x.useCallback(async w=>{const _=g.current.has(w);s(w),d(null),clearTimeout(u.current);try{const k=await fetch("/api/git-add",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:w,undo:_})});if(!k.ok){const v=await k.json().catch(()=>({error:"Failed"}));throw new Error(v.error||"Failed")}a(v=>{const E=new Set(v);return _?E.delete(w):E.add(w),E}),_||e(w)}catch(k){const v=k instanceof Error?k.message:"Git add failed";d(v),u.current=setTimeout(()=>d(null),3e3)}finally{s(null)}},[e]),h=x.useCallback(()=>{a(new Set),d(null),clearTimeout(u.current)},[]);return{stagedFiles:t,stagingFile:o,canStageFiles:m,stageFile:b,resetStagedFiles:h,stageError:l}}const oy=()=>Math.random().toString(36).substring(2,9);function AF({patch:n,providerId:e,model:t,reasoningEffort:a}){const[o,s]=x.useState(null),[l,d]=x.useState([]),[u,m]=x.useState(!1),[g,b]=x.useState(!1),[h,w]=x.useState(null),[_,k]=x.useState([]),v=x.useRef(null),E=x.useRef(null);E.current=o;const B=x.useCallback(async T=>{m(!0);try{const D=await fetch("/api/ai/session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({context:{mode:"code-review",review:{patch:n}},...e&&{providerId:e},...t&&{model:t},...a&&{reasoningEffort:a}}),signal:T});if(!D.ok){const z=await D.json().catch(()=>({error:"Failed to create AI session"}));throw new Error(z.error||`HTTP ${D.status}`)}const F=await D.json();return s(F.sessionId),F.sessionId}finally{m(!1)}},[n,e,t,a]),I=x.useCallback(async T=>{v.current&&v.current.abort();const D=new AbortController;v.current=D,w(null);const F=oy(),z={id:F,prompt:T.prompt,filePath:T.filePath,lineStart:T.lineStart,lineEnd:T.lineEnd,side:T.side,selectedCode:T.selectedCode,createdAt:Date.now()},j={questionId:F,text:"",isStreaming:!0,createdAt:Date.now()};d(M=>[...M,{question:z,response:j}]),b(!0);try{let M=E.current;M||(M=await B(D.signal));let X=T.prompt;if(T.filePath&&T.lineStart!=null&&T.lineEnd!=null){const oe=T.lineStart===T.lineEnd?`line ${T.lineStart}`:`lines ${T.lineStart}-${T.lineEnd}`,de=T.side==="new"?"new (added)":"old (removed)",ge=T.selectedCode?`
|
|
75
|
+
---`})]}),p.jsx("div",{className:"border-t border-border/30"}),p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-xs font-medium",children:"Auto-save on Plan Arrival"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Automatically save to Obsidian when a plan loads, before you approve or deny"})]}),p.jsx("button",{role:"switch","aria-checked":v.autoSave,onClick:()=>zt({autoSave:!v.autoSave}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${v.autoSave?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${v.autoSave?"translate-x-6":"translate-x-1"}`})})]}),p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-xs font-medium",children:"Vault Browser"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Browse and annotate vault files from the sidebar"})]}),p.jsx("button",{role:"switch","aria-checked":v.vaultBrowserEnabled,onClick:()=>zt({vaultBrowserEnabled:!v.vaultBrowserEnabled}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${v.vaultBrowserEnabled?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${v.vaultBrowserEnabled?"translate-x-6":"translate-x-1"}`})})]})]})]})]}),h==="bear"&&p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-medium",children:"Bear Notes"}),p.jsx("div",{className:"text-xs text-muted-foreground",children:"Auto-save approved plans to Bear"})]}),p.jsx("button",{role:"switch","aria-checked":S.enabled,onClick:()=>We({enabled:!S.enabled}),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${S.enabled?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${S.enabled?"translate-x-6":"translate-x-1"}`})})]}),S.enabled&&p.jsxs("div",{className:"mt-3 space-y-3",children:[p.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[p.jsx("label",{className:"text-xs text-muted-foreground",children:"Custom Tags"}),p.jsx("input",{type:"text",value:S.customTags,onChange:J=>We({customTags:J.target.value}),onBlur:J=>We({customTags:ZT(J.target.value)}),placeholder:"plan, work",className:"w-full px-3 py-2 bg-muted rounded-lg text-xs font-mono placeholder:text-muted-foreground/50 focus:outline-none focus:ring-1 focus:ring-primary/50"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Comma-separated, kebab-case. Leave empty for auto-generated tags."})]}),p.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[p.jsx("label",{className:"text-xs text-muted-foreground",children:"Tag Position"}),p.jsxs("select",{value:S.tagPosition,onChange:J=>We({tagPosition:J.target.value}),className:"w-full px-3 py-2 bg-muted rounded-lg text-xs focus:outline-none focus:ring-1 focus:ring-primary/50",children:[p.jsx("option",{value:"append",children:"Append (end of note)"}),p.jsx("option",{value:"prepend",children:"Prepend (after title)"})]})]}),p.jsx("div",{className:"border-t border-border/30"}),p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-xs font-medium",children:"Auto-save on Plan Arrival"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Automatically save to Bear when a plan loads, before you approve or deny"})]}),p.jsx("button",{role:"switch","aria-checked":S.autoSave,onClick:()=>We({autoSave:!S.autoSave}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${S.autoSave?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${S.autoSave?"translate-x-6":"translate-x-1"}`})})]})]})]}),h==="octarine"&&p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-medium",children:"Octarine"}),p.jsx("div",{className:"text-xs text-muted-foreground",children:"Auto-save approved plans to Octarine"})]}),p.jsx("button",{role:"switch","aria-checked":D.enabled,onClick:()=>Sn({enabled:!D.enabled}),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${D.enabled?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${D.enabled?"translate-x-6":"translate-x-1"}`})})]}),D.enabled&&p.jsxs("div",{className:"mt-3 space-y-3",children:[p.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[p.jsx("label",{className:"text-xs text-muted-foreground",children:"Workspace Name"}),p.jsx("input",{type:"text",value:D.workspace,onChange:J=>Sn({workspace:J.target.value}),placeholder:"My Workspace",className:"w-full px-3 py-2 bg-muted rounded-lg text-xs font-mono placeholder:text-muted-foreground/50 focus:outline-none focus:ring-1 focus:ring-primary/50"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"The Octarine workspace name to save plans into."})]}),p.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[p.jsx("label",{className:"text-xs text-muted-foreground",children:"Folder"}),p.jsx("input",{type:"text",value:D.folder,onChange:J=>Sn({folder:J.target.value}),placeholder:"plannotator",className:"w-full px-3 py-2 bg-muted rounded-lg text-xs font-mono placeholder:text-muted-foreground/50 focus:outline-none focus:ring-1 focus:ring-primary/50"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Subfolder within the workspace for saved plans."})]}),p.jsxs("div",{className:"text-[10px] text-muted-foreground/70",children:["Plans saved to: ",D.workspace||"..."," / ",D.folder||"plannotator","/"]}),p.jsx("div",{className:"border-t border-border/30"}),p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-xs font-medium",children:"Auto-save on Plan Arrival"}),p.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Automatically save to Octarine when a plan loads, before you approve or deny"})]}),p.jsx("button",{role:"switch","aria-checked":D.autoSave,onClick:()=>Sn({autoSave:!D.autoSave}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${D.autoSave?"bg-primary":"bg-muted"}`,children:p.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${D.autoSave?"translate-x-6":"translate-x-1"}`})})]})]})]})]})]})]})}),document.body)]})},q2=({onClick:n,disabled:e=!1,isLoading:t=!1,label:a="Send Feedback",loadingLabel:o="Sending...",title:s="Send Feedback",muted:l=!1})=>p.jsxs("button",{onClick:n,disabled:e,className:`p-1.5 md:px-2.5 md:py-1 rounded-md text-xs font-medium transition-all ${l?"opacity-50 cursor-not-allowed bg-accent/10 text-accent/50":e?"opacity-50 cursor-not-allowed bg-muted text-muted-foreground":"bg-accent/15 text-accent hover:bg-accent/25 border border-accent/30"}`,title:s,children:[p.jsx("svg",{className:"w-4 h-4 md:hidden",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})}),p.jsx("span",{className:"hidden md:inline",children:t?o:a})]}),U2=({onClick:n,disabled:e=!1,isLoading:t=!1,label:a="Approve",loadingLabel:o="Approving...",mobileLabel:s="OK",mobileLoadingLabel:l="...",title:d,dimmed:u=!1,muted:m=!1})=>p.jsxs("button",{onClick:n,disabled:e,className:`px-2 py-1 md:px-2.5 rounded-md text-xs font-medium transition-all ${m?"opacity-40 cursor-not-allowed bg-muted text-muted-foreground":e?"opacity-50 cursor-not-allowed bg-muted text-muted-foreground":u?"bg-success/50 text-success-foreground/70 hover:bg-success hover:text-success-foreground":"bg-success text-success-foreground hover:opacity-90"}`,title:d,children:[p.jsx("span",{className:"md:hidden",children:t?l:s}),p.jsx("span",{className:"hidden md:inline",children:t?o:a})]}),H2="https://api.github.com/repos/backnotprop/plannotator/releases/latest",ZC={"0.5.0":{title:"Code Review is here!",description:"Review git diffs with inline annotations. Run /plannotator-review to try it."}};function Y2(n,e){const t=s=>s.replace(/^v/,""),a=t(n).split(".").map(Number),o=t(e).split(".").map(Number);for(let s=0;s<Math.max(a.length,o.length);s++){const l=a[s]||0,d=o[s]||0;if(d>l)return!0;if(d<l)return!1}return!1}function $2(){const[n,e]=x.useState(null);return x.useEffect(()=>{(async()=>{try{const a="0.16.5",s=new URLSearchParams(window.location.search).get("preview-update");if(s){const h=s.replace(/^v/,"");e({currentVersion:a,latestVersion:s,updateAvailable:!0,releaseUrl:`https://github.com/backnotprop/plannotator/releases/tag/v${h}`,featureHighlight:ZC[h]});return}const l=await fetch(H2);if(!l.ok)return;const d=await l.json(),u=d.tag_name,m=Y2(a,u),g=u.replace(/^v/,""),b=ZC[g];e({currentVersion:a,latestVersion:u,updateAvailable:m,releaseUrl:d.html_url,featureHighlight:b})}catch(a){console.debug("Update check failed:",a)}})()},[]),n}const K2="pi install npm:@plannotator/pi-extension";function W2(n){return u2&&!n?'powershell -c "irm https://plannotator.ai/install.ps1 | iex"':"curl -fsSL https://plannotator.ai/install.sh | bash"}const Z2=({origin:n,isWSL:e=!1})=>{const t=$2(),[a,o]=x.useState(!1),[s,l]=x.useState(!1),m=new URLSearchParams(window.location.search).get("preview-origin")||n,g=m==="pi",b=m==="opencode",h=g?K2:W2(e);if(!t?.updateAvailable||s)return null;const w=async()=>{try{await navigator.clipboard.writeText(h),o(!0),setTimeout(()=>o(!1),2e3)}catch(k){console.error("Failed to copy:",k)}};return t.featureHighlight?p.jsx("div",{className:"fixed bottom-4 right-4 z-50 max-w-md animate-in slide-in-from-bottom-2 fade-in duration-300",children:p.jsxs("div",{className:"bg-card border border-primary/30 rounded-xl shadow-2xl overflow-hidden",children:[p.jsx("div",{className:"bg-gradient-to-r from-primary/20 to-primary/5 px-5 py-4 border-b border-border/50",children:p.jsxs("div",{className:"flex items-start justify-between gap-3",children:[p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-primary/20 flex items-center justify-center",children:p.jsx("svg",{className:"w-5 h-5 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"})})}),p.jsxs("div",{children:[p.jsx("h4",{className:"text-base font-semibold text-foreground",children:t.featureHighlight.title}),p.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:["New in ",t.latestVersion]})]})]}),p.jsx("button",{onClick:()=>l(!0),className:"text-muted-foreground hover:text-foreground transition-colors p-1",children:p.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]})}),p.jsxs("div",{className:"px-5 py-4",children:[p.jsx("p",{className:"text-sm text-foreground/80 leading-relaxed",children:t.featureHighlight.description}),p.jsxs("p",{className:"text-xs text-muted-foreground mt-3",children:["You have ",t.currentVersion]}),b&&p.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Run the install script, then restart OpenCode."}),g&&p.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Run the install command, then restart Pi."}),p.jsxs("div",{className:"mt-4 flex items-center gap-2",children:[p.jsx("button",{onClick:w,className:"flex-1 px-4 py-2 text-sm font-medium bg-primary text-primary-foreground rounded-lg hover:opacity-90 transition-opacity",children:a?"Copied!":"Copy install command"}),p.jsx("a",{href:t.releaseUrl,target:"_blank",rel:"noopener noreferrer",className:"px-4 py-2 text-sm font-medium text-muted-foreground hover:text-foreground border border-border rounded-lg hover:bg-muted transition-colors",children:"Release notes"})]})]})]})}):p.jsx("div",{className:"fixed bottom-4 right-4 z-50 max-w-sm animate-in slide-in-from-bottom-2 fade-in duration-300",children:p.jsx("div",{className:"bg-card border border-border rounded-lg shadow-xl p-4",children:p.jsxs("div",{className:"flex items-start gap-3",children:[p.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-primary/20 flex items-center justify-center",children:p.jsx("svg",{className:"w-4 h-4 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"})})}),p.jsxs("div",{className:"flex-1 min-w-0",children:[p.jsxs("div",{className:"flex items-center justify-between gap-2",children:[p.jsx("h4",{className:"text-sm font-medium text-foreground",children:"Update available"}),p.jsx("button",{onClick:()=>l(!0),className:"text-muted-foreground hover:text-foreground transition-colors",children:p.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),p.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:[t.latestVersion," is available (you have ",t.currentVersion,")"]}),p.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[p.jsx("button",{onClick:w,className:"flex-1 px-3 py-1.5 text-xs font-medium bg-primary text-primary-foreground rounded-md hover:opacity-90 transition-opacity",children:a?"Copied!":"Copy install command"}),p.jsx("a",{href:t.releaseUrl,target:"_blank",rel:"noopener noreferrer",className:"px-3 py-1.5 text-xs font-medium text-muted-foreground hover:text-foreground border border-border rounded-md hover:bg-muted transition-colors",children:"Notes"})]})]})]})})})};function VC(n){window.close(),setTimeout(()=>{window.closed||n()},300)}function V2(n){const[e,t]=x.useState({phase:"idle"});x.useEffect(()=>{if(!n)return;const o=JS();o==="0"?(VC(()=>t({phase:"closeFailed"})),t({phase:"closed"})):t(o!=="off"?{phase:"counting",remaining:Number(o)}:{phase:"prompt"})},[n]),x.useEffect(()=>{if(e.phase!=="counting")return;if(e.remaining<=0){VC(()=>t({phase:"closeFailed"}));return}const o=setTimeout(()=>t(s=>s.phase==="counting"?{phase:"counting",remaining:s.remaining-1}:s),1e3);return()=>clearTimeout(o)},[e]);const a=x.useCallback(()=>{XS("3"),t({phase:"counting",remaining:3})},[]);return{state:e,enableAndStart:a}}const J2=()=>p.jsx("svg",{className:"w-8 h-8",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})}),X2=()=>p.jsx("svg",{className:"w-8 h-8",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})});function eF({submitted:n,title:e,subtitle:t,agentLabel:a}){const{state:o,enableAndStart:s}=V2(!!n);if(!n)return null;const l=n==="approved";return p.jsx("div",{className:"fixed inset-0 z-[100] bg-background flex items-center justify-center",children:p.jsxs("div",{className:"text-center space-y-6 max-w-md px-8",children:[p.jsx("div",{className:`mx-auto w-16 h-16 rounded-full flex items-center justify-center ${l?"bg-success/20 text-success":"bg-accent/20 text-accent"}`,children:l?p.jsx(J2,{}):p.jsx(X2,{})}),p.jsxs("div",{className:"space-y-2",children:[p.jsx("h2",{className:"text-xl font-semibold text-foreground",children:e}),p.jsx("p",{className:"text-muted-foreground",children:t})]}),p.jsx("div",{className:"pt-4 border-t border-border space-y-2",children:o.phase==="counting"?p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"text-sm text-muted-foreground",children:["This tab will close in ",p.jsx("span",{className:"text-foreground font-medium",children:o.remaining})," second",o.remaining!==1?"s":"","..."]}),p.jsx("p",{className:"text-xs text-muted-foreground/60",children:"You can change this in Settings."})]}):o.phase==="closeFailed"?p.jsxs(p.Fragment,{children:[p.jsx("p",{className:"text-sm text-muted-foreground",children:"Could not close this tab automatically. Please close it manually."}),p.jsxs("p",{className:"text-xs text-muted-foreground/60",children:["Auto-close works when the tab is opened by ",a,"."]})]}):p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"text-sm text-muted-foreground",children:["You can close this tab and return to ",p.jsx("span",{className:"text-foreground font-medium",children:a}),"."]}),o.phase==="prompt"?p.jsxs(p.Fragment,{children:[p.jsxs("label",{className:"flex items-center justify-center gap-2 cursor-pointer group",children:[p.jsx("input",{type:"checkbox",checked:!1,onChange:s,className:"accent-primary"}),p.jsx("span",{className:"text-xs text-muted-foreground group-hover:text-foreground transition-colors",children:"Auto-close this tab after 3 seconds"})]}),p.jsx("p",{className:"text-xs text-muted-foreground/60",children:"You can change the delay in Settings."})]}):p.jsx("p",{className:"text-xs text-muted-foreground/60",children:"Your response has been sent."})]})})]})})}const tF=({className:n})=>p.jsx("svg",{className:n,viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:p.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92 10.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z"})}),nF=({className:n})=>p.jsxs("svg",{className:n,viewBox:"90 90 200 195",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[p.jsx("path",{d:"M282.83 170.73l-.27-.69-26.14-68.22a6.81 6.81 0 00-2.69-3.24 7 7 0 00-8 .43 7 7 0 00-2.32 3.52l-17.65 54h-71.47l-17.65-54a6.86 6.86 0 00-2.32-3.53 7 7 0 00-8-.43 6.87 6.87 0 00-2.69 3.24L97.44 170l-.26.69a48.54 48.54 0 0016.1 56.1l.09.07.24.17 39.82 29.82 19.7 14.91 12 9.06a8.07 8.07 0 009.76 0l12-9.06 19.7-14.91 40.06-30 .1-.08a48.56 48.56 0 0016.08-56.04z"}),p.jsx("path",{d:"M282.83 170.73l-.27-.69a88.3 88.3 0 00-35.15 15.8L190 229.25c19.55 14.79 36.57 27.64 36.57 27.64l40.06-30 .1-.08a48.56 48.56 0 0016.1-56.08z",opacity:"0.7"}),p.jsx("path",{d:"M153.43 256.89l19.7 14.91 12 9.06a8.07 8.07 0 009.76 0l12-9.06 19.7-14.91s-17.04-12.89-36.59-27.64c-19.55 14.75-36.57 27.64-36.57 27.64z",opacity:"0.85"}),p.jsx("path",{d:"M132.58 185.84A88.19 88.19 0 0097.44 170l-.26.69a48.54 48.54 0 0016.1 56.1l.09.07.24.17 39.82 29.82s17-12.85 36.57-27.64z",opacity:"0.7"})]}),JC=({className:n})=>p.jsx("svg",{className:n,viewBox:"0 0 768 1024",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:p.jsx("path",{d:"M320 256h-64v64h64v-64z m0-128h-64v64h64v-64z m384-128c-32 0-608 0-640 0s-64 32-64 64 0 736 0 768 32 64 64 64 128 0 128 0v128l96-96 96 96v-128s288 0 320 0 64-32 64-64 0-736 0-768-32-64-64-64z m0 800c0 16-15 32-32 32s-288 0-288 0v-64h-192v64s-79 0-96 0-32-17-32-32 0-96 0-96h640s0 80 0 96z m0-160h-512v-576h513l-1 576z m-384-128h-64v64h64v-64z m0-128h-64v64h64v-64z"})}),aF=({className:n})=>p.jsx("svg",{className:n,viewBox:"0 0 768 1024",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:p.jsx("path",{d:"M704 722s0-306 0-402-96-192-192-192c-64 0-64 0-64 0v-128l-192 192 192 192v-128s32 0 64 0 64 32 64 64 0 402 0 402c-38 22-64 63-64 110 0 71 57 128 128 128s128-57 128-128c0-47-26-88-64-110z m-64 174c-35 0-64-29-64-64s29-64 64-64 64 29 64 64-29 64-64 64z m-512-832c-71 0-128 57-128 128 0 47 26 88 64 110v419c-38 22-64 63-64 110 0 71 57 128 128 128s128-57 128-128c0-47-26-88-64-110v-419c38-22 64-63 64-110 0-71-57-128-128-128z m0 832c-35 0-64-29-64-64s29-64 64-64 64 29 64 64-29 64-64 64z m0-640c-35 0-64-29-64-64s29-64 64-64 64 29 64 64-29 64-64 64z"})});function iF(n){return n.platform==="github"?"GitHub":"GitLab"}function OD(n){return n.platform==="github"?"PR":"MR"}function PD(n){return n.platform==="github"?`#${n.number}`:`!${n.iid}`}function jD(n){return n.platform==="github"?`${n.owner}/${n.repo}`:n.projectPath}const GD="plannotator-ai-setup-done";function rF(){return _e.getItem(GD)!=="true"}function oF(){_e.setItem(GD,"true")}const sF=({isOpen:n,providers:e,onComplete:t})=>{const[a,o]=x.useState(null),[s,l]=x.useState(()=>Sr().preferredModels);if(!n||e.length===0)return null;const d=a??e[0]?.id??null,u=b=>{o(b)},m=(b,h)=>{FD(b,h),l(w=>({...w,[b]:h}))},g=()=>{if(!d)return;const b=Sr();up({...b,providerId:d}),oF(),t(d)};return so.createPortal(p.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-background/90 backdrop-blur-sm p-4",children:p.jsxs("div",{className:"bg-card border border-border rounded-xl w-full max-w-lg shadow-2xl",children:[p.jsxs("div",{className:"p-5 border-b border-border",children:[p.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[p.jsx("div",{className:"p-1.5 rounded-lg bg-primary/15",children:p.jsx("svg",{className:"w-5 h-5 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.455 2.456L21.75 6l-1.036.259a3.375 3.375 0 00-2.455 2.456z"})})}),p.jsx("h3",{className:"font-semibold text-base",children:"AI-Assisted Code Review"})]}),p.jsx("p",{className:"text-sm text-muted-foreground",children:"Ask questions about code changes inline or in a side chat. Select lines in a diff, click the sparkle, and get streaming answers with full diff context."})]}),p.jsxs("div",{className:"p-4",children:[p.jsx("div",{className:"text-xs text-muted-foreground mb-2",children:"Choose your default provider"}),p.jsx("div",{className:"grid grid-cols-2 gap-2",children:e.map(b=>{const h=Pu(b.name),w=h.icon,_=d===b.id;return p.jsxs("button",{type:"button",onClick:()=>u(b.id),className:`flex items-center gap-2.5 p-3 rounded-lg border transition-colors text-left ${_?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/30 hover:bg-muted/50"}`,children:[p.jsx("div",{className:"w-7 h-7 rounded-md bg-muted flex items-center justify-center text-muted-foreground flex-shrink-0",children:p.jsx(w,{className:"w-4.5 h-4.5"})}),p.jsx("span",{className:"text-sm font-medium",children:h.label}),_&&p.jsx("svg",{className:"w-3.5 h-3.5 text-primary ml-auto flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})]},b.id)})}),d&&(()=>{const h=e.find(k=>k.id===d)?.models??[];if(h.length<=1)return null;const w=h.find(k=>k.default)??h[0],_=s[d]??w?.id??"";return p.jsx("div",{className:"mt-3",children:p.jsxs("label",{className:"flex items-center gap-2",children:[p.jsx("span",{className:"text-xs text-muted-foreground",children:"Model"}),p.jsx("select",{value:_,onChange:k=>m(d,k.target.value),className:"flex-1 text-xs bg-muted rounded px-2 py-1.5 focus:outline-none focus:ring-1 focus:ring-primary/50 cursor-pointer",children:h.map(k=>p.jsx("option",{value:k.id,children:k.label},k.id))})]})})})()]}),p.jsxs("div",{className:"p-4 border-t border-border flex justify-between items-center gap-3",children:[p.jsxs("p",{className:"text-[10px] text-muted-foreground/70 flex-1",children:["Providers are detected from installed CLI tools. You must be authenticated with each CLI independently."," ",p.jsx("a",{href:"https://plannotator.ai/docs/guides/ai-features/",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"Learn more"})]}),p.jsx("button",{onClick:g,className:"px-4 py-2 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:opacity-90 transition-opacity flex-shrink-0",children:"Done"})]})]})}),document.body)};function XC({storageKey:n,defaultWidth:e=288,minWidth:t=200,maxWidth:a=600,side:o="right"}){const[s,l]=x.useState(()=>{const v=_e.getItem(n);if(v){const E=Number(v);if(!Number.isNaN(E)&&E>=t&&E<=a)return E}return e}),[d,u]=x.useState(!1),m=x.useRef(0),g=x.useRef(0),b=x.useRef(s),h=x.useCallback(v=>{b.current=v,l(v)},[]),w=x.useCallback(v=>{v.preventDefault(),m.current=v.clientX,g.current=b.current,u(!0)},[]),_=x.useCallback(v=>{v.preventDefault(),m.current=v.touches[0].clientX,g.current=b.current,u(!0)},[]);x.useEffect(()=>{if(!d)return;const v=I=>"touches"in I?I.touches[0]?.clientX??I.changedTouches[0]?.clientX??0:I.clientX,E=I=>{const N=v(I),R=o==="right"?m.current-N:N-m.current;h(Math.min(a,Math.max(t,g.current+R)))},B=()=>{u(!1),_e.setItem(n,String(b.current))};return document.addEventListener("mousemove",E),document.addEventListener("mouseup",B),document.addEventListener("touchmove",E,{passive:!1}),document.addEventListener("touchend",B),document.addEventListener("touchcancel",B),()=>{document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",B),document.removeEventListener("touchmove",E),document.removeEventListener("touchend",B),document.removeEventListener("touchcancel",B)}},[d,t,a,n,o,h]);const k=x.useCallback(()=>{h(e),_e.setItem(n,String(e))},[e,n,h]);return{width:s,isDragging:d,handleProps:{isDragging:d,onMouseDown:w,onTouchStart:_,onDoubleClick:k}}}const cF=500;function lF(n){const e=Math.floor((Date.now()-n)/1e3);if(e<60)return"just now";const t=Math.floor(e/60);if(t<60)return`${t} minute${t!==1?"s":""} ago`;const a=Math.floor(t/60);if(a<24)return`${a} hour${a!==1?"s":""} ago`;const o=Math.floor(a/24);return`${o} day${o!==1?"s":""} ago`}function dF({annotations:n,viewedFiles:e,isApiMode:t,submitted:a}){const[o,s]=x.useState(null),l=x.useRef(null),d=x.useRef(null),u=x.useRef(!1);x.useEffect(()=>{t&&fetch("/api/draft").then(b=>b.ok?b.json():null).then(b=>{const h=Array.isArray(b?.codeAnnotations)?b.codeAnnotations.length:0,w=Array.isArray(b?.viewedFiles)?b.viewedFiles.length:0;(h>0||w>0)&&(l.current=b,s({count:h,viewedCount:w,timeAgo:lF(b?.ts||0)})),u.current=!0}).catch(()=>{u.current=!0})},[t]),x.useEffect(()=>{if(!(!t||a)&&u.current&&!(n.length===0&&e.size===0))return d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{const b={codeAnnotations:n,viewedFiles:[...e],ts:Date.now()};fetch("/api/draft",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}).catch(()=>{})},cF),()=>{d.current&&clearTimeout(d.current)}},[n,e,t,a]);const m=x.useCallback(()=>{const b=l.current;return s(null),l.current=null,{annotations:b?.codeAnnotations??[],viewedFiles:b?.viewedFiles??[]}},[]),g=x.useCallback(()=>{s(null),l.current=null,fetch("/api/draft",{method:"DELETE"}).catch(()=>{})},[]);return{draftBanner:o,restoreDraft:m,dismissDraft:g}}const uF=new Set(["uncommitted","unstaged"]);function pF({activeDiffBase:n,onFileViewed:e}){const[t,a]=x.useState(new Set),[o,s]=x.useState(null),[l,d]=x.useState(null),u=x.useRef(),m=uF.has(n),g=x.useRef(t);g.current=t;const b=x.useCallback(async w=>{const _=g.current.has(w);s(w),d(null),clearTimeout(u.current);try{const k=await fetch("/api/git-add",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:w,undo:_})});if(!k.ok){const v=await k.json().catch(()=>({error:"Failed"}));throw new Error(v.error||"Failed")}a(v=>{const E=new Set(v);return _?E.delete(w):E.add(w),E}),_||e(w)}catch(k){const v=k instanceof Error?k.message:"Git add failed";d(v),u.current=setTimeout(()=>d(null),3e3)}finally{s(null)}},[e]),h=x.useCallback(()=>{a(new Set),d(null),clearTimeout(u.current)},[]);return{stagedFiles:t,stagingFile:o,canStageFiles:m,stageFile:b,resetStagedFiles:h,stageError:l}}const oy=()=>Math.random().toString(36).substring(2,9);function AF({patch:n,providerId:e,model:t,reasoningEffort:a}){const[o,s]=x.useState(null),[l,d]=x.useState([]),[u,m]=x.useState(!1),[g,b]=x.useState(!1),[h,w]=x.useState(null),[_,k]=x.useState([]),v=x.useRef(null),E=x.useRef(null);E.current=o;const B=x.useCallback(async T=>{m(!0);try{const D=await fetch("/api/ai/session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({context:{mode:"code-review",review:{patch:n}},...e&&{providerId:e},...t&&{model:t},...a&&{reasoningEffort:a}}),signal:T});if(!D.ok){const z=await D.json().catch(()=>({error:"Failed to create AI session"}));throw new Error(z.error||`HTTP ${D.status}`)}const F=await D.json();return s(F.sessionId),F.sessionId}finally{m(!1)}},[n,e,t,a]),I=x.useCallback(async T=>{v.current&&v.current.abort();const D=new AbortController;v.current=D,w(null);const F=oy(),z={id:F,prompt:T.prompt,filePath:T.filePath,lineStart:T.lineStart,lineEnd:T.lineEnd,side:T.side,selectedCode:T.selectedCode,createdAt:Date.now()},j={questionId:F,text:"",isStreaming:!0,createdAt:Date.now()};d(M=>[...M,{question:z,response:j}]),b(!0);try{let M=E.current;M||(M=await B(D.signal));let X=T.prompt;if(T.filePath&&T.lineStart!=null&&T.lineEnd!=null){const oe=T.lineStart===T.lineEnd?`line ${T.lineStart}`:`lines ${T.lineStart}-${T.lineEnd}`,de=T.side==="new"?"new (added)":"old (removed)",ge=T.selectedCode?`
|
|
76
76
|
\`\`\`
|
|
77
77
|
${T.selectedCode}
|
|
78
78
|
\`\`\`
|
|
@@ -101,7 +101,7 @@ ${t.selectedText}
|
|
|
101
101
|
`,t.comment&&(e+=`> ${t.comment}
|
|
102
102
|
`),e+=`
|
|
103
103
|
`}),e+=`---
|
|
104
|
-
`,e},aE=({isDragging:n,onMouseDown:e,onTouchStart:t,onDoubleClick:a,className:o,side:s})=>p.jsxs("div",{className:`relative w-0 cursor-col-resize flex-shrink-0 group z-10${o?` ${o}`:""}`,children:[p.jsx("div",{className:`absolute inset-y-0 -left-0.5 -right-0.5 transition-colors ${n?"bg-primary/50":"group-hover:bg-border"}`}),p.jsx("div",{className:`absolute inset-y-0 ${s==="left"?"-right-2 -left-1":s==="right"?"-
|
|
104
|
+
`,e},aE=({isDragging:n,onMouseDown:e,onTouchStart:t,onDoubleClick:a,className:o,side:s})=>p.jsxs("div",{className:`relative w-0 cursor-col-resize flex-shrink-0 group z-10${o?` ${o}`:""}`,children:[p.jsx("div",{className:`absolute inset-y-0 -left-0.5 -right-0.5 transition-colors ${n?"bg-primary/50":"group-hover:bg-border"}`}),p.jsx("div",{className:`absolute inset-y-0 ${s==="left"?"-right-2 -left-1":s==="right"?"-right-3 left-0":"-inset-x-2"}`,onMouseDown:e,onTouchStart:t,onDoubleClick:a})]});/**
|
|
105
105
|
* dockview-core
|
|
106
106
|
* @version 5.2.0
|
|
107
107
|
* @link https://github.com/mathuo/dockview
|
|
@@ -6029,7 +6029,7 @@ XID_Start XIDS`.split(/\s/).map(n=>[Bp(n),n])),B6=new Map([["s",ta(383)],[ta(383
|
|
|
6029
6029
|
}
|
|
6030
6030
|
${qt}
|
|
6031
6031
|
`})})},[re,ae,g,b]);const ln=x.useMemo(()=>{if(!(!le||s==="wrap"))return{"--split-left":`${Ee}fr`,"--split-right":`${1-Ee}fr`}},[s,le,Ee]);return p.jsxs("div",{className:"h-full flex flex-col",children:[p.jsx(S7,{filePath:e,patch:n,isViewed:R,onToggleViewed:S,isStaged:T,isStaging:D,onStage:F,canStage:z,stageError:j,onFileComment:ve}),p.jsxs("div",{ref:he,className:`flex-1 overflow-auto relative ${lt?"select-none":""}`,onMouseMove:Ze.handleMouseMove,children:[p.jsx("div",{className:"p-4",children:p.jsxs("div",{ref:we,className:"relative min-w-0",style:ln,children:[le&&s!=="wrap"&&p.jsx("div",{className:"absolute top-0 bottom-0 z-10 cursor-col-resize group",style:{left:`${Ee*100}%`,width:9,marginLeft:-4},onPointerDown:gn,onDoubleClick:bn,children:p.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-1/2 -translate-x-1/2 w-px bg-border transition-[width,background-color] group-hover:w-0.5 group-hover:bg-primary/50 group-active:w-0.5 group-active:bg-primary/70"})}),p.jsx(Z7,{filePath:e,fileDiff:On,pierreTheme:Dn,diffStyle:o,diffOverflow:s,diffIndicators:l,lineDiffType:d,disableLineNumbers:u,disableBackground:m,mergedAnnotations:Ct,pendingSelection:_,onLineSelectionEnd:Ze.handleLineSelectionEnd,renderAnnotation:We,renderHoverUtility:Sn})]})}),Ze.toolbarState&&p.jsx(F7,{toolbarState:Ze.toolbarState,toolbarRef:Ze.toolbarRef,commentText:Ze.commentText,setCommentText:Ze.setCommentText,suggestedCode:Ze.suggestedCode,setSuggestedCode:Ze.setSuggestedCode,showSuggestedCode:Ze.showSuggestedCode,setShowSuggestedCode:Ze.setShowSuggestedCode,setShowCodeModal:Ze.setShowCodeModal,isEditing:!!Ze.editingAnnotationId,onSubmit:Ze.handleSubmitAnnotation,onDismiss:Ze.handleDismiss,onCancel:Ze.handleCancel,aiAvailable:O,onAskAI:K,isAILoading:oe,onViewAIResponse:de,aiHistoryMessages:Z}),Ze.showCodeModal&&p.jsx(L7,{filePath:e,toolbarState:Ze.toolbarState,selectedOriginalCode:Ze.selectedOriginalCode,suggestedCode:Ze.suggestedCode,setSuggestedCode:Ze.setSuggestedCode,modalLayout:Ze.modalLayout,setModalLayout:Ze.setModalLayout,onClose:()=>Ze.setShowCodeModal(!1)}),De&&p.jsx(k7,{anchorEl:De,contextText:e.split("/").pop()||e,isGlobal:!1,onSubmit:Ie=>{E(Ie),ve(null)},onClose:()=>ve(null)})]})]})},J7=n=>{const e=Ll(),t=$u(n.params)??$u(n.api.getParameters()),a=t?e.files.find(u=>u.path===t):void 0,o=!!a&&e.focusedFilePath===a.path,s=x.useMemo(()=>a?e.allAnnotations.filter(u=>u.filePath===a.path):[],[e.allAnnotations,a]),l=x.useMemo(()=>a?e.aiMessages.filter(u=>u.question.filePath===a.path):[],[e.aiMessages,a]),d=x.useMemo(()=>a&&o?e.activeFileSearchMatches:[],[e.activeFileSearchMatches,o,a]);return a?p.jsx("div",{className:"h-full relative",children:p.jsx(V7,{patch:a.patch,filePath:a.path,oldPath:a.oldPath,isFocused:o,diffStyle:e.diffStyle,diffOverflow:e.diffOverflow,diffIndicators:e.diffIndicators,lineDiffType:e.lineDiffType,disableLineNumbers:e.disableLineNumbers,disableBackground:e.disableBackground,fontFamily:e.fontFamily,fontSize:e.fontSize,annotations:s,selectedAnnotationId:e.selectedAnnotationId,pendingSelection:e.pendingSelection,onLineSelection:e.onLineSelection,onAddAnnotation:e.onAddAnnotation,onAddFileComment:e.onAddFileComment,onEditAnnotation:e.onEditAnnotation,onSelectAnnotation:e.onSelectAnnotation,onDeleteAnnotation:e.onDeleteAnnotation,isViewed:e.viewedFiles.has(a.path),onToggleViewed:()=>e.onToggleViewed(a.path),isStaged:e.stagedFiles.has(a.path),isStaging:e.stagingFile===a.path,onStage:()=>e.onStage(a.path),canStage:e.canStageFiles,stageError:e.stageError,searchQuery:e.isSearchPending?"":e.debouncedSearchQuery,searchMatches:d,activeSearchMatchId:o?e.activeSearchMatchId:null,activeSearchMatch:o&&e.activeSearchMatch?.filePath===a.path?e.activeSearchMatch:null,aiAvailable:e.aiAvailable,onAskAI:e.onAskAI,isAILoading:e.isAILoading,onViewAIResponse:e.onViewAIResponse,aiMessages:l,onClickAIMarker:e.onClickAIMarker,aiHistoryMessages:o?e.aiHistoryForSelection:[]})},a.path):p.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground text-sm",children:"File not found"})},X7=n=>{const e=n.params?.jobId??"",t=Ll(),a=x.useMemo(()=>t.agentJobs.find(l=>l.id===e)??null,[t.agentJobs,e]),o=x.useMemo(()=>a?t.externalAnnotations.filter(l=>l.source===a.source):[],[t.externalAnnotations,a]);if(!a)return p.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground text-sm",children:"Job not found"});const s=l=>{t.openDiffFile(l.filePath),t.onSelectAnnotation(l.id)};return p.jsxs("div",{className:"h-full overflow-y-auto",children:[p.jsxs("div",{className:"sticky top-0 bg-card/95 backdrop-blur-sm border-b border-border/50 p-4",children:[p.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[p.jsx(tH,{status:a.status}),p.jsx(nH,{provider:a.provider}),!Ko(a.status)&&p.jsx("span",{className:"text-xs text-muted-foreground ml-auto",children:p.jsx(eH,{startedAt:a.startedAt})})]}),p.jsx("h2",{className:"text-sm font-semibold text-foreground",children:a.label})]}),p.jsxs("div",{className:"p-4 space-y-4",children:[p.jsxs("section",{children:[p.jsx("h3",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground mb-2",children:"Details"}),p.jsxs("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-xs",children:[p.jsx("dt",{className:"text-muted-foreground",children:"Source"}),p.jsx("dd",{className:"font-mono text-foreground",children:a.source}),p.jsx("dt",{className:"text-muted-foreground",children:"Command"}),p.jsx("dd",{className:"font-mono text-foreground truncate",title:a.command.join(" "),children:a.command.join(" ")}),p.jsx("dt",{className:"text-muted-foreground",children:"Started"}),p.jsx("dd",{className:"text-foreground",children:new Date(a.startedAt).toLocaleTimeString()}),a.endedAt&&p.jsxs(p.Fragment,{children:[p.jsx("dt",{className:"text-muted-foreground",children:"Ended"}),p.jsx("dd",{className:"text-foreground",children:new Date(a.endedAt).toLocaleTimeString()})]}),a.endedAt&&p.jsxs(p.Fragment,{children:[p.jsx("dt",{className:"text-muted-foreground",children:"Duration"}),p.jsx("dd",{className:"text-foreground",children:iN(a.endedAt-a.startedAt)})]}),a.exitCode!==void 0&&p.jsxs(p.Fragment,{children:[p.jsx("dt",{className:"text-muted-foreground",children:"Exit code"}),p.jsx("dd",{className:`font-mono ${a.exitCode===0?"text-success":"text-destructive"}`,children:a.exitCode})]})]})]}),a.error&&p.jsxs("section",{children:[p.jsx("h3",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground mb-2",children:"Stderr"}),p.jsx("pre",{className:"text-[11px] leading-relaxed font-mono bg-muted/50 border border-border/50 rounded-md p-3 overflow-x-auto whitespace-pre-wrap break-words max-h-48",children:a.error})]}),p.jsxs("section",{children:[p.jsxs("h3",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground mb-2",children:["Annotations (",o.length,")"]}),o.length===0?p.jsx("p",{className:"text-xs text-muted-foreground",children:Ko(a.status)?"No annotations were produced by this job.":"Annotations will appear here as the agent produces them."}):p.jsx("div",{className:"space-y-1.5",children:o.map(l=>p.jsxs("button",{className:"w-full text-left p-2 rounded-md border border-transparent hover:border-border/50 hover:bg-muted/30 transition-colors",onClick:()=>s(l),children:[p.jsxs("div",{className:"flex items-center gap-2 text-[10px]",children:[p.jsx("span",{className:"font-mono text-primary truncate",children:l.filePath}),p.jsxs("span",{className:"text-muted-foreground",children:["L",l.lineStart,l.lineEnd!==l.lineStart?`-${l.lineEnd}`:""]}),p.jsx("span",{className:`px-1.5 py-0.5 rounded font-medium uppercase tracking-wider ${l.type==="concern"?"bg-destructive/15 text-destructive":l.type==="suggestion"?"bg-success/15 text-success":"bg-muted text-muted-foreground"}`,children:l.type})]}),l.text&&p.jsx("p",{className:"text-xs text-foreground mt-1 line-clamp-2",children:l.text})]},l.id))})]}),!Ko(a.status)&&o.length===0&&p.jsx("section",{className:"text-xs text-muted-foreground/60 text-center py-4 border border-dashed border-border/30 rounded-md",children:"Agent output will appear as annotations in the diff."})]})]})};function iN(n){const e=Math.floor(n/1e3);if(e<60)return`${e}s`;const t=Math.floor(e/60),a=e%60;return`${t}m ${a}s`}function eH({startedAt:n}){const[,e]=x.useState(0);return x.useEffect(()=>{const t=setInterval(()=>e(a=>a+1),1e3);return()=>clearInterval(t)},[]),p.jsx(p.Fragment,{children:iN(Date.now()-n)})}function tH({status:n}){const e={starting:{className:"text-primary",label:"Starting"},running:{className:"text-primary",label:"Running"},done:{className:"text-success",label:"Done"},failed:{className:"text-destructive",label:"Failed"},killed:{className:"text-muted-foreground",label:"Killed"}},t=e[n]??e.killed;return p.jsxs("span",{className:`inline-flex items-center gap-1 text-[10px] font-medium ${t.className}`,children:[(n==="starting"||n==="running")&&p.jsxs("svg",{className:"w-3 h-3 animate-spin",viewBox:"0 0 24 24",fill:"none",children:[p.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),p.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),t.label]})}function nH({provider:n}){const e=n==="claude"?"Claude":n==="codex"?"Codex":"Shell";return p.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider px-1.5 py-0.5 rounded bg-muted text-muted-foreground",children:e})}const aH=/<[a-z][a-z0-9]*[\s/>]/i,rN=n=>aH.test(n);function oN(n){return EQ.sanitize(n,{ALLOWED_TAGS:["sub","sup","b","i","em","strong","br","hr","p","span","del","ins","mark","small","abbr","kbd","var","samp","details","summary","blockquote","ul","ol","li","h1","h2","h3","h4","h5","h6","pre","code","table","thead","tbody","tr","th","td","a","img","div"],ALLOWED_ATTR:["href","src","alt","title","rel","target","width","height","align"]})}function ny(n){return rN(n)?p.jsx("span",{dangerouslySetInnerHTML:{__html:oN(n)}}):fp(n)}function Jy({markdown:n}){const e=x.useMemo(()=>TF(n),[n]);return p.jsx("div",{className:"space-y-2 text-xs text-foreground/90",children:e.map(t=>{switch(t.type){case"heading":{const a=`h${Math.min(t.level??1,6)}`,o={1:"text-base font-bold",2:"text-sm font-semibold",3:"text-xs font-semibold"};return p.jsx(a,{className:`${o[t.level??1]??"text-xs font-medium"} text-foreground`,children:ny(t.content)},t.id)}case"code":return p.jsx("pre",{className:"bg-muted/50 rounded-md p-2 text-[11px] font-mono overflow-x-auto whitespace-pre-wrap",children:p.jsx("code",{children:t.content})},t.id);case"list-item":return p.jsxs("div",{className:"flex gap-1.5",style:{paddingLeft:(t.level??0)*12},children:[p.jsx("span",{className:"text-muted-foreground shrink-0",children:t.checked!==void 0?t.checked?"☑":"☐":"•"}),p.jsx("span",{children:ny(t.content)})]},t.id);case"blockquote":return p.jsx("blockquote",{className:"border-l-2 border-border pl-2 text-muted-foreground italic",children:ny(t.content)},t.id);case"hr":return p.jsx("hr",{className:"border-border/50"},t.id);default:return t.content?rN(t.content)?p.jsx("div",{dangerouslySetInnerHTML:{__html:oN(t.content)}},t.id):p.jsx("p",{children:fp(t.content)},t.id):null}})})}const iH=({context:n,metadata:e})=>p.jsxs("div",{className:"p-3 space-y-4",children:[p.jsxs("div",{className:"space-y-2",children:[p.jsxs("div",{className:"flex items-start gap-2",children:[p.jsx("span",{className:`shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded ${n.state==="MERGED"?"bg-violet-500/15 text-violet-400":n.state==="CLOSED"?"bg-destructive/15 text-destructive":n.isDraft?"bg-muted text-muted-foreground":"bg-success/15 text-success"}`,children:n.isDraft?"Draft":n.state}),p.jsx("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"text-xs font-medium text-foreground hover:text-primary transition-colors",children:e.title})]}),p.jsxs("div",{className:"text-[10px] text-muted-foreground font-mono",children:[e.author," wants to merge ",p.jsx("code",{className:"bg-muted px-1 rounded",children:e.headBranch})," into ",p.jsx("code",{className:"bg-muted px-1 rounded",children:e.baseBranch})]})]}),n.labels.length>0&&p.jsx("div",{className:"flex flex-wrap gap-1",children:n.labels.map(t=>p.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full font-medium",style:{backgroundColor:`#${t.color}20`,color:`#${t.color}`,border:`1px solid #${t.color}40`},children:t.name},t.name))}),n.linkedIssues.length>0&&p.jsxs("div",{className:"space-y-1",children:[p.jsx("h3",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Linked Issues"}),n.linkedIssues.map(t=>p.jsxs("a",{href:t.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 text-xs text-primary hover:underline",children:[p.jsxs("svg",{className:"w-3 h-3 shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:[p.jsx("circle",{cx:"12",cy:"12",r:"10"}),p.jsx("path",{d:"M12 8v4m0 4h.01"})]}),"#",t.number,t.repo&&p.jsxs("span",{className:"text-muted-foreground text-[10px]",children:["(",t.repo,")"]})]},t.url))]}),n.body?p.jsxs("div",{className:"space-y-1",children:[p.jsx("h3",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Description"}),p.jsx(Jy,{markdown:n.body})]}):p.jsx("p",{className:"text-xs text-muted-foreground italic",children:"No description provided."})]}),rH=()=>{const{prMetadata:n,prContext:e,isPRContextLoading:t,prContextError:a,fetchPRContext:o}=Ll();return x.useEffect(()=>{!e&&!a&&!t&&o()},[e,a,t,o]),n?t?p.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground text-sm",children:"Loading PR summary…"}):a?p.jsxs("div",{className:"h-full flex flex-col items-center justify-center gap-3 px-6 text-center",children:[p.jsx("div",{className:"text-destructive text-sm",children:a}),p.jsx("button",{type:"button",onClick:o,className:"px-2.5 py-1 rounded-md text-xs font-medium bg-muted hover:bg-muted/80 transition-colors",children:"Retry"})]}):e?p.jsx("div",{className:"h-full overflow-y-auto",children:p.jsx(iH,{context:e,metadata:n})}):null:p.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground text-sm",children:"No PR metadata"})},qS={APPROVED:{bg:"bg-success/15",text:"text-success",label:"Approved"},CHANGES_REQUESTED:{bg:"bg-destructive/15",text:"text-destructive",label:"Changes Requested"},COMMENTED:{bg:"bg-muted",text:"text-muted-foreground",label:"Commented"},DISMISSED:{bg:"bg-muted",text:"text-muted-foreground/60",label:"Dismissed"}};function US(n){if(!n)return"";const e=Date.now(),t=new Date(n).getTime();if(isNaN(t))return"";const a=e-t,o=Math.floor(a/6e4),s=Math.floor(o/60),l=Math.floor(s/24);return o<1?"just now":o<60?`${o}m ago`:s<24?`${s}h ago`:l<30?`${l}d ago`:new Date(n).toLocaleDateString(void 0,{month:"short",day:"numeric"})}const oH=({context:n})=>{const e=x.useMemo(()=>{const t=[...n.comments.map(a=>({kind:"comment",data:a})),...n.reviews.filter(a=>a.state!=="COMMENTED"||a.body).map(a=>({kind:"review",data:a}))];return t.sort((a,o)=>{const s=a.kind==="comment"?a.data.createdAt:a.data.submittedAt,l=o.kind==="comment"?o.data.createdAt:o.data.submittedAt;return new Date(s).getTime()-new Date(l).getTime()}),t},[n.comments,n.reviews]);return e.length===0?p.jsxs("div",{className:"flex flex-col items-center justify-center h-40 text-center px-4",children:[p.jsx("div",{className:"w-10 h-10 rounded-full bg-muted/50 flex items-center justify-center mb-3",children:p.jsx("svg",{className:"w-5 h-5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})})}),p.jsx("p",{className:"text-xs text-muted-foreground",children:"No comments on this PR."})]}):p.jsx("div",{className:"p-2 space-y-2",children:e.map(t=>{if(t.kind==="review"){const o=t.data,s=qS[o.state]??qS.COMMENTED;return p.jsxs("div",{className:"rounded-lg border border-border/50 p-2.5",children:[p.jsxs("div",{className:"flex items-center justify-between mb-1",children:[p.jsxs("div",{className:"flex items-center gap-1.5",children:[p.jsx("span",{className:"text-[11px] font-medium text-foreground",children:o.author||"unknown"}),p.jsx("span",{className:`text-[9px] font-medium px-1.5 py-0.5 rounded ${s.bg} ${s.text}`,children:s.label})]}),p.jsx("span",{className:"text-[10px] text-muted-foreground/50",children:US(o.submittedAt)})]}),o.body&&p.jsx("div",{className:"text-xs text-foreground/80 mt-1 review-comment-markdown",children:p.jsx(Jy,{markdown:o.body})})]},o.id)}const a=t.data;return p.jsxs("div",{className:"rounded-lg border border-border/50 p-2.5",children:[p.jsxs("div",{className:"flex items-center justify-between mb-1",children:[p.jsx("span",{className:"text-[11px] font-medium text-foreground",children:a.author||"unknown"}),p.jsx("span",{className:"text-[10px] text-muted-foreground/50",children:US(a.createdAt)})]}),p.jsx("div",{className:"text-xs text-foreground/80 review-comment-markdown",children:p.jsx(Jy,{markdown:a.body})})]},a.id)})})},sH=()=>{const{prContext:n,isPRContextLoading:e,prContextError:t,fetchPRContext:a}=Ll();return x.useEffect(()=>{!n&&!t&&!e&&a()},[n,t,e,a]),e?p.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground text-sm",children:"Loading comments…"}):t?p.jsxs("div",{className:"h-full flex flex-col items-center justify-center gap-3 px-6 text-center",children:[p.jsx("div",{className:"text-destructive text-sm",children:t}),p.jsx("button",{type:"button",onClick:a,className:"px-2.5 py-1 rounded-md text-xs font-medium bg-muted hover:bg-muted/80 transition-colors",children:"Retry"})]}):n?p.jsx("div",{className:"h-full overflow-y-auto",children:p.jsx(oH,{context:n})}):null},cH={APPROVED:{bg:"bg-success/15",text:"text-success",label:"Approved"},CHANGES_REQUESTED:{bg:"bg-destructive/15",text:"text-destructive",label:"Changes Requested"},REVIEW_REQUIRED:{bg:"bg-yellow-500/15",text:"text-yellow-500",label:"Review Required"}},HS={CLEAN:{bg:"bg-success/15",text:"text-success",label:"Ready to merge"},BLOCKED:{bg:"bg-yellow-500/15",text:"text-yellow-500",label:"Blocked"},BEHIND:{bg:"bg-yellow-500/15",text:"text-yellow-500",label:"Behind base branch"},DIRTY:{bg:"bg-destructive/15",text:"text-destructive",label:"Has conflicts"},UNKNOWN:{bg:"bg-muted",text:"text-muted-foreground",label:"Unknown"}};function lH({check:n}){return n.status!=="COMPLETED"?p.jsx("svg",{className:"w-3.5 h-3.5 text-yellow-500 animate-spin",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}):n.conclusion==="SUCCESS"?p.jsx("svg",{className:"w-3.5 h-3.5 text-success",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})}):n.conclusion==="FAILURE"||n.conclusion==="TIMED_OUT"?p.jsx("svg",{className:"w-3.5 h-3.5 text-destructive",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}):n.conclusion==="SKIPPED"||n.conclusion==="NEUTRAL"?p.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M20 12H4"})}):p.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:p.jsx("circle",{cx:"12",cy:"12",r:"10"})})}const dH=({context:n})=>{const e=x.useMemo(()=>{const u=new Map;for(const m of n.checks){const g=m.workflowName||"Other",b=u.get(g)||[];b.push(m),u.set(g,b)}return u},[n.checks]),t=x.useMemo(()=>{const u=n.checks.length,m=n.checks.filter(w=>w.conclusion==="SUCCESS").length,g=n.checks.filter(w=>w.conclusion==="FAILURE"||w.conclusion==="TIMED_OUT").length,b=n.checks.filter(w=>w.status!=="COMPLETED").length,h=n.checks.filter(w=>w.conclusion==="SKIPPED"||w.conclusion==="NEUTRAL").length;return{total:u,passed:m,failed:g,pending:b,skipped:h}},[n.checks]),a=n.state==="MERGED",o=n.state==="CLOSED",s=cH[n.reviewDecision],l=a?{bg:"bg-violet-500/15",text:"text-violet-400",label:"Merged"}:o?{bg:"bg-destructive/15",text:"text-destructive",label:"Closed"}:HS[n.mergeStateStatus]??HS.UNKNOWN,d=!a&&!o&&n.mergeable==="CONFLICTING";return p.jsxs("div",{className:"p-3 space-y-4",children:[p.jsxs("div",{className:"space-y-2",children:[p.jsx("h3",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Merge Status"}),p.jsxs("div",{className:"space-y-1.5",children:[s&&p.jsx("div",{className:`flex items-center gap-2 px-2 py-1.5 rounded-md ${s.bg}`,children:p.jsx("span",{className:`text-xs font-medium ${s.text}`,children:s.label})}),p.jsx("div",{className:`flex items-center gap-2 px-2 py-1.5 rounded-md ${l.bg}`,children:p.jsx("span",{className:`text-xs font-medium ${l.text}`,children:d?"Has merge conflicts":l.label})})]})]}),n.checks.length>0&&p.jsxs("div",{className:"space-y-2",children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsx("h3",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:"Checks"}),p.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground",children:[t.passed,"/",t.total," passed",t.failed>0&&p.jsxs("span",{className:"text-destructive ml-1",children:[t.failed," failed"]}),t.pending>0&&p.jsxs("span",{className:"text-yellow-500 ml-1",children:[t.pending," pending"]})]})]}),p.jsx("div",{className:"space-y-3",children:Array.from(e.entries()).map(([u,m])=>p.jsxs("div",{children:[p.jsx("div",{className:"text-[10px] font-medium text-muted-foreground mb-1",children:u}),p.jsx("div",{className:"space-y-0.5",children:m.map((g,b)=>p.jsxs("a",{href:g.detailsUrl||void 0,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50 transition-colors group",children:[p.jsx(lH,{check:g}),p.jsx("span",{className:"text-xs text-foreground/80 truncate group-hover:text-foreground",children:g.name})]},`${g.name}-${b}`))})]},u))})]}),n.checks.length===0&&!s&&p.jsx("div",{className:"flex flex-col items-center justify-center h-24 text-center",children:p.jsx("p",{className:"text-xs text-muted-foreground",children:"No checks configured."})})]})},uH=()=>{const{prContext:n,isPRContextLoading:e,prContextError:t,fetchPRContext:a}=Ll();return x.useEffect(()=>{!n&&!t&&!e&&a()},[n,t,e,a]),e?p.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground text-sm",children:"Loading checks…"}):t?p.jsxs("div",{className:"h-full flex flex-col items-center justify-center gap-3 px-6 text-center",children:[p.jsx("div",{className:"text-destructive text-sm",children:t}),p.jsx("button",{type:"button",onClick:a,className:"px-2.5 py-1 rounded-md text-xs font-medium bg-muted hover:bg-muted/80 transition-colors",children:"Retry"})]}):n?p.jsx("div",{className:"h-full overflow-y-auto",children:p.jsx(dH,{context:n})}):null},pH={[nr.DIFF]:J7,[nr.AGENT_JOB_DETAIL]:X7,[nr.PR_SUMMARY]:rH,[nr.PR_COMMENTS]:sH,[nr.PR_CHECKS]:uH},AH=n=>{const[e,t]=x.useState(n.api.title??n.api.id);x.useEffect(()=>{const o=n.api.onDidTitleChange(()=>{t(n.api.title??n.api.id)});return()=>o.dispose()},[n.api]);const a=o=>{o.stopPropagation(),n.api.close()};return p.jsxs("div",{className:"dv-review-tab",title:e,children:[p.jsx("span",{className:"dv-review-tab-label",children:e}),p.jsx("button",{className:"dv-review-tab-close",onClick:a,"aria-label":"Close",children:p.jsx("svg",{className:"w-3 h-3",viewBox:"0 0 16 16",fill:"currentColor",children:p.jsx("path",{d:"M8 8.707l3.646 3.647.708-.707L8.707 8l3.647-3.646-.707-.708L8 7.293 4.354 3.646l-.707.708L7.293 8l-3.646 3.646.707.708L8 8.707z"})})})]})};function mH(n){const[e,t]=x.useState(null),[a,o]=x.useState(!1),[s,l]=x.useState(null),d=x.useRef(!1),u=x.useCallback(async()=>{if(!(!n||d.current)){d.current=!0,o(!0),l(null);try{const m=await fetch("/api/pr-context");if(!m.ok){const b=await m.json().catch(()=>({}));throw new Error(b.error||`HTTP ${m.status}`)}const g=await m.json();t(g)}catch(m){const g=m instanceof Error?m.message:"Failed to load PR context";l(g),d.current=!1}finally{o(!1)}}},[n]);return{prContext:e,isLoading:a,error:s,fetchContext:u}}function ay(n){const e=[],t=n.split(/^diff --git /m).filter(Boolean);for(const a of t){const o=a.split(`
|
|
6032
|
-
`),s=o[0]?.match(/a\/(.+) b\/(.+)/);if(!s)continue;const l=s[1],d=s[2];let u=0,m=0;for(const g of o)g.startsWith("+")&&!g.startsWith("+++")&&u++,g.startsWith("-")&&!g.startsWith("---")&&m++;e.push({path:d,oldPath:l!==d?l:void 0,patch:"diff --git "+a,additions:u,deletions:m})}return e}function YS(n){return n.split("/").pop()??n}const gH=()=>{const{resolvedMode:n}=dp(),[e,t]=x.useState(null),[a,o]=x.useState([]),[s,l]=x.useState(0),[d,u]=x.useState([]),[m,g]=x.useState(null),[b,h]=x.useState(null),[w,_]=x.useState(!1),[k,v]=x.useState(!1),[E,B]=x.useState(!1),[I,N]=x.useState(!0),R=ha("diffStyle"),S=ha("diffOverflow"),T=ha("diffIndicators"),D=ha("diffLineDiffType"),F=ha("diffShowLineNumbers"),z=ha("diffShowBackground"),j=ha("diffFontFamily"),M=ha("diffFontSize");x.useEffect(()=>{j?(aD(j),document.documentElement.style.setProperty("--diff-font-override",`'${j}', monospace`)):document.documentElement.style.removeProperty("--diff-font-override"),M?document.documentElement.style.setProperty("--diff-font-size-override",M):document.documentElement.style.removeProperty("--diff-font-size-override")},[j,M]);const[X,Y]=x.useState(!0),[U,O]=x.useState(null),[K,oe]=x.useState("idle"),[de,ge]=x.useState(new Set),[P,Z]=x.useState(!1),[W,ae]=x.useState(null),[re,he]=x.useState(),[we,De]=x.useState(!1),[ve,le]=x.useState("uncommitted"),[Ee,tt]=x.useState(null),[It,lt]=x.useState(!1),[an,gn]=x.useState(null),[bn,Ze]=x.useState(!1),[rn,Gt]=x.useState(!1),[Vt,On]=x.useState(!1),[Pn,ft]=x.useState(!1),[fn,Tt]=x.useState(!0),[Ct,zt]=x.useState(null);x.useEffect(()=>{document.title=Ct?`${Ct.display} · Code Review`:"Code Review"},[Ct]);const[We,Sn]=x.useState(null),[Dn,Wn]=x.useState(()=>_e.getItem("plannotator-review-dest")==="agent"?"agent":"platform"),[ln,Ie]=x.useState(!1),[Fe,Ue]=x.useState(!1),[dn,qt]=x.useState(null),[J,ye]=x.useState(null),[mt,Et]=x.useState(null),[ht,G]=x.useState(""),[se,ke]=x.useState(()=>{const $=_e.getItem("plannotator-platform-open-pr");if($!==null)return $!=="false";const ue=_e.getItem("plannotator-github-open-pr");return ue!==null?(_e.setItem("plannotator-platform-open-pr",ue),ue!=="false"):!0}),Re=Dn==="platform"&&!!We,_t=We?iF(We):"GitHub",gt=We?OD(We):"PR",Le=We?PD(We):"",Ne=We?jD(We):"",$e="0.16.4",Ht=ha("displayName");x.useCallback(()=>{h(null)},[]);const{editorAnnotations:at,deleteEditorAnnotation:jn}=EF(),{externalAnnotations:vn,updateExternalAnnotation:Pa,deleteExternalAnnotation:ia}=IF({enabled:!!W}),St=NF({enabled:!!W}),[dt,Da]=x.useState(null),ii=x.useRef(a);ii.current=a;const ja=x.useRef(!0),{prContext:Ga,isLoading:Pi,error:Oe,fetchContext:H}=mH(We??null),me=x.useCallback($=>{const ue=a.find(je=>je.path===$);if(!ue)return;if(!dt){const je=a.findIndex(bt=>bt.path===$);je!==-1&&l(je);return}const Se=dt.getPanel(Ys);if(Se){if($u(Se.params)===$){dt.activePanel?.id!==Ys&&Se.api.setActive();const bt=a.findIndex(Pt=>Pt.path===$);bt!==-1&&l(bt),ja.current=!1;return}h(null),Se.api.updateParameters({filePath:$}),Se.api.setTitle(YS(ue.path)),Se.api.setActive()}else h(null),dt.addPanel({id:Ys,component:nr.DIFF,title:YS(ue.path),params:{filePath:$}});l(a.findIndex(je=>je.path===$)),ja.current=!1},[dt,a]),Te=x.useCallback($=>{me($.filePath)},[me]),{searchQuery:yt,debouncedSearchQuery:Ut,isSearchPending:Xe,isSearchOpen:hn,activeSearchMatchId:Cn,activeSearchMatch:Qn,activeFileSearchMatches:Ce,searchMatches:Qe,searchGroups:it,searchInputRef:Dt,openSearch:sn,closeSearch:Nn,clearSearch:Zn,stepSearchMatch:Vn,handleSearchInputChange:Yt,handleSelectSearchMatch:wa}=vF({files:a,activeFilePath:a[s]?.path??null,onRevealMatch:Te}),En=a.length>0,ir=En||!!Ee?.diffOptions?.length||!!Ee?.worktrees?.length,$t=x.useMemo(()=>vn.length===0?d:[...d.filter(ue=>ue.source?!vn.some(Se=>Se.source===ue.source&&Se.type===ue.type&&Se.filePath===ue.filePath&&Se.lineStart===ue.lineStart&&Se.lineEnd===ue.lineEnd&&Se.side===ue.side):!0),...vn],[d,vn]),_i=x.useRef($t);_i.current=$t;const{draftBanner:Qa,restoreDraft:ra,dismissDraft:Qr}=dF({annotations:$t,viewedFiles:de,isApiMode:!!W,submitted:!!Vt}),ji=x.useCallback(()=>{const $=ra();$.annotations.length>0&&u($.annotations),$.viewedFiles.length>0&&ge(new Set($.viewedFiles))},[ra]),[ri,Rn]=x.useState(!1),[Gi,zi]=x.useState([]),[He,Nr]=x.useState(()=>{const $=Sr(),ue=$.providerId;return{providerId:ue,model:ue?$.preferredModels[ue]??null:null,reasoningEffort:null}}),[yn,Qt]=x.useState(!1),[za,_a]=x.useState(void 0),Jt=AF({patch:e?.rawPatch??"",providerId:He.providerId,model:He.model,reasoningEffort:He.reasoningEffort});x.useEffect(()=>{fetch("/api/ai/capabilities").then($=>$.ok?$.json():null).then($=>{if($?.available){Rn(!0);const ue=$.providers??[];zi(ue),ue.length>0&&rF()&&Qt(!0)}}).catch(()=>{})},[]);const qa=x.useCallback($=>{Nr(ue=>{const Se={...ue,...$};$.providerId!==void 0&&$.providerId!==ue.providerId&&(Se.model=$.providerId?E2($.providerId):null);const je=Sr();return up({...je,providerId:Se.providerId}),Se}),Jt.resetSession()},[Jt]),xe=x.useCallback($=>{if(!b||!a[s])return;const ue=Math.min(b.start,b.end),Se=Math.max(b.start,b.end),je=b.side==="additions"?"new":"old",bt=sy(a[s].patch,ue,Se,je);Jt.ask({prompt:$,filePath:a[s].path,lineStart:ue,lineEnd:Se,side:je,selectedCode:bt||void 0})},[b,a,s,Jt]),Me=x.useCallback($=>{_a("ai"),Y(!0),$&&(Gn($),setTimeout(()=>Gn(null),500))},[]),et=x.useCallback(($,ue,Se,je)=>{me($),h({start:ue,end:Se,side:je==="new"?"additions":"deletions"})},[me]),st=x.useMemo(()=>{if(!b||!a[s])return[];const $=a[s].path,ue=Math.min(b.start,b.end),Se=Math.max(b.start,b.end),je=b.side==="additions"?"new":"old";return Jt.messages.filter(bt=>{const Pt=bt.question;return Pt.filePath===$&&Pt.side===je&&Pt.lineStart!=null&&Pt.lineEnd!=null&&Pt.lineStart<=Se&&Pt.lineEnd>=ue})},[b,a,s,Jt.messages]),[Xt,Gn]=x.useState(null),rr=x.useCallback($=>{Gn($),_a("ai"),Y(!0),setTimeout(()=>Gn(null),500)},[]),lo=x.useCallback($=>{Jt.ask({prompt:$})},[Jt.ask]),or=XC({storageKey:"plannotator-review-panel-width"}),Ua=XC({storageKey:"plannotator-filetree-width",defaultWidth:256,minWidth:160,maxWidth:400,side:"left"}),uc=or.isDragging||Ua.isDragging,uo=x.useCallback($=>{Da($.api),$.api.onDidActivePanelChange(Se=>{if(!Se||!Z3(Se.id))return;const je=$u(Se.params);if(!je)return;const bt=ii.current.findIndex(Pt=>Pt.path===je);bt!==-1&&l(bt)});const ue=()=>{const je=($.api.totalPanels===1&&$.api.groups.length===1?$.api.groups[0]?.panels[0]:void 0)?.id===Ys;for(const bt of $.api.groups)bt.header.hidden=je};$.api.onDidAddPanel(ue),$.api.onDidRemovePanel(ue),$.api.onDidAddGroup(ue),$.api.onDidRemoveGroup(ue),$.api.onDidMovePanel(ue),$.api.onDidLayoutChange(ue),ue()},[]);x.useEffect(()=>{!dt||!ja.current||a.length===0||me(a[0].path)},[dt,a,me]);const qi=x.useCallback($=>{const ue=dt;if(!ue)return;const Se=Y3($),je=ue.getPanel(Se);if(je){je.api.setActive();return}const bt=St.jobs.find(Pt=>Pt.id===$);ue.addPanel({id:Se,component:nr.AGENT_JOB_DETAIL,title:bt?.label??`Job ${$.slice(0,8)}`,params:{jobId:$}})},[dt,St.jobs]),pc=x.useCallback($=>{const ue=dt;if(!ue)return;const Se={summary:{id:$3,component:nr.PR_SUMMARY,title:"PR Summary"},comments:{id:K3,component:nr.PR_COMMENTS,title:"PR Comments"},checks:{id:W3,component:nr.PR_CHECKS,title:"PR Checks"}}[$],je=ue.getPanel(Se.id);if(je){je.api.setActive();return}ue.addPanel({id:Se.id,component:Se.component,title:Se.title})},[dt]);x.useEffect(()=>{const $=ue=>{if((ue.metaKey||ue.ctrlKey)&&ue.key.toLowerCase()==="f"&&!tE(ue.target)){En&&(ue.preventDefault(),sn());return}if((ue.key==="Enter"||ue.key==="F3")&&Qe.length>0&&!Xe&&!tE(ue.target)){ue.preventDefault(),Vn(ue.shiftKey?-1:1);return}ue.key==="Escape"&&(ln?Ie(!1):w?_(!1):hn?yt?Zn():Nn():yt&&Zn()),(ue.metaKey||ue.ctrlKey)&&ue.shiftKey&&ue.key==="c"&&(ue.preventDefault(),Vl())};return window.addEventListener("keydown",$),()=>window.removeEventListener("keydown",$)},[w,ln,hn,yt,Qe,Xe,sn,Vn,Zn,Nn,En]),x.useEffect(()=>{fetch("/api/diff").then($=>{if(!$.ok)throw new Error("Not in API mode");return $.json()}).then($=>{fa.init($.serverConfig),he($.serverConfig?.gitUser);const ue=ay($.rawPatch);t({files:ue,rawPatch:$.rawPatch,gitRef:$.gitRef,origin:$.origin,diffType:$.diffType,gitContext:$.gitContext,sharingEnabled:$.sharingEnabled}),o(ue),$.origin&&ae($.origin),$.diffType&&le($.diffType),$.gitContext&&tt($.gitContext),$.sharingEnabled!==void 0&&Tt($.sharingEnabled),$.repoInfo&&zt($.repoInfo),$.prMetadata&&Sn($.prMetadata),$.platformUser&&ye($.platformUser),$.viewedFiles&&$.viewedFiles.length>0&&ge(new Set($.viewedFiles)),$.error&&gn($.error),$.isWSL&&De(!0)}).catch(()=>{const $=ay(_I);t({files:$,rawPatch:_I,gitRef:"demo"}),o($)}).finally(()=>N(!1))},[]);const po=x.useCallback($=>{fa.set("diffStyle",$)},[]),Ac=x.useCallback($=>{h($)},[]),Ao=x.useCallback(($,ue,Se,je)=>{if(!b||!a[s])return;const bt=Math.min(b.start,b.end),Pt=Math.max(b.start,b.end),ua={id:oy(),type:$,scope:"line",filePath:a[s].path,lineStart:bt,lineEnd:Pt,side:b.side==="additions"?"new":"old",text:ue,suggestedCode:Se,originalCode:je,createdAt:Date.now(),author:Ht};u(pa=>[...pa,ua]),h(null)},[b,a,s,Ht]),mo=x.useCallback($=>{const ue=a[s],Se=$.trim();if(!ue||!Se)return;const je={id:oy(),type:"comment",scope:"file",filePath:ue.path,lineStart:1,lineEnd:1,side:"new",text:Se,createdAt:Date.now(),author:Ht};u(bt=>[...bt,je])},[a,s,Ht]),mc=x.useCallback(($,ue,Se,je)=>{const bt=_i.current.find(ua=>ua.id===$),Pt={...ue!==void 0&&{text:ue},...Se!==void 0&&{suggestedCode:Se},...je!==void 0&&{originalCode:je}};if(bt?.source&&vn.some(ua=>ua.id===$)){Pa($,Pt);return}u(ua=>ua.map(pa=>pa.id===$?{...pa,...Pt}:pa))},[Pa,vn]),oa=x.useCallback($=>{if(_i.current.find(Se=>Se.id===$)?.source&&vn.some(Se=>Se.id===$)){ia($),m===$&&g(null);return}u(Se=>Se.filter(je=>je.id!==$)),m===$&&g(null)},[m,ia,vn]),sr=x.useCallback(($,ue)=>{u(Se=>Se.map(je=>je.author===$?{...je,author:ue}:je))},[]),ns=x.useCallback($=>{const ue=a[$];ue&&me(ue.path)},[a,me]),go=x.useCallback($=>{const ue=a[$];ue&&me(ue.path)},[a,me]),Hl=x.useCallback($=>{const ue=a[$];ue&&me(ue.path)},[a,me]),bo=x.useCallback($=>{ge(ue=>{const Se=new Set(ue),je=!ue.has($);return je?Se.add($):Se.delete($),We&&We.platform==="github"&&fetch("/api/pr-viewed",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePaths:[$],viewed:je})}).catch(()=>{}),Se})},[We]),{activeWorktreePath:Ha,activeDiffBase:Ya}=x.useMemo(()=>{if(ve.startsWith("worktree:")){const $=ve.slice(9),ue=$.lastIndexOf(":");if(ue!==-1){const Se=$.slice(ue+1);if(["uncommitted","staged","unstaged","last-commit","branch"].includes(Se))return{activeWorktreePath:$.slice(0,ue),activeDiffBase:Se}}return{activeWorktreePath:$,activeDiffBase:"uncommitted"}}return{activeWorktreePath:null,activeDiffBase:ve}},[ve]),as=x.useCallback($=>ge(ue=>new Set(ue).add($)),[]),{stagedFiles:is,stagingFile:Yl,canStageFiles:$l,stageFile:Kl,resetStagedFiles:rs,stageError:Wl}=pF({activeDiffBase:Ya,onFileViewed:as}),os=x.useCallback(async $=>{lt(!0);try{const ue=await fetch("/api/diff/switch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({diffType:$})});if(!ue.ok)throw new Error("Failed to switch diff");const Se=await ue.json(),je=ay(Se.rawPatch);dt?.getPanel(Ys)?.api.close(),ja.current=!0,o(je),le(Se.diffType),l(0),h(null),gn(Se.error||null),rs()}catch(ue){console.error("Failed to switch diff:",ue),gn(ue instanceof Error?ue.message:"Failed to switch diff")}finally{lt(!1)}},[dt,rs]),Rp=x.useCallback(async $=>{const ue=Ha?`worktree:${Ha}:${$}`:$;ue!==ve&&await os(ue)},[ve,Ha,os]),Tp=x.useCallback(async $=>{if($===Ha)return;const ue=$?`worktree:${$}:uncommitted`:"uncommitted";await os(ue)},[Ha,os]),gc=x.useCallback($=>{if(!$){g(null);return}const ue=$t.find(je=>je.id===$);if(!ue){g($);return}const Se=a.findIndex(je=>je.path===ue.filePath);Se!==-1&&Hl(Se),g($)},[$t,a,Hl]),Zl=x.useMemo(()=>({files:a,focusedFileIndex:s,focusedFilePath:a[s]?.path??null,diffStyle:R,diffOverflow:S,diffIndicators:T,lineDiffType:D,disableLineNumbers:!F,disableBackground:!z,fontFamily:j||void 0,fontSize:M||void 0,allAnnotations:$t,externalAnnotations:vn,selectedAnnotationId:m,pendingSelection:b,onLineSelection:Ac,onAddAnnotation:Ao,onAddFileComment:mo,onEditAnnotation:mc,onSelectAnnotation:gc,onDeleteAnnotation:oa,viewedFiles:de,onToggleViewed:bo,stagedFiles:is,stagingFile:Yl,onStage:Kl,canStageFiles:$l,stageError:Wl,searchQuery:Xe?"":Ut,isSearchPending:Xe,debouncedSearchQuery:Ut,activeFileSearchMatches:Ce,activeSearchMatchId:Cn,activeSearchMatch:Qn?.filePath===a[s]?.path?Qn:null,aiAvailable:ri,aiMessages:Jt.messages,onAskAI:xe,isAILoading:Jt.isCreatingSession||Jt.isStreaming,onViewAIResponse:Me,onClickAIMarker:rr,aiHistoryForSelection:st,agentJobs:St.jobs,prMetadata:We,prContext:Ga,isPRContextLoading:Pi,prContextError:Oe,fetchPRContext:H,openDiffFile:me}),[a,s,R,S,T,D,F,z,j,M,$t,vn,m,b,Ac,Ao,mo,mc,gc,oa,de,bo,is,Yl,Kl,$l,Wl,Xe,Ut,Ce,Cn,Qn,ri,Jt.messages,Jt.isCreatingSession,Jt.isStreaming,xe,Me,rr,st,St.jobs,We,Ga,Pi,Oe,H,me]),Vl=x.useCallback(async()=>{if(e)try{await navigator.clipboard.writeText(e.rawPatch),oe("success"),setTimeout(()=>oe("idle"),2e3)}catch($){console.error("Failed to copy:",$),oe("error"),setTimeout(()=>oe("idle"),2e3)}},[e]),Fp=x.useCallback(async()=>{if($t.length===0){B(!0);return}try{const $=kI($t,We);await navigator.clipboard.writeText($),O("Feedback copied!"),setTimeout(()=>O(null),2e3)}catch($){console.error("Failed to copy:",$),O("Failed to copy"),setTimeout(()=>O(null),2e3)}},[$t,We]),fo=x.useMemo(()=>{let $=kI($t,We);return at.length>0&&($+=FF(at)),$},[$t,We,at]),Tn=$t.length+at.length,ho=x.useCallback(async()=>{if(Tn===0){B(!0);return}Ze(!0);try{const $=Mu(),ue=YC($);if((await fetch("/api/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({approved:!1,feedback:fo,annotations:$t,...ue&&{agentSwitch:ue}})})).ok)On("feedback");else throw new Error("Failed to send")}catch($){console.error("Failed to send feedback:",$),O("Failed to send"),setTimeout(()=>O(null),2e3),Ze(!1)}},[Tn,fo,$t]),ss=x.useCallback(async()=>{Gt(!0);try{if((await fetch("/api/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({approved:!0,feedback:"LGTM - no changes requested.",annotations:[]})})).ok)On("approved");else throw new Error("Failed to send")}catch($){console.error("Failed to approve:",$),O("Failed to send"),setTimeout(()=>O(null),2e3),Gt(!1)}},[]),Jl=x.useCallback(($,ue)=>{const Se=$t.filter(ut=>(ut.scope??"line")==="line"),je=$t.filter(ut=>ut.scope==="file"),bt=[];if(je.length>0)for(const ut of je)ut.text&&bt.push(`**${ut.filePath}:** ${ut.text}`);const Pt=bt.length>0?`${ue?ue+`
|
|
6032
|
+
`),s=o[0]?.match(/a\/(.+) b\/(.+)/);if(!s)continue;const l=s[1],d=s[2];let u=0,m=0;for(const g of o)g.startsWith("+")&&!g.startsWith("+++")&&u++,g.startsWith("-")&&!g.startsWith("---")&&m++;e.push({path:d,oldPath:l!==d?l:void 0,patch:"diff --git "+a,additions:u,deletions:m})}return e}function YS(n){return n.split("/").pop()??n}const gH=()=>{const{resolvedMode:n}=dp(),[e,t]=x.useState(null),[a,o]=x.useState([]),[s,l]=x.useState(0),[d,u]=x.useState([]),[m,g]=x.useState(null),[b,h]=x.useState(null),[w,_]=x.useState(!1),[k,v]=x.useState(!1),[E,B]=x.useState(!1),[I,N]=x.useState(!0),R=ha("diffStyle"),S=ha("diffOverflow"),T=ha("diffIndicators"),D=ha("diffLineDiffType"),F=ha("diffShowLineNumbers"),z=ha("diffShowBackground"),j=ha("diffFontFamily"),M=ha("diffFontSize");x.useEffect(()=>{j?(aD(j),document.documentElement.style.setProperty("--diff-font-override",`'${j}', monospace`)):document.documentElement.style.removeProperty("--diff-font-override"),M?document.documentElement.style.setProperty("--diff-font-size-override",M):document.documentElement.style.removeProperty("--diff-font-size-override")},[j,M]);const[X,Y]=x.useState(!0),[U,O]=x.useState(null),[K,oe]=x.useState("idle"),[de,ge]=x.useState(new Set),[P,Z]=x.useState(!1),[W,ae]=x.useState(null),[re,he]=x.useState(),[we,De]=x.useState(!1),[ve,le]=x.useState("uncommitted"),[Ee,tt]=x.useState(null),[It,lt]=x.useState(!1),[an,gn]=x.useState(null),[bn,Ze]=x.useState(!1),[rn,Gt]=x.useState(!1),[Vt,On]=x.useState(!1),[Pn,ft]=x.useState(!1),[fn,Tt]=x.useState(!0),[Ct,zt]=x.useState(null);x.useEffect(()=>{document.title=Ct?`${Ct.display} · Code Review`:"Code Review"},[Ct]);const[We,Sn]=x.useState(null),[Dn,Wn]=x.useState(()=>_e.getItem("plannotator-review-dest")==="agent"?"agent":"platform"),[ln,Ie]=x.useState(!1),[Fe,Ue]=x.useState(!1),[dn,qt]=x.useState(null),[J,ye]=x.useState(null),[mt,Et]=x.useState(null),[ht,G]=x.useState(""),[se,ke]=x.useState(()=>{const $=_e.getItem("plannotator-platform-open-pr");if($!==null)return $!=="false";const ue=_e.getItem("plannotator-github-open-pr");return ue!==null?(_e.setItem("plannotator-platform-open-pr",ue),ue!=="false"):!0}),Re=Dn==="platform"&&!!We,_t=We?iF(We):"GitHub",gt=We?OD(We):"PR",Le=We?PD(We):"",Ne=We?jD(We):"",$e="0.16.5",Ht=ha("displayName");x.useCallback(()=>{h(null)},[]);const{editorAnnotations:at,deleteEditorAnnotation:jn}=EF(),{externalAnnotations:vn,updateExternalAnnotation:Pa,deleteExternalAnnotation:ia}=IF({enabled:!!W}),St=NF({enabled:!!W}),[dt,Da]=x.useState(null),ii=x.useRef(a);ii.current=a;const ja=x.useRef(!0),{prContext:Ga,isLoading:Pi,error:Oe,fetchContext:H}=mH(We??null),me=x.useCallback($=>{const ue=a.find(je=>je.path===$);if(!ue)return;if(!dt){const je=a.findIndex(bt=>bt.path===$);je!==-1&&l(je);return}const Se=dt.getPanel(Ys);if(Se){if($u(Se.params)===$){dt.activePanel?.id!==Ys&&Se.api.setActive();const bt=a.findIndex(Pt=>Pt.path===$);bt!==-1&&l(bt),ja.current=!1;return}h(null),Se.api.updateParameters({filePath:$}),Se.api.setTitle(YS(ue.path)),Se.api.setActive()}else h(null),dt.addPanel({id:Ys,component:nr.DIFF,title:YS(ue.path),params:{filePath:$}});l(a.findIndex(je=>je.path===$)),ja.current=!1},[dt,a]),Te=x.useCallback($=>{me($.filePath)},[me]),{searchQuery:yt,debouncedSearchQuery:Ut,isSearchPending:Xe,isSearchOpen:hn,activeSearchMatchId:Cn,activeSearchMatch:Qn,activeFileSearchMatches:Ce,searchMatches:Qe,searchGroups:it,searchInputRef:Dt,openSearch:sn,closeSearch:Nn,clearSearch:Zn,stepSearchMatch:Vn,handleSearchInputChange:Yt,handleSelectSearchMatch:wa}=vF({files:a,activeFilePath:a[s]?.path??null,onRevealMatch:Te}),En=a.length>0,ir=En||!!Ee?.diffOptions?.length||!!Ee?.worktrees?.length,$t=x.useMemo(()=>vn.length===0?d:[...d.filter(ue=>ue.source?!vn.some(Se=>Se.source===ue.source&&Se.type===ue.type&&Se.filePath===ue.filePath&&Se.lineStart===ue.lineStart&&Se.lineEnd===ue.lineEnd&&Se.side===ue.side):!0),...vn],[d,vn]),_i=x.useRef($t);_i.current=$t;const{draftBanner:Qa,restoreDraft:ra,dismissDraft:Qr}=dF({annotations:$t,viewedFiles:de,isApiMode:!!W,submitted:!!Vt}),ji=x.useCallback(()=>{const $=ra();$.annotations.length>0&&u($.annotations),$.viewedFiles.length>0&&ge(new Set($.viewedFiles))},[ra]),[ri,Rn]=x.useState(!1),[Gi,zi]=x.useState([]),[He,Nr]=x.useState(()=>{const $=Sr(),ue=$.providerId;return{providerId:ue,model:ue?$.preferredModels[ue]??null:null,reasoningEffort:null}}),[yn,Qt]=x.useState(!1),[za,_a]=x.useState(void 0),Jt=AF({patch:e?.rawPatch??"",providerId:He.providerId,model:He.model,reasoningEffort:He.reasoningEffort});x.useEffect(()=>{fetch("/api/ai/capabilities").then($=>$.ok?$.json():null).then($=>{if($?.available){Rn(!0);const ue=$.providers??[];zi(ue),ue.length>0&&rF()&&Qt(!0)}}).catch(()=>{})},[]);const qa=x.useCallback($=>{Nr(ue=>{const Se={...ue,...$};$.providerId!==void 0&&$.providerId!==ue.providerId&&(Se.model=$.providerId?E2($.providerId):null);const je=Sr();return up({...je,providerId:Se.providerId}),Se}),Jt.resetSession()},[Jt]),xe=x.useCallback($=>{if(!b||!a[s])return;const ue=Math.min(b.start,b.end),Se=Math.max(b.start,b.end),je=b.side==="additions"?"new":"old",bt=sy(a[s].patch,ue,Se,je);Jt.ask({prompt:$,filePath:a[s].path,lineStart:ue,lineEnd:Se,side:je,selectedCode:bt||void 0})},[b,a,s,Jt]),Me=x.useCallback($=>{_a("ai"),Y(!0),$&&(Gn($),setTimeout(()=>Gn(null),500))},[]),et=x.useCallback(($,ue,Se,je)=>{me($),h({start:ue,end:Se,side:je==="new"?"additions":"deletions"})},[me]),st=x.useMemo(()=>{if(!b||!a[s])return[];const $=a[s].path,ue=Math.min(b.start,b.end),Se=Math.max(b.start,b.end),je=b.side==="additions"?"new":"old";return Jt.messages.filter(bt=>{const Pt=bt.question;return Pt.filePath===$&&Pt.side===je&&Pt.lineStart!=null&&Pt.lineEnd!=null&&Pt.lineStart<=Se&&Pt.lineEnd>=ue})},[b,a,s,Jt.messages]),[Xt,Gn]=x.useState(null),rr=x.useCallback($=>{Gn($),_a("ai"),Y(!0),setTimeout(()=>Gn(null),500)},[]),lo=x.useCallback($=>{Jt.ask({prompt:$})},[Jt.ask]),or=XC({storageKey:"plannotator-review-panel-width"}),Ua=XC({storageKey:"plannotator-filetree-width",defaultWidth:256,minWidth:160,maxWidth:400,side:"left"}),uc=or.isDragging||Ua.isDragging,uo=x.useCallback($=>{Da($.api),$.api.onDidActivePanelChange(Se=>{if(!Se||!Z3(Se.id))return;const je=$u(Se.params);if(!je)return;const bt=ii.current.findIndex(Pt=>Pt.path===je);bt!==-1&&l(bt)});const ue=()=>{const je=($.api.totalPanels===1&&$.api.groups.length===1?$.api.groups[0]?.panels[0]:void 0)?.id===Ys;for(const bt of $.api.groups)bt.header.hidden=je};$.api.onDidAddPanel(ue),$.api.onDidRemovePanel(ue),$.api.onDidAddGroup(ue),$.api.onDidRemoveGroup(ue),$.api.onDidMovePanel(ue),$.api.onDidLayoutChange(ue),ue()},[]);x.useEffect(()=>{!dt||!ja.current||a.length===0||me(a[0].path)},[dt,a,me]);const qi=x.useCallback($=>{const ue=dt;if(!ue)return;const Se=Y3($),je=ue.getPanel(Se);if(je){je.api.setActive();return}const bt=St.jobs.find(Pt=>Pt.id===$);ue.addPanel({id:Se,component:nr.AGENT_JOB_DETAIL,title:bt?.label??`Job ${$.slice(0,8)}`,params:{jobId:$}})},[dt,St.jobs]),pc=x.useCallback($=>{const ue=dt;if(!ue)return;const Se={summary:{id:$3,component:nr.PR_SUMMARY,title:"PR Summary"},comments:{id:K3,component:nr.PR_COMMENTS,title:"PR Comments"},checks:{id:W3,component:nr.PR_CHECKS,title:"PR Checks"}}[$],je=ue.getPanel(Se.id);if(je){je.api.setActive();return}ue.addPanel({id:Se.id,component:Se.component,title:Se.title})},[dt]);x.useEffect(()=>{const $=ue=>{if((ue.metaKey||ue.ctrlKey)&&ue.key.toLowerCase()==="f"&&!tE(ue.target)){En&&(ue.preventDefault(),sn());return}if((ue.key==="Enter"||ue.key==="F3")&&Qe.length>0&&!Xe&&!tE(ue.target)){ue.preventDefault(),Vn(ue.shiftKey?-1:1);return}ue.key==="Escape"&&(ln?Ie(!1):w?_(!1):hn?yt?Zn():Nn():yt&&Zn()),(ue.metaKey||ue.ctrlKey)&&ue.shiftKey&&ue.key==="c"&&(ue.preventDefault(),Vl())};return window.addEventListener("keydown",$),()=>window.removeEventListener("keydown",$)},[w,ln,hn,yt,Qe,Xe,sn,Vn,Zn,Nn,En]),x.useEffect(()=>{fetch("/api/diff").then($=>{if(!$.ok)throw new Error("Not in API mode");return $.json()}).then($=>{fa.init($.serverConfig),he($.serverConfig?.gitUser);const ue=ay($.rawPatch);t({files:ue,rawPatch:$.rawPatch,gitRef:$.gitRef,origin:$.origin,diffType:$.diffType,gitContext:$.gitContext,sharingEnabled:$.sharingEnabled}),o(ue),$.origin&&ae($.origin),$.diffType&&le($.diffType),$.gitContext&&tt($.gitContext),$.sharingEnabled!==void 0&&Tt($.sharingEnabled),$.repoInfo&&zt($.repoInfo),$.prMetadata&&Sn($.prMetadata),$.platformUser&&ye($.platformUser),$.viewedFiles&&$.viewedFiles.length>0&&ge(new Set($.viewedFiles)),$.error&&gn($.error),$.isWSL&&De(!0)}).catch(()=>{const $=ay(_I);t({files:$,rawPatch:_I,gitRef:"demo"}),o($)}).finally(()=>N(!1))},[]);const po=x.useCallback($=>{fa.set("diffStyle",$)},[]),Ac=x.useCallback($=>{h($)},[]),Ao=x.useCallback(($,ue,Se,je)=>{if(!b||!a[s])return;const bt=Math.min(b.start,b.end),Pt=Math.max(b.start,b.end),ua={id:oy(),type:$,scope:"line",filePath:a[s].path,lineStart:bt,lineEnd:Pt,side:b.side==="additions"?"new":"old",text:ue,suggestedCode:Se,originalCode:je,createdAt:Date.now(),author:Ht};u(pa=>[...pa,ua]),h(null)},[b,a,s,Ht]),mo=x.useCallback($=>{const ue=a[s],Se=$.trim();if(!ue||!Se)return;const je={id:oy(),type:"comment",scope:"file",filePath:ue.path,lineStart:1,lineEnd:1,side:"new",text:Se,createdAt:Date.now(),author:Ht};u(bt=>[...bt,je])},[a,s,Ht]),mc=x.useCallback(($,ue,Se,je)=>{const bt=_i.current.find(ua=>ua.id===$),Pt={...ue!==void 0&&{text:ue},...Se!==void 0&&{suggestedCode:Se},...je!==void 0&&{originalCode:je}};if(bt?.source&&vn.some(ua=>ua.id===$)){Pa($,Pt);return}u(ua=>ua.map(pa=>pa.id===$?{...pa,...Pt}:pa))},[Pa,vn]),oa=x.useCallback($=>{if(_i.current.find(Se=>Se.id===$)?.source&&vn.some(Se=>Se.id===$)){ia($),m===$&&g(null);return}u(Se=>Se.filter(je=>je.id!==$)),m===$&&g(null)},[m,ia,vn]),sr=x.useCallback(($,ue)=>{u(Se=>Se.map(je=>je.author===$?{...je,author:ue}:je))},[]),ns=x.useCallback($=>{const ue=a[$];ue&&me(ue.path)},[a,me]),go=x.useCallback($=>{const ue=a[$];ue&&me(ue.path)},[a,me]),Hl=x.useCallback($=>{const ue=a[$];ue&&me(ue.path)},[a,me]),bo=x.useCallback($=>{ge(ue=>{const Se=new Set(ue),je=!ue.has($);return je?Se.add($):Se.delete($),We&&We.platform==="github"&&fetch("/api/pr-viewed",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePaths:[$],viewed:je})}).catch(()=>{}),Se})},[We]),{activeWorktreePath:Ha,activeDiffBase:Ya}=x.useMemo(()=>{if(ve.startsWith("worktree:")){const $=ve.slice(9),ue=$.lastIndexOf(":");if(ue!==-1){const Se=$.slice(ue+1);if(["uncommitted","staged","unstaged","last-commit","branch"].includes(Se))return{activeWorktreePath:$.slice(0,ue),activeDiffBase:Se}}return{activeWorktreePath:$,activeDiffBase:"uncommitted"}}return{activeWorktreePath:null,activeDiffBase:ve}},[ve]),as=x.useCallback($=>ge(ue=>new Set(ue).add($)),[]),{stagedFiles:is,stagingFile:Yl,canStageFiles:$l,stageFile:Kl,resetStagedFiles:rs,stageError:Wl}=pF({activeDiffBase:Ya,onFileViewed:as}),os=x.useCallback(async $=>{lt(!0);try{const ue=await fetch("/api/diff/switch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({diffType:$})});if(!ue.ok)throw new Error("Failed to switch diff");const Se=await ue.json(),je=ay(Se.rawPatch);dt?.getPanel(Ys)?.api.close(),ja.current=!0,o(je),le(Se.diffType),l(0),h(null),gn(Se.error||null),rs()}catch(ue){console.error("Failed to switch diff:",ue),gn(ue instanceof Error?ue.message:"Failed to switch diff")}finally{lt(!1)}},[dt,rs]),Rp=x.useCallback(async $=>{const ue=Ha?`worktree:${Ha}:${$}`:$;ue!==ve&&await os(ue)},[ve,Ha,os]),Tp=x.useCallback(async $=>{if($===Ha)return;const ue=$?`worktree:${$}:uncommitted`:"uncommitted";await os(ue)},[Ha,os]),gc=x.useCallback($=>{if(!$){g(null);return}const ue=$t.find(je=>je.id===$);if(!ue){g($);return}const Se=a.findIndex(je=>je.path===ue.filePath);Se!==-1&&Hl(Se),g($)},[$t,a,Hl]),Zl=x.useMemo(()=>({files:a,focusedFileIndex:s,focusedFilePath:a[s]?.path??null,diffStyle:R,diffOverflow:S,diffIndicators:T,lineDiffType:D,disableLineNumbers:!F,disableBackground:!z,fontFamily:j||void 0,fontSize:M||void 0,allAnnotations:$t,externalAnnotations:vn,selectedAnnotationId:m,pendingSelection:b,onLineSelection:Ac,onAddAnnotation:Ao,onAddFileComment:mo,onEditAnnotation:mc,onSelectAnnotation:gc,onDeleteAnnotation:oa,viewedFiles:de,onToggleViewed:bo,stagedFiles:is,stagingFile:Yl,onStage:Kl,canStageFiles:$l,stageError:Wl,searchQuery:Xe?"":Ut,isSearchPending:Xe,debouncedSearchQuery:Ut,activeFileSearchMatches:Ce,activeSearchMatchId:Cn,activeSearchMatch:Qn?.filePath===a[s]?.path?Qn:null,aiAvailable:ri,aiMessages:Jt.messages,onAskAI:xe,isAILoading:Jt.isCreatingSession||Jt.isStreaming,onViewAIResponse:Me,onClickAIMarker:rr,aiHistoryForSelection:st,agentJobs:St.jobs,prMetadata:We,prContext:Ga,isPRContextLoading:Pi,prContextError:Oe,fetchPRContext:H,openDiffFile:me}),[a,s,R,S,T,D,F,z,j,M,$t,vn,m,b,Ac,Ao,mo,mc,gc,oa,de,bo,is,Yl,Kl,$l,Wl,Xe,Ut,Ce,Cn,Qn,ri,Jt.messages,Jt.isCreatingSession,Jt.isStreaming,xe,Me,rr,st,St.jobs,We,Ga,Pi,Oe,H,me]),Vl=x.useCallback(async()=>{if(e)try{await navigator.clipboard.writeText(e.rawPatch),oe("success"),setTimeout(()=>oe("idle"),2e3)}catch($){console.error("Failed to copy:",$),oe("error"),setTimeout(()=>oe("idle"),2e3)}},[e]),Fp=x.useCallback(async()=>{if($t.length===0){B(!0);return}try{const $=kI($t,We);await navigator.clipboard.writeText($),O("Feedback copied!"),setTimeout(()=>O(null),2e3)}catch($){console.error("Failed to copy:",$),O("Failed to copy"),setTimeout(()=>O(null),2e3)}},[$t,We]),fo=x.useMemo(()=>{let $=kI($t,We);return at.length>0&&($+=FF(at)),$},[$t,We,at]),Tn=$t.length+at.length,ho=x.useCallback(async()=>{if(Tn===0){B(!0);return}Ze(!0);try{const $=Mu(),ue=YC($);if((await fetch("/api/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({approved:!1,feedback:fo,annotations:$t,...ue&&{agentSwitch:ue}})})).ok)On("feedback");else throw new Error("Failed to send")}catch($){console.error("Failed to send feedback:",$),O("Failed to send"),setTimeout(()=>O(null),2e3),Ze(!1)}},[Tn,fo,$t]),ss=x.useCallback(async()=>{Gt(!0);try{if((await fetch("/api/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({approved:!0,feedback:"LGTM - no changes requested.",annotations:[]})})).ok)On("approved");else throw new Error("Failed to send")}catch($){console.error("Failed to approve:",$),O("Failed to send"),setTimeout(()=>O(null),2e3),Gt(!1)}},[]),Jl=x.useCallback(($,ue)=>{const Se=$t.filter(ut=>(ut.scope??"line")==="line"),je=$t.filter(ut=>ut.scope==="file"),bt=[];if(je.length>0)for(const ut of je)ut.text&&bt.push(`**${ut.filePath}:** ${ut.text}`);const Pt=bt.length>0?`${ue?ue+`
|
|
6033
6033
|
|
|
6034
6034
|
`:""}Review from Plannotator
|
|
6035
6035
|
|
|
@@ -6051,7 +6051,7 @@ ${ut.comment}`:`> ${ut.selectedText}`,...Rr&&{start_line:ut.lineStart,start_side
|
|
|
6051
6051
|
|
|
6052
6052
|
Outdated base version: https://github.com/primer/github-syntax-dark
|
|
6053
6053
|
Current colors taken from GitHub's CSS
|
|
6054
|
-
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-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-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}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-500:oklch(62.7% .265 303.9);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--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);--text-5xl:3rem;--text-5xl--line-height:1;--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;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 4px);--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-xl:24px;--aspect-video:16/9;--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}*{border-color:var(--border)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-inset-x-2{inset-inline:calc(var(--spacing)*-2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-0\.5{top:calc(var(--spacing)*-.5)}.-top-1{top:calc(var(--spacing)*-1)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-12{top:calc(var(--spacing)*12)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing)*-.5)}.-right-1{right:calc(var(--spacing)*-1)}.-right-2{right:calc(var(--spacing)*-2)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-1\.5{right:calc(var(--spacing)*1.5)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-full{bottom:100%}.-left-0\.5{left:calc(var(--spacing)*-.5)}.-left-1{left:calc(var(--spacing)*-1)}.-left-2{left:calc(var(--spacing)*-2)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.-z-10{z-index:-10}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[59\]{z-index:59}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[200\]{z-index:200}.z-\[2000\]{z-index:2000}.z-\[9999\]{z-index:9999}.float-right{float:right}.clear-right{clear:right}.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)}.m-64{margin:calc(var(--spacing)*64)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-1\.5{margin-block:calc(var(--spacing)*1.5)}.my-2{margin-block:calc(var(--spacing)*2)}.my-4{margin-block:calc(var(--spacing)*4)}.my-5{margin-block:calc(var(--spacing)*5)}.my-8{margin-block:calc(var(--spacing)*8)}.-mt-0\.5{margin-top:calc(var(--spacing)*-.5)}.-mt-1{margin-top:calc(var(--spacing)*-1)}.-mt-4{margin-top:calc(var(--spacing)*-4)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-px{margin-top:1px}.-mr-3{margin-right:calc(var(--spacing)*-3)}.-mr-4{margin-right:calc(var(--spacing)*-4)}.mr-0\.5{margin-right: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)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-px{margin-bottom:1px}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.h-0{height:calc(var(--spacing)*0)}.h-0\.5{height:calc(var(--spacing)*.5)}.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-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-4\.5{height:calc(var(--spacing)*4.5)}.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-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-40{height:calc(var(--spacing)*40)}.h-80{height:calc(var(--spacing)*80)}.h-\[2px\]{height:2px}.h-\[16px\]{height:16px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[calc\(100vh-3rem\)\]{height:calc(100vh - 3rem)}.h-\[min\(65vh\,36rem\)\]{height:min(65vh,36rem)}.h-full{height:100%}.h-screen{height:100vh}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-48{min-height:calc(var(--spacing)*48)}.min-h-\[4\.5rem\]{min-height:4.5rem}.min-h-\[20rem\]{min-height:20rem}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing)*0)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-1\/6{width:16.6667%}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-2\/3{width:66.6667%}.w-2\/5{width:40%}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-4\.5{width:calc(var(--spacing)*4.5)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing)*5)}.w-5\/6{width:83.3333%}.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-11{width:calc(var(--spacing)*11)}.w-11\/12{width:91.6667%}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-44{width:calc(var(--spacing)*44)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-\[3px\]{width:3px}.w-\[320px\]{width:320px}.w-\[960px\]{width:960px}.w-\[min\(22rem\,32vw\)\]{width:min(22rem,32vw)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-24{max-width:calc(var(--spacing)*24)}.max-w-\[3\.5rem\]{max-width:3.5rem}.max-w-\[3rem\]{max-width:3rem}.max-w-\[85vw\]{max-width:85vw}.max-w-\[90vw\]{max-width:90vw}.max-w-\[95vw\]{max-width:95vw}.max-w-\[100px\]{max-width:100px}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[340px\]{max-width:340px}.max-w-\[400px\]{max-width:400px}.max-w-\[min\(96vw\,110rem\)\]{max-width:min(96vw,110rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-10{min-width:calc(var(--spacing)*10)}.min-w-\[4ch\]{min-width:4ch}.min-w-\[16rem\]{min-width:16rem}.min-w-\[18px\]{min-width:18px}.min-w-\[22px\]{min-width:22px}.min-w-\[80px\]{min-width:80px}.min-w-\[160px\]{min-width:160px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-6{--tw-translate-x:calc(var(--spacing)*6);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-scale-x-100{--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[settings-ping_2s_cubic-bezier\(0\,0\,0\.2\,1\)_infinite\]{animation:2s cubic-bezier(0,0,.2,1) infinite settings-ping}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-\[2px\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(2px*var(--tw-space-y-reverse));margin-block-end:calc(2px*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-y-1\.5{row-gap:calc(var(--spacing)*1.5)}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.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-4{border-style:var(--tw-border-style);border-width:4px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-\[2px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent,.border-accent\/30{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/30{border-color:color-mix(in oklab,var(--accent)30%,transparent)}}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500)30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500)50%,transparent)}}.border-background{border-color:var(--background)}.border-border,.border-border\/30{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,var(--border)30%,transparent)}}.border-border\/40{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}}.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--border)60%,transparent)}}.border-destructive\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/20{border-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.border-foreground,.border-foreground\/5{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/5{border-color:color-mix(in oklab,var(--foreground)5%,transparent)}}.border-foreground\/15{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/15{border-color:color-mix(in oklab,var(--foreground)15%,transparent)}}.border-foreground\/20{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/20{border-color:color-mix(in oklab,var(--foreground)20%,transparent)}}.border-muted-foreground\/20{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/20{border-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.border-primary,.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--primary)20%,transparent)}}.border-primary\/30{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,var(--primary)30%,transparent)}}.border-primary\/40{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/40{border-color:color-mix(in oklab,var(--primary)40%,transparent)}}.border-primary\/50{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.border-purple-500\/50{border-color:#ac4bff80}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/50{border-color:color-mix(in oklab,var(--color-purple-500)50%,transparent)}}.border-transparent{border-color:#0000}.border-warning\/30{border-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\/30{border-color:color-mix(in oklab,var(--warning)30%,transparent)}}.border-b-border{border-bottom-color:var(--border)}.border-b-popover{border-bottom-color:var(--popover)}.bg-\[\#7c3aed\]\/10{background-color:#7c3aed1a}.bg-\[\#121011\]{background-color:#121011}.bg-accent\/5{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/5{background-color:color-mix(in oklab,var(--accent)5%,transparent)}}.bg-accent\/8{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/8{background-color:color-mix(in oklab,var(--accent)8%,transparent)}}.bg-accent\/10{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/10{background-color:color-mix(in oklab,var(--accent)10%,transparent)}}.bg-accent\/15{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/15{background-color:color-mix(in oklab,var(--accent)15%,transparent)}}.bg-accent\/20{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/20{background-color:color-mix(in oklab,var(--accent)20%,transparent)}}.bg-accent\/40{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/40{background-color:color-mix(in oklab,var(--accent)40%,transparent)}}.bg-accent\/60{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/60{background-color:color-mix(in oklab,var(--accent)60%,transparent)}}.bg-amber-500\/8{background-color:#f99c0014}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/8{background-color:color-mix(in oklab,var(--color-amber-500)8%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500)15%,transparent)}}.bg-background,.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-background\/90{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/90{background-color:color-mix(in oklab,var(--background)90%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-border,.bg-border\/50{background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.bg-border\/50{background-color:color-mix(in oklab,var(--border)50%,transparent)}}.bg-card,.bg-card\/30{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/30{background-color:color-mix(in oklab,var(--card)30%,transparent)}}.bg-card\/50{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/50{background-color:color-mix(in oklab,var(--card)50%,transparent)}}.bg-card\/70{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/70{background-color:color-mix(in oklab,var(--card)70%,transparent)}}.bg-card\/80{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/80{background-color:color-mix(in oklab,var(--card)80%,transparent)}}.bg-card\/95{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/95{background-color:color-mix(in oklab,var(--card)95%,transparent)}}.bg-destructive,.bg-destructive\/5{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,var(--destructive)5%,transparent)}}.bg-destructive\/8{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/8{background-color:color-mix(in oklab,var(--destructive)8%,transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-destructive\/15{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/15{background-color:color-mix(in oklab,var(--destructive)15%,transparent)}}.bg-destructive\/20{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/20{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.bg-destructive\/40{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/40{background-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/60{background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.bg-foreground,.bg-foreground\/10{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.bg-foreground\/15{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/15{background-color:color-mix(in oklab,var(--foreground)15%,transparent)}}.bg-foreground\/25{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/25{background-color:color-mix(in oklab,var(--foreground)25%,transparent)}}.bg-foreground\/50{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/50{background-color:color-mix(in oklab,var(--foreground)50%,transparent)}}.bg-foreground\/60{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/60{background-color:color-mix(in oklab,var(--foreground)60%,transparent)}}.bg-foreground\/80{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/80{background-color:color-mix(in oklab,var(--foreground)80%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-green-500\/15{background-color:#00c75826}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/15{background-color:color-mix(in oklab,var(--color-green-500)15%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground,.bg-muted-foreground\/15{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/15{background-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.bg-muted-foreground\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.bg-muted\/10{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/10{background-color:color-mix(in oklab,var(--muted)10%,transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-muted\/60{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/60{background-color:color-mix(in oklab,var(--muted)60%,transparent)}}.bg-muted\/70{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/70{background-color:color-mix(in oklab,var(--muted)70%,transparent)}}.bg-muted\/80{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/80{background-color:color-mix(in oklab,var(--muted)80%,transparent)}}.bg-muted\/85{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/85{background-color:color-mix(in oklab,var(--muted)85%,transparent)}}.bg-popover,.bg-popover\/50{background-color:var(--popover)}@supports (color:color-mix(in lab,red,red)){.bg-popover\/50{background-color:color-mix(in oklab,var(--popover)50%,transparent)}}.bg-primary,.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}}.bg-primary\/8{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/8{background-color:color-mix(in oklab,var(--primary)8%,transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/15{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,var(--primary)15%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-primary\/40{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/40{background-color:color-mix(in oklab,var(--primary)40%,transparent)}}.bg-primary\/50{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/50{background-color:color-mix(in oklab,var(--primary)50%,transparent)}}.bg-primary\/60{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/60{background-color:color-mix(in oklab,var(--primary)60%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500)15%,transparent)}}.bg-secondary,.bg-secondary\/8{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/8{background-color:color-mix(in oklab,var(--secondary)8%,transparent)}}.bg-secondary\/10{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/10{background-color:color-mix(in oklab,var(--secondary)10%,transparent)}}.bg-secondary\/40{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/40{background-color:color-mix(in oklab,var(--secondary)40%,transparent)}}.bg-secondary\/60{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/60{background-color:color-mix(in oklab,var(--secondary)60%,transparent)}}.bg-success,.bg-success\/15{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/15{background-color:color-mix(in oklab,var(--success)15%,transparent)}}.bg-success\/20{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/20{background-color:color-mix(in oklab,var(--success)20%,transparent)}}.bg-success\/50{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/50{background-color:color-mix(in oklab,var(--success)50%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/15{background-color:color-mix(in oklab,var(--color-violet-500)15%,transparent)}}.bg-warning,.bg-warning\/5{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/5{background-color:color-mix(in oklab,var(--warning)5%,transparent)}}.bg-warning\/10{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--warning)10%,transparent)}}.bg-warning\/20{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/20{background-color:color-mix(in oklab,var(--warning)20%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500)10%,transparent)}}.bg-yellow-500\/15{background-color:#edb20026}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/15{background-color:color-mix(in oklab,var(--color-yellow-500)15%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-primary\/20{--tw-gradient-from:var(--primary)}@supports (color:color-mix(in lab,red,red)){.from-primary\/20{--tw-gradient-from:color-mix(in oklab,var(--primary)20%,transparent)}}.from-primary\/20{--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-primary\/5{--tw-gradient-to:var(--primary)}@supports (color:color-mix(in lab,red,red)){.to-primary\/5{--tw-gradient-to:color-mix(in oklab,var(--primary)5%,transparent)}}.to-primary\/5{--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\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.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-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\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-\[5px\]{padding-block:5px}.py-px{padding-block:1px}.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-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-32{padding-top:calc(var(--spacing)*32)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-7{padding-right:calc(var(--spacing)*7)}.pr-20{padding-right:calc(var(--spacing)*20)}.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-20{padding-bottom:calc(var(--spacing)*20)}.pl-0\.5{padding-left:calc(var(--spacing)*.5)}.pl-1\.5{padding-left:calc(var(--spacing)*1.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-7{padding-left:calc(var(--spacing)*7)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.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-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.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-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#7c3aed\]{color:#7c3aed}.text-accent,.text-accent\/50{color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.text-accent\/50{color:color-mix(in oklab,var(--accent)50%,transparent)}}.text-accent\/80{color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.text-accent\/80{color:color-mix(in oklab,var(--accent)80%,transparent)}}.text-amber-500{color:var(--color-amber-500)}.text-amber-500\/80{color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-500\/80{color:color-mix(in oklab,var(--color-amber-500)80%,transparent)}}.text-amber-600{color:var(--color-amber-600)}.text-background{color:var(--background)}.text-border\/60{color:var(--border)}@supports (color:color-mix(in lab,red,red)){.text-border\/60{color:color-mix(in oklab,var(--border)60%,transparent)}}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-destructive\/60{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/60{color:color-mix(in oklab,var(--destructive)60%,transparent)}}.text-destructive\/70{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/70{color:color-mix(in oklab,var(--destructive)70%,transparent)}}.text-destructive\/80{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/80{color:color-mix(in oklab,var(--destructive)80%,transparent)}}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--foreground)60%,transparent)}}.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,var(--foreground)70%,transparent)}}.text-foreground\/80{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-foreground\/85{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/85{color:color-mix(in oklab,var(--foreground)85%,transparent)}}.text-foreground\/90{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,var(--foreground)90%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-muted-foreground,.text-muted-foreground\/30{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/30{color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.text-muted-foreground\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-primary\/60{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/60{color:color-mix(in oklab,var(--primary)60%,transparent)}}.text-primary\/70{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,var(--primary)70%,transparent)}}.text-primary\/80{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,var(--primary)80%,transparent)}}.text-red-600{color:var(--color-red-600)}.text-secondary,.text-secondary\/80{color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.text-secondary\/80{color:color-mix(in oklab,var(--secondary)80%,transparent)}}.text-success{color:var(--success)}.text-success-foreground,.text-success-foreground\/70{color:var(--success-foreground)}@supports (color:color-mix(in lab,red,red)){.text-success-foreground\/70{color:color-mix(in oklab,var(--success-foreground)70%,transparent)}}.text-success\/70{color:var(--success)}@supports (color:color-mix(in lab,red,red)){.text-success\/70{color:color-mix(in oklab,var(--success)70%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-warning{color:var(--warning)}.text-warning-foreground{color:var(--warning-foreground)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-destructive\/30{-webkit-text-decoration-color:var(--destructive);text-decoration-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.decoration-destructive\/30{-webkit-text-decoration-color:color-mix(in oklab,var(--destructive)30%,transparent);text-decoration-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-primary{accent-color:var(--primary)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-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-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-accent{--tw-ring-color:var(--accent)}.ring-primary\/30{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/30{--tw-ring-color:color-mix(in oklab,var(--primary)30%,transparent)}}.outline-offset-2{outline-offset:2px}.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-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,)}.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-\[width\,background-color\]{transition-property:width,background-color;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-shadow{transition-property:box-shadow;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-150{--tw-duration:.15s;transition-duration:.15s}.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)}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:w-0\.5:is(:where(.group):hover *){width:calc(var(--spacing)*.5)}.group-hover\:bg-border:is(:where(.group):hover *){background-color:var(--border)}.group-hover\:bg-primary\/50:is(:where(.group):hover *){background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-primary\/50:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--primary)50%,transparent)}}.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}.group-hover\:text-muted-foreground:is(:where(.group):hover *),.group-hover\:text-muted-foreground\/60:is(:where(.group):hover *){color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.group-hover\:text-muted-foreground\/60:is(:where(.group):hover *){color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/approve\:visible:is(:where(.group\/approve):hover *){visibility:visible}.group-hover\/approve\:opacity-100:is(:where(.group\/approve):hover *){opacity:1}}.group-active\:w-0\.5:is(:where(.group):active *){width:calc(var(--spacing)*.5)}.group-active\:bg-primary\/70:is(:where(.group):active *){background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.group-active\:bg-primary\/70:is(:where(.group):active *){background-color:color-mix(in oklab,var(--primary)70%,transparent)}}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/30::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/30::placeholder{color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.placeholder\:text-muted-foreground\/50::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/50::placeholder{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-accent:hover{border-color:var(--accent)}.hover\:border-border\/50:hover{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.hover\:border-border\/50:hover{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.hover\:border-foreground\/30:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:border-foreground\/30:hover{border-color:color-mix(in oklab,var(--foreground)30%,transparent)}}.hover\:border-muted-foreground:hover,.hover\:border-muted-foreground\/30:hover{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:border-muted-foreground\/30:hover{border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.hover\:border-muted-foreground\/40:hover{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:border-muted-foreground\/40:hover{border-color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.hover\:border-primary\/30:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,var(--primary)30%,transparent)}}.hover\:bg-accent\/10:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/10:hover{background-color:color-mix(in oklab,var(--accent)10%,transparent)}}.hover\:bg-accent\/25:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/25:hover{background-color:color-mix(in oklab,var(--accent)25%,transparent)}}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.hover\:bg-background:hover,.hover\:bg-background\/50:hover{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/50:hover{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.hover\:bg-card:hover{background-color:var(--card)}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-green-500\/10:hover{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-green-500\/10:hover{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/20:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/20:hover{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.hover\:bg-muted\/30:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/30:hover{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-muted\/60:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/60:hover{background-color:color-mix(in oklab,var(--muted)60%,transparent)}}.hover\:bg-muted\/80:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/80:hover{background-color:color-mix(in oklab,var(--muted)80%,transparent)}}.hover\:bg-primary\/5:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,var(--primary)5%,transparent)}}.hover\:bg-primary\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.hover\:bg-primary\/20:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-success:hover{background-color:var(--success)}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-amber-700:hover{color:var(--color-amber-700)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-green-500:hover{color:var(--color-green-500)}.hover\:text-muted-foreground:hover,.hover\:text-muted-foreground\/60:hover{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:text-muted-foreground\/60:hover{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.hover\:text-primary:hover,.hover\:text-primary\/80:hover{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\:text-success-foreground:hover{color:var(--success-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-sm:hover{--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)}}.focus\:border-primary\/50:focus{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/50:focus{border-color:color-mix(in oklab,var(--primary)50%,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-accent\/50:focus{--tw-ring-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-accent\/50:focus{--tw-ring-color:color-mix(in oklab,var(--accent)50%,transparent)}}.focus\:ring-primary:focus,.focus\:ring-primary\/30:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/30:focus{--tw-ring-color:color-mix(in oklab,var(--primary)30%,transparent)}}.focus\:ring-primary\/50:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/50:focus{--tw-ring-color:color-mix(in oklab,var(--primary)50%,transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.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-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-muted:active{background-color:var(--muted)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media(hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:text-muted-foreground:disabled:hover{color:var(--muted-foreground)}}@media(min-width:40rem){.sm\:block{display:block}}@media(min-width:48rem){.md\:top-4{top:calc(var(--spacing)*4)}.md\:left-5{left:calc(var(--spacing)*5)}.md\:-mt-5{margin-top:calc(var(--spacing)*-5)}.md\:-mr-5{margin-right:calc(var(--spacing)*-5)}.md\:block{display:block}.md\:hidden{display:none}.md\:inline{display:inline}.md\:h-24{height:calc(var(--spacing)*24)}.md\:min-h-\[420px\]{min-height:420px}.md\:w-24{width:calc(var(--spacing)*24)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-2{gap:calc(var(--spacing)*2)}.md\:gap-3{gap:calc(var(--spacing)*3)}.md\:p-2{padding:calc(var(--spacing)*2)}.md\:p-6{padding:calc(var(--spacing)*6)}.md\:p-8{padding:calc(var(--spacing)*8)}.md\:px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.md\:px-4{padding-inline:calc(var(--spacing)*4)}.md\:py-1{padding-block:calc(var(--spacing)*1)}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media(min-width:64rem){.lg\:-mt-7{margin-top:calc(var(--spacing)*-7)}.lg\:-mr-7{margin-right:calc(var(--spacing)*-7)}.lg\:flex{display:flex}.lg\:p-10{padding:calc(var(--spacing)*10)}}@media(min-width:80rem){.xl\:-mt-9{margin-top:calc(var(--spacing)*-9)}.xl\:-mr-9{margin-right:calc(var(--spacing)*-9)}.xl\:p-12{padding:calc(var(--spacing)*12)}}@media(prefers-color-scheme:dark){.dark\:text-amber-400{color:var(--color-amber-400)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-yellow-400{color:var(--color-yellow-400)}@media(hover:hover){.dark\:hover\:text-amber-300:hover{color:var(--color-amber-300)}}}@media(hover:none){.\[\@media\(hover\:none\)\]\:opacity-100{opacity:1}}}.dv-scrollable{position:relative;overflow:hidden}.dv-scrollable .dv-scrollbar{will-change:background-color,transform;backface-visibility:hidden;background-color:#0000;border-radius:2px;transition:background-color 1s ease-in-out;position:absolute;transform:translate(0)}.dv-scrollable .dv-scrollbar-horizontal{height:4px;bottom:0;left:0}.dv-scrollable .dv-scrollbar-vertical{width:4px;top:0;right:0}.dv-scrollable:hover .dv-scrollbar,.dv-scrollable.dv-scrollable-resizing .dv-scrollbar,.dv-scrollable.dv-scrollable-scrolling .dv-scrollbar{background-color:var(--dv-scrollbar-background-color,#ffffff40)}.dv-svg{fill:currentColor;stroke:currentColor;stroke-width:0;line-height:1;display:inline-block}.dockview-theme-dark{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:35px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:transparent;--dv-active-sash-color:transparent;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;--dv-group-view-background-color:#1e1e1e;--dv-tabs-and-actions-container-background-color:#252526;--dv-activegroup-visiblepanel-tab-background-color:#1e1e1e;--dv-activegroup-hiddenpanel-tab-background-color:#2d2d2d;--dv-inactivegroup-visiblepanel-tab-background-color:#1e1e1e;--dv-inactivegroup-hiddenpanel-tab-background-color:#2d2d2d;--dv-tab-divider-color:#1e1e1e;--dv-activegroup-visiblepanel-tab-color:white;--dv-activegroup-hiddenpanel-tab-color:#969696;--dv-inactivegroup-visiblepanel-tab-color:#8f8f8f;--dv-inactivegroup-hiddenpanel-tab-color:#626262;--dv-separator-border:#444;--dv-paneview-header-border-color:#ccc3}.dockview-theme-dark .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-light{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:35px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:transparent;--dv-active-sash-color:transparent;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;--dv-group-view-background-color:white;--dv-tabs-and-actions-container-background-color:#f3f3f3;--dv-activegroup-visiblepanel-tab-background-color:white;--dv-activegroup-hiddenpanel-tab-background-color:#ececec;--dv-inactivegroup-visiblepanel-tab-background-color:white;--dv-inactivegroup-hiddenpanel-tab-background-color:#ececec;--dv-tab-divider-color:white;--dv-activegroup-visiblepanel-tab-color:#333;--dv-activegroup-hiddenpanel-tab-color:#333333b3;--dv-inactivegroup-visiblepanel-tab-color:#333333b3;--dv-inactivegroup-hiddenpanel-tab-color:#33333359;--dv-separator-border:#80808059;--dv-paneview-header-border-color:#333;--dv-scrollbar-background-color:#00000040}.dockview-theme-light .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-vs{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:11px;--dv-tabs-and-actions-container-height:20px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:transparent;--dv-active-sash-color:transparent;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;--dv-group-view-background-color:#1e1e1e;--dv-tabs-and-actions-container-background-color:#2d2d30;--dv-activegroup-visiblepanel-tab-background-color:#007acc;--dv-activegroup-hiddenpanel-tab-background-color:#2d2d2d;--dv-inactivegroup-visiblepanel-tab-background-color:#3f3f46;--dv-inactivegroup-hiddenpanel-tab-background-color:#2d2d2d;--dv-tab-divider-color:#1e1e1e;--dv-activegroup-hiddenpanel-tab-color:white;--dv-inactivegroup-visiblepanel-tab-color:white;--dv-inactivegroup-hiddenpanel-tab-color:white;--dv-separator-border:#444;--dv-paneview-header-border-color:#ccc3;--dv-activegroup-visiblepanel-tab-color:white}.dockview-theme-vs .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container{box-sizing:content-box;border-bottom:2px solid var(--dv-activegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tab.dv-active-tab{border-top:2px solid var(--dv-activegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tab.dv-inactive-tab{border-top:2px solid var(--dv-activegroup-hiddenpanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container{box-sizing:content-box;border-bottom:2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tab.dv-active-tab{border-top:2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tab.dv-inactive-tab{border-top:2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color)}.dockview-theme-abyss{--dv-paneview-active-outline-color:#596f99;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:35px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:transparent;--dv-active-sash-color:transparent;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;--dv-color-abyss-dark:#000c18;--dv-color-abyss:#10192c;--dv-color-abyss-light:#1c1c2a;--dv-color-abyss-lighter:#2b2b4a;--dv-color-abyss-accent:#5b1ecf;--dv-color-abyss-primary-text:white;--dv-color-abyss-secondary-text:#9497a9;--dv-group-view-background-color:var(--dv-color-abyss-dark);--dv-tabs-and-actions-container-background-color:var(--dv-color-abyss-light);--dv-activegroup-visiblepanel-tab-background-color:var(--dv-color-abyss-dark);--dv-activegroup-hiddenpanel-tab-background-color:var(--dv-color-abyss);--dv-inactivegroup-visiblepanel-tab-background-color:var(--dv-color-abyss-dark);--dv-inactivegroup-hiddenpanel-tab-background-color:var(--dv-color-abyss);--dv-tab-divider-color:var(--dv-color-abyss-lighter);--dv-activegroup-visiblepanel-tab-color:white;--dv-activegroup-hiddenpanel-tab-color:#ffffff80;--dv-inactivegroup-visiblepanel-tab-color:#ffffff80;--dv-inactivegroup-hiddenpanel-tab-color:#ffffff40;--dv-separator-border:var(--dv-color-abyss-lighter);--dv-paneview-header-border-color:var(--dv-color-abyss-lighter)}.dockview-theme-abyss .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-dracula{--dv-paneview-active-outline-color:#6272a4;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:35px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:transparent;--dv-active-sash-color:transparent;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;--dv-group-view-background-color:#282a36;--dv-tabs-and-actions-container-background-color:#191a21;--dv-activegroup-visiblepanel-tab-background-color:#282a36;--dv-activegroup-hiddenpanel-tab-background-color:#21222c;--dv-inactivegroup-visiblepanel-tab-background-color:#282a36;--dv-inactivegroup-hiddenpanel-tab-background-color:#21222c;--dv-tab-divider-color:#191a21;--dv-activegroup-visiblepanel-tab-color:#f8f8f2;--dv-activegroup-hiddenpanel-tab-color:#6272a4;--dv-inactivegroup-visiblepanel-tab-color:#f8f8f280;--dv-inactivegroup-hiddenpanel-tab-color:#6272a480;--dv-separator-border:#bd93f9;--dv-paneview-header-border-color:#bd93f9}.dockview-theme-dracula .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-dracula .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-dracula .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{content:"";z-index:999;background-color:#94527e;width:100%;height:1px;position:absolute;top:0;left:0}.dockview-theme-dracula .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-dracula .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{content:"";z-index:999;background-color:#5e3d5a;width:100%;height:1px;position:absolute;bottom:0;left:0}.dockview-theme-replit{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:35px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:#cfd1d3;--dv-active-sash-color:#babbbb;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;box-sizing:border-box;--dv-group-view-background-color:#ebeced;--dv-tabs-and-actions-container-background-color:#fcfcfc;--dv-activegroup-visiblepanel-tab-background-color:#f0f1f2;--dv-activegroup-hiddenpanel-tab-background-color:#fcfcfc;--dv-inactivegroup-visiblepanel-tab-background-color:#f0f1f2;--dv-inactivegroup-hiddenpanel-tab-background-color:#fcfcfc;--dv-tab-divider-color:transparent;--dv-activegroup-visiblepanel-tab-color:#333;--dv-activegroup-hiddenpanel-tab-color:#333;--dv-inactivegroup-visiblepanel-tab-color:#333;--dv-inactivegroup-hiddenpanel-tab-color:#333;--dv-separator-border:transparent;--dv-paneview-header-border-color:#333;background-color:#ebeced;padding:10px}.dockview-theme-replit .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-replit .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-replit .dv-resize-container{border:none;border-radius:10px!important}.dockview-theme-replit .dv-groupview{border-radius:10px;overflow:hidden}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container{border-bottom:1px solid #80808059}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab{border-radius:8px;margin:4px}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab .dv-svg{width:8px;height:8px}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab:hover{background-color:#e4e5e6!important}.dockview-theme-replit .dv-groupview .dv-content-container{background-color:#fcfcfc}.dockview-theme-replit .dv-groupview.dv-active-group{border:1px solid #80808059}.dockview-theme-replit .dv-groupview.dv-inactive-group{border:1px solid #0000}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash{background-color:#0000}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):after{content:"";background-color:var(--dv-sash-color);border-radius:2px;width:40px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):hover,.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):active{background-color:#0000}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):hover:after,.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):active:after{background-color:var(--dv-active-sash-color)}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash{background-color:#0000}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):after{content:"";background-color:var(--dv-sash-color);border-radius:2px;width:4px;height:40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):hover,.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):active{background-color:#0000}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):hover:after,.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):active:after{background-color:var(--dv-active-sash-color)}.dockview-theme-abyss-spaced{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:44px;--dv-drag-over-background-color:"";--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #00000080;--dv-overlay-z-index:999;--dv-tab-font-size:12px;--dv-border-radius:20px;--dv-tab-margin:.5rem .25rem;--dv-sash-color:transparent;--dv-active-sash-color:var(--dv-color-abyss-accent);--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;box-sizing:border-box;--dv-color-abyss-dark:#0b0611;--dv-color-abyss:#16121f;--dv-color-abyss-light:#201d2b;--dv-color-abyss-lighter:#2a2837;--dv-color-abyss-accent:#5b1ecf;--dv-color-abyss-primary-text:white;--dv-color-abyss-secondary-text:#9497a9;--dv-drag-over-border:2px solid var(--dv-color-abyss-accent);--dv-group-view-background-color:var(--dv-color-abyss-dark);--dv-tabs-and-actions-container-background-color:var(--dv-color-abyss);--dv-activegroup-visiblepanel-tab-background-color:var(--dv-color-abyss-lighter);--dv-activegroup-hiddenpanel-tab-background-color:var(--dv-color-abyss-light);--dv-inactivegroup-visiblepanel-tab-background-color:var(--dv-color-abyss-lighter);--dv-inactivegroup-hiddenpanel-tab-background-color:var(--dv-color-abyss-light);--dv-tab-divider-color:transparent;--dv-activegroup-visiblepanel-tab-color:var(--dv-color-abyss-primary-text);--dv-activegroup-hiddenpanel-tab-color:var(--dv-color-abyss-secondary-text);--dv-inactivegroup-visiblepanel-tab-color:var(--dv-color-abyss-primary-text);--dv-inactivegroup-hiddenpanel-tab-color:var(--dv-color-abyss-secondary-text);--dv-separator-border:transparent;--dv-paneview-header-border-color:#333;background-color:var(--dv-color-abyss-dark);padding:10px}.dockview-theme-abyss-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-abyss-spaced .dv-sash{border-radius:4px}.dockview-theme-abyss-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius)/4)}.dockview-theme-abyss-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced .dv-resize-container{border:none;border-radius:var(--dv-border-radius)!important}.dockview-theme-abyss-spaced .dv-tabs-overflow-container,.dockview-theme-abyss-spaced .dv-tabs-overflow-dropdown-default{border-radius:8px;height:unset!important}.dockview-theme-abyss-spaced .dv-tab{border-radius:8px}.dockview-theme-abyss-spaced .dv-tab .dv-svg{width:8px;height:8px}.dockview-theme-abyss-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius)/2)}.dockview-theme-abyss-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color)}.dockview-theme-abyss-spaced .dv-resize-container .dv-groupview{border:2px solid var(--dv-color-abyss-dark)}.dockview-theme-light-spaced{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:44px;--dv-drag-over-background-color:"";--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #0000001a;--dv-overlay-z-index:999;--dv-tab-font-size:12px;--dv-border-radius:20px;--dv-tab-margin:.5rem .25rem;--dv-sash-color:transparent;--dv-active-sash-color:#5b1ecf;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;box-sizing:border-box;--dv-drag-over-border:2px solid #5b1ecf;--dv-group-view-background-color:#f6f5f9;--dv-tabs-and-actions-container-background-color:white;--dv-activegroup-visiblepanel-tab-background-color:#ededf0;--dv-activegroup-hiddenpanel-tab-background-color:#f9f9fa;--dv-inactivegroup-visiblepanel-tab-background-color:#ededf0;--dv-inactivegroup-hiddenpanel-tab-background-color:#f9f9fa;--dv-tab-divider-color:transparent;--dv-activegroup-visiblepanel-tab-color:#686b82;--dv-activegroup-hiddenpanel-tab-color:#9497a9;--dv-inactivegroup-visiblepanel-tab-color:#686b82;--dv-inactivegroup-hiddenpanel-tab-color:#9497a9;--dv-separator-border:transparent;--dv-paneview-header-border-color:#333;--dv-scrollbar-background-color:#00000040;background-color:#f6f5f9;padding:10px}.dockview-theme-light-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-light-spaced .dv-sash{border-radius:4px}.dockview-theme-light-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius)/4)}.dockview-theme-light-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-light-spaced .dv-resize-container{border:none;border-radius:var(--dv-border-radius)!important}.dockview-theme-light-spaced .dv-tabs-overflow-container,.dockview-theme-light-spaced .dv-tabs-overflow-dropdown-default{border-radius:8px;height:unset!important}.dockview-theme-light-spaced .dv-tab{border-radius:8px}.dockview-theme-light-spaced .dv-tab .dv-svg{width:8px;height:8px}.dockview-theme-light-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-light-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius)/2)}.dockview-theme-light-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color)}.dockview-theme-light-spaced .dv-resize-container .dv-groupview{border:2px solid #ffffff1a}.dv-drop-target-container{z-index:9999;pointer-events:none;--dv-transition-duration:.3s;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.dv-drop-target-container .dv-drop-target-anchor{border:var(--dv-drag-over-border);background-color:var(--dv-drag-over-background-color);opacity:1;will-change:transform,opacity;backface-visibility:hidden;contain:layout paint;transition:opacity var(--dv-transition-duration)ease-in,top var(--dv-transition-duration)ease-out,left var(--dv-transition-duration)ease-out,width var(--dv-transition-duration)ease-out,height var(--dv-transition-duration)ease-out;position:relative;transform:translate(0)}.dv-drop-target{--dv-transition-duration:70ms;position:relative}.dv-drop-target>.dv-drop-target-dropzone{z-index:1000;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection{box-sizing:border-box;border:var(--dv-drag-over-border);background-color:var(--dv-drag-over-background-color);width:100%;height:100%;transition:top var(--dv-transition-duration)ease-out,left var(--dv-transition-duration)ease-out,width var(--dv-transition-duration)ease-out,height var(--dv-transition-duration)ease-out,opacity var(--dv-transition-duration)ease-out;will-change:transform;pointer-events:none;position:relative}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical{border-top:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical{border-bottom:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal{border-left:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal{border-right:1px solid var(--dv-drag-over-border-color)}.dv-dockview{background-color:var(--dv-group-view-background-color);contain:layout;position:relative}.dv-dockview .dv-watermark-container{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.dv-dockview .dv-overlay-render-container{position:relative}.dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-inactive-tab{background-color:var(--dv-activegroup-hiddenpanel-tab-background-color);color:var(--dv-activegroup-hiddenpanel-tab-color)}.dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{background-color:var(--dv-inactivegroup-visiblepanel-tab-background-color);color:var(--dv-inactivegroup-visiblepanel-tab-color)}.dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-inactive-tab{background-color:var(--dv-inactivegroup-hiddenpanel-tab-background-color);color:var(--dv-inactivegroup-hiddenpanel-tab-color)}.dv-tab.dv-tab-dragging{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-groupview{background-color:var(--dv-group-view-background-color);flex-direction:column;height:100%;display:flex;overflow:hidden}.dv-groupview:focus{outline:none}.dv-groupview>.dv-content-container{outline:none;flex-grow:1;min-height:0}.dv-groupview.dv-groupview-header-bottom{flex-direction:column-reverse}.dv-groupview.dv-groupview-header-left{flex-direction:row}.dv-groupview.dv-groupview-header-right{flex-direction:row-reverse}.dv-root-wrapper,.dv-grid-view,.dv-branch-node{width:100%;height:100%}.dv-debug .dv-resize-container .dv-resize-handle-top{background-color:red}.dv-debug .dv-resize-container .dv-resize-handle-bottom{background-color:green}.dv-debug .dv-resize-container .dv-resize-handle-left{background-color:#ff0}.dv-debug .dv-resize-container .dv-resize-handle-right{background-color:#00f}.dv-debug .dv-resize-container .dv-resize-handle-topleft,.dv-debug .dv-resize-container .dv-resize-handle-topright,.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,.dv-debug .dv-resize-container .dv-resize-handle-bottomright{background-color:#0ff}.dv-resize-container{--dv-overlay-z-index:var(--dv-overlay-z-index,999);z-index:calc(var(--dv-overlay-z-index) - 2);border:1px solid var(--dv-tab-divider-color);box-shadow:var(--dv-floating-box-shadow);will-change:transform,opacity;backface-visibility:hidden;position:absolute;transform:translate(0)}.dv-resize-container.dv-hidden{display:none}.dv-resize-container.dv-resize-container-dragging{opacity:.5;will-change:transform,opacity}.dv-resize-container .dv-resize-handle-top{width:calc(100% - 8px);height:4px;z-index:var(--dv-overlay-z-index);cursor:ns-resize;position:absolute;top:-2px;left:4px}.dv-resize-container .dv-resize-handle-bottom{width:calc(100% - 8px);height:4px;z-index:var(--dv-overlay-z-index);cursor:ns-resize;position:absolute;bottom:-2px;left:4px}.dv-resize-container .dv-resize-handle-left{width:4px;height:calc(100% - 8px);z-index:var(--dv-overlay-z-index);cursor:ew-resize;position:absolute;top:4px;left:-2px}.dv-resize-container .dv-resize-handle-right{width:4px;height:calc(100% - 8px);z-index:var(--dv-overlay-z-index);cursor:ew-resize;position:absolute;top:4px;right:-2px}.dv-resize-container .dv-resize-handle-topleft{width:4px;height:4px;z-index:var(--dv-overlay-z-index);cursor:nw-resize;position:absolute;top:-2px;left:-2px}.dv-resize-container .dv-resize-handle-topright{width:4px;height:4px;z-index:var(--dv-overlay-z-index);cursor:ne-resize;position:absolute;top:-2px;right:-2px}.dv-resize-container .dv-resize-handle-bottomleft{width:4px;height:4px;z-index:var(--dv-overlay-z-index);cursor:sw-resize;position:absolute;bottom:-2px;left:-2px}.dv-resize-container .dv-resize-handle-bottomright{width:4px;height:4px;z-index:var(--dv-overlay-z-index);cursor:se-resize;position:absolute;bottom:-2px;right:-2px}.dv-render-overlay{--dv-overlay-z-index:var(--dv-overlay-z-index,999);z-index:1;contain:layout paint;isolation:isolate;will-change:transform;backface-visibility:hidden;width:100%;height:100%;position:absolute;transform:translate(0)}.dv-render-overlay.dv-render-overlay-float{z-index:calc(var(--dv-overlay-z-index) - 1)}.dv-debug .dv-render-overlay{outline-offset:-1;outline:1px solid red}.dv-pane-container{width:100%;height:100%}.dv-pane-container.dv-animated .dv-view{will-change:transform;backface-visibility:hidden;transition:transform .15s ease-out;transform:translate(0)}.dv-pane-container .dv-view{flex-direction:column;display:flex;overflow:hidden;padding:0!important}.dv-pane-container .dv-view:not(:first-child):before{background-color:#0000!important}.dv-pane-container .dv-view:not(:first-child) .dv-pane>.dv-pane-header{border-top:1px solid var(--dv-paneview-header-border-color)}.dv-pane-container .dv-view .dv-default-header{background-color:var(--dv-group-view-background-color);color:var(--dv-activegroup-visiblepanel-tab-color);cursor:pointer;padding:0 8px;display:flex}.dv-pane-container .dv-view .dv-default-header .dv-pane-header-icon{justify-content:center;align-items:center;display:flex}.dv-pane-container .dv-view .dv-default-header>span{flex-grow:1;padding-left:8px}.dv-pane-container:first-of-type>.dv-pane>.dv-pane-header{border-top:none!important}.dv-pane-container .dv-pane{flex-direction:column;height:100%;display:flex;overflow:hidden}.dv-pane-container .dv-pane .dv-pane-header{box-sizing:border-box;-webkit-user-select:none;user-select:none;outline:none;position:relative}.dv-pane-container .dv-pane .dv-pane-header.dv-pane-draggable{cursor:pointer}.dv-pane-container .dv-pane .dv-pane-header:focus:before,.dv-pane-container .dv-pane .dv-pane-header:focus-within:before{z-index:5;content:"";pointer-events:none;outline-offset:-1px;outline:-1px solid;outline-color:var(--dv-paneview-active-outline-color);width:100%;height:100%;position:absolute;top:0;left:0}.dv-pane-container .dv-pane .dv-pane-body{outline:none;flex-grow:1;position:relative;overflow:hidden auto}.dv-pane-container .dv-pane .dv-pane-body:focus:before,.dv-pane-container .dv-pane .dv-pane-body:focus-within:before{z-index:5;content:"";pointer-events:none;outline-offset:-1px;outline:-1px solid;outline-color:var(--dv-paneview-active-outline-color);width:100%;height:100%;position:absolute;top:0;left:0}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-enabled{background-color:#000}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-disabled{background-color:orange}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-maximum{background-color:green}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-minimum{background-color:red}.dv-split-view-container{width:100%;height:100%;position:relative;overflow:hidden}.dv-split-view-container.dv-splitview-disabled>.dv-sash-container>.dv-sash{pointer-events:none}.dv-split-view-container.dv-animation .dv-view,.dv-split-view-container.dv-animation .dv-sash{will-change:transform;backface-visibility:hidden;transition:transform .15s ease-out;transform:translate(0)}.dv-split-view-container.dv-horizontal{height:100%}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash{width:4px;height:100%}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-enabled{cursor:ew-resize}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-disabled{cursor:default}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-maximum{cursor:w-resize}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-minimum{cursor:e-resize}.dv-split-view-container.dv-horizontal>.dv-view-container>.dv-view:not(:first-child):before{width:1px;height:100%}.dv-split-view-container.dv-vertical{width:100%}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash{width:100%;height:4px}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-enabled{cursor:ns-resize}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-disabled{cursor:default}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-maximum{cursor:n-resize}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-minimum{cursor:s-resize}.dv-split-view-container.dv-vertical>.dv-view-container>.dv-view{width:100%}.dv-split-view-container.dv-vertical>.dv-view-container>.dv-view:not(:first-child):before{width:100%;height:1px}.dv-split-view-container .dv-sash-container{width:100%;height:100%;position:absolute}.dv-split-view-container .dv-sash-container .dv-sash{z-index:99;-webkit-user-select:none;user-select:none;touch-action:none;background-color:var(--dv-sash-color,transparent);outline:none;position:absolute}.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):active,.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):hover{background-color:var(--dv-active-sash-color,transparent);transition-property:background-color;transition-timing-function:ease-in-out;transition-duration:var(--dv-active-sash-transition-duration,.1s);transition-delay:var(--dv-active-sash-transition-delay,.5s)}.dv-split-view-container .dv-view-container{width:100%;height:100%;position:relative}.dv-split-view-container .dv-view-container .dv-view{box-sizing:border-box;height:100%;position:absolute;overflow:auto}.dv-split-view-container.dv-separator-border .dv-view:not(:first-child):before{content:" ";z-index:5;pointer-events:none;background-color:var(--dv-separator-border);position:absolute;top:0;left:0}.dv-dragged{transform:translate(0)}.dv-tab{flex-shrink:0}.dv-tab:focus-within,.dv-tab:focus{position:relative}.dv-tab:focus-within:after,.dv-tab:focus:after{content:"";pointer-events:none;outline-offset:-1px;z-index:5;width:100%;height:100%;position:absolute;top:0;left:0;outline:1px solid var(--dv-tab-divider-color)!important}.dv-tab.dv-tab-dragging .dv-default-tab-action{background-color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-tab.dv-active-tab .dv-default-tab .dv-default-tab-action{visibility:visible}.dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action{visibility:hidden}.dv-tab.dv-inactive-tab .dv-default-tab:hover .dv-default-tab-action{visibility:visible}.dv-tab .dv-default-tab{white-space:nowrap;text-overflow:ellipsis;align-items:center;width:100%;height:100%;display:flex;position:relative}.dv-tab .dv-default-tab .dv-default-tab-content{flex-grow:1;margin-right:4px}.dv-tab .dv-default-tab .dv-default-tab-action{box-sizing:border-box;justify-content:center;align-items:center;padding:4px;display:flex}.dv-tab .dv-default-tab .dv-default-tab-action:hover{background-color:var(--dv-icon-hover-background-color);border-radius:2px}.dv-tabs-overflow-dropdown-default{height:100%;color:var(--dv-activegroup-hiddenpanel-tab-color);margin:var(--dv-tab-margin);cursor:pointer;flex-shrink:0;align-items:center;padding:.25rem .5rem;display:flex}.dv-tabs-overflow-dropdown-default>span{padding-left:.25rem}.dv-tabs-overflow-dropdown-default>svg{transform:rotate(90deg)}.dv-tabs-overflow-dropdown-default:hover{background-color:var(--dv-icon-hover-background-color);border-radius:2px}.dv-tabs-container{scrollbar-width:thin;will-change:scroll-position;height:100%;display:flex;overflow:auto;transform:translate(0)}.dv-tabs-container.dv-tabs-container-vertical{writing-mode:vertical-rl;width:100%;height:fit-content;max-height:100%}.dv-tabs-container.dv-horizontal .dv-tab:not(:first-child):before,.dv-tabs-container.dv-vertical .dv-tab:not(:first-child):before{content:" ";z-index:5;pointer-events:none;background-color:var(--dv-tab-divider-color);position:absolute;top:0;left:0}.dv-tabs-container.dv-horizontal .dv-tab:not(:first-child):before{width:1px;height:100%}.dv-tabs-container.dv-vertical .dv-tab:not(:first-child):before{width:100%;height:1px}.dv-tabs-container::-webkit-scrollbar{height:3px}.dv-tabs-container::-webkit-scrollbar-track{background:0 0}.dv-tabs-container::-webkit-scrollbar-thumb{background:var(--dv-tabs-container-scrollbar-color)}.dv-scrollable>.dv-tabs-container{overflow:hidden}.dv-tab{-webkit-user-drag:element;cursor:pointer;box-sizing:border-box;font-size:var(--dv-tab-font-size);margin:var(--dv-tab-margin);outline:none;padding:.25rem .5rem;position:relative}.dv-tab.dv-tab--shifting{will-change:margin-left;transition:transform var(--dv-transition-duration,.2s)ease-out,margin-left var(--dv-transition-duration,.2s)ease-out}.dv-tab.dv-tab--dragging{opacity:0;pointer-events:none;transition:width var(--dv-transition-duration,.2s)ease-out,padding var(--dv-transition-duration,.2s)ease-out,margin var(--dv-transition-duration,.2s)ease-out,opacity var(--dv-transition-duration,.2s)ease-out;overflow:hidden;width:0!important;min-width:0!important;margin:0!important;padding:0!important}@media(prefers-reduced-motion:reduce){.dv-tab{transition:none!important}}.dv-tabs-container-vertical .dv-tab{padding:.5rem .25rem}.dv-tabs-overflow-container{height:unset;font-size:var(--dv-tabs-and-actions-container-font-size);border:1px solid var(--dv-tab-divider-color);background-color:var(--dv-group-view-background-color);scrollbar-width:thin;flex-direction:column;max-height:min(50vh,400px);overflow-y:auto}.dv-tabs-overflow-container::-webkit-scrollbar{width:6px}.dv-tabs-overflow-container::-webkit-scrollbar-track{background:0 0}.dv-tabs-overflow-container::-webkit-scrollbar-thumb{background:var(--dv-tabs-container-scrollbar-color);border-radius:3px}.dv-tabs-overflow-container .dv-tab:not(:last-child){border-bottom:1px solid var(--dv-tab-divider-color)}.dv-tabs-overflow-container .dv-active-tab{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-tabs-overflow-container .dv-inactive-tab{background-color:var(--dv-activegroup-hiddenpanel-tab-background-color);color:var(--dv-activegroup-hiddenpanel-tab-color)}.dv-tabs-and-actions-container{background-color:var(--dv-tabs-and-actions-container-background-color);box-sizing:border-box;height:var(--dv-tabs-and-actions-container-height);font-size:var(--dv-tabs-and-actions-container-font-size);flex-shrink:0;display:flex}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-scrollable,.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container{flex-grow:1}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab{flex-grow:1;padding:0}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-void-container{flex-grow:0}.dv-tabs-and-actions-container .dv-void-container{flex-grow:1;display:flex}.dv-tabs-and-actions-container .dv-void-container.dv-draggable{cursor:grab}.dv-tabs-and-actions-container .dv-right-actions-container{display:flex}.dv-tabs-and-actions-container .dv-right-actions-container.dv-right-actions-container-vertical{flex-direction:column}.dv-tabs-and-actions-container.dv-groupview-header-vertical{height:auto;width:var(--dv-tabs-and-actions-container-height);flex-direction:column}.dv-watermark{height:100%;display:flex}.theme-plannotator{--background:oklch(15% .02 260);--foreground:oklch(90% .01 260);--card:oklch(22% .02 260);--card-foreground:oklch(90% .01 260);--popover:oklch(28% .025 260);--popover-foreground:oklch(90% .01 260);--primary:oklch(75% .18 280);--primary-foreground:oklch(15% .02 260);--secondary:oklch(65% .15 180);--secondary-foreground:oklch(15% .02 260);--muted:oklch(26% .02 260);--muted-foreground:oklch(72% .02 260);--accent:oklch(70% .2 60);--accent-foreground:oklch(15% .02 260);--destructive:oklch(65% .2 25);--destructive-foreground:oklch(98% 0 0);--border:oklch(35% .02 260);--input:oklch(26% .02 260);--ring:oklch(75% .18 280);--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--font-sans:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--radius:.75rem;--code-bg:oklch(26% .02 260);--focus-highlight:oklch(70% .2 200)}.theme-plannotator.light{--background:oklch(97% .005 260);--foreground:oklch(18% .02 260);--card:oklch(100% 0 0);--card-foreground:oklch(18% .02 260);--popover:oklch(100% 0 0);--popover-foreground:oklch(18% .02 260);--primary:oklch(50% .25 280);--primary-foreground:oklch(100% 0 0);--secondary:oklch(50% .18 180);--secondary-foreground:oklch(100% 0 0);--muted:oklch(92% .01 260);--muted-foreground:oklch(40% .02 260);--accent:oklch(60% .22 50);--accent-foreground:oklch(18% .02 260);--destructive:oklch(50% .25 25);--destructive-foreground:oklch(100% 0 0);--border:oklch(88% .01 260);--input:oklch(92% .01 260);--ring:oklch(50% .25 280);--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(92% .01 260)}.theme-claude-plus{--background:oklch(26.79% .0036 106.643);--foreground:oklch(95.76% .0027 106.449);--card:oklch(32% .004 106.6);--card-foreground:oklch(95.76% .0027 106.449);--popover:oklch(32% .004 106.6);--popover-foreground:oklch(95.76% .0027 106.449);--primary:oklch(67.24% .1308 38.7559);--primary-foreground:oklch(19.08% .002 106.586);--secondary:oklch(98.18% .0054 95.0986);--secondary-foreground:oklch(30.85% .0035 106.604);--muted:oklch(35% .004 106.6);--muted-foreground:oklch(70% .003 106.5);--accent:oklch(67.24% .1308 38.7559);--accent-foreground:oklch(19.08% .002 106.586);--destructive:oklch(63.68% .2078 25.3313);--destructive-foreground:oklch(100% 0 0);--border:oklch(40% .004 106.6);--input:oklch(35% .004 106.6);--ring:oklch(67.24% .1308 38.7559);--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--font-sans:"Outfit",sans-serif;--font-mono:"Geist Mono",ui-monospace,monospace;--radius:1rem;--code-bg:oklch(22% .003 106.6);--focus-highlight:oklch(70% .2 200)}.theme-claude-plus.light{--background:oklch(98.18% .0054 95.0986);--foreground:oklch(34.38% .0269 95.7226);--card:oklch(100% 0 0);--card-foreground:oklch(34.38% .0269 95.7226);--popover:oklch(100% 0 0);--popover-foreground:oklch(34.38% .0269 95.7226);--primary:oklch(61.71% .1375 39.0427);--primary-foreground:oklch(100% 0 0);--secondary:oklch(92.45% .0138 92.9892);--secondary-foreground:oklch(43.34% .0177 98.6048);--muted:oklch(94% .01 95);--muted-foreground:oklch(50% .02 95);--accent:oklch(61.71% .1375 39.0427);--accent-foreground:oklch(100% 0 0);--destructive:oklch(19.08% .002 106.586);--destructive-foreground:oklch(100% 0 0);--border:oklch(88% .01 95);--input:oklch(94% .01 95);--ring:oklch(61.71% .1375 39.0427);--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 95)}.theme-soft-pop{--background:oklch(0% 0 0);--foreground:oklch(100% 0 0);--card:oklch(15% 0 0);--card-foreground:oklch(100% 0 0);--popover:oklch(15% 0 0);--popover-foreground:oklch(100% 0 0);--primary:oklch(68.01% .1583 276.935);--primary-foreground:oklch(100% 0 0);--secondary:oklch(78.45% .1325 181.912);--secondary-foreground:oklch(0% 0 0);--muted:oklch(32.11% 0 0);--muted-foreground:oklch(70% 0 0);--accent:oklch(87.9% .1534 91.6054);--accent-foreground:oklch(0% 0 0);--destructive:oklch(71.06% .1661 22.2162);--destructive-foreground:oklch(100% 0 0);--border:oklch(44.59% 0 0);--input:oklch(32.11% 0 0);--ring:oklch(68.01% .1583 276.935);--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--font-sans:"DM Sans",sans-serif;--font-mono:"Space Mono",monospace;--radius:1rem;--code-bg:oklch(8% 0 0);--focus-highlight:oklch(70% .2 200)}.theme-soft-pop.light{--background:oklch(97.89% .0082 121.627);--foreground:oklch(0% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(0% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(0% 0 0);--primary:oklch(51.06% .2301 276.966);--primary-foreground:oklch(100% 0 0);--secondary:oklch(70.38% .123 182.503);--secondary-foreground:oklch(0% 0 0);--muted:oklch(95.51% 0 0);--muted-foreground:oklch(40% 0 0);--accent:oklch(76.86% .1647 70.0804);--accent-foreground:oklch(0% 0 0);--destructive:oklch(63.68% .2078 25.3313);--destructive-foreground:oklch(100% 0 0);--border:oklch(0% 0 0);--input:oklch(95.51% 0 0);--ring:oklch(78.53% .1041 274.713);--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 120)}.theme-adwaita{--background:#1d1d1d;--foreground:#ccc;--card:#303030;--card-foreground:#ccc;--popover:#303030;--popover-foreground:#ccc;--primary:#3584e4;--primary-foreground:#fff;--secondary:#3a3a3a;--secondary-foreground:#ccc;--muted:#2a2a2a;--muted-foreground:#888;--accent:#26a269;--accent-foreground:#fff;--destructive:#c01c28;--destructive-foreground:#fff;--border:#454545;--input:#3a3a3a;--ring:#3584e4;--success:#26a269;--success-foreground:#fff;--warning:#e5a50a;--warning-foreground:#1d1d1d;--font-sans:"Inter",system-ui,sans-serif;--font-mono:"Source Code Pro",ui-monospace,monospace;--radius:.75rem;--code-bg:#2a2a2a;--focus-highlight:#3584e4}.theme-adwaita.light{--background:#fafafa;--foreground:#323232;--card:#fff;--card-foreground:#323232;--popover:#fff;--popover-foreground:#323232;--primary:#3584e4;--primary-foreground:#fff;--secondary:#e6e6e6;--secondary-foreground:#323232;--muted:#ebebeb;--muted-foreground:#6e6e6e;--accent:#26a269;--accent-foreground:#fff;--destructive:#c01c28;--destructive-foreground:#fff;--border:#cfcfcf;--input:#e6e6e6;--ring:#3584e4;--success:#26a269;--success-foreground:#fff;--warning:#e5a50a;--warning-foreground:#323232;--code-bg:#ebebeb;--focus-highlight:#3584e4}.theme-caffeine{--background:#111;--foreground:#eee;--card:#191919;--card-foreground:#eee;--popover:#191919;--popover-foreground:#eee;--primary:#ffe0c2;--primary-foreground:#081a1b;--secondary:#393028;--secondary-foreground:#ffe0c2;--muted:#222;--muted-foreground:#b4b4b4;--accent:#c19a6b;--accent-foreground:#eee;--destructive:#e54d2e;--destructive-foreground:#fff;--border:#201e18;--input:#484848;--ring:#ffe0c2;--chart-1:#ffe0c2;--chart-2:#393028;--chart-3:#2a2a2a;--chart-4:#42382e;--chart-5:#ffe0c1;--sidebar:#18181b;--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#d4d4d8;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius:.5rem;--shadow-2xs:0 1px 3px 0px #0000000d;--shadow-xs:0 1px 3px 0px #0000000d;--shadow-sm:0 1px 3px 0px #0000001a,0 1px 2px -1px #0000001a;--shadow:0 1px 3px 0px #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 1px 3px 0px #0000001a,0 2px 4px -1px #0000001a;--shadow-lg:0 1px 3px 0px #0000001a,0 4px 6px -1px #0000001a;--shadow-xl:0 1px 3px 0px #0000001a,0 8px 10px -1px #0000001a;--shadow-2xl:0 1px 3px 0px #00000040;--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--code-bg:oklch(13% .015 260);--focus-highlight:oklch(70% .2 200)}.theme-caffeine.light{--background:#f9f9f9;--foreground:#202020;--card:#fcfcfc;--card-foreground:#202020;--popover:#fcfcfc;--popover-foreground:#202020;--primary:#644a40;--primary-foreground:#fff;--secondary:#ffdfb5;--secondary-foreground:#582d1d;--muted:#efefef;--muted-foreground:#646464;--accent:#8b5a2b;--accent-foreground:#fff;--destructive:#e54d2e;--destructive-foreground:#fff;--border:#d8d8d8;--input:#d8d8d8;--ring:#644a40;--chart-1:#644a40;--chart-2:#ffdfb5;--chart-3:#e8e8e8;--chart-4:#ffe6c4;--chart-5:#66493e;--sidebar:#fbfbfb;--sidebar-foreground:#252525;--sidebar-primary:#343434;--sidebar-primary-foreground:#fbfbfb;--sidebar-accent:#f7f7f7;--sidebar-accent-foreground:#343434;--sidebar-border:#ebebeb;--sidebar-ring:#b5b5b5;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius:.5rem;--shadow-2xs:0 1px 3px 0px #0000000d;--shadow-xs:0 1px 3px 0px #0000000d;--shadow-sm:0 1px 3px 0px #0000001a,0 1px 2px -1px #0000001a;--shadow:0 1px 3px 0px #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 1px 3px 0px #0000001a,0 2px 4px -1px #0000001a;--shadow-lg:0 1px 3px 0px #0000001a,0 4px 6px -1px #0000001a;--shadow-xl:0 1px 3px 0px #0000001a,0 8px 10px -1px #0000001a;--shadow-2xl:0 1px 3px 0px #00000040;--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 260);--focus-highlight:oklch(70% .2 200)}.theme-synthwave-84,.theme-synthwave-84.light{--background:#262335;--foreground:#fff;--card:#2a2139;--card-foreground:#fff;--popover:#2a2139;--popover-foreground:#fff;--primary:#ff7edb;--primary-foreground:#262335;--secondary:#34294f;--secondary-foreground:#fff;--muted:#37294d;--muted-foreground:#fff9;--accent:#72f1b8;--accent-foreground:#262335;--destructive:#fe4450;--destructive-foreground:#fff;--border:#495495;--input:#2a2139;--ring:#ff7edb;--success:#72f1b8;--success-foreground:#262335;--warning:#fede5d;--warning-foreground:#262335;--font-sans:"Inter",system-ui,sans-serif;--font-mono:"Fira Code",ui-monospace,monospace;--radius:.5rem;--code-bg:#241b2f;--focus-highlight:#36f9f6}.theme-catppuccin{--background:#1e1e2e;--foreground:#cdd6f4;--card:#313244;--card-foreground:#cdd6f4;--popover:#313244;--popover-foreground:#cdd6f4;--primary:#89b4fa;--primary-foreground:#1e1e2e;--secondary:#45475a;--secondary-foreground:#cdd6f4;--muted:#45475a;--muted-foreground:#a6adc8;--accent:#f5c2e7;--accent-foreground:#1e1e2e;--destructive:#f38ba8;--destructive-foreground:#1e1e2e;--border:#585b70;--input:#313244;--ring:#89b4fa;--success:#a6e3a1;--success-foreground:#1e1e2e;--warning:#f9e2af;--warning-foreground:#1e1e2e;--font-sans:system-ui,sans-serif;--font-mono:"Fira Code",ui-monospace,monospace;--radius:.5rem;--code-bg:#181825;--focus-highlight:#94e2d5}.theme-catppuccin.light{--background:#eff1f5;--foreground:#4c4f69;--card:#e6e9ef;--card-foreground:#4c4f69;--popover:#e6e9ef;--popover-foreground:#4c4f69;--primary:#1e66f5;--primary-foreground:#eff1f5;--secondary:#ccd0da;--secondary-foreground:#4c4f69;--muted:#ccd0da;--muted-foreground:#6c6f85;--accent:#ea76cb;--accent-foreground:#eff1f5;--destructive:#d20f39;--destructive-foreground:#eff1f5;--border:#acb0be;--input:#ccd0da;--ring:#1e66f5;--success:#40a02b;--success-foreground:#eff1f5;--warning:#df8e1d;--warning-foreground:#eff1f5;--code-bg:#e6e9ef;--focus-highlight:#179299}.theme-rose-pine{--background:#191724;--foreground:#e0def4;--card:#26233a;--card-foreground:#e0def4;--popover:#26233a;--popover-foreground:#e0def4;--primary:#c4a7e7;--primary-foreground:#191724;--secondary:#403d52;--secondary-foreground:#e0def4;--muted:#26233a;--muted-foreground:#6e6a86;--accent:#f6c177;--accent-foreground:#191724;--destructive:#eb6f92;--destructive-foreground:#191724;--border:#403d52;--input:#26233a;--ring:#c4a7e7;--success:#31748f;--success-foreground:#e0def4;--warning:#f6c177;--warning-foreground:#191724;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,monospace;--radius:.5rem;--code-bg:#1f1d2e;--focus-highlight:#9ccfd8}.theme-rose-pine.light{--background:#faf4ed;--foreground:#575279;--card:#fffaf3;--card-foreground:#575279;--popover:#fffaf3;--popover-foreground:#575279;--primary:#907aa9;--primary-foreground:#faf4ed;--secondary:#dfdad9;--secondary-foreground:#575279;--muted:#f2e9e1;--muted-foreground:#9893a5;--accent:#ea9d34;--accent-foreground:#faf4ed;--destructive:#b4637a;--destructive-foreground:#faf4ed;--border:#dfdad9;--input:#f2e9e1;--ring:#907aa9;--success:#286983;--success-foreground:#faf4ed;--warning:#ea9d34;--warning-foreground:#faf4ed;--code-bg:#f2e9e1;--focus-highlight:#56949f}.theme-monokai-pro,.theme-monokai-pro.light{--background:#2d2a2e;--foreground:#fcfcfa;--card:#403e41;--card-foreground:#fcfcfa;--popover:#403e41;--popover-foreground:#fcfcfa;--primary:#ffd866;--primary-foreground:#2d2a2e;--secondary:#5b595c;--secondary-foreground:#fcfcfa;--muted:#403e41;--muted-foreground:#727072;--accent:#78dce8;--accent-foreground:#2d2a2e;--destructive:#ff6188;--destructive-foreground:#2d2a2e;--border:#5b595c;--input:#403e41;--ring:#ffd866;--success:#a9dc76;--success-foreground:#2d2a2e;--warning:#fc9867;--warning-foreground:#2d2a2e;--font-sans:system-ui,sans-serif;--font-mono:"Fira Code",ui-monospace,monospace;--radius:.5rem;--code-bg:#221f22;--focus-highlight:#78dce8}.theme-doom-64{--background:#1a1a1a;--foreground:#e0e0e0;--card:#2a2a2a;--card-foreground:#e0e0e0;--popover:#2a2a2a;--popover-foreground:#e0e0e0;--primary:#e53935;--primary-foreground:#fff;--secondary:#689f38;--secondary-foreground:#000;--muted:#252525;--muted-foreground:#a0a0a0;--accent:#64b5f6;--accent-foreground:#000;--destructive:#ffa000;--destructive-foreground:#000;--border:#4a4a4a;--input:#4a4a4a;--ring:#e53935;--chart-1:#e53935;--chart-2:#689f38;--chart-3:#64b5f6;--chart-4:#ffa000;--chart-5:#a1887f;--sidebar:#141414;--sidebar-foreground:#e0e0e0;--sidebar-primary:#e53935;--sidebar-primary-foreground:#fff;--sidebar-accent:#64b5f6;--sidebar-accent-foreground:#000;--sidebar-border:#4a4a4a;--sidebar-ring:#e53935;--font-sans:"Oxanium",sans-serif;--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:"Source Code Pro",monospace;--radius:0px;--shadow-2xs:0px 2px 5px 0px #0000004d;--shadow-xs:0px 2px 5px 0px #0000004d;--shadow-sm:0px 2px 5px 0px #0009,0px 1px 2px -1px #0009;--shadow:0px 2px 5px 0px #0009,0px 1px 2px -1px #0009;--shadow-md:0px 2px 5px 0px #0009,0px 2px 4px -1px #0009;--shadow-lg:0px 2px 5px 0px #0009,0px 4px 6px -1px #0009;--shadow-xl:0px 2px 5px 0px #0009,0px 8px 10px -1px #0009;--shadow-2xl:0px 2px 5px 0px #000;--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--code-bg:oklch(13% .015 260);--focus-highlight:oklch(70% .2 200)}.theme-doom-64.light{--background:#ccc;--foreground:#1f1f1f;--card:#b0b0b0;--card-foreground:#1f1f1f;--popover:#b0b0b0;--popover-foreground:#1f1f1f;--primary:#b71c1c;--primary-foreground:#fff;--secondary:#556b2f;--secondary-foreground:#fff;--muted:#b8b8b8;--muted-foreground:#4a4a4a;--accent:#4682b4;--accent-foreground:#fff;--destructive:#ff6f00;--destructive-foreground:#000;--border:#505050;--input:#505050;--ring:#b71c1c;--chart-1:#b71c1c;--chart-2:#556b2f;--chart-3:#4682b4;--chart-4:#ff6f00;--chart-5:#8d6e63;--sidebar:#b0b0b0;--sidebar-foreground:#1f1f1f;--sidebar-primary:#b71c1c;--sidebar-primary-foreground:#fff;--sidebar-accent:#4682b4;--sidebar-accent-foreground:#fff;--sidebar-border:#505050;--sidebar-ring:#b71c1c;--font-sans:"Oxanium",sans-serif;--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:"Source Code Pro",monospace;--radius:0px;--shadow-2xs:0px 2px 4px 0px #0003;--shadow-xs:0px 2px 4px 0px #0003;--shadow-sm:0px 2px 4px 0px #0006,0px 1px 2px -1px #0006;--shadow:0px 2px 4px 0px #0006,0px 1px 2px -1px #0006;--shadow-md:0px 2px 4px 0px #0006,0px 2px 4px -1px #0006;--shadow-lg:0px 2px 4px 0px #0006,0px 4px 6px -1px #0006;--shadow-xl:0px 2px 4px 0px #0006,0px 8px 10px -1px #0006;--shadow-2xl:0px 2px 4px 0px #000;--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 260);--focus-highlight:oklch(70% .2 200)}.theme-dracula,.theme-dracula.light{--background:#282a36;--foreground:#f8f8f2;--card:#44475a;--card-foreground:#f8f8f2;--popover:#44475a;--popover-foreground:#f8f8f2;--primary:#bd93f9;--primary-foreground:#282a36;--secondary:#44475a;--secondary-foreground:#f8f8f2;--muted:#373949;--muted-foreground:#bcbece;--accent:#8be9fd;--accent-foreground:#282a36;--destructive:#f55;--destructive-foreground:#f8f8f2;--border:#44475a;--input:#44475a;--ring:#bd93f9;--success:#50fa7b;--success-foreground:#282a36;--warning:#f1fa8c;--warning-foreground:#282a36;--font-sans:ui-sans-serif,system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,"Liberation Mono",Menlo,monospace;--radius:.5rem;--code-bg:#21222c;--focus-highlight:#8be9fd}.theme-gruvbox{--background:#282828;--foreground:#ebdbb2;--card:#3c3836;--card-foreground:#ebdbb2;--popover:#3c3836;--popover-foreground:#ebdbb2;--primary:#458588;--primary-foreground:#ebdbb2;--secondary:#504945;--secondary-foreground:#ebdbb2;--muted:#504945;--muted-foreground:#a89984;--accent:#b8bb26;--accent-foreground:#282828;--destructive:#fb4934;--destructive-foreground:#282828;--border:#504945;--input:#3c3836;--ring:#458588;--success:#8ec07c;--success-foreground:#282828;--warning:#fabd2f;--warning-foreground:#282828;--font-sans:system-ui,sans-serif;--font-mono:"Fira Code",ui-monospace,monospace;--radius:.5rem;--code-bg:#32302f;--focus-highlight:#83a598}.theme-gruvbox.light{--background:#fbf1c7;--foreground:#3c3836;--card:#f2e5bc;--card-foreground:#3c3836;--popover:#f2e5bc;--popover-foreground:#3c3836;--primary:#076678;--primary-foreground:#fbf1c7;--secondary:#d5c4a1;--secondary-foreground:#3c3836;--muted:#ebdbb2;--muted-foreground:#665c54;--accent:#79740e;--accent-foreground:#fbf1c7;--destructive:#9d0006;--destructive-foreground:#fbf1c7;--border:#d5c4a1;--input:#ebdbb2;--ring:#076678;--success:#689d6a;--success-foreground:#fbf1c7;--warning:#b57614;--warning-foreground:#fbf1c7;--code-bg:#ebdbb2;--focus-highlight:#076678}.theme-paulmillr,.theme-paulmillr.light{--background:#000;--foreground:#f2f2f2;--card:#2a2a2a;--card-foreground:#f2f2f2;--popover:#2a2a2a;--popover-foreground:#f2f2f2;--primary:#396bd7;--primary-foreground:#fff;--secondary:#414141;--secondary-foreground:#f2f2f2;--muted:#2a2a2a;--muted-foreground:#bbb;--accent:#6cf;--accent-foreground:#000;--destructive:red;--destructive-foreground:#fff;--border:#414141;--input:#2a2a2a;--ring:#396bd7;--success:#79ff0f;--success-foreground:#000;--warning:#e7bf00;--warning-foreground:#000;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,"SF Mono",Consolas,monospace;--radius:.5rem;--code-bg:#1a1a1a;--focus-highlight:#6cf}.theme-quantum-rose{--background:#1a0922;--foreground:#ffb3ff;--card:#2a1435;--card-foreground:#ffb3ff;--popover:#2a1435;--popover-foreground:#ffb3ff;--primary:#ff6bef;--primary-foreground:#180518;--secondary:#46204f;--secondary-foreground:#ffb3ff;--muted:#331941;--muted-foreground:#d67ad6;--accent:#c06ec4;--accent-foreground:#1a0922;--destructive:#ff2876;--destructive-foreground:#f9f9f9;--border:#4a1b5f;--input:#46204f;--ring:#ff6bef;--chart-1:#ff6bef;--chart-2:#c359e3;--chart-3:#9161ff;--chart-4:#6f73e2;--chart-5:#547aff;--sidebar:#1c0d25;--sidebar-foreground:#ffb3ff;--sidebar-primary:#ff6bef;--sidebar-primary-foreground:#180518;--sidebar-accent:#5a1f5d;--sidebar-accent-foreground:#ffb3ff;--sidebar-border:#4a1b5f;--sidebar-ring:#ff6bef;--font-sans:Quicksand,sans-serif;--font-serif:Playfair Display,serif;--font-mono:Space Mono,monospace;--radius:.5rem;--shadow-2xs:0px 3px 0px 0px #e61ae617;--shadow-xs:0px 3px 0px 0px #e61ae617;--shadow-sm:0px 3px 0px 0px #e61ae62e,0px 1px 2px -1px #e61ae62e;--shadow:0px 3px 0px 0px #e61ae62e,0px 1px 2px -1px #e61ae62e;--shadow-md:0px 3px 0px 0px #e61ae62e,0px 2px 4px -1px #e61ae62e;--shadow-lg:0px 3px 0px 0px #e61ae62e,0px 4px 6px -1px #e61ae62e;--shadow-xl:0px 3px 0px 0px #e61ae62e,0px 8px 10px -1px #e61ae62e;--shadow-2xl:0px 3px 0px 0px #e61ae673;--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--code-bg:oklch(13% .015 260);--focus-highlight:oklch(70% .2 200)}.theme-quantum-rose.light{--background:#fff0f8;--foreground:#91185c;--card:#fff7fc;--card-foreground:#91185c;--popover:#fff7fc;--popover-foreground:#91185c;--primary:#e6067a;--primary-foreground:#fff;--secondary:#ffd6ff;--secondary-foreground:#91185c;--muted:#ffe3f2;--muted-foreground:#c04283;--accent:#ffc1e3;--accent-foreground:#91185c;--destructive:#d13869;--destructive-foreground:#fff;--border:#ffc7e6;--input:#ffd6ff;--ring:#e6067a;--chart-1:#e6067a;--chart-2:#c44b97;--chart-3:#9969b6;--chart-4:#7371bf;--chart-5:#5e84ff;--sidebar:#ffedf6;--sidebar-foreground:#91185c;--sidebar-primary:#e6067a;--sidebar-primary-foreground:#fff;--sidebar-accent:#ffc1e3;--sidebar-accent-foreground:#91185c;--sidebar-border:#ffddf0;--sidebar-ring:#e6067a;--font-sans:Poppins,sans-serif;--font-serif:Playfair Display,serif;--font-mono:Space Mono,monospace;--radius:.5rem;--shadow-2xs:0px 3px 0px 0px #82174d17;--shadow-xs:0px 3px 0px 0px #82174d17;--shadow-sm:0px 3px 0px 0px #82174d2e,0px 1px 2px -1px #82174d2e;--shadow:0px 3px 0px 0px #82174d2e,0px 1px 2px -1px #82174d2e;--shadow-md:0px 3px 0px 0px #82174d2e,0px 2px 4px -1px #82174d2e;--shadow-lg:0px 3px 0px 0px #82174d2e,0px 4px 6px -1px #82174d2e;--shadow-xl:0px 3px 0px 0px #82174d2e,0px 8px 10px -1px #82174d2e;--shadow-2xl:0px 3px 0px 0px #82174d73;--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 260);--focus-highlight:oklch(70% .2 200)}.theme-solar-dusk{--background:oklch(21.61% .0061 56.0434);--foreground:oklch(96.99% .0013 106.424);--card:oklch(26.85% .0063 34.2976);--card-foreground:oklch(96.99% .0013 106.424);--popover:oklch(26.85% .0063 34.2976);--popover-foreground:oklch(96.99% .0013 106.424);--primary:oklch(70.49% .1867 47.6044);--primary-foreground:oklch(100% 0 0);--secondary:oklch(44.44% .0096 73.639);--secondary-foreground:oklch(92.32% .0026 48.7171);--muted:oklch(26.85% .0063 34.2976);--muted-foreground:oklch(71.61% .0091 56.259);--accent:oklch(60% .12 229.32);--accent-foreground:oklch(15% .02 229);--destructive:oklch(57.71% .2152 27.325);--destructive-foreground:oklch(100% 0 0);--border:oklch(37.41% .0087 67.5582);--input:oklch(37.41% .0087 67.5582);--ring:oklch(70.49% .1867 47.6044);--chart-1:oklch(70.49% .1867 47.6044);--chart-2:oklch(68.47% .1479 237.323);--chart-3:oklch(79.52% .1617 86.0468);--chart-4:oklch(71.61% .0091 56.259);--chart-5:oklch(55.34% .0116 58.0708);--sidebar:oklch(26.85% .0063 34.2976);--sidebar-foreground:oklch(96.99% .0013 106.424);--sidebar-primary:oklch(70.49% .1867 47.6044);--sidebar-primary-foreground:oklch(100% 0 0);--sidebar-accent:oklch(68.47% .1479 237.323);--sidebar-accent-foreground:oklch(28.39% .0734 254.538);--sidebar-border:oklch(37.41% .0087 67.5582);--sidebar-ring:oklch(70.49% .1867 47.6044);--font-sans:Oxanium,sans-serif;--font-serif:Merriweather,serif;--font-mono:Fira Code,monospace;--radius:.3rem;--shadow-2xs:0px 2px 3px 0px #0d0d0d17;--shadow-xs:0px 2px 3px 0px #0d0d0d17;--shadow-sm:0px 2px 3px 0px #0d0d0d2e,0px 1px 2px -1px #0d0d0d2e;--shadow:0px 2px 3px 0px #0d0d0d2e,0px 1px 2px -1px #0d0d0d2e;--shadow-md:0px 2px 3px 0px #0d0d0d2e,0px 2px 4px -1px #0d0d0d2e;--shadow-lg:0px 2px 3px 0px #0d0d0d2e,0px 4px 6px -1px #0d0d0d2e;--shadow-xl:0px 2px 3px 0px #0d0d0d2e,0px 8px 10px -1px #0d0d0d2e;--shadow-2xl:0px 2px 3px 0px #0d0d0d73;--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--code-bg:oklch(13% .015 260);--focus-highlight:oklch(70% .2 200)}.theme-solar-dusk.light{--background:oklch(98.85% .0057 84.5659);--foreground:oklch(36.6% .0251 49.6085);--card:oklch(96.86% .0091 78.2818);--card-foreground:oklch(36.6% .0251 49.6085);--popover:oklch(96.86% .0091 78.2818);--popover-foreground:oklch(36.6% .0251 49.6085);--primary:oklch(55.53% .1455 48.9975);--primary-foreground:oklch(100% 0 0);--secondary:oklch(82.76% .0752 74.44);--secondary-foreground:oklch(44.44% .0096 73.639);--muted:oklch(93.63% .0218 83.2637);--muted-foreground:oklch(55.34% .0116 58.0708);--accent:oklch(55% .12 229);--accent-foreground:oklch(100% 0 0);--destructive:oklch(44.37% .1613 26.8994);--destructive-foreground:oklch(100% 0 0);--border:oklch(88.66% .0404 89.6994);--input:oklch(88.66% .0404 89.6994);--ring:oklch(55.53% .1455 48.9975);--chart-1:oklch(55.53% .1455 48.9975);--chart-2:oklch(55.34% .0116 58.0708);--chart-3:oklch(55.38% .1207 66.4416);--chart-4:oklch(55.34% .0116 58.0708);--chart-5:oklch(68.06% .1423 75.834);--sidebar:oklch(93.63% .0218 83.2637);--sidebar-foreground:oklch(36.6% .0251 49.6085);--sidebar-primary:oklch(55.53% .1455 48.9975);--sidebar-primary-foreground:oklch(100% 0 0);--sidebar-accent:oklch(55.38% .1207 66.4416);--sidebar-accent-foreground:oklch(100% 0 0);--sidebar-border:oklch(88.66% .0404 89.6994);--sidebar-ring:oklch(55.53% .1455 48.9975);--font-sans:Oxanium,sans-serif;--font-serif:Merriweather,serif;--font-mono:Fira Code,monospace;--radius:.3rem;--shadow-2xs:0px 2px 3px 0px #4b3f3417;--shadow-xs:0px 2px 3px 0px #4b3f3417;--shadow-sm:0px 2px 3px 0px #4b3f342e,0px 1px 2px -1px #4b3f342e;--shadow:0px 2px 3px 0px #4b3f342e,0px 1px 2px -1px #4b3f342e;--shadow-md:0px 2px 3px 0px #4b3f342e,0px 2px 4px -1px #4b3f342e;--shadow-lg:0px 2px 3px 0px #4b3f342e,0px 4px 6px -1px #4b3f342e;--shadow-xl:0px 2px 3px 0px #4b3f342e,0px 8px 10px -1px #4b3f342e;--shadow-2xl:0px 2px 3px 0px #4b3f3473;--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 260);--focus-highlight:oklch(70% .2 200)}.theme-terminal,.theme-terminal.light{--background:#000001;--foreground:#eee;--card:#010203;--card-foreground:#eee;--popover:#010203;--popover-foreground:#eee;--primary:#f99100;--primary-foreground:#fff;--secondary:#2e2e2e;--secondary-foreground:#eee;--muted:#202127;--muted-foreground:#9e9e9e;--accent:#00a1ff;--accent-foreground:#fff;--destructive:#f20024;--destructive-foreground:#fff;--border:#2e2e2e;--input:#010203;--ring:#00a1ff;--chart-1:#2dd047;--chart-2:#f20024;--chart-3:#821698;--chart-4:#f6d653;--chart-5:#00a1ff;--sidebar:#010203;--sidebar-foreground:#eee;--sidebar-primary:#f99100;--sidebar-primary-foreground:#fff;--sidebar-accent:#00a1ff;--sidebar-accent-foreground:#fff;--sidebar-border:#2e2e2e;--sidebar-ring:#00a1ff;--font-sans:system-ui;--font-serif:system-ui;--font-mono:system-ui;--radius:4px;--shadow-2xs:0px 2px 4px 0px #0000001a;--shadow-xs:0px 2px 4px 0px #0000001a;--shadow-sm:0px 2px 4px 0px #0003,0px 1px 2px -1px #0003;--shadow:0px 2px 4px 0px #0003,0px 1px 2px -1px #0003;--shadow-md:0px 2px 4px 0px #0003,0px 2px 4px -1px #0003;--shadow-lg:0px 2px 4px 0px #0003,0px 4px 6px -1px #0003;--shadow-xl:0px 2px 4px 0px #0003,0px 8px 10px -1px #0003;--shadow-2xl:0px 2px 4px 0px #00000080;--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--code-bg:#000;--focus-highlight:oklch(70% .2 200)}.theme-terminal .bg-grid,.theme-terminal.light .bg-grid{background-image:linear-gradient(90deg,#00ff000a 1px,#0000 1px),linear-gradient(#00ff000a 1px,#0000 1px)}.theme-tokyo-night{--background:#24283b;--foreground:#c0caf5;--card:#1d202f;--card-foreground:#c0caf5;--popover:#1d202f;--popover-foreground:#c0caf5;--primary:#7aa2f7;--primary-foreground:#1d202f;--secondary:#414868;--secondary-foreground:#c0caf5;--muted:#343a52;--muted-foreground:#a9b1d6;--accent:#7dcfff;--accent-foreground:#1d202f;--destructive:#f7768e;--destructive-foreground:#1d202f;--border:#414868;--input:#343a52;--ring:#7aa2f7;--success:#9ece6a;--success-foreground:#1d202f;--warning:#e0af68;--warning-foreground:#1d202f;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,monospace;--radius:.5rem;--code-bg:#1a1b2e;--focus-highlight:#7dcfff}.theme-tokyo-night.light{--background:#e1e2e7;--foreground:#3760bf;--card:#e9e9ed;--card-foreground:#3760bf;--popover:#e9e9ed;--popover-foreground:#3760bf;--primary:#2e7de9;--primary-foreground:#e1e2e7;--secondary:#a1a6c5;--secondary-foreground:#3760bf;--muted:#d0d3e1;--muted-foreground:#6172b0;--accent:#007197;--accent-foreground:#e1e2e7;--destructive:#f52a65;--destructive-foreground:#e1e2e7;--border:#a1a6c5;--input:#d0d3e1;--ring:#2e7de9;--success:#587539;--success-foreground:#e1e2e7;--warning:#8c6c3e;--warning-foreground:#e1e2e7;--code-bg:#d5d6db;--focus-highlight:#007197}.theme-tinacious,.theme-tinacious.light{--background:#f8f8ff;--foreground:#1d1d26;--card:#fff;--card-foreground:#1d1d26;--popover:#fff;--popover-foreground:#1d1d26;--primary:#00cbff;--primary-foreground:#fff;--secondary:#cbcbf0;--secondary-foreground:#1d1d26;--muted:#d5d6f3;--muted-foreground:#636667;--accent:#00ceca;--accent-foreground:#1d1d26;--destructive:#f39;--destructive-foreground:#fff;--border:#d5d6f3;--input:#d5d6f3;--ring:#00cbff;--chart-1:#f39;--chart-2:#00d364;--chart-3:#fc6;--chart-4:#c6f;--chart-5:#00ceca;--sidebar:#f0f0f8;--sidebar-foreground:#1d1d26;--sidebar-primary:#00cbff;--sidebar-primary-foreground:#fff;--sidebar-accent:#00ceca;--sidebar-accent-foreground:#1d1d26;--sidebar-border:#d5d6f3;--sidebar-ring:#00cbff;--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,"Liberation Mono",Menlo,monospace;--radius:.5rem;--shadow-2xs:0 1px 2px 0 #0000000d;--shadow-xs:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-sm:0 2px 4px -1px #0000001a,0 1px 2px -1px #0000001a;--shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-md:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-lg:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-xl:0 25px 50px -12px #00000040;--shadow-2xl:0 35px 60px -15px #0000004d;--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:#f0f0f8;--focus-highlight:oklch(70% .2 200)}.theme-cursor{--background:#181818;--foreground:#e4e4e4;--card:#1e1e1e;--card-foreground:#e4e4e4;--popover:#141414;--popover-foreground:#e4e4e4;--primary:#81a1c1;--primary-foreground:#141414;--secondary:#2a2a2a;--secondary-foreground:#e4e4e4;--muted:#252525;--muted-foreground:#a0a0a0;--accent:#88c0d0;--accent-foreground:#141414;--destructive:#e34671;--destructive-foreground:#e4e4e4;--border:#333;--input:#252525;--ring:#81a1c1;--success:#3fa266;--success-foreground:#141414;--warning:#d2943e;--warning-foreground:#141414;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,monospace;--radius:.5rem;--code-bg:#141414;--focus-highlight:#88c0d0}.theme-cursor.light{--background:#fcfcfc;--foreground:#141414;--card:#f3f3f3;--card-foreground:#141414;--popover:#f3f3f3;--popover-foreground:#141414;--primary:#3c7cab;--primary-foreground:#fcfcfc;--secondary:#e8e8e8;--secondary-foreground:#141414;--muted:#ededed;--muted-foreground:#6a6a6a;--accent:#4c7f8c;--accent-foreground:#fcfcfc;--destructive:#cf2d56;--destructive-foreground:#fcfcfc;--border:#ddd;--input:#ededed;--ring:#3c7cab;--success:#1f8a65;--success-foreground:#fcfcfc;--warning:#c08532;--warning-foreground:#141414;--code-bg:#f3f3f3;--focus-highlight:#3c7cab}.theme-cursor-hc,.theme-cursor-hc.light{--background:#0a0a0a;--foreground:#d8dee9;--card:#1a1a1a;--card-foreground:#eceff4;--popover:#1a1a1a;--popover-foreground:#eceff4;--primary:#88c0d0;--primary-foreground:#000;--secondary:#434c5e;--secondary-foreground:#eceff4;--muted:#2a2a2a;--muted-foreground:#ccc;--accent:#ebcb8b;--accent-foreground:#000;--destructive:#bf616a;--destructive-foreground:#eceff4;--border:#404040;--input:#2a2a2a;--ring:#88c0d0;--success:#a3be8c;--success-foreground:#000;--warning:#ebcb8b;--warning-foreground:#000;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,monospace;--radius:.5rem;--code-bg:#1a1a1a;--focus-highlight:#88c0d0}.theme-cursor-midnight,.theme-cursor-midnight.light{--background:#1e2127;--foreground:#d8dee9;--card:#272c36;--card-foreground:#d8dee9;--popover:#20242c;--popover-foreground:#d8dee9;--primary:#88c0d0;--primary-foreground:#1d2128;--secondary:#434c5e;--secondary-foreground:#d8dee9;--muted:#272c36;--muted-foreground:#7b88a1;--accent:#8fbcbb;--accent-foreground:#1d2128;--destructive:#bf616a;--destructive-foreground:#eceff4;--border:#3a4050;--input:#272c36;--ring:#88c0d0;--success:#a3be8c;--success-foreground:#1d2128;--warning:#ebcb8b;--warning-foreground:#1d2128;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,monospace;--radius:.5rem;--code-bg:#191c22;--focus-highlight:#8fbcbb}.plannotator-print pre,.plannotator-print pre[class]{color:#1a1a1a!important;background:#f5f5f5!important;border:1px solid #ccc!important;border-left:3px solid #888!important}.plannotator-print pre code,.plannotator-print code.hljs,.plannotator-print pre code.hljs,.plannotator-print .hljs{color:#1a1a1a!important;background:0 0!important}.plannotator-print pre span,.plannotator-print pre code span,.plannotator-print .hljs span,.plannotator-print [class*=hljs-]{color:#1a1a1a!important;background:0 0!important;font-style:normal!important;text-decoration:none!important}.plannotator-print code{color:#1a1a1a!important;background:#e8e8e8!important;border:1px solid #ccc!important}.plannotator-print pre code{background:0 0!important;border:none!important}@media print{*{transition:none!important;animation:none!important}@page{size:A4;margin:.75in}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:11pt;line-height:1.6;color:#1a1a1a!important;background:#fff!important;height:auto!important;overflow:visible!important}header,aside,.annotation-toolbar,.fixed,[data-resize-handle]{display:none!important}[data-print-hide]{margin:0!important;padding:0!important;display:none!important}.sidebar-tab-flag,pre .absolute,.group>button.absolute,button[title=Settings],button[title="Toggle theme"],button[title="Add global comment"],button[title="Copy plan"],button[title="Copy file"]{display:none!important}[data-print-region=root]{height:auto!important;overflow:visible!important}[data-print-region=content]{overflow:visible!important}main,[data-print-region=document]{background:#fff!important;width:100%!important;padding:0!important;overflow:visible!important}main>div{margin:0!important;padding:0!important}article,[data-print-region=article]{width:100%!important;max-width:100%!important;box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}article h1:first-of-type,[data-print-region=article] h1:first-of-type{margin-top:0!important}body,div,span,p,li,td,th,label,strong,em,b,i{color:#1a1a1a!important}strong,b{color:#000!important;font-weight:700!important}em,i{color:#1a1a1a!important;font-style:italic!important}h1{page-break-after:avoid;margin:1.5em 0 .5em;font-size:24pt;font-weight:700;color:#000!important}h2{page-break-after:avoid;margin:1.25em 0 .4em;font-size:18pt;font-weight:700;color:#000!important}h3{page-break-after:avoid;margin:1em 0 .3em;font-size:14pt;font-weight:700;color:#000!important}h4{page-break-after:avoid;margin:.8em 0 .25em;font-size:12pt;font-weight:700;color:#000!important}h5,h6{page-break-after:avoid;margin:.6em 0 .2em;font-size:11pt;font-weight:700;color:#000!important}p{margin:.5em 0;color:#1a1a1a!important}ul,ol{margin:.5em 0;padding-left:2em}li{margin:.25em 0;color:#1a1a1a!important}li p{margin:.25em 0}code,code[class]{color:#1a1a1a!important;background:#e8e8e8!important;border:1px solid #ccc!important;border-radius:3px!important;padding:.1em .4em!important;font-family:Courier New,Monaco,Consolas,monospace!important;font-size:10pt!important}.group{page-break-inside:avoid}pre,pre[class]{page-break-inside:avoid;color:#1a1a1a!important;background:#f5f5f5!important;border:1px solid #ccc!important;border-left:3px solid #888!important;border-radius:4px!important;margin:1em 0!important;padding:1em!important;overflow:visible!important}pre code,pre code[class],pre code.hljs,code.hljs,code[data-highlighted]{color:#1a1a1a!important;white-space:pre-wrap!important;word-wrap:break-word!important;background:0 0!important;border:none!important;padding:0!important;font-size:9pt!important;display:block!important}.hljs{color:#1a1a1a!important;background:0 0!important}pre span,pre code span,.hljs span,code span,[class*=hljs-]{color:#1a1a1a!important;background:0 0!important;font-style:normal!important;text-decoration:none!important}table{border-collapse:collapse;page-break-inside:avoid;width:100%;margin:1em 0}thead{page-break-after:avoid;background:#e8e8e8!important}th{text-align:left;border:1px solid #999;padding:.5em;font-weight:700;color:#000!important;background:#e8e8e8!important}td{border:1px solid #ccc;padding:.5em;color:#1a1a1a!important}tbody tr:nth-child(2n){background:#f9f9f9!important}tbody tr:nth-child(odd){background:#fff!important}blockquote{margin:1em 0;padding:.5em 0 .5em 1em;color:#333!important;background:#f7f7f7!important;border-left:4px solid #999!important}blockquote p{margin:.5em 0}hr{page-break-after:avoid;border:none;border-top:1px solid #999;margin:1.5em 0}a{text-decoration:underline;color:#06c!important}a[href]:after{content:" (" attr(href)")";word-break:break-all;font-size:9pt;color:#666!important}a[href^="#"]:after{content:""}img{page-break-inside:avoid;max-width:100%;height:auto;margin:1em 0}svg{page-break-inside:avoid;max-width:100%;height:auto!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid}pre,blockquote,table,figure{page-break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}body{font-family:var(--font-sans);background:var(--background);color:var(--foreground);font-feature-settings:"ss01","ss02","cv01"}.bg-grid{background-image:linear-gradient(90deg,#2d333d80 1px,#0000 1px),linear-gradient(#2d333d80 1px,#0000 1px);background-size:24px 24px}.light .bg-grid{background-image:linear-gradient(90deg,#dadee599 1px,#0000 1px),linear-gradient(#dadee599 1px,#0000 1px)}.glow-primary{box-shadow:0 0 20px oklch(from var(--primary)l c h/.15),0 0 40px oklch(from var(--primary)l c h/.05)}.glow-sm{box-shadow:0 0 10px oklch(from var(--primary)l c h/.1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}::selection{background:oklch(from var(--primary)l c h/.3)}*{transition-property:color,background-color,border-color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.file-annotation-flash{animation:1.2s ease-out file-flash}@keyframes file-flash{0%{background:0 0}10%{background:var(--muted)}30%{background:0 0}45%{background:var(--muted)}65%{background:0 0}to{background:0 0}}:root{--panel-header-h:37px}.dockview-theme-dark,.dockview-theme-light,.dv-dockview{--dv-group-view-background-color:var(--background);--dv-tabs-and-actions-container-background-color:var(--card);--dv-activegroup-visiblepanel-tab-background-color:var(--background);--dv-activegroup-hiddenpanel-tab-background-color:var(--muted);--dv-inactivegroup-visiblepanel-tab-background-color:var(--background);--dv-inactivegroup-hiddenpanel-tab-background-color:var(--muted);--dv-tab-divider-color:var(--border);--dv-activegroup-visiblepanel-tab-color:var(--foreground);--dv-activegroup-hiddenpanel-tab-color:var(--muted-foreground);--dv-inactivegroup-visiblepanel-tab-color:var(--foreground);--dv-inactivegroup-hiddenpanel-tab-color:var(--muted-foreground);--dv-separator-border:var(--border);--dv-paneview-header-border-color:var(--border);--dv-drag-over-background-color:oklch(from var(--primary)l c h/.1);--dv-drag-over-border-color:var(--primary);--dv-icon-hover-background-color:var(--muted);--dv-tabs-and-actions-container-height:30px;--dv-tabs-and-actions-container-font-size:.6875rem;--dv-tab-font-size:.6875rem;font-family:inherit;font-size:inherit}.dv-review-tab{-webkit-user-select:none;user-select:none;align-items:center;gap:.375rem;min-width:0;height:100%;padding:0 .5rem;font-size:.6875rem;display:flex}.dv-review-tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dv-review-tab-close{opacity:0;width:1rem;height:1rem;color:var(--muted-foreground);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s,color .15s;display:flex}.dv-review-tab:hover .dv-review-tab-close{opacity:1}.dv-review-tab-close:hover{opacity:1;background:var(--muted);color:var(--foreground)}diffs-container{--diffs-dark-bg:var(--background);--diffs-light-bg:var(--background);--diffs-dark:var(--foreground);--diffs-light:var(--foreground)}.diff-line-addition{background:oklch(from var(--success)l c h/.12)}.diff-line-deletion{background:oklch(from var(--destructive)l c h/.12)}.light .diff-line-addition{background:oklch(from var(--success)l c h/.15)}.light .diff-line-deletion{background:oklch(from var(--destructive)l c h/.15)}.review-comment{box-sizing:border-box;background:var(--popover);border:1px solid var(--border);cursor:pointer;border-radius:2px;width:100%;min-width:0;max-width:100%;margin:.5rem 0;padding:.5rem .625rem;font-size:.8125rem;transition:border-color .15s;position:relative}.review-comment:hover{border-color:var(--muted-foreground)}.review-comment-header{min-width:0;color:var(--muted-foreground);align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.6875rem;display:flex}.review-comment-actions{opacity:0;gap:.125rem;margin-left:auto;transition:opacity .15s;display:flex}.review-comment:hover .review-comment-actions{opacity:1}.review-comment-action{color:var(--muted-foreground);border-radius:2px;padding:.25rem;transition:color .15s,background .15s}.review-comment-action:hover{color:var(--foreground);background:var(--muted)}.review-comment-action.destructive:hover{color:var(--destructive);background:oklch(from var(--destructive)l c h/.1)}.review-comment>.review-comment-body{min-width:0;color:var(--foreground);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.5}.review-comment-body .inline-code,.review-comment-markdown .inline-code{font-family:var(--font-mono);background:var(--muted);border-radius:.25rem;padding:.1em .35em;font-size:.85em}.review-comment-body .inline-code-block,.review-comment-markdown .inline-code-block{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:pre;margin:.375rem 0;padding:.5rem .75rem;font-size:.75rem;line-height:1.5;overflow-x:auto}.review-comment-body .inline-code-block code,.review-comment-markdown .inline-code-block code{font-family:var(--font-mono)}.light .review-comment-body .inline-code-block,.light .review-comment-markdown .inline-code-block{background:var(--code-bg)}.line-selected{background:oklch(from var(--primary)l c h/.3)!important}.hover-add-comment{background:var(--primary);width:1.25rem;height:1.25rem;color:var(--primary-foreground);cursor:pointer;opacity:0;border-radius:.25rem;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;transition:opacity .15s;display:flex}.hover-add-comment:hover{opacity:1;background:oklch(70% .2 280)}.file-tree-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--muted-foreground);align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.75rem;display:flex}.file-tree-item:hover{background:var(--muted);color:var(--foreground)}.file-tree-item.active{background:oklch(from var(--primary)l c h/.3);color:var(--primary)}.file-tree-item.has-annotations{background:var(--primary)/.08}.file-tree-item.has-annotations:hover{background:var(--muted)}.file-tree-item.active.has-annotations{background:oklch(from var(--primary)l c h/.3)}.file-tree-item .additions{color:var(--success)}.file-tree-item .deletions{color:var(--destructive)}.file-tree-item.active .additions{color:var(--success)}.file-tree-item.active .deletions{color:var(--destructive)}.file-tree-item.staged{background:oklch(from var(--success)l c h/.1)}.file-tree-item.staged:hover{background:var(--muted)}.file-tree-item.staged.active{background:oklch(from var(--primary)l c h/.3)}.review-toolbar{z-index:100;background:var(--popover);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;position:absolute;box-shadow:0 10px 25px -5px #0003,0 8px 10px -6px #0000001a}.review-toolbar-btn{border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;background:0 0;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;display:flex}.review-toolbar-btn:hover{background:var(--muted)}.review-toolbar-btn.primary{background:var(--primary);color:var(--primary-foreground)}.review-toolbar-btn.primary:hover{background:oklch(70% .2 280)}.export-code-block{font-family:var(--font-mono);background:var(--muted);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;padding:.75rem;font-size:.75rem;overflow-x:auto}.suggested-code-input{width:100%;font-family:var(--font-mono);color:var(--foreground);background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;tab-size:2;white-space:pre;overflow-wrap:normal;padding:.625rem .75rem;font-size:.6875rem;line-height:1.6;overflow-x:auto}.suggested-code-input::placeholder{color:var(--muted-foreground);opacity:.5}.suggested-code-input:focus{border-color:var(--success);box-shadow:0 0 0 1px oklch(from var(--success)l c h/.3);outline:none}.light .suggested-code-input{background:var(--code-bg)}.suggestion-block{border:1px solid oklch(from var(--success)l c h/.3);border-left:3px solid var(--success);border-radius:var(--radius-sm);overflow:hidden}.suggestion-block-header{text-transform:uppercase;letter-spacing:.03em;color:var(--success);background:oklch(from var(--success)l c h/.08);border-bottom:1px solid oklch(from var(--success)l c h/.15);align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.625rem;font-weight:600;display:flex}.suggestion-block-code{background:var(--code-bg);margin:0;padding:.5rem .75rem;font-size:.6875rem;line-height:1.6;overflow-x:auto}.suggestion-block-code code{font-family:var(--font-mono);background:0 0!important;padding:0!important}.suggestion-block.compact .suggestion-block-code{max-height:3rem;overflow:hidden}.light .suggestion-block-code{background:var(--code-bg)}.light .suggestion-block{border-color:oklch(from var(--success)l c h/.3);border-left-color:var(--success)}.light .suggestion-block-header{background:oklch(from var(--success)l c h/.06);border-bottom-color:oklch(from var(--success)l c h/.12)}.suggestion-modal-original{font-family:var(--font-mono);background:var(--code-bg)}.suggestion-modal-original code{font-family:var(--font-mono);background:0 0!important;padding:0!important}.light .suggestion-modal-original{background:var(--code-bg)}.suggestion-diff{font-family:var(--font-mono);font-size:.6875rem;line-height:1.5;overflow-x:auto}.suggestion-diff-inner{width:fit-content;min-width:100%}.suggestion-diff-line{min-height:1.25rem;padding:0 .625rem;display:flex}.suggestion-diff-line.removed{background:oklch(from var(--destructive)l c h/.15)}.suggestion-diff-line.added{background:oklch(from var(--success)l c h/.15)}.suggestion-diff-indicator{text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:1rem}.suggestion-diff-line.removed .suggestion-diff-indicator{color:var(--destructive)}.suggestion-diff-line.added .suggestion-diff-indicator{color:var(--success)}.suggestion-diff-content{white-space:pre}.light .suggestion-diff-line.removed{background:oklch(from var(--destructive)l c h/.1)}.light .suggestion-diff-line.added{background:oklch(from var(--success)l c h/.1)}.search-match-highlight{background:oklch(from var(--warning)l c h/.25);color:var(--foreground);border-radius:2px;padding:0 1px}.light .search-match-highlight{background:oklch(from var(--warning)l c h/.3)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-from-bottom-2{0%{transform:translateY(.5rem)translate(-50%)}to{transform:translateY(0)translate(-50%)}}.animate-in{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}.fade-in{animation-name:fade-in}.slide-in-from-bottom-2{animation-name:slide-in-from-bottom-2}.ai-ask-divider{border-top:1px solid var(--border);opacity:.5;margin-top:.5rem}.ai-line-ref{font-family:var(--font-mono);background:var(--muted);color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.25rem;padding:.125rem .375rem;font-size:.625rem;transition:color .15s,background .15s;display:inline-flex}.ai-line-ref:hover{background:oklch(from var(--primary)l c h/.1);color:var(--primary)}.ai-streaming-cursor{background:var(--primary);vertical-align:text-bottom;border-radius:1px;width:.375rem;height:.75rem;animation:1s step-end infinite ai-blink;display:inline-block}@keyframes ai-blink{0%,to{opacity:1}50%{opacity:0}}.ai-preview-link{border-radius:var(--radius-sm);background:oklch(from var(--primary)l c h/.05);border:1px solid oklch(from var(--primary)l c h/.12);width:100%;color:var(--muted-foreground);cursor:pointer;text-align:left;align-items:center;gap:.375rem;margin-top:.5rem;padding:.375rem .5rem;font-size:.625rem;transition:background .15s,border-color .15s;display:flex}.ai-preview-link:hover{background:oklch(from var(--primary)l c h/.1);border-color:oklch(from var(--primary)l c h/.2)}.ai-marker{color:var(--muted-foreground);border-left:2px solid oklch(from var(--primary)l c h/.3);border-radius:0 var(--radius-sm)var(--radius-sm)0;transition:background,border-color}.ai-marker:hover{background:oklch(from var(--primary)l c h/.08);border-left-color:var(--primary);transition:background .15s,border-color .15s}.ai-marker-answered .ai-marker-icon{color:var(--primary)}.ai-markdown{line-height:1.5}.ai-markdown p{margin:.25rem 0}.ai-markdown p:first-child{margin-top:0}.ai-markdown p:last-child{margin-bottom:0}.ai-markdown h1,.ai-markdown h2,.ai-markdown h3,.ai-markdown h4,.ai-markdown h5,.ai-markdown h6{margin:.5rem 0 .25rem;font-weight:600;line-height:1.3}.ai-markdown h1{font-size:.875rem}.ai-markdown h2{font-size:.8125rem}.ai-markdown h3{font-size:.75rem}.ai-markdown ul,.ai-markdown ol{margin:.25rem 0;padding-left:1.25rem}.ai-markdown li{margin:.125rem 0}.ai-markdown ul{list-style:outside}.ai-markdown ol{list-style:decimal}.ai-markdown code{font-family:var(--font-mono);background:var(--muted);border-radius:var(--radius-sm);padding:.125rem .25rem;font-size:.6875rem}.ai-markdown pre{background:var(--muted);border-radius:var(--radius-sm);margin:.375rem 0;padding:.5rem;overflow-x:auto}.ai-markdown pre code{background:0 0;padding:0;font-size:.6875rem}.ai-markdown hr{border:none;border-top:1px solid var(--border);margin:.5rem 0}.ai-markdown strong{font-weight:600}.ai-markdown a{color:var(--primary)}.ai-markdown a:hover{text-decoration:underline}.ai-markdown blockquote{border-left:2px solid var(--border);color:var(--muted-foreground);margin:.375rem 0;padding-left:.625rem}.ai-file-group-highlight{animation:1.2s ease-out ai-file-flash}@keyframes ai-file-flash{0%{background:0 0}10%{background:var(--muted)}30%{background:0 0}45%{background:var(--muted)}65%{background:0 0}to{background:0 0}}.ai-config-menu{background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:50;flex-direction:column;min-width:140px;max-height:min(320px,50vh);padding:3px;animation:.12s ease-out ai-menu-in;display:flex;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 4px 12px #00000026}.ai-config-menu-scroll{flex:1;min-height:0;overflow-y:auto}.ai-config-menu-search{border-bottom:1px solid var(--border);flex-shrink:0;margin-bottom:2px;padding:4px}.ai-config-menu-search input{background:var(--muted);border:1px solid var(--border);border-radius:calc(var(--radius-sm) - 2px);width:100%;color:var(--foreground);outline:none;padding:3px 6px;font-size:.6875rem}.ai-config-menu-search input::placeholder{color:var(--muted-foreground)}.ai-config-menu-search input:focus{border-color:var(--primary)}.ai-config-menu-item{border-radius:calc(var(--radius-sm) - 2px);width:100%;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.6875rem;transition:background .1s;display:flex}.ai-config-menu-item:hover{background:var(--muted)}.ai-config-menu-item-active{color:var(--primary)}@keyframes ai-menu-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.review-comment-markdown .inline-code,.review-comment-body .inline-code,.review-comment-markdown .inline-code-block,.review-comment-body .inline-code-block,.review-comment-markdown .inline-code-block code,.review-comment-body .inline-code-block code,.export-code-block,.suggestion-block-code code,.suggestion-modal-original,.suggestion-modal-original code,.suggestion-diff,.ai-markdown code{font-family:var(--diff-font-override,var(--font-mono))!important}:root[style*=--diff-font-size-override] .review-comment-markdown .inline-code,:root[style*=--diff-font-size-override] .review-comment-body .inline-code,:root[style*=--diff-font-size-override] .review-comment-markdown .inline-code-block,:root[style*=--diff-font-size-override] .review-comment-body .inline-code-block,:root[style*=--diff-font-size-override] .review-comment-markdown .inline-code-block code,:root[style*=--diff-font-size-override] .review-comment-body .inline-code-block code,:root[style*=--diff-font-size-override] .export-code-block,:root[style*=--diff-font-size-override] .suggestion-block-code code,:root[style*=--diff-font-size-override] .suggestion-modal-original,:root[style*=--diff-font-size-override] .suggestion-modal-original code,:root[style*=--diff-font-size-override] .suggestion-diff,:root[style*=--diff-font-size-override] .ai-markdown code{font-size:var(--diff-font-size-override)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-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-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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}</style>
|
|
6054
|
+
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-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-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}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-500:oklch(62.7% .265 303.9);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--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);--text-5xl:3rem;--text-5xl--line-height:1;--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;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 4px);--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-xl:24px;--aspect-video:16/9;--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}*{border-color:var(--border)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-inset-x-2{inset-inline:calc(var(--spacing)*-2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-0\.5{top:calc(var(--spacing)*-.5)}.-top-1{top:calc(var(--spacing)*-1)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-12{top:calc(var(--spacing)*12)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing)*-.5)}.-right-1{right:calc(var(--spacing)*-1)}.-right-2{right:calc(var(--spacing)*-2)}.-right-3{right:calc(var(--spacing)*-3)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-1\.5{right:calc(var(--spacing)*1.5)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-full{bottom:100%}.-left-0\.5{left:calc(var(--spacing)*-.5)}.-left-1{left:calc(var(--spacing)*-1)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.-z-10{z-index:-10}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[59\]{z-index:59}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[200\]{z-index:200}.z-\[2000\]{z-index:2000}.z-\[9999\]{z-index:9999}.float-right{float:right}.clear-right{clear:right}.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)}.m-64{margin:calc(var(--spacing)*64)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-1\.5{margin-block:calc(var(--spacing)*1.5)}.my-2{margin-block:calc(var(--spacing)*2)}.my-4{margin-block:calc(var(--spacing)*4)}.my-5{margin-block:calc(var(--spacing)*5)}.my-8{margin-block:calc(var(--spacing)*8)}.-mt-0\.5{margin-top:calc(var(--spacing)*-.5)}.-mt-1{margin-top:calc(var(--spacing)*-1)}.-mt-4{margin-top:calc(var(--spacing)*-4)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-px{margin-top:1px}.-mr-3{margin-right:calc(var(--spacing)*-3)}.-mr-4{margin-right:calc(var(--spacing)*-4)}.mr-0\.5{margin-right: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)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-px{margin-bottom:1px}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.h-0{height:calc(var(--spacing)*0)}.h-0\.5{height:calc(var(--spacing)*.5)}.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-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-4\.5{height:calc(var(--spacing)*4.5)}.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-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-40{height:calc(var(--spacing)*40)}.h-80{height:calc(var(--spacing)*80)}.h-\[2px\]{height:2px}.h-\[16px\]{height:16px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[calc\(100vh-3rem\)\]{height:calc(100vh - 3rem)}.h-\[min\(65vh\,36rem\)\]{height:min(65vh,36rem)}.h-full{height:100%}.h-screen{height:100vh}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-48{min-height:calc(var(--spacing)*48)}.min-h-\[4\.5rem\]{min-height:4.5rem}.min-h-\[20rem\]{min-height:20rem}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing)*0)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-1\/6{width:16.6667%}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-2\/3{width:66.6667%}.w-2\/5{width:40%}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-4\.5{width:calc(var(--spacing)*4.5)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing)*5)}.w-5\/6{width:83.3333%}.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-11{width:calc(var(--spacing)*11)}.w-11\/12{width:91.6667%}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-44{width:calc(var(--spacing)*44)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-\[3px\]{width:3px}.w-\[320px\]{width:320px}.w-\[960px\]{width:960px}.w-\[min\(22rem\,32vw\)\]{width:min(22rem,32vw)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-24{max-width:calc(var(--spacing)*24)}.max-w-\[3\.5rem\]{max-width:3.5rem}.max-w-\[3rem\]{max-width:3rem}.max-w-\[85vw\]{max-width:85vw}.max-w-\[90vw\]{max-width:90vw}.max-w-\[95vw\]{max-width:95vw}.max-w-\[100px\]{max-width:100px}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[340px\]{max-width:340px}.max-w-\[400px\]{max-width:400px}.max-w-\[min\(96vw\,110rem\)\]{max-width:min(96vw,110rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-10{min-width:calc(var(--spacing)*10)}.min-w-\[4ch\]{min-width:4ch}.min-w-\[16rem\]{min-width:16rem}.min-w-\[18px\]{min-width:18px}.min-w-\[22px\]{min-width:22px}.min-w-\[80px\]{min-width:80px}.min-w-\[160px\]{min-width:160px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-6{--tw-translate-x:calc(var(--spacing)*6);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-scale-x-100{--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[settings-ping_2s_cubic-bezier\(0\,0\,0\.2\,1\)_infinite\]{animation:2s cubic-bezier(0,0,.2,1) infinite settings-ping}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-\[2px\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(2px*var(--tw-space-y-reverse));margin-block-end:calc(2px*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-y-1\.5{row-gap:calc(var(--spacing)*1.5)}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.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-4{border-style:var(--tw-border-style);border-width:4px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-\[2px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent,.border-accent\/30{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.border-accent\/30{border-color:color-mix(in oklab,var(--accent)30%,transparent)}}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500)30%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500)50%,transparent)}}.border-background{border-color:var(--background)}.border-border,.border-border\/30{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,var(--border)30%,transparent)}}.border-border\/40{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}}.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--border)60%,transparent)}}.border-destructive\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/20{border-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.border-foreground,.border-foreground\/5{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/5{border-color:color-mix(in oklab,var(--foreground)5%,transparent)}}.border-foreground\/15{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/15{border-color:color-mix(in oklab,var(--foreground)15%,transparent)}}.border-foreground\/20{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.border-foreground\/20{border-color:color-mix(in oklab,var(--foreground)20%,transparent)}}.border-muted-foreground\/20{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/20{border-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.border-primary,.border-primary\/20{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,var(--primary)20%,transparent)}}.border-primary\/30{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,var(--primary)30%,transparent)}}.border-primary\/40{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/40{border-color:color-mix(in oklab,var(--primary)40%,transparent)}}.border-primary\/50{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,var(--primary)50%,transparent)}}.border-purple-500\/50{border-color:#ac4bff80}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/50{border-color:color-mix(in oklab,var(--color-purple-500)50%,transparent)}}.border-transparent{border-color:#0000}.border-warning\/30{border-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\/30{border-color:color-mix(in oklab,var(--warning)30%,transparent)}}.border-b-border{border-bottom-color:var(--border)}.border-b-popover{border-bottom-color:var(--popover)}.bg-\[\#7c3aed\]\/10{background-color:#7c3aed1a}.bg-\[\#121011\]{background-color:#121011}.bg-accent\/5{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/5{background-color:color-mix(in oklab,var(--accent)5%,transparent)}}.bg-accent\/8{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/8{background-color:color-mix(in oklab,var(--accent)8%,transparent)}}.bg-accent\/10{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/10{background-color:color-mix(in oklab,var(--accent)10%,transparent)}}.bg-accent\/15{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/15{background-color:color-mix(in oklab,var(--accent)15%,transparent)}}.bg-accent\/20{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/20{background-color:color-mix(in oklab,var(--accent)20%,transparent)}}.bg-accent\/40{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/40{background-color:color-mix(in oklab,var(--accent)40%,transparent)}}.bg-accent\/60{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/60{background-color:color-mix(in oklab,var(--accent)60%,transparent)}}.bg-amber-500\/8{background-color:#f99c0014}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/8{background-color:color-mix(in oklab,var(--color-amber-500)8%,transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500)15%,transparent)}}.bg-background,.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-background\/60{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-background\/90{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/90{background-color:color-mix(in oklab,var(--background)90%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-border,.bg-border\/50{background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.bg-border\/50{background-color:color-mix(in oklab,var(--border)50%,transparent)}}.bg-card,.bg-card\/30{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/30{background-color:color-mix(in oklab,var(--card)30%,transparent)}}.bg-card\/50{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/50{background-color:color-mix(in oklab,var(--card)50%,transparent)}}.bg-card\/70{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/70{background-color:color-mix(in oklab,var(--card)70%,transparent)}}.bg-card\/80{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/80{background-color:color-mix(in oklab,var(--card)80%,transparent)}}.bg-card\/95{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/95{background-color:color-mix(in oklab,var(--card)95%,transparent)}}.bg-destructive,.bg-destructive\/5{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,var(--destructive)5%,transparent)}}.bg-destructive\/8{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/8{background-color:color-mix(in oklab,var(--destructive)8%,transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-destructive\/15{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/15{background-color:color-mix(in oklab,var(--destructive)15%,transparent)}}.bg-destructive\/20{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/20{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.bg-destructive\/40{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/40{background-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/60{background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.bg-foreground,.bg-foreground\/10{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/10{background-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.bg-foreground\/15{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/15{background-color:color-mix(in oklab,var(--foreground)15%,transparent)}}.bg-foreground\/25{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/25{background-color:color-mix(in oklab,var(--foreground)25%,transparent)}}.bg-foreground\/50{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/50{background-color:color-mix(in oklab,var(--foreground)50%,transparent)}}.bg-foreground\/60{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/60{background-color:color-mix(in oklab,var(--foreground)60%,transparent)}}.bg-foreground\/80{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/80{background-color:color-mix(in oklab,var(--foreground)80%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-green-500\/15{background-color:#00c75826}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/15{background-color:color-mix(in oklab,var(--color-green-500)15%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground,.bg-muted-foreground\/15{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/15{background-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.bg-muted-foreground\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.bg-muted\/10{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/10{background-color:color-mix(in oklab,var(--muted)10%,transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-muted\/60{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/60{background-color:color-mix(in oklab,var(--muted)60%,transparent)}}.bg-muted\/70{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/70{background-color:color-mix(in oklab,var(--muted)70%,transparent)}}.bg-muted\/80{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/80{background-color:color-mix(in oklab,var(--muted)80%,transparent)}}.bg-muted\/85{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/85{background-color:color-mix(in oklab,var(--muted)85%,transparent)}}.bg-popover,.bg-popover\/50{background-color:var(--popover)}@supports (color:color-mix(in lab,red,red)){.bg-popover\/50{background-color:color-mix(in oklab,var(--popover)50%,transparent)}}.bg-primary,.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}}.bg-primary\/8{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/8{background-color:color-mix(in oklab,var(--primary)8%,transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/15{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,var(--primary)15%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-primary\/40{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/40{background-color:color-mix(in oklab,var(--primary)40%,transparent)}}.bg-primary\/50{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/50{background-color:color-mix(in oklab,var(--primary)50%,transparent)}}.bg-primary\/60{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/60{background-color:color-mix(in oklab,var(--primary)60%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500)15%,transparent)}}.bg-secondary,.bg-secondary\/8{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/8{background-color:color-mix(in oklab,var(--secondary)8%,transparent)}}.bg-secondary\/10{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/10{background-color:color-mix(in oklab,var(--secondary)10%,transparent)}}.bg-secondary\/40{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/40{background-color:color-mix(in oklab,var(--secondary)40%,transparent)}}.bg-secondary\/60{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/60{background-color:color-mix(in oklab,var(--secondary)60%,transparent)}}.bg-success,.bg-success\/15{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/15{background-color:color-mix(in oklab,var(--success)15%,transparent)}}.bg-success\/20{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/20{background-color:color-mix(in oklab,var(--success)20%,transparent)}}.bg-success\/50{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/50{background-color:color-mix(in oklab,var(--success)50%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/15{background-color:color-mix(in oklab,var(--color-violet-500)15%,transparent)}}.bg-warning,.bg-warning\/5{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/5{background-color:color-mix(in oklab,var(--warning)5%,transparent)}}.bg-warning\/10{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--warning)10%,transparent)}}.bg-warning\/20{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/20{background-color:color-mix(in oklab,var(--warning)20%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500)10%,transparent)}}.bg-yellow-500\/15{background-color:#edb20026}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/15{background-color:color-mix(in oklab,var(--color-yellow-500)15%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-primary\/20{--tw-gradient-from:var(--primary)}@supports (color:color-mix(in lab,red,red)){.from-primary\/20{--tw-gradient-from:color-mix(in oklab,var(--primary)20%,transparent)}}.from-primary\/20{--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-primary\/5{--tw-gradient-to:var(--primary)}@supports (color:color-mix(in lab,red,red)){.to-primary\/5{--tw-gradient-to:color-mix(in oklab,var(--primary)5%,transparent)}}.to-primary\/5{--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\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.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-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\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-\[5px\]{padding-block:5px}.py-px{padding-block:1px}.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-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-32{padding-top:calc(var(--spacing)*32)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-7{padding-right:calc(var(--spacing)*7)}.pr-20{padding-right:calc(var(--spacing)*20)}.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-20{padding-bottom:calc(var(--spacing)*20)}.pl-0\.5{padding-left:calc(var(--spacing)*.5)}.pl-1\.5{padding-left:calc(var(--spacing)*1.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-7{padding-left:calc(var(--spacing)*7)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.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-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.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-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#7c3aed\]{color:#7c3aed}.text-accent,.text-accent\/50{color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.text-accent\/50{color:color-mix(in oklab,var(--accent)50%,transparent)}}.text-accent\/80{color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.text-accent\/80{color:color-mix(in oklab,var(--accent)80%,transparent)}}.text-amber-500{color:var(--color-amber-500)}.text-amber-500\/80{color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-500\/80{color:color-mix(in oklab,var(--color-amber-500)80%,transparent)}}.text-amber-600{color:var(--color-amber-600)}.text-background{color:var(--background)}.text-border\/60{color:var(--border)}@supports (color:color-mix(in lab,red,red)){.text-border\/60{color:color-mix(in oklab,var(--border)60%,transparent)}}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-destructive\/60{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/60{color:color-mix(in oklab,var(--destructive)60%,transparent)}}.text-destructive\/70{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/70{color:color-mix(in oklab,var(--destructive)70%,transparent)}}.text-destructive\/80{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.text-destructive\/80{color:color-mix(in oklab,var(--destructive)80%,transparent)}}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--foreground)60%,transparent)}}.text-foreground\/70{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/70{color:color-mix(in oklab,var(--foreground)70%,transparent)}}.text-foreground\/80{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-foreground\/85{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/85{color:color-mix(in oklab,var(--foreground)85%,transparent)}}.text-foreground\/90{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,var(--foreground)90%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-muted-foreground,.text-muted-foreground\/30{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/30{color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.text-muted-foreground\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-primary\/60{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/60{color:color-mix(in oklab,var(--primary)60%,transparent)}}.text-primary\/70{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,var(--primary)70%,transparent)}}.text-primary\/80{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/80{color:color-mix(in oklab,var(--primary)80%,transparent)}}.text-red-600{color:var(--color-red-600)}.text-secondary,.text-secondary\/80{color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.text-secondary\/80{color:color-mix(in oklab,var(--secondary)80%,transparent)}}.text-success{color:var(--success)}.text-success-foreground,.text-success-foreground\/70{color:var(--success-foreground)}@supports (color:color-mix(in lab,red,red)){.text-success-foreground\/70{color:color-mix(in oklab,var(--success-foreground)70%,transparent)}}.text-success\/70{color:var(--success)}@supports (color:color-mix(in lab,red,red)){.text-success\/70{color:color-mix(in oklab,var(--success)70%,transparent)}}.text-violet-400{color:var(--color-violet-400)}.text-warning{color:var(--warning)}.text-warning-foreground{color:var(--warning-foreground)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-destructive\/30{-webkit-text-decoration-color:var(--destructive);text-decoration-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.decoration-destructive\/30{-webkit-text-decoration-color:color-mix(in oklab,var(--destructive)30%,transparent);text-decoration-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-primary{accent-color:var(--primary)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-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-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-accent{--tw-ring-color:var(--accent)}.ring-primary\/30{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/30{--tw-ring-color:color-mix(in oklab,var(--primary)30%,transparent)}}.outline-offset-2{outline-offset:2px}.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-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,)}.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-\[width\,background-color\]{transition-property:width,background-color;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-shadow{transition-property:box-shadow;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-150{--tw-duration:.15s;transition-duration:.15s}.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)}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:w-0\.5:is(:where(.group):hover *){width:calc(var(--spacing)*.5)}.group-hover\:bg-border:is(:where(.group):hover *){background-color:var(--border)}.group-hover\:bg-primary\/50:is(:where(.group):hover *){background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-primary\/50:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--primary)50%,transparent)}}.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}.group-hover\:text-muted-foreground:is(:where(.group):hover *),.group-hover\:text-muted-foreground\/60:is(:where(.group):hover *){color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.group-hover\:text-muted-foreground\/60:is(:where(.group):hover *){color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/approve\:visible:is(:where(.group\/approve):hover *){visibility:visible}.group-hover\/approve\:opacity-100:is(:where(.group\/approve):hover *){opacity:1}}.group-active\:w-0\.5:is(:where(.group):active *){width:calc(var(--spacing)*.5)}.group-active\:bg-primary\/70:is(:where(.group):active *){background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.group-active\:bg-primary\/70:is(:where(.group):active *){background-color:color-mix(in oklab,var(--primary)70%,transparent)}}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/30::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/30::placeholder{color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.placeholder\:text-muted-foreground\/50::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/50::placeholder{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-accent:hover{border-color:var(--accent)}.hover\:border-border\/50:hover{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.hover\:border-border\/50:hover{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.hover\:border-foreground\/30:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:border-foreground\/30:hover{border-color:color-mix(in oklab,var(--foreground)30%,transparent)}}.hover\:border-muted-foreground:hover,.hover\:border-muted-foreground\/30:hover{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:border-muted-foreground\/30:hover{border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.hover\:border-muted-foreground\/40:hover{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:border-muted-foreground\/40:hover{border-color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.hover\:border-primary\/30:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/30:hover{border-color:color-mix(in oklab,var(--primary)30%,transparent)}}.hover\:bg-accent\/10:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/10:hover{background-color:color-mix(in oklab,var(--accent)10%,transparent)}}.hover\:bg-accent\/25:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/25:hover{background-color:color-mix(in oklab,var(--accent)25%,transparent)}}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.hover\:bg-background:hover,.hover\:bg-background\/50:hover{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-background\/50:hover{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.hover\:bg-card:hover{background-color:var(--card)}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-green-500\/10:hover{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-green-500\/10:hover{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/20:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/20:hover{background-color:color-mix(in oklab,var(--muted)20%,transparent)}}.hover\:bg-muted\/30:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/30:hover{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-muted\/60:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/60:hover{background-color:color-mix(in oklab,var(--muted)60%,transparent)}}.hover\:bg-muted\/80:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/80:hover{background-color:color-mix(in oklab,var(--muted)80%,transparent)}}.hover\:bg-primary\/5:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,var(--primary)5%,transparent)}}.hover\:bg-primary\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.hover\:bg-primary\/20:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-success:hover{background-color:var(--success)}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-amber-700:hover{color:var(--color-amber-700)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-green-500:hover{color:var(--color-green-500)}.hover\:text-muted-foreground:hover,.hover\:text-muted-foreground\/60:hover{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:text-muted-foreground\/60:hover{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.hover\:text-primary:hover,.hover\:text-primary\/80:hover{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\:text-success-foreground:hover{color:var(--success-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-sm:hover{--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)}}.focus\:border-primary\/50:focus{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:border-primary\/50:focus{border-color:color-mix(in oklab,var(--primary)50%,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-accent\/50:focus{--tw-ring-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-accent\/50:focus{--tw-ring-color:color-mix(in oklab,var(--accent)50%,transparent)}}.focus\:ring-primary:focus,.focus\:ring-primary\/30:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/30:focus{--tw-ring-color:color-mix(in oklab,var(--primary)30%,transparent)}}.focus\:ring-primary\/50:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/50:focus{--tw-ring-color:color-mix(in oklab,var(--primary)50%,transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.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-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-muted:active{background-color:var(--muted)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media(hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:text-muted-foreground:disabled:hover{color:var(--muted-foreground)}}@media(min-width:40rem){.sm\:block{display:block}}@media(min-width:48rem){.md\:top-4{top:calc(var(--spacing)*4)}.md\:left-5{left:calc(var(--spacing)*5)}.md\:-mt-5{margin-top:calc(var(--spacing)*-5)}.md\:-mr-5{margin-right:calc(var(--spacing)*-5)}.md\:block{display:block}.md\:hidden{display:none}.md\:inline{display:inline}.md\:h-24{height:calc(var(--spacing)*24)}.md\:min-h-\[420px\]{min-height:420px}.md\:w-24{width:calc(var(--spacing)*24)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-2{gap:calc(var(--spacing)*2)}.md\:gap-3{gap:calc(var(--spacing)*3)}.md\:p-2{padding:calc(var(--spacing)*2)}.md\:p-6{padding:calc(var(--spacing)*6)}.md\:p-8{padding:calc(var(--spacing)*8)}.md\:px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.md\:px-4{padding-inline:calc(var(--spacing)*4)}.md\:py-1{padding-block:calc(var(--spacing)*1)}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media(min-width:64rem){.lg\:-mt-7{margin-top:calc(var(--spacing)*-7)}.lg\:-mr-7{margin-right:calc(var(--spacing)*-7)}.lg\:flex{display:flex}.lg\:p-10{padding:calc(var(--spacing)*10)}}@media(min-width:80rem){.xl\:-mt-9{margin-top:calc(var(--spacing)*-9)}.xl\:-mr-9{margin-right:calc(var(--spacing)*-9)}.xl\:p-12{padding:calc(var(--spacing)*12)}}@media(prefers-color-scheme:dark){.dark\:text-amber-400{color:var(--color-amber-400)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-yellow-400{color:var(--color-yellow-400)}@media(hover:hover){.dark\:hover\:text-amber-300:hover{color:var(--color-amber-300)}}}@media(hover:none){.\[\@media\(hover\:none\)\]\:opacity-100{opacity:1}}}.dv-scrollable{position:relative;overflow:hidden}.dv-scrollable .dv-scrollbar{will-change:background-color,transform;backface-visibility:hidden;background-color:#0000;border-radius:2px;transition:background-color 1s ease-in-out;position:absolute;transform:translate(0)}.dv-scrollable .dv-scrollbar-horizontal{height:4px;bottom:0;left:0}.dv-scrollable .dv-scrollbar-vertical{width:4px;top:0;right:0}.dv-scrollable:hover .dv-scrollbar,.dv-scrollable.dv-scrollable-resizing .dv-scrollbar,.dv-scrollable.dv-scrollable-scrolling .dv-scrollbar{background-color:var(--dv-scrollbar-background-color,#ffffff40)}.dv-svg{fill:currentColor;stroke:currentColor;stroke-width:0;line-height:1;display:inline-block}.dockview-theme-dark{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:35px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:transparent;--dv-active-sash-color:transparent;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;--dv-group-view-background-color:#1e1e1e;--dv-tabs-and-actions-container-background-color:#252526;--dv-activegroup-visiblepanel-tab-background-color:#1e1e1e;--dv-activegroup-hiddenpanel-tab-background-color:#2d2d2d;--dv-inactivegroup-visiblepanel-tab-background-color:#1e1e1e;--dv-inactivegroup-hiddenpanel-tab-background-color:#2d2d2d;--dv-tab-divider-color:#1e1e1e;--dv-activegroup-visiblepanel-tab-color:white;--dv-activegroup-hiddenpanel-tab-color:#969696;--dv-inactivegroup-visiblepanel-tab-color:#8f8f8f;--dv-inactivegroup-hiddenpanel-tab-color:#626262;--dv-separator-border:#444;--dv-paneview-header-border-color:#ccc3}.dockview-theme-dark .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-light{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:35px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:transparent;--dv-active-sash-color:transparent;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;--dv-group-view-background-color:white;--dv-tabs-and-actions-container-background-color:#f3f3f3;--dv-activegroup-visiblepanel-tab-background-color:white;--dv-activegroup-hiddenpanel-tab-background-color:#ececec;--dv-inactivegroup-visiblepanel-tab-background-color:white;--dv-inactivegroup-hiddenpanel-tab-background-color:#ececec;--dv-tab-divider-color:white;--dv-activegroup-visiblepanel-tab-color:#333;--dv-activegroup-hiddenpanel-tab-color:#333333b3;--dv-inactivegroup-visiblepanel-tab-color:#333333b3;--dv-inactivegroup-hiddenpanel-tab-color:#33333359;--dv-separator-border:#80808059;--dv-paneview-header-border-color:#333;--dv-scrollbar-background-color:#00000040}.dockview-theme-light .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-vs{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:11px;--dv-tabs-and-actions-container-height:20px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:transparent;--dv-active-sash-color:transparent;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;--dv-group-view-background-color:#1e1e1e;--dv-tabs-and-actions-container-background-color:#2d2d30;--dv-activegroup-visiblepanel-tab-background-color:#007acc;--dv-activegroup-hiddenpanel-tab-background-color:#2d2d2d;--dv-inactivegroup-visiblepanel-tab-background-color:#3f3f46;--dv-inactivegroup-hiddenpanel-tab-background-color:#2d2d2d;--dv-tab-divider-color:#1e1e1e;--dv-activegroup-hiddenpanel-tab-color:white;--dv-inactivegroup-visiblepanel-tab-color:white;--dv-inactivegroup-hiddenpanel-tab-color:white;--dv-separator-border:#444;--dv-paneview-header-border-color:#ccc3;--dv-activegroup-visiblepanel-tab-color:white}.dockview-theme-vs .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container{box-sizing:content-box;border-bottom:2px solid var(--dv-activegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tab.dv-active-tab{border-top:2px solid var(--dv-activegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tab.dv-inactive-tab{border-top:2px solid var(--dv-activegroup-hiddenpanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container{box-sizing:content-box;border-bottom:2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tab.dv-active-tab{border-top:2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tab.dv-inactive-tab{border-top:2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color)}.dockview-theme-abyss{--dv-paneview-active-outline-color:#596f99;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:35px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:transparent;--dv-active-sash-color:transparent;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;--dv-color-abyss-dark:#000c18;--dv-color-abyss:#10192c;--dv-color-abyss-light:#1c1c2a;--dv-color-abyss-lighter:#2b2b4a;--dv-color-abyss-accent:#5b1ecf;--dv-color-abyss-primary-text:white;--dv-color-abyss-secondary-text:#9497a9;--dv-group-view-background-color:var(--dv-color-abyss-dark);--dv-tabs-and-actions-container-background-color:var(--dv-color-abyss-light);--dv-activegroup-visiblepanel-tab-background-color:var(--dv-color-abyss-dark);--dv-activegroup-hiddenpanel-tab-background-color:var(--dv-color-abyss);--dv-inactivegroup-visiblepanel-tab-background-color:var(--dv-color-abyss-dark);--dv-inactivegroup-hiddenpanel-tab-background-color:var(--dv-color-abyss);--dv-tab-divider-color:var(--dv-color-abyss-lighter);--dv-activegroup-visiblepanel-tab-color:white;--dv-activegroup-hiddenpanel-tab-color:#ffffff80;--dv-inactivegroup-visiblepanel-tab-color:#ffffff80;--dv-inactivegroup-hiddenpanel-tab-color:#ffffff40;--dv-separator-border:var(--dv-color-abyss-lighter);--dv-paneview-header-border-color:var(--dv-color-abyss-lighter)}.dockview-theme-abyss .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-dracula{--dv-paneview-active-outline-color:#6272a4;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:35px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:transparent;--dv-active-sash-color:transparent;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;--dv-group-view-background-color:#282a36;--dv-tabs-and-actions-container-background-color:#191a21;--dv-activegroup-visiblepanel-tab-background-color:#282a36;--dv-activegroup-hiddenpanel-tab-background-color:#21222c;--dv-inactivegroup-visiblepanel-tab-background-color:#282a36;--dv-inactivegroup-hiddenpanel-tab-background-color:#21222c;--dv-tab-divider-color:#191a21;--dv-activegroup-visiblepanel-tab-color:#f8f8f2;--dv-activegroup-hiddenpanel-tab-color:#6272a4;--dv-inactivegroup-visiblepanel-tab-color:#f8f8f280;--dv-inactivegroup-hiddenpanel-tab-color:#6272a480;--dv-separator-border:#bd93f9;--dv-paneview-header-border-color:#bd93f9}.dockview-theme-dracula .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-dracula .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-dracula .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{content:"";z-index:999;background-color:#94527e;width:100%;height:1px;position:absolute;top:0;left:0}.dockview-theme-dracula .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-dracula .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{content:"";z-index:999;background-color:#5e3d5a;width:100%;height:1px;position:absolute;bottom:0;left:0}.dockview-theme-replit{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:35px;--dv-drag-over-background-color:#53595d80;--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #53595d80;--dv-overlay-z-index:999;--dv-tab-font-size:inherit;--dv-border-radius:0px;--dv-tab-margin:0;--dv-sash-color:#cfd1d3;--dv-active-sash-color:#babbbb;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;box-sizing:border-box;--dv-group-view-background-color:#ebeced;--dv-tabs-and-actions-container-background-color:#fcfcfc;--dv-activegroup-visiblepanel-tab-background-color:#f0f1f2;--dv-activegroup-hiddenpanel-tab-background-color:#fcfcfc;--dv-inactivegroup-visiblepanel-tab-background-color:#f0f1f2;--dv-inactivegroup-hiddenpanel-tab-background-color:#fcfcfc;--dv-tab-divider-color:transparent;--dv-activegroup-visiblepanel-tab-color:#333;--dv-activegroup-hiddenpanel-tab-color:#333;--dv-inactivegroup-visiblepanel-tab-color:#333;--dv-inactivegroup-hiddenpanel-tab-color:#333;--dv-separator-border:transparent;--dv-paneview-header-border-color:#333;background-color:#ebeced;padding:10px}.dockview-theme-replit .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-replit .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-replit .dv-resize-container{border:none;border-radius:10px!important}.dockview-theme-replit .dv-groupview{border-radius:10px;overflow:hidden}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container{border-bottom:1px solid #80808059}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab{border-radius:8px;margin:4px}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab .dv-svg{width:8px;height:8px}.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab:hover{background-color:#e4e5e6!important}.dockview-theme-replit .dv-groupview .dv-content-container{background-color:#fcfcfc}.dockview-theme-replit .dv-groupview.dv-active-group{border:1px solid #80808059}.dockview-theme-replit .dv-groupview.dv-inactive-group{border:1px solid #0000}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash{background-color:#0000}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):after{content:"";background-color:var(--dv-sash-color);border-radius:2px;width:40px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):hover,.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):active{background-color:#0000}.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):hover:after,.dockview-theme-replit .dv-vertical>.dv-sash-container>.dv-sash:not(.disabled):active:after{background-color:var(--dv-active-sash-color)}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash{background-color:#0000}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):after{content:"";background-color:var(--dv-sash-color);border-radius:2px;width:4px;height:40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):hover,.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):active{background-color:#0000}.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):hover:after,.dockview-theme-replit .dv-horizontal>.dv-sash-container>.dv-sash:not(.disabled):active:after{background-color:var(--dv-active-sash-color)}.dockview-theme-abyss-spaced{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:44px;--dv-drag-over-background-color:"";--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #00000080;--dv-overlay-z-index:999;--dv-tab-font-size:12px;--dv-border-radius:20px;--dv-tab-margin:.5rem .25rem;--dv-sash-color:transparent;--dv-active-sash-color:var(--dv-color-abyss-accent);--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;box-sizing:border-box;--dv-color-abyss-dark:#0b0611;--dv-color-abyss:#16121f;--dv-color-abyss-light:#201d2b;--dv-color-abyss-lighter:#2a2837;--dv-color-abyss-accent:#5b1ecf;--dv-color-abyss-primary-text:white;--dv-color-abyss-secondary-text:#9497a9;--dv-drag-over-border:2px solid var(--dv-color-abyss-accent);--dv-group-view-background-color:var(--dv-color-abyss-dark);--dv-tabs-and-actions-container-background-color:var(--dv-color-abyss);--dv-activegroup-visiblepanel-tab-background-color:var(--dv-color-abyss-lighter);--dv-activegroup-hiddenpanel-tab-background-color:var(--dv-color-abyss-light);--dv-inactivegroup-visiblepanel-tab-background-color:var(--dv-color-abyss-lighter);--dv-inactivegroup-hiddenpanel-tab-background-color:var(--dv-color-abyss-light);--dv-tab-divider-color:transparent;--dv-activegroup-visiblepanel-tab-color:var(--dv-color-abyss-primary-text);--dv-activegroup-hiddenpanel-tab-color:var(--dv-color-abyss-secondary-text);--dv-inactivegroup-visiblepanel-tab-color:var(--dv-color-abyss-primary-text);--dv-inactivegroup-hiddenpanel-tab-color:var(--dv-color-abyss-secondary-text);--dv-separator-border:transparent;--dv-paneview-header-border-color:#333;background-color:var(--dv-color-abyss-dark);padding:10px}.dockview-theme-abyss-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-abyss-spaced .dv-sash{border-radius:4px}.dockview-theme-abyss-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius)/4)}.dockview-theme-abyss-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced .dv-resize-container{border:none;border-radius:var(--dv-border-radius)!important}.dockview-theme-abyss-spaced .dv-tabs-overflow-container,.dockview-theme-abyss-spaced .dv-tabs-overflow-dropdown-default{border-radius:8px;height:unset!important}.dockview-theme-abyss-spaced .dv-tab{border-radius:8px}.dockview-theme-abyss-spaced .dv-tab .dv-svg{width:8px;height:8px}.dockview-theme-abyss-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius)/2)}.dockview-theme-abyss-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color)}.dockview-theme-abyss-spaced .dv-resize-container .dv-groupview{border:2px solid var(--dv-color-abyss-dark)}.dockview-theme-light-spaced{--dv-paneview-active-outline-color:dodgerblue;--dv-tabs-and-actions-container-font-size:13px;--dv-tabs-and-actions-container-height:44px;--dv-drag-over-background-color:"";--dv-drag-over-border-color:transparent;--dv-tabs-container-scrollbar-color:#888;--dv-icon-hover-background-color:#5a5d5e4f;--dv-floating-box-shadow:8px 8px 8px 0px #0000001a;--dv-overlay-z-index:999;--dv-tab-font-size:12px;--dv-border-radius:20px;--dv-tab-margin:.5rem .25rem;--dv-sash-color:transparent;--dv-active-sash-color:#5b1ecf;--dv-active-sash-transition-duration:.1s;--dv-active-sash-transition-delay:.5s;box-sizing:border-box;--dv-drag-over-border:2px solid #5b1ecf;--dv-group-view-background-color:#f6f5f9;--dv-tabs-and-actions-container-background-color:white;--dv-activegroup-visiblepanel-tab-background-color:#ededf0;--dv-activegroup-hiddenpanel-tab-background-color:#f9f9fa;--dv-inactivegroup-visiblepanel-tab-background-color:#ededf0;--dv-inactivegroup-hiddenpanel-tab-background-color:#f9f9fa;--dv-tab-divider-color:transparent;--dv-activegroup-visiblepanel-tab-color:#686b82;--dv-activegroup-hiddenpanel-tab-color:#9497a9;--dv-inactivegroup-visiblepanel-tab-color:#686b82;--dv-inactivegroup-hiddenpanel-tab-color:#9497a9;--dv-separator-border:transparent;--dv-paneview-header-border-color:#333;--dv-scrollbar-background-color:#00000040;background-color:#f6f5f9;padding:10px}.dockview-theme-light-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-light-spaced .dv-sash{border-radius:4px}.dockview-theme-light-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius)/4)}.dockview-theme-light-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-light-spaced .dv-resize-container{border:none;border-radius:var(--dv-border-radius)!important}.dockview-theme-light-spaced .dv-tabs-overflow-container,.dockview-theme-light-spaced .dv-tabs-overflow-dropdown-default{border-radius:8px;height:unset!important}.dockview-theme-light-spaced .dv-tab{border-radius:8px}.dockview-theme-light-spaced .dv-tab .dv-svg{width:8px;height:8px}.dockview-theme-light-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-light-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius)/2)}.dockview-theme-light-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color)}.dockview-theme-light-spaced .dv-resize-container .dv-groupview{border:2px solid #ffffff1a}.dv-drop-target-container{z-index:9999;pointer-events:none;--dv-transition-duration:.3s;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.dv-drop-target-container .dv-drop-target-anchor{border:var(--dv-drag-over-border);background-color:var(--dv-drag-over-background-color);opacity:1;will-change:transform,opacity;backface-visibility:hidden;contain:layout paint;transition:opacity var(--dv-transition-duration)ease-in,top var(--dv-transition-duration)ease-out,left var(--dv-transition-duration)ease-out,width var(--dv-transition-duration)ease-out,height var(--dv-transition-duration)ease-out;position:relative;transform:translate(0)}.dv-drop-target{--dv-transition-duration:70ms;position:relative}.dv-drop-target>.dv-drop-target-dropzone{z-index:1000;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection{box-sizing:border-box;border:var(--dv-drag-over-border);background-color:var(--dv-drag-over-background-color);width:100%;height:100%;transition:top var(--dv-transition-duration)ease-out,left var(--dv-transition-duration)ease-out,width var(--dv-transition-duration)ease-out,height var(--dv-transition-duration)ease-out,opacity var(--dv-transition-duration)ease-out;will-change:transform;pointer-events:none;position:relative}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical{border-top:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical{border-bottom:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal{border-left:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal{border-right:1px solid var(--dv-drag-over-border-color)}.dv-dockview{background-color:var(--dv-group-view-background-color);contain:layout;position:relative}.dv-dockview .dv-watermark-container{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.dv-dockview .dv-overlay-render-container{position:relative}.dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-inactive-tab{background-color:var(--dv-activegroup-hiddenpanel-tab-background-color);color:var(--dv-activegroup-hiddenpanel-tab-color)}.dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{background-color:var(--dv-inactivegroup-visiblepanel-tab-background-color);color:var(--dv-inactivegroup-visiblepanel-tab-color)}.dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-inactive-tab{background-color:var(--dv-inactivegroup-hiddenpanel-tab-background-color);color:var(--dv-inactivegroup-hiddenpanel-tab-color)}.dv-tab.dv-tab-dragging{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-groupview{background-color:var(--dv-group-view-background-color);flex-direction:column;height:100%;display:flex;overflow:hidden}.dv-groupview:focus{outline:none}.dv-groupview>.dv-content-container{outline:none;flex-grow:1;min-height:0}.dv-groupview.dv-groupview-header-bottom{flex-direction:column-reverse}.dv-groupview.dv-groupview-header-left{flex-direction:row}.dv-groupview.dv-groupview-header-right{flex-direction:row-reverse}.dv-root-wrapper,.dv-grid-view,.dv-branch-node{width:100%;height:100%}.dv-debug .dv-resize-container .dv-resize-handle-top{background-color:red}.dv-debug .dv-resize-container .dv-resize-handle-bottom{background-color:green}.dv-debug .dv-resize-container .dv-resize-handle-left{background-color:#ff0}.dv-debug .dv-resize-container .dv-resize-handle-right{background-color:#00f}.dv-debug .dv-resize-container .dv-resize-handle-topleft,.dv-debug .dv-resize-container .dv-resize-handle-topright,.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,.dv-debug .dv-resize-container .dv-resize-handle-bottomright{background-color:#0ff}.dv-resize-container{--dv-overlay-z-index:var(--dv-overlay-z-index,999);z-index:calc(var(--dv-overlay-z-index) - 2);border:1px solid var(--dv-tab-divider-color);box-shadow:var(--dv-floating-box-shadow);will-change:transform,opacity;backface-visibility:hidden;position:absolute;transform:translate(0)}.dv-resize-container.dv-hidden{display:none}.dv-resize-container.dv-resize-container-dragging{opacity:.5;will-change:transform,opacity}.dv-resize-container .dv-resize-handle-top{width:calc(100% - 8px);height:4px;z-index:var(--dv-overlay-z-index);cursor:ns-resize;position:absolute;top:-2px;left:4px}.dv-resize-container .dv-resize-handle-bottom{width:calc(100% - 8px);height:4px;z-index:var(--dv-overlay-z-index);cursor:ns-resize;position:absolute;bottom:-2px;left:4px}.dv-resize-container .dv-resize-handle-left{width:4px;height:calc(100% - 8px);z-index:var(--dv-overlay-z-index);cursor:ew-resize;position:absolute;top:4px;left:-2px}.dv-resize-container .dv-resize-handle-right{width:4px;height:calc(100% - 8px);z-index:var(--dv-overlay-z-index);cursor:ew-resize;position:absolute;top:4px;right:-2px}.dv-resize-container .dv-resize-handle-topleft{width:4px;height:4px;z-index:var(--dv-overlay-z-index);cursor:nw-resize;position:absolute;top:-2px;left:-2px}.dv-resize-container .dv-resize-handle-topright{width:4px;height:4px;z-index:var(--dv-overlay-z-index);cursor:ne-resize;position:absolute;top:-2px;right:-2px}.dv-resize-container .dv-resize-handle-bottomleft{width:4px;height:4px;z-index:var(--dv-overlay-z-index);cursor:sw-resize;position:absolute;bottom:-2px;left:-2px}.dv-resize-container .dv-resize-handle-bottomright{width:4px;height:4px;z-index:var(--dv-overlay-z-index);cursor:se-resize;position:absolute;bottom:-2px;right:-2px}.dv-render-overlay{--dv-overlay-z-index:var(--dv-overlay-z-index,999);z-index:1;contain:layout paint;isolation:isolate;will-change:transform;backface-visibility:hidden;width:100%;height:100%;position:absolute;transform:translate(0)}.dv-render-overlay.dv-render-overlay-float{z-index:calc(var(--dv-overlay-z-index) - 1)}.dv-debug .dv-render-overlay{outline-offset:-1;outline:1px solid red}.dv-pane-container{width:100%;height:100%}.dv-pane-container.dv-animated .dv-view{will-change:transform;backface-visibility:hidden;transition:transform .15s ease-out;transform:translate(0)}.dv-pane-container .dv-view{flex-direction:column;display:flex;overflow:hidden;padding:0!important}.dv-pane-container .dv-view:not(:first-child):before{background-color:#0000!important}.dv-pane-container .dv-view:not(:first-child) .dv-pane>.dv-pane-header{border-top:1px solid var(--dv-paneview-header-border-color)}.dv-pane-container .dv-view .dv-default-header{background-color:var(--dv-group-view-background-color);color:var(--dv-activegroup-visiblepanel-tab-color);cursor:pointer;padding:0 8px;display:flex}.dv-pane-container .dv-view .dv-default-header .dv-pane-header-icon{justify-content:center;align-items:center;display:flex}.dv-pane-container .dv-view .dv-default-header>span{flex-grow:1;padding-left:8px}.dv-pane-container:first-of-type>.dv-pane>.dv-pane-header{border-top:none!important}.dv-pane-container .dv-pane{flex-direction:column;height:100%;display:flex;overflow:hidden}.dv-pane-container .dv-pane .dv-pane-header{box-sizing:border-box;-webkit-user-select:none;user-select:none;outline:none;position:relative}.dv-pane-container .dv-pane .dv-pane-header.dv-pane-draggable{cursor:pointer}.dv-pane-container .dv-pane .dv-pane-header:focus:before,.dv-pane-container .dv-pane .dv-pane-header:focus-within:before{z-index:5;content:"";pointer-events:none;outline-offset:-1px;outline:-1px solid;outline-color:var(--dv-paneview-active-outline-color);width:100%;height:100%;position:absolute;top:0;left:0}.dv-pane-container .dv-pane .dv-pane-body{outline:none;flex-grow:1;position:relative;overflow:hidden auto}.dv-pane-container .dv-pane .dv-pane-body:focus:before,.dv-pane-container .dv-pane .dv-pane-body:focus-within:before{z-index:5;content:"";pointer-events:none;outline-offset:-1px;outline:-1px solid;outline-color:var(--dv-paneview-active-outline-color);width:100%;height:100%;position:absolute;top:0;left:0}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-enabled{background-color:#000}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-disabled{background-color:orange}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-maximum{background-color:green}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-minimum{background-color:red}.dv-split-view-container{width:100%;height:100%;position:relative;overflow:hidden}.dv-split-view-container.dv-splitview-disabled>.dv-sash-container>.dv-sash{pointer-events:none}.dv-split-view-container.dv-animation .dv-view,.dv-split-view-container.dv-animation .dv-sash{will-change:transform;backface-visibility:hidden;transition:transform .15s ease-out;transform:translate(0)}.dv-split-view-container.dv-horizontal{height:100%}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash{width:4px;height:100%}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-enabled{cursor:ew-resize}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-disabled{cursor:default}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-maximum{cursor:w-resize}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-minimum{cursor:e-resize}.dv-split-view-container.dv-horizontal>.dv-view-container>.dv-view:not(:first-child):before{width:1px;height:100%}.dv-split-view-container.dv-vertical{width:100%}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash{width:100%;height:4px}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-enabled{cursor:ns-resize}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-disabled{cursor:default}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-maximum{cursor:n-resize}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-minimum{cursor:s-resize}.dv-split-view-container.dv-vertical>.dv-view-container>.dv-view{width:100%}.dv-split-view-container.dv-vertical>.dv-view-container>.dv-view:not(:first-child):before{width:100%;height:1px}.dv-split-view-container .dv-sash-container{width:100%;height:100%;position:absolute}.dv-split-view-container .dv-sash-container .dv-sash{z-index:99;-webkit-user-select:none;user-select:none;touch-action:none;background-color:var(--dv-sash-color,transparent);outline:none;position:absolute}.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):active,.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):hover{background-color:var(--dv-active-sash-color,transparent);transition-property:background-color;transition-timing-function:ease-in-out;transition-duration:var(--dv-active-sash-transition-duration,.1s);transition-delay:var(--dv-active-sash-transition-delay,.5s)}.dv-split-view-container .dv-view-container{width:100%;height:100%;position:relative}.dv-split-view-container .dv-view-container .dv-view{box-sizing:border-box;height:100%;position:absolute;overflow:auto}.dv-split-view-container.dv-separator-border .dv-view:not(:first-child):before{content:" ";z-index:5;pointer-events:none;background-color:var(--dv-separator-border);position:absolute;top:0;left:0}.dv-dragged{transform:translate(0)}.dv-tab{flex-shrink:0}.dv-tab:focus-within,.dv-tab:focus{position:relative}.dv-tab:focus-within:after,.dv-tab:focus:after{content:"";pointer-events:none;outline-offset:-1px;z-index:5;width:100%;height:100%;position:absolute;top:0;left:0;outline:1px solid var(--dv-tab-divider-color)!important}.dv-tab.dv-tab-dragging .dv-default-tab-action{background-color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-tab.dv-active-tab .dv-default-tab .dv-default-tab-action{visibility:visible}.dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action{visibility:hidden}.dv-tab.dv-inactive-tab .dv-default-tab:hover .dv-default-tab-action{visibility:visible}.dv-tab .dv-default-tab{white-space:nowrap;text-overflow:ellipsis;align-items:center;width:100%;height:100%;display:flex;position:relative}.dv-tab .dv-default-tab .dv-default-tab-content{flex-grow:1;margin-right:4px}.dv-tab .dv-default-tab .dv-default-tab-action{box-sizing:border-box;justify-content:center;align-items:center;padding:4px;display:flex}.dv-tab .dv-default-tab .dv-default-tab-action:hover{background-color:var(--dv-icon-hover-background-color);border-radius:2px}.dv-tabs-overflow-dropdown-default{height:100%;color:var(--dv-activegroup-hiddenpanel-tab-color);margin:var(--dv-tab-margin);cursor:pointer;flex-shrink:0;align-items:center;padding:.25rem .5rem;display:flex}.dv-tabs-overflow-dropdown-default>span{padding-left:.25rem}.dv-tabs-overflow-dropdown-default>svg{transform:rotate(90deg)}.dv-tabs-overflow-dropdown-default:hover{background-color:var(--dv-icon-hover-background-color);border-radius:2px}.dv-tabs-container{scrollbar-width:thin;will-change:scroll-position;height:100%;display:flex;overflow:auto;transform:translate(0)}.dv-tabs-container.dv-tabs-container-vertical{writing-mode:vertical-rl;width:100%;height:fit-content;max-height:100%}.dv-tabs-container.dv-horizontal .dv-tab:not(:first-child):before,.dv-tabs-container.dv-vertical .dv-tab:not(:first-child):before{content:" ";z-index:5;pointer-events:none;background-color:var(--dv-tab-divider-color);position:absolute;top:0;left:0}.dv-tabs-container.dv-horizontal .dv-tab:not(:first-child):before{width:1px;height:100%}.dv-tabs-container.dv-vertical .dv-tab:not(:first-child):before{width:100%;height:1px}.dv-tabs-container::-webkit-scrollbar{height:3px}.dv-tabs-container::-webkit-scrollbar-track{background:0 0}.dv-tabs-container::-webkit-scrollbar-thumb{background:var(--dv-tabs-container-scrollbar-color)}.dv-scrollable>.dv-tabs-container{overflow:hidden}.dv-tab{-webkit-user-drag:element;cursor:pointer;box-sizing:border-box;font-size:var(--dv-tab-font-size);margin:var(--dv-tab-margin);outline:none;padding:.25rem .5rem;position:relative}.dv-tab.dv-tab--shifting{will-change:margin-left;transition:transform var(--dv-transition-duration,.2s)ease-out,margin-left var(--dv-transition-duration,.2s)ease-out}.dv-tab.dv-tab--dragging{opacity:0;pointer-events:none;transition:width var(--dv-transition-duration,.2s)ease-out,padding var(--dv-transition-duration,.2s)ease-out,margin var(--dv-transition-duration,.2s)ease-out,opacity var(--dv-transition-duration,.2s)ease-out;overflow:hidden;width:0!important;min-width:0!important;margin:0!important;padding:0!important}@media(prefers-reduced-motion:reduce){.dv-tab{transition:none!important}}.dv-tabs-container-vertical .dv-tab{padding:.5rem .25rem}.dv-tabs-overflow-container{height:unset;font-size:var(--dv-tabs-and-actions-container-font-size);border:1px solid var(--dv-tab-divider-color);background-color:var(--dv-group-view-background-color);scrollbar-width:thin;flex-direction:column;max-height:min(50vh,400px);overflow-y:auto}.dv-tabs-overflow-container::-webkit-scrollbar{width:6px}.dv-tabs-overflow-container::-webkit-scrollbar-track{background:0 0}.dv-tabs-overflow-container::-webkit-scrollbar-thumb{background:var(--dv-tabs-container-scrollbar-color);border-radius:3px}.dv-tabs-overflow-container .dv-tab:not(:last-child){border-bottom:1px solid var(--dv-tab-divider-color)}.dv-tabs-overflow-container .dv-active-tab{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-tabs-overflow-container .dv-inactive-tab{background-color:var(--dv-activegroup-hiddenpanel-tab-background-color);color:var(--dv-activegroup-hiddenpanel-tab-color)}.dv-tabs-and-actions-container{background-color:var(--dv-tabs-and-actions-container-background-color);box-sizing:border-box;height:var(--dv-tabs-and-actions-container-height);font-size:var(--dv-tabs-and-actions-container-font-size);flex-shrink:0;display:flex}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-scrollable,.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container{flex-grow:1}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab{flex-grow:1;padding:0}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-void-container{flex-grow:0}.dv-tabs-and-actions-container .dv-void-container{flex-grow:1;display:flex}.dv-tabs-and-actions-container .dv-void-container.dv-draggable{cursor:grab}.dv-tabs-and-actions-container .dv-right-actions-container{display:flex}.dv-tabs-and-actions-container .dv-right-actions-container.dv-right-actions-container-vertical{flex-direction:column}.dv-tabs-and-actions-container.dv-groupview-header-vertical{height:auto;width:var(--dv-tabs-and-actions-container-height);flex-direction:column}.dv-watermark{height:100%;display:flex}.theme-plannotator{--background:oklch(15% .02 260);--foreground:oklch(90% .01 260);--card:oklch(22% .02 260);--card-foreground:oklch(90% .01 260);--popover:oklch(28% .025 260);--popover-foreground:oklch(90% .01 260);--primary:oklch(75% .18 280);--primary-foreground:oklch(15% .02 260);--secondary:oklch(65% .15 180);--secondary-foreground:oklch(15% .02 260);--muted:oklch(26% .02 260);--muted-foreground:oklch(72% .02 260);--accent:oklch(70% .2 60);--accent-foreground:oklch(15% .02 260);--destructive:oklch(65% .2 25);--destructive-foreground:oklch(98% 0 0);--border:oklch(35% .02 260);--input:oklch(26% .02 260);--ring:oklch(75% .18 280);--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--font-sans:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--radius:.75rem;--code-bg:oklch(26% .02 260);--focus-highlight:oklch(70% .2 200)}.theme-plannotator.light{--background:oklch(97% .005 260);--foreground:oklch(18% .02 260);--card:oklch(100% 0 0);--card-foreground:oklch(18% .02 260);--popover:oklch(100% 0 0);--popover-foreground:oklch(18% .02 260);--primary:oklch(50% .25 280);--primary-foreground:oklch(100% 0 0);--secondary:oklch(50% .18 180);--secondary-foreground:oklch(100% 0 0);--muted:oklch(92% .01 260);--muted-foreground:oklch(40% .02 260);--accent:oklch(60% .22 50);--accent-foreground:oklch(18% .02 260);--destructive:oklch(50% .25 25);--destructive-foreground:oklch(100% 0 0);--border:oklch(88% .01 260);--input:oklch(92% .01 260);--ring:oklch(50% .25 280);--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(92% .01 260)}.theme-claude-plus{--background:oklch(26.79% .0036 106.643);--foreground:oklch(95.76% .0027 106.449);--card:oklch(32% .004 106.6);--card-foreground:oklch(95.76% .0027 106.449);--popover:oklch(32% .004 106.6);--popover-foreground:oklch(95.76% .0027 106.449);--primary:oklch(67.24% .1308 38.7559);--primary-foreground:oklch(19.08% .002 106.586);--secondary:oklch(98.18% .0054 95.0986);--secondary-foreground:oklch(30.85% .0035 106.604);--muted:oklch(35% .004 106.6);--muted-foreground:oklch(70% .003 106.5);--accent:oklch(67.24% .1308 38.7559);--accent-foreground:oklch(19.08% .002 106.586);--destructive:oklch(63.68% .2078 25.3313);--destructive-foreground:oklch(100% 0 0);--border:oklch(40% .004 106.6);--input:oklch(35% .004 106.6);--ring:oklch(67.24% .1308 38.7559);--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--font-sans:"Outfit",sans-serif;--font-mono:"Geist Mono",ui-monospace,monospace;--radius:1rem;--code-bg:oklch(22% .003 106.6);--focus-highlight:oklch(70% .2 200)}.theme-claude-plus.light{--background:oklch(98.18% .0054 95.0986);--foreground:oklch(34.38% .0269 95.7226);--card:oklch(100% 0 0);--card-foreground:oklch(34.38% .0269 95.7226);--popover:oklch(100% 0 0);--popover-foreground:oklch(34.38% .0269 95.7226);--primary:oklch(61.71% .1375 39.0427);--primary-foreground:oklch(100% 0 0);--secondary:oklch(92.45% .0138 92.9892);--secondary-foreground:oklch(43.34% .0177 98.6048);--muted:oklch(94% .01 95);--muted-foreground:oklch(50% .02 95);--accent:oklch(61.71% .1375 39.0427);--accent-foreground:oklch(100% 0 0);--destructive:oklch(19.08% .002 106.586);--destructive-foreground:oklch(100% 0 0);--border:oklch(88% .01 95);--input:oklch(94% .01 95);--ring:oklch(61.71% .1375 39.0427);--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 95)}.theme-soft-pop{--background:oklch(0% 0 0);--foreground:oklch(100% 0 0);--card:oklch(15% 0 0);--card-foreground:oklch(100% 0 0);--popover:oklch(15% 0 0);--popover-foreground:oklch(100% 0 0);--primary:oklch(68.01% .1583 276.935);--primary-foreground:oklch(100% 0 0);--secondary:oklch(78.45% .1325 181.912);--secondary-foreground:oklch(0% 0 0);--muted:oklch(32.11% 0 0);--muted-foreground:oklch(70% 0 0);--accent:oklch(87.9% .1534 91.6054);--accent-foreground:oklch(0% 0 0);--destructive:oklch(71.06% .1661 22.2162);--destructive-foreground:oklch(100% 0 0);--border:oklch(44.59% 0 0);--input:oklch(32.11% 0 0);--ring:oklch(68.01% .1583 276.935);--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--font-sans:"DM Sans",sans-serif;--font-mono:"Space Mono",monospace;--radius:1rem;--code-bg:oklch(8% 0 0);--focus-highlight:oklch(70% .2 200)}.theme-soft-pop.light{--background:oklch(97.89% .0082 121.627);--foreground:oklch(0% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(0% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(0% 0 0);--primary:oklch(51.06% .2301 276.966);--primary-foreground:oklch(100% 0 0);--secondary:oklch(70.38% .123 182.503);--secondary-foreground:oklch(0% 0 0);--muted:oklch(95.51% 0 0);--muted-foreground:oklch(40% 0 0);--accent:oklch(76.86% .1647 70.0804);--accent-foreground:oklch(0% 0 0);--destructive:oklch(63.68% .2078 25.3313);--destructive-foreground:oklch(100% 0 0);--border:oklch(0% 0 0);--input:oklch(95.51% 0 0);--ring:oklch(78.53% .1041 274.713);--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 120)}.theme-adwaita{--background:#1d1d1d;--foreground:#ccc;--card:#303030;--card-foreground:#ccc;--popover:#303030;--popover-foreground:#ccc;--primary:#3584e4;--primary-foreground:#fff;--secondary:#3a3a3a;--secondary-foreground:#ccc;--muted:#2a2a2a;--muted-foreground:#888;--accent:#26a269;--accent-foreground:#fff;--destructive:#c01c28;--destructive-foreground:#fff;--border:#454545;--input:#3a3a3a;--ring:#3584e4;--success:#26a269;--success-foreground:#fff;--warning:#e5a50a;--warning-foreground:#1d1d1d;--font-sans:"Inter",system-ui,sans-serif;--font-mono:"Source Code Pro",ui-monospace,monospace;--radius:.75rem;--code-bg:#2a2a2a;--focus-highlight:#3584e4}.theme-adwaita.light{--background:#fafafa;--foreground:#323232;--card:#fff;--card-foreground:#323232;--popover:#fff;--popover-foreground:#323232;--primary:#3584e4;--primary-foreground:#fff;--secondary:#e6e6e6;--secondary-foreground:#323232;--muted:#ebebeb;--muted-foreground:#6e6e6e;--accent:#26a269;--accent-foreground:#fff;--destructive:#c01c28;--destructive-foreground:#fff;--border:#cfcfcf;--input:#e6e6e6;--ring:#3584e4;--success:#26a269;--success-foreground:#fff;--warning:#e5a50a;--warning-foreground:#323232;--code-bg:#ebebeb;--focus-highlight:#3584e4}.theme-caffeine{--background:#111;--foreground:#eee;--card:#191919;--card-foreground:#eee;--popover:#191919;--popover-foreground:#eee;--primary:#ffe0c2;--primary-foreground:#081a1b;--secondary:#393028;--secondary-foreground:#ffe0c2;--muted:#222;--muted-foreground:#b4b4b4;--accent:#c19a6b;--accent-foreground:#eee;--destructive:#e54d2e;--destructive-foreground:#fff;--border:#201e18;--input:#484848;--ring:#ffe0c2;--chart-1:#ffe0c2;--chart-2:#393028;--chart-3:#2a2a2a;--chart-4:#42382e;--chart-5:#ffe0c1;--sidebar:#18181b;--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#d4d4d8;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius:.5rem;--shadow-2xs:0 1px 3px 0px #0000000d;--shadow-xs:0 1px 3px 0px #0000000d;--shadow-sm:0 1px 3px 0px #0000001a,0 1px 2px -1px #0000001a;--shadow:0 1px 3px 0px #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 1px 3px 0px #0000001a,0 2px 4px -1px #0000001a;--shadow-lg:0 1px 3px 0px #0000001a,0 4px 6px -1px #0000001a;--shadow-xl:0 1px 3px 0px #0000001a,0 8px 10px -1px #0000001a;--shadow-2xl:0 1px 3px 0px #00000040;--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--code-bg:oklch(13% .015 260);--focus-highlight:oklch(70% .2 200)}.theme-caffeine.light{--background:#f9f9f9;--foreground:#202020;--card:#fcfcfc;--card-foreground:#202020;--popover:#fcfcfc;--popover-foreground:#202020;--primary:#644a40;--primary-foreground:#fff;--secondary:#ffdfb5;--secondary-foreground:#582d1d;--muted:#efefef;--muted-foreground:#646464;--accent:#8b5a2b;--accent-foreground:#fff;--destructive:#e54d2e;--destructive-foreground:#fff;--border:#d8d8d8;--input:#d8d8d8;--ring:#644a40;--chart-1:#644a40;--chart-2:#ffdfb5;--chart-3:#e8e8e8;--chart-4:#ffe6c4;--chart-5:#66493e;--sidebar:#fbfbfb;--sidebar-foreground:#252525;--sidebar-primary:#343434;--sidebar-primary-foreground:#fbfbfb;--sidebar-accent:#f7f7f7;--sidebar-accent-foreground:#343434;--sidebar-border:#ebebeb;--sidebar-ring:#b5b5b5;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius:.5rem;--shadow-2xs:0 1px 3px 0px #0000000d;--shadow-xs:0 1px 3px 0px #0000000d;--shadow-sm:0 1px 3px 0px #0000001a,0 1px 2px -1px #0000001a;--shadow:0 1px 3px 0px #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 1px 3px 0px #0000001a,0 2px 4px -1px #0000001a;--shadow-lg:0 1px 3px 0px #0000001a,0 4px 6px -1px #0000001a;--shadow-xl:0 1px 3px 0px #0000001a,0 8px 10px -1px #0000001a;--shadow-2xl:0 1px 3px 0px #00000040;--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 260);--focus-highlight:oklch(70% .2 200)}.theme-synthwave-84,.theme-synthwave-84.light{--background:#262335;--foreground:#fff;--card:#2a2139;--card-foreground:#fff;--popover:#2a2139;--popover-foreground:#fff;--primary:#ff7edb;--primary-foreground:#262335;--secondary:#34294f;--secondary-foreground:#fff;--muted:#37294d;--muted-foreground:#fff9;--accent:#72f1b8;--accent-foreground:#262335;--destructive:#fe4450;--destructive-foreground:#fff;--border:#495495;--input:#2a2139;--ring:#ff7edb;--success:#72f1b8;--success-foreground:#262335;--warning:#fede5d;--warning-foreground:#262335;--font-sans:"Inter",system-ui,sans-serif;--font-mono:"Fira Code",ui-monospace,monospace;--radius:.5rem;--code-bg:#241b2f;--focus-highlight:#36f9f6}.theme-catppuccin{--background:#1e1e2e;--foreground:#cdd6f4;--card:#313244;--card-foreground:#cdd6f4;--popover:#313244;--popover-foreground:#cdd6f4;--primary:#89b4fa;--primary-foreground:#1e1e2e;--secondary:#45475a;--secondary-foreground:#cdd6f4;--muted:#45475a;--muted-foreground:#a6adc8;--accent:#f5c2e7;--accent-foreground:#1e1e2e;--destructive:#f38ba8;--destructive-foreground:#1e1e2e;--border:#585b70;--input:#313244;--ring:#89b4fa;--success:#a6e3a1;--success-foreground:#1e1e2e;--warning:#f9e2af;--warning-foreground:#1e1e2e;--font-sans:system-ui,sans-serif;--font-mono:"Fira Code",ui-monospace,monospace;--radius:.5rem;--code-bg:#181825;--focus-highlight:#94e2d5}.theme-catppuccin.light{--background:#eff1f5;--foreground:#4c4f69;--card:#e6e9ef;--card-foreground:#4c4f69;--popover:#e6e9ef;--popover-foreground:#4c4f69;--primary:#1e66f5;--primary-foreground:#eff1f5;--secondary:#ccd0da;--secondary-foreground:#4c4f69;--muted:#ccd0da;--muted-foreground:#6c6f85;--accent:#ea76cb;--accent-foreground:#eff1f5;--destructive:#d20f39;--destructive-foreground:#eff1f5;--border:#acb0be;--input:#ccd0da;--ring:#1e66f5;--success:#40a02b;--success-foreground:#eff1f5;--warning:#df8e1d;--warning-foreground:#eff1f5;--code-bg:#e6e9ef;--focus-highlight:#179299}.theme-rose-pine{--background:#191724;--foreground:#e0def4;--card:#26233a;--card-foreground:#e0def4;--popover:#26233a;--popover-foreground:#e0def4;--primary:#c4a7e7;--primary-foreground:#191724;--secondary:#403d52;--secondary-foreground:#e0def4;--muted:#26233a;--muted-foreground:#6e6a86;--accent:#f6c177;--accent-foreground:#191724;--destructive:#eb6f92;--destructive-foreground:#191724;--border:#403d52;--input:#26233a;--ring:#c4a7e7;--success:#31748f;--success-foreground:#e0def4;--warning:#f6c177;--warning-foreground:#191724;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,monospace;--radius:.5rem;--code-bg:#1f1d2e;--focus-highlight:#9ccfd8}.theme-rose-pine.light{--background:#faf4ed;--foreground:#575279;--card:#fffaf3;--card-foreground:#575279;--popover:#fffaf3;--popover-foreground:#575279;--primary:#907aa9;--primary-foreground:#faf4ed;--secondary:#dfdad9;--secondary-foreground:#575279;--muted:#f2e9e1;--muted-foreground:#9893a5;--accent:#ea9d34;--accent-foreground:#faf4ed;--destructive:#b4637a;--destructive-foreground:#faf4ed;--border:#dfdad9;--input:#f2e9e1;--ring:#907aa9;--success:#286983;--success-foreground:#faf4ed;--warning:#ea9d34;--warning-foreground:#faf4ed;--code-bg:#f2e9e1;--focus-highlight:#56949f}.theme-monokai-pro,.theme-monokai-pro.light{--background:#2d2a2e;--foreground:#fcfcfa;--card:#403e41;--card-foreground:#fcfcfa;--popover:#403e41;--popover-foreground:#fcfcfa;--primary:#ffd866;--primary-foreground:#2d2a2e;--secondary:#5b595c;--secondary-foreground:#fcfcfa;--muted:#403e41;--muted-foreground:#727072;--accent:#78dce8;--accent-foreground:#2d2a2e;--destructive:#ff6188;--destructive-foreground:#2d2a2e;--border:#5b595c;--input:#403e41;--ring:#ffd866;--success:#a9dc76;--success-foreground:#2d2a2e;--warning:#fc9867;--warning-foreground:#2d2a2e;--font-sans:system-ui,sans-serif;--font-mono:"Fira Code",ui-monospace,monospace;--radius:.5rem;--code-bg:#221f22;--focus-highlight:#78dce8}.theme-doom-64{--background:#1a1a1a;--foreground:#e0e0e0;--card:#2a2a2a;--card-foreground:#e0e0e0;--popover:#2a2a2a;--popover-foreground:#e0e0e0;--primary:#e53935;--primary-foreground:#fff;--secondary:#689f38;--secondary-foreground:#000;--muted:#252525;--muted-foreground:#a0a0a0;--accent:#64b5f6;--accent-foreground:#000;--destructive:#ffa000;--destructive-foreground:#000;--border:#4a4a4a;--input:#4a4a4a;--ring:#e53935;--chart-1:#e53935;--chart-2:#689f38;--chart-3:#64b5f6;--chart-4:#ffa000;--chart-5:#a1887f;--sidebar:#141414;--sidebar-foreground:#e0e0e0;--sidebar-primary:#e53935;--sidebar-primary-foreground:#fff;--sidebar-accent:#64b5f6;--sidebar-accent-foreground:#000;--sidebar-border:#4a4a4a;--sidebar-ring:#e53935;--font-sans:"Oxanium",sans-serif;--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:"Source Code Pro",monospace;--radius:0px;--shadow-2xs:0px 2px 5px 0px #0000004d;--shadow-xs:0px 2px 5px 0px #0000004d;--shadow-sm:0px 2px 5px 0px #0009,0px 1px 2px -1px #0009;--shadow:0px 2px 5px 0px #0009,0px 1px 2px -1px #0009;--shadow-md:0px 2px 5px 0px #0009,0px 2px 4px -1px #0009;--shadow-lg:0px 2px 5px 0px #0009,0px 4px 6px -1px #0009;--shadow-xl:0px 2px 5px 0px #0009,0px 8px 10px -1px #0009;--shadow-2xl:0px 2px 5px 0px #000;--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--code-bg:oklch(13% .015 260);--focus-highlight:oklch(70% .2 200)}.theme-doom-64.light{--background:#ccc;--foreground:#1f1f1f;--card:#b0b0b0;--card-foreground:#1f1f1f;--popover:#b0b0b0;--popover-foreground:#1f1f1f;--primary:#b71c1c;--primary-foreground:#fff;--secondary:#556b2f;--secondary-foreground:#fff;--muted:#b8b8b8;--muted-foreground:#4a4a4a;--accent:#4682b4;--accent-foreground:#fff;--destructive:#ff6f00;--destructive-foreground:#000;--border:#505050;--input:#505050;--ring:#b71c1c;--chart-1:#b71c1c;--chart-2:#556b2f;--chart-3:#4682b4;--chart-4:#ff6f00;--chart-5:#8d6e63;--sidebar:#b0b0b0;--sidebar-foreground:#1f1f1f;--sidebar-primary:#b71c1c;--sidebar-primary-foreground:#fff;--sidebar-accent:#4682b4;--sidebar-accent-foreground:#fff;--sidebar-border:#505050;--sidebar-ring:#b71c1c;--font-sans:"Oxanium",sans-serif;--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:"Source Code Pro",monospace;--radius:0px;--shadow-2xs:0px 2px 4px 0px #0003;--shadow-xs:0px 2px 4px 0px #0003;--shadow-sm:0px 2px 4px 0px #0006,0px 1px 2px -1px #0006;--shadow:0px 2px 4px 0px #0006,0px 1px 2px -1px #0006;--shadow-md:0px 2px 4px 0px #0006,0px 2px 4px -1px #0006;--shadow-lg:0px 2px 4px 0px #0006,0px 4px 6px -1px #0006;--shadow-xl:0px 2px 4px 0px #0006,0px 8px 10px -1px #0006;--shadow-2xl:0px 2px 4px 0px #000;--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 260);--focus-highlight:oklch(70% .2 200)}.theme-dracula,.theme-dracula.light{--background:#282a36;--foreground:#f8f8f2;--card:#44475a;--card-foreground:#f8f8f2;--popover:#44475a;--popover-foreground:#f8f8f2;--primary:#bd93f9;--primary-foreground:#282a36;--secondary:#44475a;--secondary-foreground:#f8f8f2;--muted:#373949;--muted-foreground:#bcbece;--accent:#8be9fd;--accent-foreground:#282a36;--destructive:#f55;--destructive-foreground:#f8f8f2;--border:#44475a;--input:#44475a;--ring:#bd93f9;--success:#50fa7b;--success-foreground:#282a36;--warning:#f1fa8c;--warning-foreground:#282a36;--font-sans:ui-sans-serif,system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,"Liberation Mono",Menlo,monospace;--radius:.5rem;--code-bg:#21222c;--focus-highlight:#8be9fd}.theme-gruvbox{--background:#282828;--foreground:#ebdbb2;--card:#3c3836;--card-foreground:#ebdbb2;--popover:#3c3836;--popover-foreground:#ebdbb2;--primary:#458588;--primary-foreground:#ebdbb2;--secondary:#504945;--secondary-foreground:#ebdbb2;--muted:#504945;--muted-foreground:#a89984;--accent:#b8bb26;--accent-foreground:#282828;--destructive:#fb4934;--destructive-foreground:#282828;--border:#504945;--input:#3c3836;--ring:#458588;--success:#8ec07c;--success-foreground:#282828;--warning:#fabd2f;--warning-foreground:#282828;--font-sans:system-ui,sans-serif;--font-mono:"Fira Code",ui-monospace,monospace;--radius:.5rem;--code-bg:#32302f;--focus-highlight:#83a598}.theme-gruvbox.light{--background:#fbf1c7;--foreground:#3c3836;--card:#f2e5bc;--card-foreground:#3c3836;--popover:#f2e5bc;--popover-foreground:#3c3836;--primary:#076678;--primary-foreground:#fbf1c7;--secondary:#d5c4a1;--secondary-foreground:#3c3836;--muted:#ebdbb2;--muted-foreground:#665c54;--accent:#79740e;--accent-foreground:#fbf1c7;--destructive:#9d0006;--destructive-foreground:#fbf1c7;--border:#d5c4a1;--input:#ebdbb2;--ring:#076678;--success:#689d6a;--success-foreground:#fbf1c7;--warning:#b57614;--warning-foreground:#fbf1c7;--code-bg:#ebdbb2;--focus-highlight:#076678}.theme-paulmillr,.theme-paulmillr.light{--background:#000;--foreground:#f2f2f2;--card:#2a2a2a;--card-foreground:#f2f2f2;--popover:#2a2a2a;--popover-foreground:#f2f2f2;--primary:#396bd7;--primary-foreground:#fff;--secondary:#414141;--secondary-foreground:#f2f2f2;--muted:#2a2a2a;--muted-foreground:#bbb;--accent:#6cf;--accent-foreground:#000;--destructive:red;--destructive-foreground:#fff;--border:#414141;--input:#2a2a2a;--ring:#396bd7;--success:#79ff0f;--success-foreground:#000;--warning:#e7bf00;--warning-foreground:#000;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,"SF Mono",Consolas,monospace;--radius:.5rem;--code-bg:#1a1a1a;--focus-highlight:#6cf}.theme-quantum-rose{--background:#1a0922;--foreground:#ffb3ff;--card:#2a1435;--card-foreground:#ffb3ff;--popover:#2a1435;--popover-foreground:#ffb3ff;--primary:#ff6bef;--primary-foreground:#180518;--secondary:#46204f;--secondary-foreground:#ffb3ff;--muted:#331941;--muted-foreground:#d67ad6;--accent:#c06ec4;--accent-foreground:#1a0922;--destructive:#ff2876;--destructive-foreground:#f9f9f9;--border:#4a1b5f;--input:#46204f;--ring:#ff6bef;--chart-1:#ff6bef;--chart-2:#c359e3;--chart-3:#9161ff;--chart-4:#6f73e2;--chart-5:#547aff;--sidebar:#1c0d25;--sidebar-foreground:#ffb3ff;--sidebar-primary:#ff6bef;--sidebar-primary-foreground:#180518;--sidebar-accent:#5a1f5d;--sidebar-accent-foreground:#ffb3ff;--sidebar-border:#4a1b5f;--sidebar-ring:#ff6bef;--font-sans:Quicksand,sans-serif;--font-serif:Playfair Display,serif;--font-mono:Space Mono,monospace;--radius:.5rem;--shadow-2xs:0px 3px 0px 0px #e61ae617;--shadow-xs:0px 3px 0px 0px #e61ae617;--shadow-sm:0px 3px 0px 0px #e61ae62e,0px 1px 2px -1px #e61ae62e;--shadow:0px 3px 0px 0px #e61ae62e,0px 1px 2px -1px #e61ae62e;--shadow-md:0px 3px 0px 0px #e61ae62e,0px 2px 4px -1px #e61ae62e;--shadow-lg:0px 3px 0px 0px #e61ae62e,0px 4px 6px -1px #e61ae62e;--shadow-xl:0px 3px 0px 0px #e61ae62e,0px 8px 10px -1px #e61ae62e;--shadow-2xl:0px 3px 0px 0px #e61ae673;--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--code-bg:oklch(13% .015 260);--focus-highlight:oklch(70% .2 200)}.theme-quantum-rose.light{--background:#fff0f8;--foreground:#91185c;--card:#fff7fc;--card-foreground:#91185c;--popover:#fff7fc;--popover-foreground:#91185c;--primary:#e6067a;--primary-foreground:#fff;--secondary:#ffd6ff;--secondary-foreground:#91185c;--muted:#ffe3f2;--muted-foreground:#c04283;--accent:#ffc1e3;--accent-foreground:#91185c;--destructive:#d13869;--destructive-foreground:#fff;--border:#ffc7e6;--input:#ffd6ff;--ring:#e6067a;--chart-1:#e6067a;--chart-2:#c44b97;--chart-3:#9969b6;--chart-4:#7371bf;--chart-5:#5e84ff;--sidebar:#ffedf6;--sidebar-foreground:#91185c;--sidebar-primary:#e6067a;--sidebar-primary-foreground:#fff;--sidebar-accent:#ffc1e3;--sidebar-accent-foreground:#91185c;--sidebar-border:#ffddf0;--sidebar-ring:#e6067a;--font-sans:Poppins,sans-serif;--font-serif:Playfair Display,serif;--font-mono:Space Mono,monospace;--radius:.5rem;--shadow-2xs:0px 3px 0px 0px #82174d17;--shadow-xs:0px 3px 0px 0px #82174d17;--shadow-sm:0px 3px 0px 0px #82174d2e,0px 1px 2px -1px #82174d2e;--shadow:0px 3px 0px 0px #82174d2e,0px 1px 2px -1px #82174d2e;--shadow-md:0px 3px 0px 0px #82174d2e,0px 2px 4px -1px #82174d2e;--shadow-lg:0px 3px 0px 0px #82174d2e,0px 4px 6px -1px #82174d2e;--shadow-xl:0px 3px 0px 0px #82174d2e,0px 8px 10px -1px #82174d2e;--shadow-2xl:0px 3px 0px 0px #82174d73;--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 260);--focus-highlight:oklch(70% .2 200)}.theme-solar-dusk{--background:oklch(21.61% .0061 56.0434);--foreground:oklch(96.99% .0013 106.424);--card:oklch(26.85% .0063 34.2976);--card-foreground:oklch(96.99% .0013 106.424);--popover:oklch(26.85% .0063 34.2976);--popover-foreground:oklch(96.99% .0013 106.424);--primary:oklch(70.49% .1867 47.6044);--primary-foreground:oklch(100% 0 0);--secondary:oklch(44.44% .0096 73.639);--secondary-foreground:oklch(92.32% .0026 48.7171);--muted:oklch(26.85% .0063 34.2976);--muted-foreground:oklch(71.61% .0091 56.259);--accent:oklch(60% .12 229.32);--accent-foreground:oklch(15% .02 229);--destructive:oklch(57.71% .2152 27.325);--destructive-foreground:oklch(100% 0 0);--border:oklch(37.41% .0087 67.5582);--input:oklch(37.41% .0087 67.5582);--ring:oklch(70.49% .1867 47.6044);--chart-1:oklch(70.49% .1867 47.6044);--chart-2:oklch(68.47% .1479 237.323);--chart-3:oklch(79.52% .1617 86.0468);--chart-4:oklch(71.61% .0091 56.259);--chart-5:oklch(55.34% .0116 58.0708);--sidebar:oklch(26.85% .0063 34.2976);--sidebar-foreground:oklch(96.99% .0013 106.424);--sidebar-primary:oklch(70.49% .1867 47.6044);--sidebar-primary-foreground:oklch(100% 0 0);--sidebar-accent:oklch(68.47% .1479 237.323);--sidebar-accent-foreground:oklch(28.39% .0734 254.538);--sidebar-border:oklch(37.41% .0087 67.5582);--sidebar-ring:oklch(70.49% .1867 47.6044);--font-sans:Oxanium,sans-serif;--font-serif:Merriweather,serif;--font-mono:Fira Code,monospace;--radius:.3rem;--shadow-2xs:0px 2px 3px 0px #0d0d0d17;--shadow-xs:0px 2px 3px 0px #0d0d0d17;--shadow-sm:0px 2px 3px 0px #0d0d0d2e,0px 1px 2px -1px #0d0d0d2e;--shadow:0px 2px 3px 0px #0d0d0d2e,0px 1px 2px -1px #0d0d0d2e;--shadow-md:0px 2px 3px 0px #0d0d0d2e,0px 2px 4px -1px #0d0d0d2e;--shadow-lg:0px 2px 3px 0px #0d0d0d2e,0px 4px 6px -1px #0d0d0d2e;--shadow-xl:0px 2px 3px 0px #0d0d0d2e,0px 8px 10px -1px #0d0d0d2e;--shadow-2xl:0px 2px 3px 0px #0d0d0d73;--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--code-bg:oklch(13% .015 260);--focus-highlight:oklch(70% .2 200)}.theme-solar-dusk.light{--background:oklch(98.85% .0057 84.5659);--foreground:oklch(36.6% .0251 49.6085);--card:oklch(96.86% .0091 78.2818);--card-foreground:oklch(36.6% .0251 49.6085);--popover:oklch(96.86% .0091 78.2818);--popover-foreground:oklch(36.6% .0251 49.6085);--primary:oklch(55.53% .1455 48.9975);--primary-foreground:oklch(100% 0 0);--secondary:oklch(82.76% .0752 74.44);--secondary-foreground:oklch(44.44% .0096 73.639);--muted:oklch(93.63% .0218 83.2637);--muted-foreground:oklch(55.34% .0116 58.0708);--accent:oklch(55% .12 229);--accent-foreground:oklch(100% 0 0);--destructive:oklch(44.37% .1613 26.8994);--destructive-foreground:oklch(100% 0 0);--border:oklch(88.66% .0404 89.6994);--input:oklch(88.66% .0404 89.6994);--ring:oklch(55.53% .1455 48.9975);--chart-1:oklch(55.53% .1455 48.9975);--chart-2:oklch(55.34% .0116 58.0708);--chart-3:oklch(55.38% .1207 66.4416);--chart-4:oklch(55.34% .0116 58.0708);--chart-5:oklch(68.06% .1423 75.834);--sidebar:oklch(93.63% .0218 83.2637);--sidebar-foreground:oklch(36.6% .0251 49.6085);--sidebar-primary:oklch(55.53% .1455 48.9975);--sidebar-primary-foreground:oklch(100% 0 0);--sidebar-accent:oklch(55.38% .1207 66.4416);--sidebar-accent-foreground:oklch(100% 0 0);--sidebar-border:oklch(88.66% .0404 89.6994);--sidebar-ring:oklch(55.53% .1455 48.9975);--font-sans:Oxanium,sans-serif;--font-serif:Merriweather,serif;--font-mono:Fira Code,monospace;--radius:.3rem;--shadow-2xs:0px 2px 3px 0px #4b3f3417;--shadow-xs:0px 2px 3px 0px #4b3f3417;--shadow-sm:0px 2px 3px 0px #4b3f342e,0px 1px 2px -1px #4b3f342e;--shadow:0px 2px 3px 0px #4b3f342e,0px 1px 2px -1px #4b3f342e;--shadow-md:0px 2px 3px 0px #4b3f342e,0px 2px 4px -1px #4b3f342e;--shadow-lg:0px 2px 3px 0px #4b3f342e,0px 4px 6px -1px #4b3f342e;--shadow-xl:0px 2px 3px 0px #4b3f342e,0px 8px 10px -1px #4b3f342e;--shadow-2xl:0px 2px 3px 0px #4b3f3473;--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:oklch(96% .005 260);--focus-highlight:oklch(70% .2 200)}.theme-terminal,.theme-terminal.light{--background:#000001;--foreground:#eee;--card:#010203;--card-foreground:#eee;--popover:#010203;--popover-foreground:#eee;--primary:#f99100;--primary-foreground:#fff;--secondary:#2e2e2e;--secondary-foreground:#eee;--muted:#202127;--muted-foreground:#9e9e9e;--accent:#00a1ff;--accent-foreground:#fff;--destructive:#f20024;--destructive-foreground:#fff;--border:#2e2e2e;--input:#010203;--ring:#00a1ff;--chart-1:#2dd047;--chart-2:#f20024;--chart-3:#821698;--chart-4:#f6d653;--chart-5:#00a1ff;--sidebar:#010203;--sidebar-foreground:#eee;--sidebar-primary:#f99100;--sidebar-primary-foreground:#fff;--sidebar-accent:#00a1ff;--sidebar-accent-foreground:#fff;--sidebar-border:#2e2e2e;--sidebar-ring:#00a1ff;--font-sans:system-ui;--font-serif:system-ui;--font-mono:system-ui;--radius:4px;--shadow-2xs:0px 2px 4px 0px #0000001a;--shadow-xs:0px 2px 4px 0px #0000001a;--shadow-sm:0px 2px 4px 0px #0003,0px 1px 2px -1px #0003;--shadow:0px 2px 4px 0px #0003,0px 1px 2px -1px #0003;--shadow-md:0px 2px 4px 0px #0003,0px 2px 4px -1px #0003;--shadow-lg:0px 2px 4px 0px #0003,0px 4px 6px -1px #0003;--shadow-xl:0px 2px 4px 0px #0003,0px 8px 10px -1px #0003;--shadow-2xl:0px 2px 4px 0px #00000080;--success:oklch(72% .17 150);--success-foreground:oklch(15% .02 260);--warning:oklch(75% .15 85);--warning-foreground:oklch(20% .02 260);--code-bg:#000;--focus-highlight:oklch(70% .2 200)}.theme-terminal .bg-grid,.theme-terminal.light .bg-grid{background-image:linear-gradient(90deg,#00ff000a 1px,#0000 1px),linear-gradient(#00ff000a 1px,#0000 1px)}.theme-tokyo-night{--background:#24283b;--foreground:#c0caf5;--card:#1d202f;--card-foreground:#c0caf5;--popover:#1d202f;--popover-foreground:#c0caf5;--primary:#7aa2f7;--primary-foreground:#1d202f;--secondary:#414868;--secondary-foreground:#c0caf5;--muted:#343a52;--muted-foreground:#a9b1d6;--accent:#7dcfff;--accent-foreground:#1d202f;--destructive:#f7768e;--destructive-foreground:#1d202f;--border:#414868;--input:#343a52;--ring:#7aa2f7;--success:#9ece6a;--success-foreground:#1d202f;--warning:#e0af68;--warning-foreground:#1d202f;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,monospace;--radius:.5rem;--code-bg:#1a1b2e;--focus-highlight:#7dcfff}.theme-tokyo-night.light{--background:#e1e2e7;--foreground:#3760bf;--card:#e9e9ed;--card-foreground:#3760bf;--popover:#e9e9ed;--popover-foreground:#3760bf;--primary:#2e7de9;--primary-foreground:#e1e2e7;--secondary:#a1a6c5;--secondary-foreground:#3760bf;--muted:#d0d3e1;--muted-foreground:#6172b0;--accent:#007197;--accent-foreground:#e1e2e7;--destructive:#f52a65;--destructive-foreground:#e1e2e7;--border:#a1a6c5;--input:#d0d3e1;--ring:#2e7de9;--success:#587539;--success-foreground:#e1e2e7;--warning:#8c6c3e;--warning-foreground:#e1e2e7;--code-bg:#d5d6db;--focus-highlight:#007197}.theme-tinacious,.theme-tinacious.light{--background:#f8f8ff;--foreground:#1d1d26;--card:#fff;--card-foreground:#1d1d26;--popover:#fff;--popover-foreground:#1d1d26;--primary:#00cbff;--primary-foreground:#fff;--secondary:#cbcbf0;--secondary-foreground:#1d1d26;--muted:#d5d6f3;--muted-foreground:#636667;--accent:#00ceca;--accent-foreground:#1d1d26;--destructive:#f39;--destructive-foreground:#fff;--border:#d5d6f3;--input:#d5d6f3;--ring:#00cbff;--chart-1:#f39;--chart-2:#00d364;--chart-3:#fc6;--chart-4:#c6f;--chart-5:#00ceca;--sidebar:#f0f0f8;--sidebar-foreground:#1d1d26;--sidebar-primary:#00cbff;--sidebar-primary-foreground:#fff;--sidebar-accent:#00ceca;--sidebar-accent-foreground:#1d1d26;--sidebar-border:#d5d6f3;--sidebar-ring:#00cbff;--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,"Liberation Mono",Menlo,monospace;--radius:.5rem;--shadow-2xs:0 1px 2px 0 #0000000d;--shadow-xs:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-sm:0 2px 4px -1px #0000001a,0 1px 2px -1px #0000001a;--shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-md:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-lg:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-xl:0 25px 50px -12px #00000040;--shadow-2xl:0 35px 60px -15px #0000004d;--success:oklch(45% .2 150);--success-foreground:oklch(100% 0 0);--warning:oklch(55% .18 85);--warning-foreground:oklch(18% .02 260);--code-bg:#f0f0f8;--focus-highlight:oklch(70% .2 200)}.theme-cursor{--background:#181818;--foreground:#e4e4e4;--card:#1e1e1e;--card-foreground:#e4e4e4;--popover:#141414;--popover-foreground:#e4e4e4;--primary:#81a1c1;--primary-foreground:#141414;--secondary:#2a2a2a;--secondary-foreground:#e4e4e4;--muted:#252525;--muted-foreground:#a0a0a0;--accent:#88c0d0;--accent-foreground:#141414;--destructive:#e34671;--destructive-foreground:#e4e4e4;--border:#333;--input:#252525;--ring:#81a1c1;--success:#3fa266;--success-foreground:#141414;--warning:#d2943e;--warning-foreground:#141414;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,monospace;--radius:.5rem;--code-bg:#141414;--focus-highlight:#88c0d0}.theme-cursor.light{--background:#fcfcfc;--foreground:#141414;--card:#f3f3f3;--card-foreground:#141414;--popover:#f3f3f3;--popover-foreground:#141414;--primary:#3c7cab;--primary-foreground:#fcfcfc;--secondary:#e8e8e8;--secondary-foreground:#141414;--muted:#ededed;--muted-foreground:#6a6a6a;--accent:#4c7f8c;--accent-foreground:#fcfcfc;--destructive:#cf2d56;--destructive-foreground:#fcfcfc;--border:#ddd;--input:#ededed;--ring:#3c7cab;--success:#1f8a65;--success-foreground:#fcfcfc;--warning:#c08532;--warning-foreground:#141414;--code-bg:#f3f3f3;--focus-highlight:#3c7cab}.theme-cursor-hc,.theme-cursor-hc.light{--background:#0a0a0a;--foreground:#d8dee9;--card:#1a1a1a;--card-foreground:#eceff4;--popover:#1a1a1a;--popover-foreground:#eceff4;--primary:#88c0d0;--primary-foreground:#000;--secondary:#434c5e;--secondary-foreground:#eceff4;--muted:#2a2a2a;--muted-foreground:#ccc;--accent:#ebcb8b;--accent-foreground:#000;--destructive:#bf616a;--destructive-foreground:#eceff4;--border:#404040;--input:#2a2a2a;--ring:#88c0d0;--success:#a3be8c;--success-foreground:#000;--warning:#ebcb8b;--warning-foreground:#000;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,monospace;--radius:.5rem;--code-bg:#1a1a1a;--focus-highlight:#88c0d0}.theme-cursor-midnight,.theme-cursor-midnight.light{--background:#1e2127;--foreground:#d8dee9;--card:#272c36;--card-foreground:#d8dee9;--popover:#20242c;--popover-foreground:#d8dee9;--primary:#88c0d0;--primary-foreground:#1d2128;--secondary:#434c5e;--secondary-foreground:#d8dee9;--muted:#272c36;--muted-foreground:#7b88a1;--accent:#8fbcbb;--accent-foreground:#1d2128;--destructive:#bf616a;--destructive-foreground:#eceff4;--border:#3a4050;--input:#272c36;--ring:#88c0d0;--success:#a3be8c;--success-foreground:#1d2128;--warning:#ebcb8b;--warning-foreground:#1d2128;--font-sans:system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,monospace;--radius:.5rem;--code-bg:#191c22;--focus-highlight:#8fbcbb}.plannotator-print pre,.plannotator-print pre[class]{color:#1a1a1a!important;background:#f5f5f5!important;border:1px solid #ccc!important;border-left:3px solid #888!important}.plannotator-print pre code,.plannotator-print code.hljs,.plannotator-print pre code.hljs,.plannotator-print .hljs{color:#1a1a1a!important;background:0 0!important}.plannotator-print pre span,.plannotator-print pre code span,.plannotator-print .hljs span,.plannotator-print [class*=hljs-]{color:#1a1a1a!important;background:0 0!important;font-style:normal!important;text-decoration:none!important}.plannotator-print code{color:#1a1a1a!important;background:#e8e8e8!important;border:1px solid #ccc!important}.plannotator-print pre code{background:0 0!important;border:none!important}@media print{*{transition:none!important;animation:none!important}@page{size:A4;margin:.75in}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:11pt;line-height:1.6;color:#1a1a1a!important;background:#fff!important;height:auto!important;overflow:visible!important}header,aside,.annotation-toolbar,.fixed,[data-resize-handle]{display:none!important}[data-print-hide]{margin:0!important;padding:0!important;display:none!important}.sidebar-tab-flag,pre .absolute,.group>button.absolute,button[title=Settings],button[title="Toggle theme"],button[title="Add global comment"],button[title="Copy plan"],button[title="Copy file"]{display:none!important}[data-print-region=root]{height:auto!important;overflow:visible!important}[data-print-region=content]{overflow:visible!important}main,[data-print-region=document]{background:#fff!important;width:100%!important;padding:0!important;overflow:visible!important}main>div{margin:0!important;padding:0!important}article,[data-print-region=article]{width:100%!important;max-width:100%!important;box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}article h1:first-of-type,[data-print-region=article] h1:first-of-type{margin-top:0!important}body,div,span,p,li,td,th,label,strong,em,b,i{color:#1a1a1a!important}strong,b{color:#000!important;font-weight:700!important}em,i{color:#1a1a1a!important;font-style:italic!important}h1{page-break-after:avoid;margin:1.5em 0 .5em;font-size:24pt;font-weight:700;color:#000!important}h2{page-break-after:avoid;margin:1.25em 0 .4em;font-size:18pt;font-weight:700;color:#000!important}h3{page-break-after:avoid;margin:1em 0 .3em;font-size:14pt;font-weight:700;color:#000!important}h4{page-break-after:avoid;margin:.8em 0 .25em;font-size:12pt;font-weight:700;color:#000!important}h5,h6{page-break-after:avoid;margin:.6em 0 .2em;font-size:11pt;font-weight:700;color:#000!important}p{margin:.5em 0;color:#1a1a1a!important}ul,ol{margin:.5em 0;padding-left:2em}li{margin:.25em 0;color:#1a1a1a!important}li p{margin:.25em 0}code,code[class]{color:#1a1a1a!important;background:#e8e8e8!important;border:1px solid #ccc!important;border-radius:3px!important;padding:.1em .4em!important;font-family:Courier New,Monaco,Consolas,monospace!important;font-size:10pt!important}.group{page-break-inside:avoid}pre,pre[class]{page-break-inside:avoid;color:#1a1a1a!important;background:#f5f5f5!important;border:1px solid #ccc!important;border-left:3px solid #888!important;border-radius:4px!important;margin:1em 0!important;padding:1em!important;overflow:visible!important}pre code,pre code[class],pre code.hljs,code.hljs,code[data-highlighted]{color:#1a1a1a!important;white-space:pre-wrap!important;word-wrap:break-word!important;background:0 0!important;border:none!important;padding:0!important;font-size:9pt!important;display:block!important}.hljs{color:#1a1a1a!important;background:0 0!important}pre span,pre code span,.hljs span,code span,[class*=hljs-]{color:#1a1a1a!important;background:0 0!important;font-style:normal!important;text-decoration:none!important}table{border-collapse:collapse;page-break-inside:avoid;width:100%;margin:1em 0}thead{page-break-after:avoid;background:#e8e8e8!important}th{text-align:left;border:1px solid #999;padding:.5em;font-weight:700;color:#000!important;background:#e8e8e8!important}td{border:1px solid #ccc;padding:.5em;color:#1a1a1a!important}tbody tr:nth-child(2n){background:#f9f9f9!important}tbody tr:nth-child(odd){background:#fff!important}blockquote{margin:1em 0;padding:.5em 0 .5em 1em;color:#333!important;background:#f7f7f7!important;border-left:4px solid #999!important}blockquote p{margin:.5em 0}hr{page-break-after:avoid;border:none;border-top:1px solid #999;margin:1.5em 0}a{text-decoration:underline;color:#06c!important}a[href]:after{content:" (" attr(href)")";word-break:break-all;font-size:9pt;color:#666!important}a[href^="#"]:after{content:""}img{page-break-inside:avoid;max-width:100%;height:auto;margin:1em 0}svg{page-break-inside:avoid;max-width:100%;height:auto!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid}pre,blockquote,table,figure{page-break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}body{font-family:var(--font-sans);background:var(--background);color:var(--foreground);font-feature-settings:"ss01","ss02","cv01"}.bg-grid{background-image:linear-gradient(90deg,#2d333d80 1px,#0000 1px),linear-gradient(#2d333d80 1px,#0000 1px);background-size:24px 24px}.light .bg-grid{background-image:linear-gradient(90deg,#dadee599 1px,#0000 1px),linear-gradient(#dadee599 1px,#0000 1px)}.glow-primary{box-shadow:0 0 20px oklch(from var(--primary)l c h/.15),0 0 40px oklch(from var(--primary)l c h/.05)}.glow-sm{box-shadow:0 0 10px oklch(from var(--primary)l c h/.1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}::selection{background:oklch(from var(--primary)l c h/.3)}*{transition-property:color,background-color,border-color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.file-annotation-flash{animation:1.2s ease-out file-flash}@keyframes file-flash{0%{background:0 0}10%{background:var(--muted)}30%{background:0 0}45%{background:var(--muted)}65%{background:0 0}to{background:0 0}}:root{--panel-header-h:37px}.dockview-theme-dark,.dockview-theme-light,.dv-dockview{--dv-group-view-background-color:var(--background);--dv-tabs-and-actions-container-background-color:var(--card);--dv-activegroup-visiblepanel-tab-background-color:var(--background);--dv-activegroup-hiddenpanel-tab-background-color:var(--muted);--dv-inactivegroup-visiblepanel-tab-background-color:var(--background);--dv-inactivegroup-hiddenpanel-tab-background-color:var(--muted);--dv-tab-divider-color:var(--border);--dv-activegroup-visiblepanel-tab-color:var(--foreground);--dv-activegroup-hiddenpanel-tab-color:var(--muted-foreground);--dv-inactivegroup-visiblepanel-tab-color:var(--foreground);--dv-inactivegroup-hiddenpanel-tab-color:var(--muted-foreground);--dv-separator-border:var(--border);--dv-paneview-header-border-color:var(--border);--dv-drag-over-background-color:oklch(from var(--primary)l c h/.1);--dv-drag-over-border-color:var(--primary);--dv-icon-hover-background-color:var(--muted);--dv-tabs-and-actions-container-height:30px;--dv-tabs-and-actions-container-font-size:.6875rem;--dv-tab-font-size:.6875rem;font-family:inherit;font-size:inherit}.dv-review-tab{-webkit-user-select:none;user-select:none;align-items:center;gap:.375rem;min-width:0;height:100%;padding:0 .5rem;font-size:.6875rem;display:flex}.dv-review-tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dv-review-tab-close{opacity:0;width:1rem;height:1rem;color:var(--muted-foreground);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s,color .15s;display:flex}.dv-review-tab:hover .dv-review-tab-close{opacity:1}.dv-review-tab-close:hover{opacity:1;background:var(--muted);color:var(--foreground)}diffs-container{--diffs-dark-bg:var(--background);--diffs-light-bg:var(--background);--diffs-dark:var(--foreground);--diffs-light:var(--foreground)}.diff-line-addition{background:oklch(from var(--success)l c h/.12)}.diff-line-deletion{background:oklch(from var(--destructive)l c h/.12)}.light .diff-line-addition{background:oklch(from var(--success)l c h/.15)}.light .diff-line-deletion{background:oklch(from var(--destructive)l c h/.15)}.review-comment{box-sizing:border-box;background:var(--popover);border:1px solid var(--border);cursor:pointer;border-radius:2px;width:100%;min-width:0;max-width:100%;margin:.5rem 0;padding:.5rem .625rem;font-size:.8125rem;transition:border-color .15s;position:relative}.review-comment:hover{border-color:var(--muted-foreground)}.review-comment-header{min-width:0;color:var(--muted-foreground);align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.6875rem;display:flex}.review-comment-actions{opacity:0;gap:.125rem;margin-left:auto;transition:opacity .15s;display:flex}.review-comment:hover .review-comment-actions{opacity:1}.review-comment-action{color:var(--muted-foreground);border-radius:2px;padding:.25rem;transition:color .15s,background .15s}.review-comment-action:hover{color:var(--foreground);background:var(--muted)}.review-comment-action.destructive:hover{color:var(--destructive);background:oklch(from var(--destructive)l c h/.1)}.review-comment>.review-comment-body{min-width:0;color:var(--foreground);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.5}.review-comment-body .inline-code,.review-comment-markdown .inline-code{font-family:var(--font-mono);background:var(--muted);border-radius:.25rem;padding:.1em .35em;font-size:.85em}.review-comment-body .inline-code-block,.review-comment-markdown .inline-code-block{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:pre;margin:.375rem 0;padding:.5rem .75rem;font-size:.75rem;line-height:1.5;overflow-x:auto}.review-comment-body .inline-code-block code,.review-comment-markdown .inline-code-block code{font-family:var(--font-mono)}.light .review-comment-body .inline-code-block,.light .review-comment-markdown .inline-code-block{background:var(--code-bg)}.line-selected{background:oklch(from var(--primary)l c h/.3)!important}.hover-add-comment{background:var(--primary);width:1.25rem;height:1.25rem;color:var(--primary-foreground);cursor:pointer;opacity:0;border-radius:.25rem;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;transition:opacity .15s;display:flex}.hover-add-comment:hover{opacity:1;background:oklch(70% .2 280)}.file-tree-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--muted-foreground);align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.75rem;display:flex}.file-tree-item:hover{background:var(--muted);color:var(--foreground)}.file-tree-item.active{background:oklch(from var(--primary)l c h/.3);color:var(--primary)}.file-tree-item.has-annotations{background:var(--primary)/.08}.file-tree-item.has-annotations:hover{background:var(--muted)}.file-tree-item.active.has-annotations{background:oklch(from var(--primary)l c h/.3)}.file-tree-item .additions{color:var(--success)}.file-tree-item .deletions{color:var(--destructive)}.file-tree-item.active .additions{color:var(--success)}.file-tree-item.active .deletions{color:var(--destructive)}.file-tree-item.staged{background:oklch(from var(--success)l c h/.1)}.file-tree-item.staged:hover{background:var(--muted)}.file-tree-item.staged.active{background:oklch(from var(--primary)l c h/.3)}.review-toolbar{z-index:100;background:var(--popover);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;position:absolute;box-shadow:0 10px 25px -5px #0003,0 8px 10px -6px #0000001a}.review-toolbar-btn{border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;background:0 0;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;display:flex}.review-toolbar-btn:hover{background:var(--muted)}.review-toolbar-btn.primary{background:var(--primary);color:var(--primary-foreground)}.review-toolbar-btn.primary:hover{background:oklch(70% .2 280)}.export-code-block{font-family:var(--font-mono);background:var(--muted);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;padding:.75rem;font-size:.75rem;overflow-x:auto}.suggested-code-input{width:100%;font-family:var(--font-mono);color:var(--foreground);background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;tab-size:2;white-space:pre;overflow-wrap:normal;padding:.625rem .75rem;font-size:.6875rem;line-height:1.6;overflow-x:auto}.suggested-code-input::placeholder{color:var(--muted-foreground);opacity:.5}.suggested-code-input:focus{border-color:var(--success);box-shadow:0 0 0 1px oklch(from var(--success)l c h/.3);outline:none}.light .suggested-code-input{background:var(--code-bg)}.suggestion-block{border:1px solid oklch(from var(--success)l c h/.3);border-left:3px solid var(--success);border-radius:var(--radius-sm);overflow:hidden}.suggestion-block-header{text-transform:uppercase;letter-spacing:.03em;color:var(--success);background:oklch(from var(--success)l c h/.08);border-bottom:1px solid oklch(from var(--success)l c h/.15);align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.625rem;font-weight:600;display:flex}.suggestion-block-code{background:var(--code-bg);margin:0;padding:.5rem .75rem;font-size:.6875rem;line-height:1.6;overflow-x:auto}.suggestion-block-code code{font-family:var(--font-mono);background:0 0!important;padding:0!important}.suggestion-block.compact .suggestion-block-code{max-height:3rem;overflow:hidden}.light .suggestion-block-code{background:var(--code-bg)}.light .suggestion-block{border-color:oklch(from var(--success)l c h/.3);border-left-color:var(--success)}.light .suggestion-block-header{background:oklch(from var(--success)l c h/.06);border-bottom-color:oklch(from var(--success)l c h/.12)}.suggestion-modal-original{font-family:var(--font-mono);background:var(--code-bg)}.suggestion-modal-original code{font-family:var(--font-mono);background:0 0!important;padding:0!important}.light .suggestion-modal-original{background:var(--code-bg)}.suggestion-diff{font-family:var(--font-mono);font-size:.6875rem;line-height:1.5;overflow-x:auto}.suggestion-diff-inner{width:fit-content;min-width:100%}.suggestion-diff-line{min-height:1.25rem;padding:0 .625rem;display:flex}.suggestion-diff-line.removed{background:oklch(from var(--destructive)l c h/.15)}.suggestion-diff-line.added{background:oklch(from var(--success)l c h/.15)}.suggestion-diff-indicator{text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:1rem}.suggestion-diff-line.removed .suggestion-diff-indicator{color:var(--destructive)}.suggestion-diff-line.added .suggestion-diff-indicator{color:var(--success)}.suggestion-diff-content{white-space:pre}.light .suggestion-diff-line.removed{background:oklch(from var(--destructive)l c h/.1)}.light .suggestion-diff-line.added{background:oklch(from var(--success)l c h/.1)}.search-match-highlight{background:oklch(from var(--warning)l c h/.25);color:var(--foreground);border-radius:2px;padding:0 1px}.light .search-match-highlight{background:oklch(from var(--warning)l c h/.3)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-from-bottom-2{0%{transform:translateY(.5rem)translate(-50%)}to{transform:translateY(0)translate(-50%)}}.animate-in{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:both}.fade-in{animation-name:fade-in}.slide-in-from-bottom-2{animation-name:slide-in-from-bottom-2}.ai-ask-divider{border-top:1px solid var(--border);opacity:.5;margin-top:.5rem}.ai-line-ref{font-family:var(--font-mono);background:var(--muted);color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.25rem;padding:.125rem .375rem;font-size:.625rem;transition:color .15s,background .15s;display:inline-flex}.ai-line-ref:hover{background:oklch(from var(--primary)l c h/.1);color:var(--primary)}.ai-streaming-cursor{background:var(--primary);vertical-align:text-bottom;border-radius:1px;width:.375rem;height:.75rem;animation:1s step-end infinite ai-blink;display:inline-block}@keyframes ai-blink{0%,to{opacity:1}50%{opacity:0}}.ai-preview-link{border-radius:var(--radius-sm);background:oklch(from var(--primary)l c h/.05);border:1px solid oklch(from var(--primary)l c h/.12);width:100%;color:var(--muted-foreground);cursor:pointer;text-align:left;align-items:center;gap:.375rem;margin-top:.5rem;padding:.375rem .5rem;font-size:.625rem;transition:background .15s,border-color .15s;display:flex}.ai-preview-link:hover{background:oklch(from var(--primary)l c h/.1);border-color:oklch(from var(--primary)l c h/.2)}.ai-marker{color:var(--muted-foreground);border-left:2px solid oklch(from var(--primary)l c h/.3);border-radius:0 var(--radius-sm)var(--radius-sm)0;transition:background,border-color}.ai-marker:hover{background:oklch(from var(--primary)l c h/.08);border-left-color:var(--primary);transition:background .15s,border-color .15s}.ai-marker-answered .ai-marker-icon{color:var(--primary)}.ai-markdown{line-height:1.5}.ai-markdown p{margin:.25rem 0}.ai-markdown p:first-child{margin-top:0}.ai-markdown p:last-child{margin-bottom:0}.ai-markdown h1,.ai-markdown h2,.ai-markdown h3,.ai-markdown h4,.ai-markdown h5,.ai-markdown h6{margin:.5rem 0 .25rem;font-weight:600;line-height:1.3}.ai-markdown h1{font-size:.875rem}.ai-markdown h2{font-size:.8125rem}.ai-markdown h3{font-size:.75rem}.ai-markdown ul,.ai-markdown ol{margin:.25rem 0;padding-left:1.25rem}.ai-markdown li{margin:.125rem 0}.ai-markdown ul{list-style:outside}.ai-markdown ol{list-style:decimal}.ai-markdown code{font-family:var(--font-mono);background:var(--muted);border-radius:var(--radius-sm);padding:.125rem .25rem;font-size:.6875rem}.ai-markdown pre{background:var(--muted);border-radius:var(--radius-sm);margin:.375rem 0;padding:.5rem;overflow-x:auto}.ai-markdown pre code{background:0 0;padding:0;font-size:.6875rem}.ai-markdown hr{border:none;border-top:1px solid var(--border);margin:.5rem 0}.ai-markdown strong{font-weight:600}.ai-markdown a{color:var(--primary)}.ai-markdown a:hover{text-decoration:underline}.ai-markdown blockquote{border-left:2px solid var(--border);color:var(--muted-foreground);margin:.375rem 0;padding-left:.625rem}.ai-file-group-highlight{animation:1.2s ease-out ai-file-flash}@keyframes ai-file-flash{0%{background:0 0}10%{background:var(--muted)}30%{background:0 0}45%{background:var(--muted)}65%{background:0 0}to{background:0 0}}.ai-config-menu{background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:50;flex-direction:column;min-width:140px;max-height:min(320px,50vh);padding:3px;animation:.12s ease-out ai-menu-in;display:flex;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 4px 12px #00000026}.ai-config-menu-scroll{flex:1;min-height:0;overflow-y:auto}.ai-config-menu-search{border-bottom:1px solid var(--border);flex-shrink:0;margin-bottom:2px;padding:4px}.ai-config-menu-search input{background:var(--muted);border:1px solid var(--border);border-radius:calc(var(--radius-sm) - 2px);width:100%;color:var(--foreground);outline:none;padding:3px 6px;font-size:.6875rem}.ai-config-menu-search input::placeholder{color:var(--muted-foreground)}.ai-config-menu-search input:focus{border-color:var(--primary)}.ai-config-menu-item{border-radius:calc(var(--radius-sm) - 2px);width:100%;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.6875rem;transition:background .1s;display:flex}.ai-config-menu-item:hover{background:var(--muted)}.ai-config-menu-item-active{color:var(--primary)}@keyframes ai-menu-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.review-comment-markdown .inline-code,.review-comment-body .inline-code,.review-comment-markdown .inline-code-block,.review-comment-body .inline-code-block,.review-comment-markdown .inline-code-block code,.review-comment-body .inline-code-block code,.export-code-block,.suggestion-block-code code,.suggestion-modal-original,.suggestion-modal-original code,.suggestion-diff,.ai-markdown code{font-family:var(--diff-font-override,var(--font-mono))!important}:root[style*=--diff-font-size-override] .review-comment-markdown .inline-code,:root[style*=--diff-font-size-override] .review-comment-body .inline-code,:root[style*=--diff-font-size-override] .review-comment-markdown .inline-code-block,:root[style*=--diff-font-size-override] .review-comment-body .inline-code-block,:root[style*=--diff-font-size-override] .review-comment-markdown .inline-code-block code,:root[style*=--diff-font-size-override] .review-comment-body .inline-code-block code,:root[style*=--diff-font-size-override] .export-code-block,:root[style*=--diff-font-size-override] .suggestion-block-code code,:root[style*=--diff-font-size-override] .suggestion-modal-original,:root[style*=--diff-font-size-override] .suggestion-modal-original code,:root[style*=--diff-font-size-override] .suggestion-diff,:root[style*=--diff-font-size-override] .ai-markdown code{font-size:var(--diff-font-size-override)!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-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-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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}</style>
|
|
6055
6055
|
</head>
|
|
6056
6056
|
<body class="min-h-screen antialiased">
|
|
6057
6057
|
<div id="root" class="h-full"></div>
|