@plannotator/opencode 0.16.4 → 0.16.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +381 -28
- package/package.json +2 -2
- package/plannotator.html +3 -3
- package/review-editor.html +67 -67
package/plannotator.html
CHANGED
|
@@ -497,7 +497,7 @@ created: ${new Date().toISOString().slice(0,19)}Z
|
|
|
497
497
|
source: plannotator
|
|
498
498
|
tags: [plan, ...]
|
|
499
499
|
---`})]}),w.jsx("div",{className:"border-t border-border/30"}),w.jsxs("div",{className:"flex items-center justify-between",children:[w.jsxs("div",{children:[w.jsx("div",{className:"text-xs font-medium",children:"Auto-save on Plan Arrival"}),w.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Automatically save to Obsidian when a plan loads, before you approve or deny"})]}),w.jsx("button",{role:"switch","aria-checked":Q.autoSave,onClick:()=>ae({autoSave:!Q.autoSave}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${Q.autoSave?"bg-primary":"bg-muted"}`,children:w.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${Q.autoSave?"translate-x-6":"translate-x-1"}`})})]}),w.jsxs("div",{className:"flex items-center justify-between",children:[w.jsxs("div",{children:[w.jsx("div",{className:"text-xs font-medium",children:"Vault Browser"}),w.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Browse and annotate vault files from the sidebar"})]}),w.jsx("button",{role:"switch","aria-checked":Q.vaultBrowserEnabled,onClick:()=>ae({vaultBrowserEnabled:!Q.vaultBrowserEnabled}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${Q.vaultBrowserEnabled?"bg-primary":"bg-muted"}`,children:w.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${Q.vaultBrowserEnabled?"translate-x-6":"translate-x-1"}`})})]})]})]})]}),C==="bear"&&w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"flex items-center justify-between",children:[w.jsxs("div",{children:[w.jsx("div",{className:"text-sm font-medium",children:"Bear Notes"}),w.jsx("div",{className:"text-xs text-muted-foreground",children:"Auto-save approved plans to Bear"})]}),w.jsx("button",{role:"switch","aria-checked":x.enabled,onClick:()=>NA({enabled:!x.enabled}),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${x.enabled?"bg-primary":"bg-muted"}`,children:w.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${x.enabled?"translate-x-6":"translate-x-1"}`})})]}),x.enabled&&w.jsxs("div",{className:"mt-3 space-y-3",children:[w.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[w.jsx("label",{className:"text-xs text-muted-foreground",children:"Custom Tags"}),w.jsx("input",{type:"text",value:x.customTags,onChange:dA=>NA({customTags:dA.target.value}),onBlur:dA=>NA({customTags:sUA(dA.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"}),w.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Comma-separated, kebab-case. Leave empty for auto-generated tags."})]}),w.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[w.jsx("label",{className:"text-xs text-muted-foreground",children:"Tag Position"}),w.jsxs("select",{value:x.tagPosition,onChange:dA=>NA({tagPosition:dA.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:[w.jsx("option",{value:"append",children:"Append (end of note)"}),w.jsx("option",{value:"prepend",children:"Prepend (after title)"})]})]}),w.jsx("div",{className:"border-t border-border/30"}),w.jsxs("div",{className:"flex items-center justify-between",children:[w.jsxs("div",{children:[w.jsx("div",{className:"text-xs font-medium",children:"Auto-save on Plan Arrival"}),w.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Automatically save to Bear when a plan loads, before you approve or deny"})]}),w.jsx("button",{role:"switch","aria-checked":x.autoSave,onClick:()=>NA({autoSave:!x.autoSave}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${x.autoSave?"bg-primary":"bg-muted"}`,children:w.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${x.autoSave?"translate-x-6":"translate-x-1"}`})})]})]})]}),C==="octarine"&&w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"flex items-center justify-between",children:[w.jsxs("div",{children:[w.jsx("div",{className:"text-sm font-medium",children:"Octarine"}),w.jsx("div",{className:"text-xs text-muted-foreground",children:"Auto-save approved plans to Octarine"})]}),w.jsx("button",{role:"switch","aria-checked":b.enabled,onClick:()=>$A({enabled:!b.enabled}),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${b.enabled?"bg-primary":"bg-muted"}`,children:w.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${b.enabled?"translate-x-6":"translate-x-1"}`})})]}),b.enabled&&w.jsxs("div",{className:"mt-3 space-y-3",children:[w.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[w.jsx("label",{className:"text-xs text-muted-foreground",children:"Workspace Name"}),w.jsx("input",{type:"text",value:b.workspace,onChange:dA=>$A({workspace:dA.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"}),w.jsx("div",{className:"text-[10px] text-muted-foreground",children:"The Octarine workspace name to save plans into."})]}),w.jsxs("div",{className:"space-y-1.5 pl-0.5",children:[w.jsx("label",{className:"text-xs text-muted-foreground",children:"Folder"}),w.jsx("input",{type:"text",value:b.folder,onChange:dA=>$A({folder:dA.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"}),w.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Subfolder within the workspace for saved plans."})]}),w.jsxs("div",{className:"text-[10px] text-muted-foreground/70",children:["Plans saved to: ",b.workspace||"..."," / ",b.folder||"plannotator","/"]}),w.jsx("div",{className:"border-t border-border/30"}),w.jsxs("div",{className:"flex items-center justify-between",children:[w.jsxs("div",{children:[w.jsx("div",{className:"text-xs font-medium",children:"Auto-save on Plan Arrival"}),w.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Automatically save to Octarine when a plan loads, before you approve or deny"})]}),w.jsx("button",{role:"switch","aria-checked":b.autoSave,onClick:()=>$A({autoSave:!b.autoSave}),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${b.autoSave?"bg-primary":"bg-muted"}`,children:w.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform ${b.autoSave?"translate-x-6":"translate-x-1"}`})})]})]})]})]})]})]})}),document.body)]})},cW=({onClick:e,disabled:A=!1,isLoading:t=!1,label:i="Send Feedback",loadingLabel:r="Sending...",title:n="Send Feedback",muted:a=!1})=>w.jsxs("button",{onClick:e,disabled:A,className:`p-1.5 md:px-2.5 md:py-1 rounded-md text-xs font-medium transition-all ${a?"opacity-50 cursor-not-allowed bg-accent/10 text-accent/50":A?"opacity-50 cursor-not-allowed bg-muted text-muted-foreground":"bg-accent/15 text-accent hover:bg-accent/25 border border-accent/30"}`,title:n,children:[w.jsx("svg",{className:"w-4 h-4 md:hidden",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.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"})}),w.jsx("span",{className:"hidden md:inline",children:t?r:i})]}),IW=({onClick:e,disabled:A=!1,isLoading:t=!1,label:i="Approve",loadingLabel:r="Approving...",mobileLabel:n="OK",mobileLoadingLabel:a="...",title:s,dimmed:o=!1,muted:g=!1})=>w.jsxs("button",{onClick:e,disabled:A,className:`px-2 py-1 md:px-2.5 rounded-md text-xs font-medium transition-all ${g?"opacity-40 cursor-not-allowed bg-muted text-muted-foreground":A?"opacity-50 cursor-not-allowed bg-muted text-muted-foreground":o?"bg-success/50 text-success-foreground/70 hover:bg-success hover:text-success-foreground":"bg-success text-success-foreground hover:opacity-90"}`,title:s,children:[w.jsx("span",{className:"md:hidden",children:t?a:n}),w.jsx("span",{className:"hidden md:inline",children:t?r:i})]});async function $oA(e){const A=JSON.stringify(e),t=new TextEncoder().encode(A),i=new CompressionStream("deflate-raw"),r=i.writable.getWriter();r.write(t),r.close();const n=await new Response(i.readable).arrayBuffer(),a=new Uint8Array(n);let s="";for(let g=0;g<a.length;g++)s+=String.fromCharCode(a[g]);return btoa(s).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}async function hv(e){const A=e.replace(/-/g,"+").replace(/_/g,"/"),t=atob(A),i=Uint8Array.from(t,o=>o.charCodeAt(0)),r=new DecompressionStream("deflate-raw"),n=r.writable.getWriter();n.write(i),n.close();const a=await new Response(r.readable).arrayBuffer(),s=new TextDecoder().decode(a);return JSON.parse(s)}async function o4A(e){const A=await crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt"]),t=crypto.getRandomValues(new Uint8Array(12)),i=new TextEncoder().encode(e),r=await crypto.subtle.encrypt({name:"AES-GCM",iv:t},A,i),n=new Uint8Array(t.length+r.byteLength);n.set(t,0),n.set(new Uint8Array(r),t.length);const a=await crypto.subtle.exportKey("raw",A);return{ciphertext:CW(n),key:CW(new Uint8Array(a))}}async function g4A(e,A){const t=EW(e),i=EW(A),r=t.slice(0,12),n=t.slice(12),a=await crypto.subtle.importKey("raw",i.buffer,{name:"AES-GCM",length:256},!1,["decrypt"]),s=await crypto.subtle.decrypt({name:"AES-GCM",iv:r},a,n);return new TextDecoder().decode(s)}function CW(e){let A="";for(let t=0;t<e.length;t++)A+=String.fromCharCode(e[t]);return btoa(A).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function EW(e){const A=e.replace(/-/g,"+").replace(/_/g,"/"),t=atob(A);return Uint8Array.from(t,i=>i.charCodeAt(0))}function kB(e){if(e?.length)return e.map(A=>{if(typeof A=="string"){const t=A.split("/").pop()?.replace(/\.[^.]+$/,"")||"image";return{path:A,name:t}}return{path:A[0],name:A[1]}})}function w4(e){if(e?.length)return e.map(A=>[A.path,A.name])}function AgA(e){return e.map(A=>{const t=A.author||null,i=w4(A.images);return A.type===gi.GLOBAL_COMMENT?["G",A.text||"",t,i]:A.type===gi.DELETION?["D",A.originalText,t,i]:A.isQuickLabel?["C",A.originalText,A.text||"",t,i??void 0,1]:["C",A.originalText,A.text||"",t,i]})}function SD(e,A,t){const i={D:gi.DELETION,C:gi.COMMENT,G:gi.GLOBAL_COMMENT};return e.map((r,n)=>{const a=r[0];if(a==="G"){const C=r[1],E=r[2],B=r[3];return{id:`shared-${n}-${Date.now()}`,blockId:"",startOffset:0,endOffset:0,type:gi.GLOBAL_COMMENT,text:C||void 0,originalText:"",createdA:Date.now()+n,author:E||void 0,images:kB(B),...t?.[n]?{source:t[n]}:{}}}const s=r[1],o=a==="D"?void 0:r[2],g=a==="D"?r[2]:r[3],l=a==="D"?r[3]:r[4],I=a==="C"&&r.length>5&&r[5]===1?!0:void 0;return{id:`shared-${n}-${Date.now()}`,blockId:"",startOffset:0,endOffset:0,type:i[a],text:o||void 0,originalText:s,createdA:Date.now()+n,author:g||void 0,images:kB(l),...I?{isQuickLabel:I}:{},...A?.[n]?{diffContext:A[n]}:{},...t?.[n]?{source:t[n]}:{}}})}function egA(e){const A=e.map(t=>t.diffContext||null);return A.some(t=>t!==null)?A:null}function tgA(e){const A=e.map(t=>t.source||void 0);return A.some(t=>t!==void 0)?A:null}async function l4A(e,A,t,i=rgA){const r=egA(A),n=tgA(A),a={p:e,a:AgA(A),g:t?.length?w4(t):void 0,...r?{d:r}:{},...n?{s:n}:{}},s=await $oA(a);return`${i}/#${s}`}async function c4A(){const A=window.location.hash.slice(1).split("?")[0];if(!A)return null;try{return await hv(A)}catch(t){return console.warn("Failed to parse share hash:",t),null}}function I4A(e){const A=new Blob([e]).size;return A<1024?`${A} B`:`${(A/1024).toFixed(1)} KB`}const igA="https://plannotator-paste.plannotator.workers.dev",rgA="https://share.plannotator.ai";async function C4A(e,A,t,i){const r=i?.pasteApiUrl??igA,n=i?.shareBaseUrl??rgA;try{const a=egA(A),s=tgA(A),o={p:e,a:AgA(A),g:t?.length?w4(t):void 0,...a?{d:a}:{},...s?{s}:{}},g=await $oA(o),{ciphertext:l,key:I}=await o4A(g),C=await fetch(`${r}/api/paste`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:l}),signal:AbortSignal.timeout(5e3)});if(!C.ok)return console.warn(`[sharing] Paste service returned ${C.status}`),null;const E=await C.json();return{shortUrl:`${n}/p/${E.id}#key=${I}`,id:E.id}}catch(a){return console.debug("[sharing] Short URL service unavailable, using hash-based sharing:",a),null}}async function uW(e,A=igA,t){try{const i=await fetch(`${A}/api/paste/${e}`,{signal:AbortSignal.timeout(1e4)});if(!i.ok)return console.warn(`[sharing] Paste fetch returned ${i.status} for id ${e}`),null;const r=await i.json();if(t){const n=await g4A(r.data,t);return await hv(n)}return await hv(r.data)}catch(i){return console.warn("[sharing] Failed to load from paste ID:",i),null}}function E4A(e,A,t,i,r,n,a,s,o){const[g,l]=aA.useState(!1),[I,C]=aA.useState(!0),[E,B]=aA.useState(""),[h,Q]=aA.useState(""),[f,m]=aA.useState(""),[y,v]=aA.useState(!1),[S,x]=aA.useState(""),[R,b]=aA.useState(null),[N,T]=aA.useState(null),[L,K]=aA.useState(""),H=aA.useCallback(()=>{b(null),T(null)},[]),k=aA.useCallback(()=>K(""),[]),U=aA.useCallback(async()=>{try{const P=window.location.pathname.match(/^\/p\/([A-Za-z0-9]{6,16})$/);if(P){const V=P[1],j=window.location.hash.slice(1),AA=j.startsWith("key=")?j.slice(4):void 0,X=await uW(V,o,AA);if(X){i(X.p);const gA=SD(X.a,X.d,X.s);if(r(gA),X.g?.length){const hA=kB(X.g)??[];n(hA),T(hA)}b(gA),l(!0),a?.();const nA=window.location.pathname.replace(/\/p\/[A-Za-z0-9]+$/,"")||"/";return window.history.replaceState({},"",nA),!0}return K("Failed to load shared plan — the link may be expired or incomplete."),!1}const q=window.location.hash.slice(1),Y=await c4A();if(Y){i(Y.p);const V=SD(Y.a,Y.d,Y.s);if(r(V),Y.g?.length){const j=kB(Y.g)??[];n(j),T(j)}return b(V),l(!0),a?.(),window.history.replaceState({},"",window.location.pathname),!0}return q&&K("Failed to load shared plan — the URL may have been truncated by your browser."),!1}catch(P){return console.error("Failed to load from share hash:",P),K("Failed to load shared plan — an unexpected error occurred."),!1}},[i,r,n,a,o]);aA.useEffect(()=>{U().finally(()=>C(!1))},[]),aA.useEffect(()=>{const P=()=>{window.location.hash.length>1&&U()};return window.addEventListener("hashchange",P),()=>window.removeEventListener("hashchange",P)},[U]);const O=aA.useCallback(async()=>{try{const P=await l4A(e,A,t,s);B(P),Q(I4A(P))}catch(P){console.error("Failed to generate share URL:",P),B(""),Q("")}},[e,A,t,s]);aA.useEffect(()=>{O()},[O]),aA.useEffect(()=>{m(""),x("")},[e,A]);const F=aA.useCallback(async()=>{if(e){v(!0),x("");try{const P=await C4A(e,A,t,{pasteApiUrl:o,shareBaseUrl:s});P?m(P.shortUrl):(m(""),x("Short URL service unavailable"))}catch{m(""),x("Failed to generate short URL")}finally{v(!1)}}},[e,A,t,s,o]),G=aA.useCallback(async P=>{try{let q;const Y=P.match(/\/p\/([A-Za-z0-9]{6,16})(?:#key=([A-Za-z0-9_-]+))?(?:\?|#|$)/);if(Y){const nA=Y[1],hA=Y[2],rA=await uW(nA,o,hA);if(!rA)return{success:!1,count:0,planTitle:"",error:"Failed to load from short URL — paste may have expired"};q=rA}else{const nA=P.indexOf("#");if(nA===-1)return{success:!1,count:0,planTitle:"",error:"Invalid share URL: no hash fragment or short link found"};const hA=P.slice(nA+1);if(!hA)return{success:!1,count:0,planTitle:"",error:"Invalid share URL: empty hash"};q=await hv(hA)}const j=(q.p||"").trim().split(`
|
|
500
|
-
`).find(nA=>nA.startsWith("#")),AA=j?j.replace(/^#+\s*/,"").trim():"Unknown Plan",X=SD(q.a,q.d,q.s);if(X.length===0)return{success:!0,count:0,planTitle:AA,error:"No annotations found in share link"};const gA=X.filter(nA=>!A.some(hA=>hA.originalText===nA.originalText&&hA.type===nA.type&&hA.text===nA.text));if(gA.length>0&&(r(nA=>{const hA=X.filter(oA=>!nA.some(lA=>lA.originalText===oA.originalText&&lA.type===oA.type&&lA.text===oA.text));if(hA.length===0)return nA;const rA=[...nA,...hA];return b(rA),rA}),q.g?.length)){const nA=kB(q.g)??[];n(hA=>{const rA=new Set(hA.map(lA=>lA.path)),oA=nA.filter(lA=>!rA.has(lA.path));return oA.length>0?[...hA,...oA]:hA}),T(nA)}return{success:!0,count:gA.length,planTitle:AA}}catch(q){return{success:!1,count:0,planTitle:"",error:q instanceof Error?q.message:"Failed to decompress share URL"}}},[A,t,r,n,o]);return{isSharedSession:g,isLoadingShared:I,shareUrl:E,shareUrlSize:h,shortShareUrl:f,isGeneratingShortUrl:y,shortUrlError:S,pendingSharedAnnotations:R,sharedGlobalAttachments:N,clearPendingSharedAnnotations:H,refreshShareUrl:O,generateShortUrl:F,importFromShareUrl:G,shareLoadError:L,clearShareLoadError:k}}var bD=(e=>(e.Approve="approve",e.Feedback="feedback",e))(bD||{});function u4A(e=window.location){const A=new URLSearchParams(e.search);let t=A.get("cb"),i=A.get("ct");if(!t||!i){const r=e.hash.indexOf("?");if(r!==-1){const n=new URLSearchParams(e.hash.slice(r+1));t=t??n.get("cb"),i=i??n.get("ct")}}if(!t||!i)return null;try{const{protocol:r}=new URL(t);if(r!=="https:"&&r!=="http:")return null}catch{return null}return{callbackUrl:t,token:i}}async function B4A(e,A,t){const i=e==="approve"?"Plan approved! The bot will proceed to implementation.":"Feedback sent! The bot will re-plan with your annotations.";try{const r=await fetch(A.callbackUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,token:A.token,annotated_url:t})});return r.ok?{type:"success",message:i}:{type:"error",message:r.status===401?"Plan link expired — request a new one from the bot.":"Callback failed."}}catch{return{type:"error",message:"Callback failed."}}}function d4A(e,A){const[t,i]=aA.useState(null),r=aA.useRef(null);return aA.useEffect(()=>{const n=e.current;if(!n)return;const a=n.querySelectorAll('[data-block-type="heading"]');if(a.length===0)return;const s=new Map;return r.current=new IntersectionObserver(o=>{o.forEach(I=>{s.set(I.target,I.isIntersecting)});let g=null,l=1/0;for(const[I,C]of s)if(C){const E=I.getBoundingClientRect();E.top<l&&(l=E.top,g=I)}if(g){const I=g.getAttribute("data-block-id");I&&i(I)}},{root:n,rootMargin:"-80px 0px -80% 0px",threshold:[0,.1,.5,1]}),a.forEach(o=>{r.current?.observe(o)}),()=>{r.current?.disconnect()}},[e,A]),t}function BW(e){window.close(),setTimeout(()=>{window.closed||e()},300)}function h4A(e){const[A,t]=aA.useState({phase:"idle"});aA.useEffect(()=>{if(!e)return;const r=XAA();r==="0"?(BW(()=>t({phase:"closeFailed"})),t({phase:"closed"})):t(r!=="off"?{phase:"counting",remaining:Number(r)}:{phase:"prompt"})},[e]),aA.useEffect(()=>{if(A.phase!=="counting")return;if(A.remaining<=0){BW(()=>t({phase:"closeFailed"}));return}const r=setTimeout(()=>t(n=>n.phase==="counting"?{phase:"counting",remaining:n.remaining-1}:n),1e3);return()=>clearTimeout(r)},[A]);const i=aA.useCallback(()=>{$AA("3"),t({phase:"counting",remaining:3})},[]);return{state:A,enableAndStart:i}}const Q4A=()=>w.jsx("svg",{className:"w-8 h-8",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})}),f4A=()=>w.jsx("svg",{className:"w-8 h-8",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:w.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 p4A({submitted:e,title:A,subtitle:t,agentLabel:i}){const{state:r,enableAndStart:n}=h4A(!!e);if(!e)return null;const a=e==="approved";return w.jsx("div",{className:"fixed inset-0 z-[100] bg-background flex items-center justify-center",children:w.jsxs("div",{className:"text-center space-y-6 max-w-md px-8",children:[w.jsx("div",{className:`mx-auto w-16 h-16 rounded-full flex items-center justify-center ${a?"bg-success/20 text-success":"bg-accent/20 text-accent"}`,children:a?w.jsx(Q4A,{}):w.jsx(f4A,{})}),w.jsxs("div",{className:"space-y-2",children:[w.jsx("h2",{className:"text-xl font-semibold text-foreground",children:A}),w.jsx("p",{className:"text-muted-foreground",children:t})]}),w.jsx("div",{className:"pt-4 border-t border-border space-y-2",children:r.phase==="counting"?w.jsxs(w.Fragment,{children:[w.jsxs("p",{className:"text-sm text-muted-foreground",children:["This tab will close in ",w.jsx("span",{className:"text-foreground font-medium",children:r.remaining})," second",r.remaining!==1?"s":"","..."]}),w.jsx("p",{className:"text-xs text-muted-foreground/60",children:"You can change this in Settings."})]}):r.phase==="closeFailed"?w.jsxs(w.Fragment,{children:[w.jsx("p",{className:"text-sm text-muted-foreground",children:"Could not close this tab automatically. Please close it manually."}),w.jsxs("p",{className:"text-xs text-muted-foreground/60",children:["Auto-close works when the tab is opened by ",i,"."]})]}):w.jsxs(w.Fragment,{children:[w.jsxs("p",{className:"text-sm text-muted-foreground",children:["You can close this tab and return to ",w.jsx("span",{className:"text-foreground font-medium",children:i}),"."]}),r.phase==="prompt"?w.jsxs(w.Fragment,{children:[w.jsxs("label",{className:"flex items-center justify-center gap-2 cursor-pointer group",children:[w.jsx("input",{type:"checkbox",checked:!1,onChange:n,className:"accent-primary"}),w.jsx("span",{className:"text-xs text-muted-foreground group-hover:text-foreground transition-colors",children:"Auto-close this tab after 3 seconds"})]}),w.jsx("p",{className:"text-xs text-muted-foreground/60",children:"You can change the delay in Settings."})]}):w.jsx("p",{className:"text-xs text-muted-foreground/60",children:"Your response has been sent."})]})})]})})}const m4A="https://api.github.com/repos/backnotprop/plannotator/releases/latest",dW={"0.5.0":{title:"Code Review is here!",description:"Review git diffs with inline annotations. Run /plannotator-review to try it."}};function y4A(e,A){const t=n=>n.replace(/^v/,""),i=t(e).split(".").map(Number),r=t(A).split(".").map(Number);for(let n=0;n<Math.max(i.length,r.length);n++){const a=i[n]||0,s=r[n]||0;if(s>a)return!0;if(s<a)return!1}return!1}function D4A(){const[e,A]=aA.useState(null);return aA.useEffect(()=>{(async()=>{try{const i="0.16.4",n=new URLSearchParams(window.location.search).get("preview-update");if(n){const C=n.replace(/^v/,"");A({currentVersion:i,latestVersion:n,updateAvailable:!0,releaseUrl:`https://github.com/backnotprop/plannotator/releases/tag/v${C}`,featureHighlight:dW[C]});return}const a=await fetch(m4A);if(!a.ok)return;const s=await a.json(),o=s.tag_name,g=y4A(i,o),l=o.replace(/^v/,""),I=dW[l];A({currentVersion:i,latestVersion:o,updateAvailable:g,releaseUrl:s.html_url,featureHighlight:I})}catch(i){console.debug("Update check failed:",i)}})()},[]),e}const w4A="pi install npm:@plannotator/pi-extension";function v4A(e){return JyA&&!e?'powershell -c "irm https://plannotator.ai/install.ps1 | iex"':"curl -fsSL https://plannotator.ai/install.sh | bash"}const S4A=({origin:e,isWSL:A=!1})=>{const t=D4A(),[i,r]=aA.useState(!1),[n,a]=aA.useState(!1),g=new URLSearchParams(window.location.search).get("preview-origin")||e,l=g==="pi",I=g==="opencode",C=l?w4A:v4A(A);if(!t?.updateAvailable||n)return null;const E=async()=>{try{await navigator.clipboard.writeText(C),r(!0),setTimeout(()=>r(!1),2e3)}catch(h){console.error("Failed to copy:",h)}};return t.featureHighlight?w.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:w.jsxs("div",{className:"bg-card border border-primary/30 rounded-xl shadow-2xl overflow-hidden",children:[w.jsx("div",{className:"bg-gradient-to-r from-primary/20 to-primary/5 px-5 py-4 border-b border-border/50",children:w.jsxs("div",{className:"flex items-start justify-between gap-3",children:[w.jsxs("div",{className:"flex items-center gap-3",children:[w.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-primary/20 flex items-center justify-center",children:w.jsx("svg",{className:"w-5 h-5 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.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"})})}),w.jsxs("div",{children:[w.jsx("h4",{className:"text-base font-semibold text-foreground",children:t.featureHighlight.title}),w.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:["New in ",t.latestVersion]})]})]}),w.jsx("button",{onClick:()=>a(!0),className:"text-muted-foreground hover:text-foreground transition-colors p-1",children:w.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]})}),w.jsxs("div",{className:"px-5 py-4",children:[w.jsx("p",{className:"text-sm text-foreground/80 leading-relaxed",children:t.featureHighlight.description}),w.jsxs("p",{className:"text-xs text-muted-foreground mt-3",children:["You have ",t.currentVersion]}),I&&w.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Run the install script, then restart OpenCode."}),l&&w.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Run the install command, then restart Pi."}),w.jsxs("div",{className:"mt-4 flex items-center gap-2",children:[w.jsx("button",{onClick:E,className:"flex-1 px-4 py-2 text-sm font-medium bg-primary text-primary-foreground rounded-lg hover:opacity-90 transition-opacity",children:i?"Copied!":"Copy install command"}),w.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"})]})]})]})}):w.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:w.jsx("div",{className:"bg-card border border-border rounded-lg shadow-xl p-4",children:w.jsxs("div",{className:"flex items-start gap-3",children:[w.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-primary/20 flex items-center justify-center",children:w.jsx("svg",{className:"w-4 h-4 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.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"})})}),w.jsxs("div",{className:"flex-1 min-w-0",children:[w.jsxs("div",{className:"flex items-center justify-between gap-2",children:[w.jsx("h4",{className:"text-sm font-medium text-foreground",children:"Update available"}),w.jsx("button",{onClick:()=>a(!0),className:"text-muted-foreground hover:text-foreground transition-colors",children:w.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),w.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:[t.latestVersion," is available (you have ",t.currentVersion,")"]}),w.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[w.jsx("button",{onClick:E,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:i?"Copied!":"Copy install command"}),w.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"})]})]})]})})})},ngA="plannotator-editor-mode",b4A="selection";function R4A(){const e=ze.getItem(ngA);return e==="selection"||e==="comment"||e==="redline"||e==="quickLabel"?e:b4A}function N4A(e){ze.setItem(ngA,e)}const agA="plannotator-input-method",M4A="drag";function k4A(){const e=ze.getItem(agA);return e==="drag"||e==="pinpoint"?e:M4A}function x4A(e){ze.setItem(agA,e)}const L4A=300,T4A=300;function F4A(e,A){const t=aA.useRef("idle"),i=aA.useRef(0),r=aA.useRef(void 0),n=aA.useRef(e);aA.useEffect(()=>{t.current==="idle"&&(n.current=e)},[e]);const a=aA.useCallback(s=>s==="drag"?"pinpoint":"drag",[]);aA.useEffect(()=>{const s=g=>{if(g.key!=="Alt"||g.repeat)return;const l=g.target?.tagName;l==="INPUT"||l==="TEXTAREA"||g.target?.isContentEditable||document.querySelector("[data-quick-label-picker]")||(t.current==="idle"?(n.current=e,i.current=Date.now(),t.current="held",A(a(e))):t.current==="tapped"&&(clearTimeout(r.current),t.current="idle",n.current=a(n.current)))},o=g=>{g.key==="Alt"&&t.current==="held"&&(Date.now()-i.current>=T4A?(A(n.current),t.current="idle"):(t.current="tapped",r.current=setTimeout(()=>{t.current==="tapped"&&(A(n.current),t.current="idle")},L4A)))};return window.addEventListener("keydown",s),window.addEventListener("keyup",o),()=>{clearTimeout(r.current),window.removeEventListener("keydown",s),window.removeEventListener("keyup",o)}},[e,A,a])}function G4A(){aA.useEffect(()=>{const e=()=>document.documentElement.classList.add("plannotator-print"),A=()=>document.documentElement.classList.remove("plannotator-print"),t=()=>{!document.hidden&&document.documentElement.classList.contains("plannotator-print")&&document.documentElement.classList.remove("plannotator-print")};return window.addEventListener("beforeprint",e),window.addEventListener("afterprint",A),document.addEventListener("visibilitychange",t),()=>{window.removeEventListener("beforeprint",e),window.removeEventListener("afterprint",A),document.removeEventListener("visibilitychange",t),document.documentElement.classList.remove("plannotator-print")}},[])}function hW({storageKey:e,defaultWidth:A=288,minWidth:t=200,maxWidth:i=600,side:r="right"}){const[n,a]=aA.useState(()=>{const Q=ze.getItem(e);if(Q){const f=Number(Q);if(!Number.isNaN(f)&&f>=t&&f<=i)return f}return A}),[s,o]=aA.useState(!1),g=aA.useRef(0),l=aA.useRef(0),I=aA.useRef(n),C=aA.useCallback(Q=>{I.current=Q,a(Q)},[]),E=aA.useCallback(Q=>{Q.preventDefault(),g.current=Q.clientX,l.current=I.current,o(!0)},[]),B=aA.useCallback(Q=>{Q.preventDefault(),g.current=Q.touches[0].clientX,l.current=I.current,o(!0)},[]);aA.useEffect(()=>{if(!s)return;const Q=y=>"touches"in y?y.touches[0]?.clientX??y.changedTouches[0]?.clientX??0:y.clientX,f=y=>{const v=Q(y),S=r==="right"?g.current-v:v-g.current;C(Math.min(i,Math.max(t,l.current+S)))},m=()=>{o(!1),ze.setItem(e,String(I.current))};return document.addEventListener("mousemove",f),document.addEventListener("mouseup",m),document.addEventListener("touchmove",f,{passive:!1}),document.addEventListener("touchend",m),document.addEventListener("touchcancel",m),()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",m),document.removeEventListener("touchmove",f),document.removeEventListener("touchend",m),document.removeEventListener("touchcancel",m)}},[s,t,i,e,r,C]);const h=aA.useCallback(()=>{C(A),ze.setItem(e,String(A))},[A,e,C]);return{width:n,isDragging:s,handleProps:{isDragging:s,onMouseDown:E,onTouchStart:B,onDoubleClick:h}}}const QW=({isDragging:e,onMouseDown:A,onTouchStart:t,onDoubleClick:i,className:r,side:n})=>w.jsxs("div",{className:`relative w-0 cursor-col-resize flex-shrink-0 group z-10${r?` ${r}`:""}`,children:[w.jsx("div",{className:`absolute inset-y-0 -left-0.5 -right-0.5 transition-colors ${e?"bg-primary/50":"group-hover:bg-border"}`}),w.jsx("div",{className:`absolute inset-y-0 ${n==="left"?"-right-2 -left-1":n==="right"?"-left-2 -right-1":"-inset-x-2"}`,onMouseDown:A,onTouchStart:t,onDoubleClick:i})]}),O4A=({className:e,panelClassName:A,renderTrigger:t,children:i})=>{const[r,n]=aA.useState(!1),a=aA.useRef(null);return aA.useEffect(()=>{if(!r)return;const s=g=>{a.current&&!a.current.contains(g.target)&&n(!1)},o=g=>{g.key==="Escape"&&n(!1)};return document.addEventListener("pointerdown",s),document.addEventListener("keydown",o),()=>{document.removeEventListener("pointerdown",s),document.removeEventListener("keydown",o)}},[r]),w.jsxs("div",{ref:a,className:e?`relative ${e}`:"relative",children:[t({isOpen:r,toggleMenu:()=>n(s=>!s)}),r&&w.jsx("div",{className:A??"absolute top-full right-0 mt-1 w-56 rounded-lg border border-border bg-popover py-1 shadow-xl z-[70]",children:i({closeMenu:()=>n(!1)})})]})},FC=({onClick:e,icon:A,label:t,badge:i})=>w.jsxs("button",{onClick:e,className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs transition-colors hover:bg-muted",children:[w.jsx("span",{className:"text-muted-foreground",children:A}),w.jsx("span",{className:"flex-1",children:t}),i]}),tL=()=>w.jsx("div",{className:"my-1 border-t border-border"}),U4A=({children:e})=>w.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:e}),K4A=({isPanelOpen:e,onTogglePanel:A,annotationCount:t,onOpenExport:i,onOpenSettings:r,onDownloadAnnotations:n,onCopyShareLink:a,onOpenImport:s,onPrint:o,sharingEnabled:g,className:l})=>{const{theme:I,setTheme:C}=f4();return w.jsx(O4A,{className:l,renderTrigger:({isOpen:E,toggleMenu:B})=>w.jsx("button",{onClick:B,className:"p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",title:"Menu",children:E?w.jsx("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}):w.jsx("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 6h16M4 12h16M4 18h16"})})}),panelClassName:"absolute top-full right-0 mt-1 w-56 bg-popover border border-border rounded-lg shadow-xl z-[70] py-1",children:({closeMenu:E})=>w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"px-3 py-2",children:[w.jsx("div",{className:"mb-1.5",children:w.jsx(U4A,{children:"Theme"})}),w.jsx("div",{className:"flex items-center gap-1 bg-muted/50 rounded-lg p-0.5",children:["light","dark","system"].map(B=>w.jsx("button",{onClick:()=>C(B),className:`flex-1 px-2 py-1 text-[10px] capitalize rounded-md transition-colors ${I===B?"bg-background text-foreground shadow-sm font-medium":"text-muted-foreground hover:text-foreground"}`,children:B},B))})]}),w.jsx(tL,{}),w.jsx(FC,{onClick:()=>{E(),r()},icon:w.jsx(Y4A,{}),label:"Settings"}),w.jsx(FC,{onClick:()=>{E(),A()},icon:w.jsx(H4A,{}),label:e?"Hide Annotations":"Show Annotations",badge:t>0?w.jsx("span",{className:"text-[10px] font-mono bg-muted px-1.5 py-0.5 rounded text-muted-foreground",children:t}):void 0}),w.jsx(tL,{}),w.jsx(FC,{onClick:()=>{E(),i()},icon:w.jsx(P4A,{}),label:"Export"}),w.jsx(FC,{onClick:()=>{E(),n()},icon:w.jsx(J4A,{}),label:"Download Annotations"}),w.jsx(FC,{onClick:()=>{E(),o()},icon:w.jsx(W4A,{}),label:"Print Plan"}),g&&w.jsx(FC,{onClick:()=>{E(),a()},icon:w.jsx(z4A,{}),label:"Copy Share Link"}),g&&w.jsxs(w.Fragment,{children:[w.jsx(tL,{}),w.jsx(FC,{onClick:()=>{E(),s()},icon:w.jsx(q4A,{}),label:"Import Review"})]})]})})},Y4A=()=>w.jsxs("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:[w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]}),H4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})}),P4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.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"})}),J4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),z4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"})}),q4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M10 17l5-5-5-5M15 12H3"})}),W4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 17h2a2 2 0 002-2v-4a2 2 0 00-2-2H5a2 2 0 00-2 2v4a2 2 0 002 2h2m2 4h6a2 2 0 002-2v-4a2 2 0 00-2-2H9a2 2 0 00-2 2v4a2 2 0 002 2zm8-12V5a2 2 0 00-2-2H9a2 2 0 00-2 2v4h10z"})}),V4A=({isOpen:e,onComplete:A})=>{const[t,i]=aA.useState("acceptEdits");if(!e)return null;const r=()=>{PoA(t),A(t)};return sg.createPortal(w.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-background/90 backdrop-blur-sm p-4",children:w.jsxs("div",{className:"bg-card border border-border rounded-xl w-full max-w-lg shadow-2xl",children:[w.jsxs("div",{className:"p-5 border-b border-border",children:[w.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[w.jsx("div",{className:"p-1.5 rounded-lg bg-primary/15",children:w.jsx("svg",{className:"w-5 h-5 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75v-.7V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0"})})}),w.jsx("h3",{className:"font-semibold text-base",children:"New: Permission Mode Preservation"})]}),w.jsx("p",{className:"text-sm text-muted-foreground",children:"Claude Code 2.1.7+ supports preserving your permission mode after plan approval. Choose your preferred automation level."}),w.jsxs("p",{className:"text-xs text-muted-foreground/70 mt-1",children:["Requires Claude Code 2.1.7 or later. Run ",w.jsx("code",{className:"bg-muted px-1 rounded",children:"claude update"})," to update."]})]}),w.jsx("div",{className:"p-4 space-y-2",children:i3.map(n=>w.jsxs("label",{className:`flex items-start gap-3 p-3 rounded-lg cursor-pointer transition-all border ${t===n.value?"border-primary bg-primary/10":"border-transparent bg-muted/50 hover:bg-muted"}`,children:[w.jsx("input",{type:"radio",name:"permissionMode",value:n.value,checked:t===n.value,onChange:()=>i(n.value),className:"mt-0.5 accent-primary"}),w.jsxs("div",{className:"flex-1",children:[w.jsx("div",{className:"text-sm font-medium",children:n.label}),w.jsx("div",{className:"text-xs text-muted-foreground",children:n.description})]})]},n.value))}),w.jsxs("div",{className:"p-4 border-t border-border flex justify-between items-center",children:[w.jsx("p",{className:"text-xs text-muted-foreground",children:"You can change this later in Settings."}),w.jsx("button",{onClick:r,className:"px-4 py-2 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:opacity-90 transition-opacity",children:"Continue"})]})]})}),document.body)};function Z4A(e){const[A,t]=aA.useState(e),[i,r]=aA.useState("toc"),n=aA.useCallback(o=>{t(!0),o&&r(o)},[]),a=aA.useCallback(()=>{t(!1)},[]),s=aA.useCallback(o=>{A?i===o?t(!1):r(o):(t(!0),r(o))},[A,i]);return{isOpen:A,activeTab:i,open:n,close:a,toggleTab:s}}class j4A{diff(A,t,i={}){let r;typeof i=="function"?(r=i,i={}):"callback"in i&&(r=i.callback);const n=this.castInput(A,i),a=this.castInput(t,i),s=this.removeEmpty(this.tokenize(n,i)),o=this.removeEmpty(this.tokenize(a,i));return this.diffWithOptionsObj(s,o,i,r)}diffWithOptionsObj(A,t,i,r){var n;const a=m=>{if(m=this.postProcess(m,i),r){setTimeout(function(){r(m)},0);return}else return m},s=t.length,o=A.length;let g=1,l=s+o;i.maxEditLength!=null&&(l=Math.min(l,i.maxEditLength));const I=(n=i.timeout)!==null&&n!==void 0?n:1/0,C=Date.now()+I,E=[{oldPos:-1,lastComponent:void 0}];let B=this.extractCommon(E[0],t,A,0,i);if(E[0].oldPos+1>=o&&B+1>=s)return a(this.buildValues(E[0].lastComponent,t,A));let h=-1/0,Q=1/0;const f=()=>{for(let m=Math.max(h,-g);m<=Math.min(Q,g);m+=2){let y;const v=E[m-1],S=E[m+1];v&&(E[m-1]=void 0);let x=!1;if(S){const b=S.oldPos-m;x=S&&0<=b&&b<s}const R=v&&v.oldPos+1<o;if(!x&&!R){E[m]=void 0;continue}if(!R||x&&v.oldPos<S.oldPos?y=this.addToPath(S,!0,!1,0,i):y=this.addToPath(v,!1,!0,1,i),B=this.extractCommon(y,t,A,m,i),y.oldPos+1>=o&&B+1>=s)return a(this.buildValues(y.lastComponent,t,A))||!0;E[m]=y,y.oldPos+1>=o&&(Q=Math.min(Q,m-1)),B+1>=s&&(h=Math.max(h,m+1))}g++};if(r)(function m(){setTimeout(function(){if(g>l||Date.now()>C)return r(void 0);f()||m()},0)})();else for(;g<=l&&Date.now()<=C;){const m=f();if(m)return m}}addToPath(A,t,i,r,n){const a=A.lastComponent;return a&&!n.oneChangePerToken&&a.added===t&&a.removed===i?{oldPos:A.oldPos+r,lastComponent:{count:a.count+1,added:t,removed:i,previousComponent:a.previousComponent}}:{oldPos:A.oldPos+r,lastComponent:{count:1,added:t,removed:i,previousComponent:a}}}extractCommon(A,t,i,r,n){const a=t.length,s=i.length;let o=A.oldPos,g=o-r,l=0;for(;g+1<a&&o+1<s&&this.equals(i[o+1],t[g+1],n);)g++,o++,l++,n.oneChangePerToken&&(A.lastComponent={count:1,previousComponent:A.lastComponent,added:!1,removed:!1});return l&&!n.oneChangePerToken&&(A.lastComponent={count:l,previousComponent:A.lastComponent,added:!1,removed:!1}),A.oldPos=o,g}equals(A,t,i){return i.comparator?i.comparator(A,t):A===t||!!i.ignoreCase&&A.toLowerCase()===t.toLowerCase()}removeEmpty(A){const t=[];for(let i=0;i<A.length;i++)A[i]&&t.push(A[i]);return t}castInput(A,t){return A}tokenize(A,t){return Array.from(A)}join(A){return A.join("")}postProcess(A,t){return A}get useLongestToken(){return!1}buildValues(A,t,i){const r=[];let n;for(;A;)r.push(A),n=A.previousComponent,delete A.previousComponent,A=n;r.reverse();const a=r.length;let s=0,o=0,g=0;for(;s<a;s++){const l=r[s];if(l.removed)l.value=this.join(i.slice(g,g+l.count)),g+=l.count;else{if(!l.added&&this.useLongestToken){let I=t.slice(o,o+l.count);I=I.map(function(C,E){const B=i[g+E];return B.length>C.length?B:C}),l.value=this.join(I)}else l.value=this.join(t.slice(o,o+l.count));o+=l.count,l.added||(g+=l.count)}}return r}}class _4A extends j4A{constructor(){super(...arguments),this.tokenize=AKA}equals(A,t,i){return i.ignoreWhitespace?((!i.newlineIsToken||!A.includes(`
|
|
500
|
+
`).find(nA=>nA.startsWith("#")),AA=j?j.replace(/^#+\s*/,"").trim():"Unknown Plan",X=SD(q.a,q.d,q.s);if(X.length===0)return{success:!0,count:0,planTitle:AA,error:"No annotations found in share link"};const gA=X.filter(nA=>!A.some(hA=>hA.originalText===nA.originalText&&hA.type===nA.type&&hA.text===nA.text));if(gA.length>0&&(r(nA=>{const hA=X.filter(oA=>!nA.some(lA=>lA.originalText===oA.originalText&&lA.type===oA.type&&lA.text===oA.text));if(hA.length===0)return nA;const rA=[...nA,...hA];return b(rA),rA}),q.g?.length)){const nA=kB(q.g)??[];n(hA=>{const rA=new Set(hA.map(lA=>lA.path)),oA=nA.filter(lA=>!rA.has(lA.path));return oA.length>0?[...hA,...oA]:hA}),T(nA)}return{success:!0,count:gA.length,planTitle:AA}}catch(q){return{success:!1,count:0,planTitle:"",error:q instanceof Error?q.message:"Failed to decompress share URL"}}},[A,t,r,n,o]);return{isSharedSession:g,isLoadingShared:I,shareUrl:E,shareUrlSize:h,shortShareUrl:f,isGeneratingShortUrl:y,shortUrlError:S,pendingSharedAnnotations:R,sharedGlobalAttachments:N,clearPendingSharedAnnotations:H,refreshShareUrl:O,generateShortUrl:F,importFromShareUrl:G,shareLoadError:L,clearShareLoadError:k}}var bD=(e=>(e.Approve="approve",e.Feedback="feedback",e))(bD||{});function u4A(e=window.location){const A=new URLSearchParams(e.search);let t=A.get("cb"),i=A.get("ct");if(!t||!i){const r=e.hash.indexOf("?");if(r!==-1){const n=new URLSearchParams(e.hash.slice(r+1));t=t??n.get("cb"),i=i??n.get("ct")}}if(!t||!i)return null;try{const{protocol:r}=new URL(t);if(r!=="https:"&&r!=="http:")return null}catch{return null}return{callbackUrl:t,token:i}}async function B4A(e,A,t){const i=e==="approve"?"Plan approved! The bot will proceed to implementation.":"Feedback sent! The bot will re-plan with your annotations.";try{const r=await fetch(A.callbackUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,token:A.token,annotated_url:t})});return r.ok?{type:"success",message:i}:{type:"error",message:r.status===401?"Plan link expired — request a new one from the bot.":"Callback failed."}}catch{return{type:"error",message:"Callback failed."}}}function d4A(e,A){const[t,i]=aA.useState(null),r=aA.useRef(null);return aA.useEffect(()=>{const n=e.current;if(!n)return;const a=n.querySelectorAll('[data-block-type="heading"]');if(a.length===0)return;const s=new Map;return r.current=new IntersectionObserver(o=>{o.forEach(I=>{s.set(I.target,I.isIntersecting)});let g=null,l=1/0;for(const[I,C]of s)if(C){const E=I.getBoundingClientRect();E.top<l&&(l=E.top,g=I)}if(g){const I=g.getAttribute("data-block-id");I&&i(I)}},{root:n,rootMargin:"-80px 0px -80% 0px",threshold:[0,.1,.5,1]}),a.forEach(o=>{r.current?.observe(o)}),()=>{r.current?.disconnect()}},[e,A]),t}function BW(e){window.close(),setTimeout(()=>{window.closed||e()},300)}function h4A(e){const[A,t]=aA.useState({phase:"idle"});aA.useEffect(()=>{if(!e)return;const r=XAA();r==="0"?(BW(()=>t({phase:"closeFailed"})),t({phase:"closed"})):t(r!=="off"?{phase:"counting",remaining:Number(r)}:{phase:"prompt"})},[e]),aA.useEffect(()=>{if(A.phase!=="counting")return;if(A.remaining<=0){BW(()=>t({phase:"closeFailed"}));return}const r=setTimeout(()=>t(n=>n.phase==="counting"?{phase:"counting",remaining:n.remaining-1}:n),1e3);return()=>clearTimeout(r)},[A]);const i=aA.useCallback(()=>{$AA("3"),t({phase:"counting",remaining:3})},[]);return{state:A,enableAndStart:i}}const Q4A=()=>w.jsx("svg",{className:"w-8 h-8",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})}),f4A=()=>w.jsx("svg",{className:"w-8 h-8",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:w.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 p4A({submitted:e,title:A,subtitle:t,agentLabel:i}){const{state:r,enableAndStart:n}=h4A(!!e);if(!e)return null;const a=e==="approved";return w.jsx("div",{className:"fixed inset-0 z-[100] bg-background flex items-center justify-center",children:w.jsxs("div",{className:"text-center space-y-6 max-w-md px-8",children:[w.jsx("div",{className:`mx-auto w-16 h-16 rounded-full flex items-center justify-center ${a?"bg-success/20 text-success":"bg-accent/20 text-accent"}`,children:a?w.jsx(Q4A,{}):w.jsx(f4A,{})}),w.jsxs("div",{className:"space-y-2",children:[w.jsx("h2",{className:"text-xl font-semibold text-foreground",children:A}),w.jsx("p",{className:"text-muted-foreground",children:t})]}),w.jsx("div",{className:"pt-4 border-t border-border space-y-2",children:r.phase==="counting"?w.jsxs(w.Fragment,{children:[w.jsxs("p",{className:"text-sm text-muted-foreground",children:["This tab will close in ",w.jsx("span",{className:"text-foreground font-medium",children:r.remaining})," second",r.remaining!==1?"s":"","..."]}),w.jsx("p",{className:"text-xs text-muted-foreground/60",children:"You can change this in Settings."})]}):r.phase==="closeFailed"?w.jsxs(w.Fragment,{children:[w.jsx("p",{className:"text-sm text-muted-foreground",children:"Could not close this tab automatically. Please close it manually."}),w.jsxs("p",{className:"text-xs text-muted-foreground/60",children:["Auto-close works when the tab is opened by ",i,"."]})]}):w.jsxs(w.Fragment,{children:[w.jsxs("p",{className:"text-sm text-muted-foreground",children:["You can close this tab and return to ",w.jsx("span",{className:"text-foreground font-medium",children:i}),"."]}),r.phase==="prompt"?w.jsxs(w.Fragment,{children:[w.jsxs("label",{className:"flex items-center justify-center gap-2 cursor-pointer group",children:[w.jsx("input",{type:"checkbox",checked:!1,onChange:n,className:"accent-primary"}),w.jsx("span",{className:"text-xs text-muted-foreground group-hover:text-foreground transition-colors",children:"Auto-close this tab after 3 seconds"})]}),w.jsx("p",{className:"text-xs text-muted-foreground/60",children:"You can change the delay in Settings."})]}):w.jsx("p",{className:"text-xs text-muted-foreground/60",children:"Your response has been sent."})]})})]})})}const m4A="https://api.github.com/repos/backnotprop/plannotator/releases/latest",dW={"0.5.0":{title:"Code Review is here!",description:"Review git diffs with inline annotations. Run /plannotator-review to try it."}};function y4A(e,A){const t=n=>n.replace(/^v/,""),i=t(e).split(".").map(Number),r=t(A).split(".").map(Number);for(let n=0;n<Math.max(i.length,r.length);n++){const a=i[n]||0,s=r[n]||0;if(s>a)return!0;if(s<a)return!1}return!1}function D4A(){const[e,A]=aA.useState(null);return aA.useEffect(()=>{(async()=>{try{const i="0.16.6",n=new URLSearchParams(window.location.search).get("preview-update");if(n){const C=n.replace(/^v/,"");A({currentVersion:i,latestVersion:n,updateAvailable:!0,releaseUrl:`https://github.com/backnotprop/plannotator/releases/tag/v${C}`,featureHighlight:dW[C]});return}const a=await fetch(m4A);if(!a.ok)return;const s=await a.json(),o=s.tag_name,g=y4A(i,o),l=o.replace(/^v/,""),I=dW[l];A({currentVersion:i,latestVersion:o,updateAvailable:g,releaseUrl:s.html_url,featureHighlight:I})}catch(i){console.debug("Update check failed:",i)}})()},[]),e}const w4A="pi install npm:@plannotator/pi-extension";function v4A(e){return JyA&&!e?'powershell -c "irm https://plannotator.ai/install.ps1 | iex"':"curl -fsSL https://plannotator.ai/install.sh | bash"}const S4A=({origin:e,isWSL:A=!1})=>{const t=D4A(),[i,r]=aA.useState(!1),[n,a]=aA.useState(!1),g=new URLSearchParams(window.location.search).get("preview-origin")||e,l=g==="pi",I=g==="opencode",C=l?w4A:v4A(A);if(!t?.updateAvailable||n)return null;const E=async()=>{try{await navigator.clipboard.writeText(C),r(!0),setTimeout(()=>r(!1),2e3)}catch(h){console.error("Failed to copy:",h)}};return t.featureHighlight?w.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:w.jsxs("div",{className:"bg-card border border-primary/30 rounded-xl shadow-2xl overflow-hidden",children:[w.jsx("div",{className:"bg-gradient-to-r from-primary/20 to-primary/5 px-5 py-4 border-b border-border/50",children:w.jsxs("div",{className:"flex items-start justify-between gap-3",children:[w.jsxs("div",{className:"flex items-center gap-3",children:[w.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-lg bg-primary/20 flex items-center justify-center",children:w.jsx("svg",{className:"w-5 h-5 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.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"})})}),w.jsxs("div",{children:[w.jsx("h4",{className:"text-base font-semibold text-foreground",children:t.featureHighlight.title}),w.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:["New in ",t.latestVersion]})]})]}),w.jsx("button",{onClick:()=>a(!0),className:"text-muted-foreground hover:text-foreground transition-colors p-1",children:w.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]})}),w.jsxs("div",{className:"px-5 py-4",children:[w.jsx("p",{className:"text-sm text-foreground/80 leading-relaxed",children:t.featureHighlight.description}),w.jsxs("p",{className:"text-xs text-muted-foreground mt-3",children:["You have ",t.currentVersion]}),I&&w.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Run the install script, then restart OpenCode."}),l&&w.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"Run the install command, then restart Pi."}),w.jsxs("div",{className:"mt-4 flex items-center gap-2",children:[w.jsx("button",{onClick:E,className:"flex-1 px-4 py-2 text-sm font-medium bg-primary text-primary-foreground rounded-lg hover:opacity-90 transition-opacity",children:i?"Copied!":"Copy install command"}),w.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"})]})]})]})}):w.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:w.jsx("div",{className:"bg-card border border-border rounded-lg shadow-xl p-4",children:w.jsxs("div",{className:"flex items-start gap-3",children:[w.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-primary/20 flex items-center justify-center",children:w.jsx("svg",{className:"w-4 h-4 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.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"})})}),w.jsxs("div",{className:"flex-1 min-w-0",children:[w.jsxs("div",{className:"flex items-center justify-between gap-2",children:[w.jsx("h4",{className:"text-sm font-medium text-foreground",children:"Update available"}),w.jsx("button",{onClick:()=>a(!0),className:"text-muted-foreground hover:text-foreground transition-colors",children:w.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),w.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:[t.latestVersion," is available (you have ",t.currentVersion,")"]}),w.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[w.jsx("button",{onClick:E,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:i?"Copied!":"Copy install command"}),w.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"})]})]})]})})})},ngA="plannotator-editor-mode",b4A="selection";function R4A(){const e=ze.getItem(ngA);return e==="selection"||e==="comment"||e==="redline"||e==="quickLabel"?e:b4A}function N4A(e){ze.setItem(ngA,e)}const agA="plannotator-input-method",M4A="drag";function k4A(){const e=ze.getItem(agA);return e==="drag"||e==="pinpoint"?e:M4A}function x4A(e){ze.setItem(agA,e)}const L4A=300,T4A=300;function F4A(e,A){const t=aA.useRef("idle"),i=aA.useRef(0),r=aA.useRef(void 0),n=aA.useRef(e);aA.useEffect(()=>{t.current==="idle"&&(n.current=e)},[e]);const a=aA.useCallback(s=>s==="drag"?"pinpoint":"drag",[]);aA.useEffect(()=>{const s=g=>{if(g.key!=="Alt"||g.repeat)return;const l=g.target?.tagName;l==="INPUT"||l==="TEXTAREA"||g.target?.isContentEditable||document.querySelector("[data-quick-label-picker]")||(t.current==="idle"?(n.current=e,i.current=Date.now(),t.current="held",A(a(e))):t.current==="tapped"&&(clearTimeout(r.current),t.current="idle",n.current=a(n.current)))},o=g=>{g.key==="Alt"&&t.current==="held"&&(Date.now()-i.current>=T4A?(A(n.current),t.current="idle"):(t.current="tapped",r.current=setTimeout(()=>{t.current==="tapped"&&(A(n.current),t.current="idle")},L4A)))};return window.addEventListener("keydown",s),window.addEventListener("keyup",o),()=>{clearTimeout(r.current),window.removeEventListener("keydown",s),window.removeEventListener("keyup",o)}},[e,A,a])}function G4A(){aA.useEffect(()=>{const e=()=>document.documentElement.classList.add("plannotator-print"),A=()=>document.documentElement.classList.remove("plannotator-print"),t=()=>{!document.hidden&&document.documentElement.classList.contains("plannotator-print")&&document.documentElement.classList.remove("plannotator-print")};return window.addEventListener("beforeprint",e),window.addEventListener("afterprint",A),document.addEventListener("visibilitychange",t),()=>{window.removeEventListener("beforeprint",e),window.removeEventListener("afterprint",A),document.removeEventListener("visibilitychange",t),document.documentElement.classList.remove("plannotator-print")}},[])}function hW({storageKey:e,defaultWidth:A=288,minWidth:t=200,maxWidth:i=600,side:r="right"}){const[n,a]=aA.useState(()=>{const Q=ze.getItem(e);if(Q){const f=Number(Q);if(!Number.isNaN(f)&&f>=t&&f<=i)return f}return A}),[s,o]=aA.useState(!1),g=aA.useRef(0),l=aA.useRef(0),I=aA.useRef(n),C=aA.useCallback(Q=>{I.current=Q,a(Q)},[]),E=aA.useCallback(Q=>{Q.preventDefault(),g.current=Q.clientX,l.current=I.current,o(!0)},[]),B=aA.useCallback(Q=>{Q.preventDefault(),g.current=Q.touches[0].clientX,l.current=I.current,o(!0)},[]);aA.useEffect(()=>{if(!s)return;const Q=y=>"touches"in y?y.touches[0]?.clientX??y.changedTouches[0]?.clientX??0:y.clientX,f=y=>{const v=Q(y),S=r==="right"?g.current-v:v-g.current;C(Math.min(i,Math.max(t,l.current+S)))},m=()=>{o(!1),ze.setItem(e,String(I.current))};return document.addEventListener("mousemove",f),document.addEventListener("mouseup",m),document.addEventListener("touchmove",f,{passive:!1}),document.addEventListener("touchend",m),document.addEventListener("touchcancel",m),()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",m),document.removeEventListener("touchmove",f),document.removeEventListener("touchend",m),document.removeEventListener("touchcancel",m)}},[s,t,i,e,r,C]);const h=aA.useCallback(()=>{C(A),ze.setItem(e,String(A))},[A,e,C]);return{width:n,isDragging:s,handleProps:{isDragging:s,onMouseDown:E,onTouchStart:B,onDoubleClick:h}}}const QW=({isDragging:e,onMouseDown:A,onTouchStart:t,onDoubleClick:i,className:r,side:n})=>w.jsxs("div",{className:`relative w-0 cursor-col-resize flex-shrink-0 group z-10${r?` ${r}`:""}`,children:[w.jsx("div",{className:`absolute inset-y-0 -left-0.5 -right-0.5 transition-colors ${e?"bg-primary/50":"group-hover:bg-border"}`}),w.jsx("div",{className:`absolute inset-y-0 ${n==="left"?"-right-2 -left-1":n==="right"?"-right-3 left-0":"-inset-x-2"}`,onMouseDown:A,onTouchStart:t,onDoubleClick:i})]}),O4A=({className:e,panelClassName:A,renderTrigger:t,children:i})=>{const[r,n]=aA.useState(!1),a=aA.useRef(null);return aA.useEffect(()=>{if(!r)return;const s=g=>{a.current&&!a.current.contains(g.target)&&n(!1)},o=g=>{g.key==="Escape"&&n(!1)};return document.addEventListener("pointerdown",s),document.addEventListener("keydown",o),()=>{document.removeEventListener("pointerdown",s),document.removeEventListener("keydown",o)}},[r]),w.jsxs("div",{ref:a,className:e?`relative ${e}`:"relative",children:[t({isOpen:r,toggleMenu:()=>n(s=>!s)}),r&&w.jsx("div",{className:A??"absolute top-full right-0 mt-1 w-56 rounded-lg border border-border bg-popover py-1 shadow-xl z-[70]",children:i({closeMenu:()=>n(!1)})})]})},FC=({onClick:e,icon:A,label:t,badge:i})=>w.jsxs("button",{onClick:e,className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs transition-colors hover:bg-muted",children:[w.jsx("span",{className:"text-muted-foreground",children:A}),w.jsx("span",{className:"flex-1",children:t}),i]}),tL=()=>w.jsx("div",{className:"my-1 border-t border-border"}),U4A=({children:e})=>w.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:e}),K4A=({isPanelOpen:e,onTogglePanel:A,annotationCount:t,onOpenExport:i,onOpenSettings:r,onDownloadAnnotations:n,onCopyShareLink:a,onOpenImport:s,onPrint:o,sharingEnabled:g,className:l})=>{const{theme:I,setTheme:C}=f4();return w.jsx(O4A,{className:l,renderTrigger:({isOpen:E,toggleMenu:B})=>w.jsx("button",{onClick:B,className:"p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",title:"Menu",children:E?w.jsx("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})}):w.jsx("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 6h16M4 12h16M4 18h16"})})}),panelClassName:"absolute top-full right-0 mt-1 w-56 bg-popover border border-border rounded-lg shadow-xl z-[70] py-1",children:({closeMenu:E})=>w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"px-3 py-2",children:[w.jsx("div",{className:"mb-1.5",children:w.jsx(U4A,{children:"Theme"})}),w.jsx("div",{className:"flex items-center gap-1 bg-muted/50 rounded-lg p-0.5",children:["light","dark","system"].map(B=>w.jsx("button",{onClick:()=>C(B),className:`flex-1 px-2 py-1 text-[10px] capitalize rounded-md transition-colors ${I===B?"bg-background text-foreground shadow-sm font-medium":"text-muted-foreground hover:text-foreground"}`,children:B},B))})]}),w.jsx(tL,{}),w.jsx(FC,{onClick:()=>{E(),r()},icon:w.jsx(Y4A,{}),label:"Settings"}),w.jsx(FC,{onClick:()=>{E(),A()},icon:w.jsx(H4A,{}),label:e?"Hide Annotations":"Show Annotations",badge:t>0?w.jsx("span",{className:"text-[10px] font-mono bg-muted px-1.5 py-0.5 rounded text-muted-foreground",children:t}):void 0}),w.jsx(tL,{}),w.jsx(FC,{onClick:()=>{E(),i()},icon:w.jsx(P4A,{}),label:"Export"}),w.jsx(FC,{onClick:()=>{E(),n()},icon:w.jsx(J4A,{}),label:"Download Annotations"}),w.jsx(FC,{onClick:()=>{E(),o()},icon:w.jsx(W4A,{}),label:"Print Plan"}),g&&w.jsx(FC,{onClick:()=>{E(),a()},icon:w.jsx(z4A,{}),label:"Copy Share Link"}),g&&w.jsxs(w.Fragment,{children:[w.jsx(tL,{}),w.jsx(FC,{onClick:()=>{E(),s()},icon:w.jsx(q4A,{}),label:"Import Review"})]})]})})},Y4A=()=>w.jsxs("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:[w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]}),H4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})}),P4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.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"})}),J4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),z4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"})}),q4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M10 17l5-5-5-5M15 12H3"})}),W4A=()=>w.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 17h2a2 2 0 002-2v-4a2 2 0 00-2-2H5a2 2 0 00-2 2v4a2 2 0 002 2h2m2 4h6a2 2 0 002-2v-4a2 2 0 00-2-2H9a2 2 0 00-2 2v4a2 2 0 002 2zm8-12V5a2 2 0 00-2-2H9a2 2 0 00-2 2v4h10z"})}),V4A=({isOpen:e,onComplete:A})=>{const[t,i]=aA.useState("acceptEdits");if(!e)return null;const r=()=>{PoA(t),A(t)};return sg.createPortal(w.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-background/90 backdrop-blur-sm p-4",children:w.jsxs("div",{className:"bg-card border border-border rounded-xl w-full max-w-lg shadow-2xl",children:[w.jsxs("div",{className:"p-5 border-b border-border",children:[w.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[w.jsx("div",{className:"p-1.5 rounded-lg bg-primary/15",children:w.jsx("svg",{className:"w-5 h-5 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75v-.7V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0"})})}),w.jsx("h3",{className:"font-semibold text-base",children:"New: Permission Mode Preservation"})]}),w.jsx("p",{className:"text-sm text-muted-foreground",children:"Claude Code 2.1.7+ supports preserving your permission mode after plan approval. Choose your preferred automation level."}),w.jsxs("p",{className:"text-xs text-muted-foreground/70 mt-1",children:["Requires Claude Code 2.1.7 or later. Run ",w.jsx("code",{className:"bg-muted px-1 rounded",children:"claude update"})," to update."]})]}),w.jsx("div",{className:"p-4 space-y-2",children:i3.map(n=>w.jsxs("label",{className:`flex items-start gap-3 p-3 rounded-lg cursor-pointer transition-all border ${t===n.value?"border-primary bg-primary/10":"border-transparent bg-muted/50 hover:bg-muted"}`,children:[w.jsx("input",{type:"radio",name:"permissionMode",value:n.value,checked:t===n.value,onChange:()=>i(n.value),className:"mt-0.5 accent-primary"}),w.jsxs("div",{className:"flex-1",children:[w.jsx("div",{className:"text-sm font-medium",children:n.label}),w.jsx("div",{className:"text-xs text-muted-foreground",children:n.description})]})]},n.value))}),w.jsxs("div",{className:"p-4 border-t border-border flex justify-between items-center",children:[w.jsx("p",{className:"text-xs text-muted-foreground",children:"You can change this later in Settings."}),w.jsx("button",{onClick:r,className:"px-4 py-2 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:opacity-90 transition-opacity",children:"Continue"})]})]})}),document.body)};function Z4A(e){const[A,t]=aA.useState(e),[i,r]=aA.useState("toc"),n=aA.useCallback(o=>{t(!0),o&&r(o)},[]),a=aA.useCallback(()=>{t(!1)},[]),s=aA.useCallback(o=>{A?i===o?t(!1):r(o):(t(!0),r(o))},[A,i]);return{isOpen:A,activeTab:i,open:n,close:a,toggleTab:s}}class j4A{diff(A,t,i={}){let r;typeof i=="function"?(r=i,i={}):"callback"in i&&(r=i.callback);const n=this.castInput(A,i),a=this.castInput(t,i),s=this.removeEmpty(this.tokenize(n,i)),o=this.removeEmpty(this.tokenize(a,i));return this.diffWithOptionsObj(s,o,i,r)}diffWithOptionsObj(A,t,i,r){var n;const a=m=>{if(m=this.postProcess(m,i),r){setTimeout(function(){r(m)},0);return}else return m},s=t.length,o=A.length;let g=1,l=s+o;i.maxEditLength!=null&&(l=Math.min(l,i.maxEditLength));const I=(n=i.timeout)!==null&&n!==void 0?n:1/0,C=Date.now()+I,E=[{oldPos:-1,lastComponent:void 0}];let B=this.extractCommon(E[0],t,A,0,i);if(E[0].oldPos+1>=o&&B+1>=s)return a(this.buildValues(E[0].lastComponent,t,A));let h=-1/0,Q=1/0;const f=()=>{for(let m=Math.max(h,-g);m<=Math.min(Q,g);m+=2){let y;const v=E[m-1],S=E[m+1];v&&(E[m-1]=void 0);let x=!1;if(S){const b=S.oldPos-m;x=S&&0<=b&&b<s}const R=v&&v.oldPos+1<o;if(!x&&!R){E[m]=void 0;continue}if(!R||x&&v.oldPos<S.oldPos?y=this.addToPath(S,!0,!1,0,i):y=this.addToPath(v,!1,!0,1,i),B=this.extractCommon(y,t,A,m,i),y.oldPos+1>=o&&B+1>=s)return a(this.buildValues(y.lastComponent,t,A))||!0;E[m]=y,y.oldPos+1>=o&&(Q=Math.min(Q,m-1)),B+1>=s&&(h=Math.max(h,m+1))}g++};if(r)(function m(){setTimeout(function(){if(g>l||Date.now()>C)return r(void 0);f()||m()},0)})();else for(;g<=l&&Date.now()<=C;){const m=f();if(m)return m}}addToPath(A,t,i,r,n){const a=A.lastComponent;return a&&!n.oneChangePerToken&&a.added===t&&a.removed===i?{oldPos:A.oldPos+r,lastComponent:{count:a.count+1,added:t,removed:i,previousComponent:a.previousComponent}}:{oldPos:A.oldPos+r,lastComponent:{count:1,added:t,removed:i,previousComponent:a}}}extractCommon(A,t,i,r,n){const a=t.length,s=i.length;let o=A.oldPos,g=o-r,l=0;for(;g+1<a&&o+1<s&&this.equals(i[o+1],t[g+1],n);)g++,o++,l++,n.oneChangePerToken&&(A.lastComponent={count:1,previousComponent:A.lastComponent,added:!1,removed:!1});return l&&!n.oneChangePerToken&&(A.lastComponent={count:l,previousComponent:A.lastComponent,added:!1,removed:!1}),A.oldPos=o,g}equals(A,t,i){return i.comparator?i.comparator(A,t):A===t||!!i.ignoreCase&&A.toLowerCase()===t.toLowerCase()}removeEmpty(A){const t=[];for(let i=0;i<A.length;i++)A[i]&&t.push(A[i]);return t}castInput(A,t){return A}tokenize(A,t){return Array.from(A)}join(A){return A.join("")}postProcess(A,t){return A}get useLongestToken(){return!1}buildValues(A,t,i){const r=[];let n;for(;A;)r.push(A),n=A.previousComponent,delete A.previousComponent,A=n;r.reverse();const a=r.length;let s=0,o=0,g=0;for(;s<a;s++){const l=r[s];if(l.removed)l.value=this.join(i.slice(g,g+l.count)),g+=l.count;else{if(!l.added&&this.useLongestToken){let I=t.slice(o,o+l.count);I=I.map(function(C,E){const B=i[g+E];return B.length>C.length?B:C}),l.value=this.join(I)}else l.value=this.join(t.slice(o,o+l.count));o+=l.count,l.added||(g+=l.count)}}return r}}class _4A extends j4A{constructor(){super(...arguments),this.tokenize=AKA}equals(A,t,i){return i.ignoreWhitespace?((!i.newlineIsToken||!A.includes(`
|
|
501
501
|
`))&&(A=A.trim()),(!i.newlineIsToken||!t.includes(`
|
|
502
502
|
`))&&(t=t.trim())):i.ignoreNewlineAtEof&&!i.newlineIsToken&&(A.endsWith(`
|
|
503
503
|
`)&&(A=A.slice(0,-1)),t.endsWith(`
|
|
@@ -844,7 +844,7 @@ export const CursorOverlay: React.FC<CursorOverlayProps> = ({
|
|
|
844
844
|
---
|
|
845
845
|
|
|
846
846
|
**Target:** Ship MVP in next sprint
|
|
847
|
-
`;function OKA({blocks:e,annotations:A,addAnnotation:t,removeAnnotation:i}){const[r,n]=aA.useState(new Map),a=aA.useRef(e);a.current=e;const s=aA.useRef(A);s.current=A,aA.useEffect(()=>{if(r.size===0)return;const l=new Set(e.map(C=>C.id)),I=[...r.keys()].filter(C=>!l.has(C));I.length>0&&n(C=>{const E=new Map(C);return I.forEach(B=>E.delete(B)),E})},[e]);const o=aA.useCallback((l,I)=>{const C=a.current,E=s.current,B=C.find(Q=>Q.id===l);if(B&&I===B.checked)n(f=>{const m=new Map(f);return m.delete(l),m}),E.filter(f=>f.blockId===l&&f.id.startsWith("ann-checkbox-")).forEach(f=>i(f.id));else if(E.filter(f=>f.blockId===l&&f.id.startsWith("ann-checkbox-")).forEach(f=>i(f.id)),n(f=>{const m=new Map(f);return m.set(l,I),m}),B){const f=C.indexOf(B);let m="";for(let x=f-1;x>=0;x--)if(C[x].type==="heading"){m=C[x].content;break}const y=I?"Mark as completed":"Mark as not completed",v=m?` (under "${m}")`:` (line ${B.startLine})`,S={id:`ann-checkbox-${l}-${Date.now()}`,blockId:l,startOffset:0,endOffset:B.content.length,type:gi.COMMENT,text:`${y}${v}: ${B.content}`,originalText:B.content,createdA:Date.now()};t(S)}},[t,i]),g=aA.useCallback(l=>{n(I=>{const C=new Map(I);return C.delete(l),C})},[]);return{overrides:r,toggle:o,revertOverride:g}}const UKA=()=>{const[e,A]=aA.useState(GKA),[t,i]=aA.useState([]),[r,n]=aA.useState(null),[a,s]=aA.useState([]),[o,g]=aA.useState(null),[l,I]=aA.useState(!1),[C,E]=aA.useState(!1),[B,h]=aA.useState(!1),[Q,f]=aA.useState(!1),[m,y]=aA.useState(!1),[v,S]=aA.useState(""),[x,R]=aA.useState(()=>window.innerWidth>=768),[b,N]=aA.useState(!1),[T,L]=aA.useState(R4A),[K,H]=aA.useState(k4A),[k,U]=aA.useState(()=>ze.getItem("plannotator-tater-mode")==="true"),[O,F]=aA.useState(()=>t3()),[G,P]=aA.useState(!1),[q,Y]=aA.useState(null),[V,j]=aA.useState(),[AA,X]=aA.useState(!1),[gA,nA]=aA.useState([]),[hA,rA]=aA.useState(!1),[oA,lA]=aA.useState(null),[sA,uA]=aA.useState(void 0),[CA,xA]=aA.useState(!0),[BA,VA]=aA.useState(!1),[tA,ne]=aA.useState(null),[RA,ce]=aA.useState(null),[Ie,Qe]=aA.useState(!1),[OA,ie]=aA.useState("bypassPermissions"),[YA,ZA]=aA.useState(!0),[ae,NA]=aA.useState(void 0),[$A,EA]=aA.useState(void 0),[vA,Z]=aA.useState(null),[mA,pA]=aA.useState(null);aA.useEffect(()=>{document.title=vA?`${vA.display} · Plannotator`:"Plannotator"},[vA]);const[kA,MA]=aA.useState(!1),[TA,dA]=aA.useState(),[wA,PA]=aA.useState(null),[_A,Ee]=aA.useState(!1),[yA,UA]=aA.useState("clean"),[KA,te]=aA.useState(null),[Ge,Se]=aA.useState(null),eA=aA.useRef(null),le=aA.useRef(null);G4A();const se=hW({storageKey:"plannotator-panel-width"}),ve=hW({storageKey:"plannotator-toc-width",defaultWidth:240,minWidth:160,maxWidth:400,side:"left"}),Me=se.isDragging||ve.isDragging,ke=Z4A(t3().tocEnabled);aA.useEffect(()=>{O.tocEnabled?ke.open("toc"):ke.close()},[O.tocEnabled]),aA.useEffect(()=>{ke.activeTab==="toc"&&_A&&Ee(!1)},[ke.activeTab]),aA.useEffect(()=>{if(!_A)return;const XA=Ke=>{Ke.key==="Escape"&&Ee(!1)};return document.addEventListener("keydown",XA),()=>document.removeEventListener("keydown",XA)},[_A]);const Re=tKA(e,KA,Ge),we=iKA({markdown:e,annotations:t,selectedAnnotationId:r,globalAttachments:gA,setMarkdown:A,setAnnotations:i,setSelectedAnnotationId:n,setGlobalAttachments:nA,viewerRef:eA,sidebar:ke}),rt=gKA({markdown:e,viewerRef:eA,linkedDocHook:we,setMarkdown:A,setAnnotations:i,setSelectedAnnotationId:n,setSubmitted:ne}),We=rKA(),It=aA.useMemo(()=>nUA(),[O]),Et=aA.useMemo(()=>{if(!It)return"";const XA=cI();return II(XA)},[It,O]);aA.useEffect(()=>{It||We.setActiveFile(null)},[It]),aA.useEffect(()=>{ke.activeTab==="vault"&&It&&Et&&We.tree.length===0&&!We.isLoading&&We.fetchTree(Et)},[ke.activeTab,It,Et]);const Gt=cn.useCallback(XA=>Ke=>`/api/reference/obsidian/doc?vaultPath=${encodeURIComponent(XA)}&path=${encodeURIComponent(Ke)}`,[]),Dt=cn.useCallback(XA=>{we.open(XA,Gt(Et)),We.setActiveFile(XA)},[Et,we,We,Gt]),pt=uKA(),ci=aA.useMemo(()=>!!mA||gW(),[mA,O]),Ye=aA.useMemo(()=>{const XA=mA?[mA]:[],Ke=gW()?D4().directories:[];return[...new Set([...XA,...Ke])]},[mA,O]);aA.useEffect(()=>{ci||pt.setActiveFile(null)},[ci]),aA.useEffect(()=>{if(ke.activeTab==="files"&&ci&&Ye.length>0){const XA=pt.dirs.map(At=>At.path);(Ye.length!==XA.length||Ye.some(At=>!XA.includes(At)))&&pt.fetchAll(Ye)}},[ke.activeTab,ci,Ye]);const zA=cn.useCallback((XA,Ke)=>{const At=mt=>`/api/doc?path=${encodeURIComponent(mt)}&base=${encodeURIComponent(Ke)}`;we.open(XA,At,"files"),pt.setActiveFile(XA),We.setActiveFile(null)},[we,pt]),be=cn.useCallback(XA=>{if(We.activeFile&&Et)we.open(XA,Gt(Et));else if(pt.activeFile&&pt.activeDirPath){const Ke=we.filepath?.replace(/\/[^/]+$/,"")||pt.activeDirPath;we.open(XA,At=>`/api/doc?path=${encodeURIComponent(At)}&base=${encodeURIComponent(Ke)}`)}else{const Ke=we.filepath?we.filepath.replace(/\/[^/]+$/,""):sA;Ke?we.open(XA,At=>`/api/doc?path=${encodeURIComponent(At)}&base=${encodeURIComponent(Ke)}`):we.open(XA)}},[We.activeFile,Et,pt.activeFile,pt.activeDirPath,we,Gt,sA]),_e=cn.useCallback(()=>{we.back(),We.setActiveFile(null),pt.setActiveFile(null),rt.clearSelection()},[we,We,pt,rt]),Rt=aA.useMemo(()=>{const XA=new Map;for(const[Ke,At]of we.getDocAnnotations()){const mt=At.annotations.length+At.globalAttachments.length;mt>0&&XA.set(Ke,mt)}return XA},[we.getDocAnnotations,t,gA]),ai=aA.useMemo(()=>{if(Ye.length===0)return Rt;const XA=new Map;for(const[Ke,At]of Rt)Ye.some(mt=>Ke.startsWith(mt+"/"))&&XA.set(Ke,At);return XA},[Rt,Ye]),Ct=aA.useMemo(()=>{if(!Et)return new Map;const XA=Et.endsWith("/")?Et:Et+"/",Ke=new Map;for(const[At,mt]of Rt)At.startsWith(XA)&&Ke.set(At.slice(XA.length),mt);return Ke},[Rt,Et]),Ii=ai.size>0,Li=Ct.size>0,fi=aA.useMemo(()=>{const XA=we.filepath;let Ke=0,At=0;for(const[mt,Si]of Rt)mt!==XA&&(Ke+=Si,At++);return Ke>0?{count:Ke,files:At}:void 0},[Rt,we.filepath]),[Le,ye]=aA.useState(),Te=cn.useRef(),Ne=cn.useCallback(()=>{const XA=new Set(Rt.keys());XA.size!==0&&((!ke.isOpen||ke.activeTab!=="files"&&ke.activeTab!=="vault")&&ke.open(Li&&!Ii?"vault":"files"),Te.current&&clearTimeout(Te.current),ye(void 0),requestAnimationFrame(()=>{ye(XA),Te.current=setTimeout(()=>ye(void 0),1200)}))},[Rt,ke,Li,Ii]),me=aA.useMemo(()=>{if(!Le||!Et)return;const XA=Et.endsWith("/")?Et:Et+"/",Ke=new Set;for(const At of Le)At.startsWith(XA)&&Ke.add(At.slice(XA.length));return Ke.size>0?Ke:void 0},[Le,Et]),ot=oA==="folder"?"file list":oA==="file"?"file":oA==="message"?"message":"plan",LA=cn.useCallback(()=>{We.fetchTree(Et)},[We,Et]),er=aA.useMemo(()=>a.filter(XA=>XA.type==="heading").length,[a]),FA=d4A(le,er),{editorAnnotations:wt,deleteEditorAnnotation:es}=cKA(),{externalAnnotations:nn,updateExternalAnnotation:Ma,deleteExternalAnnotation:vs}=EKA({enabled:G}),Ht=aA.useMemo(()=>nn.length===0?t:[...t.filter(Ke=>Ke.source?!nn.some(At=>At.source===Ke.source&&At.type===Ke.type&&At.originalText===Ke.originalText):!0),...nn],[t,nn]),ar=aA.useMemo(()=>Ht.filter(XA=>!!XA.diffContext),[Ht]),ts=aA.useMemo(()=>Ht.filter(XA=>!XA.diffContext),[Ht]),{isSharedSession:Or,isLoadingShared:Ea,shareUrl:wi,shareUrlSize:Ss,shortShareUrl:sr,isGeneratingShortUrl:dt,shortUrlError:kt,pendingSharedAnnotations:vi,clearPendingSharedAnnotations:Ai,generateShortUrl:Wr,importFromShareUrl:or,shareLoadError:Un,clearShareLoadError:an}=E4A(e,Ht,gA,A,i,nA,()=>{xA(!1)},ae,$A),{draftBanner:qe,restoreDraft:z,dismissDraft:_}=oKA({annotations:Ht,globalAttachments:gA,isApiMode:G,isSharedSession:Or,submitted:!!tA}),IA=cn.useCallback(()=>{const{annotations:XA,globalAttachments:Ke}=z();XA.length>0&&(i(XA),Ke.length>0&&nA(Ke),setTimeout(()=>{eA.current?.applySharedAnnotations(XA.filter(At=>!At.diffContext))},100))},[z]),{getAgentWarning:DA}=qoA(q);aA.useEffect(()=>{if(vi&&vi.length>0){const XA=setTimeout(()=>{eA.current?.clearAllHighlights(),eA.current?.applySharedAnnotations(vi.filter(Ke=>!Ke.diffContext)),Ai()},100);return()=>clearTimeout(XA)}},[vi,Ai]);const GA=XA=>{U(XA),ze.setItem("plannotator-tater-mode",String(XA))},jA=XA=>{L(XA),N4A(XA)},ge=XA=>{H(XA),x4A(XA)};F4A(K,ge),aA.useEffect(()=>{Ea||Or||fetch("/api/plan").then(XA=>{if(!XA.ok)throw new Error("Not in API mode");return XA.json()}).then(XA=>{pa.init(XA.serverConfig),j(XA.serverConfig?.gitUser),XA.mode==="archive"?(A(XA.plan||""),XA.archivePlans&&rt.init(XA.archivePlans),rt.fetchPlans(),ZA(!1),ke.open("archive")):XA.mode==="annotate-folder"?A(""):XA.plan&&A(XA.plan),P(!0),(XA.mode==="annotate"||XA.mode==="annotate-last"||XA.mode==="annotate-folder")&&rA(!0),XA.mode==="annotate-folder"&&ke.open("files"),XA.mode&&XA.mode!=="archive"&&lA(XA.mode==="annotate-last"?"message":XA.mode==="annotate-folder"?"folder":"file"),XA.filePath&&uA(XA.mode==="annotate-folder"?XA.filePath:XA.filePath.replace(/\/[^/]+$/,"")),XA.sharingEnabled!==void 0&&ZA(XA.sharingEnabled),XA.shareBaseUrl&&NA(XA.shareBaseUrl),XA.pasteApiUrl&&EA(XA.pasteApiUrl),XA.repoInfo&&Z(XA.repoInfo),XA.projectRoot&&pA(XA.projectRoot),XA.previousPlan!==void 0&&te(XA.previousPlan),XA.versionInfo&&Se(XA.versionInfo),XA.origin&&(Y(XA.origin),XA.origin==="claude-code"&&xUA()&&Qe(!0),ie(HoA().mode)),XA.isWSL&&X(!0)}).catch(()=>{P(!1)}).finally(()=>xA(!1))},[Ea,Or]),aA.useEffect(()=>{const{frontmatter:XA}=qAA(e);g(XA),s(WAA(e))},[e]);const fe=aA.useRef(!1),Xe=aA.useRef({}),Ot=aA.useRef(null);aA.useEffect(()=>{fe.current=!1,Xe.current={},Ot.current=null},[e]),aA.useEffect(()=>{if(!G||!e||Or||hA||rt.archiveMode||fe.current)return;const XA={},Ke=[],At=cI();if(At.autoSave&&At.enabled){const Ir=II(At);Ir&&(XA.obsidian={vaultPath:Ir,folder:At.folder||"plannotator",plan:e,...At.filenameFormat&&{filenameFormat:At.filenameFormat},...At.filenameSeparator&&At.filenameSeparator!=="space"&&{filenameSeparator:At.filenameSeparator}},Ke.push("Obsidian"))}const mt=iI();mt.autoSave&&mt.enabled&&(XA.bear={plan:e,customTags:mt.customTags,tagPosition:mt.tagPosition},Ke.push("Bear"));const Si=MB();if(Si.autoSave&&rQ()&&(XA.octarine={plan:e,workspace:Si.workspace,folder:Si.folder||"plannotator"},Ke.push("Octarine")),Ke.length===0)return;fe.current=!0;const wr=fetch("/api/save-notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(XA)}).then(Ir=>Ir.json()).then(Ir=>{const Fo={...XA.obsidian?{obsidian:!!Ir.results?.obsidian?.success}:{},...XA.bear?{bear:!!Ir.results?.bear?.success}:{},...XA.octarine?{octarine:!!Ir.results?.octarine?.success}:{}};Xe.current=Fo;const Cl=Ke.filter(jd=>!Ir.results?.[jd.toLowerCase()]?.success);return Cl.length===0?PA({type:"success",message:`Auto-saved to ${Ke.join(" & ")}`}):PA({type:"error",message:`Auto-save failed for ${Cl.join(" & ")}`}),Fo}).catch(()=>(Xe.current={},PA({type:"error",message:"Auto-save failed"}),{})).finally(()=>setTimeout(()=>PA(null),3e3));Ot.current=wr},[G,e,Or,hA]),aA.useEffect(()=>{const XA=Ke=>{const At=Ke.clipboardData?.items;if(At){for(const mt of At)if(mt.type.startsWith("image/")){Ke.preventDefault();const Si=mt.getAsFile();if(Si){const wr=JF(Si.name,gA.map(Fo=>Fo.name)),Ir=URL.createObjectURL(Si);ce({file:Si,blobUrl:Ir,initialName:wr})}break}}};return document.addEventListener("paste",XA),()=>document.removeEventListener("paste",XA)},[gA]);const Pt=async(XA,Ke,At)=>{if(RA)try{const mt=new FormData,Si=Ke?new File([XA],"annotated.png",{type:"image/png"}):RA.file;mt.append("file",Si);const wr=await fetch("/api/upload",{method:"POST",body:mt});if(wr.ok){const Ir=await wr.json();nA(Fo=>[...Fo,{path:Ir.path,name:At}])}}catch{}finally{URL.revokeObjectURL(RA.blobUrl),ce(null)}},ti=()=>{RA&&(URL.revokeObjectURL(RA.blobUrl),ce(null))},Xt=async()=>{VA(!0);try{const XA=cI(),Ke=iI(),At=MB(),mt=m4(),Si=Bv(),wr=Ke.autoSave&&Ot.current?await Ot.current:Xe.current,Ir={};q==="claude-code"&&(Ir.permissionMode=OA);const Fo=RUA(mt);Fo&&(Ir.agentSwitch=Fo),Ir.planSave={enabled:Si.enabled,...Si.customPath&&{customPath:Si.customPath}};const Cl=II(XA);XA.enabled&&Cl&&(Ir.obsidian={vaultPath:Cl,folder:XA.folder||"plannotator",plan:e,...XA.filenameFormat&&{filenameFormat:XA.filenameFormat},...XA.filenameSeparator&&XA.filenameSeparator!=="space"&&{filenameSeparator:XA.filenameSeparator}}),Ke.enabled&&!(Ke.autoSave&&wr.bear)&&(Ir.bear={plan:e,customTags:Ke.customTags,tagPosition:Ke.tagPosition}),rQ()&&(Ir.octarine={plan:e,workspace:At.workspace,folder:At.folder||"plannotator"});const jd=Array.from(we.getDocAnnotations().values()).some(xp=>xp.annotations.length>0||xp.globalAttachments.length>0);(Ht.length>0||gA.length>0||jd||wt.length>0)&&(Ir.feedback=bs),await fetch("/api/approve",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Ir)}),ne("approved")}catch{VA(!1)}},vt=async()=>{VA(!0);try{const XA=Bv();await fetch("/api/deny",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({feedback:bs,planSave:{enabled:XA.enabled,...XA.customPath&&{customPath:XA.customPath}}})}),ne("denied")}catch{VA(!1)}},Tt=async()=>{VA(!0);try{await fetch("/api/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({feedback:bs,annotations:Ht})}),ne("denied")}catch{VA(!1)}};aA.useEffect(()=>{const XA=Ke=>{if(Ke.key!=="Enter"||!(Ke.metaKey||Ke.ctrlKey))return;const At=Ke.target?.tagName;if(At==="INPUT"||At==="TEXTAREA"||l||C||B||Q||m||Ie||RA||tA||BA||!G||we.isActive)return;if(Ke.preventDefault(),hA){Tt();return}const mt=we.getDocAnnotations(),Si=Array.from(mt.values()).some(wr=>wr.annotations.length>0||wr.globalAttachments.length>0);if(Ht.length===0&&wt.length===0&&!Si){if(q==="opencode"){const wr=DA();if(wr){S(wr),y(!0);return}}Xt()}else vt()};return window.addEventListener("keydown",XA),()=>window.removeEventListener("keydown",XA)},[l,C,B,Q,m,Ie,RA,tA,BA,G,we.isActive,t.length,nn.length,hA,q,DA]);const Hi=XA=>{i(Ke=>[...Ke,XA]),n(XA.id),R(!0)},pn=cn.useCallback(XA=>{n(XA),XA&&window.innerWidth<768&&R(!0)},[]),mn=XA=>{eA.current?.removeHighlight(XA),i(Ke=>Ke.filter(At=>At.id!==XA)),r===XA&&n(null)},Pi=OKA({blocks:a,annotations:t,addAnnotation:Hi,removeAnnotation:mn}),Vr=XA=>{const Ke=Ht.find(At=>At.id===XA);if(Ke?.source&&nn.some(At=>At.id===XA)){vs(XA),r===XA&&n(null);return}XA.startsWith("ann-checkbox-")&&Ke&&Pi.revertOverride(Ke.blockId),mn(XA)},Ao=(XA,Ke)=>{if(Ht.find(mt=>mt.id===XA)?.source&&nn.some(mt=>mt.id===XA)){Ma(XA,Ke);return}i(mt=>mt.map(Si=>Si.id===XA?{...Si,...Ke}:Si))},Kn=(XA,Ke)=>{i(At=>At.map(mt=>mt.author===XA?{...mt,author:Ke}:mt))},hg=XA=>{nA(Ke=>[...Ke,XA])},kr=XA=>{nA(Ke=>Ke.filter(At=>At.path!==XA))},Wd=XA=>{},bs=aA.useMemo(()=>{const XA=we.getDocAnnotations(),Ke=Array.from(XA.values()).some(wr=>wr.annotations.length>0||wr.globalAttachments.length>0),At=Ht.length>0||gA.length>0,mt=wt.length>0;if(!At&&!Ke&&!mt)return"User reviewed the document and has no feedback.";let Si=At?pfA(a,Ht,gA,oA==="message"?"Message Feedback":oA==="folder"?"Folder Feedback":oA==="file"?"File Feedback":"Plan Feedback",oA??"plan"):"";return Ke&&(Si+=mfA(XA)),mt&&(Si+=yfA(wt)),Si},[a,Ht,gA,we.getDocAnnotations,wt]),Il=cn.useMemo(()=>u4A(),[]),CC=cn.useCallback(async XA=>{if(!(!Il||BA||!wi)){VA(!0);try{const Ke=await B4A(XA,Il,wi);Ke&&(PA(Ke),setTimeout(()=>PA(null),4e3),Ke.type==="success"&&ne(XA===bD.Approve?"approved":"denied"))}finally{VA(!1)}}},[Il,BA,wi]),Nb=cn.useCallback(()=>CC(bD.Approve),[CC]),Mb=cn.useCallback(()=>CC(bD.Feedback),[CC]),Vd=()=>{MA(!1);const XA=new Blob([bs],{type:"text/plain"}),Ke=URL.createObjectURL(XA),At=document.createElement("a");At.href=Ke,At.download="annotations.md",At.click(),URL.revokeObjectURL(Ke),PA({type:"success",message:"Downloaded annotations"}),setTimeout(()=>PA(null),3e3)},Qg=async XA=>{MA(!1);const Ke={};if(XA==="obsidian"){const mt=cI(),Si=II(mt);Si&&(Ke.obsidian={vaultPath:Si,folder:mt.folder||"plannotator",plan:e,...mt.filenameFormat&&{filenameFormat:mt.filenameFormat},...mt.filenameSeparator&&mt.filenameSeparator!=="space"&&{filenameSeparator:mt.filenameSeparator}})}if(XA==="bear"){const mt=iI();Ke.bear={plan:e,customTags:mt.customTags,tagPosition:mt.tagPosition}}if(XA==="octarine"){const mt=MB();Ke.octarine={plan:e,workspace:mt.workspace,folder:mt.folder||"plannotator"}}const At=XA==="obsidian"?"Obsidian":XA==="bear"?"Bear":"Octarine";try{const wr=(await(await fetch("/api/save-notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Ke)})).json()).results?.[XA];wr?.success?PA({type:"success",message:`Saved to ${At}`}):PA({type:"error",message:wr?.error||"Save failed"})}catch{PA({type:"error",message:"Save failed"})}setTimeout(()=>PA(null),3e3)};aA.useEffect(()=>{const XA=Ke=>{if(Ke.key!=="s"||!(Ke.metaKey||Ke.ctrlKey))return;const At=Ke.target?.tagName;if(At==="INPUT"||At==="TEXTAREA"||l||B||Q||m||Ie||RA||tA||!G)return;Ke.preventDefault();const mt=zoA(),Si=X2(),wr=iI().enabled,Ir=rQ();mt==="download"?Vd():mt==="obsidian"&&Si?Qg("obsidian"):mt==="bear"&&wr?Qg("bear"):mt==="octarine"&&Ir?Qg("octarine"):(dA("notes"),I(!0))};return window.addEventListener("keydown",XA),()=>window.removeEventListener("keydown",XA)},[l,B,Q,m,Ie,RA,tA,G,e,bs]),aA.useEffect(()=>{const XA=Ke=>{if(Ke.key!=="p"||!(Ke.metaKey||Ke.ctrlKey))return;const At=Ke.target?.tagName;At==="INPUT"||At==="TEXTAREA"||l||B||Q||m||Ie||RA||tA||(Ke.preventDefault(),window.print())};return window.addEventListener("keydown",XA),()=>window.removeEventListener("keydown",XA)},[l,B,Q,m,Ie,RA,tA]),aA.useEffect(()=>{if(!kA)return;const XA=Ke=>{Ke.target.closest("[data-export-dropdown]")||MA(!1)};return document.addEventListener("pointerdown",XA),()=>document.removeEventListener("pointerdown",XA)},[kA]);const fg=aA.useMemo(()=>hfA(q),[q]),Zd=aA.useMemo(()=>({compact:832,default:1040,wide:1280})[O.planWidth]??832,[O.planWidth]);return w.jsx(cUA,{defaultTheme:"dark",children:w.jsxs("div",{"data-print-region":"root",className:"h-screen flex flex-col bg-background overflow-hidden",children:[w.jsxs("header",{className:"h-12 flex items-center justify-between px-2 md:px-4 border-b border-border/50 bg-card/50 backdrop-blur-xl sticky top-0 z-[50]",children:[w.jsxs("div",{className:"flex items-center gap-2 md:gap-3",children:[w.jsx("a",{href:"https://plannotator.ai",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 md:gap-2 hover:opacity-80 transition-opacity",children:w.jsx("span",{className:"text-sm font-semibold tracking-tight",children:"Plannotator"})}),w.jsxs("a",{href:"https://github.com/backnotprop/plannotator/releases",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-muted-foreground font-mono opacity-60 hidden md:inline hover:opacity-100 transition-opacity",children:["v","0.16.4"]}),q&&w.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium hidden md:inline ${QfA(q)}`,children:fg})]}),w.jsxs("div",{className:"flex items-center gap-1 md:gap-2",children:[Il&&!G&&Or&&w.jsxs(w.Fragment,{children:[w.jsx("div",{className:"w-px h-5 bg-border/50 mx-1 hidden md:block"}),w.jsx(cW,{onClick:Mb,disabled:BA||!wi,isLoading:BA,title:"Send feedback to bot"}),w.jsx(IW,{onClick:Nb,disabled:BA||!wi,isLoading:BA,title:"Approve design and notify bot"})]}),G&&!we.isActive&&rt.archiveMode&&w.jsxs(w.Fragment,{children:[w.jsxs("button",{onClick:rt.copy,className:"px-2.5 py-1 rounded-md text-xs font-medium transition-all bg-muted text-foreground hover:bg-muted/80 border border-border",title:"Copy plan content",children:[w.jsx("span",{className:"hidden md:inline",children:"Copy"}),w.jsx("svg",{className:"w-4 h-4 md:hidden",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})]}),w.jsx("button",{onClick:rt.done,className:"px-2.5 py-1 rounded-md text-xs font-medium transition-all bg-success text-success-foreground hover:opacity-90",title:"Close archive",children:"Done"})]}),G&&!we.isActive&&!rt.archiveMode&&w.jsxs(w.Fragment,{children:[w.jsx(cW,{onClick:()=>{if(hA){Tt();return}const XA=we.getDocAnnotations(),Ke=Array.from(XA.values()).some(At=>At.annotations.length>0||At.globalAttachments.length>0);Ht.length===0&&wt.length===0&&!Ke?h(!0):vt()},disabled:BA,isLoading:BA,label:hA?Ht.length>0||wt.length>0||we.docAnnotationCount>0?"Send Annotations":"Done":"Send Feedback",title:hA?Ht.length>0||wt.length>0||we.docAnnotationCount>0?"Send Annotations":"Done":"Send Feedback"}),!hA&&w.jsxs("div",{className:"relative group/approve",children:[w.jsx(IW,{onClick:()=>{if(q==="claude-code"&&Ht.length>0){f(!0);return}if(q==="opencode"){const XA=DA();if(XA){S(XA),y(!0);return}}Xt()},disabled:BA,isLoading:BA,dimmed:q==="claude-code"&&Ht.length>0}),q==="claude-code"&&Ht.length>0&&w.jsxs("div",{className:"absolute top-full right-0 mt-2 px-3 py-2 bg-popover border border-border rounded-lg shadow-xl text-xs text-foreground w-56 text-center opacity-0 invisible group-hover/approve:opacity-100 group-hover/approve:visible transition-all pointer-events-none z-50",children:[w.jsx("div",{className:"absolute bottom-full right-4 border-4 border-transparent border-b-border"}),w.jsx("div",{className:"absolute bottom-full right-4 mt-px border-4 border-transparent border-b-popover"}),fg," doesn't support feedback on approval. Your annotations won't be seen."]})]}),w.jsx("div",{className:"w-px h-5 bg-border/50 mx-1 hidden md:block"})]}),w.jsxs("div",{className:"hidden md:flex items-center gap-2",children:[w.jsx(IUA,{}),!we.isActive&&w.jsx(s4A,{taterMode:k,onTaterModeChange:GA,onIdentityChange:Kn,origin:q,onUIPreferencesChange:F,externalOpen:b,onExternalClose:()=>N(!1),gitUser:V}),w.jsx("button",{onClick:()=>R(!x),className:`p-1.5 rounded-md text-xs font-medium transition-all ${x?"bg-primary/15 text-primary":"text-muted-foreground hover:text-foreground hover:bg-muted"}`,children:w.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})})}),w.jsxs("div",{className:"relative flex","data-export-dropdown":!0,children:[w.jsx("button",{onClick:()=>{dA(void 0),I(!0)},className:"px-2.5 py-1 rounded-l-md text-xs font-medium bg-muted hover:bg-muted/80 transition-colors",title:"Export",children:"Export"}),w.jsx("button",{onClick:()=>MA(XA=>!XA),className:"px-1.5 rounded-r-md text-xs bg-muted hover:bg-muted/80 border-l border-border/50 transition-colors flex items-center",title:"Quick save options",children:w.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})}),kA&&w.jsxs("div",{className:"absolute top-full right-0 mt-1 w-48 bg-popover border border-border rounded-lg shadow-xl z-50 py-1",children:[YA&&w.jsxs("button",{onClick:async()=>{MA(!1);try{await navigator.clipboard.writeText(wi),PA({type:"success",message:"Share link copied"})}catch{PA({type:"error",message:"Failed to copy"})}setTimeout(()=>PA(null),3e3)},className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"})}),"Copy Share Link"]}),w.jsxs("button",{onClick:Vd,className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),"Download Annotations"]}),w.jsxs("button",{onClick:()=>{MA(!1),window.print()},className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 17h2a2 2 0 002-2v-4a2 2 0 00-2-2H5a2 2 0 00-2 2v4a2 2 0 002 2h2m2 4h6a2 2 0 002-2v-4a2 2 0 00-2-2H9a2 2 0 00-2 2v4a2 2 0 002 2zm8-12V5a2 2 0 00-2-2H9a2 2 0 00-2 2v4h10z"})}),"Print Plan",w.jsxs("span",{className:"ml-auto text-[10px] text-muted-foreground/60",children:[cs,"+P"]})]}),w.jsx("div",{className:"my-1 border-t border-border"}),G&&X2()&&w.jsxs("button",{onClick:()=>Qg("obsidian"),className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z"})}),"Save to Obsidian"]}),G&&iI().enabled&&w.jsxs("button",{onClick:()=>Qg("bear"),className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z"})}),"Save to Bear"]}),G&&rQ()&&w.jsxs("button",{onClick:()=>Qg("octarine"),className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z"})}),"Save to Octarine"]}),G&&!X2()&&!iI().enabled&&!rQ()&&w.jsx("div",{className:"px-3 py-2 text-[10px] text-muted-foreground",children:"No notes apps configured."}),YA&&w.jsxs(w.Fragment,{children:[w.jsx("div",{className:"my-1 border-t border-border"}),w.jsxs("button",{onClick:()=>{MA(!1),E(!0)},className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M10 17l5-5-5-5M15 12H3"})}),"Import Review"]})]})]})]})]}),w.jsx(K4A,{className:"md:hidden",isPanelOpen:x,onTogglePanel:()=>R(!x),annotationCount:Ht.length+wt.length,onOpenExport:()=>{dA(void 0),I(!0)},onOpenSettings:()=>N(!0),onDownloadAnnotations:Vd,onCopyShareLink:async()=>{try{await navigator.clipboard.writeText(wi),PA({type:"success",message:"Share link copied"})}catch{PA({type:"error",message:"Failed to copy"})}setTimeout(()=>PA(null),3e3)},onOpenImport:()=>E(!0),onPrint:()=>window.print(),sharingEnabled:YA})]})]}),we.error&&w.jsxs("div",{className:"bg-destructive/10 border-b border-destructive/20 px-4 py-2 flex items-center gap-2 flex-shrink-0",children:[w.jsx("span",{className:"text-xs text-destructive",children:we.error}),w.jsx("button",{onClick:we.dismissError,className:"ml-auto text-xs text-destructive/60 hover:text-destructive",children:"dismiss"})]}),w.jsxs("div",{"data-print-region":"content",className:`flex-1 flex overflow-hidden relative z-0 ${Me?"select-none":""}`,children:[k&&w.jsx(mUA,{}),!ke.isOpen&&w.jsx(BKA,{activeTab:ke.activeTab,onToggleTab:ke.toggleTab,hasDiff:Re.hasPreviousVersion,showFilesTab:ci&&!rt.archiveMode,showVaultTab:It,hasFileAnnotations:Ii,hasVaultAnnotations:Li,className:"hidden lg:flex"}),ke.isOpen&&w.jsxs(w.Fragment,{children:[w.jsx(bKA,{activeTab:ke.activeTab,onTabChange:XA=>{ke.toggleTab(XA),XA==="archive"&&!rt.archiveMode&&rt.fetchPlans()},onClose:ke.close,width:ve.width,blocks:a,annotations:t,activeSection:FA,onTocNavigate:Wd,linkedDocFilepath:we.filepath,onLinkedDocBack:we.isActive?_e:void 0,backLabel:ot,showFilesTab:ci&&!rt.archiveMode,fileAnnotationCounts:ai,highlightedFiles:Le,fileBrowser:pt,onFilesSelectFile:zA,onFilesFetchAll:()=>pt.fetchAll(Ye),showVaultTab:It&&!rt.archiveMode,vaultPath:Et,vaultBrowser:We,vaultAnnotationCounts:Ct,vaultHighlightedFiles:me,onVaultSelectFile:Dt,onVaultFetchTree:LA,hasFileAnnotations:Ii,hasVaultAnnotations:Li,versionInfo:Ge,versions:Re.versions,selectedBaseVersion:Re.diffBaseVersion,onSelectBaseVersion:Re.selectBaseVersion,isPlanDiffActive:_A,hasPreviousVersion:Re.hasPreviousVersion,onActivatePlanDiff:()=>Ee(!0),isLoadingVersions:Re.isLoadingVersions,isSelectingVersion:Re.isSelectingVersion,fetchingVersion:Re.fetchingVersion,onFetchVersions:Re.fetchVersions,showArchiveTab:G&&!hA,archivePlans:rt.plans,selectedArchiveFile:rt.selectedFile,onArchiveSelect:rt.select,isLoadingArchive:rt.isLoading}),w.jsx(QW,{...ve.handleProps,className:"hidden lg:block",side:"left"})]}),w.jsxs("main",{"data-print-region":"document",ref:le,className:"flex-1 min-w-0 overflow-y-auto bg-grid",children:[w.jsx(nQ,{isOpen:!!qe,onClose:_,onConfirm:IA,title:"Draft Recovered",message:qe?`Found ${qe.count} annotation${qe.count!==1?"s":""} from ${qe.timeAgo}. Would you like to restore them?`:"",confirmText:"Restore",cancelText:"Dismiss",showCancel:!0}),w.jsxs("div",{className:"min-h-full flex flex-col items-center px-2 py-3 md:px-10 md:py-8 xl:px-16 relative z-10",children:[!_A&&!rt.archiveMode&&w.jsx("div",{"data-print-hide":!0,className:"w-full mb-3 md:mb-4 flex items-center justify-start",style:{maxWidth:Zd},children:w.jsx(BUA,{inputMethod:K,onInputMethodChange:ge,mode:T,onModeChange:jA,taterMode:k})}),Re.diffBlocks&&Re.diffStats&&w.jsx("div",{className:"w-full flex justify-center",style:{display:_A?void 0:"none"},children:w.jsx(FKA,{diffBlocks:Re.diffBlocks,diffStats:Re.diffStats,diffMode:yA,onDiffModeChange:UA,onPlanDiffToggle:()=>Ee(!1),repoInfo:vA,baseVersionLabel:Re.diffBaseVersion!=null?`v${Re.diffBaseVersion}`:void 0,baseVersion:Re.diffBaseVersion??void 0,maxWidth:Zd,annotations:ar,onAddAnnotation:Hi,onSelectAnnotation:pn,selectedAnnotationId:r,mode:T})}),oA==="folder"&&!e&&!we.isActive&&w.jsx("div",{className:"w-full flex justify-center",children:w.jsxs("div",{className:"w-full max-w-3xl p-12 text-center text-muted-foreground",children:[w.jsx("p",{className:"text-lg font-medium mb-2",children:"Select a file to annotate"}),w.jsx("p",{className:"text-sm",children:"Pick a markdown file from the sidebar to begin."})]})}),w.jsx("div",{className:"w-full flex justify-center",style:{display:_A&&Re.diffBlocks||oA==="folder"&&!e&&!we.isActive?"none":void 0},children:w.jsx(VOA,{ref:eA,blocks:a,markdown:e,frontmatter:o,annotations:ts,onAddAnnotation:Hi,onSelectAnnotation:pn,selectedAnnotationId:r,mode:T,inputMethod:K,taterMode:k,globalAttachments:gA,onAddGlobalAttachment:hg,onRemoveGlobalAttachment:kr,repoInfo:vA,stickyActions:O.stickyActionsEnabled,planDiffStats:we.isActive?null:Re.diffStats,isPlanDiffActive:_A,onPlanDiffToggle:()=>Ee(!_A),hasPreviousVersion:!we.isActive&&Re.hasPreviousVersion,showDemoBadge:!G&&!Ea&&!Or,maxWidth:Zd,onOpenLinkedDoc:be,linkedDocInfo:we.isActive?{filepath:we.filepath,onBack:_e,label:We.activeFile?"Vault File":pt.activeFile?"File":void 0,backLabel:ot}:null,imageBaseDir:sA,copyLabel:oA==="message"?"Copy message":oA==="file"||oA==="folder"?"Copy file":void 0,archiveInfo:rt.currentInfo,onToggleCheckbox:Pi.toggle,checkboxOverrides:Pi.overrides},we.isActive?`doc:${we.filepath}`:"plan")})]})]}),x&&w.jsx(QW,{...se.handleProps,className:"hidden md:block",side:"right"}),w.jsx(AUA,{isOpen:x,blocks:a,annotations:Ht,selectedId:r,onSelect:n,onDelete:Vr,onEdit:Ao,shareUrl:wi,sharingEnabled:YA,width:se.width,editorAnnotations:wt,onDeleteEditorAnnotation:es,onClose:()=>R(!1),onQuickCopy:async()=>{await navigator.clipboard.writeText(VAA(bs))},otherFileAnnotations:fi,onOtherFileAnnotationsClick:Ne})]}),w.jsx(gUA,{isOpen:l,onClose:()=>{I(!1),dA(void 0)},shareUrl:wi,shareUrlSize:Ss,shortShareUrl:sr,isGeneratingShortUrl:dt,shortUrlError:kt,onGenerateShortUrl:Wr,annotationsOutput:bs,annotationCount:Ht.length,taterSprite:k?w.jsx(p4,{}):void 0,sharingEnabled:YA,markdown:e,isApiMode:G,initialTab:TA}),w.jsx(lUA,{isOpen:C,onClose:()=>E(!1),onImport:or,shareBaseUrl:ae}),w.jsx(nQ,{isOpen:B,onClose:()=>h(!1),title:"Add Annotations First",message:`To provide feedback, select text in the plan and add annotations. ${fg} will use your annotations to revise the plan.`,variant:"info"}),w.jsx(nQ,{isOpen:Q,onClose:()=>f(!1),onConfirm:()=>{f(!1),Xt()},title:"Annotations Won't Be Sent",message:w.jsxs(w.Fragment,{children:[fg," doesn't yet support feedback on approval. Your ",Ht.length," annotation",Ht.length!==1?"s":""," will be lost."]}),subMessage:w.jsxs(w.Fragment,{children:["To send feedback, use ",w.jsx("strong",{children:"Send Feedback"})," instead.",w.jsx("br",{}),w.jsx("br",{}),"Want this feature? Upvote these issues:",w.jsx("br",{}),w.jsx("a",{href:"https://github.com/anthropics/claude-code/issues/16001",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"#16001"})," · ",w.jsx("a",{href:"https://github.com/anthropics/claude-code/issues/15755",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"#15755"})]}),confirmText:"Approve Anyway",cancelText:"Cancel",variant:"warning",showCancel:!0}),w.jsx(nQ,{isOpen:m,onClose:()=>y(!1),onConfirm:()=>{y(!1),Xt()},title:"Agent Not Found",message:v,subMessage:w.jsxs(w.Fragment,{children:["You can change the agent in ",w.jsx("strong",{children:"Settings"}),", or approve anyway and OpenCode will use the default agent."]}),confirmText:"Approve Anyway",cancelText:"Cancel",variant:"warning",showCancel:!0}),w.jsx(nQ,{isOpen:!!Un&&!G,onClose:an,title:"Shared Plan Could Not Be Loaded",message:Un,subMessage:"You are viewing a demo plan. This is sample content — it is not your data or anyone else's.",variant:"warning"}),wA&&w.jsx("div",{className:`fixed top-16 right-4 z-50 px-3 py-2 rounded-lg text-xs font-medium shadow-lg transition-opacity ${wA.type==="success"?"bg-success/15 text-success border border-success/30":"bg-destructive/15 text-destructive border border-destructive/30"}`,children:wA.message}),w.jsx(p4A,{submitted:tA,title:rt.archiveMode?"Archive Closed":tA==="approved"?"Plan Approved":hA?"Annotations Sent":"Feedback Sent",subtitle:rt.archiveMode?"You can reopen with plannotator archive.":tA==="approved"?`${fg} will proceed with the implementation.`:hA?`${fg} will address your annotations on the ${oA==="message"?"message":oA==="folder"?"files":"file"}.`:`${fg} will revise the plan based on your annotations.`,agentLabel:fg}),w.jsx(S4A,{origin:q,isWSL:AA}),w.jsx(neA,{isOpen:!!RA,imageSrc:RA?.blobUrl??"",initialName:RA?.initialName,onAccept:Pt,onClose:ti}),w.jsx(V4A,{isOpen:Ie,onComplete:XA=>{ie(XA),Qe(!1)}})]})})},IgA=document.getElementById("root");if(!IgA)throw new Error("Could not find root element to mount to");const KKA=dfA.createRoot(IgA);KKA.render(w.jsx(cn.StrictMode,{children:w.jsx(UKA,{})}));class ls{constructor(A,t,i){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=A,this.start=t,this.end=i}static range(A,t){return t?!A||!A.loc||!t.loc||A.loc.lexer!==t.loc.lexer?null:new ls(A.loc.lexer,A.loc.start,t.loc.end):A&&A.loc}}class Hs{constructor(A,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=A,this.loc=t}range(A,t){return new Hs(t,ls.range(this,A))}}class je{constructor(A,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var i="KaTeX parse error: "+A,r,n,a=t&&t.loc;if(a&&a.start<=a.end){var s=a.lexer.input;r=a.start,n=a.end,r===s.length?i+=" at end of input: ":i+=" at position "+(r+1)+": ";var o=s.slice(r,n).replace(/[^]/g,"$&̲"),g;r>15?g="…"+s.slice(r-15,r):g=s.slice(0,r);var l;n+15<s.length?l=s.slice(n,n+15)+"…":l=s.slice(n),i+=g+o+l}var I=new Error(i);return I.name="ParseError",I.__proto__=je.prototype,I.position=r,r!=null&&n!=null&&(I.length=n-r),I.rawMessage=A,I}}je.prototype.__proto__=Error.prototype;var YKA=function(A,t){return A===void 0?t:A},HKA=/([A-Z])/g,PKA=function(A){return A.replace(HKA,"-$1").toLowerCase()},JKA={"&":"&",">":">","<":"<",'"':""","'":"'"},zKA=/[&><"']/g;function qKA(e){return String(e).replace(zKA,A=>JKA[A])}var CgA=function e(A){return A.type==="ordgroup"||A.type==="color"?A.body.length===1?e(A.body[0]):A:A.type==="font"?e(A.body):A},WKA=function(A){var t=CgA(A);return t.type==="mathord"||t.type==="textord"||t.type==="atom"},VKA=function(A){if(!A)throw new Error("Expected non-null, but got "+String(A));return A},ZKA=function(A){var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(A);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},Oi={deflt:YKA,escape:qKA,hyphenate:PKA,getBaseElem:CgA,isCharacterBox:WKA,protocolFromUrl:ZKA},kf={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,A)=>(A.push(e),A)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>e==="Infinity"?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function jKA(e){if(e.default)return e.default;var A=e.type,t=Array.isArray(A)?A[0]:A;if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class v4{constructor(A){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,A=A||{};for(var t in kf)if(kf.hasOwnProperty(t)){var i=kf[t];this[t]=A[t]!==void 0?i.processor?i.processor(A[t]):A[t]:jKA(i)}}reportNonstrict(A,t,i){var r=this.strict;if(typeof r=="function"&&(r=r(A,t,i)),!(!r||r==="ignore")){if(r===!0||r==="error")throw new je("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+A+"]"),i);r==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+A+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+r+"': "+t+" ["+A+"]"))}}useStrictBehavior(A,t,i){var r=this.strict;if(typeof r=="function")try{r=r(A,t,i)}catch{r="error"}return!r||r==="ignore"?!1:r===!0||r==="error"?!0:r==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+A+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+r+"': "+t+" ["+A+"]")),!1)}isTrusted(A){if(A.url&&!A.protocol){var t=Oi.protocolFromUrl(A.url);if(t==null)return!1;A.protocol=t}var i=typeof this.trust=="function"?this.trust(A):this.trust;return!!i}}class jc{constructor(A,t,i){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=A,this.size=t,this.cramped=i}sup(){return Fg[_KA[this.id]]}sub(){return Fg[XKA[this.id]]}fracNum(){return Fg[$KA[this.id]]}fracDen(){return Fg[A5A[this.id]]}cramp(){return Fg[e5A[this.id]]}text(){return Fg[t5A[this.id]]}isTight(){return this.size>=2}}var S4=0,Qv=1,xB=2,$l=3,l0=4,mo=5,sd=6,Ha=7,Fg=[new jc(S4,0,!1),new jc(Qv,0,!0),new jc(xB,1,!1),new jc($l,1,!0),new jc(l0,2,!1),new jc(mo,2,!0),new jc(sd,3,!1),new jc(Ha,3,!0)],_KA=[l0,mo,l0,mo,sd,Ha,sd,Ha],XKA=[mo,mo,mo,mo,Ha,Ha,Ha,Ha],$KA=[xB,$l,l0,mo,sd,Ha,sd,Ha],A5A=[$l,$l,mo,mo,Ha,Ha,Ha,Ha],e5A=[Qv,Qv,$l,$l,mo,mo,Ha,Ha],t5A=[S4,Qv,xB,$l,xB,$l,xB,$l],Kt={DISPLAY:Fg[S4],TEXT:Fg[xB],SCRIPT:Fg[l0],SCRIPTSCRIPT:Fg[sd]},n3=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function i5A(e){for(var A=0;A<n3.length;A++)for(var t=n3[A],i=0;i<t.blocks.length;i++){var r=t.blocks[i];if(e>=r[0]&&e<=r[1])return t.name}return null}var RD=[];n3.forEach(e=>e.blocks.forEach(A=>RD.push(...A)));function EgA(e){for(var A=0;A<RD.length;A+=2)if(e>=RD[A]&&e<=RD[A+1])return!0;return!1}var Zu=80,r5A=function(A,t){return"M95,"+(622+A+t)+`
|
|
847
|
+
`;function OKA({blocks:e,annotations:A,addAnnotation:t,removeAnnotation:i}){const[r,n]=aA.useState(new Map),a=aA.useRef(e);a.current=e;const s=aA.useRef(A);s.current=A,aA.useEffect(()=>{if(r.size===0)return;const l=new Set(e.map(C=>C.id)),I=[...r.keys()].filter(C=>!l.has(C));I.length>0&&n(C=>{const E=new Map(C);return I.forEach(B=>E.delete(B)),E})},[e]);const o=aA.useCallback((l,I)=>{const C=a.current,E=s.current,B=C.find(Q=>Q.id===l);if(B&&I===B.checked)n(f=>{const m=new Map(f);return m.delete(l),m}),E.filter(f=>f.blockId===l&&f.id.startsWith("ann-checkbox-")).forEach(f=>i(f.id));else if(E.filter(f=>f.blockId===l&&f.id.startsWith("ann-checkbox-")).forEach(f=>i(f.id)),n(f=>{const m=new Map(f);return m.set(l,I),m}),B){const f=C.indexOf(B);let m="";for(let x=f-1;x>=0;x--)if(C[x].type==="heading"){m=C[x].content;break}const y=I?"Mark as completed":"Mark as not completed",v=m?` (under "${m}")`:` (line ${B.startLine})`,S={id:`ann-checkbox-${l}-${Date.now()}`,blockId:l,startOffset:0,endOffset:B.content.length,type:gi.COMMENT,text:`${y}${v}: ${B.content}`,originalText:B.content,createdA:Date.now()};t(S)}},[t,i]),g=aA.useCallback(l=>{n(I=>{const C=new Map(I);return C.delete(l),C})},[]);return{overrides:r,toggle:o,revertOverride:g}}const UKA=()=>{const[e,A]=aA.useState(GKA),[t,i]=aA.useState([]),[r,n]=aA.useState(null),[a,s]=aA.useState([]),[o,g]=aA.useState(null),[l,I]=aA.useState(!1),[C,E]=aA.useState(!1),[B,h]=aA.useState(!1),[Q,f]=aA.useState(!1),[m,y]=aA.useState(!1),[v,S]=aA.useState(""),[x,R]=aA.useState(()=>window.innerWidth>=768),[b,N]=aA.useState(!1),[T,L]=aA.useState(R4A),[K,H]=aA.useState(k4A),[k,U]=aA.useState(()=>ze.getItem("plannotator-tater-mode")==="true"),[O,F]=aA.useState(()=>t3()),[G,P]=aA.useState(!1),[q,Y]=aA.useState(null),[V,j]=aA.useState(),[AA,X]=aA.useState(!1),[gA,nA]=aA.useState([]),[hA,rA]=aA.useState(!1),[oA,lA]=aA.useState(null),[sA,uA]=aA.useState(void 0),[CA,xA]=aA.useState(!0),[BA,VA]=aA.useState(!1),[tA,ne]=aA.useState(null),[RA,ce]=aA.useState(null),[Ie,Qe]=aA.useState(!1),[OA,ie]=aA.useState("bypassPermissions"),[YA,ZA]=aA.useState(!0),[ae,NA]=aA.useState(void 0),[$A,EA]=aA.useState(void 0),[vA,Z]=aA.useState(null),[mA,pA]=aA.useState(null);aA.useEffect(()=>{document.title=vA?`${vA.display} · Plannotator`:"Plannotator"},[vA]);const[kA,MA]=aA.useState(!1),[TA,dA]=aA.useState(),[wA,PA]=aA.useState(null),[_A,Ee]=aA.useState(!1),[yA,UA]=aA.useState("clean"),[KA,te]=aA.useState(null),[Ge,Se]=aA.useState(null),eA=aA.useRef(null),le=aA.useRef(null);G4A();const se=hW({storageKey:"plannotator-panel-width"}),ve=hW({storageKey:"plannotator-toc-width",defaultWidth:240,minWidth:160,maxWidth:400,side:"left"}),Me=se.isDragging||ve.isDragging,ke=Z4A(t3().tocEnabled);aA.useEffect(()=>{O.tocEnabled?ke.open("toc"):ke.close()},[O.tocEnabled]),aA.useEffect(()=>{ke.activeTab==="toc"&&_A&&Ee(!1)},[ke.activeTab]),aA.useEffect(()=>{if(!_A)return;const XA=Ke=>{Ke.key==="Escape"&&Ee(!1)};return document.addEventListener("keydown",XA),()=>document.removeEventListener("keydown",XA)},[_A]);const Re=tKA(e,KA,Ge),we=iKA({markdown:e,annotations:t,selectedAnnotationId:r,globalAttachments:gA,setMarkdown:A,setAnnotations:i,setSelectedAnnotationId:n,setGlobalAttachments:nA,viewerRef:eA,sidebar:ke}),rt=gKA({markdown:e,viewerRef:eA,linkedDocHook:we,setMarkdown:A,setAnnotations:i,setSelectedAnnotationId:n,setSubmitted:ne}),We=rKA(),It=aA.useMemo(()=>nUA(),[O]),Et=aA.useMemo(()=>{if(!It)return"";const XA=cI();return II(XA)},[It,O]);aA.useEffect(()=>{It||We.setActiveFile(null)},[It]),aA.useEffect(()=>{ke.activeTab==="vault"&&It&&Et&&We.tree.length===0&&!We.isLoading&&We.fetchTree(Et)},[ke.activeTab,It,Et]);const Gt=cn.useCallback(XA=>Ke=>`/api/reference/obsidian/doc?vaultPath=${encodeURIComponent(XA)}&path=${encodeURIComponent(Ke)}`,[]),Dt=cn.useCallback(XA=>{we.open(XA,Gt(Et)),We.setActiveFile(XA)},[Et,we,We,Gt]),pt=uKA(),ci=aA.useMemo(()=>!!mA||gW(),[mA,O]),Ye=aA.useMemo(()=>{const XA=mA?[mA]:[],Ke=gW()?D4().directories:[];return[...new Set([...XA,...Ke])]},[mA,O]);aA.useEffect(()=>{ci||pt.setActiveFile(null)},[ci]),aA.useEffect(()=>{if(ke.activeTab==="files"&&ci&&Ye.length>0){const XA=pt.dirs.map(At=>At.path);(Ye.length!==XA.length||Ye.some(At=>!XA.includes(At)))&&pt.fetchAll(Ye)}},[ke.activeTab,ci,Ye]);const zA=cn.useCallback((XA,Ke)=>{const At=mt=>`/api/doc?path=${encodeURIComponent(mt)}&base=${encodeURIComponent(Ke)}`;we.open(XA,At,"files"),pt.setActiveFile(XA),We.setActiveFile(null)},[we,pt]),be=cn.useCallback(XA=>{if(We.activeFile&&Et)we.open(XA,Gt(Et));else if(pt.activeFile&&pt.activeDirPath){const Ke=we.filepath?.replace(/\/[^/]+$/,"")||pt.activeDirPath;we.open(XA,At=>`/api/doc?path=${encodeURIComponent(At)}&base=${encodeURIComponent(Ke)}`)}else{const Ke=we.filepath?we.filepath.replace(/\/[^/]+$/,""):sA;Ke?we.open(XA,At=>`/api/doc?path=${encodeURIComponent(At)}&base=${encodeURIComponent(Ke)}`):we.open(XA)}},[We.activeFile,Et,pt.activeFile,pt.activeDirPath,we,Gt,sA]),_e=cn.useCallback(()=>{we.back(),We.setActiveFile(null),pt.setActiveFile(null),rt.clearSelection()},[we,We,pt,rt]),Rt=aA.useMemo(()=>{const XA=new Map;for(const[Ke,At]of we.getDocAnnotations()){const mt=At.annotations.length+At.globalAttachments.length;mt>0&&XA.set(Ke,mt)}return XA},[we.getDocAnnotations,t,gA]),ai=aA.useMemo(()=>{if(Ye.length===0)return Rt;const XA=new Map;for(const[Ke,At]of Rt)Ye.some(mt=>Ke.startsWith(mt+"/"))&&XA.set(Ke,At);return XA},[Rt,Ye]),Ct=aA.useMemo(()=>{if(!Et)return new Map;const XA=Et.endsWith("/")?Et:Et+"/",Ke=new Map;for(const[At,mt]of Rt)At.startsWith(XA)&&Ke.set(At.slice(XA.length),mt);return Ke},[Rt,Et]),Ii=ai.size>0,Li=Ct.size>0,fi=aA.useMemo(()=>{const XA=we.filepath;let Ke=0,At=0;for(const[mt,Si]of Rt)mt!==XA&&(Ke+=Si,At++);return Ke>0?{count:Ke,files:At}:void 0},[Rt,we.filepath]),[Le,ye]=aA.useState(),Te=cn.useRef(),Ne=cn.useCallback(()=>{const XA=new Set(Rt.keys());XA.size!==0&&((!ke.isOpen||ke.activeTab!=="files"&&ke.activeTab!=="vault")&&ke.open(Li&&!Ii?"vault":"files"),Te.current&&clearTimeout(Te.current),ye(void 0),requestAnimationFrame(()=>{ye(XA),Te.current=setTimeout(()=>ye(void 0),1200)}))},[Rt,ke,Li,Ii]),me=aA.useMemo(()=>{if(!Le||!Et)return;const XA=Et.endsWith("/")?Et:Et+"/",Ke=new Set;for(const At of Le)At.startsWith(XA)&&Ke.add(At.slice(XA.length));return Ke.size>0?Ke:void 0},[Le,Et]),ot=oA==="folder"?"file list":oA==="file"?"file":oA==="message"?"message":"plan",LA=cn.useCallback(()=>{We.fetchTree(Et)},[We,Et]),er=aA.useMemo(()=>a.filter(XA=>XA.type==="heading").length,[a]),FA=d4A(le,er),{editorAnnotations:wt,deleteEditorAnnotation:es}=cKA(),{externalAnnotations:nn,updateExternalAnnotation:Ma,deleteExternalAnnotation:vs}=EKA({enabled:G}),Ht=aA.useMemo(()=>nn.length===0?t:[...t.filter(Ke=>Ke.source?!nn.some(At=>At.source===Ke.source&&At.type===Ke.type&&At.originalText===Ke.originalText):!0),...nn],[t,nn]),ar=aA.useMemo(()=>Ht.filter(XA=>!!XA.diffContext),[Ht]),ts=aA.useMemo(()=>Ht.filter(XA=>!XA.diffContext),[Ht]),{isSharedSession:Or,isLoadingShared:Ea,shareUrl:wi,shareUrlSize:Ss,shortShareUrl:sr,isGeneratingShortUrl:dt,shortUrlError:kt,pendingSharedAnnotations:vi,clearPendingSharedAnnotations:Ai,generateShortUrl:Wr,importFromShareUrl:or,shareLoadError:Un,clearShareLoadError:an}=E4A(e,Ht,gA,A,i,nA,()=>{xA(!1)},ae,$A),{draftBanner:qe,restoreDraft:z,dismissDraft:_}=oKA({annotations:Ht,globalAttachments:gA,isApiMode:G,isSharedSession:Or,submitted:!!tA}),IA=cn.useCallback(()=>{const{annotations:XA,globalAttachments:Ke}=z();XA.length>0&&(i(XA),Ke.length>0&&nA(Ke),setTimeout(()=>{eA.current?.applySharedAnnotations(XA.filter(At=>!At.diffContext))},100))},[z]),{getAgentWarning:DA}=qoA(q);aA.useEffect(()=>{if(vi&&vi.length>0){const XA=setTimeout(()=>{eA.current?.clearAllHighlights(),eA.current?.applySharedAnnotations(vi.filter(Ke=>!Ke.diffContext)),Ai()},100);return()=>clearTimeout(XA)}},[vi,Ai]);const GA=XA=>{U(XA),ze.setItem("plannotator-tater-mode",String(XA))},jA=XA=>{L(XA),N4A(XA)},ge=XA=>{H(XA),x4A(XA)};F4A(K,ge),aA.useEffect(()=>{Ea||Or||fetch("/api/plan").then(XA=>{if(!XA.ok)throw new Error("Not in API mode");return XA.json()}).then(XA=>{pa.init(XA.serverConfig),j(XA.serverConfig?.gitUser),XA.mode==="archive"?(A(XA.plan||""),XA.archivePlans&&rt.init(XA.archivePlans),rt.fetchPlans(),ZA(!1),ke.open("archive")):XA.mode==="annotate-folder"?A(""):XA.plan&&A(XA.plan),P(!0),(XA.mode==="annotate"||XA.mode==="annotate-last"||XA.mode==="annotate-folder")&&rA(!0),XA.mode==="annotate-folder"&&ke.open("files"),XA.mode&&XA.mode!=="archive"&&lA(XA.mode==="annotate-last"?"message":XA.mode==="annotate-folder"?"folder":"file"),XA.filePath&&uA(XA.mode==="annotate-folder"?XA.filePath:XA.filePath.replace(/\/[^/]+$/,"")),XA.sharingEnabled!==void 0&&ZA(XA.sharingEnabled),XA.shareBaseUrl&&NA(XA.shareBaseUrl),XA.pasteApiUrl&&EA(XA.pasteApiUrl),XA.repoInfo&&Z(XA.repoInfo),XA.projectRoot&&pA(XA.projectRoot),XA.previousPlan!==void 0&&te(XA.previousPlan),XA.versionInfo&&Se(XA.versionInfo),XA.origin&&(Y(XA.origin),XA.origin==="claude-code"&&xUA()&&Qe(!0),ie(HoA().mode)),XA.isWSL&&X(!0)}).catch(()=>{P(!1)}).finally(()=>xA(!1))},[Ea,Or]),aA.useEffect(()=>{const{frontmatter:XA}=qAA(e);g(XA),s(WAA(e))},[e]);const fe=aA.useRef(!1),Xe=aA.useRef({}),Ot=aA.useRef(null);aA.useEffect(()=>{fe.current=!1,Xe.current={},Ot.current=null},[e]),aA.useEffect(()=>{if(!G||!e||Or||hA||rt.archiveMode||fe.current)return;const XA={},Ke=[],At=cI();if(At.autoSave&&At.enabled){const Ir=II(At);Ir&&(XA.obsidian={vaultPath:Ir,folder:At.folder||"plannotator",plan:e,...At.filenameFormat&&{filenameFormat:At.filenameFormat},...At.filenameSeparator&&At.filenameSeparator!=="space"&&{filenameSeparator:At.filenameSeparator}},Ke.push("Obsidian"))}const mt=iI();mt.autoSave&&mt.enabled&&(XA.bear={plan:e,customTags:mt.customTags,tagPosition:mt.tagPosition},Ke.push("Bear"));const Si=MB();if(Si.autoSave&&rQ()&&(XA.octarine={plan:e,workspace:Si.workspace,folder:Si.folder||"plannotator"},Ke.push("Octarine")),Ke.length===0)return;fe.current=!0;const wr=fetch("/api/save-notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(XA)}).then(Ir=>Ir.json()).then(Ir=>{const Fo={...XA.obsidian?{obsidian:!!Ir.results?.obsidian?.success}:{},...XA.bear?{bear:!!Ir.results?.bear?.success}:{},...XA.octarine?{octarine:!!Ir.results?.octarine?.success}:{}};Xe.current=Fo;const Cl=Ke.filter(jd=>!Ir.results?.[jd.toLowerCase()]?.success);return Cl.length===0?PA({type:"success",message:`Auto-saved to ${Ke.join(" & ")}`}):PA({type:"error",message:`Auto-save failed for ${Cl.join(" & ")}`}),Fo}).catch(()=>(Xe.current={},PA({type:"error",message:"Auto-save failed"}),{})).finally(()=>setTimeout(()=>PA(null),3e3));Ot.current=wr},[G,e,Or,hA]),aA.useEffect(()=>{const XA=Ke=>{const At=Ke.clipboardData?.items;if(At){for(const mt of At)if(mt.type.startsWith("image/")){Ke.preventDefault();const Si=mt.getAsFile();if(Si){const wr=JF(Si.name,gA.map(Fo=>Fo.name)),Ir=URL.createObjectURL(Si);ce({file:Si,blobUrl:Ir,initialName:wr})}break}}};return document.addEventListener("paste",XA),()=>document.removeEventListener("paste",XA)},[gA]);const Pt=async(XA,Ke,At)=>{if(RA)try{const mt=new FormData,Si=Ke?new File([XA],"annotated.png",{type:"image/png"}):RA.file;mt.append("file",Si);const wr=await fetch("/api/upload",{method:"POST",body:mt});if(wr.ok){const Ir=await wr.json();nA(Fo=>[...Fo,{path:Ir.path,name:At}])}}catch{}finally{URL.revokeObjectURL(RA.blobUrl),ce(null)}},ti=()=>{RA&&(URL.revokeObjectURL(RA.blobUrl),ce(null))},Xt=async()=>{VA(!0);try{const XA=cI(),Ke=iI(),At=MB(),mt=m4(),Si=Bv(),wr=Ke.autoSave&&Ot.current?await Ot.current:Xe.current,Ir={};q==="claude-code"&&(Ir.permissionMode=OA);const Fo=RUA(mt);Fo&&(Ir.agentSwitch=Fo),Ir.planSave={enabled:Si.enabled,...Si.customPath&&{customPath:Si.customPath}};const Cl=II(XA);XA.enabled&&Cl&&(Ir.obsidian={vaultPath:Cl,folder:XA.folder||"plannotator",plan:e,...XA.filenameFormat&&{filenameFormat:XA.filenameFormat},...XA.filenameSeparator&&XA.filenameSeparator!=="space"&&{filenameSeparator:XA.filenameSeparator}}),Ke.enabled&&!(Ke.autoSave&&wr.bear)&&(Ir.bear={plan:e,customTags:Ke.customTags,tagPosition:Ke.tagPosition}),rQ()&&(Ir.octarine={plan:e,workspace:At.workspace,folder:At.folder||"plannotator"});const jd=Array.from(we.getDocAnnotations().values()).some(xp=>xp.annotations.length>0||xp.globalAttachments.length>0);(Ht.length>0||gA.length>0||jd||wt.length>0)&&(Ir.feedback=bs),await fetch("/api/approve",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Ir)}),ne("approved")}catch{VA(!1)}},vt=async()=>{VA(!0);try{const XA=Bv();await fetch("/api/deny",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({feedback:bs,planSave:{enabled:XA.enabled,...XA.customPath&&{customPath:XA.customPath}}})}),ne("denied")}catch{VA(!1)}},Tt=async()=>{VA(!0);try{await fetch("/api/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({feedback:bs,annotations:Ht})}),ne("denied")}catch{VA(!1)}};aA.useEffect(()=>{const XA=Ke=>{if(Ke.key!=="Enter"||!(Ke.metaKey||Ke.ctrlKey))return;const At=Ke.target?.tagName;if(At==="INPUT"||At==="TEXTAREA"||l||C||B||Q||m||Ie||RA||tA||BA||!G||we.isActive)return;if(Ke.preventDefault(),hA){Tt();return}const mt=we.getDocAnnotations(),Si=Array.from(mt.values()).some(wr=>wr.annotations.length>0||wr.globalAttachments.length>0);if(Ht.length===0&&wt.length===0&&!Si){if(q==="opencode"){const wr=DA();if(wr){S(wr),y(!0);return}}Xt()}else vt()};return window.addEventListener("keydown",XA),()=>window.removeEventListener("keydown",XA)},[l,C,B,Q,m,Ie,RA,tA,BA,G,we.isActive,t.length,nn.length,hA,q,DA]);const Hi=XA=>{i(Ke=>[...Ke,XA]),n(XA.id),R(!0)},pn=cn.useCallback(XA=>{n(XA),XA&&window.innerWidth<768&&R(!0)},[]),mn=XA=>{eA.current?.removeHighlight(XA),i(Ke=>Ke.filter(At=>At.id!==XA)),r===XA&&n(null)},Pi=OKA({blocks:a,annotations:t,addAnnotation:Hi,removeAnnotation:mn}),Vr=XA=>{const Ke=Ht.find(At=>At.id===XA);if(Ke?.source&&nn.some(At=>At.id===XA)){vs(XA),r===XA&&n(null);return}XA.startsWith("ann-checkbox-")&&Ke&&Pi.revertOverride(Ke.blockId),mn(XA)},Ao=(XA,Ke)=>{if(Ht.find(mt=>mt.id===XA)?.source&&nn.some(mt=>mt.id===XA)){Ma(XA,Ke);return}i(mt=>mt.map(Si=>Si.id===XA?{...Si,...Ke}:Si))},Kn=(XA,Ke)=>{i(At=>At.map(mt=>mt.author===XA?{...mt,author:Ke}:mt))},hg=XA=>{nA(Ke=>[...Ke,XA])},kr=XA=>{nA(Ke=>Ke.filter(At=>At.path!==XA))},Wd=XA=>{},bs=aA.useMemo(()=>{const XA=we.getDocAnnotations(),Ke=Array.from(XA.values()).some(wr=>wr.annotations.length>0||wr.globalAttachments.length>0),At=Ht.length>0||gA.length>0,mt=wt.length>0;if(!At&&!Ke&&!mt)return"User reviewed the document and has no feedback.";let Si=At?pfA(a,Ht,gA,oA==="message"?"Message Feedback":oA==="folder"?"Folder Feedback":oA==="file"?"File Feedback":"Plan Feedback",oA??"plan"):"";return Ke&&(Si+=mfA(XA)),mt&&(Si+=yfA(wt)),Si},[a,Ht,gA,we.getDocAnnotations,wt]),Il=cn.useMemo(()=>u4A(),[]),CC=cn.useCallback(async XA=>{if(!(!Il||BA||!wi)){VA(!0);try{const Ke=await B4A(XA,Il,wi);Ke&&(PA(Ke),setTimeout(()=>PA(null),4e3),Ke.type==="success"&&ne(XA===bD.Approve?"approved":"denied"))}finally{VA(!1)}}},[Il,BA,wi]),Nb=cn.useCallback(()=>CC(bD.Approve),[CC]),Mb=cn.useCallback(()=>CC(bD.Feedback),[CC]),Vd=()=>{MA(!1);const XA=new Blob([bs],{type:"text/plain"}),Ke=URL.createObjectURL(XA),At=document.createElement("a");At.href=Ke,At.download="annotations.md",At.click(),URL.revokeObjectURL(Ke),PA({type:"success",message:"Downloaded annotations"}),setTimeout(()=>PA(null),3e3)},Qg=async XA=>{MA(!1);const Ke={};if(XA==="obsidian"){const mt=cI(),Si=II(mt);Si&&(Ke.obsidian={vaultPath:Si,folder:mt.folder||"plannotator",plan:e,...mt.filenameFormat&&{filenameFormat:mt.filenameFormat},...mt.filenameSeparator&&mt.filenameSeparator!=="space"&&{filenameSeparator:mt.filenameSeparator}})}if(XA==="bear"){const mt=iI();Ke.bear={plan:e,customTags:mt.customTags,tagPosition:mt.tagPosition}}if(XA==="octarine"){const mt=MB();Ke.octarine={plan:e,workspace:mt.workspace,folder:mt.folder||"plannotator"}}const At=XA==="obsidian"?"Obsidian":XA==="bear"?"Bear":"Octarine";try{const wr=(await(await fetch("/api/save-notes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Ke)})).json()).results?.[XA];wr?.success?PA({type:"success",message:`Saved to ${At}`}):PA({type:"error",message:wr?.error||"Save failed"})}catch{PA({type:"error",message:"Save failed"})}setTimeout(()=>PA(null),3e3)};aA.useEffect(()=>{const XA=Ke=>{if(Ke.key!=="s"||!(Ke.metaKey||Ke.ctrlKey))return;const At=Ke.target?.tagName;if(At==="INPUT"||At==="TEXTAREA"||l||B||Q||m||Ie||RA||tA||!G)return;Ke.preventDefault();const mt=zoA(),Si=X2(),wr=iI().enabled,Ir=rQ();mt==="download"?Vd():mt==="obsidian"&&Si?Qg("obsidian"):mt==="bear"&&wr?Qg("bear"):mt==="octarine"&&Ir?Qg("octarine"):(dA("notes"),I(!0))};return window.addEventListener("keydown",XA),()=>window.removeEventListener("keydown",XA)},[l,B,Q,m,Ie,RA,tA,G,e,bs]),aA.useEffect(()=>{const XA=Ke=>{if(Ke.key!=="p"||!(Ke.metaKey||Ke.ctrlKey))return;const At=Ke.target?.tagName;At==="INPUT"||At==="TEXTAREA"||l||B||Q||m||Ie||RA||tA||(Ke.preventDefault(),window.print())};return window.addEventListener("keydown",XA),()=>window.removeEventListener("keydown",XA)},[l,B,Q,m,Ie,RA,tA]),aA.useEffect(()=>{if(!kA)return;const XA=Ke=>{Ke.target.closest("[data-export-dropdown]")||MA(!1)};return document.addEventListener("pointerdown",XA),()=>document.removeEventListener("pointerdown",XA)},[kA]);const fg=aA.useMemo(()=>hfA(q),[q]),Zd=aA.useMemo(()=>({compact:832,default:1040,wide:1280})[O.planWidth]??832,[O.planWidth]);return w.jsx(cUA,{defaultTheme:"dark",children:w.jsxs("div",{"data-print-region":"root",className:"h-screen flex flex-col bg-background overflow-hidden",children:[w.jsxs("header",{className:"h-12 flex items-center justify-between px-2 md:px-4 border-b border-border/50 bg-card/50 backdrop-blur-xl sticky top-0 z-[50]",children:[w.jsxs("div",{className:"flex items-center gap-2 md:gap-3",children:[w.jsx("a",{href:"https://plannotator.ai",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 md:gap-2 hover:opacity-80 transition-opacity",children:w.jsx("span",{className:"text-sm font-semibold tracking-tight",children:"Plannotator"})}),w.jsxs("a",{href:"https://github.com/backnotprop/plannotator/releases",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-muted-foreground font-mono opacity-60 hidden md:inline hover:opacity-100 transition-opacity",children:["v","0.16.6"]}),q&&w.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium hidden md:inline ${QfA(q)}`,children:fg})]}),w.jsxs("div",{className:"flex items-center gap-1 md:gap-2",children:[Il&&!G&&Or&&w.jsxs(w.Fragment,{children:[w.jsx("div",{className:"w-px h-5 bg-border/50 mx-1 hidden md:block"}),w.jsx(cW,{onClick:Mb,disabled:BA||!wi,isLoading:BA,title:"Send feedback to bot"}),w.jsx(IW,{onClick:Nb,disabled:BA||!wi,isLoading:BA,title:"Approve design and notify bot"})]}),G&&!we.isActive&&rt.archiveMode&&w.jsxs(w.Fragment,{children:[w.jsxs("button",{onClick:rt.copy,className:"px-2.5 py-1 rounded-md text-xs font-medium transition-all bg-muted text-foreground hover:bg-muted/80 border border-border",title:"Copy plan content",children:[w.jsx("span",{className:"hidden md:inline",children:"Copy"}),w.jsx("svg",{className:"w-4 h-4 md:hidden",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})]}),w.jsx("button",{onClick:rt.done,className:"px-2.5 py-1 rounded-md text-xs font-medium transition-all bg-success text-success-foreground hover:opacity-90",title:"Close archive",children:"Done"})]}),G&&!we.isActive&&!rt.archiveMode&&w.jsxs(w.Fragment,{children:[w.jsx(cW,{onClick:()=>{if(hA){Tt();return}const XA=we.getDocAnnotations(),Ke=Array.from(XA.values()).some(At=>At.annotations.length>0||At.globalAttachments.length>0);Ht.length===0&&wt.length===0&&!Ke?h(!0):vt()},disabled:BA,isLoading:BA,label:hA?Ht.length>0||wt.length>0||we.docAnnotationCount>0?"Send Annotations":"Done":"Send Feedback",title:hA?Ht.length>0||wt.length>0||we.docAnnotationCount>0?"Send Annotations":"Done":"Send Feedback"}),!hA&&w.jsxs("div",{className:"relative group/approve",children:[w.jsx(IW,{onClick:()=>{if(q==="claude-code"&&Ht.length>0){f(!0);return}if(q==="opencode"){const XA=DA();if(XA){S(XA),y(!0);return}}Xt()},disabled:BA,isLoading:BA,dimmed:q==="claude-code"&&Ht.length>0}),q==="claude-code"&&Ht.length>0&&w.jsxs("div",{className:"absolute top-full right-0 mt-2 px-3 py-2 bg-popover border border-border rounded-lg shadow-xl text-xs text-foreground w-56 text-center opacity-0 invisible group-hover/approve:opacity-100 group-hover/approve:visible transition-all pointer-events-none z-50",children:[w.jsx("div",{className:"absolute bottom-full right-4 border-4 border-transparent border-b-border"}),w.jsx("div",{className:"absolute bottom-full right-4 mt-px border-4 border-transparent border-b-popover"}),fg," doesn't support feedback on approval. Your annotations won't be seen."]})]}),w.jsx("div",{className:"w-px h-5 bg-border/50 mx-1 hidden md:block"})]}),w.jsxs("div",{className:"hidden md:flex items-center gap-2",children:[w.jsx(IUA,{}),!we.isActive&&w.jsx(s4A,{taterMode:k,onTaterModeChange:GA,onIdentityChange:Kn,origin:q,onUIPreferencesChange:F,externalOpen:b,onExternalClose:()=>N(!1),gitUser:V}),w.jsx("button",{onClick:()=>R(!x),className:`p-1.5 rounded-md text-xs font-medium transition-all ${x?"bg-primary/15 text-primary":"text-muted-foreground hover:text-foreground hover:bg-muted"}`,children:w.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})})}),w.jsxs("div",{className:"relative flex","data-export-dropdown":!0,children:[w.jsx("button",{onClick:()=>{dA(void 0),I(!0)},className:"px-2.5 py-1 rounded-l-md text-xs font-medium bg-muted hover:bg-muted/80 transition-colors",title:"Export",children:"Export"}),w.jsx("button",{onClick:()=>MA(XA=>!XA),className:"px-1.5 rounded-r-md text-xs bg-muted hover:bg-muted/80 border-l border-border/50 transition-colors flex items-center",title:"Quick save options",children:w.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})}),kA&&w.jsxs("div",{className:"absolute top-full right-0 mt-1 w-48 bg-popover border border-border rounded-lg shadow-xl z-50 py-1",children:[YA&&w.jsxs("button",{onClick:async()=>{MA(!1);try{await navigator.clipboard.writeText(wi),PA({type:"success",message:"Share link copied"})}catch{PA({type:"error",message:"Failed to copy"})}setTimeout(()=>PA(null),3e3)},className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"})}),"Copy Share Link"]}),w.jsxs("button",{onClick:Vd,className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),"Download Annotations"]}),w.jsxs("button",{onClick:()=>{MA(!1),window.print()},className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 17h2a2 2 0 002-2v-4a2 2 0 00-2-2H5a2 2 0 00-2 2v4a2 2 0 002 2h2m2 4h6a2 2 0 002-2v-4a2 2 0 00-2-2H9a2 2 0 00-2 2v4a2 2 0 002 2zm8-12V5a2 2 0 00-2-2H9a2 2 0 00-2 2v4h10z"})}),"Print Plan",w.jsxs("span",{className:"ml-auto text-[10px] text-muted-foreground/60",children:[cs,"+P"]})]}),w.jsx("div",{className:"my-1 border-t border-border"}),G&&X2()&&w.jsxs("button",{onClick:()=>Qg("obsidian"),className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z"})}),"Save to Obsidian"]}),G&&iI().enabled&&w.jsxs("button",{onClick:()=>Qg("bear"),className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z"})}),"Save to Bear"]}),G&&rQ()&&w.jsxs("button",{onClick:()=>Qg("octarine"),className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z"})}),"Save to Octarine"]}),G&&!X2()&&!iI().enabled&&!rQ()&&w.jsx("div",{className:"px-3 py-2 text-[10px] text-muted-foreground",children:"No notes apps configured."}),YA&&w.jsxs(w.Fragment,{children:[w.jsx("div",{className:"my-1 border-t border-border"}),w.jsxs("button",{onClick:()=>{MA(!1),E(!0)},className:"w-full text-left px-3 py-1.5 text-xs hover:bg-muted transition-colors flex items-center gap-2",children:[w.jsx("svg",{className:"w-3.5 h-3.5 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:w.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M10 17l5-5-5-5M15 12H3"})}),"Import Review"]})]})]})]})]}),w.jsx(K4A,{className:"md:hidden",isPanelOpen:x,onTogglePanel:()=>R(!x),annotationCount:Ht.length+wt.length,onOpenExport:()=>{dA(void 0),I(!0)},onOpenSettings:()=>N(!0),onDownloadAnnotations:Vd,onCopyShareLink:async()=>{try{await navigator.clipboard.writeText(wi),PA({type:"success",message:"Share link copied"})}catch{PA({type:"error",message:"Failed to copy"})}setTimeout(()=>PA(null),3e3)},onOpenImport:()=>E(!0),onPrint:()=>window.print(),sharingEnabled:YA})]})]}),we.error&&w.jsxs("div",{className:"bg-destructive/10 border-b border-destructive/20 px-4 py-2 flex items-center gap-2 flex-shrink-0",children:[w.jsx("span",{className:"text-xs text-destructive",children:we.error}),w.jsx("button",{onClick:we.dismissError,className:"ml-auto text-xs text-destructive/60 hover:text-destructive",children:"dismiss"})]}),w.jsxs("div",{"data-print-region":"content",className:`flex-1 flex overflow-hidden relative z-0 ${Me?"select-none":""}`,children:[k&&w.jsx(mUA,{}),!ke.isOpen&&w.jsx(BKA,{activeTab:ke.activeTab,onToggleTab:ke.toggleTab,hasDiff:Re.hasPreviousVersion,showFilesTab:ci&&!rt.archiveMode,showVaultTab:It,hasFileAnnotations:Ii,hasVaultAnnotations:Li,className:"hidden lg:flex"}),ke.isOpen&&w.jsxs(w.Fragment,{children:[w.jsx(bKA,{activeTab:ke.activeTab,onTabChange:XA=>{ke.toggleTab(XA),XA==="archive"&&!rt.archiveMode&&rt.fetchPlans()},onClose:ke.close,width:ve.width,blocks:a,annotations:t,activeSection:FA,onTocNavigate:Wd,linkedDocFilepath:we.filepath,onLinkedDocBack:we.isActive?_e:void 0,backLabel:ot,showFilesTab:ci&&!rt.archiveMode,fileAnnotationCounts:ai,highlightedFiles:Le,fileBrowser:pt,onFilesSelectFile:zA,onFilesFetchAll:()=>pt.fetchAll(Ye),showVaultTab:It&&!rt.archiveMode,vaultPath:Et,vaultBrowser:We,vaultAnnotationCounts:Ct,vaultHighlightedFiles:me,onVaultSelectFile:Dt,onVaultFetchTree:LA,hasFileAnnotations:Ii,hasVaultAnnotations:Li,versionInfo:Ge,versions:Re.versions,selectedBaseVersion:Re.diffBaseVersion,onSelectBaseVersion:Re.selectBaseVersion,isPlanDiffActive:_A,hasPreviousVersion:Re.hasPreviousVersion,onActivatePlanDiff:()=>Ee(!0),isLoadingVersions:Re.isLoadingVersions,isSelectingVersion:Re.isSelectingVersion,fetchingVersion:Re.fetchingVersion,onFetchVersions:Re.fetchVersions,showArchiveTab:G&&!hA,archivePlans:rt.plans,selectedArchiveFile:rt.selectedFile,onArchiveSelect:rt.select,isLoadingArchive:rt.isLoading}),w.jsx(QW,{...ve.handleProps,className:"hidden lg:block",side:"left"})]}),w.jsxs("main",{"data-print-region":"document",ref:le,className:"flex-1 min-w-0 overflow-y-auto bg-grid",children:[w.jsx(nQ,{isOpen:!!qe,onClose:_,onConfirm:IA,title:"Draft Recovered",message:qe?`Found ${qe.count} annotation${qe.count!==1?"s":""} from ${qe.timeAgo}. Would you like to restore them?`:"",confirmText:"Restore",cancelText:"Dismiss",showCancel:!0}),w.jsxs("div",{className:"min-h-full flex flex-col items-center px-2 py-3 md:px-10 md:py-8 xl:px-16 relative z-10",children:[!_A&&!rt.archiveMode&&w.jsx("div",{"data-print-hide":!0,className:"w-full mb-3 md:mb-4 flex items-center justify-start",style:{maxWidth:Zd},children:w.jsx(BUA,{inputMethod:K,onInputMethodChange:ge,mode:T,onModeChange:jA,taterMode:k})}),Re.diffBlocks&&Re.diffStats&&w.jsx("div",{className:"w-full flex justify-center",style:{display:_A?void 0:"none"},children:w.jsx(FKA,{diffBlocks:Re.diffBlocks,diffStats:Re.diffStats,diffMode:yA,onDiffModeChange:UA,onPlanDiffToggle:()=>Ee(!1),repoInfo:vA,baseVersionLabel:Re.diffBaseVersion!=null?`v${Re.diffBaseVersion}`:void 0,baseVersion:Re.diffBaseVersion??void 0,maxWidth:Zd,annotations:ar,onAddAnnotation:Hi,onSelectAnnotation:pn,selectedAnnotationId:r,mode:T})}),oA==="folder"&&!e&&!we.isActive&&w.jsx("div",{className:"w-full flex justify-center",children:w.jsxs("div",{className:"w-full max-w-3xl p-12 text-center text-muted-foreground",children:[w.jsx("p",{className:"text-lg font-medium mb-2",children:"Select a file to annotate"}),w.jsx("p",{className:"text-sm",children:"Pick a markdown file from the sidebar to begin."})]})}),w.jsx("div",{className:"w-full flex justify-center",style:{display:_A&&Re.diffBlocks||oA==="folder"&&!e&&!we.isActive?"none":void 0},children:w.jsx(VOA,{ref:eA,blocks:a,markdown:e,frontmatter:o,annotations:ts,onAddAnnotation:Hi,onSelectAnnotation:pn,selectedAnnotationId:r,mode:T,inputMethod:K,taterMode:k,globalAttachments:gA,onAddGlobalAttachment:hg,onRemoveGlobalAttachment:kr,repoInfo:vA,stickyActions:O.stickyActionsEnabled,planDiffStats:we.isActive?null:Re.diffStats,isPlanDiffActive:_A,onPlanDiffToggle:()=>Ee(!_A),hasPreviousVersion:!we.isActive&&Re.hasPreviousVersion,showDemoBadge:!G&&!Ea&&!Or,maxWidth:Zd,onOpenLinkedDoc:be,linkedDocInfo:we.isActive?{filepath:we.filepath,onBack:_e,label:We.activeFile?"Vault File":pt.activeFile?"File":void 0,backLabel:ot}:null,imageBaseDir:sA,copyLabel:oA==="message"?"Copy message":oA==="file"||oA==="folder"?"Copy file":void 0,archiveInfo:rt.currentInfo,onToggleCheckbox:Pi.toggle,checkboxOverrides:Pi.overrides},we.isActive?`doc:${we.filepath}`:"plan")})]})]}),x&&w.jsx(QW,{...se.handleProps,className:"hidden md:block",side:"right"}),w.jsx(AUA,{isOpen:x,blocks:a,annotations:Ht,selectedId:r,onSelect:n,onDelete:Vr,onEdit:Ao,shareUrl:wi,sharingEnabled:YA,width:se.width,editorAnnotations:wt,onDeleteEditorAnnotation:es,onClose:()=>R(!1),onQuickCopy:async()=>{await navigator.clipboard.writeText(VAA(bs))},otherFileAnnotations:fi,onOtherFileAnnotationsClick:Ne})]}),w.jsx(gUA,{isOpen:l,onClose:()=>{I(!1),dA(void 0)},shareUrl:wi,shareUrlSize:Ss,shortShareUrl:sr,isGeneratingShortUrl:dt,shortUrlError:kt,onGenerateShortUrl:Wr,annotationsOutput:bs,annotationCount:Ht.length,taterSprite:k?w.jsx(p4,{}):void 0,sharingEnabled:YA,markdown:e,isApiMode:G,initialTab:TA}),w.jsx(lUA,{isOpen:C,onClose:()=>E(!1),onImport:or,shareBaseUrl:ae}),w.jsx(nQ,{isOpen:B,onClose:()=>h(!1),title:"Add Annotations First",message:`To provide feedback, select text in the plan and add annotations. ${fg} will use your annotations to revise the plan.`,variant:"info"}),w.jsx(nQ,{isOpen:Q,onClose:()=>f(!1),onConfirm:()=>{f(!1),Xt()},title:"Annotations Won't Be Sent",message:w.jsxs(w.Fragment,{children:[fg," doesn't yet support feedback on approval. Your ",Ht.length," annotation",Ht.length!==1?"s":""," will be lost."]}),subMessage:w.jsxs(w.Fragment,{children:["To send feedback, use ",w.jsx("strong",{children:"Send Feedback"})," instead.",w.jsx("br",{}),w.jsx("br",{}),"Want this feature? Upvote these issues:",w.jsx("br",{}),w.jsx("a",{href:"https://github.com/anthropics/claude-code/issues/16001",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"#16001"})," · ",w.jsx("a",{href:"https://github.com/anthropics/claude-code/issues/15755",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"#15755"})]}),confirmText:"Approve Anyway",cancelText:"Cancel",variant:"warning",showCancel:!0}),w.jsx(nQ,{isOpen:m,onClose:()=>y(!1),onConfirm:()=>{y(!1),Xt()},title:"Agent Not Found",message:v,subMessage:w.jsxs(w.Fragment,{children:["You can change the agent in ",w.jsx("strong",{children:"Settings"}),", or approve anyway and OpenCode will use the default agent."]}),confirmText:"Approve Anyway",cancelText:"Cancel",variant:"warning",showCancel:!0}),w.jsx(nQ,{isOpen:!!Un&&!G,onClose:an,title:"Shared Plan Could Not Be Loaded",message:Un,subMessage:"You are viewing a demo plan. This is sample content — it is not your data or anyone else's.",variant:"warning"}),wA&&w.jsx("div",{className:`fixed top-16 right-4 z-50 px-3 py-2 rounded-lg text-xs font-medium shadow-lg transition-opacity ${wA.type==="success"?"bg-success/15 text-success border border-success/30":"bg-destructive/15 text-destructive border border-destructive/30"}`,children:wA.message}),w.jsx(p4A,{submitted:tA,title:rt.archiveMode?"Archive Closed":tA==="approved"?"Plan Approved":hA?"Annotations Sent":"Feedback Sent",subtitle:rt.archiveMode?"You can reopen with plannotator archive.":tA==="approved"?`${fg} will proceed with the implementation.`:hA?`${fg} will address your annotations on the ${oA==="message"?"message":oA==="folder"?"files":"file"}.`:`${fg} will revise the plan based on your annotations.`,agentLabel:fg}),w.jsx(S4A,{origin:q,isWSL:AA}),w.jsx(neA,{isOpen:!!RA,imageSrc:RA?.blobUrl??"",initialName:RA?.initialName,onAccept:Pt,onClose:ti}),w.jsx(V4A,{isOpen:Ie,onComplete:XA=>{ie(XA),Qe(!1)}})]})})},IgA=document.getElementById("root");if(!IgA)throw new Error("Could not find root element to mount to");const KKA=dfA.createRoot(IgA);KKA.render(w.jsx(cn.StrictMode,{children:w.jsx(UKA,{})}));class ls{constructor(A,t,i){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=A,this.start=t,this.end=i}static range(A,t){return t?!A||!A.loc||!t.loc||A.loc.lexer!==t.loc.lexer?null:new ls(A.loc.lexer,A.loc.start,t.loc.end):A&&A.loc}}class Hs{constructor(A,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=A,this.loc=t}range(A,t){return new Hs(t,ls.range(this,A))}}class je{constructor(A,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var i="KaTeX parse error: "+A,r,n,a=t&&t.loc;if(a&&a.start<=a.end){var s=a.lexer.input;r=a.start,n=a.end,r===s.length?i+=" at end of input: ":i+=" at position "+(r+1)+": ";var o=s.slice(r,n).replace(/[^]/g,"$&̲"),g;r>15?g="…"+s.slice(r-15,r):g=s.slice(0,r);var l;n+15<s.length?l=s.slice(n,n+15)+"…":l=s.slice(n),i+=g+o+l}var I=new Error(i);return I.name="ParseError",I.__proto__=je.prototype,I.position=r,r!=null&&n!=null&&(I.length=n-r),I.rawMessage=A,I}}je.prototype.__proto__=Error.prototype;var YKA=function(A,t){return A===void 0?t:A},HKA=/([A-Z])/g,PKA=function(A){return A.replace(HKA,"-$1").toLowerCase()},JKA={"&":"&",">":">","<":"<",'"':""","'":"'"},zKA=/[&><"']/g;function qKA(e){return String(e).replace(zKA,A=>JKA[A])}var CgA=function e(A){return A.type==="ordgroup"||A.type==="color"?A.body.length===1?e(A.body[0]):A:A.type==="font"?e(A.body):A},WKA=function(A){var t=CgA(A);return t.type==="mathord"||t.type==="textord"||t.type==="atom"},VKA=function(A){if(!A)throw new Error("Expected non-null, but got "+String(A));return A},ZKA=function(A){var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(A);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},Oi={deflt:YKA,escape:qKA,hyphenate:PKA,getBaseElem:CgA,isCharacterBox:WKA,protocolFromUrl:ZKA},kf={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,A)=>(A.push(e),A)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>e==="Infinity"?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function jKA(e){if(e.default)return e.default;var A=e.type,t=Array.isArray(A)?A[0]:A;if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class v4{constructor(A){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,A=A||{};for(var t in kf)if(kf.hasOwnProperty(t)){var i=kf[t];this[t]=A[t]!==void 0?i.processor?i.processor(A[t]):A[t]:jKA(i)}}reportNonstrict(A,t,i){var r=this.strict;if(typeof r=="function"&&(r=r(A,t,i)),!(!r||r==="ignore")){if(r===!0||r==="error")throw new je("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+A+"]"),i);r==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+A+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+r+"': "+t+" ["+A+"]"))}}useStrictBehavior(A,t,i){var r=this.strict;if(typeof r=="function")try{r=r(A,t,i)}catch{r="error"}return!r||r==="ignore"?!1:r===!0||r==="error"?!0:r==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+A+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+r+"': "+t+" ["+A+"]")),!1)}isTrusted(A){if(A.url&&!A.protocol){var t=Oi.protocolFromUrl(A.url);if(t==null)return!1;A.protocol=t}var i=typeof this.trust=="function"?this.trust(A):this.trust;return!!i}}class jc{constructor(A,t,i){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=A,this.size=t,this.cramped=i}sup(){return Fg[_KA[this.id]]}sub(){return Fg[XKA[this.id]]}fracNum(){return Fg[$KA[this.id]]}fracDen(){return Fg[A5A[this.id]]}cramp(){return Fg[e5A[this.id]]}text(){return Fg[t5A[this.id]]}isTight(){return this.size>=2}}var S4=0,Qv=1,xB=2,$l=3,l0=4,mo=5,sd=6,Ha=7,Fg=[new jc(S4,0,!1),new jc(Qv,0,!0),new jc(xB,1,!1),new jc($l,1,!0),new jc(l0,2,!1),new jc(mo,2,!0),new jc(sd,3,!1),new jc(Ha,3,!0)],_KA=[l0,mo,l0,mo,sd,Ha,sd,Ha],XKA=[mo,mo,mo,mo,Ha,Ha,Ha,Ha],$KA=[xB,$l,l0,mo,sd,Ha,sd,Ha],A5A=[$l,$l,mo,mo,Ha,Ha,Ha,Ha],e5A=[Qv,Qv,$l,$l,mo,mo,Ha,Ha],t5A=[S4,Qv,xB,$l,xB,$l,xB,$l],Kt={DISPLAY:Fg[S4],TEXT:Fg[xB],SCRIPT:Fg[l0],SCRIPTSCRIPT:Fg[sd]},n3=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function i5A(e){for(var A=0;A<n3.length;A++)for(var t=n3[A],i=0;i<t.blocks.length;i++){var r=t.blocks[i];if(e>=r[0]&&e<=r[1])return t.name}return null}var RD=[];n3.forEach(e=>e.blocks.forEach(A=>RD.push(...A)));function EgA(e){for(var A=0;A<RD.length;A+=2)if(e>=RD[A]&&e<=RD[A+1])return!0;return!1}var Zu=80,r5A=function(A,t){return"M95,"+(622+A+t)+`
|
|
848
848
|
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
|
|
849
849
|
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
|
|
850
850
|
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
|
|
@@ -3385,7 +3385,7 @@ Expecting `+sA.join(", ")+", got '"+(this.terminals_[AA]||AA)+"'":uA="Parse erro
|
|
|
3385
3385
|
|
|
3386
3386
|
Outdated base version: https://github.com/primer/github-syntax-dark
|
|
3387
3387
|
Current colors taken from GitHub's CSS
|
|
3388
|
-
*/.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-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-3xl:48rem;--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;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,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-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-12{top:calc(var(--spacing)*12)}.top-16{top:calc(var(--spacing)*16)}.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-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-3{left:calc(var(--spacing)*3)}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-50,.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-\[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-64{margin:calc(var(--spacing)*64)}.-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)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.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}.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-\[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-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-full{min-height:100%}.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-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-\[3px\]{width:3px}.w-\[320px\]{width:320px}.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-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.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-\[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-\[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-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.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)}.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}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.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}.justify-start{justify-content:flex-start}.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)))}.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-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.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-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-success\/30{border-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.border-success\/30{border-color:color-mix(in oklab,var(--success)30%,transparent)}}.border-transparent{border-color:#0000}.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\/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{background-color:var(--popover)}.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-warning,.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-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)}.p-12{padding:calc(var(--spacing)*12)}.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-8{padding-block:calc(var(--spacing)*8)}.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-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)}.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-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\/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-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-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-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-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-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\:bg-border:is(:where(.group):hover *){background-color:var(--border)}.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}}.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\: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{background-color:var(--background)}.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\/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-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\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@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\:mb-4{margin-bottom:calc(var(--spacing)*4)}.md\:block{display:block}.md\:flex{display:flex}.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\:px-10{padding-inline:calc(var(--spacing)*10)}.md\:py-1{padding-block:calc(var(--spacing)*1)}.md\:py-8{padding-block:calc(var(--spacing)*8)}.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\:block{display:block}.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)}.xl\:px-16{padding-inline:calc(var(--spacing)*16)}}@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}}}.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}}pre code.hljs{border-radius:var(--radius);padding:1rem;font-size:.8125rem;line-height:1.6;display:block;background:var(--code-bg)!important}pre code.hljs .hljs-emphasis{color:inherit!important;font-style:normal!important}pre code.hljs .hljs-strong,pre code.hljs .hljs-code{color:inherit!important}.light pre code.hljs{color:#1c222b!important}.light .hljs-keyword,.light .hljs-selector-tag,.light .hljs-built_in,.light .hljs-name,.light .hljs-tag{color:#4a1fd9!important}.light .hljs-string,.light .hljs-title,.light .hljs-section,.light .hljs-attribute,.light .hljs-literal,.light .hljs-template-tag,.light .hljs-template-variable,.light .hljs-type{color:oklch(45% .18 150)!important}.light .hljs-comment,.light .hljs-quote{font-style:italic;color:#6b727e!important}.light .hljs-number,.light .hljs-symbol,.light .hljs-bullet{color:oklch(50% .2 50)!important}.light .hljs-attr,.light .hljs-variable,.light .hljs-template-variable,.light .hljs-class .hljs-title,.light .hljs-function{color:#4838bf!important}.annotation-highlight{border-radius:2px;margin:0 -2px;padding:0 2px}.annotation-highlight.deletion{background:oklch(from var(--destructive)l c h/.35);text-decoration:line-through;-webkit-text-decoration-color:var(--destructive);text-decoration-color:var(--destructive);text-decoration-thickness:2px}.annotation-highlight.comment{border-bottom:2px solid var(--accent);background:oklch(70% .18 60/.3)}.light .annotation-highlight.deletion{background:#f9414433}.light .annotation-highlight.comment{background:oklch(70% .2 60/.15)}.annotation-highlight.focused{box-shadow:0 0 8px oklch(from var(--focus-highlight)l c h/.4);border-bottom:2px solid var(--focus-highlight);filter:none;background:oklch(from var(--focus-highlight)l c h/.45)!important}.light .annotation-highlight.focused{box-shadow:0 0 6px oklch(60% .2 200/.3);background:oklch(70% .22 200/.3)!important}.annotation-highlight:hover{filter:brightness(1.2);cursor:pointer}.plan-diff-added{border-left:3px solid var(--success);background:oklch(from var(--success)l c h/.06);border-radius:0 .25rem .25rem 0;margin:.25rem 0;padding-left:.75rem}.light .plan-diff-added{background:oklch(from var(--success)l c h/.06)}.plan-diff-removed{border-left:3px solid var(--destructive);background:oklch(from var(--destructive)l c h/.06);border-radius:0 .25rem .25rem 0;margin:.25rem 0;padding-left:.75rem}.light .plan-diff-removed{background:oklch(from var(--destructive)l c h/.06)}.plan-diff-line-added{background:oklch(from var(--success)l c h/.15);color:var(--success)}.plan-diff-line-removed{background:oklch(from var(--destructive)l c h/.15);color:var(--destructive);opacity:.75;text-decoration:line-through;-webkit-text-decoration-color:oklch(from var(--destructive)l c h/.4);text-decoration-color:oklch(from var(--destructive)l c h/.4)}.light .plan-diff-line-added{background:oklch(from var(--success)l c h/.12)}.light .plan-diff-line-removed{background:oklch(from var(--destructive)l c h/.12)}.sidebar-tab-flag{transition:transform .2s,opacity .2s}.sidebar-tab-flag:hover{transform:translate(2px)}@keyframes settings-ping{0%,to{opacity:0;transform:scale(1)}50%{opacity:.5;transform:scale(2)}}@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>
|
|
3388
|
+
*/.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-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-3xl:48rem;--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;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,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-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-12{top:calc(var(--spacing)*12)}.top-16{top:calc(var(--spacing)*16)}.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-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-3{left:calc(var(--spacing)*3)}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-50,.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-\[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-64{margin:calc(var(--spacing)*64)}.-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)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.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}.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-\[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-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-full{min-height:100%}.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-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-\[3px\]{width:3px}.w-\[320px\]{width:320px}.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-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.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-\[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-\[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-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.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)}.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}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.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}.justify-start{justify-content:flex-start}.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)))}.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-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.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-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-success\/30{border-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.border-success\/30{border-color:color-mix(in oklab,var(--success)30%,transparent)}}.border-transparent{border-color:#0000}.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\/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{background-color:var(--popover)}.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-warning,.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-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)}.p-12{padding:calc(var(--spacing)*12)}.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-8{padding-block:calc(var(--spacing)*8)}.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-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)}.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-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\/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-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-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-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-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-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\:bg-border:is(:where(.group):hover *){background-color:var(--border)}.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}}.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\: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{background-color:var(--background)}.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\/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-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\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@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\:mb-4{margin-bottom:calc(var(--spacing)*4)}.md\:block{display:block}.md\:flex{display:flex}.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\:px-10{padding-inline:calc(var(--spacing)*10)}.md\:py-1{padding-block:calc(var(--spacing)*1)}.md\:py-8{padding-block:calc(var(--spacing)*8)}.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\:block{display:block}.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)}.xl\:px-16{padding-inline:calc(var(--spacing)*16)}}@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}}}.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}}pre code.hljs{border-radius:var(--radius);padding:1rem;font-size:.8125rem;line-height:1.6;display:block;background:var(--code-bg)!important}pre code.hljs .hljs-emphasis{color:inherit!important;font-style:normal!important}pre code.hljs .hljs-strong,pre code.hljs .hljs-code{color:inherit!important}.light pre code.hljs{color:#1c222b!important}.light .hljs-keyword,.light .hljs-selector-tag,.light .hljs-built_in,.light .hljs-name,.light .hljs-tag{color:#4a1fd9!important}.light .hljs-string,.light .hljs-title,.light .hljs-section,.light .hljs-attribute,.light .hljs-literal,.light .hljs-template-tag,.light .hljs-template-variable,.light .hljs-type{color:oklch(45% .18 150)!important}.light .hljs-comment,.light .hljs-quote{font-style:italic;color:#6b727e!important}.light .hljs-number,.light .hljs-symbol,.light .hljs-bullet{color:oklch(50% .2 50)!important}.light .hljs-attr,.light .hljs-variable,.light .hljs-template-variable,.light .hljs-class .hljs-title,.light .hljs-function{color:#4838bf!important}.annotation-highlight{border-radius:2px;margin:0 -2px;padding:0 2px}.annotation-highlight.deletion{background:oklch(from var(--destructive)l c h/.35);text-decoration:line-through;-webkit-text-decoration-color:var(--destructive);text-decoration-color:var(--destructive);text-decoration-thickness:2px}.annotation-highlight.comment{border-bottom:2px solid var(--accent);background:oklch(70% .18 60/.3)}.light .annotation-highlight.deletion{background:#f9414433}.light .annotation-highlight.comment{background:oklch(70% .2 60/.15)}.annotation-highlight.focused{box-shadow:0 0 8px oklch(from var(--focus-highlight)l c h/.4);border-bottom:2px solid var(--focus-highlight);filter:none;background:oklch(from var(--focus-highlight)l c h/.45)!important}.light .annotation-highlight.focused{box-shadow:0 0 6px oklch(60% .2 200/.3);background:oklch(70% .22 200/.3)!important}.annotation-highlight:hover{filter:brightness(1.2);cursor:pointer}.plan-diff-added{border-left:3px solid var(--success);background:oklch(from var(--success)l c h/.06);border-radius:0 .25rem .25rem 0;margin:.25rem 0;padding-left:.75rem}.light .plan-diff-added{background:oklch(from var(--success)l c h/.06)}.plan-diff-removed{border-left:3px solid var(--destructive);background:oklch(from var(--destructive)l c h/.06);border-radius:0 .25rem .25rem 0;margin:.25rem 0;padding-left:.75rem}.light .plan-diff-removed{background:oklch(from var(--destructive)l c h/.06)}.plan-diff-line-added{background:oklch(from var(--success)l c h/.15);color:var(--success)}.plan-diff-line-removed{background:oklch(from var(--destructive)l c h/.15);color:var(--destructive);opacity:.75;text-decoration:line-through;-webkit-text-decoration-color:oklch(from var(--destructive)l c h/.4);text-decoration-color:oklch(from var(--destructive)l c h/.4)}.light .plan-diff-line-added{background:oklch(from var(--success)l c h/.12)}.light .plan-diff-line-removed{background:oklch(from var(--destructive)l c h/.12)}.sidebar-tab-flag{transition:transform .2s,opacity .2s}.sidebar-tab-flag:hover{transform:translate(2px)}@keyframes settings-ping{0%,to{opacity:0;transform:scale(1)}50%{opacity:.5;transform:scale(2)}}@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>
|
|
3389
3389
|
</head>
|
|
3390
3390
|
<body class="min-h-screen antialiased">
|
|
3391
3391
|
<div id="root" class="h-full"></div>
|